From: Lennart Poettering Date: Tue, 23 Jan 2018 18:36:55 +0000 (+0100) Subject: namespace: use is_symlink() helper X-Git-Tag: v237~43^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=36ce7110b05128d124a43d515abe95c16f72530b;p=thirdparty%2Fsystemd.git namespace: use is_symlink() helper We have this prett ylittle helper, let's use it, it makes things a tiny bit more readable. --- diff --git a/src/core/namespace.c b/src/core/namespace.c index 7b9ef85ff84..565b9544825 100644 --- a/src/core/namespace.c +++ b/src/core/namespace.c @@ -42,6 +42,7 @@ #include "path-util.h" #include "selinux-util.h" #include "socket-util.h" +#include "stat-util.h" #include "string-table.h" #include "string-util.h" #include "strv.h" @@ -537,7 +538,6 @@ static int mount_private_dev(MountEntry *m) { char temporary_mount[] = "/tmp/namespace-dev-XXXXXX"; const char *d, *dev = NULL, *devpts = NULL, *devshm = NULL, *devhugepages = NULL, *devmqueue = NULL, *devlog = NULL, *devptmx = NULL; _cleanup_umask_ mode_t u; - struct stat st; int r; assert(m); @@ -567,11 +567,10 @@ static int mount_private_dev(MountEntry *m) { * * in nspawn and other containers it will be a symlink, in that case make it a symlink */ - if (lstat("/dev/ptmx", &st) < 0) { - r = -errno; + r = is_symlink("/dev/ptmx"); + if (r < 0) goto fail; - } - if (S_ISLNK(st.st_mode)) { + if (r > 0) { devptmx = strjoina(temporary_mount, "/dev/ptmx"); if (symlink("pts/ptmx", devptmx) < 0) { r = -errno;