FreeBSD/src e45c7bc — sys/compat/linux linux_dummy.c linux_misc.c

linux: implement sched_getattr()

This change adds the necessary glue to translate Linux scheduler policy
and priority from FreeBSD so this information is available to Linux
applications.

Please note that this change does not fill in the `.sched_nice` property: this
will be handled in a follow up commit (see bug 299617 for more details).

This unbreaks using the Linux version of Chromium on FreeBSD.

PR:     297468
Signed-off-by:  Joao Bonifacio <joaoboni017 at gmail.com>
Pull Request: https://github.com/freebsd/freebsd-src/pull/2370
Reviewed by:    olce
Differential Revision:  https://reviews.freebsd.org/D60214
DeltaFile
+112-0sys/compat/linux/linux_misc.c
+0-1sys/compat/linux/linux_dummy.c
+112-12 files

FreeBSD/src c915397 — sys/netpfil/pf pflow.c

pflow: Destroy exporters on module unload

Since 83641335f96c only jail removal destroys exporters.  Unloading
pflow with one left trips the assertion in vnet_pflowdetach() or,
without INVARIANTS, leaves pf calling into the freed module the next
time it removes a state that pflow exports.

Reviewed by:    kp
Fixes:          83641335f96c ("pf: clean up pflow sockets on jail removal")
MFC after:      1 week
Sponsored by:   Rubicon Communications, LLC ("Netgate")
DeltaFile
+5-1sys/netpfil/pf/pflow.c
+5-11 files

FreeBSD/src 96944ab — sbin/pfctl pfctl.c parse.y

pfctl: Report why a table definition failed

pfctl_ina_define() returns an error number instead of setting errno, but
both of its callers print errno.  A table that failed to load was
reported as "cannot define table t: No error: 0", or with a stale errno,
both in the main ruleset (process_tabledef()) and in anchors
(pfctl_load_tables()).

Reviewed by:    kp
Fixes:          219ce3063840 ("pf: convert DIOCRINADEFINE to netlink")
Sponsored by:   Rubicon Communications, LLC ("Netgate")
DeltaFile
+4-3sbin/pfctl/parse.y
+1-1sbin/pfctl/pfctl.c
+5-42 files

FreeBSD/src d2df0d4 — share/man/man7 networking.7

networking.7: Scope netif to wlan0

I recently learned that you can restart just wlan0 instead of the entire
netif, which will save you when doing on-device networking like bhyve,
or activting wlan0 when it is booted parked via rc.conf's NOAUTO.

MFC after:              3 days
Reviewed by:            bz, bcr
Discussed with:         emaste
Differential Revision:  https://reviews.freebsd.org/D59586
DeltaFile
+6-6share/man/man7/networking.7
+6-61 files

FreeBSD/src 067c6da — share/man/man4 ossl.4

ossl.4: Canonicalize HARDWARE and add powerpc64

This driver now supports powerpc64, so add that to the list of supported
hardware. Further, rewrite that list into the canonical HARDWARE section
for inclusion in the FreeBSD 16.0 Hardware Release Note.

markj notes that it would be useful to list the CPU features required
for this driver to be usable on these platforms. ngie notes that this
would be good as a table.

Fixes:  5daf8ed625af ("Add GCM support on powerpc64/powerpc64le")
MFC after:              the above was scheduled to but has not mfc yet
Reviewed by:            ngie
Differential Revision:  https://reviews.freebsd.org/D59770
DeltaFile
+17-15share/man/man4/ossl.4
+17-151 files

FreeBSD/src 3680477 — share/man/man4/man4.aarch64 armv8crypto.4

armv8crypto: Canonicalize document description

MFC after:              3 days
Reported by:            fuz
Reviewed by:            fuz
Differential Revision:  https://reviews.freebsd.org/D59730
DeltaFile
+2-2share/man/man4/man4.aarch64/armv8crypto.4
+2-21 files

FreeBSD/src daca1e1 — lib/libpmc pmc.perf.3

pmc.perf.3: Mark only for amd64 architecture

Manual pages have an optional architecture specifier after the section
number in the document title macro. I highly recommend using it when
expedient, the extra information is available programmatically and it
uses no extra lines in the rendered page.

MFC after:              No, pmc.perf.3 is not MFCing
Reviewed by:            Anderson Nascimento <anascime at amd.com>
Differential Revision:  https://reviews.freebsd.org/D60714
DeltaFile
+1-1lib/libpmc/pmc.perf.3
+1-11 files

FreeBSD/src 4488a4f — sys/netinet in_pcb.h in_pcb.c

inpcb: make ipport_randomized static
DeltaFile
+2-1sys/netinet/in_pcb.c
+0-2sys/netinet/in_pcb.h
+2-32 files

FreeBSD/src 1594fbd — sbin/pfctl pfctl_osfp.c

pfctl: Report the error of a failed fingerprint flush

pfctl_flush_fingerprints() returns an error number instead of setting
errno, so a failed flush was reported with whatever errno held: "No
error: 0" on a kernel with ALTQ, ENODEV from the ALTQ probe on one
without.  Every "pfctl -f" flushes the fingerprints first, so on a
kernel that predates PFNL_CMD_OSFP_FLUSH every ruleset load fails this
way without saying why.

Reviewed by:    kp
Fixes:          75c0a8376204 ("pf: convert DIOCOSFPFLUSH DIOCOSFPGET DIOCOSFPADD to netlink")
Sponsored by:   Rubicon Communications, LLC ("Netgate")
DeltaFile
+1-1sbin/pfctl/pfctl_osfp.c
+1-11 files

FreeBSD/src 5ce0ab7 — usr.sbin/bhyve gdb.c

bhyve: fix integer overflow in qXfer packet parser

doff + dlen overflows unsigned int when both values are close to UINT_MAX,
causing the wrong branch to execute and passing an unbounded length to
append_binary_data().  Rewrite the comparison to avoid the addition.

Reviewed by:    markj
Fixes:          f81cdf24ba54 ("bhyve: Add support for XML register definitions")
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D60847
DeltaFile
+1-1usr.sbin/bhyve/gdb.c
+1-11 files

FreeBSD/src f2bba01 — sys/netpfil/ipfw ip_fw_dynamic.c

ipfw: keep flag(s) definition next to member that holds them
DeltaFile
+2-7sys/netpfil/ipfw/ip_fw_dynamic.c
+2-71 files

FreeBSD/src bc9e668 — sys/netpfil/ipfw ip_fw_dynamic.c

ipfw: gc disabled old hashing code

This code was disabled for 8 years already.  It used to produce very
predictable hash without a salt, and that made the dynamic state engine an
easy DoS attack vector.  No chance we will ever use it again.
DeltaFile
+0-34sys/netpfil/ipfw/ip_fw_dynamic.c
+0-341 files

FreeBSD/src 41356c8 — sys/net if_bridge.c, sys/netgraph ng_pptpgre.c

net*: use inlined m_pullup()

Leverage the fact that m_pullup() in an inline function in mbuf.h and let
compiler to do all optimizations.

Mostly mechanical changes, but in few cases surrounding lines are brought
to style(9).  In netinet6, a few input functions changed to set the
input/output `struct mbuf **` pointer to NULL at a single place.

Reviewed by:            pouria, zlei, gallatin
Differential Revision:  https://reviews.freebsd.org/D60689
DeltaFile
+56-113sys/netinet6/icmp6.c
+30-58sys/netipsec/key.c
+25-50sys/net/if_bridge.c
+20-32sys/netinet/ip_carp.c
+17-32sys/netinet/tcp_input.c
+19-26sys/netgraph/ng_pptpgre.c
+167-31187 files not shown
+502-95193 files

FreeBSD/src 671babc — sys/kern uipc_mbuf.c, sys/sys mbuf.h

mbuf: make m_pullup() an inline over most expected case

Implement a most typical use of m_pullup() as an inline and leave only the
heavy part as a function.  A sweeping change to make benefit of the new
version follows.

Reviewed by:            pouria, zlei, gallatin
Differential Revision:  https://reviews.freebsd.org/D60688
DeltaFile
+10-1sys/sys/mbuf.h
+1-1sys/kern/uipc_mbuf.c
+11-22 files

FreeBSD/src 4c72b1c — sys/netgraph ng_pppoe.c

ng_pppoe: fix m_pullup() logic

The clear intent here is to do m_pullup() if we _don't_ have two bytes.
Before the fix: a) m_pullup() was always called and did nothing; b) if a
node was ever supplied with a fragmented but otherwise correct mbuf, then
it would not handle PROT_LCP as intended.

Noticed by:             zlei
Reviewed by:            zlei, eugen_grosbein.net
Differential Revision:  https://reviews.freebsd.org/D60788
Fixes:                  28903f396af4b151e16ea606cda66a9244fb179f
DeltaFile
+1-1sys/netgraph/ng_pppoe.c
+1-11 files

FreeBSD/src 993f846 — sys/arm64/arm64 identcpu.c pmap.c, sys/arm64/include cpu.h

arm64: Fix and rename midr_check_var_part_range()

At the lowest and highest variants in the specified range,
midr_check_var_part_range() was comparing the part number, rather than
the revision, against the bounds.  In other words, the "Y" in "rXpY"
should be compared to CPU_REV() instead of CPU_PART().  Apply this
correction, and rename the function to midr_check_var_rev_range() to
better reflect the field that we are checking.

(cherry picked from commit 39d6e2226484ca434c7d980eda4aa19ed0d62c9e)
DeltaFile
+11-6sys/arm64/include/cpu.h
+2-2sys/arm64/arm64/pmap.c
+1-1sys/arm64/arm64/identcpu.c
+14-93 files

FreeBSD/src f1986e5 — usr.sbin/bhyve pci_virtio_input.c

bhyve: Fix virtio-input event array resizing

Use the new array size when calling realloc().  Note that this queue
stores events read from a host evdev device, i.e., it is not
guest-controlled.

While here, use the cdefs.h __unused macro and use them correctly, i.e.,
don't mark "arg" as unused when it isn't.

Reported by:    Brian Delgado from Intel using Anthropic Opus 4.8
Fixes:          054accac71e0 ("Add a virtio-input device emulation.")
MFC after:      2 weeks
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D60679
DeltaFile
+7-13usr.sbin/bhyve/pci_virtio_input.c
+7-131 files

FreeBSD/src de80428 — sys/kern vfs_inotify.c

inotify: Open target the directory when adding a watch

When an application uses inotify to watch a directory,
vn_inotify_add_watch() reads the directory entries and does a name
lookup so as to induce the filesystem to create namecache entries.
Some filesystems expect the directory to be opened before VOP_READDIR
can be called, so do that.

PR:             299239
Reviewed by:    kib
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D60782
DeltaFile
+9-0sys/kern/vfs_inotify.c
+9-01 files

FreeBSD/src 32f7bdd — sys/amd64/amd64 initcpu.c

amd64: Don't probe MSR_IRPERF when running under bhyve

vmm doesn't implement it, and bhyve simply aborts.  I fixed this in
commit c83e075d72f6, but it'll still be impossible to boot newer FreeBSD
guests on older hosts without this workaround.

Reviewed by:    adrian
Fixes:          2272fac218a8 ("hwpmc: Add support for AMD-only IRPERF in hwpmc PERF class")
Differential Revision:  https://reviews.freebsd.org/D60730
DeltaFile
+4-0sys/amd64/amd64/initcpu.c
+4-01 files

FreeBSD/src 55d0e02 — usr.sbin/bhyveload bhyveload.c

bhyveload: Factor global variables into a software context

This will make it easier to port bhyveload's functionality into the main
bhyve executable.

No functional change intended.

Reviewed by:    novel
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D60481
DeltaFile
+230-187usr.sbin/bhyveload/bhyveload.c
+230-1871 files

FreeBSD/src ad37abf — sys/sys msan.h

kmsan: Add a required forward type declaration

MFC after:      1 week
DeltaFile
+1-0sys/sys/msan.h
+1-01 files

FreeBSD/src 6690cbd — sys/dev/intel spi.c lpss.h, sys/dev/uart uart_bus_pci.c

intel: add a shared header for the LPSS private registers

The Intel Low Power Subsystem wraps its I2C, SPI and UART functions in a
block of private registers that control the functional clock and the
function and DMA resets.

Refactored to use a single header

Reviewed by:    imp, adrian
Differential Revision:  https://reviews.freebsd.org/D60859
DeltaFile
+35-0sys/dev/intel/lpss.h
+8-13sys/dev/uart/uart_bus_pci.c
+7-8sys/dev/intel/spi.c
+50-213 files

FreeBSD/src b37e8ff — sys/dev/uart uart_bus_pci.c

uart: support Meteor Lake-P LPSS UART 0

Recognize Intel 8086:7e25 using 32-bit MMIO with a four-byte register
stride. Deassert the LPSS functional resets and program the 100 MHz
reference clock divider for a 44.2368 MHz UART clock before the UART
core claims the register window, and reprogram both on resume.

Reviewed by:    imp, adrian
Differential Revision:  https://reviews.freebsd.org/D60858
DeltaFile
+80-2sys/dev/uart/uart_bus_pci.c
+80-21 files

FreeBSD/src a32f681 — sys/dev/usb/serial u3g.c

u3g: Add ublox LARA-L6 modem

MFC after:              3 days
Approved by:            adrian
Reviewed by:            kevans, adrian
Differential Revision:  https://reviews.freebsd.org/D60652

(cherry picked from commit a32c8dc6e8fd96e0d56e5add09638120e62d8418)
DeltaFile
+6-0sys/dev/usb/serial/u3g.c
+6-01 files

FreeBSD/src 727f8d9 — sys/dev/usb usbdevs

usbdevs: Add ublox LARA-L6

The device has multiple PIDs as it supports different USB profiles.

Approved by:            adrian
MFC after:              3 days
Differential Revision:  https://reviews.freebsd.org/D60482

(cherry picked from commit 95432767ddc36fd1f6b0054e4eb1a849c73e7da6)
DeltaFile
+6-0sys/dev/usb/usbdevs
+6-01 files

FreeBSD/src 21a5802 — sys/dev/usb/serial u3g.c

u3g: Add ublox LARA-L6 modem

MFC after:              3 days
Approved by:            adrian
Reviewed by:            kevans, adrian
Differential Revision:  https://reviews.freebsd.org/D60652

(cherry picked from commit a32c8dc6e8fd96e0d56e5add09638120e62d8418)
DeltaFile
+6-0sys/dev/usb/serial/u3g.c
+6-01 files

FreeBSD/src 50f6127 — sys/dev/usb usbdevs

usbdevs: Add ublox LARA-L6

The device has multiple PIDs as it supports different USB profiles.

Approved by:            adrian
MFC after:              3 days
Differential Revision:  https://reviews.freebsd.org/D60482

(cherry picked from commit 95432767ddc36fd1f6b0054e4eb1a849c73e7da6)
DeltaFile
+6-0sys/dev/usb/usbdevs
+6-01 files

FreeBSD/src 7d98cf4 — usr.sbin/makefs/tests makefs_zfs_tests.sh, usr.sbin/makefs/zfs fs.c

makefs/zfs: count "." in the link count and size of dataset roots

The root directory of a dataset is populated from an fsnode that is the
"." entry of the staging directory, and its children are the siblings of
that node, so the loop that computes the link count and the size of the
directory (which expects "." among the children, as the nodes of the
other directories have) never counts it.  The link count of the root of
every dataset is one less than it should be (1 for an empty dataset
instead of 2, 19 instead of 20 for a root with 18 subdirectories), and
so is its size.

fts(3) trusts the link count of the directories of ZFS when called with
FTS_NOSTAT and FTS_PHYSICAL: it stops looking for subdirectories once it
has seen as many as the link count says, and does not descend into the
ones it did not look at.  As a result find(1), and rm(1) when it does
not need to stat the entries, silently skip directories of a pool made
by makefs.  On a root filesystem made by makefs, find / does not list
/etc at all.


    [13 lines not shown]
DeltaFile
+54-0usr.sbin/makefs/tests/makefs_zfs_tests.sh
+4-3usr.sbin/makefs/zfs/fs.c
+58-32 files

FreeBSD/src f190090 — sys/kern sched_ule.c sched_4bsd.c

sched: INVARIANTS: Check sched_preempt() is called on 'curthread'

sched_preempt() does not support operating on a remote thread.  If you
are looking to influence CPU allocation on another thread, see, e.g.,
cpuset_setthread(), which in the end calls sched_affinity().

MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
DeltaFile
+1-0sys/kern/sched_ule.c
+1-0sys/kern/sched_4bsd.c
+2-02 files

FreeBSD/src 79ca9f7 — sys/kern sched_ule.c

sched_ule: Use TDQ_CPU() macro instead of fiddling with DPCPU

No functional change (intended).

MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
DeltaFile
+1-1sys/kern/sched_ule.c
+1-11 files