Re: [PATCH v3 1/2] riscv: Safely remove entries from relocation list

From: Charlie Jenkins
Date: Mon Dec 04 2023 - 13:42:07 EST


On Mon, Nov 27, 2023 at 11:42:08AM +0100, Andreas Schwab wrote:
> On Nov 22 2023, Charlie Jenkins wrote:
>
> > @@ -683,17 +700,29 @@ int add_relocation_to_accumulate(struct module *me, int type, void *location,
> >
> > if (!found) {
> > rel_head = kmalloc(sizeof(*rel_head), GFP_KERNEL);
> > +
> > + if (!rel_head)
> > + return -ENOMEM;
> > +
> > rel_head->rel_entry =
> > kmalloc(sizeof(struct list_head), GFP_KERNEL);
> > +
> > + if (!rel_head->rel_entry)
> > + return -ENOMEM;
>
> This leaks rel_head on error.
>
> --
> Andreas Schwab, schwab@xxxxxxxxxxxxxx
> GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1
> "And now for something completely different."

Thank you for pointing this out, I fixed this issue in the next version
but forgot to respond to this thread.

https://lore.kernel.org/linux-riscv/20231127-module_linking_freeing-v4-1-a2ca1d7027d0@xxxxxxxxxxxx/

- Charlie