[<prev] [next>] [day] [month] [year] [list]
Message-ID: <67409ae4.050a0220.363a1b.0140.GAE@google.com>
Date: Fri, 22 Nov 2024 06:53:24 -0800
From: syzbot <syzbot+3bd2949d1470dea6df73@...kaller.appspotmail.com>
To: davem@...emloft.net, dsahern@...nel.org, edumazet@...gle.com,
kuba@...nel.org, linux-kernel@...r.kernel.org, netdev@...r.kernel.org,
pabeni@...hat.com, syzkaller-bugs@...glegroups.com
Subject: [syzbot] [net?] BUG: unable to handle kernel paging request in __skb_frag_unref
Hello,
syzbot found the following issue on:
HEAD commit: 86cada34bc3a arm64: preserve pt_regs::stackframe during ex..
git tree: git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci
console output: https://syzkaller.appspot.com/x/log.txt?x=12b50287980000
kernel config: https://syzkaller.appspot.com/x/.config?x=c154e2d4db830898
dashboard link: https://syzkaller.appspot.com/bug?extid=3bd2949d1470dea6df73
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
userspace arch: arm64
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=160050a7980000
Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/2cba29975cae/disk-86cada34.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/a1e63bf4e894/vmlinux-86cada34.xz
kernel image: https://storage.googleapis.com/syzbot-assets/6770ff6b33c6/Image-86cada34.gz.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+3bd2949d1470dea6df73@...kaller.appspotmail.com
Unable to handle kernel paging request at virtual address dfff800000000001
KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f]
Mem abort info:
ESR = 0x0000000096000005
EC = 0x25: DABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
FSC = 0x05: level 1 translation fault
Data abort info:
ISV = 0, ISS = 0x00000005, ISS2 = 0x00000000
CM = 0, WnR = 0, TnD = 0, TagAccess = 0
GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
[dfff800000000001] address between user and kernel address ranges
Internal error: Oops: 0000000096000005 [#1] PREEMPT SMP
Modules linked in:
CPU: 0 UID: 0 PID: 16 Comm: ksoftirqd/0 Not tainted 6.12.0-rc3-syzkaller-g86cada34bc3a #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
pstate: 40400005 (nZcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : _compound_head include/linux/page-flags.h:242 [inline]
pc : put_page include/linux/mm.h:1554 [inline]
pc : skb_page_unref include/linux/skbuff_ref.h:43 [inline]
pc : __skb_frag_unref+0x80/0x214 include/linux/skbuff_ref.h:56
lr : netmem_to_page include/net/netmem.h:83 [inline]
lr : skb_page_unref include/linux/skbuff_ref.h:43 [inline]
lr : __skb_frag_unref+0x78/0x214 include/linux/skbuff_ref.h:56
sp : ffff8000978f6aa0
x29: ffff8000978f6aa0 x28: dfff800000000000 x27: 0000000000000007
x26: ffff0000d3573d40 x25: ffff0000d3573d70 x24: 0000000000000000
x23: ffff0000d3573d42 x22: 1fffe0001a6ae7a8 x21: dfff800000000000
x20: 0000000000000008 x19: 0000000000000000 x18: ffff0000d1eba80c
x17: 0000000000013a0a x16: ffff800080588a40 x15: 0000000000000001
x14: 1fffe0001a6ae7ac x13: 0000000000000000 x12: 0000000000000000
x11: ffff60001a6ae7ad x10: 0000000000ff0100 x9 : 0000000000000000
x8 : 0000000000000001 x7 : 0000000000000000 x6 : 0000000000000000
x5 : 0000000000000001 x4 : 0000000000000008 x3 : ffff8000895974dc
x2 : 0000000000000000 x1 : 0000000000000000 x0 : 0000000000000000
Call trace:
_compound_head include/linux/page-flags.h:242 [inline] (P)
put_page include/linux/mm.h:1554 [inline] (P)
skb_page_unref include/linux/skbuff_ref.h:43 [inline] (P)
__skb_frag_unref+0x80/0x214 include/linux/skbuff_ref.h:56 (P)
netmem_to_page include/net/netmem.h:83 [inline] (L)
skb_page_unref include/linux/skbuff_ref.h:43 [inline] (L)
__skb_frag_unref+0x78/0x214 include/linux/skbuff_ref.h:56 (L)
skb_release_data+0x3c4/0x618 net/core/skbuff.c:1119
skb_release_all net/core/skbuff.c:1190 [inline]
__kfree_skb+0x58/0x78 net/core/skbuff.c:1204
tcp_wmem_free_skb include/net/tcp.h:306 [inline]
tcp_rtx_queue_unlink_and_free+0x2e8/0x4a8 include/net/tcp.h:2091
tcp_clean_rtx_queue net/ipv4/tcp_input.c:3436 [inline]
tcp_ack+0x1c84/0x55ac net/ipv4/tcp_input.c:4032
tcp_rcv_state_process+0x528/0x3e30 net/ipv4/tcp_input.c:6805
tcp_v4_do_rcv+0x71c/0xc44 net/ipv4/tcp_ipv4.c:1938
tcp_v4_rcv+0x2498/0x2dbc net/ipv4/tcp_ipv4.c:2350
ip_protocol_deliver_rcu+0x1f8/0x484 net/ipv4/ip_input.c:205
ip_local_deliver_finish+0x284/0x4f0 net/ipv4/ip_input.c:233
NF_HOOK+0x328/0x3d4 include/linux/netfilter.h:314
ip_local_deliver+0x120/0x194 net/ipv4/ip_input.c:254
dst_input include/net/dst.h:460 [inline]
ip_rcv_finish+0x220/0x24c net/ipv4/ip_input.c:449
NF_HOOK+0x328/0x3d4 include/linux/netfilter.h:314
ip_rcv+0x7c/0x9c net/ipv4/ip_input.c:569
__netif_receive_skb_one_core net/core/dev.c:5666 [inline]
__netif_receive_skb+0x18c/0x3c8 net/core/dev.c:5779
process_backlog+0x640/0x123c net/core/dev.c:6111
__napi_poll+0xb4/0x3fc net/core/dev.c:6775
napi_poll net/core/dev.c:6844 [inline]
net_rx_action+0x6a8/0xf4c net/core/dev.c:6966
handle_softirqs+0x2e0/0xbf8 kernel/softirq.c:554
run_ksoftirqd+0x70/0x158 kernel/softirq.c:927
smpboot_thread_fn+0x4b0/0x90c kernel/smpboot.c:164
kthread+0x288/0x310 kernel/kthread.c:389
ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:862
Code: 37000653 97a5f838 91002274 d343fe88 (38756908)
---[ end trace 0000000000000000 ]---
----------------
Code disassembly (best guess):
0: 37000653 tbnz w19, #0, 0xc8
4: 97a5f838 bl 0xfffffffffe97e0e4
8: 91002274 add x20, x19, #0x8
c: d343fe88 lsr x8, x20, #3
* 10: 38756908 ldrb w8, [x8, x21] <-- trapping instruction
---
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 syzkaller@...glegroups.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
Powered by blists - more mailing lists