On Thu, Jul 07, 2022 at 03:59:54PM +0530, Karthik Alapati wrote:
There are some usages of index pointer of list(w) which may not point to the right entry when the required entry is not found and the list traversal completes with index pointer pointing to the last entry. So, use w_found flag to track the case where the entry is found.
Currently, When the condition (w->dapm != dapm) is true the loop continues and when it is not then it compares the name strings and breaks out of the loop if they match with w pointing to the right entry and it also breaks out of loop if they didn't match by additionally setting w to NULL. But what if the condition (w->dapm != dapm) is never false and the list traversal completes with w pointing to last entry then usage of it after the iter may not be correct. And there is no way to know whether the entry is found. So, if we introduce w_found to track when the entry is found then we can account for the case where the entry is not actually found and the list traversal completes.
Fixes coccinelle error: drivers/staging/greybus/audio_helper.c:135:7-8: ERROR: invalid reference to the index variable of the iterator on line 127
Signed-off-by: Karthik Alapati mail@karthek.com
Also, always at the very least, test-build your patches to ensure that they pass that step. This patch fails to build :(
greg k-h