gvisor/pkg
Ayush Ranjan f2c881f684 [vfs] Make sticky bit check consistent with Linux.
Our implementation of vfs.CheckDeleteSticky was not consistent with Linux,
specifically not consistent with fs/linux.h:check_sticky().

One of the biggest differences was that the vfs implementation did not
allow the owner of the sticky directory to delete files inside it that belonged
to other users.

This change makes our implementation consistent with Linux.

Also adds an integration test to check for this. This bug is also present in
VFS1.

Updates #3027

PiperOrigin-RevId: 355557425
2021-02-03 22:44:51 -08:00
..
abi - Add more comments for the TCP_INFO struct fields. 2021-01-29 13:15:57 -08:00
amutex Invert dependency between the context and amutex packages. 2020-09-15 15:14:53 -07:00
atomicbitops Automated rollback of changelist 303799678 2020-04-01 11:06:26 -07:00
binary
bits Misc fixes to make stat_test pass (almost) 2020-03-25 14:59:15 -07:00
bpf Fix more nogo tests 2020-11-03 15:23:32 -08:00
buffer pkg/buffer: Reorganize internal structure to allow dynamic sizes. 2020-09-22 17:56:40 -07:00
cleanup
compressio Support for saving pointers to fields in the state package. 2020-06-23 23:34:06 -07:00
context Support VFS2 save/restore. 2020-10-23 17:48:33 -07:00
control Add benchmarks targets to BuildKite. 2021-01-05 13:21:54 -08:00
coverage Avoid atomic operations in kcov processing. 2021-01-22 11:32:56 -08:00
cpuid Fix simple mistakes identified by goreportcard. 2021-01-12 12:38:22 -08:00
crypto Internal change. 2020-12-03 14:47:16 -08:00
eventchannel Remove legacy bazel configurations. 2020-10-19 16:28:40 -07:00
fd Simplify FD handling for container start/exec 2020-09-04 11:42:02 -07:00
fdchannel Minor fdchannel fixes. 2020-11-13 01:56:23 -08:00
fdnotifier Consistent precondition formatting 2020-08-20 13:32:24 -07:00
flipcall Prepare for supporting cross compilation. 2020-12-09 15:51:33 -08:00
fspath Port most syscalls to VFS2. 2020-02-25 13:37:34 -08:00
gate
gohacks Support for saving pointers to fields in the state package. 2020-06-23 23:34:06 -07:00
goid Require sync.Mutex to lock and unlock from the same goroutine 2020-11-19 14:29:34 -08:00
ilist Make ilist split safe. 2021-01-11 13:18:01 -08:00
iovec fdbased: Vectorized write for packet; relax writev syscall filter. 2020-07-15 15:05:32 -07:00
linewriter
lisafs
log Remove existing nogo exceptions. 2020-12-11 12:06:49 -08:00
marshal Replace remaining uses of reflection-based marshalling. 2020-09-29 18:08:07 -07:00
memutil
merkletree Internal change. 2020-12-11 16:06:01 -08:00
metric Human-readable metric emit logs 2021-01-13 08:20:00 -08:00
p9 Fix simple mistakes identified by goreportcard. 2021-01-12 12:38:22 -08:00
pool Remove existing nogo exceptions. 2020-12-11 12:06:49 -08:00
procid Bump build constraints to 1.17 2020-08-24 12:58:39 -07:00
rand Actually wrap rand.Reader in bufio.Reader. 2020-03-20 17:02:13 -07:00
refs Add logging option to leak checker. 2020-10-28 18:23:29 -07:00
refsvfs2 Combine reference count logs into one message. 2021-01-15 14:40:26 -08:00
ring0 Move ring0 package. 2021-02-02 12:03:26 -08:00
safecopy Don't use REP string instructions in safecopy.memcpy. 2020-04-09 11:03:43 -07:00
safemem Remove existing nogo exceptions. 2020-12-11 12:06:49 -08:00
seccomp Fix simple mistakes identified by goreportcard. 2021-01-12 12:38:22 -08:00
secio
segment Fix simple mistakes identified by goreportcard. 2021-01-12 12:38:22 -08:00
sentry [vfs] Make sticky bit check consistent with Linux. 2021-02-03 22:44:51 -08:00
shim Fix code review issues 2021-01-13 13:06:15 -08:00
sleep Consolidate most synchronization primitive linknames in the sync package. 2020-12-02 19:08:32 -08:00
state Make type sanity checking happen only in race builds. 2021-01-05 18:15:27 -08:00
sync Internal change. 2021-01-28 09:31:11 -08:00
syncevent Consolidate most synchronization primitive linknames in the sync package. 2020-12-02 19:08:32 -08:00
syserr Change tcpip.Error to an interface 2021-01-28 17:59:58 -08:00
syserror Add FUSE umount support 2020-09-16 12:19:30 -07:00
tcpip Add a function to enable RACK in tests. 2021-02-03 11:09:23 -08:00
test Switch uses of os.Getenv that check for empty string to os.LookupEnv. 2021-01-13 15:15:20 -08:00
unet Fix more nogo tests 2020-11-03 15:23:32 -08:00
urpc Add benchmarks targets to BuildKite. 2021-01-05 13:21:54 -08:00
usermem Define tcpip.Payloader in terms of io.Reader 2021-01-22 12:26:09 -08:00
waiter Implement `fcntl` options `F_GETSIG` and `F_SETSIG`. 2020-12-03 06:20:29 -08:00