From owner-p4-projects@FreeBSD.ORG Wed May 27 18:44:07 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E2AC41065688; Wed, 27 May 2009 18:44:06 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 81BCF1065670 for ; Wed, 27 May 2009 18:44:06 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5B7FE8FC21 for ; Wed, 27 May 2009 18:44:06 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n4RIi62I066670 for ; Wed, 27 May 2009 18:44:06 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n4RIi5fG066664 for perforce@freebsd.org; Wed, 27 May 2009 18:44:05 GMT (envelope-from thompsa@freebsd.org) Date: Wed, 27 May 2009 18:44:05 GMT Message-Id: <200905271844.n4RIi5fG066664@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 162897 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 May 2009 18:44:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=162897 Change 162897 by thompsa@thompsa_burger on 2009/05/27 18:43:13 IFC @162896 Affected files ... .. //depot/projects/usb/src/sys/Makefile#11 integrate .. //depot/projects/usb/src/sys/arm/at91/ohci_atmelarm.c#19 delete .. //depot/projects/usb/src/sys/arm/conf/AVILA#16 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/files.ixp425#9 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/if_npe.c#9 integrate .. //depot/projects/usb/src/sys/cddl/boot/zfs/zfssubr.c#4 integrate .. //depot/projects/usb/src/sys/cddl/compat/opensolaris/kern/opensolaris_acl.c#1 branch .. //depot/projects/usb/src/sys/cddl/compat/opensolaris/kern/opensolaris_policy.c#5 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/common/acl/acl_common.c#4 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/common/acl/acl_common.h#3 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#6 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_acl.h#3 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c#4 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#10 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/sys/acl.h#2 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/sys/acl_impl.h#2 integrate .. //depot/projects/usb/src/sys/cddl/dev/lockstat/lockstat.c#1 branch .. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_misc.c#17 integrate .. //depot/projects/usb/src/sys/compat/linux/linux_ioctl.c#11 integrate .. //depot/projects/usb/src/sys/compat/linux/linux_mib.c#5 integrate .. //depot/projects/usb/src/sys/compat/ndis/kern_ndis.c#13 integrate .. //depot/projects/usb/src/sys/conf/NOTES#35 integrate .. //depot/projects/usb/src/sys/conf/files#64 integrate .. //depot/projects/usb/src/sys/conf/kern.pre.mk#16 integrate .. //depot/projects/usb/src/sys/conf/options#27 integrate .. //depot/projects/usb/src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#13 integrate .. //depot/projects/usb/src/sys/contrib/ipfilter/netinet/ip_nat.c#6 integrate .. //depot/projects/usb/src/sys/crypto/via/padlock_hash.c#3 integrate .. //depot/projects/usb/src/sys/dev/bktr/bktr_os.c#4 integrate .. //depot/projects/usb/src/sys/dev/cxgb/cxgb_main.c#17 integrate .. //depot/projects/usb/src/sys/dev/ksyms/ksyms.c#1 branch .. //depot/projects/usb/src/sys/dev/mii/e1000phy.c#7 integrate .. //depot/projects/usb/src/sys/dev/mii/e1000phyreg.h#4 integrate .. //depot/projects/usb/src/sys/dev/mii/miidevs#13 integrate .. //depot/projects/usb/src/sys/dev/msk/if_msk.c#11 integrate .. //depot/projects/usb/src/sys/dev/msk/if_mskreg.h#8 integrate .. //depot/projects/usb/src/sys/dev/nfe/if_nfe.c#9 integrate .. //depot/projects/usb/src/sys/dev/random/nehemiah.c#2 integrate .. //depot/projects/usb/src/sys/dev/random/randomdev_soft.c#6 integrate .. //depot/projects/usb/src/sys/dev/sound/pci/cmi.c#7 integrate .. //depot/projects/usb/src/sys/dev/sound/pci/cs4281.c#4 integrate .. //depot/projects/usb/src/sys/dev/sound/pci/vibes.c#4 integrate .. //depot/projects/usb/src/sys/dev/sound/pcm/sound.c#10 integrate .. //depot/projects/usb/src/sys/dev/sound/pcm/sound.h#9 integrate .. //depot/projects/usb/src/sys/dev/usb/bluetooth/TODO.TXT#2 delete .. //depot/projects/usb/src/sys/dev/usb/bluetooth/ng_ubt.c#8 delete .. //depot/projects/usb/src/sys/dev/usb/bluetooth/ng_ubt_var.h#2 delete .. //depot/projects/usb/src/sys/dev/usb/bluetooth/ubtbcmfw.c#8 delete .. //depot/projects/usb/src/sys/dev/usb/serial/usb_serial.c#6 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/usb_serial.h#4 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_busdma.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_busdma.h#6 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_urtw.c#1 branch .. //depot/projects/usb/src/sys/dev/usb/wlan/if_urtwreg.h#1 branch .. //depot/projects/usb/src/sys/dev/usb/wlan/if_urtwvar.h#1 branch .. //depot/projects/usb/src/sys/dev/xen/netfront/netfront.c#9 integrate .. //depot/projects/usb/src/sys/fs/nfs/nfs.h#3 integrate .. //depot/projects/usb/src/sys/fs/nfs/nfs_commonacl.c#2 integrate .. //depot/projects/usb/src/sys/fs/nfs/nfs_commonkrpc.c#3 integrate .. //depot/projects/usb/src/sys/fs/nfs/nfs_commonport.c#2 integrate .. //depot/projects/usb/src/sys/fs/nfs/nfs_commonsubs.c#2 integrate .. //depot/projects/usb/src/sys/fs/nfs/nfsport.h#3 integrate .. //depot/projects/usb/src/sys/fs/nfsclient/nfs_clkrpc.c#3 integrate .. //depot/projects/usb/src/sys/fs/nfsclient/nfs_clport.c#2 integrate .. //depot/projects/usb/src/sys/fs/nfsclient/nfs_clvfsops.c#3 integrate .. //depot/projects/usb/src/sys/fs/nfsclient/nfs_clvnops.c#3 integrate .. //depot/projects/usb/src/sys/fs/nfsserver/nfs_nfsdkrpc.c#3 integrate .. //depot/projects/usb/src/sys/fs/nfsserver/nfs_nfsdport.c#4 integrate .. //depot/projects/usb/src/sys/fs/nfsserver/nfs_nfsdserv.c#3 integrate .. //depot/projects/usb/src/sys/fs/nfsserver/nfs_nfsdsocket.c#3 integrate .. //depot/projects/usb/src/sys/fs/nfsserver/nfs_nfsdstate.c#5 integrate .. //depot/projects/usb/src/sys/fs/nwfs/nwfs_io.c#6 integrate .. //depot/projects/usb/src/sys/fs/procfs/procfs_status.c#6 integrate .. //depot/projects/usb/src/sys/fs/tmpfs/tmpfs_vnops.c#10 integrate .. //depot/projects/usb/src/sys/geom/geom_subr.c#12 integrate .. //depot/projects/usb/src/sys/ia64/ia64/mp_machdep.c#9 integrate .. //depot/projects/usb/src/sys/kern/init_main.c#13 integrate .. //depot/projects/usb/src/sys/kern/kern_cpuset.c#7 integrate .. //depot/projects/usb/src/sys/kern/kern_descrip.c#21 integrate .. //depot/projects/usb/src/sys/kern/kern_exit.c#16 integrate .. //depot/projects/usb/src/sys/kern/kern_fail.c#1 branch .. //depot/projects/usb/src/sys/kern/kern_fork.c#15 integrate .. //depot/projects/usb/src/sys/kern/kern_jail.c#20 integrate .. //depot/projects/usb/src/sys/kern/kern_linker.c#15 integrate .. //depot/projects/usb/src/sys/kern/kern_lock.c#14 integrate .. //depot/projects/usb/src/sys/kern/kern_lockf.c#9 integrate .. //depot/projects/usb/src/sys/kern/kern_lockstat.c#1 branch .. //depot/projects/usb/src/sys/kern/kern_mib.c#13 integrate .. //depot/projects/usb/src/sys/kern/kern_mutex.c#14 integrate .. //depot/projects/usb/src/sys/kern/kern_proc.c#18 integrate .. //depot/projects/usb/src/sys/kern/kern_prot.c#11 integrate .. //depot/projects/usb/src/sys/kern/kern_rmlock.c#4 integrate .. //depot/projects/usb/src/sys/kern/kern_rwlock.c#14 integrate .. //depot/projects/usb/src/sys/kern/kern_sx.c#14 integrate .. //depot/projects/usb/src/sys/kern/kern_vimage.c#5 integrate .. //depot/projects/usb/src/sys/kern/link_elf.c#12 integrate .. //depot/projects/usb/src/sys/kern/link_elf_obj.c#12 integrate .. //depot/projects/usb/src/sys/kern/linker_if.m#4 integrate .. //depot/projects/usb/src/sys/kern/subr_acl_posix1e.c#5 integrate .. //depot/projects/usb/src/sys/kern/sysv_msg.c#7 integrate .. //depot/projects/usb/src/sys/kern/sysv_sem.c#10 integrate .. //depot/projects/usb/src/sys/kern/sysv_shm.c#9 integrate .. //depot/projects/usb/src/sys/kern/tty.c#22 integrate .. //depot/projects/usb/src/sys/kern/uipc_debug.c#7 integrate .. //depot/projects/usb/src/sys/kern/vfs_acl.c#5 integrate .. //depot/projects/usb/src/sys/kern/vfs_bio.c#21 integrate .. //depot/projects/usb/src/sys/kern/vfs_lookup.c#16 integrate .. //depot/projects/usb/src/sys/kern/vfs_mount.c#23 integrate .. //depot/projects/usb/src/sys/kern/vfs_subr.c#21 integrate .. //depot/projects/usb/src/sys/kern/vfs_syscalls.c#21 integrate .. //depot/projects/usb/src/sys/kgssapi/gsstest.c#3 integrate .. //depot/projects/usb/src/sys/legacy/dev/ata/ata-usb.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/sound/usb/uaudio.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/sound/usb/uaudio.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/sound/usb/uaudio_pcm.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/sound/usb/uaudioreg.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/FILES#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/dsbr100io.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ehci.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ehci_ddb.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ehci_ixp4xx.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ehci_mbus.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ehci_pci.c#3 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ehcireg.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ehcivar.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/hid.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/hid.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/if_urtw.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/if_urtwreg.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/if_urtwvar.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ohci.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ohci_pci.c#3 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ohcireg.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ohcivar.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/rio500_usb.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/rt2573_ucode.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/sl811hs.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/sl811hsreg.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/sl811hsvar.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/slhci_pccard.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/u3g.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/uark.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ubsa.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ubser.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ubser.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/uchcom.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ucom.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ucomvar.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ucycom.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/udbp.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/udbp.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ufm.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ufoma.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/uftdi.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/uftdireg.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ugen.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ugraphire_rdesc.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/uhci.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/uhci_pci.c#3 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/uhcireg.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/uhcivar.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/uhid.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/uhub.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/uipaq.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ukbd.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ulpt.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/umass.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/umct.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/umodem.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/ums.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/uplcom.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/urio.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/usb.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/usb.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/usb_if.m#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/usb_mem.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/usb_mem.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/usb_port.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/usb_quirks.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/usb_quirks.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/usb_subr.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/usbcdc.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/usbdi.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/usbdi.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/usbdi_util.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/usbdi_util.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/usbdivar.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/usbhid.h#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/uscanner.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/uslcom.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/uvisor.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/uvscom.c#2 delete .. //depot/projects/usb/src/sys/legacy/dev/usb/uxb360gp_rdesc.h#2 delete .. //depot/projects/usb/src/sys/mips/mips/pmap.c#10 integrate .. //depot/projects/usb/src/sys/modules/Makefile#32 integrate .. //depot/projects/usb/src/sys/modules/dtrace/Makefile#3 integrate .. //depot/projects/usb/src/sys/modules/dtrace/dtraceall/dtraceall.c#3 integrate .. //depot/projects/usb/src/sys/modules/ksyms/Makefile#1 branch .. //depot/projects/usb/src/sys/modules/linux/Makefile#9 integrate .. //depot/projects/usb/src/sys/modules/netgraph/bluetooth/ubt/Makefile#5 integrate .. //depot/projects/usb/src/sys/modules/netgraph/bluetooth/ubtbcmfw/Makefile#5 integrate .. //depot/projects/usb/src/sys/modules/nfs4client/Makefile#2 delete .. //depot/projects/usb/src/sys/modules/nfsclient/Makefile#5 integrate .. //depot/projects/usb/src/sys/modules/usb/Makefile#18 integrate .. //depot/projects/usb/src/sys/modules/usb/urtw/Makefile#1 branch .. //depot/projects/usb/src/sys/modules/zfs/Makefile#8 integrate .. //depot/projects/usb/src/sys/net/bpf.c#18 integrate .. //depot/projects/usb/src/sys/net/if.c#25 integrate .. //depot/projects/usb/src/sys/net/if_clone.c#5 integrate .. //depot/projects/usb/src/sys/net/if_loop.c#19 integrate .. //depot/projects/usb/src/sys/net/if_var.h#17 integrate .. //depot/projects/usb/src/sys/net/rtsock.c#22 integrate .. //depot/projects/usb/src/sys/net/vnet.h#8 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_adhoc.c#9 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_freebsd.c#16 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_hostap.c#12 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_monitor.c#3 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_radiotap.c#2 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_sta.c#10 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_wds.c#10 integrate .. //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/TODO#5 delete .. //depot/projects/usb/src/sys/netinet/accf_dns.c#2 integrate .. //depot/projects/usb/src/sys/netinet/in.c#25 integrate .. //depot/projects/usb/src/sys/netinet/in_pcb.c#23 integrate .. //depot/projects/usb/src/sys/netinet/ip_input.c#21 integrate .. //depot/projects/usb/src/sys/netinet/ip_ipsec.c#13 integrate .. //depot/projects/usb/src/sys/netinet/tcp_input.c#21 integrate .. //depot/projects/usb/src/sys/netinet/tcp_reass.c#9 integrate .. //depot/projects/usb/src/sys/netinet/tcp_subr.c#23 integrate .. //depot/projects/usb/src/sys/netinet/udp_usrreq.c#21 integrate .. //depot/projects/usb/src/sys/netinet/udp_var.h#7 integrate .. //depot/projects/usb/src/sys/netinet/vinet.h#10 integrate .. //depot/projects/usb/src/sys/netinet6/in6.c#23 integrate .. //depot/projects/usb/src/sys/netinet6/in6_ifattach.c#18 integrate .. //depot/projects/usb/src/sys/netinet6/in6_pcb.c#17 integrate .. //depot/projects/usb/src/sys/netinet6/ip6_ipsec.c#9 integrate .. //depot/projects/usb/src/sys/netinet6/udp6_usrreq.c#19 integrate .. //depot/projects/usb/src/sys/netipsec/ipsec.c#18 integrate .. //depot/projects/usb/src/sys/netipsec/ipsec.h#13 integrate .. //depot/projects/usb/src/sys/netipsec/ipsec6.h#7 integrate .. //depot/projects/usb/src/sys/netipsec/key.c#16 integrate .. //depot/projects/usb/src/sys/netipsec/vipsec.h#6 integrate .. //depot/projects/usb/src/sys/netipx/spx.h#3 integrate .. //depot/projects/usb/src/sys/netipx/spx_reass.c#1 branch .. //depot/projects/usb/src/sys/netipx/spx_usrreq.c#7 integrate .. //depot/projects/usb/src/sys/netipx/spx_var.h#3 integrate .. //depot/projects/usb/src/sys/nfs4client/nfs4.h#2 delete .. //depot/projects/usb/src/sys/nfs4client/nfs4_dev.c#4 delete .. //depot/projects/usb/src/sys/nfs4client/nfs4_dev.h#2 delete .. //depot/projects/usb/src/sys/nfs4client/nfs4_idmap.c#4 delete .. //depot/projects/usb/src/sys/nfs4client/nfs4_idmap.h#2 delete .. //depot/projects/usb/src/sys/nfs4client/nfs4_socket.c#5 delete .. //depot/projects/usb/src/sys/nfs4client/nfs4_subs.c#4 delete .. //depot/projects/usb/src/sys/nfs4client/nfs4_vfs.h#2 delete .. //depot/projects/usb/src/sys/nfs4client/nfs4_vfs_subs.c#3 delete .. //depot/projects/usb/src/sys/nfs4client/nfs4_vfsops.c#10 delete .. //depot/projects/usb/src/sys/nfs4client/nfs4_vn.h#2 delete .. //depot/projects/usb/src/sys/nfs4client/nfs4_vn_subs.c#4 delete .. //depot/projects/usb/src/sys/nfs4client/nfs4_vnops.c#11 delete .. //depot/projects/usb/src/sys/nfs4client/nfs4m_subs.h#2 delete .. //depot/projects/usb/src/sys/nfsclient/bootp_subr.c#11 integrate .. //depot/projects/usb/src/sys/nfsclient/krpc_subr.c#5 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs.h#10 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_bio.c#13 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_diskless.c#9 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_krpc.c#5 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_lock.c#6 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_nfsiod.c#4 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_node.c#8 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_socket.c#11 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_subs.c#10 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_vfsops.c#16 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_vnops.c#23 integrate .. //depot/projects/usb/src/sys/nfsclient/nfsm_subs.h#3 integrate .. //depot/projects/usb/src/sys/nfsclient/nfsmount.h#5 integrate .. //depot/projects/usb/src/sys/nfsclient/nfsnode.h#8 integrate .. //depot/projects/usb/src/sys/nfsserver/nfs_srvkrpc.c#6 integrate .. //depot/projects/usb/src/sys/nfsserver/nfs_srvsock.c#9 integrate .. //depot/projects/usb/src/sys/nlm/nlm_advlock.c#5 integrate .. //depot/projects/usb/src/sys/opencrypto/cryptodev.c#7 integrate .. //depot/projects/usb/src/sys/powerpc/booke/pmap.c#12 integrate .. //depot/projects/usb/src/sys/rpc/rpcclnt.c#9 delete .. //depot/projects/usb/src/sys/rpc/rpcclnt.h#2 delete .. //depot/projects/usb/src/sys/security/mac/mac_framework.c#8 integrate .. //depot/projects/usb/src/sys/security/mac/mac_internal.h#11 integrate .. //depot/projects/usb/src/sys/security/mac_bsdextended/mac_bsdextended.c#14 integrate .. //depot/projects/usb/src/sys/sys/acl.h#4 integrate .. //depot/projects/usb/src/sys/sys/cpuset.h#3 integrate .. //depot/projects/usb/src/sys/sys/eventhandler.h#8 integrate .. //depot/projects/usb/src/sys/sys/fail.h#1 branch .. //depot/projects/usb/src/sys/sys/jail.h#14 integrate .. //depot/projects/usb/src/sys/sys/ksyms.h#1 branch .. //depot/projects/usb/src/sys/sys/lock.h#9 integrate .. //depot/projects/usb/src/sys/sys/lockf.h#5 integrate .. //depot/projects/usb/src/sys/sys/lockstat.h#1 branch .. //depot/projects/usb/src/sys/sys/mutex.h#10 integrate .. //depot/projects/usb/src/sys/sys/namei.h#4 integrate .. //depot/projects/usb/src/sys/sys/param.h#31 integrate .. //depot/projects/usb/src/sys/sys/priv.h#13 integrate .. //depot/projects/usb/src/sys/sys/queue.h#5 integrate .. //depot/projects/usb/src/sys/sys/rwlock.h#11 integrate .. //depot/projects/usb/src/sys/sys/sx.h#9 integrate .. //depot/projects/usb/src/sys/sys/syscallsubr.h#10 integrate .. //depot/projects/usb/src/sys/sys/systm.h#17 integrate .. //depot/projects/usb/src/sys/sys/vimage.h#11 integrate .. //depot/projects/usb/src/sys/ufs/ufs/ufs_acl.c#4 integrate .. //depot/projects/usb/src/sys/ufs/ufs/ufs_vnops.c#15 integrate Differences ... ==== //depot/projects/usb/src/sys/Makefile#11 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/Makefile,v 1.54 2009/02/15 18:19:24 imp Exp $ +# $FreeBSD: src/sys/Makefile,v 1.55 2009/05/22 12:35:12 rwatson Exp $ .include @@ -11,7 +11,7 @@ CSCOPEDIRS= boot bsm cam cddl compat conf contrib crypto ddb dev fs gdb \ geom gnu isa kern libkern modules net net80211 netatalk \ netgraph netinet netinet6 netipsec netipx netnatm netncp \ - netsmb nfs nfs4client nfsclient nfsserver nlm opencrypto \ + netsmb nfs nfsclient nfsserver nlm opencrypto \ pci rpc security sys ufs vm xdr ${CSCOPE_ARCHDIR} .if defined(ALL_ARCH) CSCOPE_ARCHDIR ?= amd64 arm i386 ia64 mips pc98 powerpc sparc64 sun4v ==== //depot/projects/usb/src/sys/arm/conf/AVILA#16 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/AVILA,v 1.31 2009/05/10 00:00:25 kuriyama Exp $ +# $FreeBSD: src/sys/arm/conf/AVILA,v 1.32 2009/05/27 16:16:56 thompsa Exp $ ident AVILA @@ -132,15 +132,14 @@ options AH_SUPPORT_AR5416 device ath_ar9160 -makeoptions WITH_LEGACY -device ousb +device usb #options USB_DEBUG -device oohci -device oehci -device oumass +device ohci +device ehci +device umass device scbus # SCSI bus (required for SCSI) device da # Direct Access (disks) -#device oural -#device ozyd +#device ural +#device zyd #device wlan_amrr ==== //depot/projects/usb/src/sys/arm/xscale/ixp425/files.ixp425#9 (text+ko) ==== @@ -1,4 +1,4 @@ -#$FreeBSD: src/sys/arm/xscale/ixp425/files.ixp425,v 1.10 2009/03/06 23:22:09 sam Exp $ +#$FreeBSD: src/sys/arm/xscale/ixp425/files.ixp425,v 1.11 2009/05/27 16:16:56 thompsa Exp $ arm/arm/bus_space_generic.c standard arm/arm/cpufunc_asm_xscale.S standard arm/arm/irq_dispatch.S standard @@ -47,4 +47,3 @@ arm/xscale/ixp425/ixp425_qmgr.c optional qmgr # dev/usb/controller/ehci_ixp4xx.c optional ehci usb -legacy/dev/usb/ehci_ixp4xx.c optional oehci ousb ==== //depot/projects/usb/src/sys/arm/xscale/ixp425/if_npe.c#9 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.14 2009/03/10 19:35:37 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.15 2009/05/23 19:14:20 sam Exp $"); /* * Intel XScale NPE Ethernet driver. @@ -143,6 +143,7 @@ struct npestats *sc_stats; bus_dmamap_t sc_stats_map; bus_addr_t sc_stats_phys; /* phys addr of sc_stats */ + struct npestats sc_totals; /* accumulated sc_stats */ }; /* @@ -374,6 +375,8 @@ CTLFLAG_RW, &sc->sc_debug, 0, "control debugging printfs"); SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "tickinterval", CTLFLAG_RW, &sc->sc_tickinterval, 0, "periodic work frequency"); + SYSCTL_ADD_STRUCT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "stats", + CTLFLAG_RD, &sc->sc_totals, npestats, "onboard stats"); ether_ifattach(ifp, eaddr); return 0; @@ -867,12 +870,24 @@ static void npe_addstats(struct npe_softc *sc) { -#define MIBADD(x) sc->mibdata.x += be32toh(ns->x) +#define NPEADD(x) sc->sc_totals.x += be32toh(ns->x) +#define MIBADD(x) do { sc->mibdata.x += be32toh(ns->x); NPEADD(x); } while (0) struct ifnet *ifp = sc->sc_ifp; struct npestats *ns = sc->sc_stats; MIBADD(dot3StatsAlignmentErrors); MIBADD(dot3StatsFCSErrors); + MIBADD(dot3StatsInternalMacReceiveErrors); + NPEADD(RxOverrunDiscards); + NPEADD(RxLearnedEntryDiscards); + NPEADD(RxLargeFramesDiscards); + NPEADD(RxSTPBlockedDiscards); + NPEADD(RxVLANTypeFilterDiscards); + NPEADD(RxVLANIdFilterDiscards); + NPEADD(RxInvalidSourceDiscards); + NPEADD(RxBlackListDiscards); + NPEADD(RxWhiteListDiscards); + NPEADD(RxUnderflowEntryDiscards); MIBADD(dot3StatsSingleCollisionFrames); MIBADD(dot3StatsMultipleCollisionFrames); MIBADD(dot3StatsDeferredTransmissions); @@ -880,10 +895,12 @@ MIBADD(dot3StatsExcessiveCollisions); MIBADD(dot3StatsInternalMacTransmitErrors); MIBADD(dot3StatsCarrierSenseErrors); + NPEADD(TxLargeFrameDiscards); + NPEADD(TxVLANIdFilterDiscards); + sc->mibdata.dot3StatsFrameTooLongs += be32toh(ns->RxLargeFramesDiscards) + be32toh(ns->TxLargeFrameDiscards); - MIBADD(dot3StatsInternalMacReceiveErrors); sc->mibdata.dot3StatsMissedFrames += be32toh(ns->RxOverrunDiscards) + be32toh(ns->RxUnderflowEntryDiscards); @@ -902,6 +919,7 @@ be32toh(ns->dot3StatsSingleCollisionFrames) + be32toh(ns->dot3StatsMultipleCollisionFrames) ; +#undef NPEADD #undef MIBADD } ==== //depot/projects/usb/src/sys/cddl/boot/zfs/zfssubr.c#4 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cddl/boot/zfs/zfssubr.c,v 1.3 2009/05/16 10:48:20 dfr Exp $"); +__FBSDID("$FreeBSD: src/sys/cddl/boot/zfs/zfssubr.c,v 1.5 2009/05/23 16:01:58 des Exp $"); static uint64_t zfs_crc64_table[256]; ==== //depot/projects/usb/src/sys/cddl/compat/opensolaris/kern/opensolaris_policy.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cddl/compat/opensolaris/kern/opensolaris_policy.c,v 1.6 2008/11/23 20:14:19 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/cddl/compat/opensolaris/kern/opensolaris_policy.c,v 1.7 2009/05/24 19:21:49 trasz Exp $"); #include #include @@ -302,6 +302,14 @@ if (error) return (error); } + /* + * Deny setting setuid if we are not the file owner. + */ + if ((vap->va_mode & S_ISUID) && ovap->va_uid != cred->cr_uid) { + error = priv_check_cred(cred, PRIV_VFS_ADMIN, 0); + if (error) + return (error); + } return (0); } ==== //depot/projects/usb/src/sys/cddl/contrib/opensolaris/common/acl/acl_common.c#4 (text+ko) ==== @@ -424,7 +424,7 @@ #endif } -#ifndef __FreeBSD__ +#if !defined(_KERNEL) acl_t * acl_alloc(enum acl_type type) { @@ -470,7 +470,6 @@ cacl_free(aclp, sizeof (acl_t)); } -#endif static uint32_t access_mask_set(int haswriteperm, int hasreadperm, int isowner, int isallow) @@ -1727,3 +1726,4 @@ return (error); #endif } +#endif /* _KERNEL */ ==== //depot/projects/usb/src/sys/cddl/contrib/opensolaris/common/acl/acl_common.h#3 (text+ko) ==== @@ -46,6 +46,7 @@ extern int ace_trivial_common(void *, int, uint64_t (*walk)(void *, uint64_t, int aclcnt, uint16_t *, uint16_t *, uint32_t *mask)); +#if !defined(_KERNEL) extern acl_t *acl_alloc(acl_type_t); extern void acl_free(acl_t *aclp); extern int acl_translate(acl_t *aclp, int target_flavor, @@ -53,6 +54,7 @@ void ksort(caddr_t v, int n, int s, int (*f)()); int cmp2acls(void *a, void *b); +#endif /* _KERNEL */ #ifdef __cplusplus } ==== //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#6 (text+ko) ==== @@ -18,7 +18,7 @@ * * CDDL HEADER END * - * $FreeBSD: src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c,v 1.9 2008/11/05 19:39:11 rodrigc Exp $ + * $FreeBSD: src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c,v 1.10 2009/05/26 20:28:22 sson Exp $ */ /* @@ -122,6 +122,7 @@ #include #include #include +#include #include #include #include @@ -3168,14 +3169,11 @@ uintptr_t rw; } r; #else + struct thread *lowner; union { - struct mtx *mi; - uintptr_t mx; - } m; - union { - struct sx *si; - uintptr_t sx; - } s; + struct lock_object *li; + uintptr_t lx; + } l; #endif switch (subr) { @@ -3272,75 +3270,83 @@ break; #else - /* - * XXX - The following code works because mutex, rwlocks, & sxlocks - * all have similar data structures in FreeBSD. This may not be - * good if someone changes one of the lock data structures. - * Ideally, it would be nice if all these shared a common lock - * object. - */ case DIF_SUBR_MUTEX_OWNED: - /* XXX - need to use dtrace_canload() and dtrace_loadptr() */ - m.mx = tupregs[0].dttk_value; - -#ifdef DOODAD - if (LO_CLASSINDEX(&(m.mi->lock_object)) < 2) { - regs[rd] = !(m.mi->mtx_lock & MTX_UNOWNED); - } else { - regs[rd] = !(m.mi->mtx_lock & SX_UNLOCKED); + if (!dtrace_canload(tupregs[0].dttk_value, + sizeof (struct lock_object), mstate, vstate)) { + regs[rd] = 0; + break; } -#endif + l.lx = dtrace_loadptr((uintptr_t)&tupregs[0].dttk_value); + regs[rd] = LOCK_CLASS(l.li)->lc_owner(l.li, &lowner); break; case DIF_SUBR_MUTEX_OWNER: - /* XXX - need to use dtrace_canload() and dtrace_loadptr() */ - m.mx = tupregs[0].dttk_value; - - if (LO_CLASSINDEX(&(m.mi->lock_object)) < 2) { - regs[rd] = m.mi->mtx_lock & ~MTX_FLAGMASK; - } else { - if (!(m.mi->mtx_lock & SX_LOCK_SHARED)) - regs[rd] = SX_OWNER(m.mi->mtx_lock); - else - regs[rd] = 0; + if (!dtrace_canload(tupregs[0].dttk_value, + sizeof (struct lock_object), mstate, vstate)) { + regs[rd] = 0; + break; } + l.lx = dtrace_loadptr((uintptr_t)&tupregs[0].dttk_value); + LOCK_CLASS(l.li)->lc_owner(l.li, &lowner); + regs[rd] = (uintptr_t)lowner; break; case DIF_SUBR_MUTEX_TYPE_ADAPTIVE: - /* XXX - need to use dtrace_canload() and dtrace_loadptr() */ - m.mx = tupregs[0].dttk_value; - - regs[rd] = (LO_CLASSINDEX(&(m.mi->lock_object)) != 0); + if (!dtrace_canload(tupregs[0].dttk_value, sizeof (struct mtx), + mstate, vstate)) { + regs[rd] = 0; + break; + } + l.lx = dtrace_loadptr((uintptr_t)&tupregs[0].dttk_value); + /* XXX - should be only LC_SLEEPABLE? */ + regs[rd] = (LOCK_CLASS(l.li)->lc_flags & + (LC_SLEEPLOCK | LC_SLEEPABLE)) != 0; break; case DIF_SUBR_MUTEX_TYPE_SPIN: - /* XXX - need to use dtrace_canload() and dtrace_loadptr() */ - m.mx = tupregs[0].dttk_value; - - regs[rd] = (LO_CLASSINDEX(&(m.mi->lock_object)) == 0); + if (!dtrace_canload(tupregs[0].dttk_value, sizeof (struct mtx), + mstate, vstate)) { + regs[rd] = 0; + break; + } + l.lx = dtrace_loadptr((uintptr_t)&tupregs[0].dttk_value); + regs[rd] = (LOCK_CLASS(l.li)->lc_flags & LC_SPINLOCK) != 0; break; case DIF_SUBR_RW_READ_HELD: case DIF_SUBR_SX_SHARED_HELD: - /* XXX - need to use dtrace_canload() and dtrace_loadptr() */ - s.sx = tupregs[0].dttk_value; - regs[rd] = ((s.si->sx_lock & SX_LOCK_SHARED) && - (SX_OWNER(s.si->sx_lock) >> SX_SHARERS_SHIFT) != 0); + if (!dtrace_canload(tupregs[0].dttk_value, sizeof (uintptr_t), + mstate, vstate)) { + regs[rd] = 0; + break; + } + l.lx = dtrace_loadptr((uintptr_t)&tupregs[0].dttk_value); + regs[rd] = LOCK_CLASS(l.li)->lc_owner(l.li, &lowner) && + lowner == NULL; break; case DIF_SUBR_RW_WRITE_HELD: case DIF_SUBR_SX_EXCLUSIVE_HELD: - /* XXX - need to use dtrace_canload() and dtrace_loadptr() */ - s.sx = tupregs[0].dttk_value; - regs[rd] = (SX_OWNER(s.si->sx_lock) == (uintptr_t) curthread); + if (!dtrace_canload(tupregs[0].dttk_value, sizeof (uintptr_t), + mstate, vstate)) { + regs[rd] = 0; + break; + } + l.lx = dtrace_loadptr(tupregs[0].dttk_value); + LOCK_CLASS(l.li)->lc_owner(l.li, &lowner); + regs[rd] = (lowner == curthread); break; case DIF_SUBR_RW_ISWRITER: case DIF_SUBR_SX_ISEXCLUSIVE: - /* XXX - need to use dtrace_canload() and dtrace_loadptr() */ - s.sx = tupregs[0].dttk_value; - regs[rd] = ((s.si->sx_lock & SX_LOCK_EXCLUSIVE_WAITERS) || - !(s.si->sx_lock & SX_LOCK_SHARED)); + if (!dtrace_canload(tupregs[0].dttk_value, sizeof (uintptr_t), + mstate, vstate)) { + regs[rd] = 0; + break; + } + l.lx = dtrace_loadptr(tupregs[0].dttk_value); + regs[rd] = LOCK_CLASS(l.li)->lc_owner(l.li, &lowner) && + lowner != NULL; break; #endif /* ! defined(sun) */ ==== //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_acl.h#3 (text+ko) ==== @@ -188,10 +188,8 @@ #ifdef _KERNEL void zfs_perm_init(struct znode *, struct znode *, int, vattr_t *, dmu_tx_t *, cred_t *, zfs_acl_t *, zfs_fuid_info_t **); -#ifdef TODO int zfs_getacl(struct znode *, vsecattr_t *, boolean_t, cred_t *); int zfs_setacl(struct znode *, vsecattr_t *, boolean_t, cred_t *); -#endif void zfs_acl_rele(void *); void zfs_oldace_byteswap(ace_t *, int); void zfs_ace_byteswap(void *, size_t, boolean_t); ==== //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c#4 (text+ko) ==== @@ -1909,7 +1909,6 @@ zfs_acl_free(aclp); } -#ifdef TODO /* * Retrieve a files ACL */ @@ -2005,7 +2004,6 @@ return (0); } -#endif /* TODO */ int zfs_vsec_2_aclp(zfsvfs_t *zfsvfs, vtype_t obj_type, @@ -2062,7 +2060,6 @@ return (0); } -#ifdef TODO /* * Set a files ACL */ @@ -2170,7 +2167,6 @@ return (error); } -#endif /* TODO */ /* * working_mode returns the permissions that were not granted ==== //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#10 (text+ko) ==== @@ -45,7 +45,6 @@ #include #include #include -#include #include #include #include @@ -67,6 +66,7 @@ #include #include #include +#include /* * Programming rules. @@ -3846,7 +3846,6 @@ } } -#ifdef TODO /*ARGSUSED*/ static int zfs_getsecattr(vnode_t *vp, vsecattr_t *vsecp, int flag, cred_t *cr, @@ -3864,9 +3863,7 @@ return (error); } -#endif /* TODO */ -#ifdef TODO /*ARGSUSED*/ static int zfs_setsecattr(vnode_t *vp, vsecattr_t *vsecp, int flag, cred_t *cr, @@ -3883,7 +3880,6 @@ ZFS_EXIT(zfsvfs); return (error); } -#endif /* TODO */ static int zfs_freebsd_open(ap) @@ -3963,7 +3959,7 @@ zfs_freebsd_access(ap) struct vop_access_args /* { struct vnode *a_vp; - int a_accmode; + accmode_t a_accmode; struct ucred *a_cred; struct thread *a_td; } */ *ap; @@ -4777,6 +4773,90 @@ return (error); } +int +zfs_freebsd_getacl(ap) + struct vop_getacl_args /* { + struct vnode *vp; + acl_type_t type; + struct acl *aclp; + struct ucred *cred; + struct thread *td; + } */ *ap; +{ + int error; + vsecattr_t vsecattr; + + if (ap->a_type != ACL_TYPE_NFS4) + return (EOPNOTSUPP); + + vsecattr.vsa_mask = VSA_ACE | VSA_ACECNT; + if (error = zfs_getsecattr(ap->a_vp, &vsecattr, 0, ap->a_cred, NULL)) + return (error); + + error = acl_from_aces(ap->a_aclp, vsecattr.vsa_aclentp, vsecattr.vsa_aclcnt); + if (vsecattr.vsa_aclentp != NULL) + kmem_free(vsecattr.vsa_aclentp, vsecattr.vsa_aclentsz); + + return (error); +} + +int +zfs_freebsd_setacl(ap) + struct vop_setacl_args /* { + struct vnode *vp; + acl_type_t type; + struct acl *aclp; + struct ucred *cred; + struct thread *td; + } */ *ap; +{ + int error; + vsecattr_t vsecattr; + int aclbsize; /* size of acl list in bytes */ + aclent_t *aaclp; + + if (ap->a_type != ACL_TYPE_NFS4) + return (EOPNOTSUPP); + + if (ap->a_aclp->acl_cnt < 1 || ap->a_aclp->acl_cnt > MAX_ACL_ENTRIES) + return (EINVAL); + + /* + * With NFS4 ACLs, chmod(2) may need to add additional entries, + * splitting every entry into two and appending "canonical six" + * entries at the end. Don't allow for setting an ACL that would + * cause chmod(2) to run out of ACL entries. + */ + if (ap->a_aclp->acl_cnt * 2 + 6 > ACL_MAX_ENTRIES) + return (ENOSPC); + + vsecattr.vsa_mask = VSA_ACE; + aclbsize = ap->a_aclp->acl_cnt * sizeof(ace_t); + vsecattr.vsa_aclentp = kmem_alloc(aclbsize, KM_SLEEP); + aaclp = vsecattr.vsa_aclentp; + vsecattr.vsa_aclentsz = aclbsize; + + aces_from_acl(vsecattr.vsa_aclentp, &vsecattr.vsa_aclcnt, ap->a_aclp); + error = zfs_setsecattr(ap->a_vp, &vsecattr, 0, ap->a_cred, NULL); + kmem_free(aaclp, aclbsize); + + return (error); +} + +int +zfs_freebsd_aclcheck(ap) + struct vop_aclcheck_args /* { + struct vnode *vp; + acl_type_t type; + struct acl *aclp; + struct ucred *cred; + struct thread *td; + } */ *ap; +{ + + return (EOPNOTSUPP); +} + struct vop_vector zfs_vnodeops; struct vop_vector zfs_fifoops; @@ -4816,6 +4896,11 @@ .vop_deleteextattr = zfs_deleteextattr, .vop_setextattr = zfs_setextattr, .vop_listextattr = zfs_listextattr, +#ifdef notyet + .vop_getacl = zfs_freebsd_getacl, + .vop_setacl = zfs_freebsd_setacl, + .vop_aclcheck = zfs_freebsd_aclcheck, +#endif }; struct vop_vector zfs_fifoops = { @@ -4829,4 +4914,9 @@ .vop_setattr = zfs_freebsd_setattr, .vop_write = VOP_PANIC, .vop_fid = zfs_freebsd_fid, +#ifdef notyet + .vop_getacl = zfs_freebsd_getacl, + .vop_setacl = zfs_freebsd_setacl, + .vop_aclcheck = zfs_freebsd_aclcheck, +#endif }; ==== //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/sys/acl.h#2 (text+ko) ==== @@ -31,12 +31,22 @@ #include #include +#if defined(_KERNEL) +/* + * When compiling OpenSolaris kernel code, this file is getting + * included instead of FreeBSD one. Pull the original sys/acl.h as well. + */ +#undef _SYS_ACL_H +#include_next +#define _SYS_ACL_H +#endif /* _KERNEL */ + #ifdef __cplusplus extern "C" { #endif #define MAX_ACL_ENTRIES (1024) /* max entries of each type */ -typedef struct acl { +typedef struct { int a_type; /* the type of ACL entry */ uid_t a_id; /* the entry in -uid or gid */ o_mode_t a_perm; /* the permission field */ @@ -49,7 +59,9 @@ uint16_t a_type; /* allow or deny */ } ace_t; +#if !defined(_KERNEL) typedef struct acl_info acl_t; +#endif /* * The following are Defined types for an aclent_t. ==== //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/sys/acl_impl.h#2 (text+ko) ==== @@ -44,10 +44,10 @@ typedef enum acl_type { ACLENT_T = 0, ACE_T = 1 -} acl_type_t; +} zfs_acl_type_t; struct acl_info { - acl_type_t acl_type; /* style of acl */ + zfs_acl_type_t acl_type; /* style of acl */ int acl_cnt; /* number of acl entries */ int acl_entry_size; /* sizeof acl entry */ int acl_flags; /* special flags about acl */ ==== //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_misc.c#17 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.89 2009/04/29 21:14:15 jamie Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.90 2009/05/27 14:11:23 jamie Exp $"); #include "opt_compat.h" #include "opt_inet.h" @@ -112,8 +112,6 @@ CTASSERT(sizeof(struct stat32) == 96); CTASSERT(sizeof(struct sigaction32) == 24); -extern int jail_max_af_ips; - static int freebsd32_kevent_copyout(void *arg, struct kevent *kevp, int count); static int freebsd32_kevent_copyin(void *arg, struct kevent *kevp, int count); @@ -2044,17 +2042,9 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<<