linux-stable/drivers/nfc
Wei Yongjun 238920381b NFC: st21nfca: Fix memory leak in device probe and remove
[ Upstream commit 1b9dadba50 ]

'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: 68957303f4 ("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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-01-05 12:42:36 +01:00
..
fdp nfc: fdp: constify several pointers 2021-07-29 12:28:03 +01:00
microread nfc: microread: remove unused header includes 2021-08-26 09:13:35 +01:00
nfcmrvl nfc: mrvl: remove unused header includes 2021-08-26 09:13:35 +01:00
nxp-nci nfc: constify nci_ops 2021-07-25 09:21:20 +01:00
pn533 nfc: pn533: Fix double free when pn533_fill_fragment_skbs() fails 2021-11-18 19:17:10 +01:00
pn544 nfc: pn544: remove unused header includes 2021-08-26 09:13:36 +01:00
s3fwrn5 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-07-31 09:14:46 -07:00
st-nci nfc: st-nci: Add SPI ID matching DT compatible 2021-09-23 12:53:06 +01:00
st21nfca NFC: st21nfca: Fix memory leak in device probe and remove 2022-01-05 12:42:36 +01:00
st95hf nfc: st95hf: Make spi remove() callback return zero 2021-10-20 14:41:20 +01:00
Kconfig nfc: Add a virtual nci device driver 2021-01-29 18:03:33 -08:00
Makefile nfc: Add a virtual nci device driver 2021-01-29 18:03:33 -08:00
mei_phy.c nfc: mei_phy: constify buffer passed to mei_nfc_send() 2021-07-29 12:28:02 +01:00
mei_phy.h nfc: constify nfc_phy_ops 2021-07-25 09:21:21 +01:00
nfcsim.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-07-31 09:14:46 -07:00
port100.c nfc: port100: fix using -ERRNO as command type mask 2021-10-26 13:42:00 +01:00
trf7970a.c nfc: trf7970a: constify several pointers 2021-07-29 12:28:03 +01:00
virtual_ncidev.c nfc: virtual_ncidev: Use wait queue instead of polling 2021-08-18 10:17:57 +01:00