From: Balbir Singh <bsingharora@gmail.com>
To: linuxppc-dev@lists.ozlabs.org, mpe@ellerman.id.au
Cc: naveen.n.rao@linux.vnet.ibm.com, christophe.leroy@c-s.fr,
paulus@samba.org, Balbir Singh <bsingharora@gmail.com>
Subject: [PATCH v5 0/7] Provide STRICT_KERNEL_RWX for powerpc
Date: Thu, 29 Jun 2017 03:04:04 +1000 [thread overview]
Message-ID: <20170628170411.28864-1-bsingharora@gmail.com> (raw)
Provide STRICT_KERNEL_RWX for PPC64/BOOK3S
These patches enable RX mappings of kernel text.
rodata is mapped RX as well as a trade-off, there
are more details in the patch description
As a prerequisite for R/O text, patch_instruction
is moved over to using a separate mapping that
allows write to kernel text. xmon/ftrace/kprobes
have been moved over to work with patch_instruction
There is a bug fix, the updatepp and updateboltedpp
(pseries) providers, did not use flags as described in
PAPR (patch 3). I would like to see that patch marked
to stable, I've not added a Cc:stable myself.
Another build failure was reported, because instead
of using ARCH_HAS_SET_MEMORY as a gate for set_memory.h
inclusion, some of the infrastructure in the core kernel
uses CONFIG_STRICT_KERNEL_RWX. I've sent a fix to the
fix the latter. It should be picked up by 4.13 at which
time we can remove the config dependency on !HIBERNATION
in arch/powerpc/Kconfig
This version received testing under CONFIG_RELOCATABLE_TEST.
CONFIG_STRICT_KERNEL_RWX does not work great with that config
and disables the feature when relocation is on and prints
a warning message.
After these changes go in we can get the PPC32 varaint
for the same feature based on patches already posted
by Christophe.
Changelog v5:
Drop patches accepted by Michael Ellerman
The radix patch has been reworked to
a. avoid splitting linear mapping when
CONFIG_STRICT_KERNEL_RWX is off
b. Fix the psize used for the linear mapping
There is also a bug fix to allow vector
areas to remain executable.
Changelog v4:
Multiple cleanups to patch_instruction() based on
review comments from Michael Ellerman
Changes to Kconfig to make the feature selectable
Changelog v3:
Support radix
Drop ptdump patch, already picked from v2
Changelog v2:
Support optprobes via patch_instruction
Balbir Singh (7):
powerpc/lib/code-patching: Use alternate map for patch_instruction()
powerpc/vmlinux.lds: Align __init_begin to 16M
powerpc/platform/pseries/lpar: Fix updatepp and updateboltedpp
powerpc/mm/hash: Implement mark_rodata_ro() for hash
powerpc/mm/radix: Implement mark_rodata_ro() for radix
mm/radix: Fix permissions correctly for interrupt_vectors
powerpc/Kconfig: Enable STRICT_KERNEL_RWX
arch/powerpc/Kconfig | 2 +
arch/powerpc/include/asm/book3s/64/hash.h | 3 +
arch/powerpc/include/asm/book3s/64/radix.h | 4 +
arch/powerpc/kernel/vmlinux.lds.S | 10 +-
arch/powerpc/lib/code-patching.c | 160 ++++++++++++++++++++++++++++-
arch/powerpc/mm/pgtable-hash64.c | 41 ++++++++
arch/powerpc/mm/pgtable-radix.c | 86 +++++++++++++++-
arch/powerpc/mm/pgtable_64.c | 9 ++
arch/powerpc/platforms/pseries/lpar.c | 21 +++-
9 files changed, 327 insertions(+), 9 deletions(-)
--
2.9.4
next reply other threads:[~2017-06-28 17:04 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-28 17:04 Balbir Singh [this message]
2017-06-28 17:04 ` [PATCH v5 1/7] powerpc/lib/code-patching: Use alternate map for patch_instruction() Balbir Singh
2017-06-28 17:04 ` [PATCH v5 2/7] powerpc/vmlinux.lds: Align __init_begin to 16M Balbir Singh
2017-06-29 11:29 ` David Laight
2017-06-29 11:36 ` Balbir Singh
2017-06-28 17:04 ` [PATCH v5 3/7] powerpc/platform/pseries/lpar: Fix updatepp and updateboltedpp Balbir Singh
2017-06-28 17:04 ` [PATCH v5 4/7] powerpc/mm/hash: Implement mark_rodata_ro() for hash Balbir Singh
2017-06-28 17:04 ` [PATCH v5 5/7] powerpc/mm/radix: Implement mark_rodata_ro() for radix Balbir Singh
2017-06-28 17:04 ` [PATCH v5 6/7] mm/radix: Fix permissions correctly for interrupt_vectors Balbir Singh
2017-06-28 17:04 ` [PATCH v5 7/7] powerpc/Kconfig: Enable STRICT_KERNEL_RWX Balbir Singh
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=20170628170411.28864-1-bsingharora@gmail.com \
--to=bsingharora@gmail.com \
--cc=christophe.leroy@c-s.fr \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
--cc=naveen.n.rao@linux.vnet.ibm.com \
--cc=paulus@samba.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.