Bug 206619 - reboot hung since request_firmware
Summary: reboot hung since request_firmware
Status: RESOLVED DOCUMENTED
Alias: None
Product: ACPI
Classification: Unclassified
Component: Power-Off (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: acpi_power-off
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-02-21 02:29 UTC by qianli zhao
Modified: 2020-06-29 13:22 UTC (History)
1 user (show)

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


Attachments
trace and sequence analysis (2.79 KB, text/plain)
2020-02-21 02:40 UTC, qianli zhao
Details

Description qianli zhao 2020-02-21 02:29:31 UTC
I got an issue in reboot pressure test,reboot command called by user first,all userspace task has been killed,then a kworker thread grab cpu then invoking request_firmware,but since uevent thread has been killed,request_firmware will never load successfully,blocked in "wait_for_completion_killable_timeout" ,before wait complete,this thread has calling usermodehelper_read_trylock and held "umhelper_sem" lock,at this time,init reboot continue to running,try to __usermodehelper_disable,this needs hold umhelper_sem,but it's held by kworker,casue reboot process blocked until request_firmware timeout and release umhelper_sem,if timeout not be setting,this timeout maybe MAX_JIFFY_OFFSET,so i think it's a risk.
Comment 1 qianli zhao 2020-02-21 02:40:56 UTC
Created attachment 287527 [details]
trace and sequence analysis
Comment 2 Zhang Rui 2020-06-29 13:22:20 UTC
So it seem that We need to fix request_firmware() to be able to handle the reboot case.
This is not an ACPI issue anyway.
I can not find out a category for the driver/base/firmware_loader issues, so I'd suggest you to send an email to lkml about this problem and hopefully you will get some help there.
Bug closed. Please feel free to reopen it if you still have any questions.

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