*** CID 455020: Integer handling issues (BAD_SHIFT) /engines/io_uring.c: 1201 in fio_ioring_cmd_open_file() In expression "1 << data->lba_shift", left shifting by more than 31 bits has undefined behavior. The shift amount, "data->lba_shift", is 4294967295 Fixes: 345fa8f ("engines/io_uring_cmd: add extended LBA support") Signed-off-by: Ankit Kumar <ankit.kumar@xxxxxxxxxxx> --- engines/io_uring.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/engines/io_uring.c b/engines/io_uring.c index 90e5a856..ff64fc9f 100644 --- a/engines/io_uring.c +++ b/engines/io_uring.c @@ -1198,7 +1198,8 @@ static int fio_ioring_cmd_open_file(struct thread_data *td, struct fio_file *f) FILE_SET_ENG_DATA(f, data); } - lba_size = data->lba_ext ? data->lba_ext : (1 << data->lba_shift); + assert(data->lba_shift < 32); + lba_size = data->lba_ext ? data->lba_ext : (1U << data->lba_shift); for_each_rw_ddir(ddir) { if (td->o.min_bs[ddir] % lba_size || -- 2.25.1