]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
file_utils: surface ENOENT when falling back to openat() 3900/head
authorChristian Brauner <christian.brauner@ubuntu.com>
Thu, 8 Jul 2021 12:49:26 +0000 (14:49 +0200)
committerChristian Brauner <christian.brauner@ubuntu.com>
Thu, 8 Jul 2021 12:49:26 +0000 (14:49 +0200)
Link: https://discuss.linuxcontainers.org/t/error-failed-to-retrieve-pid-of-executing-child-process
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
src/lxc/file_utils.c

index e7e87de9b9bdd91823d9370d6784524631852551..13a87055275185f1932abfd30be83abdd48a2476 100644 (file)
@@ -663,7 +663,11 @@ int open_at(int dfd, const char *path, unsigned int o_flags,
        if (errno != ENOSYS)
                return -errno;
 
-       return openat(dfd, path, o_flags, mode);
+       fd = openat(dfd, path, o_flags, mode);
+       if (fd < 0)
+               return -errno;
+
+       return move_fd(fd);
 }
 
 int fd_make_nonblocking(int fd)