Re: [ghes_copy_tofrom_phys] BUG: sleeping function called from invalid context at mm/page_alloc.c:4150

From: Tyler Baicar
Date: Mon Oct 30 2017 - 10:17:34 EST


On 10/30/2017 10:06 AM, Borislav Petkov wrote:
On Mon, Oct 30, 2017 at 10:01:52AM -0400, Tyler Baicar wrote:
This is not as important for polling sources as it is for the
interrupt sources since polling sources are regularly checked and
shouldn't be used for fatal error scenarios. For interrupt driven
sources, there could already be a fatal error pending, so we should
handle it immediately.
Whatever it is, you can't call it there as it could deadlock. You need
to think about doing that differently. If you can't come up with a
solution quickly, it should be reverted and then you can try again
later.
I'm okay with reverting this and coming up with another solution, but that seems like it
could be masking a problem. It should be valid for the polling timer to expire right after
this probe function completes which would then trigger ghes_poll_func() to be called
and that calls into ghes_proc() immediately.

--
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project.