Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1631343

[PATCH v3 0/3] Handle memmap and mem kernel options in boot stage kaslr

From Baoquan He <bhe@redhat.com>
Newsgroups linux.kernel
Subject [PATCH v3 0/3] Handle memmap and mem kernel options in boot stage kaslr
Date 2017-04-26 12:20 +0200
Message-ID <tAsdb-UH-1@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View 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

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH v3 0/3] Handle memmap and mem kernel options in boot stage kaslr Baoquan He <bhe@redhat.com> - 2017-04-26 12:20 +0200
  [PATCH v3 2/3] KASLR: Handle memory limit specified by memmap and mem option Baoquan He <bhe@redhat.com> - 2017-04-26 12:20 +0200
    Re: [PATCH v3 2/3] KASLR: Handle memory limit specified by memmap and  mem option Kees Cook <keescook@chromium.org> - 2017-04-28 21:40 +0200
      Re: [PATCH v3 2/3] KASLR: Handle memory limit specified by memmap  and mem option Baoquan He <bhe@redhat.com> - 2017-04-29 12:20 +0200
  [PATCH v3 1/3] KASLR: Parse all memmap entries in cmdline Baoquan He <bhe@redhat.com> - 2017-04-26 12:20 +0200
    Re: [PATCH v3 1/3] KASLR: Parse all memmap entries in cmdline Kees Cook <keescook@chromium.org> - 2017-04-28 21:40 +0200
      Re: [PATCH v3 1/3] KASLR: Parse all memmap entries in cmdline Baoquan He <bhe@redhat.com> - 2017-04-29 12:20 +0200
  [PATCH v3 3/3] Documentation/kernel-parameters.txt: Update 'memmap=' option description Baoquan He <bhe@redhat.com> - 2017-04-26 12:20 +0200
  Re: [PATCH v3 0/3] Handle memmap and mem kernel options in boot stage  kaslr YASUAKI ISHIMATSU <yasu.isimatu@gmail.com> - 2017-04-27 22:00 +0200
    Re: [PATCH v3 0/3] Handle memmap and mem kernel options in boot  stage kaslr Baoquan He <bhe@redhat.com> - 2017-04-29 01:10 +0200

csiph-web