diff options
| author | Tim Wright <tenortim@gmail.com> | 2017-11-21 19:11:56 -0800 |
|---|---|---|
| committer | Brad Fitzpatrick <bradfitz@golang.org> | 2017-11-22 03:47:23 +0000 |
| commit | a2a1c173d7917e86e2f0a3323676ae29f188593c (patch) | |
| tree | ab1614a6a137a4e991a871609a823b89f8321a70 /src/syscall | |
| parent | 7eb7f8f5a75fcff520b5b93a7831fa7044d86887 (diff) | |
| download | go-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.go | 4 |
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 |
