* [syzbot] [nfc?] memory leak in skb_copy (2)
@ 2023-07-15 3:13 syzbot
2023-11-20 9:20 ` [syzbot] Private message regarding: " syzbot
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: syzbot @ 2023-07-15 3:13 UTC (permalink / raw)
To: bongsu.jeon, krzysztof.kozlowski, linux-kernel, linux-nfc, netdev,
syzkaller-bugs
Hello,
syzbot found the following issue on:
HEAD commit: 3f01e9fed845 Merge tag 'linux-watchdog-6.5-rc2' of git://w..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=15fe3ef8a80000
kernel config: https://syzkaller.appspot.com/x/.config?x=75da4f0a455bdbd3
dashboard link: https://syzkaller.appspot.com/bug?extid=6eb09d75211863f15e3e
compiler: gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=162f1cbca80000
Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/441fb7ea58b8/disk-3f01e9fe.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/8fa7790ba0c3/vmlinux-3f01e9fe.xz
kernel image: https://storage.googleapis.com/syzbot-assets/5e7a6471dadf/bzImage-3f01e9fe.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+6eb09d75211863f15e3e@syzkaller.appspotmail.com
BUG: memory leak
unreferenced object 0xffff88811fff5e00 (size 240):
comm "kworker/u4:0", pid 10, jiffies 4294989700 (age 28.220s)
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:
[<ffffffff83e1c0bd>] __alloc_skb+0x1fd/0x230 net/core/skbuff.c:634
[<ffffffff83e1efcf>] skb_copy+0x6f/0x180 net/core/skbuff.c:1925
[<ffffffff82c3526f>] virtual_nci_send+0x3f/0xb0 drivers/nfc/virtual_ncidev.c:58
[<ffffffff84990da9>] nci_send_frame+0x69/0xb0 net/nfc/nci/core.c:1347
[<ffffffff84990e82>] nci_cmd_work+0x92/0xc0 net/nfc/nci/core.c:1567
[<ffffffff812b19e4>] process_one_work+0x2c4/0x620 kernel/workqueue.c:2597
[<ffffffff812b233d>] worker_thread+0x5d/0x5c0 kernel/workqueue.c:2748
[<ffffffff812bbde3>] kthread+0x133/0x180 kernel/kthread.c:389
[<ffffffff81002b5f>] ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:308
BUG: memory leak
unreferenced object 0xffff88810d74e500 (size 640):
comm "kworker/u4:0", pid 10, jiffies 4294989700 (age 28.220s)
hex dump (first 32 bytes):
20 00 01 01 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:
[<ffffffff83e18976>] kmalloc_reserve+0xe6/0x180 net/core/skbuff.c:559
[<ffffffff83e1bf95>] __alloc_skb+0xd5/0x230 net/core/skbuff.c:644
[<ffffffff83e1efcf>] skb_copy+0x6f/0x180 net/core/skbuff.c:1925
[<ffffffff82c3526f>] virtual_nci_send+0x3f/0xb0 drivers/nfc/virtual_ncidev.c:58
[<ffffffff84990da9>] nci_send_frame+0x69/0xb0 net/nfc/nci/core.c:1347
[<ffffffff84990e82>] nci_cmd_work+0x92/0xc0 net/nfc/nci/core.c:1567
[<ffffffff812b19e4>] process_one_work+0x2c4/0x620 kernel/workqueue.c:2597
[<ffffffff812b233d>] worker_thread+0x5d/0x5c0 kernel/workqueue.c:2748
[<ffffffff812bbde3>] kthread+0x133/0x180 kernel/kthread.c:389
[<ffffffff81002b5f>] ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:308
---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.
syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
If the bug is already fixed, let syzbot know by replying with:
#syz fix: exact-commit-title
If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.
If you want to change bug's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)
If the bug is a duplicate of another bug, reply with:
#syz dup: exact-subject-of-another-report
If you want to undo deduplication, reply with:
#syz undup
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [syzbot] Private message regarding: [syzbot] [nfc?] memory leak in skb_copy (2)
2023-07-15 3:13 [syzbot] [nfc?] memory leak in skb_copy (2) syzbot
@ 2023-11-20 9:20 ` syzbot
2023-11-20 9:33 ` [syzbot] " syzbot
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: syzbot @ 2023-11-20 9:20 UTC (permalink / raw)
To: linux-kernel, syzkaller-bugs
For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com.
***
Subject: Private message regarding: [syzbot] [nfc?] memory leak in skb_copy (2)
Author: phind.uet@gmail.com
#syz test: git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
master
diff --git a/drivers/nfc/virtual_ncidev.c b/drivers/nfc/virtual_ncidev.c
index b027be0b0b6f..ac8226db54e2 100644
--- a/drivers/nfc/virtual_ncidev.c
+++ b/drivers/nfc/virtual_ncidev.c
@@ -20,26 +20,31 @@
NFC_PROTO_ISO14443_MASK | \
NFC_PROTO_ISO14443_B_MASK | \
NFC_PROTO_ISO15693_MASK)
+#define NCIDEV_RUNNING 0
struct virtual_nci_dev {
struct nci_dev *ndev;
struct mutex mtx;
struct sk_buff *send_buff;
struct wait_queue_head wq;
+ bool running;
};
static int virtual_nci_open(struct nci_dev *ndev)
{
+ struct virtual_nci_dev *vdev = nci_get_drvdata(ndev);
+
+ vdev->running = true;
return 0;
}
static int virtual_nci_close(struct nci_dev *ndev)
{
struct virtual_nci_dev *vdev = nci_get_drvdata(ndev);
-
mutex_lock(&vdev->mtx);
kfree_skb(vdev->send_buff);
vdev->send_buff = NULL;
+ vdev->running = false;
mutex_unlock(&vdev->mtx);
return 0;
@@ -50,7 +55,7 @@ static int virtual_nci_send(struct nci_dev *ndev, struct
sk_buff *skb)
struct virtual_nci_dev *vdev = nci_get_drvdata(ndev);
mutex_lock(&vdev->mtx);
- if (vdev->send_buff) {
+ if (vdev->send_buff || !vdev->running) {
mutex_unlock(&vdev->mtx);
kfree_skb(skb);
return -1;
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [syzbot] Re: [syzbot] [nfc?] memory leak in skb_copy (2)
2023-07-15 3:13 [syzbot] [nfc?] memory leak in skb_copy (2) syzbot
2023-11-20 9:20 ` [syzbot] Private message regarding: " syzbot
@ 2023-11-20 9:33 ` syzbot
2023-11-20 9:39 ` syzbot
2023-11-21 7:16 ` [syzbot] Re: [syzbot] [nfc?] memory leak in skb_copy (2)(test updated patch) syzbot
3 siblings, 0 replies; 5+ messages in thread
From: syzbot @ 2023-11-20 9:33 UTC (permalink / raw)
To: linux-kernel, syzkaller-bugs
For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com.
***
Subject: Re: [syzbot] [nfc?] memory leak in skb_copy (2)
Author: phind.uet@gmail.com
#syz test:
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
diff --git a/drivers/nfc/virtual_ncidev.c b/drivers/nfc/virtual_ncidev.c
index b027be0b0b6f..ac8226db54e2 100644
--- a/drivers/nfc/virtual_ncidev.c
+++ b/drivers/nfc/virtual_ncidev.c
@@ -20,26 +20,31 @@
NFC_PROTO_ISO14443_MASK | \
NFC_PROTO_ISO14443_B_MASK | \
NFC_PROTO_ISO15693_MASK)
+#define NCIDEV_RUNNING 0
struct virtual_nci_dev {
struct nci_dev *ndev;
struct mutex mtx;
struct sk_buff *send_buff;
struct wait_queue_head wq;
+ bool running;
};
static int virtual_nci_open(struct nci_dev *ndev)
{
+ struct virtual_nci_dev *vdev = nci_get_drvdata(ndev);
+
+ vdev->running = true;
return 0;
}
static int virtual_nci_close(struct nci_dev *ndev)
{
struct virtual_nci_dev *vdev = nci_get_drvdata(ndev);
-
mutex_lock(&vdev->mtx);
kfree_skb(vdev->send_buff);
vdev->send_buff = NULL;
+ vdev->running = false;
mutex_unlock(&vdev->mtx);
return 0;
@@ -50,7 +55,7 @@ static int virtual_nci_send(struct nci_dev *ndev,
struct sk_buff *skb)
struct virtual_nci_dev *vdev = nci_get_drvdata(ndev);
mutex_lock(&vdev->mtx);
- if (vdev->send_buff) {
+ if (vdev->send_buff || !vdev->running) {
mutex_unlock(&vdev->mtx);
kfree_skb(skb);
return -1;
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [syzbot] Re: [syzbot] [nfc?] memory leak in skb_copy (2)
2023-07-15 3:13 [syzbot] [nfc?] memory leak in skb_copy (2) syzbot
2023-11-20 9:20 ` [syzbot] Private message regarding: " syzbot
2023-11-20 9:33 ` [syzbot] " syzbot
@ 2023-11-20 9:39 ` syzbot
2023-11-21 7:16 ` [syzbot] Re: [syzbot] [nfc?] memory leak in skb_copy (2)(test updated patch) syzbot
3 siblings, 0 replies; 5+ messages in thread
From: syzbot @ 2023-11-20 9:39 UTC (permalink / raw)
To: linux-kernel, syzkaller-bugs
For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com.
***
Subject: Re: [syzbot] [nfc?] memory leak in skb_copy (2)
Author: phind.uet@gmail.com
#syz test:
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [syzbot] Re: [syzbot] [nfc?] memory leak in skb_copy (2)(test updated patch)
2023-07-15 3:13 [syzbot] [nfc?] memory leak in skb_copy (2) syzbot
` (2 preceding siblings ...)
2023-11-20 9:39 ` syzbot
@ 2023-11-21 7:16 ` syzbot
3 siblings, 0 replies; 5+ messages in thread
From: syzbot @ 2023-11-21 7:16 UTC (permalink / raw)
To: linux-kernel, syzkaller-bugs
For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com.
***
Subject: Re: [syzbot] [nfc?] memory leak in skb_copy (2)(test updated patch)
Author: phind.uet@gmail.com
#syz test:
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-11-21 7:16 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-15 3:13 [syzbot] [nfc?] memory leak in skb_copy (2) syzbot
2023-11-20 9:20 ` [syzbot] Private message regarding: " syzbot
2023-11-20 9:33 ` [syzbot] " syzbot
2023-11-20 9:39 ` syzbot
2023-11-21 7:16 ` [syzbot] Re: [syzbot] [nfc?] memory leak in skb_copy (2)(test updated patch) syzbot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox