diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2026-10-02 12:17:24 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2026-10-02 12:17:24 -0700 |
| commit | 3f1fe48a36b0b6722dc3fd421d93512bac138e9a (patch) | |
| tree | b767d7f6e26bc64334d3f14f8422d187239dc45d /drivers/Makefile | |
| download | linux-stable-3f1fe48a36b0b6722dc3fd421d93512bac138e9a.tar.gz linux-stable-3f1fe48a36b0b6722dc3fd421d93512bac138e9a.zip | |
Merge tag 'io_uring-7.3-20261002' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linuxgrafted
Pull io_uring fixes from Jens Axboe:
- Fix a task_work add use-after-free with SQPOLL.
The sqpoll thread could pop and complete the last request while
io_req_normal_work_add() was still looking at them after the mpscq
push.
Use the same approach as DEFER_TASKRUN to protect from that, holding
an RCU read lock across the add, and have exit wait for an RCU grace
period for SQPOLL rings as well.
- CQE32 ring fixes: correct the free entry check for 32b CQEs, zero the
big_cqe for aux CQEs, and only post the dummy skip CQE on CQE_MIXED
rings
- Mark the source filter table as COW when cloning bpf filters, so
registering another filter on the source doesn't modify the shared
table in place
- Initialize the task context before running the BPF loop
- Requeue zcrx multishot receives stopped by a local resource
- End a TX_TIMESTAMP multishot cmd when the CQ is full (lollipopkit)
* tag 'io_uring-7.3-20261002' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux:
io_uring: fix task_work add use-after-free with SQPOLL
io_uring/cmd_net: end TX_TIMESTAMP multishot when the CQ is full
io_uring/zcrx: requeue multishot receives stopped by a local resource
io_uring: initialize task context before running the BPF loop
io_uring: zero big_cqe for aux CQEs on CQE32 rings
io_uring: fix free entry check for 32b CQEs on CQE32 rings
io_uring: only post the dummy skip CQE on CQE_MIXED rings
io_uring/bpf_filter: mark source as COW when cloning filters
Diffstat (limited to 'drivers/Makefile')
| -rw-r--r-- | drivers/Makefile | 200 |
1 files changed, 200 insertions, 0 deletions
diff --git a/drivers/Makefile b/drivers/Makefile new file mode 100644 index 000000000..0841ea851 --- /dev/null +++ b/drivers/Makefile @@ -0,0 +1,200 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# Makefile for the Linux kernel device drivers. +# +# 15 Sep 2000, Christoph Hellwig <hch@infradead.org> +# Rewritten to use lists instead of if-statements. +# + +obj-y += cache/ +obj-y += irqchip/ +obj-y += bus/ + +obj-y += phy/ + +# GPIO must come after pinctrl as gpios may need to mux pins etc +obj-$(CONFIG_PINCTRL) += pinctrl/ +obj-$(CONFIG_GPIOLIB) += gpio/ +obj-y += pwm/ + +# LEDs must come before PCI, it is needed by NPEM driver +obj-y += leds/ + +obj-y += pci/ + +obj-$(CONFIG_PARISC) += parisc/ +obj-$(CONFIG_RAPIDIO) += rapidio/ +obj-y += video/ +obj-y += idle/ + +# IPMI must come before ACPI in order to provide IPMI opregion support +obj-y += char/ipmi/ + +obj-$(CONFIG_ACPI) += acpi/ + +# PnP must come after ACPI since it will eventually need to check if acpi +# was used and do nothing if so +obj-$(CONFIG_PNP) += pnp/ +obj-y += amba/ + +obj-y += clk/ +# Many drivers will want to use DMA so this has to be made available +# really early. +obj-$(CONFIG_DMADEVICES) += dma/ + +# SOC specific infrastructure drivers. +obj-y += soc/ +obj-$(CONFIG_PM_GENERIC_DOMAINS) += pmdomain/ + +obj-y += virtio/ +obj-$(CONFIG_VDPA) += vdpa/ +obj-$(CONFIG_XEN) += xen/ + +# regulators early, since some subsystems rely on them to initialize +obj-$(CONFIG_REGULATOR) += regulator/ + +# reset controllers early, since gpu drivers might rely on them to initialize +obj-$(CONFIG_RESET_CONTROLLER) += reset/ + +# tty/ comes before char/ so that the VT console is the boot-time +# default. +obj-y += tty/ +obj-y += char/ + +# iommu/ comes before gpu as gpu are using iommu controllers +obj-y += iommu/ + +# gpu/ comes after char for AGP vs DRM startup and after iommu +obj-y += gpu/ + +obj-$(CONFIG_CONNECTOR) += connector/ + +# i810fb depends on char/agp/ +obj-$(CONFIG_FB_I810) += video/fbdev/i810/ + +obj-$(CONFIG_PARPORT) += parport/ +obj-y += base/ block/ misc/ mfd/ nfc/ +obj-$(CONFIG_LIBNVDIMM) += nvdimm/ +obj-y += dax/ +obj-$(CONFIG_DMA_SHARED_BUFFER) += dma-buf/ +obj-$(CONFIG_NUBUS) += nubus/ +obj-y += cxl/ +obj-y += macintosh/ +obj-y += scsi/ +obj-y += nvme/ +obj-$(CONFIG_ATA) += ata/ +obj-$(CONFIG_TARGET_CORE) += target/ +obj-$(CONFIG_MTD) += mtd/ +obj-$(CONFIG_SPI) += spi/ +obj-$(CONFIG_SPMI) += spmi/ +obj-$(CONFIG_HSI) += hsi/ +obj-$(CONFIG_SLIMBUS) += slimbus/ +obj-y += net/ +obj-$(CONFIG_ATM) += atm/ +obj-$(CONFIG_FUSION) += message/ +obj-y += firewire/ +obj-$(CONFIG_UIO) += uio/ +obj-$(CONFIG_VFIO) += vfio/ +obj-y += cdrom/ +obj-y += auxdisplay/ +obj-$(CONFIG_PCCARD) += pcmcia/ +obj-$(CONFIG_DIO) += dio/ +obj-$(CONFIG_SBUS) += sbus/ +obj-$(CONFIG_ZORRO) += zorro/ +obj-$(CONFIG_ATA_OVER_ETH) += block/aoe/ +obj-$(CONFIG_TC) += tc/ +obj-$(CONFIG_USB_PHY) += usb/ +obj-$(CONFIG_USB) += usb/ +obj-$(CONFIG_USB_SUPPORT) += usb/ +obj-$(CONFIG_PCI) += usb/ +obj-$(CONFIG_USB_GADGET) += usb/ +obj-$(CONFIG_OF) += usb/ +obj-$(CONFIG_SERIO) += input/serio/ +obj-$(CONFIG_GAMEPORT) += input/gameport/ +obj-$(CONFIG_INPUT) += input/ +obj-$(CONFIG_RTC_LIB) += rtc/ +obj-y += i2c/ i3c/ media/ +obj-$(CONFIG_PPS) += pps/ +obj-y += ptp/ +obj-$(CONFIG_W1) += w1/ +obj-y += power/ +obj-$(CONFIG_HWMON) += hwmon/ +obj-$(CONFIG_THERMAL) += thermal/ +obj-$(CONFIG_WATCHDOG) += watchdog/ +obj-$(CONFIG_MD) += md/ +obj-$(CONFIG_BT) += bluetooth/ +obj-$(CONFIG_ACCESSIBILITY) += accessibility/ +obj-$(CONFIG_EDAC) += edac/ +obj-$(CONFIG_EISA) += eisa/ +obj-$(CONFIG_PM_OPP) += opp/ +obj-$(CONFIG_CPU_FREQ) += cpufreq/ +obj-$(CONFIG_CPU_IDLE) += cpuidle/ +obj-y += mmc/ +obj-y += ufs/ +obj-$(CONFIG_MEMSTICK) += memstick/ +obj-$(CONFIG_INFINIBAND) += infiniband/ +obj-y += firmware/ +obj-$(CONFIG_FWCTL) += fwctl/ +obj-$(CONFIG_CRYPTO) += crypto/ +obj-$(CONFIG_SUPERH) += sh/ +obj-y += clocksource/ +obj-$(CONFIG_DCA) += dca/ +obj-$(CONFIG_HID_SUPPORT) += hid/ +obj-$(CONFIG_PPC_PS3) += ps3/ +obj-$(CONFIG_OF) += of/ +obj-$(CONFIG_SSB) += ssb/ +obj-$(CONFIG_BCMA) += bcma/ +obj-$(CONFIG_VHOST_RING) += vhost/ +obj-$(CONFIG_VHOST_IOTLB) += vhost/ +obj-$(CONFIG_VHOST) += vhost/ +obj-$(CONFIG_GREYBUS) += greybus/ +obj-$(CONFIG_COMEDI) += comedi/ +obj-$(CONFIG_GPIB) += gpib/ +obj-$(CONFIG_STAGING) += staging/ +obj-y += platform/ + +obj-$(CONFIG_MAILBOX) += mailbox/ +obj-$(CONFIG_HWSPINLOCK) += hwspinlock/ +obj-$(CONFIG_REMOTEPROC) += remoteproc/ +obj-$(CONFIG_RPMSG) += rpmsg/ +obj-$(CONFIG_SOUNDWIRE) += soundwire/ + +# Virtualization drivers +obj-y += virt/ +obj-$(CONFIG_HYPERV) += hv/ + +obj-$(CONFIG_PM_DEVFREQ) += devfreq/ +obj-$(CONFIG_EXTCON) += extcon/ +obj-$(CONFIG_MEMORY) += memory/ +obj-$(CONFIG_IIO) += iio/ +obj-$(CONFIG_IPACK_BUS) += ipack/ +obj-$(CONFIG_NTB) += ntb/ +obj-$(CONFIG_POWERCAP) += powercap/ +obj-$(CONFIG_MCB) += mcb/ +obj-$(CONFIG_PERF_EVENTS) += perf/ +obj-$(CONFIG_RAS) += ras/ +obj-$(CONFIG_USB4) += thunderbolt/ +obj-$(CONFIG_CORESIGHT) += hwtracing/coresight/ +obj-y += hwtracing/intel_th/ +obj-$(CONFIG_STM) += hwtracing/stm/ +obj-$(CONFIG_HISI_PTT) += hwtracing/ptt/ +obj-y += android/ +obj-$(CONFIG_NVMEM) += nvmem/ +obj-$(CONFIG_FPGA) += fpga/ +obj-$(CONFIG_FSI) += fsi/ +obj-$(CONFIG_TEE) += tee/ +obj-$(CONFIG_MULTIPLEXER) += mux/ +obj-$(CONFIG_SIOX) += siox/ +obj-$(CONFIG_GNSS) += gnss/ +obj-$(CONFIG_INTERCONNECT) += interconnect/ +obj-$(CONFIG_COUNTER) += counter/ +obj-$(CONFIG_MOST) += most/ +obj-$(CONFIG_PECI) += peci/ +obj-$(CONFIG_HTE) += hte/ +obj-$(CONFIG_DRM_ACCEL) += accel/ +obj-$(CONFIG_CDX_BUS) += cdx/ +obj-$(CONFIG_DPLL) += dpll/ +obj-y += resctrl/ + +obj-$(CONFIG_DIBS) += dibs/ +obj-$(CONFIG_S390) += s390/ |
