On Wed, Aug 09, 2023 at 12:41:18AM +0300, Vitaliy Makkoveev wrote:
> I think it's better to merge SO_BINDANY cases from both switch blocks.
> This time SO_LINGER case is separated, so there is no reason for
> dedicated switch block.
OK bluhm@
> Index: sys/kern/uipc_socket.c
> ===================================================================
> RCS file: /cvs/src/sys/kern/uipc_socket.c,v
> retrieving revision 1.307
> diff -u -p -r1.307 uipc_socket.c
> --- sys/kern/uipc_socket.c 3 Aug 2023 09:49:08 -0000 1.307
> +++ sys/kern/uipc_socket.c 8 Aug 2023 21:35:50 -0000
> @@ -1800,13 +1800,6 @@ sosetopt(struct socket *so, int level, i
> error = ENOPROTOOPT;
> } else {
> switch (optname) {
> - case SO_BINDANY:
> - if ((error = suser(curproc)) != 0) /* XXX */
> - return (error);
> - break;
> - }
> -
> - switch (optname) {
>
> case SO_LINGER:
> if (m == NULL || m->m_len != sizeof (struct linger) ||
> @@ -1824,6 +1817,9 @@ sosetopt(struct socket *so, int level, i
>
> break;
Can you add a newline here? All other cases have one.
> case SO_BINDANY:
> + if ((error = suser(curproc)) != 0) /* XXX */
> + return (error);
> + /* FALLTHROUGH */
> case SO_DEBUG:
> case SO_KEEPALIVE:
> case SO_USELOOPBACK: