On Mon, Dec 11, 2017 at 09:29:00AM +0100, Martin Pieuchot wrote:
> It's complicated to see which socket buffer associated to which socket
> need protection.  So inline the defines, ok?

OK bluhm@

> Index: kern/uipc_usrreq.c
> ===================================================================
> RCS file: /cvs/src/sys/kern/uipc_usrreq.c,v
> retrieving revision 1.120
> diff -u -p -r1.120 uipc_usrreq.c
> --- kern/uipc_usrreq.c        2 Nov 2017 14:01:18 -0000       1.120
> +++ kern/uipc_usrreq.c        11 Dec 2017 08:27:06 -0000
> @@ -231,8 +231,6 @@ uipc_usrreq(struct socket *so, int req, 
>  
>               case SOCK_STREAM:
>               case SOCK_SEQPACKET:
> -#define      rcv (&so2->so_rcv)
> -#define      snd (&so->so_snd)
>                       if (so->so_state & SS_CANTSENDMORE) {
>                               error = EPIPE;
>                               break;
> @@ -248,22 +246,21 @@ uipc_usrreq(struct socket *so, int req, 
>                        * Wake up readers.
>                        */
>                       if (control) {
> -                             if (sbappendcontrol(so2, rcv, m, control))
> +                             if (sbappendcontrol(so2, &so2->so_rcv, m,
> +                                 control)) {
>                                       control = NULL;
> -                             else {
> +                             } else {
>                                       error = ENOBUFS;
>                                       break;
>                               }
>                       } else if (so->so_type == SOCK_SEQPACKET)
> -                             sbappendrecord(so2, rcv, m);
> +                             sbappendrecord(so2, &so2->so_rcv, m);
>                       else
> -                             sbappend(so2, rcv, m);
> -                     snd->sb_mbcnt = rcv->sb_mbcnt;
> -                     snd->sb_cc = rcv->sb_cc;
> +                             sbappend(so2, &so2->so_rcv, m);
> +                     so->so_snd.sb_mbcnt = so2->so_rcv.sb_mbcnt;
> +                     so->so_snd.sb_cc = so2->so_rcv.sb_cc;
>                       sorwakeup(so2);
>                       m = NULL;
> -#undef snd
> -#undef rcv
>                       break;
>  
>               default:

Reply via email to