From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760401AbcKDJzr (ORCPT ); Fri, 4 Nov 2016 05:55:47 -0400 Received: from mail-yw0-f171.google.com ([209.85.161.171]:33258 "EHLO mail-yw0-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756301AbcKDJzp (ORCPT ); Fri, 4 Nov 2016 05:55:45 -0400 MIME-Version: 1.0 In-Reply-To: <1477585631-18574-1-git-send-email-ard.biesheuvel@linaro.org> References: <1477585631-18574-1-git-send-email-ard.biesheuvel@linaro.org> From: Ard Biesheuvel Date: Fri, 4 Nov 2016 09:55:44 +0000 Message-ID: Subject: Re: [PATCH v3 0/3] modversions: Fix CRC mangling under CONFIG_RELOCATABLE=y To: "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , Michael Ellerman , jeyu@redhat.com Cc: Will Deacon , Rusty Russell , Andrew Morton , Benjamin Herrenschmidt , "paulus@samba.org" , Ard Biesheuvel Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 27 October 2016 at 17:27, Ard Biesheuvel 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 > From mboxrd@z Thu Jan 1 00:00:00 1970 From: ard.biesheuvel@linaro.org (Ard Biesheuvel) Date: Fri, 4 Nov 2016 09:55:44 +0000 Subject: [PATCH v3 0/3] modversions: Fix CRC mangling under CONFIG_RELOCATABLE=y In-Reply-To: <1477585631-18574-1-git-send-email-ard.biesheuvel@linaro.org> References: <1477585631-18574-1-git-send-email-ard.biesheuvel@linaro.org> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 27 October 2016 at 17:27, Ard Biesheuvel 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 >