opnsense-src/sys/dev
Kenneth D. Merry 8a6e5ade16 Fix mpr(4) and mps(4) state transitions and a use-after-free panic.
When the mpr(4) and mps(4) drivers probe a SATA device, they issue an
ATA Identify command (via mp{s,r}sas_get_sata_identify()) before the
target is fully setup in the driver.  The drivers wait for completion of
the identify command, and have a 5 second timeout.  If the timeout
fires, the command is marked with the SATA_ID_TIMEOUT flag so it can be
freed later.

That is where the use-after-free problem comes in.  Once the ATA
Identify times out, the driver sends a target reset, and then frees any
identify commands that have timed out.  But, once the target reset
completes, commands that were queued to the drive are returned to the
driver by the controller.

At that point, the driver (in mp{s,r}_intr_locked()) looks up the
command descriptor for that particular SMID, marks it CM_STATE_BUSY and
sends it on for completion handling.

The problem at this stage is that the command has already been freed,
and put on the free queue, so its state is CM_STATE_FREE.  If INVARIANTS
are turned on, we get a panic as soon as this command is allocated,
because its state is no longer CM_STATE_FREE, but rather CM_STATE_BUSY.

So, the solution is to not free ATA Identify commands that get stuck
until they actually return from the controller.  Hopefully this works
correctly on older firmware versions.  If not, it could result in
commands hanging around indefinitely.  But, the alternative is a
use-after-free panic or assertion (in the INVARIANTS case).

This also tightens up the state transitions between CM_STATE_FREE,
CM_STATE_BUSY and CM_STATE_INQUEUE, so that the state transitions happen
once, and we have assertions to make sure that commands are in the
correct state before transitioning to the next state.  Also, for each
state assertion, we print out the current state of the command if it is
incorrect.

mp{s,r}.c:      Add a new sysctl variable, dump_reqs_alltypes,
                that controls the behavior of the dump_reqs sysctl.
                If dump_reqs_alltypes is non-zero, it will dump
                all commands, not just the commands that are in the
                CM_STATE_INQUEUE state.  (You can see the commands
                that are in the queue by using mp{s,r}util debug
                dumpreqs.)

                Make sure that the INQUEUE -> BUSY state transition
                happens in one place, the mp{s,r}_complete_command
                routine.

mp{s,r}_sas.c:  Make sure we print the current command type in
                command state assertions.

mp{s,r}_sas_lsi.c:
                Add a new completion handler,
                mp{s,r}sas_ata_id_complete.  This completion
                handler will free data allocated for an ATA
                Identify command and free the command structure.

                In mp{s,r}_ata_id_timeout, do not set the command
                state to CM_STATE_BUSY.  The command is still in
                queue in the controller.  Since we were blocking
                waiting for this command to complete, there was
                no completion handler previously.  Set the
                completion handler, so that whenever the command
                does come back, it will get freed properly.

                Do not free ATA Identify commands that have timed
                out in mp{s,r}sas_add_device().  Wait for them
                to actually come back from the controller.

mp{s,r}var.h:   Add a dump_reqs_alltypes variable for the new
                dump_reqs_alltypes sysctl.

                Make sure we print the current state for state
                transition asserts.

This was tested in the Spectra Logic test bed (as described in the
review), as well Netflix's Open Connect fleet (where panics dropped from
a dozen or two a month to zero).

Reviewed by:		imp@ (who is handling the commit with ken's OK)
Sponsored by:		Spectra Logic
Differential Revision:	https://reviews.freebsd.org/D25476

(cherry picked from commit 175ad3d003)
2021-09-02 20:33:28 -04:00
..
aac Convert remaining cap_rights_init users to cap_rights_init_one 2021-01-12 13:16:10 +00:00
aacraid aacraid: reduce max I/O size to avoid DMA issues 2021-07-23 08:28:58 -03:00
acpi_support acpi_wmi(4): Allow attachment to ACPI node if EC is not found 2020-12-23 11:10:53 +03:00
acpica Fix a common typo in source code comments 2021-09-01 06:33:35 +02:00
adb adb: clean up empty lines in .c and .h files 2020-09-01 21:34:24 +00:00
adlink adlink: clean up empty lines in .c and .h files 2020-09-01 21:34:41 +00:00
ae if_ae: clean up empty lines in .c and .h files 2020-09-01 21:34:58 +00:00
age if_age: clean up empty lines in .c and .h files 2020-09-01 21:35:14 +00:00
agp agp: clean up empty lines in .c and .h files 2020-09-01 21:35:39 +00:00
ahci Mark some sysctls as CTLFLAG_MPSAFE. 2021-08-24 21:53:18 -04:00
aic7xxx Fix a common typo in man pages and src comments 2021-09-02 08:13:48 +02:00
al_eth al_eth: Use device_t in preference to struct device * 2021-04-19 09:02:01 -04:00
alc alc(4): add support for Mikrotik 10/25G NIC 2021-05-26 14:30:36 +03:00
ale ale: clean up empty lines in .c and .h files 2020-09-01 21:37:53 +00:00
alpm alpm: clean up empty lines in .c and .h files 2020-09-01 21:38:06 +00:00
altera altera: clean up empty lines in .c and .h files 2020-09-01 21:38:18 +00:00
amd_ecc_inject amd*: clean up empty lines in .c and .h files 2020-09-01 21:39:19 +00:00
amdgpio amd*: clean up empty lines in .c and .h files 2020-09-01 21:39:19 +00:00
amdpm amd*: clean up empty lines in .c and .h files 2020-09-01 21:39:19 +00:00
amdsbwd amd*: clean up empty lines in .c and .h files 2020-09-01 21:39:19 +00:00
amdsmb amd*: clean up empty lines in .c and .h files 2020-09-01 21:39:19 +00:00
amdsmn amdsmn(4), amdtemp(4): add support for Family 19h (Zen 3) 2020-12-12 19:34:12 +00:00
amdtemp amdtemp(4): Add missing Family 17h models 2020-12-12 19:43:38 +00:00
amr Convert remaining cap_rights_init users to cap_rights_init_one 2021-01-12 13:16:10 +00:00
an an: Deprecate the driver 2021-07-22 19:18:56 +02:00
arcmsr arcmsr(4): Fix SCSI command timeout on ARC-1886. 2021-05-04 22:03:22 -07:00
asmc asmc: clean up empty lines in .c and .h files 2020-09-01 21:40:30 +00:00
ata pccard: Remove ata(4) PC Card attachemnt 2021-01-07 20:23:14 -07:00
ath ath_hal: Stop printing messages during boot 2021-03-15 11:39:08 -04:00
atkbdc psm(4): Probe Synaptics touchpad with active multiplexing mode enabled 2021-08-16 03:47:18 +03:00
axgbe axgbe: fix some link related issues 2021-01-31 08:47:36 +00:00
backlight Add backlight subsystem 2020-10-02 18:18:01 +00:00
bce Fix some common typos in source code comments 2021-08-19 09:28:06 +02:00
beri if_vtbe: Add missing includes to fix build 2021-03-08 21:04:40 +00:00
bfe bfe: clean up empty lines in .c and .h files 2020-09-01 21:42:38 +00:00
bge bge(4): remove obsolete support for on-board Fujitsu and Sun MACs 2020-12-25 20:04:19 +01:00
bhnd bhnd: clean up empty lines in .c and .h files 2020-09-01 21:43:05 +00:00
bnxt iflib: Make if_shared_ctx_t a pointer to const 2021-03-22 11:42:18 -04:00
bwi WiFi: fix ieee80211_media_change() callers 2020-09-07 15:35:40 +00:00
bwn Provide MS() and SM() macros for 80211 and wireless drivers. 2020-09-24 10:57:39 +00:00
bxe Fix a typo that was introduced while fixing a typo 2021-08-19 14:32:05 +02:00
cadence cgem: improve usage of busdma(9) KPI 2021-02-23 10:31:43 -04:00
cardbus cardbus: Be sure to acquire Giant when calling into newbus 2021-03-01 18:07:50 -07:00
cas Use NET_TASK_INIT() and NET_GROUPTASK_INIT() for drivers that process 2020-02-11 18:57:07 +00:00
ce Fix a few typos in source code comments 2021-08-19 09:27:34 +02:00
cesa cesa: clean up empty lines in .c and .h files 2020-09-01 22:10:11 +00:00
cfe cfe: clean up empty lines in .c and .h files 2020-09-01 22:10:24 +00:00
cfi cfi: clean up empty lines in .c and .h files 2020-09-01 22:10:34 +00:00
chromebook_platform [ig4] Give common name to PCI and ACPI device drivers 2019-11-03 20:39:46 +00:00
ciss ciss: clean up empty lines in .c and .h files 2020-09-01 22:10:55 +00:00
coretemp coretemp: use x86_msr_op for thermal MSR access 2021-08-23 12:24:40 +03:00
cp Use a separate copy of machdep.h in cp and ce drivers 2020-03-20 19:28:55 +00:00
cpuctl cpuctl: clean up empty lines in .c and .h files 2020-09-01 22:11:22 +00:00
cpufreq cpufreq: clean up empty lines in .c and .h files 2020-09-01 22:11:48 +00:00
cxgb cxgb: Avoid a read-after-free in get_packet() when cxgb_debug is on 2021-06-02 09:34:07 -04:00
cxgbe Fix some common typos in source code comments 2021-08-31 08:13:15 +02:00
cyapa evdev: Remove useless "initial value" parameter from evdev_support_abs() 2021-01-08 02:18:41 +03:00
dc Remove sparc64 kernel support 2020-02-03 17:35:11 +00:00
dcons Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
dme Update dme(4) to reflect that it will not be removed due to FCP-101. 2019-05-08 19:05:58 +00:00
dpaa [PowerPC] [Book-E] Remove obsolete interrupt binding workaround 2020-02-25 22:03:30 +00:00
dpms
drm2 Fix some common typos in source code comments 2021-08-19 09:28:06 +02:00
dwc dwc: Use mii_fdt function 2021-07-22 18:48:11 +02:00
dwwdt dwwdt: Add PNP info for the driver 2021-01-13 18:43:51 +01:00
e1000 intel ethernet: Use ether_gen_addr(9) 2021-08-26 18:33:48 -07:00
efidev efidev: remove EFIIOC_GET_TABLE ioctl 2021-01-08 10:41:50 -06:00
ena MFC 1c808fcd85: Allocate BAR for ENA MSIx vector table 2021-02-22 16:59:42 +01:00
esp Add deprecation notice for esp(4). 2020-04-18 02:52:59 +00:00
et Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
etherswitch [etherswitch] bump register width to 32 bits. 2020-05-08 22:22:12 +00:00
evdev evdev: Use bit_foreach helper macro 2021-08-24 01:23:41 +03:00
exca Move attachment of pccard children into exca library. Attach the 2019-12-16 21:35:02 +00:00
extres extres: regulator: Fix regulator_status for already enable regulators 2021-07-22 19:09:43 +02:00
fb fb_if: remove unused method 2021-01-22 00:18:39 +01:00
fdc pccard: Remove fdc(4) PC Card attachment point 2021-01-07 20:22:56 -07:00
fdt Correctly handle nodes compatible with "syscon", "simple-bus". 2020-09-25 13:52:31 +00:00
ffec Add i.MX 8M Quad support 2020-07-01 00:33:16 +00:00
filemon Convert remaining cap_rights_init users to cap_rights_init_one 2021-01-12 13:16:10 +00:00
firewire fwohci: Cast bitfield to uint32_t before passing it to roundup2(). 2021-07-05 10:46:11 +01:00
flash Make MAXPHYS tunable. Bump MAXPHYS to 1M. 2020-11-28 12:12:51 +00:00
ftwd Add watchdog(9) driver for the Fintek F81803 SuperIO chip 2020-11-28 22:34:33 +00:00
fxp Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
gem Remove sparc64 kernel support 2020-02-03 17:35:11 +00:00
glxiic Create new wrapper function: bus_delayed_attach_children() 2019-12-13 19:39:33 +00:00
glxsb Explicitly zero hash results and context in glxsb_authcompute(). 2020-06-25 20:21:34 +00:00
goldfish Add Goldfish RTC device driver for RISC-V 2020-07-26 18:15:16 +00:00
gpio Fix a common typo in source code comments 2021-09-01 06:33:35 +02:00
gxemul
hdmi Fix reading EDID on TVs/monitors without E-DCC support 2020-06-10 21:38:35 +00:00
hid hms(4): Allow attachment to pointer top level collection. 2021-08-24 01:22:43 +03:00
hifn Don't return errors from the cryptodev_process() method. 2020-09-08 22:41:35 +00:00
hpt27xx Revert r355021. In my haste to grep for Giant, I missed that it was in 2019-11-26 17:25:49 +00:00
hptiop
hptmv Don't check return from xpt_alloc_ccb() for being NULL; since it's not 2020-11-23 12:59:56 +00:00
hptnr remove extraneous double ;s in sys/ 2020-03-30 16:04:25 +00:00
hptrr
hwpmc x86_msr_op: extend the KPI to allow MSR read and single-CPU operations 2021-08-23 12:24:39 +03:00
hyperv hyperv: Fix vmbus after the i386 4/4 split 2021-06-21 21:09:17 -04:00
ic scc(4)/uart(4): Remove obsolete support for Siemens SAB 82532 2020-12-26 13:48:06 +01:00
ice ice(4): Update to version 0.28.1-k 2021-03-09 14:35:54 -08:00
ichiic ig4: Add PCI IDs for Intel Gemini Lake I2C controller. 2021-04-12 00:48:08 +03:00
ichsmb ichsmb: Add PCI ID for Intel Gemini Lake SMBus controller 2021-04-30 23:12:28 +03:00
ichwd ichwd: Add Atom C3000 watchdog ID. 2020-03-24 21:28:48 +00:00
ida Ever since the block layer expanded its command syntax beyond just 2020-02-07 09:22:08 +00:00
if_ndis ndis: Per user request, delay removal to 14 2021-01-11 18:11:49 +00:00
igc igc: sync igc_txrx with igb(4) 2021-08-15 12:25:16 -07:00
iicbus iichid(4): Perform bus_teardown_intr/bus_setup_intr to disable interrupts 2021-08-16 03:46:18 +03:00
iir Deprecation notice for iir 2020-04-18 02:53:09 +00:00
imcsmb Remove unecessary "All rights reserved" from files under my or Panasas's 2019-01-30 16:55:00 +00:00
intel pchtherm: Add IDs for CannonLake-H, CometLake and Lewisburg controllers 2021-04-30 23:12:20 +03:00
intpm amdsbwd, intpm: Add Hygon Dhyana support. 2020-02-13 19:09:24 +00:00
io
ioat Mark some sysctls as CTLFLAG_MPSAFE. 2021-08-24 21:53:18 -04:00
iommu dmar: reserve memory windows of PCIe root port 2020-12-09 18:43:58 +00:00
ipmi ipmi(4): Add more watchdog error checks. 2021-08-12 21:18:31 -04:00
ips Ever since the block layer expanded its command syntax beyond just 2020-02-07 09:22:08 +00:00
ipw Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
isci Fix a common typo in man pages and src comments 2021-09-02 08:13:48 +02:00
iscsi Consistently use the SOCKBUF_MTX() and SOCK_MTX() macros 2021-06-21 09:14:48 -04:00
iscsi_initiator Convert remaining cap_rights_init users to cap_rights_init_one 2021-01-12 13:16:10 +00:00
iser ibcore: Declare ib_post_send() and ib_post_recv() arguments const 2021-07-26 18:04:32 +02:00
isl Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
ismt ismt: Fix ISMT_DESC_ADDR_RW macro, slave addresses are already left-shifted 2020-03-24 18:35:33 +00:00
isp Mark some sysctls as CTLFLAG_MPSAFE. 2021-08-24 21:53:18 -04:00
ispfw Remove parallel SCSI and 1/2Gb FC support from isp(4). 2020-11-20 01:15:48 +00:00
itwd itwd(4): driver for watchdog function in ITE Super I/O chips 2019-10-16 14:57:38 +00:00
iwi Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
iwm iwm(4): Add support for Intel Killer(R) Wireless-AC 1550i 2021-01-14 11:41:28 -05:00
iwn iwn: adjust EEPROM read timeout for Intel 4965AGN M2 2021-06-14 16:25:14 -04:00
ixgbe intel ethernet: Use ether_gen_addr(9) 2021-08-26 18:33:48 -07:00
ixl intel ethernet: Use ether_gen_addr(9) 2021-08-26 18:33:48 -07:00
jedec_dimm jedec_dimm: fix array overrun 2020-08-31 15:03:23 +00:00
jme Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
kbd Suppress D_NEEDGIANT warnings for some drivers 2021-06-14 16:25:14 -04:00
kbdmux kbdmux(4): Make callout handler mpsafe. 2021-08-21 20:27:25 -04:00
ksyms vm_ooffset_t is now unsigned 2020-09-18 16:48:08 +00:00
le Miscellaneous typo fixes 2020-02-07 19:53:07 +00:00
led Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
lge Convert to if_foreach_llmaddr() KPI. 2019-10-21 18:07:11 +00:00
liquidio Fix some common typos in source code comments 2021-08-19 09:28:06 +02:00
malo Provide MS() and SM() macros for 80211 and wireless drivers. 2020-09-24 10:57:39 +00:00
mbox
md sys/dev/md: Drop unncessary __GLOBL(mfs_root) 2021-04-10 14:01:05 +01:00
mdio Add MDIO PHY driver for NS2 ARM64 platform. 2020-04-06 05:48:58 +00:00
mem vm_phys: Try to clean up NUMA KPIs 2020-11-19 03:59:21 +00:00
mfi Convert remaining cap_rights_init users to cap_rights_init_one 2021-01-12 13:16:10 +00:00
mgb iflib: ensure that tx interrupts enabled and cleanups 2021-01-07 14:07:35 -08:00
mge Fix a common typo in man pages and src comments 2021-09-02 08:13:48 +02:00
mii Fix some common typos in source code comments 2021-08-31 08:13:15 +02:00
mlx Ever since the block layer expanded its command syntax beyond just 2020-02-07 09:22:08 +00:00
mlx4 mlx4: Map core_clock page to user space only when allowed 2021-07-26 18:04:33 +02:00
mlx5 mlx5: Numa domain improvements. 2021-07-26 18:04:33 +02:00
mlxfw Initial version of Mellanox in-kernel firmware upgrade support. 2019-05-08 10:49:05 +00:00
mly mly: clean up empty lines in .c and .h files 2020-09-01 22:07:37 +00:00
mmc mmc: Drain the intrhook in mmc_detach() 2021-07-29 08:11:50 -04:00
mmcnull
mn mn: report that this driver is removed in 14, not 13 2021-03-24 22:35:38 -04:00
mpr Fix mpr(4) and mps(4) state transitions and a use-after-free panic. 2021-09-02 20:33:28 -04:00
mps Fix mpr(4) and mps(4) state transitions and a use-after-free panic. 2021-09-02 20:33:28 -04:00
mpt Mark some sysctls as CTLFLAG_MPSAFE. 2021-08-24 21:53:18 -04:00
mrsas mrsas(4): Report more correct maximum I/O size. 2021-08-02 11:56:10 -04:00
msk Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
mthca ibcore: Declare ib_post_send() and ib_post_recv() arguments const 2021-07-26 18:04:32 +02:00
mvs Make MAXPHYS tunable. Bump MAXPHYS to 1M. 2020-11-28 12:12:51 +00:00
mwl Provide MS() and SM() macros for 80211 and wireless drivers. 2020-09-24 10:57:39 +00:00
mxge Use uintptr_t instead of unsigned long for integers holding pointers. 2020-12-16 00:17:54 +00:00
my my: clean up empty lines in .c and .h files 2020-09-01 22:05:21 +00:00
nctgpio nctgpio: improve performance (latency) of operation 2019-10-22 14:20:35 +00:00
neta mvneta: Acquire the softc lock before clearing the MIB 2021-01-09 10:04:17 -05:00
netfpga10g/nf10bmac
netmap netmap: don't use linux type struct device * 2021-04-19 14:17:08 -04:00
nfe nfe: clean up empty lines in .c and .h files 2020-09-01 22:04:37 +00:00
nfsmb nfsmb: clean up empty lines in .c and .h files 2020-09-01 22:04:24 +00:00
nge Fix a common typo in man pages and src comments 2021-09-02 08:13:48 +02:00
nmdm Use the actual credentials to create the /dev/nmdm* devices. 2021-01-04 13:18:47 +00:00
ntb ntb_hw_intel(4): Add CTLFLAG_MPSAFE flags. 2021-08-23 22:35:30 -04:00
null null: clean up empty lines in .c and .h files 2020-09-01 22:03:46 +00:00
nvd nvd: clean up empty lines in .c and .h files 2020-09-01 22:03:32 +00:00
nvdimm nvdimm(4): Export NVDIMM health flags via sysctl 2021-02-20 16:47:55 -08:00
nvme Mark some sysctls as CTLFLAG_MPSAFE. 2021-08-24 21:53:18 -04:00
nvram
nvram2env nvram2env: clean up empty lines in .c and .h files 2020-09-01 22:02:55 +00:00
oce Fix some common typos in source code comments 2021-08-31 08:13:15 +02:00
ocs_fc Introduce support of SCSI Command Priority. 2020-10-25 19:34:02 +00:00
ofw Suppress D_NEEDGIANT warnings for some drivers 2021-06-14 16:25:14 -04:00
otus WiFi: fix ieee80211_media_change() callers 2020-09-07 15:35:40 +00:00
ow Revert "Define PNP info after defining driver modules" 2021-01-29 19:39:14 -05:00
pbio pbio: clean up empty lines in .c and .h files 2020-09-01 22:01:17 +00:00
pccard pccard: Move power_if.m from pccard to cardbus 2021-01-07 17:05:29 -07:00
pccbb pccard: remove pccbb_isa 2021-01-07 17:05:30 -07:00
pcf pcf: clean up empty lines in .c and .h files 2020-09-01 22:00:30 +00:00
pci pcib(4): Write window registers after resource adjustment 2021-09-01 16:55:13 -04:00
pms Fix some common typos in source code comments 2021-08-19 09:28:06 +02:00
powermac_nvram powermac_nvram: clean up empty lines in .c and .h files 2020-09-01 21:59:31 +00:00
ppbus ppbus: Fix the direction of the PPISEPPA ioctl 2021-01-18 19:44:42 -05:00
ppc ppc: clean up empty lines in .c and .h files 2020-09-01 21:58:56 +00:00
proto proto: clean up empty lines in .c and .h files 2020-09-01 21:58:40 +00:00
psci psci: clean up empty lines in .c and .h files 2020-09-01 21:58:29 +00:00
pst pst: clean up empty lines in .c and .h files 2020-09-01 21:58:12 +00:00
pty
puc pccard: Remove puc(4) PC Card attachment 2021-01-07 20:23:00 -07:00
pwm usr.sbin/pwm/pwm add support for flags 2021-07-22 18:39:57 +02:00
qat qat: Make prototypes consistent with the implementation 2021-04-12 08:22:42 -04:00
qlnx Fix some common typos in source code comments 2021-08-31 08:13:15 +02:00
qlxgb qlxgb: clean up empty lines in .c and .h files 2020-09-01 21:57:15 +00:00
qlxgbe qlxgbe: clean up empty lines in .c and .h files 2020-09-01 21:56:55 +00:00
qlxge qlxge: clean up empty lines in .c and .h files 2020-09-01 21:56:30 +00:00
quicc Remove more needless <sys/tty.h> includes 2019-12-01 20:43:37 +00:00
ral ral: clean up empty lines in .c and .h files 2020-09-01 21:56:10 +00:00
random random(4) FenestrasX: Push root seed version to arc4random(3) 2020-10-10 21:52:00 +00:00
rccgpio
re re: netmap: enable/disable krings on interface reinit 2021-01-10 15:09:05 +00:00
rl re(4): Add a 8168-compatible device ID 2020-10-05 19:58:55 +00:00
rndtest rndtest: clean up empty lines in .c and .h files 2020-09-01 21:55:52 +00:00
rt Move kernel env global variables, etc to sys/kenv.h 2020-10-07 06:16:37 +00:00
rtsx Fix some common typos in source code comments 2021-08-31 08:13:15 +02:00
rtwn rtwn: make sure to not write in upper bits of txdseq 2021-07-19 09:45:41 +03:00
safe Don't return errors from the cryptodev_process() method. 2020-09-08 22:41:35 +00:00
safexcel safexcel: Disallow unsupported buffer layouts 2021-01-29 19:39:15 -05:00
sbni sbni: clean up empty lines in .c and .h files 2020-09-01 21:54:35 +00:00
scc scc(4)/uart(4): Remove obsolete support for Siemens SAB 82532 2020-12-26 13:48:06 +01:00
sdhci mmccam: Add two new XPT for MMC and use them in mmc_sim and sdhci 2021-07-22 19:09:38 +02:00
sdio sdio: clean up empty lines in .c and .h files 2020-09-01 21:53:58 +00:00
sec sec: clean up empty lines in .c and .h files 2020-09-01 21:53:44 +00:00
sfxge Fix some common typos in source code comments 2021-08-31 08:13:15 +02:00
sge Convert to if_foreach_llmaddr() KPI. 2019-10-21 18:07:40 +00:00
siis Make MAXPHYS tunable. Bump MAXPHYS to 1M. 2020-11-28 12:12:51 +00:00
sis Convert to if_foreach_llmaddr() KPI. 2019-10-21 18:07:44 +00:00
sk Fix a common typo in man pages and src comments 2021-09-02 08:13:48 +02:00
smartpqi smartpqi: clear CCBs allocated on the stack 2021-06-03 07:53:12 -06:00
smbus smbus: clean up empty lines in .c and .h files 2020-09-01 21:53:00 +00:00
smc smc: clean up empty lines in .c and .h files 2020-09-01 21:52:46 +00:00
snp snp: don't reference tp->t_mtx directly 2019-11-29 03:51:01 +00:00
sound sound(4): Fix some common typos in comments 2021-08-31 08:12:40 +02:00
speaker Remove splclock(). It's not useful to keep. 2020-08-28 16:40:33 +00:00
spibus Add IRQ resource to SPIBUS 2020-12-17 17:11:14 +00:00
ste Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
stge stge: clean up empty lines in .c and .h files 2020-09-01 21:52:20 +00:00
sume Driver for 4x10Gb Ethernet reference NIC FPGA design for NetFPGA SUME 2020-08-30 07:34:32 +00:00
superio Add support for Fintek F81803 SuperIO chip 2020-11-26 07:34:20 +00:00
sym sym(4): handle mixed tagged/untagged commands gracefully 2021-01-22 00:18:39 +01:00
syscons Remove remaning definition of GFB_<foo> options. 2020-12-05 19:44:00 +00:00
tcp_log tcp_log: clean up empty lines in .c and .h files 2020-09-01 21:51:38 +00:00
tdfx Convert remaining cap_rights_init users to cap_rights_init_one 2021-01-12 13:16:10 +00:00
terasic terasic_mtl: kill off final dummy keyboard driver 2019-12-23 21:46:48 +00:00
ti Fix a common typo in man pages and src comments 2021-09-02 08:13:48 +02:00
tpm unifdef -D__FreeBSD__ to remove the OpenBSD support 2021-01-13 22:35:22 -08:00
tsec tsec: clean up empty lines in .c and .h files 2020-09-01 21:50:21 +00:00
twa twa: clean up empty lines in .c and .h files 2020-09-01 21:29:23 +00:00
twe twe: clean up empty lines in .c and .h files 2020-09-01 21:31:50 +00:00
tws Make tws(4) use xpt_alloc_ccb()/xpt_free_ccb() instead of malloc/free. 2020-11-23 13:02:23 +00:00
uart uart: Fix an out-of-bounds read in ns8250_bus_probe() 2021-07-26 21:46:34 -04:00
usb Fix a common typo in man pages and src comments 2021-09-02 08:13:48 +02:00
veriexec vfs: drop the mostly unused flags argument from VOP_UNLOCK 2020-01-03 22:29:58 +00:00
vge vge: clean up empty lines in .c and .h files 2020-09-01 21:49:49 +00:00
viapm viapm: clean up empty lines in .c and .h files 2020-09-01 21:49:31 +00:00
viawd Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
videomode videomode: clean up empty lines in .c and .h files 2020-09-01 21:49:14 +00:00
virtio virtio-modern: fix PCI common read/write functions on big endian targets 2021-08-30 13:14:20 -03:00
vkbd vkbd: clean up empty lines in .c and .h files 2020-09-01 21:48:55 +00:00
vmd VMD support for new devices. 2021-02-04 10:04:09 -08:00
vmgenc vmgenid(4): Integrate as a random(4) source 2020-01-01 00:35:02 +00:00
vmware vmci(4): Shorten interrupt descriptions. 2021-08-04 20:34:34 -04:00
vnic vnic: clean up empty lines in .c and .h files 2020-09-01 21:48:21 +00:00
vr Fix a common typo in man pages and src comments 2021-09-02 08:13:48 +02:00
vt ofwfb: fix boot on LE 2021-03-22 10:48:46 -03:00
vte Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
watchdog watchdog: clean up empty lines in .c and .h files 2020-09-01 21:47:20 +00:00
wbwd wbwd: clean up empty lines in .c and .h files 2020-09-01 21:46:58 +00:00
wpi wpi: clean up empty lines in .c and .h files 2020-09-01 21:46:27 +00:00
wtap WiFi: fix ieee80211_media_change() callers 2020-09-07 15:35:40 +00:00
xdma Enter the network epoch in the xdma interrupt handler if required 2020-02-08 23:07:29 +00:00
xen xnb: Don't pass SIOC{ADD,DEL}MULTI to ifmedia_ioctl(). 2021-03-29 15:36:36 -07:00
xilinx RISC-V: fix some mismatched format specifiers 2020-09-08 13:21:13 +00:00
xl Use NET_TASK_INIT() and NET_GROUPTASK_INIT() for drivers that process 2020-02-11 18:57:07 +00:00
xz Modularize xz. 2019-02-26 19:55:03 +00:00
zlib Expose zlib's utility functions in Z_SOLO library when building kernel. 2019-08-07 01:41:17 +00:00