Messages in this thread | | | From | Chaitanya Kulkarni <> | Subject | Re: [PATCH-next v4] loop: loop_set_status_from_info() check before assignment | Date | Tue, 21 Feb 2023 17:59:50 +0000 |
| |
On 2/21/2023 1:50 AM, Zhong Jinghua wrote: > From: Zhong Jinghua <zhongjinghua@huawei.com> > > In loop_set_status_from_info(), lo->lo_offset and lo->lo_sizelimit should > be checked before reassignment, because if an overflow error occurs, the > original correct value will be changed to the wrong value, and it will not > be changed back. > > More, the original patch did not solve the problem, the value was set and > ioctl returned an error, but the subsequent io used the value in the loop > driver, which still caused an alarm: > > loop_handle_cmd > do_req_filebacked > loff_t pos = ((loff_t) blk_rq_pos(rq) << 9) + lo->lo_offset; > lo_rw_aio > cmd->iocb.ki_pos = pos > > Fixes: c490a0b5a4f3 ("loop: Check for overflow while configuring loop") > Signed-off-by: Zhong Jinghua <zhongjinghua@huawei.com>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
-ck
| |