livepatch,module: Remove .klp.arch and module_disable_ro()
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v4 Latest11 patches 14 repliesIn review
- v310 patches 12 repliesSuperseded
- v29 patches 28 repliesSuperseded
Earlier versions · 1
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v1 | 7 patches | 30 replies | Superseded |
Changes in v4 from the cover letter
- Fixed rebase bisection regression [Miroslav]
- Made module_enable_ro() static [Jessica]
- Added Acked-by's
Patches in v4 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/11 | livepatch: Disallow vmlinux.kokernel/ | +5 | 0 replies | |
| 2/11 | livepatch: Apply vmlinux-specific KLP relocations earlyinclude/ kernel/ kernel/ | +106 | 0 replies | |
| 3/11 | livepatch: Remove .klp.archDocumentation/ arch/ arch/ +2 more | +11 | 0 replies | |
| 4/11 | livepatch: Prevent module-specific KLP rela sections from referencing vmlinux symbolskernel/ | +27 | 0 replies | |
| 5/11 | s390: Change s390_kernel_write() return type to match memcpy()arch/ arch/ | +7 | 2 replies | |
| 6/11 | s390/module: Use s390_kernel_write() for late relocationsarch/ | +88 | 2 replies | |
| 7/11 | x86/module: Use text_poke() for late relocationsarch/ arch/ | +47 | 0 replies | |
| 8/11 | livepatch: Remove module_disable_ro() usagekernel/ | +0 | 0 replies | |
| 9/11 | module: Remove module_disable_ro()include/ kernel/ | +0 | 0 replies | |
| 10/11 | x86/module: Use text_mutex in apply_relocate_add()arch/ kernel/ | +7 | 0 replies | |
| 11/11 | module: Make module_enable_ro() static againinclude/ kernel/ | +2 | 7 replies |
Reviews trailers per patch
All 11 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.
| Patch | Joe Lawrence | Miroslav Benes | Peter Zijlstra (Intel) | Jessica Yu | Gerald Schaefer |
|---|---|---|---|---|---|
| Series | A-b | ||||
| 1/11 | A-b | A-b | |||
| 2/11 | A-b | A-b | A-b | ||
| 3/11 | A-b | A-b | A-b | ||
| 4/11 | A-b | A-b | A-b | ||
| 5/11 | A-b | A-b | A-b | ||
| 6/11 | A-b | A-b | A-b | A-b | |
| 7/11 | A-b | A-b | A-b | ||
| 8/11 | A-b | A-b | A-b | ||
| 9/11 | A-b | A-b | A-b | ||
| 10/11 | A-b | A-b | |||
| 11/11 | A-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 5 reviewers.
Cover letter [PATCH v4 00/11] livepatch,module: Remove .klp.arch and module_disable_ro()
v4:
- Fixed rebase bisection regression [Miroslav]
- Made module_enable_ro() static [Jessica]
- Added Acked-by's
v3:
- klp: split klp_write_relocations() into object/section specific functions [joe]
- s390: fix plt/got writes [joe]
- s390: remove text_mutex usage [mbenes]
- x86: do text_poke_sync() before releasing text_mutex [peterz]
- split x86 text_mutex changes into separate patch [mbenes]
v2:
- add vmlinux.ko check [peterz]
- remove 'klp_object' forward declaration [mbenes]
- use text_mutex [jeyu]
- fix documentation TOC [jeyu]
- fix s390 issues [mbenes]
- upstream kpatch-build now supports this (though it's only enabled for Linux >= 5.8)
These patches add simplifications and improvements for some issues Peter found six months ago, as part of his non-writable text code (W^X) cleanups.
Highlights:
- Remove the livepatch arch-specific .klp.arch sections, which were used to do paravirt patching and alternatives patching for livepatch replacement code.
- Add support for jump labels in patched code (only for static keys which live in vmlinux).
- Remove the last module_disable_ro() usage.
For more background, see this thread:
https://lkml.kernel.org/r/20191021135312.jbbxsuipxldocdjk@treble
This has been tested with kpatch-build integration tests and klp-convert selftests.
Josh Poimboeuf (8):
livepatch: Disallow vmlinux.ko
livepatch: Apply vmlinux-specific KLP relocations early
livepatch: Prevent module-specific KLP rela sections from referencing
vmlinux symbols
s390: Change s390_kernel_write() return type to match memcpy()
livepatch: Remove module_disable_ro() usage
module: Remove module_disable_ro()
x86/module: Use text_mutex in apply_relocate_add()
module: Make module_enable_ro() static again
Peter Zijlstra (3):
livepatch: Remove .klp.arch
s390/module: Use s390_kernel_write() for late relocations x86/module: Use text_poke() for late relocations
Documentation/livepatch/module-elf-format.rst | 15 +- arch/s390/include/asm/uaccess.h | 2 +- arch/s390/kernel/module.c | 147 +++++++++------ arch/s390/mm/maccess.c | 9 +- arch/um/kernel/um_arch.c | 16 ++ arch/x86/kernel/Makefile | 1 - arch/x86/kernel/livepatch.c | 53 ------ arch/x86/kernel/module.c | 43 ++++- include/linux/livepatch.h | 17 +- include/linux/module.h | 8 - kernel/livepatch/core.c | 177 +++++++++++------- kernel/module.c | 27 +-- 12 files changed, 279 insertions(+), 236 deletions(-) delete mode 100644 arch/x86/kernel/livepatch.c
Signature · 1 line
2.21.1