Hello,
syzbot has tested the proposed patch but the reproducer is still triggering an issue:
memory leak in rxrpc_lookup_local
BUG: memory leak
unreferenced object 0xffff8881174d2a00 (size 256):
comm "syz-executor.5", pid 8936, jiffies 4294943767 (age 433.450s)
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 0a 00 00 00 00 80 20 0c 81 88 ff ff .......... .....
backtrace:
[<0000000034241e1e>] kmalloc include/linux/slab.h:552 [inline]
[<0000000034241e1e>] kzalloc include/linux/slab.h:664 [inline]
[<0000000034241e1e>] rxrpc_alloc_local net/rxrpc/local_object.c:79 [inline]
[<0000000034241e1e>] rxrpc_lookup_local+0x1c1/0x760 net/rxrpc/local_object.c:244
[<000000008e525ddd>] rxrpc_bind+0x174/0x240 net/rxrpc/af_rxrpc.c:149
[<00000000a190d0f2>] afs_open_socket+0xdb/0x200 fs/afs/rxrpc.c:64
[<000000000c7529e9>] afs_net_init+0x2b4/0x340 fs/afs/main.c:126
[<00000000ecef0d4d>] ops_init+0x4e/0x190 net/core/net_namespace.c:152
[<0000000081c5fb7d>] setup_net+0xdb/0x2d0 net/core/net_namespace.c:342
[<0000000065e61a01>] copy_net_ns+0x14b/0x320 net/core/net_namespace.c:483
[<00000000aa45e037>] create_new_namespaces+0x199/0x4e0 kernel/nsproxy.c:110
[<00000000cd44ad75>] unshare_nsproxy_namespaces+0x9b/0x120 kernel/nsproxy.c:231
[<000000006c74af03>] ksys_unshare+0x2fe/0x5c0 kernel/fork.c:2949
[<00000000757544ef>] __do_sys_unshare kernel/fork.c:3017 [inline]
[<00000000757544ef>] __se_sys_unshare kernel/fork.c:3015 [inline]
[<00000000757544ef>] __x64_sys_unshare+0x12/0x20 kernel/fork.c:3015
[<00000000d953485b>] do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
[<00000000008a465b>] entry_SYSCALL_64_after_hwframe+0x44/0xa9
BUG: memory leak
unreferenced object 0xffff8881173df800 (size 256):
comm "syz-executor.6", pid 8933, jiffies 4294943775 (age 433.370s)
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 0a 00 00 00 00 80 4c 16 81 88 ff ff ..........L.....
backtrace:
[<0000000034241e1e>] kmalloc include/linux/slab.h:552 [inline]
[<0000000034241e1e>] kzalloc include/linux/slab.h:664 [inline]
[<0000000034241e1e>] rxrpc_alloc_local net/rxrpc/local_object.c:79 [inline]
[<0000000034241e1e>] rxrpc_lookup_local+0x1c1/0x760 net/rxrpc/local_object.c:244
[<000000008e525ddd>] rxrpc_bind+0x174/0x240 net/rxrpc/af_rxrpc.c:149
[<00000000a190d0f2>] afs_open_socket+0xdb/0x200 fs/afs/rxrpc.c:64
[<000000000c7529e9>] afs_net_init+0x2b4/0x340 fs/afs/main.c:126
[<00000000ecef0d4d>] ops_init+0x4e/0x190 net/core/net_namespace.c:152
[<0000000081c5fb7d>] setup_net+0xdb/0x2d0 net/core/net_namespace.c:342
[<0000000065e61a01>] copy_net_ns+0x14b/0x320 net/core/net_namespace.c:483
[<00000000aa45e037>] create_new_namespaces+0x199/0x4e0 kernel/nsproxy.c:110
[<00000000cd44ad75>] unshare_nsproxy_namespaces+0x9b/0x120 kernel/nsproxy.c:231
[<000000006c74af03>] ksys_unshare+0x2fe/0x5c0 kernel/fork.c:2949
[<00000000757544ef>] __do_sys_unshare kernel/fork.c:3017 [inline]
[<00000000757544ef>] __se_sys_unshare kernel/fork.c:3015 [inline]
[<00000000757544ef>] __x64_sys_unshare+0x12/0x20 kernel/fork.c:3015
[<00000000d953485b>] do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
[<00000000008a465b>] entry_SYSCALL_64_after_hwframe+0x44/0xa9
BUG: memory leak
unreferenced object 0xffff88811624be00 (size 256):
comm "syz-executor.3", pid 8932, jiffies 4294943776 (age 433.360s)
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 0a 00 00 00 00 c0 55 16 81 88 ff ff ..........U.....
backtrace:
[<0000000034241e1e>] kmalloc include/linux/slab.h:552 [inline]
[<0000000034241e1e>] kzalloc include/linux/slab.h:664 [inline]
[<0000000034241e1e>] rxrpc_alloc_local net/rxrpc/local_object.c:79 [inline]
[<0000000034241e1e>] rxrpc_lookup_local+0x1c1/0x760 net/rxrpc/local_object.c:244
[<000000008e525ddd>] rxrpc_bind+0x174/0x240 net/rxrpc/af_rxrpc.c:149
[<00000000a190d0f2>] afs_open_socket+0xdb/0x200 fs/afs/rxrpc.c:64
[<000000000c7529e9>] afs_net_init+0x2b4/0x340 fs/afs/main.c:126
[<00000000ecef0d4d>] ops_init+0x4e/0x190 net/core/net_namespace.c:152
[<0000000081c5fb7d>] setup_net+0xdb/0x2d0 net/core/net_namespace.c:342
[<0000000065e61a01>] copy_net_ns+0x14b/0x320 net/core/net_namespace.c:483
[<00000000aa45e037>] create_new_namespaces+0x199/0x4e0 kernel/nsproxy.c:110
[<00000000cd44ad75>] unshare_nsproxy_namespaces+0x9b/0x120 kernel/nsproxy.c:231
[<000000006c74af03>] ksys_unshare+0x2fe/0x5c0 kernel/fork.c:2949
[<00000000757544ef>] __do_sys_unshare kernel/fork.c:3017 [inline]
[<00000000757544ef>] __se_sys_unshare kernel/fork.c:3015 [inline]
[<00000000757544ef>] __x64_sys_unshare+0x12/0x20 kernel/fork.c:3015
[<00000000d953485b>] do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
[<00000000008a465b>] entry_SYSCALL_64_after_hwframe+0x44/0xa9
BUG: memory leak
unreferenced object 0xffff88811659b400 (size 256):
comm "syz-executor.7", pid 8934, jiffies 4294943776 (age 433.360s)
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 0a 00 00 00 00 00 5b 16 81 88 ff ff ..........[.....
backtrace:
[<0000000034241e1e>] kmalloc include/linux/slab.h:552 [inline]
[<0000000034241e1e>] kzalloc include/linux/slab.h:664 [inline]
[<0000000034241e1e>] rxrpc_alloc_local net/rxrpc/local_object.c:79 [inline]
[<0000000034241e1e>] rxrpc_lookup_local+0x1c1/0x760 net/rxrpc/local_object.c:244
[<000000008e525ddd>] rxrpc_bind+0x174/0x240 net/rxrpc/af_rxrpc.c:149
[<00000000a190d0f2>] afs_open_socket+0xdb/0x200 fs/afs/rxrpc.c:64
[<000000000c7529e9>] afs_net_init+0x2b4/0x340 fs/afs/main.c:126
[<00000000ecef0d4d>] ops_init+0x4e/0x190 net/core/net_namespace.c:152
[<0000000081c5fb7d>] setup_net+0xdb/0x2d0 net/core/net_namespace.c:342
[<0000000065e61a01>] copy_net_ns+0x14b/0x320 net/core/net_namespace.c:483
[<00000000aa45e037>] create_new_namespaces+0x199/0x4e0 kernel/nsproxy.c:110
[<00000000cd44ad75>] unshare_nsproxy_namespaces+0x9b/0x120 kernel/nsproxy.c:231
[<000000006c74af03>] ksys_unshare+0x2fe/0x5c0 kernel/fork.c:2949
[<00000000757544ef>] __do_sys_unshare kernel/fork.c:3017 [inline]
[<00000000757544ef>] __se_sys_unshare kernel/fork.c:3015 [inline]
[<00000000757544ef>] __x64_sys_unshare+0x12/0x20 kernel/fork.c:3015
[<00000000d953485b>] do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
[<00000000008a465b>] entry_SYSCALL_64_after_hwframe+0x44/0xa9
Tested on:
git tree: git://
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
console output:
https://syzkaller.appspot.com/x/log.txt?x=1752e3b1500000
patch:
https://syzkaller.appspot.com/x/patch.diff?x=135d6fde500000