drivers: avoid format string in dev_set_name
Calling dev_set_name with a single paramter causes it to be handled as a format string. Many callers are passing potentially dynamic string content, so use "%s" in those cases to avoid any potential accidents, including wrappers like device_create*() and bdi_register(). Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
096a8aac6b
commit
02aa2a3763
@@ -1756,7 +1756,7 @@ static int ide_cd_probe(ide_drive_t *drive)
|
||||
|
||||
info->dev.parent = &drive->gendev;
|
||||
info->dev.release = ide_cd_release;
|
||||
dev_set_name(&info->dev, dev_name(&drive->gendev));
|
||||
dev_set_name(&info->dev, "%s", dev_name(&drive->gendev));
|
||||
|
||||
if (device_register(&info->dev))
|
||||
goto out_free_disk;
|
||||
|
||||
@@ -392,7 +392,7 @@ static int ide_gd_probe(ide_drive_t *drive)
|
||||
|
||||
idkp->dev.parent = &drive->gendev;
|
||||
idkp->dev.release = ide_disk_release;
|
||||
dev_set_name(&idkp->dev, dev_name(&drive->gendev));
|
||||
dev_set_name(&idkp->dev, "%s", dev_name(&drive->gendev));
|
||||
|
||||
if (device_register(&idkp->dev))
|
||||
goto out_free_disk;
|
||||
|
||||
@@ -545,7 +545,7 @@ static int ide_register_port(ide_hwif_t *hwif)
|
||||
int ret;
|
||||
|
||||
/* register with global device tree */
|
||||
dev_set_name(&hwif->gendev, hwif->name);
|
||||
dev_set_name(&hwif->gendev, "%s", hwif->name);
|
||||
dev_set_drvdata(&hwif->gendev, hwif);
|
||||
if (hwif->gendev.parent == NULL)
|
||||
hwif->gendev.parent = hwif->dev;
|
||||
@@ -559,7 +559,7 @@ static int ide_register_port(ide_hwif_t *hwif)
|
||||
}
|
||||
|
||||
hwif->portdev = device_create(ide_port_class, &hwif->gendev,
|
||||
MKDEV(0, 0), hwif, hwif->name);
|
||||
MKDEV(0, 0), hwif, "%s", hwif->name);
|
||||
if (IS_ERR(hwif->portdev)) {
|
||||
ret = PTR_ERR(hwif->portdev);
|
||||
device_unregister(&hwif->gendev);
|
||||
|
||||
@@ -1985,7 +1985,7 @@ static int ide_tape_probe(ide_drive_t *drive)
|
||||
|
||||
tape->dev.parent = &drive->gendev;
|
||||
tape->dev.release = ide_tape_release;
|
||||
dev_set_name(&tape->dev, dev_name(&drive->gendev));
|
||||
dev_set_name(&tape->dev, "%s", dev_name(&drive->gendev));
|
||||
|
||||
if (device_register(&tape->dev))
|
||||
goto out_free_disk;
|
||||
|
||||
Reference in New Issue
Block a user