Messages in this thread | | | Subject | Regression with orderly_poweroff() | From | Benjamin Herrenschmidt <> | Date | Tue, 12 Mar 2013 14:25:12 +1100 |
| |
Hi Linus !
A couple of weeks ago, David sent an email that went unanswered about a regression concerning orderly_poweroff(). I think the original patch causing it should be reverted, here's the actual email with the explanation:
<<< Subject: orderly_poweroff() is no longer safe in atomic context
Commit 6c0c0d4d1080840eabb3d055d2fd81911111c5fd "poweroff: fix bug in orderly_poweroff()" apparently fixes one bug in orderly_poweroff(), but introduces another. The comments on orderly_poweroff() claim it can be called from any context - and indeed we call it from interrupt context in arch/powerpc/platforms/pseries/ras.c for example. But since that commit this is no longer safe, since call_usermodehelper_fns() is not safe in interrupt context without the UMH_NO_WAIT option.
I'm having trouble understanding the commit message to see what the original bug being fixed was. Specifically I can't make sense of:
| The bug here is, step 1 is always successful with param | UMH_NO_WAIT, which obey the design goal of orderly_poweroff.
And without understanding the original bug, I'm not sure what the correct fix is. >>>
Cheers, Ben.
| |