Subject: Re: kern/29407: panic: m_copyback0: read-only
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: Denis Lagno <dlagno@mail.ru>
List: netbsd-bugs
Date: 02/17/2005 01:04:01
The following reply was made to PR kern/29407; it has been noted by GNATS.

From: Denis Lagno <dlagno@mail.ru>
To: Christos Zoulas <christos@zoulas.com>
Cc: gnats-bugs@NetBSD.org, kern-bug-people@NetBSD.org,
	gnats-admin@NetBSD.org, netbsd-bugs@NetBSD.org
Subject: Re: kern/29407: panic: m_copyback0: read-only
Date: Thu, 17 Feb 2005 04:02:07 +0300

 Nope.  Again panic:
 
 ex0: too many segments, panic: m_copydata: m == 0, len 8
 Stopped at      netbsd:cpu_Debugger+0x4:        popl    %ebp
 db{1}> bt
 cpu_Debugger(c04bec6e,cbe37aec,7,c052b4e0,7) at netbsd:cpu_Debugger+0x4
 panic(c04ba8da,8,3c,c034ca5d,7) at netbsd:panic+0x12a
 m_copydata(c1b23400,0,52,c1b22e34,c1b23400) at netbsd:m_copydata+0x9b
 ex_start(c1d2d03c,cbe37ba0,c1d2d03c,2,cbe37bb8) at netbsd:ex_start+0x2f6
 ether_output(c1d2d03c,c1b22e00,c054f5d8,c1b38c60,c061d61c) at netbsd:ether_output+0x363
 ip_output(c1b22e00,0,c054f5d4,1,0) at netbsd:ip_output+0x6b8
 ip_forward(c1b22e00,1,c1f2dc00,1,c0526e14) at netbsd:ip_forward+0x189
 ip_input(c1b22e00,0,cbe37f50,0,c0100e31) at netbsd:ip_input+0x2de
 ipintr(c04b0010,30,c04b0010,10,cbe34000) at netbsd:ipintr+0x88
 DDB lost frame for netbsd:Xsoftnet+0x49, trying 0xcbe37f58
 Xsoftnet() at netbsd:Xsoftnet+0x49
 --- interrupt ---
 Bad frame pointer: 0xc052b4e0
 0x246:
 
 On Wed, Feb 16, 2005 at 06:12:32PM -0500, Christos Zoulas scribed:
 > On Feb 16,  8:25pm, dlagno@mail.ru (Denis Lagno) wrote:
 > -- Subject: kern/29407: panic: m_copyback0: read-only
 > 
 > | >How-To-Repeat:
 > | >From scarce observations this panic arises when my first ftp access
 > | is from some other host in the local network.  The host that panics
 > | is a gateway to Internet.  I use NAT and ipsec.
 > | I first observed this panic with week-old -current.  I updated system
 > | and the panic persist.
 > | >Fix:
 > | N/A
 > 
 > Try this:
 > 
 > Index: uipc_mbuf.c
 > ===================================================================
 > RCS file: /cvsroot/src/sys/kern/uipc_mbuf.c,v
 > retrieving revision 1.92
 > diff -u -u -r1.92 uipc_mbuf.c
 > --- uipc_mbuf.c	24 Jan 2005 21:25:09 -0000	1.92
 > +++ uipc_mbuf.c	16 Feb 2005 23:11:52 -0000
 > @@ -1077,7 +1077,7 @@
 >  #if defined(DEBUG)
 >  	error =
 >  #endif /* defined(DEBUG) */
 > -	m_copyback0(&m0, off, len, cp,
 > +	m_copyback0(&m0, off, len, cp, M_COPYBACK0_COW|
 >  	    M_COPYBACK0_COPYBACK|M_COPYBACK0_EXTEND, M_DONTWAIT);
 >  
 >  #if defined(DEBUG)