summaryrefslogtreecommitdiff
path: root/drivers/net/phy/phy_led_triggers.c
diff options
context:
space:
mode:
authorMichał Kępień <kernel@kempniu.pl>2017-03-08 09:20:10 -0800
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2017-03-08 14:28:53 -0800
commitfabeb165afd52a3fb05b9b68e5a3550609b8e157 (patch)
treea5851d7d6d6a45dd1e571b05de4bc07be9670514 /drivers/net/phy/phy_led_triggers.c
parentc470abd4fde40ea6a0846a2beab642a578c0b8cd (diff)
Input: sparse-keymap - use a managed allocation for keymap copy
Some platform drivers use devm_input_allocate_device() together with sparse_keymap_setup() in their .probe callbacks. While using the former simplifies error handling, using the latter necessitates calling sparse_keymap_free() in the error path and upon module unloading to avoid leaking the copy of the keymap allocated by sparse_keymap_setup(). To help prevent such leaks and enable simpler error handling, make sparse_keymap_setup() use devm_kmemdup() to create the keymap copy so that it gets automatically freed. This works for both managed and non-managed input devices as the keymap is freed after the last reference to the input device is dropped. Note that actions previously taken by sparse_keymap_free(), i.e. taking the input device's mutex and zeroing its keycode and keycodemax fields, are now redundant because the managed keymap will always be freed after the input device is unregistered. Signed-off-by: Michał Kępień <kernel@kempniu.pl> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/net/phy/phy_led_triggers.c')
0 files changed, 0 insertions, 0 deletions