From: Mark Huang <mlhuang@cs.princeton.edu>
Date: Mon, 8 Nov 2004 16:19:49 +0000 (+0000)
Subject: - merge revision 1.7
X-Git-Tag: after-CAN_2004_1016_1017_1068-merge~25
X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=fd0d4536510b8f5cb7af087a1f5f9c121d4f3501;p=linux-2.6.git

- merge revision 1.7
date: 2004/11/05 09:56:50;  author: mef;  state: Exp;  lines: +1 -1
This patch fixes a crash problem in rbce when a class is deleted

Problem is that the as part of running the rules_list the class
is effectively deleted through put_class thus the value of cls->classtype
is undefined. Since on entry cls->classtype == classtype use
parameter classtype instead.

Hubertus Frankeh (frankeh@us.ibm.com)
---

diff --git a/kernel/ckrm/rbce/rbcemod.c b/kernel/ckrm/rbce/rbcemod.c
index e0df4d134..555ba0a4e 100644
--- a/kernel/ckrm/rbce/rbcemod.c
+++ b/kernel/ckrm/rbce/rbcemod.c
@@ -506,7 +506,7 @@ rbce_class_deletecb(const char *classname, void *classobj, int classtype)
 		}
 		notify_class_action(cls, 0);
 		cls->classobj = NULL;
-		list_for_each_entry(pos, &rules_list[cls->classtype], link) {
+		list_for_each_entry(pos, &rules_list[classtype], link) {
 			rule = (struct rbce_rule *)pos;
 			if (rule->target_class) {
 				if (!strcmp