mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 04:30:52 +07:00
block: use jiffies conversion functions in scsi_ioctl.c
Use msecs_to_jiffies() and jiffies_to_msecs() in scsi_ioctl(). Sometimes callers use very large values for e.g. vendor specific media clear command and calculation can overflow. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
This commit is contained in:
parent
c63a119036
commit
24bb8fb99a
@ -230,7 +230,7 @@ static int blk_fill_sghdr_rq(struct request_queue *q, struct request *rq,
|
|||||||
rq->cmd_len = hdr->cmd_len;
|
rq->cmd_len = hdr->cmd_len;
|
||||||
rq->cmd_type = REQ_TYPE_BLOCK_PC;
|
rq->cmd_type = REQ_TYPE_BLOCK_PC;
|
||||||
|
|
||||||
rq->timeout = (hdr->timeout * HZ) / 1000;
|
rq->timeout = msecs_to_jiffies(hdr->timeout);
|
||||||
if (!rq->timeout)
|
if (!rq->timeout)
|
||||||
rq->timeout = q->sg_timeout;
|
rq->timeout = q->sg_timeout;
|
||||||
if (!rq->timeout)
|
if (!rq->timeout)
|
||||||
@ -366,7 +366,7 @@ static int sg_io(struct file *file, struct request_queue *q,
|
|||||||
*/
|
*/
|
||||||
blk_execute_rq(q, bd_disk, rq, 0);
|
blk_execute_rq(q, bd_disk, rq, 0);
|
||||||
|
|
||||||
hdr->duration = ((jiffies - start_time) * 1000) / HZ;
|
hdr->duration = jiffies_to_msecs(jiffies - start_time);
|
||||||
|
|
||||||
return blk_complete_sghdr_rq(rq, hdr, bio);
|
return blk_complete_sghdr_rq(rq, hdr, bio);
|
||||||
out:
|
out:
|
||||||
|
Loading…
Reference in New Issue
Block a user