lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZTOWQnFwrQufHUyw@1wt.eu>
Date:   Sat, 21 Oct 2023 11:13:38 +0200
From:   Willy Tarreau <w@....eu>
To:     Thomas Weißschuh <thomas@...ch.de>
Cc:     Mark Brown <broonie@...nel.org>,
        Thomas Weißschuh <linux@...ssschuh.net>,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH] tools/nolibc: Add Linux specific waitpid() flags

Hi Thomas,

On Sat, Oct 21, 2023 at 11:00:20AM +0200, Thomas Weißschuh  wrote:
> Hi,
> 
> Oct 20, 2023 23:57:01 Mark Brown <broonie@...nel.org>:
> 
> > Linux defines a few custom flags for waitpid(), make them available to
> > nolibc based programs.
> >
> > Signed-off-by: Mark Brown <broonie@...nel.org>
> > ---
> > tools/include/nolibc/types.h | 5 ++++-
> > 1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/include/nolibc/types.h b/tools/include/nolibc/types.h
> > index 8cfc4c860fa4..801ea0bb186e 100644
> > --- a/tools/include/nolibc/types.h
> > +++ b/tools/include/nolibc/types.h
> > @@ -109,7 +109,10 @@
> > #define WIFSIGNALED(status) ((status) - 1 < 0xff)
> >
> > /* waitpid() flags */
> > -#define WNOHANG      1
> > +#define WNOHANG      0x00000001
> > +#define __WNOTHREAD  0x20000000
> > +#define __WALL       0x40000000
> > +#define __WCLONE     0x80000000
> 
> Wouldn't it be easier to include linux/wait.h instead?

That's indeed the trend we should follow whenever possible. We've got
caught a few times in the past with build errors depending on the
includes ordering due to such redefinitions. I don't know if that's the
case for these ones (nor if including linux/wait.h would cause other
breakage) but it's worth considering at least.

The difficulty here is that originally nolibc did not *explicitly* depend
on UAPI headers, and was supposed to be self-sufficient (that was the
main point). Adapting to multiple archs caused the addition of ifdefs
all around, then trying to standardize the include file names instead
of just "nolibc.h" caused conflicts with programs already including
linux/anything.h. Anyway now we depend on linux/lots-of-stuff so I
think it's worth continuing in that direction so that we don't replicate
the UAPI maintenance effort.

Cheers,
Willy

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ