syzbot


KASAN: use-after-free Read in rhashtable_last_table (2)

Status: auto-closed as invalid on 2022/04/09 15:34
Reported-by: syzbot+1774e0c5960c416cd5ce@syzkaller.appspotmail.com
First crash: 1077d, last: 1077d
Similar bugs (6)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KASAN: use-after-free Read in rhashtable_last_table net 4 2132d 2244d 0/28 closed as invalid on 2019/04/19 22:15
android-49 KASAN: use-after-free Read in rhashtable_last_table 2 1827d 1909d 0/3 auto-closed as invalid on 2020/03/20 18:26
upstream KASAN: use-after-free Read in rhashtable_last_table (2) net 1 2009d 2009d 12/28 fixed on 2019/08/05 13:45
linux-4.19 KASAN: use-after-free Read in rhashtable_last_table 2 1283d 1357d 0/1 auto-closed as invalid on 2021/09/15 21:37
linux-4.19 KASAN: use-after-free Read in rhashtable_last_table (3) 1 844d 844d 0/1 auto-obsoleted due to no activity on 2022/11/27 23:30
linux-4.14 KASAN: use-after-free Read in rhashtable_last_table 1 1316d 1316d 0/1 auto-closed as invalid on 2021/08/13 13:57

Sample crash report:
IPv6: ADDRCONF(NETDEV_UP): batadv_slave_0: link is not ready
batman_adv: batadv0: Interface activated: batadv_slave_0
IPv6: ADDRCONF(NETDEV_CHANGE): macvtap0: link becomes ready
IPv6: ADDRCONF(NETDEV_CHANGE): macsec0: link becomes ready
==================================================================
BUG: KASAN: use-after-free in __read_once_size include/linux/compiler.h:263 [inline]
BUG: KASAN: use-after-free in rhashtable_last_table+0x167/0x180 lib/rhashtable.c:217
Read of size 8 at addr ffff88803c403cc0 by task kworker/1:2/4693

CPU: 1 PID: 4693 Comm: kworker/1:2 Not tainted 4.19.211-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: events rht_deferred_worker
Call Trace:
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x1fc/0x2ef lib/dump_stack.c:118
 print_address_description.cold+0x54/0x219 mm/kasan/report.c:256
 kasan_report_error.cold+0x8a/0x1b9 mm/kasan/report.c:354
 kasan_report mm/kasan/report.c:412 [inline]
 __asan_report_load8_noabort+0x88/0x90 mm/kasan/report.c:433
 __read_once_size include/linux/compiler.h:263 [inline]
 rhashtable_last_table+0x167/0x180 lib/rhashtable.c:217
 rht_deferred_worker+0xa7/0x1b20 lib/rhashtable.c:410
 process_one_work+0x864/0x1570 kernel/workqueue.c:2153
 worker_thread+0x64c/0x1130 kernel/workqueue.c:2296
 kthread+0x33f/0x460 kernel/kthread.c:259
 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:415

Allocated by task 20725:
 __do_kmalloc_node mm/slab.c:3689 [inline]
 __kmalloc_node+0x4c/0x70 mm/slab.c:3696
 kmalloc_node include/linux/slab.h:557 [inline]
 kvmalloc_node+0xb4/0xf0 mm/util.c:423
 kvmalloc include/linux/mm.h:577 [inline]
 kvzalloc include/linux/mm.h:585 [inline]
 bucket_table_alloc+0x3a/0x440 lib/rhashtable.c:176
 rhashtable_rehash_alloc+0x6b/0x120 lib/rhashtable.c:353
 rht_deferred_worker+0x18a/0x1b20 lib/rhashtable.c:413
 process_one_work+0x864/0x1570 kernel/workqueue.c:2153
 worker_thread+0x64c/0x1130 kernel/workqueue.c:2296
 kthread+0x33f/0x460 kernel/kthread.c:259
 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:415

Freed by task 8062:
 __cache_free mm/slab.c:3503 [inline]
 kfree+0xcc/0x210 mm/slab.c:3822
 kvfree+0x59/0x60 mm/util.c:452
 rhashtable_free_and_destroy+0x15e/0x970 lib/rhashtable.c:1167
 ops_exit_list+0xa5/0x150 net/core/net_namespace.c:153
 cleanup_net+0x3b4/0x8b0 net/core/net_namespace.c:554
 process_one_work+0x864/0x1570 kernel/workqueue.c:2153
 worker_thread+0x64c/0x1130 kernel/workqueue.c:2296
 kthread+0x33f/0x460 kernel/kthread.c:259
 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:415

The buggy address belongs to the object at ffff88803c403c80
 which belongs to the cache kmalloc-32768 of size 32768
The buggy address is located 64 bytes inside of
 32768-byte region [ffff88803c403c80, ffff88803c40bc80)
The buggy address belongs to the page:
page:ffffea0000f10000 count:1 mapcount:0 mapping:ffff88813bff2380 index:0x0 compound_mapcount: 0
flags: 0xfff00000008100(slab|head)
raw: 00fff00000008100 ffffea0000edb808 ffffea000133f808 ffff88813bff2380
raw: 0000000000000000 ffff88803c403c80 0000000100000001 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff88803c403b80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
 ffff88803c403c00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
>ffff88803c403c80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
                                           ^
 ffff88803c403d00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 ffff88803c403d80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
==================================================================
IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_0: link becomes ready
IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_batadv: link becomes ready

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2021/12/10 15:34 linux-4.19.y 3f8a27f9e27b fc17c959 .config console log report info ci2-linux-4-19 KASAN: use-after-free Read in rhashtable_last_table
* Struck through repros no longer work on HEAD.