freebsd-nq/sys/compat/linux
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
..
check_error.d - >500 static DTrace probes for the linuxulator 2012-05-05 19:42:38 +00:00
check_internal_locks.d - >500 static DTrace probes for the linuxulator 2012-05-05 19:42:38 +00:00
linux_dtrace.h - >500 static DTrace probes for the linuxulator 2012-05-05 19:42:38 +00:00
linux_emul.c - >500 static DTrace probes for the linuxulator 2012-05-05 19:42:38 +00:00
linux_emul.h - >500 static DTrace probes for the linuxulator 2012-05-05 19:42:38 +00:00
linux_file.c Extend the KPI to lock and unlock f_offset member of struct file. It 2012-07-02 21:01:03 +00:00
linux_file.h Make the Linux *at() calls a bit more complete. 2011-11-19 07:19:37 +00:00
linux_fork.c - >500 static DTrace probes for the linuxulator 2012-05-05 19:42:38 +00:00
linux_futex.c - >500 static DTrace probes for the linuxulator 2012-05-05 19:42:38 +00:00
linux_futex.h
linux_getcwd.c
linux_ioctl.c Convert files to UTF-8 2012-01-15 13:23:18 +00:00
linux_ioctl.h
linux_ipc.c Convert files to UTF-8 2012-01-15 13:23:18 +00:00
linux_ipc.h
linux_mib.c - >500 static DTrace probes for the linuxulator 2012-05-05 19:42:38 +00:00
linux_mib.h
linux_misc.c - >500 static DTrace probes for the linuxulator 2012-05-05 19:42:38 +00:00
linux_misc.h
linux_signal.c Convert files to UTF-8 2012-01-15 13:23:18 +00:00
linux_signal.h
linux_socket.c Convert files to UTF-8 2012-01-15 13:23:18 +00:00
linux_socket.h
linux_stats.c Remove direct access to si_name. 2012-02-10 12:35:57 +00:00
linux_sysctl.c - >500 static DTrace probes for the linuxulator 2012-05-05 19:42:38 +00:00
linux_sysproto.h
linux_time.c - >500 static DTrace probes for the linuxulator 2012-05-05 19:42:38 +00:00
linux_uid16.c - >500 static DTrace probes for the linuxulator 2012-05-05 19:42:38 +00:00
linux_util.c - >500 static DTrace probes for the linuxulator 2012-05-05 19:42:38 +00:00
linux_util.h - >500 static DTrace probes for the linuxulator 2012-05-05 19:42:38 +00:00
linux_videodev2_compat.h
linux_videodev2.h
linux_videodev_compat.h
linux_videodev.h
stats_timing.d - >500 static DTrace probes for the linuxulator 2012-05-05 19:42:38 +00:00
trace_futexes.d - >500 static DTrace probes for the linuxulator 2012-05-05 19:42:38 +00:00