gvisor/pkg/sentry/syscalls/linux
Dean Deng 07f2584979 Plumb getting/setting xattrs through InodeOperations and 9p gofer interfaces.
There was a very bare get/setxattr in the InodeOperations interface. Add
context.Context to both, size to getxattr, and flags to setxattr.
Note that extended attributes are passed around as strings in this
implementation, so size is automatically encoded into the value. Size is
added in getxattr so that implementations can return ERANGE if a value is larger
than can fit in the user-allocated buffer. This prevents us from unnecessarily
passing around an arbitrarily large xattr when the user buffer is actually too
small.

Don't use the existing xattrwalk and xattrcreate messages and define our
own, mainly for the sake of simplicity.

Extended attributes will be implemented in future commits.

PiperOrigin-RevId: 290121300
2020-01-16 12:56:33 -08:00
..
BUILD Enable clone syscall support on arm64. 2020-01-16 10:28:11 -08:00
error.go New sync package. 2020-01-09 22:02:24 -08:00
flags.go Pass OpenTruncate to gofer in Open call when opening file with O_TRUNC. 2019-11-20 15:07:16 -08:00
linux64.go Update const names to be Go style. 2019-10-22 16:16:41 -07:00
linux64_amd64.go Plumb getting/setting xattrs through InodeOperations and 9p gofer interfaces. 2020-01-16 12:56:33 -08:00
linux64_arm64.go Plumb getting/setting xattrs through InodeOperations and 9p gofer interfaces. 2020-01-16 12:56:33 -08:00
sigset.go Cleanup straggling syscall dependencies. 2019-07-09 16:18:02 -07:00
sys_aio.go Remove map from fd_map, change to fd_table. 2019-07-02 19:28:59 -07:00
sys_capability.go Update canonical repository. 2019-06-13 16:50:15 -07:00
sys_clone_amd64.go Enable clone syscall support on arm64. 2020-01-16 10:28:11 -08:00
sys_clone_arm64.go Enable clone syscall support on arm64. 2020-01-16 10:28:11 -08:00
sys_epoll.go Combine multiple epoll events copies 2019-07-30 10:53:55 +08:00
sys_eventfd.go Cleanup straggling syscall dependencies. 2019-07-09 16:18:02 -07:00
sys_file.go Implement F_GETOWN_EX and F_SETOWN_EX. 2019-12-05 17:28:52 -08:00
sys_futex.go futex: wake one waiter if futex_wake is called with a non-positive value 2019-12-19 17:26:44 -08:00
sys_getdents.go ext: vfs.FileDescriptionImpl and vfs.FilesystemImpl implementations. 2019-08-07 14:23:42 -07:00
sys_identity.go Update canonical repository. 2019-06-13 16:50:15 -07:00
sys_inotify.go Cleanup straggling syscall dependencies. 2019-07-09 16:18:02 -07:00
sys_lseek.go Remove map from fd_map, change to fd_table. 2019-07-02 19:28:59 -07:00
sys_mempolicy.go Update canonical repository. 2019-06-13 16:50:15 -07:00
sys_mmap.go Remove map from fd_map, change to fd_table. 2019-07-02 19:28:59 -07:00
sys_mount.go Drop reference on fs.Inode if Mount goes wrong. 2019-08-01 14:57:49 -07:00
sys_pipe.go Cleanup straggling syscall dependencies. 2019-07-09 16:18:02 -07:00
sys_poll.go Drop unnecessary cast. 2019-12-16 14:41:20 -08:00
sys_prctl.go Cleanup straggling syscall dependencies. 2019-07-09 16:18:02 -07:00
sys_random.go Update canonical repository. 2019-06-13 16:50:15 -07:00
sys_read.go Stub out readahead implementation. 2019-09-24 13:29:46 -07:00
sys_rlimit.go Update canonical repository. 2019-06-13 16:50:15 -07:00
sys_rseq.go Implement rseq(2) 2020-01-06 11:42:44 -08:00
sys_rusage.go Update canonical repository. 2019-06-13 16:50:15 -07:00
sys_sched.go Cleanup straggling syscall dependencies. 2019-07-09 16:18:02 -07:00
sys_seccomp.go Cleanup straggling syscall dependencies. 2019-07-09 16:18:02 -07:00
sys_sem.go Update canonical repository. 2019-06-13 16:50:15 -07:00
sys_shm.go Cleanup Shm reference handling 2020-01-06 09:29:19 -08:00
sys_signal.go Signalfd support 2019-09-18 15:16:42 -07:00
sys_socket.go Minor fixes to comments and logging 2020-01-08 11:15:46 -08:00
sys_splice.go Don't report partialResult errors from sendfile 2019-10-03 13:38:30 -07:00
sys_stat.go Remove map from fd_map, change to fd_table. 2019-07-02 19:28:59 -07:00
sys_sync.go Remove map from fd_map, change to fd_table. 2019-07-02 19:28:59 -07:00
sys_sysinfo.go Update canonical repository. 2019-06-13 16:50:15 -07:00
sys_syslog.go Update canonical repository. 2019-06-13 16:50:15 -07:00
sys_thread.go Enable clone syscall support on arm64. 2020-01-16 10:28:11 -08:00
sys_time.go Only copy out remaining time on nanosleep success 2019-09-30 13:07:32 -07:00
sys_timer.go Cleanup straggling syscall dependencies. 2019-07-09 16:18:02 -07:00
sys_timerfd.go Merge pull request #450 from Pixep:feature/add-clock-boottime-as-monotonic 2019-07-19 10:44:45 -07:00
sys_tls.go Cleanup straggling syscall dependencies. 2019-07-09 16:18:02 -07:00
sys_utsname.go fix set hostname 2019-09-20 17:57:25 +00:00
sys_write.go Remove old TODO. 2019-10-21 17:04:32 -07:00
sys_xattr.go Plumb getting/setting xattrs through InodeOperations and 9p gofer interfaces. 2020-01-16 12:56:33 -08:00
timespec.go Cleanup straggling syscall dependencies. 2019-07-09 16:18:02 -07:00