diff options
author | Pavel Begunkov <asml.silence@gmail.com> | 2023-04-11 13:06:02 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2023-04-12 20:09:41 +0200 |
commit | ceac766a5581e4e671ec8e5236b8fdaed8e4c8c9 (patch) | |
tree | 44f9f4d62541af3fd0c41009f16cca24bedf8dc4 /io_uring/kbuf.c | |
parent | io_uring: shut io_prep_async_work warning (diff) | |
download | linux-ceac766a5581e4e671ec8e5236b8fdaed8e4c8c9.tar.xz linux-ceac766a5581e4e671ec8e5236b8fdaed8e4c8c9.zip |
io_uring/kbuf: remove extra ->buf_ring null check
The kernel test robot complains about __io_remove_buffers().
io_uring/kbuf.c:221 __io_remove_buffers() warn: variable dereferenced
before check 'bl->buf_ring' (see line 219)
That check is not needed as ->buf_ring will always be set, so we can
remove it and so silence the warning.
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/9a632bbf749d9d911e605255652ce08d18e7d2c6.1681210788.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'io_uring/kbuf.c')
-rw-r--r-- | io_uring/kbuf.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/io_uring/kbuf.c b/io_uring/kbuf.c index 79c25459e8de..0905c1761fba 100644 --- a/io_uring/kbuf.c +++ b/io_uring/kbuf.c @@ -218,14 +218,12 @@ static int __io_remove_buffers(struct io_ring_ctx *ctx, if (bl->is_mapped) { i = bl->buf_ring->tail - bl->head; if (bl->is_mmap) { - if (bl->buf_ring) { - struct page *page; - - page = virt_to_head_page(bl->buf_ring); - if (put_page_testzero(page)) - free_compound_page(page); - bl->buf_ring = NULL; - } + struct page *page; + + page = virt_to_head_page(bl->buf_ring); + if (put_page_testzero(page)) + free_compound_page(page); + bl->buf_ring = NULL; bl->is_mmap = 0; } else if (bl->buf_nr_pages) { int j; |