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 PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 22 Mar 2019 17:57:09 +0100 From: Arnd Bergmann <arnd@...db.de> To: Peter Zijlstra <peterz@...radead.org> Cc: Andi Kleen <andi@...stfloor.org>, "the arch/x86 maintainers" <x86@...nel.org>, Andrew Morton <akpm@...ux-foundation.org>, Linux Kernel Mailing List <linux-kernel@...r.kernel.org>, Andi Kleen <ak@...ux.intel.com>, Masahiro Yamada <yamada.masahiro@...ionext.com> Subject: Re: [PATCH 01/17] kbuild: Disable -Waddress-of-packed-member for gcc 9 On Fri, Mar 22, 2019 at 5:40 PM Peter Zijlstra <peterz@...radead.org> wrote: > > On Fri, Mar 22, 2019 at 02:58:51PM +0100, Arnd Bergmann wrote: > > On Thu, Mar 21, 2019 at 11:00 PM Andi Kleen <andi@...stfloor.org> wrote: > > > > > > From: Andi Kleen <ak@...ux.intel.com> > > > > > > This warning is very noisy in a default build with gcc 9. > > > Move it into W=2 only. > > > > > > Cc: arnd@...db.de > > > Cc: Masahiro Yamada <yamada.masahiro@...ionext.com> > > > Signed-off-by: Andi Kleen <ak@...ux.intel.com> > > > > I think W=2 is too aggressive. On many architectures, this finds > > real bugs and the false positives tend to be trivial to fix > > (by removing the bogus __packed annotation), which improves > > the generated code in the process. > > > > Moving it to W=1 for the moment is probably fine, but ideally > > I think we should fix the kernel to behave according to the > > C standard. > > Lol... we're actively moving away from the C standard on many places. > > Why does the silly compiler think it is a problem to take the address of > a member of a packed structure? That sounds like something that's > perfectly fine and useful. The problem is casting a pointer of an unaligned variable to one of higher alignment and passing that to a function that does not expect unaligned data. On CPUs that don't have unaligned load/store instructions, this causes an alignment fault, which will have to be fixed up in software by doing a bytewise access or crash the system. Arnd
Powered by blists - more mailing lists