Re: [PATCH 11/18] maccess: remove strncpy_from_unsafe

From: Al Viro
Date: Wed May 13 2020 - 19:28:27 EST


On Thu, May 14, 2020 at 12:36:28AM +0200, Daniel Borkmann wrote:

> > So on say s390 TASK_SIZE_USUALLy is (-PAGE_SIZE), which means we'd alway
> > try the user copy first, which seems odd.
> >
> > I'd really like to here from the bpf folks what the expected use case
> > is here, and if the typical argument is kernel or user memory.
>
> It's used for both. Given this is enabled on pretty much all program types, my
> assumption would be that usage is still more often on kernel memory than user one.

Then it needs an argument telling it which one to use. Look at sparc64.
Or s390. Or parisc. Et sodding cetera.

The underlying model is that the kernel lives in a separate address space.
Yes, on x86 it's actually sharing the page tables with userland, but that's
not universal. The same address can be both a valid userland one _and_
a valid kernel one. You need to tell which one do you want.