opnsense-src/sys/dev
Kenneth D. Merry 175ad3d003 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
2021-06-03 13:46:11 -06:00
..
aac Convert remaining cap_rights_init users to cap_rights_init_one 2021-01-12 13:16:10 +00:00
aacraid Convert remaining cap_rights_init users to cap_rights_init_one 2021-01-12 13:16:10 +00: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 acpi: Add missing error handling to acpi_pci_link_route_irqs() 2021-05-26 10:49:30 -04: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 Add IDs for ASMedia ASM116x PCIe 3.0 AHCI controllers. 2021-04-07 15:09:56 -04:00
aic7xxx aic7xxx: Fix re-building firmware with -fno-common 2021-05-28 19:07:17 +01:00
al_eth al_eth: Use device_t in preference to struct device * 2021-04-12 09:32:02 -04:00
alc alc(4): add support for Mikrotik 10/25G NIC 2021-05-20 01:30:25 +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 pccard: Remove an(4) PC Card attachment 2021-01-07 20:22:42 -07:00
arcmsr arcmsr: clear CCB allocated on the stack 2021-05-21 08:22:13 +01: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: bump the default node queue size to 128 frames, not 64 2021-05-22 21:23:00 -07:00
atkbdc evdev: Remove useless "initial value" parameter from evdev_support_abs() 2021-01-08 02:18:41 +03:00
axgbe axgbe: Don't dereference NULL pointers 2021-06-03 12:03:45 -06:00
backlight Add backlight subsystem 2020-10-02 18:18:01 +00:00
bce bce: clean up empty lines in .c and .h files 2020-09-01 21:42:08 +00:00
beri if_vtbe: Add missing includes to fix build 2021-03-08 20:48:48 +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] remove unused sc variable 2021-05-28 23:26:14 +03:00
bnxt iflib: Make if_shared_ctx_t a pointer to const 2021-03-08 12:39:06 -05: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 Remove newline from bxe description, it's not done elsewhere. 2020-11-09 03:02:34 +00:00
cadence cgem: improve usage of busdma(9) KPI 2021-02-18 17:17:41 -04:00
cardbus cardbus: Be sure to acquire Giant when calling into newbus 2021-02-27 01:23:09 -07:00
cas Use NET_TASK_INIT() and NET_GROUPTASK_INIT() for drivers that process 2020-02-11 18:57:07 +00:00
ce ce: unifdef NPCI also 2021-03-26 10:59:11 -04: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 hwpmc: Always set pmc_cpuid to something 2020-07-14 22:25:06 +00: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-05-26 10:45:40 -04:00
cxgbe cxgbe/iw_cxgbe: Support for 512 SGL entries in one memory registration. 2021-06-01 14:38:31 -07: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 Don't permit DRM buffer mappings to be upgraded to executable. 2020-10-06 18:13:15 +00:00
dwc dwc: Use mii_fdt function 2021-04-27 19:07:33 +02:00
dwwdt dwwdt: Add PNP info for the driver 2021-01-13 18:43:51 +01:00
e1000 e1000: Rework em_msi_link interrupt filter 2021-04-27 15:29:39 -07:00
efidev Switch the EFI virtual address to a uint64_t 2021-05-01 06:01:20 +00:00
ena Allocate BAR for ENA MSIx vector table 2021-02-18 13:54:36 +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: Make variable-size ioctls return actual length of copyouted data 2021-01-20 23:10:07 +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-05-21 17:39:07 +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 simple_mfd: switch to controllable locking for syscon provider. 2021-03-04 16:12:39 +01: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 cam: prefer cam_sim_softc() over accessing cam_sim structure directly. 2021-06-03 13:08:29 -06: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 locking in qoriq_gpio 2021-05-17 08:46:45 -05:00
gxemul
hdmi Fix reading EDID on TVs/monitors without E-DCC support 2020-06-10 21:38:35 +00:00
hid usbhid(4): Add second set of USB transfers to work in polled mode. 2021-05-28 23:29:42 +03:00
hifn OCF: Remove support for asymmetric cryptographic operations. 2021-04-12 14:28:43 -07:00
hpt27xx cam: clear on-stack CCBs in last few drivers 2021-05-21 08:53:59 +01:00
hptiop cam: clear on-stack CCBs in last few drivers 2021-05-21 08:53:59 +01:00
hptmv hptmv: use .o files directly 2021-04-12 13:47:55 -06:00
hptnr cam: clear on-stack CCBs in last few drivers 2021-05-21 08:53:59 +01:00
hptrr cam: clear on-stack CCBs in last few drivers 2021-05-21 08:53:59 +01:00
hwpmc arm64: Fix finding the pmc event ID 2021-04-08 07:52:21 +00:00
hyperv storvsc: fix auto-sense reporting 2021-05-07 10:17:57 +03: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-05 17:33:39 -08:00
ichiic ig4: Add PCI IDs for Intel Gemini Lake I2C controller. 2021-02-24 01:23:43 +03:00
ichsmb ichsmb: Add PCI ID for Intel Gemini Lake SMBus controller 2021-04-14 03:58:07 +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
iicbus iichid(4): disable interrupt on suspend 2021-05-31 22:33:07 +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-14 13:15:19 +03:00
intpm amdsbwd, intpm: Add Hygon Dhyana support. 2020-02-13 19:09:24 +00:00
io
ioat Remove free_domain() and uma_zfree_domain(). 2020-08-04 13:58:36 +00:00
iommu dmar: reserve memory windows of PCIe root port 2020-12-09 18:43:58 +00:00
ipmi ipmi: support getting address from EFI 2021-04-29 05:20:58 -05: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 isci: clear CCBs allocated on the stack 2021-05-21 08:10:22 +01:00
iscsi iscsi: Move the maximum data segment limits into 'struct icl_conn'. 2021-05-20 09:59:11 -07:00
iscsi_initiator Convert remaining cap_rights_init users to cap_rights_init_one 2021-01-12 13:16:10 +00:00
iser Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00: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 inline functions static. 2020-11-29 00:35:13 +00: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 iwnstats: fix build with clang and allow install under /usr/local/sbin 2021-04-20 18:07:56 +00:00
ixgbe ixgbe: Restore AIM support 2021-05-03 13:47:14 -04:00
ixl ixl(4): Add tunable to override Flow Control settings 2021-04-05 11:17:55 -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 Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
kbdmux kbdmux: simplify modevent handler 2019-12-26 17:25:51 +00: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 Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00: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-03-30 14:59:43 +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 Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
mii nsphy(4): Remove obsolete support for pcn(4) 2020-12-26 19:40:56 +01:00
mlx Ever since the block layer expanded its command syntax beyond just 2020-02-07 09:22:08 +00:00
mlx4 mlx4: replace LinuxKPI macros with ifnet functions 2021-05-27 12:26:01 +00:00
mlx5 mlx5: remove dependency on ifnet specifics of linux/netdevice.h 2021-04-02 10:01:30 +00: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:: Undo my conversion of (bool) to !!. 2021-06-03 11:29:04 -06:00
mmcnull
mpr Fix mpr(4) and mps(4) state transitions and a use-after-free panic. 2021-06-03 13:46:11 -06:00
mps Fix mpr(4) and mps(4) state transitions and a use-after-free panic. 2021-06-03 13:46:11 -06:00
mpt mpt: clear CCBs allocated on the stack 2021-05-21 07:59:02 +01:00
mrsas mrsas: unbreak i386 build 2021-02-05 15:43:48 -03:00
msk Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
mthca mlx4, mthca: Silence warnings about no-op alignment operations 2021-02-11 10:16:59 -05: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: use safer defaults for hwbuf_len 2021-04-18 13:39:15 +00: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 nge: clean up empty lines in .c and .h files 2020-09-01 22:04:10 +00:00
nmdm Use the actual credentials to create the /dev/nmdm* devices. 2021-01-04 13:18:47 +00:00
ntb ntb: quiet gcc -Wreturn-type 2020-12-11 22:51:48 +00: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-18 15:08:33 -08:00
nvme nvme: fix a race between failing the controller and failing requests 2021-05-28 23:05:40 -06:00
nvram
nvram2env nvram2env: clean up empty lines in .c and .h files 2020-09-01 22:02:55 +00:00
oce oce: Fix handling of m_pullup() errors in oce_tso_setup() 2021-05-26 10:42:36 -04:00
ocs_fc ocs_fc: Fix use after free bug in ocs_hw_async_call() 2021-05-28 11:21:10 +05:30
ofw Rename ofwpci.c to ofw_pcib.c 2021-05-20 11:22:25 +02: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-23 10:59:41 -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 Rename ofwpci.c to ofw_pcib.c 2021-05-20 11:22:25 +02:00
pms pms(4): clear CCBs allocated on the stack 2021-05-21 07:29:23 +01: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-03-11 09:57:56 +01:00
qat qat: Make prototypes consistent with the implementation 2021-04-05 16:30:00 -04:00
qlnx qlnxr: Properly initialize the Linux device structure 2021-04-12 09:32:08 -04: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 Port rtsx(4) driver for Realtek SD card reader from OpenBSD. 2020-11-24 21:28:44 +00:00
rtwn rtwn_usb(4): Add a USB ID for the TP-Link Archer T2U v3. 2021-05-27 21:52:10 +03:00
safe OCF: Remove support for asymmetric cryptographic operations. 2021-04-12 14:28:43 -07:00
safexcel safexcel: Disallow unsupported buffer layouts 2021-01-27 15:31:10 -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 sdhci_xenon: add UHS support 2021-06-02 09:55:20 +02:00
sdio sdio: clean up empty lines in .c and .h files 2020-09-01 21:53:58 +00:00
sec crypto: Add a new type of crypto buffer for a single mbuf. 2021-05-25 16:59:18 -07:00
sfxge sfxge: clean up empty lines in .c and .h files 2020-09-01 21:29:01 +00: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 hme(4): Remove as previous announced 2020-12-11 21:40:38 +00:00
smartpqi smartpqi: clear CCBs allocated on the stack 2021-05-28 16:40:24 -06:00
smbios ipmi,smbios: move smbios_walk_table to smbios.h 2021-04-07 15:05:49 -05: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 hdspe: Support for mono sound. 2021-05-27 21:40:21 +01: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 ti: clean up empty lines in .c and .h files 2020-09-01 21:50:47 +00: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_dev_ns8250: Switch ACPI UART subtype for Marvell SoCs 2021-06-02 09:55:19 +02:00
usb cam: prefer cam_sim_softc() over accessing cam_sim structure directly. 2021-06-03 13:08:29 -06: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_scsi: Zero stack-allocated CCBs 2021-05-16 22:20:39 -04:00
vkbd vkbd: clean up empty lines in .c and .h files 2020-09-01 21:48:55 +00:00
vmd Add support for some more Intel VMD controllers. Some of the 2021-01-28 15:12:14 -08:00
vmgenc vmgenid(4): Integrate as a random(4) source 2020-01-01 00:35:02 +00:00
vmware pvscsi: Advertise maxio of 256k. 2021-04-22 11:23:29 -06:00
vnic vnic: clean up empty lines in .c and .h files 2020-09-01 21:48:21 +00:00
vr vr: clean up empty lines in .c and .h files 2020-09-01 21:48:08 +00:00
vt efifb,vbefb: implement vd_fini 2021-03-30 17:47:49 +02: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 x86/xen: remove PVHv1 code 2021-05-17 11:41:21 +02: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