diff options
Diffstat (limited to 'install/dracut-install.c')
-rw-r--r-- | install/dracut-install.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/install/dracut-install.c b/install/dracut-install.c index 60a62e8b..8aa0e2e5 100644 --- a/install/dracut-install.c +++ b/install/dracut-install.c @@ -291,6 +291,9 @@ static int resolve_deps(const char *src) if (strstr(buf, "loader cannot load itself")) break; + if (strstr(buf, "not regular file")) + break; + p = strstr(buf, "/"); if (p) { int r; @@ -408,7 +411,7 @@ static int dracut_install(const char *src, const char *dst, bool isdir, bool res } if (ret == 0) { - if (resolvedeps) { + if (resolvedeps && S_ISREG(sb.st_mode) && (sb.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) { log_debug("'%s' already exists, but checking for any deps", fulldstpath); ret = resolve_deps(src); } else |