From 5db1e34ea48e418c1b6734ce3b08f50c44b587f7 Mon Sep 17 00:00:00 2001 From: Ruslan Ermilov Date: Mon, 10 Jan 2000 18:46:05 +0000 Subject: [PATCH] MGETHDR() does not initialize m_pkthdr.rcvif, do it here. This fixes page fault panic observed when diverting packets with IP options (e.g. ping -R remoteIP over natd). PR: kern/8596, kern/11199 --- sys/netinet/ip_output.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c index 23a5629eba4..61c8432a0ed 100644 --- a/sys/netinet/ip_output.c +++ b/sys/netinet/ip_output.c @@ -931,6 +931,7 @@ ip_insertoptions(m, opt, phlen) MGETHDR(n, M_DONTWAIT, MT_HEADER); if (n == 0) return (m); + n->m_pkthdr.rcvif = (struct ifnet *)0; n->m_pkthdr.len = m->m_pkthdr.len + optlen; m->m_len -= sizeof(struct ip); m->m_data += sizeof(struct ip);