Re: PROBLEM: kbd busted in linux 6.10-rc1 (regression)

From: Al Viro
Date: Wed May 29 2024 - 01:25:56 EST


On Wed, May 29, 2024 at 12:45:56AM -0400, Nick Bowler quoted:

> All other headers use _IOC() macros to describe ioctls for a long time
> now. This header is stuck in the last century.
>
> Simply use the _IO() macro. No other changes.

.. are needed, since _IO() is arch-dependent; this is quite enough to fuck
alpha and sparc over. _IO(x,y) is (1<<29) + 256*x + y there; both ports
got started with compat userland support, so _IO...() family there is
modelled after OSF/1 and Solaris resp.

kbd ioctls predate all of that.

Please, revert 8c467f330059 - commit in question breaks userland on alpha
and on sparc for no reason whatsoever. Might be worth adding a comment
to those definitions at some point, but that can go on top of revert.

Folks, 0xXYZW is *not* an uncool way to spell _IO(0xXY,0xZW) - if there's
any chance that those definitions are seen on all architectures, they
should be left alone.