Subject: Re: CVS commit: src/sys/netinet (ip_compat.h 1-35 -> 1.36)
To: Geoff Wing <mason@primenet.com.au>
From: Bill Studenmund <wrstuden@netbsd.org>
List: current-users
Date: 04/01/2004 13:17:54
--sdtB3X0nJg68CQEu
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

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 jus=
t use
> : bcopy.
>=20
> This update just killed ipfilter for me on i386 so I guess it's exposed s=
ome
> other problem.

I think the issue is now getting resolved. The problem is that NetBSD does
the copyin() of the initial ioctl data for all of the handlers. Thus they
only need to use memcpy() to move the data around. However to access
structures pointed to by the main data block, the ioctl routines need
to call copyin() themselves.

The fix is to use two different COPYIN macros, one for top-level
data blocks and one for data referenced from them.

Take care,

Bill

--sdtB3X0nJg68CQEu
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (NetBSD)

iD8DBQFAbIcCWz+3JHUci9cRAnMnAKCKdoYMjJ3n1n3I4kexfaGZaPCuywCaA07F
hMdGc93XmqRSC0GmePnu9Cg=
=Co0h
-----END PGP SIGNATURE-----

--sdtB3X0nJg68CQEu--