FreeBSD/src 8367882sys/dev/e1000 if_em.h e1000_regs.h

e1000: Report corrected I350 ECC errors

I350 does not interrupt for corrected internal ECC errors.  Instead,
the PCIe, DMA, packet buffer, loopback, and management memories expose
sticky status bits in their region-specific status registers.

Sample those bits with the regular hardware statistics update, preserve
the RX and TX packet buffer ECC enable state while clearing RW1C
indications, and expose counters grouped by memory region.  Each counter
records observed indication bits rather than exact error counts because
repeated corrections between samples collapse into one sticky bit.

On an I350 (8086:1521 revision 1), the ECC enables remained set.  All
corrected-error status registers remained clear across boot, interface
down/up, three FER recovery resets, and bidirectional line-rate traffic.
The device has no documented corrected error injector.  Therefore, the
per-region paths were validated against the register definitions rather
than an injected SRAM error.


    [2 lines not shown]
DeltaFile
+79-0sys/dev/e1000/if_em.c
+8-0sys/dev/e1000/e1000_defines.h
+3-0sys/dev/e1000/e1000_regs.h
+1-0sys/dev/e1000/if_em.h
+91-04 files

FreeBSD/src 28bbe1dsys/dev/e1000 if_em.h e1000_regs.h

e1000: Recover from I350 memory errors

I350 reports uncorrectable internal memory errors through ICR.FER and
identifies the affected region in PEIND.  Depending on the region and
memory, hardware stops transmit, receive, or all PCIe and DMA traffic
until the port is reset and reinitialized.

Enable FER and all regional indication masks.  Capture the read-clear
status in the interrupt filter.
Record the fatal PCIe, DMA, and LAN status registers, keep FER masked
while recovery is pending, and expose per-region indication counters.

Use the datasheet required port reset before master disable order for
PCIe parity errors.  Reset for PCIe, DMA, and traffic-affecting LAN
errors.  Statistics and VF-mailbox parity errors only require their
status to be discarded and cleared; management-memory recovery remains
under firmware control.

Validated on an I350 (8086:1521 revision 1).  Three software-set FER

    [7 lines not shown]
DeltaFile
+122-37sys/dev/e1000/if_em.c
+10-5sys/dev/e1000/e1000_defines.h
+2-0sys/dev/e1000/if_em.h
+2-0sys/dev/e1000/e1000_regs.h
+136-424 files

FreeBSD/src 0ea53a7sys/dev/e1000 if_em.h if_em.c

e1000: Report corrected I210 and I211 ECC errors

I210 and I211 do not interrupt for corrected internal ECC errors.
Instead, the DMA packet-buffer and PCIe memories expose sticky status
bits in PBECCSTS and PCIEECCSTS.

Sample these bits with the regular hardware statistics update, preserve
the I210/I211 PBECCSTS enable state while clearing its RW1C indication,
and expose separate counters for the DMA packet buffer, PCIe transmit
data, and PCIe retry buffer.

The counters represent observed indications rather than exact error
counts because multiple corrections between samples collapse into one
sticky status bit.

Hardware validation used an I210 revision 3.  Unlike I225 and I226, the
published I210/I211 register definitions do not expose self-clearing
injectors for these corrected ECC memories.  The three counter sysctls
were present and remained zero under line-rate traffic and three fatal

    [5 lines not shown]
DeltaFile
+40-0sys/dev/e1000/if_em.c
+3-0sys/dev/e1000/if_em.h
+43-02 files

FreeBSD/src 8d2d628sys/dev/e1000 if_em.h e1000_regs.h

e1000: Recover from I210 and I211 memory errors

I210 and I211 report uncorrectable internal memory errors through
ICR.FER and identify the affected region in PEIND.  Depending on the
region, hardware stops transmit or all PCIe and DMA traffic until the
port is reset and reinitialized.

Enable FER and all regional indication masks.  Discard indication state
left by firmware before enabling reactions, capture the read-clear
status in the interrupt filter, and keep the cause masked while recovery
is pending.  Report the affected regions and expose per-region
indication counters.  Management-only errors remain under firmware
control.

PCIe region parity errors require a different recovery order from the
normal reset path.  Assert the port-local CTRL.RST bit, wait at least
3 ms, verify reset completion, disable master requests, clear
PCIEERRSTS, and then enter normal port reinitialization.  Do not use the
device-wide CTRL.DEV_RST sequence used by I225 and I226.

    [15 lines not shown]
DeltaFile
+219-25sys/dev/e1000/if_em.c
+20-0sys/dev/e1000/e1000_defines.h
+7-2sys/dev/e1000/e1000_regs.h
+8-0sys/dev/e1000/if_em.h
+254-274 files

FreeBSD/src d7be8a3sys/dev/e1000 if_em.h if_em.c

e1000: Report PCH packet buffer ECC statistics

PCH packet buffer ECC status contains read-clear byte counters for
corrected and uncorrected errors.  Sample them with the regular
hardware statistics update and account for the snapshot captured by
the fatal error interrupt path.

Expose the counters and the number of reset worthy interrupt
indications under dev.em.N.memory_errors.  Keeping the reset counter
separate also preserves evidence when another status reader wins the
read-clear race.

Hardware validation used an I219-LM.  Three documented ICS.ECCER
injections advanced fatal_resets from zero to three, exactly once per
reset.  corrected_packet_buffer and uncorrected_packet_buffer remained
zero, as expected because ICS does not inject a memory error or alter
PBECCSTS.

MFC after:      2 weeks
Sponsored by:   BBOX.io
DeltaFile
+36-0sys/dev/e1000/if_em.c
+2-0sys/dev/e1000/if_em.h
+38-02 files

FreeBSD/src 39762c8sys/dev/e1000 if_em.h if_em.c

e1000: Recover from PCH packet buffer ECC errors

PCH LAN controllers beginning with I217 report uncorrectable
packet buffer ECC errors through ICR.ECCER.  Descriptor memory errors
stop the MAC and require a reset before traffic can resume.

Enable the interrupt on the PCH generations whose shared code setup
enables packet buffer ECC.  Capture the read-clear PBECCSTS value in
the interrupt filter, mask ECCER while recovery is pending, and request
an iflib reset from the admin task.  Reenable the cause only after
hardware initialization succeeds.

Hardware validation used an I219-LM and the documented ICS.ECCER bit to
generate the fatal interrupt.  This synthesizes the interrupt cause but
does not corrupt packet buffer memory or alter its ECC byte counters.
Three injections in one boot each requested one reset and recovered
traffic without a panic or watchdog.  IMS.ECCER and PBECCSTS.ECC_ENABLE
remained set after every reset.


    [2 lines not shown]
DeltaFile
+99-5sys/dev/e1000/if_em.c
+3-0sys/dev/e1000/if_em.h
+102-52 files

FreeBSD/src f1cfcfbusr.sbin/traceroute6 traceroute6.8 traceroute6.c

traceroute6: implement firewall evasion mode

Merge implementation of "traceroute -e" to traceroute6 for TCP/UDP/SCTP.

MFC-after:      2 weeks
DeltaFile
+16-12usr.sbin/traceroute6/traceroute6.c
+6-2usr.sbin/traceroute6/traceroute6.8
+22-142 files

FreeBSD/src e698fee. sqlite3rc.h VERSION, autosetup sqlite-config.tcl

sqlite3: Vendor import of sqlite3 3.53.3

Release notes at https://www.sqlite.org/releaselog/3_53_3.html.

Obtained from:  https://www.sqlite.org/2026/sqlite-autoconf-3530300.tar.gz
DeltaFile
+1,198-445sqlite3.c
+109-44shell.c
+21-7sqlite3.h
+6-2autosetup/sqlite-config.tcl
+1-1sqlite3rc.h
+1-1VERSION
+1,336-5006 files

FreeBSD/src 8cfe06eusr.sbin/bsdconfig/datetime INDEX time, usr.sbin/bsdconfig/datetime/include messages.subr

bsdconfig: add datetime module for live system clock

Provide bsdconfig datetime (menu), date, and time to set the running
system clock via dialog(1)/bsddialog(1) --calendar and --timebox with
mustberoot.  Unlike bsdinstall's time helper, this operates on the live
system rather than a CHROOT-staged install target, and calls
adjkerntz(8) after a successful change so the CMOS stays in sync.

Reviewed by:    bcr
Differential Revision:  https://reviews.freebsd.org/D58487
DeltaFile
+154-0usr.sbin/bsdconfig/datetime/datetime
+142-0usr.sbin/bsdconfig/datetime/share/datetime.subr
+73-0usr.sbin/bsdconfig/datetime/time
+73-0usr.sbin/bsdconfig/datetime/date
+57-0usr.sbin/bsdconfig/datetime/INDEX
+41-0usr.sbin/bsdconfig/datetime/include/messages.subr
+540-09 files not shown
+632-215 files

FreeBSD/src cfc5ebftests/sys/capsicum syscalls.h procdesc.cc

tests/sys/capsicum: adjust tests for the new reaping behavior

(cherry picked from commit 77d6c45afdca8a524a88edfb3097d4d9dc90b583)
DeltaFile
+39-51tests/sys/capsicum/procdesc.cc
+1-0tests/sys/capsicum/syscalls.h
+40-512 files

FreeBSD/src 83fa3c3sys/kern kern_sig.c kern_exit.c, sys/sys procdesc.h

pdkill(2), pdgetpid(2): return EBADF if the file type is not procdesc

PR:     297293

(cherry picked from commit e8b9b6b9f31c463137b4104550bfb3286a43703a)
DeltaFile
+6-4sys/kern/sys_procdesc.c
+2-2sys/sys/procdesc.h
+2-1sys/kern/kern_sig.c
+2-1sys/kern/kern_exit.c
+12-84 files

FreeBSD/src 3bd40a3tests/sys/capsicum procdesc.cc capability-fd.cc

capsicum-tests: remove Linux support

(cherry picked from commit fba81b33aabff74ad03d5f9f9663c176cf060fa6)
DeltaFile
+4-144tests/sys/capsicum/capsicum.h
+0-144tests/sys/capsicum/syscalls.h
+0-140tests/sys/capsicum/capability-fd-pair.cc
+0-103tests/sys/capsicum/capsicum-rights.h
+5-65tests/sys/capsicum/capability-fd.cc
+15-51tests/sys/capsicum/procdesc.cc
+24-64716 files not shown
+55-93722 files

FreeBSD/src 08adf7clib/libsys pdfork.2

pddupfd.2: fix errno value returned for non-procdesc argument

(cherry picked from commit dfdd8af5a8de8f193747f5ec13cd501106823d2d)
DeltaFile
+4-4lib/libsys/pdfork.2
+4-41 files

FreeBSD/src dd1252etests/sys/kern procdesc.c

tests/procdesc: Fix race in pdopenpid_pdwait_only_one

(cherry picked from commit 727a83e90098e1c0fc4acdcf9b8099a70e6ea2b2)
DeltaFile
+16-3tests/sys/kern/procdesc.c
+16-31 files

FreeBSD/src d510a58tests/sys/kern reaper.c procdesc.c

tests/sys/kern: adjust tests for the new reaping behavior

(cherry picked from commit a96f285b5953f6ff3adb3ab43433ba9e15a9aa46)
DeltaFile
+11-8tests/sys/kern/pdwait.c
+4-5tests/sys/kern/ptrace_test.c
+4-2tests/sys/kern/procdesc.c
+1-0tests/sys/kern/reaper.c
+20-154 files

FreeBSD/src fe74f9btests/sys/kern procdesc.c

tests/procdesc: Add some test cases for pdopenpid()

(cherry picked from commit 0083a4d6224f1290af31528b55ba27c51e27ba46)
DeltaFile
+467-0tests/sys/kern/procdesc.c
+467-01 files

FreeBSD/src 0d44299tests/sys/kern procdesc.c

pddupfd(2): add basic test

(cherry picked from commit 23e94b040b9b99f097c113fc8576576ffec0486f)
DeltaFile
+74-0tests/sys/kern/procdesc.c
+74-01 files

FreeBSD/src 9d64983sys/kern kern_fork.c sys_procdesc.c, sys/sys procdesc.h proc.h

processes: add zombie references, each of them prevents reap

(cherry picked from commit bcdb6ba94d08554eeb9bde4d2468707a612f5d90)
DeltaFile
+33-25sys/kern/kern_exit.c
+33-15sys/kern/sys_procdesc.c
+11-1sys/sys/proc.h
+9-0sys/kern/kern_fork.c
+4-2sys/sys/procdesc.h
+90-435 files

FreeBSD/src c20ccfclib/libsys wait.2 pdfork.2

pdwait(2), wait(2): document interaction between pdopenpid() and waitpid()

(cherry picked from commit c49198534a9b823c18c8b9e67e3b16a2d0fa27ad)
DeltaFile
+57-4lib/libsys/pdfork.2
+0-9lib/libsys/wait.2
+57-132 files

FreeBSD/src eabe343sys/kern kern_exit.c, sys/sys proc.h

kern/kern_exit.c: make wait_fill_siginfo/wrusage global

(cherry picked from commit a24674ecab24abf6cc84262059b3e28bb0cd3a04)
DeltaFile
+2-2sys/kern/kern_exit.c
+2-0sys/sys/proc.h
+4-22 files

FreeBSD/src ecdc9cfsys/kern kern_exit.c sys_procdesc.c, sys/sys procdesc.h

pdwait(2): change handling of the exited processes

(cherry picked from commit 7da4edd300984abe67ff503828c1674a28e4b8b0)
DeltaFile
+25-4sys/kern/sys_procdesc.c
+18-9sys/kern/kern_exit.c
+9-2sys/sys/procdesc.h
+52-153 files

FreeBSD/src 4435b4flib/libsys pdfork.2, sys/kern sys_procdesc.c

procdesc: Disallow pddupfd() of non-passable files

(cherry picked from commit 91e11c8f2b38eb1d1f3a1d57b27378fb2c6ab3c1)
DeltaFile
+7-3sys/kern/sys_procdesc.c
+6-0lib/libsys/pdfork.2
+13-32 files

FreeBSD/src a3b8ff9sys/kern kern_exit.c sys_procdesc.c, sys/sys procdesc.h

procdesc: Remove dead code

(cherry picked from commit 9a7bd3309bec08802e8c18c03669812ec3352534)
DeltaFile
+4-18sys/kern/sys_procdesc.c
+2-1sys/kern/kern_exit.c
+1-1sys/sys/procdesc.h
+7-203 files

FreeBSD/src 945995csys/kern kern_exit.c

kern_pdwait(): print the process pointer through pd

(cherry picked from commit 2e259c209f6912bc99e18bbfb55dd10554b3b11d)
DeltaFile
+2-2sys/kern/kern_exit.c
+2-21 files

FreeBSD/src c6d7f60lib/libsysdecode flags.c

libsysdecode: Recognize NOTE_PDSIGCHLD

(cherry picked from commit a931431a1deca75079f034b74a63c2774f83be8d)
DeltaFile
+1-1lib/libsysdecode/flags.c
+1-11 files

FreeBSD/src 0e3a044lib/libsys kqueue.2

kqueue.2: document EVFILT_PROCDESC support for NOTE_FORK

(cherry picked from commit 3f88f6b89942a7f3aa6bb682b02b7307d060b52f)
DeltaFile
+35-0lib/libsys/kqueue.2
+35-01 files

FreeBSD/src 404eeb1sys/kern sys_procdesc.c

procdesc: report NOTE_PDSIGCHLD for traced and stopped process

(cherry picked from commit b328975b9d7c475cd99107ca407df04366cc38af)
DeltaFile
+12-3sys/kern/sys_procdesc.c
+12-31 files

FreeBSD/src 6ea35ecsys/kern sys_procdesc.c

fget_procdesc(): change error for non-procdesc type from EBADF to EINVAL

(cherry picked from commit e18844223d1eabb7e435ff9da20d88915d3f4675)
DeltaFile
+1-1sys/kern/sys_procdesc.c
+1-11 files

FreeBSD/src e8008c0sys/kern sys_process.c

kern/sys_process.c: remove extra ()

(cherry picked from commit fed49793ddd197e3dd86c8456b39f569ab74b54c)
DeltaFile
+1-1sys/kern/sys_process.c
+1-11 files

FreeBSD/src f86fd0asys/kern kern_fork.c sys_procdesc.c, sys/sys procdesc.h event.h

EVFILT_PROCDESC: support NOTE_FORK

(cherry picked from commit e8d4d754e1c73b01c89580a26c22f982415c694a)
DeltaFile
+19-0sys/kern/sys_procdesc.c
+9-0sys/kern/kern_fork.c
+5-3sys/sys/event.h
+2-0sys/sys/procdesc.h
+35-34 files