lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 23 Dec 2008 17:31:35 -0800
From:	Yinghai Lu <yinghai@...nel.org>
To:	Ken Chen <kenchen@...gle.com>
CC:	Ingo Molnar <mingo@...e.hu>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>
Subject: Re: panic with tg_shares_up again?

Ken Chen wrote:
> On Tue, Dec 23, 2008 at 3:46 PM, Ken Chen <kenchen@...gle.com> wrote:
>> And from my local build of linux-tip with the patch, I have the
>> following assembly:
>>     1  ffffffff8023b74f:  48 8b 88 a8 00 00 00    mov    0xa8(%rax),%rcx
>>     2  ffffffff8023b756:  48 c7 45 d0 00 00 00    movq   $0x0,-0x30(%rbp)
>>     3  ffffffff8023b75d:  00
>>     4  ffffffff8023b75e:  48 85 c9                test   %rcx,%rcx
>>     5  ffffffff8023b761:  0f 95 c0                setne  %al
>>     6  ffffffff8023b764:  84 45 af                test   %al,-0x51(%rbp)
>>     7  ffffffff8023b767:  74 15                   je     ffffffff8023b77e
>>     8  ffffffff8023b769:  48 8b 45 b8             mov    -0x48(%rbp),%rax
>>     9  ffffffff8023b76d:  31 d2                   xor    %edx,%edx
>>    10  ffffffff8023b76f:  48 0f af c1             imul   %rcx,%rax
>>    11  ffffffff8023b773:  48 f7 75 b0             divq   -0x50(%rbp)
>>
>> line 6 is the compare against sd_rq_weight, but it was only to one
>> byte instead of the entire unsigned long.
>>
>> /me scratching my head ....
> 
> After a couple of hours joggling with type cast and different order in
> which these two variables are checked, the compiler I'm using seems to
> insist only check one byte out of sd_rq_weight.  I give up for the day
> and removed the 'static' function declaration of
> update_group_shares_cpu().  Without the 'static', the assembly looks
> alright to me.
> 
> I will ask compiler expert to see what's wrong with this code.  For
> now, the following add on patch seems generate correct x86 assembly
> code.

maybe my compiler has some problem too?  just upgrade to opensuse 11.1 last week.

yhlu@...ux-mstp:~/xx/xx/kernel/tip/linux-2.6> gcc --version
gcc (SUSE Linux) 4.3.2 [gcc-4_3-branch revision 141291]
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists