On Thu, May 23, 2024 at 7:47 PM Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > On Thu, May 23, 2024 at 07:34:10PM +0800, Shichao Lai wrote: > > Since uzonesize may be zero, so judgements for non-zero > > are necessary in both place. > > > > Changes since v1: > > - Add one more check in alauda_write_lba(). > > - Move check ahead of loop in alauda_read_data(). > > Nit, this changes list should go below the --- line, as the > documentation asks for. Sorry for my inexperience. I have read the document and found some examples but I am still a little confused about this. I guess this is what you mean? Since uzonesize may be zero ... (context) Reported-by: xingwei lee <xrivendell7@xxxxxxxxx> Reported-by: yue sun <samsun1006219@xxxxxxxxx> Signed-off-by: Shichao Lai <shichaorai@xxxxxxxxx> --- Changes since v1: - Add one more check in alauda_write_lba(). - Move check ahead of loop in alauda_read_data(). drivers/usb/storage/alauda.c | 4 ++++ 1 file changed, 4 insertions(+) ... > Check after the list of variables please, not in the middle of them. I > think checkpatch will complain about this, right? In fact this script doesn't warn about these problems, but I will adjust my code style later. But the check in alauda_write_lba() is due to some variable like lba_offset and zone will perform modulo and divide operations, which may throw divide errors when uzonesize is 0. So I think I prefer to adjust the order of the variable list later. Changes like this. ```c unsigned int uzonesize = MEDIA_INFO(us).uzonesize; unsigned int zonesize = MEDIA_INFO(us).zonesize; unsigned int pagesize = MEDIA_INFO(us).pagesize; unsigned int blocksize = MEDIA_INFO(us).blocksize; unsigned int new_pba_offset; if (!uzonesize) return USB_STOR_TRANSPORT_ERROR; unsigned int lba_offset = lba % uzonesize; unsigned int zone = lba / uzonesize; ``` If it's ok, I will post the patch v3 soon.