Re: [syzbot] [bpf?] possible deadlock in get_page_from_freelist

From: Yuntao Wang
Date: Sat May 18 2024 - 01:40:53 EST


On Fri, 17 May 2024 15:15:00 +0800, Pengfei Xu <pengfei.xu@xxxxxxxxx> wrote:

> Hi Yuntao,
>
> Greeting!
>
> On 2024-04-14 at 19:28:16 -0700, syzbot wrote:
> > Hello,
> >
> > syzbot found the following issue on:
> >
> > HEAD commit: 7efd0a74039f Merge tag 'ata-6.9-rc4' of git://git.kernel.o..
> > git tree: upstream
> > console output: https://syzkaller.appspot.com/x/log.txt?x=1358aeed180000
> > kernel config: https://syzkaller.appspot.com/x/.config?x=285be8dd6baeb438
> > dashboard link: https://syzkaller.appspot.com/bug?extid=a7f061d2d16154538c58
> > compiler: gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40
> >
> > Unfortunately, I don't have any reproducer for this issue yet.
> >
>
> I used syzkaller and could reproduce the similar issue "WARNING in
> get_page_from_freelist" in v6.9 mainline kernel.
>
> Bisected and found first bad commit:
> "
> 816d334afa85 kexec: modify the meaning of the end parameter in kimage_is_destination_range()
> "
> Revert above commit on top of v6.9 kernel this issue was gone.

Hi Pengfei,

I reviewed this commit multiple times, but I still couldn't figure out why this
commit would cause this issue. Could someone else please take a look? Thank you
very much!

Thanks,
Yuntao

> All detailed info: https://github.com/xupengfe/syzkaller_logs/tree/main/240517_085953_get_page_from_freelist
> mount_*.gz are in above link.
> Syzkaller reproduced code: https://github.com/xupengfe/syzkaller_logs/blob/main/240517_085953_get_page_from_freelist/rep.c
> Syzkaller syscall repro steps: https://github.com/xupengfe/syzkaller_logs/blob/main/240517_085953_get_page_from_freelist/repro.prog
> Syzkaller report: https://github.com/xupengfe/syzkaller_logs/blob/main/240517_085953_get_page_from_freelist/repro.report
> Kconfig(make olddefconfig): https://github.com/xupengfe/syzkaller_logs/blob/main/240517_085953_get_page_from_freelist/kconfig_origin
> Bisect info: https://github.com/xupengfe/syzkaller_logs/blob/main/240517_085953_get_page_from_freelist/bisect_info.log
> v6.9 dmesg: https://github.com/xupengfe/syzkaller_logs/blob/main/240517_085953_get_page_from_freelist/a38297e3fb012ddfa7ce0321a7e5a8daeb1872b6_dmesg.log
> v6.9 bzImage: https://github.com/xupengfe/syzkaller_logs/raw/main/240517_085953_get_page_from_freelist/bzImage_a38297e3fb012ddfa7ce0321a7e5a8daeb1872b6.tar.gz
>
> [ 17.436013] loop0: detected capacity change from 0 to 1024
> [ 17.456160] I/O error, dev loop0, sector 0 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
> [ 17.456746] loop0: detected capacity change from 0 to 1024
> [ 17.456809] I/O error, dev loop0, sector 16 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
> [ 17.457548] EXT4-fs: Invalid want_extra_isize 0
> [ 17.575984] repro: page allocation failure: order:1, mode:0x10cc0(GFP_KERNEL|__GFP_NORETRY), nodemask=(null),cpuset=/,mems_allowed=0
> [ 17.576621] CPU: 1 PID: 726 Comm: repro Not tainted 6.9.0-a38297e3fb01+ #1
> [ 17.576930] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014
> [ 17.577412] Call Trace:
> [ 17.577526] <TASK>
> [ 17.577626] dump_stack_lvl+0x121/0x150
> [ 17.577813] dump_stack+0x19/0x20
> [ 17.577969] warn_alloc+0x218/0x350
> [ 17.578133] ? __pfx_warn_alloc+0x10/0x10
> [ 17.578317] ? __alloc_pages_direct_compact+0x130/0xa00
> [ 17.578552] ? __pfx___alloc_pages_direct_compact+0x10/0x10
> [ 17.578803] ? __drain_all_pages+0x27b/0x480
> [ 17.579021] __alloc_pages_slowpath.constprop.0+0x1b62/0x2160
> [ 17.579291] ? __pfx___alloc_pages_slowpath.constprop.0+0x10/0x10
> [ 17.579569] ? __pfx_get_page_from_freelist+0x10/0x10
> [ 17.579802] ? prepare_alloc_pages.constprop.0+0x15b/0x4f0
> [ 17.580032] __alloc_pages+0x48f/0x580
> [ 17.580212] ? __pfx___alloc_pages+0x10/0x10
> [ 17.580392] ? kasan_save_stack+0x40/0x60
> [ 17.580583] ? kasan_save_stack+0x2c/0x60
> [ 17.580772] ? kasan_save_track+0x18/0x40
> [ 17.580946] ? _find_first_bit+0x95/0xc0
> [ 17.581114] ? policy_nodemask+0xf9/0x450
> [ 17.581300] alloc_pages_mpol+0x296/0x590
> [ 17.581487] ? __pfx_alloc_pages_mpol+0x10/0x10
> [ 17.581695] ? arch_kexec_post_alloc_pages+0x37/0x70
> [ 17.581924] ? __pfx_write_comp_data+0x10/0x10
> [ 17.582133] alloc_pages+0x13f/0x160
> [ 17.582302] kimage_alloc_pages+0x79/0x240
> [ 17.582498] kimage_alloc_control_pages+0x1cb/0xa60
> [ 17.582727] ? __pfx_kimage_alloc_control_pages+0x10/0x10
> [ 17.582973] ? __sanitizer_cov_trace_const_cmp1+0x1e/0x30
> [ 17.583224] do_kexec_load+0x337/0x750
> [ 17.583406] __x64_sys_kexec_load+0x1cc/0x240
> [ 17.583619] x64_sys_call+0x1aa2/0x20c0
> [ 17.583807] do_syscall_64+0x6f/0x150
> [ 17.583988] entry_SYSCALL_64_after_hwframe+0x76/0x7e
> [ 17.584217] RIP: 0033:0x7f4f2ec3ee5d
> [ 17.584382] Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 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 8b 0d 93 af 1b 00 f7 d8 64 89 01 48
> [ 17.585171] RSP: 002b:00007ffd101da888 EFLAGS: 00000246 ORIG_RAX: 00000000000000f6
> [ 17.585500] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f4f2ec3ee5d
> [ 17.585985] RDX: 00000000200003c0 RSI: 0000000000000002 RDI: 0000000000000000
> [ 17.586346] RBP: 00007ffd101da8a0 R08: 0000000000000800 R09: 0000000000000800
> [ 17.586656] R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffd101da9b8
> [ 17.587001] R13: 0000000000402862 R14: 0000000000412e08 R15: 00007f4f2ef30000
> [ 17.587381] </TASK>
> [ 17.587559] Mem-Info:
> [ 17.587667] active_anon:117 inactive_anon:14235 isolated_anon:0
> [ 17.587667] active_file:25278 inactive_file:25394 isolated_file:0
> [ 17.587667] unevictable:0 dirty:82 writeback:189
> [ 17.587667] slab_reclaimable:14774 slab_unreclaimable:23678
> [ 17.587667] mapped:13500 shmem:1187 pagetables:846
> [ 17.587667] sec_pagetables:0 bounce:0
> [ 17.587667] kernel_misc_reclaimable:0
> [ 17.587667] free:13396 free_pcp:37 free_cma:0
> [ 17.589349] Node 0 active_anon:468kB inactive_anon:56940kB active_file:101112kB inactive_file:101576kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:54000kB dirty:328kB writeback:756kB shmem:4748kB shmem_thp:0kB shmem_pmdmapped:0kB anon_thp:0kB writeback_tmp:0kB kernel_stack:5504kB pagetables:3384kB sec_pagetables:0kB all_unreclaimable? no
> [ 17.590712] Node 0 DMA free:6664kB boost:0kB min:424kB low:528kB high:632kB reserved_highatomic:0KB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:15992kB managed:15360kB mlocked:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB
> [ 17.591848] lowmem_reserve[]: 0 1564 1564 1564 1564
> [ 17.592075] Node 0 DMA32 free:46920kB boost:0kB min:44628kB low:55784kB high:66940kB reserved_highatomic:0KB active_anon:468kB inactive_anon:56940kB active_file:101072kB inactive_file:101568kB unevictable:0kB writepending:1504kB present:2080640kB managed:1620324kB mlocked:0kB bounce:0kB free_pcp:468kB local_pcp:0kB free_cma:0kB
> [ 17.593443] lowmem_reserve[]: 0 0 0 0 0
> [ 17.593624] Node 0 DMA: 0*4kB 2*8kB (UM) 1*16kB (M) 1*32kB (M) 1*64kB (M) 1*128kB (M) 1*256kB (M) 2*512kB (UM) 1*1024kB (M) 0*2048kB 1*4096kB (M) = 6656kB
> [ 17.594261] Node 0 DMA32: 770*4kB (UME) 193*8kB (UME) 121*16kB (UME) 72*32kB (UME) 39*64kB (UME) 15*128kB (ME) 7*256kB (UM) 4*512kB (ME) 2*1024kB (UM) 4*2048kB (UME) 5*4096kB (M) = 47840kB
> [ 17.595020] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=1048576kB
> [ 17.595399] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
> [ 17.595774] 51855 total pagecache pages
> [ 17.595949] 0 pages in swap cache
> [ 17.596170] Free swap = 0kB
> [ 17.596304] Total swap = 0kB
> [ 17.596440] 524158 pages RAM
> [ 17.596589] 0 pages HighMem/MovableOnly
> [ 17.596767] 115237 pages reserved
> [ 17.596934] 0 pages cma reserved
> [ 17.597149] 0 pages hwpoisoned
> [ 17.645660] kexec: Could not allocate control_code_buffer
> [ 17.785654] loop0: detected capacity change from 0 to 65536
> [ 17.787652] =======================================================
> [ 17.787652] WARNING: The mand mount option has been deprecated and
> [ 17.787652] and is ignored by this kernel. Remove the mand
> [ 17.787652] option from the mount to silence this warning.
> [ 17.787652] =======================================================
> [ 17.801532] XFS (loop0): cannot change alignment: superblock does not support data alignment
> [ 17.878479] loop0: detected capacity change from 0 to 1024
> [ 17.888666] I/O error, dev loop0, sector 0 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
> [ 17.894988] loop0: detected capacity change from 0 to 1024
> [ 17.895613] EXT4-fs: Invalid want_extra_isize 0
> [ 17.909948] loop0: detected capacity change from 0 to 128
> [ 18.105190] kexec: Could not allocate control_code_buffer
>
> Hope it's helpful.
>
> Thanks!
>
> ---
>
> If you don't need the following environment to reproduce the problem or if you
> already have one reproduced environment, please ignore the following information.
>
> How to reproduce:
> git clone https://gitlab.com/xupengfe/repro_vm_env.git
> cd repro_vm_env
> tar -xvf repro_vm_env.tar.gz
> cd repro_vm_env; ./start3.sh // it needs qemu-system-x86_64 and I used v7.1.0
> // start3.sh will load bzImage_2241ab53cbb5cdb08a6b2d4688feb13971058f65 v6.2-rc5 kernel
> // You could change the bzImage_xxx as you want
> // Maybe you need to remove line "-drive if=pflash,format=raw,readonly=on,file=./OVMF_CODE.fd \" for different qemu version
> You could use below command to log in, there is no password for root.
> ssh -p 10023 root@localhost
>
> After login vm(virtual machine) successfully, you could transfer reproduced
> binary to the vm by below way, and reproduce the problem in vm:
> gcc -pthread -o repro repro.c
> scp -P 10023 repro root@localhost:/root/
>
> Get the bzImage for target kernel:
> Please use target kconfig and copy it to kernel_src/.config
> make olddefconfig
> make -jx bzImage //x should equal or less than cpu num your pc has
>
> Fill the bzImage file into above start3.sh to load the target kernel in vm.
>
>
> Tips:
> If you already have qemu-system-x86_64, please ignore below info.
> If you want to install qemu v7.1.0 version:
> git clone https://github.com/qemu/qemu.git
> cd qemu
> git checkout -f v7.1.0
> mkdir build
> cd build
> yum install -y ninja-build.x86_64
> yum -y install libslirp-devel.x86_64
> ../configure --target-list=x86_64-softmmu --enable-kvm --enable-vnc --enable-gtk --enable-sdl --enable-usb-redir --enable-slirp
> make
> make install
>
> Best Regards,
> Thanks!
>
>
> > Downloadable assets:
> > disk image (non-bootable): https://storage.googleapis.com/syzbot-assets/7bc7510fe41f/non_bootable_disk-7efd0a74.raw.xz
> > vmlinux: https://storage.googleapis.com/syzbot-assets/39eb4e17e7f0/vmlinux-7efd0a74.xz
> > kernel image: https://storage.googleapis.com/syzbot-assets/b9a08c36e0ca/bzImage-7efd0a74.xz
> >
> > IMPORTANT: if you fix the issue, please add the following tag to the commit:
> > Reported-by: syzbot+a7f061d2d16154538c58@xxxxxxxxxxxxxxxxxxxxxxxxx
> >
> > ======================================================
> > WARNING: possible circular locking dependency detected
> > 6.9.0-rc3-syzkaller-00355-g7efd0a74039f #0 Not tainted
> > ------------------------------------------------------
> > syz-executor.2/7645 is trying to acquire lock:
> > ffff88807ffd7d58 (&zone->lock){-.-.}-{2:2}, at: rmqueue_buddy mm/page_alloc.c:2730 [inline]
> > ffff88807ffd7d58 (&zone->lock){-.-.}-{2:2}, at: rmqueue mm/page_alloc.c:2911 [inline]
> > ffff88807ffd7d58 (&zone->lock){-.-.}-{2:2}, at: get_page_from_freelist+0x4b9/0x3780 mm/page_alloc.c:3314
> >
> > but task is already holding lock:
> > ffff88802c8739f8 (&trie->lock){-.-.}-{2:2}, at: trie_update_elem+0xc8/0xdd0 kernel/bpf/lpm_trie.c:324
> >
> > which lock already depends on the new lock.
> >
> >
> > the existing dependency chain (in reverse order) is:
> >
> > -> #1 (&trie->lock){-.-.}-{2:2}:
> > __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
> > _raw_spin_lock_irqsave+0x3a/0x60 kernel/locking/spinlock.c:162
> > trie_delete_elem+0xb0/0x7e0 kernel/bpf/lpm_trie.c:451
> > ___bpf_prog_run+0x3e51/0xabd0 kernel/bpf/core.c:1997
> > __bpf_prog_run32+0xc1/0x100 kernel/bpf/core.c:2236
> > bpf_dispatcher_nop_func include/linux/bpf.h:1234 [inline]
> > __bpf_prog_run include/linux/filter.h:657 [inline]
> > bpf_prog_run include/linux/filter.h:664 [inline]
> > __bpf_trace_run kernel/trace/bpf_trace.c:2381 [inline]
> > bpf_trace_run2+0x151/0x420 kernel/trace/bpf_trace.c:2420
> > __bpf_trace_contention_end+0xca/0x110 include/trace/events/lock.h:122
> > trace_contention_end.constprop.0+0xea/0x170 include/trace/events/lock.h:122
> > __pv_queued_spin_lock_slowpath+0x266/0xc80 kernel/locking/qspinlock.c:560
> > pv_queued_spin_lock_slowpath arch/x86/include/asm/paravirt.h:584 [inline]
> > queued_spin_lock_slowpath arch/x86/include/asm/qspinlock.h:51 [inline]
> > queued_spin_lock include/asm-generic/qspinlock.h:114 [inline]
> > do_raw_spin_lock+0x210/0x2c0 kernel/locking/spinlock_debug.c:116
> > __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:111 [inline]
> > _raw_spin_lock_irqsave+0x42/0x60 kernel/locking/spinlock.c:162
> > rmqueue_bulk mm/page_alloc.c:2131 [inline]
> > __rmqueue_pcplist+0x5a8/0x1b00 mm/page_alloc.c:2826
> > rmqueue_pcplist mm/page_alloc.c:2868 [inline]
> > rmqueue mm/page_alloc.c:2905 [inline]
> > get_page_from_freelist+0xbaa/0x3780 mm/page_alloc.c:3314
> > __alloc_pages+0x22b/0x2460 mm/page_alloc.c:4575
> > __alloc_pages_node include/linux/gfp.h:238 [inline]
> > alloc_pages_node include/linux/gfp.h:261 [inline]
> > alloc_slab_page mm/slub.c:2175 [inline]
> > allocate_slab mm/slub.c:2338 [inline]
> > new_slab+0xcc/0x3a0 mm/slub.c:2391
> > ___slab_alloc+0x66d/0x1790 mm/slub.c:3525
> > __slab_alloc.constprop.0+0x56/0xb0 mm/slub.c:3610
> > __slab_alloc_node mm/slub.c:3663 [inline]
> > slab_alloc_node mm/slub.c:3835 [inline]
> > __do_kmalloc_node mm/slub.c:3965 [inline]
> > __kmalloc_node_track_caller+0x367/0x470 mm/slub.c:3986
> > kmalloc_reserve+0xef/0x2c0 net/core/skbuff.c:599
> > __alloc_skb+0x164/0x380 net/core/skbuff.c:668
> > alloc_skb include/linux/skbuff.h:1313 [inline]
> > nsim_dev_trap_skb_build drivers/net/netdevsim/dev.c:748 [inline]
> > nsim_dev_trap_report drivers/net/netdevsim/dev.c:805 [inline]
> > nsim_dev_trap_report_work+0x2a4/0xc80 drivers/net/netdevsim/dev.c:850
> > process_one_work+0x9a9/0x1ac0 kernel/workqueue.c:3254
> > process_scheduled_works kernel/workqueue.c:3335 [inline]
> > worker_thread+0x6c8/0xf70 kernel/workqueue.c:3416
> > kthread+0x2c1/0x3a0 kernel/kthread.c:388
> > ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147
> > ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
> >
> > -> #0 (&zone->lock){-.-.}-{2:2}:
> > check_prev_add kernel/locking/lockdep.c:3134 [inline]
> > check_prevs_add kernel/locking/lockdep.c:3253 [inline]
> > validate_chain kernel/locking/lockdep.c:3869 [inline]
> > __lock_acquire+0x2478/0x3b30 kernel/locking/lockdep.c:5137
> > lock_acquire kernel/locking/lockdep.c:5754 [inline]
> > lock_acquire+0x1b1/0x560 kernel/locking/lockdep.c:5719
> > __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
> > _raw_spin_lock_irqsave+0x3a/0x60 kernel/locking/spinlock.c:162
> > rmqueue_buddy mm/page_alloc.c:2730 [inline]
> > rmqueue mm/page_alloc.c:2911 [inline]
> > get_page_from_freelist+0x4b9/0x3780 mm/page_alloc.c:3314
> > __alloc_pages+0x22b/0x2460 mm/page_alloc.c:4575
> > __alloc_pages_node include/linux/gfp.h:238 [inline]
> > alloc_pages_node include/linux/gfp.h:261 [inline]
> > __kmalloc_large_node+0x7f/0x1a0 mm/slub.c:3911
> > __do_kmalloc_node mm/slub.c:3954 [inline]
> > __kmalloc_node.cold+0x5/0x5f mm/slub.c:3973
> > kmalloc_node include/linux/slab.h:648 [inline]
> > bpf_map_kmalloc_node+0x98/0x4a0 kernel/bpf/syscall.c:422
> > lpm_trie_node_alloc kernel/bpf/lpm_trie.c:291 [inline]
> > trie_update_elem+0x1ef/0xdd0 kernel/bpf/lpm_trie.c:333
> > bpf_map_update_value+0x2c1/0x6c0 kernel/bpf/syscall.c:203
> > map_update_elem+0x623/0x910 kernel/bpf/syscall.c:1641
> > __sys_bpf+0xab9/0x4b40 kernel/bpf/syscall.c:5648
> > __do_sys_bpf kernel/bpf/syscall.c:5767 [inline]
> > __se_sys_bpf kernel/bpf/syscall.c:5765 [inline]
> > __x64_sys_bpf+0x78/0xc0 kernel/bpf/syscall.c:5765
> > do_syscall_x64 arch/x86/entry/common.c:52 [inline]
> > do_syscall_64+0xcf/0x260 arch/x86/entry/common.c:83
> > entry_SYSCALL_64_after_hwframe+0x77/0x7f
> >
> > other info that might help us debug this:
> >
> > Possible unsafe locking scenario:
> >
> > CPU0 CPU1
> > ---- ----
> > lock(&trie->lock);
> > lock(&zone->lock);
> > lock(&trie->lock);
> > lock(&zone->lock);
> >
> > *** DEADLOCK ***
> >
> > 2 locks held by syz-executor.2/7645:
> > #0: ffffffff8d7b0e20 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:329 [inline]
> > #0: ffffffff8d7b0e20 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:781 [inline]
> > #0: ffffffff8d7b0e20 (rcu_read_lock){....}-{1:2}, at: bpf_map_update_value+0x24b/0x6c0 kernel/bpf/syscall.c:202
> > #1: ffff88802c8739f8 (&trie->lock){-.-.}-{2:2}, at: trie_update_elem+0xc8/0xdd0 kernel/bpf/lpm_trie.c:324
> >
> > stack backtrace:
> > CPU: 1 PID: 7645 Comm: syz-executor.2 Not tainted 6.9.0-rc3-syzkaller-00355-g7efd0a74039f #0
> > Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> > Call Trace:
> > <TASK>
> > __dump_stack lib/dump_stack.c:88 [inline]
> > dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:114
> > check_noncircular+0x31a/0x400 kernel/locking/lockdep.c:2187
> > check_prev_add kernel/locking/lockdep.c:3134 [inline]
> > check_prevs_add kernel/locking/lockdep.c:3253 [inline]
> > validate_chain kernel/locking/lockdep.c:3869 [inline]
> > __lock_acquire+0x2478/0x3b30 kernel/locking/lockdep.c:5137
> > lock_acquire kernel/locking/lockdep.c:5754 [inline]
> > lock_acquire+0x1b1/0x560 kernel/locking/lockdep.c:5719
> > __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
> > _raw_spin_lock_irqsave+0x3a/0x60 kernel/locking/spinlock.c:162
> > rmqueue_buddy mm/page_alloc.c:2730 [inline]
> > rmqueue mm/page_alloc.c:2911 [inline]
> > get_page_from_freelist+0x4b9/0x3780 mm/page_alloc.c:3314
> > __alloc_pages+0x22b/0x2460 mm/page_alloc.c:4575
> > __alloc_pages_node include/linux/gfp.h:238 [inline]
> > alloc_pages_node include/linux/gfp.h:261 [inline]
> > __kmalloc_large_node+0x7f/0x1a0 mm/slub.c:3911
> > __do_kmalloc_node mm/slub.c:3954 [inline]
> > __kmalloc_node.cold+0x5/0x5f mm/slub.c:3973
> > kmalloc_node include/linux/slab.h:648 [inline]
> > bpf_map_kmalloc_node+0x98/0x4a0 kernel/bpf/syscall.c:422
> > lpm_trie_node_alloc kernel/bpf/lpm_trie.c:291 [inline]
> > trie_update_elem+0x1ef/0xdd0 kernel/bpf/lpm_trie.c:333
> > bpf_map_update_value+0x2c1/0x6c0 kernel/bpf/syscall.c:203
> > map_update_elem+0x623/0x910 kernel/bpf/syscall.c:1641
> > __sys_bpf+0xab9/0x4b40 kernel/bpf/syscall.c:5648
> > __do_sys_bpf kernel/bpf/syscall.c:5767 [inline]
> > __se_sys_bpf kernel/bpf/syscall.c:5765 [inline]
> > __x64_sys_bpf+0x78/0xc0 kernel/bpf/syscall.c:5765
> > do_syscall_x64 arch/x86/entry/common.c:52 [inline]
> > do_syscall_64+0xcf/0x260 arch/x86/entry/common.c:83
> > entry_SYSCALL_64_after_hwframe+0x77/0x7f
> > RIP: 0033:0x7fdb1c27de69
> > Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 e1 20 00 00 90 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 b0 ff ff ff f7 d8 64 89 01 48
> > RSP: 002b:00007fdb1d0210c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000141
> > RAX: ffffffffffffffda RBX: 00007fdb1c3abf80 RCX: 00007fdb1c27de69
> > RDX: 0000000000000020 RSI: 0000000020001400 RDI: 0000000000000002
> > RBP: 00007fdb1c2ca47a R08: 0000000000000000 R09: 0000000000000000
> > R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
> > R13: 000000000000000b R14: 00007fdb1c3abf80 R15: 00007ffe7cd30f08
> > </TASK>
> > loop2: detected capacity change from 0 to 512
> > ext4: Unknown parameter '���������������3;�{\C _r���f�gD\x19Z*��ג�Md�;�s�8)V^[�Z�-#��S%\x19�SY�E`1t\x10AS�>�>���\x0ed]�x��h'
> >
> >
> > ---
> > 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@xxxxxxxxxxxxxxxx.
> >
> > 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 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