Re: [PATCH 1/2] module: get symbol crc back to unsigned
From: Petr Pavlu
Date: Mon Dec 30 2024 - 09:02:39 EST
On 12/28/24 16:45, Masahiro Yamada wrote:
> Commit 71810db27c1c ("modversions: treat symbol CRCs as 32 bit
> quantities") changed the CRC fields to s32 because the __kcrctab and
> __kcrctab_gpl sections contained relative references to the actual
> CRC values stored in the .rodata section when CONFIG_MODULE_REL_CRCS=y.
>
> Commit 7b4537199a4a ("kbuild: link symbol CRCs at final link, removing
> CONFIG_MODULE_REL_CRCS") removed this complexity. Now, the __kcrctab
> and __kcrctab_gpl sections directly contain the CRC values in all cases.
>
> The genksyms tool outputs unsigned 32-bit CRC values, so u32 is preferred
> over s32.
>
> No functional changes are intended.
>
> Regardless of this change, the CRC value is assigned to the u32 variable,
> 'crcval' before the comparison, as seen in kernel/module/version.c:
>
> crcval = *crc;
>
> Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
Reviewed-by: Petr Pavlu <petr.pavlu@xxxxxxxx>
I understand the plan is for this to go through the kbuild tree with the
rest of the extended modversions + Rust support.
--
Thanks,
Petr