Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[PATCH] disable kaslr in kdump kernel

60 views
Skip to first unread message

Dave Young

unread,
Feb 11, 2014, 5:10:03 AM2/11/14
to

KASLR does not work in kdump kernel because it's too early that mem=exactmap
has not been parsed.

Since KASLR does not make much sense for kdump kernel thus let's disable it
for kdump kernel. To check if it is a kdump kernel I just check the cmdline
param elfcorehdr just like is_kdump_kernel.

Signed-off-by: Dave Young <dyo...@redhat.com>
---
linux-2.6/arch/x86/boot/compressed/aslr.c | 5 +++++
1 file changed, 5 insertions(+)

Index: dyoung/git/linux-2.6/arch/x86/boot/compressed/aslr.c
===================================================================
--- linux-2.6/arch/x86/boot/compressed/aslr.c
+++ linux-2.6/arch/x86/boot/compressed/aslr.c
@@ -293,6 +293,11 @@ unsigned char *choose_kernel_location(un
goto out;
}

+ if (cmdline_find_option("elfcorehdr", NULL, 0) != -1) {
+ debug_putstr("KASLR disabled...\n");
+ goto out;
+ }
+
/* Record the various known unsafe memory ranges. */
mem_avoid_init((unsigned long)input, input_size,
(unsigned long)output, output_size);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Vivek Goyal

unread,
Feb 11, 2014, 8:20:02 AM2/11/14
to
On Tue, Feb 11, 2014 at 06:08:38PM +0800, Dave Young wrote:
>
> KASLR does not work in kdump kernel because it's too early that mem=exactmap
> has not been parsed.
>
> Since KASLR does not make much sense for kdump kernel thus let's disable it
> for kdump kernel. To check if it is a kdump kernel I just check the cmdline
> param elfcorehdr just like is_kdump_kernel.
>
> Signed-off-by: Dave Young <dyo...@redhat.com>

I don't think it is a good idea. I don't like hardcoding second kernel's
behavior. I rather vary second kernel's behavior based on command line
parameters or based on values passed in bootparams.

So I am more than happy to pass command line option "nokaslr" instead
of hardcoding this in kernel.

Thanks
Vivek

Dave Young

unread,
Feb 11, 2014, 8:40:02 PM2/11/14
to
On 02/11/14 at 08:16am, Vivek Goyal wrote:
> On Tue, Feb 11, 2014 at 06:08:38PM +0800, Dave Young wrote:
> >
> > KASLR does not work in kdump kernel because it's too early that mem=exactmap
> > has not been parsed.
> >
> > Since KASLR does not make much sense for kdump kernel thus let's disable it
> > for kdump kernel. To check if it is a kdump kernel I just check the cmdline
> > param elfcorehdr just like is_kdump_kernel.
> >
> > Signed-off-by: Dave Young <dyo...@redhat.com>
>
> I don't think it is a good idea. I don't like hardcoding second kernel's
> behavior. I rather vary second kernel's behavior based on command line
> parameters or based on values passed in bootparams.
>
> So I am more than happy to pass command line option "nokaslr" instead
> of hardcoding this in kernel.

That's also fine to me, but I think we'd better add it to documentation?

Vivek Goyal

unread,
Feb 12, 2014, 9:10:04 AM2/12/14
to
On Wed, Feb 12, 2014 at 09:37:34AM +0800, Dave Young wrote:
> On 02/11/14 at 08:16am, Vivek Goyal wrote:
> > On Tue, Feb 11, 2014 at 06:08:38PM +0800, Dave Young wrote:
> > >
> > > KASLR does not work in kdump kernel because it's too early that mem=exactmap
> > > has not been parsed.
> > >
> > > Since KASLR does not make much sense for kdump kernel thus let's disable it
> > > for kdump kernel. To check if it is a kdump kernel I just check the cmdline
> > > param elfcorehdr just like is_kdump_kernel.
> > >
> > > Signed-off-by: Dave Young <dyo...@redhat.com>
> >
> > I don't think it is a good idea. I don't like hardcoding second kernel's
> > behavior. I rather vary second kernel's behavior based on command line
> > parameters or based on values passed in bootparams.
> >
> > So I am more than happy to pass command line option "nokaslr" instead
> > of hardcoding this in kernel.
>
> That's also fine to me, but I think we'd better add it to documentation?

Adding documentation is fine. May be Documentation/kdump/kdump.txt. Create
a section where we mention some of the preferred command line settings
for kdump to work.

Thanks
Vivek
0 new messages