33 lines
1013 B
Diff
33 lines
1013 B
Diff
|
From 9f7f59799ea714c512ecfc0e224df66095abf9c0 Mon Sep 17 00:00:00 2001
|
||
|
From: Li Qiang <liqiang6-s@360.cn>
|
||
|
Date: Mon, 17 Oct 2016 14:13:58 +0200
|
||
|
Subject: [PATCH] 9pfs: fix memory leak in v9fs_link
|
||
|
|
||
|
The v9fs_link() function keeps a reference on the source fid object. This
|
||
|
causes a memory leak since the reference never goes down to 0. This patch
|
||
|
fixes the issue.
|
||
|
|
||
|
Signed-off-by: Li Qiang <liqiang6-s@360.cn>
|
||
|
Reviewed-by: Greg Kurz <groug@kaod.org>
|
||
|
[groug, rephrased the changelog]
|
||
|
Signed-off-by: Greg Kurz <groug@kaod.org>
|
||
|
(cherry picked from commit 4c1586787ff43c9acd18a56c12d720e3e6be9f7c)
|
||
|
[BR: CVE-2016-9105 BSC#1007494]
|
||
|
Signed-off-by: Bruce Rogers <brogers@suse.com>
|
||
|
---
|
||
|
hw/9pfs/9p.c | 1 +
|
||
|
1 file changed, 1 insertion(+)
|
||
|
|
||
|
diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c
|
||
|
index a345fe3..239aef4 100644
|
||
|
--- a/hw/9pfs/9p.c
|
||
|
+++ b/hw/9pfs/9p.c
|
||
|
@@ -2402,6 +2402,7 @@ static void v9fs_link(void *opaque)
|
||
|
if (!err) {
|
||
|
err = offset;
|
||
|
}
|
||
|
+ put_fid(pdu, oldfidp);
|
||
|
out:
|
||
|
put_fid(pdu, dfidp);
|
||
|
out_nofid:
|