(destDir *os.File, destName string, node *devices.Device)
| 973 | } |
| 974 | |
| 975 | func bindMountDeviceNode(destDir *os.File, destName string, node *devices.Device) error { |
| 976 | dstFile, err := utils.Openat(destDir, destName, unix.O_CREAT|unix.O_NOFOLLOW|unix.O_CLOEXEC, 0o000) |
| 977 | if err != nil { |
| 978 | return fmt.Errorf("create device inode %s: %w", node.Path, err) |
| 979 | } |
| 980 | defer dstFile.Close() |
| 981 | |
| 982 | return utils.WithProcfdFile(dstFile, func(dstFd string) error { |
| 983 | return mountViaFds(node.Path, nil, dstFile.Name(), dstFd, "bind", unix.MS_BIND, "") |
| 984 | }) |
| 985 | } |
| 986 | |
| 987 | // Creates the device node in the rootfs of the container. |
| 988 | func createDeviceNode(rootFd *os.File, node *devices.Device, bind bool) error { |
no test coverage detected
searching dependent graphs…