summaryrefslogtreecommitdiffstats
path: root/io_uring/kbuf.c
diff options
context:
space:
mode:
authorPavel Begunkov <asml.silence@gmail.com>2023-04-11 13:06:02 +0200
committerJens Axboe <axboe@kernel.dk>2023-04-12 20:09:41 +0200
commitceac766a5581e4e671ec8e5236b8fdaed8e4c8c9 (patch)
tree44f9f4d62541af3fd0c41009f16cca24bedf8dc4 /io_uring/kbuf.c
parentio_uring: shut io_prep_async_work warning (diff)
downloadlinux-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.c14
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;