From owner-svn-src-projects@FreeBSD.ORG Fri May 29 12:50:37 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 44C801065670; Fri, 29 May 2009 12:50:37 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2E69D8FC12; Fri, 29 May 2009 12:50:37 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n4TCobLY075016; Fri, 29 May 2009 12:50:37 GMT (envelope-from rwatson@svn.freebsd.org) Received: (from rwatson@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n4TCoaYO074995; Fri, 29 May 2009 12:50:36 GMT (envelope-from rwatson@svn.freebsd.org) Message-Id: <200905291250.n4TCoaYO074995@svn.freebsd.org> From: Robert Watson Date: Fri, 29 May 2009 12:50:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193031 - in projects/pnet/sys: . arm/at91 arm/conf arm/xscale/ixp425 boot/common boot/pc98/boot2 cddl/compat/opensolaris/kern cddl/compat/opensolaris/sys cddl/contrib/opensolaris/commo... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 May 2009 12:50:37 -0000 Author: rwatson Date: Fri May 29 12:50:35 2009 New Revision: 193031 URL: http://svn.freebsd.org/changeset/base/193031 Log: Merge r192636-r193030 from head to projects/pnet. Added: projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris_acl.c - copied unchanged from r193030, head/sys/cddl/compat/opensolaris/kern/opensolaris_acl.c projects/pnet/sys/cddl/compat/opensolaris/sys/acl.h - copied unchanged from r193030, head/sys/cddl/compat/opensolaris/sys/acl.h projects/pnet/sys/cddl/dev/lockstat/ - copied from r193030, head/sys/cddl/dev/lockstat/ projects/pnet/sys/dev/ksyms/ - copied from r193030, head/sys/dev/ksyms/ projects/pnet/sys/dev/usb/wlan/if_urtw.c - copied unchanged from r193030, head/sys/dev/usb/wlan/if_urtw.c projects/pnet/sys/dev/usb/wlan/if_urtwreg.h - copied unchanged from r193030, head/sys/dev/usb/wlan/if_urtwreg.h projects/pnet/sys/dev/usb/wlan/if_urtwvar.h - copied unchanged from r193030, head/sys/dev/usb/wlan/if_urtwvar.h projects/pnet/sys/i386/xen/xen_rtc.c - copied unchanged from r193030, head/sys/i386/xen/xen_rtc.c projects/pnet/sys/kern/kern_fail.c - copied unchanged from r193030, head/sys/kern/kern_fail.c projects/pnet/sys/kern/kern_lockstat.c - copied unchanged from r193030, head/sys/kern/kern_lockstat.c projects/pnet/sys/modules/ksyms/ - copied from r193030, head/sys/modules/ksyms/ projects/pnet/sys/modules/nfscl/ - copied from r193030, head/sys/modules/nfscl/ projects/pnet/sys/modules/nfscommon/ - copied from r193030, head/sys/modules/nfscommon/ projects/pnet/sys/modules/nfsd/ - copied from r193030, head/sys/modules/nfsd/ projects/pnet/sys/modules/usb/urtw/ - copied from r193030, head/sys/modules/usb/urtw/ projects/pnet/sys/netipx/spx_reass.c - copied unchanged from r193030, head/sys/netipx/spx_reass.c projects/pnet/sys/sys/fail.h - copied unchanged from r193030, head/sys/sys/fail.h projects/pnet/sys/sys/ksyms.h - copied unchanged from r193030, head/sys/sys/ksyms.h projects/pnet/sys/sys/lockstat.h - copied unchanged from r193030, head/sys/sys/lockstat.h Replaced: projects/pnet/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c - copied unchanged from r193030, head/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c projects/pnet/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h - copied unchanged from r193030, head/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h projects/pnet/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c - copied unchanged from r193030, head/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c Deleted: projects/pnet/sys/arm/at91/ohci_atmelarm.c projects/pnet/sys/dev/usb/bluetooth/ projects/pnet/sys/legacy/ projects/pnet/sys/netgraph/bluetooth/drivers/ubt/TODO Modified: projects/pnet/sys/ (props changed) projects/pnet/sys/arm/conf/AVILA projects/pnet/sys/arm/xscale/ixp425/files.ixp425 projects/pnet/sys/arm/xscale/ixp425/if_npe.c projects/pnet/sys/boot/common/ufsread.c projects/pnet/sys/boot/pc98/boot2/sys.c projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris_policy.c projects/pnet/sys/cddl/compat/opensolaris/sys/mutex.h projects/pnet/sys/cddl/compat/opensolaris/sys/rwlock.h projects/pnet/sys/cddl/contrib/opensolaris/common/acl/acl_common.c projects/pnet/sys/cddl/contrib/opensolaris/common/acl/acl_common.h projects/pnet/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_acl.h projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/pnet/sys/cddl/contrib/opensolaris/uts/common/rpc/xdr.h projects/pnet/sys/cddl/contrib/opensolaris/uts/common/sys/acl.h projects/pnet/sys/cddl/contrib/opensolaris/uts/common/sys/acl_impl.h projects/pnet/sys/compat/freebsd32/freebsd32_misc.c projects/pnet/sys/compat/linux/linux_ioctl.c projects/pnet/sys/compat/linux/linux_mib.c projects/pnet/sys/compat/ndis/kern_ndis.c projects/pnet/sys/compat/ndis/subr_usbd.c projects/pnet/sys/compat/svr4/svr4_fcntl.c projects/pnet/sys/compat/svr4/svr4_ioctl.c projects/pnet/sys/compat/svr4/svr4_misc.c projects/pnet/sys/compat/svr4/svr4_resource.c projects/pnet/sys/compat/svr4/svr4_signal.c projects/pnet/sys/compat/svr4/svr4_socket.c projects/pnet/sys/compat/svr4/svr4_stat.c projects/pnet/sys/compat/svr4/svr4_stream.c projects/pnet/sys/compat/svr4/svr4_sysconfig.h projects/pnet/sys/conf/NOTES projects/pnet/sys/conf/files projects/pnet/sys/conf/files.i386 projects/pnet/sys/conf/kern.pre.mk projects/pnet/sys/conf/options projects/pnet/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c projects/pnet/sys/contrib/ipfilter/netinet/ip_nat.c projects/pnet/sys/crypto/via/padlock_hash.c projects/pnet/sys/dev/ata/ata-usb.c projects/pnet/sys/dev/bktr/bktr_os.c projects/pnet/sys/dev/cfe/cfe_console.c projects/pnet/sys/dev/cxgb/cxgb_main.c projects/pnet/sys/dev/dcons/dcons_os.c projects/pnet/sys/dev/if_ndis/if_ndis_usb.c projects/pnet/sys/dev/if_ndis/if_ndisvar.h projects/pnet/sys/dev/mii/e1000phy.c projects/pnet/sys/dev/mii/e1000phyreg.h projects/pnet/sys/dev/mii/miidevs projects/pnet/sys/dev/msk/if_msk.c projects/pnet/sys/dev/msk/if_mskreg.h projects/pnet/sys/dev/nfe/if_nfe.c projects/pnet/sys/dev/nmdm/nmdm.c projects/pnet/sys/dev/ofw/ofw_console.c projects/pnet/sys/dev/random/nehemiah.c projects/pnet/sys/dev/random/randomdev_soft.c projects/pnet/sys/dev/rp/rp.c projects/pnet/sys/dev/si/si.c projects/pnet/sys/dev/sound/pci/cmi.c projects/pnet/sys/dev/sound/pci/cs4281.c projects/pnet/sys/dev/sound/pci/vibes.c projects/pnet/sys/dev/sound/pcm/sound.c projects/pnet/sys/dev/sound/pcm/sound.h projects/pnet/sys/dev/sound/usb/uaudio.c projects/pnet/sys/dev/sound/usb/uaudioreg.h projects/pnet/sys/dev/syscons/syscons.c projects/pnet/sys/dev/syscons/sysmouse.c projects/pnet/sys/dev/uart/uart_tty.c projects/pnet/sys/dev/usb/controller/at91dci.c projects/pnet/sys/dev/usb/controller/at91dci.h projects/pnet/sys/dev/usb/controller/atmegadci.c projects/pnet/sys/dev/usb/controller/atmegadci.h projects/pnet/sys/dev/usb/controller/atmegadci_atmelarm.c projects/pnet/sys/dev/usb/controller/avr32dci.c projects/pnet/sys/dev/usb/controller/avr32dci.h projects/pnet/sys/dev/usb/controller/ehci.c projects/pnet/sys/dev/usb/controller/ehci.h projects/pnet/sys/dev/usb/controller/musb_otg.c projects/pnet/sys/dev/usb/controller/musb_otg.h projects/pnet/sys/dev/usb/controller/ohci.c projects/pnet/sys/dev/usb/controller/ohci.h projects/pnet/sys/dev/usb/controller/uhci.c projects/pnet/sys/dev/usb/controller/uhci.h projects/pnet/sys/dev/usb/controller/usb_controller.c projects/pnet/sys/dev/usb/controller/uss820dci.c projects/pnet/sys/dev/usb/controller/uss820dci.h projects/pnet/sys/dev/usb/input/uhid.c projects/pnet/sys/dev/usb/input/ukbd.c projects/pnet/sys/dev/usb/input/ums.c projects/pnet/sys/dev/usb/misc/udbp.c projects/pnet/sys/dev/usb/misc/ufm.c projects/pnet/sys/dev/usb/net/if_aue.c projects/pnet/sys/dev/usb/net/if_auereg.h projects/pnet/sys/dev/usb/net/if_axe.c projects/pnet/sys/dev/usb/net/if_axereg.h projects/pnet/sys/dev/usb/net/if_cdce.c projects/pnet/sys/dev/usb/net/if_cdcereg.h projects/pnet/sys/dev/usb/net/if_cue.c projects/pnet/sys/dev/usb/net/if_cuereg.h projects/pnet/sys/dev/usb/net/if_kue.c projects/pnet/sys/dev/usb/net/if_kuereg.h projects/pnet/sys/dev/usb/net/if_rue.c projects/pnet/sys/dev/usb/net/if_ruereg.h projects/pnet/sys/dev/usb/net/if_udav.c projects/pnet/sys/dev/usb/net/if_udavreg.h projects/pnet/sys/dev/usb/net/usb_ethernet.c projects/pnet/sys/dev/usb/net/usb_ethernet.h projects/pnet/sys/dev/usb/quirk/usb_quirk.c projects/pnet/sys/dev/usb/serial/u3g.c projects/pnet/sys/dev/usb/serial/uark.c projects/pnet/sys/dev/usb/serial/ubsa.c projects/pnet/sys/dev/usb/serial/ubser.c projects/pnet/sys/dev/usb/serial/uchcom.c projects/pnet/sys/dev/usb/serial/ucycom.c projects/pnet/sys/dev/usb/serial/ufoma.c projects/pnet/sys/dev/usb/serial/uftdi.c projects/pnet/sys/dev/usb/serial/ugensa.c projects/pnet/sys/dev/usb/serial/uipaq.c projects/pnet/sys/dev/usb/serial/ulpt.c projects/pnet/sys/dev/usb/serial/umct.c projects/pnet/sys/dev/usb/serial/umodem.c projects/pnet/sys/dev/usb/serial/umoscom.c projects/pnet/sys/dev/usb/serial/uplcom.c projects/pnet/sys/dev/usb/serial/usb_serial.c projects/pnet/sys/dev/usb/serial/usb_serial.h projects/pnet/sys/dev/usb/serial/uslcom.c projects/pnet/sys/dev/usb/serial/uvisor.c projects/pnet/sys/dev/usb/serial/uvscom.c projects/pnet/sys/dev/usb/storage/umass.c projects/pnet/sys/dev/usb/storage/urio.c projects/pnet/sys/dev/usb/storage/ustorage_fs.c projects/pnet/sys/dev/usb/template/usb_template.c projects/pnet/sys/dev/usb/template/usb_template.h projects/pnet/sys/dev/usb/template/usb_template_cdce.c projects/pnet/sys/dev/usb/template/usb_template_msc.c projects/pnet/sys/dev/usb/template/usb_template_mtp.c projects/pnet/sys/dev/usb/usb.h projects/pnet/sys/dev/usb/usb_bus.h projects/pnet/sys/dev/usb/usb_busdma.c projects/pnet/sys/dev/usb/usb_busdma.h projects/pnet/sys/dev/usb/usb_cdc.h projects/pnet/sys/dev/usb/usb_compat_linux.c projects/pnet/sys/dev/usb/usb_compat_linux.h projects/pnet/sys/dev/usb/usb_controller.h projects/pnet/sys/dev/usb/usb_core.h projects/pnet/sys/dev/usb/usb_debug.c projects/pnet/sys/dev/usb/usb_debug.h projects/pnet/sys/dev/usb/usb_dev.c projects/pnet/sys/dev/usb/usb_dev.h projects/pnet/sys/dev/usb/usb_device.c projects/pnet/sys/dev/usb/usb_device.h projects/pnet/sys/dev/usb/usb_dynamic.c projects/pnet/sys/dev/usb/usb_dynamic.h projects/pnet/sys/dev/usb/usb_generic.c projects/pnet/sys/dev/usb/usb_generic.h projects/pnet/sys/dev/usb/usb_handle_request.c projects/pnet/sys/dev/usb/usb_hid.c projects/pnet/sys/dev/usb/usb_hid.h projects/pnet/sys/dev/usb/usb_hub.c projects/pnet/sys/dev/usb/usb_hub.h projects/pnet/sys/dev/usb/usb_ioctl.h projects/pnet/sys/dev/usb/usb_lookup.c projects/pnet/sys/dev/usb/usb_lookup.h projects/pnet/sys/dev/usb/usb_mbuf.c projects/pnet/sys/dev/usb/usb_mbuf.h projects/pnet/sys/dev/usb/usb_msctest.c projects/pnet/sys/dev/usb/usb_msctest.h projects/pnet/sys/dev/usb/usb_parse.c projects/pnet/sys/dev/usb/usb_parse.h projects/pnet/sys/dev/usb/usb_process.c projects/pnet/sys/dev/usb/usb_process.h projects/pnet/sys/dev/usb/usb_request.c projects/pnet/sys/dev/usb/usb_request.h projects/pnet/sys/dev/usb/usb_transfer.c projects/pnet/sys/dev/usb/usb_transfer.h projects/pnet/sys/dev/usb/usb_util.c projects/pnet/sys/dev/usb/usbdevs projects/pnet/sys/dev/usb/usbhid.h projects/pnet/sys/dev/usb/wlan/if_rum.c projects/pnet/sys/dev/usb/wlan/if_rumvar.h projects/pnet/sys/dev/usb/wlan/if_uath.c projects/pnet/sys/dev/usb/wlan/if_uathvar.h projects/pnet/sys/dev/usb/wlan/if_upgt.c projects/pnet/sys/dev/usb/wlan/if_upgtvar.h projects/pnet/sys/dev/usb/wlan/if_ural.c projects/pnet/sys/dev/usb/wlan/if_uralvar.h projects/pnet/sys/dev/usb/wlan/if_zyd.c projects/pnet/sys/dev/usb/wlan/if_zydreg.h projects/pnet/sys/dev/xen/console/console.c projects/pnet/sys/dev/xen/netfront/ (props changed) projects/pnet/sys/dev/xen/netfront/netfront.c projects/pnet/sys/dev/xen/xenpci/ (props changed) projects/pnet/sys/fs/nfs/nfs_commonacl.c projects/pnet/sys/fs/nfs/nfs_commonkrpc.c projects/pnet/sys/fs/nfs/nfs_commonport.c projects/pnet/sys/fs/nfs/nfs_commonsubs.c projects/pnet/sys/fs/nfs/nfsport.h projects/pnet/sys/fs/nfsclient/nfs_clbio.c projects/pnet/sys/fs/nfsclient/nfs_clnode.c projects/pnet/sys/fs/nfsclient/nfs_clvfsops.c projects/pnet/sys/fs/nfsserver/nfs_nfsdkrpc.c projects/pnet/sys/fs/nfsserver/nfs_nfsdport.c projects/pnet/sys/fs/nfsserver/nfs_nfsdserv.c projects/pnet/sys/fs/nfsserver/nfs_nfsdsocket.c projects/pnet/sys/fs/nwfs/nwfs_io.c projects/pnet/sys/fs/procfs/procfs_status.c projects/pnet/sys/fs/pseudofs/pseudofs_vnops.c projects/pnet/sys/fs/smbfs/smbfs_io.c projects/pnet/sys/fs/tmpfs/tmpfs_vnops.c projects/pnet/sys/geom/geom_subr.c projects/pnet/sys/ia64/ia64/mp_machdep.c projects/pnet/sys/ia64/ia64/ssc.c projects/pnet/sys/kern/init_main.c projects/pnet/sys/kern/kern_cpuset.c projects/pnet/sys/kern/kern_descrip.c projects/pnet/sys/kern/kern_exit.c projects/pnet/sys/kern/kern_fork.c projects/pnet/sys/kern/kern_jail.c projects/pnet/sys/kern/kern_linker.c projects/pnet/sys/kern/kern_lock.c projects/pnet/sys/kern/kern_lockf.c projects/pnet/sys/kern/kern_mib.c projects/pnet/sys/kern/kern_mutex.c projects/pnet/sys/kern/kern_osd.c projects/pnet/sys/kern/kern_proc.c projects/pnet/sys/kern/kern_prot.c projects/pnet/sys/kern/kern_rmlock.c projects/pnet/sys/kern/kern_rwlock.c projects/pnet/sys/kern/kern_sx.c projects/pnet/sys/kern/kern_vimage.c projects/pnet/sys/kern/link_elf.c projects/pnet/sys/kern/link_elf_obj.c projects/pnet/sys/kern/linker_if.m projects/pnet/sys/kern/sysv_msg.c projects/pnet/sys/kern/sysv_sem.c projects/pnet/sys/kern/sysv_shm.c projects/pnet/sys/kern/tty.c projects/pnet/sys/kern/tty_pts.c projects/pnet/sys/kern/uipc_debug.c projects/pnet/sys/kern/vfs_bio.c projects/pnet/sys/kern/vfs_lookup.c projects/pnet/sys/kern/vfs_mount.c projects/pnet/sys/kern/vfs_subr.c projects/pnet/sys/kern/vfs_syscalls.c projects/pnet/sys/kgssapi/gsstest.c projects/pnet/sys/mips/mips/pmap.c projects/pnet/sys/modules/Makefile projects/pnet/sys/modules/dtrace/Makefile projects/pnet/sys/modules/dtrace/dtnfsclient/ (props changed) projects/pnet/sys/modules/dtrace/dtraceall/dtraceall.c projects/pnet/sys/modules/ip6_mroute_mod/ (props changed) projects/pnet/sys/modules/ipmi/ipmi_linux/ (props changed) projects/pnet/sys/modules/linux/Makefile projects/pnet/sys/modules/netgraph/bluetooth/ubt/Makefile projects/pnet/sys/modules/netgraph/bluetooth/ubtbcmfw/Makefile projects/pnet/sys/modules/usb/Makefile projects/pnet/sys/modules/zfs/Makefile projects/pnet/sys/net/bpf.c projects/pnet/sys/net/if_clone.c projects/pnet/sys/net/if_loop.c projects/pnet/sys/net/netisr2.c projects/pnet/sys/net/pfil.h projects/pnet/sys/net/rtsock.c projects/pnet/sys/net/vnet.h projects/pnet/sys/net80211/ieee80211_adhoc.c projects/pnet/sys/net80211/ieee80211_freebsd.c projects/pnet/sys/net80211/ieee80211_hostap.c projects/pnet/sys/net80211/ieee80211_monitor.c projects/pnet/sys/net80211/ieee80211_radiotap.c projects/pnet/sys/net80211/ieee80211_sta.c projects/pnet/sys/net80211/ieee80211_wds.c projects/pnet/sys/netinet/accf_dns.c projects/pnet/sys/netinet/in_pcb.c projects/pnet/sys/netinet/ip_input.c projects/pnet/sys/netinet/ip_ipsec.c projects/pnet/sys/netinet/tcp_input.c projects/pnet/sys/netinet/tcp_reass.c projects/pnet/sys/netinet/tcp_subr.c projects/pnet/sys/netinet/udp_usrreq.c projects/pnet/sys/netinet/udp_var.h projects/pnet/sys/netinet/vinet.h projects/pnet/sys/netinet6/icmp6.c projects/pnet/sys/netinet6/in6.c projects/pnet/sys/netinet6/in6.h projects/pnet/sys/netinet6/in6_ifattach.c projects/pnet/sys/netinet6/in6_mcast.c projects/pnet/sys/netinet6/in6_pcb.c projects/pnet/sys/netinet6/ip6_input.c projects/pnet/sys/netinet6/ip6_ipsec.c projects/pnet/sys/netinet6/mld6.c projects/pnet/sys/netinet6/udp6_usrreq.c projects/pnet/sys/netipsec/ipsec.c projects/pnet/sys/netipsec/ipsec.h projects/pnet/sys/netipsec/ipsec6.h projects/pnet/sys/netipsec/key.c projects/pnet/sys/netipsec/vipsec.h projects/pnet/sys/netipx/spx.h projects/pnet/sys/netipx/spx_usrreq.c projects/pnet/sys/netipx/spx_var.h projects/pnet/sys/nfsclient/bootp_subr.c projects/pnet/sys/nfsclient/nfs_bio.c projects/pnet/sys/nfsclient/nfs_krpc.c projects/pnet/sys/nfsserver/nfs_srvkrpc.c projects/pnet/sys/nfsserver/nfs_srvsock.c projects/pnet/sys/opencrypto/cryptodev.c projects/pnet/sys/powerpc/booke/pmap.c projects/pnet/sys/rpc/xdr.h projects/pnet/sys/security/mac/mac_framework.c projects/pnet/sys/security/mac/mac_internal.h projects/pnet/sys/security/mac_bsdextended/mac_bsdextended.c projects/pnet/sys/sun4v/sun4v/hvcons.c projects/pnet/sys/sys/acl.h projects/pnet/sys/sys/cpuset.h projects/pnet/sys/sys/eventhandler.h projects/pnet/sys/sys/jail.h projects/pnet/sys/sys/lock.h projects/pnet/sys/sys/lockf.h projects/pnet/sys/sys/mutex.h projects/pnet/sys/sys/namei.h projects/pnet/sys/sys/param.h projects/pnet/sys/sys/queue.h projects/pnet/sys/sys/rmlock.h projects/pnet/sys/sys/rwlock.h projects/pnet/sys/sys/sx.h projects/pnet/sys/sys/syscallsubr.h projects/pnet/sys/sys/systm.h projects/pnet/sys/sys/tty.h projects/pnet/sys/sys/vimage.h projects/pnet/sys/ufs/ufs/ufs_vnops.c projects/pnet/sys/vm/vm_object.c projects/pnet/sys/vm/vm_pageout.c projects/pnet/sys/xdr/xdr_mem.c projects/pnet/sys/xen/xenbus/init.txt (props changed) projects/pnet/sys/xen/xenbus/xenbus_xs.c Modified: projects/pnet/sys/arm/conf/AVILA ============================================================================== --- projects/pnet/sys/arm/conf/AVILA Fri May 29 10:52:37 2009 (r193030) +++ projects/pnet/sys/arm/conf/AVILA Fri May 29 12:50:35 2009 (r193031) @@ -132,15 +132,14 @@ device ath_ar5416 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 Modified: projects/pnet/sys/arm/xscale/ixp425/files.ixp425 ============================================================================== --- projects/pnet/sys/arm/xscale/ixp425/files.ixp425 Fri May 29 10:52:37 2009 (r193030) +++ projects/pnet/sys/arm/xscale/ixp425/files.ixp425 Fri May 29 12:50:35 2009 (r193031) @@ -47,4 +47,3 @@ IxNpeMicrocode.dat optional npe_fw \ 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 Modified: projects/pnet/sys/arm/xscale/ixp425/if_npe.c ============================================================================== --- projects/pnet/sys/arm/xscale/ixp425/if_npe.c Fri May 29 10:52:37 2009 (r193030) +++ projects/pnet/sys/arm/xscale/ixp425/if_npe.c Fri May 29 12:50:35 2009 (r193031) @@ -143,6 +143,7 @@ struct npe_softc { 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 @@ npe_attach(device_t dev) 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 @@ npe_ifmedia_status(struct ifnet *ifp, st 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 @@ npe_addstats(struct npe_softc *sc) 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 @@ npe_addstats(struct npe_softc *sc) be32toh(ns->dot3StatsSingleCollisionFrames) + be32toh(ns->dot3StatsMultipleCollisionFrames) ; +#undef NPEADD #undef MIBADD } Modified: projects/pnet/sys/boot/common/ufsread.c ============================================================================== --- projects/pnet/sys/boot/common/ufsread.c Fri May 29 10:52:37 2009 (r193030) +++ projects/pnet/sys/boot/common/ufsread.c Fri May 29 12:50:35 2009 (r193031) @@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #ifdef UFS_SMALL_CGBASE /* XXX: Revert to old (broken for over 1.5Tb filesystems) version of cgbase @@ -93,7 +94,7 @@ static __inline int fsfind(const char *name, ino_t * ino) { char buf[DEV_BSIZE]; - struct dirent *d; + struct direct *d; char *s; ssize_t n; @@ -104,7 +105,7 @@ fsfind(const char *name, ino_t * ino) if (ls) printf("%s ", d->d_name); else if (!strcmp(name, d->d_name)) { - *ino = d->d_fileno; + *ino = d->d_ino; return d->d_type; } s += d->d_reclen; Modified: projects/pnet/sys/boot/pc98/boot2/sys.c ============================================================================== --- projects/pnet/sys/boot/pc98/boot2/sys.c Fri May 29 10:52:37 2009 (r193030) +++ projects/pnet/sys/boot/pc98/boot2/sys.c Fri May 29 12:50:35 2009 (r193031) @@ -34,7 +34,7 @@ __FBSDID("$FreeBSD$"); */ #include "boot.h" -#include +#include #if 0 /* #define BUFSIZE 4096 */ @@ -142,7 +142,7 @@ find(char *path) { char *rest, ch; int block, off, loc, ino = ROOTINO; - struct dirent *dp; + struct direct *dp; char list_only; list_only = (path[0] == '?' && path[1] == '\0'); @@ -174,12 +174,12 @@ loop: devread(iobuf, fsbtodb(fs, block_map(block)) + boff, blksize(fs, &inode, block)); } - dp = (struct dirent *)(iobuf + off); + dp = (struct direct *)(iobuf + off); loc += dp->d_reclen; - if (dp->d_fileno && list_only) + if (dp->d_ino && list_only) printf("%s ", dp->d_name); - } while (!dp->d_fileno || strcmp(path, dp->d_name)); - ino = dp->d_fileno; + } while (!dp->d_ino || strcmp(path, dp->d_name)); + ino = dp->d_ino; *(path = rest) = ch; goto loop; } Copied: projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris_acl.c (from r193030, head/sys/cddl/compat/opensolaris/kern/opensolaris_acl.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris_acl.c Fri May 29 12:50:35 2009 (r193031, copy of r193030, head/sys/cddl/compat/opensolaris/kern/opensolaris_acl.c) @@ -0,0 +1,216 @@ +/*- + * Copyright (c) 2008, 2009 Edward Tomasz Napierała + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include + +struct zfs2bsd { + uint32_t zb_zfs; + int zb_bsd; +}; + +struct zfs2bsd perms[] = {{ACE_READ_DATA, ACL_READ_DATA}, + {ACE_WRITE_DATA, ACL_WRITE_DATA}, + {ACE_EXECUTE, ACL_EXECUTE}, + {ACE_APPEND_DATA, ACL_APPEND_DATA}, + {ACE_DELETE_CHILD, ACL_DELETE_CHILD}, + {ACE_DELETE, ACL_DELETE}, + {ACE_READ_ATTRIBUTES, ACL_READ_ATTRIBUTES}, + {ACE_WRITE_ATTRIBUTES, ACL_WRITE_ATTRIBUTES}, + {ACE_READ_NAMED_ATTRS, ACL_READ_NAMED_ATTRS}, + {ACE_WRITE_NAMED_ATTRS, ACL_WRITE_NAMED_ATTRS}, + {ACE_READ_ACL, ACL_READ_ACL}, + {ACE_WRITE_ACL, ACL_WRITE_ACL}, + {ACE_WRITE_OWNER, ACL_WRITE_OWNER}, + {ACE_SYNCHRONIZE, ACL_SYNCHRONIZE}, + {0, 0}}; + +struct zfs2bsd flags[] = {{ACE_FILE_INHERIT_ACE, + ACL_ENTRY_FILE_INHERIT}, + {ACE_DIRECTORY_INHERIT_ACE, + ACL_ENTRY_DIRECTORY_INHERIT}, + {ACE_NO_PROPAGATE_INHERIT_ACE, + ACL_ENTRY_NO_PROPAGATE_INHERIT}, + {ACE_INHERIT_ONLY_ACE, + ACL_ENTRY_INHERIT_ONLY}, + {ACE_SUCCESSFUL_ACCESS_ACE_FLAG, + ACL_ENTRY_SUCCESSFUL_ACCESS}, + {ACE_FAILED_ACCESS_ACE_FLAG, + ACL_ENTRY_FAILED_ACCESS}, + {0, 0}}; + +static int +_bsd_from_zfs(uint32_t zfs, const struct zfs2bsd *table) +{ + const struct zfs2bsd *tmp; + int bsd = 0; + + for (tmp = table; tmp->zb_zfs != 0; tmp++) { + if (zfs & tmp->zb_zfs) + bsd |= tmp->zb_bsd; + } + + return (bsd); +} + +static uint32_t +_zfs_from_bsd(int bsd, const struct zfs2bsd *table) +{ + const struct zfs2bsd *tmp; + uint32_t zfs = 0; + + for (tmp = table; tmp->zb_bsd != 0; tmp++) { + if (bsd & tmp->zb_bsd) + zfs |= tmp->zb_zfs; + } + + return (zfs); +} + +int +acl_from_aces(struct acl *aclp, const ace_t *aces, int nentries) +{ + int i; + struct acl_entry *entry; + const ace_t *ace; + + KASSERT(nentries >= 1, ("empty ZFS ACL")); + + if (nentries > ACL_MAX_ENTRIES) { + /* + * I believe it may happen only when moving a pool + * from SunOS to FreeBSD. + */ + printf("acl_from_aces: ZFS ACL too big to fit " + "into 'struct acl'; returning EINVAL.\n"); + return (EINVAL); + } + + bzero(aclp, sizeof(*aclp)); + aclp->acl_maxcnt = ACL_MAX_ENTRIES; + aclp->acl_cnt = nentries; + + for (i = 0; i < nentries; i++) { + entry = &(aclp->acl_entry[i]); + ace = &(aces[i]); + + if (ace->a_flags & ACE_OWNER) + entry->ae_tag = ACL_USER_OBJ; + else if (ace->a_flags & ACE_GROUP) + entry->ae_tag = ACL_GROUP_OBJ; + else if (ace->a_flags & ACE_EVERYONE) + entry->ae_tag = ACL_EVERYONE; + else if (ace->a_flags & ACE_IDENTIFIER_GROUP) + entry->ae_tag = ACL_GROUP; + else + entry->ae_tag = ACL_USER; + + if (entry->ae_tag == ACL_USER || entry->ae_tag == ACL_GROUP) + entry->ae_id = ace->a_who; + else + entry->ae_id = ACL_UNDEFINED_ID; + + entry->ae_perm = _bsd_from_zfs(ace->a_access_mask, perms); + entry->ae_flags = _bsd_from_zfs(ace->a_flags, flags); + + switch (ace->a_type) { + case ACE_ACCESS_ALLOWED_ACE_TYPE: + entry->ae_entry_type = ACL_ENTRY_TYPE_ALLOW; + break; + case ACE_ACCESS_DENIED_ACE_TYPE: + entry->ae_entry_type = ACL_ENTRY_TYPE_DENY; + break; + case ACE_SYSTEM_AUDIT_ACE_TYPE: + entry->ae_entry_type = ACL_ENTRY_TYPE_AUDIT; + break; + case ACE_SYSTEM_ALARM_ACE_TYPE: + entry->ae_entry_type = ACL_ENTRY_TYPE_ALARM; + break; + default: + panic("acl_from_aces: a_type is 0x%x", ace->a_type); + } + } + + return (0); +} + +void +aces_from_acl(ace_t *aces, int *nentries, const struct acl *aclp) +{ + int i; + const struct acl_entry *entry; + ace_t *ace; + + bzero(aces, sizeof(*aces) * aclp->acl_cnt); + + *nentries = aclp->acl_cnt; + + for (i = 0; i < aclp->acl_cnt; i++) { + entry = &(aclp->acl_entry[i]); + ace = &(aces[i]); + + ace->a_who = entry->ae_id; + + if (entry->ae_tag == ACL_USER_OBJ) + ace->a_flags = ACE_OWNER; + else if (entry->ae_tag == ACL_GROUP_OBJ) + ace->a_flags = (ACE_GROUP | ACE_IDENTIFIER_GROUP); + else if (entry->ae_tag == ACL_GROUP) + ace->a_flags = ACE_IDENTIFIER_GROUP; + else if (entry->ae_tag == ACL_EVERYONE) + ace->a_flags = ACE_EVERYONE; + else /* ACL_USER */ + ace->a_flags = 0; + + ace->a_access_mask = _zfs_from_bsd(entry->ae_perm, perms); + ace->a_flags |= _zfs_from_bsd(entry->ae_flags, flags); + + switch (entry->ae_entry_type) { + case ACL_ENTRY_TYPE_ALLOW: + ace->a_type = ACE_ACCESS_ALLOWED_ACE_TYPE; + break; + case ACL_ENTRY_TYPE_DENY: + ace->a_type = ACE_ACCESS_DENIED_ACE_TYPE; + break; + case ACL_ENTRY_TYPE_ALARM: + ace->a_type = ACE_SYSTEM_ALARM_ACE_TYPE; + break; + case ACL_ENTRY_TYPE_AUDIT: + ace->a_type = ACE_SYSTEM_AUDIT_ACE_TYPE; + break; + default: + panic("aces_from_acl: ae_entry_type is 0x%x", entry->ae_entry_type); + } + } +} Modified: projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris_policy.c ============================================================================== --- projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris_policy.c Fri May 29 10:52:37 2009 (r193030) +++ projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris_policy.c Fri May 29 12:50:35 2009 (r193031) @@ -302,6 +302,14 @@ secpolicy_setid_setsticky_clear(struct v 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); } Copied: projects/pnet/sys/cddl/compat/opensolaris/sys/acl.h (from r193030, head/sys/cddl/compat/opensolaris/sys/acl.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pnet/sys/cddl/compat/opensolaris/sys/acl.h Fri May 29 12:50:35 2009 (r193031, copy of r193030, head/sys/cddl/compat/opensolaris/sys/acl.h) @@ -0,0 +1,39 @@ +/*- + * Copyright (c) 2008, 2009 Edward Tomasz Napierała + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef OPENSOLARIS_SYS_ACL_H +#define OPENSOLARIS_SYS_ACL_H + +#include_next + +struct acl; + +void aces_from_acl(ace_t *aces, int *nentries, const struct acl *aclp); +int acl_from_aces(struct acl *aclp, const ace_t *aces, int nentries); + +#endif /* OPENSOLARIS_SYS_ACL_H */ Modified: projects/pnet/sys/cddl/compat/opensolaris/sys/mutex.h ============================================================================== --- projects/pnet/sys/cddl/compat/opensolaris/sys/mutex.h Fri May 29 10:52:37 2009 (r193030) +++ projects/pnet/sys/cddl/compat/opensolaris/sys/mutex.h Fri May 29 12:50:35 2009 (r193031) @@ -47,9 +47,9 @@ typedef enum { typedef struct sx kmutex_t; #ifndef DEBUG -#define MUTEX_FLAGS (SX_DUPOK | SX_NOWITNESS | SX_ADAPTIVESPIN) +#define MUTEX_FLAGS (SX_DUPOK | SX_NOWITNESS) #else -#define MUTEX_FLAGS (SX_DUPOK | SX_ADAPTIVESPIN) +#define MUTEX_FLAGS (SX_DUPOK) #endif #define mutex_init(lock, desc, type, arg) do { \ Modified: projects/pnet/sys/cddl/compat/opensolaris/sys/rwlock.h ============================================================================== --- projects/pnet/sys/cddl/compat/opensolaris/sys/rwlock.h Fri May 29 10:52:37 2009 (r193030) +++ projects/pnet/sys/cddl/compat/opensolaris/sys/rwlock.h Fri May 29 12:50:35 2009 (r193031) @@ -49,9 +49,9 @@ typedef enum { typedef struct sx krwlock_t; #ifndef DEBUG -#define RW_FLAGS (SX_DUPOK | SX_NOWITNESS | SX_ADAPTIVESPIN) +#define RW_FLAGS (SX_DUPOK | SX_NOWITNESS) #else -#define RW_FLAGS (SX_DUPOK | SX_ADAPTIVESPIN) +#define RW_FLAGS (SX_DUPOK) #endif #define RW_READ_HELD(x) (rw_read_held((x))) Modified: projects/pnet/sys/cddl/contrib/opensolaris/common/acl/acl_common.c ============================================================================== --- projects/pnet/sys/cddl/contrib/opensolaris/common/acl/acl_common.c Fri May 29 10:52:37 2009 (r193030) +++ projects/pnet/sys/cddl/contrib/opensolaris/common/acl/acl_common.c Fri May 29 12:50:35 2009 (r193031) @@ -424,7 +424,7 @@ cacl_free(void *ptr, size_t size) #endif } -#ifndef __FreeBSD__ +#if !defined(_KERNEL) acl_t * acl_alloc(enum acl_type type) { @@ -470,7 +470,6 @@ acl_free(acl_t *aclp) 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 @@ out: return (error); #endif } +#endif /* _KERNEL */ Modified: projects/pnet/sys/cddl/contrib/opensolaris/common/acl/acl_common.h ============================================================================== --- projects/pnet/sys/cddl/contrib/opensolaris/common/acl/acl_common.h Fri May 29 10:52:37 2009 (r193030) +++ projects/pnet/sys/cddl/contrib/opensolaris/common/acl/acl_common.h Fri May 29 12:50:35 2009 (r193031) @@ -46,6 +46,7 @@ extern int ace_trivial(ace_t *acep, int 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 @@ extern int acl_translate(acl_t *aclp, in void ksort(caddr_t v, int n, int s, int (*f)()); int cmp2acls(void *a, void *b); +#endif /* _KERNEL */ #ifdef __cplusplus } Modified: projects/pnet/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c ============================================================================== --- projects/pnet/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c Fri May 29 10:52:37 2009 (r193030) +++ projects/pnet/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c Fri May 29 12:50:35 2009 (r193031) @@ -122,6 +122,7 @@ #include #include #include +#include #include #include #include @@ -3168,14 +3169,11 @@ dtrace_dif_subr(uint_t subr, uint_t rd, 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 @@ dtrace_dif_subr(uint_t subr, uint_t rd, 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) */ Modified: projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_acl.h ============================================================================== --- projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_acl.h Fri May 29 10:52:37 2009 (r193030) +++ projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_acl.h Fri May 29 12:50:35 2009 (r193031) @@ -188,10 +188,8 @@ struct zfs_fuid_info; #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); Modified: projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c ============================================================================== --- projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c Fri May 29 10:52:37 2009 (r193030) +++ projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c Fri May 29 12:50:35 2009 (r193031) @@ -1909,7 +1909,6 @@ zfs_perm_init(znode_t *zp, znode_t *pare zfs_acl_free(aclp); } -#ifdef TODO /* * Retrieve a files ACL */ @@ -2005,7 +2004,6 @@ zfs_getacl(znode_t *zp, vsecattr_t *vsec return (0); } -#endif /* TODO */ int zfs_vsec_2_aclp(zfsvfs_t *zfsvfs, vtype_t obj_type, @@ -2062,7 +2060,6 @@ zfs_vsec_2_aclp(zfsvfs_t *zfsvfs, vtype_ return (0); } -#ifdef TODO /* * Set a files ACL */ @@ -2170,7 +2167,6 @@ done: return (error); } -#endif /* TODO */ /* * working_mode returns the permissions that were not granted Modified: projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c ============================================================================== --- projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Fri May 29 10:52:37 2009 (r193030) +++ projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Fri May 29 12:50:35 2009 (r193031) @@ -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 @@ zfs_pathconf(vnode_t *vp, int cmd, ulong } } -#ifdef TODO /*ARGSUSED*/ static int zfs_getsecattr(vnode_t *vp, vsecattr_t *vsecp, int flag, cred_t *cr, @@ -3864,9 +3863,7 @@ zfs_getsecattr(vnode_t *vp, vsecattr_t * 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_setsecattr(vnode_t *vp, vsecattr_t * ZFS_EXIT(zfsvfs); return (error); } -#endif /* TODO */ static int zfs_freebsd_open(ap) @@ -3963,7 +3959,7 @@ static int 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 @@ vop_listextattr { 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 @@ struct vop_vector zfs_vnodeops = { .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 @@ struct vop_vector zfs_fifoops = { .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 }; Modified: projects/pnet/sys/cddl/contrib/opensolaris/uts/common/rpc/xdr.h ============================================================================== --- projects/pnet/sys/cddl/contrib/opensolaris/uts/common/rpc/xdr.h Fri May 29 10:52:37 2009 (r193030) +++ projects/pnet/sys/cddl/contrib/opensolaris/uts/common/rpc/xdr.h Fri May 29 12:50:35 2009 (r193031) @@ -121,6 +121,7 @@ typedef struct XDR { * Changes must be reviewed by Solaris File Sharing * Changes must be communicated to contract-2003-523@sun.com */ +#ifndef __FreeBSD__ struct xdr_ops { #ifdef __STDC__ #if !defined(_KERNEL) @@ -168,6 +169,28 @@ struct xdr_ops { #endif }; +#else /* FreeBSD */ +struct xdr_ops { + /* get a long from underlying stream */ + bool_t (*x_getint32)(struct XDR *, int32_t *); + /* put a long to " */ + bool_t (*x_putint32)(struct XDR *, const int32_t *); + /* get some bytes from " */ + bool_t (*x_getbytes)(struct XDR *, char *, u_int); + /* put some bytes to " */ + bool_t (*x_putbytes)(struct XDR *, const char *, u_int); + /* returns bytes off from beginning */ + u_int (*x_getpostn)(struct XDR *); + /* lets you reposition the stream */ + bool_t (*x_setpostn)(struct XDR *, u_int); + /* buf quick ptr to buffered data */ + int32_t *(*x_inline)(struct XDR *, u_int); + /* free privates of this xdr_stream */ + void (*x_destroy)(struct XDR *); + bool_t (*x_control)(struct XDR *, int, void *); +}; +#endif + /* * Operations defined on a XDR handle * Modified: projects/pnet/sys/cddl/contrib/opensolaris/uts/common/sys/acl.h ============================================================================== --- projects/pnet/sys/cddl/contrib/opensolaris/uts/common/sys/acl.h Fri May 29 10:52:37 2009 (r193030) +++ projects/pnet/sys/cddl/contrib/opensolaris/uts/common/sys/acl.h Fri May 29 12:50:35 2009 (r193031) @@ -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 @@ typedef struct ace { 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. Modified: projects/pnet/sys/cddl/contrib/opensolaris/uts/common/sys/acl_impl.h ============================================================================== --- projects/pnet/sys/cddl/contrib/opensolaris/uts/common/sys/acl_impl.h Fri May 29 10:52:37 2009 (r193030) +++ projects/pnet/sys/cddl/contrib/opensolaris/uts/common/sys/acl_impl.h Fri May 29 12:50:35 2009 (r193031) @@ -44,10 +44,10 @@ extern "C" { 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 */ Modified: projects/pnet/sys/compat/freebsd32/freebsd32_misc.c ============================================================================== --- projects/pnet/sys/compat/freebsd32/freebsd32_misc.c Fri May 29 10:52:37 2009 (r193030) +++ projects/pnet/sys/compat/freebsd32/freebsd32_misc.c Fri May 29 12:50:35 2009 (r193031) @@ -112,8 +112,6 @@ CTASSERT(sizeof(struct msghdr32) == 28); 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 @@ freebsd32_sysctl(struct thread *td, stru int freebsd32_jail(struct thread *td, struct freebsd32_jail_args *uap) { - struct iovec optiov[10]; - struct uio opt; - char *u_path, *u_hostname, *u_name; -#ifdef INET - struct in_addr *u_ip4; -#endif -#ifdef INET6 - struct in6_addr *u_ip6; -#endif uint32_t version; int error; + struct jail j; *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***