Re: [PATCH v4 3/3] modversions: treat symbol CRCs as 32 bit quantities on 64 bit archs

2017-01-20 Thread Ard Biesheuvel
On 19 January 2017 at 17:24, Linus Torvalds wrote: > On Thu, Jan 19, 2017 at 1:22 AM, Ard Biesheuvel > wrote: >>> >>> 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%

Re: [PATCH v4 3/3] modversions: treat symbol CRCs as 32 bit quantities on 64 bit archs

2017-01-19 Thread Linus Torvalds
On Thu, Jan 19, 2017 at 1:22 AM, Ard Biesheuvel wrote: >> >> 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 reas

RE: [PATCH v4 3/3] modversions: treat symbol CRCs as 32 bit quantities on 64 bit archs

2017-01-19 Thread David Laight
From: Ard Biesheuvel > Sent: 18 January 2017 13:53 .. > It turns out that this odd treatment of absolute symbols (i.e., > symbols having section number SHN_ABS) is a known issue in GNU ld > > https://sourceware.org/ml/binutils/2012-05/msg00019.html ... Jeepers - that is truly f*cked. I've even

Re: [PATCH v4 3/3] modversions: treat symbol CRCs as 32 bit quantities on 64 bit archs

2017-01-19 Thread Ard Biesheuvel
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

Re: [PATCH v4 3/3] modversions: treat symbol CRCs as 32 bit quantities on 64 bit archs

2017-01-18 Thread Linus Torvalds
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).

Re: [PATCH v4 3/3] modversions: treat symbol CRCs as 32 bit quantities on 64 bit archs

2017-01-18 Thread Ard Biesheuvel
On 18 January 2017 at 18:35, Linus Torvalds wrote: > On Wed, Jan 18, 2017 at 10:27 AM, Linus Torvalds > wrote: >> >> I wonder what happened to gold, and why it didn't take over. I'm >> assuming it had _other_ bugs.. Oh well. > > Google for gold problems, I note that it has been reported to get >

Re: [PATCH v4 3/3] modversions: treat symbol CRCs as 32 bit quantities on 64 bit archs

2017-01-18 Thread Linus Torvalds
On Wed, Jan 18, 2017 at 10:27 AM, Linus Torvalds wrote: > > I wonder what happened to gold, and why it didn't take over. I'm > assuming it had _other_ bugs.. Oh well. Google for gold problems, I note that it has been reported to get "internal error"s during kernel builds - and at least some of th

Re: [PATCH v4 3/3] modversions: treat symbol CRCs as 32 bit quantities on 64 bit archs

2017-01-18 Thread Linus Torvalds
On Wed, Jan 18, 2017 at 5:52 AM, Ard Biesheuvel wrote: > > It turns out that this odd treatment of absolute symbols (i.e., > symbols having section number SHN_ABS) is a known issue in GNU ld > > https://sourceware.org/ml/binutils/2012-05/msg00019.html Ugh. I hate the GNU linker. It's slow, it doe

Re: [PATCH v4 3/3] modversions: treat symbol CRCs as 32 bit quantities on 64 bit archs

2017-01-18 Thread Ard Biesheuvel
On 18 January 2017 at 11:37, Ard Biesheuvel wrote: > On 17 January 2017 at 23:47, Linus Torvalds > wrote: >> On Tue, Jan 17, 2017 at 11:26 AM, Ard Biesheuvel >> wrote: >>> The modversion symbol CRCs are emitted as ELF symbols, which allows us to >>> easily populate the kcrctab sections by relyin

Re: [PATCH v4 3/3] modversions: treat symbol CRCs as 32 bit quantities on 64 bit archs

2017-01-18 Thread Ard Biesheuvel
On 17 January 2017 at 23:47, Linus Torvalds wrote: > On Tue, Jan 17, 2017 at 11:26 AM, Ard Biesheuvel > wrote: >> The modversion symbol CRCs are emitted as ELF symbols, which allows us to >> easily populate the kcrctab sections by relying on the linker to associate >> each kcrctab slot with the c

Re: [PATCH v4 3/3] modversions: treat symbol CRCs as 32 bit quantities on 64 bit archs

2017-01-17 Thread Linus Torvalds
On Tue, Jan 17, 2017 at 11:26 AM, Ard Biesheuvel wrote: > The modversion symbol CRCs are emitted as ELF symbols, which allows us to > easily populate the kcrctab sections by relying on the linker to associate > each kcrctab slot with the correct value. > > This has a couple of downsides: So the w

[PATCH v4 3/3] modversions: treat symbol CRCs as 32 bit quantities on 64 bit archs

2017-01-17 Thread Ard Biesheuvel
The modversion symbol CRCs are emitted as ELF symbols, which allows us to easily populate the kcrctab sections by relying on the linker to associate each kcrctab slot with the correct value. This has a couple of downsides: - Given that the CRCs are treated as memory addresses, we waste 4 bytes f