Codebase list golang-github-containers-buildah / 533bf95
chroot: create bind mount targets 0755 instead of 0700 Create the target mountpoints for bind mounts, when they don't already exist, with 0755 permissions, for better consistency with runc. Signed-off-by: Nalin Dahyabhai <nalin@redhat.com> Nalin Dahyabhai 3 years ago
1 changed file(s) with 6 addition(s) and 6 deletion(s). Raw diff Collapse all Expand all
10461046 subDev := filepath.Join(spec.Root.Path, "/dev")
10471047 if err := unix.Mount("/dev", subDev, "bind", devFlags, ""); err != nil {
10481048 if os.IsNotExist(err) {
1049 err = os.Mkdir(subDev, 0700)
1049 err = os.Mkdir(subDev, 0755)
10501050 if err == nil {
10511051 err = unix.Mount("/dev", subDev, "bind", devFlags, "")
10521052 }
10701070 subProc := filepath.Join(spec.Root.Path, "/proc")
10711071 if err := unix.Mount("/proc", subProc, "bind", procFlags, ""); err != nil {
10721072 if os.IsNotExist(err) {
1073 err = os.Mkdir(subProc, 0700)
1073 err = os.Mkdir(subProc, 0755)
10741074 if err == nil {
10751075 err = unix.Mount("/proc", subProc, "bind", procFlags, "")
10761076 }
10851085 subSys := filepath.Join(spec.Root.Path, "/sys")
10861086 if err := unix.Mount("/sys", subSys, "bind", sysFlags, ""); err != nil {
10871087 if os.IsNotExist(err) {
1088 err = os.Mkdir(subSys, 0700)
1088 err = os.Mkdir(subSys, 0755)
10891089 if err == nil {
10901090 err = unix.Mount("/sys", subSys, "bind", sysFlags, "")
10911091 }
11621162 }
11631163 // The target isn't there yet, so create it.
11641164 if srcinfo.IsDir() {
1165 if err = os.MkdirAll(target, 0111); err != nil {
1165 if err = os.MkdirAll(target, 0755); err != nil {
11661166 return undoBinds, errors.Wrapf(err, "error creating mountpoint %q in mount namespace", target)
11671167 }
11681168 } else {
1169 if err = os.MkdirAll(filepath.Dir(target), 0111); err != nil {
1169 if err = os.MkdirAll(filepath.Dir(target), 0755); err != nil {
11701170 return undoBinds, errors.Wrapf(err, "error ensuring parent of mountpoint %q (%q) is present in mount namespace", target, filepath.Dir(target))
11711171 }
11721172 var file *os.File
1173 if file, err = os.OpenFile(target, os.O_WRONLY|os.O_CREATE, 0); err != nil {
1173 if file, err = os.OpenFile(target, os.O_WRONLY|os.O_CREATE, 0755); err != nil {
11741174 return undoBinds, errors.Wrapf(err, "error creating mountpoint %q in mount namespace", target)
11751175 }
11761176 file.Close()