diff options
-rw-r--r-- | fs/splice.c | 2 | ||||
-rw-r--r-- | kernel/relay.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/fs/splice.c b/fs/splice.c index cece15b4ef72..78150038b584 100644 --- a/fs/splice.c +++ b/fs/splice.c | |||
@@ -1072,7 +1072,7 @@ long do_splice_direct(struct file *in, loff_t *ppos, struct file *out, | |||
1072 | 1072 | ||
1073 | ret = splice_direct_to_actor(in, &sd, direct_splice_actor); | 1073 | ret = splice_direct_to_actor(in, &sd, direct_splice_actor); |
1074 | if (ret > 0) | 1074 | if (ret > 0) |
1075 | *ppos = sd.pos; | 1075 | *ppos += ret; |
1076 | 1076 | ||
1077 | return ret; | 1077 | return ret; |
1078 | } | 1078 | } |
diff --git a/kernel/relay.c b/kernel/relay.c index 7de644cdec43..bc24dcdc570f 100644 --- a/kernel/relay.c +++ b/kernel/relay.c | |||
@@ -1191,7 +1191,7 @@ static ssize_t relay_file_splice_read(struct file *in, | |||
1191 | ret = 0; | 1191 | ret = 0; |
1192 | spliced = 0; | 1192 | spliced = 0; |
1193 | 1193 | ||
1194 | while (len && !spliced) { | 1194 | while (len) { |
1195 | ret = subbuf_splice_actor(in, ppos, pipe, len, flags, &nonpad_ret); | 1195 | ret = subbuf_splice_actor(in, ppos, pipe, len, flags, &nonpad_ret); |
1196 | if (ret < 0) | 1196 | if (ret < 0) |
1197 | break; | 1197 | break; |