All of lore.kernel.org
 help / color / mirror / Atom feed
From: Baoquan He <bhe@redhat.com>
To: mingo@kernel.org, linux-kernel@vger.kernel.org
Cc: keescook@chromium.org, dyoung@redhat.com,
	douly.fnst@cn.fujitsu.com, dan.j.williams@intel.com,
	Baoquan He <bhe@redhat.com>
Subject: [PATCH v3 0/3] Handle memmap and mem kernel options in boot stage kaslr
Date: Wed, 26 Apr 2017 18:16:09 +0800	[thread overview]
Message-ID: <1493201772-19084-1-git-send-email-bhe@redhat.com> (raw)

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, and it sits on top of
tip:x86/boot branch.

Changelog

v2->v3:
No functionality change in this round.
a)Use local static variable insted of global variable
  mem_avoid_memmap_index in patch 1/3.
b)Fix a typo in patch 3/3.

v1->v2:
a)The original patch 1/4 has been put in tip:x86/boot and no update,
  so it's not included in this post.
b)Use patch log Ingo reorganized.
c)lib/ctype.c and lib/cmdline.c are needed for kaslr.c, while those
  EXPORT_SYMBOL(x) contained caused failure of 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
  ......
  Disabling the symbol exporting removes the build failure.
d)Use dynamic allocation to allocate memory to contain copied kernel cmdline
  buffer, it's implemented in include/linux/decompress/mm.h.



Baoquan He (3):
  KASLR: Parse all memmap entries in cmdline
  KASLR: Handle memory limit specified by memmap and mem option
  Documentation/kernel-parameters.txt: Update 'memmap=' option
    description

 Documentation/admin-guide/kernel-parameters.txt |   9 ++
 arch/x86/boot/compressed/cmdline.c              |   2 +-
 arch/x86/boot/compressed/kaslr.c                | 183 +++++++++++++++---------
 arch/x86/boot/string.c                          |   8 ++
 4 files changed, 136 insertions(+), 66 deletions(-)

-- 
2.5.5

             reply	other threads:[~2017-04-26 10:16 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-26 10:16 Baoquan He [this message]
2017-04-26 10:16 ` [PATCH v3 1/3] KASLR: Parse all memmap entries in cmdline Baoquan He
2017-04-28 19:37   ` Kees Cook
2017-04-29 10:12     ` Baoquan He
2017-04-26 10:16 ` [PATCH v3 2/3] KASLR: Handle memory limit specified by memmap and mem option Baoquan He
2017-04-28 19:39   ` Kees Cook
2017-04-29 10:14     ` Baoquan He
2017-04-26 10:16 ` [PATCH v3 3/3] Documentation/kernel-parameters.txt: Update 'memmap=' option description Baoquan He
2017-04-27 19:57 ` [PATCH v3 0/3] Handle memmap and mem kernel options in boot stage kaslr YASUAKI ISHIMATSU
2017-04-28 23:02   ` 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=1493201772-19084-1-git-send-email-bhe@redhat.com \
    --to=bhe@redhat.com \
    --cc=dan.j.williams@intel.com \
    --cc=douly.fnst@cn.fujitsu.com \
    --cc=dyoung@redhat.com \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    /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.