@@ -9,13 +9,14 @@ import (
99 "os"
1010 "path/filepath"
1111 "strings"
12- "syscall"
1312 "time"
1413
1514 "github.com/opencontainers/runc/libcontainer/configs"
1615 "github.com/opencontainers/runc/libcontainer/seccomp"
1716 libcontainerUtils "github.com/opencontainers/runc/libcontainer/utils"
1817 "github.com/opencontainers/runtime-spec/specs-go"
18+
19+ "golang.org/x/sys/unix"
1920)
2021
2122const wildcard = - 1
@@ -30,13 +31,13 @@ var namespaceMapping = map[specs.LinuxNamespaceType]configs.NamespaceType{
3031}
3132
3233var mountPropagationMapping = map [string ]int {
33- "rprivate" : syscall .MS_PRIVATE | syscall .MS_REC ,
34- "private" : syscall .MS_PRIVATE ,
35- "rslave" : syscall .MS_SLAVE | syscall .MS_REC ,
36- "slave" : syscall .MS_SLAVE ,
37- "rshared" : syscall .MS_SHARED | syscall .MS_REC ,
38- "shared" : syscall .MS_SHARED ,
39- "" : syscall .MS_PRIVATE | syscall .MS_REC ,
34+ "rprivate" : unix .MS_PRIVATE | unix .MS_REC ,
35+ "private" : unix .MS_PRIVATE ,
36+ "rslave" : unix .MS_SLAVE | unix .MS_REC ,
37+ "slave" : unix .MS_SLAVE ,
38+ "rshared" : unix .MS_SHARED | unix .MS_REC ,
39+ "shared" : unix .MS_SHARED ,
40+ "" : unix .MS_PRIVATE | unix .MS_REC ,
4041}
4142
4243var allowedDevices = []* configs.Device {
@@ -638,41 +639,41 @@ func parseMountOptions(options []string) (int, []int, string, int) {
638639 clear bool
639640 flag int
640641 }{
641- "async" : {true , syscall .MS_SYNCHRONOUS },
642- "atime" : {true , syscall .MS_NOATIME },
643- "bind" : {false , syscall .MS_BIND },
642+ "async" : {true , unix .MS_SYNCHRONOUS },
643+ "atime" : {true , unix .MS_NOATIME },
644+ "bind" : {false , unix .MS_BIND },
644645 "defaults" : {false , 0 },
645- "dev" : {true , syscall .MS_NODEV },
646- "diratime" : {true , syscall .MS_NODIRATIME },
647- "dirsync" : {false , syscall .MS_DIRSYNC },
648- "exec" : {true , syscall .MS_NOEXEC },
649- "mand" : {false , syscall .MS_MANDLOCK },
650- "noatime" : {false , syscall .MS_NOATIME },
651- "nodev" : {false , syscall .MS_NODEV },
652- "nodiratime" : {false , syscall .MS_NODIRATIME },
653- "noexec" : {false , syscall .MS_NOEXEC },
654- "nomand" : {true , syscall .MS_MANDLOCK },
655- "norelatime" : {true , syscall .MS_RELATIME },
656- "nostrictatime" : {true , syscall .MS_STRICTATIME },
657- "nosuid" : {false , syscall .MS_NOSUID },
658- "rbind" : {false , syscall .MS_BIND | syscall .MS_REC },
659- "relatime" : {false , syscall .MS_RELATIME },
660- "remount" : {false , syscall .MS_REMOUNT },
661- "ro" : {false , syscall .MS_RDONLY },
662- "rw" : {true , syscall .MS_RDONLY },
663- "strictatime" : {false , syscall .MS_STRICTATIME },
664- "suid" : {true , syscall .MS_NOSUID },
665- "sync" : {false , syscall .MS_SYNCHRONOUS },
646+ "dev" : {true , unix .MS_NODEV },
647+ "diratime" : {true , unix .MS_NODIRATIME },
648+ "dirsync" : {false , unix .MS_DIRSYNC },
649+ "exec" : {true , unix .MS_NOEXEC },
650+ "mand" : {false , unix .MS_MANDLOCK },
651+ "noatime" : {false , unix .MS_NOATIME },
652+ "nodev" : {false , unix .MS_NODEV },
653+ "nodiratime" : {false , unix .MS_NODIRATIME },
654+ "noexec" : {false , unix .MS_NOEXEC },
655+ "nomand" : {true , unix .MS_MANDLOCK },
656+ "norelatime" : {true , unix .MS_RELATIME },
657+ "nostrictatime" : {true , unix .MS_STRICTATIME },
658+ "nosuid" : {false , unix .MS_NOSUID },
659+ "rbind" : {false , unix .MS_BIND | unix .MS_REC },
660+ "relatime" : {false , unix .MS_RELATIME },
661+ "remount" : {false , unix .MS_REMOUNT },
662+ "ro" : {false , unix .MS_RDONLY },
663+ "rw" : {true , unix .MS_RDONLY },
664+ "strictatime" : {false , unix .MS_STRICTATIME },
665+ "suid" : {true , unix .MS_NOSUID },
666+ "sync" : {false , unix .MS_SYNCHRONOUS },
666667 }
667668 propagationFlags := map [string ]int {
668- "private" : syscall .MS_PRIVATE ,
669- "shared" : syscall .MS_SHARED ,
670- "slave" : syscall .MS_SLAVE ,
671- "unbindable" : syscall .MS_UNBINDABLE ,
672- "rprivate" : syscall .MS_PRIVATE | syscall .MS_REC ,
673- "rshared" : syscall .MS_SHARED | syscall .MS_REC ,
674- "rslave" : syscall .MS_SLAVE | syscall .MS_REC ,
675- "runbindable" : syscall .MS_UNBINDABLE | syscall .MS_REC ,
669+ "private" : unix .MS_PRIVATE ,
670+ "shared" : unix .MS_SHARED ,
671+ "slave" : unix .MS_SLAVE ,
672+ "unbindable" : unix .MS_UNBINDABLE ,
673+ "rprivate" : unix .MS_PRIVATE | unix .MS_REC ,
674+ "rshared" : unix .MS_SHARED | unix .MS_REC ,
675+ "rslave" : unix .MS_SLAVE | unix .MS_REC ,
676+ "runbindable" : unix .MS_UNBINDABLE | unix .MS_REC ,
676677 }
677678 extensionFlags := map [string ]struct {
678679 clear bool
0 commit comments