lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ