netbsd-bugs@netbsd.org
[Top] [All Lists]

Re: kern/33026: <sys/systm.h> is exported to userland

Subject: Re: kern/33026: <sys/systm.h> is exported to userland
From: Christos Zoulas
Date: Tue, 7 Mar 2006 22:20:03 +0000 UTC
The following reply was made to PR kern/33026; it has been noted by GNATS.

From: christos@xxxxxxxxxx (Christos Zoulas)
To: Simon Burge <simonb@xxxxxxxxxxxxxxxxx>, thorpej@xxxxxxxxxxxxxx
Cc: gnats-bugs@xxxxxxxxxx, kern-bug-people@xxxxxxxxxx,
        gnats-admin@xxxxxxxxxx, netbsd-bugs@xxxxxxxxxx
Subject: Re: kern/33026: <sys/systm.h> is exported to userland
Date: Tue, 7 Mar 2006 17:15:49 -0500

 On Mar 8,  8:52am, simonb@xxxxxxxxxxxxxxxxx (Simon Burge) wrote:
 -- Subject: Re: kern/33026: <sys/systm.h> is exported to userland
 
 | Simon Burge wrote:
 | 
 | > thorpej@xxxxxxxxxxxxxx wrote:
 | > 
 | > > >Number:         33026
 | > > >Category:       kern
 | > > >Synopsis:       <sys/systm.h> is exported to userland
 | > > >Description:
 | > >  <sys/systm.h> is exported to userland.  This kernel-only header
 | > >  contains nothing of value outside that context, and changes to
 | > >  that header file (which were totally appropriate for a kernel
 | > >  environment) recently broke compilation of the NetBSD userland.
 | > > 
 | > > >How-To-Repeat:
 | > >  N/A
 | > > >Fix:
 | > >  <sys/systm.h> should be removed from the collection of userland
 | > >  headers and added to the obsolete list. 
 | > 
 | > It's uglier than that even.  Latish last year I changed it so that
 | > <sys/systm.h> _wasn't_ installed in userland, but libc uses -I${src}/sys
 | > and some libc code uses <sys/systm.h>.
 | 
 | All the uses of <sys/systm.h> appear to be to get the SCARG macro.  As a
 | fix, do we find another header for this macro?  <sys/syscallargs.h> seems
 | best at a quick glance, except that it's autogenerated.  It wouldn't be
 | too hard to get makesyscalls.sh to add these macros at the bottom of the
 | header.
 
 The only thing that uses SCARG() in libc is the clockctl stuff. I suggest
 that we just break it (clockctl) and use a sane API with it. So what, ntp
 will need to be recompiled if it uses clockctl or run as root.
 
 christos
 

<Prev in Thread] Current Thread [Next in Thread>