[PATCH v3 14/16] modules: Support extended MODVERSIONS info
Sami Tolvanen
samitolvanen at google.com
Fri Aug 16 06:33:15 AEST 2024
Hi Matt,
On Tue, Aug 6, 2024 at 9:25 PM Matthew Maurer <mmaurer at google.com> wrote:
>
[...]
> +void modversion_ext_start(const struct load_info *info,
> + struct modversion_info_ext *start)
> +{
> + unsigned int crc_idx = info->index.vers_ext_crc;
> + unsigned int name_idx = info->index.vers_ext_name;
> + Elf_Shdr *sechdrs = info->sechdrs;
> +
> + /*
> + * Both of these fields are needed for this to be useful
> + * Any future fields should be initialized to NULL if absent.
> + */
> + if ((crc_idx == 0) || (name_idx == 0))
nit: The extra parentheses are not necessary.
> + start->remaining = 0;
> +
> + start->crc = (const s32 *)sechdrs[crc_idx].sh_addr;
> + start->name = (const char *)sechdrs[name_idx].sh_addr;
> + start->remaining = sechdrs[crc_idx].sh_size / sizeof(*start->crc);
> +}
Is this missing an else condition or a return? Why set
start->remaining to zero and then proceed to assign a possibly invalid
value to it anyway?
Sami
More information about the Linuxppc-dev
mailing list