On Tue, Dec 10, 2019 at 12:35:14AM -0500, George Spelvin wrote: > ... in boot_init_stack_canary(). > > This is the archetypical example of where the extra security of > get_random_bytes() is wasted. The canary is only important as > long as it's stored in __stack_chk_guard. > > It's also a great example of code that has been copied around > a lot and not updated. > > Remove the XOR with LINUX_VERSION_CODE as it's pointless; the inclusion > of utsname() in init_std_data in the random seeding obviates it. > > The XOR with the TSC on x86 and mtfb() on powerPC were left in, > as I haven't proved them redundant yet. For those, we call > get_random_long(), xor, and mask manually. > > FUNCTIONAL CHANGE: mips and xtensa were changed from 64-bit > get_random_long() to 56-bit get_random_canary() to match the > others, in accordance with the logic in CANARY_MASK. > > (We could do 1 bit better and zero *one* of the two high bytes.) > > Signed-off-by: George Spelvin <l...@sdf.org> > Cc: Russell King <li...@armlinux.org.uk> > Cc: linux-arm-ker...@lists.infradead.org > Cc: Catalin Marinas <catalin.mari...@arm.com> > Cc: Will Deacon <w...@kernel.org> > Cc: Ralf Baechle <r...@linux-mips.org> > Cc: Paul Burton <paulbur...@kernel.org> > Cc: James Hogan <jho...@kernel.org> > Cc: linux-m...@vger.kernel.org > Cc: Benjamin Herrenschmidt <b...@kernel.crashing.org> > Cc: Paul Mackerras <pau...@samba.org> > Cc: Michael Ellerman <m...@ellerman.id.au> > Cc: linuxppc-dev@lists.ozlabs.org > Cc: Yoshinori Sato <ys...@users.sourceforge.jp> > Cc: Rich Felker <dal...@libc.org> > Cc: linux...@vger.kernel.org > Cc: Thomas Gleixner <t...@linutronix.de> > Cc: Ingo Molnar <mi...@redhat.com> > Cc: Borislav Petkov <b...@alien8.de> > Cc: "H. Peter Anvin" <h...@zytor.com> > Cc: x...@kernel.org > Cc: Chris Zankel <ch...@zankel.net> > Cc: Max Filippov <jcmvb...@gmail.com> > Cc: linux-xte...@linux-xtensa.org > --- > arch/arm/include/asm/stackprotector.h | 9 +++------ > arch/arm64/include/asm/stackprotector.h | 8 ++------ > arch/mips/include/asm/stackprotector.h | 7 ++----- > arch/powerpc/include/asm/stackprotector.h | 6 ++---- > arch/sh/include/asm/stackprotector.h | 8 ++------ > arch/x86/include/asm/stackprotector.h | 4 ++-- > arch/xtensa/include/asm/stackprotector.h | 7 ++----- > 7 files changed, 15 insertions(+), 34 deletions(-)
Just found this kicking around in the depths of my inbox. Is the series dead? Will