>> >> consider this (untested), it also sets the variable i data type same >> as it comparison variable in nr_segs the loop i.e. size_t :- >> >> + struct bio_vec *bv, *bvec_arr, *bvprvp = NULL; >> + struct request_queue *q = rq->q; >> + struct queue_limits *lim = &q->limits; >> + unsigned int nsegs = 0, bytes = 0; >> + size_t iter_count, nr_segs, i; >> + struct bio *bio; >> + int ret; >> >> >>> + iter_count = iov_iter_count(iter); >>> + nr_segs = iter->nr_segs; >>> + >>> + if (!iter_count || (iter_count >> 9) > queue_max_hw_sectors(q)) >>> + return -EINVAL; >> >> can we remove braces for iter_count >> 9 without impacting the intended >> functionality? > You can also use the SECTOR_SHIFT macro instead of hard-coding 9. > I think removing that make it hard to read. > I will fold all other changes you mentioned in v6. > >