On Sat, Sep 08, 2018 at 04:28:09PM +0200, Arnd Bergmann wrote: > The SNDCTL_* and SOUND_* commands are the old OSS user interface. > > I checked all the sound ioctl commands listed in fs/compat_ioctl.c > to see if we still need the translation handlers. Here is what I > found: > > - sound/oss/ is (almost) gone from the kernel, this is what actually > needed all the translations > - The ALSA emulation for OSS correctly handles all compat_ioctl > commands already. > - sound/oss/dmasound/ is the last holdout of the original OSS code, > this is only used on arch/m68k, which has no 64-bit mode and > hence needs no compat handlers > - arch/um/drivers/hostaudio_kern.c may run in 64-bit mode with > 32-bit x86 user space underneath it. This rare corner case is > the only one that still needs the compat handlers. > > By adding a simple redirect of .compat_ioctl to .unlocked_ioctl in the > UML driver, we can remove all the COMPATIBLE_IOCTL() annotations without > a change in functionality. For completeness, I'm adding the same thing > to the dmasound file, knowing that it makes no difference. > diff --git a/arch/um/drivers/hostaudio_kern.c b/arch/um/drivers/hostaudio_kern.c > index 7f9dbdbc4eb7..0278a642a622 100644 > --- a/arch/um/drivers/hostaudio_kern.c > +++ b/arch/um/drivers/hostaudio_kern.c > @@ -298,6 +298,7 @@ static const struct file_operations hostaudio_fops = { > .write = hostaudio_write, > .poll = hostaudio_poll, > .unlocked_ioctl = hostaudio_ioctl, > + .compat_ioctl = hostaudio_ioctl, Umm... OK, seeing that it's not going to be used on s390... It's still not quite right, though, and I'm afraid that places where we have the same ->unlocked_ioctl and ->compat_ioctl need an audit - there probably had been other folks who'd stepped into the same.