Skip to content
  1. Apr 05, 2022
    • Xiaomeng Tong's avatar
      ASoC: soc-dapm: fix two incorrect uses of list iterator · f730a46b
      Xiaomeng Tong authored
      These two bug are here:
      	list_for_each_entry_safe_continue(w, n, list,
      					power_list);
      	list_for_each_entry_safe_continue(w, n, list,
      					power_list);
      
      After the list_for_each_entry_safe_continue() exits, the list iterator
      will always be a bogus pointer which point to an invalid struct objdect
      containing HEAD member. The funciton poniter 'w->event' will be a
      invalid value which can lead to a control-flow hijack if the 'w' can be
      controlled.
      
      The original intention was to continue the outer list_for_each_entry_safe()
      loop with the same entry if w->event is NULL, but misunderstanding the
      meaning of list_for_each_entry_safe_continue().
      
      So just add a 'continue;' to fix the bug.
      
      Cc: stable@vger.kernel.org
      Fixes: 163cac06
      
       ("ASoC: Factor out DAPM sequence execution")
      Signed-off-by: default avatarXiaomeng Tong <xiam0nd.tong@gmail.com>
      Link: https://lore.kernel.org/r/20220329012134.9375-1-xiam0nd.tong@gmail.com
      
      
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      f730a46b
  2. Apr 04, 2022
  3. Apr 03, 2022
  4. Apr 02, 2022