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

Commit 7f1b0ea4 authored by Ursula Braun's avatar Ursula Braun Committed by David S. Miller
Browse files

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: default avatarUrsula Braun <ursula.braun@de.ibm.com>
Signed-off-by: default avatarFrank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7d316b94
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -1490,7 +1490,7 @@ unsigned int iucv_sock_poll(struct file *file, struct socket *sock,
	if (sk->sk_state == IUCV_DISCONN)
	if (sk->sk_state == IUCV_DISCONN)
		mask |= POLLIN;
		mask |= POLLIN;


	if (sock_writeable(sk))
	if (sock_writeable(sk) && iucv_below_msglim(sk))
		mask |= POLLOUT | POLLWRNORM | POLLWRBAND;
		mask |= POLLOUT | POLLWRNORM | POLLWRBAND;
	else
	else
		set_bit(SOCK_ASYNC_NOSPACE, &sk->sk_socket->flags);
		set_bit(SOCK_ASYNC_NOSPACE, &sk->sk_socket->flags);