diff options
| author | Aleksandr Nogikh <nogikh@google.com> | 2021-10-28 14:00:16 +0000 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2021-10-29 10:10:32 +0200 |
| commit | 96a31541954f67fa12c6b8361fa77d9c7a3b7665 (patch) | |
| tree | 55f3db4e52e66eb9c89f2eb850e084355d1eeaa0 /pkg/csource/generated.go | |
| parent | c40503e1fa86f3027e003118aaf91646a82f2b5d (diff) | |
executor: do not follow symlinks during umount
Add a UMOUNT_NOFOLLOW flag to umount2 in order to prevent remove_dir
from unmounting what was not mounted by the executed program.
Diffstat (limited to 'pkg/csource/generated.go')
| -rw-r--r-- | pkg/csource/generated.go | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/pkg/csource/generated.go b/pkg/csource/generated.go index 8b8fadc5c..fad647a54 100644 --- a/pkg/csource/generated.go +++ b/pkg/csource/generated.go @@ -9261,7 +9261,7 @@ retry: #if SYZ_EXECUTOR if (!flag_sandbox_android) #endif - while (umount2(dir, MNT_DETACH) == 0) { + while (umount2(dir, MNT_DETACH | UMOUNT_NOFOLLOW) == 0) { debug("umount(%s)\n", dir); } #endif @@ -9282,7 +9282,7 @@ retry: #if SYZ_EXECUTOR if (!flag_sandbox_android) #endif - while (umount2(filename, MNT_DETACH) == 0) { + while (umount2(filename, MNT_DETACH | UMOUNT_NOFOLLOW) == 0) { debug("umount(%s)\n", filename); } #endif @@ -9319,7 +9319,7 @@ retry: if (!flag_sandbox_android) { #endif debug("umount(%s)\n", filename); - if (umount2(filename, MNT_DETACH)) + if (umount2(filename, MNT_DETACH | UMOUNT_NOFOLLOW)) exitf("umount(%s) failed", filename); #if SYZ_EXECUTOR } @@ -9353,7 +9353,7 @@ retry: if (!flag_sandbox_android) { #endif debug("umount(%s)\n", dir); - if (umount2(dir, MNT_DETACH)) + if (umount2(dir, MNT_DETACH | UMOUNT_NOFOLLOW)) exitf("umount(%s) failed", dir); #if SYZ_EXECUTOR } |
