I've updated my patch to not take ZONE_OOM_LOCKED for any zones on memcg
oom. I'm hoping that you will add sysctl_panic_on_oom == 2 for this case
later, however.
The hugetlb case seems to be the only misuse of VM_FAULT_OOM where it
doesn't mean we simply don't have the memory to handle the page fault,
i.e. your earlier "memory is exhausted" definition. That was handled well
before calling out_of_memory() by simply killing current since we know it
is faulting hugetlb pages and its resource is limited.
We could pass the vma to pagefault_out_of_memory() and simply kill current
if its killable and is_vm_hugetlb_page(vma).
--