Re: [PATCH v8 3/3] x86: vdso: Wire up getrandom() vDSO implementation

From: Jason A. Donenfeld
Date: Mon Nov 28 2022 - 15:03:16 EST


Hi Arnd,

On Mon, Nov 28, 2022 at 8:57 PM Arnd Bergmann <arnd@xxxxxxxx> wrote:
>
> On Mon, Nov 28, 2022, at 20:23, Jason A. Donenfeld wrote:
> > On Mon, Nov 28, 2022 at 08:18:12PM +0100, Arnd Bergmann wrote:
> >> On Mon, Nov 28, 2022, at 12:18, Jason A. Donenfeld wrote:
> >
> > That's more or less how v7 was, but Thomas thought the x86 stuff should
> > be separate. So for v8, the organization is:
> >
> > 1) generic syscall
> > 2) generic vdso
> > 3) x86 wiring
> >
> > The primary advantage is that future archs wanting to add this now can
> > just look at commit (3) only, and make a similar commit for that new
> > arch.
> >
> > If you think a different organization outweighs that advantage, can you
> > spell out what division of patches you want, and I'll do that for v9?
> > Or maybe this v8 is okay?
>
> My interest is that at the end of the series, all architectures
> are hooked up with the same syscall number, which avoids confusion
> and merge conflicts when we add the next syscall to all tables.
>
> How about one patch to add all the syscall table entries, and then
> have the x86 specific change just turn on the Kconfig symbol that
> actually enables the syscall?

Okay, I can split it that way. If I gather your meaning correctly:

1) generic syscall C code
2) #define __NR_... in asm-generic/unistd.h x86/.../unistd.h,
x86/.../syscall_64.tbl
3) generic vdso C code
4) hook up x86 vdso, and select the right Kconfig symbol to start
compiling the code

Is that what you have in mind? If so, I'll name (2) "arch: wire up
vgetrandom_alloc() syscall number".

Jason