projects
/
linux-block.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
69a46a5
)
ipv6: mcast: Delay put pmc->idev in mld_del_delrec()
author
Yue Haibing
<yuehaibing@huawei.com>
Mon, 14 Jul 2025 14:19:57 +0000
(22:19 +0800)
committer
Jakub Kicinski
<kuba@kernel.org>
Thu, 17 Jul 2025 01:33:39 +0000
(18:33 -0700)
pmc->idev is still used in ip6_mc_clear_src(), so as mld_clear_delrec()
does, the reference should be put after ip6_mc_clear_src() return.
Fixes:
63ed8de4be81
("mld: add mc_lock for protecting per-interface mld data")
Signed-off-by: Yue Haibing <yuehaibing@huawei.com>
Link:
https://patch.msgid.link/20250714141957.3301871-1-yuehaibing@huawei.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ipv6/mcast.c
patch
|
blob
|
blame
|
history
diff --git
a/net/ipv6/mcast.c
b/net/ipv6/mcast.c
index 65831b4fee1fda1be110cf3f7d5abebaf076694d..616bf4c0c8fd91020fef0300ff39b9e686f097ac 100644
(file)
--- a/
net/ipv6/mcast.c
+++ b/
net/ipv6/mcast.c
@@
-807,8
+807,8
@@
static void mld_del_delrec(struct inet6_dev *idev, struct ifmcaddr6 *im)
} else {
im->mca_crcount = idev->mc_qrv;
}
- in6_dev_put(pmc->idev);
ip6_mc_clear_src(pmc);
+ in6_dev_put(pmc->idev);
kfree_rcu(pmc, rcu);
}
}