summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUrsula Braun <ursula.braun@de.ibm.com>2012-02-08 00:19:46 +0000
committerDavid S. Miller <davem@davemloft.net>2012-02-08 18:50:19 -0500
commit7f1b0ea42a800713a3d56e1e8ca1a845e0461ca2 (patch)
tree2649a3dba13c62fbd8d48836e501743ac03a56c9
parent7d316b9453523498246e9e19a659c423d4c5081e (diff)
downloadlinux-7f1b0ea42a800713a3d56e1e8ca1a845e0461ca2.tar.gz
linux-7f1b0ea42a800713a3d56e1e8ca1a845e0461ca2.tar.bz2
linux-7f1b0ea42a800713a3d56e1e8ca1a845e0461ca2.zip
af_iucv: block writing if msg limit is exceeded
When polling on an AF_IUCV socket, writing should be blocked if the number of pending messages exceeds a defined limit. Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com> Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/iucv/af_iucv.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/iucv/af_iucv.c b/net/iucv/af_iucv.c
index 3ce0259499ed..ef6ab71921fc 100644
--- a/net/iucv/af_iucv.c
+++ b/net/iucv/af_iucv.c
@@ -1490,7 +1490,7 @@ unsigned int iucv_sock_poll(struct file *file, struct socket *sock,
if (sk->sk_state == IUCV_DISCONN)
mask |= POLLIN;
- if (sock_writeable(sk))
+ if (sock_writeable(sk) && iucv_below_msglim(sk))
mask |= POLLOUT | POLLWRNORM | POLLWRBAND;
else
set_bit(SOCK_ASYNC_NOSPACE, &sk->sk_socket->flags);