gvisor/pkg
Ghanan Gowripalan 782041509f Prevent race when reassigning CancellableTimer
Capture a timer's locker for each instance of a CancellableTimer so that
reassigning a tcpip.CancellableTimer does not cause a data race.

Reassigning a tcpip.CancellableTimer updates its underlying locker. When
a timer fires, it does a read of the timer's locker variable to lock it.
This read of the locker was not synchronized so a race existed where one
goroutine may reassign the timer (updating the locker) and another
handles the timer firing (attempts to lock the timer's locker).

Test: tcpip_test.TestCancellableTimerReassignment
PiperOrigin-RevId: 307499822
2020-04-20 16:32:44 -07:00
..
abi Support owner matching for iptables. 2020-03-26 12:21:24 -07:00
amutex Standardize on tools directory. 2020-01-27 12:21:00 -08:00
atomicbitops Automated rollback of changelist 303799678 2020-04-01 11:06:26 -07:00
binary Move Align{Up,Down} into binary package. 2020-02-11 11:09:31 -08:00
bits Misc fixes to make stat_test pass (almost) 2020-03-25 14:59:15 -07:00
bpf Standardize on tools directory. 2020-01-27 12:21:00 -08:00
buffer Clean-up buffer implementation. 2020-03-11 19:52:14 -07:00
compressio Standardize on tools directory. 2020-01-27 12:21:00 -08:00
context Remove obsolete TODOs for b/38173783 2020-04-13 11:02:14 -07:00
control Standardize on tools directory. 2020-01-27 12:21:00 -08:00
cpuid Fix 386 build tags 2020-04-01 10:00:03 -07:00
eventchannel Fix all printf formatting errors. 2020-04-08 10:14:34 -07:00
fd Standardize on tools directory. 2020-01-27 12:21:00 -08:00
fdchannel Standardize on tools directory. 2020-01-27 12:21:00 -08:00
fdnotifier Standardize on tools directory. 2020-01-27 12:21:00 -08:00
flipcall Standardize on tools directory. 2020-01-27 12:21:00 -08:00
fspath Port most syscalls to VFS2. 2020-02-25 13:37:34 -08:00
gate Deflake third_party/gvisor/pkg/gate/gate_test 2020-03-18 17:42:29 -07:00
gohacks Port most syscalls to VFS2. 2020-02-25 13:37:34 -08:00
goid Standardize on tools directory. 2020-01-27 12:21:00 -08:00
ilist Refactor software GSO code. 2020-04-03 18:35:55 -07:00
linewriter Standardize on tools directory. 2020-01-27 12:21:00 -08:00
log Fix all copy locks violations. 2020-04-08 10:00:14 -07:00
memutil Standardize on tools directory. 2020-01-27 12:21:00 -08:00
metric Add notes to relevant tests. 2020-02-05 22:46:35 -08:00
p9 Return EIO from p9 if sending/receiving fails. 2020-04-10 11:36:57 -07:00
pool Move p9.pool to a separate package 2020-02-06 10:07:45 -08:00
procid Standardize on tools directory. 2020-01-27 12:21:00 -08:00
rand Actually wrap rand.Reader in bufio.Reader. 2020-03-20 17:02:13 -07:00
refs Standardize on tools directory. 2020-01-27 12:21:00 -08:00
safecopy Don't use REP string instructions in safecopy.memcpy. 2020-04-09 11:03:43 -07:00
safemem Ensure that safemem.BlockSeqOf(safemem.Block{}) produces an empty BlockSeq. 2020-03-04 14:30:27 -08:00
seccomp tests: Don't print log messages on stdout 2020-03-04 16:16:35 -08:00
secio Standardize on tools directory. 2020-01-27 12:21:00 -08:00
segment Fix all printf formatting errors. 2020-04-08 10:14:34 -07:00
sentry Merge pull request #2313 from kevinGC:firstn 2020-04-20 14:31:12 -07:00
sleep Simplify atomic operations 2020-02-11 20:37:01 -08:00
state Fix all copy locks violations. 2020-04-08 10:00:14 -07:00
sync Rename files in //pkg/sync to better reflect what they contain. 2020-04-02 11:57:06 -07:00
syncevent Add //pkg/syncevent. 2020-02-18 15:18:48 -08:00
syserr Standardize on tools directory. 2020-01-27 12:21:00 -08:00
syserror Add BoundEndpointAt filesystem operation. 2020-03-26 21:52:24 -07:00
tcpip Prevent race when reassigning CancellableTimer 2020-04-20 16:32:44 -07:00
tmutex Standardize on tools directory. 2020-01-27 12:21:00 -08:00
unet Standardize on tools directory. 2020-01-27 12:21:00 -08:00
urpc Standardize on tools directory. 2020-01-27 12:21:00 -08:00
usermem Remove obsolete TODOs for b/38173783 2020-04-13 11:02:14 -07:00
waiter Standardize on tools directory. 2020-01-27 12:21:00 -08:00