================================================================== BUG: KASAN: use-after-free in __list_add_valid+0x9a/0xa0 lib/list_debug.c:26 Read of size 8 at addr ffff888059308ba0 by task syz-executor.3/23678 CPU: 1 PID: 23678 Comm: syz-executor.3 Not tainted 5.0.0+ #13 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x172/0x1f0 lib/dump_stack.c:113 print_address_description.cold+0x7c/0x20d mm/kasan/report.c:187 kasan_report.cold+0x1b/0x40 mm/kasan/report.c:317 __asan_report_load8_noabort+0x14/0x20 mm/kasan/generic_report.c:132 __list_add_valid+0x9a/0xa0 lib/list_debug.c:26 __list_add include/linux/list.h:60 [inline] list_add_tail include/linux/list.h:93 [inline] cma_listen_on_all drivers/infiniband/core/cma.c:2477 [inline] rdma_listen+0x63b/0x8e0 drivers/infiniband/core/cma.c:3492 ucma_listen+0x14d/0x1c0 drivers/infiniband/core/ucma.c:1100 ucma_write+0x2da/0x3c0 drivers/infiniband/core/ucma.c:1689 __vfs_write+0x116/0x8e0 fs/read_write.c:485 vfs_write+0x20c/0x580 fs/read_write.c:549 ksys_write+0xea/0x1f0 fs/read_write.c:598 __do_sys_write fs/read_write.c:610 [inline] __se_sys_write fs/read_write.c:607 [inline] __x64_sys_write+0x73/0xb0 fs/read_write.c:607 do_syscall_64+0x103/0x610 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x457f29 Code: ad b8 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 7b b8 fb ff c3 66 2e 0f 1f 84 00 00 00 00 RSP: 002b:00007f83d41e4c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000000457f29 RDX: 00000000ffffff3a RSI: 00000000200001c0 RDI: 0000000000000003 RBP: 000000000073bf00 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f83d41e56d4 R13: 00000000004c71d9 R14: 00000000004dcc90 R15: 00000000ffffffff Allocated by task 23189: save_stack+0x45/0xd0 mm/kasan/common.c:75 set_track mm/kasan/common.c:87 [inline] __kasan_kmalloc mm/kasan/common.c:497 [inline] __kasan_kmalloc.constprop.0+0xcf/0xe0 mm/kasan/common.c:470 kasan_kmalloc+0x9/0x10 mm/kasan/common.c:511 kmem_cache_alloc_trace+0x151/0x760 mm/slab.c:3621 kmalloc include/linux/slab.h:545 [inline] kzalloc include/linux/slab.h:740 [inline] __rdma_create_id+0x5f/0x4e0 drivers/infiniband/core/cma.c:879 ucma_create_id+0x1de/0x640 drivers/infiniband/core/ucma.c:506 ucma_write+0x2da/0x3c0 drivers/infiniband/core/ucma.c:1689 __vfs_write+0x116/0x8e0 fs/read_write.c:485 vfs_write+0x20c/0x580 fs/read_write.c:549 ksys_write+0xea/0x1f0 fs/read_write.c:598 __do_sys_write fs/read_write.c:610 [inline] __se_sys_write fs/read_write.c:607 [inline] __x64_sys_write+0x73/0xb0 fs/read_write.c:607 do_syscall_64+0x103/0x610 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe Freed by task 23180: save_stack+0x45/0xd0 mm/kasan/common.c:75 set_track mm/kasan/common.c:87 [inline] __kasan_slab_free+0x102/0x150 mm/kasan/common.c:459 kasan_slab_free+0xe/0x10 mm/kasan/common.c:467 __cache_free mm/slab.c:3498 [inline] kfree+0xcf/0x230 mm/slab.c:3821 rdma_destroy_id+0x723/0xab0 drivers/infiniband/core/cma.c:1849 ucma_close+0x115/0x320 drivers/infiniband/core/ucma.c:1770 __fput+0x2df/0x8d0 fs/file_table.c:278 ____fput+0x16/0x20 fs/file_table.c:309 task_work_run+0x14a/0x1c0 kernel/task_work.c:113 exit_task_work include/linux/task_work.h:22 [inline] do_exit+0x90a/0x2fa0 kernel/exit.c:876 do_group_exit+0x135/0x370 kernel/exit.c:980 __do_sys_exit_group kernel/exit.c:991 [inline] __se_sys_exit_group kernel/exit.c:989 [inline] __x64_sys_exit_group+0x44/0x50 kernel/exit.c:989 do_syscall_64+0x103/0x610 arch/x86/entry/common.c:290 entry_SYSCALL_64_after_hwframe+0x49/0xbe kobject: 'loop2' (00000000f84e238c): fill_kobj_path: path = '/devices/virtual/block/loop2' The buggy address belongs to the object at ffff8880593089c0 which belongs to the cache kmalloc-2k of size 2048 The buggy address is located 480 bytes inside of 2048-byte region [ffff8880593089c0, ffff8880593091c0) The buggy address belongs to the page: page:ffffea000164c200 count:1 mapcount:0 mapping:ffff88812c3f0c40 index:0x0 compound_mapcount: 0 flags: 0x1fffc0000010200(slab|head) raw: 01fffc0000010200 ffffea0001627388 ffffea000162e688 ffff88812c3f0c40 raw: 0000000000000000 ffff888059308140 0000000100000003 0000000000000000 kobject: 'rx-0' (000000008bd7eef2): kobject_uevent_env page dumped because: kasan: bad access detected Memory state around the buggy address: ffff888059308a80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff888059308b00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff888059308b80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff888059308c00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff888059308c80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ================================================================== kobject: 'kvm' (00000000193779df): kobject_uevent_env kobject: 'kvm' (00000000193779df): kobject_uevent_env kobject: 'kvm' (00000000193779df): fill_kobj_path: path = '/devices/virtual/misc/kvm' kobject: 'kvm' (00000000193779df): fill_kobj_path: path = '/devices/virtual/misc/kvm'