I understand the problem very well. Passing 64 bit stuff via
syscalls is a major pain in the butt. But your patch is not just
changing hppa and mips -- you are breaking the ABI on x86, arm,
powerpc, etc, etc. etc where it is currently working. Look very
closely at your patch. See those endianness ifdefs? You are
adding endianness specific ifdefs into pread, truncate, and
ftruncate to switch the argument order. User space is already
doing that too. At no time on any architecture is the low stuff
passed into arg3. Ergo, your patch is going to break userspace
where pread and pread64 are now working correctly....
If you want to change the kernel to passing eliminate 64 bit
stuff via syscalls, and instead pass pairs of 32bit entities --
I'm all for that as that would make explicit what user space is
doing anyways. But don't break binary compatibility for no
reason. Why make both user-space _and_ kernel space add ifdefs
for endianness? Make arg3 _always_ contain the hi-bits.
-Erik
-- Erik B. Andersen http://codepoet-consulting.com/ --This message was written using 73% post-consumer electrons-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/