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, 30 Jun 2020 16:35:04 +0200
From:   Peter Zijlstra <peterz@...radead.org>
To:     Rasmus Villemoes <linux@...musvillemoes.dk>
Cc:     kernel test robot <lkp@...el.com>,
        Steven Rostedt <rostedt@...dmis.org>,
        LKML <linux-kernel@...r.kernel.org>, x86@...nel.org,
        lkp@...ts.01.org, keescook@...omium.org, hjl.tools@...il.com
Subject: Re: [sched] c3a340f7e7: invalid_opcode:#[##]

On Tue, Jun 30, 2020 at 04:02:31PM +0200, Peter Zijlstra wrote:
> On Tue, Jun 30, 2020 at 03:55:05PM +0200, Rasmus Villemoes wrote:
> 
> > > Consistently so with GCC-4.9. Any other GCC I tried does the sane thing.
> > 
> > Does that include gcc 4.8, or is it only "anything newer than 4.9"?
> 
> It includes 4.8 :-)
> 
> > so the section it was put in has an alignment of 64. The generated
> > assembly is indeed
> > 
> >         .globl  fair_sched_class
> >         .section        __fair_sched_class,"a",@progbits
> >         .align 64
> > 
> > /me goes brew coffee
> 
> Right.. so I now have the below patch, and with that I get:
> 
> 62931: c1e62c20     0 NOTYPE  GLOBAL DEFAULT    2 __begin_sched_classes
> 65736: c1e62e40   128 OBJECT  GLOBAL DEFAULT    2 stop_sched_class
> 71813: c1e62cc0   128 OBJECT  GLOBAL DEFAULT    2 fair_sched_class
> 78689: c1e62c40   128 OBJECT  GLOBAL DEFAULT    2 idle_sched_class
> 78953: c1e62ec0     0 NOTYPE  GLOBAL DEFAULT    2 __end_sched_classes
> 79090: c1e62d40   128 OBJECT  GLOBAL DEFAULT    2 rt_sched_class
> 79431: c1e62dc0   128 OBJECT  GLOBAL DEFAULT    2 dl_sched_class
> 
> 
> Which has me stumped on __begin_sched_classes being on a 32byte edge
> (and crashes differently due to that).

OK, when I look at defconfig-build/arch/x86/kernel/vmlinux.lds I get:

. = ALIGN(32); *(__dummy_sched_class) __begin_sched_classes = .;

So I'm thinking the GCC_VERSION thing works for sched.h but not for
arch//x86/kernel/vmlinux.lds.S, lovely. Let me try and figure out why.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ