freebsd-nq/sys
Ed Schouten 8328babdd0 Make pipes in CloudABI work.
Summary:
Pipes in CloudABI are unidirectional. The reason for this is that
CloudABI attempts to provide a uniform runtime environment across
different flavours of UNIX.

Instead of implementing a custom pipe that is unidirectional, we can
simply reuse Capsicum permission bits to support this. This is nice,
because CloudABI already attempts to restrict permission bits to
correspond with the operations that apply to a certain file descriptor.

Replace kern_pipe() and kern_pipe2() by a single kern_pipe() that takes
a pair of filecaps. These filecaps are passed to the newly introduced
falloc_caps() function that creates the descriptors with rights in
place.

Test Plan:
CloudABI pipes seem to be created with proper rights in place:

https://github.com/NuxiNL/cloudlibc/blob/master/src/libc/unistd/pipe_test.c#L44

Reviewers: jilles, mjg

Reviewed By: mjg

Subscribers: imp

Differential Revision: https://reviews.freebsd.org/D3236
2015-07-29 17:18:27 +00:00
..
amd64 Remove full barrier from the amd64 atomic_load_acq_*(). Strong 2015-07-28 07:04:51 +00:00
arm Fix color mapping for TDA19988. Values for VIP_CNTRL_1 and VIP_CNTRL_2 2015-07-25 03:19:02 +00:00
arm64 Add quirk for ThunderX ITS device table size 2015-07-29 11:22:19 +00:00
boot Use consistent spacing. 2015-07-25 20:17:19 +00:00
bsm
cam Refactor unmapped buffer address handling. 2015-07-23 19:13:41 +00:00
cddl Add warning about low KSTACK_PAGES for ZFS use 2015-07-28 11:19:38 +00:00
compat Make pipes in CloudABI work. 2015-07-29 17:18:27 +00:00
conf Merge ACPICA 20150717. 2015-07-22 16:25:07 +00:00
contrib Import Annapurna Labs Alpine HAL to sys/contrib/ 2015-07-28 14:20:33 +00:00
crypto Complete the move that was started w/ r263218.. For some reason I 2015-07-11 03:12:34 +00:00
ddb Various changes to the registers displayed in DDB for x86. 2015-07-22 01:09:02 +00:00
dev Convert in_ifaddr_lock and in6_ifaddr_lock to rmlock. 2015-07-29 08:12:05 +00:00
fs - Remove some dead code copied from ffs. 2015-07-29 03:06:08 +00:00
gdb CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
geom Report the scheme and provider names in warning message about unaligned 2015-07-26 11:16:48 +00:00
gnu The GNU Amlogic DTS files have some errors (e.g. bad register 2015-04-11 08:17:39 +00:00
i386 Remove duplicate and useless declarations. 2015-07-22 09:12:40 +00:00
isa
kern Make pipes in CloudABI work. 2015-07-29 17:18:27 +00:00
kgssapi
libkern Remove checks for __ARM_EABI__, we only build for EABI now. 2015-07-09 21:02:40 +00:00
mips Make Broadcom XLR use shared ds1374 RTC driver. 2015-07-29 15:32:59 +00:00
modules isl(4), driver for Intersil I2C ISL29018 Digital Ambient Light Sensor 2015-07-25 20:17:19 +00:00
net Eliminate the use of m_copydata() in gif_encapcheck(). 2015-07-29 14:07:43 +00:00
net80211 Break out the current 802.11 software scan methods into an indirect table. 2015-06-08 02:35:43 +00:00
netgraph * Address review (and add a bit myself). 2015-07-12 18:14:38 +00:00
netinet Eliminate the use of m_copydata() in gif_encapcheck(). 2015-07-29 14:07:43 +00:00
netinet6 Eliminate the use of m_copydata() in gif_encapcheck(). 2015-07-29 14:07:43 +00:00
netipsec RFC4868 section 2.3 requires that the output be half... This fixes 2015-07-29 07:15:16 +00:00
netnatm
netpfil Reduce overhead of ipfw's me6 opcode. 2015-07-29 10:53:42 +00:00
netsmb
nfs
nfsclient Remove some oldnfs remnants. 2015-04-18 16:08:06 +00:00
nfsserver
nlm
ofed Fix broken implementation of "kvasprintf()" function by adding missing 2015-07-03 11:16:20 +00:00
opencrypto Fix XTS, and name things a bit better... 2015-07-14 07:45:18 +00:00
pc98 Spell crypto correctly. 2015-07-14 10:47:56 +00:00
powerpc Implement the lockstat provider using SDT(9) instead of the custom provider 2015-07-19 22:14:09 +00:00
rpc Remove useless acquire semantic from the atomic_add operation before 2015-07-28 06:58:10 +00:00
security fd: make 'rights' a manadatory argument to fget* functions 2015-07-05 19:05:16 +00:00
sparc64 o Revert the other functional half of r239864, i. e. the merge of r134227 2015-07-24 15:13:21 +00:00
sys Make pipes in CloudABI work. 2015-07-29 17:18:27 +00:00
teken
tools
ufs - Make 'struct buf *buf' private to vfs_bio.c. Having a global variable 2015-07-29 02:26:57 +00:00
vm - Make 'struct buf *buf' private to vfs_bio.c. Having a global variable 2015-07-29 02:26:57 +00:00
x86 Add bit names for the IA32_MISC_ENABLE msr. 2015-07-28 06:55:08 +00:00
xdr
xen Garbage collect comments which related to the pre-r284296 support for a 2015-06-21 06:05:33 +00:00
Makefile Kill EoL whitespace. 2015-05-29 14:03:07 +00:00