History log of /openbmc/linux/io_uring/ (Results 1 – 25 of 847)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
685da33c25-Feb-2025 Pavel Begunkov <asml.silence@gmail.com>

io_uring/net: save msg_control for compat

[ Upstream commit 6ebf05189dfc6d0d597c99a6448a4d1064439a18 ]

Match the compat part of io_sendmsg_copy_hdr() with its counterpart and
save msg_control.

Fix

io_uring/net: save msg_control for compat

[ Upstream commit 6ebf05189dfc6d0d597c99a6448a4d1064439a18 ]

Match the compat part of io_sendmsg_copy_hdr() with its counterpart and
save msg_control.

Fixes: c55978024d123 ("io_uring/net: move receive multishot out of the generic msghdr path")
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/2a8418821fe83d3b64350ad2b3c0303e9b732bbd.1740498502.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>

show more ...


/openbmc/linux/Makefile
/openbmc/linux/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus-lts.dts
/openbmc/linux/arch/x86/Kconfig
/openbmc/linux/arch/x86/events/intel/core.c
/openbmc/linux/arch/x86/include/asm/perf_event.h
/openbmc/linux/arch/x86/kernel/cpu/bugs.c
/openbmc/linux/drivers/edac/qcom_edac.c
/openbmc/linux/drivers/firmware/cirrus/cs_dsp.c
/openbmc/linux/drivers/infiniband/core/sysfs.c
/openbmc/linux/drivers/infiniband/core/uverbs_std_types_device.c
/openbmc/linux/drivers/infiniband/core/verbs.c
/openbmc/linux/drivers/infiniband/hw/mana/main.c
/openbmc/linux/drivers/infiniband/hw/mlx5/ah.c
/openbmc/linux/drivers/infiniband/hw/mlx5/counters.c
/openbmc/linux/drivers/infiniband/hw/mlx5/qp.c
/openbmc/linux/drivers/infiniband/hw/mlx5/qp.h
/openbmc/linux/drivers/md/md.c
/openbmc/linux/drivers/mtd/nand/raw/cadence-nand-controller.c
/openbmc/linux/drivers/net/ethernet/cadence/macb.h
/openbmc/linux/drivers/net/ethernet/cadence/macb_main.c
/openbmc/linux/drivers/net/ethernet/intel/ice/ice.h
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_common.c
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_devids.h
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_ethtool_fdir.c
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_hw_autogen.h
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_lib.c
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_main.c
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_sriov.c
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_type.h
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_vf_lib.c
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_vf_lib_private.h
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_vf_mbx.c
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_vf_mbx.h
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_virtchnl.c
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_virtchnl_fdir.c
/openbmc/linux/drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c
/openbmc/linux/drivers/net/ethernet/netronome/nfp/bpf/cmsg.c
/openbmc/linux/drivers/net/ethernet/ti/icssg/icss_iep.c
/openbmc/linux/drivers/net/ipvlan/ipvlan_core.c
/openbmc/linux/drivers/net/loopback.c
/openbmc/linux/drivers/scsi/scsi_lib.c
/openbmc/linux/drivers/soc/loongson/loongson2_guts.c
/openbmc/linux/drivers/tee/optee/supp.c
/openbmc/linux/drivers/ufs/core/ufshcd.c
/openbmc/linux/fs/afs/cell.c
/openbmc/linux/fs/afs/internal.h
/openbmc/linux/fs/afs/server.c
/openbmc/linux/fs/afs/server_list.c
/openbmc/linux/fs/afs/vl_alias.c
/openbmc/linux/fs/afs/volume.c
/openbmc/linux/fs/nilfs2/dir.c
/openbmc/linux/fs/nilfs2/namei.c
/openbmc/linux/fs/nilfs2/nilfs.h
/openbmc/linux/fs/overlayfs/copy_up.c
/openbmc/linux/fs/smb/client/smb2ops.c
/openbmc/linux/include/linux/sunrpc/sched.h
/openbmc/linux/include/net/dst.h
/openbmc/linux/include/net/ip.h
/openbmc/linux/include/net/route.h
/openbmc/linux/include/rdma/ib_verbs.h
/openbmc/linux/include/trace/events/icmp.h
/openbmc/linux/include/trace/events/sunrpc.h
/openbmc/linux/include/uapi/rdma/ib_user_ioctl_verbs.h
/openbmc/linux/include/ufs/ufs.h
/openbmc/linux/include/ufs/ufshcd.h
net.c
/openbmc/linux/kernel/acct.c
/openbmc/linux/kernel/events/core.c
/openbmc/linux/kernel/events/uprobes.c
/openbmc/linux/kernel/trace/ftrace.c
/openbmc/linux/kernel/trace/trace_functions.c
/openbmc/linux/lib/iov_iter.c
/openbmc/linux/mm/madvise.c
/openbmc/linux/net/bluetooth/l2cap_core.c
/openbmc/linux/net/bridge/br_netfilter_hooks.c
/openbmc/linux/net/core/drop_monitor.c
/openbmc/linux/net/core/gro.c
/openbmc/linux/net/core/skbuff.c
/openbmc/linux/net/core/sysctl_net_core.c
/openbmc/linux/net/ipv4/icmp.c
/openbmc/linux/net/ipv4/ip_options.c
/openbmc/linux/net/ipv4/tcp_minisocks.c
/openbmc/linux/net/ipv6/ip6_tunnel.c
/openbmc/linux/net/ipv6/rpl_iptunnel.c
/openbmc/linux/net/ipv6/seg6_iptunnel.c
/openbmc/linux/net/rxrpc/rxperf.c
/openbmc/linux/net/sunrpc/cache.c
/openbmc/linux/net/sunrpc/sched.c
/openbmc/linux/net/sunrpc/xprtsock.c
/openbmc/linux/sound/pci/hda/hda_codec.c
/openbmc/linux/sound/pci/hda/patch_conexant.c
/openbmc/linux/sound/pci/hda/patch_realtek.c
/openbmc/linux/sound/soc/codecs/es8328.c
/openbmc/linux/sound/soc/fsl/fsl_micfil.c
/openbmc/linux/sound/soc/sof/pcm.c
/openbmc/linux/sound/soc/sof/stream-ipc.c
/openbmc/linux/sound/usb/midi.c
b9826e3b14-Feb-2025 Pavel Begunkov <asml.silence@gmail.com>

io_uring: prevent opcode speculation

commit 1e988c3fe1264708f4f92109203ac5b1d65de50b upstream.

sqe->opcode is used for different tables, make sure we santitise it
against speculations.

Cc: stable@

io_uring: prevent opcode speculation

commit 1e988c3fe1264708f4f92109203ac5b1d65de50b upstream.

sqe->opcode is used for different tables, make sure we santitise it
against speculations.

Cc: stable@vger.kernel.org
Fixes: d3656344fea03 ("io_uring: add lookup table for various opcode needs")
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Reviewed-by: Li Zetao <lizetao1@huawei.com>
Link: https://lore.kernel.org/r/7eddbf31c8ca0a3947f8ed98271acc2b4349c016.1739568408.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...


/openbmc/linux/Documentation/networking/strparser.rst
/openbmc/linux/Makefile
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8183.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sm8450.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sm8550.dtsi
/openbmc/linux/arch/arm64/include/asm/mman.h
/openbmc/linux/arch/powerpc/include/asm/book3s/64/hash-4k.h
/openbmc/linux/arch/powerpc/include/asm/book3s/64/pgtable.h
/openbmc/linux/arch/powerpc/lib/code-patching.c
/openbmc/linux/arch/x86/kernel/i8253.c
/openbmc/linux/drivers/bluetooth/btqca.c
/openbmc/linux/drivers/clocksource/i8253.c
/openbmc/linux/drivers/cpufreq/Kconfig
/openbmc/linux/drivers/cpufreq/cpufreq-dt-platdev.c
/openbmc/linux/drivers/firmware/qcom_scm.c
/openbmc/linux/drivers/gpu/drm/i915/display/intel_display.c
/openbmc/linux/drivers/gpu/drm/i915/display/intel_dp_link_training.c
/openbmc/linux/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
/openbmc/linux/drivers/gpu/drm/msm/msm_drv.h
/openbmc/linux/drivers/gpu/drm/msm/msm_gem.c
/openbmc/linux/drivers/gpu/drm/msm/msm_gem_submit.c
/openbmc/linux/drivers/gpu/drm/nouveau/nouveau_svm.c
/openbmc/linux/drivers/gpu/drm/nouveau/nvkm/subdev/pmu/gp10b.c
/openbmc/linux/drivers/gpu/drm/tidss/tidss_dispc.c
/openbmc/linux/drivers/gpu/drm/tidss/tidss_irq.c
/openbmc/linux/drivers/input/mouse/synaptics.c
/openbmc/linux/drivers/input/mouse/synaptics.h
/openbmc/linux/drivers/md/md-bitmap.c
/openbmc/linux/drivers/md/md-bitmap.h
/openbmc/linux/drivers/md/md-cluster.c
/openbmc/linux/drivers/md/md.c
/openbmc/linux/drivers/md/md.h
/openbmc/linux/drivers/media/usb/uvc/uvc_ctrl.c
/openbmc/linux/drivers/media/usb/uvc/uvc_v4l2.c
/openbmc/linux/drivers/media/usb/uvc/uvcvideo.h
/openbmc/linux/drivers/net/ethernet/ibm/ibmvnic.c
/openbmc/linux/drivers/net/ethernet/ibm/ibmvnic.h
/openbmc/linux/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
/openbmc/linux/drivers/net/geneve.c
/openbmc/linux/drivers/net/gtp.c
/openbmc/linux/drivers/nvme/host/ioctl.c
/openbmc/linux/drivers/nvmem/core.c
/openbmc/linux/drivers/nvmem/imx-ocotp-ele.c
/openbmc/linux/drivers/nvmem/imx-ocotp.c
/openbmc/linux/drivers/nvmem/internals.h
/openbmc/linux/drivers/nvmem/layouts/onie-tlv.c
/openbmc/linux/drivers/nvmem/layouts/sl28vpd.c
/openbmc/linux/drivers/nvmem/mtk-efuse.c
/openbmc/linux/drivers/power/supply/da9150-fg.c
/openbmc/linux/drivers/s390/net/ism_drv.c
/openbmc/linux/drivers/scsi/scsi_lib.c
/openbmc/linux/drivers/scsi/sd.c
/openbmc/linux/drivers/soc/mediatek/mtk-devapc.c
/openbmc/linux/drivers/usb/gadget/function/f_midi.c
/openbmc/linux/drivers/usb/gadget/udc/core.c
/openbmc/linux/drivers/vfio/platform/vfio_platform_common.c
/openbmc/linux/fs/xfs/libxfs/xfs_ag.c
/openbmc/linux/fs/xfs/libxfs/xfs_ag.h
/openbmc/linux/fs/xfs/libxfs/xfs_alloc.c
/openbmc/linux/fs/xfs/libxfs/xfs_alloc.h
/openbmc/linux/fs/xfs/libxfs/xfs_attr.c
/openbmc/linux/fs/xfs/libxfs/xfs_attr_leaf.c
/openbmc/linux/fs/xfs/libxfs/xfs_attr_leaf.h
/openbmc/linux/fs/xfs/libxfs/xfs_bmap.c
/openbmc/linux/fs/xfs/libxfs/xfs_da_btree.c
/openbmc/linux/fs/xfs/libxfs/xfs_inode_fork.c
/openbmc/linux/fs/xfs/libxfs/xfs_rtbitmap.c
/openbmc/linux/fs/xfs/xfs_buf_item_recover.c
/openbmc/linux/fs/xfs/xfs_filestream.c
/openbmc/linux/fs/xfs/xfs_fsops.c
/openbmc/linux/fs/xfs/xfs_icache.c
/openbmc/linux/fs/xfs/xfs_inode.c
/openbmc/linux/fs/xfs/xfs_inode.h
/openbmc/linux/fs/xfs/xfs_ioctl.c
/openbmc/linux/fs/xfs/xfs_log.h
/openbmc/linux/fs/xfs/xfs_log_cil.c
/openbmc/linux/fs/xfs/xfs_log_recover.c
/openbmc/linux/fs/xfs/xfs_mount.c
/openbmc/linux/fs/xfs/xfs_qm_bhv.c
/openbmc/linux/fs/xfs/xfs_reflink.c
/openbmc/linux/fs/xfs/xfs_reflink.h
/openbmc/linux/fs/xfs/xfs_super.c
/openbmc/linux/include/linux/i8253.h
/openbmc/linux/include/linux/netdevice.h
/openbmc/linux/include/linux/nvmem-provider.h
/openbmc/linux/include/linux/serio.h
/openbmc/linux/include/linux/skmsg.h
/openbmc/linux/include/net/strparser.h
/openbmc/linux/include/net/tcp.h
/openbmc/linux/include/trace/events/oom.h
io_uring.c
/openbmc/linux/kernel/bpf/bpf_cgrp_storage.c
/openbmc/linux/kernel/bpf/ringbuf.c
/openbmc/linux/kernel/bpf/syscall.c
/openbmc/linux/mm/memcontrol.c
/openbmc/linux/mm/oom_kill.c
/openbmc/linux/net/bpf/test_run.c
/openbmc/linux/net/core/dev.c
/openbmc/linux/net/core/flow_dissector.c
/openbmc/linux/net/core/skmsg.c
/openbmc/linux/net/core/sock_map.c
/openbmc/linux/net/ipv4/arp.c
/openbmc/linux/net/ipv4/tcp.c
/openbmc/linux/net/ipv4/tcp_bpf.c
/openbmc/linux/net/ipv4/tcp_fastopen.c
/openbmc/linux/net/ipv4/tcp_input.c
/openbmc/linux/net/ipv4/tcp_ipv4.c
/openbmc/linux/net/sched/cls_api.c
/openbmc/linux/net/strparser/strparser.c
/openbmc/linux/net/vmw_vsock/af_vsock.c
/openbmc/linux/net/vmw_vsock/vsock_bpf.c
/openbmc/linux/sound/core/seq/seq_clientmgr.c
/openbmc/linux/sound/pci/hda/patch_cs8409-tables.c
/openbmc/linux/sound/pci/hda/patch_cs8409.c
/openbmc/linux/sound/pci/hda/patch_cs8409.h
/openbmc/linux/sound/pci/hda/patch_realtek.c
/openbmc/linux/sound/soc/rockchip/rockchip_i2s_tdm.c
/openbmc/linux/sound/soc/sh/rz-ssi.c
146a185f12-Feb-2025 Pavel Begunkov <asml.silence@gmail.com>

io_uring/kbuf: reallocate buf lists on upgrade

commit 8802766324e1f5d414a81ac43365c20142e85603 upstream.

IORING_REGISTER_PBUF_RING can reuse an old struct io_buffer_list if it
was created for legac

io_uring/kbuf: reallocate buf lists on upgrade

commit 8802766324e1f5d414a81ac43365c20142e85603 upstream.

IORING_REGISTER_PBUF_RING can reuse an old struct io_buffer_list if it
was created for legacy selected buffer and has been emptied. It violates
the requirement that most of the field should stay stable after publish.
Always reallocate it instead.

Cc: stable@vger.kernel.org
Reported-by: Pumpkin Chang <pumpkin@devco.re>
Fixes: 2fcabce2d7d34 ("io_uring: disallow mixed provided buffer group registrations")
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...


/openbmc/linux/Documentation/arch/arm64/elf_hwcaps.rst
/openbmc/linux/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml
/openbmc/linux/Makefile
/openbmc/linux/arch/alpha/include/uapi/asm/ptrace.h
/openbmc/linux/arch/alpha/kernel/asm-offsets.c
/openbmc/linux/arch/alpha/kernel/entry.S
/openbmc/linux/arch/alpha/kernel/traps.c
/openbmc/linux/arch/alpha/mm/fault.c
/openbmc/linux/arch/arm64/kernel/cacheinfo.c
/openbmc/linux/arch/arm64/kernel/cpufeature.c
/openbmc/linux/arch/arm64/kernel/vdso/vdso.lds.S
/openbmc/linux/arch/arm64/kernel/vmlinux.lds.S
/openbmc/linux/arch/loongarch/kernel/genex.S
/openbmc/linux/arch/loongarch/kernel/idle.c
/openbmc/linux/arch/loongarch/kernel/reset.c
/openbmc/linux/arch/loongarch/lib/csum.c
/openbmc/linux/arch/mips/kernel/ftrace.c
/openbmc/linux/arch/x86/events/intel/core.c
/openbmc/linux/arch/x86/include/asm/kvm_host.h
/openbmc/linux/arch/x86/include/asm/mmu.h
/openbmc/linux/arch/x86/include/asm/mmu_context.h
/openbmc/linux/arch/x86/include/asm/msr-index.h
/openbmc/linux/arch/x86/include/asm/tlbflush.h
/openbmc/linux/arch/x86/kernel/static_call.c
/openbmc/linux/arch/x86/kvm/hyperv.c
/openbmc/linux/arch/x86/kvm/lapic.c
/openbmc/linux/arch/x86/kvm/mmu/mmu.c
/openbmc/linux/arch/x86/kvm/svm/nested.c
/openbmc/linux/arch/x86/kvm/svm/svm.c
/openbmc/linux/arch/x86/kvm/vmx/vmx.c
/openbmc/linux/arch/x86/mm/ident_map.c
/openbmc/linux/arch/x86/mm/tlb.c
/openbmc/linux/arch/x86/xen/mmu_pv.c
/openbmc/linux/block/partitions/mac.c
/openbmc/linux/drivers/acpi/x86/utils.c
/openbmc/linux/drivers/base/regmap/regmap-irq.c
/openbmc/linux/drivers/char/misc.c
/openbmc/linux/drivers/firmware/efi/efi.c
/openbmc/linux/drivers/firmware/efi/libstub/randomalloc.c
/openbmc/linux/drivers/firmware/efi/libstub/relocate.c
/openbmc/linux/drivers/gpio/gpio-bcm-kona.c
/openbmc/linux/drivers/gpio/gpio-stmpe.c
/openbmc/linux/drivers/gpio/gpiolib-acpi.c
/openbmc/linux/drivers/gpio/gpiolib.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn201/dcn201_resource.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c
/openbmc/linux/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
/openbmc/linux/drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
/openbmc/linux/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c
/openbmc/linux/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
/openbmc/linux/drivers/gpu/drm/tidss/tidss_dispc.c
/openbmc/linux/drivers/gpu/drm/v3d/v3d_perfmon.c
/openbmc/linux/drivers/hid/hid-multitouch.c
/openbmc/linux/drivers/hid/hid-steam.c
/openbmc/linux/drivers/hid/hid-thrustmaster.c
/openbmc/linux/drivers/i3c/master.c
/openbmc/linux/drivers/infiniband/hw/efa/efa_main.c
/openbmc/linux/drivers/irqchip/irq-apple-aic.c
/openbmc/linux/drivers/mailbox/tegra-hsp.c
/openbmc/linux/drivers/md/md-bitmap.c
/openbmc/linux/drivers/md/md-bitmap.h
/openbmc/linux/drivers/md/md.c
/openbmc/linux/drivers/md/md.h
/openbmc/linux/drivers/md/raid1.c
/openbmc/linux/drivers/md/raid1.h
/openbmc/linux/drivers/md/raid10.c
/openbmc/linux/drivers/md/raid10.h
/openbmc/linux/drivers/md/raid5-cache.c
/openbmc/linux/drivers/md/raid5.c
/openbmc/linux/drivers/md/raid5.h
/openbmc/linux/drivers/media/dvb-frontends/cxd2841er.c
/openbmc/linux/drivers/media/i2c/ds90ub913.c
/openbmc/linux/drivers/media/i2c/ds90ub953.c
/openbmc/linux/drivers/media/test-drivers/vidtv/vidtv_bridge.c
/openbmc/linux/drivers/media/usb/uvc/uvc_driver.c
/openbmc/linux/drivers/media/usb/uvc/uvc_video.c
/openbmc/linux/drivers/media/usb/uvc/uvcvideo.h
/openbmc/linux/drivers/misc/fastrpc.c
/openbmc/linux/drivers/mmc/host/mtk-sd.c
/openbmc/linux/drivers/mtd/nand/onenand/onenand_base.c
/openbmc/linux/drivers/net/can/c_can/c_can_platform.c
/openbmc/linux/drivers/net/can/ctucanfd/ctucanfd_base.c
/openbmc/linux/drivers/net/can/usb/etas_es58x/es58x_devlink.c
/openbmc/linux/drivers/net/ethernet/intel/igc/igc_main.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlxsw/spectrum_ethtool.c
/openbmc/linux/drivers/net/netdevsim/ipsec.c
/openbmc/linux/drivers/net/phy/nxp-c45-tja11xx.c
/openbmc/linux/drivers/net/team/team.c
/openbmc/linux/drivers/net/vxlan/vxlan_core.c
/openbmc/linux/drivers/net/wireless/ath/ath12k/wmi.c
/openbmc/linux/drivers/net/wireless/ath/ath12k/wmi.h
/openbmc/linux/drivers/pci/quirks.c
/openbmc/linux/drivers/pci/switch/switchtec.c
/openbmc/linux/drivers/pinctrl/pinctrl-cy8c95x0.c
/openbmc/linux/drivers/pinctrl/samsung/pinctrl-samsung.c
/openbmc/linux/drivers/ptp/ptp_clock.c
/openbmc/linux/drivers/rtc/rtc-zynqmp.c
/openbmc/linux/drivers/soc/tegra/fuse/fuse-tegra30.c
/openbmc/linux/drivers/spi/atmel-quadspi.c
/openbmc/linux/drivers/spi/spi-sn-f-ospi.c
/openbmc/linux/drivers/tty/serial/8250/8250.h
/openbmc/linux/drivers/tty/serial/8250/8250_dma.c
/openbmc/linux/drivers/tty/serial/8250/8250_port.c
/openbmc/linux/drivers/tty/serial/serial_port.c
/openbmc/linux/drivers/tty/serial/xilinx_uartps.c
/openbmc/linux/drivers/ufs/core/ufs_bsg.c
/openbmc/linux/drivers/usb/class/cdc-acm.c
/openbmc/linux/drivers/usb/core/hub.c
/openbmc/linux/drivers/usb/core/quirks.c
/openbmc/linux/drivers/usb/dwc2/gadget.c
/openbmc/linux/drivers/usb/dwc3/gadget.c
/openbmc/linux/drivers/usb/gadget/function/f_midi.c
/openbmc/linux/drivers/usb/gadget/udc/renesas_usb3.c
/openbmc/linux/drivers/usb/host/pci-quirks.c
/openbmc/linux/drivers/usb/roles/class.c
/openbmc/linux/drivers/usb/serial/option.c
/openbmc/linux/drivers/vfio/pci/vfio_pci_rdwr.c
/openbmc/linux/drivers/vfio/platform/vfio_platform_common.c
/openbmc/linux/drivers/video/fbdev/omap/lcd_dma.c
/openbmc/linux/drivers/xen/swiotlb-xen.c
/openbmc/linux/fs/btrfs/file.c
/openbmc/linux/fs/btrfs/inode.c
/openbmc/linux/fs/cachefiles/interface.c
/openbmc/linux/fs/cachefiles/ondemand.c
/openbmc/linux/fs/nfs/flexfilelayout/flexfilelayout.c
/openbmc/linux/fs/nfs/sysfs.c
/openbmc/linux/fs/nfsd/nfs2acl.c
/openbmc/linux/fs/nfsd/nfs3acl.c
/openbmc/linux/fs/nfsd/nfs4callback.c
/openbmc/linux/fs/nilfs2/inode.c
/openbmc/linux/fs/ocfs2/dir.c
/openbmc/linux/fs/ocfs2/super.c
/openbmc/linux/fs/ocfs2/symlink.c
/openbmc/linux/fs/orangefs/orangefs-debugfs.c
/openbmc/linux/include/linux/blk-mq.h
/openbmc/linux/include/linux/cgroup-defs.h
/openbmc/linux/include/linux/efi.h
/openbmc/linux/include/linux/netdevice.h
/openbmc/linux/include/linux/sched/task.h
/openbmc/linux/include/net/l3mdev.h
/openbmc/linux/include/net/net_namespace.h
/openbmc/linux/include/net/route.h
kbuf.c
/openbmc/linux/kernel/cgroup/cgroup.c
/openbmc/linux/kernel/cgroup/rstat.c
/openbmc/linux/kernel/time/clocksource.c
/openbmc/linux/kernel/trace/trace_osnoise.c
/openbmc/linux/lib/maple_tree.c
/openbmc/linux/mm/gup.c
/openbmc/linux/net/ax25/af_ax25.c
/openbmc/linux/net/batman-adv/bat_v.c
/openbmc/linux/net/batman-adv/bat_v_elp.c
/openbmc/linux/net/batman-adv/bat_v_elp.h
/openbmc/linux/net/batman-adv/types.h
/openbmc/linux/net/can/j1939/socket.c
/openbmc/linux/net/can/j1939/transport.c
/openbmc/linux/net/core/flow_dissector.c
/openbmc/linux/net/core/neighbour.c
/openbmc/linux/net/ipv4/arp.c
/openbmc/linux/net/ipv4/devinet.c
/openbmc/linux/net/ipv4/icmp.c
/openbmc/linux/net/ipv4/route.c
/openbmc/linux/net/ipv6/icmp.c
/openbmc/linux/net/ipv6/mcast.c
/openbmc/linux/net/ipv6/ndisc.c
/openbmc/linux/net/ipv6/route.c
/openbmc/linux/net/mptcp/pm_netlink.c
/openbmc/linux/net/mptcp/protocol.c
/openbmc/linux/net/ncsi/ncsi-manage.c
/openbmc/linux/net/ncsi/ncsi-rsp.c
/openbmc/linux/net/nfc/nci/hci.c
/openbmc/linux/net/openvswitch/datapath.c
/openbmc/linux/scripts/gdb/linux/cpus.py
/openbmc/linux/sound/soc/intel/boards/bytcr_rt5640.c
/openbmc/linux/tools/testing/selftests/gpio/gpio-sim.sh
/openbmc/linux/tools/testing/selftests/net/mptcp/mptcp_connect.c
/openbmc/linux/tools/testing/selftests/net/mptcp/mptcp_join.sh
/openbmc/linux/tools/testing/selftests/net/pmtu.sh
/openbmc/linux/tools/testing/selftests/net/rtnetlink.sh
/openbmc/linux/tools/tracing/rtla/src/osnoise.c
/openbmc/linux/tools/tracing/rtla/src/timerlat_hist.c
/openbmc/linux/tools/tracing/rtla/src/timerlat_top.c
/openbmc/linux/tools/tracing/rtla/src/trace.c
/openbmc/linux/tools/tracing/rtla/src/trace.h
644636ee10-Feb-2025 Pavel Begunkov <asml.silence@gmail.com>

io_uring/rw: commit provided buffer state on async

When we get -EIOCBQUEUED, we need to ensure that the buffer is consumed
from the provided buffer ring, which can be done with io_kbuf_recycle()
+ R

io_uring/rw: commit provided buffer state on async

When we get -EIOCBQUEUED, we need to ensure that the buffer is consumed
from the provided buffer ring, which can be done with io_kbuf_recycle()
+ REQ_F_PARTIAL_IO.

Reported-by: Muhammad Ramdhan <ramdhan@starlabs.sg>
Reported-by: Bing-Jhong Billy Jheng <billy@starlabs.sg>
Reported-by: Jacob Soo <jacob.soo@starlabs.sg>
Fixes: c7fb19428d67d ("io_uring: add support for ring mapped supplied buffers")
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...

a94592ec10-Feb-2025 Pavel Begunkov <asml.silence@gmail.com>

io_uring: fix io_req_prep_async with provided buffers

io_req_prep_async() can import provided buffers, commit the ring state
by giving up on that before, it'll be reimported later if needed.

Report

io_uring: fix io_req_prep_async with provided buffers

io_req_prep_async() can import provided buffers, commit the ring state
by giving up on that before, it'll be reimported later if needed.

Reported-by: Muhammad Ramdhan <ramdhan@starlabs.sg>
Reported-by: Bing-Jhong Billy Jheng <billy@starlabs.sg>
Reported-by: Jacob Soo <jacob.soo@starlabs.sg>
Fixes: c7fb19428d67d ("io_uring: add support for ring mapped supplied buffers")
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...

130675a230-Jan-2025 Jens Axboe <axboe@kernel.dk>

io_uring/net: don't retry connect operation on EPOLLERR

commit 8c8492ca64e79c6e0f433e8c9d2bcbd039ef83d0 upstream.

If a socket is shutdown before the connection completes, POLLERR is set
in the poll

io_uring/net: don't retry connect operation on EPOLLERR

commit 8c8492ca64e79c6e0f433e8c9d2bcbd039ef83d0 upstream.

If a socket is shutdown before the connection completes, POLLERR is set
in the poll mask. However, connect ignores this as it doesn't know, and
attempts the connection again. This may lead to a bogus -ETIMEDOUT
result, where it should have noticed the POLLERR and just returned
-ECONNRESET instead.

Have the poll logic check for whether or not POLLERR is set in the mask,
and if so, mark the request as failed. Then connect can appropriately
fail the request rather than retry it.

Reported-by: Sergey Galas <ssgalas@cloud.ru>
Cc: stable@vger.kernel.org
Link: https://github.com/axboe/liburing/discussions/1335
Fixes: 3fb1bd688172 ("io_uring/net: handle -EINPROGRESS correct for IORING_OP_CONNECT")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...

b86f1d5127-Jan-2025 Pavel Begunkov <asml.silence@gmail.com>

io_uring: fix multishots with selected buffers

commit d63b0e8a628e62ca85a0f7915230186bb92f8bb4 upstream.

We do io_kbuf_recycle() when arming a poll but every iteration of a
multishot can grab more

io_uring: fix multishots with selected buffers

commit d63b0e8a628e62ca85a0f7915230186bb92f8bb4 upstream.

We do io_kbuf_recycle() when arming a poll but every iteration of a
multishot can grab more buffers, which is why we need to flush the kbuf
ring state before continuing with waiting.

Cc: stable@vger.kernel.org
Fixes: b3fdea6ecb55c ("io_uring: multishot recv")
Reported-by: Muhammad Ramdhan <ramdhan@starlabs.sg>
Reported-by: Bing-Jhong Billy Jheng <billy@starlabs.sg>
Reported-by: Jacob Soo <jacob.soo@starlabs.sg>
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/1bfc9990fe435f1fc6152ca9efeba5eb3e68339c.1738025570.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...


/openbmc/linux/Makefile
/openbmc/linux/arch/arm/boot/dts/ti/omap/dra7-l4.dtsi
/openbmc/linux/arch/arm/boot/dts/ti/omap/omap3-gta04.dtsi
/openbmc/linux/arch/arm64/boot/dts/nvidia/tegra234.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sm6115.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sm6350.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sm6375.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sm8350.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sm8450.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sm8550.dtsi
/openbmc/linux/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
/openbmc/linux/arch/arm64/kvm/arch_timer.c
/openbmc/linux/arch/arm64/mm/hugetlbpage.c
/openbmc/linux/arch/hexagon/include/asm/cmpxchg.h
/openbmc/linux/arch/hexagon/kernel/traps.c
/openbmc/linux/arch/loongarch/include/asm/hw_breakpoint.h
/openbmc/linux/arch/loongarch/include/asm/loongarch.h
/openbmc/linux/arch/loongarch/include/uapi/asm/ptrace.h
/openbmc/linux/arch/loongarch/kernel/hw_breakpoint.c
/openbmc/linux/arch/loongarch/kernel/ptrace.c
/openbmc/linux/arch/m68k/include/asm/vga.h
/openbmc/linux/arch/mips/loongson64/boardinfo.c
/openbmc/linux/arch/mips/math-emu/cp1emu.c
/openbmc/linux/arch/powerpc/kvm/e500_mmu_host.c
/openbmc/linux/arch/powerpc/platforms/pseries/eeh_pseries.c
/openbmc/linux/arch/s390/Makefile
/openbmc/linux/arch/s390/include/asm/futex.h
/openbmc/linux/arch/s390/include/asm/processor.h
/openbmc/linux/arch/s390/kvm/vsie.c
/openbmc/linux/arch/s390/purgatory/Makefile
/openbmc/linux/arch/x86/boot/compressed/Makefile
/openbmc/linux/arch/x86/include/asm/kexec.h
/openbmc/linux/arch/x86/kernel/amd_nb.c
/openbmc/linux/arch/x86/kernel/machine_kexec_64.c
/openbmc/linux/arch/x86/pci/fixup.c
/openbmc/linux/arch/x86/xen/xen-head.S
/openbmc/linux/block/blk-cgroup.c
/openbmc/linux/block/fops.c
/openbmc/linux/drivers/acpi/apei/ghes.c
/openbmc/linux/drivers/acpi/prmt.c
/openbmc/linux/drivers/acpi/property.c
/openbmc/linux/drivers/ata/libata-sff.c
/openbmc/linux/drivers/char/tpm/eventlog/acpi.c
/openbmc/linux/drivers/clk/mediatek/clk-mt2701-aud.c
/openbmc/linux/drivers/clk/mediatek/clk-mt2701-bdp.c
/openbmc/linux/drivers/clk/mediatek/clk-mt2701-img.c
/openbmc/linux/drivers/clk/mediatek/clk-mt2701-mm.c
/openbmc/linux/drivers/clk/mediatek/clk-mt2701-vdec.c
/openbmc/linux/drivers/clk/qcom/Kconfig
/openbmc/linux/drivers/clk/qcom/clk-alpha-pll.c
/openbmc/linux/drivers/clk/qcom/clk-rpmh.c
/openbmc/linux/drivers/clk/qcom/dispcc-sm6350.c
/openbmc/linux/drivers/clk/qcom/gcc-mdm9607.c
/openbmc/linux/drivers/clk/qcom/gcc-sm6350.c
/openbmc/linux/drivers/clk/qcom/gcc-sm8550.c
/openbmc/linux/drivers/clk/sunxi-ng/ccu-sun50i-a100.c
/openbmc/linux/drivers/cpufreq/s3c64xx-cpufreq.c
/openbmc/linux/drivers/crypto/qce/aead.c
/openbmc/linux/drivers/crypto/qce/core.c
/openbmc/linux/drivers/crypto/qce/sha.c
/openbmc/linux/drivers/crypto/qce/skcipher.c
/openbmc/linux/drivers/firmware/Kconfig
/openbmc/linux/drivers/firmware/efi/libstub/Makefile
/openbmc/linux/drivers/gpio/gpio-pca953x.c
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
/openbmc/linux/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
/openbmc/linux/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dce/dmub_hw_lock_mgr.c
/openbmc/linux/drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c
/openbmc/linux/drivers/gpu/drm/arm/display/komeda/komeda_wb_connector.c
/openbmc/linux/drivers/gpu/drm/bridge/analogix/anx7625.c
/openbmc/linux/drivers/gpu/drm/bridge/ite-it6505.c
/openbmc/linux/drivers/gpu/drm/bridge/ite-it66121.c
/openbmc/linux/drivers/gpu/drm/display/drm_dp_cec.c
/openbmc/linux/drivers/gpu/drm/drm_connector.c
/openbmc/linux/drivers/gpu/drm/drm_edid.c
/openbmc/linux/drivers/gpu/drm/drm_fb_helper.c
/openbmc/linux/drivers/gpu/drm/exynos/exynos_hdmi.c
/openbmc/linux/drivers/gpu/drm/i915/display/skl_universal_plane.c
/openbmc/linux/drivers/gpu/drm/i915/gem/i915_gem_shmem.c
/openbmc/linux/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
/openbmc/linux/drivers/gpu/drm/radeon/radeon_audio.c
/openbmc/linux/drivers/gpu/drm/rockchip/cdn-dp-core.c
/openbmc/linux/drivers/gpu/drm/sti/sti_hdmi.c
/openbmc/linux/drivers/gpu/drm/vc4/vc4_hdmi.c
/openbmc/linux/drivers/gpu/drm/virtio/virtgpu_drv.h
/openbmc/linux/drivers/gpu/drm/virtio/virtgpu_plane.c
/openbmc/linux/drivers/hid/hid-sensor-hub.c
/openbmc/linux/drivers/hid/wacom_wac.c
/openbmc/linux/drivers/i2c/i2c-core-acpi.c
/openbmc/linux/drivers/iio/light/as73211.c
/openbmc/linux/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
/openbmc/linux/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c
/openbmc/linux/drivers/leds/leds-lp8860.c
/openbmc/linux/drivers/md/dm-crypt.c
/openbmc/linux/drivers/media/i2c/ccs/ccs-core.c
/openbmc/linux/drivers/media/i2c/ccs/ccs-data.c
/openbmc/linux/drivers/media/i2c/ds90ub913.c
/openbmc/linux/drivers/media/i2c/ds90ub953.c
/openbmc/linux/drivers/media/i2c/ds90ub960.c
/openbmc/linux/drivers/media/i2c/imx296.c
/openbmc/linux/drivers/media/i2c/ov5640.c
/openbmc/linux/drivers/media/platform/marvell/mmp-driver.c
/openbmc/linux/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c
/openbmc/linux/drivers/media/usb/uvc/uvc_ctrl.c
/openbmc/linux/drivers/media/usb/uvc/uvc_driver.c
/openbmc/linux/drivers/media/usb/uvc/uvc_status.c
/openbmc/linux/drivers/media/usb/uvc/uvc_video.c
/openbmc/linux/drivers/media/usb/uvc/uvcvideo.h
/openbmc/linux/drivers/media/v4l2-core/v4l2-mc.c
/openbmc/linux/drivers/mfd/lpc_ich.c
/openbmc/linux/drivers/misc/cardreader/rtsx_usb.c
/openbmc/linux/drivers/mmc/core/sdio.c
/openbmc/linux/drivers/mmc/host/sdhci-msm.c
/openbmc/linux/drivers/mtd/ubi/build.c
/openbmc/linux/drivers/net/ethernet/aquantia/atlantic/aq_nic.c
/openbmc/linux/drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c
/openbmc/linux/drivers/net/ethernet/broadcom/tg3.c
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_devlink.c
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_txrx.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c
/openbmc/linux/drivers/net/tun.c
/openbmc/linux/drivers/net/usb/ipheth.c
/openbmc/linux/drivers/net/usb/rtl8150.c
/openbmc/linux/drivers/net/vmxnet3/vmxnet3_xdp.c
/openbmc/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
/openbmc/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c
/openbmc/linux/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c
/openbmc/linux/drivers/net/wireless/intel/iwlwifi/fw/acpi.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7915/init.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7921/usb.c
/openbmc/linux/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/fw.h
/openbmc/linux/drivers/net/wireless/realtek/rtw88/sdio.c
/openbmc/linux/drivers/net/wireless/realtek/rtw89/phy.c
/openbmc/linux/drivers/net/wireless/realtek/rtw89/phy.h
/openbmc/linux/drivers/net/wwan/iosm/iosm_ipc_pcie.c
/openbmc/linux/drivers/nvme/host/core.c
/openbmc/linux/drivers/nvme/host/fc.c
/openbmc/linux/drivers/nvme/host/pci.c
/openbmc/linux/drivers/nvmem/core.c
/openbmc/linux/drivers/nvmem/imx-ocotp-ele.c
/openbmc/linux/drivers/nvmem/qcom-spmi-sdam.c
/openbmc/linux/drivers/of/base.c
/openbmc/linux/drivers/of/of_reserved_mem.c
/openbmc/linux/drivers/pci/endpoint/pci-epf-core.c
/openbmc/linux/drivers/platform/x86/acer-wmi.c
/openbmc/linux/drivers/platform/x86/intel/int3472/discrete.c
/openbmc/linux/drivers/platform/x86/intel/int3472/tps68470.c
/openbmc/linux/drivers/pps/clients/pps-gpio.c
/openbmc/linux/drivers/pps/clients/pps-ktimer.c
/openbmc/linux/drivers/pps/clients/pps-ldisc.c
/openbmc/linux/drivers/pps/clients/pps_parport.c
/openbmc/linux/drivers/pps/kapi.c
/openbmc/linux/drivers/pps/kc.c
/openbmc/linux/drivers/pps/pps.c
/openbmc/linux/drivers/ptp/ptp_ocp.c
/openbmc/linux/drivers/pwm/pwm-microchip-core.c
/openbmc/linux/drivers/remoteproc/remoteproc_core.c
/openbmc/linux/drivers/scsi/qla2xxx/qla_def.h
/openbmc/linux/drivers/scsi/qla2xxx/qla_dfs.c
/openbmc/linux/drivers/scsi/qla2xxx/qla_gbl.h
/openbmc/linux/drivers/scsi/qla2xxx/qla_init.c
/openbmc/linux/drivers/scsi/st.c
/openbmc/linux/drivers/scsi/st.h
/openbmc/linux/drivers/scsi/storvsc_drv.c
/openbmc/linux/drivers/soc/mediatek/mtk-devapc.c
/openbmc/linux/drivers/soc/qcom/smem_state.c
/openbmc/linux/drivers/soc/qcom/socinfo.c
/openbmc/linux/drivers/staging/media/max96712/max96712.c
/openbmc/linux/drivers/tty/serial/sh-sci.c
/openbmc/linux/drivers/ufs/host/ufs-qcom.c
/openbmc/linux/drivers/usb/dwc3/core.c
/openbmc/linux/drivers/usb/dwc3/dwc3-am62.c
/openbmc/linux/drivers/usb/gadget/function/f_tcm.c
/openbmc/linux/drivers/usb/host/xhci-ring.c
/openbmc/linux/drivers/usb/typec/tcpm/tcpci.c
/openbmc/linux/drivers/usb/typec/tcpm/tcpm.c
/openbmc/linux/fs/binfmt_flat.c
/openbmc/linux/fs/btrfs/file.c
/openbmc/linux/fs/btrfs/ordered-data.c
/openbmc/linux/fs/btrfs/relocation.c
/openbmc/linux/fs/btrfs/super.c
/openbmc/linux/fs/btrfs/transaction.c
/openbmc/linux/fs/exec.c
/openbmc/linux/fs/f2fs/dir.c
/openbmc/linux/fs/f2fs/f2fs.h
/openbmc/linux/fs/f2fs/inline.c
/openbmc/linux/fs/hostfs/hostfs_kern.c
/openbmc/linux/fs/nfsd/nfs4callback.c
/openbmc/linux/fs/proc/array.c
/openbmc/linux/fs/smb/client/cifsacl.c
/openbmc/linux/fs/smb/client/cifsglob.h
/openbmc/linux/fs/smb/client/cifsproto.h
/openbmc/linux/fs/smb/client/cifssmb.c
/openbmc/linux/fs/smb/client/dir.c
/openbmc/linux/fs/smb/client/reparse.c
/openbmc/linux/fs/smb/client/smb1ops.c
/openbmc/linux/fs/smb/client/smb2inode.c
/openbmc/linux/fs/smb/client/smb2ops.c
/openbmc/linux/fs/smb/client/smb2pdu.c
/openbmc/linux/fs/smb/client/smb2proto.h
/openbmc/linux/fs/smb/server/transport_ipc.c
/openbmc/linux/fs/xfs/xfs_inode.c
/openbmc/linux/fs/xfs/xfs_iomap.c
/openbmc/linux/include/drm/drm_connector.h
/openbmc/linux/include/linux/binfmts.h
/openbmc/linux/include/linux/kvm_host.h
/openbmc/linux/include/linux/mlx5/driver.h
/openbmc/linux/include/linux/pps_kernel.h
/openbmc/linux/include/linux/usb/tcpm.h
/openbmc/linux/include/net/sch_generic.h
/openbmc/linux/include/rv/da_monitor.h
/openbmc/linux/include/trace/events/rxrpc.h
/openbmc/linux/include/uapi/linux/input-event-codes.h
/openbmc/linux/include/ufs/ufs.h
poll.c
/openbmc/linux/kernel/printk/printk.c
/openbmc/linux/kernel/sched/core.c
/openbmc/linux/lib/Kconfig.debug
/openbmc/linux/mm/kfence/core.c
/openbmc/linux/mm/kmemleak.c
/openbmc/linux/net/bluetooth/l2cap_sock.c
/openbmc/linux/net/bluetooth/mgmt.c
/openbmc/linux/net/ipv4/udp.c
/openbmc/linux/net/ipv6/udp.c
/openbmc/linux/net/mptcp/options.c
/openbmc/linux/net/mptcp/protocol.c
/openbmc/linux/net/mptcp/protocol.h
/openbmc/linux/net/ncsi/internal.h
/openbmc/linux/net/ncsi/ncsi-cmd.c
/openbmc/linux/net/ncsi/ncsi-manage.c
/openbmc/linux/net/ncsi/ncsi-pkt.h
/openbmc/linux/net/ncsi/ncsi-rsp.c
/openbmc/linux/net/netfilter/nf_tables_api.c
/openbmc/linux/net/rose/af_rose.c
/openbmc/linux/net/rxrpc/ar-internal.h
/openbmc/linux/net/rxrpc/call_object.c
/openbmc/linux/net/rxrpc/conn_event.c
/openbmc/linux/net/rxrpc/conn_object.c
/openbmc/linux/net/rxrpc/input.c
/openbmc/linux/net/rxrpc/sendmsg.c
/openbmc/linux/net/sched/sch_netem.c
/openbmc/linux/net/sunrpc/svcsock.c
/openbmc/linux/net/tipc/crypto.c
/openbmc/linux/rust/kernel/init.rs
/openbmc/linux/scripts/Makefile.extrawarn
/openbmc/linux/scripts/Makefile.lib
/openbmc/linux/scripts/kconfig/conf.c
/openbmc/linux/scripts/kconfig/confdata.c
/openbmc/linux/scripts/kconfig/lkc_proto.h
/openbmc/linux/scripts/kconfig/symbol.c
/openbmc/linux/security/safesetid/securityfs.c
/openbmc/linux/security/tomoyo/common.c
/openbmc/linux/sound/pci/hda/hda_auto_parser.c
/openbmc/linux/sound/pci/hda/hda_auto_parser.h
/openbmc/linux/sound/pci/hda/patch_realtek.c
/openbmc/linux/sound/soc/amd/Kconfig
/openbmc/linux/sound/soc/amd/yc/acp6x-mach.c
/openbmc/linux/sound/soc/soc-pcm.c
/openbmc/linux/sound/usb/quirks.c
/openbmc/linux/tools/perf/bench/epoll-wait.c
/openbmc/linux/tools/testing/ktest/ktest.pl
/openbmc/linux/tools/testing/selftests/net/ipsec.c
/openbmc/linux/tools/testing/selftests/net/udpgso.c
/openbmc/linux/tools/testing/selftests/rseq/rseq.c
/openbmc/linux/tools/testing/selftests/rseq/rseq.h
563ba17022-Jan-2025 Jens Axboe <axboe@kernel.dk>

io_uring/uring_cmd: use cached cmd_op in io_uring_cmd_sock()

[ Upstream commit d58d82bd0efd6c8edd452fc2f6c6dd052ec57cb2 ]

io_uring_cmd_sock() does a normal read of cmd->sqe->cmd_op, where it
really

io_uring/uring_cmd: use cached cmd_op in io_uring_cmd_sock()

[ Upstream commit d58d82bd0efd6c8edd452fc2f6c6dd052ec57cb2 ]

io_uring_cmd_sock() does a normal read of cmd->sqe->cmd_op, where it
really should be using a READ_ONCE() as ->sqe may still be pointing to
the original SQE. Since the prep side already does this READ_ONCE() and
stores it locally, use that value rather than re-read it.

Fixes: 8e9fad0e70b7b ("io_uring: Add io_uring command support for sockets")
Link: https://lore.kernel.org/r/20250121-uring-sockcmd-fix-v1-1-add742802a29@google.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>

show more ...


/openbmc/linux/Documentation/devicetree/bindings/leds/leds-class-multicolor.yaml
/openbmc/linux/Documentation/devicetree/bindings/mfd/rohm,bd71815-pmic.yaml
/openbmc/linux/Documentation/devicetree/bindings/mmc/mmc-controller.yaml
/openbmc/linux/Documentation/devicetree/bindings/regulator/mt6315-regulator.yaml
/openbmc/linux/Makefile
/openbmc/linux/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-yosemite4.dts
/openbmc/linux/arch/arm/boot/dts/intel/socfpga/socfpga_arria10.dtsi
/openbmc/linux/arch/arm/boot/dts/mediatek/mt7623.dtsi
/openbmc/linux/arch/arm/boot/dts/microchip/at91-sama5d27_wlsom1_ek.dts
/openbmc/linux/arch/arm/boot/dts/nxp/imx/imxrt1050.dtsi
/openbmc/linux/arch/arm/boot/dts/st/stm32mp151.dtsi
/openbmc/linux/arch/arm/boot/dts/st/stm32mp15xx-dhcom-drc02.dtsi
/openbmc/linux/arch/arm/boot/dts/st/stm32mp15xx-dhcom-pdk2.dtsi
/openbmc/linux/arch/arm/boot/dts/st/stm32mp15xx-dhcom-picoitx.dtsi
/openbmc/linux/arch/arm/boot/dts/st/stm32mp15xx-dhcom-som.dtsi
/openbmc/linux/arch/arm/mach-at91/pm.c
/openbmc/linux/arch/arm/mach-omap1/board-nokia770.c
/openbmc/linux/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
/openbmc/linux/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
/openbmc/linux/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-damu.dts
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-kenzo.dts
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-willow.dtsi
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi.dtsi
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8183.dtsi
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8186.dtsi
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8195-demo.dts
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8195.dtsi
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8365.dtsi
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8516.dtsi
/openbmc/linux/arch/arm64/boot/dts/mediatek/pumpkin-common.dtsi
/openbmc/linux/arch/arm64/boot/dts/nvidia/tegra234.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/Makefile
/openbmc/linux/arch/arm64/boot/dts/qcom/msm8916.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/msm8939.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/msm8994.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/msm8996-xiaomi-gemini.dts
/openbmc/linux/arch/arm64/boot/dts/qcom/msm8996.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/pm6150.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/pm6150l.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/qcs404.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/qdu1000-idp.dts
/openbmc/linux/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
/openbmc/linux/arch/arm64/boot/dts/qcom/qru1000-idp.dts
/openbmc/linux/arch/arm64/boot/dts/qcom/sa8775p-ride.dts
/openbmc/linux/arch/arm64/boot/dts/qcom/sa8775p-ride.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sc7180-firmware-tfa.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sc7180-trogdor-quackingstick.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sc7180-trogdor-wormdingler.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sc7180.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sc7280.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dtso
/openbmc/linux/arch/arm64/boot/dts/qcom/sdm845.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sdx75.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sm4450.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sm6125.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sm6375.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sm7125.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
/openbmc/linux/arch/arm64/boot/dts/qcom/sm8150-microsoft-surface-duo.dts
/openbmc/linux/arch/arm64/boot/dts/qcom/sm8250.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sm8350.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sm8450.dtsi
/openbmc/linux/arch/arm64/boot/dts/rockchip/rk3328.dtsi
/openbmc/linux/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
/openbmc/linux/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
/openbmc/linux/arch/loongarch/power/platform.c
/openbmc/linux/arch/powerpc/include/asm/hugetlb.h
/openbmc/linux/arch/powerpc/kernel/smp.c
/openbmc/linux/arch/powerpc/sysdev/xive/native.c
/openbmc/linux/arch/powerpc/sysdev/xive/spapr.c
/openbmc/linux/arch/riscv/include/asm/patch.h
/openbmc/linux/arch/riscv/kernel/ftrace.c
/openbmc/linux/arch/riscv/kernel/patch.c
/openbmc/linux/arch/riscv/kernel/vector.c
/openbmc/linux/arch/s390/kernel/perf_cpum_cf.c
/openbmc/linux/arch/s390/kernel/perf_pai_crypto.c
/openbmc/linux/arch/s390/kernel/perf_pai_ext.c
/openbmc/linux/arch/s390/kernel/topology.c
/openbmc/linux/arch/x86/events/amd/ibs.c
/openbmc/linux/arch/x86/include/asm/special_insns.h
/openbmc/linux/arch/x86/kernel/smpboot.c
/openbmc/linux/arch/x86/xen/xen-asm.S
/openbmc/linux/block/bfq-iosched.c
/openbmc/linux/block/blk-sysfs.c
/openbmc/linux/block/genhd.c
/openbmc/linux/block/ioctl.c
/openbmc/linux/block/partitions/ldm.h
/openbmc/linux/drivers/acpi/acpica/achware.h
/openbmc/linux/drivers/acpi/fan_core.c
/openbmc/linux/drivers/acpi/resource.c
/openbmc/linux/drivers/ata/libahci.c
/openbmc/linux/drivers/ata/libata-core.c
/openbmc/linux/drivers/base/class.c
/openbmc/linux/drivers/block/nbd.c
/openbmc/linux/drivers/block/zram/zram_drv.c
/openbmc/linux/drivers/bluetooth/btnxpuart.c
/openbmc/linux/drivers/bus/ti-sysc.c
/openbmc/linux/drivers/char/ipmi/ipmb_dev_int.c
/openbmc/linux/drivers/char/ipmi/ssif_bmc.c
/openbmc/linux/drivers/clk/analogbits/wrpll-cln28hpc.c
/openbmc/linux/drivers/clk/clk-conf.c
/openbmc/linux/drivers/clk/clk-si5351.c
/openbmc/linux/drivers/clk/clk.c
/openbmc/linux/drivers/clk/imx/clk-imx8mp.c
/openbmc/linux/drivers/clk/qcom/common.c
/openbmc/linux/drivers/clk/qcom/gcc-sdm845.c
/openbmc/linux/drivers/clk/ralink/clk-mtmips.c
/openbmc/linux/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
/openbmc/linux/drivers/clk/sunxi-ng/ccu-sun50i-a64.h
/openbmc/linux/drivers/clk/sunxi/clk-simple-gates.c
/openbmc/linux/drivers/clk/sunxi/clk-sun8i-bus-gates.c
/openbmc/linux/drivers/clocksource/samsung_pwm_timer.c
/openbmc/linux/drivers/cpufreq/acpi-cpufreq.c
/openbmc/linux/drivers/cpufreq/amd-pstate.c
/openbmc/linux/drivers/cpufreq/qcom-cpufreq-hw.c
/openbmc/linux/drivers/crypto/caam/blob_gen.c
/openbmc/linux/drivers/crypto/hisilicon/sec2/sec.h
/openbmc/linux/drivers/crypto/hisilicon/sec2/sec_crypto.c
/openbmc/linux/drivers/crypto/hisilicon/sec2/sec_crypto.h
/openbmc/linux/drivers/crypto/intel/ixp4xx/ixp4xx_crypto.c
/openbmc/linux/drivers/dma/ti/edma.c
/openbmc/linux/drivers/firmware/efi/sysfb_efi.c
/openbmc/linux/drivers/gpio/gpio-brcmstb.c
/openbmc/linux/drivers/gpio/gpio-mxc.c
/openbmc/linux/drivers/gpio/gpio-pca953x.c
/openbmc/linux/drivers/gpio/gpio-xilinx.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dce/dmub_hw_lock_mgr.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c
/openbmc/linux/drivers/gpu/drm/amd/pm/powerplay/hwmgr/ppatomctrl.c
/openbmc/linux/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_powertune.c
/openbmc/linux/drivers/gpu/drm/bridge/ite-it6505.c
/openbmc/linux/drivers/gpu/drm/etnaviv/etnaviv_gem.c
/openbmc/linux/drivers/gpu/drm/i915/display/intel_fb.c
/openbmc/linux/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
/openbmc/linux/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
/openbmc/linux/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h
/openbmc/linux/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h
/openbmc/linux/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_0_sm8250.h
/openbmc/linux/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_0_sm8350.h
/openbmc/linux/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h
/openbmc/linux/drivers/gpu/drm/msm/dp/dp_audio.c
/openbmc/linux/drivers/gpu/drm/nouveau/nouveau_fence.c
/openbmc/linux/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c
/openbmc/linux/drivers/gpu/drm/rockchip/cdn-dp-core.c
/openbmc/linux/drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
/openbmc/linux/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
/openbmc/linux/drivers/gpu/drm/rockchip/inno_hdmi.c
/openbmc/linux/drivers/gpu/drm/rockchip/rk3066_hdmi.c
/openbmc/linux/drivers/gpu/drm/rockchip/rockchip_drm_drv.h
/openbmc/linux/drivers/gpu/drm/rockchip/rockchip_drm_vop.h
/openbmc/linux/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
/openbmc/linux/drivers/gpu/drm/rockchip/rockchip_drm_vop2.h
/openbmc/linux/drivers/gpu/drm/rockchip/rockchip_lvds.c
/openbmc/linux/drivers/gpu/drm/rockchip/rockchip_rgb.c
/openbmc/linux/drivers/gpu/drm/v3d/v3d_irq.c
/openbmc/linux/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c
/openbmc/linux/drivers/gpu/drm/vmwgfx/vmwgfx_bo.h
/openbmc/linux/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
/openbmc/linux/drivers/gpu/drm/vmwgfx/vmwgfx_gem.c
/openbmc/linux/drivers/gpu/drm/vmwgfx/vmwgfx_shader.c
/openbmc/linux/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
/openbmc/linux/drivers/hid/hid-core.c
/openbmc/linux/drivers/hid/hid-ids.h
/openbmc/linux/drivers/hid/hid-input.c
/openbmc/linux/drivers/hid/hid-multitouch.c
/openbmc/linux/drivers/hid/hid-thrustmaster.c
/openbmc/linux/drivers/hwmon/drivetemp.c
/openbmc/linux/drivers/hwmon/tmp513.c
/openbmc/linux/drivers/i2c/busses/i2c-rcar.c
/openbmc/linux/drivers/i2c/i2c-atr.c
/openbmc/linux/drivers/i2c/muxes/i2c-demux-pinctrl.c
/openbmc/linux/drivers/i3c/master/dw-i3c-master.c
/openbmc/linux/drivers/i3c/master/dw-i3c-master.h
/openbmc/linux/drivers/iio/adc/ti_am335x_adc.c
/openbmc/linux/drivers/iio/imu/inv_icm42600/inv_icm42600.h
/openbmc/linux/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
/openbmc/linux/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c
/openbmc/linux/drivers/infiniband/hw/bnxt_re/ib_verbs.c
/openbmc/linux/drivers/infiniband/hw/bnxt_re/ib_verbs.h
/openbmc/linux/drivers/infiniband/hw/bnxt_re/main.c
/openbmc/linux/drivers/infiniband/hw/bnxt_re/qplib_fp.c
/openbmc/linux/drivers/infiniband/hw/bnxt_re/qplib_fp.h
/openbmc/linux/drivers/infiniband/hw/cxgb4/device.c
/openbmc/linux/drivers/infiniband/hw/mlx4/main.c
/openbmc/linux/drivers/infiniband/hw/mlx5/odp.c
/openbmc/linux/drivers/infiniband/sw/rxe/rxe.c
/openbmc/linux/drivers/infiniband/sw/rxe/rxe.h
/openbmc/linux/drivers/infiniband/sw/rxe/rxe_comp.c
/openbmc/linux/drivers/infiniband/sw/rxe/rxe_cq.c
/openbmc/linux/drivers/infiniband/sw/rxe/rxe_mr.c
/openbmc/linux/drivers/infiniband/sw/rxe/rxe_mw.c
/openbmc/linux/drivers/infiniband/sw/rxe/rxe_param.h
/openbmc/linux/drivers/infiniband/sw/rxe/rxe_pool.c
/openbmc/linux/drivers/infiniband/sw/rxe/rxe_qp.c
/openbmc/linux/drivers/infiniband/sw/rxe/rxe_resp.c
/openbmc/linux/drivers/infiniband/sw/rxe/rxe_task.c
/openbmc/linux/drivers/infiniband/sw/rxe/rxe_verbs.c
/openbmc/linux/drivers/infiniband/ulp/srp/ib_srp.c
/openbmc/linux/drivers/input/joystick/xpad.c
/openbmc/linux/drivers/input/keyboard/atkbd.c
/openbmc/linux/drivers/irqchip/irq-atmel-aic-common.c
/openbmc/linux/drivers/irqchip/irq-gic-v3-its.c
/openbmc/linux/drivers/irqchip/irq-gic-v3.c
/openbmc/linux/drivers/irqchip/irq-pic32-evic.c
/openbmc/linux/drivers/irqchip/irq-sunxi-nmi.c
/openbmc/linux/drivers/irqchip/irqchip.c
/openbmc/linux/drivers/leds/leds-cht-wcove.c
/openbmc/linux/drivers/leds/leds-netxbig.c
/openbmc/linux/drivers/media/i2c/imx290.c
/openbmc/linux/drivers/media/i2c/imx412.c
/openbmc/linux/drivers/media/i2c/ov9282.c
/openbmc/linux/drivers/media/platform/marvell/mcam-core.c
/openbmc/linux/drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c
/openbmc/linux/drivers/media/platform/samsung/exynos4-is/mipi-csis.c
/openbmc/linux/drivers/media/platform/samsung/s3c-camif/camif-core.c
/openbmc/linux/drivers/media/rc/iguanair.c
/openbmc/linux/drivers/media/usb/dvb-usb-v2/af9035.c
/openbmc/linux/drivers/media/usb/dvb-usb-v2/lmedm04.c
/openbmc/linux/drivers/media/usb/uvc/uvc_queue.c
/openbmc/linux/drivers/memory/tegra/tegra20-emc.c
/openbmc/linux/drivers/mfd/syscon.c
/openbmc/linux/drivers/mfd/ti_am335x_tscadc.c
/openbmc/linux/drivers/mtd/hyperbus/hbmc-am654.c
/openbmc/linux/drivers/mtd/nand/raw/brcmnand/brcmnand.c
/openbmc/linux/drivers/mtd/spi-nor/core.c
/openbmc/linux/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
/openbmc/linux/drivers/net/ethernet/broadcom/bgmac.h
/openbmc/linux/drivers/net/ethernet/davicom/dm9000.c
/openbmc/linux/drivers/net/ethernet/freescale/fec_main.c
/openbmc/linux/drivers/net/ethernet/hisilicon/hns3/hnae3.c
/openbmc/linux/drivers/net/ethernet/hisilicon/hns3/hnae3.h
/openbmc/linux/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
/openbmc/linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
/openbmc/linux/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
/openbmc/linux/drivers/net/ethernet/intel/iavf/iavf_main.c
/openbmc/linux/drivers/net/ethernet/marvell/octeon_ep/octep_main.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_offload.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/lag/port_sel.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
/openbmc/linux/drivers/net/ethernet/netronome/nfp/bpf/offload.c
/openbmc/linux/drivers/net/ethernet/renesas/sh_eth.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
/openbmc/linux/drivers/net/ethernet/ti/am65-cpsw-nuss.c
/openbmc/linux/drivers/net/ethernet/ti/cpsw_ale.c
/openbmc/linux/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
/openbmc/linux/drivers/net/gtp.c
/openbmc/linux/drivers/net/netdevsim/netdevsim.h
/openbmc/linux/drivers/net/netdevsim/udp_tunnels.c
/openbmc/linux/drivers/net/team/team.c
/openbmc/linux/drivers/net/vxlan/vxlan_vnifilter.c
/openbmc/linux/drivers/net/wireless/ath/ath11k/dp_rx.c
/openbmc/linux/drivers/net/wireless/ath/ath11k/hal_rx.c
/openbmc/linux/drivers/net/wireless/ath/ath12k/mac.c
/openbmc/linux/drivers/net/wireless/ath/wcn36xx/main.c
/openbmc/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil.h
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7615/init.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.h
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7915/init.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7915/mac.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7915/main.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7915/mmio.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7915/pci.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7921/main.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7996/init.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7996/main.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7996/mmio.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/usb.c
/openbmc/linux/drivers/net/wireless/realtek/rtlwifi/base.c
/openbmc/linux/drivers/net/wireless/realtek/rtlwifi/base.h
/openbmc/linux/drivers/net/wireless/realtek/rtlwifi/pci.c
/openbmc/linux/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c
/openbmc/linux/drivers/net/wireless/realtek/rtlwifi/usb.c
/openbmc/linux/drivers/net/wireless/realtek/rtlwifi/wifi.h
/openbmc/linux/drivers/net/wireless/ti/wlcore/main.c
/openbmc/linux/drivers/nvme/host/core.c
/openbmc/linux/drivers/nvme/target/io-cmd-bdev.c
/openbmc/linux/drivers/of/of_reserved_mem.c
/openbmc/linux/drivers/of/unittest-data/tests-platform.dtsi
/openbmc/linux/drivers/of/unittest.c
/openbmc/linux/drivers/opp/core.c
/openbmc/linux/drivers/opp/of.c
/openbmc/linux/drivers/pci/controller/dwc/pci-imx6.c
/openbmc/linux/drivers/pci/controller/pci-host-common.c
/openbmc/linux/drivers/pci/controller/pcie-rcar-ep.c
/openbmc/linux/drivers/pci/endpoint/functions/pci-epf-test.c
/openbmc/linux/drivers/pci/endpoint/pci-epc-core.c
/openbmc/linux/drivers/pci/probe.c
/openbmc/linux/drivers/pinctrl/nxp/pinctrl-s32cc.c
/openbmc/linux/drivers/pinctrl/pinctrl-amd.c
/openbmc/linux/drivers/pinctrl/pinctrl-amd.h
/openbmc/linux/drivers/pinctrl/pinctrl-k210.c
/openbmc/linux/drivers/pinctrl/stm32/pinctrl-stm32.c
/openbmc/linux/drivers/pmdomain/imx/gpcv2.c
/openbmc/linux/drivers/pmdomain/imx/imx8mp-blk-ctrl.c
/openbmc/linux/drivers/ptp/ptp_chardev.c
/openbmc/linux/drivers/pwm/pwm-samsung.c
/openbmc/linux/drivers/pwm/pwm-stm32-lp.c
/openbmc/linux/drivers/pwm/pwm-stm32.c
/openbmc/linux/drivers/regulator/core.c
/openbmc/linux/drivers/regulator/of_regulator.c
/openbmc/linux/drivers/rtc/rtc-loongson.c
/openbmc/linux/drivers/rtc/rtc-pcf85063.c
/openbmc/linux/drivers/scsi/mpt3sas/mpt3sas_base.c
/openbmc/linux/drivers/scsi/scsi_transport_iscsi.c
/openbmc/linux/drivers/scsi/storvsc_drv.c
/openbmc/linux/drivers/soc/atmel/soc.c
/openbmc/linux/drivers/spi/spi-omap2-mcspi.c
/openbmc/linux/drivers/spi/spi-zynq-qspi.c
/openbmc/linux/drivers/staging/media/imx/imx-media-of.c
/openbmc/linux/drivers/tty/serial/8250/8250_port.c
/openbmc/linux/drivers/tty/serial/sc16is7xx.c
/openbmc/linux/drivers/tty/sysrq.c
/openbmc/linux/drivers/ufs/core/ufs_bsg.c
/openbmc/linux/drivers/ufs/core/ufshcd.c
/openbmc/linux/drivers/usb/gadget/function/u_serial.c
/openbmc/linux/drivers/usb/misc/usb251xb.c
/openbmc/linux/drivers/usb/serial/quatech2.c
/openbmc/linux/drivers/vfio/iova_bitmap.c
/openbmc/linux/drivers/vfio/platform/vfio_platform_common.c
/openbmc/linux/drivers/video/fbdev/omap2/omapfb/dss/dss-of.c
/openbmc/linux/drivers/watchdog/rti_wdt.c
/openbmc/linux/fs/Kconfig
/openbmc/linux/fs/afs/dir.c
/openbmc/linux/fs/afs/internal.h
/openbmc/linux/fs/afs/rxrpc.c
/openbmc/linux/fs/afs/xdr_fs.h
/openbmc/linux/fs/afs/yfsclient.c
/openbmc/linux/fs/buffer.c
/openbmc/linux/fs/cachefiles/daemon.c
/openbmc/linux/fs/cachefiles/internal.h
/openbmc/linux/fs/cachefiles/security.c
/openbmc/linux/fs/dlm/lowcomms.c
/openbmc/linux/fs/ext4/super.c
/openbmc/linux/fs/file.c
/openbmc/linux/fs/file_table.c
/openbmc/linux/fs/gfs2/file.c
/openbmc/linux/fs/hfs/super.c
/openbmc/linux/fs/hostfs/hostfs_kern.c
/openbmc/linux/fs/iomap/buffered-io.c
/openbmc/linux/fs/libfs.c
/openbmc/linux/fs/nfs/nfs42proc.c
/openbmc/linux/fs/nfs/nfs42xdr.c
/openbmc/linux/fs/nfsd/filecache.c
/openbmc/linux/fs/nfsd/filecache.h
/openbmc/linux/fs/nilfs2/segment.c
/openbmc/linux/fs/notify/fdinfo.c
/openbmc/linux/fs/ocfs2/extent_map.c
/openbmc/linux/fs/ocfs2/quota_global.c
/openbmc/linux/fs/overlayfs/copy_up.c
/openbmc/linux/fs/overlayfs/namei.c
/openbmc/linux/fs/overlayfs/overlayfs.h
/openbmc/linux/fs/overlayfs/super.c
/openbmc/linux/fs/overlayfs/util.c
/openbmc/linux/fs/proc/vmcore.c
/openbmc/linux/fs/pstore/blk.c
/openbmc/linux/fs/select.c
/openbmc/linux/fs/smb/client/connect.c
/openbmc/linux/fs/smb/client/readdir.c
/openbmc/linux/fs/smb/client/smb2inode.c
/openbmc/linux/fs/smb/client/smb2ops.c
/openbmc/linux/fs/ubifs/debug.c
/openbmc/linux/include/acpi/acpixf.h
/openbmc/linux/include/dt-bindings/clock/sun50i-a64-ccu.h
/openbmc/linux/include/linux/buffer_head.h
/openbmc/linux/include/linux/fs.h
/openbmc/linux/include/linux/hid.h
/openbmc/linux/include/linux/hrtimer.h
/openbmc/linux/include/linux/hugetlb.h
/openbmc/linux/include/linux/ieee80211.h
/openbmc/linux/include/linux/kallsyms.h
/openbmc/linux/include/linux/mfd/syscon.h
/openbmc/linux/include/linux/mm.h
/openbmc/linux/include/linux/mm_types.h
/openbmc/linux/include/linux/mroute_base.h
/openbmc/linux/include/linux/netdevice.h
/openbmc/linux/include/linux/of.h
/openbmc/linux/include/linux/perf_event.h
/openbmc/linux/include/linux/platform_data/pca953x.h
/openbmc/linux/include/linux/platform_data/si5351.h
/openbmc/linux/include/linux/poll.h
/openbmc/linux/include/linux/pruss_driver.h
/openbmc/linux/include/linux/sched.h
/openbmc/linux/include/linux/seccomp.h
/openbmc/linux/include/net/ax25.h
/openbmc/linux/include/net/inetpeer.h
/openbmc/linux/include/net/net_namespace.h
/openbmc/linux/include/net/netfilter/nf_tables.h
/openbmc/linux/include/net/xfrm.h
/openbmc/linux/include/trace/events/afs.h
/openbmc/linux/include/trace/events/rxrpc.h
uring_cmd.c
/openbmc/linux/kernel/bpf/bpf_local_storage.c
/openbmc/linux/kernel/cpu.c
/openbmc/linux/kernel/events/core.c
/openbmc/linux/kernel/gen_kheaders.sh
/openbmc/linux/kernel/irq/internals.h
/openbmc/linux/kernel/padata.c
/openbmc/linux/kernel/power/hibernate.c
/openbmc/linux/kernel/sched/cpufreq_schedutil.c
/openbmc/linux/kernel/sched/fair.c
/openbmc/linux/kernel/sched/topology.c
/openbmc/linux/kernel/time/hrtimer.c
/openbmc/linux/kernel/trace/bpf_trace.c
/openbmc/linux/kernel/workqueue.c
/openbmc/linux/mm/filemap.c
/openbmc/linux/mm/hugetlb.c
/openbmc/linux/mm/shmem.c
/openbmc/linux/net/ax25/af_ax25.c
/openbmc/linux/net/ax25/ax25_dev.c
/openbmc/linux/net/ax25/ax25_ip.c
/openbmc/linux/net/ax25/ax25_out.c
/openbmc/linux/net/ax25/ax25_route.c
/openbmc/linux/net/core/dev.c
/openbmc/linux/net/core/filter.c
/openbmc/linux/net/core/net_namespace.c
/openbmc/linux/net/core/pktgen.c
/openbmc/linux/net/core/sysctl_net_core.c
/openbmc/linux/net/dccp/ipv6.c
/openbmc/linux/net/ethtool/netlink.c
/openbmc/linux/net/hsr/hsr_forward.c
/openbmc/linux/net/ipv4/icmp.c
/openbmc/linux/net/ipv4/inetpeer.c
/openbmc/linux/net/ipv4/ip_fragment.c
/openbmc/linux/net/ipv4/ip_tunnel.c
/openbmc/linux/net/ipv4/ipmr.c
/openbmc/linux/net/ipv4/ipmr_base.c
/openbmc/linux/net/ipv4/route.c
/openbmc/linux/net/ipv4/tcp_cubic.c
/openbmc/linux/net/ipv4/tcp_output.c
/openbmc/linux/net/ipv6/icmp.c
/openbmc/linux/net/ipv6/ip6_fib.c
/openbmc/linux/net/ipv6/ip6_output.c
/openbmc/linux/net/ipv6/ip6mr.c
/openbmc/linux/net/ipv6/ndisc.c
/openbmc/linux/net/ipv6/route.c
/openbmc/linux/net/ipv6/tcp_ipv6.c
/openbmc/linux/net/mac80211/debugfs_netdev.c
/openbmc/linux/net/mac80211/driver-ops.h
/openbmc/linux/net/mac80211/rx.c
/openbmc/linux/net/mac802154/iface.c
/openbmc/linux/net/mptcp/options.c
/openbmc/linux/net/mptcp/protocol.h
/openbmc/linux/net/netfilter/nf_tables_api.c
/openbmc/linux/net/netfilter/nft_flow_offload.c
/openbmc/linux/net/netfilter/nft_set_pipapo.c
/openbmc/linux/net/netfilter/nft_set_rbtree.c
/openbmc/linux/net/openvswitch/actions.c
/openbmc/linux/net/rose/af_rose.c
/openbmc/linux/net/rose/rose_timer.c
/openbmc/linux/net/rxrpc/conn_event.c
/openbmc/linux/net/sched/sch_api.c
/openbmc/linux/net/sched/sch_ets.c
/openbmc/linux/net/sched/sch_sfq.c
/openbmc/linux/net/smc/af_smc.c
/openbmc/linux/net/smc/smc_rx.c
/openbmc/linux/net/smc/smc_rx.h
/openbmc/linux/net/vmw_vsock/af_vsock.c
/openbmc/linux/net/vmw_vsock/virtio_transport_common.c
/openbmc/linux/net/vmw_vsock/vsock_bpf.c
/openbmc/linux/net/wireless/scan.c
/openbmc/linux/net/xfrm/xfrm_replay.c
/openbmc/linux/samples/landlock/sandboxer.c
/openbmc/linux/scripts/genksyms/genksyms.c
/openbmc/linux/scripts/genksyms/genksyms.h
/openbmc/linux/scripts/genksyms/parse.y
/openbmc/linux/security/landlock/fs.c
/openbmc/linux/sound/core/seq/Kconfig
/openbmc/linux/sound/pci/hda/patch_realtek.c
/openbmc/linux/sound/soc/codecs/Kconfig
/openbmc/linux/sound/soc/codecs/arizona.c
/openbmc/linux/sound/soc/intel/avs/apl.c
/openbmc/linux/sound/soc/intel/avs/avs.h
/openbmc/linux/sound/soc/intel/avs/core.c
/openbmc/linux/sound/soc/intel/avs/ipc.c
/openbmc/linux/sound/soc/intel/avs/loader.c
/openbmc/linux/sound/soc/intel/avs/messages.h
/openbmc/linux/sound/soc/intel/avs/registers.h
/openbmc/linux/sound/soc/intel/avs/skl.c
/openbmc/linux/sound/soc/rockchip/rockchip_i2s_tdm.c
/openbmc/linux/sound/soc/samsung/Kconfig
/openbmc/linux/sound/soc/sh/rz-ssi.c
/openbmc/linux/sound/soc/sunxi/sun4i-spdif.c
/openbmc/linux/sound/usb/quirks.c
/openbmc/linux/tools/bootconfig/main.c
/openbmc/linux/tools/lib/bpf/linker.c
/openbmc/linux/tools/lib/bpf/usdt.c
/openbmc/linux/tools/perf/builtin-lock.c
/openbmc/linux/tools/perf/builtin-report.c
/openbmc/linux/tools/perf/builtin-top.c
/openbmc/linux/tools/perf/builtin-trace.c
/openbmc/linux/tools/perf/util/bpf-event.c
/openbmc/linux/tools/perf/util/env.c
/openbmc/linux/tools/perf/util/env.h
/openbmc/linux/tools/perf/util/expr.c
/openbmc/linux/tools/perf/util/header.c
/openbmc/linux/tools/perf/util/machine.c
/openbmc/linux/tools/perf/util/namespaces.c
/openbmc/linux/tools/perf/util/namespaces.h
/openbmc/linux/tools/power/cpupower/utils/idle_monitor/mperf_monitor.c
/openbmc/linux/tools/testing/ktest/ktest.pl
/openbmc/linux/tools/testing/selftests/bpf/prog_tests/fill_link_info.c
/openbmc/linux/tools/testing/selftests/bpf/progs/test_fill_link_info.c
/openbmc/linux/tools/testing/selftests/bpf/test_tc_tunnel.sh
/openbmc/linux/tools/testing/selftests/drivers/net/netdevsim/udp_tunnel_nic.sh
/openbmc/linux/tools/testing/selftests/kselftest_harness.h
/openbmc/linux/tools/testing/selftests/landlock/fs_test.c
/openbmc/linux/tools/testing/selftests/net/Makefile
/openbmc/linux/tools/testing/selftests/net/ipv6_route_update_soft_lockup.sh
/openbmc/linux/tools/testing/selftests/net/mptcp/mptcp_connect.c
/openbmc/linux/tools/testing/selftests/powerpc/benchmarks/gettimeofday.c
/openbmc/linux/tools/testing/selftests/tc-testing/tc-tests/filters/flow.json
/openbmc/linux/tools/testing/selftests/timers/clocksource-switch.c
8efff2aa08-Jan-2025 Jens Axboe <axboe@kernel.dk>

io_uring/eventfd: ensure io_eventfd_signal() defers another RCU period

Commit c9a40292a44e78f71258b8522655bffaf5753bdb upstream.

io_eventfd_do_signal() is invoked from an RCU callback, but when
dro

io_uring/eventfd: ensure io_eventfd_signal() defers another RCU period

Commit c9a40292a44e78f71258b8522655bffaf5753bdb upstream.

io_eventfd_do_signal() is invoked from an RCU callback, but when
dropping the reference to the io_ev_fd, it calls io_eventfd_free()
directly if the refcount drops to zero. This isn't correct, as any
potential freeing of the io_ev_fd should be deferred another RCU grace
period.

Just call io_eventfd_put() rather than open-code the dec-and-test and
free, which will correctly defer it another RCU grace period.

Fixes: 21a091b970cd ("io_uring: signal registered eventfd to process deferred task work")
Reported-by: Jann Horn <jannh@google.com>
Cc: stable@vger.kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...


/openbmc/linux/arch/riscv/kernel/probes/kprobes.c
/openbmc/linux/arch/x86/kernel/fpu/regset.c
/openbmc/linux/drivers/base/topology.c
/openbmc/linux/drivers/iio/adc/ad7124.c
/openbmc/linux/drivers/iio/adc/at91_adc.c
/openbmc/linux/drivers/iio/adc/rockchip_saradc.c
/openbmc/linux/drivers/iio/adc/ti-ads124s08.c
/openbmc/linux/drivers/iio/adc/ti-ads8688.c
/openbmc/linux/drivers/iio/dummy/iio_simple_dummy_buffer.c
/openbmc/linux/drivers/iio/gyro/fxas21002c_core.c
/openbmc/linux/drivers/iio/imu/kmx61.c
/openbmc/linux/drivers/iio/inkern.c
/openbmc/linux/drivers/iio/light/vcnl4035.c
/openbmc/linux/drivers/iio/pressure/zpa2326.c
/openbmc/linux/drivers/md/dm-verity-fec.c
/openbmc/linux/drivers/misc/mchp_pci1xxxx/mchp_pci1xxxx_gpio.c
/openbmc/linux/drivers/staging/iio/frequency/ad9832.c
/openbmc/linux/drivers/staging/iio/frequency/ad9834.c
/openbmc/linux/drivers/tty/serial/8250/8250_core.c
/openbmc/linux/drivers/usb/chipidea/ci_hdrc_imx.c
/openbmc/linux/drivers/usb/class/usblp.c
/openbmc/linux/drivers/usb/core/hub.c
/openbmc/linux/drivers/usb/core/port.c
/openbmc/linux/drivers/usb/dwc3/core.h
/openbmc/linux/drivers/usb/dwc3/dwc3-am62.c
/openbmc/linux/drivers/usb/dwc3/gadget.c
/openbmc/linux/drivers/usb/gadget/Kconfig
/openbmc/linux/drivers/usb/gadget/configfs.c
/openbmc/linux/drivers/usb/gadget/function/f_fs.c
/openbmc/linux/drivers/usb/gadget/function/f_uac2.c
/openbmc/linux/drivers/usb/gadget/function/u_serial.c
/openbmc/linux/drivers/usb/serial/cp210x.c
/openbmc/linux/drivers/usb/serial/option.c
/openbmc/linux/drivers/usb/storage/unusual_devs.h
/openbmc/linux/drivers/usb/typec/tcpm/maxim_contaminant.c
/openbmc/linux/fs/f2fs/super.c
io_uring.c
e3ed5a1404-Jan-2025 Pavel Begunkov <asml.silence@gmail.com>

io_uring/timeout: fix multishot updates

commit c83c846231db8b153bfcb44d552d373c34f78245 upstream.

After update only the first shot of a multishot timeout request adheres
to the new timeout value wh

io_uring/timeout: fix multishot updates

commit c83c846231db8b153bfcb44d552d373c34f78245 upstream.

After update only the first shot of a multishot timeout request adheres
to the new timeout value while all subsequent retries continue to use
the old value. Don't forget to update the timeout stored in struct
io_timeout_data.

Cc: stable@vger.kernel.org
Fixes: ea97f6c8558e8 ("io_uring: add support for multishot timeouts")
Reported-by: Christian Mazakas <christian.mazakas@gmail.com>
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/e6516c3304eb654ec234cfa65c88a9579861e597.1736015288.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...


/openbmc/linux/Documentation/admin-guide/media/building.rst
/openbmc/linux/Documentation/admin-guide/media/saa7134.rst
/openbmc/linux/Documentation/arch/arm64/silicon-errata.rst
/openbmc/linux/Documentation/devicetree/bindings/display/bridge/adi,adv7533.yaml
/openbmc/linux/Documentation/i2c/busses/i2c-i801.rst
/openbmc/linux/Makefile
/openbmc/linux/arch/arc/Makefile
/openbmc/linux/arch/loongarch/kernel/numa.c
/openbmc/linux/arch/powerpc/kernel/setup-common.c
/openbmc/linux/arch/riscv/include/asm/cacheflush.h
/openbmc/linux/arch/riscv/include/asm/page.h
/openbmc/linux/arch/riscv/include/asm/pgtable.h
/openbmc/linux/arch/riscv/kernel/ftrace.c
/openbmc/linux/arch/riscv/kernel/traps.c
/openbmc/linux/arch/riscv/mm/init.c
/openbmc/linux/arch/x86/entry/vsyscall/vsyscall_64.c
/openbmc/linux/arch/x86/include/asm/ptrace.h
/openbmc/linux/arch/x86/include/asm/tlb.h
/openbmc/linux/arch/x86/kernel/cet.c
/openbmc/linux/arch/x86/kernel/cpu/intel.c
/openbmc/linux/arch/x86/kernel/cpu/mshyperv.c
/openbmc/linux/arch/x86/kernel/process_64.c
/openbmc/linux/arch/x86/mm/numa.c
/openbmc/linux/arch/x86/mm/tlb.c
/openbmc/linux/block/blk-mq.c
/openbmc/linux/crypto/ecc.c
/openbmc/linux/crypto/ecdsa.c
/openbmc/linux/drivers/acpi/arm64/iort.c
/openbmc/linux/drivers/acpi/resource.c
/openbmc/linux/drivers/bluetooth/btnxpuart.c
/openbmc/linux/drivers/bluetooth/btusb.c
/openbmc/linux/drivers/clk/qcom/clk-alpha-pll.c
/openbmc/linux/drivers/clk/qcom/clk-alpha-pll.h
/openbmc/linux/drivers/clocksource/hyperv_timer.c
/openbmc/linux/drivers/cpuidle/cpuidle-riscv-sbi.c
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_debug.c
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
/openbmc/linux/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dc.h
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dml/dml_inline_defs.h
/openbmc/linux/drivers/gpu/drm/bridge/adv7511/adv7511_audio.c
/openbmc/linux/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
/openbmc/linux/drivers/gpu/drm/bridge/adv7511/adv7533.c
/openbmc/linux/drivers/gpu/drm/i915/gt/intel_rc6.c
/openbmc/linux/drivers/gpu/drm/mediatek/Kconfig
/openbmc/linux/drivers/gpu/drm/mediatek/mtk_dp.c
/openbmc/linux/drivers/gpu/drm/mediatek/mtk_drm_drv.c
/openbmc/linux/drivers/i2c/busses/Kconfig
/openbmc/linux/drivers/i2c/busses/i2c-i801.c
/openbmc/linux/drivers/i2c/busses/i2c-imx.c
/openbmc/linux/drivers/i2c/busses/i2c-microchip-corei2c.c
/openbmc/linux/drivers/i2c/busses/i2c-xgene-slimpro.c
/openbmc/linux/drivers/iio/adc/ad7192.c
/openbmc/linux/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
/openbmc/linux/drivers/infiniband/core/uverbs_cmd.c
/openbmc/linux/drivers/infiniband/hw/bnxt_re/ib_verbs.c
/openbmc/linux/drivers/infiniband/hw/bnxt_re/main.c
/openbmc/linux/drivers/infiniband/hw/bnxt_re/qplib_fp.c
/openbmc/linux/drivers/infiniband/hw/bnxt_re/qplib_fp.h
/openbmc/linux/drivers/infiniband/hw/bnxt_re/qplib_res.h
/openbmc/linux/drivers/infiniband/hw/bnxt_re/qplib_sp.c
/openbmc/linux/drivers/infiniband/hw/bnxt_re/qplib_sp.h
/openbmc/linux/drivers/infiniband/hw/bnxt_re/roce_hsi.h
/openbmc/linux/drivers/infiniband/hw/hns/hns_roce_alloc.c
/openbmc/linux/drivers/infiniband/hw/hns/hns_roce_cq.c
/openbmc/linux/drivers/infiniband/hw/hns/hns_roce_device.h
/openbmc/linux/drivers/infiniband/hw/hns/hns_roce_hem.c
/openbmc/linux/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
/openbmc/linux/drivers/infiniband/hw/hns/hns_roce_mr.c
/openbmc/linux/drivers/infiniband/hw/hns/hns_roce_qp.c
/openbmc/linux/drivers/infiniband/hw/hns/hns_roce_srq.c
/openbmc/linux/drivers/infiniband/hw/mlx5/main.c
/openbmc/linux/drivers/infiniband/ulp/rtrs/rtrs-srv.c
/openbmc/linux/drivers/irqchip/irq-gic.c
/openbmc/linux/drivers/mailbox/pcc.c
/openbmc/linux/drivers/md/dm-ebs-target.c
/openbmc/linux/drivers/md/dm-thin.c
/openbmc/linux/drivers/md/persistent-data/dm-array.c
/openbmc/linux/drivers/media/usb/uvc/uvc_driver.c
/openbmc/linux/drivers/mmc/host/sdhci-msm.c
/openbmc/linux/drivers/net/dsa/microchip/ksz9477.c
/openbmc/linux/drivers/net/dsa/microchip/ksz9477_reg.h
/openbmc/linux/drivers/net/dsa/microchip/lan937x_main.c
/openbmc/linux/drivers/net/dsa/microchip/lan937x_reg.h
/openbmc/linux/drivers/net/ethernet/amd/pds_core/devlink.c
/openbmc/linux/drivers/net/ethernet/broadcom/bcmsysport.c
/openbmc/linux/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c
/openbmc/linux/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
/openbmc/linux/drivers/net/ethernet/google/gve/gve_main.c
/openbmc/linux/drivers/net/ethernet/google/gve/gve_tx.c
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_ptp_consts.h
/openbmc/linux/drivers/net/ethernet/intel/igc/igc_base.c
/openbmc/linux/drivers/net/ethernet/intel/igc/igc_i225.c
/openbmc/linux/drivers/net/ethernet/intel/igc/igc_main.c
/openbmc/linux/drivers/net/ethernet/intel/igc/igc_phy.c
/openbmc/linux/drivers/net/ethernet/marvell/mv643xx_eth.c
/openbmc/linux/drivers/net/ethernet/marvell/sky2.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/cmd.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/esw/ipsec_fs.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_send.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
/openbmc/linux/drivers/net/ethernet/renesas/rswitch.c
/openbmc/linux/drivers/net/ethernet/sfc/tc_conntrack.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/dwmac-tegra.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
/openbmc/linux/drivers/net/ethernet/ti/icssg/icss_iep.c
/openbmc/linux/drivers/net/ethernet/wangxun/libwx/wx_hw.c
/openbmc/linux/drivers/net/ieee802154/ca8210.c
/openbmc/linux/drivers/net/usb/qmi_wwan.c
/openbmc/linux/drivers/net/wireless/ath/ath10k/bmi.c
/openbmc/linux/drivers/net/wireless/ath/ath10k/ce.c
/openbmc/linux/drivers/net/wireless/ath/ath10k/core.c
/openbmc/linux/drivers/net/wireless/ath/ath10k/core.h
/openbmc/linux/drivers/net/wireless/ath/ath10k/coredump.c
/openbmc/linux/drivers/net/wireless/ath/ath10k/coredump.h
/openbmc/linux/drivers/net/wireless/ath/ath10k/debug.c
/openbmc/linux/drivers/net/wireless/ath/ath10k/debugfs_sta.c
/openbmc/linux/drivers/net/wireless/ath/ath10k/htc.c
/openbmc/linux/drivers/net/wireless/ath/ath10k/htt.h
/openbmc/linux/drivers/net/wireless/ath/ath10k/htt_rx.c
/openbmc/linux/drivers/net/wireless/ath/ath10k/htt_tx.c
/openbmc/linux/drivers/net/wireless/ath/ath10k/hw.c
/openbmc/linux/drivers/net/wireless/ath/ath10k/hw.h
/openbmc/linux/drivers/net/wireless/ath/ath10k/mac.c
/openbmc/linux/drivers/net/wireless/ath/ath10k/pci.c
/openbmc/linux/drivers/net/wireless/ath/ath10k/pci.h
/openbmc/linux/drivers/net/wireless/ath/ath10k/qmi.c
/openbmc/linux/drivers/net/wireless/ath/ath10k/qmi_wlfw_v01.c
/openbmc/linux/drivers/net/wireless/ath/ath10k/qmi_wlfw_v01.h
/openbmc/linux/drivers/net/wireless/ath/ath10k/rx_desc.h
/openbmc/linux/drivers/net/wireless/ath/ath10k/sdio.c
/openbmc/linux/drivers/net/wireless/ath/ath10k/thermal.c
/openbmc/linux/drivers/net/wireless/ath/ath10k/usb.h
/openbmc/linux/drivers/net/wireless/ath/ath10k/wmi-tlv.h
/openbmc/linux/drivers/net/wireless/ath/ath10k/wmi.c
/openbmc/linux/drivers/net/wireless/ath/ath10k/wmi.h
/openbmc/linux/drivers/net/wireless/ath/ath10k/wow.c
/openbmc/linux/drivers/net/wireless/ath/ath12k/mac.c
/openbmc/linux/drivers/net/wireless/ath/ath12k/reg.c
/openbmc/linux/drivers/net/wireless/realtek/rtw88/sdio.c
/openbmc/linux/drivers/net/wireless/realtek/rtw88/usb.c
/openbmc/linux/drivers/net/wwan/iosm/iosm_ipc_mmio.c
/openbmc/linux/drivers/net/wwan/t7xx/t7xx_state_monitor.c
/openbmc/linux/drivers/net/wwan/t7xx/t7xx_state_monitor.h
/openbmc/linux/drivers/nvme/host/core.c
/openbmc/linux/drivers/nvme/host/nvme.h
/openbmc/linux/drivers/nvme/host/pci.c
/openbmc/linux/drivers/of/address.c
/openbmc/linux/drivers/pci/msi/irqdomain.c
/openbmc/linux/drivers/pci/msi/msi.c
/openbmc/linux/drivers/pinctrl/pinctrl-mcp23s08.c
/openbmc/linux/drivers/platform/x86/amd/pmc/pmc.c
/openbmc/linux/drivers/platform/x86/mlx-platform.c
/openbmc/linux/drivers/power/supply/gpio-charger.c
/openbmc/linux/drivers/remoteproc/qcom_q6v5_pas.c
/openbmc/linux/drivers/scsi/hisi_sas/hisi_sas.h
/openbmc/linux/drivers/scsi/hisi_sas/hisi_sas_main.c
/openbmc/linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
/openbmc/linux/drivers/scsi/mpi3mr/mpi3mr_os.c
/openbmc/linux/drivers/thermal/thermal_of.c
/openbmc/linux/drivers/thunderbolt/nhi.c
/openbmc/linux/drivers/thunderbolt/nhi.h
/openbmc/linux/drivers/thunderbolt/retimer.c
/openbmc/linux/drivers/ufs/core/ufshcd-priv.h
/openbmc/linux/drivers/ufs/core/ufshcd.c
/openbmc/linux/drivers/ufs/host/ufs-qcom.c
/openbmc/linux/drivers/usb/chipidea/ci.h
/openbmc/linux/drivers/usb/chipidea/ci_hdrc_imx.c
/openbmc/linux/drivers/usb/chipidea/core.c
/openbmc/linux/drivers/usb/chipidea/otg.c
/openbmc/linux/drivers/usb/chipidea/udc.c
/openbmc/linux/drivers/usb/dwc3/core.h
/openbmc/linux/drivers/usb/dwc3/gadget.c
/openbmc/linux/drivers/usb/host/xhci-ring.c
/openbmc/linux/drivers/usb/host/xhci.c
/openbmc/linux/drivers/usb/host/xhci.h
/openbmc/linux/drivers/usb/typec/ucsi/ucsi.c
/openbmc/linux/drivers/usb/typec/ucsi/ucsi.h
/openbmc/linux/drivers/usb/typec/ucsi/ucsi_glink.c
/openbmc/linux/drivers/watchdog/rzg2l_wdt.c
/openbmc/linux/fs/afs/afs.h
/openbmc/linux/fs/afs/afs_vl.h
/openbmc/linux/fs/afs/vl_alias.c
/openbmc/linux/fs/afs/vlclient.c
/openbmc/linux/fs/btrfs/ctree.c
/openbmc/linux/fs/btrfs/ctree.h
/openbmc/linux/fs/btrfs/disk-io.c
/openbmc/linux/fs/btrfs/inode.c
/openbmc/linux/fs/btrfs/scrub.c
/openbmc/linux/fs/btrfs/sysfs.c
/openbmc/linux/fs/ceph/mds_client.c
/openbmc/linux/fs/erofs/zdata.c
/openbmc/linux/fs/exfat/dir.c
/openbmc/linux/fs/exfat/fatent.c
/openbmc/linux/fs/ext4/ext4.h
/openbmc/linux/fs/ext4/extents.c
/openbmc/linux/fs/ext4/ialloc.c
/openbmc/linux/fs/ext4/inline.c
/openbmc/linux/fs/ext4/inode.c
/openbmc/linux/fs/ext4/ioctl.c
/openbmc/linux/fs/ext4/namei.c
/openbmc/linux/fs/ext4/super.c
/openbmc/linux/fs/ext4/xattr.c
/openbmc/linux/fs/f2fs/file.c
/openbmc/linux/fs/jbd2/commit.c
/openbmc/linux/fs/jbd2/revoke.c
/openbmc/linux/fs/ntfs3/attrib.c
/openbmc/linux/fs/ntfs3/frecord.c
/openbmc/linux/fs/ntfs3/inode.c
/openbmc/linux/fs/ntfs3/ntfs_fs.h
/openbmc/linux/fs/ocfs2/quota_global.c
/openbmc/linux/fs/ocfs2/quota_local.c
/openbmc/linux/fs/overlayfs/copy_up.c
/openbmc/linux/fs/overlayfs/export.c
/openbmc/linux/fs/overlayfs/namei.c
/openbmc/linux/fs/overlayfs/overlayfs.h
/openbmc/linux/fs/overlayfs/super.c
/openbmc/linux/fs/overlayfs/util.c
/openbmc/linux/fs/proc/task_mmu.c
/openbmc/linux/fs/smb/client/cifsacl.c
/openbmc/linux/fs/smb/client/cifsacl.h
/openbmc/linux/fs/smb/client/cifsfs.c
/openbmc/linux/fs/smb/client/cifsglob.h
/openbmc/linux/fs/smb/client/cifsproto.h
/openbmc/linux/fs/smb/client/cifssmb.c
/openbmc/linux/fs/smb/client/inode.c
/openbmc/linux/fs/smb/client/namespace.c
/openbmc/linux/fs/smb/client/smb2inode.c
/openbmc/linux/fs/smb/client/smb2ops.c
/openbmc/linux/fs/smb/client/smb2pdu.c
/openbmc/linux/fs/smb/client/smb2pdu.h
/openbmc/linux/fs/smb/client/smb2proto.h
/openbmc/linux/fs/smb/client/smb2transport.c
/openbmc/linux/fs/smb/client/xattr.c
/openbmc/linux/fs/smb/server/smb2pdu.c
/openbmc/linux/fs/smb/server/smb2pdu.h
/openbmc/linux/fs/smb/server/vfs.c
/openbmc/linux/fs/smb/server/vfs.h
/openbmc/linux/fs/udf/namei.c
/openbmc/linux/include/acpi/pcc.h
/openbmc/linux/include/clocksource/hyperv_timer.h
/openbmc/linux/include/crypto/internal/ecc.h
/openbmc/linux/include/linux/bpf_verifier.h
/openbmc/linux/include/linux/cleanup.h
/openbmc/linux/include/linux/if_vlan.h
/openbmc/linux/include/linux/memblock.h
/openbmc/linux/include/linux/mlx5/driver.h
/openbmc/linux/include/linux/mutex.h
/openbmc/linux/include/linux/numa.h
/openbmc/linux/include/linux/rwsem.h
/openbmc/linux/include/linux/seq_buf.h
/openbmc/linux/include/linux/spinlock.h
/openbmc/linux/include/linux/trace_events.h
/openbmc/linux/include/linux/trace_seq.h
/openbmc/linux/include/linux/usb/chipidea.h
/openbmc/linux/include/net/bluetooth/hci_core.h
/openbmc/linux/include/net/inet_connection_sock.h
/openbmc/linux/include/net/mac80211.h
/openbmc/linux/include/net/netfilter/nf_tables.h
/openbmc/linux/include/ufs/ufshcd.h
timeout.c
/openbmc/linux/kernel/bpf/core.c
/openbmc/linux/kernel/bpf/verifier.c
/openbmc/linux/kernel/kcov.c
/openbmc/linux/kernel/sched/core.c
/openbmc/linux/kernel/softirq.c
/openbmc/linux/kernel/trace/trace.c
/openbmc/linux/kernel/trace/trace.h
/openbmc/linux/kernel/trace/trace_events.c
/openbmc/linux/kernel/trace/trace_output.c
/openbmc/linux/kernel/trace/trace_seq.c
/openbmc/linux/lib/seq_buf.c
/openbmc/linux/mm/kmemleak.c
/openbmc/linux/mm/memblock.c
/openbmc/linux/mm/readahead.c
/openbmc/linux/mm/vmscan.c
/openbmc/linux/net/802/psnap.c
/openbmc/linux/net/bluetooth/hci_conn.c
/openbmc/linux/net/bluetooth/hci_core.c
/openbmc/linux/net/bluetooth/hci_sync.c
/openbmc/linux/net/bluetooth/iso.c
/openbmc/linux/net/bluetooth/l2cap_core.c
/openbmc/linux/net/bluetooth/mgmt.c
/openbmc/linux/net/bluetooth/rfcomm/core.c
/openbmc/linux/net/bluetooth/sco.c
/openbmc/linux/net/core/dev.c
/openbmc/linux/net/core/link_watch.c
/openbmc/linux/net/core/sock.c
/openbmc/linux/net/ipv4/ip_tunnel.c
/openbmc/linux/net/ipv4/tcp_input.c
/openbmc/linux/net/ipv4/tcp_ipv4.c
/openbmc/linux/net/ipv6/ila/ila_xlat.c
/openbmc/linux/net/llc/llc_input.c
/openbmc/linux/net/mac80211/ieee80211_i.h
/openbmc/linux/net/mac80211/mesh.c
/openbmc/linux/net/mac80211/status.c
/openbmc/linux/net/mac80211/util.c
/openbmc/linux/net/mctp/route.c
/openbmc/linux/net/mptcp/ctrl.c
/openbmc/linux/net/mptcp/options.c
/openbmc/linux/net/mptcp/protocol.c
/openbmc/linux/net/netfilter/nf_conntrack_core.c
/openbmc/linux/net/netfilter/nf_tables_api.c
/openbmc/linux/net/netrom/nr_route.c
/openbmc/linux/net/packet/af_packet.c
/openbmc/linux/net/sched/cls_flow.c
/openbmc/linux/net/sched/sch_cake.c
/openbmc/linux/net/sctp/associola.c
/openbmc/linux/net/sctp/sysctl.c
/openbmc/linux/net/tls/tls_sw.c
/openbmc/linux/scripts/mod/file2alias.c
/openbmc/linux/scripts/sorttable.h
/openbmc/linux/security/selinux/ss/services.c
/openbmc/linux/sound/core/seq/oss/seq_oss_synth.c
/openbmc/linux/sound/core/seq/seq_clientmgr.c
/openbmc/linux/sound/core/ump.c
/openbmc/linux/sound/pci/hda/patch_ca0132.c
/openbmc/linux/sound/pci/hda/patch_realtek.c
/openbmc/linux/sound/sh/sh_dac_audio.c
/openbmc/linux/sound/soc/codecs/rt722-sdca.c
/openbmc/linux/sound/soc/mediatek/common/mtk-afe-platform-driver.c
/openbmc/linux/sound/usb/format.c
/openbmc/linux/sound/usb/mixer_us16x08.c
/openbmc/linux/sound/usb/quirks.c
/openbmc/linux/tools/include/linux/numa.h
/openbmc/linux/tools/testing/selftests/alsa/Makefile
/openbmc/linux/tools/testing/selftests/bpf/progs/verifier_subprog_precision.c
/openbmc/linux/tools/testing/selftests/bpf/verifier/precise.c
80120bb426-Dec-2024 Pavel Begunkov <asml.silence@gmail.com>

io_uring/sqpoll: fix sqpoll error handling races

commit e33ac68e5e21ec1292490dfe061e75c0dbdd3bd4 upstream.

BUG: KASAN: slab-use-after-free in __lock_acquire+0x370b/0x4a10 kernel/locking/lockdep.c:5

io_uring/sqpoll: fix sqpoll error handling races

commit e33ac68e5e21ec1292490dfe061e75c0dbdd3bd4 upstream.

BUG: KASAN: slab-use-after-free in __lock_acquire+0x370b/0x4a10 kernel/locking/lockdep.c:5089
Call Trace:
<TASK>
...
_raw_spin_lock_irqsave+0x3d/0x60 kernel/locking/spinlock.c:162
class_raw_spinlock_irqsave_constructor include/linux/spinlock.h:551 [inline]
try_to_wake_up+0xb5/0x23c0 kernel/sched/core.c:4205
io_sq_thread_park+0xac/0xe0 io_uring/sqpoll.c:55
io_sq_thread_finish+0x6b/0x310 io_uring/sqpoll.c:96
io_sq_offload_create+0x162/0x11d0 io_uring/sqpoll.c:497
io_uring_create io_uring/io_uring.c:3724 [inline]
io_uring_setup+0x1728/0x3230 io_uring/io_uring.c:3806
...

Kun Hu reports that the SQPOLL creating error path has UAF, which
happens if io_uring_alloc_task_context() fails and then io_sq_thread()
manages to run and complete before the rest of error handling code,
which means io_sq_thread_finish() is looking at already killed task.

Note that this is mostly theoretical, requiring fault injection on
the allocation side to trigger in practice.

Cc: stable@vger.kernel.org
Reported-by: Kun Hu <huk23@m.fudan.edu.cn>
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/0f2f1aa5729332612bd01fe0f2f385fd1f06ce7c.1735231717.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...


/openbmc/linux/Documentation/devicetree/bindings/net/fsl,fec.yaml
/openbmc/linux/Makefile
/openbmc/linux/arch/loongarch/include/asm/inst.h
/openbmc/linux/arch/loongarch/kernel/efi.c
/openbmc/linux/arch/loongarch/kernel/inst.c
/openbmc/linux/arch/loongarch/net/bpf_jit.c
/openbmc/linux/arch/mips/Makefile
/openbmc/linux/arch/mips/include/asm/mipsregs.h
/openbmc/linux/arch/powerpc/platforms/book3s/vas-api.c
/openbmc/linux/arch/x86/include/asm/intel-family.h
/openbmc/linux/arch/x86/include/asm/processor.h
/openbmc/linux/arch/x86/kernel/cpu/intel.c
/openbmc/linux/arch/x86/kernel/cpu/match.c
/openbmc/linux/block/blk-mq.c
/openbmc/linux/drivers/base/power/domain.c
/openbmc/linux/drivers/base/regmap/regmap.c
/openbmc/linux/drivers/block/virtio_blk.c
/openbmc/linux/drivers/dma/apple-admac.c
/openbmc/linux/drivers/dma/at_xdmac.c
/openbmc/linux/drivers/dma/dw/acpi.c
/openbmc/linux/drivers/dma/dw/internal.h
/openbmc/linux/drivers/dma/dw/pci.c
/openbmc/linux/drivers/dma/fsl-edma-common.h
/openbmc/linux/drivers/dma/fsl-edma-main.c
/openbmc/linux/drivers/dma/mv_xor.c
/openbmc/linux/drivers/dma/tegra186-gpc-dma.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/hdp_v4_0.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/hdp_v5_0.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/hdp_v6_0.c
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager.c
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_process.c
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
/openbmc/linux/drivers/gpu/drm/amd/include/kgd_kfd_interface.h
/openbmc/linux/drivers/gpu/drm/display/drm_dp_mst_topology.c
/openbmc/linux/drivers/media/dvb-frontends/dib3000mb.c
/openbmc/linux/drivers/mtd/nand/raw/arasan-nand-controller.c
/openbmc/linux/drivers/mtd/nand/raw/atmel/pmecc.c
/openbmc/linux/drivers/mtd/nand/raw/diskonchip.c
/openbmc/linux/drivers/net/ethernet/freescale/fec_ptp.c
/openbmc/linux/drivers/phy/broadcom/phy-brcm-usb-init-synopsys.c
/openbmc/linux/drivers/phy/phy-core.c
/openbmc/linux/drivers/phy/qualcomm/phy-qcom-qmp-usb.c
/openbmc/linux/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
/openbmc/linux/drivers/platform/x86/asus-nb-wmi.c
/openbmc/linux/drivers/scsi/megaraid/megaraid_sas_base.c
/openbmc/linux/drivers/scsi/mpt3sas/mpt3sas_base.c
/openbmc/linux/drivers/scsi/qla1280.h
/openbmc/linux/drivers/scsi/storvsc_drv.c
/openbmc/linux/drivers/spi/spi-intel-pci.c
/openbmc/linux/drivers/spi/spi-omap2-mcspi.c
/openbmc/linux/drivers/watchdog/it87_wdt.c
/openbmc/linux/drivers/watchdog/mtk_wdt.c
/openbmc/linux/fs/ceph/addr.c
/openbmc/linux/fs/ceph/file.c
/openbmc/linux/fs/ceph/super.h
/openbmc/linux/fs/nfsd/export.c
/openbmc/linux/fs/nfsd/export.h
/openbmc/linux/fs/nfsd/nfs4callback.c
/openbmc/linux/fs/smb/server/smb_common.c
/openbmc/linux/fs/udf/namei.c
/openbmc/linux/include/linux/ceph/osd_client.h
/openbmc/linux/include/linux/sched.h
/openbmc/linux/include/linux/sched/task_stack.h
/openbmc/linux/include/linux/skmsg.h
/openbmc/linux/include/linux/trace_events.h
/openbmc/linux/include/linux/vmstat.h
/openbmc/linux/include/net/sock.h
/openbmc/linux/include/uapi/linux/stddef.h
sqpoll.c
/openbmc/linux/kernel/trace/trace.c
/openbmc/linux/kernel/trace/trace_kprobe.c
/openbmc/linux/net/ceph/osd_client.c
/openbmc/linux/net/core/filter.c
/openbmc/linux/net/core/skmsg.c
/openbmc/linux/net/ipv4/tcp_bpf.c
/openbmc/linux/sound/pci/hda/patch_conexant.c
/openbmc/linux/sound/pci/hda/patch_realtek.c
/openbmc/linux/sound/sh/sh_dac_audio.c
/openbmc/linux/tools/include/uapi/linux/stddef.h
4cba441218-Mar-2024 Pavel Begunkov <asml.silence@gmail.com>

io_uring/rw: avoid punting to io-wq directly

Commit 6e6b8c62120a22acd8cb759304e4cd2e3215d488 upstream.

kiocb_done() should care to specifically redirecting requests to io-wq.
Remove the hopping to

io_uring/rw: avoid punting to io-wq directly

Commit 6e6b8c62120a22acd8cb759304e4cd2e3215d488 upstream.

kiocb_done() should care to specifically redirecting requests to io-wq.
Remove the hopping to tw to then queue an io-wq, return -EAGAIN and let
the core code io_uring handle offloading.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Tested-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/413564e550fe23744a970e1783dfa566291b0e6f.1710799188.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
(cherry picked from commit 6e6b8c62120a22acd8cb759304e4cd2e3215d488)
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...

4192884010-Sep-2024 Jens Axboe <axboe@kernel.dk>

io_uring/rw: treat -EOPNOTSUPP for IOCB_NOWAIT like -EAGAIN

Commit c0a9d496e0fece67db777bd48550376cf2960c47 upstream.

Some file systems, ocfs2 in this case, will return -EOPNOTSUPP for
an IOCB_NOWA

io_uring/rw: treat -EOPNOTSUPP for IOCB_NOWAIT like -EAGAIN

Commit c0a9d496e0fece67db777bd48550376cf2960c47 upstream.

Some file systems, ocfs2 in this case, will return -EOPNOTSUPP for
an IOCB_NOWAIT read/write attempt. While this can be argued to be
correct, the usual return value for something that requires blocking
issue is -EAGAIN.

A refactoring io_uring commit dropped calling kiocb_done() for
negative return values, which is otherwise where we already do that
transformation. To ensure we catch it in both spots, check it in
__io_read() itself as well.

Reported-by: Robert Sander <r.sander@heinlein-support.de>
Link: https://fosstodon.org/@gurubert@mastodon.gurubert.de/113112431889638440
Cc: stable@vger.kernel.org
Fixes: a08d195b586a ("io_uring/rw: split io_read() into a helper")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...

6c27fc6a11-Sep-2023 Jens Axboe <axboe@kernel.dk>

io_uring/rw: split io_read() into a helper

Commit a08d195b586a217d76b42062f88f375a3eedda4d upstream.

Add __io_read() which does the grunt of the work, leaving the completion
side to the new io_read

io_uring/rw: split io_read() into a helper

Commit a08d195b586a217d76b42062f88f375a3eedda4d upstream.

Add __io_read() which does the grunt of the work, leaving the completion
side to the new io_read(). No functional changes in this patch.

Reviewed-by: Gabriel Krisman Bertazi <krisman@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
(cherry picked from commit a08d195b586a217d76b42062f88f375a3eedda4d)
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...

2ca94c8d19-Dec-2024 Pavel Begunkov <asml.silence@gmail.com>

io_uring: check if iowq is killed before queuing

commit dbd2ca9367eb19bc5e269b8c58b0b1514ada9156 upstream.

task work can be executed after the task has gone through io_uring
termination, whether it

io_uring: check if iowq is killed before queuing

commit dbd2ca9367eb19bc5e269b8c58b0b1514ada9156 upstream.

task work can be executed after the task has gone through io_uring
termination, whether it's the final task_work run or the fallback path.
In this case, task work will find ->io_wq being already killed and
null'ed, which is a problem if it then tries to forward the request to
io_queue_iowq(). Make io_queue_iowq() fail requests in this case.

Note that it also checks PF_KTHREAD, because the user can first close
a DEFER_TASKRUN ring and shortly after kill the task, in which case
->iowq check would race.

Cc: stable@vger.kernel.org
Fixes: 50c52250e2d74 ("block: implement async io_uring discard cmd")
Fixes: 773af69121ecc ("io_uring: always reissue from task_work context")
Reported-by: Will <willsroot@protonmail.com>
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/63312b4a2c2bb67ad67b857d17a300e1d3b078e8.1734637909.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...

a73f042518-Dec-2024 Jann Horn <jannh@google.com>

io_uring: Fix registered ring file refcount leak

commit 12d908116f7efd34f255a482b9afc729d7a5fb78 upstream.

Currently, io_uring_unreg_ringfd() (which cleans up registered rings) is
only called on ex

io_uring: Fix registered ring file refcount leak

commit 12d908116f7efd34f255a482b9afc729d7a5fb78 upstream.

Currently, io_uring_unreg_ringfd() (which cleans up registered rings) is
only called on exit, but __io_uring_free (which frees the tctx in which the
registered ring pointers are stored) is also called on execve (via
begin_new_exec -> io_uring_task_cancel -> __io_uring_cancel ->
io_uring_cancel_generic -> __io_uring_free).

This means: A process going through execve while having registered rings
will leak references to the rings' `struct file`.

Fix it by zapping registered rings on execve(). This is implemented by
moving the io_uring_unreg_ringfd() from io_uring_files_cancel() into its
callee __io_uring_cancel(), which is called from io_uring_task_cancel() on
execve.

This could probably be exploited *on 32-bit kernels* by leaking 2^32
references to the same ring, because the file refcount is stored in a
pointer-sized field and get_file() doesn't have protection against
refcount overflow, just a WARN_ONCE(); but on 64-bit it should have no
impact beyond a memory leak.

Cc: stable@vger.kernel.org
Fixes: e7a6c00dc77a ("io_uring: add support for registering ring file descriptors")
Signed-off-by: Jann Horn <jannh@google.com>
Link: https://lore.kernel.org/r/20241218-uring-reg-ring-cleanup-v1-1-8f63e999045b@google.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...


/openbmc/linux/Documentation/ABI/testing/sysfs-fs-xfs
/openbmc/linux/Documentation/power/runtime_pm.rst
/openbmc/linux/Makefile
/openbmc/linux/arch/arm64/kvm/sys_regs.c
/openbmc/linux/arch/hexagon/Makefile
/openbmc/linux/arch/mips/boot/dts/loongson/loongson64g_4core_ls7a.dts
/openbmc/linux/arch/riscv/include/asm/kfence.h
/openbmc/linux/arch/riscv/kernel/setup.c
/openbmc/linux/arch/x86/events/intel/ds.c
/openbmc/linux/arch/x86/include/asm/processor.h
/openbmc/linux/arch/x86/include/asm/static_call.h
/openbmc/linux/arch/x86/include/asm/sync_core.h
/openbmc/linux/arch/x86/include/asm/xen/hypercall.h
/openbmc/linux/arch/x86/kernel/callthunks.c
/openbmc/linux/arch/x86/kernel/cpu/common.c
/openbmc/linux/arch/x86/kernel/relocate_kernel_64.S
/openbmc/linux/arch/x86/kernel/static_call.c
/openbmc/linux/arch/x86/kvm/cpuid.c
/openbmc/linux/arch/x86/kvm/cpuid.h
/openbmc/linux/arch/x86/kvm/mmu/mmu.c
/openbmc/linux/arch/x86/kvm/mmu/paging_tmpl.h
/openbmc/linux/arch/x86/kvm/x86.c
/openbmc/linux/arch/x86/xen/enlighten.c
/openbmc/linux/arch/x86/xen/enlighten_hvm.c
/openbmc/linux/arch/x86/xen/enlighten_pv.c
/openbmc/linux/arch/x86/xen/enlighten_pvh.c
/openbmc/linux/arch/x86/xen/xen-asm.S
/openbmc/linux/arch/x86/xen/xen-head.S
/openbmc/linux/arch/x86/xen/xen-ops.h
/openbmc/linux/block/blk-cgroup.c
/openbmc/linux/block/blk-iocost.c
/openbmc/linux/drivers/acpi/acpica/evxfregn.c
/openbmc/linux/drivers/acpi/nfit/core.c
/openbmc/linux/drivers/acpi/resource.c
/openbmc/linux/drivers/ata/sata_highbank.c
/openbmc/linux/drivers/block/zram/zram_drv.c
/openbmc/linux/drivers/bluetooth/btmtk.c
/openbmc/linux/drivers/clk/clk-en7523.c
/openbmc/linux/drivers/cxl/core/region.c
/openbmc/linux/drivers/cxl/pci.c
/openbmc/linux/drivers/edac/amd64_edac.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c
/openbmc/linux/drivers/gpu/drm/drm_modes.c
/openbmc/linux/drivers/gpu/drm/i915/gt/intel_engine_types.h
/openbmc/linux/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
/openbmc/linux/drivers/gpu/drm/i915/i915_gpu_error.c
/openbmc/linux/drivers/gpu/drm/i915/i915_scheduler.c
/openbmc/linux/drivers/gpu/drm/panel/panel-novatek-nt35950.c
/openbmc/linux/drivers/hv/hv_kvp.c
/openbmc/linux/drivers/hv/hv_snapshot.c
/openbmc/linux/drivers/hv/hv_util.c
/openbmc/linux/drivers/hv/hyperv_vmbus.h
/openbmc/linux/drivers/hwmon/tmp513.c
/openbmc/linux/drivers/i2c/busses/i2c-pnx.c
/openbmc/linux/drivers/i2c/busses/i2c-riic.c
/openbmc/linux/drivers/i3c/master.c
/openbmc/linux/drivers/i3c/master/svc-i3c-master.c
/openbmc/linux/drivers/iio/common/inv_sensors/inv_sensors_timestamp.c
/openbmc/linux/drivers/iio/imu/inv_icm42600/inv_icm42600_accel.c
/openbmc/linux/drivers/iio/imu/inv_icm42600/inv_icm42600_gyro.c
/openbmc/linux/drivers/iio/imu/inv_mpu6050/inv_mpu_trigger.c
/openbmc/linux/drivers/mmc/host/mtk-sd.c
/openbmc/linux/drivers/mmc/host/sdhci-tegra.c
/openbmc/linux/drivers/net/bonding/bond_main.c
/openbmc/linux/drivers/net/dsa/microchip/ksz_common.c
/openbmc/linux/drivers/net/dsa/ocelot/felix_vsc9959.c
/openbmc/linux/drivers/net/ethernet/broadcom/bgmac-platform.c
/openbmc/linux/drivers/net/ethernet/chelsio/cxgb4/cxgb4.h
/openbmc/linux/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
/openbmc/linux/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c
/openbmc/linux/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_main.c
/openbmc/linux/drivers/net/ethernet/huawei/hinic/hinic_main.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_domain.c
/openbmc/linux/drivers/net/ethernet/microchip/sparx5/sparx5_main.c
/openbmc/linux/drivers/net/ethernet/microchip/sparx5/sparx5_port.c
/openbmc/linux/drivers/net/ethernet/mscc/ocelot.c
/openbmc/linux/drivers/net/ethernet/mscc/ocelot_ptp.c
/openbmc/linux/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c
/openbmc/linux/drivers/net/ethernet/pensando/ionic/ionic_lif.c
/openbmc/linux/drivers/net/ethernet/qualcomm/qca_spi.c
/openbmc/linux/drivers/net/ethernet/qualcomm/qca_spi.h
/openbmc/linux/drivers/net/ethernet/renesas/rswitch.c
/openbmc/linux/drivers/net/ethernet/renesas/rswitch.h
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
/openbmc/linux/drivers/net/mdio/fwnode_mdio.c
/openbmc/linux/drivers/net/netdevsim/health.c
/openbmc/linux/drivers/net/team/team.c
/openbmc/linux/drivers/net/tun.c
/openbmc/linux/drivers/net/xen-netfront.c
/openbmc/linux/drivers/pci/controller/pci-host-common.c
/openbmc/linux/drivers/pci/controller/vmd.c
/openbmc/linux/drivers/pci/pcie/aer.c
/openbmc/linux/drivers/pci/probe.c
/openbmc/linux/drivers/pci/quirks.c
/openbmc/linux/drivers/platform/x86/asus-wmi.c
/openbmc/linux/drivers/platform/x86/p2sb.c
/openbmc/linux/drivers/ptp/ptp_kvm_x86.c
/openbmc/linux/drivers/spi/spi-aspeed-smc.c
/openbmc/linux/drivers/thunderbolt/tb.c
/openbmc/linux/drivers/tty/serial/amba-pl011.c
/openbmc/linux/drivers/ufs/core/ufshcd.c
/openbmc/linux/drivers/usb/cdns3/cdns3-ti.c
/openbmc/linux/drivers/usb/cdns3/core.h
/openbmc/linux/drivers/usb/cdns3/drd.c
/openbmc/linux/drivers/usb/cdns3/drd.h
/openbmc/linux/drivers/usb/dwc2/gadget.c
/openbmc/linux/drivers/usb/dwc2/hcd.c
/openbmc/linux/drivers/usb/dwc3/dwc3-xilinx.c
/openbmc/linux/drivers/usb/dwc3/ep0.c
/openbmc/linux/drivers/usb/gadget/function/f_midi2.c
/openbmc/linux/drivers/usb/gadget/function/u_serial.c
/openbmc/linux/drivers/usb/host/ehci-sh.c
/openbmc/linux/drivers/usb/host/max3421-hcd.c
/openbmc/linux/drivers/usb/host/xhci-dbgcap.c
/openbmc/linux/drivers/usb/host/xhci-dbgcap.h
/openbmc/linux/drivers/usb/serial/option.c
/openbmc/linux/drivers/usb/typec/anx7411.c
/openbmc/linux/drivers/vfio/pci/mlx5/cmd.c
/openbmc/linux/fs/btrfs/extent-tree.c
/openbmc/linux/fs/btrfs/free-space-cache.c
/openbmc/linux/fs/btrfs/free-space-cache.h
/openbmc/linux/fs/btrfs/inode.c
/openbmc/linux/fs/btrfs/tree-checker.c
/openbmc/linux/fs/efivarfs/inode.c
/openbmc/linux/fs/efivarfs/internal.h
/openbmc/linux/fs/efivarfs/super.c
/openbmc/linux/fs/jffs2/compr_rtime.c
/openbmc/linux/fs/ocfs2/localalloc.c
/openbmc/linux/fs/smb/client/connect.c
/openbmc/linux/fs/smb/server/auth.c
/openbmc/linux/fs/smb/server/connection.c
/openbmc/linux/fs/smb/server/connection.h
/openbmc/linux/fs/smb/server/mgmt/user_session.c
/openbmc/linux/fs/smb/server/server.c
/openbmc/linux/fs/smb/server/server.h
/openbmc/linux/fs/smb/server/smb2pdu.c
/openbmc/linux/fs/smb/server/transport_ipc.c
/openbmc/linux/fs/unicode/mkutf8data.c
/openbmc/linux/fs/unicode/utf8data.c_shipped
/openbmc/linux/fs/xfs/Kconfig
/openbmc/linux/fs/xfs/libxfs/xfs_btree.c
/openbmc/linux/fs/xfs/libxfs/xfs_dir2_data.c
/openbmc/linux/fs/xfs/libxfs/xfs_dir2_priv.h
/openbmc/linux/fs/xfs/libxfs/xfs_quota_defs.h
/openbmc/linux/fs/xfs/libxfs/xfs_symlink_remote.c
/openbmc/linux/fs/xfs/libxfs/xfs_trans_resv.c
/openbmc/linux/fs/xfs/scrub/agheader_repair.c
/openbmc/linux/fs/xfs/scrub/bmap.c
/openbmc/linux/fs/xfs/scrub/trace.h
/openbmc/linux/fs/xfs/xfs.h
/openbmc/linux/fs/xfs/xfs_bmap_util.c
/openbmc/linux/fs/xfs/xfs_buf_item.c
/openbmc/linux/fs/xfs/xfs_dquot_item.c
/openbmc/linux/fs/xfs/xfs_file.c
/openbmc/linux/fs/xfs/xfs_file.h
/openbmc/linux/fs/xfs/xfs_fsmap.c
/openbmc/linux/fs/xfs/xfs_inode.c
/openbmc/linux/fs/xfs/xfs_inode.h
/openbmc/linux/fs/xfs/xfs_inode_item.c
/openbmc/linux/fs/xfs/xfs_ioctl.c
/openbmc/linux/fs/xfs/xfs_iops.c
/openbmc/linux/fs/xfs/xfs_iops.h
/openbmc/linux/fs/xfs/xfs_rtalloc.c
/openbmc/linux/fs/xfs/xfs_symlink.c
/openbmc/linux/fs/xfs/xfs_trans.c
/openbmc/linux/include/linux/bpf.h
/openbmc/linux/include/linux/compiler.h
/openbmc/linux/include/linux/dsa/ocelot.h
/openbmc/linux/include/linux/hyperv.h
/openbmc/linux/include/linux/io_uring.h
/openbmc/linux/include/linux/mm_types.h
/openbmc/linux/include/linux/sched.h
/openbmc/linux/include/linux/static_call.h
/openbmc/linux/include/net/bluetooth/bluetooth.h
/openbmc/linux/include/net/bluetooth/hci_core.h
/openbmc/linux/include/net/lapb.h
/openbmc/linux/include/net/net_namespace.h
/openbmc/linux/include/net/netfilter/nf_tables.h
/openbmc/linux/include/soc/mscc/ocelot.h
/openbmc/linux/include/sound/ump.h
/openbmc/linux/include/trace/events/sched.h
/openbmc/linux/include/uapi/linux/sched/types.h
io_uring.c
/openbmc/linux/kernel/bpf/btf.c
/openbmc/linux/kernel/bpf/verifier.c
/openbmc/linux/kernel/sched/core.c
/openbmc/linux/kernel/sched/deadline.c
/openbmc/linux/kernel/sched/fair.c
/openbmc/linux/kernel/sched/idle.c
/openbmc/linux/kernel/sched/rt.c
/openbmc/linux/kernel/sched/sched.h
/openbmc/linux/kernel/sched/stop_task.c
/openbmc/linux/kernel/static_call_inline.c
/openbmc/linux/kernel/trace/bpf_trace.c
/openbmc/linux/kernel/trace/trace_eprobe.c
/openbmc/linux/kernel/trace/trace_events.c
/openbmc/linux/kernel/trace/trace_kprobe.c
/openbmc/linux/kernel/trace/trace_uprobe.c
/openbmc/linux/mm/damon/vaddr-test.h
/openbmc/linux/mm/damon/vaddr.c
/openbmc/linux/mm/mempolicy.c
/openbmc/linux/mm/vmalloc.c
/openbmc/linux/net/batman-adv/translation-table.c
/openbmc/linux/net/bluetooth/hci_conn.c
/openbmc/linux/net/bluetooth/hci_event.c
/openbmc/linux/net/bluetooth/iso.c
/openbmc/linux/net/bluetooth/sco.c
/openbmc/linux/net/core/net_namespace.c
/openbmc/linux/net/core/sock_map.c
/openbmc/linux/net/ipv4/tcp_output.c
/openbmc/linux/net/mac80211/cfg.c
/openbmc/linux/net/netfilter/ipset/ip_set_list_set.c
/openbmc/linux/net/netfilter/ipvs/ip_vs_conn.c
/openbmc/linux/net/netfilter/nf_tables_api.c
/openbmc/linux/net/netfilter/xt_IDLETIMER.c
/openbmc/linux/net/sched/sch_cake.c
/openbmc/linux/net/sched/sch_choke.c
/openbmc/linux/net/sched/sch_netem.c
/openbmc/linux/net/smc/af_smc.c
/openbmc/linux/net/smc/smc_clc.c
/openbmc/linux/net/smc/smc_clc.h
/openbmc/linux/net/smc/smc_core.c
/openbmc/linux/net/tipc/udp_media.c
/openbmc/linux/net/unix/af_unix.c
/openbmc/linux/net/wireless/nl80211.c
/openbmc/linux/net/wireless/sme.c
/openbmc/linux/sound/core/control_led.c
/openbmc/linux/sound/core/ump.c
/openbmc/linux/sound/pci/hda/hda_local.h
/openbmc/linux/sound/soc/amd/yc/acp6x-mach.c
/openbmc/linux/sound/soc/intel/avs/pcm.c
/openbmc/linux/sound/soc/intel/boards/sof_sdw.c
/openbmc/linux/sound/usb/midi2.c
/openbmc/linux/sound/usb/quirks.c
/openbmc/linux/tools/hv/hv_set_ifconfig.sh
/openbmc/linux/tools/objtool/check.c
/openbmc/linux/tools/testing/selftests/arm64/abi/syscall-abi-asm.S
/openbmc/linux/tools/testing/selftests/bpf/Makefile
/openbmc/linux/tools/testing/selftests/bpf/netlink_helpers.c
/openbmc/linux/tools/testing/selftests/bpf/netlink_helpers.h
/openbmc/linux/tools/testing/selftests/bpf/progs/verifier_btf_ctx_access.c
/openbmc/linux/tools/testing/selftests/bpf/progs/verifier_d_path.c
/openbmc/linux/tools/testing/selftests/bpf/progs/verifier_scalar_ids.c
/openbmc/linux/tools/testing/selftests/bpf/sdt.h
/openbmc/linux/tools/testing/selftests/drivers/net/mlxsw/sharedbuffer.sh
/openbmc/linux/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_syntax_errors.tc
/openbmc/linux/tools/testing/selftests/memfd/memfd_test.c
/openbmc/linux/tools/testing/selftests/net/openvswitch/openvswitch.sh
/openbmc/linux/tools/tracing/rtla/src/timerlat_hist.c
42882b5829-Nov-2024 Jens Axboe <axboe@kernel.dk>

io_uring/tctx: work around xa_store() allocation error issue

[ Upstream commit 7eb75ce7527129d7f1fee6951566af409a37a1c4 ]

syzbot triggered the following WARN_ON:

WARNING: CPU: 0 PID: 16 at io_urin

io_uring/tctx: work around xa_store() allocation error issue

[ Upstream commit 7eb75ce7527129d7f1fee6951566af409a37a1c4 ]

syzbot triggered the following WARN_ON:

WARNING: CPU: 0 PID: 16 at io_uring/tctx.c:51 __io_uring_free+0xfa/0x140 io_uring/tctx.c:51

which is the

WARN_ON_ONCE(!xa_empty(&tctx->xa));

sanity check in __io_uring_free() when a io_uring_task is going through
its final put. The syzbot test case includes injecting memory allocation
failures, and it very much looks like xa_store() can fail one of its
memory allocations and end up with ->head being non-NULL even though no
entries exist in the xarray.

Until this issue gets sorted out, work around it by attempting to
iterate entries in our xarray, and WARN_ON_ONCE() if one is found.

Reported-by: syzbot+cc36d44ec9f368e443d3@syzkaller.appspotmail.com
Link: https://lore.kernel.org/io-uring/673c1643.050a0220.87769.0066.GAE@google.com/
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>

show more ...


/openbmc/linux/Documentation/ABI/testing/sysfs-bus-pci
/openbmc/linux/Documentation/ABI/testing/sysfs-fs-f2fs
/openbmc/linux/Documentation/RCU/stallwarn.rst
/openbmc/linux/Documentation/admin-guide/blockdev/zram.rst
/openbmc/linux/Documentation/devicetree/bindings/clock/adi,axi-clkgen.yaml
/openbmc/linux/Documentation/devicetree/bindings/iio/dac/adi,ad3552r.yaml
/openbmc/linux/Documentation/devicetree/bindings/serial/rs485.yaml
/openbmc/linux/Documentation/devicetree/bindings/sound/mt6359.yaml
/openbmc/linux/Documentation/devicetree/bindings/vendor-prefixes.yaml
/openbmc/linux/Documentation/filesystems/mount_api.rst
/openbmc/linux/Documentation/locking/seqlock.rst
/openbmc/linux/Documentation/netlink/specs/ethtool.yaml
/openbmc/linux/Documentation/networking/j1939.rst
/openbmc/linux/Makefile
/openbmc/linux/arch/arc/kernel/devtree.c
/openbmc/linux/arch/arm/boot/dts/allwinner/sun9i-a80-cubieboard4.dts
/openbmc/linux/arch/arm/boot/dts/microchip/sam9x60.dtsi
/openbmc/linux/arch/arm/boot/dts/ti/omap/omap36xx.dtsi
/openbmc/linux/arch/arm/kernel/devtree.c
/openbmc/linux/arch/arm/kernel/entry-armv.S
/openbmc/linux/arch/arm/kernel/head.S
/openbmc/linux/arch/arm/kernel/psci_smp.c
/openbmc/linux/arch/arm/mm/idmap.c
/openbmc/linux/arch/arm/mm/ioremap.c
/openbmc/linux/arch/arm/mm/mmu.c
/openbmc/linux/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
/openbmc/linux/arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi
/openbmc/linux/arch/arm64/boot/dts/freescale/imx8mp-verdin.dtsi
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt6357.dtsi
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt6358.dtsi
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt6359.dtsi
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8173-elm-hana.dtsi
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-burnet.dts
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-cozmo.dts
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-damu.dts
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel.dtsi
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi.dtsi
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtsi
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama.dtsi
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8183-kukui-krane.dtsi
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8195.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sc8180x.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sm6350.dtsi
/openbmc/linux/arch/arm64/boot/dts/renesas/hihope-rev2.dtsi
/openbmc/linux/arch/arm64/boot/dts/renesas/hihope-rev4.dtsi
/openbmc/linux/arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts
/openbmc/linux/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi
/openbmc/linux/arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts
/openbmc/linux/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi
/openbmc/linux/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi
/openbmc/linux/arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi
/openbmc/linux/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
/openbmc/linux/arch/arm64/boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi
/openbmc/linux/arch/arm64/include/asm/insn.h
/openbmc/linux/arch/arm64/include/asm/kvm_host.h
/openbmc/linux/arch/arm64/include/asm/mman.h
/openbmc/linux/arch/arm64/kernel/probes/decode-insn.c
/openbmc/linux/arch/arm64/kernel/process.c
/openbmc/linux/arch/arm64/kernel/ptrace.c
/openbmc/linux/arch/arm64/kernel/setup.c
/openbmc/linux/arch/arm64/kernel/vmlinux.lds.S
/openbmc/linux/arch/arm64/kvm/arch_timer.c
/openbmc/linux/arch/arm64/kvm/arm.c
/openbmc/linux/arch/arm64/kvm/mmio.c
/openbmc/linux/arch/arm64/kvm/pmu-emul.c
/openbmc/linux/arch/arm64/kvm/vgic/vgic-its.c
/openbmc/linux/arch/arm64/kvm/vgic/vgic-mmio-v3.c
/openbmc/linux/arch/arm64/kvm/vgic/vgic.h
/openbmc/linux/arch/arm64/mm/context.c
/openbmc/linux/arch/arm64/net/bpf_jit_comp.c
/openbmc/linux/arch/csky/kernel/setup.c
/openbmc/linux/arch/loongarch/include/asm/hugetlb.h
/openbmc/linux/arch/loongarch/include/asm/kasan.h
/openbmc/linux/arch/loongarch/include/asm/page.h
/openbmc/linux/arch/loongarch/kernel/setup.c
/openbmc/linux/arch/loongarch/kernel/smp.c
/openbmc/linux/arch/loongarch/mm/kasan_init.c
/openbmc/linux/arch/loongarch/mm/tlb.c
/openbmc/linux/arch/loongarch/net/bpf_jit.c
/openbmc/linux/arch/loongarch/vdso/Makefile
/openbmc/linux/arch/m68k/coldfire/device.c
/openbmc/linux/arch/m68k/include/asm/mcfgpio.h
/openbmc/linux/arch/m68k/include/asm/mvme147hw.h
/openbmc/linux/arch/m68k/kernel/early_printk.c
/openbmc/linux/arch/m68k/mvme147/config.c
/openbmc/linux/arch/m68k/mvme147/mvme147.h
/openbmc/linux/arch/m68k/mvme16x/config.c
/openbmc/linux/arch/m68k/mvme16x/mvme16x.h
/openbmc/linux/arch/microblaze/kernel/microblaze_ksyms.c
/openbmc/linux/arch/microblaze/kernel/prom.c
/openbmc/linux/arch/mips/boot/dts/loongson/ls7a-pch.dtsi
/openbmc/linux/arch/mips/include/asm/switch_to.h
/openbmc/linux/arch/mips/kernel/prom.c
/openbmc/linux/arch/mips/kernel/relocate.c
/openbmc/linux/arch/nios2/kernel/prom.c
/openbmc/linux/arch/openrisc/Kconfig
/openbmc/linux/arch/openrisc/include/asm/fixmap.h
/openbmc/linux/arch/openrisc/kernel/prom.c
/openbmc/linux/arch/openrisc/mm/init.c
/openbmc/linux/arch/parisc/include/asm/mman.h
/openbmc/linux/arch/parisc/kernel/ftrace.c
/openbmc/linux/arch/powerpc/Kconfig
/openbmc/linux/arch/powerpc/Makefile
/openbmc/linux/arch/powerpc/include/asm/dtl.h
/openbmc/linux/arch/powerpc/include/asm/fadump.h
/openbmc/linux/arch/powerpc/include/asm/sstep.h
/openbmc/linux/arch/powerpc/include/asm/vdso.h
/openbmc/linux/arch/powerpc/kernel/dt_cpu_ftrs.c
/openbmc/linux/arch/powerpc/kernel/fadump.c
/openbmc/linux/arch/powerpc/kernel/prom.c
/openbmc/linux/arch/powerpc/kernel/prom_init.c
/openbmc/linux/arch/powerpc/kernel/setup-common.c
/openbmc/linux/arch/powerpc/kernel/setup_64.c
/openbmc/linux/arch/powerpc/kernel/vdso/Makefile
/openbmc/linux/arch/powerpc/kernel/vmlinux.lds.S
/openbmc/linux/arch/powerpc/kexec/file_load_64.c
/openbmc/linux/arch/powerpc/kvm/book3s_hv.c
/openbmc/linux/arch/powerpc/kvm/book3s_hv_nested.c
/openbmc/linux/arch/powerpc/lib/sstep.c
/openbmc/linux/arch/powerpc/mm/fault.c
/openbmc/linux/arch/powerpc/platforms/pseries/dtl.c
/openbmc/linux/arch/powerpc/platforms/pseries/lpar.c
/openbmc/linux/arch/powerpc/platforms/pseries/plpks.c
/openbmc/linux/arch/riscv/kernel/setup.c
/openbmc/linux/arch/riscv/kvm/aia_aplic.c
/openbmc/linux/arch/s390/include/asm/set_memory.h
/openbmc/linux/arch/s390/kernel/entry.S
/openbmc/linux/arch/s390/kernel/kprobes.c
/openbmc/linux/arch/s390/kernel/perf_cpum_sf.c
/openbmc/linux/arch/s390/kernel/syscalls/Makefile
/openbmc/linux/arch/s390/mm/pageattr.c
/openbmc/linux/arch/sh/kernel/cpu/proc.c
/openbmc/linux/arch/sh/kernel/setup.c
/openbmc/linux/arch/um/drivers/net_kern.c
/openbmc/linux/arch/um/drivers/ubd_kern.c
/openbmc/linux/arch/um/drivers/vector_kern.c
/openbmc/linux/arch/um/kernel/dtb.c
/openbmc/linux/arch/um/kernel/physmem.c
/openbmc/linux/arch/um/kernel/process.c
/openbmc/linux/arch/um/kernel/sysrq.c
/openbmc/linux/arch/x86/Makefile
/openbmc/linux/arch/x86/coco/tdx/tdcall.S
/openbmc/linux/arch/x86/coco/tdx/tdx-shared.c
/openbmc/linux/arch/x86/coco/tdx/tdx.c
/openbmc/linux/arch/x86/crypto/aegis128-aesni-asm.S
/openbmc/linux/arch/x86/entry/entry.S
/openbmc/linux/arch/x86/events/amd/core.c
/openbmc/linux/arch/x86/events/intel/core.c
/openbmc/linux/arch/x86/events/intel/pt.c
/openbmc/linux/arch/x86/events/intel/pt.h
/openbmc/linux/arch/x86/include/asm/amd_nb.h
/openbmc/linux/arch/x86/include/asm/asm-prototypes.h
/openbmc/linux/arch/x86/include/asm/pgtable_types.h
/openbmc/linux/arch/x86/include/asm/shared/tdx.h
/openbmc/linux/arch/x86/kernel/asm-offsets.c
/openbmc/linux/arch/x86/kernel/cpu/amd.c
/openbmc/linux/arch/x86/kernel/cpu/common.c
/openbmc/linux/arch/x86/kernel/devicetree.c
/openbmc/linux/arch/x86/kernel/relocate_kernel_64.S
/openbmc/linux/arch/x86/kernel/unwind_orc.c
/openbmc/linux/arch/x86/kernel/vmlinux.lds.S
/openbmc/linux/arch/x86/kvm/lapic.c
/openbmc/linux/arch/x86/kvm/mmu/spte.c
/openbmc/linux/arch/x86/kvm/vmx/nested.c
/openbmc/linux/arch/x86/kvm/vmx/vmx.c
/openbmc/linux/arch/x86/mm/ident_map.c
/openbmc/linux/arch/x86/mm/ioremap.c
/openbmc/linux/arch/x86/mm/pti.c
/openbmc/linux/arch/x86/pci/acpi.c
/openbmc/linux/arch/x86/virt/vmx/tdx/tdxcall.S
/openbmc/linux/arch/xtensa/kernel/setup.c
/openbmc/linux/block/bfq-iosched.c
/openbmc/linux/block/blk-merge.c
/openbmc/linux/block/blk-mq.c
/openbmc/linux/block/blk-mq.h
/openbmc/linux/crypto/pcrypt.c
/openbmc/linux/drivers/acpi/arm64/gtdt.c
/openbmc/linux/drivers/acpi/cppc_acpi.c
/openbmc/linux/drivers/acpi/x86/utils.c
/openbmc/linux/drivers/base/cacheinfo.c
/openbmc/linux/drivers/base/core.c
/openbmc/linux/drivers/base/firmware_loader/main.c
/openbmc/linux/drivers/base/regmap/internal.h
/openbmc/linux/drivers/base/regmap/regcache-maple.c
/openbmc/linux/drivers/base/regmap/regmap-irq.c
/openbmc/linux/drivers/base/regmap/regmap.c
/openbmc/linux/drivers/block/brd.c
/openbmc/linux/drivers/block/ublk_drv.c
/openbmc/linux/drivers/block/virtio_blk.c
/openbmc/linux/drivers/block/zram/Kconfig
/openbmc/linux/drivers/block/zram/zram_drv.c
/openbmc/linux/drivers/block/zram/zram_drv.h
/openbmc/linux/drivers/bluetooth/btintel.c
/openbmc/linux/drivers/bluetooth/btusb.c
/openbmc/linux/drivers/char/tpm/tpm-chip.c
/openbmc/linux/drivers/char/tpm/tpm-interface.c
/openbmc/linux/drivers/clk/clk-apple-nco.c
/openbmc/linux/drivers/clk/clk-axi-clkgen.c
/openbmc/linux/drivers/clk/imx/clk-fracn-gppll.c
/openbmc/linux/drivers/clk/imx/clk-imx8-acm.c
/openbmc/linux/drivers/clk/imx/clk-lpcg-scu.c
/openbmc/linux/drivers/clk/imx/clk-scu.c
/openbmc/linux/drivers/clk/mediatek/Kconfig
/openbmc/linux/drivers/clk/qcom/clk-rcg.h
/openbmc/linux/drivers/clk/qcom/clk-rcg2.c
/openbmc/linux/drivers/clk/qcom/clk-rpmh.c
/openbmc/linux/drivers/clk/qcom/gcc-qcs404.c
/openbmc/linux/drivers/clk/qcom/tcsrcc-sm8550.c
/openbmc/linux/drivers/clk/ralink/clk-mtmips.c
/openbmc/linux/drivers/clk/renesas/rzg2l-cpg.c
/openbmc/linux/drivers/clk/sunxi-ng/ccu-sun20i-d1.c
/openbmc/linux/drivers/clocksource/Kconfig
/openbmc/linux/drivers/clocksource/timer-ti-dm-systimer.c
/openbmc/linux/drivers/comedi/comedi_fops.c
/openbmc/linux/drivers/counter/stm32-timer-cnt.c
/openbmc/linux/drivers/counter/ti-ecap-capture.c
/openbmc/linux/drivers/cpufreq/amd-pstate.c
/openbmc/linux/drivers/cpufreq/cppc_cpufreq.c
/openbmc/linux/drivers/cpufreq/loongson2_cpufreq.c
/openbmc/linux/drivers/cpufreq/mediatek-cpufreq-hw.c
/openbmc/linux/drivers/crypto/bcm/cipher.c
/openbmc/linux/drivers/crypto/caam/caampkc.c
/openbmc/linux/drivers/crypto/caam/qi.c
/openbmc/linux/drivers/crypto/cavium/cpt/cptpf_main.c
/openbmc/linux/drivers/crypto/hisilicon/hpre/hpre_main.c
/openbmc/linux/drivers/crypto/hisilicon/qm.c
/openbmc/linux/drivers/crypto/hisilicon/sec2/sec_main.c
/openbmc/linux/drivers/crypto/hisilicon/zip/zip_main.c
/openbmc/linux/drivers/crypto/inside-secure/safexcel_hash.c
/openbmc/linux/drivers/crypto/intel/qat/qat_4xxx/adf_4xxx_hw_data.c
/openbmc/linux/drivers/crypto/intel/qat/qat_common/adf_dbgfs.c
/openbmc/linux/drivers/crypto/intel/qat/qat_common/adf_hw_arbiter.c
/openbmc/linux/drivers/dma-buf/dma-fence-array.c
/openbmc/linux/drivers/dma-buf/dma-fence-unwrap.c
/openbmc/linux/drivers/dma-buf/udmabuf.c
/openbmc/linux/drivers/edac/bluefield_edac.c
/openbmc/linux/drivers/edac/fsl_ddr_edac.c
/openbmc/linux/drivers/edac/i10nm_base.c
/openbmc/linux/drivers/edac/igen6_edac.c
/openbmc/linux/drivers/edac/skx_common.c
/openbmc/linux/drivers/edac/skx_common.h
/openbmc/linux/drivers/firmware/arm_scmi/common.h
/openbmc/linux/drivers/firmware/arm_scmi/driver.c
/openbmc/linux/drivers/firmware/arm_scpi.c
/openbmc/linux/drivers/firmware/efi/libstub/efi-stub.c
/openbmc/linux/drivers/firmware/efi/tpm.c
/openbmc/linux/drivers/firmware/google/gsmi.c
/openbmc/linux/drivers/gpio/gpio-exar.c
/openbmc/linux/drivers/gpio/gpio-grgpio.c
/openbmc/linux/drivers/gpio/gpio-zevio.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/hdp_v5_2.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/nbio_v7_7.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/vega20_ih.c
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_process.c
/openbmc/linux/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
/openbmc/linux/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_resource.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn31/dcn31_resource.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn314/dcn314_resource.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn315/dcn315_resource.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn316/dcn316_resource.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hwseq.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn321/dcn321_resource.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_rq_dlg_calc_20.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dml/dml1_display_rq_dlg_calc.c
/openbmc/linux/drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c
/openbmc/linux/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
/openbmc/linux/drivers/gpu/drm/bridge/analogix/anx7625.c
/openbmc/linux/drivers/gpu/drm/bridge/ite-it6505.c
/openbmc/linux/drivers/gpu/drm/bridge/tc358767.c
/openbmc/linux/drivers/gpu/drm/bridge/tc358768.c
/openbmc/linux/drivers/gpu/drm/display/drm_dp_dual_mode_helper.c
/openbmc/linux/drivers/gpu/drm/display/drm_dp_mst_topology.c
/openbmc/linux/drivers/gpu/drm/drm_file.c
/openbmc/linux/drivers/gpu/drm/drm_mm.c
/openbmc/linux/drivers/gpu/drm/drm_panel_orientation_quirks.c
/openbmc/linux/drivers/gpu/drm/etnaviv/etnaviv_buffer.c
/openbmc/linux/drivers/gpu/drm/etnaviv/etnaviv_drv.c
/openbmc/linux/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
/openbmc/linux/drivers/gpu/drm/fsl-dcu/Kconfig
/openbmc/linux/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c
/openbmc/linux/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.h
/openbmc/linux/drivers/gpu/drm/imx/dcss/dcss-crtc.c
/openbmc/linux/drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
/openbmc/linux/drivers/gpu/drm/mcde/mcde_drv.c
/openbmc/linux/drivers/gpu/drm/mediatek/mtk_drm_drv.c
/openbmc/linux/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
/openbmc/linux/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_3_0_msm8998.h
/openbmc/linux/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_4_0_sdm845.h
/openbmc/linux/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c
/openbmc/linux/drivers/gpu/drm/msm/msm_gpu_devfreq.c
/openbmc/linux/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
/openbmc/linux/drivers/gpu/drm/nouveau/nvkm/falcon/fw.c
/openbmc/linux/drivers/gpu/drm/omapdrm/dss/base.c
/openbmc/linux/drivers/gpu/drm/omapdrm/dss/omapdss.h
/openbmc/linux/drivers/gpu/drm/omapdrm/omap_drv.c
/openbmc/linux/drivers/gpu/drm/omapdrm/omap_gem.c
/openbmc/linux/drivers/gpu/drm/panel/panel-simple.c
/openbmc/linux/drivers/gpu/drm/panfrost/panfrost_gpu.c
/openbmc/linux/drivers/gpu/drm/radeon/atombios_encoders.c
/openbmc/linux/drivers/gpu/drm/radeon/cik.c
/openbmc/linux/drivers/gpu/drm/radeon/dce6_afmt.c
/openbmc/linux/drivers/gpu/drm/radeon/evergreen.c
/openbmc/linux/drivers/gpu/drm/radeon/ni.c
/openbmc/linux/drivers/gpu/drm/radeon/r100.c
/openbmc/linux/drivers/gpu/drm/radeon/r300.c
/openbmc/linux/drivers/gpu/drm/radeon/r420.c
/openbmc/linux/drivers/gpu/drm/radeon/r520.c
/openbmc/linux/drivers/gpu/drm/radeon/r600.c
/openbmc/linux/drivers/gpu/drm/radeon/r600_cs.c
/openbmc/linux/drivers/gpu/drm/radeon/r600_dpm.c
/openbmc/linux/drivers/gpu/drm/radeon/r600_hdmi.c
/openbmc/linux/drivers/gpu/drm/radeon/radeon.h
/openbmc/linux/drivers/gpu/drm/radeon/radeon_acpi.c
/openbmc/linux/drivers/gpu/drm/radeon/radeon_agp.c
/openbmc/linux/drivers/gpu/drm/radeon/radeon_atombios.c
/openbmc/linux/drivers/gpu/drm/radeon/radeon_audio.c
/openbmc/linux/drivers/gpu/drm/radeon/radeon_combios.c
/openbmc/linux/drivers/gpu/drm/radeon/radeon_device.c
/openbmc/linux/drivers/gpu/drm/radeon/radeon_display.c
/openbmc/linux/drivers/gpu/drm/radeon/radeon_fbdev.c
/openbmc/linux/drivers/gpu/drm/radeon/radeon_fence.c
/openbmc/linux/drivers/gpu/drm/radeon/radeon_gem.c
/openbmc/linux/drivers/gpu/drm/radeon/radeon_i2c.c
/openbmc/linux/drivers/gpu/drm/radeon/radeon_ib.c
/openbmc/linux/drivers/gpu/drm/radeon/radeon_irq_kms.c
/openbmc/linux/drivers/gpu/drm/radeon/radeon_object.c
/openbmc/linux/drivers/gpu/drm/radeon/radeon_pm.c
/openbmc/linux/drivers/gpu/drm/radeon/radeon_ring.c
/openbmc/linux/drivers/gpu/drm/radeon/radeon_ttm.c
/openbmc/linux/drivers/gpu/drm/radeon/rs400.c
/openbmc/linux/drivers/gpu/drm/radeon/rs600.c
/openbmc/linux/drivers/gpu/drm/radeon/rs690.c
/openbmc/linux/drivers/gpu/drm/radeon/rv515.c
/openbmc/linux/drivers/gpu/drm/radeon/rv770.c
/openbmc/linux/drivers/gpu/drm/radeon/si.c
/openbmc/linux/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
/openbmc/linux/drivers/gpu/drm/scheduler/sched_main.c
/openbmc/linux/drivers/gpu/drm/sti/sti_cursor.c
/openbmc/linux/drivers/gpu/drm/sti/sti_gdp.c
/openbmc/linux/drivers/gpu/drm/sti/sti_hqvdp.c
/openbmc/linux/drivers/gpu/drm/sti/sti_mixer.c
/openbmc/linux/drivers/gpu/drm/v3d/v3d_mmu.c
/openbmc/linux/drivers/gpu/drm/v3d/v3d_perfmon.c
/openbmc/linux/drivers/gpu/drm/vc4/vc4_drv.h
/openbmc/linux/drivers/gpu/drm/vc4/vc4_hdmi.c
/openbmc/linux/drivers/gpu/drm/vc4/vc4_hvs.c
/openbmc/linux/drivers/gpu/drm/vkms/vkms_output.c
/openbmc/linux/drivers/gpu/drm/xlnx/zynqmp_kms.c
/openbmc/linux/drivers/hid/hid-core.c
/openbmc/linux/drivers/hid/hid-generic.c
/openbmc/linux/drivers/hid/hid-hyperv.c
/openbmc/linux/drivers/hid/hid-ids.h
/openbmc/linux/drivers/hid/hid-magicmouse.c
/openbmc/linux/drivers/hid/wacom_sys.c
/openbmc/linux/drivers/hid/wacom_wac.c
/openbmc/linux/drivers/hwmon/nct6775-core.c
/openbmc/linux/drivers/hwmon/nct6775-platform.c
/openbmc/linux/drivers/hwmon/pmbus/pmbus_core.c
/openbmc/linux/drivers/hwmon/tps23861.c
/openbmc/linux/drivers/i2c/busses/i2c-imx-lpi2c.c
/openbmc/linux/drivers/i3c/master.c
/openbmc/linux/drivers/i3c/master/mipi-i3c-hci/dma.c
/openbmc/linux/drivers/i3c/master/svc-i3c-master.c
/openbmc/linux/drivers/iio/accel/kionix-kx022a.c
/openbmc/linux/drivers/iio/adc/ad7780.c
/openbmc/linux/drivers/iio/adc/ad7923.c
/openbmc/linux/drivers/iio/industrialio-gts-helper.c
/openbmc/linux/drivers/iio/inkern.c
/openbmc/linux/drivers/iio/light/al3010.c
/openbmc/linux/drivers/iio/light/ltr501.c
/openbmc/linux/drivers/iio/magnetometer/yamaha-yas530.c
/openbmc/linux/drivers/infiniband/core/addr.c
/openbmc/linux/drivers/infiniband/hw/bnxt_re/ib_verbs.c
/openbmc/linux/drivers/infiniband/hw/bnxt_re/qplib_fp.h
/openbmc/linux/drivers/infiniband/hw/hns/hns_roce_cq.c
/openbmc/linux/drivers/infiniband/hw/hns/hns_roce_device.h
/openbmc/linux/drivers/infiniband/hw/hns/hns_roce_hem.c
/openbmc/linux/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
/openbmc/linux/drivers/infiniband/hw/hns/hns_roce_hw_v2.h
/openbmc/linux/drivers/infiniband/hw/hns/hns_roce_mr.c
/openbmc/linux/drivers/infiniband/hw/hns/hns_roce_qp.c
/openbmc/linux/drivers/infiniband/hw/hns/hns_roce_srq.c
/openbmc/linux/drivers/infiniband/hw/mlx5/main.c
/openbmc/linux/drivers/infiniband/hw/mlx5/mlx5_ib.h
/openbmc/linux/drivers/infiniband/hw/mlx5/qp.c
/openbmc/linux/drivers/infiniband/hw/mlx5/srq.c
/openbmc/linux/drivers/infiniband/sw/rxe/rxe_qp.c
/openbmc/linux/drivers/infiniband/sw/rxe/rxe_req.c
/openbmc/linux/drivers/iommu/arm/arm-smmu/arm-smmu.c
/openbmc/linux/drivers/iommu/intel/iommu.c
/openbmc/linux/drivers/iommu/io-pgtable-arm.c
/openbmc/linux/drivers/leds/flash/leds-mt6360.c
/openbmc/linux/drivers/leds/led-class.c
/openbmc/linux/drivers/leds/leds-lp55xx-common.c
/openbmc/linux/drivers/leds/leds-mlxreg.c
/openbmc/linux/drivers/mailbox/arm_mhuv2.c
/openbmc/linux/drivers/mailbox/mtk-cmdq-mailbox.c
/openbmc/linux/drivers/md/bcache/closure.c
/openbmc/linux/drivers/md/bcache/super.c
/openbmc/linux/drivers/md/dm-bufio.c
/openbmc/linux/drivers/md/dm-cache-background-tracker.c
/openbmc/linux/drivers/md/dm-cache-background-tracker.h
/openbmc/linux/drivers/md/dm-cache-target.c
/openbmc/linux/drivers/md/dm-thin.c
/openbmc/linux/drivers/md/md-bitmap.c
/openbmc/linux/drivers/md/persistent-data/dm-space-map-common.c
/openbmc/linux/drivers/media/dvb-core/dvbdev.c
/openbmc/linux/drivers/media/dvb-frontends/ts2020.c
/openbmc/linux/drivers/media/i2c/adv7604.c
/openbmc/linux/drivers/media/i2c/adv7842.c
/openbmc/linux/drivers/media/i2c/ds90ub960.c
/openbmc/linux/drivers/media/i2c/dw9768.c
/openbmc/linux/drivers/media/i2c/tc358743.c
/openbmc/linux/drivers/media/platform/allegro-dvt/allegro-core.c
/openbmc/linux/drivers/media/platform/amphion/vpu_drv.c
/openbmc/linux/drivers/media/platform/amphion/vpu_v4l2.c
/openbmc/linux/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c
/openbmc/linux/drivers/media/platform/mediatek/jpeg/mtk_jpeg_dec_hw.c
/openbmc/linux/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c
/openbmc/linux/drivers/media/platform/qcom/venus/core.c
/openbmc/linux/drivers/media/platform/samsung/exynos4-is/media-dev.h
/openbmc/linux/drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c
/openbmc/linux/drivers/media/radio/wl128x/fmdrv_common.c
/openbmc/linux/drivers/media/test-drivers/vivid/vivid-vid-cap.c
/openbmc/linux/drivers/media/usb/cx231xx/cx231xx-cards.c
/openbmc/linux/drivers/media/usb/gspca/ov534.c
/openbmc/linux/drivers/media/usb/uvc/uvc_driver.c
/openbmc/linux/drivers/media/v4l2-core/v4l2-dv-timings.c
/openbmc/linux/drivers/message/fusion/mptsas.c
/openbmc/linux/drivers/mfd/da9052-spi.c
/openbmc/linux/drivers/mfd/intel_soc_pmic_bxtwc.c
/openbmc/linux/drivers/mfd/rt5033.c
/openbmc/linux/drivers/mfd/tps65010.c
/openbmc/linux/drivers/misc/apds990x.c
/openbmc/linux/drivers/misc/eeprom/eeprom_93cx6.c
/openbmc/linux/drivers/misc/lkdtm/bugs.c
/openbmc/linux/drivers/mmc/core/bus.c
/openbmc/linux/drivers/mmc/core/card.h
/openbmc/linux/drivers/mmc/core/core.c
/openbmc/linux/drivers/mmc/core/quirks.h
/openbmc/linux/drivers/mmc/core/sd.c
/openbmc/linux/drivers/mmc/host/dw_mmc.c
/openbmc/linux/drivers/mmc/host/mmc_spi.c
/openbmc/linux/drivers/mmc/host/mtk-sd.c
/openbmc/linux/drivers/mmc/host/sdhci-esdhc-imx.c
/openbmc/linux/drivers/mmc/host/sdhci-pci-core.c
/openbmc/linux/drivers/mmc/host/sdhci-pci.h
/openbmc/linux/drivers/mmc/host/sunxi-mmc.c
/openbmc/linux/drivers/mtd/hyperbus/rpc-if.c
/openbmc/linux/drivers/mtd/nand/raw/atmel/pmecc.c
/openbmc/linux/drivers/mtd/nand/raw/atmel/pmecc.h
/openbmc/linux/drivers/mtd/spi-nor/core.c
/openbmc/linux/drivers/mtd/spi-nor/spansion.c
/openbmc/linux/drivers/mtd/ubi/attach.c
/openbmc/linux/drivers/mtd/ubi/fastmap-wl.c
/openbmc/linux/drivers/mtd/ubi/wl.c
/openbmc/linux/drivers/mtd/ubi/wl.h
/openbmc/linux/drivers/net/bonding/bond_main.c
/openbmc/linux/drivers/net/bonding/bond_options.c
/openbmc/linux/drivers/net/can/c_can/c_can_main.c
/openbmc/linux/drivers/net/can/dev/dev.c
/openbmc/linux/drivers/net/can/ifi_canfd/ifi_canfd.c
/openbmc/linux/drivers/net/can/m_can/m_can.c
/openbmc/linux/drivers/net/can/sja1000/sja1000.c
/openbmc/linux/drivers/net/can/spi/hi311x.c
/openbmc/linux/drivers/net/can/spi/mcp251xfd/mcp251xfd-tef.c
/openbmc/linux/drivers/net/can/sun4i_can.c
/openbmc/linux/drivers/net/can/usb/ems_usb.c
/openbmc/linux/drivers/net/can/usb/f81604.c
/openbmc/linux/drivers/net/can/usb/gs_usb.c
/openbmc/linux/drivers/net/dsa/qca/qca8k-8xxx.c
/openbmc/linux/drivers/net/ethernet/broadcom/bnxt/bnxt.c
/openbmc/linux/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c
/openbmc/linux/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.h
/openbmc/linux/drivers/net/ethernet/broadcom/tg3.c
/openbmc/linux/drivers/net/ethernet/freescale/enetc/enetc.c
/openbmc/linux/drivers/net/ethernet/freescale/fec_mpc52xx_phy.c
/openbmc/linux/drivers/net/ethernet/freescale/fman/fman.c
/openbmc/linux/drivers/net/ethernet/freescale/fman/fman.h
/openbmc/linux/drivers/net/ethernet/freescale/fman/mac.c
/openbmc/linux/drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_virtchnl.c
/openbmc/linux/drivers/net/ethernet/intel/igb/igb_main.c
/openbmc/linux/drivers/net/ethernet/intel/ixgbe/ixgbe_common.h
/openbmc/linux/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
/openbmc/linux/drivers/net/ethernet/intel/ixgbevf/ipsec.c
/openbmc/linux/drivers/net/ethernet/marvell/octeontx2/af/cgx.c
/openbmc/linux/drivers/net/ethernet/marvell/octeontx2/af/cgx.h
/openbmc/linux/drivers/net/ethernet/marvell/octeontx2/af/lmac_common.h
/openbmc/linux/drivers/net/ethernet/marvell/octeontx2/af/mbox.h
/openbmc/linux/drivers/net/ethernet/marvell/octeontx2/af/rpm.c
/openbmc/linux/drivers/net/ethernet/marvell/octeontx2/af/rpm.h
/openbmc/linux/drivers/net/ethernet/marvell/octeontx2/af/rvu.c
/openbmc/linux/drivers/net/ethernet/marvell/octeontx2/af/rvu.h
/openbmc/linux/drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
/openbmc/linux/drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
/openbmc/linux/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
/openbmc/linux/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
/openbmc/linux/drivers/net/ethernet/marvell/octeontx2/nic/otx2_dcbnl.c
/openbmc/linux/drivers/net/ethernet/marvell/octeontx2/nic/otx2_dmac_flt.c
/openbmc/linux/drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
/openbmc/linux/drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c
/openbmc/linux/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
/openbmc/linux/drivers/net/ethernet/marvell/pxa168_eth.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.h
/openbmc/linux/drivers/net/ethernet/mellanox/mlxsw/spectrum2_mr_tcam.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_flex_keys.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
/openbmc/linux/drivers/net/ethernet/microchip/vcap/vcap_api_kunit.c
/openbmc/linux/drivers/net/ethernet/qlogic/qed/qed_mcp.c
/openbmc/linux/drivers/net/ethernet/realtek/r8169_main.c
/openbmc/linux/drivers/net/ethernet/rocker/rocker_main.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/dwmac-intel-plat.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/dwmac-mediatek.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/dwmac-visconti.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/dwmac4.h
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.h
/openbmc/linux/drivers/net/ethernet/ti/icssg/icssg_prueth.c
/openbmc/linux/drivers/net/ethernet/ti/icssg/icssg_prueth.h
/openbmc/linux/drivers/net/ethernet/vertexcom/mse102x.c
/openbmc/linux/drivers/net/geneve.c
/openbmc/linux/drivers/net/mdio/mdio-ipq4019.c
/openbmc/linux/drivers/net/netdevsim/ipsec.c
/openbmc/linux/drivers/net/phy/sfp.c
/openbmc/linux/drivers/net/usb/lan78xx.c
/openbmc/linux/drivers/net/usb/qmi_wwan.c
/openbmc/linux/drivers/net/usb/r8152.c
/openbmc/linux/drivers/net/virtio_net.c
/openbmc/linux/drivers/net/vrf.c
/openbmc/linux/drivers/net/vxlan/vxlan_core.c
/openbmc/linux/drivers/net/wireless/ath/ath10k/mac.c
/openbmc/linux/drivers/net/wireless/ath/ath11k/qmi.c
/openbmc/linux/drivers/net/wireless/ath/ath12k/dp.c
/openbmc/linux/drivers/net/wireless/ath/ath12k/mac.c
/openbmc/linux/drivers/net/wireless/ath/ath5k/pci.c
/openbmc/linux/drivers/net/wireless/ath/ath9k/htc_hst.c
/openbmc/linux/drivers/net/wireless/ath/wil6210/txrx.c
/openbmc/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
/openbmc/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c
/openbmc/linux/drivers/net/wireless/intel/ipw2x00/ipw2100.c
/openbmc/linux/drivers/net/wireless/intel/ipw2x00/ipw2200.h
/openbmc/linux/drivers/net/wireless/intel/ipw2x00/libipw_rx.c
/openbmc/linux/drivers/net/wireless/intel/iwlwifi/fw/init.c
/openbmc/linux/drivers/net/wireless/intel/iwlwifi/mvm/d3.c
/openbmc/linux/drivers/net/wireless/intersil/p54/p54spi.c
/openbmc/linux/drivers/net/wireless/marvell/libertas/radiotap.h
/openbmc/linux/drivers/net/wireless/marvell/mwifiex/fw.h
/openbmc/linux/drivers/net/wireless/marvell/mwifiex/main.c
/openbmc/linux/drivers/net/wireless/microchip/wilc1000/mon.c
/openbmc/linux/drivers/net/wireless/realtek/rtlwifi/efuse.c
/openbmc/linux/drivers/net/wireless/realtek/rtw89/fw.c
/openbmc/linux/drivers/net/wireless/silabs/wfx/main.c
/openbmc/linux/drivers/net/wireless/virtual/mac80211_hwsim.c
/openbmc/linux/drivers/nvdimm/dax_devs.c
/openbmc/linux/drivers/nvdimm/nd.h
/openbmc/linux/drivers/nvme/host/apple.c
/openbmc/linux/drivers/nvme/host/core.c
/openbmc/linux/drivers/nvme/host/ioctl.c
/openbmc/linux/drivers/nvme/host/multipath.c
/openbmc/linux/drivers/nvme/host/nvme.h
/openbmc/linux/drivers/nvme/host/pci.c
/openbmc/linux/drivers/of/fdt.c
/openbmc/linux/drivers/of/kexec.c
/openbmc/linux/drivers/of/unittest.c
/openbmc/linux/drivers/pci/controller/cadence/pci-j721e.c
/openbmc/linux/drivers/pci/controller/cadence/pcie-cadence-host.c
/openbmc/linux/drivers/pci/controller/cadence/pcie-cadence.h
/openbmc/linux/drivers/pci/controller/dwc/pci-keystone.c
/openbmc/linux/drivers/pci/controller/dwc/pcie-qcom.c
/openbmc/linux/drivers/pci/controller/pcie-rockchip-ep.c
/openbmc/linux/drivers/pci/controller/pcie-rockchip.h
/openbmc/linux/drivers/pci/controller/vmd.c
/openbmc/linux/drivers/pci/endpoint/functions/pci-epf-mhi.c
/openbmc/linux/drivers/pci/endpoint/pci-epc-core.c
/openbmc/linux/drivers/pci/hotplug/cpqphp_pci.c
/openbmc/linux/drivers/pci/of_property.c
/openbmc/linux/drivers/pci/pci-sysfs.c
/openbmc/linux/drivers/pci/pci.c
/openbmc/linux/drivers/pci/pci.h
/openbmc/linux/drivers/pci/probe.c
/openbmc/linux/drivers/pci/quirks.c
/openbmc/linux/drivers/pci/slot.c
/openbmc/linux/drivers/perf/arm-cmn.c
/openbmc/linux/drivers/perf/arm_smmuv3_pmu.c
/openbmc/linux/drivers/pinctrl/core.c
/openbmc/linux/drivers/pinctrl/core.h
/openbmc/linux/drivers/pinctrl/freescale/Kconfig
/openbmc/linux/drivers/pinctrl/pinctrl-k210.c
/openbmc/linux/drivers/pinctrl/pinctrl-zynqmp.c
/openbmc/linux/drivers/pinctrl/pinmux.c
/openbmc/linux/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
/openbmc/linux/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
/openbmc/linux/drivers/platform/chrome/cros_ec_typec.c
/openbmc/linux/drivers/platform/x86/asus-wmi.c
/openbmc/linux/drivers/platform/x86/dell/dell-smbios-base.c
/openbmc/linux/drivers/platform/x86/dell/dell-wmi-base.c
/openbmc/linux/drivers/platform/x86/intel/bxtwc_tmu.c
/openbmc/linux/drivers/platform/x86/panasonic-laptop.c
/openbmc/linux/drivers/platform/x86/thinkpad_acpi.c
/openbmc/linux/drivers/platform/x86/x86-android-tablets/core.c
/openbmc/linux/drivers/pmdomain/imx/imx93-blk-ctrl.c
/openbmc/linux/drivers/pmdomain/ti/ti_sci_pm_domains.c
/openbmc/linux/drivers/power/supply/bq27xxx_battery.c
/openbmc/linux/drivers/power/supply/power_supply_core.c
/openbmc/linux/drivers/power/supply/rt9471.c
/openbmc/linux/drivers/ptp/ptp_clock.c
/openbmc/linux/drivers/pwm/pwm-imx27.c
/openbmc/linux/drivers/regulator/rk808-regulator.c
/openbmc/linux/drivers/remoteproc/qcom_q6v5_mss.c
/openbmc/linux/drivers/remoteproc/qcom_q6v5_pas.c
/openbmc/linux/drivers/rpmsg/qcom_glink_native.c
/openbmc/linux/drivers/rtc/interface.c
/openbmc/linux/drivers/rtc/rtc-ab-eoz9.c
/openbmc/linux/drivers/rtc/rtc-abx80x.c
/openbmc/linux/drivers/rtc/rtc-cmos.c
/openbmc/linux/drivers/rtc/rtc-rzn1.c
/openbmc/linux/drivers/rtc/rtc-st-lpc.c
/openbmc/linux/drivers/s390/cio/cio.c
/openbmc/linux/drivers/s390/cio/device.c
/openbmc/linux/drivers/s390/crypto/pkey_api.c
/openbmc/linux/drivers/s390/net/ism_drv.c
/openbmc/linux/drivers/s390/net/qeth_core.h
/openbmc/linux/drivers/scsi/bfa/bfad.c
/openbmc/linux/drivers/scsi/hisi_sas/hisi_sas_main.c
/openbmc/linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
/openbmc/linux/drivers/scsi/lpfc/lpfc_hbadisc.c
/openbmc/linux/drivers/scsi/lpfc/lpfc_init.c
/openbmc/linux/drivers/scsi/lpfc/lpfc_scsi.c
/openbmc/linux/drivers/scsi/lpfc/lpfc_sli.c
/openbmc/linux/drivers/scsi/qedf/qedf_main.c
/openbmc/linux/drivers/scsi/qedi/qedi_main.c
/openbmc/linux/drivers/scsi/qla2xxx/qla_attr.c
/openbmc/linux/drivers/scsi/qla2xxx/qla_bsg.c
/openbmc/linux/drivers/scsi/qla2xxx/qla_mid.c
/openbmc/linux/drivers/scsi/qla2xxx/qla_os.c
/openbmc/linux/drivers/scsi/scsi_debug.c
/openbmc/linux/drivers/scsi/sg.c
/openbmc/linux/drivers/scsi/st.c
/openbmc/linux/drivers/sh/intc/core.c
/openbmc/linux/drivers/soc/fsl/qe/qmc.c
/openbmc/linux/drivers/soc/fsl/rcpm.c
/openbmc/linux/drivers/soc/imx/soc-imx8m.c
/openbmc/linux/drivers/soc/qcom/qcom-geni-se.c
/openbmc/linux/drivers/soc/qcom/socinfo.c
/openbmc/linux/drivers/soc/ti/smartreflex.c
/openbmc/linux/drivers/soc/xilinx/xlnx_event_manager.c
/openbmc/linux/drivers/spi/atmel-quadspi.c
/openbmc/linux/drivers/spi/spi-fsl-lpspi.c
/openbmc/linux/drivers/spi/spi-mpc52xx.c
/openbmc/linux/drivers/spi/spi-tegra210-quad.c
/openbmc/linux/drivers/spi/spi-zynqmp-gqspi.c
/openbmc/linux/drivers/spi/spi.c
/openbmc/linux/drivers/staging/media/atomisp/pci/sh_css_params.c
/openbmc/linux/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
/openbmc/linux/drivers/thermal/intel/int340x_thermal/int3400_thermal.c
/openbmc/linux/drivers/thermal/qcom/tsens-v1.c
/openbmc/linux/drivers/thermal/qcom/tsens.c
/openbmc/linux/drivers/thermal/qcom/tsens.h
/openbmc/linux/drivers/thermal/thermal_core.c
/openbmc/linux/drivers/tty/serial/8250/8250_dw.c
/openbmc/linux/drivers/tty/serial/8250/8250_fintek.c
/openbmc/linux/drivers/tty/serial/8250/8250_omap.c
/openbmc/linux/drivers/tty/serial/amba-pl011.c
/openbmc/linux/drivers/tty/serial/sc16is7xx.c
/openbmc/linux/drivers/tty/tty_io.c
/openbmc/linux/drivers/ufs/core/ufs-sysfs.c
/openbmc/linux/drivers/ufs/core/ufs_bsg.c
/openbmc/linux/drivers/ufs/core/ufshcd-priv.h
/openbmc/linux/drivers/ufs/core/ufshcd.c
/openbmc/linux/drivers/ufs/host/ufs-exynos.c
/openbmc/linux/drivers/ufs/host/ufs-renesas.c
/openbmc/linux/drivers/usb/chipidea/udc.c
/openbmc/linux/drivers/usb/dwc3/core.h
/openbmc/linux/drivers/usb/dwc3/ep0.c
/openbmc/linux/drivers/usb/dwc3/gadget.c
/openbmc/linux/drivers/usb/dwc3/gadget.h
/openbmc/linux/drivers/usb/gadget/composite.c
/openbmc/linux/drivers/usb/host/ehci-spear.c
/openbmc/linux/drivers/usb/host/xhci-pci.c
/openbmc/linux/drivers/usb/host/xhci-rcar.c
/openbmc/linux/drivers/usb/host/xhci-ring.c
/openbmc/linux/drivers/usb/host/xhci.c
/openbmc/linux/drivers/usb/host/xhci.h
/openbmc/linux/drivers/usb/misc/chaoskey.c
/openbmc/linux/drivers/usb/misc/iowarrior.c
/openbmc/linux/drivers/usb/misc/yurex.c
/openbmc/linux/drivers/usb/musb/musb_gadget.c
/openbmc/linux/drivers/usb/typec/class.c
/openbmc/linux/drivers/usb/typec/tcpm/wcove.c
/openbmc/linux/drivers/vdpa/mlx5/core/mr.c
/openbmc/linux/drivers/vdpa/solidrun/snet_main.c
/openbmc/linux/drivers/vdpa/virtio_pci/vp_vdpa.c
/openbmc/linux/drivers/vfio/pci/vfio_pci_config.c
/openbmc/linux/drivers/video/fbdev/sh7760fb.c
/openbmc/linux/drivers/watchdog/apple_wdt.c
/openbmc/linux/drivers/watchdog/iTCO_wdt.c
/openbmc/linux/drivers/watchdog/mtk_wdt.c
/openbmc/linux/drivers/watchdog/rti_wdt.c
/openbmc/linux/drivers/watchdog/xilinx_wwdt.c
/openbmc/linux/drivers/xen/xenbus/xenbus_probe.c
/openbmc/linux/fs/9p/vfs_inode.c
/openbmc/linux/fs/btrfs/ctree.c
/openbmc/linux/fs/btrfs/dev-replace.c
/openbmc/linux/fs/btrfs/extent-tree.c
/openbmc/linux/fs/btrfs/extent-tree.h
/openbmc/linux/fs/btrfs/free-space-tree.c
/openbmc/linux/fs/btrfs/fs.h
/openbmc/linux/fs/btrfs/ioctl.c
/openbmc/linux/fs/btrfs/qgroup.c
/openbmc/linux/fs/btrfs/ref-verify.c
/openbmc/linux/fs/btrfs/volumes.c
/openbmc/linux/fs/cachefiles/ondemand.c
/openbmc/linux/fs/ceph/super.c
/openbmc/linux/fs/dlm/lock.c
/openbmc/linux/fs/erofs/zmap.c
/openbmc/linux/fs/eventpoll.c
/openbmc/linux/fs/exfat/namei.c
/openbmc/linux/fs/ext4/balloc.c
/openbmc/linux/fs/ext4/ext4.h
/openbmc/linux/fs/ext4/extents.c
/openbmc/linux/fs/ext4/fsmap.c
/openbmc/linux/fs/ext4/ialloc.c
/openbmc/linux/fs/ext4/indirect.c
/openbmc/linux/fs/ext4/inode.c
/openbmc/linux/fs/ext4/mballoc.c
/openbmc/linux/fs/ext4/mballoc.h
/openbmc/linux/fs/ext4/mmp.c
/openbmc/linux/fs/ext4/move_extent.c
/openbmc/linux/fs/ext4/page-io.c
/openbmc/linux/fs/ext4/readpage.c
/openbmc/linux/fs/ext4/resize.c
/openbmc/linux/fs/ext4/super.c
/openbmc/linux/fs/f2fs/checkpoint.c
/openbmc/linux/fs/f2fs/data.c
/openbmc/linux/fs/f2fs/extent_cache.c
/openbmc/linux/fs/f2fs/f2fs.h
/openbmc/linux/fs/f2fs/file.c
/openbmc/linux/fs/f2fs/gc.c
/openbmc/linux/fs/f2fs/inode.c
/openbmc/linux/fs/f2fs/node.c
/openbmc/linux/fs/f2fs/segment.c
/openbmc/linux/fs/f2fs/segment.h
/openbmc/linux/fs/f2fs/super.c
/openbmc/linux/fs/fscache/volume.c
/openbmc/linux/fs/gfs2/glock.c
/openbmc/linux/fs/gfs2/glock.h
/openbmc/linux/fs/gfs2/incore.h
/openbmc/linux/fs/gfs2/log.c
/openbmc/linux/fs/gfs2/rgrp.c
/openbmc/linux/fs/gfs2/super.c
/openbmc/linux/fs/gfs2/util.c
/openbmc/linux/fs/hfsplus/hfsplus_fs.h
/openbmc/linux/fs/hfsplus/wrapper.c
/openbmc/linux/fs/inode.c
/openbmc/linux/fs/jffs2/erase.c
/openbmc/linux/fs/jfs/jfs_dmap.c
/openbmc/linux/fs/jfs/jfs_dtree.c
/openbmc/linux/fs/jfs/xattr.c
/openbmc/linux/fs/nfs/internal.h
/openbmc/linux/fs/nfs/nfs4proc.c
/openbmc/linux/fs/nfsd/export.c
/openbmc/linux/fs/nfsd/export.h
/openbmc/linux/fs/nfsd/netns.h
/openbmc/linux/fs/nfsd/nfs4callback.c
/openbmc/linux/fs/nfsd/nfs4proc.c
/openbmc/linux/fs/nfsd/nfs4recover.c
/openbmc/linux/fs/nfsd/nfs4state.c
/openbmc/linux/fs/nfsd/xdr4.h
/openbmc/linux/fs/nilfs2/btnode.c
/openbmc/linux/fs/nilfs2/dir.c
/openbmc/linux/fs/nilfs2/gcinode.c
/openbmc/linux/fs/nilfs2/mdt.c
/openbmc/linux/fs/nilfs2/page.c
/openbmc/linux/fs/notify/fanotify/fanotify_user.c
/openbmc/linux/fs/notify/fsnotify.c
/openbmc/linux/fs/ntfs3/run.c
/openbmc/linux/fs/ocfs2/aops.h
/openbmc/linux/fs/ocfs2/dlmglue.c
/openbmc/linux/fs/ocfs2/file.c
/openbmc/linux/fs/ocfs2/namei.c
/openbmc/linux/fs/ocfs2/resize.c
/openbmc/linux/fs/ocfs2/super.c
/openbmc/linux/fs/overlayfs/inode.c
/openbmc/linux/fs/overlayfs/util.c
/openbmc/linux/fs/proc/array.c
/openbmc/linux/fs/proc/kcore.c
/openbmc/linux/fs/proc/softirqs.c
/openbmc/linux/fs/quota/dquot.c
/openbmc/linux/fs/smb/client/cached_dir.c
/openbmc/linux/fs/smb/client/cached_dir.h
/openbmc/linux/fs/smb/client/cifsfs.c
/openbmc/linux/fs/smb/client/cifsglob.h
/openbmc/linux/fs/smb/client/cifsproto.h
/openbmc/linux/fs/smb/client/cifssmb.c
/openbmc/linux/fs/smb/client/connect.c
/openbmc/linux/fs/smb/client/dfs.c
/openbmc/linux/fs/smb/client/fs_context.c
/openbmc/linux/fs/smb/client/fs_context.h
/openbmc/linux/fs/smb/client/inode.c
/openbmc/linux/fs/smb/client/readdir.c
/openbmc/linux/fs/smb/client/reparse.c
/openbmc/linux/fs/smb/client/reparse.h
/openbmc/linux/fs/smb/client/smb1ops.c
/openbmc/linux/fs/smb/client/smb2file.c
/openbmc/linux/fs/smb/client/smb2inode.c
/openbmc/linux/fs/smb/client/smb2ops.c
/openbmc/linux/fs/smb/client/smb2pdu.c
/openbmc/linux/fs/smb/client/smb2proto.h
/openbmc/linux/fs/smb/client/trace.h
/openbmc/linux/fs/smb/server/server.c
/openbmc/linux/fs/smb/server/smb2pdu.c
/openbmc/linux/fs/ubifs/super.c
/openbmc/linux/fs/ubifs/tnc_commit.c
/openbmc/linux/fs/unicode/utf8-core.c
/openbmc/linux/fs/xfs/libxfs/xfs_sb.c
/openbmc/linux/fs/xfs/xfs_log_recover.c
/openbmc/linux/include/asm-generic/vmlinux.lds.h
/openbmc/linux/include/drm/display/drm_dp_mst_helper.h
/openbmc/linux/include/linux/avf/virtchnl.h
/openbmc/linux/include/linux/blkdev.h
/openbmc/linux/include/linux/bpf_verifier.h
/openbmc/linux/include/linux/compiler_attributes.h
/openbmc/linux/include/linux/compiler_types.h
/openbmc/linux/include/linux/damon.h
/openbmc/linux/include/linux/eeprom_93cx6.h
/openbmc/linux/include/linux/eventpoll.h
/openbmc/linux/include/linux/fanotify.h
/openbmc/linux/include/linux/fwnode.h
/openbmc/linux/include/linux/hid.h
/openbmc/linux/include/linux/hisi_acc_qm.h
/openbmc/linux/include/linux/i3c/master.h
/openbmc/linux/include/linux/init.h
/openbmc/linux/include/linux/jiffies.h
/openbmc/linux/include/linux/leds.h
/openbmc/linux/include/linux/lockdep.h
/openbmc/linux/include/linux/mman.h
/openbmc/linux/include/linux/mmc/card.h
/openbmc/linux/include/linux/mmdebug.h
/openbmc/linux/include/linux/netpoll.h
/openbmc/linux/include/linux/of_fdt.h
/openbmc/linux/include/linux/once.h
/openbmc/linux/include/linux/once_lite.h
/openbmc/linux/include/linux/pci.h
/openbmc/linux/include/linux/platform_data/x86/asus-wmi.h
/openbmc/linux/include/linux/rcupdate.h
/openbmc/linux/include/linux/scatterlist.h
/openbmc/linux/include/linux/seqlock.h
/openbmc/linux/include/linux/sock_diag.h
/openbmc/linux/include/linux/sockptr.h
/openbmc/linux/include/linux/util_macros.h
/openbmc/linux/include/media/v4l2-dv-timings.h
/openbmc/linux/include/net/bluetooth/hci.h
/openbmc/linux/include/net/bluetooth/hci_core.h
/openbmc/linux/include/net/bond_options.h
/openbmc/linux/include/net/ieee80211_radiotap.h
/openbmc/linux/include/net/ip6_fib.h
/openbmc/linux/include/net/ip6_route.h
/openbmc/linux/include/net/net_debug.h
/openbmc/linux/include/net/netfilter/nf_tables_core.h
/openbmc/linux/include/net/smc.h
/openbmc/linux/include/net/sock.h
/openbmc/linux/include/sound/ump.h
/openbmc/linux/include/trace/trace_events.h
/openbmc/linux/include/uapi/linux/fanotify.h
/openbmc/linux/include/uapi/linux/rtnetlink.h
/openbmc/linux/include/ufs/ufshcd.h
/openbmc/linux/init/Kconfig
/openbmc/linux/init/initramfs.c
tctx.c
/openbmc/linux/ipc/namespace.c
/openbmc/linux/kernel/bpf/devmap.c
/openbmc/linux/kernel/bpf/hashtab.c
/openbmc/linux/kernel/bpf/lpm_trie.c
/openbmc/linux/kernel/bpf/syscall.c
/openbmc/linux/kernel/bpf/verifier.c
/openbmc/linux/kernel/cgroup/cgroup.c
/openbmc/linux/kernel/dma/debug.c
/openbmc/linux/kernel/kcsan/debugfs.c
/openbmc/linux/kernel/rcu/rcuscale.c
/openbmc/linux/kernel/rcu/tree.c
/openbmc/linux/kernel/signal.c
/openbmc/linux/kernel/time/ntp.c
/openbmc/linux/kernel/time/time.c
/openbmc/linux/kernel/trace/bpf_trace.c
/openbmc/linux/kernel/trace/ftrace.c
/openbmc/linux/kernel/trace/trace_clock.c
/openbmc/linux/kernel/trace/trace_event_perf.c
/openbmc/linux/kernel/trace/trace_syscalls.c
/openbmc/linux/kernel/trace/tracing_map.c
/openbmc/linux/lib/buildid.c
/openbmc/linux/lib/maple_tree.c
/openbmc/linux/lib/stackinit_kunit.c
/openbmc/linux/lib/string_helpers.c
/openbmc/linux/mm/damon/core.c
/openbmc/linux/mm/damon/dbgfs.c
/openbmc/linux/mm/damon/lru_sort.c
/openbmc/linux/mm/damon/reclaim.c
/openbmc/linux/mm/damon/sysfs-schemes.c
/openbmc/linux/mm/filemap.c
/openbmc/linux/mm/huge_memory.c
/openbmc/linux/mm/hugetlb.c
/openbmc/linux/mm/internal.h
/openbmc/linux/mm/kasan/report.c
/openbmc/linux/mm/memcontrol.c
/openbmc/linux/mm/mempolicy.c
/openbmc/linux/mm/mmap.c
/openbmc/linux/mm/mprotect.c
/openbmc/linux/mm/nommu.c
/openbmc/linux/mm/page_alloc.c
/openbmc/linux/mm/readahead.c
/openbmc/linux/mm/shmem.c
/openbmc/linux/mm/slab.h
/openbmc/linux/mm/slab_common.c
/openbmc/linux/mm/slub.c
/openbmc/linux/mm/swap.c
/openbmc/linux/mm/vmstat.c
/openbmc/linux/net/9p/client.c
/openbmc/linux/net/9p/trans_xen.c
/openbmc/linux/net/bluetooth/6lowpan.c
/openbmc/linux/net/bluetooth/hci_core.c
/openbmc/linux/net/bluetooth/hci_event.c
/openbmc/linux/net/bluetooth/hci_sync.c
/openbmc/linux/net/bluetooth/hci_sysfs.c
/openbmc/linux/net/bluetooth/l2cap_sock.c
/openbmc/linux/net/bluetooth/mgmt.c
/openbmc/linux/net/bluetooth/rfcomm/sock.c
/openbmc/linux/net/can/af_can.c
/openbmc/linux/net/can/j1939/transport.c
/openbmc/linux/net/core/dst_cache.c
/openbmc/linux/net/core/filter.c
/openbmc/linux/net/core/gen_estimator.c
/openbmc/linux/net/core/link_watch.c
/openbmc/linux/net/core/neighbour.c
/openbmc/linux/net/core/netpoll.c
/openbmc/linux/net/core/skmsg.c
/openbmc/linux/net/core/sock_diag.c
/openbmc/linux/net/dccp/feat.c
/openbmc/linux/net/ethtool/bitset.c
/openbmc/linux/net/hsr/hsr_device.c
/openbmc/linux/net/hsr/hsr_forward.c
/openbmc/linux/net/ieee802154/socket.c
/openbmc/linux/net/ipv4/af_inet.c
/openbmc/linux/net/ipv4/cipso_ipv4.c
/openbmc/linux/net/ipv4/inet_connection_sock.c
/openbmc/linux/net/ipv4/inet_diag.c
/openbmc/linux/net/ipv4/ip_output.c
/openbmc/linux/net/ipv4/ip_tunnel.c
/openbmc/linux/net/ipv4/ipmr.c
/openbmc/linux/net/ipv4/ipmr_base.c
/openbmc/linux/net/ipv4/tcp.c
/openbmc/linux/net/ipv4/tcp_bpf.c
/openbmc/linux/net/ipv4/tcp_fastopen.c
/openbmc/linux/net/ipv4/udp.c
/openbmc/linux/net/ipv6/addrconf.c
/openbmc/linux/net/ipv6/af_inet6.c
/openbmc/linux/net/ipv6/icmp.c
/openbmc/linux/net/ipv6/ila/ila_lwt.c
/openbmc/linux/net/ipv6/ip6_fib.c
/openbmc/linux/net/ipv6/ip6_output.c
/openbmc/linux/net/ipv6/ip6mr.c
/openbmc/linux/net/ipv6/ipv6_sockglue.c
/openbmc/linux/net/ipv6/ndisc.c
/openbmc/linux/net/ipv6/ping.c
/openbmc/linux/net/ipv6/raw.c
/openbmc/linux/net/ipv6/route.c
/openbmc/linux/net/ipv6/tcp_ipv6.c
/openbmc/linux/net/ipv6/udp.c
/openbmc/linux/net/ipv6/xfrm6_policy.c
/openbmc/linux/net/iucv/af_iucv.c
/openbmc/linux/net/l2tp/l2tp_ip6.c
/openbmc/linux/net/llc/af_llc.c
/openbmc/linux/net/mac80211/main.c
/openbmc/linux/net/mpls/mpls_iptunnel.c
/openbmc/linux/net/mptcp/pm_netlink.c
/openbmc/linux/net/mptcp/pm_userspace.c
/openbmc/linux/net/mptcp/protocol.c
/openbmc/linux/net/netfilter/ipset/ip_set_bitmap_ip.c
/openbmc/linux/net/netfilter/ipset/ip_set_core.c
/openbmc/linux/net/netfilter/ipvs/ip_vs_proto.c
/openbmc/linux/net/netfilter/ipvs/ip_vs_xmit.c
/openbmc/linux/net/netfilter/nf_flow_table_core.c
/openbmc/linux/net/netfilter/nf_flow_table_ip.c
/openbmc/linux/net/netfilter/nf_tables_api.c
/openbmc/linux/net/netfilter/nft_inner.c
/openbmc/linux/net/netfilter/nft_rt.c
/openbmc/linux/net/netfilter/nft_set_hash.c
/openbmc/linux/net/netfilter/nft_socket.c
/openbmc/linux/net/netfilter/xt_LED.c
/openbmc/linux/net/netlink/af_netlink.c
/openbmc/linux/net/netlink/af_netlink.h
/openbmc/linux/net/netlink/diag.c
/openbmc/linux/net/packet/af_packet.c
/openbmc/linux/net/packet/diag.c
/openbmc/linux/net/rfkill/rfkill-gpio.c
/openbmc/linux/net/rxrpc/af_rxrpc.c
/openbmc/linux/net/sched/act_api.c
/openbmc/linux/net/sched/cls_flower.c
/openbmc/linux/net/sched/cls_u32.c
/openbmc/linux/net/sched/sch_cbs.c
/openbmc/linux/net/sched/sch_tbf.c
/openbmc/linux/net/sctp/ipv6.c
/openbmc/linux/net/smc/af_smc.c
/openbmc/linux/net/smc/smc.h
/openbmc/linux/net/smc/smc_clc.c
/openbmc/linux/net/smc/smc_clc.h
/openbmc/linux/net/smc/smc_core.c
/openbmc/linux/net/smc/smc_core.h
/openbmc/linux/net/smc/smc_diag.c
/openbmc/linux/net/smc/smc_ism.c
/openbmc/linux/net/smc/smc_ism.h
/openbmc/linux/net/smc/smc_pnet.c
/openbmc/linux/net/sunrpc/cache.c
/openbmc/linux/net/sunrpc/svcsock.c
/openbmc/linux/net/sunrpc/xprtrdma/svc_rdma.c
/openbmc/linux/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
/openbmc/linux/net/sunrpc/xprtsock.c
/openbmc/linux/net/tipc/diag.c
/openbmc/linux/net/tipc/udp_media.c
/openbmc/linux/net/unix/diag.c
/openbmc/linux/net/vmw_vsock/af_vsock.c
/openbmc/linux/net/vmw_vsock/diag.c
/openbmc/linux/net/vmw_vsock/virtio_transport_common.c
/openbmc/linux/net/xdp/xsk_buff_pool.c
/openbmc/linux/net/xdp/xsk_diag.c
/openbmc/linux/net/xdp/xskmap.c
/openbmc/linux/net/xfrm/xfrm_policy.c
/openbmc/linux/rust/macros/lib.rs
/openbmc/linux/samples/bpf/test_cgrp2_sock.c
/openbmc/linux/samples/bpf/xdp_adjust_tail_kern.c
/openbmc/linux/samples/pktgen/pktgen_sample01_simple.sh
/openbmc/linux/scripts/checkpatch.pl
/openbmc/linux/scripts/mod/file2alias.c
/openbmc/linux/scripts/mod/modpost.c
/openbmc/linux/scripts/setlocalversion
/openbmc/linux/security/apparmor/capability.c
/openbmc/linux/security/apparmor/policy_unpack_test.c
/openbmc/linux/security/integrity/ima/ima_template_lib.c
/openbmc/linux/sound/core/pcm_native.c
/openbmc/linux/sound/core/seq/seq_ump_client.c
/openbmc/linux/sound/core/ump.c
/openbmc/linux/sound/hda/intel-dsp-config.c
/openbmc/linux/sound/pci/hda/hda_auto_parser.c
/openbmc/linux/sound/pci/hda/hda_local.h
/openbmc/linux/sound/pci/hda/patch_analog.c
/openbmc/linux/sound/pci/hda/patch_cirrus.c
/openbmc/linux/sound/pci/hda/patch_conexant.c
/openbmc/linux/sound/pci/hda/patch_cs8409-tables.c
/openbmc/linux/sound/pci/hda/patch_cs8409.h
/openbmc/linux/sound/pci/hda/patch_realtek.c
/openbmc/linux/sound/pci/hda/patch_sigmatel.c
/openbmc/linux/sound/pci/hda/patch_via.c
/openbmc/linux/sound/soc/amd/yc/acp6x-mach.c
/openbmc/linux/sound/soc/codecs/da7219.c
/openbmc/linux/sound/soc/codecs/hdmi-codec.c
/openbmc/linux/sound/soc/codecs/rt5640.c
/openbmc/linux/sound/soc/codecs/rt722-sdca.c
/openbmc/linux/sound/soc/codecs/tas2781-fmwlib.c
/openbmc/linux/sound/soc/fsl/fsl_micfil.c
/openbmc/linux/sound/soc/generic/audio-graph-card2.c
/openbmc/linux/sound/soc/intel/atom/sst/sst_acpi.c
/openbmc/linux/sound/soc/intel/boards/bytcr_rt5640.c
/openbmc/linux/sound/soc/mediatek/mt8188/mt8188-mt6359.c
/openbmc/linux/sound/soc/sof/ipc3-topology.c
/openbmc/linux/sound/soc/stm/stm32_sai_sub.c
/openbmc/linux/sound/usb/6fire/chip.c
/openbmc/linux/sound/usb/caiaq/audio.c
/openbmc/linux/sound/usb/caiaq/audio.h
/openbmc/linux/sound/usb/caiaq/device.c
/openbmc/linux/sound/usb/caiaq/input.c
/openbmc/linux/sound/usb/caiaq/input.h
/openbmc/linux/sound/usb/clock.c
/openbmc/linux/sound/usb/endpoint.c
/openbmc/linux/sound/usb/mixer.c
/openbmc/linux/sound/usb/mixer_maps.c
/openbmc/linux/sound/usb/quirks-table.h
/openbmc/linux/sound/usb/quirks.c
/openbmc/linux/sound/usb/usbaudio.h
/openbmc/linux/sound/usb/usx2y/us122l.c
/openbmc/linux/sound/usb/usx2y/usbusx2y.c
/openbmc/linux/tools/bpf/bpftool/jit_disasm.c
/openbmc/linux/tools/bpf/bpftool/prog.c
/openbmc/linux/tools/include/nolibc/arch-s390.h
/openbmc/linux/tools/lib/bpf/libbpf.c
/openbmc/linux/tools/lib/bpf/linker.c
/openbmc/linux/tools/lib/thermal/Makefile
/openbmc/linux/tools/lib/thermal/commands.c
/openbmc/linux/tools/mm/page-types.c
/openbmc/linux/tools/perf/builtin-ftrace.c
/openbmc/linux/tools/perf/builtin-list.c
/openbmc/linux/tools/perf/builtin-stat.c
/openbmc/linux/tools/perf/builtin-trace.c
/openbmc/linux/tools/perf/tests/attr/test-stat-default
/openbmc/linux/tools/perf/tests/attr/test-stat-detailed-1
/openbmc/linux/tools/perf/tests/attr/test-stat-detailed-2
/openbmc/linux/tools/perf/tests/attr/test-stat-detailed-3
/openbmc/linux/tools/perf/util/cs-etm.c
/openbmc/linux/tools/perf/util/evlist.c
/openbmc/linux/tools/perf/util/evlist.h
/openbmc/linux/tools/perf/util/pfm.c
/openbmc/linux/tools/perf/util/pmus.c
/openbmc/linux/tools/perf/util/probe-finder.c
/openbmc/linux/tools/perf/util/probe-finder.h
/openbmc/linux/tools/scripts/Makefile.arch
/openbmc/linux/tools/testing/selftests/arm64/fp/fp-stress.c
/openbmc/linux/tools/testing/selftests/arm64/mte/check_tags_inclusion.c
/openbmc/linux/tools/testing/selftests/arm64/mte/mte_common_util.c
/openbmc/linux/tools/testing/selftests/arm64/pauth/pac.c
/openbmc/linux/tools/testing/selftests/bpf/progs/test_spin_lock_fail.c
/openbmc/linux/tools/testing/selftests/bpf/progs/verifier_subprog_precision.c
/openbmc/linux/tools/testing/selftests/bpf/test_sockmap.c
/openbmc/linux/tools/testing/selftests/bpf/verifier/precise.c
/openbmc/linux/tools/testing/selftests/hid/run-hid-tools-tests.sh
/openbmc/linux/tools/testing/selftests/mount_setattr/mount_setattr_test.c
/openbmc/linux/tools/testing/selftests/net/pmtu.sh
/openbmc/linux/tools/testing/selftests/resctrl/fill_buf.c
/openbmc/linux/tools/testing/selftests/resctrl/resctrl.h
/openbmc/linux/tools/testing/selftests/resctrl/resctrl_val.c
/openbmc/linux/tools/testing/selftests/resctrl/resctrlfs.c
/openbmc/linux/tools/testing/selftests/vDSO/parse_vdso.c
/openbmc/linux/tools/testing/selftests/watchdog/watchdog-test.c
/openbmc/linux/tools/testing/selftests/wireguard/netns.sh
/openbmc/linux/tools/tracing/rtla/src/timerlat_top.c
/openbmc/linux/tools/tracing/rtla/src/utils.c
/openbmc/linux/tools/tracing/rtla/src/utils.h
/openbmc/linux/tools/verification/dot2/automata.py
950ac86c04-Jun-2024 Hagar Hemdan <hagarhem@amazon.com>

io_uring: fix possible deadlock in io_register_iowq_max_workers()

commit 73254a297c2dd094abec7c9efee32455ae875bdf upstream.

The io_register_iowq_max_workers() function calls io_put_sq_data(),
which

io_uring: fix possible deadlock in io_register_iowq_max_workers()

commit 73254a297c2dd094abec7c9efee32455ae875bdf upstream.

The io_register_iowq_max_workers() function calls io_put_sq_data(),
which acquires the sqd->lock without releasing the uring_lock.
Similar to the commit 009ad9f0c6ee ("io_uring: drop ctx->uring_lock
before acquiring sqd->lock"), this can lead to a potential deadlock
situation.

To resolve this issue, the uring_lock is released before calling
io_put_sq_data(), and then it is re-acquired after the function call.

This change ensures that the locks are acquired in the correct
order, preventing the possibility of a deadlock.

Suggested-by: Maximilian Heyne <mheyne@amazon.de>
Signed-off-by: Hagar Hemdan <hagarhem@amazon.com>
Link: https://lore.kernel.org/r/20240604130527.3597-1-hagarhem@amazon.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...


/openbmc/linux/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
/openbmc/linux/Makefile
/openbmc/linux/arch/arm/boot/dts/rockchip/rk3036-kylin.dts
/openbmc/linux/arch/arm/boot/dts/rockchip/rk3036.dtsi
/openbmc/linux/arch/arm64/Kconfig
/openbmc/linux/arch/arm64/boot/dts/freescale/imx8-ss-vpu.dtsi
/openbmc/linux/arch/arm64/boot/dts/freescale/imx8mp.dtsi
/openbmc/linux/arch/arm64/boot/dts/freescale/imx8qxp-ss-vpu.dtsi
/openbmc/linux/arch/arm64/boot/dts/freescale/imx8qxp.dtsi
/openbmc/linux/arch/arm64/boot/dts/rockchip/Makefile
/openbmc/linux/arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi
/openbmc/linux/arch/arm64/boot/dts/rockchip/rk3308-roc-cc.dts
/openbmc/linux/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s-plus.dts
/openbmc/linux/arch/arm64/boot/dts/rockchip/rk3328.dtsi
/openbmc/linux/arch/arm64/boot/dts/rockchip/rk3368-lion.dtsi
/openbmc/linux/arch/arm64/boot/dts/rockchip/rk3399-eaidk-610.dts
/openbmc/linux/arch/arm64/boot/dts/rockchip/rk3399-pinephone-pro.dts
/openbmc/linux/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
/openbmc/linux/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator.dts
/openbmc/linux/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353p.dts
/openbmc/linux/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353v.dts
/openbmc/linux/arch/arm64/boot/dts/rockchip/rk3566-box-demo.dts
/openbmc/linux/arch/arm64/boot/dts/rockchip/rk3566-lubancat-1.dts
/openbmc/linux/arch/arm64/boot/dts/rockchip/rk3566-pinenote.dtsi
/openbmc/linux/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3.dtsi
/openbmc/linux/arch/arm64/boot/dts/rockchip/rk3568-lubancat-2.dts
/openbmc/linux/arch/arm64/kernel/fpsimd.c
/openbmc/linux/arch/arm64/kernel/smccc-call.S
/openbmc/linux/arch/loongarch/include/asm/loongarch.h
/openbmc/linux/arch/powerpc/platforms/powernv/opal-irqchip.c
/openbmc/linux/arch/riscv/kvm/aia_imsic.c
/openbmc/linux/arch/riscv/purgatory/entry.S
/openbmc/linux/block/elevator.c
/openbmc/linux/crypto/algapi.c
/openbmc/linux/drivers/crypto/marvell/cesa/hash.c
/openbmc/linux/drivers/firmware/arm_scmi/bus.c
/openbmc/linux/drivers/firmware/smccc/smccc.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_process.c
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.c
/openbmc/linux/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
/openbmc/linux/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
/openbmc/linux/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h
/openbmc/linux/drivers/hid/hid-core.c
/openbmc/linux/drivers/hid/hid-ids.h
/openbmc/linux/drivers/hid/hid-lenovo.c
/openbmc/linux/drivers/hid/hid-multitouch.c
/openbmc/linux/drivers/i2c/busses/i2c-designware-common.c
/openbmc/linux/drivers/i2c/busses/i2c-designware-core.h
/openbmc/linux/drivers/infiniband/sw/siw/siw_qp_tx.c
/openbmc/linux/drivers/iommu/arm/arm-smmu/arm-smmu-impl.c
/openbmc/linux/drivers/irqchip/irq-gic-v3.c
/openbmc/linux/drivers/irqchip/irq-mscc-ocelot.c
/openbmc/linux/drivers/md/dm-cache-target.c
/openbmc/linux/drivers/md/dm-unstripe.c
/openbmc/linux/drivers/media/cec/usb/pulse8/pulse8-cec.c
/openbmc/linux/drivers/media/common/v4l2-tpg/v4l2-tpg-core.c
/openbmc/linux/drivers/media/dvb-core/dvb_frontend.c
/openbmc/linux/drivers/media/dvb-core/dvbdev.c
/openbmc/linux/drivers/media/dvb-frontends/cx24116.c
/openbmc/linux/drivers/media/dvb-frontends/stb0899_algo.c
/openbmc/linux/drivers/media/i2c/adv7604.c
/openbmc/linux/drivers/media/i2c/ar0521.c
/openbmc/linux/drivers/media/platform/samsung/s5p-jpeg/jpeg-core.c
/openbmc/linux/drivers/media/usb/uvc/uvc_driver.c
/openbmc/linux/drivers/media/v4l2-core/v4l2-ctrls-api.c
/openbmc/linux/drivers/mtd/spi-nor/winbond.c
/openbmc/linux/drivers/net/can/c_can/c_can_main.c
/openbmc/linux/drivers/net/can/m_can/m_can.c
/openbmc/linux/drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
/openbmc/linux/drivers/net/can/spi/mcp251xfd/mcp251xfd-tef.c
/openbmc/linux/drivers/net/ethernet/arc/emac_main.c
/openbmc/linux/drivers/net/ethernet/arc/emac_mdio.c
/openbmc/linux/drivers/net/ethernet/freescale/enetc/enetc_pf.c
/openbmc/linux/drivers/net/ethernet/freescale/enetc/enetc_vf.c
/openbmc/linux/drivers/net/ethernet/hisilicon/hns3/hnae3.c
/openbmc/linux/drivers/net/ethernet/intel/e1000e/ich8lan.c
/openbmc/linux/drivers/net/ethernet/intel/i40e/i40e.h
/openbmc/linux/drivers/net/ethernet/intel/i40e/i40e_debugfs.c
/openbmc/linux/drivers/net/ethernet/intel/i40e/i40e_main.c
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_ethtool_fdir.c
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_fdir.h
/openbmc/linux/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
/openbmc/linux/drivers/net/ethernet/vertexcom/mse102x.c
/openbmc/linux/drivers/net/mdio/mdio-bcm-unimac.c
/openbmc/linux/drivers/net/phy/dp83848.c
/openbmc/linux/drivers/net/usb/qmi_wwan.c
/openbmc/linux/drivers/net/virtio_net.c
/openbmc/linux/drivers/net/wireless/intel/iwlwifi/mvm/scan.c
/openbmc/linux/drivers/net/wwan/t7xx/t7xx_hif_dpmaif_rx.c
/openbmc/linux/drivers/nvme/host/core.c
/openbmc/linux/drivers/nvme/host/multipath.c
/openbmc/linux/drivers/nvme/host/nvme.h
/openbmc/linux/drivers/nvme/host/tcp.c
/openbmc/linux/drivers/nvme/target/loop.c
/openbmc/linux/drivers/platform/x86/amd/pmc/pmc.c
/openbmc/linux/drivers/pwm/pwm-imx-tpm.c
/openbmc/linux/drivers/regulator/rtq2208-regulator.c
/openbmc/linux/drivers/rpmsg/qcom_glink_native.c
/openbmc/linux/drivers/scsi/sd_zbc.c
/openbmc/linux/drivers/thermal/qcom/lmh.c
/openbmc/linux/drivers/thermal/thermal_of.c
/openbmc/linux/drivers/usb/dwc3/core.c
/openbmc/linux/drivers/usb/musb/sunxi.c
/openbmc/linux/drivers/usb/serial/io_edgeport.c
/openbmc/linux/drivers/usb/serial/option.c
/openbmc/linux/drivers/usb/serial/qcserial.c
/openbmc/linux/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_pdphy.c
/openbmc/linux/drivers/usb/typec/ucsi/ucsi_ccg.c
/openbmc/linux/drivers/vdpa/ifcvf/ifcvf_base.c
/openbmc/linux/fs/9p/fid.c
/openbmc/linux/fs/btrfs/delayed-ref.c
/openbmc/linux/fs/nfs/inode.c
/openbmc/linux/fs/nfs/super.c
/openbmc/linux/fs/nilfs2/page.c
/openbmc/linux/fs/ntfs3/record.c
/openbmc/linux/fs/ocfs2/file.c
/openbmc/linux/fs/ocfs2/xattr.c
/openbmc/linux/fs/proc/vmcore.c
/openbmc/linux/fs/smb/client/connect.c
/openbmc/linux/fs/smb/server/connection.c
/openbmc/linux/fs/smb/server/connection.h
/openbmc/linux/fs/smb/server/mgmt/user_session.c
/openbmc/linux/fs/smb/server/server.c
/openbmc/linux/fs/smb/server/smb_common.c
/openbmc/linux/fs/smb/server/smb_common.h
/openbmc/linux/include/linux/arm-smccc.h
/openbmc/linux/include/linux/huge_mm.h
/openbmc/linux/include/linux/tick.h
/openbmc/linux/include/linux/user_namespace.h
/openbmc/linux/include/net/netfilter/nf_tables.h
/openbmc/linux/include/net/tls.h
/openbmc/linux/include/trace/events/rxrpc.h
io_uring.c
/openbmc/linux/kernel/bpf/syscall.c
/openbmc/linux/kernel/bpf/verifier.c
/openbmc/linux/kernel/fork.c
/openbmc/linux/kernel/signal.c
/openbmc/linux/kernel/ucount.c
/openbmc/linux/mm/filemap.c
/openbmc/linux/mm/huge_memory.c
/openbmc/linux/mm/memory.c
/openbmc/linux/net/9p/client.c
/openbmc/linux/net/core/filter.c
/openbmc/linux/net/mac80211/agg-tx.c
/openbmc/linux/net/mac80211/chan.c
/openbmc/linux/net/mac80211/mlme.c
/openbmc/linux/net/mac80211/scan.c
/openbmc/linux/net/mac80211/util.c
/openbmc/linux/net/mptcp/pm_userspace.c
/openbmc/linux/net/netfilter/nf_tables_api.c
/openbmc/linux/net/netfilter/nft_immediate.c
/openbmc/linux/net/rxrpc/conn_client.c
/openbmc/linux/net/sctp/sm_statefuns.c
/openbmc/linux/net/sunrpc/svc.c
/openbmc/linux/net/sunrpc/xprtsock.c
/openbmc/linux/net/vmw_vsock/hyperv_transport.c
/openbmc/linux/net/vmw_vsock/virtio_transport_common.c
/openbmc/linux/security/keys/keyring.c
/openbmc/linux/sound/Kconfig
/openbmc/linux/sound/firewire/tascam/amdtp-tascam.c
/openbmc/linux/sound/pci/hda/patch_conexant.c
/openbmc/linux/sound/soc/amd/yc/acp6x-mach.c
/openbmc/linux/sound/soc/codecs/rt722-sdca-sdw.c
/openbmc/linux/sound/soc/fsl/fsl_micfil.c
/openbmc/linux/sound/soc/sof/ipc4-control.c
/openbmc/linux/sound/soc/sof/ipc4-topology.c
/openbmc/linux/sound/soc/sof/ipc4-topology.h
/openbmc/linux/sound/soc/sof/sof-client-probes-ipc4.c
/openbmc/linux/sound/soc/stm/stm32_spdifrx.c
/openbmc/linux/sound/usb/mixer.c
/openbmc/linux/sound/usb/quirks.c
/openbmc/linux/tools/lib/thermal/sampling.c
/openbmc/linux/tools/testing/selftests/bpf/network_helpers.c
/openbmc/linux/tools/testing/selftests/bpf/network_helpers.h
/openbmc/linux/tools/testing/selftests/bpf/prog_tests/flow_dissector.c
/openbmc/linux/tools/testing/selftests/bpf/progs/verifier_scalar_ids.c
/openbmc/linux/tools/testing/selftests/bpf/xdp_hw_metadata.c
6a91a58109-Apr-2024 Pavel Begunkov <asml.silence@gmail.com>

io_uring: always lock __io_cqring_overflow_flush

commit 8d09a88ef9d3cb7d21d45c39b7b7c31298d23998 upstream.

Conditional locking is never great, in case of
__io_cqring_overflow_flush(), which is a sl

io_uring: always lock __io_cqring_overflow_flush

commit 8d09a88ef9d3cb7d21d45c39b7b7c31298d23998 upstream.

Conditional locking is never great, in case of
__io_cqring_overflow_flush(), which is a slow path, it's not justified.
Don't handle IOPOLL separately, always grab uring_lock for overflow
flushing.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/162947df299aa12693ac4b305dacedab32ec7976.1712708261.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...

003d299631-Oct-2024 Jens Axboe <axboe@kernel.dk>

io_uring/rw: fix missing NOWAIT check for O_DIRECT start write

[ Upstream commit 1d60d74e852647255bd8e76f5a22dc42531e4389 ]

When io_uring starts a write, it'll call kiocb_start_write() to bump the

io_uring/rw: fix missing NOWAIT check for O_DIRECT start write

[ Upstream commit 1d60d74e852647255bd8e76f5a22dc42531e4389 ]

When io_uring starts a write, it'll call kiocb_start_write() to bump the
super block rwsem, preventing any freezes from happening while that
write is in-flight. The freeze side will grab that rwsem for writing,
excluding any new writers from happening and waiting for existing writes
to finish. But io_uring unconditionally uses kiocb_start_write(), which
will block if someone is currently attempting to freeze the mount point.
This causes a deadlock where freeze is waiting for previous writes to
complete, but the previous writes cannot complete, as the task that is
supposed to complete them is blocked waiting on starting a new write.
This results in the following stuck trace showing that dependency with
the write blocked starting a new write:

task:fio state:D stack:0 pid:886 tgid:886 ppid:876
Call trace:
__switch_to+0x1d8/0x348
__schedule+0x8e8/0x2248
schedule+0x110/0x3f0
percpu_rwsem_wait+0x1e8/0x3f8
__percpu_down_read+0xe8/0x500
io_write+0xbb8/0xff8
io_issue_sqe+0x10c/0x1020
io_submit_sqes+0x614/0x2110
__arm64_sys_io_uring_enter+0x524/0x1038
invoke_syscall+0x74/0x268
el0_svc_common.constprop.0+0x160/0x238
do_el0_svc+0x44/0x60
el0_svc+0x44/0xb0
el0t_64_sync_handler+0x118/0x128
el0t_64_sync+0x168/0x170
INFO: task fsfreeze:7364 blocked for more than 15 seconds.
Not tainted 6.12.0-rc5-00063-g76aaf945701c #7963

with the attempting freezer stuck trying to grab the rwsem:

task:fsfreeze state:D stack:0 pid:7364 tgid:7364 ppid:995
Call trace:
__switch_to+0x1d8/0x348
__schedule+0x8e8/0x2248
schedule+0x110/0x3f0
percpu_down_write+0x2b0/0x680
freeze_super+0x248/0x8a8
do_vfs_ioctl+0x149c/0x1b18
__arm64_sys_ioctl+0xd0/0x1a0
invoke_syscall+0x74/0x268
el0_svc_common.constprop.0+0x160/0x238
do_el0_svc+0x44/0x60
el0_svc+0x44/0xb0
el0t_64_sync_handler+0x118/0x128
el0t_64_sync+0x168/0x170

Fix this by having the io_uring side honor IOCB_NOWAIT, and only attempt a
blocking grab of the super block rwsem if it isn't set. For normal issue
where IOCB_NOWAIT would always be set, this returns -EAGAIN which will
have io_uring core issue a blocking attempt of the write. That will in
turn also get completions run, ensuring forward progress.

Since freezing requires CAP_SYS_ADMIN in the first place, this isn't
something that can be triggered by a regular user.

Cc: stable@vger.kernel.org # 5.10+
Reported-by: Peter Mann <peter.mann@sh.cz>
Link: https://lore.kernel.org/io-uring/38c94aec-81c9-4f62-b44e-1d87f5597644@sh.cz
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>

show more ...


/openbmc/linux/Documentation/devicetree/bindings/sound/davinci-mcasp-audio.yaml
/openbmc/linux/Makefile
/openbmc/linux/arch/arm/boot/dts/broadcom/bcm2837-rpi-cm3-io3.dts
/openbmc/linux/arch/arm64/Makefile
/openbmc/linux/arch/arm64/kvm/arm.c
/openbmc/linux/arch/arm64/kvm/sys_regs.c
/openbmc/linux/arch/arm64/kvm/vgic/vgic-init.c
/openbmc/linux/arch/loongarch/include/asm/bootinfo.h
/openbmc/linux/arch/loongarch/include/asm/kasan.h
/openbmc/linux/arch/loongarch/kernel/process.c
/openbmc/linux/arch/loongarch/kernel/setup.c
/openbmc/linux/arch/loongarch/kernel/traps.c
/openbmc/linux/arch/riscv/kernel/acpi.c
/openbmc/linux/arch/riscv/kernel/asm-offsets.c
/openbmc/linux/arch/riscv/kernel/cpu-hotplug.c
/openbmc/linux/arch/riscv/kernel/efi-header.S
/openbmc/linux/arch/riscv/kernel/traps_misaligned.c
/openbmc/linux/arch/riscv/kernel/vdso/Makefile
/openbmc/linux/arch/riscv/net/bpf_jit_comp64.c
/openbmc/linux/arch/s390/include/asm/perf_event.h
/openbmc/linux/arch/s390/pci/pci_event.c
/openbmc/linux/arch/x86/Kconfig
/openbmc/linux/arch/x86/entry/entry_32.S
/openbmc/linux/arch/x86/include/asm/bug.h
/openbmc/linux/arch/x86/include/asm/nospec-branch.h
/openbmc/linux/arch/x86/kernel/apic/apic.c
/openbmc/linux/arch/x86/kernel/cpu/amd.c
/openbmc/linux/arch/x86/kernel/cpu/resctrl/core.c
/openbmc/linux/arch/x86/kernel/cpu/resctrl/ctrlmondata.c
/openbmc/linux/arch/x86/kernel/traps.c
/openbmc/linux/arch/x86/kvm/svm/nested.c
/openbmc/linux/block/blk-map.c
/openbmc/linux/drivers/accel/qaic/qaic_control.c
/openbmc/linux/drivers/accel/qaic/qaic_data.c
/openbmc/linux/drivers/acpi/button.c
/openbmc/linux/drivers/acpi/cppc_acpi.c
/openbmc/linux/drivers/acpi/prmt.c
/openbmc/linux/drivers/acpi/resource.c
/openbmc/linux/drivers/ata/libata-eh.c
/openbmc/linux/drivers/base/core.c
/openbmc/linux/drivers/base/module.c
/openbmc/linux/drivers/block/ublk_drv.c
/openbmc/linux/drivers/bluetooth/btusb.c
/openbmc/linux/drivers/cdrom/cdrom.c
/openbmc/linux/drivers/cpufreq/amd-pstate.c
/openbmc/linux/drivers/cpufreq/cppc_cpufreq.c
/openbmc/linux/drivers/cxl/acpi.c
/openbmc/linux/drivers/cxl/core/hdm.c
/openbmc/linux/drivers/cxl/core/port.c
/openbmc/linux/drivers/cxl/core/region.c
/openbmc/linux/drivers/cxl/core/trace.h
/openbmc/linux/drivers/cxl/cxl.h
/openbmc/linux/drivers/firmware/arm_scmi/driver.c
/openbmc/linux/drivers/firmware/arm_scmi/mailbox.c
/openbmc/linux/drivers/firmware/arm_sdei.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
/openbmc/linux/drivers/gpu/drm/amd/display/modules/power/power_helpers.c
/openbmc/linux/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
/openbmc/linux/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
/openbmc/linux/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
/openbmc/linux/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c
/openbmc/linux/drivers/gpu/drm/msm/disp/msm_disp_snapshot_util.c
/openbmc/linux/drivers/gpu/drm/msm/dsi/dsi_host.c
/openbmc/linux/drivers/gpu/drm/radeon/radeon_encoders.c
/openbmc/linux/drivers/gpu/drm/vboxvideo/hgsmi_base.c
/openbmc/linux/drivers/gpu/drm/vboxvideo/vboxvideo.h
/openbmc/linux/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
/openbmc/linux/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
/openbmc/linux/drivers/iio/accel/Kconfig
/openbmc/linux/drivers/iio/accel/bma400_core.c
/openbmc/linux/drivers/iio/adc/Kconfig
/openbmc/linux/drivers/iio/adc/ad7124.c
/openbmc/linux/drivers/iio/amplifiers/Kconfig
/openbmc/linux/drivers/iio/common/hid-sensors/hid-sensor-trigger.c
/openbmc/linux/drivers/iio/dac/Kconfig
/openbmc/linux/drivers/iio/frequency/Kconfig
/openbmc/linux/drivers/iio/industrialio-gts-helper.c
/openbmc/linux/drivers/iio/light/Kconfig
/openbmc/linux/drivers/iio/light/opt3001.c
/openbmc/linux/drivers/iio/light/veml6030.c
/openbmc/linux/drivers/iio/proximity/Kconfig
/openbmc/linux/drivers/infiniband/core/addr.c
/openbmc/linux/drivers/infiniband/hw/bnxt_re/hw_counters.c
/openbmc/linux/drivers/infiniband/hw/bnxt_re/ib_verbs.c
/openbmc/linux/drivers/infiniband/hw/bnxt_re/main.c
/openbmc/linux/drivers/infiniband/hw/bnxt_re/qplib_fp.c
/openbmc/linux/drivers/infiniband/hw/bnxt_re/qplib_fp.h
/openbmc/linux/drivers/infiniband/hw/bnxt_re/qplib_rcfw.c
/openbmc/linux/drivers/infiniband/hw/bnxt_re/qplib_rcfw.h
/openbmc/linux/drivers/infiniband/hw/bnxt_re/qplib_res.c
/openbmc/linux/drivers/infiniband/hw/bnxt_re/qplib_res.h
/openbmc/linux/drivers/infiniband/hw/bnxt_re/qplib_sp.c
/openbmc/linux/drivers/infiniband/hw/bnxt_re/qplib_sp.h
/openbmc/linux/drivers/infiniband/hw/cxgb4/cm.c
/openbmc/linux/drivers/infiniband/hw/cxgb4/provider.c
/openbmc/linux/drivers/infiniband/hw/irdma/cm.c
/openbmc/linux/drivers/infiniband/hw/mlx5/qp.c
/openbmc/linux/drivers/infiniband/ulp/srpt/ib_srpt.c
/openbmc/linux/drivers/input/joystick/xpad.c
/openbmc/linux/drivers/input/touchscreen/edt-ft5x06.c
/openbmc/linux/drivers/irqchip/irq-gic-v3-its.c
/openbmc/linux/drivers/irqchip/irq-renesas-rzg2l.c
/openbmc/linux/drivers/irqchip/irq-sifive-plic.c
/openbmc/linux/drivers/misc/mchp_pci1xxxx/mchp_pci1xxxx_otpe2p.c
/openbmc/linux/drivers/misc/mei/client.c
/openbmc/linux/drivers/misc/sgi-gru/grukservices.c
/openbmc/linux/drivers/misc/sgi-gru/grumain.c
/openbmc/linux/drivers/misc/sgi-gru/grutlbpurge.c
/openbmc/linux/drivers/mmc/host/sdhci-pci-gli.c
/openbmc/linux/drivers/net/dsa/mv88e6xxx/chip.c
/openbmc/linux/drivers/net/dsa/mv88e6xxx/chip.h
/openbmc/linux/drivers/net/dsa/mv88e6xxx/port.c
/openbmc/linux/drivers/net/dsa/mv88e6xxx/ptp.c
/openbmc/linux/drivers/net/ethernet/aeroflex/greth.c
/openbmc/linux/drivers/net/ethernet/amd/mvme147.c
/openbmc/linux/drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c
/openbmc/linux/drivers/net/ethernet/broadcom/bcmsysport.c
/openbmc/linux/drivers/net/ethernet/emulex/benet/be_main.c
/openbmc/linux/drivers/net/ethernet/freescale/fman/mac.c
/openbmc/linux/drivers/net/ethernet/freescale/fman/mac.h
/openbmc/linux/drivers/net/ethernet/i825xx/sun3_82586.c
/openbmc/linux/drivers/net/ethernet/marvell/octeon_ep/octep_rx.c
/openbmc/linux/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/cmd.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/eq.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlxsw/spectrum_ipip.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c
/openbmc/linux/drivers/net/ethernet/realtek/r8169_main.c
/openbmc/linux/drivers/net/ethernet/renesas/ravb_main.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/dwmac-tegra.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.h
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
/openbmc/linux/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
/openbmc/linux/drivers/net/gtp.c
/openbmc/linux/drivers/net/hyperv/netvsc_drv.c
/openbmc/linux/drivers/net/macsec.c
/openbmc/linux/drivers/net/mctp/mctp-i2c.c
/openbmc/linux/drivers/net/netdevsim/dev.c
/openbmc/linux/drivers/net/netdevsim/fib.c
/openbmc/linux/drivers/net/phy/dp83822.c
/openbmc/linux/drivers/net/plip/plip.c
/openbmc/linux/drivers/net/usb/usbnet.c
/openbmc/linux/drivers/net/vmxnet3/vmxnet3_xdp.c
/openbmc/linux/drivers/net/wireless/ath/ath10k/wmi-tlv.c
/openbmc/linux/drivers/net/wireless/ath/ath10k/wmi.c
/openbmc/linux/drivers/net/wireless/ath/ath11k/dp_rx.c
/openbmc/linux/drivers/net/wireless/broadcom/brcm80211/Kconfig
/openbmc/linux/drivers/net/wireless/intel/iwlegacy/common.c
/openbmc/linux/drivers/net/wireless/intel/iwlegacy/common.h
/openbmc/linux/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
/openbmc/linux/drivers/net/wireless/intel/iwlwifi/mvm/mld-mac80211.c
/openbmc/linux/drivers/net/wwan/wwan_core.c
/openbmc/linux/drivers/nvme/host/pci.c
/openbmc/linux/drivers/nvme/target/auth.c
/openbmc/linux/drivers/parport/procfs.c
/openbmc/linux/drivers/phy/freescale/phy-fsl-imx8m-pcie.c
/openbmc/linux/drivers/phy/qualcomm/phy-qcom-qmp-usb-legacy.c
/openbmc/linux/drivers/phy/qualcomm/phy-qcom-qmp-usb.c
/openbmc/linux/drivers/pinctrl/pinctrl-apple-gpio.c
/openbmc/linux/drivers/pinctrl/pinctrl-ocelot.c
/openbmc/linux/drivers/pinctrl/stm32/pinctrl-stm32.c
/openbmc/linux/drivers/platform/x86/dell/dell-wmi-base.c
/openbmc/linux/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c
/openbmc/linux/drivers/powercap/dtpm_devfreq.c
/openbmc/linux/drivers/scsi/scsi_transport_fc.c
/openbmc/linux/drivers/spi/spi-fsl-dspi.c
/openbmc/linux/drivers/spi/spi-geni-qcom.c
/openbmc/linux/drivers/staging/iio/frequency/ad9832.c
/openbmc/linux/drivers/target/target_core_device.c
/openbmc/linux/drivers/target/target_core_user.c
/openbmc/linux/drivers/thermal/intel/int340x_thermal/processor_thermal_rapl.c
/openbmc/linux/drivers/thermal/thermal_core.c
/openbmc/linux/drivers/thunderbolt/tb.c
/openbmc/linux/drivers/tty/n_gsm.c
/openbmc/linux/drivers/tty/serial/imx.c
/openbmc/linux/drivers/tty/serial/qcom_geni_serial.c
/openbmc/linux/drivers/tty/vt/vt.c
/openbmc/linux/drivers/ufs/core/ufs-mcq.c
/openbmc/linux/drivers/ufs/core/ufshcd.c
/openbmc/linux/drivers/usb/dwc3/core.c
/openbmc/linux/drivers/usb/dwc3/core.h
/openbmc/linux/drivers/usb/dwc3/gadget.c
/openbmc/linux/drivers/usb/gadget/function/f_uac2.c
/openbmc/linux/drivers/usb/gadget/udc/dummy_hcd.c
/openbmc/linux/drivers/usb/host/xhci-caps.h
/openbmc/linux/drivers/usb/host/xhci-dbgcap.h
/openbmc/linux/drivers/usb/host/xhci-dbgtty.c
/openbmc/linux/drivers/usb/host/xhci-pci.c
/openbmc/linux/drivers/usb/host/xhci-port.h
/openbmc/linux/drivers/usb/host/xhci-ring.c
/openbmc/linux/drivers/usb/host/xhci-tegra.c
/openbmc/linux/drivers/usb/host/xhci.h
/openbmc/linux/drivers/usb/phy/phy.c
/openbmc/linux/drivers/usb/serial/option.c
/openbmc/linux/drivers/usb/typec/class.c
/openbmc/linux/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c
/openbmc/linux/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
/openbmc/linux/fs/afs/dir.c
/openbmc/linux/fs/afs/dir_edit.c
/openbmc/linux/fs/afs/internal.h
/openbmc/linux/fs/btrfs/block-group.c
/openbmc/linux/fs/btrfs/dir-item.c
/openbmc/linux/fs/btrfs/inode.c
/openbmc/linux/fs/dax.c
/openbmc/linux/fs/exec.c
/openbmc/linux/fs/iomap/buffered-io.c
/openbmc/linux/fs/jfs/jfs_dmap.c
/openbmc/linux/fs/nfs/delegation.c
/openbmc/linux/fs/nfsd/nfs4state.c
/openbmc/linux/fs/nilfs2/dir.c
/openbmc/linux/fs/nilfs2/namei.c
/openbmc/linux/fs/nilfs2/nilfs.h
/openbmc/linux/fs/nilfs2/page.c
/openbmc/linux/fs/ntfs3/file.c
/openbmc/linux/fs/ntfs3/frecord.c
/openbmc/linux/fs/ntfs3/inode.c
/openbmc/linux/fs/ntfs3/lznt.c
/openbmc/linux/fs/ntfs3/namei.c
/openbmc/linux/fs/ntfs3/ntfs_fs.h
/openbmc/linux/fs/ntfs3/record.c
/openbmc/linux/fs/ocfs2/file.c
/openbmc/linux/fs/open.c
/openbmc/linux/fs/smb/client/cifs_unicode.c
/openbmc/linux/fs/smb/client/fs_context.c
/openbmc/linux/fs/smb/client/reparse.c
/openbmc/linux/fs/smb/client/reparse.h
/openbmc/linux/fs/smb/client/smb2inode.c
/openbmc/linux/fs/smb/client/smb2ops.c
/openbmc/linux/fs/smb/client/smb2pdu.c
/openbmc/linux/fs/smb/client/smb2proto.h
/openbmc/linux/fs/udf/balloc.c
/openbmc/linux/fs/udf/directory.c
/openbmc/linux/fs/udf/inode.c
/openbmc/linux/fs/udf/partition.c
/openbmc/linux/fs/udf/super.c
/openbmc/linux/fs/udf/truncate.c
/openbmc/linux/fs/udf/udfdecl.h
/openbmc/linux/fs/xfs/xfs_filestream.c
/openbmc/linux/fs/xfs/xfs_trace.h
/openbmc/linux/include/acpi/cppc_acpi.h
/openbmc/linux/include/linux/bpf.h
/openbmc/linux/include/linux/compiler-gcc.h
/openbmc/linux/include/linux/device.h
/openbmc/linux/include/linux/iomap.h
/openbmc/linux/include/linux/irqchip/arm-gic-v4.h
/openbmc/linux/include/linux/memcontrol.h
/openbmc/linux/include/linux/netdevice.h
/openbmc/linux/include/linux/sched.h
/openbmc/linux/include/linux/task_work.h
/openbmc/linux/include/linux/thermal.h
/openbmc/linux/include/linux/trace_events.h
/openbmc/linux/include/linux/ubsan.h
/openbmc/linux/include/net/bluetooth/bluetooth.h
/openbmc/linux/include/net/genetlink.h
/openbmc/linux/include/net/ip_tunnels.h
/openbmc/linux/include/net/sock.h
/openbmc/linux/include/net/xfrm.h
/openbmc/linux/include/trace/events/afs.h
/openbmc/linux/include/trace/events/huge_memory.h
/openbmc/linux/include/uapi/linux/bpf.h
/openbmc/linux/include/uapi/linux/ublk_cmd.h
/openbmc/linux/init/init_task.c
rw.c
/openbmc/linux/kernel/bpf/btf.c
/openbmc/linux/kernel/bpf/cgroup.c
/openbmc/linux/kernel/bpf/devmap.c
/openbmc/linux/kernel/bpf/helpers.c
/openbmc/linux/kernel/bpf/lpm_trie.c
/openbmc/linux/kernel/bpf/ringbuf.c
/openbmc/linux/kernel/bpf/syscall.c
/openbmc/linux/kernel/bpf/task_iter.c
/openbmc/linux/kernel/bpf/verifier.c
/openbmc/linux/kernel/cgroup/cgroup.c
/openbmc/linux/kernel/fork.c
/openbmc/linux/kernel/rcu/tasks.h
/openbmc/linux/kernel/sched/core.c
/openbmc/linux/kernel/sched/fair.c
/openbmc/linux/kernel/task_work.c
/openbmc/linux/kernel/time/posix-clock.c
/openbmc/linux/kernel/trace/bpf_trace.c
/openbmc/linux/kernel/trace/trace.c
/openbmc/linux/kernel/trace/trace_eprobe.c
/openbmc/linux/kernel/trace/trace_fprobe.c
/openbmc/linux/kernel/trace/trace_kprobe.c
/openbmc/linux/kernel/trace/trace_probe.c
/openbmc/linux/kernel/trace/trace_probe.h
/openbmc/linux/kernel/trace/trace_probe_tmpl.h
/openbmc/linux/kernel/trace/trace_uprobe.c
/openbmc/linux/lib/Kconfig.debug
/openbmc/linux/lib/Kconfig.ubsan
/openbmc/linux/lib/iov_iter.c
/openbmc/linux/mm/kasan/kasan_test.c
/openbmc/linux/mm/khugepaged.c
/openbmc/linux/mm/page_alloc.c
/openbmc/linux/mm/shmem.c
/openbmc/linux/net/bluetooth/af_bluetooth.c
/openbmc/linux/net/bluetooth/bnep/core.c
/openbmc/linux/net/bluetooth/hci_sync.c
/openbmc/linux/net/bluetooth/iso.c
/openbmc/linux/net/bluetooth/sco.c
/openbmc/linux/net/bpf/test_run.c
/openbmc/linux/net/core/dev.c
/openbmc/linux/net/core/filter.c
/openbmc/linux/net/core/rtnetlink.c
/openbmc/linux/net/core/sock_map.c
/openbmc/linux/net/ipv4/devinet.c
/openbmc/linux/net/ipv4/inet_connection_sock.c
/openbmc/linux/net/ipv4/tcp_output.c
/openbmc/linux/net/ipv4/xfrm4_policy.c
/openbmc/linux/net/ipv6/netfilter/nf_reject_ipv6.c
/openbmc/linux/net/ipv6/xfrm6_policy.c
/openbmc/linux/net/l2tp/l2tp_netlink.c
/openbmc/linux/net/mac80211/Kconfig
/openbmc/linux/net/mac80211/cfg.c
/openbmc/linux/net/mac80211/key.c
/openbmc/linux/net/mptcp/protocol.c
/openbmc/linux/net/netfilter/nf_bpf_link.c
/openbmc/linux/net/netfilter/nft_payload.c
/openbmc/linux/net/netfilter/x_tables.c
/openbmc/linux/net/netfilter/xt_NFLOG.c
/openbmc/linux/net/netfilter/xt_TRACE.c
/openbmc/linux/net/netfilter/xt_mark.c
/openbmc/linux/net/netlink/genetlink.c
/openbmc/linux/net/sched/act_api.c
/openbmc/linux/net/sched/sch_api.c
/openbmc/linux/net/sched/sch_generic.c
/openbmc/linux/net/sched/sch_taprio.c
/openbmc/linux/net/smc/smc_pnet.c
/openbmc/linux/net/smc/smc_wr.c
/openbmc/linux/net/vmw_vsock/virtio_transport_common.c
/openbmc/linux/net/vmw_vsock/vsock_bpf.c
/openbmc/linux/net/wireless/core.c
/openbmc/linux/net/wireless/nl80211.c
/openbmc/linux/net/xfrm/xfrm_device.c
/openbmc/linux/net/xfrm/xfrm_policy.c
/openbmc/linux/net/xfrm/xfrm_user.c
/openbmc/linux/security/selinux/selinuxfs.c
/openbmc/linux/sound/firewire/amdtp-stream.c
/openbmc/linux/sound/pci/hda/Kconfig
/openbmc/linux/sound/pci/hda/patch_conexant.c
/openbmc/linux/sound/pci/hda/patch_cs8409.c
/openbmc/linux/sound/pci/hda/patch_realtek.c
/openbmc/linux/sound/soc/amd/yc/acp6x-mach.c
/openbmc/linux/sound/soc/codecs/cs42l51.c
/openbmc/linux/sound/soc/codecs/lpass-rx-macro.c
/openbmc/linux/sound/soc/codecs/max98388.c
/openbmc/linux/sound/soc/fsl/fsl_micfil.c
/openbmc/linux/sound/soc/fsl/fsl_sai.c
/openbmc/linux/sound/soc/fsl/fsl_sai.h
/openbmc/linux/sound/soc/loongson/loongson_card.c
/openbmc/linux/sound/soc/qcom/lpass-cpu.c
/openbmc/linux/sound/soc/qcom/sm8250.c
/openbmc/linux/sound/soc/sh/rcar/core.c
/openbmc/linux/sound/usb/mixer_quirks.c
/openbmc/linux/tools/include/uapi/linux/bpf.h
/openbmc/linux/tools/mm/page-types.c
/openbmc/linux/tools/mm/slabinfo.c
/openbmc/linux/tools/testing/cxl/test/cxl.c
/openbmc/linux/tools/testing/selftests/bpf/Makefile
/openbmc/linux/tools/testing/selftests/bpf/bpf_experimental.h
/openbmc/linux/tools/testing/selftests/bpf/prog_tests/fill_link_info.c
/openbmc/linux/tools/testing/selftests/bpf/progs/verifier_helper_value_access.c
/openbmc/linux/tools/testing/selftests/bpf/progs/verifier_raw_stack.c
/openbmc/linux/tools/testing/selftests/ftrace/test.d/dynevent/fprobe_syntax_errors.tc
/openbmc/linux/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_syntax_errors.tc
/openbmc/linux/tools/testing/selftests/hid/Makefile
/openbmc/linux/tools/testing/selftests/mm/uffd-common.c
/openbmc/linux/tools/testing/selftests/mm/uffd-common.h
/openbmc/linux/tools/testing/selftests/mm/uffd-unit-tests.c
/openbmc/linux/tools/testing/selftests/net/mptcp/mptcp_join.sh
/openbmc/linux/tools/testing/selftests/net/mptcp/mptcp_lib.sh
/openbmc/linux/tools/usb/usbip/src/usbip_detach.c
2762b3cc15-Oct-2024 Jens Axboe <axboe@kernel.dk>

io_uring/sqpoll: close race on waiting for sqring entries

commit 28aabffae6be54284869a91cd8bccd3720041129 upstream.

When an application uses SQPOLL, it must wait for the SQPOLL thread to
consume SQ

io_uring/sqpoll: close race on waiting for sqring entries

commit 28aabffae6be54284869a91cd8bccd3720041129 upstream.

When an application uses SQPOLL, it must wait for the SQPOLL thread to
consume SQE entries, if it fails to get an sqe when calling
io_uring_get_sqe(). It can do so by calling io_uring_enter(2) with the
flag value of IORING_ENTER_SQ_WAIT. In liburing, this is generally done
with io_uring_sqring_wait(). There's a natural expectation that once
this call returns, a new SQE entry can be retrieved, filled out, and
submitted. However, the kernel uses the cached sq head to determine if
the SQRING is full or not. If the SQPOLL thread is currently in the
process of submitting SQE entries, it may have updated the cached sq
head, but not yet committed it to the SQ ring. Hence the kernel may find
that there are SQE entries ready to be consumed, and return successfully
to the application. If the SQPOLL thread hasn't yet committed the SQ
ring entries by the time the application returns to userspace and
attempts to get a new SQE, it will fail getting a new SQE.

Fix this by having io_sqring_full() always use the user visible SQ ring
head entry, rather than the internally cached one.

Cc: stable@vger.kernel.org # 5.10+
Link: https://github.com/axboe/liburing/discussions/1267
Reported-by: Benedek Thaler <thaler@thaler.hu>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...


/openbmc/linux/Makefile
/openbmc/linux/arch/arm64/include/asm/uprobes.h
/openbmc/linux/arch/arm64/kernel/probes/decode-insn.c
/openbmc/linux/arch/arm64/kernel/probes/simulate-insn.c
/openbmc/linux/arch/arm64/kernel/probes/uprobes.c
/openbmc/linux/arch/loongarch/pci/acpi.c
/openbmc/linux/arch/riscv/kernel/elf_kexec.c
/openbmc/linux/arch/riscv/kernel/entry.S
/openbmc/linux/arch/s390/include/asm/io.h
/openbmc/linux/arch/s390/kvm/diag.c
/openbmc/linux/arch/s390/kvm/gaccess.c
/openbmc/linux/arch/s390/kvm/gaccess.h
/openbmc/linux/arch/x86/entry/entry.S
/openbmc/linux/arch/x86/include/asm/cpufeatures.h
/openbmc/linux/arch/x86/kernel/amd_nb.c
/openbmc/linux/arch/x86/kernel/cpu/bugs.c
/openbmc/linux/arch/x86/kernel/cpu/common.c
/openbmc/linux/block/blk-rq-qos.c
/openbmc/linux/drivers/ata/libata-eh.c
/openbmc/linux/drivers/base/bus.c
/openbmc/linux/drivers/clk/imx/clk-imx7d.c
/openbmc/linux/drivers/comedi/drivers/ni_routing/tools/convert_c_to_py.c
/openbmc/linux/drivers/dax/device.c
/openbmc/linux/drivers/gpio/gpio-aspeed.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/core/dc.c
/openbmc/linux/drivers/gpu/drm/i915/display/intel_hdcp.c
/openbmc/linux/drivers/gpu/drm/nouveau/dispnv04/crtc.c
/openbmc/linux/drivers/gpu/drm/nouveau/nouveau_abi16.c
/openbmc/linux/drivers/gpu/drm/nouveau/nouveau_bo.c
/openbmc/linux/drivers/gpu/drm/nouveau/nouveau_chan.c
/openbmc/linux/drivers/gpu/drm/nouveau/nouveau_chan.h
/openbmc/linux/drivers/gpu/drm/nouveau/nouveau_dmem.c
/openbmc/linux/drivers/gpu/drm/nouveau/nouveau_drm.c
/openbmc/linux/drivers/gpu/drm/v3d/v3d_perfmon.c
/openbmc/linux/drivers/gpu/drm/vc4/vc4_perfmon.c
/openbmc/linux/drivers/hid/Kconfig
/openbmc/linux/drivers/hid/Makefile
/openbmc/linux/drivers/hid/amd-sfh-hid/amd_sfh_client.c
/openbmc/linux/drivers/hid/hid-asus.c
/openbmc/linux/drivers/hid/hid-ids.h
/openbmc/linux/drivers/hid/hid-mcp2200.c
/openbmc/linux/drivers/hid/hid-multitouch.c
/openbmc/linux/drivers/hid/hid-plantronics.c
/openbmc/linux/drivers/hid/i2c-hid/i2c-hid-core.c
/openbmc/linux/drivers/hid/intel-ish-hid/ishtp-fw-loader.c
/openbmc/linux/drivers/hwmon/Kconfig
/openbmc/linux/drivers/hwmon/intel-m10-bmc-hwmon.c
/openbmc/linux/drivers/hwmon/k10temp.c
/openbmc/linux/drivers/infiniband/hw/mlx5/odp.c
/openbmc/linux/drivers/iommu/intel/iommu.c
/openbmc/linux/drivers/irqchip/irq-gic-v3-its.c
/openbmc/linux/drivers/media/common/videobuf2/videobuf2-core.c
/openbmc/linux/drivers/mfd/intel_soc_pmic_chtwc.c
/openbmc/linux/drivers/net/dsa/b53/b53_common.c
/openbmc/linux/drivers/net/dsa/lan9303-core.c
/openbmc/linux/drivers/net/ethernet/adi/adin1110.c
/openbmc/linux/drivers/net/ethernet/cadence/macb_main.c
/openbmc/linux/drivers/net/ethernet/cortina/gemini.c
/openbmc/linux/drivers/net/ethernet/freescale/enetc/enetc.c
/openbmc/linux/drivers/net/ethernet/freescale/enetc/enetc.h
/openbmc/linux/drivers/net/ethernet/freescale/fec_ptp.c
/openbmc/linux/drivers/net/ethernet/ibm/emac/mal.c
/openbmc/linux/drivers/net/ethernet/intel/e1000e/hw.h
/openbmc/linux/drivers/net/ethernet/intel/e1000e/ich8lan.c
/openbmc/linux/drivers/net/ethernet/intel/e1000e/netdev.c
/openbmc/linux/drivers/net/ethernet/intel/i40e/i40e_main.c
/openbmc/linux/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
/openbmc/linux/drivers/net/ethernet/intel/ice/ice.h
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_eswitch.c
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_eswitch_br.c
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_eswitch_br.h
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_main.c
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_switch.c
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_tc_lib.c
/openbmc/linux/drivers/net/ethernet/intel/igb/igb_main.c
/openbmc/linux/drivers/net/ethernet/microchip/vcap/vcap_api_kunit.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
/openbmc/linux/drivers/net/phy/bcm84881.c
/openbmc/linux/drivers/net/phy/dp83869.c
/openbmc/linux/drivers/net/phy/phy_device.c
/openbmc/linux/drivers/net/ppp/ppp_async.c
/openbmc/linux/drivers/net/slip/slhc.c
/openbmc/linux/drivers/net/vxlan/vxlan_core.c
/openbmc/linux/drivers/net/vxlan/vxlan_private.h
/openbmc/linux/drivers/net/vxlan/vxlan_vnifilter.c
/openbmc/linux/drivers/ntb/hw/mscc/ntb_hw_switchtec.c
/openbmc/linux/drivers/nvdimm/nd_virtio.c
/openbmc/linux/drivers/powercap/intel_rapl_tpmi.c
/openbmc/linux/drivers/remoteproc/imx_rproc.c
/openbmc/linux/drivers/s390/char/sclp.c
/openbmc/linux/drivers/s390/char/sclp_vt220.c
/openbmc/linux/drivers/scsi/lpfc/lpfc_ct.c
/openbmc/linux/drivers/scsi/lpfc/lpfc_disc.h
/openbmc/linux/drivers/scsi/lpfc/lpfc_els.c
/openbmc/linux/drivers/scsi/lpfc/lpfc_vport.c
/openbmc/linux/drivers/scsi/sd.c
/openbmc/linux/drivers/scsi/wd33c93.c
/openbmc/linux/drivers/soundwire/cadence_master.c
/openbmc/linux/drivers/soundwire/cadence_master.h
/openbmc/linux/drivers/soundwire/intel.h
/openbmc/linux/drivers/soundwire/intel_auxdevice.c
/openbmc/linux/drivers/soundwire/intel_bus_common.c
/openbmc/linux/drivers/staging/vme_user/vme_fake.c
/openbmc/linux/drivers/staging/vme_user/vme_tsi148.c
/openbmc/linux/drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c
/openbmc/linux/drivers/tty/serial/serial_core.c
/openbmc/linux/drivers/ufs/core/ufshcd.c
/openbmc/linux/drivers/usb/chipidea/udc.c
/openbmc/linux/drivers/usb/dwc2/platform.c
/openbmc/linux/drivers/usb/dwc3/core.c
/openbmc/linux/drivers/usb/dwc3/core.h
/openbmc/linux/drivers/usb/dwc3/gadget.c
/openbmc/linux/drivers/usb/gadget/udc/core.c
/openbmc/linux/drivers/usb/host/xhci-pci.c
/openbmc/linux/drivers/usb/misc/yurex.c
/openbmc/linux/drivers/usb/storage/unusual_devs.h
/openbmc/linux/drivers/usb/typec/tipd/core.c
/openbmc/linux/drivers/video/fbdev/core/fbcon.c
/openbmc/linux/drivers/video/fbdev/sis/sis_main.c
/openbmc/linux/fs/btrfs/extent-tree.c
/openbmc/linux/fs/btrfs/tree-log.c
/openbmc/linux/fs/btrfs/volumes.h
/openbmc/linux/fs/btrfs/zoned.c
/openbmc/linux/fs/fat/namei_vfat.c
/openbmc/linux/fs/nfs/callback_xdr.c
/openbmc/linux/fs/nfs/client.c
/openbmc/linux/fs/nfs/nfs42proc.c
/openbmc/linux/fs/nfs/nfs4state.c
/openbmc/linux/fs/nfsd/filecache.c
/openbmc/linux/fs/proc/kcore.c
/openbmc/linux/fs/smb/client/smb2ops.c
/openbmc/linux/fs/smb/client/smb2pdu.c
/openbmc/linux/fs/smb/server/mgmt/user_session.c
/openbmc/linux/fs/smb/server/mgmt/user_session.h
/openbmc/linux/fs/smb/server/server.c
/openbmc/linux/fs/smb/server/smb2pdu.c
/openbmc/linux/fs/xfs/libxfs/xfs_attr.c
/openbmc/linux/fs/xfs/libxfs/xfs_attr.h
/openbmc/linux/fs/xfs/libxfs/xfs_attr_leaf.c
/openbmc/linux/fs/xfs/libxfs/xfs_attr_remote.c
/openbmc/linux/fs/xfs/libxfs/xfs_bmap.c
/openbmc/linux/fs/xfs/libxfs/xfs_da_btree.c
/openbmc/linux/fs/xfs/libxfs/xfs_da_format.h
/openbmc/linux/fs/xfs/libxfs/xfs_inode_buf.c
/openbmc/linux/fs/xfs/libxfs/xfs_sb.c
/openbmc/linux/fs/xfs/scrub/attr.c
/openbmc/linux/fs/xfs/scrub/common.c
/openbmc/linux/fs/xfs/scrub/scrub.h
/openbmc/linux/fs/xfs/xfs_aops.c
/openbmc/linux/fs/xfs/xfs_attr_item.c
/openbmc/linux/fs/xfs/xfs_attr_list.c
/openbmc/linux/fs/xfs/xfs_bmap_util.c
/openbmc/linux/fs/xfs/xfs_bmap_util.h
/openbmc/linux/fs/xfs/xfs_dquot.c
/openbmc/linux/fs/xfs/xfs_icache.c
/openbmc/linux/fs/xfs/xfs_inode.c
/openbmc/linux/fs/xfs/xfs_iomap.c
/openbmc/linux/fs/xfs/xfs_reflink.c
/openbmc/linux/fs/xfs/xfs_rtalloc.c
/openbmc/linux/include/linux/fsl/enetc_mdio.h
/openbmc/linux/include/linux/intel_tpmi.h
/openbmc/linux/include/linux/netlink.h
/openbmc/linux/include/linux/nfs_fs_sb.h
/openbmc/linux/include/linux/pci_ids.h
/openbmc/linux/include/linux/tcp.h
/openbmc/linux/include/net/mctp.h
/openbmc/linux/include/net/rtnetlink.h
/openbmc/linux/include/net/sch_generic.h
/openbmc/linux/include/net/sock.h
/openbmc/linux/include/uapi/linux/tcp.h
io_uring.h
/openbmc/linux/kernel/kthread.c
/openbmc/linux/kernel/rcu/tree.c
/openbmc/linux/kernel/rcu/tree_nocb.h
/openbmc/linux/kernel/time/posix-clock.c
/openbmc/linux/lib/maple_tree.c
/openbmc/linux/mm/mremap.c
/openbmc/linux/mm/secretmem.c
/openbmc/linux/mm/swapfile.c
/openbmc/linux/mm/vmscan.c
/openbmc/linux/net/bluetooth/hci_conn.c
/openbmc/linux/net/bluetooth/rfcomm/sock.c
/openbmc/linux/net/bridge/br_netfilter_hooks.c
/openbmc/linux/net/bridge/br_netlink.c
/openbmc/linux/net/bridge/br_private.h
/openbmc/linux/net/bridge/br_vlan.c
/openbmc/linux/net/core/dst.c
/openbmc/linux/net/core/rtnetlink.c
/openbmc/linux/net/ipv4/netfilter/nf_reject_ipv4.c
/openbmc/linux/net/ipv4/netfilter/nft_fib_ipv4.c
/openbmc/linux/net/ipv4/tcp.c
/openbmc/linux/net/ipv4/tcp_input.c
/openbmc/linux/net/ipv4/tcp_minisocks.c
/openbmc/linux/net/ipv4/tcp_timer.c
/openbmc/linux/net/ipv6/netfilter/nf_reject_ipv6.c
/openbmc/linux/net/ipv6/netfilter/nft_fib_ipv6.c
/openbmc/linux/net/mac80211/scan.c
/openbmc/linux/net/mctp/af_mctp.c
/openbmc/linux/net/mctp/device.c
/openbmc/linux/net/mctp/neigh.c
/openbmc/linux/net/mctp/route.c
/openbmc/linux/net/mpls/af_mpls.c
/openbmc/linux/net/mptcp/mib.c
/openbmc/linux/net/mptcp/mib.h
/openbmc/linux/net/mptcp/pm_netlink.c
/openbmc/linux/net/mptcp/protocol.c
/openbmc/linux/net/mptcp/protocol.h
/openbmc/linux/net/mptcp/subflow.c
/openbmc/linux/net/netfilter/nf_nat_core.c
/openbmc/linux/net/netfilter/xt_CHECKSUM.c
/openbmc/linux/net/netfilter/xt_CLASSIFY.c
/openbmc/linux/net/netfilter/xt_CONNSECMARK.c
/openbmc/linux/net/netfilter/xt_CT.c
/openbmc/linux/net/netfilter/xt_IDLETIMER.c
/openbmc/linux/net/netfilter/xt_LED.c
/openbmc/linux/net/netfilter/xt_NFLOG.c
/openbmc/linux/net/netfilter/xt_RATEEST.c
/openbmc/linux/net/netfilter/xt_SECMARK.c
/openbmc/linux/net/netfilter/xt_TRACE.c
/openbmc/linux/net/netfilter/xt_addrtype.c
/openbmc/linux/net/netfilter/xt_cluster.c
/openbmc/linux/net/netfilter/xt_connbytes.c
/openbmc/linux/net/netfilter/xt_connlimit.c
/openbmc/linux/net/netfilter/xt_connmark.c
/openbmc/linux/net/netfilter/xt_mark.c
/openbmc/linux/net/netlink/af_netlink.c
/openbmc/linux/net/netlink/af_netlink.h
/openbmc/linux/net/phonet/pn_netlink.c
/openbmc/linux/net/rxrpc/sendmsg.c
/openbmc/linux/net/sched/sch_api.c
/openbmc/linux/net/sctp/socket.c
/openbmc/linux/net/socket.c
/openbmc/linux/sound/pci/hda/patch_conexant.c
/openbmc/linux/tools/iio/iio_generic_buffer.c
/openbmc/linux/tools/testing/selftests/mm/hmm-tests.c
/openbmc/linux/tools/testing/selftests/mm/uffd-common.c
/openbmc/linux/tools/testing/selftests/mm/uffd-common.h
/openbmc/linux/tools/testing/selftests/mm/uffd-unit-tests.c
/openbmc/linux/tools/testing/selftests/net/forwarding/no_forwarding.sh
/openbmc/linux/tools/testing/selftests/rseq/rseq.c
/openbmc/linux/tools/testing/selftests/rseq/rseq.h
f4ce3b5d20-Sep-2024 Jens Axboe <axboe@kernel.dk>

io_uring: check if we need to reschedule during overflow flush

[ Upstream commit eac2ca2d682f94f46b1973bdf5e77d85d77b8e53 ]

In terms of normal application usage, this list will always be empty.
And

io_uring: check if we need to reschedule during overflow flush

[ Upstream commit eac2ca2d682f94f46b1973bdf5e77d85d77b8e53 ]

In terms of normal application usage, this list will always be empty.
And if an application does overflow a bit, it'll have a few entries.
However, nothing obviously prevents syzbot from running a test case
that generates a ton of overflow entries, and then flushing them can
take quite a while.

Check for needing to reschedule while flushing, and drop our locks and
do so if necessary. There's no state to maintain here as overflows
always prune from head-of-list, hence it's fine to drop and reacquire
the locks at the end of the loop.

Link: https://lore.kernel.org/io-uring/66ed061d.050a0220.29194.0053.GAE@google.com/
Reported-by: syzbot+5fca234bd7eb378ff78e@syzkaller.appspotmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>

show more ...


/openbmc/linux/Documentation/dev-tools/kselftest.rst
/openbmc/linux/Makefile
/openbmc/linux/arch/loongarch/configs/loongson3_defconfig
/openbmc/linux/arch/powerpc/configs/ppc64_defconfig
/openbmc/linux/arch/powerpc/configs/ps3_defconfig
/openbmc/linux/arch/riscv/include/asm/sbi.h
/openbmc/linux/arch/riscv/include/asm/sparsemem.h
/openbmc/linux/arch/riscv/include/asm/thread_info.h
/openbmc/linux/arch/riscv/kernel/cpu.c
/openbmc/linux/arch/riscv/kernel/cpufeature.c
/openbmc/linux/arch/s390/include/asm/facility.h
/openbmc/linux/arch/s390/kernel/perf_cpum_sf.c
/openbmc/linux/arch/s390/mm/cmm.c
/openbmc/linux/arch/x86/net/bpf_jit_comp.c
/openbmc/linux/drivers/acpi/battery.c
/openbmc/linux/drivers/ata/ahci.c
/openbmc/linux/drivers/block/null_blk/main.c
/openbmc/linux/drivers/block/zram/zram_drv.c
/openbmc/linux/drivers/bus/mhi/ep/internal.h
/openbmc/linux/drivers/bus/mhi/ep/main.c
/openbmc/linux/drivers/bus/mhi/ep/ring.c
/openbmc/linux/drivers/char/virtio_console.c
/openbmc/linux/drivers/clk/bcm/clk-bcm53573-ilp.c
/openbmc/linux/drivers/clk/qcom/gcc-sc8180x.c
/openbmc/linux/drivers/crypto/marvell/Kconfig
/openbmc/linux/drivers/firmware/efi/unaccepted_memory.c
/openbmc/linux/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
/openbmc/linux/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dc_dp_types.h
/openbmc/linux/drivers/gpu/drm/amd/display/dc/link/accessories/link_dp_cts.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/link/hwss/link_hwss_hpo_dp.c
/openbmc/linux/drivers/gpu/drm/amd/display/include/dpcd_defs.h
/openbmc/linux/drivers/gpu/drm/amd/display/modules/hdcp/hdcp1_execution.c
/openbmc/linux/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
/openbmc/linux/drivers/gpu/drm/drm_crtc.c
/openbmc/linux/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c
/openbmc/linux/drivers/gpu/drm/rockchip/rockchip_vop_reg.c
/openbmc/linux/drivers/i2c/busses/i2c-i801.c
/openbmc/linux/drivers/i3c/master/i3c-master-cdns.c
/openbmc/linux/drivers/iio/pressure/bmp280-core.c
/openbmc/linux/drivers/iio/pressure/bmp280-regmap.c
/openbmc/linux/drivers/iio/pressure/bmp280-spi.c
/openbmc/linux/drivers/iio/pressure/bmp280.h
/openbmc/linux/drivers/infiniband/core/mad.c
/openbmc/linux/drivers/infiniband/hw/mana/main.c
/openbmc/linux/drivers/infiniband/ulp/rtrs/rtrs-srv.c
/openbmc/linux/drivers/input/rmi4/rmi_driver.c
/openbmc/linux/drivers/iommu/iommufd/selftest.c
/openbmc/linux/drivers/media/i2c/imx335.c
/openbmc/linux/drivers/net/ethernet/amd/pds_core/main.c
/openbmc/linux/drivers/net/ethernet/cortina/gemini.c
/openbmc/linux/drivers/net/ethernet/freescale/fec_main.c
/openbmc/linux/drivers/net/ethernet/intel/e1000e/ich8lan.c
/openbmc/linux/drivers/net/ethernet/intel/e1000e/netdev.c
/openbmc/linux/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h
/openbmc/linux/drivers/net/ethernet/intel/i40e/i40e_diag.h
/openbmc/linux/drivers/net/ethernet/intel/i40e/i40e_register.h
/openbmc/linux/drivers/net/ethernet/intel/i40e/i40e_type.h
/openbmc/linux/drivers/net/ethernet/microsoft/Kconfig
/openbmc/linux/drivers/net/ethernet/microsoft/mana/gdma_main.c
/openbmc/linux/drivers/net/ethernet/microsoft/mana/hw_channel.c
/openbmc/linux/drivers/net/ethernet/microsoft/mana/mana_en.c
/openbmc/linux/drivers/net/ethernet/microsoft/mana/shm_channel.c
/openbmc/linux/drivers/net/ethernet/realtek/r8169_main.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/stmmac.h
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
/openbmc/linux/drivers/pci/endpoint/functions/pci-epf-mhi.c
/openbmc/linux/drivers/pci/quirks.c
/openbmc/linux/drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c
/openbmc/linux/drivers/platform/x86/think-lmi.c
/openbmc/linux/drivers/remoteproc/ti_k3_r5_remoteproc.c
/openbmc/linux/drivers/scsi/sd.c
/openbmc/linux/drivers/soundwire/intel_bus_common.c
/openbmc/linux/drivers/spi/spi-fsl-lpspi.c
/openbmc/linux/drivers/vhost/scsi.c
/openbmc/linux/fs/btrfs/backref.c
/openbmc/linux/fs/btrfs/relocation.c
/openbmc/linux/fs/btrfs/relocation.h
/openbmc/linux/fs/ext4/super.c
/openbmc/linux/fs/ext4/xattr.c
/openbmc/linux/fs/gfs2/quota.c
/openbmc/linux/fs/ntfs3/file.c
/openbmc/linux/fs/ntfs3/frecord.c
/openbmc/linux/fs/ntfs3/fslog.c
/openbmc/linux/fs/ntfs3/namei.c
/openbmc/linux/fs/unicode/mkutf8data.c
/openbmc/linux/fs/unicode/utf8data.c_shipped
/openbmc/linux/include/dt-bindings/clock/qcom,gcc-sc8180x.h
/openbmc/linux/include/linux/bpf.h
/openbmc/linux/include/linux/jbd2.h
/openbmc/linux/include/linux/mhi_ep.h
/openbmc/linux/include/linux/pci.h
/openbmc/linux/include/linux/pci_ids.h
/openbmc/linux/include/linux/stmmac.h
/openbmc/linux/include/net/mana/gdma.h
/openbmc/linux/include/net/mana/mana.h
/openbmc/linux/include/scsi/scsi_device.h
/openbmc/linux/include/sound/cs35l56.h
/openbmc/linux/include/sound/tas2781-tlv.h
io_uring.c
/openbmc/linux/kernel/bpf/arraymap.c
/openbmc/linux/kernel/bpf/core.c
/openbmc/linux/kernel/bpf/hashtab.c
/openbmc/linux/kernel/events/uprobes.c
/openbmc/linux/kernel/sched/psi.c
/openbmc/linux/kernel/trace/trace.c
/openbmc/linux/kernel/trace/trace_output.c
/openbmc/linux/lib/bootconfig.c
/openbmc/linux/lib/build_OID_registry
/openbmc/linux/lib/buildid.c
/openbmc/linux/mm/Kconfig
/openbmc/linux/net/bluetooth/hci_core.c
/openbmc/linux/net/ceph/messenger_v2.c
/openbmc/linux/net/dsa/slave.c
/openbmc/linux/net/netfilter/nf_tables_api.c
/openbmc/linux/net/netfilter/nft_set_bitmap.c
/openbmc/linux/net/netfilter/nft_set_hash.c
/openbmc/linux/net/netfilter/nft_set_pipapo.c
/openbmc/linux/net/netfilter/nft_set_rbtree.c
/openbmc/linux/net/rxrpc/ar-internal.h
/openbmc/linux/net/rxrpc/io_thread.c
/openbmc/linux/net/rxrpc/local_object.c
/openbmc/linux/sound/pci/hda/hda_intel.c
/openbmc/linux/sound/pci/hda/patch_realtek.c
/openbmc/linux/sound/soc/codecs/cs35l56-shared.c
/openbmc/linux/sound/soc/codecs/cs35l56.c
/openbmc/linux/sound/soc/codecs/cs35l56.h
/openbmc/linux/tools/lib/subcmd/parse-options.c
/openbmc/linux/tools/perf/builtin-kmem.c
/openbmc/linux/tools/perf/builtin-kvm.c
/openbmc/linux/tools/perf/builtin-kwork.c
/openbmc/linux/tools/perf/builtin-lock.c
/openbmc/linux/tools/perf/builtin-mem.c
/openbmc/linux/tools/perf/builtin-sched.c
/openbmc/linux/tools/perf/util/hist.c
/openbmc/linux/tools/perf/util/machine.c
/openbmc/linux/tools/perf/util/setup.py
/openbmc/linux/tools/perf/util/thread.c
/openbmc/linux/tools/perf/util/thread.h
/openbmc/linux/tools/testing/ktest/ktest.pl
/openbmc/linux/tools/testing/selftests/Makefile
/openbmc/linux/tools/testing/selftests/bpf/progs/verifier_int_ptr.c
/openbmc/linux/tools/testing/selftests/lib.mk
/openbmc/linux/tools/testing/selftests/net/setup_loopback.sh
24f7989e26-Sep-2024 Jens Axboe <axboe@kernel.dk>

io_uring/net: harden multishot termination case for recv

[ Upstream commit c314094cb4cfa6fc5a17f4881ead2dfebfa717a7 ]

If the recv returns zero, or an error, then it doesn't matter if more
data has

io_uring/net: harden multishot termination case for recv

[ Upstream commit c314094cb4cfa6fc5a17f4881ead2dfebfa717a7 ]

If the recv returns zero, or an error, then it doesn't matter if more
data has already been received for this buffer. A condition like that
should terminate the multishot receive. Rather than pass in the
collected return value, pass in whether to terminate or keep the recv
going separately.

Note that this isn't a bug right now, as the only way to get there is
via setting MSG_WAITALL with multishot receive. And if an application
does that, then -EINVAL is returned anyway. But it seems like an easy
bug to introduce, so let's make it a bit more explicit.

Link: https://github.com/axboe/liburing/issues/1246
Cc: stable@vger.kernel.org
Fixes: b3fdea6ecb55 ("io_uring: multishot recv")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>

show more ...


/openbmc/linux/.gitignore
/openbmc/linux/Documentation/admin-guide/kernel-parameters.txt
/openbmc/linux/Documentation/arch/arm64/silicon-errata.rst
/openbmc/linux/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
/openbmc/linux/Documentation/devicetree/bindings/spi/spi-nxp-fspi.yaml
/openbmc/linux/Documentation/virt/kvm/locking.rst
/openbmc/linux/Makefile
/openbmc/linux/arch/arm/boot/dts/nxp/imx/imx6ul-geam.dts
/openbmc/linux/arch/arm/crypto/aes-ce-glue.c
/openbmc/linux/arch/arm/crypto/aes-neonbs-glue.c
/openbmc/linux/arch/arm64/Kconfig
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sa8775p.dtsi
/openbmc/linux/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
/openbmc/linux/arch/arm64/include/asm/cputype.h
/openbmc/linux/arch/arm64/include/asm/esr.h
/openbmc/linux/arch/arm64/kernel/cpu_errata.c
/openbmc/linux/arch/arm64/kvm/hyp/nvhe/ffa.c
/openbmc/linux/arch/parisc/include/asm/mman.h
/openbmc/linux/arch/parisc/kernel/entry.S
/openbmc/linux/arch/parisc/kernel/syscall.S
/openbmc/linux/arch/powerpc/include/asm/asm-compat.h
/openbmc/linux/arch/powerpc/include/asm/atomic.h
/openbmc/linux/arch/powerpc/include/asm/uaccess.h
/openbmc/linux/arch/powerpc/include/asm/vdso_datapage.h
/openbmc/linux/arch/powerpc/kernel/asm-offsets.c
/openbmc/linux/arch/powerpc/kernel/vdso/cacheflush.S
/openbmc/linux/arch/powerpc/kernel/vdso/datapage.S
/openbmc/linux/arch/powerpc/platforms/pseries/dlpar.c
/openbmc/linux/arch/powerpc/platforms/pseries/hotplug-cpu.c
/openbmc/linux/arch/powerpc/platforms/pseries/hotplug-memory.c
/openbmc/linux/arch/powerpc/platforms/pseries/pmem.c
/openbmc/linux/arch/riscv/Kconfig
/openbmc/linux/arch/riscv/include/asm/thread_info.h
/openbmc/linux/arch/x86/coco/tdx/tdx.c
/openbmc/linux/arch/x86/crypto/sha256-avx2-asm.S
/openbmc/linux/arch/x86/events/core.c
/openbmc/linux/arch/x86/events/intel/pt.c
/openbmc/linux/arch/x86/include/asm/fpu/signal.h
/openbmc/linux/arch/x86/include/asm/hardirq.h
/openbmc/linux/arch/x86/include/asm/idtentry.h
/openbmc/linux/arch/x86/include/asm/syscall.h
/openbmc/linux/arch/x86/kernel/apic/io_apic.c
/openbmc/linux/arch/x86/kernel/fpu/signal.c
/openbmc/linux/arch/x86/kernel/machine_kexec_64.c
/openbmc/linux/arch/x86/kernel/signal.c
/openbmc/linux/arch/x86/kernel/signal_64.c
/openbmc/linux/arch/x86/kvm/lapic.c
/openbmc/linux/block/blk-iocost.c
/openbmc/linux/crypto/asymmetric_keys/asymmetric_type.c
/openbmc/linux/crypto/simd.c
/openbmc/linux/drivers/accel/ivpu/ivpu_fw.c
/openbmc/linux/drivers/acpi/acpi_pad.c
/openbmc/linux/drivers/acpi/acpica/dbconvert.c
/openbmc/linux/drivers/acpi/acpica/exprep.c
/openbmc/linux/drivers/acpi/acpica/psargs.c
/openbmc/linux/drivers/acpi/cppc_acpi.c
/openbmc/linux/drivers/acpi/device_sysfs.c
/openbmc/linux/drivers/acpi/ec.c
/openbmc/linux/drivers/acpi/resource.c
/openbmc/linux/drivers/acpi/video_detect.c
/openbmc/linux/drivers/ata/libata-scsi.c
/openbmc/linux/drivers/ata/pata_serverworks.c
/openbmc/linux/drivers/ata/sata_sil.c
/openbmc/linux/drivers/base/firmware_loader/main.c
/openbmc/linux/drivers/block/aoe/aoecmd.c
/openbmc/linux/drivers/block/drbd/drbd_main.c
/openbmc/linux/drivers/block/drbd/drbd_state.c
/openbmc/linux/drivers/block/loop.c
/openbmc/linux/drivers/bluetooth/btmrvl_sdio.c
/openbmc/linux/drivers/bluetooth/btrtl.c
/openbmc/linux/drivers/bluetooth/btusb.c
/openbmc/linux/drivers/bus/arm-integrator-lm.c
/openbmc/linux/drivers/bus/mhi/host/pci_generic.c
/openbmc/linux/drivers/char/hw_random/bcm2835-rng.c
/openbmc/linux/drivers/char/hw_random/cctrng.c
/openbmc/linux/drivers/char/hw_random/mtk-rng.c
/openbmc/linux/drivers/clk/qcom/clk-alpha-pll.c
/openbmc/linux/drivers/clk/qcom/clk-rpmh.c
/openbmc/linux/drivers/clk/qcom/dispcc-sm8250.c
/openbmc/linux/drivers/clk/qcom/gcc-sc8180x.c
/openbmc/linux/drivers/clk/qcom/gcc-sm8250.c
/openbmc/linux/drivers/clk/qcom/gcc-sm8450.c
/openbmc/linux/drivers/clk/rockchip/clk.c
/openbmc/linux/drivers/clk/samsung/clk-exynos7885.c
/openbmc/linux/drivers/cpufreq/intel_pstate.c
/openbmc/linux/drivers/cpuidle/cpuidle-riscv-sbi.c
/openbmc/linux/drivers/crypto/ccp/sev-dev.c
/openbmc/linux/drivers/crypto/marvell/octeontx/otx_cptvf_algs.c
/openbmc/linux/drivers/crypto/marvell/octeontx2/otx2_cptvf_algs.c
/openbmc/linux/drivers/edac/igen6_edac.c
/openbmc/linux/drivers/firmware/efi/libstub/tpm.c
/openbmc/linux/drivers/firmware/tegra/bpmp.c
/openbmc/linux/drivers/gpio/gpio-davinci.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.h
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_device.c
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager.c
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_process.c
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
/openbmc/linux/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
/openbmc/linux/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
/openbmc/linux/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
/openbmc/linux/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/core/dc.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dc_dp_types.h
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dc_dsc.h
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dc_types.h
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_cm_common.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_cm_common.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_rq_dlg_calc_20v2.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dml/dcn21/display_rq_dlg_calc_21.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dsc/dc_dsc.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/link/accessories/link_dp_cts.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/link/hwss/link_hwss_hpo_dp.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/link/link_factory.c
/openbmc/linux/drivers/gpu/drm/amd/display/include/dpcd_defs.h
/openbmc/linux/drivers/gpu/drm/amd/display/modules/freesync/freesync.c
/openbmc/linux/drivers/gpu/drm/amd/pm/powerplay/hwmgr/processpptables.c
/openbmc/linux/drivers/gpu/drm/drm_atomic_uapi.c
/openbmc/linux/drivers/gpu/drm/drm_print.c
/openbmc/linux/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
/openbmc/linux/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
/openbmc/linux/drivers/gpu/drm/msm/adreno/adreno_gpu.c
/openbmc/linux/drivers/gpu/drm/msm/msm_gpu.c
/openbmc/linux/drivers/gpu/drm/omapdrm/omap_drv.c
/openbmc/linux/drivers/gpu/drm/radeon/r100.c
/openbmc/linux/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
/openbmc/linux/drivers/gpu/drm/rockchip/rockchip_drm_vop.h
/openbmc/linux/drivers/gpu/drm/rockchip/rockchip_vop_reg.c
/openbmc/linux/drivers/gpu/drm/scheduler/sched_entity.c
/openbmc/linux/drivers/gpu/drm/stm/drv.c
/openbmc/linux/drivers/gpu/drm/stm/ltdc.c
/openbmc/linux/drivers/hid/hid-ids.h
/openbmc/linux/drivers/hid/hid-input.c
/openbmc/linux/drivers/hid/hid-multitouch.c
/openbmc/linux/drivers/hwmon/nct6775-platform.c
/openbmc/linux/drivers/i2c/busses/i2c-aspeed.c
/openbmc/linux/drivers/i2c/busses/i2c-designware-common.c
/openbmc/linux/drivers/i2c/busses/i2c-designware-core.h
/openbmc/linux/drivers/i2c/busses/i2c-designware-master.c
/openbmc/linux/drivers/i2c/busses/i2c-isch.c
/openbmc/linux/drivers/i2c/busses/i2c-qcom-geni.c
/openbmc/linux/drivers/i2c/busses/i2c-stm32f7.c
/openbmc/linux/drivers/i2c/busses/i2c-synquacer.c
/openbmc/linux/drivers/i2c/busses/i2c-xiic.c
/openbmc/linux/drivers/i2c/i2c-core-base.c
/openbmc/linux/drivers/i3c/master/svc-i3c-master.c
/openbmc/linux/drivers/iio/magnetometer/ak8975.c
/openbmc/linux/drivers/infiniband/hw/mana/main.c
/openbmc/linux/drivers/input/keyboard/adp5588-keys.c
/openbmc/linux/drivers/input/keyboard/adp5589-keys.c
/openbmc/linux/drivers/input/serio/i8042-acpipnpio.h
/openbmc/linux/drivers/iommu/intel/dmar.c
/openbmc/linux/drivers/iommu/intel/iommu.c
/openbmc/linux/drivers/iommu/iommufd/io_pagetable.c
/openbmc/linux/drivers/mailbox/bcm2835-mailbox.c
/openbmc/linux/drivers/mailbox/rockchip-mailbox.c
/openbmc/linux/drivers/media/i2c/ar0521.c
/openbmc/linux/drivers/media/i2c/ov5675.c
/openbmc/linux/drivers/media/platform/qcom/camss/camss-video.c
/openbmc/linux/drivers/media/platform/qcom/camss/camss.c
/openbmc/linux/drivers/media/platform/qcom/venus/core.c
/openbmc/linux/drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c
/openbmc/linux/drivers/media/tuners/tuner-i2c.h
/openbmc/linux/drivers/media/usb/usbtv/usbtv-video.c
/openbmc/linux/drivers/memory/tegra/tegra186-emc.c
/openbmc/linux/drivers/net/can/dev/netlink.c
/openbmc/linux/drivers/net/can/usb/esd_usb.c
/openbmc/linux/drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c
/openbmc/linux/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
/openbmc/linux/drivers/net/ethernet/freescale/fec.h
/openbmc/linux/drivers/net/ethernet/freescale/fec_main.c
/openbmc/linux/drivers/net/ethernet/freescale/fec_ptp.c
/openbmc/linux/drivers/net/ethernet/hisilicon/hip04_eth.c
/openbmc/linux/drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c
/openbmc/linux/drivers/net/ethernet/hisilicon/hns_mdio.c
/openbmc/linux/drivers/net/ethernet/intel/e1000e/netdev.c
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_sched.c
/openbmc/linux/drivers/net/ethernet/lantiq_etop.c
/openbmc/linux/drivers/net/ethernet/marvell/mvpp2/mvpp2.h
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en/tir.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/lib/pci_vsc.c
/openbmc/linux/drivers/net/ethernet/microchip/sparx5/sparx5_packet.c
/openbmc/linux/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
/openbmc/linux/drivers/net/ieee802154/Kconfig
/openbmc/linux/drivers/net/ieee802154/mcr20a.c
/openbmc/linux/drivers/net/pcs/pcs-xpcs-wx.c
/openbmc/linux/drivers/net/ppp/ppp_generic.c
/openbmc/linux/drivers/net/usb/usbnet.c
/openbmc/linux/drivers/net/vrf.c
/openbmc/linux/drivers/net/wireless/ath/ath11k/dp_rx.c
/openbmc/linux/drivers/net/wireless/ath/ath12k/dp_rx.c
/openbmc/linux/drivers/net/wireless/ath/ath9k/debug.c
/openbmc/linux/drivers/net/wireless/ath/ath9k/hif_usb.c
/openbmc/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil.c
/openbmc/linux/drivers/net/wireless/intel/iwlwifi/fw/api/scan.h
/openbmc/linux/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
/openbmc/linux/drivers/net/wireless/intel/iwlwifi/mvm/mld-key.c
/openbmc/linux/drivers/net/wireless/intel/iwlwifi/mvm/scan.c
/openbmc/linux/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
/openbmc/linux/drivers/net/wireless/marvell/mwifiex/fw.h
/openbmc/linux/drivers/net/wireless/marvell/mwifiex/scan.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7615/init.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7915/init.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7915/mac.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7915/main.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7921/init.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
/openbmc/linux/drivers/net/wireless/realtek/rtw88/Kconfig
/openbmc/linux/drivers/net/wireless/realtek/rtw88/fw.c
/openbmc/linux/drivers/net/wireless/realtek/rtw88/rtw8821cu.c
/openbmc/linux/drivers/net/wireless/realtek/rtw88/rtw8822c.c
/openbmc/linux/drivers/net/wireless/realtek/rtw89/mac80211.c
/openbmc/linux/drivers/net/wireless/realtek/rtw89/phy.c
/openbmc/linux/drivers/net/wireless/realtek/rtw89/util.h
/openbmc/linux/drivers/net/wwan/qcom_bam_dmux.c
/openbmc/linux/drivers/net/xen-netback/hash.c
/openbmc/linux/drivers/of/address.c
/openbmc/linux/drivers/of/irq.c
/openbmc/linux/drivers/pci/controller/dwc/pci-dra7xx.c
/openbmc/linux/drivers/pci/controller/dwc/pci-imx6.c
/openbmc/linux/drivers/pci/controller/pcie-xilinx-nwl.c
/openbmc/linux/drivers/pci/pci.c
/openbmc/linux/drivers/pci/pci.h
/openbmc/linux/drivers/pci/quirks.c
/openbmc/linux/drivers/perf/arm-cmn.c
/openbmc/linux/drivers/perf/arm_spe_pmu.c
/openbmc/linux/drivers/platform/x86/intel/speed_select_if/isst_if_common.c
/openbmc/linux/drivers/platform/x86/lenovo-ymc.c
/openbmc/linux/drivers/platform/x86/touchscreen_dmi.c
/openbmc/linux/drivers/platform/x86/x86-android-tablets/core.c
/openbmc/linux/drivers/power/reset/brcmstb-reboot.c
/openbmc/linux/drivers/power/supply/power_supply_hwmon.c
/openbmc/linux/drivers/pps/clients/pps_parport.c
/openbmc/linux/drivers/remoteproc/ti_k3_r5_remoteproc.c
/openbmc/linux/drivers/rtc/rtc-at91sam9.c
/openbmc/linux/drivers/scsi/NCR5380.c
/openbmc/linux/drivers/scsi/aacraid/aacraid.h
/openbmc/linux/drivers/scsi/lpfc/lpfc_els.c
/openbmc/linux/drivers/scsi/lpfc/lpfc_nportdisc.c
/openbmc/linux/drivers/scsi/mac_scsi.c
/openbmc/linux/drivers/scsi/pm8001/pm8001_init.c
/openbmc/linux/drivers/scsi/sd.c
/openbmc/linux/drivers/scsi/smartpqi/smartpqi_init.c
/openbmc/linux/drivers/scsi/st.c
/openbmc/linux/drivers/soc/fsl/qe/tsa.c
/openbmc/linux/drivers/soc/qcom/smd-rpm.c
/openbmc/linux/drivers/soc/versatile/soc-integrator.c
/openbmc/linux/drivers/soc/versatile/soc-realview.c
/openbmc/linux/drivers/spi/atmel-quadspi.c
/openbmc/linux/drivers/spi/spi-bcm63xx.c
/openbmc/linux/drivers/spi/spi-cadence.c
/openbmc/linux/drivers/spi/spi-imx.c
/openbmc/linux/drivers/spi/spi-nxp-fspi.c
/openbmc/linux/drivers/spi/spi-rpc-if.c
/openbmc/linux/drivers/spi/spi-s3c64xx.c
/openbmc/linux/drivers/thunderbolt/switch.c
/openbmc/linux/drivers/thunderbolt/tb.c
/openbmc/linux/drivers/thunderbolt/tb.h
/openbmc/linux/drivers/thunderbolt/tb_regs.h
/openbmc/linux/drivers/thunderbolt/tunnel.c
/openbmc/linux/drivers/thunderbolt/tunnel.h
/openbmc/linux/drivers/thunderbolt/usb4.c
/openbmc/linux/drivers/tty/serial/qcom_geni_serial.c
/openbmc/linux/drivers/tty/serial/rp2.c
/openbmc/linux/drivers/tty/serial/serial_core.c
/openbmc/linux/drivers/ufs/host/ufs-qcom.c
/openbmc/linux/drivers/usb/cdns3/cdnsp-ring.c
/openbmc/linux/drivers/usb/cdns3/host.c
/openbmc/linux/drivers/usb/class/cdc-acm.c
/openbmc/linux/drivers/usb/dwc2/drd.c
/openbmc/linux/drivers/usb/host/xhci-mem.c
/openbmc/linux/drivers/usb/host/xhci-pci.c
/openbmc/linux/drivers/usb/host/xhci-ring.c
/openbmc/linux/drivers/usb/host/xhci.h
/openbmc/linux/drivers/usb/misc/appledisplay.c
/openbmc/linux/drivers/usb/misc/cypress_cy7c63.c
/openbmc/linux/drivers/usb/misc/yurex.c
/openbmc/linux/drivers/video/fbdev/efifb.c
/openbmc/linux/drivers/video/fbdev/pxafb.c
/openbmc/linux/fs/btrfs/btrfs_inode.h
/openbmc/linux/fs/btrfs/ctree.h
/openbmc/linux/fs/btrfs/disk-io.c
/openbmc/linux/fs/btrfs/extent-tree.c
/openbmc/linux/fs/btrfs/file.c
/openbmc/linux/fs/btrfs/ioctl.c
/openbmc/linux/fs/btrfs/relocation.c
/openbmc/linux/fs/btrfs/send.c
/openbmc/linux/fs/btrfs/subpage.c
/openbmc/linux/fs/btrfs/tree-checker.c
/openbmc/linux/fs/cachefiles/namei.c
/openbmc/linux/fs/ceph/addr.c
/openbmc/linux/fs/crypto/fname.c
/openbmc/linux/fs/dax.c
/openbmc/linux/fs/ecryptfs/crypto.c
/openbmc/linux/fs/exec.c
/openbmc/linux/fs/exfat/balloc.c
/openbmc/linux/fs/ext4/dir.c
/openbmc/linux/fs/ext4/extents.c
/openbmc/linux/fs/ext4/fast_commit.c
/openbmc/linux/fs/ext4/file.c
/openbmc/linux/fs/ext4/inode.c
/openbmc/linux/fs/ext4/migrate.c
/openbmc/linux/fs/ext4/move_extent.c
/openbmc/linux/fs/ext4/namei.c
/openbmc/linux/fs/ext4/super.c
/openbmc/linux/fs/ext4/xattr.c
/openbmc/linux/fs/f2fs/dir.c
/openbmc/linux/fs/f2fs/extent_cache.c
/openbmc/linux/fs/f2fs/f2fs.h
/openbmc/linux/fs/f2fs/file.c
/openbmc/linux/fs/f2fs/super.c
/openbmc/linux/fs/fcntl.c
/openbmc/linux/fs/file.c
/openbmc/linux/fs/inode.c
/openbmc/linux/fs/iomap/buffered-io.c
/openbmc/linux/fs/jbd2/checkpoint.c
/openbmc/linux/fs/jbd2/journal.c
/openbmc/linux/fs/jfs/jfs_discard.c
/openbmc/linux/fs/jfs/jfs_dmap.c
/openbmc/linux/fs/jfs/xattr.c
/openbmc/linux/fs/namei.c
/openbmc/linux/fs/nfs/nfs4state.c
/openbmc/linux/fs/nfsd/nfs4state.c
/openbmc/linux/fs/nfsd/nfs4xdr.c
/openbmc/linux/fs/nfsd/vfs.c
/openbmc/linux/fs/ocfs2/aops.c
/openbmc/linux/fs/ocfs2/buffer_head_io.c
/openbmc/linux/fs/ocfs2/journal.c
/openbmc/linux/fs/ocfs2/localalloc.c
/openbmc/linux/fs/ocfs2/quota_local.c
/openbmc/linux/fs/ocfs2/refcounttree.c
/openbmc/linux/fs/ocfs2/xattr.c
/openbmc/linux/fs/overlayfs/params.c
/openbmc/linux/fs/proc/base.c
/openbmc/linux/fs/smb/client/cifsfs.c
/openbmc/linux/fs/smb/client/cifsglob.h
/openbmc/linux/fs/smb/client/inode.c
/openbmc/linux/fs/smb/client/reparse.c
/openbmc/linux/fs/smb/client/smb1ops.c
/openbmc/linux/fs/smb/client/smb2inode.c
/openbmc/linux/fs/smb/client/smb2ops.c
/openbmc/linux/fs/smb/server/connection.c
/openbmc/linux/fs/smb/server/connection.h
/openbmc/linux/fs/smb/server/oplock.c
/openbmc/linux/fs/smb/server/vfs.c
/openbmc/linux/fs/smb/server/vfs_cache.c
/openbmc/linux/include/crypto/internal/simd.h
/openbmc/linux/include/drm/drm_print.h
/openbmc/linux/include/dt-bindings/clock/exynos7885.h
/openbmc/linux/include/linux/bitmap.h
/openbmc/linux/include/linux/cpufreq.h
/openbmc/linux/include/linux/fdtable.h
/openbmc/linux/include/linux/fs.h
/openbmc/linux/include/linux/i2c.h
/openbmc/linux/include/linux/netdevice.h
/openbmc/linux/include/linux/perf_event.h
/openbmc/linux/include/linux/uprobes.h
/openbmc/linux/include/linux/usb/usbnet.h
/openbmc/linux/include/linux/virtio_net.h
/openbmc/linux/include/linux/xarray.h
/openbmc/linux/include/net/ip.h
/openbmc/linux/include/uapi/linux/cec.h
/openbmc/linux/include/uapi/linux/netfilter/nf_tables.h
net.c
/openbmc/linux/kernel/bpf/verifier.c
/openbmc/linux/kernel/events/core.c
/openbmc/linux/kernel/events/uprobes.c
/openbmc/linux/kernel/fork.c
/openbmc/linux/kernel/jump_label.c
/openbmc/linux/kernel/locking/lockdep.c
/openbmc/linux/kernel/module/Makefile
/openbmc/linux/kernel/padata.c
/openbmc/linux/kernel/rcu/rcuscale.c
/openbmc/linux/kernel/resource.c
/openbmc/linux/kernel/static_call_inline.c
/openbmc/linux/kernel/trace/bpf_trace.c
/openbmc/linux/kernel/trace/trace_hwlat.c
/openbmc/linux/kernel/trace/trace_osnoise.c
/openbmc/linux/lib/debugobjects.c
/openbmc/linux/lib/test_xarray.c
/openbmc/linux/lib/xarray.c
/openbmc/linux/mm/damon/vaddr.c
/openbmc/linux/mm/filemap.c
/openbmc/linux/mm/slab_common.c
/openbmc/linux/mm/util.c
/openbmc/linux/net/bluetooth/hci_core.c
/openbmc/linux/net/bluetooth/hci_event.c
/openbmc/linux/net/bluetooth/hci_sock.c
/openbmc/linux/net/bluetooth/iso.c
/openbmc/linux/net/bluetooth/l2cap_core.c
/openbmc/linux/net/bluetooth/l2cap_sock.c
/openbmc/linux/net/bluetooth/mgmt.c
/openbmc/linux/net/core/dev.c
/openbmc/linux/net/core/gro.c
/openbmc/linux/net/core/netpoll.c
/openbmc/linux/net/ipv4/devinet.c
/openbmc/linux/net/ipv4/fib_frontend.c
/openbmc/linux/net/ipv4/icmp.c
/openbmc/linux/net/ipv4/ip_gre.c
/openbmc/linux/net/ipv4/netfilter/nf_dup_ipv4.c
/openbmc/linux/net/ipv4/tcp_ipv4.c
/openbmc/linux/net/ipv4/udp_offload.c
/openbmc/linux/net/ipv6/icmp.c
/openbmc/linux/net/ipv6/netfilter/nf_dup_ipv6.c
/openbmc/linux/net/mac80211/chan.c
/openbmc/linux/net/mac80211/mlme.c
/openbmc/linux/net/mac80211/scan.c
/openbmc/linux/net/mac80211/util.c
/openbmc/linux/net/mac802154/scan.c
/openbmc/linux/net/sched/sch_taprio.c
/openbmc/linux/net/sctp/socket.c
/openbmc/linux/net/tipc/bearer.c
/openbmc/linux/net/wireless/nl80211.c
/openbmc/linux/rust/kernel/sync/locked_by.rs
/openbmc/linux/scripts/kconfig/qconf.cc
/openbmc/linux/security/Kconfig
/openbmc/linux/security/bpf/hooks.c
/openbmc/linux/security/tomoyo/domain.c
/openbmc/linux/sound/core/init.c
/openbmc/linux/sound/core/oss/mixer_oss.c
/openbmc/linux/sound/isa/gus/gus_pcm.c
/openbmc/linux/sound/pci/asihpi/hpimsgx.c
/openbmc/linux/sound/pci/hda/hda_controller.h
/openbmc/linux/sound/pci/hda/hda_generic.c
/openbmc/linux/sound/pci/hda/hda_intel.c
/openbmc/linux/sound/pci/hda/patch_conexant.c
/openbmc/linux/sound/pci/hda/patch_realtek.c
/openbmc/linux/sound/pci/rme9652/hdsp.c
/openbmc/linux/sound/pci/rme9652/hdspm.c
/openbmc/linux/sound/soc/atmel/mchp-pdmc.c
/openbmc/linux/sound/soc/codecs/rt5682.c
/openbmc/linux/sound/soc/codecs/wsa883x.c
/openbmc/linux/sound/soc/fsl/imx-card.c
/openbmc/linux/sound/usb/card.c
/openbmc/linux/sound/usb/line6/podhd.c
/openbmc/linux/sound/usb/mixer.c
/openbmc/linux/sound/usb/mixer.h
/openbmc/linux/sound/usb/quirks-table.h
/openbmc/linux/sound/usb/quirks.c
/openbmc/linux/tools/arch/x86/kcpuid/kcpuid.c
/openbmc/linux/tools/bpf/bpftool/net.c
/openbmc/linux/tools/include/nolibc/arch-powerpc.h
/openbmc/linux/tools/perf/util/hist.c
/openbmc/linux/tools/perf/util/machine.c
/openbmc/linux/tools/perf/util/setup.py
/openbmc/linux/tools/perf/util/thread.c
/openbmc/linux/tools/perf/util/thread.h
/openbmc/linux/tools/testing/selftests/breakpoints/step_after_suspend_test.c
/openbmc/linux/tools/testing/selftests/hid/Makefile
/openbmc/linux/tools/testing/selftests/mm/charge_reserved_hugetlb.sh
/openbmc/linux/tools/testing/selftests/mm/write_to_hugetlbfs.c
/openbmc/linux/tools/testing/selftests/netfilter/nft_audit.sh
/openbmc/linux/tools/testing/selftests/nolibc/nolibc-test.c
/openbmc/linux/tools/testing/selftests/vDSO/parse_vdso.c
/openbmc/linux/tools/testing/selftests/vDSO/vdso_config.h
/openbmc/linux/tools/testing/selftests/vDSO/vdso_test_correctness.c
/openbmc/linux/tools/tracing/rtla/src/osnoise_top.c
/openbmc/linux/tools/tracing/rtla/src/timerlat_top.c
/openbmc/linux/virt/kvm/kvm_main.c
01ad057616-Sep-2024 Felix Moessbauer <felix.moessbauer@siemens.com>

io_uring/sqpoll: do not put cpumask on stack

commit 7f44beadcc11adb98220556d2ddbe9c97aa6d42d upstream.

Putting the cpumask on the stack is deprecated for a long time (since
2d3854a37e8), as these c

io_uring/sqpoll: do not put cpumask on stack

commit 7f44beadcc11adb98220556d2ddbe9c97aa6d42d upstream.

Putting the cpumask on the stack is deprecated for a long time (since
2d3854a37e8), as these can be big. Given that, change the on-stack
allocation of allowed_mask to be dynamically allocated.

Fixes: f011c9cf04c0 ("io_uring/sqpoll: do not allow pinning outside of cpuset")
Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
Link: https://lore.kernel.org/r/20240916111150.1266191-1-felix.moessbauer@siemens.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...

859f62a216-Sep-2024 Jens Axboe <axboe@kernel.dk>

io_uring/sqpoll: retain test for whether the CPU is valid

commit a09c17240bdf2e9fa6d0591afa9448b59785f7d4 upstream.

A recent commit ensured that SQPOLL cannot be setup with a CPU that
isn't in the

io_uring/sqpoll: retain test for whether the CPU is valid

commit a09c17240bdf2e9fa6d0591afa9448b59785f7d4 upstream.

A recent commit ensured that SQPOLL cannot be setup with a CPU that
isn't in the current tasks cpuset, but it also dropped testing whether
the CPU is valid in the first place. Without that, if a task passes in
a CPU value that is too high, the following KASAN splat can get
triggered:

BUG: KASAN: stack-out-of-bounds in io_sq_offload_create+0x858/0xaa4
Read of size 8 at addr ffff800089bc7b90 by task wq-aff.t/1391

CPU: 4 UID: 1000 PID: 1391 Comm: wq-aff.t Not tainted 6.11.0-rc7-00227-g371c468f4db6 #7080
Hardware name: linux,dummy-virt (DT)
Call trace:
dump_backtrace.part.0+0xcc/0xe0
show_stack+0x14/0x1c
dump_stack_lvl+0x58/0x74
print_report+0x16c/0x4c8
kasan_report+0x9c/0xe4
__asan_report_load8_noabort+0x1c/0x24
io_sq_offload_create+0x858/0xaa4
io_uring_setup+0x1394/0x17c4
__arm64_sys_io_uring_setup+0x6c/0x180
invoke_syscall+0x6c/0x260
el0_svc_common.constprop.0+0x158/0x224
do_el0_svc+0x3c/0x5c
el0_svc+0x34/0x70
el0t_64_sync_handler+0x118/0x124
el0t_64_sync+0x168/0x16c

The buggy address belongs to stack of task wq-aff.t/1391
and is located at offset 48 in frame:
io_sq_offload_create+0x0/0xaa4

This frame has 1 object:
[32, 40) 'allowed_mask'

The buggy address belongs to the virtual mapping at
[ffff800089bc0000, ffff800089bc9000) created by:
kernel_clone+0x124/0x7e0

The buggy address belongs to the physical page:
page: refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff0000d740af80 pfn:0x11740a
memcg:ffff0000c2706f02
flags: 0xbffe00000000000(node=0|zone=2|lastcpupid=0x1fff)
raw: 0bffe00000000000 0000000000000000 dead000000000122 0000000000000000
raw: ffff0000d740af80 0000000000000000 00000001ffffffff ffff0000c2706f02
page dumped because: kasan: bad access detected

Memory state around the buggy address:
ffff800089bc7a80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ffff800089bc7b00: 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1
>ffff800089bc7b80: 00 f3 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00
^
ffff800089bc7c00: 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1
ffff800089bc7c80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f3

Reported-by: kernel test robot <oliver.sang@intel.com>
Closes: https://lore.kernel.org/oe-lkp/202409161632.cbeeca0d-lkp@intel.com
Fixes: f011c9cf04c0 ("io_uring/sqpoll: do not allow pinning outside of cpuset")
Tested-by: Felix Moessbauer <felix.moessbauer@siemens.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...

12345678910>>...34