summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKrzysztof Kozlowski <krzysztof.kozlowski@canonical.com>2021-12-09 09:13:07 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-12-14 10:16:53 +0100
commit811a7576747760bcaf60502f096d1e6e91d566fa (patch)
tree82abf2d36494e8c9ee4cb300d3ccd0fb7982e07b
parentc8718026ba287168ff9ad0ccc4f9a413062cba36 (diff)
downloadlinux-stable-811a7576747760bcaf60502f096d1e6e91d566fa.tar.gz
linux-stable-811a7576747760bcaf60502f096d1e6e91d566fa.tar.bz2
linux-stable-811a7576747760bcaf60502f096d1e6e91d566fa.zip
nfc: fix potential NULL pointer deref in nfc_genl_dump_ses_done
commit 4cd8371a234d051f9c9557fcbb1f8c523b1c0d10 upstream. The done() netlink callback nfc_genl_dump_ses_done() should check if received argument is non-NULL, because its allocation could fail earlier in dumpit() (nfc_genl_dump_ses()). Fixes: ac22ac466a65 ("NFC: Add a GET_SE netlink API") Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Link: https://lore.kernel.org/r/20211209081307.57337-1-krzysztof.kozlowski@canonical.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--net/nfc/netlink.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/nfc/netlink.c b/net/nfc/netlink.c
index 18957fbf37ff..d7a2580f0420 100644
--- a/net/nfc/netlink.c
+++ b/net/nfc/netlink.c
@@ -1400,8 +1400,10 @@ static int nfc_genl_dump_ses_done(struct netlink_callback *cb)
{
struct class_dev_iter *iter = (struct class_dev_iter *) cb->args[0];
- nfc_device_iter_exit(iter);
- kfree(iter);
+ if (iter) {
+ nfc_device_iter_exit(iter);
+ kfree(iter);
+ }
return 0;
}