From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751518AbdASJbD (ORCPT ); Thu, 19 Jan 2017 04:31:03 -0500 Received: from mail-it0-f43.google.com ([209.85.214.43]:37530 "EHLO mail-it0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751481AbdASJ3w (ORCPT ); Thu, 19 Jan 2017 04:29:52 -0500 MIME-Version: 1.0 In-Reply-To: References: <1484681173-11644-1-git-send-email-ard.biesheuvel@linaro.org> <1484681173-11644-4-git-send-email-ard.biesheuvel@linaro.org> From: Ard Biesheuvel Date: Thu, 19 Jan 2017 09:22:38 +0000 Message-ID: Subject: Re: [PATCH v4 3/3] modversions: treat symbol CRCs as 32 bit quantities on 64 bit archs To: Linus Torvalds Cc: Linux Kernel Mailing List , Michael Ellerman , Jessica Yu , Rusty Russell , "Suzuki K. Poulose" , Will Deacon , Andrew Morton , Benjamin Herrenschmidt , Paul Mackerras , Arnd Bergmann , Al Viro , ppc-dev 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 19 January 2017 at 00:15, Linus Torvalds wrote: > On Wed, Jan 18, 2017 at 2:37 PM, Ard Biesheuvel > wrote: >> >> For a ballpark number of 10,000 CRCs in the core kernel, this would >> increase the size of the image by 40 KB for 32-bit architectures (and >> if saving 40 KB is essential, chances are you won't be using >> modversions in the first place). > > As you say, I don't think the space issue is much of a problem. > > I'm more worried about the replacement of one crazy model that has > problems due to linker subtlety with _another_ one. > > Your genksyms.c change is not exactly obvious. I looked at it, and my > brain just shut down. Why both the > > LONG(0x%08lx); > > _and_ the > > "%s__crc_%s = 0x%08lx;\n" > > in the linker script? I'm sure there's a good reason, but I'd like to > see a more explicit explanation fo what the generated linker script > does and what the rules are. > This is simply because modpost still uses the value of the symbol rather than the value it points to to generate the /other/ side of the comparison (i.e., Module.symvers etc) I will look into updating modpost to dereference the symbol as well, and update the RFC patch accordingly.