summaryrefslogtreecommitdiff
path: root/core/kmod/0001-depmod-fix-hash-lookup-by-relpath-instead-of-uncrelp.patch
diff options
context:
space:
mode:
Diffstat (limited to 'core/kmod/0001-depmod-fix-hash-lookup-by-relpath-instead-of-uncrelp.patch')
-rw-r--r--core/kmod/0001-depmod-fix-hash-lookup-by-relpath-instead-of-uncrelp.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/core/kmod/0001-depmod-fix-hash-lookup-by-relpath-instead-of-uncrelp.patch b/core/kmod/0001-depmod-fix-hash-lookup-by-relpath-instead-of-uncrelp.patch
new file mode 100644
index 000000000..ae5757016
--- /dev/null
+++ b/core/kmod/0001-depmod-fix-hash-lookup-by-relpath-instead-of-uncrelp.patch
@@ -0,0 +1,43 @@
+From 06294621a944e4611e15ce8201df80870e052e7d Mon Sep 17 00:00:00 2001
+From: Lucas De Marchi <lucas.demarchi@profusion.mobi>
+Date: Fri, 16 Nov 2012 11:35:30 -0200
+Subject: [PATCH 1/2] depmod: fix hash lookup by relpath instead of uncrelpath
+
+We index modules in depmod by it's uncompressed relative path, not
+relative path. We didn't notice this bug before since this function is
+only triggered if we release a module to be replaced by one of higher
+priority.
+
+Also fix a leftover log message referring to relpath instead of
+uncrelpath.
+---
+ tools/depmod.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/tools/depmod.c b/tools/depmod.c
+index cc9346f..aafe66b 100644
+--- a/tools/depmod.c
++++ b/tools/depmod.c
+@@ -1114,7 +1114,7 @@ static int depmod_module_add(struct depmod *depmod, struct kmod_module *kmod)
+ mod->uncrelpath, mod);
+ if (err < 0) {
+ ERR("hash_add_unique %s: %s\n",
+- mod->relpath, strerror(-err));
++ mod->uncrelpath, strerror(-err));
+ hash_del(depmod->modules_by_name, mod->modname);
+ goto fail;
+ }
+@@ -1134,8 +1134,8 @@ static int depmod_module_del(struct depmod *depmod, struct mod *mod)
+ {
+ DBG("del %p kmod=%p, path=%s\n", mod, mod->kmod, mod->path);
+
+- if (mod->relpath != NULL)
+- hash_del(depmod->modules_by_uncrelpath, mod->relpath);
++ if (mod->uncrelpath != NULL)
++ hash_del(depmod->modules_by_uncrelpath, mod->uncrelpath);
+
+ hash_del(depmod->modules_by_name, mod->modname);
+
+--
+1.8.0
+