Re: [PATCHv3 2/2] x86/vdso: Add build salt to the vDSO

From: Masahiro Yamada
Date: Wed May 23 2018 - 20:51:50 EST


2018-05-24 9:11 GMT+09:00 Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>:
> 2018-05-24 7:53 GMT+09:00 Laura Abbott <labbott@xxxxxxxxxx>:
>> On 05/22/2018 05:33 PM, Andy Lutomirski wrote:
>>>
>>> On Tue, May 22, 2018 at 5:19 PM Laura Abbott <labbott@xxxxxxxxxx> wrote:
>>>
>>>
>>>> The vDSO is linked separately from the kernel and modules. Ensure it
>>>> picks
>>>> up the comment section, if available.
>>>
>>>
>>> Did you end up preferring this to just sticking the kernel version in a
>>> .comment in the vDSO for some reason?
>>>
>>
>> Actually I remember now why this is necessary: there is not a simple way
>> to encode a string into a linker file as it has to be spit out byte
>> by byte. The autogeneration was the easiest way to make that happen.
>> Maybe there's some horrific c preprocessing or other generation that
>> could happen but I doubt that's any worse than the generated linker
>> script.
>>
>
>
> I am personally prefer CONFIG option (as you did in v2) to KERNELVERSION.
>
>
> If you use "hex" type instead of "string" type in Kconfig,
> and LONG() instead of BYTE() in the script script,
> this can be much simpler, right?
>
>
>
>
>
> config BUILD_ID_SALT
> hex "Build ID Salt"
> help
> ...
>
>
>
>
> Then, in scripts/Makefile,
>
>
> define filechk_build-salt.lds
> { \
> echo "SECTIONS {"; \
> echo ".comment (INFO) : { LONG($(CONFIG_BUILD_ID_SALT)); }"; \
> echo "}"; \
> }
> endef
>
> $(obj)/build-salt.lds: $(src)/Makefile FORCE
> $(call filechk,build-salt.lds)
>
>
>
>
> This is now so simple that we can even remove the shell script.



I had not noticed the comments from Linus and Andy
before I posted mine.


Maybe, we should not add binary data into the .comment section.



--
Best Regards
Masahiro Yamada