From: Baoquan He <bhe@redhat.com>
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org, keescook@chromium.org,
dave.jiang@intel.com, dan.j.williams@intel.com, hpa@zytor.com,
tglx@linutronix.de, dyoung@redhat.com
Subject: Re: [PATCH 0/4] Handle memmap and mem kernel options in boot stage kaslr
Date: Thu, 20 Apr 2017 21:59:47 +0800 [thread overview]
Message-ID: <20170420135947.GE2311@x1> (raw)
In-Reply-To: <20170418125154.37rlz7ufb7bxukp4@gmail.com>
On 04/18/17 at 02:51pm, Ingo Molnar wrote:
>
> * Baoquan He <bhe@redhat.com> wrote:
>
> > On 04/18/17 at 11:47am, Ingo Molnar wrote:
> > >
> > > * Baoquan He <bhe@redhat.com> wrote:
> > >
> > > > People reported kernel panic occurs during system boots up with mem boot option.
> > > > After checking code, several problems are found about memmap= and mem= in boot stage
> > > > kaslr.
> > > >
> > > > *) In commit f28442497b5c ("x86/boot: Fix KASLR and memmap= collision"), only one memmap
> > > > entry is considered and only the last one if multiple memmap entries are specified.
> > > >
> > > > *) mem= and memmap=nn[KMG] are not considered yet. They are used to limit max address
> > > > of system. Kernel can't be randomized to be above the limit.
> > > >
> > > > *) kernel-parameters.txt doesn't tell the updated behaviour of memmap=.
> > > >
> > > > This patchset tries to solve above issues.
> > > >
> > > > Baoquan He (4):
> > > > param: Move function next_arg to lib/cmdline.c for later reuse
> > > > KASLR: Parse all memmap entries in cmdline
> > > > KASLR: Handle memory limit specified by memmap and mem option
> > > > doc: Update description about memmap option in kernel-parameter.txt
> > > >
> > > > Documentation/admin-guide/kernel-parameters.txt | 9 ++
> > > > arch/x86/boot/compressed/cmdline.c | 2 +-
> > > > arch/x86/boot/compressed/kaslr.c | 161 ++++++++++++++----------
> > > > arch/x86/boot/string.c | 8 ++
> > > > include/linux/kernel.h | 1 +
> > > > kernel/params.c | 52 --------
> > > > lib/cmdline.c | 57 +++++++++
> > > > 7 files changed, 172 insertions(+), 118 deletions(-)
> > >
> > > I ported this series to tip:x86/boot (please post future versions against that),
> > > and beyond a trivial conflict with e820entry => e820_entry, it fails to build on
> > > 32-bit allmodconfig:
> > >
> > > ld: -r and -shared may not be used together
> > > scripts/Makefile.build:294: recipe for target 'arch/x86/boot/compressed/kaslr.o' failed
> > >
> > > ... which could be due to bad relocations, but I've not dug any further.
> >
> > Thanks, Ingo!
> >
> > I will find a x86_32 system to try allmodconfig.
>
> No need, on a 64-bit system just do:
>
> make ARCH=i386 allmodconfig
>
> and build the kernel the regular way.
Sorry for late update. I tried on a x86 64 system with "make ARCH=i386
allmodconfig", and saw the ld warning. I added a '-r' after -pie, the
building passed. Seems including lib/ctype.c or lib/cmdline.c caused
this. Will dig further to see what's going on.
ifeq ($(CONFIG_X86_32),y)
LDFLAGS += $(call ld-option, -pie -r) $(call ld-option, --no-dynamic-linker)
else
Thanks
Baoquan
next prev parent reply other threads:[~2017-04-20 14:00 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-17 13:34 [PATCH 0/4] Handle memmap and mem kernel options in boot stage kaslr Baoquan He
2017-04-17 13:34 ` [PATCH 1/4] param: Move function next_arg to lib/cmdline.c for later reuse Baoquan He
2017-04-18 12:51 ` [tip:x86/boot] boot/param: Move next_arg() function " tip-bot for Baoquan He
2017-04-18 20:17 ` [PATCH 1/4] param: Move function next_arg " Kees Cook
2017-04-17 13:34 ` [PATCH 2/4] KASLR: Parse all memmap entries in cmdline Baoquan He
2017-04-18 20:22 ` Kees Cook
2017-04-18 22:52 ` Baoquan He
2017-04-18 23:32 ` Kees Cook
2017-04-19 0:07 ` Baoquan He
2017-04-17 13:34 ` [PATCH 3/4] KASLR: Handle memory limit specified by memmap and mem option Baoquan He
2017-04-18 20:36 ` Kees Cook
2017-04-18 23:12 ` Baoquan He
2017-04-19 0:50 ` Baoquan He
2017-04-19 0:59 ` Baoquan He
2017-04-17 13:34 ` [PATCH 4/4] doc: Update description about memmap option in kernel-parameter.txt Baoquan He
2017-04-18 9:47 ` [PATCH 0/4] Handle memmap and mem kernel options in boot stage kaslr Ingo Molnar
2017-04-18 11:38 ` Baoquan He
2017-04-18 12:51 ` Ingo Molnar
2017-04-19 0:09 ` Baoquan He
2017-04-20 13:59 ` Baoquan He [this message]
2017-04-24 2:46 ` Baoquan He
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170420135947.GE2311@x1 \
--to=bhe@redhat.com \
--cc=dan.j.williams@intel.com \
--cc=dave.jiang@intel.com \
--cc=dyoung@redhat.com \
--cc=hpa@zytor.com \
--cc=keescook@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.