freebsd-dev/sys/compat
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
..
freebsd32 Regenerate after adding syscalls. 2002-11-16 23:48:14 +00:00
ia32 Added fields for VM_MIN_ADDRESS, PS_STRINGS and stack protections to 2002-09-01 21:41:24 +00:00
linprocfs Remove the process state PRS_WAIT. 2002-10-21 22:27:36 +00:00
linux Fix emulation of the fcntl64() syscall. In Linux, this is exactly 2002-12-08 18:30:44 +00:00
netbsd Remove __P. 2002-03-20 05:48:58 +00:00
pecoff Bring in two sets of changes: 2002-11-05 17:51:56 +00:00
svr4 Replace the conventional usage of strncpy() by using strlcpy(). 2002-10-17 22:27:21 +00:00