Hello,
syzbot found the following issue on:
HEAD commit: 5601baec60aa Revert "usb: gadget: udc: fix use-after-free ..
git tree: android13-5.10-lts
console output:
https://syzkaller.appspot.com/x/log.txt?x=139a3002580000
kernel config:
https://syzkaller.appspot.com/x/.config?x=51cc8ac68ad5a6a0
dashboard link:
https://syzkaller.appspot.com/bug?extid=375f9375a3c29c4d4e64
compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8
syz repro:
https://syzkaller.appspot.com/x/repro.syz?x=1686905a580000
C reproducer:
https://syzkaller.appspot.com/x/repro.c?x=17bda452580000
Downloadable assets:
disk image:
https://storage.googleapis.com/syzbot-assets/456d8d2dbf14/disk-5601baec.raw.xz
vmlinux:
https://storage.googleapis.com/syzbot-assets/ec41ac14173d/vmlinux-5601baec.xz
kernel image:
https://storage.googleapis.com/syzbot-assets/e9bc9606c0a8/bzImage-5601baec.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by:
syzbot+375f93...@syzkaller.appspotmail.com
general protection fault, probably for non-canonical address 0xdffffc000000004e: 0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x0000000000000270-0x0000000000000277]
CPU: 1 PID: 391 Comm: kworker/1:15 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025
Workqueue: wg-crypt-wg0 wg_packet_tx_worker
RIP: 0010:bpf_sk_lookup_run_v6 include/linux/filter.h:1451 [inline]
RIP: 0010:udp6_lookup_run_bpf net/ipv6/udp.c:230 [inline]
RIP: 0010:__udp6_lib_lookup+0x5c6/0x860 net/ipv6/udp.c:267
Code: 3c 08 00 74 08 4c 89 ef e8 17 4f 9c fd 4d 8b 6d 00 b8 70 02 00 00 49 01 c5 4c 89 e8 48 c1 e8 03 48 b9 00 00 00 00 00 fc ff df <80> 3c 08 00 74 08 4c 89 ef e8 ec 4e 9c fd 49 8b 5d 00 e8 13 7c 7a
RSP: 0018:ffffc90000170720 EFLAGS: 00010206
RAX: 000000000000004e RBX: ffffe8ffffd15dc8 RCX: dffffc0000000000
RDX: 0000000080000102 RSI: ffffffff865ea838 RDI: ffffc900001707c0
RBP: ffffc90000170878 R08: ffffffff86e78048 R09: ffffffff86e78058
R10: ffffffff86e7805c R11: ffffffff86e78043 R12: ffff888113ceab40
R13: 0000000000000270 R14: 0000000000000000 R15: 0000000000000001
FS: 0000000000000000(0000) GS:ffff8881f7100000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000200000000100 CR3: 000000010d4d3000 CR4: 00000000003506a0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<IRQ>
__udp6_lib_lookup_skb+0xee/0x130 net/ipv6/udp.c:300
__udp6_lib_rcv+0x765/0xe30 net/ipv6/udp.c:992
udpv6_rcv+0x21/0x30 net/ipv6/udp.c:1098
ip6_protocol_deliver_rcu+0x878/0x1340 net/ipv6/ip6_input.c:427
ip6_input_finish net/ipv6/ip6_input.c:468 [inline]
NF_HOOK include/linux/netfilter.h:299 [inline]
ip6_input+0xda/0x210 net/ipv6/ip6_input.c:477
dst_input include/net/dst.h:461 [inline]
ip6_rcv_finish+0x18c/0x360 net/ipv6/ip6_input.c:80
NF_HOOK include/linux/netfilter.h:299 [inline]
ipv6_rcv+0xf0/0x230 net/ipv6/ip6_input.c:301
__netif_receive_skb_one_core net/core/dev.c:5402 [inline]
__netif_receive_skb+0xc8/0x280 net/core/dev.c:5516
process_backlog+0x368/0x600 net/core/dev.c:6423
napi_poll net/core/dev.c:6874 [inline]
net_rx_action+0x44d/0xe00 net/core/dev.c:6944
__do_softirq+0x255/0x563 kernel/softirq.c:309
asm_call_irq_on_stack+0xf/0x20
</IRQ>
__run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline]
run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline]
do_softirq_own_stack+0x60/0x80 arch/x86/kernel/irq_64.c:77
do_softirq+0xb0/0xf0 kernel/softirq.c:358
__local_bh_enable_ip+0x70/0x80 kernel/softirq.c:194
__raw_read_unlock_bh include/linux/rwlock_api_smp.h:251 [inline]
_raw_read_unlock_bh+0x29/0x30 kernel/locking/spinlock.c:279
wg_socket_send_skb_to_peer+0x172/0x1d0 drivers/net/wireguard/socket.c:184
wg_packet_create_data_done drivers/net/wireguard/send.c:251 [inline]
wg_packet_tx_worker+0x1b8/0x450 drivers/net/wireguard/send.c:276
process_one_work+0x6e1/0xba0 kernel/workqueue.c:2301
worker_thread+0xa6a/0x13c0 kernel/workqueue.c:2447
kthread+0x346/0x3d0 kernel/kthread.c:313
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298
Modules linked in:
---[ end trace e4db8f02e9d3d6af ]---
RIP: 0010:bpf_sk_lookup_run_v6 include/linux/filter.h:1451 [inline]
RIP: 0010:udp6_lookup_run_bpf net/ipv6/udp.c:230 [inline]
RIP: 0010:__udp6_lib_lookup+0x5c6/0x860 net/ipv6/udp.c:267
Code: 3c 08 00 74 08 4c 89 ef e8 17 4f 9c fd 4d 8b 6d 00 b8 70 02 00 00 49 01 c5 4c 89 e8 48 c1 e8 03 48 b9 00 00 00 00 00 fc ff df <80> 3c 08 00 74 08 4c 89 ef e8 ec 4e 9c fd 49 8b 5d 00 e8 13 7c 7a
RSP: 0018:ffffc90000170720 EFLAGS: 00010206
RAX: 000000000000004e RBX: ffffe8ffffd15dc8 RCX: dffffc0000000000
RDX: 0000000080000102 RSI: ffffffff865ea838 RDI: ffffc900001707c0
RBP: ffffc90000170878 R08: ffffffff86e78048 R09: ffffffff86e78058
R10: ffffffff86e7805c R11: ffffffff86e78043 R12: ffff888113ceab40
R13: 0000000000000270 R14: 0000000000000000 R15: 0000000000000001
FS: 0000000000000000(0000) GS:ffff8881f7100000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000200000000100 CR3: 000000010d4d3000 CR4: 00000000003506a0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
0: 3c 08 cmp $0x8,%al
2: 00 74 08 4c add %dh,0x4c(%rax,%rcx,1)
6: 89 ef mov %ebp,%edi
8: e8 17 4f 9c fd call 0xfd9c4f24
d: 4d 8b 6d 00 mov 0x0(%r13),%r13
11: b8 70 02 00 00 mov $0x270,%eax
16: 49 01 c5 add %rax,%r13
19: 4c 89 e8 mov %r13,%rax
1c: 48 c1 e8 03 shr $0x3,%rax
20: 48 b9 00 00 00 00 00 movabs $0xdffffc0000000000,%rcx
27: fc ff df
* 2a: 80 3c 08 00 cmpb $0x0,(%rax,%rcx,1) <-- trapping instruction
2e: 74 08 je 0x38
30: 4c 89 ef mov %r13,%rdi
33: e8 ec 4e 9c fd call 0xfd9c4f24
38: 49 8b 5d 00 mov 0x0(%r13),%rbx
3c: e8 .byte 0xe8
3d: 13 .byte 0x13
3e: 7c 7a jl 0xba
---
This report is generated by a bot. It may contain errors.
See
https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at
syzk...@googlegroups.com.
syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title
If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.
If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)
If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report
If you want to undo deduplication, reply with:
#syz undup