From owner-svn-src-projects@freebsd.org Thu Jun 27 23:51:04 2019 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id ABEFE15D20A3 for ; Thu, 27 Jun 2019 23:51:03 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 55AEC776BF; Thu, 27 Jun 2019 23:51:03 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 184621EA67; Thu, 27 Jun 2019 23:51:03 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x5RNp26H046037; Thu, 27 Jun 2019 23:51:02 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x5RNotjD045997; Thu, 27 Jun 2019 23:50:55 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201906272350.x5RNotjD045997@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Thu, 27 Jun 2019 23:50:55 +0000 (UTC) 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... X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: in projects/fuse2: . contrib/elftoolchain/elfcopy contrib/elftoolchain/libdwarf contrib/elftoolchain/libelftc contrib/gcc/config/rs6000 contrib/ipfilter/man contrib/ipfilter/tools contrib/llvm/lib/Tar... X-SVN-Commit-Revision: 349479 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 55AEC776BF X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.96 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; NEURAL_HAM_SHORT(-0.96)[-0.958,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Jun 2019 23:51:04 -0000 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 ]\n", prog); + fprintf(stderr, "Usage: %s [ -abDFhnpstvxX ] [ -B ] [ -C ]\n" + "\t[ -f ] [ -L ] [ -N ]\n" + "\t[ -o [NSI] ] [ -O [NSI] ] [ -P ] [ -S ]\n" + "\t[ ]\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 -#include #include #include #include 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 +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 +#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 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 ***