Message ID | 20240627061515.1477-1-chenhx.fnst@fujitsu.com (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next,v2] ipvs: properly dereference pe in ip_vs_add_service | expand |
Hello, On Thu, 27 Jun 2024, Chen Hanxiao wrote: > Use pe directly to resolve sparse warning: > > net/netfilter/ipvs/ip_vs_ctl.c:1471:27: warning: dereference of noderef expression > > Fixes: 39b972231536 ("ipvs: handle connections started by real-servers") > Signed-off-by: Chen Hanxiao <chenhx.fnst@fujitsu.com> Looks good to me, thanks! Acked-by: Julian Anastasov <ja@ssi.bg> > --- > v2: > use pe directly. > > net/netfilter/ipvs/ip_vs_ctl.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c > index b6d0dcf3a5c3..f4384e147ee1 100644 > --- a/net/netfilter/ipvs/ip_vs_ctl.c > +++ b/net/netfilter/ipvs/ip_vs_ctl.c > @@ -1459,18 +1459,18 @@ ip_vs_add_service(struct netns_ipvs *ipvs, struct ip_vs_service_user_kern *u, > if (ret < 0) > goto out_err; > > - /* Bind the ct retriever */ > - RCU_INIT_POINTER(svc->pe, pe); > - pe = NULL; > - > /* Update the virtual service counters */ > if (svc->port == FTPPORT) > atomic_inc(&ipvs->ftpsvc_counter); > else if (svc->port == 0) > atomic_inc(&ipvs->nullsvc_counter); > - if (svc->pe && svc->pe->conn_out) > + if (pe && pe->conn_out) > atomic_inc(&ipvs->conn_out_counter); > > + /* Bind the ct retriever */ > + RCU_INIT_POINTER(svc->pe, pe); > + pe = NULL; > + > /* Count only IPv4 services for old get/setsockopt interface */ > if (svc->af == AF_INET) > ipvs->num_services++; > -- > 2.39.1 Regards -- Julian Anastasov <ja@ssi.bg>
On Thu, Jun 27, 2024 at 02:15:15PM +0800, Chen Hanxiao wrote: > Use pe directly to resolve sparse warning: > > net/netfilter/ipvs/ip_vs_ctl.c:1471:27: warning: dereference of noderef expression > > Fixes: 39b972231536 ("ipvs: handle connections started by real-servers") > Signed-off-by: Chen Hanxiao <chenhx.fnst@fujitsu.com> Acked-by: Simon Horman <horms@kernel.org>
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c index b6d0dcf3a5c3..f4384e147ee1 100644 --- a/net/netfilter/ipvs/ip_vs_ctl.c +++ b/net/netfilter/ipvs/ip_vs_ctl.c @@ -1459,18 +1459,18 @@ ip_vs_add_service(struct netns_ipvs *ipvs, struct ip_vs_service_user_kern *u, if (ret < 0) goto out_err; - /* Bind the ct retriever */ - RCU_INIT_POINTER(svc->pe, pe); - pe = NULL; - /* Update the virtual service counters */ if (svc->port == FTPPORT) atomic_inc(&ipvs->ftpsvc_counter); else if (svc->port == 0) atomic_inc(&ipvs->nullsvc_counter); - if (svc->pe && svc->pe->conn_out) + if (pe && pe->conn_out) atomic_inc(&ipvs->conn_out_counter); + /* Bind the ct retriever */ + RCU_INIT_POINTER(svc->pe, pe); + pe = NULL; + /* Count only IPv4 services for old get/setsockopt interface */ if (svc->af == AF_INET) ipvs->num_services++;
Use pe directly to resolve sparse warning: net/netfilter/ipvs/ip_vs_ctl.c:1471:27: warning: dereference of noderef expression Fixes: 39b972231536 ("ipvs: handle connections started by real-servers") Signed-off-by: Chen Hanxiao <chenhx.fnst@fujitsu.com> --- v2: use pe directly. net/netfilter/ipvs/ip_vs_ctl.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)