igc.4: Remove non-existent timer tunables
These were removed in a40ecb6f7405 because they do not apply to igc
hardware which uses EITR for interval timing.
Sponsored by: BBOX.io
(cherry picked from commit 8de007ad19dcda5bea9bac9fb2c140e4ed62ba78)
ixgbe: Add support for 1Gbit Active DAC links
1Gbit also emperically works on Active DACs.
Sponsored by: BBOX.io
(cherry picked from commit e38f9257c3fac5cb5a62f62c424a976446ae1220)
igc.4: Remove non-existent timer tunables
These were removed in a40ecb6f7405 because they do not apply to igc
hardware which uses EITR for interval timing.
Sponsored by: BBOX.io
(cherry picked from commit 8de007ad19dcda5bea9bac9fb2c140e4ed62ba78)
ixgbe: Add support for 1Gbit Active DAC links
1Gbit also emperically works on Active DACs.
Sponsored by: BBOX.io
(cherry picked from commit e38f9257c3fac5cb5a62f62c424a976446ae1220)
dtrace: Add some more annotations for KMSAN
- Don't allow FBT and kinst to instrument the KMSAN runtime.
- When fetching data from the traced thread's stack, mark it as
initialized. It may well be uninitialized, but as dtrace permits
arbitrary inspection of kernel memory, it isn't very useful to raise
KMSAN reports.
- Mark data copied in from userspace as initialized, as we do for
copyin() etc. using interceptors.
MFC after: 2 weeks
pf: reduce indentation level in pf_dummynet_route()
Reverse the first if() in pf_dummynet_route() to avoid an unneeded level of
indendation.
No functional change.
Sponsored by: Rubicon Communications, LLC ("Netgate")
makefs.8: Remove a warning about makefs -t zfs being experimental
This should have been done with commit d9fe71828797 but was missed.
Fixes: d9fe71828797 ("makefs: Remove the warning printed when makefs -t zfs is used")
MFC after: 3 days
(cherry picked from commit e19c607ff9b2b5d55664fd13e5fd9814e3279ffd)
ukbd: Enable ukbd_apple_swap for all Apple ISO keyboards
Key code swapping between [<>] and [^°] key is enabled for all Apple ISO
type keyboards. Before, swapping was enabled when the Eject key was
detected in HID usage. This did not correlate well with the swapped
keys presence.
usbdevs file is extended by several Apple keyboard models to support ISO
model identification.
Reviewed by: markj
MFC after: 2 weeks
Pull Request: https://github.com/freebsd/freebsd-src/pull/1506
(cherry picked from commit 541e7a98b762916cd951a64dd7e77efd51dfa8dc)
pf: Add a sysctl to limit work done for rdr source port rewriting
It was pointed out that the current approach of exhaustively searching
for a free source port might be very time consuming. Limit the amount
of work that we might do before giving up.
Reviewed by: kp
Reported by: Eirik Øverby <ltning-freebsd at anduin.net>
MFC after: 3 months
Sponsored by: Klara, Inc.
Sponsored by: Modirum
Differential Revision: https://reviews.freebsd.org/D46495
(cherry picked from commit 339a1977c32414f3d23733504955245ca6f3802d)
gvinum: Postpone removal to FreeBSD 15
It was not removed for FreeBSD 14.
Sponsored by: The FreeBSD Foundation
(cherry picked from commit a5f7047f28654aa297c57a9d24f6d1408641b975)
getentropy: restore unistd.h include
It is needed for SSP support.
Reported by: netchild, Shawn Webb
Fixes: 62dab3d016ab ("getentropy: Remove fallback code")
Sponsored by: The FreeBSD Foundation
libc: enable initial-exec (IE) as default thread-local storage model on arm
As suggested by jrtc27@ in https://reviews.freebsd.org/D42415, this
patch enables IE as default thread-local storage model in libc on arm.
Reviewed by: kib
Approved by: kp (mentor)
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D42445
(cherry picked from commit 6e5b1ff71e01bd48172483cb6df921f84300ea3a)
rtld/arm: fix initial-exec (IE) thread-local storage relocation
net/frr[89] revealed an interesting edge-case on arm when dynamically
linking a shared library that declares more than one static TLS variable
with at least one using the "initial-exec" TLS model. In the case
of frr[89], this library was libfrr.so which essentially does the
following:
#include <stdio.h>
#include "lib.h"
static __thread int *a
__attribute__((tls_model("initial-exec")));
void lib_test()
{
static __thread int b = -1;
[37 lines not shown]
libc: enable initial-exec (IE) as default thread-local storage model on arm
As suggested by jrtc27@ in https://reviews.freebsd.org/D42415, this
patch enables IE as default thread-local storage model in libc on arm.
Reviewed by: kib
Approved by: kp (mentor)
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D42445
(cherry picked from commit 6e5b1ff71e01bd48172483cb6df921f84300ea3a)
rtld/arm: fix initial-exec (IE) thread-local storage relocation
net/frr[89] revealed an interesting edge-case on arm when dynamically
linking a shared library that declares more than one static TLS variable
with at least one using the "initial-exec" TLS model. In the case
of frr[89], this library was libfrr.so which essentially does the
following:
#include <stdio.h>
#include "lib.h"
static __thread int *a
__attribute__((tls_model("initial-exec")));
void lib_test()
{
static __thread int b = -1;
[37 lines not shown]
dtrace: Avoid excessive pcpu allocations
We were previously allocating MAXCPU structures for several purposes,
but this is generally unnecessary and is quite excessive, especially
after MAXCPU was bumped to 1024 on amd64 and arm64. We already are
careful to allocate only as many per-CPU tracing buffers as are needed;
extend this to other allocations.
For example, in a 2-vCPU VM, the size of a consumer state structure
drops from 64KB to 128B. The size of the per-consumer `dts_buffer` and
`dts_aggbuffer` arrays shrink similarly. Ditto for pre-allocations of
local and global D variable storage space.
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D47667
dtrace/amd64: Make invop providers usable with KMSAN enabled
- Use a fresh context when entering dtrace_invop() via a breakpoint
exception.
- Mark the #BP trapframe as initialized.
MFC after: 2 weeks
netlink/route: Fix the argument list for rtnl_handle_iflink()
This function is registered as a ifnet_link_event and so should have the
corresponding argument list.
PR: 282870
Reported by: nakayamakenjiro at gmail.com
MFC after: 1 week
pfctl: clear statistic for specified addresses
The ioctl DIOCRCLRASTATS provides the functionality of clearing stats
not only for the whole table for for addresses stored in that table. The
functionality was missing from pfctl, though. Add it now.
PR: 282877
Obtained from: OpenBSD, kirill <kirill at openbsd.org>, e496dff3a7
MFC after: 3 weeks
libthr: allow very early atfork registration
LSan wants to be able to register atfork handlers at __lsan_init time,
which can happen either at the first intercepted function call or in a
.preinit_array function. Both of these end up being very early in rtld
and executed with the bind lock held, which ends up causing problems
when we go to _libpthread_init().
Instead of requiring libpthread to be initialized, just insert the new
atfork handler straight into the list if it's not ready yet. The
critical section and locking should not be necessary if we're really
executing this early, as there won't be any threads to contend with.
Reviewed by: kib (earlier version), markj
(cherry picked from commit 4b202f4faf40fd7af8b84491360186aed8ce5733)
libthr: add some tests for pthread_atfork() handling
Test that it generally functions, and also that registering multiple
times calls each handler in the order that it's documented to call them
in.
Reviewed by: kib, markj
(cherry picked from commit 7e6ac503ffeb81733272d54af367db58e45e57ca)
_utmx_op: don't recurse on chain busy
In handling a PP mutex, we'll busy it as soon as we enter the loop and
unbusy it either prior to sleeping or at exit time. In this particular
case, if we fail to transition the mutex from OWNERDEAD -> owned because
of casueword(9) failure and the suspend check fails, we'll start over
and attempt to busy an already-busied chain and irrecoverably lock up
both this thread and anything else that tries to busy the chain.
Unbusy the chain prior to restarting because I couldn't decide if that
was a better or worse idea than just keeping track of whether we dirtied
it in do_lock_pp() and avoiding re-dirty. This is marginally easier to
reason about as it returns us to expected state on entry to the loop.
While we're here, simplify the code a bit as `error` will be clobbered
right after the branch anyways.
Reviewed by: kib, olce (both earlier version)
(cherry picked from commit f660777865fcc28e147b51362412e0286e7df78e)
timedef: remove redundancy in Catalan date_fmt definitions
This is already factored into the month names, resulting in an awkward
construction:
$ env LC_ALL=ca_ES.UTF-8 date
dimecres, 6 de de novembre de 2024, 21:21:18 CST
This would now render as:
$ env LC_ALL=ca_ES.UTF-8 date
dimecres, 6 de novembre de 2024, 21:22:41 CST
Reviewed by: bapt, royger
Sponsored by: Klara, Inc.
(cherry picked from commit a4b7367eb027a99b9eb48bf18951049434a9e189)