fix updating sd->pos wrongly. In error path, we don't need to updating sd->pos, if the file isn't seekable. Signed-off-by: Changli Gao <xiaosuo@xxxxxxxxx> ---- fs/splice.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/splice.c b/fs/splice.c index 57172ca..c69b241 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -1185,7 +1185,8 @@ ssize_t splice_direct_to_actor(struct file *in, struct splice_desc *sd, sd->pos = pos; if (ret < read_len) { - sd->pos = prev_pos + ret; + if (sd->pos) + sd->pos = prev_pos + ret; goto out_release; } } -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html