summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorJohn Heffner <jheffner@psc.edu>2006-02-10 02:06:57 +0100
committerDavid S. Miller <davem@davemloft.net>2006-02-10 02:06:57 +0100
commit6fcf9412de64056238a6295f21db7aa9c37a532e (patch)
tree06cd8f20551ce8173e8cccb8ecd628f955f7db6e /net
parent[IRDA]: out of range array access (diff)
downloadlinux-6fcf9412de64056238a6295f21db7aa9c37a532e.tar.xz
linux-6fcf9412de64056238a6295f21db7aa9c37a532e.zip
[TCP]: rcvbuf lock when tcp_moderate_rcvbuf enabled
The rcvbuf lock should probably be honored here. Signed-off-by: John Heffner <jheffner@psc.edu> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r--net/ipv4/tcp_input.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index a97ed5416c28..e9a54ae7d690 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -456,7 +456,8 @@ void tcp_rcv_space_adjust(struct sock *sk)
tp->rcvq_space.space = space;
- if (sysctl_tcp_moderate_rcvbuf) {
+ if (sysctl_tcp_moderate_rcvbuf &&
+ !(sk->sk_userlocks & SOCK_RCVBUF_LOCK)) {
int new_clamp = space;
/* Receive space grows, normalize in order to