Re: [syzbot] [btrfs?] memory leak in corrupted

From: Sven Eckelmann
Date: Tue Jan 16 2024 - 04:54:40 EST


@Linus, this looks like something for you.

On Tuesday, 16 January 2024 10:27:20 CET syzbot wrote:
> syzbot found the following issue on:
>
> HEAD commit: 052d534373b7 Merge tag 'exfat-for-6.8-rc1' of git://git.ke..
> git tree: upstream
> console output: https://syzkaller.appspot.com/x/log.txt?x=14620debe80000
> kernel config: https://syzkaller.appspot.com/x/.config?x=a7031f9e71583b4a
> dashboard link: https://syzkaller.appspot.com/bug?extid=ebe64cc5950868e77358
> compiler: gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40
> syz repro: https://syzkaller.appspot.com/x/repro.syz?x=16a344c1e80000
>
> Downloadable assets:
> disk image: https://storage.googleapis.com/syzbot-assets/82a7201eef4c/disk-052d5343.raw.xz
> vmlinux: https://storage.googleapis.com/syzbot-assets/ca12b4c31826/vmlinux-052d5343.xz
> kernel image: https://storage.googleapis.com/syzbot-assets/3f07360ba5a8/bzImage-052d5343.xz
>
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: syzbot+ebe64cc5950868e77358@xxxxxxxxxxxxxxxxxxxxxxxxx

The relevant line is the batadv_mcast_forw_tracker_tvlv_handler registration
in batadv_mcast_init() which was introduced in
commit 07afe1ba288c ("batman-adv: mcast: implement multicast packet reception and forwarding")

And I can't find the batadv_tvlv_handler_unregister for
BATADV_TVLV_MCAST_TRACKER in batadv_mcast_free()

Kind regards,
Sven

>
> BUG: memory leak
> unreferenced object 0xffff88811c71a980 (size 64):
> comm "syz-executor.7", pid 5063, jiffies 4294953937
> hex dump (first 32 bytes):
> 00 00 00 00 00 00 00 00 20 8e 7e 1c 81 88 ff ff ........ .~.....
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> backtrace (crc 9f8721dd):
> [<ffffffff815f7d53>] kmemleak_alloc_recursive include/linux/kmemleak.h:42 [inline]
> [<ffffffff815f7d53>] slab_post_alloc_hook mm/slub.c:3817 [inline]
> [<ffffffff815f7d53>] slab_alloc_node mm/slub.c:3860 [inline]
> [<ffffffff815f7d53>] kmalloc_trace+0x283/0x330 mm/slub.c:4007
> [<ffffffff84aae617>] kmalloc include/linux/slab.h:590 [inline]
> [<ffffffff84aae617>] kzalloc include/linux/slab.h:711 [inline]
> [<ffffffff84aae617>] batadv_tvlv_handler_register+0xf7/0x2a0 net/batman-adv/tvlv.c:560
> [<ffffffff84a8d09f>] batadv_mcast_init+0x4f/0xc0 net/batman-adv/multicast.c:1926
> [<ffffffff84a895b9>] batadv_mesh_init+0x209/0x2f0 net/batman-adv/main.c:231
> [<ffffffff84a9fa88>] batadv_softif_init_late+0x1f8/0x280 net/batman-adv/soft-interface.c:812
> [<ffffffff83f48559>] register_netdevice+0x189/0xca0 net/core/dev.c:10188
> [<ffffffff84a9f255>] batadv_softif_newlink+0x55/0x70 net/batman-adv/soft-interface.c:1088
> [<ffffffff83f61dc0>] rtnl_newlink_create net/core/rtnetlink.c:3515 [inline]
> [<ffffffff83f61dc0>] __rtnl_newlink+0xb10/0xec0 net/core/rtnetlink.c:3735
> [<ffffffff83f621bc>] rtnl_newlink+0x4c/0x70 net/core/rtnetlink.c:3748
> [<ffffffff83f5cd1f>] rtnetlink_rcv_msg+0x22f/0x5b0 net/core/rtnetlink.c:6615
> [<ffffffff84093291>] netlink_rcv_skb+0x91/0x1d0 net/netlink/af_netlink.c:2543
> [<ffffffff84092242>] netlink_unicast_kernel net/netlink/af_netlink.c:1341 [inline]
> [<ffffffff84092242>] netlink_unicast+0x2c2/0x440 net/netlink/af_netlink.c:1367
> [<ffffffff84092701>] netlink_sendmsg+0x341/0x690 net/netlink/af_netlink.c:1908
> [<ffffffff83ef2912>] sock_sendmsg_nosec net/socket.c:730 [inline]
> [<ffffffff83ef2912>] __sock_sendmsg+0x52/0xa0 net/socket.c:745
> [<ffffffff83ef5af4>] __sys_sendto+0x164/0x1e0 net/socket.c:2191
> [<ffffffff83ef5b98>] __do_sys_sendto net/socket.c:2203 [inline]
> [<ffffffff83ef5b98>] __se_sys_sendto net/socket.c:2199 [inline]
> [<ffffffff83ef5b98>] __x64_sys_sendto+0x28/0x30 net/socket.c:2199

Attachment: signature.asc
Description: This is a digitally signed message part.