syzbot


KASAN: out-of-bounds Read in pie_calculate_probability

Status: closed as invalid on 2026/04/30 15:35
Subsystems: net
[Documentation on labels]
First crash: 96d, last: 96d
✨ AI Jobs (1)
ID Workflow Result Correct Bug Created Started Finished Revision Error
4baeff57-7468-4810-a106-cfb6c1c2e412 repro 💥 KASAN: out-of-bounds Read in pie_calculate_probability 2026/03/06 03:47 2026/03/06 03:47 2026/03/06 04:04 31e9c887f7dc24e04b3ca70d0d54fc34141844b0 Error 504, Message: Deadline expired before operation could complete., Status: DEADLINE_EXCEEDED, Details: [map[@type:type.googleapis.com/google.rpc.DebugInfo detail:[ORIGINAL ERROR] generic::deadline_exceeded: [original: beyond::dependency::DEADLINE_EXCEEDED] Deadline exceeded during decode.; Failed while executing Op 'Decode'; Failed to close the streaming context; status = DEADLINE_EXCEEDED: Deadline exceeded during decode.; Failed while executing Op 'Decode' [type.googleapis.com/stairways.orch.ErrorLoc='learning/serving/servables/wiz/orch_wiz_servable.cc:1027'] === Source Location Trace: === learning/brain/research/stairways/orchestrator/leaf/chain_stub.cc:125 learning/serving/servables/wiz/orch_wiz_servable.cc:1037 ; Failed to run inference for model: go/debugproto name: "prod-common-global__/aistudio/gemini-v4m-rev22-riftrunner-sc__main__/aistudio/gemini-v4m-rev22-riftrunner-sc__2026020501__prefill__variant__d64573d4-1619-4a9f-8fc2-839974602b1f" version { value: 1 } signature_name: "serving_default" ; [model=/aistudio/gemini-v4m-rev22-riftrunner-sc,target=PredictionService]; for endpoint: [google.rpc.error_details_ext] { message: "Deadline expired before operation could complete." details { type_url: "type.googleapis.com/language_labs.genai.debug.GeminiApiDebugInfo" value: "\222\001\372\006\n\332\006Deadline exceeded during decode.; Failed while executing Op \'Decode\'; Failed to close the streaming context; status = DEADLINE_EXCEEDED: Deadline exceeded during decode.; Failed while executing Op \'Decode\' [type.googleapis.com/stairways.orch.ErrorLoc=\'learning/serving/servables/wiz/orch_wiz_servable.cc:1027\']\n=== Source Location Trace: ===\nlearning/brain/research/stairways/orchestrator/leaf/chain_stub.cc:125\nlearning/serving/servables/wiz/orch_wiz_servable.cc:1037\n; Failed to run inference for model: go/debugproto \nname: \"prod-common-global__/aistudio/gemini-v4m-rev22-riftrunner-sc__main__/aistudio/gemini-v4m-rev22-riftrunner-sc__2026020501__prefill__variant__d64573d4-1619-4a9f-8fc2-839974602b1f\"\nversion {\n value: 1\n}\nsignature_name: \"serving_default\"\n; [model=/aistudio/gemini-v4m-rev22-riftrunner-sc,target=PredictionService]; for endpoint: \022\033net/rpc/rpc-status.cc:562:0" } } 525002922 { 3 { 1: "/aistudio/gemini-v4m-rev22-riftrunner-sc" } 6 { 5 { 1 { 1: "/aistudio/gemini-v4m-rev22-riftrunner-sc" 3: "serving_default" } 2: 131072 3: 1 } 6 { 2: 1 3: 0 4: "Non-retryable error: Deadline exceeded during decode.; Failed while executing Op \'Decode\'; Failed to close the streaming context; status = DEADLINE_EXCEEDED: Deadline exceeded during decode.; Failed while executing Op \'Decode\' [type.googleapis.com/stairways.orch.ErrorLoc=\'learning/serving/servables/wiz/orch_wiz_servable.cc:1027\']\n=== Source Location Trace: ===\nlearning/brain/research/stairways/orchestrator/leaf/chain_stub.cc:125\nlearning/serving/servables/wiz/orch_wiz_servable.cc:1037\n; Failed to run inference for model: go/debugproto \nname: \"prod-common-global__/aistudio/gemini-v4m-rev22-riftrunner-sc__main__/aistudio/gemini-v4m-rev22-riftrunner-sc__2026020501__prefill__variant__d64573d4-1619-4a9f-8fc2-839974602b1f\"\nversion {\n value: 1\n}\nsignature_name: \"serving_default\"\n; [model=/aistudio/gemini-v4m-rev22-riftrunner-sc,target=PredictionService]; for endpoint: " 5 { 1 { 1: 1772769248 2: 608242548 } 2 { 1: 598 2: 82909324 } } 6: "\200\200\004" } } }]]

Sample crash report:
==================================================================
BUG: KASAN: out-of-bounds in pie_calculate_probability+0x74/0x7e0 net/sched/sch_pie.c:-1
Read of size 8 at addr ffff8880b3580000 by task syz.1.8612/8086

CPU: 1 UID: 0 PID: 8086 Comm: syz.1.8612 Not tainted syzkaller #0 PREEMPT(full) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2026
Call Trace:
 <IRQ>
 dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120
 print_address_description mm/kasan/report.c:378 [inline]
 print_report+0xba/0x230 mm/kasan/report.c:482
 kasan_report+0x117/0x150 mm/kasan/report.c:595
 pie_calculate_probability+0x74/0x7e0 net/sched/sch_pie.c:-1
 fq_pie_timer+0x288/0x5b0 net/sched/sch_fq_pie.c:402
 call_timer_fn+0x192/0x5a0 kernel/time/timer.c:1748
 expire_timers kernel/time/timer.c:1799 [inline]
 __run_timers kernel/time/timer.c:2373 [inline]
 __run_timer_base+0x652/0x8b0 kernel/time/timer.c:2385
 run_timer_base kernel/time/timer.c:2394 [inline]
 run_timer_softirq+0xb7/0x170 kernel/time/timer.c:2404
 handle_softirqs+0x22a/0x7c0 kernel/softirq.c:622
 __do_softirq kernel/softirq.c:656 [inline]
 invoke_softirq kernel/softirq.c:496 [inline]
 __irq_exit_rcu+0x5f/0x150 kernel/softirq.c:723
 irq_exit_rcu+0x9/0x30 kernel/softirq.c:739
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1056 [inline]
 sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1056
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697
RIP: 0010:lockdep_enabled kernel/locking/lockdep.c:118 [inline]
RIP: 0010:lock_acquire+0x8b/0x330 kernel/locking/lockdep.c:5844
Code: 0f 84 ca 01 00 00 83 3d 62 67 70 0e 00 0f 84 d3 00 00 00 48 8b b4 24 90 00 00 00 4c 89 ef e8 8c db 8c 00 83 3d 45 67 70 0e 00 <0f> 84 ce 00 00 00 65 8b 05 28 ea 76 11 85 c0 0f 85 bf 00 00 00 65
RSP: 0018:ffffc9000bb8ee98 EFLAGS: 00000202
RAX: 0000000000000001 RBX: 0000000000000000 RCX: 0000000080000001
RDX: 0000000000000000 RSI: ffffffff81759292 RDI: 1ffffffff1cebc14
RBP: ffffffff81759275 R08: 0000000000000000 R09: 0000000000000000
R10: ffffc9000bb8f058 R11: ffffffff81af7870 R12: 0000000000000002
R13: ffffffff8e75e0a0 R14: 0000000000000000 R15: 0000000000000000
 rcu_lock_acquire include/linux/rcupdate.h:312 [inline]
 rcu_read_lock include/linux/rcupdate.h:850 [inline]
 class_rcu_constructor include/linux/rcupdate.h:1193 [inline]
 unwind_next_frame+0xc2/0x23c0 arch/x86/kernel/unwind_orc.c:495
 arch_stack_walk+0x11b/0x150 arch/x86/kernel/stacktrace.c:25
 stack_trace_save+0xa9/0x100 kernel/stacktrace.c:122
 kasan_save_stack mm/kasan/common.c:57 [inline]
 kasan_save_track+0x3e/0x80 mm/kasan/common.c:78
 unpoison_slab_object mm/kasan/common.c:340 [inline]
 __kasan_slab_alloc+0x6c/0x80 mm/kasan/common.c:366
 kasan_slab_alloc include/linux/kasan.h:253 [inline]
 slab_post_alloc_hook mm/slub.c:4459 [inline]
 slab_alloc_node mm/slub.c:4788 [inline]
 kmem_cache_alloc_noprof+0x2bc/0x650 mm/slub.c:4795
 __kernfs_new_node+0xe9/0x8e0 fs/kernfs/dir.c:637
 kernfs_new_node+0x102/0x210 fs/kernfs/dir.c:718
 __kernfs_create_file+0x4b/0x2e0 fs/kernfs/file.c:1057
 sysfs_add_file_mode_ns+0x238/0x300 fs/sysfs/file.c:313
 create_files fs/sysfs/group.c:82 [inline]
 internal_create_group+0x673/0x1180 fs/sysfs/group.c:189
 internal_create_groups fs/sysfs/group.c:229 [inline]
 sysfs_create_groups+0x59/0x120 fs/sysfs/group.c:255
 setup_gid_attrs drivers/infiniband/core/sysfs.c:1162 [inline]
 ib_setup_port_attrs+0x148f/0x2140 drivers/infiniband/core/sysfs.c:1439
 add_one_compat_dev+0x448/0x650 drivers/infiniband/core/device.c:1005
 rdma_dev_init_net+0x243/0x2f0 drivers/infiniband/core/device.c:1221
 ops_init+0x35c/0x5c0 net/core/net_namespace.c:137
 setup_net+0x118/0x340 net/core/net_namespace.c:446
 copy_net_ns+0x50e/0x730 net/core/net_namespace.c:581
 create_new_namespaces+0x3e7/0x6a0 kernel/nsproxy.c:130
 unshare_nsproxy_namespaces+0x11a/0x160 kernel/nsproxy.c:226
 ksys_unshare+0x4f4/0x900 kernel/fork.c:3174
 __do_sys_unshare kernel/fork.c:3245 [inline]
 __se_sys_unshare kernel/fork.c:3243 [inline]
 __x64_sys_unshare+0x38/0x50 kernel/fork.c:3243
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0x14d/0xf80 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f346ad9bf79
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 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 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f3468fd5028 EFLAGS: 00000246 ORIG_RAX: 0000000000000110
RAX: ffffffffffffffda RBX: 00007f346b016090 RCX: 00007f346ad9bf79
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 000000006a040000
RBP: 00007f346ae327e0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f346b016128 R14: 00007f346b016090 R15: 00007ffe6047d628
 </TASK>

The buggy address belongs to the physical page:
page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0xb3580
head: order:5 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0
flags: 0xfff00000000040(head|node=0|zone=1|lastcpupid=0x7ff)
page_type: f8(unknown)
raw: 00fff00000000040 0000000000000000 dead000000000122 0000000000000000
raw: 0000000000000000 0000000000000000 00000000f8000000 0000000000000000
head: 00fff00000000040 0000000000000000 dead000000000122 0000000000000000
head: 0000000000000000 0000000000000000 00000000f8000000 0000000000000000
head: 00fff00000000005 ffffea0002cd6001 00000000ffffffff 00000000ffffffff
head: ffffffffffffffff 0000000000000000 00000000ffffffff 0000000000000020
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 5, migratetype Unmovable, gfp_mask 0x429c0(GFP_NOWAIT|__GFP_IO|__GFP_FS|__GFP_ZERO|__GFP_COMP), pid 27537, tgid 27536 (syz.4.5402), ts 759039839468, free_ts 758999088404
 set_page_owner include/linux/page_owner.h:32 [inline]
 post_alloc_hook+0x228/0x280 mm/page_alloc.c:1884
 prep_new_page mm/page_alloc.c:1892 [inline]
 get_page_from_freelist+0x24dc/0x2580 mm/page_alloc.c:3950
 __alloc_frozen_pages_noprof+0x18d/0x380 mm/page_alloc.c:5245
 alloc_pages_mpol+0x232/0x4a0 mm/mempolicy.c:2486
 ___kmalloc_large_node+0x4e/0x150 mm/slub.c:5118
 __kmalloc_large_node_noprof+0x18/0x90 mm/slub.c:5149
 __do_kmalloc_node mm/slub.c:5165 [inline]
 __kvmalloc_node_noprof+0x7b/0x8a0 mm/slub.c:6668
 kvmalloc_array_node_noprof include/linux/slab.h:1232 [inline]
 fq_pie_init+0x435/0x840 net/sched/sch_fq_pie.c:451
 qdisc_create+0x7c4/0xf20 net/sched/sch_api.c:1319
 __tc_modify_qdisc net/sched/sch_api.c:1753 [inline]
 tc_modify_qdisc+0x16f0/0x2290 net/sched/sch_api.c:1817
 rtnetlink_rcv_msg+0x77e/0xbe0 net/core/rtnetlink.c:6967
 netlink_rcv_skb+0x232/0x4b0 net/netlink/af_netlink.c:2550
 netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
 netlink_unicast+0x80f/0x9b0 net/netlink/af_netlink.c:1344
 netlink_sendmsg+0x813/0xb40 net/netlink/af_netlink.c:1894
 sock_sendmsg_nosec net/socket.c:727 [inline]
 __sock_sendmsg net/socket.c:742 [inline]
 ____sys_sendmsg+0xa68/0xad0 net/socket.c:2592
 ___sys_sendmsg+0x2a5/0x360 net/socket.c:2646
page last free pid 27532 tgid 27532 stack trace:
 reset_page_owner include/linux/page_owner.h:25 [inline]
 free_pages_prepare mm/page_alloc.c:1433 [inline]
 __free_pages_ok+0xace/0xc30 mm/page_alloc.c:1609
 netif_free_tx_queues net/core/dev.c:11188 [inline]
 free_netdev+0x175/0x6d0 net/core/dev.c:12165
 netdev_run_todo+0xc55/0xde0 net/core/dev.c:11708
 tun_detach drivers/net/tun.c:640 [inline]
 tun_chr_close+0x13c/0x1c0 drivers/net/tun.c:3436
 __fput+0x44f/0xa70 fs/file_table.c:469
 task_work_run+0x1d9/0x270 kernel/task_work.c:233
 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
 __exit_to_user_mode_loop kernel/entry/common.c:67 [inline]
 exit_to_user_mode_loop+0xed/0x480 kernel/entry/common.c:98
 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:226 [inline]
 syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:256 [inline]
 syscall_exit_to_user_mode include/linux/entry-common.h:325 [inline]
 do_syscall_64+0x32d/0xf80 arch/x86/entry/syscall_64.c:100
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

Memory state around the buggy address:
 ffff8880b357ff00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
 ffff8880b357ff80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>ffff8880b3580000: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                   ^
 ffff8880b3580080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffff8880b3580100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
==================================================================
----------------
Code disassembly (best guess):
   0:	0f 84 ca 01 00 00    	je     0x1d0
   6:	83 3d 62 67 70 0e 00 	cmpl   $0x0,0xe706762(%rip)        # 0xe70676f
   d:	0f 84 d3 00 00 00    	je     0xe6
  13:	48 8b b4 24 90 00 00 	mov    0x90(%rsp),%rsi
  1a:	00
  1b:	4c 89 ef             	mov    %r13,%rdi
  1e:	e8 8c db 8c 00       	call   0x8cdbaf
  23:	83 3d 45 67 70 0e 00 	cmpl   $0x0,0xe706745(%rip)        # 0xe70676f
* 2a:	0f 84 ce 00 00 00    	je     0xfe <-- trapping instruction
  30:	65 8b 05 28 ea 76 11 	mov    %gs:0x1176ea28(%rip),%eax        # 0x1176ea5f
  37:	85 c0                	test   %eax,%eax
  39:	0f 85 bf 00 00 00    	jne    0xfe
  3f:	65                   	gs

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/02/17 01:17 net-next 37a93dd5c49b 5d52cba5 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-net-kasan-gce KASAN: out-of-bounds Read in pie_calculate_probability
* Struck through repros no longer work on HEAD.