Liu Shixin
32b944b9c4
NFC: nci: fix memory leak in nci_rx_data_packet()
...
[ Upstream commit 53270fb0fd77fe786d8c07a0793981d797836b93 ]
Syzbot reported a memory leak about skb:
unreferenced object 0xffff88810e144e00 (size 240):
comm "syz-executor284", pid 3701, jiffies 4294952403 (age 12.620s)
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:
[<ffffffff83ab79a9>] __alloc_skb+0x1f9/0x270 net/core/skbuff.c:497
[<ffffffff82a5cf64>] alloc_skb include/linux/skbuff.h:1267 [inline]
[<ffffffff82a5cf64>] virtual_ncidev_write+0x24/0xe0 drivers/nfc/virtual_ncidev.c:116
[<ffffffff815f6503>] do_loop_readv_writev fs/read_write.c:759 [inline]
[<ffffffff815f6503>] do_loop_readv_writev fs/read_write.c:743 [inline]
[<ffffffff815f6503>] do_iter_write+0x253/0x300 fs/read_write.c:863
[<ffffffff815f66ed>] vfs_writev+0xdd/0x240 fs/read_write.c:934
[<ffffffff815f68f6>] do_writev+0xa6/0x1c0 fs/read_write.c:977
[<ffffffff848802d5>] do_syscall_x64 arch/x86/entry/common.c:50 [inline]
[<ffffffff848802d5>] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
[<ffffffff84a00087>] entry_SYSCALL_64_after_hwframe+0x63/0xcd
In nci_rx_data_packet(), if we don't get a valid conn_info, we will return
directly but forget to release the skb.
Reported-by: syzbot+cdb9a427d1bc08815104@syzkaller.appspotmail.com
Fixes: 4aeee6871e8c ("NFC: nci: Add dynamic logical connections support")
Signed-off-by: Liu Shixin <liushixin2@huawei.com>
Link: https://lore.kernel.org/r/20221118082419.239475-1-liushixin2@huawei.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-12-02 17:40:01 +01:00
..
2021-09-15 09:50:34 +02:00
2022-12-02 17:40:00 +01:00
2021-07-31 08:16:11 +02:00
2022-07-29 17:19:07 +02:00
2021-04-07 15:00:08 +02:00
2022-10-30 09:41:16 +01:00
2022-06-22 14:13:17 +02:00
2022-05-18 10:23:42 +02:00
2022-11-25 17:45:40 +01:00
2022-11-25 17:45:43 +01:00
2021-07-14 16:56:29 +02:00
2022-12-02 17:39:57 +01:00
2022-11-25 17:45:46 +01:00
2022-11-16 09:57:17 +01:00
2022-05-25 09:17:56 +02:00
2022-12-02 17:40:00 +01:00
2022-03-08 19:09:37 +01:00
2022-08-21 15:15:52 +02:00
2022-08-31 17:15:19 +02:00
2022-05-09 09:05:02 +02:00
2021-12-17 10:14:41 +01:00
2022-10-30 09:41:17 +01:00
2022-11-03 23:57:51 +09:00
2022-12-02 17:40:00 +01:00
2022-12-02 17:40:01 +01:00
2021-03-07 12:34:05 +01:00
2022-11-25 17:45:56 +01:00
2022-12-02 17:39:58 +01:00
2022-11-25 17:45:54 +01:00
2022-04-27 13:53:50 +02:00
2021-02-10 09:29:14 +01:00
2022-03-28 09:57:10 +02:00
2022-12-02 17:39:57 +01:00
2022-11-03 23:57:49 +09:00
2022-09-08 11:11:40 +02:00
2022-08-31 17:15:19 +02:00
2022-01-05 12:40:32 +01:00
2022-12-02 17:40:01 +01:00
2022-04-13 21:01:00 +02:00
2022-08-25 11:38:07 +02:00
2022-01-27 10:54:03 +01:00
2022-12-02 17:40:01 +01:00
2022-12-02 17:40:00 +01:00
2022-09-05 10:28:59 +02:00
2022-01-11 15:25:01 +01:00
2021-03-07 12:34:07 +01:00
2022-08-25 11:38:23 +02:00
2022-10-26 13:25:23 +02:00
2022-11-10 18:14:19 +01:00
2022-12-02 17:39:59 +01:00
2022-12-02 17:40:01 +01:00
2022-11-25 17:45:43 +01:00
2022-09-28 11:10:36 +02:00
2021-11-18 14:04:27 +01:00
2022-08-31 17:15:15 +02:00
2021-02-07 15:37:12 +01:00
2022-12-02 17:40:01 +01:00
2022-08-03 12:00:46 +02:00
2022-10-26 13:25:55 +02:00
2022-10-26 13:25:22 +02:00
2022-11-16 09:57:08 +01:00
2022-11-25 17:45:47 +01:00
2022-10-15 07:55:51 +02:00
2022-12-02 17:39:58 +01:00
2021-06-18 10:00:06 +02:00
2022-08-31 17:15:21 +02:00