Subject: Re: kern/29407: panic: m_copyback0: read-only
To: None <christos@zoulas.com>
From: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
List: netbsd-bugs
Date: 02/17/2005 10:19:50
hi,

> 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)

this isn't correct because, with M_COPYBACK0_COW, m_copyback0 can
alter m0 and there's no way for m_copyback to tell it to caller.
(and more worse if allocation failed.)

YAMAMOTO Takashi