]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commit
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)
committerStefan Bader <stefan.bader@canonical.com>
Mon, 7 Mar 2022 15:34:42 +0000 (16:34 +0100)
commit503e0e97a00c804186837b9b82017a22766d327d
treef1c47177bc89e750a4992b2dc16905c27dca5069
parent61d7e389ca13a623182733b0f6522f96f48b370e
NFC: st21nfca: Fix memory leak in device probe and remove

BugLink: https://bugs.launchpad.net/bugs/1958898
[ Upstream commit 1b9dadba502234eea7244879b8d5d126bfaf9f0c ]

'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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
drivers/nfc/st21nfca/i2c.c