Browse Source

virtio_console: Free buffer if splice fails

Free the allocated scatter list if send_pages fails in function
port_splice_write.

Signed-off-by: Sjur Brændeland <sjur.brandeland@stericsson.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Sjur Brændeland 12 years ago
parent
commit
fe5295374e
1 changed files with 2 additions and 0 deletions
  1. 2 0
      drivers/char/virtio_console.c

+ 2 - 0
drivers/char/virtio_console.c

@@ -881,6 +881,8 @@ static ssize_t port_fops_splice_write(struct pipe_inode_info *pipe,
 	if (likely(ret > 0))
 		ret = send_pages(port, sgl.sg, sgl.n, sgl.len, true);
 
+	if (unlikely(ret <= 0))
+		kfree(sgl.sg);
 	return ret;
 }