summaryrefslogtreecommitdiff
path: root/fs/partitions
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2007-09-12 22:06:57 (GMT)
committerGreg Kroah-Hartman <gregkh@suse.de>2007-10-12 21:51:02 (GMT)
commit19c38de88a80913351fcacefdb461cc0b585fa87 (patch)
tree17d2978ce27861926a0d9a3eb49471b9b736f968 /fs/partitions
parent5901d0145c6b9e791bacd049eea11c9db9a3006e (diff)
downloadlinux-19c38de88a80913351fcacefdb461cc0b585fa87.tar.xz
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/partitions')
-rw-r--r--fs/partitions/check.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/fs/partitions/check.c b/fs/partitions/check.c
index 783c57e..722e12e 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,
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)))