|
@@ -606,7 +606,7 @@ ep_read_iter(struct kiocb *iocb, struct iov_iter *to)
|
|
}
|
|
}
|
|
if (is_sync_kiocb(iocb)) {
|
|
if (is_sync_kiocb(iocb)) {
|
|
value = ep_io(epdata, buf, len);
|
|
value = ep_io(epdata, buf, len);
|
|
- if (value >= 0 && copy_to_iter(buf, value, to))
|
|
|
|
|
|
+ if (value >= 0 && (copy_to_iter(buf, value, to) != value))
|
|
value = -EFAULT;
|
|
value = -EFAULT;
|
|
} else {
|
|
} else {
|
|
struct kiocb_priv *priv = kzalloc(sizeof *priv, GFP_KERNEL);
|
|
struct kiocb_priv *priv = kzalloc(sizeof *priv, GFP_KERNEL);
|