2019-11-06 12:09:37

by Pan Bian

[permalink] [raw]
Subject: [PATCH] netlink: fix double drop dev reference

The function nfc_put_device(dev) is called twice to drop the reference
to dev when there is no associated local llcp. Remove one of them to fix
the bug.

Signed-off-by: Pan Bian <[email protected]>
---
net/nfc/netlink.c | 2 --
1 file changed, 2 deletions(-)

diff --git a/net/nfc/netlink.c b/net/nfc/netlink.c
index 17e6ca62f1be..afde0d763039 100644
--- a/net/nfc/netlink.c
+++ b/net/nfc/netlink.c
@@ -1099,7 +1099,6 @@ static int nfc_genl_llc_set_params(struct sk_buff *skb, struct genl_info *info)

local = nfc_llcp_find_local(dev);
if (!local) {
- nfc_put_device(dev);
rc = -ENODEV;
goto exit;
}
@@ -1159,7 +1158,6 @@ static int nfc_genl_llc_sdreq(struct sk_buff *skb, struct genl_info *info)

local = nfc_llcp_find_local(dev);
if (!local) {
- nfc_put_device(dev);
rc = -ENODEV;
goto exit;
}
--
2.7.4


2019-11-07 05:20:55

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] netlink: fix double drop dev reference

From: Pan Bian <[email protected]>
Date: Wed, 6 Nov 2019 20:05:43 +0800

> The function nfc_put_device(dev) is called twice to drop the reference
> to dev when there is no associated local llcp. Remove one of them to fix
> the bug.
>
> Signed-off-by: Pan Bian <[email protected]>

This is a change to the nfc subsystem not to the netlink subsystem,
therefore the appropriate subsystem prefix is "nfc: " and probably
therefore:

Subject: [PATCH] nfc: Fix double device reference drop in netlink code.

or something like that.