aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* build: remove LIBPTHREAD/LIBTHR build optionsKyle Evans2021-01-2213-49/+5
| | | | | | | | | | | | | | | | | | WITHOUT_LIBTHR has been broken for a little over five years now, since the xz 5.2.0 update introduced a hard liblzma dependency on libthr, and building a useful system without threading support is becoming increasingly more difficult. Additionally, in the five plus years that it's been broken more reverse dependencies have cropped up in libzstd, libsqlite3, and libcrypto (among others) that make it more and more difficult to reconcile the effort needed to fix these options. Remove the broken options. PR: 252760 Reviewed by: brooks, emaste, kib Differential Revision: https://reviews.freebsd.org/D28263
* powerpc64le: don't enable COMPAT_* options in GENERIC64LEPiotr Kubaj2021-01-221-8/+1
| | | | | | | | Support for powerpc64le appeared in 13, so there's no point to enable COMPAT_* for older releases. Also disable COMPAT_FREEBSD32, since there's no powerpcle. Since that may change in the future, leave the option commented out. Approved by: bdragon, jhibbits (on IRC)
* powerpc: fix build without DDBMateusz Guzik2021-01-221-1/+1
|
* newvers.sh: restore reporting branch namesMateusz Guzik2021-01-221-0/+4
| | | | | It got removed arguably without much discussion in the commit which added gitup support.
* Complete Steps 5 and 9 from the Committer's guideLewis Cook2021-01-222-0/+5
| | | | | | | | | | | | | | | Summary: Steps 5 and 9: - Update Mentor and Mentee Information - Update Ports with Personal Information Reviewers: tcberner, fernape Reviewed By: fernape Subscribers: imp Differential Revision: https://reviews.freebsd.org/D28281
* Revert "[mips] revert r366664 - flip mips back from -O2 to -O"Mateusz Guzik2021-01-221-7/+0
| | | | | | | | | This reverts commit bd72252aace382921840ddbceea712b96f4ad242. The commit at hand breaks the build for all mips targets and does not have a one-liner fix. make[5]: "/usr/src/share/mk/sys.mk" line 169: Malformed conditional (${MACHINE_CPUARCH} == "mips" && ${COMPILER_TYPE} == "gcc")
* arm64: fix typo in file name in GENERIC-MMCCAM-NODEBUGMateusz Guzik2021-01-221-1/+1
|
* Catch up another version bump to 14.0Li-Wen Hsu2021-01-221-1/+1
| | | | Reported by: rm
* armv8crypto: add AES-GCM supportOleksandr Tymoshenko2021-01-225-75/+445
| | | | | | | | | Add support for AES-GCM using OpenSSL's accelerated routines. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D27454 Sponsored by: Ampere Computing Submitted by: Klara, Inc.
* fix incorrect LLD_VERSION_STRING from previous commitGlen Barber2021-01-221-1/+1
| | | | | Reported by: Oliver Pinter Sponsored by: Rubicon Communications, LLC ("Netgate")
* Bump CURRENT to 14.0Glen Barber2021-01-229-307/+14
| | | | | | | This one goes to 14. Approved by: re (implicit) Sponsored by: Rubicon Communications, LLC ("Netgate")
* kvprintf(9): add missing FALLTHROUGHMarius Strobl2021-01-211-0/+1
| | | | | Reported by: Coverity CID: 1005166
* mmcsd(4): properly set BIO error when partition switching failsMarius Strobl2021-01-211-6/+4
| | | | | | | While at it, remove redundant braces and goto in mmcsd_task(). Reported by: Coverity CID: 1419639
* sym(4): handle mixed tagged/untagged commands gracefullyMarius Strobl2021-01-211-18/+12
| | | | | | | | | | Handle the case of a tagged command arriving when there's an untagged one still outstanding gracefully instead of panicing. While at it: - Replace fancy arithmetics with a simple assignment as busy_itl can only ever be either 0 or 1. - Fix a comment typo in sym_free_ccb().
* sym(4): fix nits reported by CoverityMarius Strobl2021-01-211-4/+6
| | | | | | | | | | | | | | - In ___dma_getp(), remove dead code. [1] - In sym_sir_bad_scsi_status(), add missing FALLTHROUGH. [2] While at it: - For getbaddrcb(), remove __unused from the nseg argument as it's in fact used when compiling with INVARIANTS. - In sym_int_sir(), ensure in all branches that cp is not NULL before using it. Reported by: Coverity CID: 1008861 [1], 114996 [2]
* fb_if: remove unused methodMarius Strobl2021-01-211-5/+0
| | | | Apparently, it never came into play.
* boot_font(4): remove obsolete fontMarius Strobl2021-01-212-4680/+0
| | | | | It's no longer used since 4e421792ec80df7a5fa82e97dcc3575c3ec6740a and r325892 respectively.
* Further refactor IPv4 interface route creation.Alexander V. Chernikov2021-01-213-113/+130
| | | | | | | | | | | | | | * Fix bug with /32 aliases introduced in 81728a538d24. * Explicitly document business logic for IPv4 ifa routes. * Remove remnants of rtinit() * Deduplicate ifa->route prefix code by moving it into ia_getrtprefix() * Deduplicate conditional check for ifa_maintain_loopback_route() by moving into ia_need_loopback_route() * Remove now-unused flags argument from in_addprefix(). Reviewed by: donner PR: 252883 Differential Revision: https://reviews.freebsd.org/D28246
* Fix typo in pwait.c introduced in 5bdce6ff546eAlexander V. Chernikov2021-01-211-1/+1
| | | | Reported by: kevans
* Remove deadlock in rc caused by pwait waiting for itself.Alexander V. Chernikov2021-01-212-1/+9
| | | | | | | | | | | | | | | | | | | | The following situation can trigger the deadlock: 1) Long time ago a_service was started through rc.d 2) We want to restart a_service and issue service a_service restart 3) rc.subr reads current process PID (via file or process), sends TERM signal and runs pwait with PID harvested 4) a_service process dies very quickly so it's PID becomes available. It is possible that while original process was running, PID counter overflowed and pwait got assigned a_service's PID. This patch ignores pid(s) to wait that are equal to pwait PID. Reported by: Dan McGregor, Boris Lytochkin Submitted by: Boris Lytochkin <lytboris at gmail.com> Reviewed By: 0mp MFC after: 2 weeks PR: 218598 Differential Revision: https://reviews.freebsd.org/D28240
* malloc_aligned: roundup allocation size up to next power of twoKonstantin Belousov2021-01-211-4/+13
| | | | | | | | | | | | to make it use the right aligned zone. Reported by: melifaro Reviewed by: alc, markj (previous version) Discussed with: jrtc27 Tested by: pho (previous version) MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D28219
* Restrict supported alignment for malloc_domainset_aligned(9) to PAGE_SIZE.Konstantin Belousov2021-01-211-2/+2
| | | | | | | | | | | | | UMA page_alloc() does not take an alignment, so UMA can only handle alignment less then page size. Noted by: alc Reviewed by: alc, markj (previous version) Discussed with: jrtc27 Tested by: pho (previous version) MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D28219
* Fix manpage markup in 2c8bb126de56ce49637ad752e78957d9ebafba02Allan Jude2021-01-211-1/+3
|
* bhyve: Add missing man page section on the nodelete block-device-optionAllan Jude2021-01-211-0/+2
| | | | | Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D28272
* libcasper/cap_grp tests: Reset the group database handleMark Johnston2021-01-211-0/+4
| | | | | | | | | | | | Some tests verify that the capgrp capability does not permit calls to setgrent(3), but all tests need to ensure that they reset the capability's group database handle, otherwise the local process and casper process will be out of sync. The cap_pwd tests already handle this. Sponsored by: The FreeBSD Foundation MFC after: 1 month
* libc/nss: Ensure that setgroupent(3) actually works as advertisedMark Johnston2021-01-211-0/+2
| | | | | | | | | | | Because the "files" and "compat" implementations failed to set the "stayopen", keyed lookups would close the database handle, contrary to the purpose of setgroupent(3). setpassent(3)'s implementation does not have this bug. PR: 165527 Submitted by: Andrey Simonenko MFC after: 1 month
* libc/nss tests: Add regression tests for commit 55444c823e1fMark Johnston2021-01-212-19/+93
| | | | | | PR: 252094 Sponsored by: The FreeBSD Foundation MFC after: 1 month
* libc/nss: Restore iterator state when doing passwd/group lookupsMark Johnston2021-01-212-26/+26
| | | | | | | | | | | | | | | | | | | | The getpwent(3) and getgrent(3) implementations maintain some internal iterator state. Interleaved calls to functions which do passwd/group lookups using a key, such as getpwnam(3), would in some cases clobber this state, causing a subsequent getpwent() or getgrent() call to restart iteration from the beginning of the database or to terminate early. This is particularly troublesome in programming environments where execution of green threads is interleaved within a single OS thread. Take care to restore any iterator state following a keyed lookup. The "files" provider for the passwd database was already handling this correctly, but "compat" was not, and both providers had this problem when accessing the group database. PR: 252094 Submitted by: Viktor Dukhovni <ietf-dane@dukhovni.org> MFC after: 1 month
* libc/nss tests: Fix getpw and getgr single-pass testsMark Johnston2021-01-212-32/+8
| | | | | | | | | Some NSS regression tests for getgrent(3) and getpwent(3) were not testing anything because the test incorrectly requested creation of a database snapshot. Sponsored by: The FreeBSD Foundation MFC after: 1 month
* libc/nss tests: StyleMark Johnston2021-01-213-36/+37
| | | | | Sponsored by: The FreeBSD Foundation MFC after: 1 month
* Define PNP info after defining driver modulesMark Johnston2021-01-2111-19/+31
| | | | | | | | | | | | | | | | PNP info definitions currently have an unfortunate requirement in that they must follow the associated module definition in the module metadata linker set. Otherwise devmatch can segfault while processing the linker hints file since kldxref maintains the order in the linker set. A number of drivers violate this requirement. In some cases this can cause devmatch(8) to segfault when processing the linker hints file. Work around the problem for now simply by adjusting the drivers. Reviewed by: imp MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D28260
* newvers.sh: avoid bare git invocationEd Maste2021-01-211-1/+1
| | | | | | | | git may not be in the path, and $git_cmd includes some commandline arguments. Reported by: mjg Tested by: mjg
* iflib: Fix a NULL pointer derefAndrew Gallatin2021-01-211-1/+2
| | | | | | | | | | rxd_frag_to_sd() have pf_rv parameter as NULL with the current code. This patch fixes the NULL pointer dereference in that case thus avoiding a possible panic. Submitted by: rajesh1.kumar at amd.com Reviewed by: gallatin Differential Revision: https://reviews.freebsd.org/D28115
* x86: switch vdso TSC timecounter to RDTSCP on AMD Zen CPUsKonstantin Belousov2021-01-211-4/+1
| | | | | | | Reported by: many Tested by: gallatin, mikael, rhurlin MFC after: 1 week Sponsored by: The FreeBSD Foundation
* x86: switch kernel TSC timecounter to RDTSCP on AMD Zen CPUsKonstantin Belousov2021-01-211-8/+1
| | | | | | | Reported by: many Tested by: gallatin, mikael, rhurlin MFC after: 1 week Sponsored by: The FreeBSD Foundation
* elf: add some definitions for i386 and amd64 relocationsKonstantin Belousov2021-01-211-0/+14
| | | | | | | | | | | | I believe that rtld does not need to implement them, they are mostly for the static linker. 'Mostly' because for amd64 our kernel linker loads object files, and amd64 relocation types could be observed. Defines were taken from glibc sources. MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D28205
* Remove FirstBurstLength limit for software iSCSI.Alexander Motin2021-01-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | For hardware offload solicited data may potentially be handled more efficiently than unsolicited due to direct data placement. Or there can be some unsolicited write buffering limitations. It may create situations where FirstBurstLength limit is really useful. Software driver though has no those factors, having to do memcopy() any way and having no so hard limit on the temporary storage. Same time more active use of unsolicited transfers allows to avoid some of Ready To Transfer (R2T) PDU round-trip times and processing. This change effectively doubles from 64KB to 128KB the maximum size of write command that can be transferred within one link RTT. Tests of (64KB, 128KB] QD1 writes mixed with simultaneous QD8 reads over the same connection, increasing RTT, shows almost double write speed and half latency, while we should be able to afford few megabytes of RAM for additional buffering on a target these days. MFC after: 2 weeks Sponsored by: iXsystems, Inc.
* pkgbase: allow update-packages for first-run of packagingKyle Evans2021-01-211-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | If ${REPODIR}/${PKG_ABI} does not exist when we begin real-update-packages, skip the comparison with the non-existent previous repository and just finish the repo off. This allows external scripts to just assume they can run `update-packages` rather than figuring out if they'd previously run `packages` for this Version/Arch combo. PKG_VERSION_FROM_DIR was added so that we could perhaps detect the three distinct cases: 1.) If the repo has not yet been created, PKG_VERSION_FROM_DIR will be empty. 2.) If the repo is in some intermediate state between created and fully initialized, PKG_VERSION_FROM_DIR may point to the ABI directory. 3.) If the repo is fully initialized, then PKG_VERSION_FROM_DIR points to the latest build to compare to. Option #2 is explicitly unhandled at the moment, but this is no different than it was before. Reviewed-by: manu Differential-Revision: https://reviews.freebsd.org/D28229
* virtio_mmio: Delete a stale #if 0'ed debug printJessica Clarke2021-01-211-4/+1
| | | | | | | | This was blindly moved in r360722 but the variable being printed is not yet initialised. It's of little use and can easily be added back in the right place if needed by someone debugging, so just delete it. Reported by: bryanv
* linux64: Don't pass unnecessary -S and -g to objcopyJessica Clarke2021-01-211-1/+1
| | | | | | | | | | | | | | | Since we use --input-type binary these options are rather meaningless. Both binutils and elftoolchain ignore the option in this case, but LLVM does not, and instead strips all symbols from the output file, causing missing symbols at run time if building with llvm-objcopy. Thus simply remove the options; the linux module has never included them for building its VDSO (added in r283407), but for some reason the original commit of linux64 (r283424) added them. These should however eventually be changed to use template assembly files as is now done for firmware and MFS_IMAGE. Reviewed by: emaste, trasz Differential Revision: https://reviews.freebsd.org/D27740
* Rename i386's Linux ELF to Linux ELF32Jessica Clarke2021-01-212-2/+2
| | | | | | | | | This is what amd64 calls the i386 Linux ABI in order to distinguish it from the amd64 Linux ABI, and matches the nomenclature used for the FreeBSD ABIs where they always have the size suffix in the name. Reviewed by: trasz Differential Revision: https://reviews.freebsd.org/D27647
* Build VirtIO modules on all architecturesJessica Clarke2021-01-212-27/+9
| | | | | | | | | | | Currently only amd64, i386 and powerpc build VirtIO modules, yet all other architectures have at least one kernel configuration that includes the transport drivers, and so they lack drivers for all the devices they don't statically compile into the kernel. Instead, enable the build everywhere so all architectures have the full set of device drivers available. Reviewed by: bryanv (earlier version), imp (earlier version) Differential Revision: https://reviews.freebsd.org/D28058
* virtio: Reduce boilerplate for device driver module definitionsJessica Clarke2021-01-217-40/+21
| | | | | | | | | | | Rather than have every device register itself for both virtio_pci and virtio_mmio, provide a VIRTIO_DRIVER_MODULE wrapper to declare both, merge VIRTIO_SIMPLE_PNPTABLE with VIRTIO_SIMPLE_PNPINFO and make the latter register for both buses. This also has the benefit of abstracting away the available transports and their names. Reviewed by: bryanv Differential Revision: https://reviews.freebsd.org/D28073
* virtio_mmio: Fix V1 device probing spec conformance (section 4.2.3.1.1)Jessica Clarke2021-01-214-12/+46
| | | | | | | | | | | | | | | | | We must check MagicValue not just Version before anything else, and then we must check DeviceID and immediately abort if zero (and this must not be an error). Do all this when probing rather than at the start of attaching as that's where this belongs, and provides a clear boundary between the device detection and device initialisation parts of the specified driver initialisation process. This also means we don't create empty device instances for placeholder devices, reducing clutter on systems that pre-allocate a large number, such as QEMU's AArch64 virt machine (which provides 32). Reviewed by: bryanv Differential Revision: https://reviews.freebsd.org/D28070
* virtio_mmio: Fix a style(9) issueJessica Clarke2021-01-211-1/+1
|
* Tidy some crypto-related lines in sys/conf/files.John Baldwin2021-01-211-3/+2
| | | | | | Reviewed by: cem (earlier version) Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D27835
* Restructure the crypto(7) manpage and add authentication algorithms.John Baldwin2021-01-211-118/+112
| | | | | | | | | | | | | | | Add separate sections for authentication algorithms, block ciphers, stream ciphers, and AEAD algorithms. Describe properties commmon to algorithms in each section to avoid duplication. Use flat tables to list algorithm properties rather than nested tables. List implemented authentication algorithms. Reviewed by: gbe (manpages) Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D27833
* Simplify dynamic ipfilter sysctls.John Baldwin2021-01-211-56/+30
| | | | | | | | | | | Pass the structure offset in arg2 instead of arg1. This avoids having to undo the pointer arithmetic on arg1. Instead arg2 can be used directly as an offset relative to the desired structure. Reviewed by: cy Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D27961
* jail: Use refcount(9) for prison references.Jamie Gritton2021-01-202-63/+91
| | | | | | | | | | | | Use refcount(9) for both pr_ref and pr_uref in struct prison. This allows prisons to held and freed without requiring the prison mutex. An exception to this is that dropping the last reference will still lock the prison, to keep the guarantee that a locked prison remains valid and alive (provided it was at the time it was locked). Among other things, this honors the promise made in a comment in crcopy(9), that it will not block, which hasn't been true for two decades.
* devinfo sysctl handler: Do not write zero-length strings in to sbuf twiceVladimir Kondratyev2021-01-201-6/+0
| | | | | This fixes missing PnPinfo and location strings in devinfo(8) output for devices with no attached drivers.