Re: [PATCH v3 00/10] livepatch,module: Remove .klp.arch and module_disable_ro()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/25/20 7:07 AM, Josh Poimboeuf wrote:
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.

- 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.


Hi Josh,

I've added some late module patching tests for klp-convert as well as extended the existing ones. I'll put them on-top of v3 and give it some test runs today (x86, ppc64le, s390x) and report back.

BTW, this may be out of scope for this patchset, but is it a large amount of work to support clearing klp-relocations on target module unload? ie, this test case:

  - (target module and livepatch loaded)
  - rmmod target_mod
  - modprobe target_mod       << fails as reloc target is non-zero

IIRC, Miroslav had taken a stab at this last year, but I don't remember what the technical problems were then.

-- Joe




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux Kernel]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux