summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2016-09-17 10:49:11 +0100
committerDavid Howells <dhowells@redhat.com>2016-09-17 10:51:54 +0100
commite6f3afb3fc058e17b407b6f7cac08058b19e641c (patch)
tree07216f88a9bbc47c758d23e37a25e753b316b25b
parent816c9fce12f3745abc959c0fca8ace1c2c51421c (diff)
downloadlinux-e6f3afb3fc058e17b407b6f7cac08058b19e641c.tar.gz
linux-e6f3afb3fc058e17b407b6f7cac08058b19e641c.tar.bz2
linux-e6f3afb3fc058e17b407b6f7cac08058b19e641c.zip
rxrpc: Record calls that need to be accepted
Record calls that need to be accepted using sk_acceptq_added() otherwise the backlog counter goes negative because sk_acceptq_removed() is called. This causes the preallocator to malfunction. Calls that are preaccepted by AFS within the kernel aren't affected by this. Signed-off-by: David Howells <dhowells@redhat.com>
-rw-r--r--net/rxrpc/call_accept.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/rxrpc/call_accept.c b/net/rxrpc/call_accept.c
index 26c293ef98eb..323b8da50163 100644
--- a/net/rxrpc/call_accept.c
+++ b/net/rxrpc/call_accept.c
@@ -369,6 +369,8 @@ found_service:
if (rx->notify_new_call)
rx->notify_new_call(&rx->sk, call, call->user_call_ID);
+ else
+ sk_acceptq_added(&rx->sk);
spin_lock(&conn->state_lock);
switch (conn->state) {