Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Jun 2019 23:50:55 +0000 (UTC)
From:      Alan Somers <asomers@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r349479 - in projects/fuse2: . contrib/elftoolchain/elfcopy contrib/elftoolchain/libdwarf contrib/elftoolchain/libelftc contrib/gcc/config/rs6000 contrib/ipfilter/man contrib/ipfilter/t...
Message-ID:  <201906272350.x5RNotjD045997@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: asomers
Date: Thu Jun 27 23:50:54 2019
New Revision: 349479
URL: https://svnweb.freebsd.org/changeset/base/349479

Log:
  MFHead @349476
  
  Sponsored by:	The FreeBSD Foundation

Added:
  projects/fuse2/stand/efi/include/Protocol/Http.h
     - copied unchanged from r349476, head/stand/efi/include/Protocol/Http.h
  projects/fuse2/stand/efi/include/Protocol/Ip4Config2.h
     - copied unchanged from r349476, head/stand/efi/include/Protocol/Ip4Config2.h
  projects/fuse2/stand/efi/include/Protocol/ServiceBinding.h
     - copied unchanged from r349476, head/stand/efi/include/Protocol/ServiceBinding.h
  projects/fuse2/stand/efi/libefi/efihttp.c
     - copied unchanged from r349476, head/stand/efi/libefi/efihttp.c
  projects/fuse2/sys/arm/conf/NOTES.armv5
     - copied unchanged from r349476, head/sys/arm/conf/NOTES.armv5
  projects/fuse2/sys/arm/conf/NOTES.armv7
     - copied unchanged from r349476, head/sys/arm/conf/NOTES.armv7
  projects/fuse2/usr.sbin/bhyve/audio.c
     - copied unchanged from r349476, head/usr.sbin/bhyve/audio.c
  projects/fuse2/usr.sbin/bhyve/audio.h
     - copied unchanged from r349476, head/usr.sbin/bhyve/audio.h
  projects/fuse2/usr.sbin/bhyve/hda_codec.c
     - copied unchanged from r349476, head/usr.sbin/bhyve/hda_codec.c
  projects/fuse2/usr.sbin/bhyve/hda_reg.h
     - copied unchanged from r349476, head/usr.sbin/bhyve/hda_reg.h
  projects/fuse2/usr.sbin/bhyve/hdac_reg.h
     - copied unchanged from r349476, head/usr.sbin/bhyve/hdac_reg.h
  projects/fuse2/usr.sbin/bhyve/pci_hda.c
     - copied unchanged from r349476, head/usr.sbin/bhyve/pci_hda.c
  projects/fuse2/usr.sbin/bhyve/pci_hda.h
     - copied unchanged from r349476, head/usr.sbin/bhyve/pci_hda.h
Deleted:
  projects/fuse2/lib/libnandfs/Makefile
  projects/fuse2/lib/libnandfs/Makefile.depend
  projects/fuse2/lib/libnandfs/libnandfs.h
  projects/fuse2/lib/libnandfs/nandfs.c
  projects/fuse2/sbin/nandfs/Makefile
  projects/fuse2/sbin/nandfs/Makefile.depend
  projects/fuse2/sbin/nandfs/lssnap.c
  projects/fuse2/sbin/nandfs/mksnap.c
  projects/fuse2/sbin/nandfs/nandfs.8
  projects/fuse2/sbin/nandfs/nandfs.c
  projects/fuse2/sbin/nandfs/nandfs.h
  projects/fuse2/sbin/nandfs/rmsnap.c
  projects/fuse2/sbin/newfs_nandfs/Makefile
  projects/fuse2/sbin/newfs_nandfs/Makefile.depend
  projects/fuse2/sbin/newfs_nandfs/newfs_nandfs.8
  projects/fuse2/sbin/newfs_nandfs/newfs_nandfs.c
  projects/fuse2/share/man/man4/nand.4
  projects/fuse2/share/man/man4/nandsim.4
  projects/fuse2/share/man/man5/nandfs.5
  projects/fuse2/share/man/man9/pwm.9
  projects/fuse2/stand/libsa/nandfs.c
  projects/fuse2/sys/arm/freescale/vybrid/vf_nfc.c
  projects/fuse2/sys/dev/nand/nand.c
  projects/fuse2/sys/dev/nand/nand.h
  projects/fuse2/sys/dev/nand/nand_bbt.c
  projects/fuse2/sys/dev/nand/nand_cdev.c
  projects/fuse2/sys/dev/nand/nand_dev.h
  projects/fuse2/sys/dev/nand/nand_ecc_pos.h
  projects/fuse2/sys/dev/nand/nand_generic.c
  projects/fuse2/sys/dev/nand/nand_geom.c
  projects/fuse2/sys/dev/nand/nand_id.c
  projects/fuse2/sys/dev/nand/nand_if.m
  projects/fuse2/sys/dev/nand/nandbus.c
  projects/fuse2/sys/dev/nand/nandbus.h
  projects/fuse2/sys/dev/nand/nandbus_if.m
  projects/fuse2/sys/dev/nand/nandsim.c
  projects/fuse2/sys/dev/nand/nandsim.h
  projects/fuse2/sys/dev/nand/nandsim_chip.c
  projects/fuse2/sys/dev/nand/nandsim_chip.h
  projects/fuse2/sys/dev/nand/nandsim_ctrl.c
  projects/fuse2/sys/dev/nand/nandsim_log.c
  projects/fuse2/sys/dev/nand/nandsim_log.h
  projects/fuse2/sys/dev/nand/nandsim_swap.c
  projects/fuse2/sys/dev/nand/nandsim_swap.h
  projects/fuse2/sys/dev/nand/nfc_fsl.c
  projects/fuse2/sys/dev/nand/nfc_fsl.h
  projects/fuse2/sys/dev/nand/nfc_if.m
  projects/fuse2/sys/dev/nand/nfc_mv.c
  projects/fuse2/sys/dev/nand/nfc_rb.c
  projects/fuse2/sys/fs/nandfs/bmap.c
  projects/fuse2/sys/fs/nandfs/bmap.h
  projects/fuse2/sys/fs/nandfs/nandfs.h
  projects/fuse2/sys/fs/nandfs/nandfs_alloc.c
  projects/fuse2/sys/fs/nandfs/nandfs_bmap.c
  projects/fuse2/sys/fs/nandfs/nandfs_buffer.c
  projects/fuse2/sys/fs/nandfs/nandfs_cleaner.c
  projects/fuse2/sys/fs/nandfs/nandfs_cpfile.c
  projects/fuse2/sys/fs/nandfs/nandfs_dat.c
  projects/fuse2/sys/fs/nandfs/nandfs_dir.c
  projects/fuse2/sys/fs/nandfs/nandfs_fs.h
  projects/fuse2/sys/fs/nandfs/nandfs_ifile.c
  projects/fuse2/sys/fs/nandfs/nandfs_mount.h
  projects/fuse2/sys/fs/nandfs/nandfs_segment.c
  projects/fuse2/sys/fs/nandfs/nandfs_subr.c
  projects/fuse2/sys/fs/nandfs/nandfs_subr.h
  projects/fuse2/sys/fs/nandfs/nandfs_sufile.c
  projects/fuse2/sys/fs/nandfs/nandfs_vfsops.c
  projects/fuse2/sys/fs/nandfs/nandfs_vnops.c
  projects/fuse2/sys/modules/nand/Makefile
  projects/fuse2/sys/modules/nandfs/Makefile
  projects/fuse2/sys/modules/nandsim/Makefile
  projects/fuse2/usr.sbin/nandsim/Makefile
  projects/fuse2/usr.sbin/nandsim/Makefile.depend
  projects/fuse2/usr.sbin/nandsim/nandsim.8
  projects/fuse2/usr.sbin/nandsim/nandsim.c
  projects/fuse2/usr.sbin/nandsim/nandsim_cfgparse.c
  projects/fuse2/usr.sbin/nandsim/nandsim_cfgparse.h
  projects/fuse2/usr.sbin/nandsim/nandsim_rcfile.c
  projects/fuse2/usr.sbin/nandsim/nandsim_rcfile.h
  projects/fuse2/usr.sbin/nandsim/sample.conf
  projects/fuse2/usr.sbin/nandtool/Makefile
  projects/fuse2/usr.sbin/nandtool/Makefile.depend
  projects/fuse2/usr.sbin/nandtool/nand_erase.c
  projects/fuse2/usr.sbin/nandtool/nand_info.c
  projects/fuse2/usr.sbin/nandtool/nand_read.c
  projects/fuse2/usr.sbin/nandtool/nand_readoob.c
  projects/fuse2/usr.sbin/nandtool/nand_write.c
  projects/fuse2/usr.sbin/nandtool/nand_writeoob.c
  projects/fuse2/usr.sbin/nandtool/nandtool.8
  projects/fuse2/usr.sbin/nandtool/nandtool.c
  projects/fuse2/usr.sbin/nandtool/nandtool.h
  projects/fuse2/usr.sbin/nandtool/usage.h
Modified:
  projects/fuse2/UPDATING
  projects/fuse2/contrib/elftoolchain/elfcopy/sections.c
  projects/fuse2/contrib/elftoolchain/libdwarf/libdwarf_attr.c
  projects/fuse2/contrib/elftoolchain/libelftc/elftc_string_table.c
  projects/fuse2/contrib/elftoolchain/libelftc/elftc_string_table_create.3
  projects/fuse2/contrib/elftoolchain/libelftc/libelftc.h
  projects/fuse2/contrib/gcc/config/rs6000/tramp.asm
  projects/fuse2/contrib/ipfilter/man/ipmon.8
  projects/fuse2/contrib/ipfilter/tools/ipmon.c
  projects/fuse2/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
  projects/fuse2/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/PPC.cpp
  projects/fuse2/etc/mtree/BSD.include.dist
  projects/fuse2/gnu/usr.bin/cc/cc_tools/Makefile.hdrs
  projects/fuse2/include/Makefile
  projects/fuse2/lib/Makefile
  projects/fuse2/lib/libbe/be_access.c
  projects/fuse2/lib/libc/gen/Symbol.map
  projects/fuse2/lib/libc/gen/_pthread_stubs.c
  projects/fuse2/lib/libc/gen/libc_dlopen.c
  projects/fuse2/lib/libc/gen/opendir.c
  projects/fuse2/lib/libc/gen/telldir.c
  projects/fuse2/lib/libc/include/libc_private.h
  projects/fuse2/lib/libc/powerpc/SYS.h
  projects/fuse2/lib/libc/powerpc/gen/_ctx_start.S
  projects/fuse2/lib/libc/powerpc/sys/cerror.S
  projects/fuse2/lib/libc/stdlib/realpath.c
  projects/fuse2/lib/libc/sys/mmap.2
  projects/fuse2/lib/libc/sys/mprotect.2
  projects/fuse2/lib/libjail/jail.c
  projects/fuse2/lib/libsecureboot/h/libsecureboot.h
  projects/fuse2/lib/libsecureboot/libsecureboot-priv.h
  projects/fuse2/lib/libsecureboot/local.trust.mk
  projects/fuse2/lib/libsecureboot/openpgp/opgp_key.c
  projects/fuse2/lib/libsecureboot/readfile.c
  projects/fuse2/lib/libsecureboot/verify_file.c
  projects/fuse2/lib/libsecureboot/vets.c
  projects/fuse2/lib/libthr/thread/thr_init.c
  projects/fuse2/lib/libusb/libusb10.h
  projects/fuse2/lib/libusb/libusb10_hotplug.c
  projects/fuse2/libexec/rc/rc.d/motd
  projects/fuse2/libexec/rtld-elf/debug.h
  projects/fuse2/libexec/rtld-elf/powerpc/reloc.c
  projects/fuse2/libexec/rtld-elf/powerpc/rtld_start.S
  projects/fuse2/libexec/rtld-elf/rtld.c
  projects/fuse2/libexec/rtld-elf/rtld.h
  projects/fuse2/libexec/rtld-elf/rtld_printf.h
  projects/fuse2/release/Makefile.mirrors
  projects/fuse2/release/picobsd/bridge/PICOBSD
  projects/fuse2/release/picobsd/build/picobsd
  projects/fuse2/release/picobsd/qemu/PICOBSD
  projects/fuse2/sbin/Makefile
  projects/fuse2/sbin/bectl/bectl.c
  projects/fuse2/sbin/bectl/tests/bectl_test.sh
  projects/fuse2/sbin/camcontrol/camcontrol.c
  projects/fuse2/sbin/dhclient/options.c
  projects/fuse2/sbin/dhclient/packet.c
  projects/fuse2/sbin/ipf/ipmon/Makefile
  projects/fuse2/sbin/ipfw/ipfw.8
  projects/fuse2/sbin/ipfw/ipfw2.c
  projects/fuse2/sbin/ipfw/ipfw2.h
  projects/fuse2/sbin/swapon/swapon.8
  projects/fuse2/sbin/swapon/swapon.c
  projects/fuse2/share/examples/etc/make.conf
  projects/fuse2/share/man/man4/Makefile
  projects/fuse2/share/man/man4/gpio.4
  projects/fuse2/share/man/man4/owc.4
  projects/fuse2/share/man/man4/random.4
  projects/fuse2/share/man/man5/Makefile
  projects/fuse2/share/man/man5/fstab.5
  projects/fuse2/share/man/man9/Makefile
  projects/fuse2/share/man/man9/VOP_REVOKE.9
  projects/fuse2/share/man/man9/iflibdi.9
  projects/fuse2/share/man/man9/pwmbus.9
  projects/fuse2/share/man/man9/vm_map_protect.9
  projects/fuse2/share/misc/bsd-family-tree
  projects/fuse2/share/mk/bsd.cpu.mk
  projects/fuse2/share/mk/bsd.libnames.mk
  projects/fuse2/share/mk/src.libnames.mk
  projects/fuse2/share/mk/src.opts.mk
  projects/fuse2/stand/arm/uboot/conf.c
  projects/fuse2/stand/arm/uboot/version
  projects/fuse2/stand/common/part.c
  projects/fuse2/stand/common/part.h
  projects/fuse2/stand/common/paths.h
  projects/fuse2/stand/efi/include/efidevp.h
  projects/fuse2/stand/efi/include/efilib.h
  projects/fuse2/stand/efi/libefi/Makefile
  projects/fuse2/stand/efi/loader/conf.c
  projects/fuse2/stand/efi/loader/copy.c
  projects/fuse2/stand/efi/loader/main.c
  projects/fuse2/stand/i386/loader/conf.c
  projects/fuse2/stand/libsa/Makefile
  projects/fuse2/stand/libsa/stand.h
  projects/fuse2/stand/loader.mk
  projects/fuse2/stand/mips/uboot/conf.c
  projects/fuse2/stand/mips/uboot/version
  projects/fuse2/sys/amd64/amd64/pmap.c
  projects/fuse2/sys/amd64/conf/GENERIC
  projects/fuse2/sys/amd64/conf/MINIMAL
  projects/fuse2/sys/amd64/sgx/sgx.c
  projects/fuse2/sys/amd64/vmm/vmm_instruction_emul.c
  projects/fuse2/sys/arm/allwinner/files.allwinner
  projects/fuse2/sys/arm/conf/ALPINE
  projects/fuse2/sys/arm/conf/ARMADA38X
  projects/fuse2/sys/arm/conf/ARMADAXP
  projects/fuse2/sys/arm/conf/DB-78XXX
  projects/fuse2/sys/arm/conf/DB-88F5XXX
  projects/fuse2/sys/arm/conf/DB-88F6XXX
  projects/fuse2/sys/arm/conf/DOCKSTAR
  projects/fuse2/sys/arm/conf/DREAMPLUG-1001
  projects/fuse2/sys/arm/conf/EFIKA_MX
  projects/fuse2/sys/arm/conf/GENERIC
  projects/fuse2/sys/arm/conf/IMX53
  projects/fuse2/sys/arm/conf/IMX6
  projects/fuse2/sys/arm/conf/NOTES
  projects/fuse2/sys/arm/conf/RPI-B
  projects/fuse2/sys/arm/conf/RT1310
  projects/fuse2/sys/arm/conf/SHEEVAPLUG
  projects/fuse2/sys/arm/conf/SOCFPGA
  projects/fuse2/sys/arm/conf/TEGRA124
  projects/fuse2/sys/arm/conf/TS7800
  projects/fuse2/sys/arm/conf/VERSATILEPB
  projects/fuse2/sys/arm/conf/VYBRID
  projects/fuse2/sys/arm/conf/ZEDBOARD
  projects/fuse2/sys/arm/mv/files.arm7
  projects/fuse2/sys/arm/mv/files.mv
  projects/fuse2/sys/arm/ti/am335x/am335x_ehrpwm.c
  projects/fuse2/sys/arm64/acpica/acpi_iort.c
  projects/fuse2/sys/arm64/arm64/freebsd32_machdep.c
  projects/fuse2/sys/arm64/arm64/gic_v3.c
  projects/fuse2/sys/arm64/arm64/gic_v3_var.h
  projects/fuse2/sys/arm64/arm64/gicv3_its.c
  projects/fuse2/sys/arm64/arm64/machdep.c
  projects/fuse2/sys/arm64/arm64/pmap.c
  projects/fuse2/sys/arm64/conf/GENERIC
  projects/fuse2/sys/cam/ata/ata_all.c
  projects/fuse2/sys/cam/ata/ata_all.h
  projects/fuse2/sys/cam/ata/ata_xpt.c
  projects/fuse2/sys/cam/cam_xpt.c
  projects/fuse2/sys/cam/ctl/ctl_error.c
  projects/fuse2/sys/cam/scsi/scsi_all.c
  projects/fuse2/sys/cam/scsi/scsi_da.c
  projects/fuse2/sys/cam/scsi/scsi_enc.c
  projects/fuse2/sys/cam/scsi/scsi_enc.h
  projects/fuse2/sys/cam/scsi/scsi_enc_internal.h
  projects/fuse2/sys/cam/scsi/scsi_enc_safte.c
  projects/fuse2/sys/cam/scsi/scsi_enc_ses.c
  projects/fuse2/sys/cam/scsi/scsi_ses.h
  projects/fuse2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c
  projects/fuse2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/multilist.c
  projects/fuse2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/multilist.h
  projects/fuse2/sys/compat/linuxkpi/common/include/asm/atomic-long.h
  projects/fuse2/sys/compat/linuxkpi/common/include/linux/rculist.h
  projects/fuse2/sys/conf/NOTES
  projects/fuse2/sys/conf/files
  projects/fuse2/sys/conf/files.amd64
  projects/fuse2/sys/conf/files.arm
  projects/fuse2/sys/conf/files.arm64
  projects/fuse2/sys/conf/files.powerpc
  projects/fuse2/sys/conf/kern.opts.mk
  projects/fuse2/sys/conf/makeLINT.mk
  projects/fuse2/sys/conf/options
  projects/fuse2/sys/contrib/ipfilter/netinet/fil.c
  projects/fuse2/sys/contrib/ipfilter/netinet/ip_compat.h
  projects/fuse2/sys/contrib/ipfilter/netinet/ip_fil.h
  projects/fuse2/sys/ddb/db_ps.c
  projects/fuse2/sys/dev/ahci/ahci.c
  projects/fuse2/sys/dev/ahci/ahci.h
  projects/fuse2/sys/dev/ahci/ahciem.c
  projects/fuse2/sys/dev/altera/msgdma/msgdma.c
  projects/fuse2/sys/dev/altera/msgdma/msgdma.h
  projects/fuse2/sys/dev/cxgbe/tom/t4_cpl_io.c
  projects/fuse2/sys/dev/cxgbe/tom/t4_ddp.c
  projects/fuse2/sys/dev/cxgbe/tom/t4_tom.h
  projects/fuse2/sys/dev/drm2/ttm/ttm_bo_vm.c
  projects/fuse2/sys/dev/gpio/gpiobus.c
  projects/fuse2/sys/dev/gpio/gpiobusvar.h
  projects/fuse2/sys/dev/gpio/ofw_gpiobus.c
  projects/fuse2/sys/dev/iicbus/ad7418.c
  projects/fuse2/sys/dev/ow/owc_gpiobus.c
  projects/fuse2/sys/dev/usb/usb_hub_acpi.c
  projects/fuse2/sys/dev/virtio/scsi/virtio_scsi.c
  projects/fuse2/sys/fs/cuse/cuse.c
  projects/fuse2/sys/fs/fifofs/fifo_vnops.c
  projects/fuse2/sys/fs/smbfs/smbfs_io.c
  projects/fuse2/sys/geom/geom_flashmap.c
  projects/fuse2/sys/i386/conf/GENERIC
  projects/fuse2/sys/i386/conf/MINIMAL
  projects/fuse2/sys/kern/Make.tags.inc
  projects/fuse2/sys/kern/kern_descrip.c
  projects/fuse2/sys/kern/kern_mib.c
  projects/fuse2/sys/kern/kern_rangelock.c
  projects/fuse2/sys/kern/kern_sig.c
  projects/fuse2/sys/kern/sys_pipe.c
  projects/fuse2/sys/kern/uipc_socket.c
  projects/fuse2/sys/kern/vfs_vnops.c
  projects/fuse2/sys/mips/conf/BCM
  projects/fuse2/sys/mips/conf/BERI_DE4_BASE
  projects/fuse2/sys/mips/conf/DIR-825B1
  projects/fuse2/sys/mips/conf/ERL
  projects/fuse2/sys/mips/conf/JZ4780
  projects/fuse2/sys/mips/conf/OCTEON1
  projects/fuse2/sys/mips/conf/PB92
  projects/fuse2/sys/mips/conf/PICOSTATION_M2HP
  projects/fuse2/sys/mips/conf/WZR-300HP
  projects/fuse2/sys/mips/conf/WZR-HPAG300H
  projects/fuse2/sys/mips/conf/X1000
  projects/fuse2/sys/mips/conf/std.AR5312
  projects/fuse2/sys/mips/conf/std.AR5315
  projects/fuse2/sys/mips/conf/std.AR_MIPS_BASE
  projects/fuse2/sys/mips/conf/std.BERI
  projects/fuse2/sys/mips/conf/std.MALTA
  projects/fuse2/sys/mips/conf/std.XLP
  projects/fuse2/sys/mips/mediatek/std.mediatek
  projects/fuse2/sys/mips/mediatek/std.rt2880
  projects/fuse2/sys/modules/Makefile
  projects/fuse2/sys/net/if_vxlan.c
  projects/fuse2/sys/net/iflib.c
  projects/fuse2/sys/net/vnet.h
  projects/fuse2/sys/netinet/in.h
  projects/fuse2/sys/netinet/in_mcast.c
  projects/fuse2/sys/netinet/in_pcb.c
  projects/fuse2/sys/netinet/in_var.h
  projects/fuse2/sys/netinet/ip_carp.c
  projects/fuse2/sys/netinet/ip_fw.h
  projects/fuse2/sys/netinet/ip_mroute.c
  projects/fuse2/sys/netinet/ip_output.c
  projects/fuse2/sys/netinet/ip_var.h
  projects/fuse2/sys/netinet/tcp_subr.c
  projects/fuse2/sys/netinet6/in6.h
  projects/fuse2/sys/netinet6/in6_ifattach.c
  projects/fuse2/sys/netinet6/in6_mcast.c
  projects/fuse2/sys/netinet6/in6_pcb.c
  projects/fuse2/sys/netinet6/in6_var.h
  projects/fuse2/sys/netinet6/ip6_var.h
  projects/fuse2/sys/netipsec/key.c
  projects/fuse2/sys/netpfil/ipfw/ip_fw2.c
  projects/fuse2/sys/netpfil/ipfw/ip_fw_sockopt.c
  projects/fuse2/sys/netpfil/pf/if_pfsync.c
  projects/fuse2/sys/powerpc/conf/GENERIC
  projects/fuse2/sys/powerpc/conf/GENERIC64
  projects/fuse2/sys/powerpc/conf/MPC85XX
  projects/fuse2/sys/powerpc/conf/MPC85XXSPE
  projects/fuse2/sys/powerpc/conf/QORIQ64
  projects/fuse2/sys/powerpc/conf/dpaa/DPAA
  projects/fuse2/sys/powerpc/include/trap.h
  projects/fuse2/sys/powerpc/powerpc/machdep.c
  projects/fuse2/sys/powerpc/powerpc/trap.c
  projects/fuse2/sys/riscv/conf/GENERIC
  projects/fuse2/sys/sparc64/conf/GENERIC
  projects/fuse2/sys/sys/_types.h
  projects/fuse2/sys/sys/boot.h
  projects/fuse2/sys/sys/file.h
  projects/fuse2/sys/sys/filio.h
  projects/fuse2/sys/sys/mman.h
  projects/fuse2/sys/sys/param.h
  projects/fuse2/sys/sys/pcpu.h
  projects/fuse2/sys/sys/pmckern.h
  projects/fuse2/sys/sys/random.h
  projects/fuse2/sys/sys/rangelock.h
  projects/fuse2/sys/sys/types.h
  projects/fuse2/sys/sys/vnode.h
  projects/fuse2/sys/ufs/ffs/ffs_softdep.c
  projects/fuse2/sys/vm/device_pager.c
  projects/fuse2/sys/vm/vm_fault.c
  projects/fuse2/sys/vm/vm_map.c
  projects/fuse2/sys/vm/vm_mmap.c
  projects/fuse2/sys/vm/vm_object.c
  projects/fuse2/sys/vm/vm_page.c
  projects/fuse2/sys/vm/vm_page.h
  projects/fuse2/targets/pseudo/userland/Makefile.depend
  projects/fuse2/targets/pseudo/userland/lib/Makefile.depend
  projects/fuse2/tests/sys/netinet/socket_afinet.c
  projects/fuse2/tools/build/mk/OptionalObsoleteFiles.inc
  projects/fuse2/tools/tools/nanobsd/defaults.sh
  projects/fuse2/tools/tools/nanobsd/pcengines/ALIX_DSK
  projects/fuse2/tools/tools/tinybsd/conf/bridge/TINYBSD
  projects/fuse2/tools/tools/tinybsd/conf/default/TINYBSD
  projects/fuse2/tools/tools/tinybsd/conf/firewall/TINYBSD
  projects/fuse2/tools/tools/tinybsd/conf/minimal/TINYBSD
  projects/fuse2/tools/tools/tinybsd/conf/vpn/TINYBSD
  projects/fuse2/tools/tools/tinybsd/conf/wireless/TINYBSD
  projects/fuse2/tools/tools/tinybsd/conf/wrap/TINYBSD
  projects/fuse2/usr.bin/calendar/calendars/hr_HR.ISO8859-2/calendar.praznici
  projects/fuse2/usr.bin/top/display.c
  projects/fuse2/usr.bin/top/machine.c
  projects/fuse2/usr.bin/uname/uname.1
  projects/fuse2/usr.bin/uname/uname.c
  projects/fuse2/usr.bin/vtfontcvt/vtfontcvt.c
  projects/fuse2/usr.sbin/Makefile
  projects/fuse2/usr.sbin/bhyve/Makefile
  projects/fuse2/usr.sbin/bhyve/bhyve.8
  projects/fuse2/usr.sbin/bhyve/net_utils.c
  projects/fuse2/usr.sbin/bhyve/pci_virtio_scsi.c
  projects/fuse2/usr.sbin/bsnmpd/modules/snmp_lm75/snmp_lm75.c
  projects/fuse2/usr.sbin/bsnmpd/modules/snmp_pf/pf_snmp.c
  projects/fuse2/usr.sbin/bsnmpd/modules/snmp_pf/pf_tree.def
  projects/fuse2/usr.sbin/kbdcontrol/kbdcontrol.c
  projects/fuse2/usr.sbin/mountd/mountd.c
  projects/fuse2/usr.sbin/usbdump/usbdump.c
Directory Properties:
  projects/fuse2/   (props changed)
  projects/fuse2/contrib/elftoolchain/   (props changed)
  projects/fuse2/contrib/gcc/   (props changed)
  projects/fuse2/contrib/ipfilter/   (props changed)
  projects/fuse2/contrib/llvm/   (props changed)
  projects/fuse2/contrib/llvm/tools/clang/   (props changed)
  projects/fuse2/gnu/usr.bin/cc/cc_tools/   (props changed)
  projects/fuse2/sys/cddl/contrib/opensolaris/   (props changed)
  projects/fuse2/sys/contrib/ipfilter/   (props changed)

Modified: projects/fuse2/UPDATING
==============================================================================
--- projects/fuse2/UPDATING	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/UPDATING	Thu Jun 27 23:50:54 2019	(r349479)
@@ -43,6 +43,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW:
 	sysctls have been removed.  If you felt the need to set any of them to
 	a non-default value, please tell asomers@FreeBSD.org why.
 
+20190620:
+	Entropy collection and the /dev/random device are no longer optional
+	components.  The "device random" option has been removed.
+	Implementations of distilling algorithms can still be made loadable
+	with "options RANDOM_LOADABLE" (e.g., random_fortuna.ko).
+
 20190612:
 	Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have
 	been upgraded to 8.0.1.  Please see the 20141231 entry below for

Modified: projects/fuse2/contrib/elftoolchain/elfcopy/sections.c
==============================================================================
--- projects/fuse2/contrib/elftoolchain/elfcopy/sections.c	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/contrib/elftoolchain/elfcopy/sections.c	Thu Jun 27 23:50:54 2019	(r349479)
@@ -1398,8 +1398,24 @@ update_shdr(struct elfcopy *ecp, int update_link)
 void
 init_shstrtab(struct elfcopy *ecp)
 {
+	Elf_Scn *shstrtab;
+	GElf_Shdr shdr;
 	struct section *s;
+	size_t indx, sizehint;
 
+	if (elf_getshstrndx(ecp->ein, &indx) != 0) {
+		shstrtab = elf_getscn(ecp->ein, indx);
+		if (shstrtab == NULL)
+			errx(EXIT_FAILURE, "elf_getscn failed: %s",
+			    elf_errmsg(-1));
+		if (gelf_getshdr(shstrtab, &shdr) != &shdr)
+			errx(EXIT_FAILURE, "gelf_getshdr failed: %s",
+			    elf_errmsg(-1));
+		sizehint = shdr.sh_size;
+	} else {
+		sizehint = 0;
+	}
+
 	if ((ecp->shstrtab = calloc(1, sizeof(*ecp->shstrtab))) == NULL)
 		err(EXIT_FAILURE, "calloc failed");
 	s = ecp->shstrtab;
@@ -1410,7 +1426,7 @@ init_shstrtab(struct elfcopy *ecp)
 	s->loadable = 0;
 	s->type = SHT_STRTAB;
 	s->vma = 0;
-	s->strtab = elftc_string_table_create(0);
+	s->strtab = elftc_string_table_create(sizehint);
 
 	add_to_shstrtab(ecp, "");
 	add_to_shstrtab(ecp, ".symtab");

Modified: projects/fuse2/contrib/elftoolchain/libdwarf/libdwarf_attr.c
==============================================================================
--- projects/fuse2/contrib/elftoolchain/libdwarf/libdwarf_attr.c	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/contrib/elftoolchain/libdwarf/libdwarf_attr.c	Thu Jun 27 23:50:54 2019	(r349479)
@@ -100,7 +100,6 @@ _dwarf_attr_init(Dwarf_Debug dbg, Dwarf_Section *ds, u
     uint64_t form, int indirect, Dwarf_Error *error)
 {
 	struct _Dwarf_Attribute atref;
-	Dwarf_Section *str;
 	int ret;
 
 	ret = DW_DLE_NONE;
@@ -183,9 +182,7 @@ _dwarf_attr_init(Dwarf_Debug dbg, Dwarf_Section *ds, u
 		break;
 	case DW_FORM_strp:
 		atref.u[0].u64 = dbg->read(ds->ds_data, offsetp, dwarf_size);
-		str = _dwarf_find_section(dbg, ".debug_str");
-		assert(str != NULL);
-		atref.u[1].s = (char *) str->ds_data + atref.u[0].u64;
+		atref.u[1].s = _dwarf_strtab_get_table(dbg) + atref.u[0].u64;
 		break;
 	case DW_FORM_ref_sig8:
 		atref.u[0].u64 = 8;

Modified: projects/fuse2/contrib/elftoolchain/libelftc/elftc_string_table.c
==============================================================================
--- projects/fuse2/contrib/elftoolchain/libelftc/elftc_string_table.c	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/contrib/elftoolchain/libelftc/elftc_string_table.c	Thu Jun 27 23:50:54 2019	(r349479)
@@ -44,7 +44,7 @@ ELFTC_VCSID("$Id: elftc_string_table.c 2869 2013-01-06
 #define	ELFTC_STRING_TABLE_POOL_SIZE_INCREMENT		(4*1024)
 
 struct _Elftc_String_Table_Entry {
-	int		ste_idx;
+	ssize_t		ste_idx;
 	SLIST_ENTRY(_Elftc_String_Table_Entry) ste_next;
 };
 
@@ -64,9 +64,9 @@ struct _Elftc_String_Table_Entry {
 	} while (0)
 
 struct _Elftc_String_Table {
-	unsigned int		st_len; /* length and flags */
+	size_t		st_len; /* length and flags */
 	int		st_nbuckets;
-	int		st_string_pool_size;
+	size_t		st_string_pool_size;
 	char		*st_string_pool;
 	SLIST_HEAD(_Elftc_String_Table_Bucket,
 	    _Elftc_String_Table_Entry) st_buckets[];
@@ -86,7 +86,7 @@ elftc_string_table_find_hash_entry(Elftc_String_Table 
 		*rhashindex = hashindex;
 
 	SLIST_FOREACH(ste, &st->st_buckets[hashindex], ste_next) {
-		s = st->st_string_pool + abs(ste->ste_idx);
+		s = st->st_string_pool + labs(ste->ste_idx);
 
 		assert(s > st->st_string_pool &&
 		    s < st->st_string_pool + st->st_string_pool_size);
@@ -102,7 +102,7 @@ static int
 elftc_string_table_add_to_pool(Elftc_String_Table *st, const char *string)
 {
 	char *newpool;
-	int len, newsize, stlen;
+	size_t len, newsize, stlen;
 
 	len = strlen(string) + 1; /* length, including the trailing NUL */
 	stlen = ELFTC_STRING_TABLE_LENGTH(st);
@@ -119,17 +119,17 @@ elftc_string_table_add_to_pool(Elftc_String_Table *st,
 		st->st_string_pool_size = newsize;
 	}
 
-	strcpy(st->st_string_pool + stlen, string);
+	memcpy(st->st_string_pool + stlen, string, len);
 	ELFTC_STRING_TABLE_UPDATE_LENGTH(st, stlen + len);
 
 	return (stlen);
 }
 
 Elftc_String_Table *
-elftc_string_table_create(int sizehint)
+elftc_string_table_create(size_t sizehint)
 {
-	int n, nbuckets, tablesize;
 	struct _Elftc_String_Table *st;
+	int n, nbuckets, tablesize;
 
 	if (sizehint < ELFTC_STRING_TABLE_DEFAULT_SIZE)
 		sizehint = ELFTC_STRING_TABLE_DEFAULT_SIZE;
@@ -173,13 +173,13 @@ elftc_string_table_destroy(Elftc_String_Table *st)
 }
 
 Elftc_String_Table *
-elftc_string_table_from_section(Elf_Scn *scn, int sizehint)
+elftc_string_table_from_section(Elf_Scn *scn, size_t sizehint)
 {
-	int len;
 	Elf_Data *d;
 	GElf_Shdr sh;
 	const char *s, *end;
 	Elftc_String_Table *st;
+	size_t len;
 
 	/* Verify the type of the section passed in. */
 	if (gelf_getshdr(scn, &sh) == NULL ||
@@ -235,7 +235,8 @@ elftc_string_table_image(Elftc_String_Table *st, size_
 	char *r, *s, *end;
 	struct _Elftc_String_Table_Entry *ste;
 	struct _Elftc_String_Table_Bucket *head;
-	int copied, hashindex, offset, length, newsize;
+	size_t copied, offset, length, newsize;
+	int hashindex;
 
 	/*
 	 * For the common case of a string table has not seen
@@ -303,8 +304,9 @@ elftc_string_table_image(Elftc_String_Table *st, size_
 size_t
 elftc_string_table_insert(Elftc_String_Table *st, const char *string)
 {
-	int hashindex, idx;
 	struct _Elftc_String_Table_Entry *ste;
+	ssize_t idx;
+	int hashindex;
 
 	hashindex = 0;
 
@@ -326,7 +328,7 @@ elftc_string_table_insert(Elftc_String_Table *st, cons
 
 	idx = ste->ste_idx;
 	if (idx < 0) 		/* Undelete. */
-		ste->ste_idx = idx = (- idx);
+		ste->ste_idx = idx = -idx;
 
 	return (idx);
 }
@@ -334,8 +336,9 @@ elftc_string_table_insert(Elftc_String_Table *st, cons
 size_t
 elftc_string_table_lookup(Elftc_String_Table *st, const char *string)
 {
-	int hashindex, idx;
 	struct _Elftc_String_Table_Entry *ste;
+	ssize_t idx;
+	int hashindex;
 
 	ste = elftc_string_table_find_hash_entry(st, string, &hashindex);
 
@@ -350,17 +353,17 @@ elftc_string_table_lookup(Elftc_String_Table *st, cons
 int
 elftc_string_table_remove(Elftc_String_Table *st, const char *string)
 {
-	int idx;
 	struct _Elftc_String_Table_Entry *ste;
+	ssize_t idx;
 
 	ste = elftc_string_table_find_hash_entry(st, string, NULL);
 
 	if (ste == NULL || (idx = ste->ste_idx) < 0)
 		return (ELFTC_FAILURE);
 
-	assert(idx > 0 && idx < (int) ELFTC_STRING_TABLE_LENGTH(st));
+	assert(idx > 0 && (size_t)idx < ELFTC_STRING_TABLE_LENGTH(st));
 
-	ste->ste_idx = (- idx);
+	ste->ste_idx = -idx;
 
 	ELFTC_STRING_TABLE_SET_COMPACTION_FLAG(st);
 

Modified: projects/fuse2/contrib/elftoolchain/libelftc/elftc_string_table_create.3
==============================================================================
--- projects/fuse2/contrib/elftoolchain/libelftc/elftc_string_table_create.3	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/contrib/elftoolchain/libelftc/elftc_string_table_create.3	Thu Jun 27 23:50:54 2019	(r349479)
@@ -24,7 +24,7 @@
 .\"
 .\" $Id: elftc_string_table_create.3 3645 2018-10-15 20:17:14Z jkoshy $
 .\"
-.Dd January 5, 2013
+.Dd June 19, 2019
 .Dt ELFTC_STRING_TABLE_CREATE 3
 .Os
 .Sh NAME
@@ -40,11 +40,11 @@
 .Sh SYNOPSIS
 .In libelftc.h
 .Ft "Elftc_String_Table *"
-.Fn elftc_string_table_create "int sizehint"
-.Ft int
+.Fn elftc_string_table_create "size_t sizehint"
+.Ft void
 .Fn elftc_string_table_destroy "Elftc_String_Table *table"
 .Ft "Elftc_String_Table *"
-.Fn elftc_string_table_from_section "Elf_Scn *scn" "int sizehint"
+.Fn elftc_string_table_from_section "Elf_Scn *scn" "size_t sizehint"
 .Ft "const char *"
 .Fo elftc_string_table_image
 .Fa "Elftc_String_Table *table"

Modified: projects/fuse2/contrib/elftoolchain/libelftc/libelftc.h
==============================================================================
--- projects/fuse2/contrib/elftoolchain/libelftc/libelftc.h	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/contrib/elftoolchain/libelftc/libelftc.h	Thu Jun 27 23:50:54 2019	(r349479)
@@ -77,10 +77,10 @@ int		elftc_demangle(const char *_mangledname, char *_b
     size_t _bufsize, unsigned int _flags);
 const char	*elftc_reloc_type_str(unsigned int mach, unsigned int type);
 int		elftc_set_timestamps(const char *_filename, struct stat *_sb);
-Elftc_String_Table	*elftc_string_table_create(int _hint);
+Elftc_String_Table	*elftc_string_table_create(size_t _sizehint);
 void		elftc_string_table_destroy(Elftc_String_Table *_table);
 Elftc_String_Table	*elftc_string_table_from_section(Elf_Scn *_scn,
-    int _hint);
+    size_t _sizehint);
 const char	*elftc_string_table_image(Elftc_String_Table *_table,
     size_t *_sz);
 size_t		elftc_string_table_insert(Elftc_String_Table *_table,

Modified: projects/fuse2/contrib/gcc/config/rs6000/tramp.asm
==============================================================================
--- projects/fuse2/contrib/gcc/config/rs6000/tramp.asm	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/contrib/gcc/config/rs6000/tramp.asm	Thu Jun 27 23:50:54 2019	(r349479)
@@ -38,6 +38,7 @@
 	.file	"tramp.asm"
 	.section ".text"
 	#include "ppc-asm.h"
+	#include "auto-host.h"
 
 #ifndef __powerpc64__
 	.type	trampoline_initial,@object
@@ -105,7 +106,7 @@ FUNC_START(__trampoline_setup)
 	blr
 
 .Labort:
-#if defined SHARED && defined HAVE_AS_REL16
+#if (defined(__PIC__) || defined(__pic__)) && defined HAVE_AS_REL16
 	bcl	20,31,1f
 1:	mflr	r30
 	addis	r30,r30,_GLOBAL_OFFSET_TABLE_-1b@ha

Modified: projects/fuse2/contrib/ipfilter/man/ipmon.8
==============================================================================
--- projects/fuse2/contrib/ipfilter/man/ipmon.8	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/contrib/ipfilter/man/ipmon.8	Thu Jun 27 23:50:54 2019	(r349479)
@@ -27,7 +27,7 @@ ipmon \- monitors /dev/ipl for logged packets
 .LP
 \fBipmon\fP opens \fB/dev/ipl\fP for reading and awaits data to be saved from
 the packet filter.  The binary data read from the device is reprinted in
-human readable for, however, IP#'s are not mapped back to hostnames, nor are
+human readable form, however, IP#'s are not mapped back to hostnames, nor are
 ports mapped back to service names.  The output goes to standard output by
 default or a filename, if given on the command line.  Should the \fB\-s\fP
 option be used, output is instead sent to \fBsyslogd(8)\fP.  Messages sent

Modified: projects/fuse2/contrib/ipfilter/tools/ipmon.c
==============================================================================
--- projects/fuse2/contrib/ipfilter/tools/ipmon.c	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/contrib/ipfilter/tools/ipmon.c	Thu Jun 27 23:50:54 2019	(r349479)
@@ -1438,7 +1438,10 @@ printipflog:
 static void usage(prog)
 	char *prog;
 {
-	fprintf(stderr, "%s: [-NFhstvxX] [-f <logfile>]\n", prog);
+	fprintf(stderr, "Usage: %s [ -abDFhnpstvxX ] [ -B <binary-logfile> ] [ -C <config-file> ]\n"
+		"\t[ -f <device> ] [ -L <facility> ] [ -N <device> ]\n"
+		"\t[ -o [NSI] ] [ -O [NSI] ] [ -P <pidfile> ] [ -S <device> ]\n"
+		"\t[ <filename> ]\n", prog);
 	exit(1);
 }
 

Modified: projects/fuse2/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
==============================================================================
--- projects/fuse2/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.cpp	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/contrib/llvm/lib/Target/PowerPC/PPCSubtarget.cpp	Thu Jun 27 23:50:54 2019	(r349479)
@@ -138,7 +138,8 @@ void PPCSubtarget::initSubtargetFeatures(StringRef CPU
   if (isDarwin())
     HasLazyResolverStubs = true;
 
-  if (TargetTriple.isOSNetBSD() || TargetTriple.isOSOpenBSD())
+  if ((TargetTriple.isOSFreeBSD() && TargetTriple.getOSMajorVersion() >= 13)
+      || TargetTriple.isOSNetBSD() || TargetTriple.isOSOpenBSD())
     SecurePlt = true;
 
   if (HasSPE && IsPPC64)

Modified: projects/fuse2/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/PPC.cpp
==============================================================================
--- projects/fuse2/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/PPC.cpp	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/PPC.cpp	Thu Jun 27 23:50:54 2019	(r349479)
@@ -116,7 +116,8 @@ ppc::ReadGOTPtrMode ppc::getPPCReadGOTPtrMode(const Dr
                                               const ArgList &Args) {
   if (Args.getLastArg(options::OPT_msecure_plt))
     return ppc::ReadGOTPtrMode::SecurePlt;
-  if (Triple.isOSOpenBSD())
+  if ((Triple.isOSFreeBSD() && Triple.getOSMajorVersion() >= 13) ||
+      Triple.isOSOpenBSD())
     return ppc::ReadGOTPtrMode::SecurePlt;
   else
     return ppc::ReadGOTPtrMode::Bss;

Modified: projects/fuse2/etc/mtree/BSD.include.dist
==============================================================================
--- projects/fuse2/etc/mtree/BSD.include.dist	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/etc/mtree/BSD.include.dist	Thu Jun 27 23:50:54 2019	(r349479)
@@ -138,8 +138,6 @@
             mpilib
             ..
         ..
-        nand
-        ..
         nvme
         ..
         ofw
@@ -183,8 +181,6 @@
         fdescfs
         ..
         msdosfs
-        ..
-        nandfs
         ..
         nfs
         ..

Modified: projects/fuse2/gnu/usr.bin/cc/cc_tools/Makefile.hdrs
==============================================================================
--- projects/fuse2/gnu/usr.bin/cc/cc_tools/Makefile.hdrs	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/gnu/usr.bin/cc/cc_tools/Makefile.hdrs	Thu Jun 27 23:50:54 2019	(r349479)
@@ -21,6 +21,9 @@ TARGET_INC+=	${GCC_CPU}/${GCC_CPU}.h
 TARGET_INC+=	${GCC_CPU}/unix.h
 TARGET_INC+=	${GCC_CPU}/att.h
 .endif
+.if ${TARGET_CPUARCH} == "powerpc"
+TARGET_INC+=	${GCC_CPU}/secureplt.h
+.endif
 TARGET_INC+=	dbxelf.h
 TARGET_INC+=	elfos-undef.h
 TARGET_INC+=	elfos.h

Modified: projects/fuse2/include/Makefile
==============================================================================
--- projects/fuse2/include/Makefile	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/include/Makefile	Thu Jun 27 23:50:54 2019	(r349479)
@@ -48,7 +48,7 @@ LSUBDIRS=	cam/ata cam/mmc cam/nvme cam/scsi \
 	dev/ic dev/iicbus dev/io dev/mfi dev/mmc dev/nvme \
 	dev/ofw dev/pbio dev/pci ${_dev_powermac_nvram} dev/ppbus dev/pwm \
 	dev/smbus dev/speaker dev/tcp_log dev/veriexec dev/vkbd dev/wi \
-	fs/devfs fs/fdescfs fs/msdosfs fs/nandfs fs/nfs fs/nullfs \
+	fs/devfs fs/fdescfs fs/msdosfs fs/nfs fs/nullfs \
 	fs/procfs fs/smbfs fs/udf fs/unionfs \
 	geom/cache geom/concat geom/eli geom/gate geom/journal geom/label \
 	geom/mirror geom/mountver geom/multipath geom/nop \
@@ -158,7 +158,7 @@ copies: .PHONY .META
 		done; \
 	fi
 .endfor
-.for i in ${LDIRS} ${LSUBDIRS:Ndev/agp:Ndev/acpica:Ndev/bktr:Ndev/evdev:Ndev/hyperv:Ndev/nand:Ndev/pci:Ndev/veriexec} ${LSUBSUBDIRS}
+.for i in ${LDIRS} ${LSUBDIRS:Ndev/agp:Ndev/acpica:Ndev/bktr:Ndev/evdev:Ndev/hyperv:Ndev/pci:Ndev/veriexec} ${LSUBSUBDIRS}
 	cd ${SRCTOP}/sys; \
 	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 $i/*.h \
 	    ${SDESTDIR}${INCLUDEDIR}/$i
@@ -174,13 +174,6 @@ copies: .PHONY .META
 	cd ${SRCTOP}/sys/dev/bktr; \
 	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 ioctl_*.h \
 	    ${SDESTDIR}${INCLUDEDIR}/dev/bktr
-.if ${MK_NAND} != "no"
-	cd ${SRCTOP}/sys/dev/nand; \
-	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 nandsim.h \
-	    ${SDESTDIR}${INCLUDEDIR}/dev/nand; \
-	${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 nand_dev.h \
-	    ${SDESTDIR}${INCLUDEDIR}/dev/nand
-.endif
 	cd ${SRCTOP}/sys/dev/evdev; \
 	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 input.h \
 	    ${SDESTDIR}${INCLUDEDIR}/dev/evdev; \
@@ -268,7 +261,7 @@ symlinks: .PHONY .META
 		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../sys/$i/$$h ${SDESTDIR}${INCLUDEDIR}/$i; \
 	done
 .endfor
-.for i in ${LSUBDIRS:Ndev/agp:Ndev/acpica:Ndev/bktr:Ndev/evdev:Ndev/hyperv:Ndev/nand:Ndev/pci:Ndev/veriexec}
+.for i in ${LSUBDIRS:Ndev/agp:Ndev/acpica:Ndev/bktr:Ndev/evdev:Ndev/hyperv:Ndev/pci:Ndev/veriexec}
 	cd ${SRCTOP}/sys/$i; \
 	for h in *.h; do \
 		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../../sys/$i/$$h ${SDESTDIR}${INCLUDEDIR}/$i; \
@@ -289,13 +282,6 @@ symlinks: .PHONY .META
 		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../../sys/dev/bktr/$$h \
 		    ${SDESTDIR}${INCLUDEDIR}/dev/bktr; \
 	done
-.if ${MK_NAND} != "no"
-	cd ${SRCTOP}/sys/dev/nand; \
-	for h in nandsim.h nand_dev.h; do \
-		${INSTALL_SYMLINK} ${TAG_ARGS} ../../../../sys/dev/nand/$$h \
-		    ${SDESTDIR}${INCLUDEDIR}/dev/nand; \
-	done
-.endif
 	cd ${SRCTOP}/sys/dev/evdev; \
 	for h in input.h input-event-codes.h uinput.h; do \
 		ln -fs ../../../../sys/dev/evdev/$$h \

Modified: projects/fuse2/lib/Makefile
==============================================================================
--- projects/fuse2/lib/Makefile	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/lib/Makefile	Thu Jun 27 23:50:54 2019	(r349479)
@@ -174,7 +174,6 @@ SUBDIR.${MK_GOOGLETEST}+=	googletest
 SUBDIR.${MK_LIBTHR}+=	libthr
 SUBDIR.${MK_LLVM_LIBUNWIND}+=	libgcc_eh
 SUBDIR.${MK_LLVM_LIBUNWIND}+=	libgcc_s
-SUBDIR.${MK_NAND}+=	libnandfs
 SUBDIR.${MK_NETGRAPH}+=	libnetgraph
 SUBDIR.${MK_NIS}+=	libypclnt
 

Modified: projects/fuse2/lib/libbe/be_access.c
==============================================================================
--- projects/fuse2/lib/libbe/be_access.c	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/lib/libbe/be_access.c	Thu Jun 27 23:50:54 2019	(r349479)
@@ -89,25 +89,31 @@ be_mount_iter(zfs_handle_t *zfs_hdl, void *data)
 		return (0);
 	}
 
-	if (zfs_prop_get_int(zfs_hdl, ZFS_PROP_CANMOUNT) == ZFS_CANMOUNT_OFF)
-		return (0);
+	/*
+	 * canmount and mountpoint are both ignored for the BE dataset, because
+	 * the rest of the system (kernel and loader) will effectively do the
+	 * same.
+	 */
+	if (info->depth == 0) {
+		snprintf(tmp, BE_MAXPATHLEN, "%s", info->mountpoint);
+	} else {
+		if (zfs_prop_get_int(zfs_hdl, ZFS_PROP_CANMOUNT) ==
+		    ZFS_CANMOUNT_OFF)
+			return (0);
 
-	if (zfs_prop_get(zfs_hdl, ZFS_PROP_MOUNTPOINT, zfs_mnt, BE_MAXPATHLEN,
-	    NULL, NULL, 0, 1))
-		return (1);
+		if (zfs_prop_get(zfs_hdl, ZFS_PROP_MOUNTPOINT, zfs_mnt,
+		    BE_MAXPATHLEN, NULL, NULL, 0, 1))
+			return (1);
 
-	if (strcmp("none", zfs_mnt) == 0) {
 		/*
-		 * mountpoint=none; we'll mount it at info->mountpoint assuming
-		 * we're at the root.  If we're not at the root, we're likely
-		 * at some intermediate dataset (e.g. zroot/var) that will have
-		 * children that may need to be mounted.
+		 * We've encountered mountpoint=none at some intermediate
+		 * dataset (e.g. zroot/var) that will have children that may
+		 * need to be mounted.  Skip mounting it, but iterate through
+		 * the children.
 		 */
-		if (info->depth > 0)
+		if (strcmp("none", zfs_mnt) == 0)
 			goto skipmount;
 
-		snprintf(tmp, BE_MAXPATHLEN, "%s", info->mountpoint);
-	} else {
 		mountpoint = be_mountpoint_augmented(info->lbh, zfs_mnt);
 		snprintf(tmp, BE_MAXPATHLEN, "%s%s", info->mountpoint,
 		    mountpoint);

Modified: projects/fuse2/lib/libc/gen/Symbol.map
==============================================================================
--- projects/fuse2/lib/libc/gen/Symbol.map	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/lib/libc/gen/Symbol.map	Thu Jun 27 23:50:54 2019	(r349479)
@@ -338,6 +338,7 @@ FBSD_1.2 {
 	getutxid;
 	getutxline;
 	getutxuser;
+	pthread_getthreadid_np;
 	pututxline;
 	sem_close;
 	sem_destroy;

Modified: projects/fuse2/lib/libc/gen/_pthread_stubs.c
==============================================================================
--- projects/fuse2/lib/libc/gen/_pthread_stubs.c	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/lib/libc/gen/_pthread_stubs.c	Thu Jun 27 23:50:54 2019	(r349479)
@@ -130,6 +130,7 @@ pthread_func_entry_t __thr_jtable[PJT_MAX] = {
 	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_MUTEX_CONSISTENT */
 	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_MUTEXATTR_GETROBUST */
 	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_MUTEXATTR_SETROBUST */
+	{PJT_DUAL_ENTRY(stub_zero)},	/* PJT_GETTHREADID_NP */
 };
 
 /*
@@ -248,6 +249,7 @@ STUB_FUNC1(pthread_rwlock_trywrlock, PJT_RWLOCK_TRYWRL
 STUB_FUNC1(pthread_rwlock_unlock, PJT_RWLOCK_UNLOCK, int, void *)
 STUB_FUNC1(pthread_rwlock_wrlock, PJT_RWLOCK_WRLOCK, int, void *)
 STUB_FUNC(pthread_self,		PJT_SELF, pthread_t)
+STUB_FUNC(pthread_getthreadid_np, PJT_GETTHREADID_NP, int)
 STUB_FUNC2(pthread_setspecific, PJT_SETSPECIFIC, int, pthread_key_t, void *)
 STUB_FUNC3(pthread_sigmask, PJT_SIGMASK, int, int, void *, void *)
 STUB_FUNC3(pthread_atfork, PJT_ATFORK, int, void *, void *, void*)

Modified: projects/fuse2/lib/libc/gen/libc_dlopen.c
==============================================================================
--- projects/fuse2/lib/libc/gen/libc_dlopen.c	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/lib/libc/gen/libc_dlopen.c	Thu Jun 27 23:50:54 2019	(r349479)
@@ -48,8 +48,8 @@ libc_dlopen(const char *path, int mode)
 	if (__libc_restricted_mode) {
 		_rtld_error("Service unavailable -- libc in restricted mode");
 		return (NULL);
-	} else
-		return (dlopen(path, mode));
+	}
+	return (dlopen(path, mode));
 }
 
 void
@@ -57,6 +57,5 @@ __FreeBSD_libc_enter_restricted_mode(void)
 {
 
 	__libc_restricted_mode = 1;
-	return;
 }
 

Modified: projects/fuse2/lib/libc/gen/opendir.c
==============================================================================
--- projects/fuse2/lib/libc/gen/opendir.c	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/lib/libc/gen/opendir.c	Thu Jun 27 23:50:54 2019	(r349479)
@@ -99,8 +99,8 @@ static int
 opendir_compar(const void *p1, const void *p2)
 {
 
-	return (strcmp((*(const struct dirent **)p1)->d_name,
-	    (*(const struct dirent **)p2)->d_name));
+	return (strcmp((*(const struct dirent * const *)p1)->d_name,
+	    (*(const struct dirent * const *)p2)->d_name));
 }
 
 /*

Modified: projects/fuse2/lib/libc/gen/telldir.c
==============================================================================
--- projects/fuse2/lib/libc/gen/telldir.c	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/lib/libc/gen/telldir.c	Thu Jun 27 23:50:54 2019	(r349479)
@@ -63,8 +63,8 @@ telldir(DIR *dirp)
 	 * 2) Otherwise, see if it's already been recorded in the linked list
 	 * 3) Otherwise, malloc a new one
 	 */
-	if (dirp->dd_seek < (1ul << DD_SEEK_BITS) &&
-	    dirp->dd_loc < (1ul << DD_LOC_BITS)) {
+	if (dirp->dd_seek < (off_t)(1l << DD_SEEK_BITS) &&
+	    dirp->dd_loc < (1l << DD_LOC_BITS)) {
 		ddloc.s.is_packed = 1;
 		ddloc.s.loc = dirp->dd_loc;
 		ddloc.s.seek = dirp->dd_seek;

Modified: projects/fuse2/lib/libc/include/libc_private.h
==============================================================================
--- projects/fuse2/lib/libc/include/libc_private.h	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/lib/libc/include/libc_private.h	Thu Jun 27 23:50:54 2019	(r349479)
@@ -176,6 +176,7 @@ typedef enum {
 	PJT_MUTEX_CONSISTENT,
 	PJT_MUTEXATTR_GETROBUST,
 	PJT_MUTEXATTR_SETROBUST,
+	PJT_GETTHREADID_NP,
 	PJT_MAX
 } pjt_index_t;
 

Modified: projects/fuse2/lib/libc/powerpc/SYS.h
==============================================================================
--- projects/fuse2/lib/libc/powerpc/SYS.h	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/lib/libc/powerpc/SYS.h	Thu Jun 27 23:50:54 2019	(r349479)
@@ -44,7 +44,7 @@
 #define	SYSCALL(name)						\
 	.text;							\
 	.align 2;						\
-2:	b	PIC_PLT(CNAME(HIDENAME(cerror)));		\
+2:	b	CNAME(HIDENAME(cerror));			\
 ENTRY(__sys_##name);						\
 	WEAK_REFERENCE(__sys_##name, name);			\
 	WEAK_REFERENCE(__sys_##name, _##name);			\
@@ -58,15 +58,14 @@ ENTRY(__sys_##name);						\
 	WEAK_REFERENCE(__sys_##name, _##name);			\
 	_SYSCALL(name);						\
 	bnslr;							\
-	b	PIC_PLT(CNAME(HIDENAME(cerror)))
+	b	CNAME(HIDENAME(cerror))
 
 #define	RSYSCALL(name)						\
 	.text;							\
 	.align 2;						\
-2:	b	PIC_PLT(CNAME(HIDENAME(cerror)));		\
 ENTRY(__sys_##name);						\
 	WEAK_REFERENCE(__sys_##name, name);			\
 	WEAK_REFERENCE(__sys_##name, _##name);			\
 	_SYSCALL(name);						\
 	bnslr;							\
-	b	PIC_PLT(CNAME(HIDENAME(cerror)))
+	b	CNAME(HIDENAME(cerror))

Modified: projects/fuse2/lib/libc/powerpc/gen/_ctx_start.S
==============================================================================
--- projects/fuse2/lib/libc/powerpc/gen/_ctx_start.S	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/lib/libc/powerpc/gen/_ctx_start.S	Thu Jun 27 23:50:54 2019	(r349479)
@@ -35,11 +35,18 @@
 	mtlr	%r14
 	blrl			/* branch to start function */
 	mr	%r3,%r15	/* pass pointer to ucontext as argument */
-	bl	PIC_PLT(CNAME(_ctx_done)) /* branch to ctxt completion func */
+	bl	CNAME(_ctx_done) /* branch to ctxt completion func */
+
 	/*
 	 * we should never return from the
 	 * above branch.
 	 */
+	/* Don't bother saving off %r30, we're already in a bad state. */
+	bcl	20,31,1f
+1:	mflr	%r30
+	mr	%r3,%r30		# save for _DYNAMIC
+	addis	%r30,%r30,_GLOBAL_OFFSET_TABLE_-1b@ha
+	addi	%r30,%r30,_GLOBAL_OFFSET_TABLE_-1b@l
 	bl	PIC_PLT(CNAME(abort))	/* abort */
  END(_cts_start)
 

Modified: projects/fuse2/lib/libc/powerpc/sys/cerror.S
==============================================================================
--- projects/fuse2/lib/libc/powerpc/sys/cerror.S	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/lib/libc/powerpc/sys/cerror.S	Thu Jun 27 23:50:54 2019	(r349479)
@@ -40,16 +40,27 @@ __FBSDID("$FreeBSD$");
 	 */
 HIDENAME(cerror):
 	mflr	%r0
-	stwu	%r1,-16(%r1)		/* allocate new stack frame */
-	stw	%r0,20(%r1)		/* and save lr, r31 */
-	stw	%r31,8(%r1)
+	stwu	%r1,-20(%r1)		/* allocate new stack frame */
+	stw	%r0,24(%r1)		/* and save lr, r31 */
+	stw	%r31,12(%r1)
+#ifdef __PIC__
+	stw	%r30,8(%r1)
+	bcl	20,31,1f
+1:
+	mflr	%r30
+	addis	%r30,%r30,_GLOBAL_OFFSET_TABLE_-1b@ha
+	addi	%r30,%r30,_GLOBAL_OFFSET_TABLE_-1b@l
+#endif
 	mr	%r31,%r3          /* stash errval in callee-saved register */
 	bl	PIC_PLT(CNAME(__error))
 	stw	%r31,0(%r3)		/* store errval into &errno */
-	lwz	%r0,20(%r1)
-	lwz	%r31,8(%r1)
+	lwz	%r0,24(%r1)
+	lwz	%r31,12(%r1)
+#ifdef __PIC__
+	lwz	%r30,8(%r1)
+#endif
 	mtlr	%r0
-	la	%r1,16(%r1)
+	la	%r1,20(%r1)
 	li	%r3,-1
 	li	%r4,-1
 	blr				/* return to callers caller */

Modified: projects/fuse2/lib/libc/stdlib/realpath.c
==============================================================================
--- projects/fuse2/lib/libc/stdlib/realpath.c	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/lib/libc/stdlib/realpath.c	Thu Jun 27 23:50:54 2019	(r349479)
@@ -91,7 +91,7 @@ realpath1(const char *path, char *resolved)
 		 */
 		p = strchr(left, '/');
 
-		next_token_len = p != NULL ? p - left : left_len;
+		next_token_len = p != NULL ? (size_t)(p - left) : left_len;
 		memcpy(next_token, left, next_token_len);
 		next_token[next_token_len] = '\0';
 
@@ -146,7 +146,7 @@ realpath1(const char *path, char *resolved)
 				return (NULL);
 			}
 			slen = readlink(resolved, symlink, sizeof(symlink));
-			if (slen <= 0 || slen >= sizeof(symlink)) {
+			if (slen <= 0 || slen >= (ssize_t)sizeof(symlink)) {
 				if (slen < 0)
 					; /* keep errno from readlink(2) call */
 				else if (slen == 0)
@@ -173,7 +173,7 @@ realpath1(const char *path, char *resolved)
 			 */
 			if (p != NULL) {
 				if (symlink[slen - 1] != '/') {
-					if (slen + 1 >= sizeof(symlink)) {
+					if (slen + 1 >= (ssize_t)sizeof(symlink)) {
 						errno = ENAMETOOLONG;
 						return (NULL);
 					}

Modified: projects/fuse2/lib/libc/sys/mmap.2
==============================================================================
--- projects/fuse2/lib/libc/sys/mmap.2	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/lib/libc/sys/mmap.2	Thu Jun 27 23:50:54 2019	(r349479)
@@ -28,7 +28,7 @@
 .\"	@(#)mmap.2	8.4 (Berkeley) 5/11/95
 .\" $FreeBSD$
 .\"
-.Dd June 22, 2017
+.Dd June 20, 2019
 .Dt MMAP 2
 .Os
 .Sh NAME
@@ -113,6 +113,22 @@ Pages may be written.
 Pages may be executed.
 .El
 .Pp
+In addition to these protection flags,
+.Fx
+provides the ability to set the maximum protection of a region allocated by
+.Nm
+and later altered by
+.Xr mprotect 2 .
+This is accomplished by
+.Em or Ns 'ing
+one or more
+.Dv PROT_
+values wrapped in the
+.Dv PROT_MAX()
+macro into the
+.Fa prot
+argument.
+.Pp
 The
 .Fa flags
 argument specifies the type of the mapped object, mapping options and
@@ -416,6 +432,11 @@ An invalid value was passed in the
 .Fa prot
 argument.
 .It Bq Er EINVAL
+The
+.Fa prot
+argument contains permissions which are not a subset of the specified
+maximum permissions.
+.It Bq Er EINVAL
 An undefined option was set in the
 .Fa flags
 argument.
@@ -521,3 +542,16 @@ was specified and insufficient memory was available.
 .Xr munmap 2 ,
 .Xr getpagesize 3 ,
 .Xr getpagesizes 3
+.Sh HISTORY
+The
+.Nm
+system call was first documented in
+.Bx 4.2
+and implemented in
+.Bx 4.4 .
+.\" XXX: lots of missing history of FreeBSD additions.
+.Pp
+The
+.Dv PROT_MAX
+functionality was introduced in
+.Fx 13 .

Modified: projects/fuse2/lib/libc/sys/mprotect.2
==============================================================================
--- projects/fuse2/lib/libc/sys/mprotect.2	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/lib/libc/sys/mprotect.2	Thu Jun 27 23:50:54 2019	(r349479)
@@ -28,7 +28,7 @@
 .\"	@(#)mprotect.2	8.1 (Berkeley) 6/9/93
 .\" $FreeBSD$
 .\"
-.Dd August 3, 2016
+.Dd June 20, 2019
 .Dt MPROTECT 2
 .Os
 .Sh NAME
@@ -65,6 +65,22 @@ The pages can be written.
 .It Dv PROT_EXEC
 The pages can be executed.
 .El
+.Pp
+In addition to these protection flags,
+.Fx
+provides the ability to set the maximum protection of a region
+(which prevents
+.Nm
+from upgrading the permissions).
+This is accomplished by
+.Em or Ns 'ing
+one or more
+.Dv PROT_
+values wrapped in the
+.Dv PROT_MAX()
+macro into the
+.Fa prot
+argument.
 .Sh RETURN VALUES
 .Rv -std mprotect
 .Sh ERRORS
@@ -78,6 +94,15 @@ The virtual address range specified by the
 and
 .Fa len
 arguments is not valid.
+.It Bq Er EINVAL
+The
+.Fa prot
+argument contains unhandled bits.
+.It Bq Er EINVAL
+The
+.Fa prot
+argument contains permissions which are not a subset of the specified
+maximum permissions.
 .It Bq Er EACCES
 The calling process was not allowed to change
 the protection to the value specified by
@@ -93,5 +118,12 @@ argument.
 .Sh HISTORY
 The
 .Fn mprotect
-system call first appeared in
+system call was first documented in
+.Bx 4.2
+and first appeared in
 .Bx 4.4 .
+.Pp
+The
+.Dv PROT_MAX
+functionality was introduced in
+.Fx 13 .

Modified: projects/fuse2/lib/libjail/jail.c
==============================================================================
--- projects/fuse2/lib/libjail/jail.c	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/lib/libjail/jail.c	Thu Jun 27 23:50:54 2019	(r349479)
@@ -30,7 +30,6 @@
 __FBSDID("$FreeBSD$");
 
 #include <sys/param.h>
-#include <sys/types.h>
 #include <sys/jail.h>
 #include <sys/linker.h>
 #include <sys/socket.h>

Modified: projects/fuse2/lib/libsecureboot/h/libsecureboot.h
==============================================================================
--- projects/fuse2/lib/libsecureboot/h/libsecureboot.h	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/lib/libsecureboot/h/libsecureboot.h	Thu Jun 27 23:50:54 2019	(r349479)
@@ -42,6 +42,7 @@
 
 #include <bearssl.h>
 
+unsigned char * read_fd(int, size_t);
 #ifndef NEED_BRSSL_H
 unsigned char * read_file(const char *, size_t *);
 #endif
@@ -51,8 +52,12 @@ extern int DebugVe;
 #define DEBUG_PRINTF(n, x) if (DebugVe >= n) printf x
 
 int ve_trust_init(void);
+size_t ve_trust_anchors_add_buf(unsigned char *, size_t);
+size_t ve_trust_anchors_revoke(unsigned char *, size_t);
 int ve_trust_add(const char *);
 void ve_debug_set(int);
+void ve_anchor_verbose_set(int);
+int ve_anchor_verbose_get(void);
 void ve_utc_set(time_t utc);
 char *ve_error_get(void);
 int ve_error_set(const char *, ...) __printflike(1,2);

Modified: projects/fuse2/lib/libsecureboot/libsecureboot-priv.h
==============================================================================
--- projects/fuse2/lib/libsecureboot/libsecureboot-priv.h	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/lib/libsecureboot/libsecureboot-priv.h	Thu Jun 27 23:50:54 2019	(r349479)
@@ -56,6 +56,8 @@ int is_verified(struct stat *stp);
 void add_verify_status(struct stat *stp, int status);
 
 int openpgp_trust_init(void);
+int openpgp_trust_add_buf(unsigned char *, size_t);
+int openpgp_trust_revoke(const char *);
 int openpgp_self_tests(void);
 
 int                     efi_secure_boot_enabled(void);

Modified: projects/fuse2/lib/libsecureboot/local.trust.mk
==============================================================================
--- projects/fuse2/lib/libsecureboot/local.trust.mk	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/lib/libsecureboot/local.trust.mk	Thu Jun 27 23:50:54 2019	(r349479)
@@ -33,6 +33,10 @@ VE_SIGNATURE_EXT_LIST+= \
 	sig
 .endif
 
+# add OpenPGP support - possibly dormant
+VE_SIGNATURE_LIST+= OPENPGP
+VE_SIGNATURE_EXT_LIST+= asc
+
 SIGNER ?= ${SB_TOOLS_PATH:U/volume/buildtools/bin}/sign.py
 
 .if exists(${SIGNER})
@@ -42,7 +46,12 @@ SIGN_ECDSA= ${PYTHON} ${SIGNER} -u ${SIGN_HOST}:${ECDS
 RSA2_PORT:= ${163%y:L:gmtime}
 SIGN_RSA2=   ${PYTHON} ${SIGNER} -u ${SIGN_HOST}:${RSA2_PORT} -h sha256
 
+# deal with quirk of our .esig format
+XCFLAGS.vets+= -DVE_ECDSA_HASH_AGAIN
+
 .if !empty(OPENPGP_SIGN_URL)
+XCFLAGS.opgp_key+= -DHAVE_TA_ASC_H
+
 VE_SIGNATURE_LIST+= OPENPGP
 VE_SIGNATURE_EXT_LIST+= asc
 

Modified: projects/fuse2/lib/libsecureboot/openpgp/opgp_key.c
==============================================================================
--- projects/fuse2/lib/libsecureboot/openpgp/opgp_key.c	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/lib/libsecureboot/openpgp/opgp_key.c	Thu Jun 27 23:50:54 2019	(r349479)
@@ -209,13 +209,54 @@ openpgp_trust_add(OpenPGP_key *key)
 
 		LIST_INIT(&trust_list);
 	}
-	if (key) {
-		DEBUG_PRINTF(2, ("openpgp_trust_add(%s)\n", key->id));
+	if (key && openpgp_trust_get(key->id) == NULL) {
+		if (ve_anchor_verbose_get())
+			printf("openpgp_trust_add(%s)\n", key->id);
 		LIST_INSERT_HEAD(&trust_list, key, entries);
 	}
 }
 
 /**
+ * @brief add trust anchor from buf
+ */
+int
+openpgp_trust_add_buf(unsigned char *buf, size_t nbytes)
+{
+	OpenPGP_key *key;
+
+	if ((key = load_key_buf(buf, nbytes))) {
+		openpgp_trust_add(key);
+	}
+	return (key != NULL);
+}
+
+
+/**
+ * @brief if keyID is in our list clobber it
+ *
+ * @return true if keyID removed
+ */
+int
+openpgp_trust_revoke(const char *keyID)
+{
+	OpenPGP_key *key, *tkey;
+
+	openpgp_trust_add(NULL);	/* initialize if needed */
+
+	LIST_FOREACH(key, &trust_list, entries) {
+		if (strcmp(key->id, keyID) == 0) {
+			tkey = key;
+			LIST_REMOVE(tkey, entries);
+			printf("openpgp_trust_revoke(%s)\n", key->id);
+			memset(key, 0, sizeof(OpenPGP_key));
+			free(key);
+			return (1);
+		}
+	}
+	return (0);
+}
+
+/**
  * @brief if keyID is in our list return the key
  *
  * @return key or NULL
@@ -251,7 +292,9 @@ load_key_file(const char *kfile)
 	return (key);
 }
 
+#ifdef HAVE_TA_ASC_H
 #include <ta_asc.h>
+#endif
 
 #ifndef _STANDALONE
 /* we can lookup keyID in filesystem */
@@ -330,8 +373,8 @@ openpgp_trust_init(void)
 				}
 			}
 		}
-	}
 #endif
+	}
 	return (once);
 }
 

Modified: projects/fuse2/lib/libsecureboot/readfile.c
==============================================================================
--- projects/fuse2/lib/libsecureboot/readfile.c	Thu Jun 27 23:39:06 2019	(r349478)
+++ projects/fuse2/lib/libsecureboot/readfile.c	Thu Jun 27 23:50:54 2019	(r349479)
@@ -28,21 +28,13 @@ __FBSDID("$FreeBSD$");
 #include <libsecureboot.h>
 
 unsigned char *
-read_file(const char *path, size_t *len)
+read_fd(int fd, size_t len)
 {
-	int fd, m, n, x;
-	struct stat st;
+	int m, n, x;
 	unsigned char *buf;
 
-	if (len)
-		*len = 0;
-	if ((fd = open(path, O_RDONLY)) < 0)
-		return (NULL);
-	fstat(fd, &st);
-	if (len)
-		*len = st.st_size;
-	buf = malloc(st.st_size + 1);
-	for (x = 0, m = st.st_size; m > 0; ) {
+	buf = malloc(len + 1);
+	for (x = 0, m = len; m > 0; ) {
 		n = read(fd, &buf[x], m);
 		if (n < 0)
 			break;
@@ -51,11 +43,30 @@ read_file(const char *path, size_t *len)
 			x += n;
 		}
 	}
-	close(fd);
 	if (m == 0) {
-		buf[st.st_size] = '\0';
+		buf[len] = '\0';
 		return (buf);
 	}
 	free(buf);
 	return (NULL);
 }
+
+unsigned char *
+read_file(const char *path, size_t *len)
+{
+	struct stat st;
+	unsigned char *ucp;
+	int fd;
+
+    	if (len)
+		*len = 0;
+	if ((fd = open(path, O_RDONLY)) < 0)
+		return (NULL);
+	fstat(fd, &st);
+	ucp = read_fd(fd, st.st_size);
+	close(fd);
+	if (len != NULL && ucp != NULL)

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201906272350.x5RNotjD045997>