mirror of
https://github.com/torvalds/linux.git
synced 2026-07-14 09:25:34 +02:00
While reviewing various users of kernel memory allocation functions I came across drivers/input/serio/hil_mlc.c::hil_mlc_register() and noticed that: - it calls kzalloc() but fails to check for a NULL return before use. - it makes several allocations and if one fails it doesn't free the previous ones. - It doesn't return -ENOMEM in the failed memory allocation case (it just crashes). This patch corrects all of the above and also reworks the only caller of this function that I could find (drivers/input/serio/hp_sdc_mlc.c::hp_sdc_mlc_out()) so that it now checks the return value of hil_mlc_register() and properly propagates it on failure and I also restructured the code to remove some labels and goto's to make it, IMHO nicer to read. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Tested-by: Helge Deller <deller@gmx.de> Acked-by: Helge Deller <deller@gmx.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru> |
||
|---|---|---|
| .. | ||
| gameport | ||
| joystick | ||
| keyboard | ||
| misc | ||
| mouse | ||
| serio | ||
| tablet | ||
| touchscreen | ||
| apm-power.c | ||
| evbug.c | ||
| evdev.c | ||
| ff-core.c | ||
| ff-memless.c | ||
| fixp-arith.h | ||
| input-compat.c | ||
| input-compat.h | ||
| input-polldev.c | ||
| input.c | ||
| joydev.c | ||
| Kconfig | ||
| Makefile | ||
| mousedev.c | ||
| sparse-keymap.c | ||
| xen-kbdfront.c | ||