aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* - Switch releng/12.0 from RC3 to RELEASE.upstream/12.0.0release/12.0.0Glen Barber2018-12-073-2/+5
| | | | | | | | | | | | | - Add the anticipated 12.0-RELEASE date to UPDATING. - Set a static __FreeBSD_version. - This one goes to 12. Approved by: re (implicit) Sponsored by: The FreeBSD Foundation Notes: svn path=/releng/12.0/; revision=341666 svn path=/release/12.0.0/; revision=341707; tag=release/12.0.0
* MFS12 r341490, r341493:Glen Barber2018-12-0510-9/+39
| | | | | | | | | | | | | | | | | | | | r341490 (markj): MFC r341442, r341443: Plug memory disclosures via ptrace(2). r341493 (garga): MFC r341464: Restore /var/crash permissions to 0750, as declared in mtree file. After r337337 it changed to 0755. As this would have otherwise been resolved as a post-release EN/SA from so@, this does not warrant adding RC4 to the 12.0 schedule. Approved by: re (implicit), so Sponsored by: The FreeBSD Foundation Notes: svn path=/releng/12.0/; revision=341603
* Fix insufficient bounds checking in bhyve(8) device model. [SA-18:14.bhyve]Gordon Tetlow2018-12-041-14/+15
| | | | | | | | | | | | Submitted by: jhb Reported by: Reno Robert Approved by: so Approved by: re (implicit) Security: FreeBSD-SA-18:14.bhyve Security: CVE-2018-17160 Notes: svn path=/releng/12.0/; revision=341487
* Update releng/12.0 from RC2 to RC3 as part of the 12.0-RELEASEGlen Barber2018-11-301-1/+1
| | | | | | | | | | cycle. Approved by: re (implicit) Sponsored by: The FreeBSD Foundation Notes: svn path=/releng/12.0/; revision=341271
* MFV: r341039, MFC: r341041, MF12: r341264Marius Strobl2018-11-291-5/+25
| | | | | | | | | | | | | | | Import CK as of 21d3e319407d19dece16ee317c757ffc54a452bc, which makes its sparcv9 atomics compatible with the FreeBSD kernel by using instructions which access the appropriate address space. Atomic operations within the kernel must access the nucleus address space instead of the default primary one. Without this change but the increased use of CK in the kernel, machines started to panic after some minutes of uptime due to an unresolvable fault in ck_pr_cas_64_value(). Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=341267
* MFC: r341016, MF12: r341261Marius Strobl2018-11-293-0/+11
| | | | | | | | | | | - Add a belated UPDATING entry for the ixlv(4) -> iavf(4) rename in r339338. - Likewise, add ixlv.4.gz to OLD_FILES, - and link if_ixlv.ko to if_iavf.ko in order to aid a bit in the transition. Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=341266
* MFstable/12 r341259:Mark Johnston2018-11-292-12/+34
| | | | | | | | | Add some additional length checks to the IPv4 fragmentation code. Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=341262
* MFstable/12 r341250:Mark Johnston2018-11-291-10/+12
| | | | | | | | | | Fix age_old_log() after r337468. PR: 233633 Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=341252
* MFstable/12 r341249:Mark Johnston2018-11-291-1/+2
| | | | | | | | | Update the free page count when blacklisting pages. Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=341251
* MFstable/12 r341238:Mark Johnston2018-11-293-2/+19
| | | | | | | | | Plug routing sysctl leaks. Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=341242
* MFS r341139:Oleg Bulyzhin2018-11-291-3/+3
| | | | | | | | | | | MFC r340724: Unbreak kernel build with VLAN_ARRAY defined. Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=341236
* MFS12 r341168:Yuri Pankov2018-11-291-9/+11
| | | | | | | | | | | | | | | MFC r340974: bectl: sync usage with man page, removing stray multibyte characters in the process. PR: 233526 Submitted by: tigersharke@gmail.com (original version) Reviewed by: kevans Approved by: re (gjb) Differential revision: https://reviews.freebsd.org/D18335 Notes: svn path=/releng/12.0/; revision=341175
* MFS12 r341167:Glen Barber2018-11-291-1/+1
| | | | | | | | | | | | | MFC r340983: Fix NTP query on GCE due to unresolved hostname. PR: 232456 Submitted by: Lucas Kanashiro Approved by: re (delphij) Sponsored by: The FreeBSD Foundation Notes: svn path=/releng/12.0/; revision=341169
* MFstable/12 r341082:Mark Johnston2018-11-281-9/+19
| | | | | | | | | | Ensure that knotes do not get registered when KQ_CLOSING is set. PR: 228858 Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=341159
* MFstable/12 r341077:Mark Johnston2018-11-281-1/+1
| | | | | | | | | | Lock the knlist before releasing the in-flux state in knote_fork(). PR: 228858 Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=341157
* MFstable/12 r341075:Mark Johnston2018-11-282-1/+4
| | | | | | | | | Plug some kernel memory disclosures via kevent(2). Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=341155
* MFS r341147Eric van Gyzen2018-11-283-0/+3
| | | | | | | | | | | | | | | | | | | | | MFC r340995 Prevent kernel stack disclosure in signal delivery On arm64 and riscv platforms, sendsig() failed to zero the signal frame before copying it out to userspace. Zero it. On arm, I believe all the contents of the frame were initialized, so there was no disclosure. However, explicitly zero the whole frame because that fact could inadvertently change in the future, it's more clear to the reader, and I could be wrong in the first place. Approved by: re (gjb) Security: similar to FreeBSD-EN-18:12.mem and CVE-2018-17155 Sponsored by: Dell EMC Isilon Notes: svn path=/releng/12.0/; revision=341153
* MFS r341146Eric van Gyzen2018-11-283-0/+6
| | | | | | | | | | | | | | | | MFC r340994 Prevent kernel stack disclosure in getcontext/swapcontext Expand r338982 to cover freebsd32 interfaces on amd64, mips, and powerpc. Approved by: re (gjb) Security: FreeBSD-EN-18:12.mem Security: CVE-2018-17155 Sponsored by: Dell EMC Isilon Notes: svn path=/releng/12.0/; revision=341149
* MFstable/12 r340970:Mark Johnston2018-11-2721-40/+64
| | | | | | | | | Ensure that directory entry padding bytes are zeroed. Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=341085
* MFstable/12 r340921:Mark Johnston2018-11-2610-8/+15
| | | | | | | | | Plug some networking sysctl leaks. Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=340980
* MFstable/12 r340903:Mark Johnston2018-11-261-8/+13
| | | | | | | | | Avoid unsynchronized updates to kn_status. Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=340977
* MFS12 r340849, r340850, r340851:Ed Maste2018-11-233-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | MFC r340661 (rmacklem): r304026 added code that started statistics gathering for an operation before the operation number (the variable called "op") was sanity checked. This patch moves the code down to below the range sanity check for "op". MFC r340662 (rmacklem): nfsm_advance() would panic() when the offs argument was negative. The code assumed that this would indicate a corrupted mbuf chain, but it could simply be caused by bogus RPC message data. This patch replaces the panic() with a printf() plus error return. MFC r340663 (rmacklem): Improve sanity checking for the dircount hint argument to NFSv3's ReaddirPlus and NFSv4's Readdir operations. The code checked for a zero argument, but did not check for a very large value. This patch clips dircount at the server's maximum data size. Approved by: re (kib) Notes: svn path=/releng/12.0/; revision=340855
* - Update releng/12.0 from RC1 to RC2 as part of the 12.0-RELEASEGlen Barber2018-11-232-2/+2
| | | | | | | | | | | | cycle. - Update the dvd1.iso pkg(8) configuration to use the release_0 package set to populate the dvd. Approved by: re (implicit) Sponsored by: The FreeBSD Foundation Notes: svn path=/releng/12.0/; revision=340839
* MFstable/12 r340788:Mark Johnston2018-11-231-0/+2
| | | | | | | | | Clear pad bytes in the struct exported by kern.ntp_pll.gettime. Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=340791
* MF12 r340697: Introduce src.conf knob to build userland with retpolineEd Maste2018-11-227-4/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MFC r339511: Introduce src.conf knob to build userland with retpoline WITH_RETPOLINE enables -mretpoline vulnerability mitigation in userland for CVE-2017-5715. MFC r340099: libcompat: disable retpoline when building build tools These are built with the host toolchain which may not support retpoline. While here, move the MK_ overrides to a separate line and sort them alphabetically to support future changes. MFC r340650: Avoid retpolineplt with static linking Statically linked binaries linked with -zretpolineplt crash at startup as lld produces a broken PLT. MFC r340652: rescue: set NO_SHARED in Makefile The rescue binary is built statically via the Makefile generated by crunchgen, but that does not trigger other shared/static logic in bsd.prog.mk - in particular PR: 233336 Reported by: Peter Malcom (r339511), Charlie Li (r340652) Approved by: re (kib) Sponsored by: The FreeBSD Foundation Notes: svn path=/releng/12.0/; revision=340773
* MFC: r340656, MF12: r340759Marius Strobl2018-11-221-39/+38
| | | | | | | | | | | | | Given that the idea of D15374 was to "make memmove a first class citizen", provide a _MEMMOVE extension of _MEMCPY that deals with overlap based on the previous bcopy(9) implementation and use the former for bcopy(9) and memmove(9). This addresses my D15374 review comment, avoiding extra MOVs in case of memmove(9) and trashing the stack pointer. Approved by: re (kib) Notes: svn path=/releng/12.0/; revision=340768
* MFS r340757:Tijl Coosemans2018-11-221-3/+14
| | | | | | | | | | | | | | | Fix another user address dereference in linux_sendmsg syscall. This was hidden behind the LINUX_CMSG_NXTHDR macro which dereferences its second argument. Stop using the macro as well as LINUX_CMSG_FIRSTHDR. Use the size field of the kernel copy of the control message header to obtain the next control message. PR: 217901 Approved by: re (marius) Notes: svn path=/releng/12.0/; revision=340762
* MFS r340755:Tijl Coosemans2018-11-221-26/+28
| | | | | | | | | | | | | | | | | Do proper copyin of control message data in the Linux sendmsg syscall. Instead of calling m_append with a user address, allocate an mbuf cluster and copy data into it using copyin. For the SCM_CREDS case, instead of zeroing a stack variable and appending that to the mbuf, zero part of the mbuf cluster directly. One mbuf cluster is also the size limit used by the FreeBSD sendmsg syscall (uipc_syscalls.c:sockargs()). PR: 217901 Reviewed by: kib Approved by: re (marius) Notes: svn path=/releng/12.0/; revision=340761
* MFC r340507-r340508, r340592-r340594, r340635-r340636: bectl(8) fixesKyle Evans2018-11-2211-139/+415
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r340507: libbe(3): rewrite init to support chroot usage libbe(3) currently uses zfs_be_root and locates which of its children is currently mounted at "/". This is reasonable, but not correct in the case of a chroot, for two reasons: - chroot root may be of a different zpool than zfs_be_root - chroot root will not show up as mounted at "/" Fix both of these by rewriting libbe_init to work from the rootfs down. zfs_path_to_zhandle on / will resolve to the dataset mounted at the new root, rather than the real root. From there, we can derive the BE root/pool and grab the bootfs off of the new pool. This does no harm in the average case, and opens up bectl to operating on different pools for scenarios where one may be, for instance, updating a pool that generally gets re-rooted into from a separate UFS root or zfs bootpool. While here, I've also: - Eliminated the check for /boot and / to be on the same partition. This leaves one open to a setup where /boot (and consequently, kernel/modules) are not included in the boot environment. This may very well be an intentional setup done by someone that knows what they're doing, we should not kill BE usage because of it. - Eliminated the validation bits of BEs and snapshots that enforced 'mountpoint' to be "/" -- this broke when trying to operate on an imported pool with an altroot, but we need not be this picky. Reported by: philip Reviewed by: philip, allanjude (previous version) Tested by: philip Differential Revision: https://reviews.freebsd.org/D18012 r340508: libbe(3): Rewrite be_unmount to stop mucking with getmntinfo(2) Go through the ZFS layer instead; given a BE, we can derive the dataset, zfs_open it, then zfs_unmount. ZFS takes care of the dirty details and likely gets it more correct than we did for more interesting setups. r340592: bectl(3)/libbe(3): Allow BE root to be specified Add an undocumented -r option preceding the bectl subcommand to specify a BE root to operate out of. This will remain undocumented for now, as some caveats apply: - BEs cannot be activated in the pool that doesn't contain the rootfs - bectl create cannot work out of the box without the -e option right now, since it defaults to the rootfs and cross-pool cloning doesn't work like that (IIRC) Plumb the BE root through to libbe(3) so that some things -can- be done to it, e.g. bectl -r tank/ROOT create -e default upgrade bectl -r tank/ROOT mount upgrade /mnt this aides in some upgrade setups where rootfs is not necessarily ZFS, and also makes it easier/possible to regression-test bectl when combined with a file-backed zpool. Differential Revision: https://reviews.freebsd.org/D18029 r340593: libbe(3): Properly account for altroot when creating new BEs Previously we would blindly copy the 'mountpoint' property, which includes the altroot. The altroot needs to be snipped off prior to setting it on the new BE, though, or you'll end up with a new BE and a mountpoint of /mnt with altroot=/mnt r340594: bectl(8): Add some regression tests These tests operate on a file-backed zpool that gets created in the kyua temp dir. root and ZFS support are both required for these tests. Current tests cover create, destroy, export/import, jail, list (kind of), mount, rename, and jail. List tests should later be extended to cover formatting and the different list flags, but for now only covers basic "are create/destroy actually reflected properly" r340635: libbe(3): Handle non-ZFS rootfs better If rootfs isn't ZFS, current version will emit an error claiming so and fail to initialize libbe. As a consumer, bectl -r (undocumented) can be specified to operate on a BE independently of whether on a UFS or ZFS root. Unbreak this for the UFS case by only erroring out the init if we can't determine a ZFS dataset for rootfs and no BE root was specified. Consumers of libbe should take care to ensure that rootfs is non-empty if they're trying to use it, because this could certainly be the case. Some check is needed before zfs_path_to_zhandle because it will unconditionally emit to stderr if the path isn't a ZFS filesystem, which is unhelpful for our purposes. This should also unbreak the bectl(8) tests on a UFS root, as is the case in Jenkins' -test runs. r340636: bectl(8) tests: attempt to load the ZFS module Observed in a CI test image, bectl_create test will run and be marked as skipped because the module is not loaded. The first zpool invocation will automagically load the module, but bectl_create is still skipped. Subsequent tests all pass as expected because the module is now loaded and everything is OK. Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=340753
* MFC: r340495, MF12: r340739Marius Strobl2018-11-211-8/+14
| | | | | | | | | | | | | | | | - Restore setting the clock for devices which support the default/legacy transfer mode only (lost with r321385). [1] - Similarly, don't try to set the power class on MMC devices that comply to version 4.0 of the system specification but are operated in default/ legacy transfer or 1-bit bus mode as no power class is specified for these cases. Trying to set a power class nevertheless resulted in an - albeit harmless - error message. PR: 231713 [1] Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=340743
* MFstable/12 r340728:Mark Johnston2018-11-212-24/+28
| | | | | | | | | Change dumpon(8)'s handling of -g. Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=340736
* MFS r340729:Stephen Hurd2018-11-211-6/+8
| | | | | | | | | | | | | Prevent POLA violation with TSO/CSUM offload Ensure that any time CSUM_IP_TSO or CSUM_IP6_TSO is set that the corresponding CSUM_IP6?_TCP / CSUM_IP flags are also set. Approved by: re (gjb) Sponsored by: Limelight Networks Notes: svn path=/releng/12.0/; revision=340735
* MFstable/12 r340727:Mark Johnston2018-11-211-164/+165
| | | | | | | | | dumpon.8: Significantly revamp page Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=340732
* MFC r340108 and r340149Mateusz Guzik2018-11-217-28/+8316
| | | | | | | | | | hwpmc: limit wait for user callchain collection to 1 tick Add aditional counter descriptions to AMD 0x17 Approved by: re (rgrimes) Notes: svn path=/releng/12.0/; revision=340719
* MFC: r340714Jung-uk Kim2018-11-211-8/+0
| | | | | | | | | Revert r340708. Some files became symlinks and vice versa. Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=340715
* MFC: r340705, r340708Jung-uk Kim2018-11-20663-2204/+3311
| | | | | | | | | Merge OpenSSL 1.1.1a. Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=340711
* MFC r340439,r340440Renato Botelho2018-11-201-1/+4
| | | | | | | | | | Fix /etc/ntp permissions. According to mtree it must be 0700 Approved by: re (gjb) Sponsored by: Rubicon Communications, LLC (Netgate) Notes: svn path=/releng/12.0/; revision=340698
* MFC r339531,r339579,r340252,r340463,r340464,340472,r340587Mateusz Guzik2018-11-206-120/+175
| | | | | | | | | | | | | | | amd64: tidy up memset to have rax set earlier for small sizes amd64: finish the tail in memset with an overlapping store amd64: align memset buffers to 16 bytes before using rep stos amd64: convert libc bzero to a C func to avoid future bloat amd64: sync up libc memset with the kernel version amd64: handle small memset buffers with overlapping stores Fix -DNO_CLEAN amd64 build after r340463 Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=340688
* MFstable/12 r340680:Mark Johnston2018-11-201-11/+45
| | | | | | | | | | Handle kernel superpage mappings in pmap_remove_l2(). PR: 233088 Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=340685
* MFS r340643:Brooks Davis2018-11-201-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MFC r340489-r340490 r340489: Fix freebsd32 support for PCIOCGETCONF. This fixes regresssions in pciconf -l and some ports as reported on freebsd-current: https://lists.freebsd.org/pipermail/freebsd-current/2018-November/072144.html Reported by: jbeich Reviewed by: kib (also proposed an idential patch) Tested by: jbeich Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D18011 r340490: Fix stray tab. Reported by: jbeich MFC with: r340489 Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D18011 Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=340657
* MFS r340629Stephen Hurd2018-11-191-7/+9
| | | | | | | | | | | | | | | r340434: Fix leaks caused by ifc_nhwtxqs never being initialized (broken by r333502) and clear the last ring in the case where isc_nfl != isc_nrxqs r340445: Clear RX completion queue state variables in iflib_stop() Approved by: re (gjb) Sponsored by: Limelight Networks Notes: svn path=/releng/12.0/; revision=340634
* MFS12 r340630:Glen Barber2018-11-192-20/+0
| | | | | | | | | | | | | Remove debugging options from amd64 MINIMAL [1] and riscv GENERIC kernel configuration files. This should have been turned off when stable/12 branched. Submitted by: Harry Schmalzbauer [1] Approved by: re (kib) Sponsored by: The FreeBSD Foundation Notes: svn path=/releng/12.0/; revision=340633
* MFS r340603:Konstantin Belousov2018-11-191-0/+1
| | | | | | | | | Allow set ether/vlan PCP operation from the VNET jails. Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=340628
* MFS r340605:Konstantin Belousov2018-11-194-3/+9
| | | | | | | | | Align IA32_ARCH_CAP MSR definitions and use with SDM rev. 068. Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=340627
* MFstable/12 r340498:Mark Johnston2018-11-171-0/+1
| | | | | | | | | | Hook mac_ntpd.4 up to the build. PR: 232757 Approved by: re (gjb) Notes: svn path=/releng/12.0/; revision=340520
* MFS12 r340503:Glen Barber2018-11-173-33/+0
| | | | | | | | | | | | Remove debugging options from arm, armv6, armv7 files included by GENERIC. This should have been turned off when stable/12 branched. Submitted by: thompsa Approved by: re (rgrimes) Sponsored by: The FreeBSD Foundation Notes: svn path=/releng/12.0/; revision=340515
* - Copy stable/12@r340462 to releng/12.0 as part of the 12.0-RELEASEGlen Barber2018-11-161-1/+1
| | | | | | | | | | | | cycle. - Prune svn:mergeinfo from the new branch. - Update from BETA4 to RC1. Approved by: re (implicit) Sponsored by: The FreeBSD Foundation Notes: svn path=/releng/12.0/; revision=340470
* MFC r340314:Alan Somers2018-11-151-3/+11
| | | | | | | | | | | | | | | libjail: fix handling of allow.mount.fusefs in jailparam_init fusefs is inconsistently named. The kernel module is named "fuse", but the mount helper is named "mount_fusefs" and the jail(8) parameter is named "allow.mount.fusefs". Special case it in libjail. Reviewed by: jamie Approved by: re (gjb) Differential Revision: https://reviews.freebsd.org/D17929 Notes: svn path=/stable/12/; revision=340462
* MFC :r340436Vincenzo Maffione2018-11-153-242/+358
| | | | | | | | | | | | | | | | | | | | | | | | | | | | vtnet: fix netmap support netmap(4) support for vtnet(4) was incomplete and had multiple bugs. This commit fixes those bugs to bring netmap on vtnet in a functional state. Changelist: - handle errors returned by virtqueue_enqueue() properly (they were previously ignored) - make sure netmap XOR rest of the kernel access each virtqueue. - compute the number of netmap slots for TX and RX separately, according to whether indirect descriptors are used or not for a given virtqueue. - make sure sglist are freed according to their type (mbufs or netmap buffers) - add support for mulitiqueue and netmap host (aka sw) rings. - intercept VQ interrupts directly instead of intercepting them in txq_eof and rxq_eof. This simplifies the code and makes it easier to make sure taskqueues are not running for a VQ while it is in netmap mode. - implement vntet_netmap_config() to cope with changes in the number of queues. Sponsored by: Sunny Valley Networks Differential Revision: https://reviews.freebsd.org/D17916 Approved by: re (gjb) Notes: svn path=/stable/12/; revision=340461
* MFC r340361:Michael Tuexen2018-11-156-19/+23
| | | | | | | | | | | | | | Fix printing of 64-bit counters on 32-bit ppc platforms. Several statistic counters are uint64_t values and are printed by systat using %lu. This results in displaying wrong numbers. Use PRIu64 instead. While there, print variables of size_t using %zd. Approved by: re (gjb@) Differential Revision: https://reviews.freebsd.org/D17838 Notes: svn path=/stable/12/; revision=340459