[kmod/f17] add the patch

Kay Sievers kay at fedoraproject.org
Sun Feb 12 16:12:23 UTC 2012


commit bc93abe886bec649643439260274bc639206d150
Author: Kay Sievers <kay.sievers at vrfy.org>
Date:   Sun Feb 12 17:11:21 2012 +0100

    add the patch

 ...ule-probe-fix-infinite-loop-with-softdeps.patch |   39 ++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)
---
diff --git a/0001-libkmod-module-probe-fix-infinite-loop-with-softdeps.patch b/0001-libkmod-module-probe-fix-infinite-loop-with-softdeps.patch
new file mode 100644
index 0000000..95e7f85
--- /dev/null
+++ b/0001-libkmod-module-probe-fix-infinite-loop-with-softdeps.patch
@@ -0,0 +1,39 @@
+From 8cd0f9e4f9f5c093136a7a2c0c2998b9dd203161 Mon Sep 17 00:00:00 2001
+From: Lucas De Marchi <lucas.demarchi at profusion.mobi>
+Date: Sat, 11 Feb 2012 19:45:29 -0200
+Subject: [PATCH] libkmod-module: probe: fix infinite loop with softdeps
+
+If a softdep depends on a module in the dependency list of the module
+being inserted, we would enter and infinite loop.
+
+Move the "mod->visited = true" assignment to the proper place, hoping it
+didn't break other use cases. This is a bug that comes and goes every
+now and then. Since we have a testsuite now, a test for this should be
+written.
+---
+ libkmod/libkmod-module.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/libkmod/libkmod-module.c b/libkmod/libkmod-module.c
+index b5eb7c9..835896f 100644
+--- a/libkmod/libkmod-module.c
++++ b/libkmod/libkmod-module.c
+@@ -1013,7 +1013,6 @@ static int __kmod_module_fill_softdep(struct kmod_module *mod,
+ 		goto fail;
+ 	}
+ 	*list = l;
+-	mod->visited = true;
+ 	mod->ignorecmd = (pre != NULL || post != NULL);
+ 
+ 	kmod_list_foreach(l, post) {
+@@ -1043,6 +1042,7 @@ static int __kmod_module_get_probe_list(struct kmod_module *mod,
+ 								mod->name);
+ 		return 0;
+ 	}
++	mod->visited = true;
+ 
+ 	dep = kmod_module_get_dependencies(mod);
+ 	kmod_list_foreach(l, dep) {
+-- 
+1.7.9
+


More information about the scm-commits mailing list