Module Name: src Committed By: martin Date: Tue Apr 25 16:15:14 UTC 2023
Modified Files: src/sys/netinet [netbsd-10]: ip_output.c Log Message: Pull up following revision(s) (requested by ozaki-r in ticket #150): sys/netinet/ip_output.c: revision 1.325 Revert "Fix panic on packet sending via a route with rt_ifa of AF_LINK." The fix is mistakenly upstreamed. To generate a diff of this commit: cvs rdiff -u -r1.324 -r1.324.2.1 src/sys/netinet/ip_output.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/netinet/ip_output.c diff -u src/sys/netinet/ip_output.c:1.324 src/sys/netinet/ip_output.c:1.324.2.1 --- src/sys/netinet/ip_output.c:1.324 Mon Nov 21 09:51:13 2022 +++ src/sys/netinet/ip_output.c Tue Apr 25 16:15:14 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: ip_output.c,v 1.324 2022/11/21 09:51:13 knakahara Exp $ */ +/* $NetBSD: ip_output.c,v 1.324.2.1 2023/04/25 16:15:14 martin Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -91,7 +91,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ip_output.c,v 1.324 2022/11/21 09:51:13 knakahara Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ip_output.c,v 1.324.2.1 2023/04/25 16:15:14 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -531,15 +531,6 @@ ip_output(struct mbuf *m0, struct mbuf * if (in_nullhost(ip->ip_src)) { struct ifaddr *xifa; - /* If rt_ifa is AF_LINK, ia can be NULL. */ - if (ia == NULL) { - KASSERTMSG(rt->rt_ifa->ifa_addr->sa_family == AF_LINK, - "sa_family=%d", rt->rt_ifa->ifa_addr->sa_family); - IP_STATINC(IP_STAT_NOROUTE); - error = EHOSTUNREACH; - goto bad; - } - xifa = &ia->ia_ifa; if (xifa->ifa_getifa != NULL) { ia4_release(ia, &psref_ia); @@ -591,15 +582,6 @@ ip_output(struct mbuf *m0, struct mbuf * sendit: if ((flags & (IP_FORWARDING|IP_NOIPNEWID)) == 0) { - /* If rt_ifa is AF_LINK, ia can be NULL. */ - if (ia == NULL) { - KASSERTMSG(rt->rt_ifa->ifa_addr->sa_family == AF_LINK, - "sa_family=%d", rt->rt_ifa->ifa_addr->sa_family); - IP_STATINC(IP_STAT_NOROUTE); - error = EHOSTUNREACH; - goto bad; - } - if (m->m_pkthdr.len < IP_MINFRAGSIZE) { ip->ip_id = 0; } else if ((m->m_pkthdr.csum_flags & M_CSUM_TSOv4) == 0) {