From: Mike Karels Date: Mon, 25 May 1987 13:21:18 +0000 (-0800) Subject: don't M_WAIT from interrupt level X-Git-Tag: BSD-4_3_Net_1-Snapshot-Development~4528 X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/commitdiff_plain/13494852bf1e839c9af8d93fff74d40398a58d25 don't M_WAIT from interrupt level SCCS-vsn: sys/netinet/ip_input.c 7.4 --- diff --git a/usr/src/sys/netinet/ip_input.c b/usr/src/sys/netinet/ip_input.c index 2a7fd857ef..82f5a9018c 100644 --- a/usr/src/sys/netinet/ip_input.c +++ b/usr/src/sys/netinet/ip_input.c @@ -3,7 +3,7 @@ * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * - * @(#)ip_input.c 7.3 (Berkeley) %G% + * @(#)ip_input.c 7.4 (Berkeley) %G% */ #include "param.h" @@ -300,7 +300,7 @@ ip_reass(ip, fp) * If first fragment to arrive, create a reassembly queue. */ if (fp == 0) { - if ((t = m_get(M_WAIT, MT_FTABLE)) == NULL) + if ((t = m_get(M_DONTWAIT, MT_FTABLE)) == NULL) goto dropfrag; fp = mtod(t, struct ipq *); insque(fp, &ipq); @@ -730,7 +730,9 @@ ip_srcroute() if (ip_nhops == 0) return ((struct mbuf *)0); - m = m_get(M_WAIT, MT_SOOPTS); + m = m_get(M_DONTWAIT, MT_SOOPTS); + if (m == 0) + return ((struct mbuf *)0); m->m_len = ip_nhops * sizeof(struct in_addr) + IPOPT_OFFSET + 1 + 1; /*