svn commit: trunk/busybox/modutils

vda at busybox.net vda at busybox.net
Thu May 22 17:37:39 UTC 2008


Author: vda
Date: 2008-05-22 10:37:38 -0700 (Thu, 22 May 2008)
New Revision: 22050

Log:
modprobe: fix for blacklisting

The patch makes the order of the alias/blacklist in modprobe.conf 
irrelevant (like module-utils' modprobe). In first patch the alias had 
to be defined before the blacklist which caused problems because the 
modprobe.conf file is read before /lib/modules/*/modules.alias.

The attatched patch will mark the blacklisted module itself rather than 
trying to find the alias that points to the blacklisted module and test 
this flag later in the alias resolving stage.



Modified:
   trunk/busybox/modutils/modprobe.c


Changeset:
Modified: trunk/busybox/modutils/modprobe.c
===================================================================
--- trunk/busybox/modutils/modprobe.c	2008-05-22 17:35:22 UTC (rev 22049)
+++ trunk/busybox/modutils/modprobe.c	2008-05-22 17:37:38 UTC (rev 22050)
@@ -332,7 +332,7 @@
 
 			mod = skip_whitespace(buffer + 10);
 			for (dt = *first; dt; dt = dt->m_next) {
-				if (dt->m_isalias && strcmp(dt->m_deparr[0], mod) == 0)
+				if (strcmp(dt->m_name, mod) == 0)
 					break;
 			}
 			if (dt)
@@ -748,12 +748,13 @@
 
 	// resolve alias names
 	while (dt->m_isalias) {
-		if (dt->m_depcnt == 1 && !(ENABLE_FEATURE_MODPROBE_BLACKLIST &&
-				dt->m_isblacklisted)) {
+		if (dt->m_depcnt == 1) {
 			struct dep_t *adt;
 
 			for (adt = depend; adt; adt = adt->m_next) {
-				if (check_pattern(adt->m_name, dt->m_deparr[0]) == 0)
+				if (check_pattern(adt->m_name, dt->m_deparr[0]) == 0 &&
+						!(ENABLE_FEATURE_MODPROBE_BLACKLIST &&
+							adt->m_isblacklisted))
 					break;
 			}
 			if (adt) {




More information about the busybox-cvs mailing list