On 2022/10/29 0:13, Luck, Tony wrote: >>> Cannot call memory_failure() directly from the fault handler because >>> mmap_lock (and others) are held. >> >> Could you please explain which lock makes it unfeasible to call memory_failure() directly and >> why? I'm somewhat confused. But I agree using memory_failure_queue() should be a good idea. > > I tried calling memory_failure() directly, and my system just hung. I made the assumption > that it had deadlocked based somewhat on the comments in mm/memory.c about mmap_lock > being held ... but I didn't dig into what had gone wrong. I see. Thanks for your explanation. :) > > -Tony >