2022-06-02 10:04:32

by CGEL

[permalink] [raw]
Subject: [PATCH] io_uring: Remove redundant NULL check before kfree

From: Minghao Chi <[email protected]>

kfree on NULL pointer is a no-op.

Reported-by: Zeal Robot <[email protected]>
Signed-off-by: Minghao Chi <[email protected]>
---
fs/io_uring.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/fs/io_uring.c b/fs/io_uring.c
index 1fc0166d9133..d1fe967f2343 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -4445,8 +4445,7 @@ static int io_read(struct io_kiocb *req, unsigned int issue_flags)
kiocb_done(req, ret, issue_flags);
out_free:
/* it's faster to check here then delegate to kfree */
- if (iovec)
- kfree(iovec);
+ kfree(iovec);
return 0;
}

--
2.25.1




2022-06-02 14:57:07

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH] io_uring: Remove redundant NULL check before kfree

On 6/2/22 1:18 AM, [email protected] wrote:
> diff --git a/fs/io_uring.c b/fs/io_uring.c
> index 1fc0166d9133..d1fe967f2343 100644
> --- a/fs/io_uring.c
> +++ b/fs/io_uring.c
> @@ -4445,8 +4445,7 @@ static int io_read(struct io_kiocb *req, unsigned int issue_flags)
> kiocb_done(req, ret, issue_flags);
> out_free:
> /* it's faster to check here then delegate to kfree */
> - if (iovec)
> - kfree(iovec);
> + kfree(iovec);
> return 0;
> }

There is _literally_ a comment right above your change that explains why
this is there. Please read surrounding code, at least.

--
Jens Axboe