On Tue, Mar 23, 2021 at 05:50:59PM +0100, Jan Engelhardt wrote: > Some participants in the discussion over at the debian-sparc list mentioned > "NFS" and "Invalid argument", which is something I know just too well from > iptables. NFS is a filesystem that uses an extra data blob (5th argument to > the > mount syscall). Such blobs have historically not always been designed to bear > the same layout between ILP32 and LP64 modes, and nfs's structs fell prey to > this as well. > > My hypothesis now is that fs/nfs/fs_context.c line 1160: > > if (in_compat_syscall()) > nfs4_compat_mount_data_conv(data); > > and ones similar to it (I didn't look too close where nfs3 gets to do its > conversion), no longer trigger as a result of compat_sys_mount being > wiped from the syscall table:
No, if in_compat_syscall() syscall doesn't trigger properly the kernel would not get this far. That being said, the NFS compat code was moved out of the compat mount handler and into nfs and refactored in the commit just before this one. Frank, can you double check that commit 67e306c6906137020267eb9bbdbc127034da3627 really still works, and only 028abd9222df0cf5855dab5014a5ebaf06f90565 broke your setup?