Subject: Re: CVS commit: src/sys/netinet (ip_compat.h 1-35 -> 1.36)
To: None <current-users@NetBSD.org>
From: Markus W Kilbinger <kilbi@rad.rwth-aachen.de>
List: current-users
Date: 04/02/2004 02:37:05
>>>>> "Bill" == Bill Studenmund <wrstuden@NetBSD.org> writes:

    Bill> On Thu, Apr 01, 2004 at 05:18:21AM +0000, Geoff Wing wrote:
    >> Darren Reed <darrenr@netbsd.org> typed:
    >> : Module Name:	src
    >> : Committed By:	darrenr
    >> : Date:		Wed Mar 31 11:41:46 UTC 2004
    >> : Modified Files:
    >> : 	src/sys/netinet: ip_compat.h
    >> : Log Message:
    >> : COPYIN/COPYOUT macros need to call copyin/out on NetBSD rather than just use
    >> : bcopy.
    >> 
    >> This update just killed ipfilter for me on i386 so I guess it's exposed some
    >> other problem.

With recent changes, at last

  http://mail-index.netbsd.org/source-changes/2004/04/01/0075.html

it seems to work again, but very unstable; I get very frequent panics
on my sparc ipx, like

  panic: m_copydata
  Stopped at      netbsd:cpu_Debugger+0x4:        or              %o7, %g0, %g1
  db> bt
  cpu_Debugger(0xf0243700, 0x0, 0x0, 0x8281, 0x100, 0xf0294c00) at netbsd:m_copydata+0xa4
  m_copydata(0xf05a6000, 0xfffd9d18, 0x50, 0xf06236e8, 0x0, 0x0) at netbsd:ippr_ftp_process+0x250
  ippr_ftp_process(0xf0269498, 0xf0623800, 0xf0623600, 0x1, 0xf0269498, 0xf05a6000) at netbsd:appr_check+0x1b0
  appr_check(0xf0269498, 0xf0623800, 0xbd9df, 0x13d, 0xffffffff, 0x89e222e3) at netbsd:fr_natin+0x1e8
  fr_natin(0xffffffff, 0xf0623800, 0x1, 0x1, 0xd4ca09b6, 0x406cb110) at netbsd:fr_checknatin+0xf8
  fr_checknatin(0xf0269498, 0xf0269494, 0xf0269498, 0x0, 0x14, 0xc1) at netbsd:fr_check+0x6e0
  fr_check(0x0, 0x14, 0xf057a800, 0x0, 0xf0269604, 0x0) at netbsd:fr_check_wrapper+0x60
  fr_check_wrapper(0xf05a6050, 0xf0269604, 0xf057a800, 0x1, 0x5c8, 0x0) at netbsd:pfil_run_hooks+0x60
  pfil_run_hooks(0xf02b0ff4, 0xf02696c4, 0xf057a800, 0x1, 0x0, 0x0) at netbsd:ip_input+0xa50
  ip_input(0xf05a6000, 0x0, 0x904001e5, 0xfe014000, 0x0, 0x0) at netbsd:ipintr+0x88
  ipintr(0x0, 0xf05a6000, 0x440, 0x1953, 0x100, 0xf0294b88) at netbsd:softnet+0x7c
  softnet(0xf02697b0, 0xf01f9430, 0x100, 0x908000e7, 0x0, 0xf02c358c) at 0xf000668c
  0xf000668c(0x1, 0xf0241c00, 0xffffffff, 0x0, 0x0, 0x0) at netbsd:switchexit+0xe0
  db>  show event
  evcnt type 1: zs0 intr = 1508
  evcnt type 1: esp0 intr = 178470

or silent hangs where I can get into db:

  Stopped at      netbsd:cpu_Debugger+0x4:        or              %o7, %g0, %g1
  db> bt
  cpu_Debugger(0xf048aa70, 0x0, 0xf0292b88, 0xcefe, 0x7f0, 0xf0293378) at netbsd:zsc_intr_hard+0xf0
  zsc_intr_hard(0x8, 0x7ffffc00, 0x90000ae4, 0xfe014000, 0xa3, 0xf0002000) at netbsd:zshard+0x44
  zshard(0x0, 0xf01d6068, 0xd00, 0x908000e5, 0x0, 0x20) at netbsd:sparc_interrupt44c+0x118
  sparc_interrupt44c(0xf0269200, 0xb124ee00, 0x0, 0x0, 0x0, 0xf0269308) at netbsd:ipsec_setspidx+0x14
  ipsec_setspidx(0xf0473900, 0xf0269200, 0x1, 0x0, 0x0, 0xf0269308) at netbsd:ipsec_setspidx_mbuf+0x38
  ipsec_setspidx_mbuf(0xf0269200, 0x18, 0xf0473900, 0x1, 0x10, 0xf0269308) at netbsd:ipsec6_getpolicybyaddr+0x48
  ipsec6_getpolicybyaddr(0x0, 0x2, 0x0, 0xf026939c, 0xd4ca, 0x2002) at netbsd:ip6_output+0x1564
  ip6_output(0x0, 0x0, 0x0, 0x4, 0x0, 0x0) at netbsd:icmp6_reflect+0x250
  icmp6_reflect(0xf0473900, 0xf04739bc, 0x4a8, 0xf04739c4, 0xf04eb340, 0xf0269538) at netbsd:icmp6_error+0x248
  icmp6_error(0xf0473900, 0x2, 0x0, 0x500, 0x0, 0x5dc) at netbsd:ip6_forward+0x858
  ip6_forward(0xf057f300, 0x0, 0x10, 0x1, 0x0, 0x20) at netbsd:ip6_input+0x678
  ip6_input(0xf057f300, 0xa4f3, 0x440, 0x38b2, 0xffff, 0xf0002000) at netbsd:ip6intr+0x88
  ip6intr(0xf02697b0, 0xf01f9430, 0x100, 0x908000e7, 0x0, 0xf02c358c) at 0xf000668c          
  0xf000668c(0x1, 0xf0241c00, 0xffffffff, 0x0, 0x0, 0x0) at netbsd:switchexit+0xd8
  db> show event
  evcnt type 1: zs0 intr = 1515
  evcnt type 1: esp0 intr = 177165

Markus.