Port-amd64 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: fcntl64 in linux32 emul



On Wed, Jan 30, 2008 at 07:44:51PM +0200, Arto Huusko wrote:
> This post is about fcntl64 in linux32 emul, but the same issues may
> affect other system calls that have 64 bit variants as well.
> 
> The first problem is that fcntl64 emul in compat/linux/common/linux_file64.c
> handles only F_GETLK64, F_SETLK64 and F_SETLKW64, and for other fcntl 
> commands
> it calls linux_sys_fcntl(). But linux_sys_fcntl() is part of the *64-bit*
> linux emulation. This means that F_SETLK request from 32-bit linux binary
> is handled as if it came from 64-bit binary, and this means that the
> struct flock userland gave (32-bit off_t fields) and the struct flock the
> kernel expects (64-bit off_t fields) do not match at all.

The patches are wrong - they will break 64bit linux binaries.
I'll commit some changes that should be ok.

        David

-- 
David Laight: david%l8s.co.uk@localhost



Home | Main Index | Thread Index | Old Index