Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S936362AbcKXJZL (ORCPT ); Thu, 24 Nov 2016 04:25:11 -0500 Received: from mx2.suse.de ([195.135.220.15]:56765 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934194AbcKXJZK (ORCPT ); Thu, 24 Nov 2016 04:25:10 -0500 Subject: Re: [PATCH] x86/kbuild: enable modversions for symbols exported from asm To: Ingo Molnar , Adam Borowski References: <20161123205338.GA12050@angband.pl> <20161123210256.31501-1-kilobyte@angband.pl> <20161124044028.GA12704@gmail.com> Cc: Philip Muller , linux-kernel@vger.kernel.org, Nicholas Piggin , Greg Kroah-Hartman , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Linus Torvalds , Andrew Morton , Peter Zijlstra From: Michal Marek Message-ID: <4f21bf3d-b25a-2b98-1eae-0f9a155171a2@suse.com> Date: Thu, 24 Nov 2016 10:25:05 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 MIME-Version: 1.0 In-Reply-To: <20161124044028.GA12704@gmail.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2587 Lines: 64 On 2016-11-24 05:40, Ingo Molnar wrote: > > * Adam Borowski wrote: > >> Commit 4efca4ed ("kbuild: modversions for EXPORT_SYMBOL() for asm") adds >> modversion support for symbols exported from asm files. Architectures >> must include C-style declarations for those symbols in asm/asm-prototypes.h >> in order for them to be versioned. >> >> Add these declarations for x86, and an architecture-independent file that >> can be used for common symbols. >> >> User impact: kernels may fail to load modules at all when >> CONFIG_MODVERSIONS=y. >> >> Signed-off-by: Adam Borowski >> Tested-by: Kalle Valo >> Acked-by: Nicholas Piggin >> Tested-by: Peter Wu >> Tested-by: Oliver Hartkopp >> --- >> Changes: corrected Peter Wu's address, added Tested-by: Oliver. >> This is an unsplit version (x86/include/ and include/ together). >> >> arch/x86/include/asm/asm-prototypes.h | 12 ++++++++++++ >> include/asm-generic/asm-prototypes.h | 7 +++++++ >> 2 files changed, 19 insertions(+) >> create mode 100644 arch/x86/include/asm/asm-prototypes.h >> create mode 100644 include/asm-generic/asm-prototypes.h > > Michal, I'm quite unhappy about how the offending commit that broke modversions > for essentially _everyone_ who does more complex modular builds on x86 ended up > upstream: > > commit 4efca4ed05cbdfd13ec3e8cb623fb77d6e4ab187 > Author: Nicholas Piggin > AuthorDate: Tue Nov 1 12:46:19 2016 +1100 > Commit: Michal Marek > CommitDate: Tue Nov 1 16:20:17 2016 +0100 > > kbuild: modversions for EXPORT_SYMBOL() for asm > > Allow architectures to create asm/asm-prototypes.h file that > provides C prototypes for exported asm functions, which enables > proper CRC versions to be generated for them. > > scripts/Makefile.build | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------ > 1 file changed, 72 insertions(+), 6 deletions(-) > > It was applied 4 hours after it was sent in the -rc3 timeframe, and then it went > upstream in -rc5: > > "Here are some regression fixes for kbuild: > > - modversion support for exported asm symbols (Nick Piggin). The > affected architectures need separate patches adding > asm-prototypes.h. > > ... the fine merge log even says that the commit 'needs separate patches'! It needs separate patches to finally fix the regression that happened in -rc1. Michal