kobjects: fix up improper use of the kobject name field
authorGreg Kroah-Hartman <gregkh@suse.de>
Wed, 12 Sep 2007 22:06:57 +0000 (15:06 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 12 Oct 2007 21:51:02 +0000 (14:51 -0700)
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.

block/elevator.c
block/ll_rw_blk.c
drivers/acpi/bus.c
drivers/cpufreq/cpufreq.c
drivers/md/md.c
drivers/net/ibmveth.c
drivers/pci/setup-irq.c
fs/partitions/check.c
fs/sysfs/dir.c
net/bridge/br_sysfs_br.c

index c6d153de9fd68ba33fcfb9cc65c00deb35623e8b..b9c518afe1f8bf61907999f56844c5583a9d0a43 100644 (file)
@@ -186,7 +186,7 @@ static elevator_t *elevator_alloc(struct request_queue *q,
        eq->ops = &e->ops;
        eq->elevator_type = e;
        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;
        mutex_init(&eq->sysfs_lock);
 
index cd9d2c5d91ae22664081e83136f9da4f3a9aae4c..d875673e76cda569f008a6828e7d52b50d87e3d8 100644 (file)
@@ -1854,7 +1854,7 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id)
 
        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;
        kobject_init(&q->kobj);
 
index feab124d8e05fd6b356e0e6bd6d5fe508f7355aa..cbfc81579c9af5ddf5760e6ac410174cff203e38 100644 (file)
@@ -194,7 +194,7 @@ int acpi_bus_set_power(acpi_handle handle, int state)
 
        if (!device->flags.power_manageable) {
                ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device `[%s]' is not power manageable\n",
-                               device->dev.kobj.name));
+                               kobject_name(&device->dev.kobj)));
                return -ENODEV;
        }
        /*
index 2f6a73c01b718318d583123f66aaa6c622dca6a0..2ce3de5e84af1275bcb06f6ac3e3401f252c10e3 100644 (file)
@@ -828,7 +828,7 @@ static int cpufreq_add_dev (struct sys_device * sys_dev)
        /* prepare interface data */
        policy->kobj.parent = &sys_dev->kobj;
        policy->kobj.ktype = &ktype_cpufreq;
-       strlcpy(policy->kobj.name, "cpufreq", KOBJ_NAME_LEN);
+       kobject_set_name(&policy->kobj, "cpufreq");
 
        ret = kobject_register(&policy->kobj);
        if (ret) {
index e8f102ea9b03918aeeaa3ac2311858d4c24b0b54..acf1b81b47cbeccf74d85cc6bc9f66ee998afbbb 100644 (file)
@@ -3076,8 +3076,7 @@ static struct kobject *md_probe(dev_t dev, int *part, void *data)
        mddev->gendisk = disk;
        mutex_unlock(&disks_mutex);
        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;
        if (kobject_register(&mddev->kobj))
                printk(KERN_WARNING "md: cannot register %s/md - name in use\n",
index 4ac161e1ca12674f4ab4614d04f9cd8e60f6b567..7d7758f3ad8c1afb4d4b767d1e25061728f4fade 100644 (file)
@@ -1183,7 +1183,7 @@ static int __devinit ibmveth_probe(struct vio_dev *dev, const struct vio_device_
                                         pool_count[i], pool_size[i],
                                         pool_active[i]);
                kobj->parent = &dev->dev.kobj;
-               sprintf(kobj->name, "pool%d", i);
+               kobject_set_name(kobj, "pool%d", i);
                kobj->ktype = &ktype_veth_pool;
                kobject_register(kobj);
        }
index 568f1877315c5532d39052e4e615f1304a48cb93..05ca2ed9eb51fdc24340a3244a087e4680ae86ce 100644 (file)
@@ -48,7 +48,7 @@ pdev_fixup_irq(struct pci_dev *dev,
        dev->irq = irq;
 
        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
           the real IRQ to use; the device does not use it. */
index 783c57ec07d34cb83828980f2fd88fe8c6a5ac63..722e12e5acc71e9b90051da29f5611b5e3182f9c 100644 (file)
@@ -381,10 +381,12 @@ void add_partition(struct gendisk *disk, int part, sector_t start, sector_t len,
        p->partno = part;
        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
-               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.ktype = &ktype_part;
        kobject_init(&p->kobj);
@@ -477,9 +479,9 @@ void register_disk(struct gendisk *disk)
        struct hd_struct *p;
        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... */
-       s = strchr(disk->kobj.name, '/');
+       s = strchr(disk->kobj.k_name, '/');
        if (s)
                *s = '!';
        if ((err = kobject_add(&disk->kobj)))
index 83e76b3813c9af674fb2c6fda9c2f891c89e0964..ea33b660ae8a9c0de594d2b5433a960821aea1b7 100644 (file)
@@ -1013,7 +1013,7 @@ 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)) {
                error = PTR_ERR(new_dentry);
                goto out_unlock;
index c65f54e0e27febec09a75df717374ed05d015e11..3312e8f2abe47b46e2af85212b93de67adf6c3de 100644 (file)
@@ -435,7 +435,7 @@ int br_sysfs_addbr(struct net_device *dev)
        err = kobject_register(&br->ifobj);
        if (err) {
                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;
        }
        return 0;