From: Maciej S. Szmigiero Date: Sat, 21 Jan 2017 22:50:18 +0000 (+0100) Subject: w1: don't leak refcount on slave attach failure in w1_attach_slave_device() X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=d2ce4ea1a0b0162e5d2d7e7942ab6f5cc2063d5a;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git 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 Cc: stable@vger.kernel.org Fixes: 9fcbbac5ded489 ("w1: process w1 netlink commands in w1_process thread") Cc: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman --- 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; }