On Sun, 24 Sept 2023 at 16:26, Kuan-Wei Chiu <visitorckw@xxxxxxxxx> wrote: > > In the previous code, there was a memory leak issue where the > previously allocated memory was not freed upon a failed krealloc > operation. This patch addresses the problem by releasing the old memory > before setting the pointer to NULL in case of a krealloc failure. This > ensures that memory is properly managed and avoids potential memory > leaks. > > Signed-off-by: Kuan-Wei Chiu <visitorckw@xxxxxxxxx> > --- > drivers/firmware/efi/efi.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > Queued as a fix Thanks, > diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c > index ce20a60676f0..1974f0ad32ba 100644 > --- a/drivers/firmware/efi/efi.c > +++ b/drivers/firmware/efi/efi.c > @@ -273,9 +273,13 @@ static __init int efivar_ssdt_load(void) > if (status == EFI_NOT_FOUND) { > break; > } else if (status == EFI_BUFFER_TOO_SMALL) { > - name = krealloc(name, name_size, GFP_KERNEL); > - if (!name) > + efi_char16_t *name_tmp = > + krealloc(name, name_size, GFP_KERNEL); > + if (!name_tmp) { > + kfree(name); > return -ENOMEM; > + } > + name = name_tmp; > continue; > } > > -- > 2.25.1 >