Skip to content
  1. Mar 26, 2017
  2. Mar 24, 2017
  3. Mar 18, 2017
  4. Mar 16, 2017
  5. Mar 10, 2017
  6. Mar 09, 2017
    • Michał Kępień's avatar
      Input: sparse-keymap - use a managed allocation for keymap copy · fabeb165
      Michał Kępień authored
      
      
      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: default avatarMichał Kępień <kernel@kempniu.pl>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      fabeb165
  7. Mar 08, 2017
  8. Mar 02, 2017
  9. Feb 26, 2017
  10. Feb 24, 2017