[PATCH] dmaengine: ppc4xx: Avoid returning iterator in ppc440spe_get_group_entry()

From: Jakob Koschel
Date: Wed Mar 01 2023 - 12:28:20 EST


Linus proposed to avoid any use of the list iterator variable after the
loop, in the attempt to move the list iterator variable declaration into
the marcro to avoid any potential misuse after the loop [1].

Instead we'll just return 'iter' within the iterator and otherwise NULL.
This ensures there is never a bogus pointer returned (e.g. if the list
is empty).

Link: https://lore.kernel.org/all/CAHk-=wgRr_D8CB-D9Kg-c=EHreAsk5SqXPwr9Y7k9sA6cWXJ6w@xxxxxxxxxxxxxx/ [1]
Signed-off-by: Jakob Koschel <jkl820.git@xxxxxxxxx>
---
drivers/dma/ppc4xx/adma.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/dma/ppc4xx/adma.c b/drivers/dma/ppc4xx/adma.c
index 686c270ef710..f62f9653196f 100644
--- a/drivers/dma/ppc4xx/adma.c
+++ b/drivers/dma/ppc4xx/adma.c
@@ -1431,9 +1431,9 @@ ppc440spe_get_group_entry(struct ppc440spe_adma_desc_slot *tdesc, u32 entry_idx)

list_for_each_entry(iter, &tdesc->group_list, chain_node) {
if (i++ == entry_idx)
- break;
+ return iter;
}
- return iter;
+ return NULL;
}

/**

---
base-commit: c0927a7a5391f7d8e593e5e50ead7505a23cadf9
change-id: 20230301-dmaengine-ppc4xx-avoid-iter-after-loop-2860b2b6af41

Best regards,
--
Jakob Koschel <jkl820.git@xxxxxxxxx>