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

Commit 26a34487 authored by Tony Battersby's avatar Tony Battersby Committed by Sasha Levin
Browse files

sg: fix read() error reporting



commit 3b524a683af8991b4eab4182b947c65f0ce1421b upstream.

Fix SCSI generic read() incorrectly returning success after detecting an
error.

Signed-off-by: default avatarTony Battersby <tonyb@cybernetics.com>
Acked-by: default avatarDouglas Gilbert <dgilbert@interlog.com>
Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
Signed-off-by: default avatarSasha Levin <sasha.levin@oracle.com>
parent 63669738
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -546,7 +546,7 @@ static ssize_t
sg_new_read(Sg_fd * sfp, char __user *buf, size_t count, Sg_request * srp)
sg_new_read(Sg_fd * sfp, char __user *buf, size_t count, Sg_request * srp)
{
{
	sg_io_hdr_t *hp = &srp->header;
	sg_io_hdr_t *hp = &srp->header;
	int err = 0;
	int err = 0, err2;
	int len;
	int len;


	if (count < SZ_SG_IO_HDR) {
	if (count < SZ_SG_IO_HDR) {
@@ -575,8 +575,8 @@ sg_new_read(Sg_fd * sfp, char __user *buf, size_t count, Sg_request * srp)
		goto err_out;
		goto err_out;
	}
	}
err_out:
err_out:
	err = sg_finish_rem_req(srp);
	err2 = sg_finish_rem_req(srp);
	return (0 == err) ? count : err;
	return err ? : err2 ? : count;
}
}


static ssize_t
static ssize_t