[PATCH next] efivarfs: Fix a NULL vs IS_ERR() bug

Dan Carpenter posted 1 patch 11 months, 2 weeks ago
fs/efivarfs/super.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH next] efivarfs: Fix a NULL vs IS_ERR() bug
Posted by Dan Carpenter 11 months, 2 weeks ago
The kernel_file_open() function doesn't return NULL, it retursn error
pointers.  Fix the error checking to match.

Fixes: eb11e99adef8 ("efivarfs: add variable resync after hibernation")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
 fs/efivarfs/super.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/efivarfs/super.c b/fs/efivarfs/super.c
index 961264f628dc..968e4af7b7e4 100644
--- a/fs/efivarfs/super.c
+++ b/fs/efivarfs/super.c
@@ -492,7 +492,7 @@ static int efivarfs_pm_notify(struct notifier_block *nb, unsigned long action,
 	/* O_NOATIME is required to prevent oops on NULL mnt */
 	file = kernel_file_open(&path, O_RDONLY | O_DIRECTORY | O_NOATIME,
 				current_cred());
-	if (!file)
+	if (IS_ERR(file))
 		return NOTIFY_DONE;
 
 	rescan_done = true;
-- 
2.45.2
Re: [PATCH next] efivarfs: Fix a NULL vs IS_ERR() bug
Posted by Markus Elfring 11 months, 1 week ago
> The kernel_file_open() function doesn't return NULL, it retursn error

                                                          returns?


> pointers.  Fix the error checking to match.


Regards,
Markus
Re: [PATCH next] efivarfs: Fix a NULL vs IS_ERR() bug
Posted by Ard Biesheuvel 11 months, 1 week ago
On Mon, 13 Jan 2025 at 07:16, Dan Carpenter <dan.carpenter@linaro.org> wrote:
>
> The kernel_file_open() function doesn't return NULL, it retursn error
> pointers.  Fix the error checking to match.
>
> Fixes: eb11e99adef8 ("efivarfs: add variable resync after hibernation")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> ---
>  fs/efivarfs/super.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>

Thanks - I'll fold this in rather than apply it on top though.

> diff --git a/fs/efivarfs/super.c b/fs/efivarfs/super.c
> index 961264f628dc..968e4af7b7e4 100644
> --- a/fs/efivarfs/super.c
> +++ b/fs/efivarfs/super.c
> @@ -492,7 +492,7 @@ static int efivarfs_pm_notify(struct notifier_block *nb, unsigned long action,
>         /* O_NOATIME is required to prevent oops on NULL mnt */
>         file = kernel_file_open(&path, O_RDONLY | O_DIRECTORY | O_NOATIME,
>                                 current_cred());
> -       if (!file)
> +       if (IS_ERR(file))
>                 return NOTIFY_DONE;
>
>         rescan_done = true;
> --
> 2.45.2
>
Re: [PATCH next] efivarfs: Fix a NULL vs IS_ERR() bug
Posted by Dan Carpenter 11 months, 1 week ago
On Mon, Jan 13, 2025 at 03:18:05PM +0100, Ard Biesheuvel wrote:
> On Mon, 13 Jan 2025 at 07:16, Dan Carpenter <dan.carpenter@linaro.org> wrote:
> >
> > The kernel_file_open() function doesn't return NULL, it retursn error
> > pointers.  Fix the error checking to match.
> >
> > Fixes: eb11e99adef8 ("efivarfs: add variable resync after hibernation")
> > Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> > ---
> >  fs/efivarfs/super.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> 
> Thanks - I'll fold this in rather than apply it on top though.

Sure.  No worries.

regards,
dan carpenter