Re: [PATCH] efi: pstore: Drop efivar lock when efi_pstore_open() returns with an error

"Ard Biesheuvel" <[email protected]>
Newsgroups org.kernel.vger.linux-efi,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
Hi Thomas,

On Mon, 27 Apr 2026, at 17:56, Thomas Huth wrote:
> From: Thomas Huth <[email protected]>
>
> If kzalloc fails, the function returns -ENOMEM without calling
> efivar_unlock(). Since open() returned  an error, the calling site
> in pstore_get_backend_records() won't call the close() function, so
> the lock is never released. Thus drop the lock in case of errors here.
>
> Fixes: 859748255b434 ("efi: pstore: Omit efivars caching EFI varstore 
> access layer")
> Assisted-by: Claude:claude-opus-4-6
> Signed-off-by: Thomas Huth <[email protected]>
> ---
>  drivers/firmware/efi/efi-pstore.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>

Queued in efi/urgent - thanks.

> diff --git a/drivers/firmware/efi/efi-pstore.c 
> b/drivers/firmware/efi/efi-pstore.c
> index a253b61449459..a5db3534f0a63 100644
> --- a/drivers/firmware/efi/efi-pstore.c
> +++ b/drivers/firmware/efi/efi-pstore.c
> @@ -60,8 +60,10 @@ static int efi_pstore_open(struct pstore_info *psi)
>  		return err;
> 
>  	psi->data = kzalloc(record_size, GFP_KERNEL);
> -	if (!psi->data)
> +	if (!psi->data) {
> +		efivar_unlock();
>  		return -ENOMEM;
> +	}
> 
>  	return 0;
>  }
> -- 
> 2.53.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.