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
| ||
|
Date: Wed, 4 Mar 2015 11:16:49 +0100 From: Borislav Petkov <bp@...en8.de> To: Yinghai Lu <yinghai@...nel.org> Cc: Matt Fleming <matt.fleming@...el.com>, "H. Peter Anvin" <hpa@...or.com>, Bjorn Helgaas <bhelgaas@...gle.com>, Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...hat.com>, Jiri Kosina <jkosina@...e.cz>, Borislav Petkov <bp@...e.de>, Baoquan He <bhe@...hat.com>, linux-kernel@...r.kernel.org, linux-efi@...r.kernel.org, linux-pci@...r.kernel.org, Kees Cook <keescook@...omium.org> Subject: Re: [PATCH v2 04/15] x86, kaslr: get kaslr_enabled back correctly On Wed, Mar 04, 2015 at 12:00:37AM -0800, Yinghai Lu wrote: > commit f47233c2d34f ("x86/mm/ASLR: Propagate base load address calculation") > is using address as value for kaslr_enabled. > > That will random kaslr_enabled get that set or cleared. > Will have problem for system really have kaslr enabled. > > -v2: update changelog. This is still not good enough. Please do this: In commit f47233c2d34f we did A. The problem with that is B. Change the code to do C. Now you only have to fill out the A,B and C variables with the respective text which is understandable even for people who don't know this code. > > Fixes: f47233c2d34f ("x86/mm/ASLR: Propagate base load address calculation") > Cc: Matt Fleming <matt.fleming@...el.com> > Cc: Borislav Petkov <bp@...e.de> > Cc: Kees Cook <keescook@...omium.org> > Cc: Jiri Kosina <jkosina@...e.cz> > Acked-by: Jiri Kosina <jkosina@...e.cz> > Signed-off-by: Yinghai Lu <yinghai@...nel.org> > --- > arch/x86/kernel/setup.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c > index 98dc931..05d444f 100644 > --- a/arch/x86/kernel/setup.c > +++ b/arch/x86/kernel/setup.c > @@ -429,7 +429,13 @@ static void __init reserve_initrd(void) > > static void __init parse_kaslr_setup(u64 pa_data, u32 data_len) > { > - kaslr_enabled = (bool)(pa_data + sizeof(struct setup_data)); > + /* kaslr_setup_data is defined in aslr.c */ > + unsigned char *data; > + unsigned long offset = sizeof(struct setup_data); > + > + data = early_memremap(pa_data, offset + 1); early_memremap() needs its retval checked before accessing it. > + kaslr_enabled = *(data + offset); > + early_memunmap(data, offset + 1); > } > > static void __init parse_setup_data(void) > -- > 1.8.4.5 > -- Regards/Gruss, Boris. ECO tip #101: Trim your mails when you reply. -- -- 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