浏览代码

kobjects: fix up improper use of the kobject name field

A number of different drivers incorrect access the kobject name field
directly.  This is not correct as the name might not be in the array.
Use the proper accessor function instead.
Greg Kroah-Hartman 17 年之前
父节点
当前提交
19c38de88a
共有 10 个文件被更改,包括 16 次插入15 次删除
  1. 1 1
      block/elevator.c
  2. 1 1
      block/ll_rw_blk.c
  3. 1 1
      drivers/acpi/bus.c
  4. 1 1
      drivers/cpufreq/cpufreq.c
  5. 1 2
      drivers/md/md.c
  6. 1 1
      drivers/net/ibmveth.c
  7. 1 1
      drivers/pci/setup-irq.c
  8. 7 5
      fs/partitions/check.c
  9. 1 1
      fs/sysfs/dir.c
  10. 1 1
      net/bridge/br_sysfs_br.c

+ 1 - 1
block/elevator.c

@@ -186,7 +186,7 @@ static elevator_t *elevator_alloc(struct request_queue *q,
 	eq->ops = &e->ops;
 	eq->ops = &e->ops;
 	eq->elevator_type = e;
 	eq->elevator_type = e;
 	kobject_init(&eq->kobj);
 	kobject_init(&eq->kobj);
-	snprintf(eq->kobj.name, KOBJ_NAME_LEN, "%s", "iosched");
+	kobject_set_name(&eq->kobj, "%s", "iosched");
 	eq->kobj.ktype = &elv_ktype;
 	eq->kobj.ktype = &elv_ktype;
 	mutex_init(&eq->sysfs_lock);
 	mutex_init(&eq->sysfs_lock);
 
 

+ 1 - 1
block/ll_rw_blk.c

@@ -1854,7 +1854,7 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id)
 
 
 	init_timer(&q->unplug_timer);
 	init_timer(&q->unplug_timer);
 
 
-	snprintf(q->kobj.name, KOBJ_NAME_LEN, "%s", "queue");
+	kobject_set_name(&q->kobj, "%s", "queue");
 	q->kobj.ktype = &queue_ktype;
 	q->kobj.ktype = &queue_ktype;
 	kobject_init(&q->kobj);
 	kobject_init(&q->kobj);
 
 

+ 1 - 1
drivers/acpi/bus.c

@@ -194,7 +194,7 @@ int acpi_bus_set_power(acpi_handle handle, int state)
 
 
 	if (!device->flags.power_manageable) {
 	if (!device->flags.power_manageable) {
 		ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device `[%s]' is not power manageable\n",
 		ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device `[%s]' is not power manageable\n",
-				device->dev.kobj.name));
+				kobject_name(&device->dev.kobj)));
 		return -ENODEV;
 		return -ENODEV;
 	}
 	}
 	/*
 	/*

+ 1 - 1
drivers/cpufreq/cpufreq.c

@@ -828,7 +828,7 @@ static int cpufreq_add_dev (struct sys_device * sys_dev)
 	/* prepare interface data */
 	/* prepare interface data */
 	policy->kobj.parent = &sys_dev->kobj;
 	policy->kobj.parent = &sys_dev->kobj;
 	policy->kobj.ktype = &ktype_cpufreq;
 	policy->kobj.ktype = &ktype_cpufreq;
-	strlcpy(policy->kobj.name, "cpufreq", KOBJ_NAME_LEN);
+	kobject_set_name(&policy->kobj, "cpufreq");
 
 
 	ret = kobject_register(&policy->kobj);
 	ret = kobject_register(&policy->kobj);
 	if (ret) {
 	if (ret) {

+ 1 - 2
drivers/md/md.c

@@ -3076,8 +3076,7 @@ static struct kobject *md_probe(dev_t dev, int *part, void *data)
 	mddev->gendisk = disk;
 	mddev->gendisk = disk;
 	mutex_unlock(&disks_mutex);
 	mutex_unlock(&disks_mutex);
 	mddev->kobj.parent = &disk->kobj;
 	mddev->kobj.parent = &disk->kobj;
-	mddev->kobj.k_name = NULL;
-	snprintf(mddev->kobj.name, KOBJ_NAME_LEN, "%s", "md");
+	kobject_set_name(&mddev->kobj, "%s", "md");
 	mddev->kobj.ktype = &md_ktype;
 	mddev->kobj.ktype = &md_ktype;
 	if (kobject_register(&mddev->kobj))
 	if (kobject_register(&mddev->kobj))
 		printk(KERN_WARNING "md: cannot register %s/md - name in use\n",
 		printk(KERN_WARNING "md: cannot register %s/md - name in use\n",

+ 1 - 1
drivers/net/ibmveth.c

@@ -1183,7 +1183,7 @@ static int __devinit ibmveth_probe(struct vio_dev *dev, const struct vio_device_
 					 pool_count[i], pool_size[i],
 					 pool_count[i], pool_size[i],
 					 pool_active[i]);
 					 pool_active[i]);
 		kobj->parent = &dev->dev.kobj;
 		kobj->parent = &dev->dev.kobj;
-		sprintf(kobj->name, "pool%d", i);
+		kobject_set_name(kobj, "pool%d", i);
 		kobj->ktype = &ktype_veth_pool;
 		kobj->ktype = &ktype_veth_pool;
 		kobject_register(kobj);
 		kobject_register(kobj);
 	}
 	}

+ 1 - 1
drivers/pci/setup-irq.c

@@ -48,7 +48,7 @@ pdev_fixup_irq(struct pci_dev *dev,
 	dev->irq = irq;
 	dev->irq = irq;
 
 
 	pr_debug("PCI: fixup irq: (%s) got %d\n",
 	pr_debug("PCI: fixup irq: (%s) got %d\n",
-		dev->dev.kobj.name, dev->irq);
+		kobject_name(&dev->dev.kobj), dev->irq);
 
 
 	/* Always tell the device, so the driver knows what is
 	/* Always tell the device, so the driver knows what is
 	   the real IRQ to use; the device does not use it. */
 	   the real IRQ to use; the device does not use it. */

+ 7 - 5
fs/partitions/check.c

@@ -381,10 +381,12 @@ void add_partition(struct gendisk *disk, int part, sector_t start, sector_t len,
 	p->partno = part;
 	p->partno = part;
 	p->policy = disk->policy;
 	p->policy = disk->policy;
 
 
-	if (isdigit(disk->kobj.name[strlen(disk->kobj.name)-1]))
-		snprintf(p->kobj.name,KOBJ_NAME_LEN,"%sp%d",disk->kobj.name,part);
+	if (isdigit(disk->kobj.k_name[strlen(disk->kobj.k_name)-1]))
+		kobject_set_name(&p->kobj, "%sp%d",
+				 kobject_name(&disk->kobj), part);
 	else
 	else
-		snprintf(p->kobj.name,KOBJ_NAME_LEN,"%s%d",disk->kobj.name,part);
+		kobject_set_name(&p->kobj, "%s%d",
+				 kobject_name(&disk->kobj),part);
 	p->kobj.parent = &disk->kobj;
 	p->kobj.parent = &disk->kobj;
 	p->kobj.ktype = &ktype_part;
 	p->kobj.ktype = &ktype_part;
 	kobject_init(&p->kobj);
 	kobject_init(&p->kobj);
@@ -477,9 +479,9 @@ void register_disk(struct gendisk *disk)
 	struct hd_struct *p;
 	struct hd_struct *p;
 	int err;
 	int err;
 
 
-	strlcpy(disk->kobj.name,disk->disk_name,KOBJ_NAME_LEN);
+	kobject_set_name(&disk->kobj, "%s", disk->disk_name);
 	/* ewww... some of these buggers have / in name... */
 	/* ewww... some of these buggers have / in name... */
-	s = strchr(disk->kobj.name, '/');
+	s = strchr(disk->kobj.k_name, '/');
 	if (s)
 	if (s)
 		*s = '!';
 		*s = '!';
 	if ((err = kobject_add(&disk->kobj)))
 	if ((err = kobject_add(&disk->kobj)))

+ 1 - 1
fs/sysfs/dir.c

@@ -1013,7 +1013,7 @@ again:
 		goto again;
 		goto again;
 	}
 	}
 
 
-	new_dentry = lookup_one_len(kobj->name, new_parent, strlen(kobj->name));
+	new_dentry = lookup_one_len(kobject_name(kobj), new_parent, strlen(kobject_name(kobj)));
 	if (IS_ERR(new_dentry)) {
 	if (IS_ERR(new_dentry)) {
 		error = PTR_ERR(new_dentry);
 		error = PTR_ERR(new_dentry);
 		goto out_unlock;
 		goto out_unlock;

+ 1 - 1
net/bridge/br_sysfs_br.c

@@ -435,7 +435,7 @@ int br_sysfs_addbr(struct net_device *dev)
 	err = kobject_register(&br->ifobj);
 	err = kobject_register(&br->ifobj);
 	if (err) {
 	if (err) {
 		pr_info("%s: can't add kobject (directory) %s/%s\n",
 		pr_info("%s: can't add kobject (directory) %s/%s\n",
-			__FUNCTION__, dev->name, br->ifobj.name);
+			__FUNCTION__, dev->name, kobject_name(&br->ifobj));
 		goto out3;
 		goto out3;
 	}
 	}
 	return 0;
 	return 0;