On Mon, Dec 27, 2021 at 5:10 AM Lukas Bulwahn <lukas.bulwahn@xxxxxxxxx> wrote: > > make clang-analyzer on x86_64 defconfig caught my attention with: > > kernel/taskstats.c:120:2: warning: Value stored to 'rc' is never read \ > [clang-analyzer-deadcode.DeadStores] > rc = 0; > ^ > > Commit d94a041519f3 ("taskstats: free skb, avoid returns in > send_cpu_listeners") made send_cpu_listeners() not return a value and > hence, the rc variable remained only to be used within the loop where > it is always assigned before read and it does not need any other > initialisation. > > So, simply remove this unneeded dead initializing assignment. > > As compilers will detect this unneeded assignment and optimize this anyway, > the resulting object code is identical before and after this change. > > No functional change. No change to object code. > > Signed-off-by: Lukas Bulwahn <lukas.bulwahn@xxxxxxxxx> I was going to ask "what happens when the list is empty?" but `rc` is only used in a loop where that's not the case. Thanks for the patch! It looks like commit d94a041519f3 ("[PATCH] taskstats: free skb, avoid returns in send_cpu_listeners") from v2.6.18-rc4 is what changed send_cpu_listeners not to use rc outside of the loop. Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> > --- > applies cleanly on current master and next-20201105 > Resend: still applies cleanly on next-20211224 > > Balbir, please pick this minor non-urgent clean-up patch. > > kernel/taskstats.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/kernel/taskstats.c b/kernel/taskstats.c > index a2802b6ff4bb..bd18a7bf5276 100644 > --- a/kernel/taskstats.c > +++ b/kernel/taskstats.c > @@ -117,7 +117,6 @@ static void send_cpu_listeners(struct sk_buff *skb, > > genlmsg_end(skb, reply); > > - rc = 0; > down_read(&listeners->sem); > list_for_each_entry(s, &listeners->list, list) { > skb_next = NULL; > -- > 2.17.1 > -- Thanks, ~Nick Desaulniers