freebsd-dev/sys/compat/linux
Ian Dowse 42d5b03cfc Fix emulation of the fcntl64() syscall. In Linux, this is exactly
the same as fcntl() except that it supports the new 64-bit file
locking commands (LINUX_F_GETLK64 etc) that use the `flock64'
structure. We had been interpreting all flock structures passed to
fcntl64() as `struct flock64' instead of only the ones from F_*64
commands.

The glibc in linux_base-7 uses fcntl64() by default, but the bug
was often non-fatal since the misinterpretation typically only
causes junk to appear in the `l_len' field and most junk values are
accepted as valid range lengths. The result is occasional EINVAL
errors from F_SETLK and a few bytes after the supplied `struct
flock' getting clobbered during F_GETLK.

PR:		kern/37656
Reviewed by:	marcel
Approved by:	re
MFC after:	1 week
2002-12-08 18:30:44 +00:00
..
linux_file.c Fix emulation of the fcntl64() syscall. In Linux, this is exactly 2002-12-08 18:30:44 +00:00
linux_getcwd.c Use the new kern_*() functions to avoid using the stack gap in 2002-09-02 22:46:05 +00:00
linux_ioctl.c Implement the CDROMREADAUDIO ioctl. 2002-10-19 21:11:43 +00:00
linux_ioctl.h - Add support for IPC_64 extensions into shmctl(2), semctl(2) and msgctl(2); 2002-10-11 11:43:09 +00:00
linux_ipc.c - Add support for IPC_64 extensions into shmctl(2), semctl(2) and msgctl(2); 2002-10-11 11:43:09 +00:00
linux_ipc.h - Add support for IPC_64 extensions into shmctl(2), semctl(2) and msgctl(2); 2002-10-11 11:43:09 +00:00
linux_mib.c
linux_mib.h
linux_misc.c - Use strlcpy() rather than strncpy() to copy NUL terminated 2002-10-17 22:00:30 +00:00
linux_signal.c Back our kernel support for reliable signal queues. 2002-10-01 17:15:53 +00:00
linux_signal.h
linux_socket.c Back out last commit. Linux uses the old 4.3BSD sockaddr format. 2002-09-24 07:03:01 +00:00
linux_socket.h Fix typo in the BSD copyright: s/withough/without/ 2002-06-02 20:05:59 +00:00
linux_stats.c Include <sys/malloc.h> instead of depending on namespace pollution 2 2002-09-05 08:13:20 +00:00
linux_sysctl.c Back out last commit. Linux uses the old 4.3BSD sockaddr format. 2002-09-24 07:03:01 +00:00
linux_uid16.c Include <sys/malloc.h> instead of depending on namespace pollution 2 2002-09-05 08:13:20 +00:00
linux_util.c Add a new function linux_emul_convpath(), which is a version of 2002-09-01 21:15:37 +00:00
linux_util.h Add a new function linux_emul_convpath(), which is a version of 2002-09-01 21:15:37 +00:00