[syzbot] [can?] memory leak in j1939_netdev_start (2)

syzbot <[email protected]>
Newsgroups org.kernel.vger.linux-can,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
Hello,

syzbot found the following issue on:

HEAD commit:    8d3ae59288f1 Linux 7.2
git tree:       upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=14728679580000
kernel config:  https://syzkaller.appspot.com/x/.config?x=11ad91fcc8fa7933
dashboard link: https://syzkaller.appspot.com/bug?extid=489e907b2a026a6f5fa0
compiler:       gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44
syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=165f3949580000
C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=14c8b6c6580000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/735a458674ac/disk-8d3ae592.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/fbf50adb0745/vmlinux-8d3ae592.xz
kernel image: https://storage.googleapis.com/syzbot-assets/6effa5f7f690/bzImage-8d3ae592.xz

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

BUG: memory leak
unreferenced object 0xffff88812c9ca000 (size 8192):
  comm "syz.0.17", pid 6047, jiffies 4294942443
  hex dump (first 32 bytes):
    c0 36 87 2e 81 88 ff ff c0 36 87 2e 81 88 ff ff  .6.......6......
    00 00 00 00 00 00 00 00 00 80 77 2e 81 88 ff ff  ..........w.....
  backtrace (crc d013ab57):
    kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]
    slab_post_alloc_hook mm/slub.c:4597 [inline]
    slab_alloc_node mm/slub.c:4917 [inline]
    __kmalloc_cache_noprof+0x356/0x440 mm/slub.c:5485
    _kmalloc_noprof include/linux/slab.h:988 [inline]
    _kzalloc_noprof include/linux/slab.h:1309 [inline]
    j1939_priv_create net/can/j1939/main.c:131 [inline]
    j1939_netdev_start+0x168/0x710 net/can/j1939/main.c:268
    j1939_sk_bind+0x223/0x5a0 net/can/j1939/socket.c:506
    __sys_bind_socket net/socket.c:1920 [inline]
    __sys_bind_socket net/socket.c:1912 [inline]
    __sys_bind+0x131/0x160 net/socket.c:1951
    __do_sys_bind net/socket.c:1956 [inline]
    __se_sys_bind net/socket.c:1954 [inline]
    __x64_sys_bind+0x1c/0x30 net/socket.c:1954
    do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
    do_syscall_64+0xf8/0x610 arch/x86/entry/syscall_64.c:94
    entry_SYSCALL_64_after_hwframe+0x77/0x7f

BUG: memory leak
unreferenced object 0xffff88812e8736c0 (size 192):
  comm "syz.0.17", pid 6047, jiffies 4294942443
  hex dump (first 32 bytes):
    00 a0 9c 2c 81 88 ff ff 00 a0 9c 2c 81 88 ff ff  ...,.......,....
    08 07 06 05 04 03 02 01 20 00 00 00 00 00 00 00  ........ .......
  backtrace (crc 2ba0e4b2):
    kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]
    slab_post_alloc_hook mm/slub.c:4597 [inline]
    slab_alloc_node mm/slub.c:4917 [inline]
    __kmalloc_cache_noprof+0x356/0x440 mm/slub.c:5485
    _kmalloc_noprof include/linux/slab.h:988 [inline]
    _kzalloc_noprof include/linux/slab.h:1309 [inline]
    j1939_ecu_create_locked+0x5c/0x200 net/can/j1939/bus.c:155
    j1939_local_ecu_get+0x102/0x140 net/can/j1939/bus.c:293
    j1939_sk_bind+0x38c/0x5a0 net/can/j1939/socket.c:529
    __sys_bind_socket net/socket.c:1920 [inline]
    __sys_bind_socket net/socket.c:1912 [inline]
    __sys_bind+0x131/0x160 net/socket.c:1951
    __do_sys_bind net/socket.c:1956 [inline]
    __se_sys_bind net/socket.c:1954 [inline]
    __x64_sys_bind+0x1c/0x30 net/socket.c:1954
    do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
    do_syscall_64+0xf8/0x610 arch/x86/entry/syscall_64.c:94
    entry_SYSCALL_64_after_hwframe+0x77/0x7f

BUG: memory leak
unreferenced object 0xffff88812c9c8000 (size 8192):
  comm "syz.0.24", pid 6048, jiffies 4294942445
  hex dump (first 32 bytes):
    40 ab e4 12 81 88 ff ff 40 ab e4 12 81 88 ff ff  @.......@.......
    00 00 00 00 00 00 00 00 00 80 77 2e 81 88 ff ff  ..........w.....
  backtrace (crc da7feccc):
    kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]
    slab_post_alloc_hook mm/slub.c:4597 [inline]
    slab_alloc_node mm/slub.c:4917 [inline]
    __kmalloc_cache_noprof+0x356/0x440 mm/slub.c:5485
    _kmalloc_noprof include/linux/slab.h:988 [inline]
    _kzalloc_noprof include/linux/slab.h:1309 [inline]
    j1939_priv_create net/can/j1939/main.c:131 [inline]
    j1939_netdev_start+0x168/0x710 net/can/j1939/main.c:268
    j1939_sk_bind+0x223/0x5a0 net/can/j1939/socket.c:506
    __sys_bind_socket net/socket.c:1920 [inline]
    __sys_bind_socket net/socket.c:1912 [inline]
    __sys_bind+0x131/0x160 net/socket.c:1951
    __do_sys_bind net/socket.c:1956 [inline]
    __se_sys_bind net/socket.c:1954 [inline]
    __x64_sys_bind+0x1c/0x30 net/socket.c:1954
    do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
    do_syscall_64+0xf8/0x610 arch/x86/entry/syscall_64.c:94
    entry_SYSCALL_64_after_hwframe+0x77/0x7f

BUG: memory leak
unreferenced object 0xffff888112e4ab40 (size 192):
  comm "syz.0.24", pid 6048, jiffies 4294942445
  hex dump (first 32 bytes):
    00 80 9c 2c 81 88 ff ff 00 80 9c 2c 81 88 ff ff  ...,.......,....
    08 07 06 05 04 03 02 01 20 00 00 00 00 00 00 00  ........ .......
  backtrace (crc 73ecd91d):
    kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]
    slab_post_alloc_hook mm/slub.c:4597 [inline]
    slab_alloc_node mm/slub.c:4917 [inline]
    __kmalloc_cache_noprof+0x356/0x440 mm/slub.c:5485
    _kmalloc_noprof include/linux/slab.h:988 [inline]
    _kzalloc_noprof include/linux/slab.h:1309 [inline]
    j1939_ecu_create_locked+0x5c/0x200 net/can/j1939/bus.c:155
    j1939_local_ecu_get+0x102/0x140 net/can/j1939/bus.c:293
    j1939_sk_bind+0x38c/0x5a0 net/can/j1939/socket.c:529
    __sys_bind_socket net/socket.c:1920 [inline]
    __sys_bind_socket net/socket.c:1912 [inline]
    __sys_bind+0x131/0x160 net/socket.c:1951
    __do_sys_bind net/socket.c:1956 [inline]
    __se_sys_bind net/socket.c:1954 [inline]
    __x64_sys_bind+0x1c/0x30 net/socket.c:1954
    do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
    do_syscall_64+0xf8/0x610 arch/x86/entry/syscall_64.c:94
    entry_SYSCALL_64_after_hwframe+0x77/0x7f

BUG: memory leak
unreferenced object 0xffff88812c9d6000 (size 8192):
  comm "syz.0.25", pid 6050, jiffies 4294942445
  hex dump (first 32 bytes):
    80 3d 69 13 81 88 ff ff 80 3d 69 13 81 88 ff ff  .=i......=i.....
    00 00 00 00 00 00 00 00 00 80 77 2e 81 88 ff ff  ..........w.....
  backtrace (crc cb2b95df):
    kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]
    slab_post_alloc_hook mm/slub.c:4597 [inline]
    slab_alloc_node mm/slub.c:4917 [inline]
    __kmalloc_cache_noprof+0x356/0x440 mm/slub.c:5485
    _kmalloc_noprof include/linux/slab.h:988 [inline]
    _kzalloc_noprof include/linux/slab.h:1309 [inline]
    j1939_priv_create net/can/j1939/main.c:131 [inline]
    j1939_netdev_start+0x168/0x710 net/can/j1939/main.c:268
    j1939_sk_bind+0x223/0x5a0 net/can/j1939/socket.c:506
    __sys_bind_socket net/socket.c:1920 [inline]
    __sys_bind_socket net/socket.c:1912 [inline]
    __sys_bind+0x131/0x160 net/socket.c:1951
    __do_sys_bind net/socket.c:1956 [inline]
    __se_sys_bind net/socket.c:1954 [inline]
    __x64_sys_bind+0x1c/0x30 net/socket.c:1954
    do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
    do_syscall_64+0xf8/0x610 arch/x86/entry/syscall_64.c:94
    entry_SYSCALL_64_after_hwframe+0x77/0x7f

BUG: memory leak
unreferenced object 0xffff888113693d80 (size 192):
  comm "syz.0.25", pid 6050, jiffies 4294942445
  hex dump (first 32 bytes):
    00 60 9d 2c 81 88 ff ff 00 60 9d 2c 81 88 ff ff  .`.,.....`.,....
    08 07 06 05 04 03 02 01 20 00 00 00 00 00 00 00  ........ .......
  backtrace (crc 35e45c5a):
    kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]
    slab_post_alloc_hook mm/slub.c:4597 [inline]
    slab_alloc_node mm/slub.c:4917 [inline]
    __kmalloc_cache_noprof+0x356/0x440 mm/slub.c:5485
    _kmalloc_noprof include/linux/slab.h:988 [inline]
    _kzalloc_noprof include/linux/slab.h:1309 [inline]
    j1939_ecu_create_locked+0x5c/0x200 net/can/j1939/bus.c:155
    j1939_local_ecu_get+0x102/0x140 net/can/j1939/bus.c:293
    j1939_sk_bind+0x38c/0x5a0 net/can/j1939/socket.c:529
    __sys_bind_socket net/socket.c:1920 [inline]
    __sys_bind_socket net/socket.c:1912 [inline]
    __sys_bind+0x131/0x160 net/socket.c:1951
    __do_sys_bind net/socket.c:1956 [inline]
    __se_sys_bind net/socket.c:1954 [inline]
    __x64_sys_bind+0x1c/0x30 net/socket.c:1954
    do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
    do_syscall_64+0xf8/0x610 arch/x86/entry/syscall_64.c:94
    entry_SYSCALL_64_after_hwframe+0x77/0x7f

BUG: memory leak
unreferenced object 0xffff88812c9d4000 (size 8192):
  comm "syz.0.26", pid 6051, jiffies 4294942446
  hex dump (first 32 bytes):
    c0 e3 ed 12 81 88 ff ff c0 e3 ed 12 81 88 ff ff  ................
    00 00 00 00 00 00 00 00 00 80 77 2e 81 88 ff ff  ..........w.....
  backtrace (crc eb403d26):
    kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]
    slab_post_alloc_hook mm/slub.c:4597 [inline]
    slab_alloc_node mm/slub.c:4917 [inline]
    __kmalloc_cache_noprof+0x356/0x440 mm/slub.c:5485
    _kmalloc_noprof include/linux/slab.h:988 [inline]
    _kzalloc_noprof include/linux/slab.h:1309 [inline]
    j1939_priv_create net/can/j1939/main.c:131 [inline]
    j1939_netdev_start+0x168/0x710 net/can/j1939/main.c:268
    j1939_sk_bind+0x223/0x5a0 net/can/j1939/socket.c:506
    __sys_bind_socket net/socket.c:1920 [inline]
    __sys_bind_socket net/socket.c:1912 [inline]
    __sys_bind+0x131/0x160 net/socket.c:1951
    __do_sys_bind net/socket.c:1956 [inline]
    __se_sys_bind net/socket.c:1954 [inline]
    __x64_sys_bind+0x1c/0x30 net/socket.c:1954
    do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
    do_syscall_64+0xf8/0x610 arch/x86/entry/syscall_64.c:94
    entry_SYSCALL_64_after_hwframe+0x77/0x7f

connection error: failed to recv *flatrpc.ExecutorMessageRawT: EOF


---
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 protected].

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, 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 overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.