Subject: [syzbot] memory leak in mgmt_cmd_complete

From: syzbot <[email-masked]>
Date: Mon, 17 May 2021 02:12:16 -0700

Hello,

syzbot found the following issue on:

HEAD commit:    9f67672a Merge tag 'ext4_for_linus' of git://git.kernel.or..
git tree:       upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=136256a5d00000
kernel config:  https://syzkaller.appspot.com/x/.config?x=5427806e749e612b
dashboard link: https://syzkaller.appspot.com/bug?extid=4c4ffd1e1094dae61035
syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=17a4d5a3d00000

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: [email-masked]

2021/05/01 15:27:37 executed programs: 23
BUG: memory leak
unreferenced object 0xffff8881131d9100 (size 232):
  comm "kworker/u5:7", pid 8471, jiffies 4294965136 (age 11.710s)
  hex dump (first 32 bytes):
    d0 94 18 27 81 88 ff ff d0 94 18 27 81 88 ff ff  ...'.......'....
    00 00 00 00 00 00 00 00 00 94 18 27 81 88 ff ff  ...........'....
  backtrace:
    [<ffffffff83678b3f>] __alloc_skb+0x20f/0x280 net/core/skbuff.c:413
    [<ffffffff83c9cedd>] alloc_skb include/linux/skbuff.h:1107 [inline]
    [<ffffffff83c9cedd>] mgmt_cmd_complete+0x3d/0x1a0 net/bluetooth/mgmt_util.c:146
    [<ffffffff83c5d46e>] send_settings_rsp net/bluetooth/mgmt.c:1126 [inline]
    [<ffffffff83c5d46e>] settings_rsp+0x5e/0x170 net/bluetooth/mgmt.c:1279
    [<ffffffff83c9d1c6>] mgmt_pending_foreach+0x76/0xa0 net/bluetooth/mgmt_util.c:226
    [<ffffffff83c68c3c>] __mgmt_power_off+0x5c/0x1e0 net/bluetooth/mgmt.c:8575
    [<ffffffff83c392e9>] hci_dev_do_close+0x579/0x720 net/bluetooth/hci_core.c:1776
    [<ffffffff8125d109>] process_one_work+0x2c9/0x600 kernel/workqueue.c:2275
    [<ffffffff8125d9f9>] worker_thread+0x59/0x5d0 kernel/workqueue.c:2421
    [<ffffffff81265268>] kthread+0x178/0x1b0 kernel/kthread.c:313
    [<ffffffff8100227f>] ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:294

BUG: memory leak
unreferenced object 0xffff888126cdce00 (size 512):
  comm "kworker/u5:7", pid 8471, jiffies 4294965136 (age 11.710s)
  hex dump (first 32 bytes):
    01 00 00 00 07 00 05 00 00 82 00 00 00 00 00 00  ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [<ffffffff83678a0f>] kmalloc_reserve net/core/skbuff.c:354 [inline]
    [<ffffffff83678a0f>] __alloc_skb+0xdf/0x280 net/core/skbuff.c:425
    [<ffffffff83c9cedd>] alloc_skb include/linux/skbuff.h:1107 [inline]
    [<ffffffff83c9cedd>] mgmt_cmd_complete+0x3d/0x1a0 net/bluetooth/mgmt_util.c:146
    [<ffffffff83c5d46e>] send_settings_rsp net/bluetooth/mgmt.c:1126 [inline]
    [<ffffffff83c5d46e>] settings_rsp+0x5e/0x170 net/bluetooth/mgmt.c:1279
    [<ffffffff83c9d1c6>] mgmt_pending_foreach+0x76/0xa0 net/bluetooth/mgmt_util.c:226
    [<ffffffff83c68c3c>] __mgmt_power_off+0x5c/0x1e0 net/bluetooth/mgmt.c:8575
    [<ffffffff83c392e9>] hci_dev_do_close+0x579/0x720 net/bluetooth/hci_core.c:1776
    [<ffffffff8125d109>] process_one_work+0x2c9/0x600 kernel/workqueue.c:2275
    [<ffffffff8125d9f9>] worker_thread+0x59/0x5d0 kernel/workqueue.c:2421
    [<ffffffff81265268>] kthread+0x178/0x1b0 kernel/kthread.c:313
    [<ffffffff8100227f>] ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:294

---
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 [email-masked].

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
syzbot can test patches for this issue, for details see:
https://goo.gl/tpsmEJ#testing-patches