ppc64le STRICT_MODULE_RWX and livepatch apply_relocate_add() crashes
Russell Currey
ruscur at russell.cc
Mon Nov 1 20:20:59 AEDT 2021
On Sun, 2021-10-31 at 22:43 -0400, Joe Lawrence wrote:
> Starting with 5.14 kernels, I can reliably reproduce a crash [1] on
> ppc64le when loading livepatches containing late klp-relocations [2].
> These are relocations, specific to livepatching, that are resolved not
> when a livepatch module is loaded, but only when a livepatch-target
> module is loaded.
Hey Joe, thanks for the report.
> I haven't started looking at a fix yet, but in the case of the x86 code
> update, its apply_relocate_add() implementation was modified to use a
> common text_poke() function to allowed us to drop
> module_{en,dis}ble_ro() games by the livepatching code.
It should be a similar fix for Power, our patch_instruction() uses a
text poke area but apply_relocate_add() doesn't use it and does its own
raw patching instead.
> I can take a closer look this week, but thought I'd send out a report
> in case this may be a known todo for STRICT_MODULE_RWX on Power.
I'm looking into this now, will update when there's progress. I
personally wasn't aware but Jordan flagged this as an issue back in
August [0]. Are the selftests in the klp-convert tree sufficient for
testing? I'm not especially familiar with livepatching & haven't used
the userspace tools.
- Russell
[0] https://github.com/linuxppc/issues/issues/375
>
> -- Joe
More information about the Linuxppc-dev
mailing list