]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
nfc: netlink: fix double device reference drop
authorPan Bian <bianpan2016@163.com>
Thu, 7 Nov 2019 06:29:50 +0000 (14:29 +0800)
committerStefan Bader <stefan.bader@canonical.com>
Wed, 4 Dec 2019 09:29:26 +0000 (10:29 +0100)
BugLink: https://bugs.launchpad.net/bugs/1852338
[ Upstream commit 025ec40b81d785a98f76b8bdb509ac10773b4f12 ]

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.

Fixes: 52feb444a903 ("NFC: Extend netlink interface for LTO, RW, and MIUX parameters support")
Fixes: d9b8d8e19b07 ("NFC: llcp: Service Name Lookup netlink interface")
Signed-off-by: Pan Bian <bianpan2016@163.com>
Reviewed-by: Johan Hovold <johan@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Connor Kuehl <connor.kuehl@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
net/nfc/netlink.c

index 17e6ca62f1beb5c6048c163271fe254c1e3e55ca..afde0d763039b8a1006ef02ade0243c8d25f9d72 100644 (file)
@@ -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;
        }