NFC: fix possible resource leak
authorPan Bian <bianpan2016@163.com>
Thu, 21 Jan 2021 15:37:45 +0000 (07:37 -0800)
committerJakub Kicinski <kuba@kernel.org>
Sat, 23 Jan 2021 21:34:31 +0000 (13:34 -0800)
Put the device to avoid resource leak on path that the polling flag is
invalid.

Fixes: a831b9132065 ("NFC: Do not return EBUSY when stopping a poll that's already stopped")
Signed-off-by: Pan Bian <bianpan2016@163.com>
Link: https://lore.kernel.org/r/20210121153745.122184-1-bianpan2016@163.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/nfc/netlink.c

index 573b38ad2f8ed91e1f46d12213d7890cf9ca2c6c..e161ef2d4720d523ea5ff62e598bafd99872db97 100644 (file)
@@ -852,6 +852,7 @@ static int nfc_genl_stop_poll(struct sk_buff *skb, struct genl_info *info)
 
        if (!dev->polling) {
                device_unlock(&dev->dev);
+               nfc_put_device(dev);
                return -EINVAL;
        }