[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20221222043452.GB29086@1wt.eu>
Date: Thu, 22 Dec 2022 05:34:52 +0100
From: Willy Tarreau <w@....eu>
To: Ammar Faizi <ammarfaizi2@...weeb.org>
Cc: Shuah Khan <shuah@...nel.org>,
"Paul E. McKenney" <paulmck@...nel.org>,
Gilang Fachrezy <gilang4321@...il.com>,
VNLX Kernel Department <kernel@...x.org>,
Alviro Iskandar Setiawan <alviro.iskandar@...weeb.org>,
Kanna Scarlet <knscarlet@...weeb.org>,
Muhammad Rizki <kiizuha@...weeb.org>,
GNU/Weeb Mailing List <gwml@...r.gnuweeb.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux Kselftest Mailing List
<linux-kselftest@...r.kernel.org>
Subject: Re: [RFC PATCH v1 0/8] nolibc signal handling support
Hi Ammar,
On Thu, Dec 22, 2022 at 10:51:26AM +0700, Ammar Faizi wrote:
> From: Ammar Faizi <ammarfaizi2@...weeb.org>
>
> Hi,
>
> This series adds signal handling support to the nolibc subsystem.
(...)
Thank you! I'll have a look at this this week-end.
I noticed one thing that we'll need to discuss further:
> 3) Extra nolibc updates.
>
> Apart from the signal handling support. This series also contains
> nolibc updates, they are:
>
> - getpagesize() support.
This one relies on /proc/self/auxv, but we'll quickly run into a
chicken-and-egg situation given that nolibc is used by init programs
that mount /proc. Instead I think that we should modify the _start
code to retrieve the auxv at startup and store it somewhere. This
"somewhere" is not yet defined, but I'm thinking that it could
deserve reserving some room in the stack to store some nolibc-defined
information (possibly even a copy of a pointer to environ and/or errno)
and figure a reliable and simple way to access this. Note that one way
could also be to know that it's after the NULL that follows envp, and
to start from environ. In fact there are plenty of ways and we just
need to decide what's the least ugly. But once we have access to the
auxv from the process, then we could implement a getauxval() function
to retrieve the information you need for getpagesize().
More on this later.
Thanks!
Willy
Powered by blists - more mailing lists