* [PATCH] io_uring: style: redundant NULL check.
@ 2020-12-30 6:22 YANG LI
2020-12-30 6:29 ` Randy Dunlap
0 siblings, 1 reply; 2+ messages in thread
From: YANG LI @ 2020-12-30 6:22 UTC (permalink / raw)
To: axboe; +Cc: viro, io-uring, linux-fsdevel, linux-kernel, YANG LI
If the pointer in kfree is empty, the function does nothing,
so remove the redundant NULL check.
Signed-off-by: YANG LI <[email protected]>
Reported-by: Abaci <[email protected]>
---
fs/io_uring.c | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/fs/io_uring.c b/fs/io_uring.c
index 7e35283..105e188 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -1934,8 +1934,8 @@ static void io_dismantle_req(struct io_kiocb *req)
{
io_clean_op(req);
- if (req->async_data)
- kfree(req->async_data);
+ kfree(req->async_data);
+
if (req->file)
io_put_file(req, req->file, (req->flags & REQ_F_FIXED_FILE));
if (req->fixed_file_refs)
@@ -3537,8 +3537,7 @@ static int io_read(struct io_kiocb *req, bool force_nonblock,
ret = 0;
out_free:
/* it's reportedly faster than delegating the null check to kfree() */
- if (iovec)
- kfree(iovec);
+ kfree(iovec);
return ret;
}
@@ -3644,8 +3643,7 @@ static int io_write(struct io_kiocb *req, bool force_nonblock,
}
out_free:
/* it's reportedly faster than delegating the null check to kfree() */
- if (iovec)
- kfree(iovec);
+ kfree(iovec);
return ret;
}
@@ -6133,8 +6131,7 @@ static void __io_clean_op(struct io_kiocb *req)
case IORING_OP_WRITE_FIXED:
case IORING_OP_WRITE: {
struct io_async_rw *io = req->async_data;
- if (io->free_iovec)
- kfree(io->free_iovec);
+ kfree(io->free_iovec);
break;
}
case IORING_OP_RECVMSG:
--
1.8.3.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] io_uring: style: redundant NULL check.
2020-12-30 6:22 [PATCH] io_uring: style: redundant NULL check YANG LI
@ 2020-12-30 6:29 ` Randy Dunlap
0 siblings, 0 replies; 2+ messages in thread
From: Randy Dunlap @ 2020-12-30 6:29 UTC (permalink / raw)
To: YANG LI, axboe; +Cc: viro, io-uring, linux-fsdevel, linux-kernel
On 12/29/20 10:22 PM, YANG LI wrote:
> If the pointer in kfree is empty, the function does nothing,
> so remove the redundant NULL check.
>
> Signed-off-by: YANG LI <[email protected]>
> Reported-by: Abaci <[email protected]>
> ---
Looks like you should do something with these 2 comments:
/* it's reportedly faster than delegating the null check to kfree() */
> fs/io_uring.c | 13 +++++--------
> 1 file changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/fs/io_uring.c b/fs/io_uring.c
> index 7e35283..105e188 100644
> --- a/fs/io_uring.c
> +++ b/fs/io_uring.c
> @@ -1934,8 +1934,8 @@ static void io_dismantle_req(struct io_kiocb *req)
> {
> io_clean_op(req);
>
> - if (req->async_data)
> - kfree(req->async_data);
> + kfree(req->async_data);
> +
> if (req->file)
> io_put_file(req, req->file, (req->flags & REQ_F_FIXED_FILE));
> if (req->fixed_file_refs)
> @@ -3537,8 +3537,7 @@ static int io_read(struct io_kiocb *req, bool force_nonblock,
> ret = 0;
> out_free:
> /* it's reportedly faster than delegating the null check to kfree() */
> - if (iovec)
> - kfree(iovec);
> + kfree(iovec);
> return ret;
> }
>
> @@ -3644,8 +3643,7 @@ static int io_write(struct io_kiocb *req, bool force_nonblock,
> }
> out_free:
> /* it's reportedly faster than delegating the null check to kfree() */
> - if (iovec)
> - kfree(iovec);
> + kfree(iovec);
> return ret;
> }
>
> @@ -6133,8 +6131,7 @@ static void __io_clean_op(struct io_kiocb *req)
> case IORING_OP_WRITE_FIXED:
> case IORING_OP_WRITE: {
> struct io_async_rw *io = req->async_data;
> - if (io->free_iovec)
> - kfree(io->free_iovec);
> + kfree(io->free_iovec);
> break;
> }
> case IORING_OP_RECVMSG:
>
--
~Randy
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-12-30 6:30 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-30 6:22 [PATCH] io_uring: style: redundant NULL check YANG LI
2020-12-30 6:29 ` Randy Dunlap
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox