Bug 216111 - ubi: infinite loop in ubi_wl_put_peb
Summary: ubi: infinite loop in ubi_wl_put_peb
Status: NEW
Alias: None
Product: Drivers
Classification: Unclassified
Component: Other (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_other
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-06-10 09:28 UTC by Zhihao Cheng
Modified: 2022-06-10 09:29 UTC (History)
0 users

See Also:
Kernel Version: 5.19-rc1
Subsystem:
Regression: No
Bisected commit-id:


Attachments
delay.diff (2.37 KB, patch)
2022-06-10 09:29 UTC, Zhihao Cheng
Details | Diff
setup.sh (1009 bytes, application/x-shellscript)
2022-06-10 09:29 UTC, Zhihao Cheng
Details

Description Zhihao Cheng 2022-06-10 09:28:07 UTC
CONFIG_MTD_UBI_WL_THRESHOLD=10,CONFIG_MTD_UBI_FASTMAP = n

1. apply delay.diff
2. ./setup.sh 1
3. while true; do dd if=/dev/urandom of=/root/temp/file; rm -f /root/temp/file; done

[  295.563778] wear leveling 91 53
[  295.563787] construct err for pnum 91
[  295.563788] ubi0 error: wear_leveling_worker [ubi]: error -5 while reading VID header from PEB 91
[  295.563845] ubi0 error: wear_leveling_worker [ubi]: error -5 while moving PEB 91 (LEB -1:-1) to PEB 53
[  295.563877] ubi0 warning: wear_leveling_worker [ubi]: switch to read-only mode
[  295.563914] CPU: 2 PID: 7668 Comm: ubi_bgt0d Not tainted 5.19.0-rc1-00005-gbf9ed5c9834c-dirty #596
[  295.563921] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS ?-20190727_073836-buildvm-ppc64le-16.ppc.fedoraproject.org-3.fc31 04/01/2014
[  295.563930] Call Trace:
[  295.563957]  <TASK>
[  295.563970]  ? dump_stack_lvl+0x73/0x9f
[  295.563988]  ? dump_stack+0x13/0x1b
[  295.563993]  ? wear_leveling_worker+0x11d8/0x1250 [ubi]
[  295.564021]  ? do_work+0xce/0x160 [ubi]
[  295.564048]  ? ubi_thread+0x1a5/0x380 [ubi]
[  295.564075]  ? ubi_bitflip_check+0x420/0x420 [ubi]
[  295.564100]  ? kthread+0x151/0x1b0
[  295.564106]  ? kthread_exit+0x50/0x50
[  295.564110]  ? ret_from_fork+0x1f/0x30
[  295.564120]  </TASK>
[  295.564123] ubi0 error: do_work [ubi]: work failed with error code -5
[  295.564149] ubi0 error: ubi_thread [ubi]: ubi_bgt0d: work failed with error code -5
[  295.575669] loop in ubi_wl_put_peb, e 0000000000000000 ubi->move_from 0000000000000000
[  295.575677] loop in ubi_wl_put_peb, e 0000000000000000 ubi->move_from 0000000000000000
[  295.575679] loop in ubi_wl_put_peb, e 0000000000000000 ubi->move_from 0000000000000000
[  295.575680] loop in ubi_wl_put_peb, e 0000000000000000 ubi->move_from 0000000000000000
[  295.575682] loop in ubi_wl_put_peb, e 0000000000000000 ubi->move_from 0000000000000000
[  295.575684] loop in ubi_wl_put_peb, e 0000000000000000 ubi->move_from 0000000000000000
[  295.575685] loop in ubi_wl_put_peb, e 0000000000000000 ubi->move_from 0000000000000000
[  295.575687] loop in ubi_wl_put_peb, e 0000000000000000 ubi->move_from 0000000000000000

$ top
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                 
 7676 root      20   0       0      0      0 R 100.0  0.0  19:55.81 ubifs_bgt0_0
Comment 1 Zhihao Cheng 2022-06-10 09:29:27 UTC
Created attachment 301148 [details]
delay.diff
Comment 2 Zhihao Cheng 2022-06-10 09:29:37 UTC
Created attachment 301149 [details]
setup.sh

Note You need to log in before you can comment on or make changes to this bug.