Re: [PATCH 1/1] mm/vmalloc: Make vmalloc_32_user() align base kernel virtual address to SHMLBA

From: Andrew Morton
Date: Tue Jan 08 2019 - 14:36:26 EST


On Tue, 8 Jan 2019 12:09:44 +0100 Roman Penyaev <rpenyaev@xxxxxxx> wrote:

> This patch repeats the original one from David S. Miller:
>
> 2dca6999eed5 ("mm, perf_event: Make vmalloc_user() align base kernel virtual address to SHMLBA")
>
> but for missed vmalloc_32_user() case, which also requires correct
> alignment of virtual address on kernel side to avoid D-caches
> aliases. A bit of copy-paste from original patch to recover in
> memory of what is all about:
>
> When a vmalloc'd area is mmap'd into userspace, some kind of
> co-ordination is necessary for this to work on platforms with cpu
> D-caches which can have aliases.
>
> Otherwise kernel side writes won't be seen properly in userspace
> and vice versa.
>
> If the kernel side mapping and the user side one have the same
> alignment, modulo SHMLBA, this can work as long as VM_SHARED is
> shared of VMA and for all current users this is true. VM_SHARED
> will force SHMLBA alignment of the user side mmap on platforms with
> D-cache aliasing matters.

What are the user-visible runtime effects of this change?

Is a -stable backport needed?