On Thu, Feb 18, 2021 at 04:48:22PM -0800, Axel Rasmussen wrote: > @@ -4645,8 +4646,18 @@ int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm, > spinlock_t *ptl; > int ret; > struct page *page; > + int writable; > > - if (!*pagep) { > + mapping = dst_vma->vm_file->f_mapping; > + idx = vma_hugecache_offset(h, dst_vma, dst_addr); > + > + if (is_continue) { > + ret = -EFAULT; > + page = find_lock_page(mapping, idx); > + *pagep = NULL; Why set *pagep to NULL? Shouldn't it be NULL always?.. If that's the case, maybe WARN_ON_ONCE(*pagep) suite more. Otherwise the patch looks good to me. Thanks, -- Peter Xu