NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/50629: netbsd-7 kernel panic



The following reply was made to PR kern/50629; it has been noted by GNATS.

From: christos%zoulas.com@localhost (Christos Zoulas)
To: 6bone%6bone.informatik.uni-leipzig.de@localhost, gnats-bugs%NetBSD.org@localhost
Cc: kern-bug-people%netbsd.org@localhost, gnats-admin%netbsd.org@localhost, 
	netbsd-bugs%netbsd.org@localhost
Subject: Re: kern/50629: netbsd-7 kernel panic
Date: Fri, 11 Mar 2016 08:36:33 -0500

 On Mar 11,  7:56am, 6bone%6bone.informatik.uni-leipzig.de@localhost (6bone%6bone.informatik.uni-leipzig.de@localhost) wrote:
 -- Subject: Re: kern/50629: netbsd-7 kernel panic
 
 | On Wed, 6 Jan 2016, Christos Zoulas wrote:
 | 
 | > Can you switch to npf? Just curious...
 | >
 | > christos
 | 
 | The firewall rules are generated by a external script that uses as output 
 | the ipfilter syntax. Rewriting the script is not possible for me.
 | 
 | The kernel panic is now recurred several times. Can I do something to 
 | find the problem?
 
 I meant to __LINE__ them...
 
 christos
 
 Index: ip_fil_netbsd.c
 ===================================================================
 RCS file: /cvsroot/src/sys/external/bsd/ipf/netinet/ip_fil_netbsd.c,v
 retrieving revision 1.11
 diff -u -u -r1.11 ip_fil_netbsd.c
 --- ip_fil_netbsd.c	25 Jul 2014 08:10:39 -0000	1.11
 +++ ip_fil_netbsd.c	11 Mar 2016 13:35:58 -0000
 @@ -1110,6 +1110,7 @@
  
  	if ((ifp == NULL) && ((fr == NULL) || !(fr->fr_flags & FR_FASTROUTE))) {
  		error = -2;
 +printf("%d: %p, %p\n", __LINE__, m0, m);
  		goto bad;
  	}
  
 @@ -1143,6 +1144,7 @@
  		else
  #endif
  			error = ENETUNREACH;
 +printf("%d: %p, %p\n", __LINE__, m0, m);
  		goto bad;
  	}
  
 @@ -1180,6 +1182,7 @@
  			break;
  		case -1 :
  			error = -1;
 +printf("%d: %p, %p\n", __LINE__, m0, m);
  			goto bad;
  			break;
  		}
 @@ -1223,11 +1226,13 @@
  	ip_off = ntohs(ip->ip_off);
  	if (ip_off & IP_DF) {
  		error = EMSGSIZE;
 +printf("%d: %p, %p\n", __LINE__, m0, m);
  		goto bad;
  	}
  	len = (ifp->if_mtu - hlen) &~ 7;
  	if (len < 8) {
  		error = EMSGSIZE;
 +printf("%d: %p, %p\n", __LINE__, m0, m);
  		goto bad;
  	}
  
 @@ -1250,6 +1255,7 @@
  		if (m == 0) {
  			m = m0;
  			error = ENOBUFS;
 +printf("%d: %p, %p\n", __LINE__, m0, m);
  			goto bad;
  		}
  		m->m_data += max_linkhdr;
 @@ -1271,6 +1277,7 @@
  		m->m_next = m_copy(m0, off, len);
  		if (m->m_next == 0) {
  			error = ENOBUFS;	/* ??? */
 +printf("%d: %p, %p\n", __LINE__, m0, m);
  			goto sendorfree;
  		}
  		m->m_pkthdr.len = mhlen + len;
 


Home | Main Index | Thread Index | Old Index