mptcp: pm: Return local variable instead of freed pointer
authorThorsten Blum <thorsten.blum@linux.dev>
Sun, 13 Apr 2025 09:34:34 +0000 (11:34 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 15 Apr 2025 15:21:46 +0000 (08:21 -0700)
Commit e4c28e3d5c090 ("mptcp: pm: move generic PM helpers to pm.c")
removed an unnecessary if-check, which resulted in returning a freed
pointer.

This still works due to the implicit boolean conversion when returning
the freed pointer from mptcp_remove_anno_list_by_saddr(), but it can be
confusing and potentially error-prone. To improve clarity, add a local
variable to explicitly return a boolean value instead.

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20250413-net-next-mptcp-sched-mib-sft-misc-v2-3-0f83a4350150@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/mptcp/pm.c

index 31747f9..1306d4d 100644 (file)
@@ -151,10 +151,13 @@ bool mptcp_remove_anno_list_by_saddr(struct mptcp_sock *msk,
                                     const struct mptcp_addr_info *addr)
 {
        struct mptcp_pm_add_entry *entry;
+       bool ret;
 
        entry = mptcp_pm_del_add_timer(msk, addr, false);
+       ret = entry;
        kfree(entry);
-       return entry;
+
+       return ret;
 }
 
 bool mptcp_pm_sport_in_anno_list(struct mptcp_sock *msk, const struct sock *sk)