[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: