On Mon, Jun 25, 2007 at 09:49:17AM +0100, David Woodhouse wrote:

> Not all the world is an i386. Many architectures need 64-bit arguments
> to be aligned in suitable pairs of registers, and the original
> sys_sync_file_range(int, loff_t, loff_t, int) was therefore wasting an
> argument register for padding after the first integer. Since we don't
> normally have more than 6 arguments for system calls, that left no room
> for the final argument on some architectures.

The worse side of this class of problem is that at times new syscalls are
being invoked through pseudo-portable assembler code which on architectures
where where 64-bit values are being passed in an aligned pair frequently
end passing some of the arguments the wrong way.  For pread/pwrite this
did result in actual data corruption.

  Ralf
-
To unsubscribe from this list: send the line "unsubscribe linux-arch" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to