On 2025/2/6 16:47, Christophe Leroy wrote:
>
>
> Le 06/02/2025 à 08:12, Miaohe Lin a écrit :
>> On 2025/2/6 14:30, Christophe Leroy wrote:
>>>
>>>
>>> Le 06/02/2025 à 03:08, Miaohe Lin a écrit :
>>>> On 2025/2/6 0:35, Christophe Leroy wrote:
On 2025/2/6 14:30, Christophe Leroy wrote:
>
>
> Le 06/02/2025 à 03:08, Miaohe Lin a écrit :
>> On 2025/2/6 0:35, Christophe Leroy wrote:
>>>
>>>
>>> Le 05/02/2025 à 03:39, Miaohe Lin a écrit :
>>>> On 2025/1/24 6:24, kerne
On 2025/2/6 0:35, Christophe Leroy wrote:
>
>
> Le 05/02/2025 à 03:39, Miaohe Lin a écrit :
>> On 2025/1/24 6:24, kernel test robot wrote:
>>> tree:
>>> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.kernel.org%2Fpub%2Fscm%2Flinux%2Fke
...@mail.gmail.com/
>
> Acked-by: Chris Down
> Acked-by: Nhat Pham
> Signed-off-by: Yosry Ahmed
LGTM. Thanks for your patch.
Reviewed-by: Miaohe Lin
Thanks.
.
On 2022/10/29 0:13, Luck, Tony wrote:
>>> Cannot call memory_failure() directly from the fault handler because
>>> mmap_lock (and others) are held.
>>
>> Could you please explain which lock makes it unfeasible to call
>> memory_failure() directly and
>> why? I'm somewhat confused. But I agree usin
py_mc_user_highpage(dst, src, addr, vma))
> + if (copy_mc_user_highpage(dst, src, addr, vma)) {
> + memory_failure_queue(page_to_pfn(src), 0);
It seems MF_ACTION_REQUIRED is not needed for memory_failure_queue() here.
Thanks for your patch.
Reviewed-by: Miaohe Lin
Thanks,
Miaohe Lin
;
> + vto = kmap_local_page(to);
> + ret = copy_mc_to_kernel(vto, vfrom, PAGE_SIZE);
In copy_user_highpage(), kmsan_unpoison_memory(page_address(to), PAGE_SIZE) is
done after the copy when
__HAVE_ARCH_COPY_USER_HIGHPAGE isn't defined. Do we need to do something
similar here? But I'm not familiar
with kmsan, so I can easy be wrong.
Anyway, this patch looks good to me. Thanks.
Reviewed-by: Miaohe Lin
Thanks,
Miaohe Lin
e 100644
> --- a/mm/memory.c
> +++ b/mm/memory.c
> @@ -2848,6 +2848,37 @@ static inline int pte_unmap_same(struct vm_fault *vmf)
> return same;
> }
>
> +#ifdef CONFIG_MEMORY_FAILURE
> +struct pfn_work {
> + struct work_struct work;
> + unsigned long pfn;
Hi:
On 2021/1/26 12:45, Nicholas Piggin wrote:
> This will be used as a generic kernel virtual mapping function, so
> re-name it in preparation.
>
Looks good to me. Thanks.
Reviewed-by: Miaohe Lin
> Signed-off-by: Nicholas Piggin
> ---
>
&& WARN_ON_ONCE(pgd_bad(*pgd))) {
> + if (!create)
> + continue;
> + pgd_clear_bad(pgd);
> + }
> + err = apply_to_p4d_range(mm, pgd, addr, next,
> + fn, data, create, &mask);
> if (err)
> break;
> } while (pgd++, addr = next, addr != end);
>
Looks good to me, thanks.
Reviewed-by: Miaohe Lin
d_none(*pmd) || pmd_bad(*pmd))
> + if (pmd_none(*pmd))
> + return NULL;
> + if (pmd_leaf(*pmd))
> + return pmd_page(*pmd) + ((addr & ~PMD_MASK) >> PAGE_SHIFT);
> + if (WARN_ON_ONCE(pmd_bad(*pmd)))
> return NULL;
>
>
11 matches
Mail list logo