Subject: Re: CVS commit: [elad-kernelauth] src/sys/ufs/ext2fs
To: Jason Thorpe <thorpej@shagadelic.org>
From: Christos Zoulas <christos@zoulas.com>
List: source-changes
Date: 04/20/2006 12:45:00
On Apr 20,  9:31am, thorpej@shagadelic.org (Jason Thorpe) wrote:
-- Subject: Re: CVS commit: [elad-kernelauth] src/sys/ufs/ext2fs

| > The problem with this approach is that it needs <sys/kauth.h> to be
| > present in all the header files that use the type. Unfortunately this
| 
| No, the problem is that prototypes and other structures that use a  
| kauth_cred_t are being exposed to userland.  If you eliminate that,  
| then you eliminate the need for userland to know anything kauth_cred- 
| anything, and you only include <sys/kauth.h> #ifdef _KERNEL.

Here's the list of files that need/use kauth.h. This is a small subset of
all the files in the kernel. Including <sys/kauth.h> in other header
files just to bring the typedef into scope is just lazyness.

christos

arch/i386/i386/sys_machdep.c
arch/i386/i386/trap.c
arch/x86/x86/x86_autoconf.c
coda/coda_namecache.c
coda/coda_namecache.h
coda/coda_venus.c
coda/coda_venus.h
coda/coda_vfsops.c
coda/coda_vfsops.h
coda/coda_vnops.c
coda/coda_vnops.h
compat/common/kern_info_43.c
compat/common/kern_sig_43.c
compat/common/kern_xxx_12.c
compat/common/vfs_syscalls_20.c
compat/freebsd/freebsd_sched.c
compat/ibcs2/ibcs2_fcntl.c
compat/ibcs2/ibcs2_misc.c
compat/linux/arch/i386/linux_machdep.c
compat/linux/common/linux_exec_elf32.c
compat/linux/common/linux_misc.c
compat/linux/common/linux_misc_notalpha.c
compat/linux/common/linux_sched.c
compat/linux/common/linux_socket.c
compat/svr4/svr4_fcntl.c
ddb/db_xxx.c
dev/ccd.c
dev/cons.c
dev/firmload.c
dev/rnd.c
dev/vnd.c
dev/vndvar.h
dev/ata/ata_raid_adaptec.c
dev/ata/ata_raid_promise.c
dev/ata/ld_ataraid.c
dev/dkwedge/dk.c
dev/pci/cz.c
dev/pci/if_iwi.c
dev/pci/if_lmc.c
dev/pcmcia/files.pcmcia
dev/pcmcia/if_cnw.c
dev/raidframe/rf_disks.c
dev/raidframe/rf_netbsdkintf.c
dev/usb/ucom.c
dev/usb/ucycom.c
dev/wscons/wsdisplay.c
dev/wscons/wsdisplay_compat_usl.c
dev/wscons/wskbd.c
fs/cd9660/cd9660_extern.h
fs/cd9660/cd9660_lookup.c
fs/cd9660/cd9660_rrip.c
fs/cd9660/cd9660_vfsops.c
fs/cd9660/cd9660_vnops.c
fs/filecorefs/filecore_extern.h
fs/msdosfs/denode.h
fs/msdosfs/msdosfs_denode.c
fs/msdosfs/msdosfs_fat.c
fs/msdosfs/msdosfs_lookup.c
fs/msdosfs/msdosfs_vfsops.c
fs/msdosfs/msdosfs_vnops.c
fs/ntfs/ntfs_subr.c
fs/ntfs/ntfs_vfsops.c
fs/ntfs/ntfs_vnops.c
fs/ptyfs/ptyfs_subr.c
fs/ptyfs/ptyfs_vfsops.c
fs/ptyfs/ptyfs_vnops.c
fs/smbfs/smbfs.h
fs/smbfs/smbfs_io.c
fs/smbfs/smbfs_node.c
fs/smbfs/smbfs_node.h
fs/smbfs/smbfs_subr.h
fs/smbfs/smbfs_vfsops.c
fs/smbfs/smbfs_vnops.c
fs/sysvbfs/sysvbfs.h
fs/tmpfs/tmpfs.h
fs/union/union.h
fs/union/union_subr.c
fs/union/union_vfsops.c
fs/union/union_vnops.c
kern/core_elf32.c
kern/exec_elf32.c
kern/init_sysctl.c
kern/kern_acct.c
kern/kern_descrip.c
kern/kern_event.c
kern/kern_exec.c
kern/kern_exit.c
kern/kern_fork.c
kern/kern_ktrace.c
kern/kern_ntptime.c
kern/kern_prot.c
kern/kern_resource.c
kern/kern_sig.c
kern/kern_synch.c
kern/kern_sysctl.c
kern/kern_systrace.c
kern/kern_time.c
kern/kern_xxx.c
kern/sys_pipe.c
kern/sys_process.c
kern/sys_socket.c
kern/sysv_ipc.c
kern/sysv_msg.c
kern/sysv_sem.c
kern/sysv_shm.c
kern/tty.c
kern/tty_bsdpty.c
kern/tty_ptm.c
kern/tty_pty.c
kern/tty_tty.c
kern/uipc_domain.c
kern/uipc_sem.c
kern/uipc_socket.c
kern/uipc_socket2.c
kern/uipc_usrreq.c
kern/vfs_bio.c
kern/vfs_getcwd.c
kern/vfs_lockf.c
kern/vfs_lookup.c
kern/vfs_subr.c
kern/vfs_syscalls.c
kern/vfs_vnops.c
kern/vfs_xattr.c
kern/vnode_if.c
kern/vnode_if.src
miscfs/fdesc/fdesc_vfsops.c
miscfs/fdesc/fdesc_vnops.c
miscfs/genfs/genfs_vnops.c
miscfs/genfs/layer_vfsops.c
miscfs/genfs/layer_vnops.c
miscfs/kernfs/kernfs_vfsops.c
miscfs/portal/portal.h
miscfs/portal/portal_vfsops.c
miscfs/portal/portal_vnops.c
miscfs/procfs/procfs_ctl.c
miscfs/procfs/procfs_status.c
miscfs/procfs/procfs_vfsops.c
miscfs/procfs/procfs_vnops.c
miscfs/specfs/spec_vnops.c
miscfs/specfs/specdev.h
miscfs/umapfs/umap.h
miscfs/umapfs/umap_subr.c
miscfs/umapfs/umap_vfsops.c
miscfs/umapfs/umap_vnops.c
net/bpf.c
net/if.c
net/if_bridge.c
net/if_ethersubr.c
net/if_gif.c
net/if_gre.c
net/if_ppp.c
net/if_pppoe.c
net/if_sl.c
net/if_spppsubr.c
net/if_stf.c
net/if_strip.c
net/if_tap.c
net/if_tun.c
net/if_vlan.c
net/ppp_tty.c
net/raw_usrreq.c
net/rtsock.c
net80211/ieee80211_ioctl.c
netatalk/ddp_usrreq.c
netccitt/pk_usrreq.c
netinet/in.c
netinet/in_pcb.c
netinet/raw_ip.c
netinet/tcp_usrreq.c
netinet6/in6.c
netinet6/in6_pcb.c
netinet6/in6_src.c
netinet6/ip6_output.c
netsmb/smb_conn.c
netsmb/smb_dev.h
netsmb/smb_subr.c
netsmb/smb_subr.h
nfs/nfs.h
nfs/nfs_bio.c
nfs/nfs_export.c
nfs/nfs_node.c
nfs/nfs_nqlease.c
nfs/nfs_serv.c
nfs/nfs_socket.c
nfs/nfs_subs.c
nfs/nfs_syscalls.c
nfs/nfs_var.h
nfs/nfs_vfsops.c
nfs/nfs_vnops.c
nfs/nfsmount.h
nfs/nfsnode.h
nfs/nqnfs.h
opencrypto/cryptodev.c
sys/exec.h
sys/extattr.h
sys/file.h
sys/namei.h
sys/resource.h
sys/signalvar.h
sys/socketvar.h
sys/types.h
sys/vnode.h
sys/vnode_if.h
ufs/ext2fs/ext2fs_alloc.c
ufs/ext2fs/ext2fs_balloc.c
ufs/ext2fs/ext2fs_extern.h
ufs/ext2fs/ext2fs_inode.c
ufs/ext2fs/ext2fs_lookup.c
ufs/ext2fs/ext2fs_readwrite.c
ufs/ext2fs/ext2fs_subr.c
ufs/ext2fs/ext2fs_vfsops.c
ufs/ext2fs/ext2fs_vnops.c
ufs/ffs/ffs_alloc.c
ufs/ffs/ffs_balloc.c
ufs/ffs/ffs_extern.h
ufs/ffs/ffs_inode.c
ufs/ffs/ffs_snapshot.c
ufs/ffs/ffs_softdep.c
ufs/ffs/ffs_vfsops.c
ufs/ffs/ffs_vnops.c
ufs/lfs/lfs_alloc.c
ufs/lfs/lfs_balloc.c
ufs/lfs/lfs_bio.c
ufs/lfs/lfs_extern.h
ufs/lfs/lfs_inode.c
ufs/lfs/lfs_itimes.c
ufs/lfs/lfs_segment.c
ufs/lfs/lfs_syscalls.c
ufs/lfs/lfs_vfsops.c
ufs/lfs/lfs_vnops.c
ufs/mfs/mfs_extern.h
ufs/ufs/extattr.h
ufs/ufs/quota.h
ufs/ufs/ufs_extern.h
ufs/ufs/ufs_inode.c
ufs/ufs/ufs_lookup.c
ufs/ufs/ufs_quota.c
ufs/ufs/ufs_vfsops.c
ufs/ufs/ufs_vnops.c
ufs/ufs/ufsmount.h
uvm/uvm_extern.h
uvm/uvm_swap.c