On Sun, Sep 20, 2020 at 09:59:36AM -0700, Andy Lutomirski wrote: > As one example, look at __sys_setsockopt(). It's called for the > native and compat versions, and it contains an in_compat_syscall() > check. (This particularly check looks dubious to me, but that's > another story.) If this were to be done with equivalent semantics > without a separate COMPAT_DEFINE_SYSCALL and without > in_compat_syscall(), there would need to be some indication as to > whether this is compat or native setsockopt. There are other > setsockopt implementations in the net stack with more > legitimate-seeming uses of in_compat_syscall() that would need some > other mechanism if in_compat_syscall() were to go away. > > setsockopt is (I hope!) out of scope for io_uring, but the situation > isn't fundamentally different from read and write. Except that setsockopt() had that crap very widespread; for read() and write() those are very rare exceptions. Andy, please RTFS. Or dig through archives. The situation with setsockopt() is *NOT* a good thing - it's (probably) the least of the evils. The last thing we need is making that the norm.