Re: [PATCH RFC] misc/pvpanic: add support for normal shutdowns

From: Thomas Weißschuh
Date: Sat Nov 04 2023 - 13:33:06 EST


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.


Thomas