1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-14 19:10:49 +02:00
guix/gnu/packages/patches/libvirt-respect-modules-path.patch
nathan 614ba97d98
gnu: libvirt: Fix path to Linux modules.
* gnu/packages/virtualization.scm (libvirt): Use LINUX_MODULE_DIRECTORY to
find modules.
[source]: Add libvirt-respect-modules-path.patch.
* gnu/packages/patches/libvirt-respect-modules-path.patch: New file.
* gnu/local.mk: Register new file.
* gnu/services/virtualization.scm (libvirt-shepherd-service)
<#:environment-variables>: Pass LINUX_MODULE_DIRECTORY.

Change-Id: Idde5b59df3c1641fcbab376e6c694730769294d3
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-03-17 20:55:38 +09:00

15 lines
614 B
Diff

Honor the LINUX_MODULE_DIRECTORY environment variable.
Upstream-status: N/A
--- a/src/util/virpci.c
+++ b/src/util/virpci.c
@@ -1459,6 +1459,7 @@ virPCIDeviceFindBestVFIOVariant(virPCIDevice *dev,
}
uname(&unameInfo);
- modulesAliasPath = g_strdup_printf("/lib/modules/%s/modules.alias", unameInfo.release);
+ char* modulepath = getenv("LINUX_MODULE_DIRECTORY");
+ modulesAliasPath = g_strdup_printf("%s/%s/modules.alias", modulepath ? modulepath : "/lib/modules", unameInfo.release);
if (virFileReadAll(modulesAliasPath, 8 * 1024 * 1024, &modulesAliasContent) < 0)
return -1;