aboutsummaryrefslogtreecommitdiff
path: root/src/syscall
diff options
context:
space:
mode:
authorTim Wright <tenortim@gmail.com>2017-11-21 19:11:56 -0800
committerBrad Fitzpatrick <bradfitz@golang.org>2017-11-22 03:47:23 +0000
commita2a1c173d7917e86e2f0a3323676ae29f188593c (patch)
treeab1614a6a137a4e991a871609a823b89f8321a70 /src/syscall
parent7eb7f8f5a75fcff520b5b93a7831fa7044d86887 (diff)
downloadgo-a2a1c173d7917e86e2f0a3323676ae29f188593c.tar.xz
syscall: add missing fs locking in Link, Rename on nacl
Per the comments at the head of fs_nacl.go, unexported methods expect the fs mutex to have been taken by the caller. This change brings Link and Rename into line with the other exported functions wrt fs locking. Fixes #22690 Change-Id: I46d08f7d227f23ff49bb0099d218214364a45e1a Reviewed-on: https://go-review.googlesource.com/79295 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src/syscall')
-rw-r--r--src/syscall/fs_nacl.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/syscall/fs_nacl.go b/src/syscall/fs_nacl.go
index 8fee4daee9..33334dc24b 100644
--- a/src/syscall/fs_nacl.go
+++ b/src/syscall/fs_nacl.go
@@ -625,6 +625,8 @@ func UtimesNano(path string, ts []Timespec) error {
func Link(path, link string) error {
fsinit()
+ fs.mu.Lock()
+ defer fs.mu.Unlock()
ip, _, err := fs.namei(path, false)
if err != nil {
return err
@@ -646,6 +648,8 @@ func Link(path, link string) error {
func Rename(from, to string) error {
fsinit()
+ fs.mu.Lock()
+ defer fs.mu.Unlock()
fdp, felem, err := fs.namei(from, true)
if err != nil {
return err