linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / arch / s390 / appldata / appldata_base.c
index 9a22434..d06a8d7 100644 (file)
@@ -531,11 +531,12 @@ int appldata_register_ops(struct appldata_ops *ops)
                P_ERROR("ctl_nr %i already in use!\n", ops->ctl_nr);
                return -EBUSY;
        }
-       ops->ctl_table = kzalloc(4*sizeof(struct ctl_table), GFP_KERNEL);
+       ops->ctl_table = kmalloc(4*sizeof(struct ctl_table), GFP_KERNEL);
        if (ops->ctl_table == NULL) {
                P_ERROR("Not enough memory for %s ctl_table!\n", ops->name);
                return -ENOMEM;
        }
+       memset(ops->ctl_table, 0, 4*sizeof(struct ctl_table));
 
        spin_lock(&appldata_ops_lock);
        list_for_each(lh, &appldata_ops_list) {
@@ -652,7 +653,7 @@ appldata_cpu_notify(struct notifier_block *self,
        return NOTIFY_OK;
 }
 
-static struct notifier_block appldata_nb = {
+static struct notifier_block __devinitdata appldata_nb = {
        .notifier_call = appldata_cpu_notify,
 };