Commit d8c7649e99e4b081b624aefe1e77caa30b53cb18
Committed by
Linus Torvalds
1 parent
5906e4171a
Exists in
master
and in
4 other branches
[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>
Showing 1 changed file with 11 additions and 2 deletions Side-by-side Diff
kernel/params.c
... | ... | @@ -547,6 +547,7 @@ |
547 | 547 | unsigned int name_skip) |
548 | 548 | { |
549 | 549 | struct module_kobject *mk; |
550 | + int ret; | |
550 | 551 | |
551 | 552 | mk = kzalloc(sizeof(struct module_kobject), GFP_KERNEL); |
552 | 553 | BUG_ON(!mk); |
... | ... | @@ -554,7 +555,8 @@ |
554 | 555 | mk->mod = THIS_MODULE; |
555 | 556 | kobj_set_kset_s(mk, module_subsys); |
556 | 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 | 561 | /* no need to keep the kobject if no parameter is exported */ |
560 | 562 | if (!param_sysfs_setup(mk, kparam, num_params, name_skip)) { |
... | ... | @@ -684,7 +686,14 @@ |
684 | 686 | */ |
685 | 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 | 698 | param_sysfs_builtin(); |
690 | 699 |