Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

mm: fix ENOSPC returned by handle_mm_fault()

Al Viro observes that in the hugetlb case, handle_mm_fault() may return
a value of the kind ENOSPC when its caller is expecting a value of the
kind VM_FAULT_SIGBUS: fix alloc_huge_page()'s failure returns.

Signed-off-by: Hugh Dickins <hughd@google.com>
Acked-by: Al Viro <viro@zeniv.linux.org.uk>
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Hugh Dickins and committed by
Linus Torvalds
e0dcd8a0 0d6925d4

+2 -2
+2 -2
mm/hugetlb.c
··· 1033 1033 */ 1034 1034 chg = vma_needs_reservation(h, vma, addr); 1035 1035 if (chg < 0) 1036 - return ERR_PTR(chg); 1036 + return ERR_PTR(-VM_FAULT_OOM); 1037 1037 if (chg) 1038 1038 if (hugetlb_get_quota(inode->i_mapping, chg)) 1039 - return ERR_PTR(-ENOSPC); 1039 + return ERR_PTR(-VM_FAULT_SIGBUS); 1040 1040 1041 1041 spin_lock(&hugetlb_lock); 1042 1042 page = dequeue_huge_page_vma(h, vma, addr, avoid_reserve);