Re: in_compat_syscall() returns from kernel thread for X86_32.

From: Theodore Y. Ts'o
Date: Wed Oct 24 2018 - 09:16:14 EST


On Wed, Oct 24, 2018 at 12:47:57PM +1100, NeilBrown wrote:
>
> I doubt it was copied - more likely independent evolution.
> But on reflection, I see that it is probably reasonable that it
> shouldn't be used this way - or at all in this context.
> I'll try to understand what the issues really are and see if I can
> find a solution that doesn't depend on this interface.
> Thanks for your help.

At least for ext4, the primary problem is that we want to use a 64-bit
telldir/seekdir cookie if all 64-bits will make it to user space, and
a 32-bit telldir cookie if only 32 bits will make it userspace. This
impacts NFS as well because if there are people who are still using
NFSv2, which has 32-bit directory offsets, we need to constrain the
telldir/seekdir cookies we give to NFS to be a 32 has as opposed to a
64-bit hash.

- Ted