diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2007-09-12 18:06:57 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-10-12 17:51:02 -0400 |
commit | 19c38de88a80913351fcacefdb461cc0b585fa87 (patch) | |
tree | 17d2978ce27861926a0d9a3eb49471b9b736f968 /fs | |
parent | 5901d0145c6b9e791bacd049eea11c9db9a3006e (diff) |
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.
Diffstat (limited to 'fs')
-rw-r--r-- | fs/partitions/check.c | 12 | ||||
-rw-r--r-- | fs/sysfs/dir.c | 2 |
2 files changed, 8 insertions, 6 deletions
diff --git a/fs/partitions/check.c b/fs/partitions/check.c index 783c57ec07..722e12e5ac 100644 --- a/fs/partitions/check.c +++ b/fs/partitions/check.c | |||
@@ -381,10 +381,12 @@ void add_partition(struct gendisk *disk, int part, sector_t start, sector_t len, | |||
381 | p->partno = part; | 381 | p->partno = part; |
382 | p->policy = disk->policy; | 382 | p->policy = disk->policy; |
383 | 383 | ||
384 | if (isdigit(disk->kobj.name[strlen(disk->kobj.name)-1])) | 384 | if (isdigit(disk->kobj.k_name[strlen(disk->kobj.k_name)-1])) |
385 | snprintf(p->kobj.name,KOBJ_NAME_LEN,"%sp%d",disk->kobj.name,part); | 385 | kobject_set_name(&p->kobj, "%sp%d", |
386 | kobject_name(&disk->kobj), part); | ||
386 | else | 387 | else |
387 | snprintf(p->kobj.name,KOBJ_NAME_LEN,"%s%d",disk->kobj.name,part); | 388 | kobject_set_name(&p->kobj, "%s%d", |
389 | kobject_name(&disk->kobj),part); | ||
388 | p->kobj.parent = &disk->kobj; | 390 | p->kobj.parent = &disk->kobj; |
389 | p->kobj.ktype = &ktype_part; | 391 | p->kobj.ktype = &ktype_part; |
390 | kobject_init(&p->kobj); | 392 | kobject_init(&p->kobj); |
@@ -477,9 +479,9 @@ void register_disk(struct gendisk *disk) | |||
477 | struct hd_struct *p; | 479 | struct hd_struct *p; |
478 | int err; | 480 | int err; |
479 | 481 | ||
480 | strlcpy(disk->kobj.name,disk->disk_name,KOBJ_NAME_LEN); | 482 | kobject_set_name(&disk->kobj, "%s", disk->disk_name); |
481 | /* ewww... some of these buggers have / in name... */ | 483 | /* ewww... some of these buggers have / in name... */ |
482 | s = strchr(disk->kobj.name, '/'); | 484 | s = strchr(disk->kobj.k_name, '/'); |
483 | if (s) | 485 | if (s) |
484 | *s = '!'; | 486 | *s = '!'; |
485 | if ((err = kobject_add(&disk->kobj))) | 487 | if ((err = kobject_add(&disk->kobj))) |
diff --git a/fs/sysfs/dir.c b/fs/sysfs/dir.c index 83e76b3813..ea33b660ae 100644 --- a/fs/sysfs/dir.c +++ b/fs/sysfs/dir.c | |||
@@ -1013,7 +1013,7 @@ again: | |||
1013 | goto again; | 1013 | goto again; |
1014 | } | 1014 | } |
1015 | 1015 | ||
1016 | new_dentry = lookup_one_len(kobj->name, new_parent, strlen(kobj->name)); | 1016 | new_dentry = lookup_one_len(kobject_name(kobj), new_parent, strlen(kobject_name(kobj))); |
1017 | if (IS_ERR(new_dentry)) { | 1017 | if (IS_ERR(new_dentry)) { |
1018 | error = PTR_ERR(new_dentry); | 1018 | error = PTR_ERR(new_dentry); |
1019 | goto out_unlock; | 1019 | goto out_unlock; |