freebsd-dev/sys/compat
Conrad Meyer f8f74aaa84 linux(4) clone(2): Correctly handle CLONE_FS and CLONE_FILES
The two flags are distinct and it is impossible to correctly handle clone(2)
without the assistance of fork1().  This change depends on the pwddesc split
introduced in r367777.

I've added a fork_req flag, FR2_SHARE_PATHS, which indicates that p_pd
should be treated the opposite way p_fd is (based on RFFDG flag).  This is a
little ugly, but the benefit is that existing RFFDG API is preserved.
Holding FR2_SHARE_PATHS disabled, RFFDG indicates both p_fd and p_pd are
copied, while !RFFDG indicates both should be cloned.

In Chrome, clone(2) is used with CLONE_FS, without CLONE_FILES, and expects
independent fd tables.

The previous conflation of CLONE_FS and CLONE_FILES was introduced in
r163371 (2006).

Discussed with:	markj, trasz (earlier version)
Differential Revision:	https://reviews.freebsd.org/D27016
2020-11-17 21:20:11 +00:00
..
cloudabi Split out cwd/root/jail, cmask state from filedesc table 2020-11-17 21:14:13 +00:00
cloudabi32 Regen after r366145. 2020-09-25 10:05:38 +00:00
cloudabi64 Regen after r366145. 2020-09-25 10:05:38 +00:00
freebsd32 umtx_op: reduce redundancy required for compat32 2020-11-17 03:36:58 +00:00
ia32 random(4) FenestrasX: Push root seed version to arc4random(3) 2020-10-10 21:52:00 +00:00
lindebugfs Add emulation support for the Linux kcov(4) ioctl API. 2020-09-04 00:12:28 +00:00
linprocfs linprocfs(5): Add rudimentary /proc/<pid>/mountinfo 2020-11-17 19:56:47 +00:00
linsysfs Add emulation support for the Linux kcov(4) ioctl API. 2020-09-04 00:12:28 +00:00
linux linux(4) clone(2): Correctly handle CLONE_FS and CLONE_FILES 2020-11-17 21:20:11 +00:00
linuxkpi/common LinuxKPI: Exclude linux/acpi.h content on non-ACPI archs. 2020-11-14 10:34:18 +00:00
ndis compat: clean up empty lines in .c and .h files 2020-09-01 21:24:33 +00:00
x86bios Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00