fs/buffer.c: WARNING: alloc_page_buffers while mke2fs

From: Naresh Kamboju
Date: Tue Mar 03 2020 - 03:45:40 EST


[Sorry for the spam]

Linux-next 5.6.0-rc3-next-20200302 running on arm64 juno-r2 device while
running LTP syscalls chown tests.

Suspecting commits are (did not do git bisect),
b1473d5f3d0 fs/buffer.c: dump more info for __getblk_gfp() stall problem
b10a7ae6565 fs/buffer.c: add debug print for __getblk_gfp() stall problem

steps to reproduce:
-------------------
- Boot kernel Linux-next 5.6.0-rc3-next-20200302 on arm64 device
- cd /opt/ltp
- ./runltp -s chown -I 10 -d /scratch -p -q

* /scratch is a mounted hard drive for LTP test files.

chown03_16 2 TCONF :
/usr/src/debug/ltp/20190930-r0/git/testcases/kernel/syscalls/chown/../utils/compat_16.h:168:
Remaining cases not appropriate for configuration
mke2fs 1.43.8 (1-Jan-2018)
[ 97.998689] ------------[ cut here ]------------
[ 98.003346] WARNING: CPU: 2 PID: 340 at
include/linux/sched/mm.h:323 alloc_page_buffers+0x210/0x288
[ 98.012409] Modules linked in: rfkill tda998x cec drm_kms_helper
drm crct10dif_ce fuse
[ 98.020369] CPU: 2 PID: 340 Comm: kworker/u12:6 Not tainted
5.6.0-rc3-next-20200302 #1
[ 98.028302] Hardware name: ARM Juno development board (r2) (DT)
[ 98.034242] Workqueue: loop0 loop_workfn
[ 98.038176] pstate: 60000005 (nZCv daif -PAN -UAO)
[ 98.042980] pc : alloc_page_buffers+0x210/0x288
[ 98.047522] lr : alloc_page_buffers+0x50/0x288
[ 98.051972] sp : ffff000904a76c00
[ 98.055291] x29: ffff000904a76c00 x28: ffff000900126000
[ 98.060617] x27: ffff0008e0ad0888 x26: ffffffe001ff3908
[ 98.065941] x25: 0000000000408c40 x24: ffffffe001ff3900
[ 98.071265] x23: 0000000000000401 x22: ffff0008e0ad0780
[ 98.076589] x21: 0000000000001000 x20: 0000000000000000
[ 98.081913] x19: ffff0009022fd980 x18: 0000000000000000
[ 98.087236] x17: 0000000000000000 x16: 0000000000000000
[ 98.092559] x15: 0000000000000000 x14: ffffa00010468954
[ 98.097883] x13: ffffa00010259490 x12: ffff9ffc003fe727
[ 98.103207] x11: 1ffffffc003fe726 x10: ffff9ffc003fe726
[ 98.108531] x9 : dfffa00000000000 x8 : 0000000000000001
[ 98.113855] x7 : ffffffe001ff3937 x6 : ffffffe001ff3934
[ 98.119179] x5 : 00006003ffc018da x4 : 000000000000002d
[ 98.124503] x3 : dfffa00000000000 x2 : 0000000000000007
[ 98.129826] x1 : ffff0009022fe300 x0 : ffff000900126000
[ 98.135150] Call trace:
[ 98.137605] alloc_page_buffers+0x210/0x288
[ 98.141799] __getblk_gfp+0x1d4/0x400
[ 98.145475] ext4_read_block_bitmap_nowait+0x148/0xbc8
[ 98.150628] ext4_mb_init_cache+0x25c/0x9b0
[ 98.154821] ext4_mb_init_group+0x270/0x390
[ 98.159014] ext4_mb_good_group+0x264/0x270
[ 98.163208] ext4_mb_regular_allocator+0x480/0x798
[ 98.168011] ext4_mb_new_blocks+0x958/0x10f8
[ 98.172294] ext4_ext_map_blocks+0xec8/0x1618
[ 98.176660] ext4_map_blocks+0x1b8/0x8a0
[ 98.180592] ext4_writepages+0x830/0xf10
[ 98.184523] do_writepages+0xb4/0x198
[ 98.188195] __filemap_fdatawrite_range+0x170/0x1c8
[ 98.193086] filemap_write_and_wait_range+0x40/0xb0
[ 98.197974] ext4_punch_hole+0x4a4/0x660
[ 98.201907] ext4_fallocate+0x294/0x1190
[ 98.205839] loop_process_work+0x690/0x1100
[ 98.210032] loop_workfn+0x2c/0x110
[ 98.213529] process_one_work+0x3e0/0x648
[ 98.217546] worker_thread+0x70/0x670
[ 98.221217] kthread+0x1b8/0x1c0
[ 98.224452] ret_from_fork+0x10/0x18
[ 98.228033] ---[ end trace 75d39f61d945043e ]---
chown04 0 TINFO : Using test device LTP_DEV='/dev/loop0'
chown04 0 TINFO : Formatting /dev/loop0 with ext2 opts='' extra opts=''
chown04 1 TPASS : chown failed: TEST_ERRNO=EPERM(1): Operation
not permitted
chown04 2 TPASS : chown failed: TEST_ERRNO=EACCES(13): Permission denied
chown04 3 TPASS : chown failed: TEST_ERRNO=EFAULT(14): Bad address
chown04 4 TPASS : chown failed: TEST_ERRNO=ENAMETOOLONG(36):
File name too long
chown04 5 TPASS : chown failed: TEST_ERRNO=ENOENT(2): No such
file or directory
chown04 6 TPASS : chown failed: TEST_ERRNO=ENOTDIR(20): Not a directory
chown04 7 TPASS : chown failed: TEST_ERRNO=ELOOP(40): Too many
levels of symbolic links
chown04 8 TPASS : chown failed: TEST_ERRNO=EROFS(30): Read-only
file system
mke2fs 1.43.8 (1-Jan-2018)
chown04_16 0 TINFO : Using test device LTP_DEV='/dev/loop0'
chown04_16 0 TINFO : Formatting /dev/loop0 with ext2 opts='' extra opts=''
chown04_16 1 TCONF :
/usr/src/debug/ltp/20190930-r0/git/testcases/kernel/syscalls/chown/../utils/compat_16.h:168:
16-bit version of chown() is not supported on your platform
chown04_16 2 TCONF :
/usr/src/debug/ltp/20190930-r0/git/testcases/kernel/syscalls/chown/../utils/compat_16.h:168:
Remaining cases not appropriate for configuration

Ref:
https://lkft.validation.linaro.org/scheduler/job/1262252#L2152
https://lkft.validation.linaro.org/scheduler/job/1262374#L1313
https://lkft.validation.linaro.org/scheduler/job/1262121#L2153
https://lkft.validation.linaro.org/scheduler/job/1262105#L2116

--
Linaro LKFT
https://lkft.linaro.org