On Mon, Jan 08, 2018 at 03:50:14PM +0100, Martin Pieuchot wrote:
> ok?

OK bluhm@ with a few remarks.

> @@ -1422,12 +1422,12 @@ somove(struct socket *so, int wait)
>  
>       /* Receive buffer did shrink by len bytes, adjust oob. */
>       state = so->so_state;
> -     so->so_state &= ~SS_RCVATMARK;
> +     soclrstate(so, SS_RCVATMARK);
>       oobmark = so->so_oobmark;
>       so->so_oobmark = oobmark > len ? oobmark - len : 0;
>       if (oobmark) {

Can we make the "state" also u_int?

> @@ -198,7 +198,7 @@ sonewconn(struct socket *head, int conns
>       if (connstatus) {
>               sorwakeup(head);
>               wakeup(&head->so_timeo);
> -             so->so_state |= connstatus;
> +             sosetstate(so, connstatus);
>       }
>       return (so);
>  }

"connstatus" should be u_int.

> @@ -112,8 +112,8 @@ sys_socket(struct proc *p, void *v, regi
>               fdpunlock(fdp);
>       } else {
>               if (type & SOCK_NONBLOCK)
> -                     so->so_state |= SS_NBIO;
> -             so->so_state |= ss;
> +                     sosetstate(so, SS_NBIO);
> +             sosetstate(so, ss);
>               fp->f_data = so;
>               FILE_SET_MATURE(fp, p);
>               *retval = fd;

"ss" should be u_int for consistency.  And pledge_socket() still
takes the state as signed int.

> @@ -181,7 +181,7 @@ fifo_open(void *v)
>                       goto bad;
>               }
>               if (fip->fi_writers == 1) {
> -                     rso->so_state &= ~(SS_CANTRCVMORE|SS_ISDISCONNECTED);
> +                     soclrstate(rso, (SS_CANTRCVMORE|SS_ISDISCONNECTED));
>                       if (fip->fi_readers > 0)
>                               wakeup(&fip->fi_readers);
>               }

There are more () than needed.

> @@ -585,9 +585,9 @@ tcp_attach(struct socket *so, int proto)
>       if (tp == NULL) {
>               int nofd = so->so_state & SS_NOFDREF;   /* XXX */
>  
> -             so->so_state &= ~SS_NOFDREF;    /* don't free the socket yet */
> +             soclrstate(so, SS_NOFDREF);     /* don't free the socket yet */
>               in_pcbdetach(inp);
> -             so->so_state |= nofd;
> +             sosetstate(so, nofd);
>               return (ENOBUFS);
>       }
>       tp->t_state = TCPS_CLOSED;

nofd should be u_int.

Reply via email to