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: <20231105065942.GB20673@1wt.eu>
Date:   Sun, 5 Nov 2023 07:59:42 +0100
From:   Willy Tarreau <w@....eu>
To:     Thomas Weißschuh <linux@...ssschuh.net>
Cc:     Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        Arnd Bergmann <arnd@...db.de>, linux-kernel@...r.kernel.org,
        Zhangjin Wu <falcon@...ylab.org>,
        Yuan Tan <tanyuan@...ylab.org>
Subject: Re: [PATCH RFC] misc/pvpanic: add support for normal shutdowns

On Sat, Nov 04, 2023 at 06:32:57PM +0100, Thomas Weißschuh wrote:
> On 2023-11-04 18:07:21+0100, Greg Kroah-Hartman wrote:
> > On Sat, Nov 04, 2023 at 02:56:34PM +0100, Willy Tarreau wrote:
> > > On Sat, Nov 04, 2023 at 02:53:37PM +0100, Thomas Weißschuh wrote:
> > > > > > The real reason probably doesn't matter today as the header propably
> > > > > > can't be dropped from Linux anyways for compatibility reasons.
> > > > > > 
> > > > > > > And if they need to be here, why not use the proper BIT() macro for it?
> > > > > > 
> > > > > > This was for uniformity with the existing code.
> > > > > > I can send a (standalone?) patch to fix it up.
> > > > > 
> > > > > If we keep it, sure, that would be nice.  But let's try to drop it if
> > > > > possible :)
> > > > 
> > > > It will break the mentioned scripts/update-linux-headers.sh from qemu.
> > > > 
> > > > 
> > > > Note:
> > > > 
> > > > BIT() is part of include/vdso/bits.h which is not part of the
> > > > uapi. How is it supposed to work?
> > > > Some other uapi header also use BIT() but that seems to work by accident
> > > > as the users have the macro defined themselves.
> > > 
> > > Be careful here, we don't want to expose this kernel macro to userland,
> > > it would break programs that define their own (possibly different) BIT
> > > macro. BIT() is used in kernel headers but we should not presume that
> > > it is available from userland.
> > 
> > It's already there :(
> > 
> > I thought we had a uapi-safe version somewhere, but I can't seem to find
> > it anymore, so I don't remember what it is called.
> 
> It seems to be _BITUL() and _BITULL() from include/uapi/linux/const.h.
> 
> But first we'd need to figure out if we he can drop the pvpanic.h uapi
> header. I hoped you could give a definitive answer for that.
> Personally I'd hate to break stuff for qemu.

Agreed, and I tend as well to be careful not to change uapi stuff in
ways that can break, as it can take time to flow to applications and
cause subtle breakage much later :-/

Willy

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ