Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit caf19d38 authored by FUJITA Tomonori's avatar FUJITA Tomonori Committed by James Bottomley
Browse files

[SCSI] sg: fix bio leak with a detached device



After blk_rq_map_user is successful, if we find that a device is
unavailable (was detached), we must call blk_end_request_all to free
bio(s) before blk_rq_unmap_user and blk_put_request.

Reported-by: default avatar"Dailey, Nate" <Nate.Dailey@stratus.com>
Signed-off-by: default avatarFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Tested-by: default avatar"Dailey, Nate" <Nate.Dailey@stratus.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
parent 240778e8
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -729,6 +729,8 @@ sg_common_write(Sg_fd * sfp, Sg_request * srp,
		return k;	/* probably out of space --> ENOMEM */
	}
	if (sdp->detached) {
		if (srp->bio)
			blk_end_request_all(srp->rq, -EIO);
		sg_finish_rem_req(srp);
		return -ENODEV;
	}