forked from luck/tmp_suning_uos_patched
[PATCH] s390: dasd proc entries
The proc_mkdir calls in the dasd driver are not check for NULL pointers. Add code to check the pointers and bail out if one of the proc entries could not be created. Signed-off-by: Horst Hummel <horst.hummel@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
25ee4cf831
commit
7220fe8b79
@ -294,23 +294,40 @@ dasd_statistics_write(struct file *file, const char __user *user_buf,
|
||||
#endif /* CONFIG_DASD_PROFILE */
|
||||
}
|
||||
|
||||
/*
|
||||
* Create dasd proc-fs entries.
|
||||
* In case creation failed, cleanup and return -ENOENT.
|
||||
*/
|
||||
int
|
||||
dasd_proc_init(void)
|
||||
{
|
||||
dasd_proc_root_entry = proc_mkdir("dasd", &proc_root);
|
||||
if (!dasd_proc_root_entry)
|
||||
goto out_nodasd;
|
||||
dasd_proc_root_entry->owner = THIS_MODULE;
|
||||
dasd_devices_entry = create_proc_entry("devices",
|
||||
S_IFREG | S_IRUGO | S_IWUSR,
|
||||
dasd_proc_root_entry);
|
||||
if (!dasd_devices_entry)
|
||||
goto out_nodevices;
|
||||
dasd_devices_entry->proc_fops = &dasd_devices_file_ops;
|
||||
dasd_devices_entry->owner = THIS_MODULE;
|
||||
dasd_statistics_entry = create_proc_entry("statistics",
|
||||
S_IFREG | S_IRUGO | S_IWUSR,
|
||||
dasd_proc_root_entry);
|
||||
if (!dasd_statistics_entry)
|
||||
goto out_nostatistics;
|
||||
dasd_statistics_entry->read_proc = dasd_statistics_read;
|
||||
dasd_statistics_entry->write_proc = dasd_statistics_write;
|
||||
dasd_statistics_entry->owner = THIS_MODULE;
|
||||
return 0;
|
||||
|
||||
out_nostatistics:
|
||||
remove_proc_entry("devices", dasd_proc_root_entry);
|
||||
out_nodevices:
|
||||
remove_proc_entry("dasd", &proc_root);
|
||||
out_nodasd:
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user