1 From d04071a5d6413b65f17f7bd6e2bdb22e22e4ace7 Mon Sep 17 00:00:00 2001
2 From: Dan Carpenter <dan.carpenter@oracle.com>
3 Date: Mon, 11 Feb 2019 21:45:45 +0300
4 Subject: vmw_balloon: release lock on error in vmballoon_reset()
6 From: Dan Carpenter <dan.carpenter@oracle.com>
8 commit d04071a5d6413b65f17f7bd6e2bdb22e22e4ace7 upstream.
10 We added some locking to this function but forgot to drop the lock on
11 these two error paths. This bug would lead to an immediate deadlock.
13 Fixes: c7b3690fb152 ("vmw_balloon: stats rework")
14 Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
15 Cc: stable@vger.kernel.org
16 Reviewed-by: Nadav Amit <namit@vmware.com>
17 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
20 drivers/misc/vmw_balloon.c | 5 +++--
21 1 file changed, 3 insertions(+), 2 deletions(-)
23 --- a/drivers/misc/vmw_balloon.c
24 +++ b/drivers/misc/vmw_balloon.c
25 @@ -1287,7 +1287,7 @@ static void vmballoon_reset(struct vmbal
28 if (vmballoon_send_start(b, VMW_BALLOON_CAPABILITIES))
32 if ((b->capabilities & VMW_BALLOON_BATCHED_CMDS) != 0) {
33 if (vmballoon_init_batching(b)) {
34 @@ -1298,7 +1298,7 @@ static void vmballoon_reset(struct vmbal
35 * The guest will retry in one second.
37 vmballoon_send_start(b, 0);
41 } else if ((b->capabilities & VMW_BALLOON_BASIC_CMDS) != 0) {
42 vmballoon_deinit_batching(b);
43 @@ -1314,6 +1314,7 @@ static void vmballoon_reset(struct vmbal
44 if (vmballoon_send_guest_id(b))
45 pr_err("failed to send guest ID to the host\n");
48 up_write(&b->conf_sem);