Re: udp{,6}_output() and splsoftnet()

2016-12-19 Thread Alexander Bluhm
On Mon, Dec 19, 2016 at 12:25:03PM +0100, Martin Pieuchot wrote:
> These functions are only called by udp_usrreq() which is always called
> with the NET_LOCK() held, so kill redundant splsoftnet().
> 
> ok?

OK bluhm@

> 
> Index: netinet/udp_usrreq.c
> ===
> RCS file: /cvs/src/sys/netinet/udp_usrreq.c,v
> retrieving revision 1.225
> diff -u -p -r1.225 udp_usrreq.c
> --- netinet/udp_usrreq.c  19 Dec 2016 08:36:49 -  1.225
> +++ netinet/udp_usrreq.c  19 Dec 2016 11:22:16 -
> @@ -1029,9 +1029,7 @@ udp_output(struct inpcb *inp, struct mbu
>   goto release;
>  
>   if (inp->inp_lport == 0) {
> - int s = splsoftnet();
>   error = in_pcbbind(inp, NULL, curproc);
> - splx(s);
>   if (error)
>   goto release;
>   }
> Index: netinet6/udp6_output.c
> ===
> RCS file: /cvs/src/sys/netinet6/udp6_output.c,v
> retrieving revision 1.52
> diff -u -p -r1.52 udp6_output.c
> --- netinet6/udp6_output.c18 Nov 2016 02:53:47 -  1.52
> +++ netinet6/udp6_output.c19 Dec 2016 11:22:50 -
> @@ -159,9 +159,7 @@ udp6_output(struct inpcb *in6p, struct m
>   goto release;
>  
>   if (in6p->inp_lport == 0){
> - int s = splsoftnet();
>   error = in_pcbbind(in6p, NULL, p);
> - splx(s);
>   if (error)
>   goto release;
>   }



udp{,6}_output() and splsoftnet()

2016-12-19 Thread Martin Pieuchot
These functions are only called by udp_usrreq() which is always called
with the NET_LOCK() held, so kill redundant splsoftnet().

ok?

Index: netinet/udp_usrreq.c
===
RCS file: /cvs/src/sys/netinet/udp_usrreq.c,v
retrieving revision 1.225
diff -u -p -r1.225 udp_usrreq.c
--- netinet/udp_usrreq.c19 Dec 2016 08:36:49 -  1.225
+++ netinet/udp_usrreq.c19 Dec 2016 11:22:16 -
@@ -1029,9 +1029,7 @@ udp_output(struct inpcb *inp, struct mbu
goto release;
 
if (inp->inp_lport == 0) {
-   int s = splsoftnet();
error = in_pcbbind(inp, NULL, curproc);
-   splx(s);
if (error)
goto release;
}
Index: netinet6/udp6_output.c
===
RCS file: /cvs/src/sys/netinet6/udp6_output.c,v
retrieving revision 1.52
diff -u -p -r1.52 udp6_output.c
--- netinet6/udp6_output.c  18 Nov 2016 02:53:47 -  1.52
+++ netinet6/udp6_output.c  19 Dec 2016 11:22:50 -
@@ -159,9 +159,7 @@ udp6_output(struct inpcb *in6p, struct m
goto release;
 
if (in6p->inp_lport == 0){
-   int s = splsoftnet();
error = in_pcbbind(in6p, NULL, p);
-   splx(s);
if (error)
goto release;
}