summaryrefslogtreecommitdiff
path: root/sys/net/raw_usrreq.c
diff options
context:
space:
mode:
authorBret Lambert <blambert@cvs.openbsd.org>2011-04-03 16:09:10 +0000
committerBret Lambert <blambert@cvs.openbsd.org>2011-04-03 16:09:10 +0000
commit98c89a5a903623639906d73ae1bef4ffada7791a (patch)
treedd780ff2abe3aec9d10f6c33e6e464147086317f /sys/net/raw_usrreq.c
parent55d0786714b356261f264952a8ea994ba5b1bffe (diff)
Don't attempt to enqueue mbufs on sockets marked as SS_CANTRCVMORE, as
was done earlier for routing sockets. ok claudio@
Diffstat (limited to 'sys/net/raw_usrreq.c')
-rw-r--r--sys/net/raw_usrreq.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/net/raw_usrreq.c b/sys/net/raw_usrreq.c
index b9cbdb5f7b1..d3ba8015ec9 100644
--- a/sys/net/raw_usrreq.c
+++ b/sys/net/raw_usrreq.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: raw_usrreq.c,v 1.12 2009/11/13 20:54:05 claudio Exp $ */
+/* $OpenBSD: raw_usrreq.c,v 1.13 2011/04/03 16:09:09 blambert Exp $ */
/* $NetBSD: raw_usrreq.c,v 1.11 1996/02/13 22:00:43 christos Exp $ */
/*
@@ -85,6 +85,8 @@ raw_input(struct mbuf *m0, ...)
last = 0;
LIST_FOREACH(rp, &rawcb, rcb_list) {
+ if (rp->rcb_socket->so_state & SS_CANTRCVMORE)
+ continue;
if (rp->rcb_proto.sp_family != proto->sp_family)
continue;
if (rp->rcb_proto.sp_protocol &&