On 27 October 2016 at 17:27, Ard Biesheuvel <[email protected]> wrote: > This series is a followup to the single patch 'modversions: treat symbol > CRCs as 32 bit quantities on 64 bit archs', of which two versions have > been sent out so far [0][1] > > As pointed out by Michael, GNU ld behaves a bit differently between arm64 > and PowerPC64, and where the former gets rid of all runtime relocations > related to CRCs, the latter is not as easily convinced. > > Patch #1 fixes the issue where CRCs are corrupted by the runtime relocation > routines for 32-bit PowerPC, for which the original fix was effectively > reverted by commit 0e0ed6406e61 ("powerpc/modules: Module CRC relocation fix > causes perf issues") > > Patch #2 adds handling of R_PPC64_ADDR32 relocations against the NULL .dynsym > symbol entry to the PPC64 runtime relocation routines, so it is prepared to > deal with CRCs being emitted as 32-bit quantities. > > Patch #3 is the original patch from the v1 and v2 submissions. > > Changes since v2: > - added #1 and #2 > - updated #3 to deal with CRC entries being emitted from assembler > - added Rusty's ack (#3) > > Branch can be found here: > https://git.kernel.org/cgit/linux/kernel/git/ardb/linux.git/log/?h=kcrctab-reloc > > [0] http://marc.info/?l=linux-kernel&m=147652300207369&w=2 > [1] http://marc.info/?l=linux-kernel&m=147695629614409&w=2 >
Ping? > Ard Biesheuvel (3): > powerpc/reloc32: fix corrupted modversion CRCs > powerpc/reloc64: add support for 32-bit CRC pseudo-symbols > modversions: treat symbol CRCs as 32 bit quantities on 64 bit archs > > arch/powerpc/include/asm/module.h | 4 -- > arch/powerpc/kernel/module_64.c | 8 ---- > arch/powerpc/kernel/reloc_32.S | 36 +++++++++++++-- > arch/powerpc/kernel/reloc_64.S | 22 +++++++-- > arch/powerpc/relocs_check.sh | 3 +- > include/asm-generic/export.h | 7 +-- > include/linux/export.h | 8 ++++ > include/linux/module.h | 14 +++--- > kernel/module.c | 47 +++++++------------- > 9 files changed, 85 insertions(+), 64 deletions(-) > > -- > 2.7.4 >

