freebsd-dev/sys
Ed Schouten cec575201a Make fstat() and friends work.
Summary:
CloudABI provides access to two different stat structures:

- fdstat, containing file descriptor level status: oflags, file
  descriptor type and Capsicum rights, used by cap_rights_get(),
  fcntl(F_GETFL), getsockopt(SO_TYPE).
- filestat, containing your regular file status: timestamps, inode
  number, used by fstat().

Unlike FreeBSD's stat::st_mode, CloudABI file descriptor types don't
have overloaded meanings (e.g., returning S_ISCHR() for kqueues). Add a
utility function to extract the type of a file descriptor accurately.

CloudABI does not work with O_ACCMODEs. File descriptors have two sets
of Capsicum-style rights: rights that apply to the file descriptor
itself ('base') and rights that apply to any new file descriptors
yielded through openat() ('inheriting'). Though not perfect, we can
pretty safely decompose Capsicum rights to such a pair. This is done in
convert_capabilities().

Test Plan: Tests for these system calls are fairly extensive in cloudlibc.

Reviewers: jonathan, mjg, #manpages

Reviewed By: mjg

Subscribers: imp

Differential Revision: https://reviews.freebsd.org/D3171
2015-07-28 06:36:49 +00:00
..
amd64 Add a comment discussing the appropriate use of the atomic_*() functions 2015-07-24 19:43:18 +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 Teach the GICv2 driver about the Qualcomm GICv2 compatible string. 2015-07-21 18:08:10 +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 Remove checks for a NULL return value from M_WAITOK allocations. 2015-07-21 23:44:36 +00:00
compat Make fstat() and friends work. 2015-07-28 06:36:49 +00:00
conf Merge ACPICA 20150717. 2015-07-22 16:25:07 +00:00
contrib Sync in latest upstream system call definitions. 2015-07-27 10:04:06 +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 Check the sync operation. 2015-07-28 04:54:05 +00:00
fs In tmpfs_chtimes(), remove checks on the nanosecond level when 2015-07-26 08:33:46 +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 shutdown() return ENOTCONN as required by POSIX, part deux. 2015-07-27 13:17:57 +00:00
kgssapi
libkern Remove checks for __ARM_EABI__, we only build for EABI now. 2015-07-09 21:02:40 +00:00
mips Populate hw.model with the CPU model information. 2015-07-14 05:14:10 +00:00
modules isl(4), driver for Intersil I2C ISL29018 Digital Ambient Light Sensor 2015-07-25 20:17:19 +00:00
net Prevent null-pointer dereferencing. 2015-07-20 08:21:51 +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 Provide consistent error causes whenever an ABORT chunk is sent. 2015-07-27 22:35:54 +00:00
netinet6 Move including netinet/icmp6.h around to avoid a problem when including 2015-07-25 18:26:09 +00:00
netipsec IPSEC, remove variable argument function its already due. 2015-07-21 21:46:24 +00:00
netnatm
netpfil Add helper functions for IP checksum adjusting. Use these functions in 2015-07-20 07:26:31 +00:00
netsmb
nfs Avoid closing unallocated socket in case socreate fails. 2015-02-28 20:30:29 +00:00
nfsclient Remove some oldnfs remnants. 2015-04-18 16:08:06 +00:00
nfsserver Use M_SIZE() instead of hand-crafted (and mostly correct) NFSMSIZ() macro 2015-01-07 17:22:56 +00:00
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 hard limits on number of accepting NFS connections. 2015-04-07 10:25:27 +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 shutdown() return ENOTCONN as required by POSIX, part deux. 2015-07-27 13:17:57 +00:00
teken mdoc: improvements to SEE ALSO. 2014-12-27 07:07:37 +00:00
tools
ufs Refactor unmapped buffer address handling. 2015-07-23 19:13:41 +00:00
vm Revert r173708's modifications to vm_object_page_remove(). 2015-07-25 18:29:06 +00:00
x86 Typo in comment. 2015-07-20 19:51:41 +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