- 14 Jan, 2022 25 commits
-
-
Vincenzo Maffione authored
In iflib_device_register(), the CTX_LOCK is acquired first and then IFNET_WLOCK is acquired by ether_ifattach(). However, in netmap_hw_reg() we do the opposite: IFNET_RLOCK is acquired first, and then CTX_LOCK is acquired by iflib_netmap_register(). Fix this LOR issue by wrapping the CTX_LOCK/UNLOCK calls in iflib_device_register with an additional IFNET_WLOCK. This is safe since the IFNET_WLOCK is recursive. MFC after: 1 month
-
Daniel Ebdrup Jensen authored
This tiny change to the example makes devd capable of reacting to carp status change events on VLAN interfaces. Reported by: Thomas Steen Rasmussen (tykling) <thomas at gibfest.dk>
-
Mark Johnston authored
Buckets in an SMR-enabled zone can legitimately be tagged with SMR_SEQ_INVALID. This effectively means that the zone destructor (if any) was invoked on all items in the bucket, and the contained memory is safe to reuse. If the first bucket in the full bucket list was tagged this way, UMA would unnecessarily poll per-CPU state before attempting to fetch a full bucket from the list. MFC after: 2 weeks Sponsored by: The FreeBSD Foundation
-
Mark Johnston authored
Previously we'd always print "out of swap space." This can be misleading, as there are other reasons an OOM kill can be triggered. In particular, it's entirely possible to trigger an OOM kill on a system with plenty of free swap space. Reviewed by: kib MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33810
-
Mark Johnston authored
These configuration options were removed in commit dfe13344. Some forthcoming work will update the UMA man page to describe its current behaviour on NUMA systems. MFC after: 1 week Sponsored by: The FreeBSD Foundation
-
Mark Johnston authored
The test tries to connect a socket to a closed port at 127.0.0.1. It sets O_NONBLOCK on the socket first and expects to get EINPROGRESS from connect(2), but this is not guaranteed, ECONNREFUSED is possible. Handle both cases, and re-enable the test. PR: 240621 MFC after: 1 week Sponsored by: The FreeBSD Foundation
-
Mark Johnston authored
The stack gap implementation is disabled by default now, so the test passes. This reverts commit dad71022. PR: 259969 MFC after: 1 week Sponsored by: The FreeBSD Foundation
-
Corvin Köhne authored
If an emulation uses those functions instead of set_config_value_node or set_config_value, it allows the config values to get overwritten. Introducing new functions is much more readable than if else statements in the emulation code. Reviewed by: khng MFC after: 2 weeks Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D33770
-
Corvin Köhne authored
Some guests or driver might depend on MTRR to work properly. E.g. the nvidia gpu driver won't work without MTRR. Reviewed by: markj MFC after: 2 weeks Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D33333
-
Li-Wen Hsu authored
Fixes: b5d227b0 powerpc: Add atomic_testand_{set,clear}_{int,long}
-
Emmanuel Vadot authored
It isn't needed and will cause problem when upgrading to a newer release. Reviewed by: emaste MFC after: 2 weeks Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D33878
-
Kristof Provost authored
The roundrobin pool stores its state in the rule, which could potentially lead to invalid addresses being returned. For example, thread A just executed PF_AINC(&rpool->counter) and immediately afterwards thread B executes PF_ACPY(naddr, &rpool->counter) (i.e. after the pf_match_addr() check of rpool->counter). Lock the rpool with its own mutex to prevent these races. The performance impact of this is expected to be low, as each rule has its own lock, and the lock is also only relevant when state is being created (so only for the initial packets of a connection, not for all traffic). See also: https://redmine.pfsense.org/issues/12660 Reviewed by: glebius MFC after: 3 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D33874
-
Wei Hu authored
RX fencing allows the driver to know that any prior change to the RQs has finished, e.g. when the RQs are disabled/enabled or the hashkey/indirection table are changed, RX fencing is required. Remove the previous 'sleep' workaround and add the real support for RX fencing as the PF driver supports the MANA_FENCE_RQ request now (any old PF driver not supporting the request won't be used in production). MFC after: 2 weeks Sponsored by: Microsoft
-
Justin Hibbits authored
powerpc64le requires at minimum POWER8 hardware, so ISA 2.06 atomic instructions are always available. This isn't so for powerpc64 (BE), so isn't enabled by default there.
-
Justin Hibbits authored
Add machine-optimized implementations for the following: * atomic_testandset_int * atomic_testandclear_int * atomic_testandset_long * atomic_testandclear_long This fixes the build with ISA_206_ATOMICS enabled. Add the associated atomic_testandset_32, atomic_testandclear_32, so that ice(4) can potentially build.
-
Alexander Motin authored
It is a global element index, so it may need more than one byte. For now it is only a cosmetics, since the field is never read. MFC after: 2 weeks
-
John Baldwin authored
Requested by: kib
-
John Baldwin authored
Fixes: bd7630ef ia32: Sync signal context type names with i386.
-
John Baldwin authored
IVs are not the size of keys as a general case. Most often they are the size of a single block. Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33885
-
John Baldwin authored
- Use AES_XTS_IV_LEN instead of the key length as the IV length. - Use G_ELI_IVKEYLEN as the size of the zeroed iv[] array in g_eli_crypto_cipher() to match geli_io(). PR: 261172 Reported by: Malcolm Matalka <mmatalka@gmail.com>, mikael Reviewed by: markj Sponsored by: FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33884
-
John Baldwin authored
Requested by: kib Reviewed by: brooks, imp, kib Sponsored by: The University of Cambridge, Google Inc. Differential Revision: https://reviews.freebsd.org/D33886
-
John Baldwin authored
- Use ia32_freebsd4_* instead of ia32_*4. - Use ia32_o* instead of ia32_*3. Reviewed by: brooks, imp, kib Sponsored by: The University of Cambridge, Google Inc. Differential Revision: https://reviews.freebsd.org/D33882
-
John Baldwin authored
Reviewed by: brooks, imp, kib Sponsored by: The University of Cambridge, Google Inc. Differential Revision: https://reviews.freebsd.org/D33881
-
John Baldwin authored
This matches the recent renaming of struct freebsd4_ucontext. Reviewed by: brooks, imp, kib Sponsored by: The University of Cambridge, Google Inc. Differential Revision: https://reviews.freebsd.org/D33880
-
Piotr Kubaj authored
Differential review: https://reviews.freebsd.org/D33875 Approved by: dim, imp
-
- 13 Jan, 2022 15 commits
-
-
Austin Zhang authored
The ACPI spec describes the FADT->Century field as: The RTC CMOS RAM index to the century of data value (hundred and thousand year decimals). If this field contains a zero, then the RTC centenary feature is not supported. If this field has a non-zero value, then this field contains an index into RTC RAM space that OSPM can use to program the centenary field. Use this field to decide whether to program the CENTURY register of the CMOS RTC device. Reviewed by: akumar3@isilon.com, dab, vangyzen MFC after: 1 week Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D33667 MFC after: 1 week Sponsored by: Dell EMC Isilon
-
John Baldwin authored
GNU's libssp installed this (in addition to libssp_nonshared.a), but the libc-based libssp does not. Reviewed by: kevans, emaste Fixes: cd0d51ba Provide libssp based on libc Sponsored by: The University of Cambridge, Google Inc. Differential Revision: https://reviews.freebsd.org/D33852
-
John Baldwin authored
Reviewed by: imp, emaste Fixes: eb61f7bd Stop building libl and liby Sponsored by: The University of Cambridge, Google Inc. Differential Revision: https://reviews.freebsd.org/D33851
-
John Baldwin authored
Reviewed by: emaste Sponsored by: The University of Cambridge, Google Inc. Differential Revision: https://reviews.freebsd.org/D33850
-
Warner Losh authored
If the last matching device entry partially matched in camperiphunit, but then hit a continue case, we'd mistakenly think we had a match on that entry. This lead to a number of problems downstream (usually a belief that we had a duplicate wiring hint because unit = 0 is the default). Fix this by using a for loop that does the assignment before the loop termination test. Sponsored by: Netflix Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D33873
-
Stefan Eßer authored
This tool can be used to detect install conflicts (ports/packages that conflict with each other because of identically named files). MFC after: 3 days
-
Alexander Motin authored
Weird side of SES specification is that some bits have different meaning or semantics in status and control pages. This patch fixes non-zero writes into reserved fields, that caused errors on some enclosures when trying to control locate/fault LEDs, keeping other bits unchanged. MFC after: 2 weeks Sposonred by: iXsystems, Inc.
-
Gleb Smirnoff authored
-
Ryan Stone authored
LRO was willing to merge ACK and non-ACK packets together. This can cause incorrect th_ack values to be reported up the stack. While non-ACKs are quite unlikely to appear in practice, LRO's behaviour is against the spec. Make LRO unwilling to merge packets with different TH_ACK flag values in order to fix the issue. Found by: Sysunit test Differential Revision: https://reviews.freebsd.org/D33775 Reviewed by: rrs
-
Ryan Stone authored
To check if it needed to regenerate a packet's header before sending it up the stack, LRO was checking if more than one payload had been merged into the packet. This failed in the case where a single payload was merged with one or more pure ACKs. This results in lost ACKs. Fix this by precisely tracking whether header regeneration is required instead of using an incorrect heuristic. Found with: Sysunit test Differential Revision: https://reviews.freebsd.org/D33774 Reviewed by: rrs
-
Roger Pau Monné authored
The old bogus Xen versions that would deliver a GPF when writing to the LAPIC MSR are likely retired, so it's safe to enable x2APIC unconditionally now if available. Tested by: avg Reviewed by: kib Sponsored by: Citrix Systems R&D Differential revision: https://reviews.freebsd.org/D33877
-
Kenneth D. Merry authored
If the UMA zones are not freed, we get warnings about re-using the sysctl variables associated with the UMA zones, and we're leaking the other memory associated with the zone structures. e.g.: sysctl_warn_reuse: can't re-use a leaf (vm.uma.pass44.size)! sysctl_warn_reuse: can't re-use a leaf (vm.uma.pass44.flags)! sysctl_warn_reuse: can't re-use a leaf (vm.uma.pass44.bucket_size)! sysctl_warn_reuse: can't re-use a leaf (vm.uma.pass44.bucket_size_max)! sysctl_warn_reuse: can't re-use a leaf (vm.uma.pass44.keg.name)! sysctl_warn_reuse: can't re-use a leaf (vm.uma.pass44.keg.rsize)! sysctl_warn_reuse: can't re-use a leaf (vm.uma.pass44.keg.ppera)! sysctl_warn_reuse: can't re-use a leaf (vm.uma.pass44.keg.ipers)! Also, correctly clear the PASS_FLAG_ZONE_INPROG flag in passcreatezone(). The way it was previously done, it would have had set the flag and cleared all other flags that were set at that point. MFC after: 1 week Sponsored by: Spectra Logic
-
Roger Pau Monné authored
When running as a Xen guest it's easier to use an hypercall in order to do power management operations (power off, power cycle). Do this for all supported guest types (HVM and PVH). Note that for HVM the power operation could also be done using ACPI, but there's no reason to differentiate between PVH and HVM. While there fix the shutdown handler to properly differentiate between power cycle and power off requests. Reported by: Freddy DISSAUX MFC: 1 week Sponsored by: Citrix Systems R&D
-
Emmanuel Vadot authored
This is already present as WITHOUT_MODULES This reverts commit 8c0c5bdf. Reported by: jrtc27
-
Emmanuel Vadot authored
It's sometimes easier to exclude some modules rather than listing all possibly needed ones with MODULES_OVERRIDE. So for this add MODULES_EXCLUDE which do exactly as one would guess, excludes some modules from the build/install. For example if one wants to exclude all modules which are only present in the GENERIC config on amd64 : export MODULES_EXCLUDE=$(grep -E '^device' sys/amd64/conf/GENERIC | awk '{print $2}' | tr '\n' ' ') MFC after: 2 weeks Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D33443
-