mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-27 08:45:26 -05:00
binfmt_elf: Replace offsetof() with struct_size() in fill_note_info()
When dealing with structures containing flexible arrays, struct_size() provides additional compile-time checks compared to offsetof(). This enhances code robustness and reduces the risk of potential errors. Signed-off-by: Xichao Zhao <zhao.xichao@vivo.com> Link: https://lore.kernel.org/r/20250813115058.635742-1-zhao.xichao@vivo.com Signed-off-by: Kees Cook <kees@kernel.org>
This commit is contained in:
@@ -1845,16 +1845,14 @@ static int fill_note_info(struct elfhdr *elf, int phdrs,
|
||||
/*
|
||||
* Allocate a structure for each thread.
|
||||
*/
|
||||
info->thread = kzalloc(offsetof(struct elf_thread_core_info,
|
||||
notes[info->thread_notes]),
|
||||
GFP_KERNEL);
|
||||
info->thread = kzalloc(struct_size(info->thread, notes, info->thread_notes),
|
||||
GFP_KERNEL);
|
||||
if (unlikely(!info->thread))
|
||||
return 0;
|
||||
|
||||
info->thread->task = dump_task;
|
||||
for (ct = dump_task->signal->core_state->dumper.next; ct; ct = ct->next) {
|
||||
t = kzalloc(offsetof(struct elf_thread_core_info,
|
||||
notes[info->thread_notes]),
|
||||
t = kzalloc(struct_size(t, notes, info->thread_notes),
|
||||
GFP_KERNEL);
|
||||
if (unlikely(!t))
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user