On Fri 13-01-17 11:26:08, Dan Carpenter wrote: > kunmap_atomic() and kunmap() take different pointers. People often get > these mixed up. > > Fixes: 16374db2e9a0 ("userfaultfd: hugetlbfs: fix __mcopy_atomic_hugetlb retry/error processing") > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> > --- > v2: I was also unmapping the wrong pointer because I had a typo. > > diff --git a/mm/memory.c b/mm/memory.c > index 6012a05..aca8ef6 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -4172,7 +4172,7 @@ long copy_huge_page_from_user(struct page *dst_page, > (const void __user *)(src + i * PAGE_SIZE), > PAGE_SIZE); > if (allow_pagefault) > - kunmap(page_kaddr); > + kunmap(page_kaddr + i); > else > kunmap_atomic(page_kaddr); > -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>