mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-13 14:24:11 +08:00
mptcp: use sock_kfree_s instead of kfree
The local address entries on userspace_pm_local_addr_list are allocated
by sock_kmalloc().
It's then required to use sock_kfree_s() instead of kfree() to free
these entries in order to adjust the allocated size on the sk side.
Fixes: 24430f8bf5
("mptcp: add address into userspace pm list")
Cc: stable@vger.kernel.org
Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20241104-net-mptcp-misc-6-12-v1-2-c13f2ff1656f@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
cfbbd48598
commit
99635c91fb
@ -91,6 +91,7 @@ static int mptcp_userspace_pm_delete_local_addr(struct mptcp_sock *msk,
|
||||
struct mptcp_pm_addr_entry *addr)
|
||||
{
|
||||
struct mptcp_pm_addr_entry *entry, *tmp;
|
||||
struct sock *sk = (struct sock *)msk;
|
||||
|
||||
list_for_each_entry_safe(entry, tmp, &msk->pm.userspace_pm_local_addr_list, list) {
|
||||
if (mptcp_addresses_equal(&entry->addr, &addr->addr, false)) {
|
||||
@ -98,7 +99,7 @@ static int mptcp_userspace_pm_delete_local_addr(struct mptcp_sock *msk,
|
||||
* be used multiple times (e.g. fullmesh mode).
|
||||
*/
|
||||
list_del_rcu(&entry->list);
|
||||
kfree(entry);
|
||||
sock_kfree_s(sk, entry, sizeof(*entry));
|
||||
msk->pm.local_addr_used--;
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user