Date: Tue, 2 Feb 2016 22:27:48 +0000 (UTC) From: Glen Barber <gjb@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r295172 - in projects/release-pkg: . bin/csh bin/sh bin/test cddl/contrib/opensolaris/lib/libzfs/common contrib/libucl/tests contrib/libxo contrib/ofed/librdmacm/examples/build/cmatose ... Message-ID: <201602022227.u12MRmuV077084@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: gjb Date: Tue Feb 2 22:27:48 2016 New Revision: 295172 URL: https://svnweb.freebsd.org/changeset/base/295172 Log: MFH Sponsored by: The FreeBSD Foundation Added: projects/release-pkg/lib/libc/tests/gen/dlopen_empty_test.c - copied unchanged from r295171, head/lib/libc/tests/gen/dlopen_empty_test.c projects/release-pkg/sbin/nvmecontrol/power.c - copied unchanged from r295171, head/sbin/nvmecontrol/power.c projects/release-pkg/sys/arm/arm/swtch-v4.S - copied unchanged from r295171, head/sys/arm/arm/swtch-v4.S projects/release-pkg/sys/arm/arm/swtch-v6.S - copied unchanged from r295171, head/sys/arm/arm/swtch-v6.S projects/release-pkg/sys/boot/fdt/dts/riscv/ - copied from r295171, head/sys/boot/fdt/dts/riscv/ projects/release-pkg/sys/boot/ficl/riscv/ - copied from r295171, head/sys/boot/ficl/riscv/ projects/release-pkg/sys/conf/Makefile.riscv - copied unchanged from r295171, head/sys/conf/Makefile.riscv projects/release-pkg/sys/conf/files.riscv - copied unchanged from r295171, head/sys/conf/files.riscv projects/release-pkg/sys/conf/ldscript.riscv - copied unchanged from r295171, head/sys/conf/ldscript.riscv projects/release-pkg/sys/conf/options.riscv - copied unchanged from r295171, head/sys/conf/options.riscv projects/release-pkg/sys/dev/hwpmc/hwpmc_riscv.h - copied unchanged from r295171, head/sys/dev/hwpmc/hwpmc_riscv.h projects/release-pkg/sys/riscv/conf/ - copied from r295171, head/sys/riscv/conf/ projects/release-pkg/sys/riscv/htif/ - copied from r295171, head/sys/riscv/htif/ projects/release-pkg/sys/riscv/riscv/ - copied from r295171, head/sys/riscv/riscv/ projects/release-pkg/tools/tools/nanobsd/embedded/qemu-amd64-uefi-bios.cfg - copied unchanged from r295171, head/tools/tools/nanobsd/embedded/qemu-amd64-uefi-bios.cfg projects/release-pkg/tools/tools/nanobsd/embedded/qemu-amd64-uefi.cfg - copied unchanged from r295171, head/tools/tools/nanobsd/embedded/qemu-amd64-uefi.cfg Deleted: projects/release-pkg/contrib/libucl/tests/.gitignore projects/release-pkg/contrib/libxo/.gitignore projects/release-pkg/contrib/unbound/.gitignore projects/release-pkg/sys/arm/arm/cpufunc_asm_arm10.S Modified: projects/release-pkg/Makefile projects/release-pkg/Makefile.inc1 projects/release-pkg/UPDATING projects/release-pkg/bin/csh/iconv_stub.c projects/release-pkg/bin/sh/redir.c projects/release-pkg/bin/sh/sh.1 projects/release-pkg/bin/test/test.c projects/release-pkg/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_config.c projects/release-pkg/contrib/ofed/librdmacm/examples/build/cmatose/Makefile projects/release-pkg/contrib/ofed/librdmacm/examples/build/mckey/Makefile projects/release-pkg/contrib/ofed/librdmacm/examples/build/udaddy/Makefile projects/release-pkg/contrib/openresolv/Makefile projects/release-pkg/contrib/openresolv/resolvconf.8.in projects/release-pkg/contrib/openresolv/resolvconf.conf.5.in projects/release-pkg/contrib/openresolv/resolvconf.in projects/release-pkg/contrib/openresolv/unbound.in projects/release-pkg/contrib/smbfs/smbutil/print.c projects/release-pkg/crypto/openssh/sshd_config projects/release-pkg/crypto/openssh/sshd_config.5 projects/release-pkg/lib/libc/tests/gen/Makefile projects/release-pkg/lib/libsysdecode/syscallnames.c projects/release-pkg/lib/libsysdecode/sysdecode.3 projects/release-pkg/lib/libsysdecode/sysdecode.h projects/release-pkg/libexec/atrun/atrun.c projects/release-pkg/libexec/rtld-elf/map_object.c projects/release-pkg/sbin/nvmecontrol/Makefile projects/release-pkg/sbin/nvmecontrol/nvmecontrol.8 projects/release-pkg/sbin/nvmecontrol/nvmecontrol.c projects/release-pkg/sbin/nvmecontrol/nvmecontrol.h projects/release-pkg/sbin/pfctl/pf_print_state.c projects/release-pkg/sbin/rcorder/rcorder.c projects/release-pkg/sbin/swapon/swapon.c projects/release-pkg/sys/arm/annapurna/alpine/alpine_machdep.c projects/release-pkg/sys/arm/arm/cpufunc.c projects/release-pkg/sys/arm/arm/cpufunc_asm.S projects/release-pkg/sys/arm/arm/cpufunc_asm_arm11.S projects/release-pkg/sys/arm/arm/cpufunc_asm_arm11x6.S projects/release-pkg/sys/arm/arm/cpufunc_asm_armv4.S projects/release-pkg/sys/arm/arm/cpufunc_asm_fa526.S projects/release-pkg/sys/arm/arm/db_interface.c projects/release-pkg/sys/arm/arm/devmap.c projects/release-pkg/sys/arm/arm/elf_trampoline.c projects/release-pkg/sys/arm/arm/genassym.c projects/release-pkg/sys/arm/arm/machdep.c projects/release-pkg/sys/arm/arm/mp_machdep.c projects/release-pkg/sys/arm/arm/pmap-v6.c projects/release-pkg/sys/arm/arm/pmap.c projects/release-pkg/sys/arm/arm/swtch.S projects/release-pkg/sys/arm/include/cpufunc.h projects/release-pkg/sys/arm/include/param.h projects/release-pkg/sys/arm/include/pmap-v6.h projects/release-pkg/sys/arm/include/pmap.h projects/release-pkg/sys/arm/include/smp.h projects/release-pkg/sys/arm/include/vm.h projects/release-pkg/sys/arm/mv/armadaxp/armadaxp.c projects/release-pkg/sys/arm/mv/armadaxp/armadaxp_mp.c projects/release-pkg/sys/arm/mv/mv_common.c projects/release-pkg/sys/arm/mv/mv_machdep.c projects/release-pkg/sys/arm/mv/orion/db88f5xxx.c projects/release-pkg/sys/arm/ti/omap4/pandaboard/pandaboard.c projects/release-pkg/sys/arm/ti/ti_cpuid.c projects/release-pkg/sys/arm/versatile/versatile_machdep.c projects/release-pkg/sys/arm64/arm64/copystr.c projects/release-pkg/sys/arm64/arm64/genassym.c projects/release-pkg/sys/arm64/arm64/gic_fdt.c projects/release-pkg/sys/arm64/arm64/intr_machdep.c projects/release-pkg/sys/arm64/arm64/locore.S projects/release-pkg/sys/arm64/arm64/machdep.c projects/release-pkg/sys/arm64/arm64/mp_machdep.c projects/release-pkg/sys/arm64/arm64/pmap.c projects/release-pkg/sys/arm64/arm64/swtch.S projects/release-pkg/sys/arm64/arm64/trap.c projects/release-pkg/sys/arm64/include/armreg.h projects/release-pkg/sys/arm64/include/pcb.h projects/release-pkg/sys/arm64/include/pmap.h projects/release-pkg/sys/boot/efi/libefi/efinet.c projects/release-pkg/sys/cam/scsi/scsi_pass.c projects/release-pkg/sys/cam/scsi/scsi_sa.c projects/release-pkg/sys/cddl/compat/opensolaris/sys/atomic.h projects/release-pkg/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c projects/release-pkg/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c projects/release-pkg/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h projects/release-pkg/sys/conf/Makefile.arm projects/release-pkg/sys/conf/NOTES projects/release-pkg/sys/conf/files.arm projects/release-pkg/sys/conf/kern.mk projects/release-pkg/sys/conf/kern.post.mk projects/release-pkg/sys/conf/kern.pre.mk projects/release-pkg/sys/conf/options.mips projects/release-pkg/sys/contrib/ipfilter/netinet/ip_compat.h projects/release-pkg/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c (contents, props changed) projects/release-pkg/sys/dev/bwn/if_bwn.c projects/release-pkg/sys/dev/e1000/if_em.c projects/release-pkg/sys/dev/ed/if_ed.c projects/release-pkg/sys/dev/ep/if_ep.c projects/release-pkg/sys/dev/fe/if_fe.c projects/release-pkg/sys/dev/fxp/if_fxp.c projects/release-pkg/sys/dev/iicbus/iic.c projects/release-pkg/sys/dev/iscsi_initiator/isc_cam.c projects/release-pkg/sys/dev/iscsi_initiator/isc_sm.c projects/release-pkg/sys/dev/iscsi_initiator/isc_soc.c projects/release-pkg/sys/dev/iscsi_initiator/isc_subr.c projects/release-pkg/sys/dev/iscsi_initiator/iscsi_subr.c projects/release-pkg/sys/dev/ixgbe/if_ix.c projects/release-pkg/sys/dev/ixgbe/ixgbe_common.c projects/release-pkg/sys/dev/ixgbe/ixgbe_phy.c projects/release-pkg/sys/dev/ixgbe/ixgbe_type.h projects/release-pkg/sys/dev/ixgbe/ixgbe_x540.c projects/release-pkg/sys/dev/ixgbe/ixgbe_x550.c projects/release-pkg/sys/dev/ixl/if_ixl.c projects/release-pkg/sys/dev/le/lance.c projects/release-pkg/sys/dev/malo/if_malo.c projects/release-pkg/sys/dev/md/md.c projects/release-pkg/sys/dev/mps/mps_mapping.c projects/release-pkg/sys/dev/mps/mps_sas.c projects/release-pkg/sys/dev/netmap/netmap_offloadings.c projects/release-pkg/sys/dev/nvme/nvme.h projects/release-pkg/sys/dev/oce/oce_if.h projects/release-pkg/sys/dev/otus/if_otus.c projects/release-pkg/sys/dev/sfxge/sfxge_rx.c projects/release-pkg/sys/dev/sfxge/sfxge_tx.c projects/release-pkg/sys/dev/sn/if_sn.c projects/release-pkg/sys/dev/tx/if_tx.c projects/release-pkg/sys/dev/usb/controller/ehcireg.h projects/release-pkg/sys/dev/usb/wlan/if_rsu.c projects/release-pkg/sys/dev/wi/if_wi.c projects/release-pkg/sys/dev/wi/if_wi_pci.c projects/release-pkg/sys/dev/xe/if_xe.c projects/release-pkg/sys/dev/xl/if_xl.c projects/release-pkg/sys/kern/kern_ktr.c projects/release-pkg/sys/kern/subr_mchain.c projects/release-pkg/sys/kern/uipc_debug.c projects/release-pkg/sys/kern/uipc_sockbuf.c projects/release-pkg/sys/kern/uipc_socket.c projects/release-pkg/sys/kgssapi/krb5/kcrypto_aes.c projects/release-pkg/sys/mips/conf/AR933X_BASE projects/release-pkg/sys/mips/conf/AR934X_BASE projects/release-pkg/sys/mips/conf/QCA955X_BASE projects/release-pkg/sys/mips/include/asm.h projects/release-pkg/sys/mips/include/cpufunc.h projects/release-pkg/sys/mips/include/cpuregs.h projects/release-pkg/sys/mips/rt305x/std.rt305x projects/release-pkg/sys/net/bridgestp.c projects/release-pkg/sys/net/if_epair.c projects/release-pkg/sys/net/if_mib.c projects/release-pkg/sys/net/netisr.c projects/release-pkg/sys/net/pfvar.h projects/release-pkg/sys/net80211/ieee80211.c projects/release-pkg/sys/net80211/ieee80211_acl.c projects/release-pkg/sys/net80211/ieee80211_action.c projects/release-pkg/sys/net80211/ieee80211_ageq.c projects/release-pkg/sys/net80211/ieee80211_amrr.c projects/release-pkg/sys/net80211/ieee80211_crypto_none.c projects/release-pkg/sys/net80211/ieee80211_ddb.c projects/release-pkg/sys/net80211/ieee80211_freebsd.c projects/release-pkg/sys/net80211/ieee80211_ht.c projects/release-pkg/sys/net80211/ieee80211_ioctl.c projects/release-pkg/sys/net80211/ieee80211_output.c projects/release-pkg/sys/net80211/ieee80211_power.c projects/release-pkg/sys/net80211/ieee80211_proto.c projects/release-pkg/sys/net80211/ieee80211_scan.c projects/release-pkg/sys/net80211/ieee80211_scan_sta.c projects/release-pkg/sys/net80211/ieee80211_scan_sw.c projects/release-pkg/sys/net80211/ieee80211_xauth.c projects/release-pkg/sys/netgraph/netflow/netflow.c projects/release-pkg/sys/netgraph/netflow/netflow_v9.c projects/release-pkg/sys/netgraph/netflow/ng_netflow.c projects/release-pkg/sys/netgraph/ng_base.c projects/release-pkg/sys/netinet/in_proto.c projects/release-pkg/sys/netinet/sctp_input.c projects/release-pkg/sys/netinet/sctp_output.c projects/release-pkg/sys/netinet/sctp_output.h projects/release-pkg/sys/netinet/sctp_sysctl.c projects/release-pkg/sys/netinet/sctp_uio.h projects/release-pkg/sys/netinet/sctp_var.h projects/release-pkg/sys/netinet/tcp_lro.c projects/release-pkg/sys/netinet/toecore.c projects/release-pkg/sys/netinet6/in6_proto.c projects/release-pkg/sys/netinet6/send.c projects/release-pkg/sys/netipsec/ipsec_mbuf.c projects/release-pkg/sys/netipsec/key_debug.c projects/release-pkg/sys/netpfil/ipfw/ip_fw_log.c projects/release-pkg/sys/powerpc/fpu/fpu_emu.c projects/release-pkg/sys/powerpc/fpu/fpu_emu.h projects/release-pkg/sys/powerpc/fpu/fpu_extern.h projects/release-pkg/sys/powerpc/include/reg.h projects/release-pkg/sys/powerpc/powerpc/exec_machdep.c projects/release-pkg/sys/powerpc/powerpc/nexus.c projects/release-pkg/sys/rpc/replay.c projects/release-pkg/sys/sys/cdefs.h projects/release-pkg/sys/sys/kerneldump.h projects/release-pkg/sys/sys/socketvar.h projects/release-pkg/sys/tools/embed_mfs.sh projects/release-pkg/tests/sys/geom/class/gate/1_test.sh projects/release-pkg/tools/tools/nanobsd/defaults.sh projects/release-pkg/tools/tools/nanobsd/embedded/README projects/release-pkg/tools/tools/nanobsd/embedded/common projects/release-pkg/usr.bin/kdump/kdump.c projects/release-pkg/usr.bin/netstat/inet.c projects/release-pkg/usr.bin/netstat/sctp.c projects/release-pkg/usr.bin/netstat/unix.c projects/release-pkg/usr.bin/truss/aarch64-cloudabi64.c projects/release-pkg/usr.bin/truss/aarch64-freebsd.c projects/release-pkg/usr.bin/truss/amd64-cloudabi64.c projects/release-pkg/usr.bin/truss/amd64-freebsd.c projects/release-pkg/usr.bin/truss/amd64-freebsd32.c projects/release-pkg/usr.bin/truss/amd64-linux32.c projects/release-pkg/usr.bin/truss/arm-freebsd.c projects/release-pkg/usr.bin/truss/i386-freebsd.c projects/release-pkg/usr.bin/truss/i386-linux.c projects/release-pkg/usr.bin/truss/mips-freebsd.c projects/release-pkg/usr.bin/truss/powerpc-freebsd.c projects/release-pkg/usr.bin/truss/powerpc64-freebsd.c projects/release-pkg/usr.bin/truss/powerpc64-freebsd32.c projects/release-pkg/usr.bin/truss/sparc64-freebsd.c projects/release-pkg/usr.sbin/bsdconfig/bsdconfig projects/release-pkg/usr.sbin/bsdconfig/networking/share/media.subr projects/release-pkg/usr.sbin/bsdconfig/networking/share/resolv.subr projects/release-pkg/usr.sbin/bsdconfig/share/device.subr projects/release-pkg/usr.sbin/bsdconfig/share/strings.subr projects/release-pkg/usr.sbin/bsdinstall/scripts/zfsboot projects/release-pkg/usr.sbin/sysrc/sysrc projects/release-pkg/usr.sbin/sysrc/sysrc.8 Directory Properties: projects/release-pkg/ (props changed) projects/release-pkg/cddl/ (props changed) projects/release-pkg/cddl/contrib/opensolaris/ (props changed) projects/release-pkg/cddl/contrib/opensolaris/lib/libzfs/ (props changed) projects/release-pkg/contrib/libucl/ (props changed) projects/release-pkg/contrib/openresolv/ (props changed) projects/release-pkg/contrib/unbound/ (props changed) projects/release-pkg/crypto/openssh/ (props changed) projects/release-pkg/lib/libc/ (props changed) projects/release-pkg/sbin/ (props changed) projects/release-pkg/sys/ (props changed) projects/release-pkg/sys/boot/ (props changed) projects/release-pkg/sys/cddl/contrib/opensolaris/ (props changed) projects/release-pkg/sys/conf/ (props changed) projects/release-pkg/sys/contrib/ipfilter/ (props changed) Modified: projects/release-pkg/Makefile ============================================================================== --- projects/release-pkg/Makefile Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/Makefile Tue Feb 2 22:27:48 2016 (r295172) @@ -137,6 +137,7 @@ TGTS+= ${BITGTS} .ORDER: buildworld installworld .ORDER: buildworld distributeworld .ORDER: buildworld buildkernel +.ORDER: installworld distribution .ORDER: buildkernel installkernel .ORDER: buildkernel installkernel.debug .ORDER: buildkernel reinstallkernel @@ -329,7 +330,7 @@ bmake: .PHONY ${MMAKE} all; \ ${MMAKE} install DESTDIR=${MYMAKE:H} BINDIR= -tinderbox toolchains kernel-toolchains: upgrade_checks +tinderbox toolchains kernel-toolchains kernels worlds: upgrade_checks tinderbox: @cd ${.CURDIR}; ${SUB_MAKE} DOING_TINDERBOX=YES universe @@ -340,6 +341,12 @@ toolchains: kernel-toolchains: @cd ${.CURDIR}; ${SUB_MAKE} UNIVERSE_TARGET=kernel-toolchain universe +kernels: + @cd ${.CURDIR}; ${SUB_MAKE} UNIVERSE_TARGET=buildkernel universe + +worlds: + @cd ${.CURDIR}; ${SUB_MAKE} UNIVERSE_TARGET=buildworld universe + # # universe # Modified: projects/release-pkg/Makefile.inc1 ============================================================================== --- projects/release-pkg/Makefile.inc1 Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/Makefile.inc1 Tue Feb 2 22:27:48 2016 (r295172) @@ -72,7 +72,7 @@ SRCDIR?= ${.CURDIR} SUBDIR= ${SUBDIR_OVERRIDE} .else SUBDIR= lib libexec -.if make(install*) +.if !defined(NO_ROOT) && (make(installworld) || make(install)) # Ensure libraries are installed before progressing. SUBDIR+=.WAIT .endif @@ -127,7 +127,7 @@ SUBDIR+= ${_DIR} # by calling 'makedb' in share/man. This is only relevant for # install/distribute so they build the whatis file after every manpage is # installed. -.if make(install*) +.if make(installworld) || make(install) SUBDIR+=.WAIT .endif SUBDIR+=etc @@ -1125,9 +1125,7 @@ distrib-dirs: .MAKE .PHONY ${_+_}cd ${.CURDIR}/etc; ${CROSSENV} PATH=${TMPPATH} ${MAKE} \ ${IMAKE_INSTALL} ${IMAKE_MTREE} METALOG=${METALOG} ${.TARGET} -distribution: .MAKE .PHONY - ${_+_}cd ${.CURDIR}/etc; ${CROSSENV} PATH=${TMPPATH} ${MAKE} \ - ${IMAKE_INSTALL} ${IMAKE_MTREE} METALOG=${METALOG} ${.TARGET} +distribution: distrib-dirs .MAKE .PHONY ${_+_}cd ${.CURDIR}; ${CROSSENV} PATH=${TMPPATH} \ ${MAKE} -f Makefile.inc1 ${IMAKE_INSTALL} \ METALOG=${METALOG} installconfig Modified: projects/release-pkg/UPDATING ============================================================================== --- projects/release-pkg/UPDATING Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/UPDATING Tue Feb 2 22:27:48 2016 (r295172) @@ -31,6 +31,13 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20160129: + Building ZFS pools on top of zvols is prohibited by default. That + feature has never worked safely; it's always been prone to deadlocks. + Using a zvol as the backing store for a VM guest's virtual disk will + still work, even if the guest is using ZFS. Legacy behavior can be + restored by setting vfs.zfs.vol.recursive=1. + 20160119: The NONE and HPN patches has been removed from OpenSSH. They are still available in the security/openssh-portable port. Modified: projects/release-pkg/bin/csh/iconv_stub.c ============================================================================== --- projects/release-pkg/bin/csh/iconv_stub.c Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/bin/csh/iconv_stub.c Tue Feb 2 22:27:48 2016 (r295172) @@ -36,9 +36,9 @@ #undef iconv_close #define ICONVLIB "libiconv.so" -#define ICONV_ENGINE "iconv" -#define ICONV_OPEN "iconv_open" -#define ICONV_CLOSE "iconv_close" +#define ICONV_ENGINE "libiconv" +#define ICONV_OPEN "libiconv_open" +#define ICONV_CLOSE "libiconv_close" typedef iconv_t iconv_open_t(const char *, const char *); Modified: projects/release-pkg/bin/sh/redir.c ============================================================================== --- projects/release-pkg/bin/sh/redir.c Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/bin/sh/redir.c Tue Feb 2 22:27:48 2016 (r295172) @@ -70,6 +70,7 @@ struct redirtab { struct redirtab *next; int renamed[10]; int fd0_redirected; + unsigned int empty_redirs; }; @@ -82,6 +83,9 @@ static struct redirtab *redirlist; */ static int fd0_redirected = 0; +/* Number of redirtabs that have not been allocated. */ +static unsigned int empty_redirs = 0; + static void openredirect(union node *, char[10 ]); static int openhere(union node *); @@ -115,12 +119,17 @@ redirect(union node *redir, int flags) memory[i] = 0; memory[1] = flags & REDIR_BACKQ; if (flags & REDIR_PUSH) { - sv = ckmalloc(sizeof (struct redirtab)); - for (i = 0 ; i < 10 ; i++) - sv->renamed[i] = EMPTY; - sv->fd0_redirected = fd0_redirected; - sv->next = redirlist; - redirlist = sv; + empty_redirs++; + if (redir != NULL) { + sv = ckmalloc(sizeof (struct redirtab)); + for (i = 0 ; i < 10 ; i++) + sv->renamed[i] = EMPTY; + sv->fd0_redirected = fd0_redirected; + sv->empty_redirs = empty_redirs - 1; + sv->next = redirlist; + redirlist = sv; + empty_redirs = 0; + } } for (n = redir ; n ; n = n->nfile.next) { fd = n->nfile.fd; @@ -303,6 +312,12 @@ popredir(void) struct redirtab *rp = redirlist; int i; + INTOFF; + if (empty_redirs > 0) { + empty_redirs--; + INTON; + return; + } for (i = 0 ; i < 10 ; i++) { if (rp->renamed[i] != EMPTY) { if (rp->renamed[i] >= 0) { @@ -313,8 +328,8 @@ popredir(void) } } } - INTOFF; fd0_redirected = rp->fd0_redirected; + empty_redirs = rp->empty_redirs; redirlist = rp->next; ckfree(rp); INTON; Modified: projects/release-pkg/bin/sh/sh.1 ============================================================================== --- projects/release-pkg/bin/sh/sh.1 Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/bin/sh/sh.1 Tue Feb 2 22:27:48 2016 (r295172) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd August 29, 2015 +.Dd January 30, 2016 .Dt SH 1 .Os .Sh NAME @@ -1952,13 +1952,20 @@ Execute the specified built-in command, This is useful when the user wishes to override a shell function with the same name as a built-in command. .It Ic cd Oo Fl L | P Oc Oo Fl e Oc Op Ar directory +.It Ic cd Fl Switch to the specified .Ar directory , -or to the directory specified in the +to the directory specified in the .Va HOME environment variable if no .Ar directory -is specified. +is specified or +to the directory specified in the +.Va OLDPWD +environment variable if +.Ar directory +is +.Fl . If .Ar directory does not begin with @@ -1982,10 +1989,12 @@ the .Ic cd command will print out the name of the directory that it actually switched to -if this is different from the name that the user gave. -These may be different either because the +if the .Va CDPATH -mechanism was used or because a symbolic link was crossed. +mechanism was used or if +.Ar directory +was +.Fl . .Pp If the .Fl P @@ -2774,6 +2783,10 @@ Initialization file for interactive shel Locale settings. These are inherited by children of the shell, and is used in a limited manner by the shell itself. +.It Ev OLDPWD +The previous current directory. +This is used and updated by +.Ic cd . .It Ev PWD An absolute pathname for the current directory, possibly containing symbolic links. Modified: projects/release-pkg/bin/test/test.c ============================================================================== --- projects/release-pkg/bin/test/test.c Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/bin/test/test.c Tue Feb 2 22:27:48 2016 (r295172) @@ -120,51 +120,53 @@ enum token { #define TOKEN_TYPE(token) ((token) & 0xff00) -static struct t_op { - char op_text[4]; +static const struct t_op { + char op_text[2]; short op_num; -} const ops [] = { - {"-r", FILRD}, - {"-w", FILWR}, - {"-x", FILEX}, - {"-e", FILEXIST}, - {"-f", FILREG}, - {"-d", FILDIR}, - {"-c", FILCDEV}, - {"-b", FILBDEV}, - {"-p", FILFIFO}, - {"-u", FILSUID}, - {"-g", FILSGID}, - {"-k", FILSTCK}, - {"-s", FILGZ}, - {"-t", FILTT}, - {"-z", STREZ}, - {"-n", STRNZ}, - {"-h", FILSYM}, /* for backwards compat */ - {"-O", FILUID}, - {"-G", FILGID}, - {"-L", FILSYM}, - {"-S", FILSOCK}, +} ops1[] = { {"=", STREQ}, - {"==", STREQ}, - {"!=", STRNE}, {"<", STRLT}, {">", STRGT}, - {"-eq", INTEQ}, - {"-ne", INTNE}, - {"-ge", INTGE}, - {"-gt", INTGT}, - {"-le", INTLE}, - {"-lt", INTLT}, - {"-nt", FILNT}, - {"-ot", FILOT}, - {"-ef", FILEQ}, {"!", UNOT}, - {"-a", BAND}, - {"-o", BOR}, {"(", LPAREN}, {")", RPAREN}, - {"", 0} +}, opsm1[] = { + {"r", FILRD}, + {"w", FILWR}, + {"x", FILEX}, + {"e", FILEXIST}, + {"f", FILREG}, + {"d", FILDIR}, + {"c", FILCDEV}, + {"b", FILBDEV}, + {"p", FILFIFO}, + {"u", FILSUID}, + {"g", FILSGID}, + {"k", FILSTCK}, + {"s", FILGZ}, + {"t", FILTT}, + {"z", STREZ}, + {"n", STRNZ}, + {"h", FILSYM}, /* for backwards compat */ + {"O", FILUID}, + {"G", FILGID}, + {"L", FILSYM}, + {"S", FILSOCK}, + {"a", BAND}, + {"o", BOR}, +}, ops2[] = { + {"==", STREQ}, + {"!=", STRNE}, +}, opsm2[] = { + {"eq", INTEQ}, + {"ne", INTNE}, + {"ge", INTGE}, + {"gt", INTGT}, + {"le", INTLE}, + {"lt", INTLT}, + {"nt", FILNT}, + {"ot", FILOT}, + {"ef", FILEQ}, }; static int nargc; @@ -416,35 +418,71 @@ filstat(char *nm, enum token mode) } } -static enum token -t_lex(char *s) +static int +find_op_1char(const struct t_op *op, const struct t_op *end, const char *s) { - struct t_op const *op = ops; + char c; - if (s == 0) { - return EOI; + c = s[0]; + while (op != end) { + if (c == *op->op_text) + return op->op_num; + op++; } - while (*op->op_text) { - if (strcmp(s, op->op_text) == 0) { - if (((TOKEN_TYPE(op->op_num) == UNOP || - TOKEN_TYPE(op->op_num) == BUNOP) - && isunopoperand()) || - (op->op_num == LPAREN && islparenoperand()) || - (op->op_num == RPAREN && isrparenoperand())) - break; + return OPERAND; +} + +static int +find_op_2char(const struct t_op *op, const struct t_op *end, const char *s) +{ + while (op != end) { + if (s[0] == op->op_text[0] && s[1] == op->op_text[1]) return op->op_num; - } op++; } return OPERAND; } static int +find_op(const char *s) +{ + if (s[0] == '\0') + return OPERAND; + else if (s[1] == '\0') + return find_op_1char(ops1, (&ops1)[1], s); + else if (s[2] == '\0') + return s[0] == '-' ? find_op_1char(opsm1, (&opsm1)[1], s + 1) : + find_op_2char(ops2, (&ops2)[1], s); + else if (s[3] == '\0') + return s[0] == '-' ? find_op_2char(opsm2, (&opsm2)[1], s + 1) : + OPERAND; + else + return OPERAND; +} + +static enum token +t_lex(char *s) +{ + int num; + + if (s == 0) { + return EOI; + } + num = find_op(s); + if (((TOKEN_TYPE(num) == UNOP || TOKEN_TYPE(num) == BUNOP) + && isunopoperand()) || + (num == LPAREN && islparenoperand()) || + (num == RPAREN && isrparenoperand())) + return OPERAND; + return num; +} + +static int isunopoperand(void) { - struct t_op const *op = ops; char *s; char *t; + int num; if (nargc == 1) return 1; @@ -452,20 +490,16 @@ isunopoperand(void) if (nargc == 2) return parenlevel == 1 && strcmp(s, ")") == 0; t = *(t_wp + 2); - while (*op->op_text) { - if (strcmp(s, op->op_text) == 0) - return TOKEN_TYPE(op->op_num) == BINOP && - (parenlevel == 0 || t[0] != ')' || t[1] != '\0'); - op++; - } - return 0; + num = find_op(s); + return TOKEN_TYPE(num) == BINOP && + (parenlevel == 0 || t[0] != ')' || t[1] != '\0'); } static int islparenoperand(void) { - struct t_op const *op = ops; char *s; + int num; if (nargc == 1) return 1; @@ -474,12 +508,8 @@ islparenoperand(void) return parenlevel == 1 && strcmp(s, ")") == 0; if (nargc != 3) return 0; - while (*op->op_text) { - if (strcmp(s, op->op_text) == 0) - return TOKEN_TYPE(op->op_num) == BINOP; - op++; - } - return 0; + num = find_op(s); + return TOKEN_TYPE(num) == BINOP; } static int Modified: projects/release-pkg/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_config.c ============================================================================== --- projects/release-pkg/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_config.c Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_config.c Tue Feb 2 22:27:48 2016 (r295172) @@ -26,6 +26,7 @@ /* * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright (c) 2015 by Syneto S.R.L. All rights reserved. */ /* @@ -246,8 +247,9 @@ zpool_get_features(zpool_handle_t *zhp) config = zpool_get_config(zhp, NULL); } - verify(nvlist_lookup_nvlist(config, ZPOOL_CONFIG_FEATURE_STATS, - &features) == 0); + if (nvlist_lookup_nvlist(config, ZPOOL_CONFIG_FEATURE_STATS, + &features) != 0) + return (NULL); return (features); } Modified: projects/release-pkg/contrib/ofed/librdmacm/examples/build/cmatose/Makefile ============================================================================== --- projects/release-pkg/contrib/ofed/librdmacm/examples/build/cmatose/Makefile Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/contrib/ofed/librdmacm/examples/build/cmatose/Makefile Tue Feb 2 22:27:48 2016 (r295172) @@ -5,7 +5,6 @@ PROG= cmatose MAN= SRCS= cmatose.c -LDADD+= -libverbs -lrdmacm -lpthread -LDADD+= -lmlx4 +LIBADD= ibverbs rdmacm pthread mlx4 .include <bsd.prog.mk> Modified: projects/release-pkg/contrib/ofed/librdmacm/examples/build/mckey/Makefile ============================================================================== --- projects/release-pkg/contrib/ofed/librdmacm/examples/build/mckey/Makefile Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/contrib/ofed/librdmacm/examples/build/mckey/Makefile Tue Feb 2 22:27:48 2016 (r295172) @@ -5,7 +5,6 @@ PROG= mckey MAN= SRCS= mckey.c -LDADD+= -libverbs -lrdmacm -lpthread -LDADD+= -lmlx4 +LIBADD= ibverbs rdmacm pthread mlx4 .include <bsd.prog.mk> Modified: projects/release-pkg/contrib/ofed/librdmacm/examples/build/udaddy/Makefile ============================================================================== --- projects/release-pkg/contrib/ofed/librdmacm/examples/build/udaddy/Makefile Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/contrib/ofed/librdmacm/examples/build/udaddy/Makefile Tue Feb 2 22:27:48 2016 (r295172) @@ -5,7 +5,6 @@ PROG= udaddy MAN= SRCS= udaddy.c -LDADD+= -libverbs -lrdmacm -lpthread -LDADD+= -lmlx4 +LIBADD= ibverbs rdmacm pthread mlx4 .include <bsd.prog.mk> Modified: projects/release-pkg/contrib/openresolv/Makefile ============================================================================== --- projects/release-pkg/contrib/openresolv/Makefile Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/contrib/openresolv/Makefile Tue Feb 2 22:27:48 2016 (r295172) @@ -1,5 +1,5 @@ PKG= openresolv -VERSION= 3.7.0 +VERSION= 3.7.1 # Nasty hack so that make clean works without configure being run _CONFIG_MK!= test -e config.mk && echo config.mk || echo config-null.mk @@ -37,7 +37,7 @@ SED_RESTARTCMD= -e 's:@RESTARTCMD \(.*\ DISTPREFIX?= ${PKG}-${VERSION} DISTFILEGZ?= ${DISTPREFIX}.tar.gz -DISTFILE?= ${DISTPREFIX}.tar.bz2 +DISTFILE?= ${DISTPREFIX}.tar.xz FOSSILID?= current .SUFFIXES: .in @@ -77,9 +77,9 @@ install: proginstall maninstall import: rm -rf /tmp/${DISTPREFIX} ${INSTALL} -d /tmp/${DISTPREFIX} - cp README ${SRCS} /tmp/${DISPREFIX} + cp README ${SRCS} /tmp/${DISTPREFIX} dist: fossil tarball --name ${DISTPREFIX} ${FOSSILID} ${DISTFILEGZ} - gunzip -c ${DISTFILEGZ} | bzip2 >${DISTFILE} + gunzip -c ${DISTFILEGZ} | xz >${DISTFILE} rm ${DISTFILEGZ} Modified: projects/release-pkg/contrib/openresolv/resolvconf.8.in ============================================================================== --- projects/release-pkg/contrib/openresolv/resolvconf.8.in Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/contrib/openresolv/resolvconf.8.in Tue Feb 2 22:27:48 2016 (r295172) @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 27, 2014 +.Dd April 27, 2015 .Dt RESOLVCONF 8 .Os .Sh NAME Modified: projects/release-pkg/contrib/openresolv/resolvconf.conf.5.in ============================================================================== --- projects/release-pkg/contrib/openresolv/resolvconf.conf.5.in Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/contrib/openresolv/resolvconf.conf.5.in Tue Feb 2 22:27:48 2016 (r295172) @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 20, 2015 +.Dd May 14, 2015 .Dt RESOLVCONF.CONF 5 .Os .Sh NAME @@ -91,6 +91,11 @@ To remove a block, you can use 192.168.* These interfaces name servers will only be queried for the domains listed in their resolv.conf. Useful for VPN domains. +Setting +.Sy private_interfaces Ns ="*" +will stop the forwarding of the root zone and allows the local resolver to +recursively query the root servers directly. +Requires a local nameserver other than libc. This is equivalent to the .Nm resolvconf -p option. @@ -149,7 +154,7 @@ When set to /dev/null or NULL, .Sy resolv_conf_local_only is defaulted to NO, .Sy local_nameservers -is unset unless overriden and only the information set in +is unset unless overridden and only the information set in .Nm is written to .Sy resolv_conf . @@ -271,7 +276,7 @@ Each subscriber attempts to automaticall distribution has been catered for. Also, users could equally want to use a different version from the one installed by default, such as bind8 and bind9. -To accomodate this, the subscribers have these files in configurable +To accommodate this, the subscribers have these files in configurable variables, documented below. .Pp .Bl -tag -width indent Modified: projects/release-pkg/contrib/openresolv/resolvconf.in ============================================================================== --- projects/release-pkg/contrib/openresolv/resolvconf.in Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/contrib/openresolv/resolvconf.in Tue Feb 2 22:27:48 2016 (r295172) @@ -50,7 +50,6 @@ elif [ -d "$SYSCONFDIR/resolvconf" ]; th interface_order="$(cat "$SYSCONFDIR"/interface-order)" fi fi -TMPDIR="$VARDIR/tmp" IFACEDIR="$VARDIR/interfaces" METRICDIR="$VARDIR/metrics" PRIVATEDIR="$VARDIR/private" Modified: projects/release-pkg/contrib/openresolv/unbound.in ============================================================================== --- projects/release-pkg/contrib/openresolv/unbound.in Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/contrib/openresolv/unbound.in Tue Feb 2 22:27:48 2016 (r295172) @@ -45,7 +45,8 @@ for d in $DOMAINS; do ns="${d#*:}" case "$unbound_insecure" in [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) - newconf="$newconf${NL}domain-insecure: \"$dn\"" + newconf="$newconf${NL}server:$NL" + newconf="$newconf domain-insecure: \"$dn\"$NL" ;; esac newconf="$newconf${NL}forward-zone:$NL name: \"$dn\"$NL" Modified: projects/release-pkg/contrib/smbfs/smbutil/print.c ============================================================================== --- projects/release-pkg/contrib/smbfs/smbutil/print.c Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/contrib/smbfs/smbutil/print.c Tue Feb 2 22:27:48 2016 (r295172) @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include <fcntl.h> #include <stdio.h> #include <unistd.h> +#include <string.h> #include <strings.h> #include <stdlib.h> #include <sysexits.h> Modified: projects/release-pkg/crypto/openssh/sshd_config ============================================================================== --- projects/release-pkg/crypto/openssh/sshd_config Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/crypto/openssh/sshd_config Tue Feb 2 22:27:48 2016 (r295172) @@ -45,7 +45,7 @@ # Authentication: #LoginGraceTime 2m -#PermitRootLogin prohibit-password +#PermitRootLogin no #StrictModes yes #MaxAuthTries 6 #MaxSessions 10 Modified: projects/release-pkg/crypto/openssh/sshd_config.5 ============================================================================== --- projects/release-pkg/crypto/openssh/sshd_config.5 Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/crypto/openssh/sshd_config.5 Tue Feb 2 22:27:48 2016 (r295172) @@ -1217,7 +1217,7 @@ The argument must be or .Dq no . The default is -.Dq prohibit-password . +.Dq no . Note that if .Cm ChallengeResponseAuthentication is Modified: projects/release-pkg/lib/libc/tests/gen/Makefile ============================================================================== --- projects/release-pkg/lib/libc/tests/gen/Makefile Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/lib/libc/tests/gen/Makefile Tue Feb 2 22:27:48 2016 (r295172) @@ -15,6 +15,7 @@ ATF_TESTS_C+= ftw_test ATF_TESTS_C+= popen_test ATF_TESTS_C+= posix_spawn_test ATF_TESTS_C+= wordexp_test +ATF_TESTS_C+= dlopen_empty_test # TODO: t_closefrom, t_cpuset, t_fmtcheck, t_randomid, t_sleep # TODO: t_siginfo (fixes require further inspection) Copied: projects/release-pkg/lib/libc/tests/gen/dlopen_empty_test.c (from r295171, head/lib/libc/tests/gen/dlopen_empty_test.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/release-pkg/lib/libc/tests/gen/dlopen_empty_test.c Tue Feb 2 22:27:48 2016 (r295172, copy of r295171, head/lib/libc/tests/gen/dlopen_empty_test.c) @@ -0,0 +1,97 @@ +/*- + * Copyright (c) 2016 Maksym Sobolyev + * 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 <sys/cdefs.h> +__FBSDID("$FreeBSD$"); + +#include <sys/stat.h> +#include <dlfcn.h> +#include <errno.h> +#include <fcntl.h> +#include <signal.h> +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> + +#include <atf-c.h> + +static const char *funname; +static char *soname; + +static void +sigsegv_handler(int sig __unused) +{ + unlink(soname); + free(soname); + atf_tc_fail("got SIGSEGV in the %s(3)", funname); +} + +ATF_TC(dlopen_empty_test); +ATF_TC_HEAD(dlopen_empty_test, tc) +{ + atf_tc_set_md_var(tc, "descr", "Tests the dlopen() of an empty file " + "returns an error"); +} +ATF_TC_BODY(dlopen_empty_test, tc) +{ + char tempname[] = "/tmp/temp.XXXXXX"; + char *fname; + int fd; + void *dlh; + struct sigaction act, oact; + + fname = mktemp(tempname); + ATF_REQUIRE_MSG(fname != NULL, "mktemp failed; errno=%d", errno); + asprintf(&soname, "%s.so", fname); + ATF_REQUIRE_MSG(soname != NULL, "asprintf failed; errno=%d", ENOMEM); + fd = open(soname, O_WRONLY | O_CREAT | O_TRUNC, DEFFILEMODE); + ATF_REQUIRE_MSG(fd != -1, "open(\"%s\") failed; errno=%d", soname, errno); + close(fd); + + act.sa_handler = sigsegv_handler; + act.sa_flags = 0; + sigemptyset(&act.sa_mask); + ATF_CHECK_MSG(sigaction(SIGSEGV, &act, &oact) != -1, + "sigaction() failed"); + + funname = "dlopen"; + dlh = dlopen(soname, RTLD_LAZY); + if (dlh != NULL) { + funname = "dlclose"; + dlclose(dlh); + } + ATF_REQUIRE_MSG(dlh == NULL, "dlopen(\"%s\") did not fail", soname); + unlink(soname); + free(soname); +} + +ATF_TP_ADD_TCS(tp) +{ + + ATF_TP_ADD_TC(tp, dlopen_empty_test); + + return (atf_no_error()); +} Modified: projects/release-pkg/lib/libsysdecode/syscallnames.c ============================================================================== --- projects/release-pkg/lib/libsysdecode/syscallnames.c Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/lib/libsysdecode/syscallnames.c Tue Feb 2 22:27:48 2016 (r295172) @@ -70,30 +70,30 @@ sysdecode_syscallname(enum sysdecode_abi { switch (abi) { - case FREEBSD: + case SYSDECODE_ABI_FREEBSD: if (code < nitems(syscallnames)) return (syscallnames[code]); break; #if defined(__amd64__) || defined(__powerpc64__) - case FREEBSD32: + case SYSDECODE_ABI_FREEBSD32: if (code < nitems(freebsd32_syscallnames)) return (freebsd32_syscallnames[code]); break; #endif #if defined(__amd64__) || defined(__i386__) - case LINUX: + case SYSDECODE_ABI_LINUX: if (code < nitems(linux_syscallnames)) return (linux_syscallnames[code]); break; #endif #ifdef __amd64__ - case LINUX32: + case SYSDECODE_ABI_LINUX32: if (code < nitems(linux32_syscallnames)) return (linux32_syscallnames[code]); break; #endif #if defined(__amd64__) || defined(__aarch64__) - case CLOUDABI64: + case SYSDECODE_ABI_CLOUDABI64: if (code < nitems(cloudabi64_syscallnames)) return (cloudabi64_syscallnames[code]); break; Modified: projects/release-pkg/lib/libsysdecode/sysdecode.3 ============================================================================== --- projects/release-pkg/lib/libsysdecode/sysdecode.3 Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/lib/libsysdecode/sysdecode.3 Tue Feb 2 22:27:48 2016 (r295172) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 24, 2016 +.Dd January 29, 2016 .Dt SYSDECODE 3 .Os .Sh NAME @@ -44,23 +44,23 @@ The supported ABIs are named by the .Vt enum sysdecode_abi enumeration. .Pp -.Bl -tag -width "Li UNKNOWN_ABI" -compact -.It Li FREEBSD +.Bl -tag -width "Li SYSDECODE_ABI_CLOUDABI64" -compact +.It Li SYSDECODE_ABI_FREEBSD Native FreeBSD binaries. Supported on all platforms. -.It Li FREEBSD32 +.It Li SYSDECODE_ABI_FREEBSD32 32-bit FreeBSD binaries. Supported on amd64 and powerpc64. -.It Li LINUX +.It Li SYSDECODE_ABI_LINUX Linux binaries of the same platform. Supported on amd64 and i386. -.It Li LINUX32 +.It Li SYSDECODE_ABI_LINUX32 32-bit Linux binaries. Supported on amd64. -.It Li CLOUDABI64 +.It Li SYSDECODE_ABI_CLOUDABI64 64-bit CloudABI binaries. Supported on aarch64 and amd64. -.It Li UNKNOWN_ABI +.It Li SYSDECODE_ABI_UNKNOWN A placeholder for use when the ABI is not known. .El .Sh SEE ALSO Modified: projects/release-pkg/lib/libsysdecode/sysdecode.h ============================================================================== --- projects/release-pkg/lib/libsysdecode/sysdecode.h Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/lib/libsysdecode/sysdecode.h Tue Feb 2 22:27:48 2016 (r295172) @@ -30,12 +30,12 @@ #define __SYSDECODE_H__ enum sysdecode_abi { - UNKNOWN_ABI = 0, - FREEBSD, - FREEBSD32, - LINUX, - LINUX32, - CLOUDABI64 + SYSDECODE_ABI_UNKNOWN = 0, + SYSDECODE_ABI_FREEBSD, + SYSDECODE_ABI_FREEBSD32, + SYSDECODE_ABI_LINUX, + SYSDECODE_ABI_LINUX32, + SYSDECODE_ABI_CLOUDABI64 }; const char *sysdecode_ioctlname(unsigned long _val); Modified: projects/release-pkg/libexec/atrun/atrun.c ============================================================================== --- projects/release-pkg/libexec/atrun/atrun.c Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/libexec/atrun/atrun.c Tue Feb 2 22:27:48 2016 (r295172) @@ -459,8 +459,9 @@ main(int argc, char *argv[]) int c; int run_batch; #ifdef __FreeBSD__ - size_t ncpu, ncpusz; + size_t ncpusz; double load_avg = -1; + int ncpu; #else double load_avg = LOADAVG_MX; #endif Modified: projects/release-pkg/libexec/rtld-elf/map_object.c ============================================================================== --- projects/release-pkg/libexec/rtld-elf/map_object.c Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/libexec/rtld-elf/map_object.c Tue Feb 2 22:27:48 2016 (r295172) @@ -38,7 +38,7 @@ #include "debug.h" #include "rtld.h" -static Elf_Ehdr *get_elf_header(int, const char *); +static Elf_Ehdr *get_elf_header(int, const char *, const struct stat *); static int convert_prot(int); /* Elf flags -> mmap protection */ static int convert_flags(int); /* Elf flags -> mmap flags */ @@ -91,7 +91,7 @@ map_object(int fd, const char *path, con char *note_map; size_t note_map_len; - hdr = get_elf_header(fd, path); + hdr = get_elf_header(fd, path, sb); if (hdr == NULL) return (NULL); @@ -324,10 +324,16 @@ error: } static Elf_Ehdr * -get_elf_header(int fd, const char *path) +get_elf_header(int fd, const char *path, const struct stat *sbp) { Elf_Ehdr *hdr; + /* Make sure file has enough data for the ELF header */ + if (sbp != NULL && sbp->st_size < sizeof(Elf_Ehdr)) { + _rtld_error("%s: invalid file format", path); + return (NULL); + } + hdr = mmap(NULL, PAGE_SIZE, PROT_READ, MAP_PRIVATE | MAP_PREFAULT_READ, fd, 0); if (hdr == (Elf_Ehdr *)MAP_FAILED) { Modified: projects/release-pkg/sbin/nvmecontrol/Makefile ============================================================================== --- projects/release-pkg/sbin/nvmecontrol/Makefile Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/sbin/nvmecontrol/Makefile Tue Feb 2 22:27:48 2016 (r295172) @@ -2,7 +2,7 @@ PROG= nvmecontrol SRCS= nvmecontrol.c devlist.c firmware.c identify.c logpage.c \ - perftest.c reset.c nvme_util.c + perftest.c reset.c nvme_util.c power.c MAN= nvmecontrol.8 .PATH: ${.CURDIR}/../../sys/dev/nvme Modified: projects/release-pkg/sbin/nvmecontrol/nvmecontrol.8 ============================================================================== --- projects/release-pkg/sbin/nvmecontrol/nvmecontrol.8 Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/sbin/nvmecontrol/nvmecontrol.8 Tue Feb 2 22:27:48 2016 (r295172) @@ -70,6 +70,11 @@ .Op Fl f Ar path_to_firmware .Op Fl a .Aq device id +.Nm +.Ic power +.Op Fl l +.Op Fl p power_state +.Op fl w workload_hint .Sh DESCRIPTION NVM Express (NVMe) is a storage protocol standard, for SSDs and other high-speed storage devices over PCI Express. @@ -120,6 +125,18 @@ Activate the firmware in slot 4 of the n .Pp Download the firmware image contained in "/tmp/nvme_firmware" to slot 7 of the nvme0 controller and activate it on the next reset. +.Pp +.Dl nvmecontrol power -l nvme0 +.Pp +List all the current power modes. +.Pp +.Dl nvmecontrol power -p 3 nvme0 +.Pp +Set the current power mode. +.Pp +.Dl nvmecontrol power nvme0 +.Pp +Get the current power mode. .Sh AUTHORS .An -nosplit .Nm Modified: projects/release-pkg/sbin/nvmecontrol/nvmecontrol.c ============================================================================== --- projects/release-pkg/sbin/nvmecontrol/nvmecontrol.c Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/sbin/nvmecontrol/nvmecontrol.c Tue Feb 2 22:27:48 2016 (r295172) @@ -58,6 +58,7 @@ static struct nvme_function { {"reset", reset, RESET_USAGE}, {"logpage", logpage, LOGPAGE_USAGE}, {"firmware", firmware, FIRMWARE_USAGE}, + {"power", power, POWER_USAGE}, {NULL, NULL, NULL}, }; Modified: projects/release-pkg/sbin/nvmecontrol/nvmecontrol.h ============================================================================== --- projects/release-pkg/sbin/nvmecontrol/nvmecontrol.h Tue Feb 2 22:26:49 2016 (r295171) +++ projects/release-pkg/sbin/nvmecontrol/nvmecontrol.h Tue Feb 2 22:27:48 2016 (r295172) @@ -55,12 +55,16 @@ #define FIRMWARE_USAGE \ " nvmecontrol firmware [-s slot] [-f path_to_firmware] [-a] <controller id>\n" +#define POWER_USAGE \ +" nvmecontrol power [-l] [-p new-state [-w workload-hint]] <controller id>\n" + void devlist(int argc, char *argv[]); void identify(int argc, char *argv[]); void perftest(int argc, char *argv[]); void reset(int argc, char *argv[]); void logpage(int argc, char *argv[]); void firmware(int argc, char *argv[]); +void power(int argc, char *argv[]); int open_dev(const char *str, int *fd, int show_error, int exit_on_error); void parse_ns_str(const char *ns_str, char *ctrlr_str, int *nsid); Copied: projects/release-pkg/sbin/nvmecontrol/power.c (from r295171, head/sbin/nvmecontrol/power.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/release-pkg/sbin/nvmecontrol/power.c Tue Feb 2 22:27:48 2016 (r295172, copy of r295171, head/sbin/nvmecontrol/power.c) @@ -0,0 +1,185 @@ +/*- + * Copyright (c) 2016 Netflix, Inc + * 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 <sys/cdefs.h> +__FBSDID("$FreeBSD$"); *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201602022227.u12MRmuV077084>