diff options
author | Randy Dunlap <rdunlap@xenotime.net> | 2006-09-29 04:58:55 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-29 12:18:04 -0400 |
commit | d8c7649e99e4b081b624aefe1e77caa30b53cb18 (patch) | |
tree | 4afc0411a45521963492a22a6c9712d9b7059bbb | |
parent | 5906e4171ad61ce68de95e51b773146707671f80 (diff) |
[PATCH] kernel/params: driver layer error checking
Check driver layer return values in kernel/params.c
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | kernel/params.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/kernel/params.c b/kernel/params.c index 91aea7aa532e..63d432d0ebc0 100644 --- a/kernel/params.c +++ b/kernel/params.c | |||
@@ -547,6 +547,7 @@ static void __init kernel_param_sysfs_setup(const char *name, | |||
547 | unsigned int name_skip) | 547 | unsigned int name_skip) |
548 | { | 548 | { |
549 | struct module_kobject *mk; | 549 | struct module_kobject *mk; |
550 | int ret; | ||
550 | 551 | ||
551 | mk = kzalloc(sizeof(struct module_kobject), GFP_KERNEL); | 552 | mk = kzalloc(sizeof(struct module_kobject), GFP_KERNEL); |
552 | BUG_ON(!mk); | 553 | BUG_ON(!mk); |
@@ -554,7 +555,8 @@ static void __init kernel_param_sysfs_setup(const char *name, | |||
554 | mk->mod = THIS_MODULE; | 555 | mk->mod = THIS_MODULE; |
555 | kobj_set_kset_s(mk, module_subsys); | 556 | kobj_set_kset_s(mk, module_subsys); |
556 | kobject_set_name(&mk->kobj, name); | 557 | kobject_set_name(&mk->kobj, name); |
557 | kobject_register(&mk->kobj); | 558 | ret = kobject_register(&mk->kobj); |
559 | BUG_ON(ret < 0); | ||
558 | 560 | ||
559 | /* no need to keep the kobject if no parameter is exported */ | 561 | /* no need to keep the kobject if no parameter is exported */ |
560 | if (!param_sysfs_setup(mk, kparam, num_params, name_skip)) { | 562 | if (!param_sysfs_setup(mk, kparam, num_params, name_skip)) { |
@@ -684,7 +686,14 @@ decl_subsys(module, &module_ktype, NULL); | |||
684 | */ | 686 | */ |
685 | static int __init param_sysfs_init(void) | 687 | static int __init param_sysfs_init(void) |
686 | { | 688 | { |
687 | subsystem_register(&module_subsys); | 689 | int ret; |
690 | |||
691 | ret = subsystem_register(&module_subsys); | ||
692 | if (ret < 0) { | ||
693 | printk(KERN_WARNING "%s (%d): subsystem_register error: %d\n", | ||
694 | __FILE__, __LINE__, ret); | ||
695 | return ret; | ||
696 | } | ||
688 | 697 | ||
689 | param_sysfs_builtin(); | 698 | param_sysfs_builtin(); |
690 | 699 | ||