Commit 26549dab authored by Li Zetao's avatar Li Zetao Committed by Jakub Kicinski

ipv6: mcast: use min() to simplify the code

When coping sockaddr in ip6_mc_msfget(), the time of copies
depends on the minimum value between sl_count and gf_numsrc.
Using min() here is very semantic.
Signed-off-by: default avatarLi Zetao <lizetao1@huawei.com>
Reviewed-by: default avatarSimon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20240822133908.1042240-7-lizetao1@huawei.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent b4985aa8
...@@ -586,7 +586,8 @@ int ip6_mc_msfget(struct sock *sk, struct group_filter *gsf, ...@@ -586,7 +586,8 @@ int ip6_mc_msfget(struct sock *sk, struct group_filter *gsf,
const struct in6_addr *group; const struct in6_addr *group;
struct ipv6_mc_socklist *pmc; struct ipv6_mc_socklist *pmc;
struct ip6_sf_socklist *psl; struct ip6_sf_socklist *psl;
int i, count, copycount; unsigned int count;
int i, copycount;
group = &((struct sockaddr_in6 *)&gsf->gf_group)->sin6_addr; group = &((struct sockaddr_in6 *)&gsf->gf_group)->sin6_addr;
...@@ -610,7 +611,7 @@ int ip6_mc_msfget(struct sock *sk, struct group_filter *gsf, ...@@ -610,7 +611,7 @@ int ip6_mc_msfget(struct sock *sk, struct group_filter *gsf,
psl = sock_dereference(pmc->sflist, sk); psl = sock_dereference(pmc->sflist, sk);
count = psl ? psl->sl_count : 0; count = psl ? psl->sl_count : 0;
copycount = count < gsf->gf_numsrc ? count : gsf->gf_numsrc; copycount = min(count, gsf->gf_numsrc);
gsf->gf_numsrc = count; gsf->gf_numsrc = count;
for (i = 0; i < copycount; i++) { for (i = 0; i < copycount; i++) {
struct sockaddr_in6 *psin6; struct sockaddr_in6 *psin6;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment