Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 64a14651 authored by David S. Miller's avatar David S. Miller
Browse files

[NET]: Revert incorrect accept queue backlog changes.



This reverts two changes:

8488df89
248f0672

A backlog value of N really does mean allow "N + 1" connections
to queue to a listening socket.  This allows one to specify
"0" as the backlog and still get 1 connection.

Noticed by Gerrit Renker and Rick Jones.

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 187f5f84
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -426,7 +426,7 @@ static inline void sk_acceptq_added(struct sock *sk)

static inline int sk_acceptq_is_full(struct sock *sk)
{
	return sk->sk_ack_backlog >= sk->sk_max_ack_backlog;
	return sk->sk_ack_backlog > sk->sk_max_ack_backlog;
}

/*
+3 −3
Original line number Diff line number Diff line
@@ -934,7 +934,7 @@ static long unix_wait_for_peer(struct sock *other, long timeo)

	sched = !sock_flag(other, SOCK_DEAD) &&
		!(other->sk_shutdown & RCV_SHUTDOWN) &&
		(skb_queue_len(&other->sk_receive_queue) >=
		(skb_queue_len(&other->sk_receive_queue) >
		 other->sk_max_ack_backlog);

	unix_state_runlock(other);
@@ -1008,7 +1008,7 @@ static int unix_stream_connect(struct socket *sock, struct sockaddr *uaddr,
	if (other->sk_state != TCP_LISTEN)
		goto out_unlock;

	if (skb_queue_len(&other->sk_receive_queue) >=
	if (skb_queue_len(&other->sk_receive_queue) >
	    other->sk_max_ack_backlog) {
		err = -EAGAIN;
		if (!timeo)
@@ -1381,7 +1381,7 @@ static int unix_dgram_sendmsg(struct kiocb *kiocb, struct socket *sock,
	}

	if (unix_peer(other) != sk &&
	    (skb_queue_len(&other->sk_receive_queue) >=
	    (skb_queue_len(&other->sk_receive_queue) >
	     other->sk_max_ack_backlog)) {
		if (!timeo) {
			err = -EAGAIN;