]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
fix(dracut-install): do not try to copy files from the root directory
authorMarcos Mello <marcosfrm@gmail.com>
Sun, 24 Jul 2022 19:51:37 +0000 (16:51 -0300)
committerJóhann B. Guðmundsson <johannbg@gmail.com>
Fri, 12 Aug 2022 11:45:59 +0000 (11:45 +0000)
HWCAP library path needs at least two parent directories, for example:

/lib64/power6x/libc.so.6
/lib64/glibc-hwcaps/power9/libpthread-2.28.so (glibc 2.33+)

Before:

dracut-install: Lib install: '/lib64/libz.so.1'
dracut-install: dracut_install('/lib64/libz.so', '/lib64/libz.so', 0, 0, 1)
dracut-install: dracut_install('//libz.so.1', '//libz.so.1', 0, 0, 1)
dracut-install: dracut_install('//libz.so', '//libz.so', 0, 0, 1)

After:

dracut-install: Lib install: '/lib64/libz.so.1'
dracut-install: dracut_install('/lib64/libz.so', '/lib64/libz.so', 0, 0, 1)

src/install/dracut-install.c

index 8daa608843430c2b173195891bc759986064eb7c..dbbeb6cd1d37fd1d0d2aed12f73f3d6ddd85b6f1 100644 (file)
@@ -392,7 +392,8 @@ static int library_install(const char *src, const char *lib)
                 return ret;
 
         ppdir = dirname_malloc(pdir);
-        if (!ppdir)
+        /* only one parent directory, not HWCAP library */
+        if (!ppdir || streq(ppdir, "/"))
                 return ret;
 
         pppdir = dirname_malloc(ppdir);