Date: Sun, 8 Dec 2002 10:30:44 -0800 (PST) From: Ian Dowse <iedowse@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/compat/linux linux_file.c Message-ID: <200212081830.gB8IUiV1092690@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
iedowse 2002/12/08 10:30:44 PST Modified files: sys/compat/linux linux_file.c Log: 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 Revision Changes Path 1.72 +33 -39 src/sys/compat/linux/linux_file.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200212081830.gB8IUiV1092690>