io_uring: io_kiocb_update_pos() should not touch file for non -1 offset
authorJens Axboe <axboe@kernel.dk>
Mon, 11 Apr 2022 15:48:30 +0000 (09:48 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 24 Jan 2023 06:22:48 +0000 (07:22 +0100)
commit311b298a333707eb2523868bd3c85e6d4f457803
tree3c23ad9b9f2bf01c22ff6c575e040fbcfe2f19da
parent487a086595b5282fe050da1803cccf7b75022d5e
io_uring: io_kiocb_update_pos() should not touch file for non -1 offset

commit 6f83ab22adcb77a5824d2c274dace0d99e21319f upstream.

-1 tells use to use the current position, but we check if the file is
a stream regardless of that. Fix up io_kiocb_update_pos() to only
dip into file if we need to. This is both more efficient and also drops
12 bytes of text on aarch64 and 64 bytes on x86-64.

Fixes: b4aec4001595 ("io_uring: do not recalculate ppos unnecessarily")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
io_uring/io_uring.c