diff options
Diffstat (limited to 'drivers/scsi/sg.c')
-rw-r--r-- | drivers/scsi/sg.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c index dbe5b4b95df0..121de0aaa6ad 100644 --- a/drivers/scsi/sg.c +++ b/drivers/scsi/sg.c | |||
@@ -1753,6 +1753,10 @@ sg_start_req(Sg_request *srp, unsigned char *cmd) | |||
1753 | return res; | 1753 | return res; |
1754 | 1754 | ||
1755 | iov_iter_truncate(&i, hp->dxfer_len); | 1755 | iov_iter_truncate(&i, hp->dxfer_len); |
1756 | if (!iov_iter_count(&i)) { | ||
1757 | kfree(iov); | ||
1758 | return -EINVAL; | ||
1759 | } | ||
1756 | 1760 | ||
1757 | res = blk_rq_map_user_iov(q, rq, md, &i, GFP_ATOMIC); | 1761 | res = blk_rq_map_user_iov(q, rq, md, &i, GFP_ATOMIC); |
1758 | kfree(iov); | 1762 | kfree(iov); |