Re: [PATCH] Revert "x86/module: Detect and skip invalid relocations"
From: Thomas Gleixner
Date: Sat Jun 22 2019 - 03:28:31 EST
On Thu, 20 Jun 2019, Miroslav Benes wrote:
> On Thu, 20 Jun 2019, Cheng Jian wrote:
> > This reverts commit eda9cec4c9a12208a6f69fbe68f72a6311d50032.
> > Since commit (eda9cec4c9a1 'x86/module: Detect and skip invalid
> > relocations') add some sanity check in apply_relocate_add, borke
> > re-insmod a kernel module which has been patched before,
> > The relocation informations of the livepatch module have been
> > overwritten since first patched, so if we rmmod and insmod the
> > kernel module, these values are not zero anymore, when
> > klp_module_coming doing, and that commit marks them as invalid
> > invalid_relocation.
> > Then the following error occurs:
> > module: x86/modules: Skipping invalid relocation target, existing value is nonzero for type 2, loc (____ptrval____), val ffffffffc000236c
> > livepatch: failed to initialize patch 'livepatch_0001_test' for module 'test' (-8)
> > livepatch: patch 'livepatch_0001_test' failed for module 'test', refusing to load module 'test'
> Oh yeah. First reported here 20180602161151.apuhs2dygsexmcg2@treble (LP ML
> only and there is no archive on lore.kernel.org yet. Sorry about that.). I
> posted v1 here
> https://lore.kernel.org/lkml/20180607092949.1706-1-mbenes@xxxxxxx/ and
> even started to work on v2 in March with arch-specific nullifying, but
> then I got sidetracked again. I'll move it up my todo list a bit.
so we need to revert it for now, right?