[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHmME9oP4whduVJD7LYpjFaS76yhxd3r1YXRfNhpRBw4QCQe3g@mail.gmail.com>
Date: Mon, 28 Nov 2022 21:41:30 +0100
From: "Jason A. Donenfeld" <Jason@...c4.com>
To: Arnd Bergmann <arnd@...db.de>
Cc: linux-kernel@...r.kernel.org, patches@...ts.linux.dev,
Thomas Gleixner <tglx@...utronix.de>,
linux-crypto@...r.kernel.org, linux-api@...r.kernel.org,
x86@...nel.org, Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Adhemerval Zanella Netto <adhemerval.zanella@...aro.org>,
"Carlos O'Donell" <carlos@...hat.com>,
Florian Weimer <fweimer@...hat.com>,
Christian Brauner <brauner@...nel.org>,
Samuel Neves <sneves@....uc.pt>
Subject: Re: [PATCH v8 3/3] x86: vdso: Wire up getrandom() vDSO implementation
Hey again,
On Mon, Nov 28, 2022 at 9:02 PM Jason A. Donenfeld <Jason@...c4.com> wrote:
>
> Hi Arnd,
>
> On Mon, Nov 28, 2022 at 8:57 PM Arnd Bergmann <arnd@...db.de> 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".
Well, I just did this, and it seems clean enough. The result is in:
https://git.zx2c4.com/linux-rng/log/?h=vdso
if you're curious to poke at it ahead of v9.
Jason
Powered by blists - more mailing lists