On Sat, 2019-01-26 at 18:45 +0100, Johannes Berg wrote: > > Yes and no. It *sometimes* (actually rarely, since we don't really have > dev_ioctls that much, afaict) hits this, but it could also just hit
Actually, no, I'm wrong. We do mostly hit dev_ioctl(), since that's the common case for things like SIOCGIFNAME. However, e.g. for SIOCGIFADDR we do go into > static long sock_do_ioctl(struct net *net, struct socket *sock, > unsigned int cmd, unsigned long arg) > { > [...] > err = sock->ops->ioctl(sock, cmd, arg); > [...] > if (err != -ENOIOCTLCMD) > return err; This, and like I said, plumbing the whole compat stuff through to the sock->ops->ioctl() there doesn't seem like a great idea. johannes