Messages in this thread | | | From | "Aneesh Kumar K.V" <> | Subject | Re: [PATCH -V4 02/10] hugetlbfs: don't use ERR_PTR with VM_FAULT* values | Date | Wed, 28 Mar 2012 17:05:49 +0530 |
| |
Michal Hocko <mhocko@suse.cz> writes:
> On Fri 16-03-12 23:09:22, Aneesh Kumar K.V wrote: >> From: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com> >> >> Using VM_FAULT_* codes with ERR_PTR will require us to make sure >> VM_FAULT_* values will not exceed MAX_ERRNO value. >> >> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> >> --- >> mm/hugetlb.c | 18 +++++++++++++----- >> 1 files changed, 13 insertions(+), 5 deletions(-) >> >> diff --git a/mm/hugetlb.c b/mm/hugetlb.c >> index d623e71..3782da8 100644 >> --- a/mm/hugetlb.c >> +++ b/mm/hugetlb.c > [...] >> @@ -1047,7 +1047,7 @@ static struct page *alloc_huge_page(struct vm_area_struct *vma, >> page = alloc_buddy_huge_page(h, NUMA_NO_NODE); >> if (!page) { >> hugetlb_put_quota(inode->i_mapping, chg); >> - return ERR_PTR(-VM_FAULT_SIGBUS); >> + return ERR_PTR(-ENOSPC); > > Hmm, so one error code abuse replaced by another? > I know that ENOMEM would revert 4a6018f7 which would be unfortunate but > ENOSPC doesn't feel right as well. >
File systems do map ENOSPC to SIGBUS. block_page_mkwrite_return() does that.
-aneesh
| |