Bug#929366: linux-image-4.19.0-5-octeon: usercopy: Kernel memory overwrite attempt detected (in systemd-timedated)
Paul Burton <paul.burton@mips.com> 于2019年5月26日周日 上午7:22写道:
>
> Hi YunQiang,
>
> Could you try the following kernel patch & let me know if it works for
> you?
>
> My theory is that this is fallout from commit 517e1fbeb65f
> ("mm/usercopy: Drop extra is_vmalloc_or_module() check") which went into
> Linux v4.12. I guess this shows our test systems don't have hardened
> usercopy enabled - I'll go change that!
>
> Thanks,
> Paul
>
> ---
> diff --git a/arch/mips/mm/mmap.c b/arch/mips/mm/mmap.c
> index 2f616ebeb7e0..01b2eadd28bd 100644
> --- a/arch/mips/mm/mmap.c
> +++ b/arch/mips/mm/mmap.c
> @@ -203,6 +203,11 @@ unsigned long arch_randomize_brk(struct mm_struct *mm)
>
> int __virt_addr_valid(const volatile void *kaddr)
> {
> + unsigned long vaddr = (unsigned long)vaddr;
> +
> + if ((vaddr < PAGE_OFFSET) || (vaddr >= MAP_BASE))
> + return false;
> +
> return pfn_valid(PFN_DOWN(virt_to_phys(kaddr)));
> }
> EXPORT_SYMBOL_GPL(__virt_addr_valid);
It works well at least on my Loongson 3 laptop.
I tried to reinstall all packages with gz'ed mannual pages.
No of this problem happens again.
--
YunQiang Su
Reply to: