Re: mod_devicetable: Make dmi_strmatch.substr const char *

From: Rusty Russell
Date: Wed May 20 2015 - 16:54:45 EST


Michal Marek <mmarek@xxxxxxx> writes:
> Dne 20.5.2015 v 13:19 Rusty Russell napsal(a):
>> Joe Perches <joe@xxxxxxxxxxx> writes:
>>> On Tue, 2015-05-19 at 16:56 +0100, One Thousand Gnomes wrote:
>>>> On Tue, 19 May 2015 07:46:58 +0100 David Woodhouse <dwmw2@xxxxxxxxxxxxx> wrote:
>>>>> On Mon, 2015-05-18 at 17:07 -0700, Joe Perches wrote:
>>>>>> changed dmi_strmatch.substr from char * to char[79];
>>>>>>
>>>>>> Changing it back to const char * would shrink an x86-64
>>>>>> defconfig more than 100KB.
>
> As David already pointed out, this breaks modpost. Also, what makes
> the dmi tables special? We use character arrays in other tables as
> well, to make them self-contained for modpost.

Yes, but the patch I referred to merely shrunk it, or changed
it to a pointer in the !CONFIG_MODULES case.

modpost has gotten far more sophisticated, thanks mainly to the
init section detection code. So it now knows about relocations;
it would be possible to use the same infrastructure to decode
char *, and I think it might be worth it.

It'd be a nice trick if someone were to code it :)

>> But it seems the file2alias code was rewritten in 2013 by Andreas Schwab
>> <schwab@xxxxxxxxxxxxxx>, and SOB Michal Marek <mmarek@xxxxxxx>, without
>> going through me. Annoying, since they had to hack it because people
>> screwed up mod_devicetable.h with arch-dependent layouts :(
>
> Oh, sorry about it.
>
>> I guess that means Michal is the maintainer now, so I've CC'd him.
>
> OK, fine, I can carry modpost patches in kbuid.git. I think I have
> merged a few more besides the file2alias rework.

Sure, let's do that from now on; I was a bit surprised but I'm always
happy for others to do my work for me :)

Thanks,
Rusty.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/