On Tue, Oct 23, 2012 at 02:24:58PM +0000, KY Srinivasan wrote: > > > > -----Original Message----- > > From: Dan Carpenter [mailto:dan.carpenter@xxxxxxxxxx] > > Sent: Tuesday, October 23, 2012 1:47 AM > > To: KY Srinivasan > > Cc: gregkh@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; > > devel@xxxxxxxxxxxxxxxxxxxxxx; olaf@xxxxxxxxx; apw@xxxxxxxxxxxxx; > > jasowang@xxxxxxxxxx > > Subject: Re: 3.7 RC1 > > > > On Mon, Oct 22, 2012 at 04:37:45PM -0700, K. Y. Srinivasan wrote: > > > > > > While testing 3.7 RC1 I discovered that invoking the function > > orderly_poweroff() > > > from an interrupt context will trigger an ASSERT(). This was not the case till > > > recently. The comment preceding the orderly_poweroff() function claims that > > this > > > function can be invoked from any context and in the current Hyper-V util driver, > > > we support host-driven orderly shut down of the guest by invoking this > > > orderly_poweroff() function in the context of the message callback. This code > > has > > > been working for a very long time and it is broken now. Is my assumption that > > > orderly_poweroff() could be invoked from the interrupt context a wrong > > assumption? > > > > You can't call orderly_poweroff() from interrupt context. > > Thanks Dan; I am curious to understand the basis for your assertion. > As I noted earlier the documentation for this function clearly says it can > be called from any context. Furthermore, __orderly_poweroff(), the helper > function allocates memory with the GFP_ATOMIC flag set. Lastly, the behavior > of orderly_poweroff() has been such that this function could be called from interrupt context > for a very long time and something has changed now. For what it is worth, there are other users in > the kernel (in 3.7 RC1) that are invoking the orderly_poweroff() function from interrupt > context other than the Hyper-V shutdown handler: fsl_hv_shutdown_isr() in drivers/virt/fsl_hypervisor.c. > I suspect there are other users as well that have made this similar assumption. > Aw crap. I was wrong. Sorry about that. regards, dan carpenter _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel