summaryrefslogtreecommitdiffstats
path: root/net/iucv
diff options
context:
space:
mode:
authorUrsula Braun <ursula.braun@de.ibm.com>2012-02-08 01:19:46 +0100
committerDavid S. Miller <davem@davemloft.net>2012-02-09 00:50:19 +0100
commit7f1b0ea42a800713a3d56e1e8ca1a845e0461ca2 (patch)
tree2649a3dba13c62fbd8d48836e501743ac03a56c9 /net/iucv
parentaf_iucv: remove IUCV-pathes completely (diff)
downloadlinux-7f1b0ea42a800713a3d56e1e8ca1a845e0461ca2.tar.xz
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>
Diffstat (limited to 'net/iucv')
-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);