ipv6: mcast: use min() to simplify the code
authorLi Zetao <lizetao1@huawei.com>
Thu, 22 Aug 2024 13:39:06 +0000 (21:39 +0800)
committerJakub Kicinski <kuba@kernel.org>
Mon, 26 Aug 2024 16:48:53 +0000 (09:48 -0700)
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: Li Zetao <lizetao1@huawei.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20240822133908.1042240-7-lizetao1@huawei.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ipv6/mcast.c

index 7ba01d8cfbae839d87e0c85729f7bed9ba328f05..b244dbf61d5f3969c8886a999166ad5ef68b746d 100644 (file)
@@ -586,7 +586,8 @@ int ip6_mc_msfget(struct sock *sk, struct group_filter *gsf,
        const struct in6_addr *group;
        struct ipv6_mc_socklist *pmc;
        struct ip6_sf_socklist *psl;
-       int i, count, copycount;
+       unsigned int count;
+       int i, copycount;
 
        group = &((struct sockaddr_in6 *)&gsf->gf_group)->sin6_addr;
 
@@ -610,7 +611,7 @@ int ip6_mc_msfget(struct sock *sk, struct group_filter *gsf,
        psl = sock_dereference(pmc->sflist, sk);
        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;
        for (i = 0; i < copycount; i++) {
                struct sockaddr_in6 *psin6;