[<prev] [next>] [day] [month] [year] [list]
Message-ID: <f15c6568-206d-5626-ea57-a4ff5eccb81f@maciej.szmigiero.name>
Date: Sat, 21 Jan 2017 23:50:18 +0100
From: "Maciej S. Szmigiero" <mail@...iej.szmigiero.name>
To: Evgeniy Polyakov <zbr@...emap.net>
Cc: linux-kernel <linux-kernel@...r.kernel.org>,
David Fries <David@...es.net>
Subject: [PATCH] w1: don't leak refcount on slave attach failure in
w1_attach_slave_device()
Near the beginning of w1_attach_slave_device() we increment a w1 master
reference count.
Later, when we are going to exit this function without actually attaching
a slave device (due to failure of __w1_attach_slave_device()) we need to
decrement this reference count back.
Signed-off-by: Maciej S. Szmigiero <mail@...iej.szmigiero.name>
Cc: stable@...r.kernel.org
Fixes: 9fcbbac5ded489 ("w1: process w1 netlink commands in w1_process thread")
---
drivers/w1/w1.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/w1/w1.c b/drivers/w1/w1.c
index e213c678bbfe..ab0931e7a9bb 100644
--- a/drivers/w1/w1.c
+++ b/drivers/w1/w1.c
@@ -763,6 +763,7 @@ int w1_attach_slave_device(struct w1_master *dev, struct w1_reg_num *rn)
dev_err(&dev->dev, "%s: Attaching %s failed.\n", __func__,
sl->name);
w1_family_put(sl->family);
+ atomic_dec(&sl->master->refcnt);
kfree(sl);
return err;
}
Powered by blists - more mailing lists