freebsd-dev/sys/compat
Konstantin Belousov c5c1199c83 Extend the KPI to lock and unlock f_offset member of struct file. It
now fully encapsulates all accesses to f_offset, and extends f_offset
locking to other consumers that need it, in particular, to lseek() and
variants of getdirentries().

Ensure that on 32bit architectures f_offset, which is 64bit quantity,
always read and written under the mtxpool protection. This fixes
apparently easy to trigger race when parallel lseek()s or lseek() and
read/write could destroy file offset.

The already broken ABI emulations, including iBCS and SysV, are not
converted (yet).

Tested by:	pho
No objections from:	jhb
MFC after:    3 weeks
2012-07-02 21:01:03 +00:00
..
freebsd32 Fix ki_cow for compat32 binaries. 2012-05-27 05:24:53 +00:00
ia32
linprocfs
linsysfs
linux Extend the KPI to lock and unlock f_offset member of struct file. It 2012-07-02 21:01:03 +00:00
ndis Make sure that each va_start has one and only one matching va_end, 2012-05-29 01:48:06 +00:00
netbsd
svr4
x86bios