>(1) The kernel is returning EFAULT to the 32-bit userspace; this implies 
that
>     userspace is handing over a bad address. It isn't, the kernel is
>     malfunctioning as it stands.
>...
>Either the kernel should return ENOSYS for any 32-bit mount on a 64-bit 
kernel
>or it must support it fully.

So this point is just the error code?  If so, where do you get ENOSYS?  A 
more usual errno for where a particular filesystem type can't be mounted 
is ENODEV.  Choosing errnos is a pretty whimsical thing anyway, since 
there are so many more kinds of errors than the authors of the errno space 
contemplated, but EFAULT and ENOSYS are two that have a pretty solid 
definition.  ENOSYS is for when an entire system call type is missing.

I'm not sure we can complain about EFAULT, though, because you really are 
supplying an invalid address.  You're doing it because you're using the 
wrong mount option format, so what you think of as 4 bytes of flags 
followed by 4 bytes of address is really 8 bytes of address.

I do understand the more important issue of there being a kernel that 
understands both mount option formats; but since you enumerated the errno 
issue, I wanted to comment on that one independently.

--
Bryan Henderson                          IBM Almaden Research Center
San Jose CA                              Filesystems
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to