>> 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. -Tony