2020-10-31 06:03:26

by Yue Haibing

[permalink] [raw]
Subject: [PATCH] pstore: Fix passing zero to 'PTR_ERR' warning

Fix smatch warning:

fs/pstore/platform.c:320 allocate_buf_for_compression() warn: passing zero to 'PTR_ERR'

crypto_alloc_comp() never return NULL, use IS_ERR
instead of IS_ERR_OR_NULL to fix this.

Signed-off-by: YueHaibing <[email protected]>
---
fs/pstore/platform.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c
index 36714df37d5d..b7a2a2a31dee 100644
--- a/fs/pstore/platform.c
+++ b/fs/pstore/platform.c
@@ -315,7 +315,7 @@ static void allocate_buf_for_compression(void)
}

ctx = crypto_alloc_comp(zbackend->name, 0, 0);
- if (IS_ERR_OR_NULL(ctx)) {
+ if (IS_ERR(ctx)) {
kfree(buf);
pr_err("crypto_alloc_comp('%s') failed: %ld\n", zbackend->name,
PTR_ERR(ctx));
--
2.17.1


2020-12-01 20:21:28

by Kees Cook

[permalink] [raw]
Subject: Re: [PATCH] pstore: Fix passing zero to 'PTR_ERR' warning

On Sat, Oct 31, 2020 at 01:59:31PM +0800, YueHaibing wrote:
> Fix smatch warning:
>
> fs/pstore/platform.c:320 allocate_buf_for_compression() warn: passing zero to 'PTR_ERR'
>
> crypto_alloc_comp() never return NULL, use IS_ERR
> instead of IS_ERR_OR_NULL to fix this.
>
> Signed-off-by: YueHaibing <[email protected]>

Hmm, well, if I get back a NULL ctx, I still can't use it, so I prefer
to remain overly defensive in this code.

Thanks for looking in to it, though! If you see some more compelling
reason to do this, let me know.

-Kees

> ---
> fs/pstore/platform.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c
> index 36714df37d5d..b7a2a2a31dee 100644
> --- a/fs/pstore/platform.c
> +++ b/fs/pstore/platform.c
> @@ -315,7 +315,7 @@ static void allocate_buf_for_compression(void)
> }
>
> ctx = crypto_alloc_comp(zbackend->name, 0, 0);
> - if (IS_ERR_OR_NULL(ctx)) {
> + if (IS_ERR(ctx)) {
> kfree(buf);
> pr_err("crypto_alloc_comp('%s') failed: %ld\n", zbackend->name,
> PTR_ERR(ctx));
> --
> 2.17.1
>

--
Kees Cook