Hi,
I encountered a different problem on f0.2.
PANIC is occurred in the ckrm_register_res_ctlr() on registering
a resource controller. Problem is that it always accesses
all class's the parent->name, even if the parent is NULL.
# Since there is no parent for ckrm_default_class,
# its the parent becomes NULL.
The parent->name is only passed to printk(), so just removing
the printk() is ok for me. But if you prefer to keep it,
please add a checking code whether the parent is NULL or not.
+int
+ckrm_register_res_ctlr(struct ckrm_res_ctlr *rcbs)
+{
+ struct ckrm_class *cls;
+ int resid;
+
+ resid = ckrm_register_res_ctlr_intern(rcbs);
+
+ if (resid >= 0) {
+ /* run through all classes and create the resource class
+ * object and if necessary "initialize" class in context
+ * of this resource
+ */
+ read_lock(&ckrm_class_lock);
+ list_for_each_entry(cls, &ckrm_classes, clslist) {
+ printk(KERN_NOTICE "CKRM .. create resource object "
+ "for resource <%s> class <%s:%p> parent "
+ "<%s:%p>\n", rcbs->res_name,
+ cls->name, cls, cls->parent->name,
+ cls->parent);
+ ckrm_alloc_res_class(cls, cls->parent, resid);
+
+ add_resctrl(cls, resid);
+ }
+ read_unlock(&ckrm_class_lock);
+ }
+ return resid;
+}
Although an externel variable is initialized to zero by default,
shouldn't we initialize the ckrm_default_class's .parent member to NULL?
+/* state about my classes */
+struct ckrm_class ckrm_default_class = {
+ .tasklist = LIST_HEAD_INIT(ckrm_default_class.tasklist),
+ .class_lock = SPIN_LOCK_UNLOCKED,
+ .name = CKRM_DEFAULT_CLASS_NAME,
+ .dead = 0,
+ .clslist = LIST_HEAD_INIT(ckrm_default_class.clslist),
+ .siblings = LIST_HEAD_INIT(ckrm_default_class.siblings),
+ .children = LIST_HEAD_INIT(ckrm_default_class.children),
+};
+EXPORT_SYMBOL_GPL(ckrm_default_class);
Thanks,
MAEDA Naoaki
-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
ckrm-tech mailing list
https://lists.sourceforge.net/lists/listinfo/ckrm-tech