NFC: st21nfca: Fix memory leak in device probe and remove
authorWei Yongjun <weiyongjun1@huawei.com>
Tue, 28 Dec 2021 12:48:11 +0000 (12:48 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 28 Dec 2021 12:40:20 +0000 (12:40 +0000)
commit1b9dadba502234eea7244879b8d5d126bfaf9f0c
tree7f59a71a6ee030dc45a148908af7e477b228ef37
parent5be60a945329d82f06fc755a43eeefbfc5f77d72
NFC: st21nfca: Fix memory leak in device probe and remove

'phy->pending_skb' is alloced when device probe, but forgot to free
in the error handling path and remove path, this cause memory leak
as follows:

unreferenced object 0xffff88800bc06800 (size 512):
  comm "8", pid 11775, jiffies 4295159829 (age 9.032s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [<00000000d66c09ce>] __kmalloc_node_track_caller+0x1ed/0x450
    [<00000000c93382b3>] kmalloc_reserve+0x37/0xd0
    [<000000005fea522c>] __alloc_skb+0x124/0x380
    [<0000000019f29f9a>] st21nfca_hci_i2c_probe+0x170/0x8f2

Fix it by freeing 'pending_skb' in error and remove.

Fixes: 68957303f44a ("NFC: ST21NFCA: Add driver for STMicroelectronics ST21NFCA NFC Chip")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/nfc/st21nfca/i2c.c