History log of /openbmc/linux/fs/f2fs/ (Results 1 – 25 of 4002)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
0bf2adad20-Dec-2024 Daniel Lee <chullee@google.com>

f2fs: Introduce linear search for dentries

commit 91b587ba79e1b68bb718d12b0758dbcdab4e9cb7 upstream.

This patch addresses an issue where some files in case-insensitive
directories become inaccessib

f2fs: Introduce linear search for dentries

commit 91b587ba79e1b68bb718d12b0758dbcdab4e9cb7 upstream.

This patch addresses an issue where some files in case-insensitive
directories become inaccessible due to changes in how the kernel function,
utf8_casefold(), generates case-folded strings from the commit 5c26d2f1d3f5
("unicode: Don't special case ignorable code points").

F2FS uses these case-folded names to calculate hash values for locating
dentries and stores them on disk. Since utf8_casefold() can produce
different output across kernel versions, stored hash values and newly
calculated hash values may differ. This results in affected files no
longer being found via the hash-based lookup.

To resolve this, the patch introduces a linear search fallback.
If the initial hash-based search fails, F2FS will sequentially scan the
directory entries.

Fixes: 5c26d2f1d3f5 ("unicode: Don't special case ignorable code points")
Link: https://bugzilla.kernel.org/show_bug.cgi?id=219586
Signed-off-by: Daniel Lee <chullee@google.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Cc: Daniel Rosenberg <drosen@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.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/hexagon/include/asm/cmpxchg.h
/openbmc/linux/arch/hexagon/kernel/traps.c
/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/probes/kprobes.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/fpu/regset.c
/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/base/topology.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/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/adc/ti_am335x_adc.c
/openbmc/linux/drivers/iio/dummy/iio_simple_dummy_buffer.c
/openbmc/linux/drivers/iio/gyro/fxas21002c_core.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/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/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/md/dm-verity-fec.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/misc/mchp_pci1xxxx/mchp_pci1xxxx_gpio.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/iio/frequency/ad9832.c
/openbmc/linux/drivers/staging/iio/frequency/ad9834.c
/openbmc/linux/drivers/staging/media/imx/imx-media-of.c
/openbmc/linux/drivers/tty/serial/8250/8250_core.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/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/misc/usb251xb.c
/openbmc/linux/drivers/usb/serial/cp210x.c
/openbmc/linux/drivers/usb/serial/option.c
/openbmc/linux/drivers/usb/serial/quatech2.c
/openbmc/linux/drivers/usb/storage/unusual_devs.h
/openbmc/linux/drivers/usb/typec/tcpm/maxim_contaminant.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
dir.c
f2fs.h
inline.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/cifsacl.c
/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/readdir.c
/openbmc/linux/fs/smb/client/reparse.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
/openbmc/linux/io_uring/io_uring.c
/openbmc/linux/io_uring/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/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/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
8dddc12d11-Oct-2024 Ye Bin <yebin10@huawei.com>

f2fs: fix null-ptr-deref in f2fs_submit_page_bio()

commit b7d0a97b28083084ebdd8e5c6bccd12e6ec18faa upstream.

There's issue as follows when concurrently installing the f2fs.ko
module and mounting th

f2fs: fix null-ptr-deref in f2fs_submit_page_bio()

commit b7d0a97b28083084ebdd8e5c6bccd12e6ec18faa upstream.

There's issue as follows when concurrently installing the f2fs.ko
module and mounting the f2fs file system:
KASAN: null-ptr-deref in range [0x0000000000000020-0x0000000000000027]
RIP: 0010:__bio_alloc+0x2fb/0x6c0 [f2fs]
Call Trace:
<TASK>
f2fs_submit_page_bio+0x126/0x8b0 [f2fs]
__get_meta_page+0x1d4/0x920 [f2fs]
get_checkpoint_version.constprop.0+0x2b/0x3c0 [f2fs]
validate_checkpoint+0xac/0x290 [f2fs]
f2fs_get_valid_checkpoint+0x207/0x950 [f2fs]
f2fs_fill_super+0x1007/0x39b0 [f2fs]
mount_bdev+0x183/0x250
legacy_get_tree+0xf4/0x1e0
vfs_get_tree+0x88/0x340
do_new_mount+0x283/0x5e0
path_mount+0x2b2/0x15b0
__x64_sys_mount+0x1fe/0x270
do_syscall_64+0x5f/0x170
entry_SYSCALL_64_after_hwframe+0x76/0x7e

Above issue happens as the biset of the f2fs file system is not
initialized before register "f2fs_fs_type".
To address above issue just register "f2fs_fs_type" at the last in
init_f2fs_fs(). Ensure that all f2fs file system resources are
initialized.

Fixes: f543805fcd60 ("f2fs: introduce private bioset")
Signed-off-by: Ye Bin <yebin10@huawei.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Bin Lan <lanbincn@qq.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...


/openbmc/linux/Documentation/devicetree/bindings/display/bridge/adi,adv7533.yaml
/openbmc/linux/Makefile
/openbmc/linux/arch/arc/Makefile
/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/kernel/Makefile
/openbmc/linux/arch/x86/kernel/cpu/mshyperv.c
/openbmc/linux/arch/x86/kernel/kexec-bzimage64.c
/openbmc/linux/arch/x86/kernel/kvm.c
/openbmc/linux/arch/x86/kernel/machine_kexec_64.c
/openbmc/linux/arch/x86/kernel/reboot.c
/openbmc/linux/arch/x86/kernel/setup.c
/openbmc/linux/arch/x86/kernel/smp.c
/openbmc/linux/arch/x86/mm/numa.c
/openbmc/linux/arch/x86/xen/enlighten_hvm.c
/openbmc/linux/arch/x86/xen/mmu_pv.c
/openbmc/linux/drivers/acpi/resource.c
/openbmc/linux/drivers/bluetooth/btnxpuart.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/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/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/md/dm-ebs-target.c
/openbmc/linux/drivers/md/dm-thin.c
/openbmc/linux/drivers/md/persistent-data/dm-array.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/steering/dr_send.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.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/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/nvme.h
/openbmc/linux/drivers/nvme/host/pci.c
/openbmc/linux/drivers/pinctrl/pinctrl-mcp23s08.c
/openbmc/linux/drivers/platform/x86/amd/pmc/pmc.c
/openbmc/linux/drivers/scsi/hisi_sas/hisi_sas_main.c
/openbmc/linux/drivers/thermal/thermal_of.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/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/disk-io.c
/openbmc/linux/fs/btrfs/inode.c
/openbmc/linux/fs/btrfs/scrub.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
super.c
/openbmc/linux/fs/jbd2/commit.c
/openbmc/linux/fs/jbd2/revoke.c
/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/cifsfs.c
/openbmc/linux/fs/smb/client/namespace.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/include/linux/bpf_verifier.h
/openbmc/linux/include/linux/if_vlan.h
/openbmc/linux/include/linux/mlx5/driver.h
/openbmc/linux/include/linux/numa.h
/openbmc/linux/include/linux/seq_buf.h
/openbmc/linux/include/linux/trace_events.h
/openbmc/linux/include/linux/trace_seq.h
/openbmc/linux/include/net/bluetooth/hci_core.h
/openbmc/linux/include/net/inet_connection_sock.h
/openbmc/linux/include/net/netfilter/nf_tables.h
/openbmc/linux/include/ufs/ufshcd.h
/openbmc/linux/io_uring/timeout.c
/openbmc/linux/kernel/bpf/core.c
/openbmc/linux/kernel/bpf/verifier.c
/openbmc/linux/kernel/kcov.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_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/mesh.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/pci/hda/patch_ca0132.c
/openbmc/linux/sound/pci/hda/patch_realtek.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
c2a7fc5127-Jun-2024 Chao Yu <chao@kernel.org>

f2fs: fix to wait dio completion

commit 96cfeb0389530ae32ade8a48ae3ae1ac3b6c009d upstream.

It should wait all existing dio write IOs before block removal,
otherwise, previous direct write IO may ov

f2fs: fix to wait dio completion

commit 96cfeb0389530ae32ade8a48ae3ae1ac3b6c009d upstream.

It should wait all existing dio write IOs before block removal,
otherwise, previous direct write IO may overwrite data in the
block which may be reused by other inode.

Cc: stable@vger.kernel.org
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
[ Resolve line conflicts to make it work on 6.6.y ]
Signed-off-by: Alva Lan <alvalan9@foxmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...


/openbmc/linux/Documentation/ABI/testing/sysfs-fs-xfs
/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/net/fsl,fec.yaml
/openbmc/linux/Documentation/i2c/busses/i2c-i801.rst
/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/loongarch/include/asm/inst.h
/openbmc/linux/arch/loongarch/kernel/efi.c
/openbmc/linux/arch/loongarch/kernel/inst.c
/openbmc/linux/arch/loongarch/kernel/numa.c
/openbmc/linux/arch/loongarch/mm/tlb.c
/openbmc/linux/arch/loongarch/net/bpf_jit.c
/openbmc/linux/arch/mips/Makefile
/openbmc/linux/arch/mips/boot/dts/loongson/loongson64g_4core_ls7a.dts
/openbmc/linux/arch/mips/boot/dts/loongson/ls7a-pch.dtsi
/openbmc/linux/arch/mips/include/asm/mipsregs.h
/openbmc/linux/arch/powerpc/kernel/prom_init.c
/openbmc/linux/arch/powerpc/platforms/book3s/vas-api.c
/openbmc/linux/arch/riscv/include/asm/kfence.h
/openbmc/linux/arch/riscv/kernel/setup.c
/openbmc/linux/arch/x86/entry/vsyscall/vsyscall_64.c
/openbmc/linux/arch/x86/events/intel/ds.c
/openbmc/linux/arch/x86/include/asm/intel-family.h
/openbmc/linux/arch/x86/include/asm/processor.h
/openbmc/linux/arch/x86/include/asm/ptrace.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/tlb.h
/openbmc/linux/arch/x86/include/asm/xen/hypercall.h
/openbmc/linux/arch/x86/kernel/Makefile
/openbmc/linux/arch/x86/kernel/callthunks.c
/openbmc/linux/arch/x86/kernel/cet.c
/openbmc/linux/arch/x86/kernel/cpu/common.c
/openbmc/linux/arch/x86/kernel/cpu/intel.c
/openbmc/linux/arch/x86/kernel/cpu/match.c
/openbmc/linux/arch/x86/kernel/cpu/mshyperv.c
/openbmc/linux/arch/x86/kernel/kexec-bzimage64.c
/openbmc/linux/arch/x86/kernel/kvm.c
/openbmc/linux/arch/x86/kernel/machine_kexec_64.c
/openbmc/linux/arch/x86/kernel/process_64.c
/openbmc/linux/arch/x86/kernel/reboot.c
/openbmc/linux/arch/x86/kernel/relocate_kernel_64.S
/openbmc/linux/arch/x86/kernel/setup.c
/openbmc/linux/arch/x86/kernel/smp.c
/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/mm/numa.c
/openbmc/linux/arch/x86/mm/tlb.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/mmu_pv.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/block/blk-mq.c
/openbmc/linux/crypto/ecc.c
/openbmc/linux/crypto/ecdsa.c
/openbmc/linux/drivers/acpi/acpica/evxfregn.c
/openbmc/linux/drivers/acpi/arm64/iort.c
/openbmc/linux/drivers/acpi/nfit/core.c
/openbmc/linux/drivers/acpi/resource.c
/openbmc/linux/drivers/acpi/x86/utils.c
/openbmc/linux/drivers/ata/sata_highbank.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/block/zram/zram_drv.c
/openbmc/linux/drivers/bluetooth/btmtk.c
/openbmc/linux/drivers/bluetooth/btusb.c
/openbmc/linux/drivers/clk/clk-en7523.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/cxl/core/region.c
/openbmc/linux/drivers/cxl/pci.c
/openbmc/linux/drivers/dma-buf/udmabuf.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/edac/amd64_edac.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_device.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
/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/amdgpu/uvd_v7_0.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/vcn_v4_0_3.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/display/amdgpu_dm/amdgpu_dm_mst_types.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/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/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-pnx.c
/openbmc/linux/drivers/i2c/busses/i2c-riic.c
/openbmc/linux/drivers/i2c/busses/i2c-xgene-slimpro.c
/openbmc/linux/drivers/i3c/master.c
/openbmc/linux/drivers/i3c/master/svc-i3c-master.c
/openbmc/linux/drivers/iio/adc/ad7192.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/iio/light/ltr501.c
/openbmc/linux/drivers/mailbox/pcc.c
/openbmc/linux/drivers/media/dvb-frontends/dib3000mb.c
/openbmc/linux/drivers/media/usb/uvc/uvc_driver.c
/openbmc/linux/drivers/misc/eeprom/eeprom_93cx6.c
/openbmc/linux/drivers/mmc/host/mtk-sd.c
/openbmc/linux/drivers/mmc/host/sdhci-tegra.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/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/freescale/fec_ptp.c
/openbmc/linux/drivers/net/ethernet/huawei/hinic/hinic_main.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/fs_core.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/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/xen-netfront.c
/openbmc/linux/drivers/nvme/host/core.c
/openbmc/linux/drivers/of/address.c
/openbmc/linux/drivers/of/base.c
/openbmc/linux/drivers/of/irq.c
/openbmc/linux/drivers/pci/controller/pci-host-common.c
/openbmc/linux/drivers/pci/controller/vmd.c
/openbmc/linux/drivers/pci/msi/irqdomain.c
/openbmc/linux/drivers/pci/msi/msi.c
/openbmc/linux/drivers/pci/pcie/aer.c
/openbmc/linux/drivers/pci/probe.c
/openbmc/linux/drivers/pci/quirks.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/platform/x86/asus-wmi.c
/openbmc/linux/drivers/platform/x86/mlx-platform.c
/openbmc/linux/drivers/platform/x86/p2sb.c
/openbmc/linux/drivers/power/supply/gpio-charger.c
/openbmc/linux/drivers/ptp/ptp_kvm_x86.c
/openbmc/linux/drivers/remoteproc/qcom_q6v5_pas.c
/openbmc/linux/drivers/rtc/rtc-cmos.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/megaraid/megaraid_sas_base.c
/openbmc/linux/drivers/scsi/mpi3mr/mpi3mr_os.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-aspeed-smc.c
/openbmc/linux/drivers/spi/spi-intel-pci.c
/openbmc/linux/drivers/spi/spi-omap2-mcspi.c
/openbmc/linux/drivers/thunderbolt/nhi.c
/openbmc/linux/drivers/thunderbolt/nhi.h
/openbmc/linux/drivers/thunderbolt/retimer.c
/openbmc/linux/drivers/thunderbolt/tb.c
/openbmc/linux/drivers/tty/serial/8250/8250_dw.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/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/dwc2/gadget.c
/openbmc/linux/drivers/usb/dwc2/hcd.c
/openbmc/linux/drivers/usb/dwc3/core.h
/openbmc/linux/drivers/usb/dwc3/dwc3-xilinx.c
/openbmc/linux/drivers/usb/dwc3/ep0.c
/openbmc/linux/drivers/usb/dwc3/gadget.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/host/xhci-ring.c
/openbmc/linux/drivers/usb/host/xhci.c
/openbmc/linux/drivers/usb/host/xhci.h
/openbmc/linux/drivers/usb/serial/option.c
/openbmc/linux/drivers/usb/typec/anx7411.c
/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/vfio/pci/mlx5/cmd.c
/openbmc/linux/drivers/watchdog/it87_wdt.c
/openbmc/linux/drivers/watchdog/mtk_wdt.c
/openbmc/linux/drivers/watchdog/rzg2l_wdt.c
/openbmc/linux/fs/btrfs/ctree.c
/openbmc/linux/fs/btrfs/ctree.h
/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/sysfs.c
/openbmc/linux/fs/btrfs/tree-checker.c
/openbmc/linux/fs/ceph/addr.c
/openbmc/linux/fs/ceph/file.c
/openbmc/linux/fs/ceph/super.c
/openbmc/linux/fs/ceph/super.h
/openbmc/linux/fs/efivarfs/inode.c
/openbmc/linux/fs/efivarfs/internal.h
/openbmc/linux/fs/efivarfs/super.c
/openbmc/linux/fs/eventpoll.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
file.c
/openbmc/linux/fs/jffs2/compr_rtime.c
/openbmc/linux/fs/nfs/pnfs.c
/openbmc/linux/fs/nfsd/export.c
/openbmc/linux/fs/nfsd/export.h
/openbmc/linux/fs/nfsd/nfs4callback.c
/openbmc/linux/fs/nilfs2/btnode.c
/openbmc/linux/fs/nilfs2/gcinode.c
/openbmc/linux/fs/nilfs2/inode.c
/openbmc/linux/fs/nilfs2/namei.c
/openbmc/linux/fs/nilfs2/nilfs.h
/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/ntfs3/run.c
/openbmc/linux/fs/ocfs2/localalloc.c
/openbmc/linux/fs/smb/client/cifsacl.c
/openbmc/linux/fs/smb/client/cifsacl.h
/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/inode.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/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/smb_common.c
/openbmc/linux/fs/smb/server/transport_ipc.c
/openbmc/linux/fs/udf/namei.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/acpi/pcc.h
/openbmc/linux/include/clocksource/hyperv_timer.h
/openbmc/linux/include/crypto/internal/ecc.h
/openbmc/linux/include/linux/bpf.h
/openbmc/linux/include/linux/ceph/osd_client.h
/openbmc/linux/include/linux/cleanup.h
/openbmc/linux/include/linux/compiler.h
/openbmc/linux/include/linux/dsa/ocelot.h
/openbmc/linux/include/linux/eeprom_93cx6.h
/openbmc/linux/include/linux/hyperv.h
/openbmc/linux/include/linux/io_uring.h
/openbmc/linux/include/linux/memblock.h
/openbmc/linux/include/linux/mm_types.h
/openbmc/linux/include/linux/mutex.h
/openbmc/linux/include/linux/rwsem.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/spinlock.h
/openbmc/linux/include/linux/static_call.h
/openbmc/linux/include/linux/trace_events.h
/openbmc/linux/include/linux/usb/chipidea.h
/openbmc/linux/include/linux/vmstat.h
/openbmc/linux/include/linux/wait.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/mac80211.h
/openbmc/linux/include/net/net_namespace.h
/openbmc/linux/include/net/netfilter/nf_tables.h
/openbmc/linux/include/net/sock.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
/openbmc/linux/include/uapi/linux/stddef.h
/openbmc/linux/io_uring/io_uring.c
/openbmc/linux/io_uring/io_uring.h
/openbmc/linux/io_uring/rw.c
/openbmc/linux/io_uring/sqpoll.c
/openbmc/linux/io_uring/tctx.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/softirq.c
/openbmc/linux/kernel/static_call_inline.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_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/memblock.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/ceph/osd_client.c
/openbmc/linux/net/core/filter.c
/openbmc/linux/net/core/net_namespace.c
/openbmc/linux/net/core/skmsg.c
/openbmc/linux/net/core/sock_map.c
/openbmc/linux/net/ipv4/tcp_bpf.c
/openbmc/linux/net/ipv4/tcp_output.c
/openbmc/linux/net/mac80211/cfg.c
/openbmc/linux/net/mac80211/ieee80211_i.h
/openbmc/linux/net/mac80211/status.c
/openbmc/linux/net/mac80211/util.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/scripts/setlocalversion
/openbmc/linux/sound/core/control_led.c
/openbmc/linux/sound/core/ump.c
/openbmc/linux/sound/pci/hda/hda_local.h
/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/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/include/uapi/linux/stddef.h
/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
295b50e920-Nov-2024 Chao Yu <chao@kernel.org>

f2fs: fix to shrink read extent node in batches

[ Upstream commit 3fc5d5a182f6a1f8bd4dc775feb54c369dd2c343 ]

We use rwlock to protect core structure data of extent tree during
its shrink, however,

f2fs: fix to shrink read extent node in batches

[ Upstream commit 3fc5d5a182f6a1f8bd4dc775feb54c369dd2c343 ]

We use rwlock to protect core structure data of extent tree during
its shrink, however, if there is a huge number of extent nodes in
extent tree, during shrink of extent tree, it may hold rwlock for
a very long time, which may trigger kernel hang issue.

This patch fixes to shrink read extent node in batches, so that,
critical region of the rwlock can be shrunk to avoid its extreme
long time hold.

Reported-by: Xiuhong Wang <xiuhong.wang@unisoc.com>
Closes: https://lore.kernel.org/linux-f2fs-devel/20241112110627.1314632-1-xiuhong.wang@unisoc.com/
Signed-off-by: Xiuhong Wang <xiuhong.wang@unisoc.com>
Signed-off-by: Zhiguo Niu <zhiguo.niu@unisoc.com>
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>

show more ...

76bdd3b120-Nov-2024 Chao Yu <chao@kernel.org>

f2fs: print message if fscorrupted was found in f2fs_new_node_page()

[ Upstream commit 81520c684ca67aea6a589461a3caebb9b11dcc90 ]

If fs corruption occurs in f2fs_new_node_page(), let's print
more i

f2fs: print message if fscorrupted was found in f2fs_new_node_page()

[ Upstream commit 81520c684ca67aea6a589461a3caebb9b11dcc90 ]

If fs corruption occurs in f2fs_new_node_page(), let's print
more information about corrupted metadata into kernel log.

Meanwhile, it updates to record ERROR_INCONSISTENT_NAT instead
of ERROR_INVALID_BLKADDR if blkaddr in nat entry is not
NULL_ADDR which means nat bitmap and nat entry is inconsistent.

Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>

show more ...

9669b28f18-Sep-2024 Qi Han <hanqi@vivo.com>

f2fs: fix f2fs_bug_on when uninstalling filesystem call f2fs_evict_inode.

[ Upstream commit d5c367ef8287fb4d235c46a2f8c8d68715f3a0ca ]

creating a large files during checkpoint disable until it runs

f2fs: fix f2fs_bug_on when uninstalling filesystem call f2fs_evict_inode.

[ Upstream commit d5c367ef8287fb4d235c46a2f8c8d68715f3a0ca ]

creating a large files during checkpoint disable until it runs out of
space and then delete it, then remount to enable checkpoint again, and
then unmount the filesystem triggers the f2fs_bug_on as below:

------------[ cut here ]------------
kernel BUG at fs/f2fs/inode.c:896!
CPU: 2 UID: 0 PID: 1286 Comm: umount Not tainted 6.11.0-rc7-dirty #360
Oops: invalid opcode: 0000 [#1] PREEMPT SMP NOPTI
RIP: 0010:f2fs_evict_inode+0x58c/0x610
Call Trace:
__die_body+0x15/0x60
die+0x33/0x50
do_trap+0x10a/0x120
f2fs_evict_inode+0x58c/0x610
do_error_trap+0x60/0x80
f2fs_evict_inode+0x58c/0x610
exc_invalid_op+0x53/0x60
f2fs_evict_inode+0x58c/0x610
asm_exc_invalid_op+0x16/0x20
f2fs_evict_inode+0x58c/0x610
evict+0x101/0x260
dispose_list+0x30/0x50
evict_inodes+0x140/0x190
generic_shutdown_super+0x2f/0x150
kill_block_super+0x11/0x40
kill_f2fs_super+0x7d/0x140
deactivate_locked_super+0x2a/0x70
cleanup_mnt+0xb3/0x140
task_work_run+0x61/0x90

The root cause is: creating large files during disable checkpoint
period results in not enough free segments, so when writing back root
inode will failed in f2fs_enable_checkpoint. When umount the file
system after enabling checkpoint, the root inode is dirty in
f2fs_evict_inode function, which triggers BUG_ON. The steps to
reproduce are as follows:

dd if=/dev/zero of=f2fs.img bs=1M count=55
mount f2fs.img f2fs_dir -o checkpoint=disable:10%
dd if=/dev/zero of=big bs=1M count=50
sync
rm big
mount -o remount,checkpoint=enable f2fs_dir
umount f2fs_dir

Let's redirty inode when there is not free segments during checkpoint
is disable.

Signed-off-by: Qi Han <hanqi@vivo.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>

show more ...


/openbmc/linux/Documentation/netlink/specs/ethtool.yaml
/openbmc/linux/arch/arm64/kernel/ptrace.c
/openbmc/linux/arch/arm64/mm/context.c
/openbmc/linux/arch/loongarch/include/asm/hugetlb.h
/openbmc/linux/arch/s390/kernel/perf_cpum_sf.c
/openbmc/linux/arch/x86/events/amd/core.c
/openbmc/linux/arch/x86/include/asm/pgtable_types.h
/openbmc/linux/arch/x86/kernel/cpu/amd.c
/openbmc/linux/arch/x86/kernel/relocate_kernel_64.S
/openbmc/linux/arch/x86/mm/ident_map.c
/openbmc/linux/arch/x86/mm/pti.c
/openbmc/linux/drivers/acpi/x86/utils.c
/openbmc/linux/drivers/base/cacheinfo.c
/openbmc/linux/drivers/base/regmap/internal.h
/openbmc/linux/drivers/base/regmap/regcache-maple.c
/openbmc/linux/drivers/base/regmap/regmap.c
/openbmc/linux/drivers/bluetooth/btusb.c
/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/tcsrcc-sm8550.c
/openbmc/linux/drivers/dma-buf/dma-fence-array.c
/openbmc/linux/drivers/dma-buf/dma-fence-unwrap.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/hdp_v5_2.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/vega20_ih.c
/openbmc/linux/drivers/gpu/drm/bridge/ite-it6505.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_panel_orientation_quirks.c
/openbmc/linux/drivers/gpu/drm/mcde/mcde_drv.c
/openbmc/linux/drivers/gpu/drm/panel/panel-simple.c
/openbmc/linux/drivers/gpu/drm/radeon/r600_cs.c
/openbmc/linux/drivers/gpu/drm/scheduler/sched_main.c
/openbmc/linux/drivers/gpu/drm/sti/sti_mixer.c
/openbmc/linux/drivers/gpu/drm/v3d/v3d_perfmon.c
/openbmc/linux/drivers/gpu/drm/vc4/vc4_hdmi.c
/openbmc/linux/drivers/gpu/drm/vc4/vc4_hvs.c
/openbmc/linux/drivers/hid/hid-core.c
/openbmc/linux/drivers/hid/hid-generic.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/hwmon/nct6775-platform.c
/openbmc/linux/drivers/i3c/master.c
/openbmc/linux/drivers/i3c/master/svc-i3c-master.c
/openbmc/linux/drivers/iio/magnetometer/yamaha-yas530.c
/openbmc/linux/drivers/leds/led-class.c
/openbmc/linux/drivers/md/bcache/super.c
/openbmc/linux/drivers/media/usb/cx231xx/cx231xx-cards.c
/openbmc/linux/drivers/media/usb/uvc/uvc_driver.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/sdhci-esdhc-imx.c
/openbmc/linux/drivers/mmc/host/sdhci-pci-core.c
/openbmc/linux/drivers/mmc/host/sdhci-pci.h
/openbmc/linux/drivers/net/can/dev/dev.c
/openbmc/linux/drivers/net/can/spi/mcp251xfd/mcp251xfd-tef.c
/openbmc/linux/drivers/net/dsa/qca/qca8k-8xxx.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/realtek/r8169_main.c
/openbmc/linux/drivers/net/ethernet/rocker/rocker_main.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/dwmac4.h
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c
/openbmc/linux/drivers/net/phy/sfp.c
/openbmc/linux/drivers/net/virtio_net.c
/openbmc/linux/drivers/net/wireless/ath/ath5k/pci.c
/openbmc/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c
/openbmc/linux/drivers/net/wireless/intel/ipw2x00/libipw_rx.c
/openbmc/linux/drivers/net/wireless/realtek/rtw89/fw.c
/openbmc/linux/drivers/nvdimm/dax_devs.c
/openbmc/linux/drivers/nvdimm/nd.h
/openbmc/linux/drivers/pinctrl/core.c
/openbmc/linux/drivers/pinctrl/core.h
/openbmc/linux/drivers/pinctrl/freescale/Kconfig
/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/scsi/hisi_sas/hisi_sas_v3_hw.c
/openbmc/linux/drivers/scsi/lpfc/lpfc_init.c
/openbmc/linux/drivers/scsi/lpfc/lpfc_sli.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/soc/imx/soc-imx8m.c
/openbmc/linux/drivers/spi/spi-fsl-lpspi.c
/openbmc/linux/drivers/spi/spi-mpc52xx.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/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-renesas.c
/openbmc/linux/drivers/watchdog/rti_wdt.c
/openbmc/linux/fs/btrfs/dev-replace.c
/openbmc/linux/fs/btrfs/fs.h
/openbmc/linux/fs/btrfs/volumes.c
/openbmc/linux/fs/dlm/lock.c
/openbmc/linux/fs/eventpoll.c
inode.c
/openbmc/linux/fs/jfs/jfs_dmap.c
/openbmc/linux/fs/jfs/jfs_dtree.c
/openbmc/linux/fs/nilfs2/dir.c
/openbmc/linux/fs/notify/fanotify/fanotify_user.c
/openbmc/linux/fs/ocfs2/dlmglue.c
/openbmc/linux/fs/ocfs2/namei.c
/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/readdir.c
/openbmc/linux/fs/smb/client/reparse.c
/openbmc/linux/fs/smb/client/smb2inode.c
/openbmc/linux/fs/smb/server/smb2pdu.c
/openbmc/linux/include/drm/display/drm_dp_mst_helper.h
/openbmc/linux/include/linux/eventpoll.h
/openbmc/linux/include/linux/fanotify.h
/openbmc/linux/include/linux/hid.h
/openbmc/linux/include/linux/i3c/master.h
/openbmc/linux/include/linux/leds.h
/openbmc/linux/include/linux/mmc/card.h
/openbmc/linux/include/linux/scatterlist.h
/openbmc/linux/include/net/bluetooth/hci.h
/openbmc/linux/include/net/bluetooth/hci_core.h
/openbmc/linux/include/sound/ump.h
/openbmc/linux/include/trace/trace_events.h
/openbmc/linux/include/uapi/linux/fanotify.h
/openbmc/linux/include/ufs/ufshcd.h
/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/dma/debug.c
/openbmc/linux/kernel/kcsan/debugfs.c
/openbmc/linux/kernel/trace/trace_clock.c
/openbmc/linux/kernel/trace/trace_syscalls.c
/openbmc/linux/kernel/trace/tracing_map.c
/openbmc/linux/lib/stackinit_kunit.c
/openbmc/linux/mm/kasan/report.c
/openbmc/linux/mm/page_alloc.c
/openbmc/linux/mm/swap.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/l2cap_sock.c
/openbmc/linux/net/bluetooth/rfcomm/sock.c
/openbmc/linux/net/can/af_can.c
/openbmc/linux/net/core/neighbour.c
/openbmc/linux/net/core/netpoll.c
/openbmc/linux/net/ieee802154/socket.c
/openbmc/linux/net/ipv4/af_inet.c
/openbmc/linux/net/ipv4/tcp_bpf.c
/openbmc/linux/net/ipv6/af_inet6.c
/openbmc/linux/net/packet/af_packet.c
/openbmc/linux/net/sched/sch_cbs.c
/openbmc/linux/net/vmw_vsock/af_vsock.c
/openbmc/linux/net/xdp/xsk_buff_pool.c
/openbmc/linux/net/xdp/xskmap.c
/openbmc/linux/samples/bpf/test_cgrp2_sock.c
/openbmc/linux/scripts/mod/modpost.c
/openbmc/linux/sound/core/seq/seq_ump_client.c
/openbmc/linux/sound/core/ump.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/codecs/hdmi-codec.c
/openbmc/linux/sound/soc/mediatek/mt8188/mt8188-mt6359.c
/openbmc/linux/sound/soc/sof/ipc3-topology.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.c
/openbmc/linux/sound/usb/usbaudio.h
/openbmc/linux/tools/bpf/bpftool/prog.c
/openbmc/linux/tools/scripts/Makefile.arch
/openbmc/linux/tools/testing/selftests/arm64/fp/fp-stress.c
/openbmc/linux/tools/testing/selftests/arm64/pauth/pac.c
/openbmc/linux/tools/testing/selftests/resctrl/resctrl_val.c
/openbmc/linux/tools/testing/selftests/resctrl/resctrlfs.c
/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
ed24ab9821-Nov-2024 Chao Yu <chao@kernel.org>

f2fs: fix to drop all discards after creating snapshot on lvm device

[ Upstream commit bc8aeb04fd80cb8cfae3058445c84410fd0beb5e ]

Piergiorgio reported a bug in bugzilla as below:

------------[ cut

f2fs: fix to drop all discards after creating snapshot on lvm device

[ Upstream commit bc8aeb04fd80cb8cfae3058445c84410fd0beb5e ]

Piergiorgio reported a bug in bugzilla as below:

------------[ cut here ]------------
WARNING: CPU: 2 PID: 969 at fs/f2fs/segment.c:1330
RIP: 0010:__submit_discard_cmd+0x27d/0x400 [f2fs]
Call Trace:
__issue_discard_cmd+0x1ca/0x350 [f2fs]
issue_discard_thread+0x191/0x480 [f2fs]
kthread+0xcf/0x100
ret_from_fork+0x31/0x50
ret_from_fork_asm+0x1a/0x30

w/ below testcase, it can reproduce this bug quickly:
- pvcreate /dev/vdb
- vgcreate myvg1 /dev/vdb
- lvcreate -L 1024m -n mylv1 myvg1
- mount /dev/myvg1/mylv1 /mnt/f2fs
- dd if=/dev/zero of=/mnt/f2fs/file bs=1M count=20
- sync
- rm /mnt/f2fs/file
- sync
- lvcreate -L 1024m -s -n mylv1-snapshot /dev/myvg1/mylv1
- umount /mnt/f2fs

The root cause is: it will update discard_max_bytes of mounted lvm
device to zero after creating snapshot on this lvm device, then,
__submit_discard_cmd() will pass parameter @nr_sects w/ zero value
to __blkdev_issue_discard(), it returns a NULL bio pointer, result
in panic.

This patch changes as below for fixing:
1. Let's drop all remained discards in f2fs_unfreeze() if snapshot
of lvm device is created.
2. Checking discard_max_bytes before submitting discard during
__submit_discard_cmd().

Cc: stable@vger.kernel.org
Fixes: 35ec7d574884 ("f2fs: split discard command in prior to block layer")
Reported-by: Piergiorgio Sartor <piergiorgio.sartor@nexgo.de>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219484
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>

show more ...


/openbmc/linux/Documentation/admin-guide/blockdev/zram.rst
/openbmc/linux/Makefile
/openbmc/linux/arch/arm/kernel/entry-armv.S
/openbmc/linux/arch/arm/mm/ioremap.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/ti/k3-am62-verdin.dtsi
/openbmc/linux/arch/arm64/kvm/arm.c
/openbmc/linux/arch/arm64/kvm/mmio.c
/openbmc/linux/arch/openrisc/include/asm/fixmap.h
/openbmc/linux/arch/powerpc/Kconfig
/openbmc/linux/arch/powerpc/Makefile
/openbmc/linux/arch/powerpc/kernel/vdso/Makefile
/openbmc/linux/arch/powerpc/kernel/vmlinux.lds.S
/openbmc/linux/arch/s390/kernel/entry.S
/openbmc/linux/arch/s390/kernel/kprobes.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/platform/pvh/head.S
/openbmc/linux/block/bfq-iosched.c
/openbmc/linux/drivers/base/core.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/char/tpm/tpm-chip.c
/openbmc/linux/drivers/char/tpm/tpm-interface.c
/openbmc/linux/drivers/clk/qcom/gcc-qcs404.c
/openbmc/linux/drivers/dma-buf/udmabuf.c
/openbmc/linux/drivers/firmware/efi/libstub/efi-stub.c
/openbmc/linux/drivers/gpio/gpio-grgpio.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c
/openbmc/linux/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c
/openbmc/linux/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c
/openbmc/linux/drivers/gpu/drm/etnaviv/etnaviv_buffer.c
/openbmc/linux/drivers/gpu/drm/mediatek/mtk_drm_drv.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/xlnx/zynqmp_kms.c
/openbmc/linux/drivers/i3c/master.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/infiniband/core/addr.c
/openbmc/linux/drivers/iommu/arm/arm-smmu/arm-smmu.c
/openbmc/linux/drivers/iommu/io-pgtable-arm.c
/openbmc/linux/drivers/leds/flash/leds-mt6360.c
/openbmc/linux/drivers/leds/leds-lp55xx-common.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-frontends/ts2020.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/usb/gspca/ov534.c
/openbmc/linux/drivers/media/usb/uvc/uvc_driver.c
/openbmc/linux/drivers/mmc/host/mtk-sd.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/can/c_can/c_can_main.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/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/ethernet/freescale/enetc/enetc.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/mellanox/mlx5/core/en/tc_tun_encap.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/qlogic/qed/qed_mcp.c
/openbmc/linux/drivers/net/geneve.c
/openbmc/linux/drivers/net/vrf.c
/openbmc/linux/drivers/net/vxlan/vxlan_core.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/pci/controller/dwc/pci-keystone.c
/openbmc/linux/drivers/pci/controller/pcie-rockchip-ep.c
/openbmc/linux/drivers/pci/controller/pcie-rockchip.h
/openbmc/linux/drivers/pci/endpoint/pci-epc-core.c
/openbmc/linux/drivers/pci/of_property.c
/openbmc/linux/drivers/perf/arm-cmn.c
/openbmc/linux/drivers/perf/arm_smmuv3_pmu.c
/openbmc/linux/drivers/platform/x86/asus-wmi.c
/openbmc/linux/drivers/ptp/ptp_clock.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-rzn1.c
/openbmc/linux/drivers/rtc/rtc-st-lpc.c
/openbmc/linux/drivers/s390/net/ism_drv.c
/openbmc/linux/drivers/s390/net/qeth_core.h
/openbmc/linux/drivers/sh/intc/core.c
/openbmc/linux/drivers/soc/fsl/qe/qmc.c
/openbmc/linux/drivers/thermal/intel/int340x_thermal/int3400_thermal.c
/openbmc/linux/drivers/tty/serial/amba-pl011.c
/openbmc/linux/drivers/ufs/host/ufs-exynos.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/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/watchdog/apple_wdt.c
/openbmc/linux/drivers/watchdog/iTCO_wdt.c
/openbmc/linux/drivers/watchdog/mtk_wdt.c
/openbmc/linux/drivers/watchdog/xilinx_wwdt.c
/openbmc/linux/fs/btrfs/ctree.c
/openbmc/linux/fs/btrfs/extent-tree.c
/openbmc/linux/fs/btrfs/ref-verify.c
/openbmc/linux/fs/ceph/super.c
segment.c
super.c
/openbmc/linux/fs/jffs2/erase.c
/openbmc/linux/fs/nfs/internal.h
/openbmc/linux/fs/nfs/nfs4proc.c
/openbmc/linux/fs/nfsd/export.c
/openbmc/linux/fs/nfsd/nfs4callback.c
/openbmc/linux/fs/nfsd/nfs4state.c
/openbmc/linux/fs/overlayfs/inode.c
/openbmc/linux/fs/overlayfs/util.c
/openbmc/linux/fs/proc/kcore.c
/openbmc/linux/fs/quota/dquot.c
/openbmc/linux/fs/smb/client/cached_dir.c
/openbmc/linux/fs/smb/client/cifsglob.h
/openbmc/linux/fs/smb/client/cifsproto.h
/openbmc/linux/fs/smb/client/connect.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/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/smb2proto.h
/openbmc/linux/fs/ubifs/super.c
/openbmc/linux/fs/ubifs/tnc_commit.c
/openbmc/linux/fs/xfs/libxfs/xfs_sb.c
/openbmc/linux/include/asm-generic/vmlinux.lds.h
/openbmc/linux/include/linux/blkdev.h
/openbmc/linux/include/linux/fwnode.h
/openbmc/linux/include/linux/init.h
/openbmc/linux/include/linux/mmdebug.h
/openbmc/linux/include/linux/once.h
/openbmc/linux/include/linux/once_lite.h
/openbmc/linux/include/linux/platform_data/x86/asus-wmi.h
/openbmc/linux/include/linux/rcupdate.h
/openbmc/linux/include/linux/util_macros.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/ipc/namespace.c
/openbmc/linux/kernel/signal.c
/openbmc/linux/kernel/time/ntp.c
/openbmc/linux/kernel/trace/ftrace.c
/openbmc/linux/lib/maple_tree.c
/openbmc/linux/mm/internal.h
/openbmc/linux/mm/slab.h
/openbmc/linux/mm/slub.c
/openbmc/linux/mm/vmstat.c
/openbmc/linux/net/9p/trans_xen.c
/openbmc/linux/net/bluetooth/6lowpan.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/link_watch.c
/openbmc/linux/net/dccp/feat.c
/openbmc/linux/net/ethtool/bitset.c
/openbmc/linux/net/hsr/hsr_forward.c
/openbmc/linux/net/ipv4/ip_output.c
/openbmc/linux/net/ipv4/ip_tunnel.c
/openbmc/linux/net/ipv6/icmp.c
/openbmc/linux/net/ipv6/ila/ila_lwt.c
/openbmc/linux/net/ipv6/ip6_output.c
/openbmc/linux/net/ipv6/ip6mr.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/l2tp/l2tp_ip6.c
/openbmc/linux/net/mpls/mpls_iptunnel.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/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/sched/cls_flower.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/xprtsock.c
/openbmc/linux/net/tipc/udp_media.c
/openbmc/linux/net/xfrm/xfrm_policy.c
/openbmc/linux/scripts/mod/file2alias.c
/openbmc/linux/scripts/mod/modpost.c
/openbmc/linux/tools/testing/selftests/hid/run-hid-tools-tests.sh
27d6e7ef16-Oct-2024 Chao Yu <chao@kernel.org>

f2fs: fix to do sanity check on node blkaddr in truncate_node()

commit 6babe00ccd34fc65b78ef8b99754e32b4385f23d upstream.

syzbot reports a f2fs bug as below:

------------[ cut here ]------------
k

f2fs: fix to do sanity check on node blkaddr in truncate_node()

commit 6babe00ccd34fc65b78ef8b99754e32b4385f23d upstream.

syzbot reports a f2fs bug as below:

------------[ cut here ]------------
kernel BUG at fs/f2fs/segment.c:2534!
RIP: 0010:f2fs_invalidate_blocks+0x35f/0x370 fs/f2fs/segment.c:2534
Call Trace:
truncate_node+0x1ae/0x8c0 fs/f2fs/node.c:909
f2fs_remove_inode_page+0x5c2/0x870 fs/f2fs/node.c:1288
f2fs_evict_inode+0x879/0x15c0 fs/f2fs/inode.c:856
evict+0x4e8/0x9b0 fs/inode.c:723
f2fs_handle_failed_inode+0x271/0x2e0 fs/f2fs/inode.c:986
f2fs_create+0x357/0x530 fs/f2fs/namei.c:394
lookup_open fs/namei.c:3595 [inline]
open_last_lookups fs/namei.c:3694 [inline]
path_openat+0x1c03/0x3590 fs/namei.c:3930
do_filp_open+0x235/0x490 fs/namei.c:3960
do_sys_openat2+0x13e/0x1d0 fs/open.c:1415
do_sys_open fs/open.c:1430 [inline]
__do_sys_openat fs/open.c:1446 [inline]
__se_sys_openat fs/open.c:1441 [inline]
__x64_sys_openat+0x247/0x2a0 fs/open.c:1441
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0010:f2fs_invalidate_blocks+0x35f/0x370 fs/f2fs/segment.c:2534

The root cause is: on a fuzzed image, blkaddr in nat entry may be
corrupted, then it will cause system panic when using it in
f2fs_invalidate_blocks(), to avoid this, let's add sanity check on
nat blkaddr in truncate_node().

Reported-by: syzbot+33379ce4ac76acf7d0c7@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/linux-f2fs-devel/0000000000009a6cd706224ca720@google.com/
Cc: stable@vger.kernel.org
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...


/openbmc/linux/Documentation/devicetree/bindings/iio/dac/adi,ad3552r.yaml
/openbmc/linux/Documentation/devicetree/bindings/serial/rs485.yaml
/openbmc/linux/arch/arm/boot/dts/ti/omap/omap36xx.dtsi
/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
/openbmc/linux/arch/arm64/include/asm/kvm_host.h
/openbmc/linux/arch/arm64/kernel/process.c
/openbmc/linux/arch/arm64/kvm/arch_timer.c
/openbmc/linux/arch/arm64/kvm/arm.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/parisc/kernel/ftrace.c
/openbmc/linux/arch/powerpc/kernel/setup_64.c
/openbmc/linux/arch/sh/kernel/cpu/proc.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/x86/crypto/aegis128-aesni-asm.S
/openbmc/linux/arch/x86/events/intel/pt.c
/openbmc/linux/arch/x86/events/intel/pt.h
/openbmc/linux/arch/x86/kvm/mmu/spte.c
/openbmc/linux/block/blk-mq.c
/openbmc/linux/block/blk-mq.h
/openbmc/linux/drivers/block/ublk_drv.c
/openbmc/linux/drivers/comedi/comedi_fops.c
/openbmc/linux/drivers/cpufreq/mediatek-cpufreq-hw.c
/openbmc/linux/drivers/gpio/gpio-exar.c
/openbmc/linux/drivers/hid/wacom_wac.c
/openbmc/linux/drivers/iio/industrialio-gts-helper.c
/openbmc/linux/drivers/media/i2c/adv7604.c
/openbmc/linux/drivers/media/i2c/adv7842.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/v4l2-core/v4l2-dv-timings.c
/openbmc/linux/drivers/misc/lkdtm/bugs.c
/openbmc/linux/drivers/mtd/spi-nor/core.c
/openbmc/linux/drivers/mtd/ubi/wl.c
/openbmc/linux/drivers/net/wireless/ath/ath12k/dp.c
/openbmc/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c
/openbmc/linux/drivers/net/wireless/realtek/rtlwifi/efuse.c
/openbmc/linux/drivers/pci/slot.c
/openbmc/linux/drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
/openbmc/linux/drivers/platform/chrome/cros_ec_typec.c
/openbmc/linux/drivers/soc/fsl/rcpm.c
/openbmc/linux/drivers/soc/qcom/socinfo.c
/openbmc/linux/drivers/spi/spi.c
/openbmc/linux/drivers/tty/serial/8250/8250_fintek.c
/openbmc/linux/drivers/tty/serial/8250/8250_omap.c
/openbmc/linux/drivers/tty/tty_io.c
/openbmc/linux/drivers/usb/dwc3/gadget.c
/openbmc/linux/drivers/usb/gadget/composite.c
/openbmc/linux/drivers/usb/host/xhci-ring.c
/openbmc/linux/drivers/usb/musb/musb_gadget.c
/openbmc/linux/fs/btrfs/ctree.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/ioctl.c
/openbmc/linux/fs/btrfs/qgroup.c
/openbmc/linux/fs/exfat/namei.c
/openbmc/linux/fs/ext4/fsmap.c
/openbmc/linux/fs/ext4/mballoc.c
/openbmc/linux/fs/ext4/mballoc.h
/openbmc/linux/fs/ext4/super.c
node.c
/openbmc/linux/fs/jfs/xattr.c
/openbmc/linux/fs/notify/fsnotify.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/connect.c
/openbmc/linux/fs/smb/client/inode.c
/openbmc/linux/fs/smb/client/reparse.c
/openbmc/linux/fs/smb/client/reparse.h
/openbmc/linux/fs/smb/client/smb2ops.c
/openbmc/linux/fs/smb/client/smb2pdu.c
/openbmc/linux/fs/smb/client/trace.h
/openbmc/linux/fs/smb/server/server.c
/openbmc/linux/include/linux/compiler_attributes.h
/openbmc/linux/include/linux/compiler_types.h
/openbmc/linux/include/linux/lockdep.h
/openbmc/linux/include/media/v4l2-dv-timings.h
/openbmc/linux/init/Kconfig
/openbmc/linux/lib/string_helpers.c
/openbmc/linux/net/bluetooth/rfcomm/sock.c
/openbmc/linux/net/netfilter/ipset/ip_set_bitmap_ip.c
/openbmc/linux/security/apparmor/policy_unpack_test.c
/openbmc/linux/sound/core/pcm_native.c
/openbmc/linux/sound/core/ump.c
/openbmc/linux/sound/pci/hda/patch_realtek.c
/openbmc/linux/sound/soc/amd/yc/acp6x-mach.c
/openbmc/linux/sound/soc/codecs/da7219.c
/openbmc/linux/sound/soc/intel/atom/sst/sst_acpi.c
/openbmc/linux/sound/usb/quirks.c
/openbmc/linux/tools/include/nolibc/arch-s390.h
b987773003-Jul-2024 Daejun Park <daejun7.park@samsung.com>

f2fs: fix null reference error when checking end of zone

commit c82bc1ab2a8a5e73d9728e80c4c2ed87e8921a38 upstream.

This patch fixes a potentially null pointer being accessed by
is_end_zone_blkaddr(

f2fs: fix null reference error when checking end of zone

commit c82bc1ab2a8a5e73d9728e80c4c2ed87e8921a38 upstream.

This patch fixes a potentially null pointer being accessed by
is_end_zone_blkaddr() that checks the last block of a zone
when f2fs is mounted as a single device.

Fixes: e067dc3c6b9c ("f2fs: maintain six open zones for zoned devices")
Signed-off-by: Daejun Park <daejun7.park@samsung.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Reviewed-by: Daeho Jeong <daehojeong@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
[ Resolve minor conflicts ]
Signed-off-by: Bin Lan <bin.lan.cn@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...

a90cb05929-Oct-2024 Xiuhong Wang <xiuhong.wang@unisoc.com>

f2fs: fix fiemap failure issue when page size is 16KB

commit a7a7c1d423a6351a6541e95c797da5358e5ad1ea upstream.

After enable 16K page size, an infinite loop may occur in
fiemap (fm_length=UINT64_MA

f2fs: fix fiemap failure issue when page size is 16KB

commit a7a7c1d423a6351a6541e95c797da5358e5ad1ea upstream.

After enable 16K page size, an infinite loop may occur in
fiemap (fm_length=UINT64_MAX) on a file, such as the 16KB
scratch.img during the remount operation in Android.

The condition for whether fiemap continues to map is to check
whether the number of bytes corresponding to the next map.m_lblk
exceeds blks_to_bytes(inode,max_inode_blocks(inode)) if there are HOLE.
The latter does not take into account the maximum size of a file with 16KB
page size, so the loop cannot be jumped out.

The following is the fail trace:
When f2fs_map_blocks reaches map.m_lblk=3936, it needs to go to the
first direct node block, so the map is 3936 + 4090 = 8026,
The next map is the second direct node block, that is,
8026 + 4090 = 12116,
The next map is the first indirect node block, that is,
12116 + 4090 * 4090 = 16740216,
The next map is the second indirect node block, that is,
16740216 + 4090 * 4090 = 33468316,
The next map is the first double indirect node block, that is,
33468316 + 4090 * 4090 * 4090 = 68451397316
Since map.m_lblk represents the address of a block, which is 32
bits, truncation will occur, that is, 68451397316 becomes
4026887876, and the number of bytes corresponding to the block
number does not exceed blks_to_bytes(inode,max_inode_blocks(inode)),
so the loop will not be jumped out.
The next time, it will be considered that it should still be a
double indirect node block, that is,
4026887876 + 4090 * 4090 * 4090 = 72444816876, which will be
truncated to 3725340140, and the loop will not be jumped out.

156.374871: f2fs_map_blocks: dev = (254,57), ino = 7449, file offset = 0, start blkaddr = 0x8e00, len = 0x200, flags = 2,seg_type = 8, may_create = 0, multidevice = 0, flag = 1, err = 0
156.374916: f2fs_map_blocks: dev = (254,57), ino = 7449, file offset = 512, start blkaddr = 0x0, len = 0x0, flags = 0 , seg_type = 8, may_create = 0, multidevice = 0, flag = 1, err = 0
156.374920: f2fs_map_blocks: dev = (254,57), ino = 7449, file offset = 513, start blkaddr = 0x0, len = 0x0, flags = 0, seg_type = 8, may_create = 0, multidevice = 0, flag = 1, err = 0
......
156.385747: f2fs_map_blocks: dev = (254,57), ino = 7449, file offset = 3935, start blkaddr = 0x0, len = 0x0, flags = 0, seg_type = 8, may_create = 0, multidevice = 0, flag = 1, err = 0
156.385752: f2fs_map_blocks: dev = (254,57), ino = 7449, file offset = 3936, start blkaddr = 0x0, len = 0x0, flags = 0, seg_type = 8, may_create = 0, multidevice = 0, flag = 1, err = 0
156.385755: f2fs_map_blocks: dev = (254,57), ino = 7449, file offset = 8026, start blkaddr = 0x0, len = 0x0, flags = 0, seg_type = 8, may_create = 0, multidevice = 0, flag = 1, err = 0
156.385758: f2fs_map_blocks: dev = (254,57), ino = 7449, file offset = 12116, start blkaddr = 0x0, len = 0x0, flags = 0, seg_type = 8, may_create = 0, multidevice = 0, flag = 1, err = 0
156.385761: f2fs_map_blocks: dev = (254,57), ino = 7449, file offset = 16740216, start blkaddr = 0x0, len = 0x0, flags = 0, seg_type = 8, may_create = 0, multidevice = 0, flag = 1, err = 0
156.385764: f2fs_map_blocks: dev = (254,57), ino = 7449, file offset = 33468316, start blkaddr = 0x0, len = 0x0, flags = 0, seg_type = 8, may_create = 0, multidevice = 0, flag = 1, err = 0
156.385767: f2fs_map_blocks: dev = (254,57), ino = 7449, file offset = 4026887876, start blkaddr = 0x0, len = 0x0, flags = 0, seg_type = 8, may_create = 0, multidevice = 0, flag = 1, err = 0
156.385770: f2fs_map_blocks: dev = (254,57), ino = 7449, file offset = 3725340140, start blkaddr = 0x0, len = 0x0, flags = 0, seg_type = 8, may_create = 0, multidevice = 0, flag = 1, err = 0
156.385772: f2fs_map_blocks: dev = (254,57), ino = 7449, file offset = 4026887876, start blkaddr = 0x0, len = 0x0, flags = 0, seg_type = 8, may_create = 0, multidevice = 0, flag = 1, err = 0
156.385775: f2fs_map_blocks: dev = (254,57), ino = 7449, file offset = 3725340140, start blkaddr = 0x0, len = 0x0, flags = 0, seg_type = 8, may_create = 0, multidevice = 0, flag = 1, err = 0

Commit a6a010f5def5 ("f2fs: Restrict max filesize for 16K f2fs")
has set the maximum allowed file size to (U32_MAX + 1) * F2FS_BLKSIZE,
so max_file_blocks should be used here to limit it, that is,
maxbytes defined above. And the max_inode_blocks function is not
called by other functions except here, so cleanup it.

Signed-off-by: Xiuhong Wang <xiuhong.wang@unisoc.com>
Signed-off-by: Zhiguo Niu <zhiguo.niu@unisoc.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Cc: Daniel Rosenberg <drosen@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...


/openbmc/linux/Documentation/filesystems/mount_api.rst
/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/drivers/base/firmware_loader/main.c
/openbmc/linux/drivers/counter/stm32-timer-cnt.c
/openbmc/linux/drivers/counter/ti-ecap-capture.c
/openbmc/linux/drivers/gpio/gpio-zevio.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.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/hwmon/tps23861.c
/openbmc/linux/drivers/iio/light/al3010.c
/openbmc/linux/drivers/misc/apds990x.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/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/otx2_common.h
/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/microchip/vcap/vcap_api_kunit.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c
/openbmc/linux/drivers/net/mdio/mdio-ipq4019.c
/openbmc/linux/drivers/net/usb/lan78xx.c
/openbmc/linux/drivers/pci/endpoint/functions/pci-epf-mhi.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/remoteproc/qcom_q6v5_mss.c
/openbmc/linux/drivers/remoteproc/qcom_q6v5_pas.c
/openbmc/linux/drivers/rpmsg/qcom_glink_native.c
/openbmc/linux/drivers/spi/atmel-quadspi.c
/openbmc/linux/drivers/usb/misc/chaoskey.c
/openbmc/linux/drivers/usb/misc/iowarrior.c
/openbmc/linux/drivers/usb/misc/yurex.c
/openbmc/linux/drivers/vdpa/mlx5/core/mr.c
/openbmc/linux/drivers/vfio/pci/vfio_pci_config.c
data.c
/openbmc/linux/fs/gfs2/glock.c
/openbmc/linux/fs/nfsd/export.c
/openbmc/linux/fs/nfsd/export.h
/openbmc/linux/fs/nfsd/nfs4callback.c
/openbmc/linux/fs/nfsd/nfs4proc.c
/openbmc/linux/fs/nfsd/nfs4recover.c
/openbmc/linux/net/bluetooth/mgmt.c
/openbmc/linux/net/hsr/hsr_device.c
/openbmc/linux/net/ipv4/inet_connection_sock.c
/openbmc/linux/net/ipv4/ipmr.c
/openbmc/linux/net/ipv6/addrconf.c
/openbmc/linux/net/ipv6/ip6mr.c
/openbmc/linux/net/iucv/af_iucv.c
/openbmc/linux/net/llc/af_llc.c
/openbmc/linux/net/rxrpc/af_rxrpc.c
/openbmc/linux/net/sunrpc/xprtrdma/svc_rdma.c
/openbmc/linux/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
/openbmc/linux/security/apparmor/capability.c
/openbmc/linux/sound/pci/hda/patch_realtek.c
/openbmc/linux/sound/soc/amd/yc/acp6x-mach.c
/openbmc/linux/tools/perf/builtin-list.c
/openbmc/linux/tools/perf/builtin-trace.c
/openbmc/linux/tools/perf/util/pfm.c
/openbmc/linux/tools/perf/util/pmus.c
/openbmc/linux/tools/testing/selftests/mount_setattr/mount_setattr_test.c
1678436203-Nov-2024 Chao Yu <chao@kernel.org>

f2fs: fix to avoid forcing direct write to use buffered IO on inline_data inode

[ Upstream commit 26e6f59d0bbaac76fa3413462d780bd2b5f9f653 ]

Jinsu Lee reported a performance regression issue, after

f2fs: fix to avoid forcing direct write to use buffered IO on inline_data inode

[ Upstream commit 26e6f59d0bbaac76fa3413462d780bd2b5f9f653 ]

Jinsu Lee reported a performance regression issue, after commit
5c8764f8679e ("f2fs: fix to force buffered IO on inline_data
inode"), we forced direct write to use buffered IO on inline_data
inode, it will cause performace regression due to memory copy
and data flush.

It's fine to not force direct write to use buffered IO, as it
can convert inline inode before committing direct write IO.

Fixes: 5c8764f8679e ("f2fs: fix to force buffered IO on inline_data inode")
Reported-by: Jinsu Lee <jinsu1.lee@samsung.com>
Closes: https://lore.kernel.org/linux-f2fs-devel/af03dd2c-e361-4f80-b2fd-39440766cf6e@kernel.org
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>

show more ...

794fa87903-Nov-2024 Long Li <leo.lilong@huawei.com>

f2fs: fix race in concurrent f2fs_stop_gc_thread

[ Upstream commit 7b0033dbc48340a1c1c3f12448ba17d6587ca092 ]

In my test case, concurrent calls to f2fs shutdown report the following
stack trace:

f2fs: fix race in concurrent f2fs_stop_gc_thread

[ Upstream commit 7b0033dbc48340a1c1c3f12448ba17d6587ca092 ]

In my test case, concurrent calls to f2fs shutdown report the following
stack trace:

Oops: general protection fault, probably for non-canonical address 0xc6cfff63bb5513fc: 0000 [#1] PREEMPT SMP PTI
CPU: 0 UID: 0 PID: 678 Comm: f2fs_rep_shutdo Not tainted 6.12.0-rc5-next-20241029-g6fb2fa9805c5-dirty #85
Call Trace:
<TASK>
? show_regs+0x8b/0xa0
? __die_body+0x26/0xa0
? die_addr+0x54/0x90
? exc_general_protection+0x24b/0x5c0
? asm_exc_general_protection+0x26/0x30
? kthread_stop+0x46/0x390
f2fs_stop_gc_thread+0x6c/0x110
f2fs_do_shutdown+0x309/0x3a0
f2fs_ioc_shutdown+0x150/0x1c0
__f2fs_ioctl+0xffd/0x2ac0
f2fs_ioctl+0x76/0xe0
vfs_ioctl+0x23/0x60
__x64_sys_ioctl+0xce/0xf0
x64_sys_call+0x2b1b/0x4540
do_syscall_64+0xa7/0x240
entry_SYSCALL_64_after_hwframe+0x76/0x7e

The root cause is a race condition in f2fs_stop_gc_thread() called from
different f2fs shutdown paths:

[CPU0] [CPU1]
---------------------- -----------------------
f2fs_stop_gc_thread f2fs_stop_gc_thread
gc_th = sbi->gc_thread
gc_th = sbi->gc_thread
kfree(gc_th)
sbi->gc_thread = NULL
< gc_th != NULL >
kthread_stop(gc_th->f2fs_gc_task) //UAF

The commit c7f114d864ac ("f2fs: fix to avoid use-after-free in
f2fs_stop_gc_thread()") attempted to fix this issue by using a read
semaphore to prevent races between shutdown and remount threads, but
it fails to prevent all race conditions.

Fix it by converting to write lock of s_umount in f2fs_do_shutdown().

Fixes: 7950e9ac638e ("f2fs: stop gc/discard thread after fs shutdown")
Signed-off-by: Long Li <leo.lilong@huawei.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>

show more ...

ed16873f28-Oct-2024 Zhiguo Niu <zhiguo.niu@unisoc.com>

f2fs: fix to avoid use GC_AT when setting gc_mode as GC_URGENT_LOW or GC_URGENT_MID

[ Upstream commit 296b8cb34e65fa93382cf919be5a056f719c9a26 ]

If gc_mode is set to GC_URGENT_LOW or GC_URGENT_MID,

f2fs: fix to avoid use GC_AT when setting gc_mode as GC_URGENT_LOW or GC_URGENT_MID

[ Upstream commit 296b8cb34e65fa93382cf919be5a056f719c9a26 ]

If gc_mode is set to GC_URGENT_LOW or GC_URGENT_MID, cost benefit GC
approach should be used, but if ATGC is enabled at the same time,
Age-threshold approach will be selected, which can only do amount of
GC and it is much less than the numbers of CB approach.

some traces:
f2fs_gc-254:48-396 [007] ..... 2311600.684028: f2fs_gc_begin: dev = (254,48), gc_type = Background GC, no_background_GC = 0, nr_free_secs = 0, nodes = 1053, dents = 2, imeta = 18, free_sec:44898, free_seg:44898, rsv_seg:239, prefree_seg:0
f2fs_gc-254:48-396 [007] ..... 2311600.684527: f2fs_get_victim: dev = (254,48), type = No TYPE, policy = (Background GC, LFS-mode, Age-threshold), victim = 10, cost = 4294364975, ofs_unit = 1, pre_victim_secno = -1, prefree = 0, free = 44898
f2fs_gc-254:48-396 [007] ..... 2311600.714835: f2fs_gc_end: dev = (254,48), ret = 0, seg_freed = 0, sec_freed = 0, nodes = 1562, dents = 2, imeta = 18, free_sec:44898, free_seg:44898, rsv_seg:239, prefree_seg:0
f2fs_gc-254:48-396 [007] ..... 2311600.714843: f2fs_background_gc: dev = (254,48), wait_ms = 50, prefree = 0, free = 44898
f2fs_gc-254:48-396 [007] ..... 2311600.771785: f2fs_gc_begin: dev = (254,48), gc_type = Background GC, no_background_GC = 0, nr_free_secs = 0, nodes = 1562, dents = 2, imeta = 18, free_sec:44898, free_seg:44898, rsv_seg:239, prefree_seg:
f2fs_gc-254:48-396 [007] ..... 2311600.772275: f2fs_gc_end: dev = (254,48), ret = -61, seg_freed = 0, sec_freed = 0, nodes = 1562, dents = 2, imeta = 18, free_sec:44898, free_seg:44898, rsv_seg:239, prefree_seg:0

Fixes: 0e5e81114de1 ("f2fs: add GC_URGENT_LOW mode in gc_urgent")
Fixes: d98af5f45520 ("f2fs: introduce gc_urgent_mid mode")
Signed-off-by: Zhiguo Niu <zhiguo.niu@unisoc.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>

show more ...

ecf4e67822-Oct-2024 Chao Yu <chao@kernel.org>

f2fs: fix to avoid potential deadlock in f2fs_record_stop_reason()

[ Upstream commit f10a890308a7cd8794e21f646f09827c6cb4bf5d ]

syzbot reports deadlock issue of f2fs as below:

====================

f2fs: fix to avoid potential deadlock in f2fs_record_stop_reason()

[ Upstream commit f10a890308a7cd8794e21f646f09827c6cb4bf5d ]

syzbot reports deadlock issue of f2fs as below:

======================================================
WARNING: possible circular locking dependency detected
6.12.0-rc3-syzkaller-00087-gc964ced77262 #0 Not tainted
------------------------------------------------------
kswapd0/79 is trying to acquire lock:
ffff888011824088 (&sbi->sb_lock){++++}-{3:3}, at: f2fs_down_write fs/f2fs/f2fs.h:2199 [inline]
ffff888011824088 (&sbi->sb_lock){++++}-{3:3}, at: f2fs_record_stop_reason+0x52/0x1d0 fs/f2fs/super.c:4068

but task is already holding lock:
ffff88804bd92610 (sb_internal#2){.+.+}-{0:0}, at: f2fs_evict_inode+0x662/0x15c0 fs/f2fs/inode.c:842

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-> #2 (sb_internal#2){.+.+}-{0:0}:
lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5825
percpu_down_read include/linux/percpu-rwsem.h:51 [inline]
__sb_start_write include/linux/fs.h:1716 [inline]
sb_start_intwrite+0x4d/0x1c0 include/linux/fs.h:1899
f2fs_evict_inode+0x662/0x15c0 fs/f2fs/inode.c:842
evict+0x4e8/0x9b0 fs/inode.c:725
f2fs_evict_inode+0x1a4/0x15c0 fs/f2fs/inode.c:807
evict+0x4e8/0x9b0 fs/inode.c:725
dispose_list fs/inode.c:774 [inline]
prune_icache_sb+0x239/0x2f0 fs/inode.c:963
super_cache_scan+0x38c/0x4b0 fs/super.c:223
do_shrink_slab+0x701/0x1160 mm/shrinker.c:435
shrink_slab+0x1093/0x14d0 mm/shrinker.c:662
shrink_one+0x43b/0x850 mm/vmscan.c:4818
shrink_many mm/vmscan.c:4879 [inline]
lru_gen_shrink_node mm/vmscan.c:4957 [inline]
shrink_node+0x3799/0x3de0 mm/vmscan.c:5937
kswapd_shrink_node mm/vmscan.c:6765 [inline]
balance_pgdat mm/vmscan.c:6957 [inline]
kswapd+0x1ca3/0x3700 mm/vmscan.c:7226
kthread+0x2f0/0x390 kernel/kthread.c:389
ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244

-> #1 (fs_reclaim){+.+.}-{0:0}:
lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5825
__fs_reclaim_acquire mm/page_alloc.c:3834 [inline]
fs_reclaim_acquire+0x88/0x130 mm/page_alloc.c:3848
might_alloc include/linux/sched/mm.h:318 [inline]
prepare_alloc_pages+0x147/0x5b0 mm/page_alloc.c:4493
__alloc_pages_noprof+0x16f/0x710 mm/page_alloc.c:4722
alloc_pages_mpol_noprof+0x3e8/0x680 mm/mempolicy.c:2265
alloc_pages_noprof mm/mempolicy.c:2345 [inline]
folio_alloc_noprof+0x128/0x180 mm/mempolicy.c:2352
filemap_alloc_folio_noprof+0xdf/0x500 mm/filemap.c:1010
do_read_cache_folio+0x2eb/0x850 mm/filemap.c:3787
read_mapping_folio include/linux/pagemap.h:1011 [inline]
f2fs_commit_super+0x3c0/0x7d0 fs/f2fs/super.c:4032
f2fs_record_stop_reason+0x13b/0x1d0 fs/f2fs/super.c:4079
f2fs_handle_critical_error+0x2ac/0x5c0 fs/f2fs/super.c:4174
f2fs_write_inode+0x35f/0x4d0 fs/f2fs/inode.c:785
write_inode fs/fs-writeback.c:1503 [inline]
__writeback_single_inode+0x711/0x10d0 fs/fs-writeback.c:1723
writeback_single_inode+0x1f3/0x660 fs/fs-writeback.c:1779
sync_inode_metadata+0xc4/0x120 fs/fs-writeback.c:2849
f2fs_release_file+0xa8/0x100 fs/f2fs/file.c:1941
__fput+0x23f/0x880 fs/file_table.c:431
task_work_run+0x24f/0x310 kernel/task_work.c:228
resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
exit_to_user_mode_loop kernel/entry/common.c:114 [inline]
exit_to_user_mode_prepare include/linux/entry-common.h:328 [inline]
__syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline]
syscall_exit_to_user_mode+0x168/0x370 kernel/entry/common.c:218
do_syscall_64+0x100/0x230 arch/x86/entry/common.c:89
entry_SYSCALL_64_after_hwframe+0x77/0x7f

-> #0 (&sbi->sb_lock){++++}-{3:3}:
check_prev_add kernel/locking/lockdep.c:3161 [inline]
check_prevs_add kernel/locking/lockdep.c:3280 [inline]
validate_chain+0x18ef/0x5920 kernel/locking/lockdep.c:3904
__lock_acquire+0x1384/0x2050 kernel/locking/lockdep.c:5202
lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5825
down_write+0x99/0x220 kernel/locking/rwsem.c:1577
f2fs_down_write fs/f2fs/f2fs.h:2199 [inline]
f2fs_record_stop_reason+0x52/0x1d0 fs/f2fs/super.c:4068
f2fs_handle_critical_error+0x2ac/0x5c0 fs/f2fs/super.c:4174
f2fs_evict_inode+0xa61/0x15c0 fs/f2fs/inode.c:883
evict+0x4e8/0x9b0 fs/inode.c:725
f2fs_evict_inode+0x1a4/0x15c0 fs/f2fs/inode.c:807
evict+0x4e8/0x9b0 fs/inode.c:725
dispose_list fs/inode.c:774 [inline]
prune_icache_sb+0x239/0x2f0 fs/inode.c:963
super_cache_scan+0x38c/0x4b0 fs/super.c:223
do_shrink_slab+0x701/0x1160 mm/shrinker.c:435
shrink_slab+0x1093/0x14d0 mm/shrinker.c:662
shrink_one+0x43b/0x850 mm/vmscan.c:4818
shrink_many mm/vmscan.c:4879 [inline]
lru_gen_shrink_node mm/vmscan.c:4957 [inline]
shrink_node+0x3799/0x3de0 mm/vmscan.c:5937
kswapd_shrink_node mm/vmscan.c:6765 [inline]
balance_pgdat mm/vmscan.c:6957 [inline]
kswapd+0x1ca3/0x3700 mm/vmscan.c:7226
kthread+0x2f0/0x390 kernel/kthread.c:389
ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244

other info that might help us debug this:

Chain exists of:
&sbi->sb_lock --> fs_reclaim --> sb_internal#2

Possible unsafe locking scenario:

CPU0 CPU1
---- ----
rlock(sb_internal#2);
lock(fs_reclaim);
lock(sb_internal#2);
lock(&sbi->sb_lock);

Root cause is there will be potential deadlock in between
below tasks:

Thread A Kswapd
- f2fs_ioc_commit_atomic_write
- mnt_want_write_file -- down_read lock A
- balance_pgdat
- __fs_reclaim_acquire -- lock B
- shrink_node
- prune_icache_sb
- dispose_list
- f2fs_evict_inode
- sb_start_intwrite -- down_read lock A
- f2fs_do_sync_file
- f2fs_write_inode
- f2fs_handle_critical_error
- f2fs_record_stop_reason
- f2fs_commit_super
- read_mapping_folio
- filemap_alloc_folio_noprof
- fs_reclaim_acquire -- lock B

Both threads try to acquire read lock of lock A, then its upcoming write
lock grabber will trigger deadlock.

Let's always create an asynchronous task in f2fs_handle_critical_error()
rather than calling f2fs_record_stop_reason() synchronously to avoid
this potential deadlock issue.

Fixes: b62e71be2110 ("f2fs: support errors=remount-ro|continue|panic mountoption")
Reported-by: syzbot+be4a9983e95a5e25c8d3@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/all/6704d667.050a0220.1e4d62.0081.GAE@google.com
Signed-off-by: Chao Yu <chao@kernel.org>
Reviewed-by: Daejun Park <daejun7.park@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>

show more ...

67f4c66420-Oct-2024 Yongpeng Yang <yangyongpeng1@oppo.com>

f2fs: check curseg->inited before write_sum_page in change_curseg

[ Upstream commit 43563069e1c1df417d2eed6eca8a22fc6b04691d ]

In the __f2fs_init_atgc_curseg->get_atssr_segment calling,
curseg->seg

f2fs: check curseg->inited before write_sum_page in change_curseg

[ Upstream commit 43563069e1c1df417d2eed6eca8a22fc6b04691d ]

In the __f2fs_init_atgc_curseg->get_atssr_segment calling,
curseg->segno is NULL_SEGNO, indicating that there is no summary
block that needs to be written.

Fixes: 093749e296e2 ("f2fs: support age threshold based garbage collection")
Signed-off-by: Yongpeng Yang <yangyongpeng1@oppo.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>

show more ...

f3d586b720-Oct-2024 LongPing Wei <weilongping@oppo.com>

f2fs: fix the wrong f2fs_bug_on condition in f2fs_do_replace_block

[ Upstream commit c3af1f13476ec23fd99c98d060a89be28c1e8871 ]

This f2fs_bug_on was introduced by commit 2c1905042c8c ("f2fs: check

f2fs: fix the wrong f2fs_bug_on condition in f2fs_do_replace_block

[ Upstream commit c3af1f13476ec23fd99c98d060a89be28c1e8871 ]

This f2fs_bug_on was introduced by commit 2c1905042c8c ("f2fs: check
segment type in __f2fs_replace_block") when there were only 6 curseg types.
After commit d0b9e42ab615 ("f2fs: introduce inmem curseg") was introduced,
the condition should be changed to checking curseg->seg_type.

Fixes: d0b9e42ab615 ("f2fs: introduce inmem curseg")
Signed-off-by: LongPing Wei <weilongping@oppo.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>

show more ...

f1b8bfe814-Oct-2024 Chao Yu <chao@kernel.org>

f2fs: fix to account dirty data in __get_secs_required()

[ Upstream commit 1acd73edbbfef2c3c5b43cba4006a7797eca7050 ]

It will trigger system panic w/ testcase in [1]:

------------[ cut here ]-----

f2fs: fix to account dirty data in __get_secs_required()

[ Upstream commit 1acd73edbbfef2c3c5b43cba4006a7797eca7050 ]

It will trigger system panic w/ testcase in [1]:

------------[ cut here ]------------
kernel BUG at fs/f2fs/segment.c:2752!
RIP: 0010:new_curseg+0xc81/0x2110
Call Trace:
f2fs_allocate_data_block+0x1c91/0x4540
do_write_page+0x163/0xdf0
f2fs_outplace_write_data+0x1aa/0x340
f2fs_do_write_data_page+0x797/0x2280
f2fs_write_single_data_page+0x16cd/0x2190
f2fs_write_cache_pages+0x994/0x1c80
f2fs_write_data_pages+0x9cc/0xea0
do_writepages+0x194/0x7a0
filemap_fdatawrite_wbc+0x12b/0x1a0
__filemap_fdatawrite_range+0xbb/0xf0
file_write_and_wait_range+0xa1/0x110
f2fs_do_sync_file+0x26f/0x1c50
f2fs_sync_file+0x12b/0x1d0
vfs_fsync_range+0xfa/0x230
do_fsync+0x3d/0x80
__x64_sys_fsync+0x37/0x50
x64_sys_call+0x1e88/0x20d0
do_syscall_64+0x4b/0x110
entry_SYSCALL_64_after_hwframe+0x76/0x7e

The root cause is if checkpoint_disabling and lfs_mode are both on,
it will trigger OPU for all overwritten data, it may cost more free
segment than expected, so f2fs must account those data correctly to
calculate cosumed free segments later, and return ENOSPC earlier to
avoid run out of free segment during block allocation.

[1] https://lore.kernel.org/fstests/20241015025106.3203676-1-chao@kernel.org/

Fixes: 4354994f097d ("f2fs: checkpoint disabling")
Cc: Daniel Rosenberg <drosen@google.com>
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>

show more ...

6b0ed65c29-Sep-2024 Qi Han <hanqi@vivo.com>

f2fs: compress: fix inconsistent update of i_blocks in release_compress_blocks and reserve_compress_blocks

[ Upstream commit 26413ce18e85de3dda2cd3d72c3c3e8ab8f4f996 ]

After release a file and subs

f2fs: compress: fix inconsistent update of i_blocks in release_compress_blocks and reserve_compress_blocks

[ Upstream commit 26413ce18e85de3dda2cd3d72c3c3e8ab8f4f996 ]

After release a file and subsequently reserve it, the FSCK flag is set
when the file is deleted, as shown in the following backtrace:

F2FS-fs (dm-48): Inconsistent i_blocks, ino:401231, iblocks:1448, sectors:1472
fs_rec_info_write_type+0x58/0x274
f2fs_rec_info_write+0x1c/0x2c
set_sbi_flag+0x74/0x98
dec_valid_block_count+0x150/0x190
f2fs_truncate_data_blocks_range+0x2d4/0x3cc
f2fs_do_truncate_blocks+0x2fc/0x5f0
f2fs_truncate_blocks+0x68/0x100
f2fs_truncate+0x80/0x128
f2fs_evict_inode+0x1a4/0x794
evict+0xd4/0x280
iput+0x238/0x284
do_unlinkat+0x1ac/0x298
__arm64_sys_unlinkat+0x48/0x68
invoke_syscall+0x58/0x11c

For clusters of the following type, i_blocks are decremented by 1 and
i_compr_blocks are incremented by 7 in release_compress_blocks, while
updates to i_blocks and i_compr_blocks are skipped in reserve_compress_blocks.

raw node:
D D D D D D D D
after compress:
C D D D D D D D
after reserve:
C D D D D D D D

Let's update i_blocks and i_compr_blocks properly in reserve_compress_blocks.

Fixes: eb8fbaa53374 ("f2fs: compress: fix to check unreleased compressed cluster")
Signed-off-by: Qi Han <hanqi@vivo.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>

show more ...


/openbmc/linux/Documentation/RCU/stallwarn.rst
/openbmc/linux/Documentation/admin-guide/kernel-parameters.txt
/openbmc/linux/Documentation/arch/arm64/silicon-errata.rst
/openbmc/linux/Documentation/dev-tools/kselftest.rst
/openbmc/linux/Documentation/devicetree/bindings/clock/adi,axi-clkgen.yaml
/openbmc/linux/Documentation/devicetree/bindings/net/xlnx,axi-ethernet.yaml
/openbmc/linux/Documentation/devicetree/bindings/sound/davinci-mcasp-audio.yaml
/openbmc/linux/Documentation/devicetree/bindings/sound/mt6359.yaml
/openbmc/linux/Documentation/devicetree/bindings/spi/spi-nxp-fspi.yaml
/openbmc/linux/Documentation/devicetree/bindings/vendor-prefixes.yaml
/openbmc/linux/Documentation/locking/seqlock.rst
/openbmc/linux/Documentation/networking/j1939.rst
/openbmc/linux/Documentation/virt/kvm/locking.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/broadcom/bcm2837-rpi-cm3-io3.dts
/openbmc/linux/arch/arm/boot/dts/microchip/sam9x60.dtsi
/openbmc/linux/arch/arm/boot/dts/nxp/imx/imx6ul-geam.dts
/openbmc/linux/arch/arm/boot/dts/rockchip/rk3036-kylin.dts
/openbmc/linux/arch/arm/boot/dts/rockchip/rk3036.dtsi
/openbmc/linux/arch/arm/crypto/aes-ce-glue.c
/openbmc/linux/arch/arm/crypto/aes-neonbs-glue.c
/openbmc/linux/arch/arm/kernel/devtree.c
/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/mmu.c
/openbmc/linux/arch/arm64/Kconfig
/openbmc/linux/arch/arm64/Makefile
/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/freescale/imx8ulp.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.dtsi
/openbmc/linux/arch/arm64/boot/dts/qcom/sa8775p.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/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-pinebook-pro.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/boot/dts/rockchip/rk3588s-indiedroid-nova.dts
/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/cputype.h
/openbmc/linux/arch/arm64/include/asm/esr.h
/openbmc/linux/arch/arm64/include/asm/insn.h
/openbmc/linux/arch/arm64/include/asm/mman.h
/openbmc/linux/arch/arm64/include/asm/uprobes.h
/openbmc/linux/arch/arm64/kernel/cpu_errata.c
/openbmc/linux/arch/arm64/kernel/fpsimd.c
/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/arm64/kernel/setup.c
/openbmc/linux/arch/arm64/kernel/smccc-call.S
/openbmc/linux/arch/arm64/kernel/vmlinux.lds.S
/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/arm64/net/bpf_jit_comp.c
/openbmc/linux/arch/csky/kernel/setup.c
/openbmc/linux/arch/loongarch/configs/loongson3_defconfig
/openbmc/linux/arch/loongarch/include/asm/bootinfo.h
/openbmc/linux/arch/loongarch/include/asm/kasan.h
/openbmc/linux/arch/loongarch/include/asm/loongarch.h
/openbmc/linux/arch/loongarch/include/asm/page.h
/openbmc/linux/arch/loongarch/kernel/process.c
/openbmc/linux/arch/loongarch/kernel/setup.c
/openbmc/linux/arch/loongarch/kernel/smp.c
/openbmc/linux/arch/loongarch/kernel/traps.c
/openbmc/linux/arch/loongarch/mm/kasan_init.c
/openbmc/linux/arch/loongarch/pci/acpi.c
/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/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/entry.S
/openbmc/linux/arch/parisc/kernel/syscall.S
/openbmc/linux/arch/powerpc/configs/ppc64_defconfig
/openbmc/linux/arch/powerpc/configs/ps3_defconfig
/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/include/asm/vdso_datapage.h
/openbmc/linux/arch/powerpc/kernel/asm-offsets.c
/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/setup-common.c
/openbmc/linux/arch/powerpc/kernel/vdso/cacheflush.S
/openbmc/linux/arch/powerpc/kernel/vdso/datapage.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/powernv/opal-irqchip.c
/openbmc/linux/arch/powerpc/platforms/pseries/dlpar.c
/openbmc/linux/arch/powerpc/platforms/pseries/dtl.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/lpar.c
/openbmc/linux/arch/powerpc/platforms/pseries/plpks.c
/openbmc/linux/arch/powerpc/platforms/pseries/pmem.c
/openbmc/linux/arch/riscv/Kconfig
/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/acpi.c
/openbmc/linux/arch/riscv/kernel/asm-offsets.c
/openbmc/linux/arch/riscv/kernel/cpu-hotplug.c
/openbmc/linux/arch/riscv/kernel/cpu.c
/openbmc/linux/arch/riscv/kernel/cpufeature.c
/openbmc/linux/arch/riscv/kernel/efi-header.S
/openbmc/linux/arch/riscv/kernel/elf_kexec.c
/openbmc/linux/arch/riscv/kernel/entry.S
/openbmc/linux/arch/riscv/kernel/setup.c
/openbmc/linux/arch/riscv/kernel/traps_misaligned.c
/openbmc/linux/arch/riscv/kernel/vdso/Makefile
/openbmc/linux/arch/riscv/kvm/aia_aplic.c
/openbmc/linux/arch/riscv/kvm/aia_imsic.c
/openbmc/linux/arch/riscv/net/bpf_jit_comp64.c
/openbmc/linux/arch/riscv/purgatory/entry.S
/openbmc/linux/arch/s390/include/asm/facility.h
/openbmc/linux/arch/s390/include/asm/io.h
/openbmc/linux/arch/s390/include/asm/perf_event.h
/openbmc/linux/arch/s390/include/asm/set_memory.h
/openbmc/linux/arch/s390/kernel/perf_cpum_sf.c
/openbmc/linux/arch/s390/kernel/syscalls/Makefile
/openbmc/linux/arch/s390/kvm/diag.c
/openbmc/linux/arch/s390/kvm/gaccess.c
/openbmc/linux/arch/s390/kvm/gaccess.h
/openbmc/linux/arch/s390/mm/cmm.c
/openbmc/linux/arch/s390/mm/pageattr.c
/openbmc/linux/arch/s390/pci/pci_event.c
/openbmc/linux/arch/sh/kernel/setup.c
/openbmc/linux/arch/um/kernel/dtb.c
/openbmc/linux/arch/x86/Kconfig
/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/sha256-avx2-asm.S
/openbmc/linux/arch/x86/entry/entry.S
/openbmc/linux/arch/x86/entry/entry_32.S
/openbmc/linux/arch/x86/events/core.c
/openbmc/linux/arch/x86/include/asm/amd_nb.h
/openbmc/linux/arch/x86/include/asm/asm-prototypes.h
/openbmc/linux/arch/x86/include/asm/bug.h
/openbmc/linux/arch/x86/include/asm/cpufeatures.h
/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/nospec-branch.h
/openbmc/linux/arch/x86/include/asm/shared/tdx.h
/openbmc/linux/arch/x86/include/asm/syscall.h
/openbmc/linux/arch/x86/kernel/amd_nb.c
/openbmc/linux/arch/x86/kernel/apic/apic.c
/openbmc/linux/arch/x86/kernel/apic/io_apic.c
/openbmc/linux/arch/x86/kernel/asm-offsets.c
/openbmc/linux/arch/x86/kernel/cpu/amd.c
/openbmc/linux/arch/x86/kernel/cpu/bugs.c
/openbmc/linux/arch/x86/kernel/cpu/common.c
/openbmc/linux/arch/x86/kernel/cpu/resctrl/core.c
/openbmc/linux/arch/x86/kernel/cpu/resctrl/ctrlmondata.c
/openbmc/linux/arch/x86/kernel/devicetree.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/kernel/traps.c
/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/svm/nested.c
/openbmc/linux/arch/x86/kvm/vmx/nested.c
/openbmc/linux/arch/x86/kvm/vmx/vmx.c
/openbmc/linux/arch/x86/mm/ioremap.c
/openbmc/linux/arch/x86/net/bpf_jit_comp.c
/openbmc/linux/arch/x86/platform/pvh/head.S
/openbmc/linux/arch/x86/virt/vmx/tdx/tdxcall.S
/openbmc/linux/arch/xtensa/kernel/setup.c
/openbmc/linux/block/blk-iocost.c
/openbmc/linux/block/blk-map.c
/openbmc/linux/block/blk-merge.c
/openbmc/linux/block/blk-rq-qos.c
/openbmc/linux/block/elevator.c
/openbmc/linux/crypto/algapi.c
/openbmc/linux/crypto/pcrypt.c
/openbmc/linux/crypto/simd.c
/openbmc/linux/drivers/accel/ivpu/ivpu_fw.c
/openbmc/linux/drivers/accel/qaic/qaic_control.c
/openbmc/linux/drivers/accel/qaic/qaic_data.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/arm64/gtdt.c
/openbmc/linux/drivers/acpi/battery.c
/openbmc/linux/drivers/acpi/button.c
/openbmc/linux/drivers/acpi/cppc_acpi.c
/openbmc/linux/drivers/acpi/ec.c
/openbmc/linux/drivers/acpi/prmt.c
/openbmc/linux/drivers/acpi/resource.c
/openbmc/linux/drivers/acpi/video_detect.c
/openbmc/linux/drivers/ata/ahci.c
/openbmc/linux/drivers/ata/libata-eh.c
/openbmc/linux/drivers/ata/pata_serverworks.c
/openbmc/linux/drivers/ata/sata_sil.c
/openbmc/linux/drivers/base/bus.c
/openbmc/linux/drivers/base/core.c
/openbmc/linux/drivers/base/module.c
/openbmc/linux/drivers/base/regmap/regmap-irq.c
/openbmc/linux/drivers/block/aoe/aoecmd.c
/openbmc/linux/drivers/block/brd.c
/openbmc/linux/drivers/block/loop.c
/openbmc/linux/drivers/block/null_blk/main.c
/openbmc/linux/drivers/block/ublk_drv.c
/openbmc/linux/drivers/block/virtio_blk.c
/openbmc/linux/drivers/block/zram/zram_drv.c
/openbmc/linux/drivers/bluetooth/btintel.c
/openbmc/linux/drivers/bluetooth/btmrvl_sdio.c
/openbmc/linux/drivers/bluetooth/btrtl.c
/openbmc/linux/drivers/bluetooth/btusb.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/cdrom/cdrom.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/char/virtio_console.c
/openbmc/linux/drivers/clk/bcm/clk-bcm53573-ilp.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-imx7d.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-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/ralink/clk-mtmips.c
/openbmc/linux/drivers/clk/renesas/rzg2l-cpg.c
/openbmc/linux/drivers/clk/rockchip/clk.c
/openbmc/linux/drivers/clk/samsung/clk-exynos7885.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/drivers/ni_routing/tools/convert_c_to_py.c
/openbmc/linux/drivers/cpufreq/amd-pstate.c
/openbmc/linux/drivers/cpufreq/cppc_cpufreq.c
/openbmc/linux/drivers/cpufreq/intel_pstate.c
/openbmc/linux/drivers/cpufreq/loongson2_cpufreq.c
/openbmc/linux/drivers/cpuidle/cpuidle-riscv-sbi.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/crypto/marvell/Kconfig
/openbmc/linux/drivers/crypto/marvell/cesa/hash.c
/openbmc/linux/drivers/crypto/marvell/octeontx/otx_cptvf_algs.c
/openbmc/linux/drivers/crypto/marvell/octeontx2/otx2_cptvf_algs.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/dax/device.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/bus.c
/openbmc/linux/drivers/firmware/arm_scmi/common.h
/openbmc/linux/drivers/firmware/arm_scmi/driver.c
/openbmc/linux/drivers/firmware/arm_scmi/mailbox.c
/openbmc/linux/drivers/firmware/arm_scpi.c
/openbmc/linux/drivers/firmware/arm_sdei.c
/openbmc/linux/drivers/firmware/efi/libstub/efi-stub.c
/openbmc/linux/drivers/firmware/efi/tpm.c
/openbmc/linux/drivers/firmware/efi/unaccepted_memory.c
/openbmc/linux/drivers/firmware/google/gsmi.c
/openbmc/linux/drivers/firmware/smccc/smccc.c
/openbmc/linux/drivers/firmware/tegra/bpmp.c
/openbmc/linux/drivers/gpio/gpio-aspeed.c
/openbmc/linux/drivers/gpio/gpio-davinci.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.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_debugfs.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_mes.c
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.h
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.c
/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/amdgpu/nbio_v7_7.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_priv.h
/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/amdkfd/kfd_svm.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_types.h
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_cm_common.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_cm_common.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.c
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hwseq.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/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/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/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/modules/hdcp/hdcp1_execution.c
/openbmc/linux/drivers/gpu/drm/amd/display/modules/power/power_helpers.c
/openbmc/linux/drivers/gpu/drm/amd/pm/powerplay/hwmgr/processpptables.c
/openbmc/linux/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
/openbmc/linux/drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c
/openbmc/linux/drivers/gpu/drm/bridge/adv7511/adv7511_drv.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/drm_atomic_uapi.c
/openbmc/linux/drivers/gpu/drm/drm_crtc.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/drm_print.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/i915/display/intel_hdcp.c
/openbmc/linux/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
/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/mediatek/mtk_disp_ovl_adaptor.c
/openbmc/linux/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
/openbmc/linux/drivers/gpu/drm/msm/adreno/adreno_gpu.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/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/msm/msm_gpu.c
/openbmc/linux/drivers/gpu/drm/msm/msm_gpu_devfreq.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/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-boe-tv101wum-nl6.c
/openbmc/linux/drivers/gpu/drm/panfrost/panfrost_gpu.c
/openbmc/linux/drivers/gpu/drm/radeon/r100.c
/openbmc/linux/drivers/gpu/drm/radeon/radeon_encoders.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/gpu/drm/v3d/v3d_mmu.c
/openbmc/linux/drivers/gpu/drm/v3d/v3d_perfmon.c
/openbmc/linux/drivers/gpu/drm/vboxvideo/hgsmi_base.c
/openbmc/linux/drivers/gpu/drm/vboxvideo/vboxvideo.h
/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/vc4/vc4_perfmon.c
/openbmc/linux/drivers/gpu/drm/vkms/vkms_output.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/gpu/drm/vmwgfx/vmwgfx_stdu.c
/openbmc/linux/drivers/gpu/drm/xlnx/zynqmp_kms.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-core.c
/openbmc/linux/drivers/hid/hid-hyperv.c
/openbmc/linux/drivers/hid/hid-ids.h
/openbmc/linux/drivers/hid/hid-input.c
/openbmc/linux/drivers/hid/hid-lenovo.c
/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/hwmon/nct6775-core.c
/openbmc/linux/drivers/hwmon/nct6775-platform.c
/openbmc/linux/drivers/hwmon/pmbus/pmbus_core.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-i801.c
/openbmc/linux/drivers/i2c/busses/i2c-imx-lpi2c.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/i3c-master-cdns.c
/openbmc/linux/drivers/i3c/master/svc-i3c-master.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/magnetometer/ak8975.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/iio/proximity/Kconfig
/openbmc/linux/drivers/infiniband/core/mad.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/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/irdma/cm.c
/openbmc/linux/drivers/infiniband/hw/mana/main.c
/openbmc/linux/drivers/infiniband/hw/mlx5/main.c
/openbmc/linux/drivers/infiniband/hw/mlx5/mlx5_ib.h
/openbmc/linux/drivers/infiniband/hw/mlx5/odp.c
/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/infiniband/sw/siw/siw_qp_tx.c
/openbmc/linux/drivers/infiniband/ulp/rtrs/rtrs-srv.c
/openbmc/linux/drivers/infiniband/ulp/srpt/ib_srpt.c
/openbmc/linux/drivers/input/joystick/xpad.c
/openbmc/linux/drivers/input/keyboard/adp5589-keys.c
/openbmc/linux/drivers/input/rmi4/rmi_driver.c
/openbmc/linux/drivers/input/touchscreen/edt-ft5x06.c
/openbmc/linux/drivers/iommu/arm/arm-smmu/arm-smmu-impl.c
/openbmc/linux/drivers/iommu/intel/dmar.c
/openbmc/linux/drivers/iommu/intel/iommu.c
/openbmc/linux/drivers/iommu/iommufd/selftest.c
/openbmc/linux/drivers/irqchip/irq-gic-v3-its.c
/openbmc/linux/drivers/irqchip/irq-gic-v3.c
/openbmc/linux/drivers/irqchip/irq-mscc-ocelot.c
/openbmc/linux/drivers/irqchip/irq-renesas-rzg2l.c
/openbmc/linux/drivers/irqchip/irq-sifive-plic.c
/openbmc/linux/drivers/leds/leds-mlxreg.c
/openbmc/linux/drivers/mailbox/arm_mhuv2.c
/openbmc/linux/drivers/mailbox/bcm2835-mailbox.c
/openbmc/linux/drivers/mailbox/rockchip-mailbox.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/common/videobuf2/videobuf2-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/i2c/ds90ub960.c
/openbmc/linux/drivers/media/i2c/imx335.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/samsung/s5p-jpeg/jpeg-core.c
/openbmc/linux/drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c
/openbmc/linux/drivers/media/usb/usbtv/usbtv-video.c
/openbmc/linux/drivers/media/usb/uvc/uvc_driver.c
/openbmc/linux/drivers/media/v4l2-core/v4l2-ctrls-api.c
/openbmc/linux/drivers/memory/tegra/tegra186-emc.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/intel_soc_pmic_chtwc.c
/openbmc/linux/drivers/mfd/rt5033.c
/openbmc/linux/drivers/mfd/tps65010.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/dw_mmc.c
/openbmc/linux/drivers/mmc/host/mmc_spi.c
/openbmc/linux/drivers/mmc/host/sdhci-pci-gli.c
/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/spansion.c
/openbmc/linux/drivers/mtd/spi-nor/winbond.c
/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/netlink.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/dsa/b53/b53_common.c
/openbmc/linux/drivers/net/dsa/lan9303-core.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/adi/adin1110.c
/openbmc/linux/drivers/net/ethernet/aeroflex/greth.c
/openbmc/linux/drivers/net/ethernet/amd/mvme147.c
/openbmc/linux/drivers/net/ethernet/amd/pds_core/main.c
/openbmc/linux/drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c
/openbmc/linux/drivers/net/ethernet/arc/emac_main.c
/openbmc/linux/drivers/net/ethernet/arc/emac_mdio.c
/openbmc/linux/drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c
/openbmc/linux/drivers/net/ethernet/broadcom/bcmsysport.c
/openbmc/linux/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
/openbmc/linux/drivers/net/ethernet/cadence/macb_main.c
/openbmc/linux/drivers/net/ethernet/cortina/gemini.c
/openbmc/linux/drivers/net/ethernet/emulex/benet/be_main.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/enetc/enetc_pf.c
/openbmc/linux/drivers/net/ethernet/freescale/enetc/enetc_vf.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/freescale/fman/mac.c
/openbmc/linux/drivers/net/ethernet/freescale/fman/mac.h
/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/hns3/hnae3.c
/openbmc/linux/drivers/net/ethernet/hisilicon/hns_mdio.c
/openbmc/linux/drivers/net/ethernet/i825xx/sun3_82586.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.h
/openbmc/linux/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h
/openbmc/linux/drivers/net/ethernet/intel/i40e/i40e_debugfs.c
/openbmc/linux/drivers/net/ethernet/intel/i40e/i40e_diag.h
/openbmc/linux/drivers/net/ethernet/intel/i40e/i40e_main.c
/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/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_ethtool_fdir.c
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_fdir.h
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_main.c
/openbmc/linux/drivers/net/ethernet/intel/ice/ice_sched.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/ice/ice_virtchnl.c
/openbmc/linux/drivers/net/ethernet/intel/igb/igb_main.c
/openbmc/linux/drivers/net/ethernet/lantiq_etop.c
/openbmc/linux/drivers/net/ethernet/marvell/mvpp2/mvpp2.h
/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/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_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/mellanox/mlx5/core/cmd.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
/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_accel/ktls_tx.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en_tx.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/mlx5/core/fs_core.c
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/lib/pci_vsc.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/microchip/sparx5/sparx5_packet.c
/openbmc/linux/drivers/net/ethernet/microchip/vcap/vcap_api_kunit.c
/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/netronome/nfp/nfp_net_common.c
/openbmc/linux/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.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-intel-plat.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/dwmac-mediatek.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/dwmac-tegra.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/dwmac-visconti.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.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.h
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/stmmac_main.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/stmicro/stmmac/stmmac_ptp.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c
/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/ethernet/xilinx/xilinx_axienet_main.c
/openbmc/linux/drivers/net/gtp.c
/openbmc/linux/drivers/net/hyperv/netvsc_drv.c
/openbmc/linux/drivers/net/ieee802154/Kconfig
/openbmc/linux/drivers/net/ieee802154/mcr20a.c
/openbmc/linux/drivers/net/macsec.c
/openbmc/linux/drivers/net/mctp/mctp-i2c.c
/openbmc/linux/drivers/net/mdio/mdio-bcm-unimac.c
/openbmc/linux/drivers/net/netdevsim/dev.c
/openbmc/linux/drivers/net/netdevsim/fib.c
/openbmc/linux/drivers/net/netdevsim/ipsec.c
/openbmc/linux/drivers/net/pcs/pcs-xpcs-wx.c
/openbmc/linux/drivers/net/phy/bcm84881.c
/openbmc/linux/drivers/net/phy/dp83822.c
/openbmc/linux/drivers/net/phy/dp83848.c
/openbmc/linux/drivers/net/phy/dp83869.c
/openbmc/linux/drivers/net/phy/phy_device.c
/openbmc/linux/drivers/net/plip/plip.c
/openbmc/linux/drivers/net/ppp/ppp_async.c
/openbmc/linux/drivers/net/ppp/ppp_generic.c
/openbmc/linux/drivers/net/slip/slhc.c
/openbmc/linux/drivers/net/usb/qmi_wwan.c
/openbmc/linux/drivers/net/usb/r8152.c
/openbmc/linux/drivers/net/usb/usbnet.c
/openbmc/linux/drivers/net/virtio_net.c
/openbmc/linux/drivers/net/vmxnet3/vmxnet3_xdp.c
/openbmc/linux/drivers/net/vrf.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/net/wireless/ath/ath10k/mac.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/ath/ath11k/qmi.c
/openbmc/linux/drivers/net/wireless/ath/ath12k/dp_rx.c
/openbmc/linux/drivers/net/wireless/ath/ath12k/mac.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/ath/ath9k/htc_hst.c
/openbmc/linux/drivers/net/wireless/ath/wil6210/txrx.c
/openbmc/linux/drivers/net/wireless/broadcom/brcm80211/Kconfig
/openbmc/linux/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil.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/iwlegacy/common.c
/openbmc/linux/drivers/net/wireless/intel/iwlegacy/common.h
/openbmc/linux/drivers/net/wireless/intel/iwlwifi/fw/api/scan.h
/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/intel/iwlwifi/mvm/fw.c
/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/mld-mac80211.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/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/marvell/mwifiex/scan.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/microchip/wilc1000/mon.c
/openbmc/linux/drivers/net/wireless/realtek/rtw88/Kconfig
/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/wireless/silabs/wfx/main.c
/openbmc/linux/drivers/net/wireless/virtual/mac80211_hwsim.c
/openbmc/linux/drivers/net/wwan/qcom_bam_dmux.c
/openbmc/linux/drivers/net/wwan/t7xx/t7xx_hif_dpmaif_rx.c
/openbmc/linux/drivers/net/wwan/wwan_core.c
/openbmc/linux/drivers/net/xen-netback/hash.c
/openbmc/linux/drivers/ntb/hw/mscc/ntb_hw_switchtec.c
/openbmc/linux/drivers/nvdimm/nd_virtio.c
/openbmc/linux/drivers/nvme/host/apple.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/pci.c
/openbmc/linux/drivers/nvme/host/tcp.c
/openbmc/linux/drivers/nvme/target/auth.c
/openbmc/linux/drivers/nvme/target/loop.c
/openbmc/linux/drivers/of/address.c
/openbmc/linux/drivers/of/fdt.c
/openbmc/linux/drivers/of/irq.c
/openbmc/linux/drivers/of/kexec.c
/openbmc/linux/drivers/of/unittest.c
/openbmc/linux/drivers/parport/procfs.c
/openbmc/linux/drivers/pci/endpoint/functions/pci-epf-mhi.c
/openbmc/linux/drivers/pci/pci.c
/openbmc/linux/drivers/pci/quirks.c
/openbmc/linux/drivers/perf/arm-cmn.c
/openbmc/linux/drivers/perf/arm_spe_pmu.c
/openbmc/linux/drivers/phy/freescale/phy-fsl-imx8m-pcie.c
/openbmc/linux/drivers/phy/qualcomm/phy-qcom-eusb2-repeater.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-k210.c
/openbmc/linux/drivers/pinctrl/pinctrl-ocelot.c
/openbmc/linux/drivers/pinctrl/pinctrl-zynqmp.c
/openbmc/linux/drivers/pinctrl/stm32/pinctrl-stm32.c
/openbmc/linux/drivers/platform/x86/amd/pmc/pmc.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/dell/dell-wmi-sysman/sysman.c
/openbmc/linux/drivers/platform/x86/intel/bxtwc_tmu.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/panasonic-laptop.c
/openbmc/linux/drivers/platform/x86/think-lmi.c
/openbmc/linux/drivers/platform/x86/thinkpad_acpi.c
/openbmc/linux/drivers/platform/x86/touchscreen_dmi.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/reset/brcmstb-reboot.c
/openbmc/linux/drivers/power/supply/power_supply_hwmon.c
/openbmc/linux/drivers/powercap/dtpm_devfreq.c
/openbmc/linux/drivers/powercap/intel_rapl_tpmi.c
/openbmc/linux/drivers/pps/clients/pps_parport.c
/openbmc/linux/drivers/pwm/pwm-imx-tpm.c
/openbmc/linux/drivers/pwm/pwm-imx27.c
/openbmc/linux/drivers/regulator/rk808-regulator.c
/openbmc/linux/drivers/regulator/rtq2208-regulator.c
/openbmc/linux/drivers/remoteproc/imx_rproc.c
/openbmc/linux/drivers/remoteproc/ti_k3_r5_remoteproc.c
/openbmc/linux/drivers/rpmsg/qcom_glink_native.c
/openbmc/linux/drivers/rtc/rtc-at91sam9.c
/openbmc/linux/drivers/s390/char/sclp.c
/openbmc/linux/drivers/s390/char/sclp_vt220.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/scsi/NCR5380.c
/openbmc/linux/drivers/scsi/aacraid/aacraid.h
/openbmc/linux/drivers/scsi/bfa/bfad.c
/openbmc/linux/drivers/scsi/hisi_sas/hisi_sas_main.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_nportdisc.c
/openbmc/linux/drivers/scsi/lpfc/lpfc_vport.c
/openbmc/linux/drivers/scsi/pm8001/pm8001_init.c
/openbmc/linux/drivers/scsi/qedf/qedf_main.c
/openbmc/linux/drivers/scsi/qedi/qedi_main.c
/openbmc/linux/drivers/scsi/scsi_transport_fc.c
/openbmc/linux/drivers/scsi/sd.c
/openbmc/linux/drivers/scsi/sd_zbc.c
/openbmc/linux/drivers/scsi/sg.c
/openbmc/linux/drivers/scsi/smartpqi/smartpqi_init.c
/openbmc/linux/drivers/scsi/st.c
/openbmc/linux/drivers/scsi/wd33c93.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/versatile/soc-realview.c
/openbmc/linux/drivers/soc/xilinx/xlnx_event_manager.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/spi/atmel-quadspi.c
/openbmc/linux/drivers/spi/spi-bcm63xx.c
/openbmc/linux/drivers/spi/spi-cadence.c
/openbmc/linux/drivers/spi/spi-fsl-dspi.c
/openbmc/linux/drivers/spi/spi-fsl-lpspi.c
/openbmc/linux/drivers/spi/spi-geni-qcom.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/spi/spi-tegra210-quad.c
/openbmc/linux/drivers/spi/spi-zynqmp-gqspi.c
/openbmc/linux/drivers/staging/iio/frequency/ad9832.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/staging/vme_user/vme_fake.c
/openbmc/linux/drivers/staging/vme_user/vme_tsi148.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_device_pci.c
/openbmc/linux/drivers/thermal/intel/int340x_thermal/processor_thermal_rapl.c
/openbmc/linux/drivers/thermal/qcom/lmh.c
/openbmc/linux/drivers/thermal/thermal_core.c
/openbmc/linux/drivers/thermal/thermal_of.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/n_gsm.c
/openbmc/linux/drivers/tty/serial/imx.c
/openbmc/linux/drivers/tty/serial/qcom_geni_serial.c
/openbmc/linux/drivers/tty/serial/sc16is7xx.c
/openbmc/linux/drivers/tty/serial/serial_core.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/cdns3/host.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/function/f_uac2.c
/openbmc/linux/drivers/usb/gadget/udc/core.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-mem.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/misc/yurex.c
/openbmc/linux/drivers/usb/musb/sunxi.c
/openbmc/linux/drivers/usb/phy/phy.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/storage/unusual_devs.h
/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_pdphy.c
/openbmc/linux/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_port.c
/openbmc/linux/drivers/usb/typec/tcpm/wcove.c
/openbmc/linux/drivers/usb/typec/tipd/core.c
/openbmc/linux/drivers/usb/typec/ucsi/ucsi_ccg.c
/openbmc/linux/drivers/vdpa/ifcvf/ifcvf_base.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/vhost/scsi.c
/openbmc/linux/drivers/video/fbdev/core/fbcon.c
/openbmc/linux/drivers/video/fbdev/efifb.c
/openbmc/linux/drivers/video/fbdev/pxafb.c
/openbmc/linux/drivers/video/fbdev/sh7760fb.c
/openbmc/linux/drivers/video/fbdev/sis/sis_main.c
/openbmc/linux/fs/9p/fid.c
/openbmc/linux/fs/9p/vfs_inode.c
/openbmc/linux/fs/afs/dir.c
/openbmc/linux/fs/afs/dir_edit.c
/openbmc/linux/fs/afs/internal.h
/openbmc/linux/fs/btrfs/backref.c
/openbmc/linux/fs/btrfs/block-group.c
/openbmc/linux/fs/btrfs/btrfs_inode.h
/openbmc/linux/fs/btrfs/ctree.h
/openbmc/linux/fs/btrfs/delayed-ref.c
/openbmc/linux/fs/btrfs/dir-item.c
/openbmc/linux/fs/btrfs/disk-io.c
/openbmc/linux/fs/btrfs/extent-tree.c
/openbmc/linux/fs/btrfs/file.c
/openbmc/linux/fs/btrfs/inode.c
/openbmc/linux/fs/btrfs/relocation.c
/openbmc/linux/fs/btrfs/relocation.h
/openbmc/linux/fs/btrfs/send.c
/openbmc/linux/fs/btrfs/subpage.c
/openbmc/linux/fs/btrfs/tree-log.c
/openbmc/linux/fs/btrfs/volumes.h
/openbmc/linux/fs/btrfs/zoned.c
/openbmc/linux/fs/cachefiles/namei.c
/openbmc/linux/fs/cachefiles/ondemand.c
/openbmc/linux/fs/ceph/addr.c
/openbmc/linux/fs/dax.c
/openbmc/linux/fs/erofs/zmap.c
/openbmc/linux/fs/exec.c
/openbmc/linux/fs/exfat/balloc.c
/openbmc/linux/fs/ext4/balloc.c
/openbmc/linux/fs/ext4/dir.c
/openbmc/linux/fs/ext4/ext4.h
/openbmc/linux/fs/ext4/extents.c
/openbmc/linux/fs/ext4/fast_commit.c
/openbmc/linux/fs/ext4/file.c
/openbmc/linux/fs/ext4/ialloc.c
/openbmc/linux/fs/ext4/indirect.c
/openbmc/linux/fs/ext4/inode.c
/openbmc/linux/fs/ext4/migrate.c
/openbmc/linux/fs/ext4/mmp.c
/openbmc/linux/fs/ext4/move_extent.c
/openbmc/linux/fs/ext4/namei.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/ext4/xattr.c
file.c
/openbmc/linux/fs/fat/namei_vfat.c
/openbmc/linux/fs/fcntl.c
/openbmc/linux/fs/file.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/quota.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/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/nfs/callback_xdr.c
/openbmc/linux/fs/nfs/client.c
/openbmc/linux/fs/nfs/delegation.c
/openbmc/linux/fs/nfs/inode.c
/openbmc/linux/fs/nfs/nfs42proc.c
/openbmc/linux/fs/nfs/nfs4state.c
/openbmc/linux/fs/nfs/super.c
/openbmc/linux/fs/nfsd/filecache.c
/openbmc/linux/fs/nfsd/netns.h
/openbmc/linux/fs/nfsd/nfs4proc.c
/openbmc/linux/fs/nfsd/nfs4state.c
/openbmc/linux/fs/nfsd/nfs4xdr.c
/openbmc/linux/fs/nfsd/vfs.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/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/fslog.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/aops.c
/openbmc/linux/fs/ocfs2/aops.h
/openbmc/linux/fs/ocfs2/buffer_head_io.c
/openbmc/linux/fs/ocfs2/file.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/resize.c
/openbmc/linux/fs/ocfs2/super.c
/openbmc/linux/fs/ocfs2/xattr.c
/openbmc/linux/fs/open.c
/openbmc/linux/fs/overlayfs/params.c
/openbmc/linux/fs/proc/array.c
/openbmc/linux/fs/proc/base.c
/openbmc/linux/fs/proc/kcore.c
/openbmc/linux/fs/proc/softirqs.c
/openbmc/linux/fs/proc/vmcore.c
/openbmc/linux/fs/smb/client/cached_dir.c
/openbmc/linux/fs/smb/client/cifs_unicode.c
/openbmc/linux/fs/smb/client/cifsfs.c
/openbmc/linux/fs/smb/client/cifsglob.h
/openbmc/linux/fs/smb/client/connect.c
/openbmc/linux/fs/smb/client/fs_context.c
/openbmc/linux/fs/smb/client/inode.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/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/connection.c
/openbmc/linux/fs/smb/server/connection.h
/openbmc/linux/fs/smb/server/mgmt/user_session.c
/openbmc/linux/fs/smb/server/mgmt/user_session.h
/openbmc/linux/fs/smb/server/oplock.c
/openbmc/linux/fs/smb/server/server.c
/openbmc/linux/fs/smb/server/smb2pdu.c
/openbmc/linux/fs/smb/server/smb_common.c
/openbmc/linux/fs/smb/server/smb_common.h
/openbmc/linux/fs/smb/server/vfs_cache.c
/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/unicode/mkutf8data.c
/openbmc/linux/fs/unicode/utf8-core.c
/openbmc/linux/fs/unicode/utf8data.c_shipped
/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_filestream.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/fs/xfs/xfs_trace.h
/openbmc/linux/include/acpi/cppc_acpi.h
/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/dt-bindings/clock/qcom,gcc-sc8180x.h
/openbmc/linux/include/linux/arm-smccc.h
/openbmc/linux/include/linux/avf/virtchnl.h
/openbmc/linux/include/linux/bitmap.h
/openbmc/linux/include/linux/bpf.h
/openbmc/linux/include/linux/bpf_verifier.h
/openbmc/linux/include/linux/compiler-gcc.h
/openbmc/linux/include/linux/cpufreq.h
/openbmc/linux/include/linux/damon.h
/openbmc/linux/include/linux/device.h
/openbmc/linux/include/linux/fdtable.h
/openbmc/linux/include/linux/fsl/enetc_mdio.h
/openbmc/linux/include/linux/hisi_acc_qm.h
/openbmc/linux/include/linux/huge_mm.h
/openbmc/linux/include/linux/i2c.h
/openbmc/linux/include/linux/intel_tpmi.h
/openbmc/linux/include/linux/iomap.h
/openbmc/linux/include/linux/irqchip/arm-gic-v4.h
/openbmc/linux/include/linux/jbd2.h
/openbmc/linux/include/linux/jiffies.h
/openbmc/linux/include/linux/memcontrol.h
/openbmc/linux/include/linux/mhi_ep.h
/openbmc/linux/include/linux/mman.h
/openbmc/linux/include/linux/netdevice.h
/openbmc/linux/include/linux/netlink.h
/openbmc/linux/include/linux/netpoll.h
/openbmc/linux/include/linux/nfs_fs_sb.h
/openbmc/linux/include/linux/of_fdt.h
/openbmc/linux/include/linux/pci.h
/openbmc/linux/include/linux/pci_ids.h
/openbmc/linux/include/linux/perf_event.h
/openbmc/linux/include/linux/sched.h
/openbmc/linux/include/linux/seqlock.h
/openbmc/linux/include/linux/sock_diag.h
/openbmc/linux/include/linux/sockptr.h
/openbmc/linux/include/linux/stmmac.h
/openbmc/linux/include/linux/task_work.h
/openbmc/linux/include/linux/tcp.h
/openbmc/linux/include/linux/thermal.h
/openbmc/linux/include/linux/tick.h
/openbmc/linux/include/linux/trace_events.h
/openbmc/linux/include/linux/ubsan.h
/openbmc/linux/include/linux/uprobes.h
/openbmc/linux/include/linux/user_namespace.h
/openbmc/linux/include/linux/virtio_net.h
/openbmc/linux/include/linux/xarray.h
/openbmc/linux/include/net/bluetooth/bluetooth.h
/openbmc/linux/include/net/bond_options.h
/openbmc/linux/include/net/genetlink.h
/openbmc/linux/include/net/ieee80211_radiotap.h
/openbmc/linux/include/net/ip.h
/openbmc/linux/include/net/ip_tunnels.h
/openbmc/linux/include/net/mana/gdma.h
/openbmc/linux/include/net/mana/mana.h
/openbmc/linux/include/net/mctp.h
/openbmc/linux/include/net/netfilter/nf_tables.h
/openbmc/linux/include/net/rtnetlink.h
/openbmc/linux/include/net/sch_generic.h
/openbmc/linux/include/net/sock.h
/openbmc/linux/include/net/tls.h
/openbmc/linux/include/net/xfrm.h
/openbmc/linux/include/scsi/scsi_device.h
/openbmc/linux/include/sound/cs35l56.h
/openbmc/linux/include/sound/tas2781-tlv.h
/openbmc/linux/include/trace/events/afs.h
/openbmc/linux/include/trace/events/huge_memory.h
/openbmc/linux/include/trace/events/rxrpc.h
/openbmc/linux/include/uapi/linux/bpf.h
/openbmc/linux/include/uapi/linux/cec.h
/openbmc/linux/include/uapi/linux/netfilter/nf_tables.h
/openbmc/linux/include/uapi/linux/rtnetlink.h
/openbmc/linux/include/uapi/linux/tcp.h
/openbmc/linux/include/uapi/linux/ublk_cmd.h
/openbmc/linux/init/init_task.c
/openbmc/linux/init/initramfs.c
/openbmc/linux/io_uring/io_uring.c
/openbmc/linux/io_uring/io_uring.h
/openbmc/linux/io_uring/net.c
/openbmc/linux/io_uring/rw.c
/openbmc/linux/kernel/bpf/arraymap.c
/openbmc/linux/kernel/bpf/btf.c
/openbmc/linux/kernel/bpf/cgroup.c
/openbmc/linux/kernel/bpf/core.c
/openbmc/linux/kernel/bpf/devmap.c
/openbmc/linux/kernel/bpf/hashtab.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/events/core.c
/openbmc/linux/kernel/events/uprobes.c
/openbmc/linux/kernel/fork.c
/openbmc/linux/kernel/jump_label.c
/openbmc/linux/kernel/kthread.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/rcu/tasks.h
/openbmc/linux/kernel/rcu/tree.c
/openbmc/linux/kernel/rcu/tree_nocb.h
/openbmc/linux/kernel/resource.c
/openbmc/linux/kernel/sched/core.c
/openbmc/linux/kernel/sched/fair.c
/openbmc/linux/kernel/sched/psi.c
/openbmc/linux/kernel/signal.c
/openbmc/linux/kernel/static_call_inline.c
/openbmc/linux/kernel/task_work.c
/openbmc/linux/kernel/time/posix-clock.c
/openbmc/linux/kernel/time/time.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_event_perf.c
/openbmc/linux/kernel/trace/trace_fprobe.c
/openbmc/linux/kernel/trace/trace_hwlat.c
/openbmc/linux/kernel/trace/trace_kprobe.c
/openbmc/linux/kernel/trace/trace_osnoise.c
/openbmc/linux/kernel/trace/trace_output.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/kernel/ucount.c
/openbmc/linux/lib/Kconfig.debug
/openbmc/linux/lib/Kconfig.ubsan
/openbmc/linux/lib/bootconfig.c
/openbmc/linux/lib/build_OID_registry
/openbmc/linux/lib/buildid.c
/openbmc/linux/lib/iov_iter.c
/openbmc/linux/lib/maple_tree.c
/openbmc/linux/lib/test_xarray.c
/openbmc/linux/lib/xarray.c
/openbmc/linux/mm/Kconfig
/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/damon/vaddr.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/kasan_test.c
/openbmc/linux/mm/khugepaged.c
/openbmc/linux/mm/memcontrol.c
/openbmc/linux/mm/memory.c
/openbmc/linux/mm/mempolicy.c
/openbmc/linux/mm/migrate.c
/openbmc/linux/mm/mmap.c
/openbmc/linux/mm/mprotect.c
/openbmc/linux/mm/mremap.c
/openbmc/linux/mm/nommu.c
/openbmc/linux/mm/page_alloc.c
/openbmc/linux/mm/readahead.c
/openbmc/linux/mm/secretmem.c
/openbmc/linux/mm/shmem.c
/openbmc/linux/mm/slab_common.c
/openbmc/linux/mm/swapfile.c
/openbmc/linux/mm/util.c
/openbmc/linux/mm/vmscan.c
/openbmc/linux/net/9p/client.c
/openbmc/linux/net/bluetooth/af_bluetooth.c
/openbmc/linux/net/bluetooth/bnep/core.c
/openbmc/linux/net/bluetooth/hci_conn.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/hci_sync.c
/openbmc/linux/net/bluetooth/hci_sysfs.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/bluetooth/rfcomm/sock.c
/openbmc/linux/net/bluetooth/sco.c
/openbmc/linux/net/bpf/test_run.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/ceph/messenger_v2.c
/openbmc/linux/net/core/dev.c
/openbmc/linux/net/core/dst.c
/openbmc/linux/net/core/filter.c
/openbmc/linux/net/core/gen_estimator.c
/openbmc/linux/net/core/gro.c
/openbmc/linux/net/core/netpoll.c
/openbmc/linux/net/core/rtnetlink.c
/openbmc/linux/net/core/skmsg.c
/openbmc/linux/net/core/sock_diag.c
/openbmc/linux/net/core/sock_map.c
/openbmc/linux/net/dsa/slave.c
/openbmc/linux/net/ipv4/cipso_ipv4.c
/openbmc/linux/net/ipv4/devinet.c
/openbmc/linux/net/ipv4/fib_frontend.c
/openbmc/linux/net/ipv4/icmp.c
/openbmc/linux/net/ipv4/inet_connection_sock.c
/openbmc/linux/net/ipv4/inet_diag.c
/openbmc/linux/net/ipv4/ip_gre.c
/openbmc/linux/net/ipv4/ipmr_base.c
/openbmc/linux/net/ipv4/netfilter/nf_dup_ipv4.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_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/ipv4/tcp_minisocks.c
/openbmc/linux/net/ipv4/tcp_output.c
/openbmc/linux/net/ipv4/tcp_timer.c
/openbmc/linux/net/ipv4/udp.c
/openbmc/linux/net/ipv4/udp_offload.c
/openbmc/linux/net/ipv4/xfrm4_policy.c
/openbmc/linux/net/ipv6/af_inet6.c
/openbmc/linux/net/ipv6/icmp.c
/openbmc/linux/net/ipv6/ip6_fib.c
/openbmc/linux/net/ipv6/ipv6_sockglue.c
/openbmc/linux/net/ipv6/netfilter/nf_dup_ipv6.c
/openbmc/linux/net/ipv6/netfilter/nf_reject_ipv6.c
/openbmc/linux/net/ipv6/netfilter/nft_fib_ipv6.c
/openbmc/linux/net/ipv6/route.c
/openbmc/linux/net/ipv6/xfrm6_policy.c
/openbmc/linux/net/l2tp/l2tp_netlink.c
/openbmc/linux/net/mac80211/Kconfig
/openbmc/linux/net/mac80211/agg-tx.c
/openbmc/linux/net/mac80211/cfg.c
/openbmc/linux/net/mac80211/key.c
/openbmc/linux/net/mac80211/main.c
/openbmc/linux/net/mac80211/scan.c
/openbmc/linux/net/mac802154/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/pm_userspace.c
/openbmc/linux/net/mptcp/protocol.c
/openbmc/linux/net/mptcp/protocol.h
/openbmc/linux/net/mptcp/subflow.c
/openbmc/linux/net/netfilter/nf_bpf_link.c
/openbmc/linux/net/netfilter/nf_nat_core.c
/openbmc/linux/net/netfilter/nf_tables_api.c
/openbmc/linux/net/netfilter/nft_immediate.c
/openbmc/linux/net/netfilter/nft_payload.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/netfilter/x_tables.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/netlink/diag.c
/openbmc/linux/net/netlink/genetlink.c
/openbmc/linux/net/packet/diag.c
/openbmc/linux/net/phonet/pn_netlink.c
/openbmc/linux/net/rfkill/rfkill-gpio.c
/openbmc/linux/net/rxrpc/ar-internal.h
/openbmc/linux/net/rxrpc/conn_client.c
/openbmc/linux/net/rxrpc/io_thread.c
/openbmc/linux/net/rxrpc/local_object.c
/openbmc/linux/net/rxrpc/sendmsg.c
/openbmc/linux/net/sched/act_api.c
/openbmc/linux/net/sched/cls_u32.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/sctp/ipv6.c
/openbmc/linux/net/sctp/sm_statefuns.c
/openbmc/linux/net/sctp/socket.c
/openbmc/linux/net/smc/smc_diag.c
/openbmc/linux/net/smc/smc_pnet.c
/openbmc/linux/net/smc/smc_wr.c
/openbmc/linux/net/socket.c
/openbmc/linux/net/sunrpc/svc.c
/openbmc/linux/net/sunrpc/xprtsock.c
/openbmc/linux/net/tipc/bearer.c
/openbmc/linux/net/tipc/diag.c
/openbmc/linux/net/unix/diag.c
/openbmc/linux/net/vmw_vsock/diag.c
/openbmc/linux/net/vmw_vsock/hyperv_transport.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/xdp/xsk_diag.c
/openbmc/linux/net/xfrm/xfrm_device.c
/openbmc/linux/net/xfrm/xfrm_policy.c
/openbmc/linux/net/xfrm/xfrm_user.c
/openbmc/linux/rust/kernel/sync/locked_by.rs
/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/kconfig/qconf.cc
/openbmc/linux/security/Kconfig
/openbmc/linux/security/bpf/hooks.c
/openbmc/linux/security/integrity/ima/ima_template_lib.c
/openbmc/linux/security/keys/keyring.c
/openbmc/linux/security/selinux/selinuxfs.c
/openbmc/linux/security/tomoyo/domain.c
/openbmc/linux/sound/Kconfig
/openbmc/linux/sound/core/init.c
/openbmc/linux/sound/core/oss/mixer_oss.c
/openbmc/linux/sound/firewire/amdtp-stream.c
/openbmc/linux/sound/firewire/tascam/amdtp-tascam.c
/openbmc/linux/sound/hda/intel-dsp-config.c
/openbmc/linux/sound/isa/gus/gus_pcm.c
/openbmc/linux/sound/pci/asihpi/hpimsgx.c
/openbmc/linux/sound/pci/hda/Kconfig
/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_cs8409.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/amd/yc/acp6x-mach.c
/openbmc/linux/sound/soc/atmel/mchp-pdmc.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/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/codecs/rt5640.c
/openbmc/linux/sound/soc/codecs/rt722-sdca-sdw.c
/openbmc/linux/sound/soc/codecs/rt722-sdca.c
/openbmc/linux/sound/soc/codecs/tas2781-fmwlib.c
/openbmc/linux/sound/soc/codecs/wsa883x.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/fsl/imx-card.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/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/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_sai_sub.c
/openbmc/linux/sound/soc/stm/stm32_spdifrx.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/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/mixer_quirks.c
/openbmc/linux/sound/usb/quirks-table.h
/openbmc/linux/sound/usb/quirks.c
/openbmc/linux/sound/usb/usx2y/us122l.c
/openbmc/linux/sound/usb/usx2y/usbusx2y.c
/openbmc/linux/tools/arch/x86/kcpuid/kcpuid.c
/openbmc/linux/tools/bpf/bpftool/jit_disasm.c
/openbmc/linux/tools/bpf/bpftool/net.c
/openbmc/linux/tools/iio/iio_generic_buffer.c
/openbmc/linux/tools/include/nolibc/arch-powerpc.h
/openbmc/linux/tools/include/uapi/linux/bpf.h
/openbmc/linux/tools/lib/bpf/libbpf.c
/openbmc/linux/tools/lib/bpf/linker.c
/openbmc/linux/tools/lib/subcmd/parse-options.c
/openbmc/linux/tools/lib/thermal/Makefile
/openbmc/linux/tools/lib/thermal/commands.c
/openbmc/linux/tools/lib/thermal/sampling.c
/openbmc/linux/tools/mm/page-types.c
/openbmc/linux/tools/mm/slabinfo.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/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/hist.c
/openbmc/linux/tools/perf/util/setup.py
/openbmc/linux/tools/testing/cxl/test/cxl.c
/openbmc/linux/tools/testing/ktest/ktest.pl
/openbmc/linux/tools/testing/selftests/Makefile
/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/bpf/Makefile
/openbmc/linux/tools/testing/selftests/bpf/bpf_experimental.h
/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/fill_link_info.c
/openbmc/linux/tools/testing/selftests/bpf/prog_tests/flow_dissector.c
/openbmc/linux/tools/testing/selftests/bpf/progs/test_spin_lock_fail.c
/openbmc/linux/tools/testing/selftests/bpf/progs/verifier_helper_value_access.c
/openbmc/linux/tools/testing/selftests/bpf/progs/verifier_int_ptr.c
/openbmc/linux/tools/testing/selftests/bpf/progs/verifier_raw_stack.c
/openbmc/linux/tools/testing/selftests/bpf/progs/verifier_scalar_ids.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/bpf/xdp_hw_metadata.c
/openbmc/linux/tools/testing/selftests/breakpoints/step_after_suspend_test.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/lib.mk
/openbmc/linux/tools/testing/selftests/mm/charge_reserved_hugetlb.sh
/openbmc/linux/tools/testing/selftests/mm/hmm-tests.c
/openbmc/linux/tools/testing/selftests/mm/write_to_hugetlbfs.c
/openbmc/linux/tools/testing/selftests/net/forwarding/no_forwarding.sh
/openbmc/linux/tools/testing/selftests/net/mptcp/mptcp_join.sh
/openbmc/linux/tools/testing/selftests/net/mptcp/mptcp_lib.sh
/openbmc/linux/tools/testing/selftests/net/pmtu.sh
/openbmc/linux/tools/testing/selftests/net/setup_loopback.sh
/openbmc/linux/tools/testing/selftests/netfilter/nft_audit.sh
/openbmc/linux/tools/testing/selftests/nolibc/nolibc-test.c
/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/rseq/rseq.c
/openbmc/linux/tools/testing/selftests/rseq/rseq.h
/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/testing/selftests/watchdog/watchdog-test.c
/openbmc/linux/tools/testing/selftests/wireguard/netns.sh
/openbmc/linux/tools/tracing/rtla/src/osnoise_top.c
/openbmc/linux/tools/tracing/rtla/src/timerlat_top.c
/openbmc/linux/tools/usb/usbip/src/usbip_detach.c
7cb5173103-Sep-2024 Chao Yu <chao@kernel.org>

f2fs: fix to check atomic_file in f2fs ioctl interfaces

commit bfe5c02654261bfb8bd9cb174a67f3279ea99e58 upstream.

Some f2fs ioctl interfaces like f2fs_ioc_set_pin_file(),
f2fs_move_file_range(), an

f2fs: fix to check atomic_file in f2fs ioctl interfaces

commit bfe5c02654261bfb8bd9cb174a67f3279ea99e58 upstream.

Some f2fs ioctl interfaces like f2fs_ioc_set_pin_file(),
f2fs_move_file_range(), and f2fs_defragment_range() missed to
check atomic_write status, which may cause potential race issue,
fix it.

Cc: stable@vger.kernel.org
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...

5e0de75306-Aug-2024 Jann Horn <jannh@google.com>

f2fs: Require FMODE_WRITE for atomic write ioctls

commit 4f5a100f87f32cb65d4bb1ad282a08c92f6f591e upstream.

The F2FS ioctls for starting and committing atomic writes check for
inode_owner_or_capabl

f2fs: Require FMODE_WRITE for atomic write ioctls

commit 4f5a100f87f32cb65d4bb1ad282a08c92f6f591e upstream.

The F2FS ioctls for starting and committing atomic writes check for
inode_owner_or_capable(), but this does not give LSMs like SELinux or
Landlock an opportunity to deny the write access - if the caller's FSUID
matches the inode's UID, inode_owner_or_capable() immediately returns true.

There are scenarios where LSMs want to deny a process the ability to write
particular files, even files that the FSUID of the process owns; but this
can currently partially be bypassed using atomic write ioctls in two ways:

- F2FS_IOC_START_ATOMIC_REPLACE + F2FS_IOC_COMMIT_ATOMIC_WRITE can
truncate an inode to size 0
- F2FS_IOC_START_ATOMIC_WRITE + F2FS_IOC_ABORT_ATOMIC_WRITE can revert
changes another process concurrently made to a file

Fix it by requiring FMODE_WRITE for these operations, just like for
F2FS_IOC_MOVE_RANGE. Since any legitimate caller should only be using these
ioctls when intending to write into the file, that seems unlikely to break
anything.

Fixes: 88b88a667971 ("f2fs: support atomic writes")
Cc: stable@vger.kernel.org
Signed-off-by: Jann Horn <jannh@google.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Reviewed-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...

56d8651624-Jul-2024 Nikita Zhandarovich <n.zhandarovich@fintech.ru>

f2fs: avoid potential int overflow in sanity_check_area_boundary()

commit 50438dbc483ca6a133d2bce9d5d6747bcee38371 upstream.

While calculating the end addresses of main area and segment 0, u32
may

f2fs: avoid potential int overflow in sanity_check_area_boundary()

commit 50438dbc483ca6a133d2bce9d5d6747bcee38371 upstream.

While calculating the end addresses of main area and segment 0, u32
may be not enough to hold the result without the danger of int
overflow.

Just in case, play it safe and cast one of the operands to a
wider type (u64).

Found by Linux Verification Center (linuxtesting.org) with static
analysis tool SVACE.

Fixes: fd694733d523 ("f2fs: cover large section in sanity check of super")
Cc: stable@vger.kernel.org
Signed-off-by: Nikita Zhandarovich <n.zhandarovich@fintech.ru>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...

0c598a0224-Jul-2024 Nikita Zhandarovich <n.zhandarovich@fintech.ru>

f2fs: prevent possible int overflow in dir_block_index()

commit 47f268f33dff4a5e31541a990dc09f116f80e61c upstream.

The result of multiplication between values derived from functions
dir_buckets() a

f2fs: prevent possible int overflow in dir_block_index()

commit 47f268f33dff4a5e31541a990dc09f116f80e61c upstream.

The result of multiplication between values derived from functions
dir_buckets() and bucket_blocks() *could* technically reach
2^30 * 2^2 = 2^32.

While unlikely to happen, it is prudent to ensure that it will not
lead to integer overflow. Thus, use mul_u32_u32() as it's more
appropriate to mitigate the issue.

Found by Linux Verification Center (linuxtesting.org) with static
analysis tool SVACE.

Fixes: 3843154598a0 ("f2fs: introduce large directory support")
Cc: stable@vger.kernel.org
Signed-off-by: Nikita Zhandarovich <n.zhandarovich@fintech.ru>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...

b18a5c8324-Jul-2024 Nikita Zhandarovich <n.zhandarovich@fintech.ru>

f2fs: fix several potential integer overflows in file offsets

commit 1cade98cf6415897bf9342ee451cc5b40b58c638 upstream.

When dealing with large extents and calculating file offsets by
summing up ac

f2fs: fix several potential integer overflows in file offsets

commit 1cade98cf6415897bf9342ee451cc5b40b58c638 upstream.

When dealing with large extents and calculating file offsets by
summing up according extent offsets and lengths of unsigned int type,
one may encounter possible integer overflow if the values are
big enough.

Prevent this from happening by expanding one of the addends to
(pgoff_t) type.

Found by Linux Verification Center (linuxtesting.org) with static
analysis tool SVACE.

Fixes: d323d005ac4a ("f2fs: support file defragment")
Cc: stable@vger.kernel.org
Signed-off-by: Nikita Zhandarovich <n.zhandarovich@fintech.ru>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...


/openbmc/linux/arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi
/openbmc/linux/arch/x86/events/intel/pt.c
/openbmc/linux/drivers/acpi/device_sysfs.c
/openbmc/linux/drivers/acpi/resource.c
/openbmc/linux/drivers/ata/libata-scsi.c
/openbmc/linux/drivers/base/firmware_loader/main.c
/openbmc/linux/drivers/block/drbd/drbd_main.c
/openbmc/linux/drivers/block/drbd/drbd_state.c
/openbmc/linux/drivers/bus/arm-integrator-lm.c
/openbmc/linux/drivers/bus/mhi/host/pci_generic.c
/openbmc/linux/drivers/crypto/ccp/sev-dev.c
/openbmc/linux/drivers/firmware/efi/libstub/tpm.c
/openbmc/linux/drivers/net/can/usb/esd_usb.c
/openbmc/linux/drivers/net/usb/usbnet.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/mt7921/init.c
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
/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/scsi/mac_scsi.c
/openbmc/linux/drivers/scsi/sd.c
/openbmc/linux/drivers/tty/serial/qcom_geni_serial.c
/openbmc/linux/drivers/tty/serial/rp2.c
/openbmc/linux/drivers/ufs/host/ufs-qcom.c
/openbmc/linux/drivers/usb/cdns3/cdnsp-ring.c
/openbmc/linux/drivers/usb/class/cdc-acm.c
/openbmc/linux/drivers/usb/dwc2/drd.c
/openbmc/linux/drivers/usb/host/xhci-pci.c
/openbmc/linux/drivers/usb/misc/appledisplay.c
/openbmc/linux/drivers/usb/misc/cypress_cy7c63.c
/openbmc/linux/fs/btrfs/extent-tree.c
/openbmc/linux/fs/btrfs/ioctl.c
/openbmc/linux/fs/btrfs/tree-checker.c
extent_cache.c
file.c
/openbmc/linux/fs/smb/server/vfs.c
/openbmc/linux/include/linux/usb/usbnet.h
/openbmc/linux/lib/debugobjects.c
ef83620430-Dec-2023 Chuck Lever <chuck.lever@oracle.com>

fs: Create a generic is_dot_dotdot() utility

commit 42c3732fa8073717dd7d924472f1c0bc5b452fdc upstream.

De-duplicate the same functionality in several places by hoisting
the is_dot_dotdot() utility

fs: Create a generic is_dot_dotdot() utility

commit 42c3732fa8073717dd7d924472f1c0bc5b452fdc upstream.

De-duplicate the same functionality in several places by hoisting
the is_dot_dotdot() utility function into linux/fs.h.

Suggested-by: Amir Goldstein <amir73il@gmail.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Acked-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

show more ...


/openbmc/linux/.gitignore
/openbmc/linux/Documentation/ABI/testing/sysfs-bus-iio-filter-admv8818
/openbmc/linux/Documentation/devicetree/bindings/iio/magnetometer/asahi-kasei,ak8975.yaml
/openbmc/linux/Documentation/virt/kvm/locking.rst
/openbmc/linux/arch/arm/mach-ep93xx/clock.c
/openbmc/linux/arch/arm64/kvm/hyp/nvhe/ffa.c
/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/x86/include/asm/acpi.h
/openbmc/linux/arch/x86/kernel/acpi/boot.c
/openbmc/linux/arch/x86/kernel/jailhouse.c
/openbmc/linux/arch/x86/kernel/mmconf-fam10h_64.c
/openbmc/linux/arch/x86/kernel/smpboot.c
/openbmc/linux/arch/x86/kernel/x86_init.c
/openbmc/linux/arch/x86/kvm/lapic.c
/openbmc/linux/arch/x86/xen/p2m.c
/openbmc/linux/arch/x86/xen/setup.c
/openbmc/linux/crypto/asymmetric_keys/asymmetric_type.c
/openbmc/linux/drivers/base/core.c
/openbmc/linux/drivers/base/module.c
/openbmc/linux/drivers/cxl/core/pci.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_dsc.h
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dsc/dc_dsc.c
/openbmc/linux/drivers/gpu/drm/amd/display/modules/freesync/freesync.c
/openbmc/linux/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c
/openbmc/linux/drivers/gpu/drm/vmwgfx/vmwgfx_bo.h
/openbmc/linux/drivers/hwtracing/coresight/coresight-tmc-etr.c
/openbmc/linux/drivers/iio/adc/ad7606.c
/openbmc/linux/drivers/iio/adc/ad7606_spi.c
/openbmc/linux/drivers/iio/chemical/bme680_core.c
/openbmc/linux/drivers/iio/magnetometer/ak8975.c
/openbmc/linux/drivers/input/keyboard/adp5588-keys.c
/openbmc/linux/drivers/input/serio/i8042-acpipnpio.h
/openbmc/linux/drivers/interconnect/icc-clk.c
/openbmc/linux/drivers/iommu/iommufd/io_pagetable.c
/openbmc/linux/drivers/md/dm-rq.c
/openbmc/linux/drivers/md/dm.c
/openbmc/linux/drivers/media/tuners/tuner-i2c.h
/openbmc/linux/drivers/net/bonding/bond_main.c
/openbmc/linux/drivers/net/ethernet/seeq/ether3.c
/openbmc/linux/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
/openbmc/linux/drivers/net/ethernet/wangxun/libwx/wx_lib.c
/openbmc/linux/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
/openbmc/linux/drivers/net/virtio_net.c
/openbmc/linux/drivers/nvme/host/multipath.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/soc/fsl/qe/tsa.c
/openbmc/linux/drivers/soc/qcom/smd-rpm.c
/openbmc/linux/drivers/soc/versatile/soc-integrator.c
/openbmc/linux/drivers/spi/atmel-quadspi.c
/openbmc/linux/drivers/spi/spi-fsl-lpspi.c
/openbmc/linux/drivers/tty/serial/8250/8250_omap.c
/openbmc/linux/drivers/vhost/vdpa.c
/openbmc/linux/fs/crypto/fname.c
/openbmc/linux/fs/ecryptfs/crypto.c
f2fs.h
/openbmc/linux/fs/namei.c
/openbmc/linux/include/linux/fs.h
/openbmc/linux/include/linux/sbitmap.h
/openbmc/linux/include/net/tcp.h
/openbmc/linux/io_uring/io_uring.c
/openbmc/linux/io_uring/sqpoll.c
/openbmc/linux/lib/sbitmap.c
/openbmc/linux/mm/mmap.c
/openbmc/linux/net/ipv6/Kconfig
/openbmc/linux/net/ipv6/netfilter/nf_reject_ipv6.c
/openbmc/linux/net/netfilter/nf_conntrack_netlink.c
/openbmc/linux/net/netfilter/nf_tables_api.c
/openbmc/linux/net/qrtr/af_qrtr.c
/openbmc/linux/sound/soc/codecs/rt5682.c
/openbmc/linux/virt/kvm/kvm_main.c
649ec8b309-Sep-2024 Chao Yu <chao@kernel.org>

f2fs: fix to don't set SB_RDONLY in f2fs_handle_critical_error()

[ Upstream commit 930c6ab93492c4b15436524e704950b364b2930c ]

syzbot reports a f2fs bug as below:

------------[ cut here ]----------

f2fs: fix to don't set SB_RDONLY in f2fs_handle_critical_error()

[ Upstream commit 930c6ab93492c4b15436524e704950b364b2930c ]

syzbot reports a f2fs bug as below:

------------[ cut here ]------------
WARNING: CPU: 1 PID: 58 at kernel/rcu/sync.c:177 rcu_sync_dtor+0xcd/0x180 kernel/rcu/sync.c:177
CPU: 1 UID: 0 PID: 58 Comm: kworker/1:2 Not tainted 6.10.0-syzkaller-12562-g1722389b0d86 #0
Workqueue: events destroy_super_work
RIP: 0010:rcu_sync_dtor+0xcd/0x180 kernel/rcu/sync.c:177
Call Trace:
percpu_free_rwsem+0x41/0x80 kernel/locking/percpu-rwsem.c:42
destroy_super_work+0xec/0x130 fs/super.c:282
process_one_work kernel/workqueue.c:3231 [inline]
process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3312
worker_thread+0x86d/0xd40 kernel/workqueue.c:3390
kthread+0x2f0/0x390 kernel/kthread.c:389
ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244

As Christian Brauner pointed out [1]: the root cause is f2fs sets
SB_RDONLY flag in internal function, rather than setting the flag
covered w/ sb->s_umount semaphore via remount procedure, then below
race condition causes this bug:

- freeze_super()
- sb_wait_write(sb, SB_FREEZE_WRITE)
- sb_wait_write(sb, SB_FREEZE_PAGEFAULT)
- sb_wait_write(sb, SB_FREEZE_FS)
- f2fs_handle_critical_error
- sb->s_flags |= SB_RDONLY
- thaw_super
- thaw_super_locked
- sb_rdonly() is true, so it skips
sb_freeze_unlock(sb, SB_FREEZE_FS)
- deactivate_locked_super

Since f2fs has almost the same logic as ext4 [2] when handling critical
error in filesystem if it mounts w/ errors=remount-ro option:
- set CP_ERROR_FLAG flag which indicates filesystem is stopped
- record errors to superblock
- set SB_RDONLY falg
Once we set CP_ERROR_FLAG flag, all writable interfaces can detect the
flag and stop any further updates on filesystem. So, it is safe to not
set SB_RDONLY flag, let's remove the logic and keep in line w/ ext4 [3].

[1] https://lore.kernel.org/all/20240729-himbeeren-funknetz-96e62f9c7aee@brauner
[2] https://lore.kernel.org/all/20240729132721.hxih6ehigadqf7wx@quack3
[3] https://lore.kernel.org/linux-ext4/20240805201241.27286-1-jack@suse.cz

Fixes: b62e71be2110 ("f2fs: support errors=remount-ro|continue|panic mountoption")
Reported-by: syzbot+20d7e439f76bbbd863a7@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/all/000000000000b90a8e061e21d12f@google.com/
Cc: Jan Kara <jack@suse.cz>
Cc: Christian Brauner <brauner@kernel.org>
Signed-off-by: Chao Yu <chao@kernel.org>
Reviewed-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>

show more ...

12345678910>>...161