Version in base suite: 5.10.197-1 Base version: linux_5.10.197-1 Target version: linux_5.10.205-2 Base file: /srv/ftp-master.debian.org/ftp/pool/main/l/linux/linux_5.10.197-1.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/l/linux/linux_5.10.205-2.dsc Documentation/ABI/testing/sysfs-bus-optee-devices | 9 Documentation/ABI/testing/sysfs-bus-usb | 11 Documentation/ABI/testing/sysfs-devices-removable | 17 Documentation/ABI/testing/sysfs-platform-asus-wmi | 9 Documentation/admin-guide/sysctl/net.rst | 18 Documentation/networking/ip-sysctl.rst | 8 Documentation/process/deprecated.rst | 20 Makefile | 2 arch/arm/boot/dts/am335x-guardian.dts | 9 arch/arm/boot/dts/am3517-evm.dts | 2 arch/arm/boot/dts/imx7s.dtsi | 8 arch/arm/boot/dts/logicpd-torpedo-baseboard.dtsi | 2 arch/arm/boot/dts/motorola-mapphone-common.dtsi | 34 arch/arm/boot/dts/omap-gpmc-smsc911x.dtsi | 6 arch/arm/boot/dts/omap-gpmc-smsc9221.dtsi | 6 arch/arm/boot/dts/omap3-cm-t3517.dts | 12 arch/arm/boot/dts/omap3-cpu-thermal.dtsi | 3 arch/arm/boot/dts/omap3-gta04.dtsi | 8 arch/arm/boot/dts/omap3-ldp.dts | 2 arch/arm/boot/dts/omap3-n900.dts | 40 arch/arm/boot/dts/omap3-zoom3.dts | 44 arch/arm/boot/dts/omap4-cpu-thermal.dtsi | 29 arch/arm/boot/dts/omap443x.dtsi | 1 arch/arm/boot/dts/omap4460.dtsi | 1 arch/arm/boot/dts/omap5-cm-t54.dts | 58 arch/arm/boot/dts/qcom-mdm9615.dtsi | 14 arch/arm/include/asm/exception.h | 4 arch/arm/lib/memset.S | 1 arch/arm/mach-imx/mmdc.c | 7 arch/arm/xen/enlighten.c | 28 arch/arm64/Kconfig | 2 arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts | 2 arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts | 2 arch/arm64/boot/dts/mediatek/mt8173-evb.dts | 4 arch/arm64/boot/dts/mediatek/mt8183-evb.dts | 2 arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi | 2 arch/arm64/boot/dts/qcom/ipq6018.dtsi | 15 arch/arm64/boot/dts/qcom/msm8916.dtsi | 2 arch/arm64/boot/dts/qcom/sdm845-mtp.dts | 2 arch/arm64/boot/dts/rockchip/rk3399.dtsi | 6 arch/arm64/include/asm/cpufeature.h | 3 arch/arm64/include/asm/cputype.h | 2 arch/arm64/include/asm/exception.h | 13 arch/arm64/include/asm/pgtable.h | 6 arch/arm64/include/asm/spectre.h | 2 arch/arm64/include/asm/system_misc.h | 2 arch/arm64/include/asm/traps.h | 19 arch/arm64/kernel/armv8_deprecated.c | 572 arch/arm64/kernel/cpufeature.c | 23 arch/arm64/kernel/entry-common.c | 36 arch/arm64/kernel/proton-pack.c | 26 arch/arm64/kernel/traps.c | 125 arch/mips/Kconfig | 2 arch/mips/alchemy/devboards/db1000.c | 4 arch/mips/alchemy/devboards/db1200.c | 6 arch/mips/alchemy/devboards/db1300.c | 4 arch/mips/include/asm/mach-loongson64/boot_param.h | 3 arch/mips/kvm/mmu.c | 3 arch/mips/loongson64/env.c | 10 arch/mips/loongson64/init.c | 5 arch/parisc/include/asm/ldcw.h | 36 arch/parisc/include/asm/ropes.h | 3 arch/parisc/include/asm/spinlock_types.h | 5 arch/parisc/include/uapi/asm/errno.h | 2 arch/parisc/include/uapi/asm/pdc.h | 1 arch/parisc/kernel/drivers.c | 2 arch/parisc/kernel/entry.S | 7 arch/parisc/kernel/head.S | 5 arch/parisc/kernel/irq.c | 2 arch/powerpc/include/asm/nohash/32/pte-40x.h | 3 arch/powerpc/include/asm/nohash/32/pte-8xx.h | 7 arch/powerpc/include/asm/nohash/64/pgtable.h | 2 arch/powerpc/include/asm/nohash/pgtable.h | 2 arch/powerpc/kernel/fpu.S | 13 arch/powerpc/kernel/hw_breakpoint.c | 7 arch/powerpc/kernel/setup-common.c | 2 arch/powerpc/kernel/trace/ftrace_64_mprofile.S | 17 arch/powerpc/kernel/vector.S | 2 arch/powerpc/mm/mem.c | 1 arch/powerpc/perf/core-book3s.c | 5 arch/powerpc/perf/hv-24x7.c | 2 arch/powerpc/perf/imc-pmu.c | 2 arch/powerpc/platforms/pseries/lpar.c | 4 arch/powerpc/sysdev/xive/native.c | 2 arch/riscv/kernel/traps_misaligned.c | 6 arch/riscv/net/bpf_jit_comp64.c | 33 arch/s390/mm/page-states.c | 14 arch/s390/mm/pgtable.c | 2 arch/s390/pci/pci_dma.c | 15 arch/sh/Kconfig.debug | 11 arch/sparc/lib/checksum_32.S | 2 arch/x86/boot/compressed/sev-es.c | 10 arch/x86/events/intel/pt.c | 14 arch/x86/include/asm/i8259.h | 2 arch/x86/include/asm/msr-index.h | 10 arch/x86/include/asm/numa.h | 7 arch/x86/include/asm/page.h | 10 arch/x86/include/asm/setup.h | 46 arch/x86/include/asm/uaccess.h | 2 arch/x86/kernel/acpi/boot.c | 3 arch/x86/kernel/alternative.c | 13 arch/x86/kernel/cpu/amd.c | 11 arch/x86/kernel/cpu/bugs.c | 6 arch/x86/kernel/cpu/hygon.c | 8 arch/x86/kernel/head64.c | 2 arch/x86/kernel/i8259.c | 38 arch/x86/kernel/setup.c | 5 arch/x86/kernel/sev-es-shared.c | 53 arch/x86/kernel/sev-es.c | 30 arch/x86/kernel/vmlinux.lds.S | 2 arch/x86/kvm/emulate.c | 4 arch/x86/kvm/hyperv.c | 10 arch/x86/kvm/lapic.c | 8 arch/x86/kvm/x86.c | 4 arch/x86/kvm/x86.h | 7 arch/x86/lib/copy_mc.c | 8 arch/x86/mm/maccess.c | 24 arch/x86/mm/numa.c | 7 arch/xtensa/boot/Makefile | 3 arch/xtensa/boot/lib/zmem.c | 5 arch/xtensa/include/asm/core.h | 4 arch/xtensa/platforms/iss/network.c | 4 block/blk-core.c | 2 block/blk-sysfs.c | 2 block/blk-throttle.c | 2 crypto/pcrypt.c | 4 debian/changelog | 1077 + debian/config.defines.dump | 6 debian/config/arm64/config | 1 debian/config/config | 1 debian/config/defines | 2 debian/control | 7060 +++++----- debian/control.md5sum | 4 debian/linux-headers-4kc-malta.maintscript | 2 debian/linux-headers-5.10.0-26-4kc-malta.postinst | 18 debian/linux-headers-5.10.0-26-5kc-malta.postinst | 18 debian/linux-headers-5.10.0-26-686-pae.postinst | 18 debian/linux-headers-5.10.0-26-686.postinst | 18 debian/linux-headers-5.10.0-26-alpha-generic.postinst | 18 debian/linux-headers-5.10.0-26-alpha-smp.postinst | 18 debian/linux-headers-5.10.0-26-amd64.postinst | 18 debian/linux-headers-5.10.0-26-arm64.postinst | 18 debian/linux-headers-5.10.0-26-armmp-lpae.postinst | 18 debian/linux-headers-5.10.0-26-armmp.postinst | 18 debian/linux-headers-5.10.0-26-cloud-amd64.postinst | 18 debian/linux-headers-5.10.0-26-cloud-arm64.postinst | 18 debian/linux-headers-5.10.0-26-itanium.postinst | 18 debian/linux-headers-5.10.0-26-loongson-3.postinst | 18 debian/linux-headers-5.10.0-26-m68k.postinst | 18 debian/linux-headers-5.10.0-26-marvell.postinst | 18 debian/linux-headers-5.10.0-26-mckinley.postinst | 18 debian/linux-headers-5.10.0-26-mips32r6.postinst | 18 debian/linux-headers-5.10.0-26-mips32r6el.postinst | 18 debian/linux-headers-5.10.0-26-mips64r6.postinst | 18 debian/linux-headers-5.10.0-26-mips64r6el.postinst | 18 debian/linux-headers-5.10.0-26-octeon.postinst | 18 debian/linux-headers-5.10.0-26-parisc.postinst | 18 debian/linux-headers-5.10.0-26-parisc64.postinst | 18 debian/linux-headers-5.10.0-26-powerpc-smp.postinst | 18 debian/linux-headers-5.10.0-26-powerpc.postinst | 18 debian/linux-headers-5.10.0-26-powerpc64.postinst | 18 debian/linux-headers-5.10.0-26-powerpc64le.postinst | 18 debian/linux-headers-5.10.0-26-riscv64.postinst | 18 debian/linux-headers-5.10.0-26-rpi.postinst | 18 debian/linux-headers-5.10.0-26-rt-686-pae.postinst | 18 debian/linux-headers-5.10.0-26-rt-amd64.postinst | 18 debian/linux-headers-5.10.0-26-rt-arm64.postinst | 18 debian/linux-headers-5.10.0-26-rt-armmp.postinst | 18 debian/linux-headers-5.10.0-26-s390x.postinst | 18 debian/linux-headers-5.10.0-26-sh7751r.postinst | 18 debian/linux-headers-5.10.0-26-sh7785lcr.postinst | 18 debian/linux-headers-5.10.0-26-sparc64-smp.postinst | 18 debian/linux-headers-5.10.0-26-sparc64.postinst | 18 debian/linux-headers-5.10.0-27-4kc-malta.postinst | 18 debian/linux-headers-5.10.0-27-5kc-malta.postinst | 18 debian/linux-headers-5.10.0-27-686-pae.postinst | 18 debian/linux-headers-5.10.0-27-686.postinst | 18 debian/linux-headers-5.10.0-27-alpha-generic.postinst | 18 debian/linux-headers-5.10.0-27-alpha-smp.postinst | 18 debian/linux-headers-5.10.0-27-amd64.postinst | 18 debian/linux-headers-5.10.0-27-arm64.postinst | 18 debian/linux-headers-5.10.0-27-armmp-lpae.postinst | 18 debian/linux-headers-5.10.0-27-armmp.postinst | 18 debian/linux-headers-5.10.0-27-cloud-amd64.postinst | 18 debian/linux-headers-5.10.0-27-cloud-arm64.postinst | 18 debian/linux-headers-5.10.0-27-itanium.postinst | 18 debian/linux-headers-5.10.0-27-loongson-3.postinst | 18 debian/linux-headers-5.10.0-27-m68k.postinst | 18 debian/linux-headers-5.10.0-27-marvell.postinst | 18 debian/linux-headers-5.10.0-27-mckinley.postinst | 18 debian/linux-headers-5.10.0-27-mips32r6.postinst | 18 debian/linux-headers-5.10.0-27-mips32r6el.postinst | 18 debian/linux-headers-5.10.0-27-mips64r6.postinst | 18 debian/linux-headers-5.10.0-27-mips64r6el.postinst | 18 debian/linux-headers-5.10.0-27-octeon.postinst | 18 debian/linux-headers-5.10.0-27-parisc.postinst | 18 debian/linux-headers-5.10.0-27-parisc64.postinst | 18 debian/linux-headers-5.10.0-27-powerpc-smp.postinst | 18 debian/linux-headers-5.10.0-27-powerpc.postinst | 18 debian/linux-headers-5.10.0-27-powerpc64.postinst | 18 debian/linux-headers-5.10.0-27-powerpc64le.postinst | 18 debian/linux-headers-5.10.0-27-riscv64.postinst | 18 debian/linux-headers-5.10.0-27-rpi.postinst | 18 debian/linux-headers-5.10.0-27-rt-686-pae.postinst | 18 debian/linux-headers-5.10.0-27-rt-amd64.postinst | 18 debian/linux-headers-5.10.0-27-rt-arm64.postinst | 18 debian/linux-headers-5.10.0-27-rt-armmp.postinst | 18 debian/linux-headers-5.10.0-27-s390x.postinst | 18 debian/linux-headers-5.10.0-27-sh7751r.postinst | 18 debian/linux-headers-5.10.0-27-sh7785lcr.postinst | 18 debian/linux-headers-5.10.0-27-sparc64-smp.postinst | 18 debian/linux-headers-5.10.0-27-sparc64.postinst | 18 debian/linux-headers-5kc-malta.maintscript | 2 debian/linux-headers-alpha-generic.maintscript | 2 debian/linux-headers-alpha-smp.maintscript | 2 debian/linux-headers-armmp-lpae.maintscript | 2 debian/linux-headers-armmp.maintscript | 2 debian/linux-headers-itanium.maintscript | 2 debian/linux-headers-loongson-3.maintscript | 2 debian/linux-headers-m68k.maintscript | 2 debian/linux-headers-marvell.maintscript | 2 debian/linux-headers-mckinley.maintscript | 2 debian/linux-headers-mips32r6.maintscript | 2 debian/linux-headers-mips32r6el.maintscript | 2 debian/linux-headers-mips64r6.maintscript | 2 debian/linux-headers-mips64r6el.maintscript | 2 debian/linux-headers-octeon.maintscript | 2 debian/linux-headers-parisc.maintscript | 2 debian/linux-headers-parisc64.maintscript | 2 debian/linux-headers-powerpc-smp.maintscript | 2 debian/linux-headers-powerpc.maintscript | 2 debian/linux-headers-powerpc64.maintscript | 2 debian/linux-headers-powerpc64le.maintscript | 2 debian/linux-headers-riscv64.maintscript | 2 debian/linux-headers-rpi.maintscript | 2 debian/linux-headers-rt-armmp.maintscript | 2 debian/linux-headers-s390x.maintscript | 2 debian/linux-headers-sh7751r.maintscript | 2 debian/linux-headers-sh7785lcr.maintscript | 2 debian/linux-headers-sparc64-smp.maintscript | 2 debian/linux-headers-sparc64.maintscript | 2 debian/linux-image-4kc-malta-dbg.maintscript | 2 debian/linux-image-4kc-malta.bug-presubj | 2 debian/linux-image-4kc-malta.maintscript | 2 debian/linux-image-5.10.0-26-4kc-malta-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-4kc-malta.postinst | 25 debian/linux-image-5.10.0-26-4kc-malta.postrm | 31 debian/linux-image-5.10.0-26-4kc-malta.preinst | 21 debian/linux-image-5.10.0-26-4kc-malta.prerm | 17 debian/linux-image-5.10.0-26-5kc-malta-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-5kc-malta.postinst | 25 debian/linux-image-5.10.0-26-5kc-malta.postrm | 31 debian/linux-image-5.10.0-26-5kc-malta.preinst | 21 debian/linux-image-5.10.0-26-5kc-malta.prerm | 17 debian/linux-image-5.10.0-26-686-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-686-pae-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-686-pae-unsigned.postinst | 25 debian/linux-image-5.10.0-26-686-pae-unsigned.postrm | 31 debian/linux-image-5.10.0-26-686-pae-unsigned.preinst | 21 debian/linux-image-5.10.0-26-686-pae-unsigned.prerm | 17 debian/linux-image-5.10.0-26-686-unsigned.postinst | 25 debian/linux-image-5.10.0-26-686-unsigned.postrm | 31 debian/linux-image-5.10.0-26-686-unsigned.preinst | 21 debian/linux-image-5.10.0-26-686-unsigned.prerm | 17 debian/linux-image-5.10.0-26-alpha-generic-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-alpha-generic.postinst | 25 debian/linux-image-5.10.0-26-alpha-generic.postrm | 31 debian/linux-image-5.10.0-26-alpha-generic.preinst | 21 debian/linux-image-5.10.0-26-alpha-generic.prerm | 17 debian/linux-image-5.10.0-26-alpha-smp-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-alpha-smp.postinst | 25 debian/linux-image-5.10.0-26-alpha-smp.postrm | 31 debian/linux-image-5.10.0-26-alpha-smp.preinst | 21 debian/linux-image-5.10.0-26-alpha-smp.prerm | 17 debian/linux-image-5.10.0-26-amd64-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-amd64-unsigned.postinst | 25 debian/linux-image-5.10.0-26-amd64-unsigned.postrm | 31 debian/linux-image-5.10.0-26-amd64-unsigned.preinst | 21 debian/linux-image-5.10.0-26-amd64-unsigned.prerm | 17 debian/linux-image-5.10.0-26-arm64-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-arm64-unsigned.postinst | 25 debian/linux-image-5.10.0-26-arm64-unsigned.postrm | 31 debian/linux-image-5.10.0-26-arm64-unsigned.preinst | 21 debian/linux-image-5.10.0-26-arm64-unsigned.prerm | 17 debian/linux-image-5.10.0-26-armmp-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-armmp-lpae-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-armmp-lpae.postinst | 25 debian/linux-image-5.10.0-26-armmp-lpae.postrm | 31 debian/linux-image-5.10.0-26-armmp-lpae.preinst | 21 debian/linux-image-5.10.0-26-armmp-lpae.prerm | 17 debian/linux-image-5.10.0-26-armmp.postinst | 25 debian/linux-image-5.10.0-26-armmp.postrm | 31 debian/linux-image-5.10.0-26-armmp.preinst | 21 debian/linux-image-5.10.0-26-armmp.prerm | 17 debian/linux-image-5.10.0-26-cloud-amd64-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-cloud-amd64-unsigned.postinst | 25 debian/linux-image-5.10.0-26-cloud-amd64-unsigned.postrm | 31 debian/linux-image-5.10.0-26-cloud-amd64-unsigned.preinst | 21 debian/linux-image-5.10.0-26-cloud-amd64-unsigned.prerm | 17 debian/linux-image-5.10.0-26-cloud-arm64-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-cloud-arm64-unsigned.postinst | 25 debian/linux-image-5.10.0-26-cloud-arm64-unsigned.postrm | 31 debian/linux-image-5.10.0-26-cloud-arm64-unsigned.preinst | 21 debian/linux-image-5.10.0-26-cloud-arm64-unsigned.prerm | 17 debian/linux-image-5.10.0-26-itanium-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-itanium.postinst | 25 debian/linux-image-5.10.0-26-itanium.postrm | 31 debian/linux-image-5.10.0-26-itanium.preinst | 21 debian/linux-image-5.10.0-26-itanium.prerm | 17 debian/linux-image-5.10.0-26-loongson-3-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-loongson-3.postinst | 25 debian/linux-image-5.10.0-26-loongson-3.postrm | 31 debian/linux-image-5.10.0-26-loongson-3.preinst | 21 debian/linux-image-5.10.0-26-loongson-3.prerm | 17 debian/linux-image-5.10.0-26-m68k-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-m68k.postinst | 25 debian/linux-image-5.10.0-26-m68k.postrm | 31 debian/linux-image-5.10.0-26-m68k.preinst | 21 debian/linux-image-5.10.0-26-m68k.prerm | 17 debian/linux-image-5.10.0-26-marvell-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-marvell.postinst | 25 debian/linux-image-5.10.0-26-marvell.postrm | 31 debian/linux-image-5.10.0-26-marvell.preinst | 21 debian/linux-image-5.10.0-26-marvell.prerm | 17 debian/linux-image-5.10.0-26-mckinley-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-mckinley.postinst | 25 debian/linux-image-5.10.0-26-mckinley.postrm | 31 debian/linux-image-5.10.0-26-mckinley.preinst | 21 debian/linux-image-5.10.0-26-mckinley.prerm | 17 debian/linux-image-5.10.0-26-mips32r6-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-mips32r6.postinst | 25 debian/linux-image-5.10.0-26-mips32r6.postrm | 31 debian/linux-image-5.10.0-26-mips32r6.preinst | 21 debian/linux-image-5.10.0-26-mips32r6.prerm | 17 debian/linux-image-5.10.0-26-mips32r6el-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-mips32r6el.postinst | 25 debian/linux-image-5.10.0-26-mips32r6el.postrm | 31 debian/linux-image-5.10.0-26-mips32r6el.preinst | 21 debian/linux-image-5.10.0-26-mips32r6el.prerm | 17 debian/linux-image-5.10.0-26-mips64r6-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-mips64r6.postinst | 25 debian/linux-image-5.10.0-26-mips64r6.postrm | 31 debian/linux-image-5.10.0-26-mips64r6.preinst | 21 debian/linux-image-5.10.0-26-mips64r6.prerm | 17 debian/linux-image-5.10.0-26-mips64r6el-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-mips64r6el.postinst | 25 debian/linux-image-5.10.0-26-mips64r6el.postrm | 31 debian/linux-image-5.10.0-26-mips64r6el.preinst | 21 debian/linux-image-5.10.0-26-mips64r6el.prerm | 17 debian/linux-image-5.10.0-26-octeon-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-octeon.postinst | 25 debian/linux-image-5.10.0-26-octeon.postrm | 31 debian/linux-image-5.10.0-26-octeon.preinst | 21 debian/linux-image-5.10.0-26-octeon.prerm | 17 debian/linux-image-5.10.0-26-parisc.postinst | 25 debian/linux-image-5.10.0-26-parisc.postrm | 31 debian/linux-image-5.10.0-26-parisc.preinst | 21 debian/linux-image-5.10.0-26-parisc.prerm | 17 debian/linux-image-5.10.0-26-parisc64.postinst | 25 debian/linux-image-5.10.0-26-parisc64.postrm | 31 debian/linux-image-5.10.0-26-parisc64.preinst | 21 debian/linux-image-5.10.0-26-parisc64.prerm | 17 debian/linux-image-5.10.0-26-powerpc-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-powerpc-smp-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-powerpc-smp.postinst | 25 debian/linux-image-5.10.0-26-powerpc-smp.postrm | 31 debian/linux-image-5.10.0-26-powerpc-smp.preinst | 21 debian/linux-image-5.10.0-26-powerpc-smp.prerm | 17 debian/linux-image-5.10.0-26-powerpc.postinst | 25 debian/linux-image-5.10.0-26-powerpc.postrm | 31 debian/linux-image-5.10.0-26-powerpc.preinst | 21 debian/linux-image-5.10.0-26-powerpc.prerm | 17 debian/linux-image-5.10.0-26-powerpc64-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-powerpc64.postinst | 25 debian/linux-image-5.10.0-26-powerpc64.postrm | 31 debian/linux-image-5.10.0-26-powerpc64.preinst | 21 debian/linux-image-5.10.0-26-powerpc64.prerm | 17 debian/linux-image-5.10.0-26-powerpc64le-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-powerpc64le.postinst | 25 debian/linux-image-5.10.0-26-powerpc64le.postrm | 31 debian/linux-image-5.10.0-26-powerpc64le.preinst | 21 debian/linux-image-5.10.0-26-powerpc64le.prerm | 17 debian/linux-image-5.10.0-26-riscv64-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-riscv64.postinst | 25 debian/linux-image-5.10.0-26-riscv64.postrm | 31 debian/linux-image-5.10.0-26-riscv64.preinst | 21 debian/linux-image-5.10.0-26-riscv64.prerm | 17 debian/linux-image-5.10.0-26-rpi-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-rpi.postinst | 25 debian/linux-image-5.10.0-26-rpi.postrm | 31 debian/linux-image-5.10.0-26-rpi.preinst | 21 debian/linux-image-5.10.0-26-rpi.prerm | 17 debian/linux-image-5.10.0-26-rt-686-pae-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-rt-686-pae-unsigned.postinst | 25 debian/linux-image-5.10.0-26-rt-686-pae-unsigned.postrm | 31 debian/linux-image-5.10.0-26-rt-686-pae-unsigned.preinst | 21 debian/linux-image-5.10.0-26-rt-686-pae-unsigned.prerm | 17 debian/linux-image-5.10.0-26-rt-amd64-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-rt-amd64-unsigned.postinst | 25 debian/linux-image-5.10.0-26-rt-amd64-unsigned.postrm | 31 debian/linux-image-5.10.0-26-rt-amd64-unsigned.preinst | 21 debian/linux-image-5.10.0-26-rt-amd64-unsigned.prerm | 17 debian/linux-image-5.10.0-26-rt-arm64-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-rt-arm64-unsigned.postinst | 25 debian/linux-image-5.10.0-26-rt-arm64-unsigned.postrm | 31 debian/linux-image-5.10.0-26-rt-arm64-unsigned.preinst | 21 debian/linux-image-5.10.0-26-rt-arm64-unsigned.prerm | 17 debian/linux-image-5.10.0-26-rt-armmp-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-rt-armmp.postinst | 25 debian/linux-image-5.10.0-26-rt-armmp.postrm | 31 debian/linux-image-5.10.0-26-rt-armmp.preinst | 21 debian/linux-image-5.10.0-26-rt-armmp.prerm | 17 debian/linux-image-5.10.0-26-s390x-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-s390x.postinst | 25 debian/linux-image-5.10.0-26-s390x.postrm | 31 debian/linux-image-5.10.0-26-s390x.preinst | 21 debian/linux-image-5.10.0-26-s390x.prerm | 17 debian/linux-image-5.10.0-26-sh7751r-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-sh7751r.postinst | 25 debian/linux-image-5.10.0-26-sh7751r.postrm | 31 debian/linux-image-5.10.0-26-sh7751r.preinst | 21 debian/linux-image-5.10.0-26-sh7751r.prerm | 17 debian/linux-image-5.10.0-26-sh7785lcr-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-sh7785lcr.postinst | 25 debian/linux-image-5.10.0-26-sh7785lcr.postrm | 31 debian/linux-image-5.10.0-26-sh7785lcr.preinst | 21 debian/linux-image-5.10.0-26-sh7785lcr.prerm | 17 debian/linux-image-5.10.0-26-sparc64-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-sparc64-smp-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-26-sparc64-smp.postinst | 25 debian/linux-image-5.10.0-26-sparc64-smp.postrm | 31 debian/linux-image-5.10.0-26-sparc64-smp.preinst | 21 debian/linux-image-5.10.0-26-sparc64-smp.prerm | 17 debian/linux-image-5.10.0-26-sparc64.postinst | 25 debian/linux-image-5.10.0-26-sparc64.postrm | 31 debian/linux-image-5.10.0-26-sparc64.preinst | 21 debian/linux-image-5.10.0-26-sparc64.prerm | 17 debian/linux-image-5.10.0-27-4kc-malta-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-4kc-malta.postinst | 25 debian/linux-image-5.10.0-27-4kc-malta.postrm | 31 debian/linux-image-5.10.0-27-4kc-malta.preinst | 21 debian/linux-image-5.10.0-27-4kc-malta.prerm | 17 debian/linux-image-5.10.0-27-5kc-malta-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-5kc-malta.postinst | 25 debian/linux-image-5.10.0-27-5kc-malta.postrm | 31 debian/linux-image-5.10.0-27-5kc-malta.preinst | 21 debian/linux-image-5.10.0-27-5kc-malta.prerm | 17 debian/linux-image-5.10.0-27-686-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-686-pae-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-686-pae-unsigned.postinst | 25 debian/linux-image-5.10.0-27-686-pae-unsigned.postrm | 31 debian/linux-image-5.10.0-27-686-pae-unsigned.preinst | 21 debian/linux-image-5.10.0-27-686-pae-unsigned.prerm | 17 debian/linux-image-5.10.0-27-686-unsigned.postinst | 25 debian/linux-image-5.10.0-27-686-unsigned.postrm | 31 debian/linux-image-5.10.0-27-686-unsigned.preinst | 21 debian/linux-image-5.10.0-27-686-unsigned.prerm | 17 debian/linux-image-5.10.0-27-alpha-generic-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-alpha-generic.postinst | 25 debian/linux-image-5.10.0-27-alpha-generic.postrm | 31 debian/linux-image-5.10.0-27-alpha-generic.preinst | 21 debian/linux-image-5.10.0-27-alpha-generic.prerm | 17 debian/linux-image-5.10.0-27-alpha-smp-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-alpha-smp.postinst | 25 debian/linux-image-5.10.0-27-alpha-smp.postrm | 31 debian/linux-image-5.10.0-27-alpha-smp.preinst | 21 debian/linux-image-5.10.0-27-alpha-smp.prerm | 17 debian/linux-image-5.10.0-27-amd64-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-amd64-unsigned.postinst | 25 debian/linux-image-5.10.0-27-amd64-unsigned.postrm | 31 debian/linux-image-5.10.0-27-amd64-unsigned.preinst | 21 debian/linux-image-5.10.0-27-amd64-unsigned.prerm | 17 debian/linux-image-5.10.0-27-arm64-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-arm64-unsigned.postinst | 25 debian/linux-image-5.10.0-27-arm64-unsigned.postrm | 31 debian/linux-image-5.10.0-27-arm64-unsigned.preinst | 21 debian/linux-image-5.10.0-27-arm64-unsigned.prerm | 17 debian/linux-image-5.10.0-27-armmp-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-armmp-lpae-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-armmp-lpae.postinst | 25 debian/linux-image-5.10.0-27-armmp-lpae.postrm | 31 debian/linux-image-5.10.0-27-armmp-lpae.preinst | 21 debian/linux-image-5.10.0-27-armmp-lpae.prerm | 17 debian/linux-image-5.10.0-27-armmp.postinst | 25 debian/linux-image-5.10.0-27-armmp.postrm | 31 debian/linux-image-5.10.0-27-armmp.preinst | 21 debian/linux-image-5.10.0-27-armmp.prerm | 17 debian/linux-image-5.10.0-27-cloud-amd64-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-cloud-amd64-unsigned.postinst | 25 debian/linux-image-5.10.0-27-cloud-amd64-unsigned.postrm | 31 debian/linux-image-5.10.0-27-cloud-amd64-unsigned.preinst | 21 debian/linux-image-5.10.0-27-cloud-amd64-unsigned.prerm | 17 debian/linux-image-5.10.0-27-cloud-arm64-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-cloud-arm64-unsigned.postinst | 25 debian/linux-image-5.10.0-27-cloud-arm64-unsigned.postrm | 31 debian/linux-image-5.10.0-27-cloud-arm64-unsigned.preinst | 21 debian/linux-image-5.10.0-27-cloud-arm64-unsigned.prerm | 17 debian/linux-image-5.10.0-27-itanium-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-itanium.postinst | 25 debian/linux-image-5.10.0-27-itanium.postrm | 31 debian/linux-image-5.10.0-27-itanium.preinst | 21 debian/linux-image-5.10.0-27-itanium.prerm | 17 debian/linux-image-5.10.0-27-loongson-3-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-loongson-3.postinst | 25 debian/linux-image-5.10.0-27-loongson-3.postrm | 31 debian/linux-image-5.10.0-27-loongson-3.preinst | 21 debian/linux-image-5.10.0-27-loongson-3.prerm | 17 debian/linux-image-5.10.0-27-m68k-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-m68k.postinst | 25 debian/linux-image-5.10.0-27-m68k.postrm | 31 debian/linux-image-5.10.0-27-m68k.preinst | 21 debian/linux-image-5.10.0-27-m68k.prerm | 17 debian/linux-image-5.10.0-27-marvell-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-marvell.postinst | 25 debian/linux-image-5.10.0-27-marvell.postrm | 31 debian/linux-image-5.10.0-27-marvell.preinst | 21 debian/linux-image-5.10.0-27-marvell.prerm | 17 debian/linux-image-5.10.0-27-mckinley-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-mckinley.postinst | 25 debian/linux-image-5.10.0-27-mckinley.postrm | 31 debian/linux-image-5.10.0-27-mckinley.preinst | 21 debian/linux-image-5.10.0-27-mckinley.prerm | 17 debian/linux-image-5.10.0-27-mips32r6-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-mips32r6.postinst | 25 debian/linux-image-5.10.0-27-mips32r6.postrm | 31 debian/linux-image-5.10.0-27-mips32r6.preinst | 21 debian/linux-image-5.10.0-27-mips32r6.prerm | 17 debian/linux-image-5.10.0-27-mips32r6el-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-mips32r6el.postinst | 25 debian/linux-image-5.10.0-27-mips32r6el.postrm | 31 debian/linux-image-5.10.0-27-mips32r6el.preinst | 21 debian/linux-image-5.10.0-27-mips32r6el.prerm | 17 debian/linux-image-5.10.0-27-mips64r6-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-mips64r6.postinst | 25 debian/linux-image-5.10.0-27-mips64r6.postrm | 31 debian/linux-image-5.10.0-27-mips64r6.preinst | 21 debian/linux-image-5.10.0-27-mips64r6.prerm | 17 debian/linux-image-5.10.0-27-mips64r6el-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-mips64r6el.postinst | 25 debian/linux-image-5.10.0-27-mips64r6el.postrm | 31 debian/linux-image-5.10.0-27-mips64r6el.preinst | 21 debian/linux-image-5.10.0-27-mips64r6el.prerm | 17 debian/linux-image-5.10.0-27-octeon-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-octeon.postinst | 25 debian/linux-image-5.10.0-27-octeon.postrm | 31 debian/linux-image-5.10.0-27-octeon.preinst | 21 debian/linux-image-5.10.0-27-octeon.prerm | 17 debian/linux-image-5.10.0-27-parisc.postinst | 25 debian/linux-image-5.10.0-27-parisc.postrm | 31 debian/linux-image-5.10.0-27-parisc.preinst | 21 debian/linux-image-5.10.0-27-parisc.prerm | 17 debian/linux-image-5.10.0-27-parisc64.postinst | 25 debian/linux-image-5.10.0-27-parisc64.postrm | 31 debian/linux-image-5.10.0-27-parisc64.preinst | 21 debian/linux-image-5.10.0-27-parisc64.prerm | 17 debian/linux-image-5.10.0-27-powerpc-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-powerpc-smp-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-powerpc-smp.postinst | 25 debian/linux-image-5.10.0-27-powerpc-smp.postrm | 31 debian/linux-image-5.10.0-27-powerpc-smp.preinst | 21 debian/linux-image-5.10.0-27-powerpc-smp.prerm | 17 debian/linux-image-5.10.0-27-powerpc.postinst | 25 debian/linux-image-5.10.0-27-powerpc.postrm | 31 debian/linux-image-5.10.0-27-powerpc.preinst | 21 debian/linux-image-5.10.0-27-powerpc.prerm | 17 debian/linux-image-5.10.0-27-powerpc64-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-powerpc64.postinst | 25 debian/linux-image-5.10.0-27-powerpc64.postrm | 31 debian/linux-image-5.10.0-27-powerpc64.preinst | 21 debian/linux-image-5.10.0-27-powerpc64.prerm | 17 debian/linux-image-5.10.0-27-powerpc64le-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-powerpc64le.postinst | 25 debian/linux-image-5.10.0-27-powerpc64le.postrm | 31 debian/linux-image-5.10.0-27-powerpc64le.preinst | 21 debian/linux-image-5.10.0-27-powerpc64le.prerm | 17 debian/linux-image-5.10.0-27-riscv64-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-riscv64.postinst | 25 debian/linux-image-5.10.0-27-riscv64.postrm | 31 debian/linux-image-5.10.0-27-riscv64.preinst | 21 debian/linux-image-5.10.0-27-riscv64.prerm | 17 debian/linux-image-5.10.0-27-rpi-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-rpi.postinst | 25 debian/linux-image-5.10.0-27-rpi.postrm | 31 debian/linux-image-5.10.0-27-rpi.preinst | 21 debian/linux-image-5.10.0-27-rpi.prerm | 17 debian/linux-image-5.10.0-27-rt-686-pae-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-rt-686-pae-unsigned.postinst | 25 debian/linux-image-5.10.0-27-rt-686-pae-unsigned.postrm | 31 debian/linux-image-5.10.0-27-rt-686-pae-unsigned.preinst | 21 debian/linux-image-5.10.0-27-rt-686-pae-unsigned.prerm | 17 debian/linux-image-5.10.0-27-rt-amd64-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-rt-amd64-unsigned.postinst | 25 debian/linux-image-5.10.0-27-rt-amd64-unsigned.postrm | 31 debian/linux-image-5.10.0-27-rt-amd64-unsigned.preinst | 21 debian/linux-image-5.10.0-27-rt-amd64-unsigned.prerm | 17 debian/linux-image-5.10.0-27-rt-arm64-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-rt-arm64-unsigned.postinst | 25 debian/linux-image-5.10.0-27-rt-arm64-unsigned.postrm | 31 debian/linux-image-5.10.0-27-rt-arm64-unsigned.preinst | 21 debian/linux-image-5.10.0-27-rt-arm64-unsigned.prerm | 17 debian/linux-image-5.10.0-27-rt-armmp-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-rt-armmp.postinst | 25 debian/linux-image-5.10.0-27-rt-armmp.postrm | 31 debian/linux-image-5.10.0-27-rt-armmp.preinst | 21 debian/linux-image-5.10.0-27-rt-armmp.prerm | 17 debian/linux-image-5.10.0-27-s390x-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-s390x.postinst | 25 debian/linux-image-5.10.0-27-s390x.postrm | 31 debian/linux-image-5.10.0-27-s390x.preinst | 21 debian/linux-image-5.10.0-27-s390x.prerm | 17 debian/linux-image-5.10.0-27-sh7751r-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-sh7751r.postinst | 25 debian/linux-image-5.10.0-27-sh7751r.postrm | 31 debian/linux-image-5.10.0-27-sh7751r.preinst | 21 debian/linux-image-5.10.0-27-sh7751r.prerm | 17 debian/linux-image-5.10.0-27-sh7785lcr-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-sh7785lcr.postinst | 25 debian/linux-image-5.10.0-27-sh7785lcr.postrm | 31 debian/linux-image-5.10.0-27-sh7785lcr.preinst | 21 debian/linux-image-5.10.0-27-sh7785lcr.prerm | 17 debian/linux-image-5.10.0-27-sparc64-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-sparc64-smp-dbg.lintian-overrides | 15 debian/linux-image-5.10.0-27-sparc64-smp.postinst | 25 debian/linux-image-5.10.0-27-sparc64-smp.postrm | 31 debian/linux-image-5.10.0-27-sparc64-smp.preinst | 21 debian/linux-image-5.10.0-27-sparc64-smp.prerm | 17 debian/linux-image-5.10.0-27-sparc64.postinst | 25 debian/linux-image-5.10.0-27-sparc64.postrm | 31 debian/linux-image-5.10.0-27-sparc64.preinst | 21 debian/linux-image-5.10.0-27-sparc64.prerm | 17 debian/linux-image-5kc-malta-dbg.maintscript | 2 debian/linux-image-5kc-malta.bug-presubj | 2 debian/linux-image-5kc-malta.maintscript | 2 debian/linux-image-686-dbg.maintscript | 2 debian/linux-image-686-pae-dbg.maintscript | 2 debian/linux-image-alpha-generic-dbg.maintscript | 2 debian/linux-image-alpha-generic.bug-presubj | 2 debian/linux-image-alpha-generic.maintscript | 2 debian/linux-image-alpha-smp-dbg.maintscript | 2 debian/linux-image-alpha-smp.bug-presubj | 2 debian/linux-image-alpha-smp.maintscript | 2 debian/linux-image-amd64-dbg.maintscript | 2 debian/linux-image-arm64-dbg.maintscript | 2 debian/linux-image-armmp-dbg.maintscript | 2 debian/linux-image-armmp-lpae-dbg.maintscript | 2 debian/linux-image-armmp-lpae.bug-presubj | 2 debian/linux-image-armmp-lpae.maintscript | 2 debian/linux-image-armmp.bug-presubj | 2 debian/linux-image-armmp.maintscript | 2 debian/linux-image-cloud-amd64-dbg.maintscript | 2 debian/linux-image-cloud-arm64-dbg.maintscript | 2 debian/linux-image-itanium-dbg.maintscript | 2 debian/linux-image-itanium.bug-presubj | 2 debian/linux-image-itanium.maintscript | 2 debian/linux-image-loongson-3-dbg.maintscript | 2 debian/linux-image-loongson-3.bug-presubj | 2 debian/linux-image-loongson-3.maintscript | 2 debian/linux-image-m68k-dbg.maintscript | 2 debian/linux-image-m68k.bug-presubj | 2 debian/linux-image-m68k.maintscript | 2 debian/linux-image-marvell-dbg.maintscript | 2 debian/linux-image-marvell.bug-presubj | 2 debian/linux-image-marvell.maintscript | 2 debian/linux-image-mckinley-dbg.maintscript | 2 debian/linux-image-mckinley.bug-presubj | 2 debian/linux-image-mckinley.maintscript | 2 debian/linux-image-mips32r6-dbg.maintscript | 2 debian/linux-image-mips32r6.bug-presubj | 2 debian/linux-image-mips32r6.maintscript | 2 debian/linux-image-mips32r6el-dbg.maintscript | 2 debian/linux-image-mips32r6el.bug-presubj | 2 debian/linux-image-mips32r6el.maintscript | 2 debian/linux-image-mips64r6-dbg.maintscript | 2 debian/linux-image-mips64r6.bug-presubj | 2 debian/linux-image-mips64r6.maintscript | 2 debian/linux-image-mips64r6el-dbg.maintscript | 2 debian/linux-image-mips64r6el.bug-presubj | 2 debian/linux-image-mips64r6el.maintscript | 2 debian/linux-image-octeon-dbg.maintscript | 2 debian/linux-image-octeon.bug-presubj | 2 debian/linux-image-octeon.maintscript | 2 debian/linux-image-parisc.bug-presubj | 2 debian/linux-image-parisc.maintscript | 2 debian/linux-image-parisc64.bug-presubj | 2 debian/linux-image-parisc64.maintscript | 2 debian/linux-image-powerpc-dbg.maintscript | 2 debian/linux-image-powerpc-smp-dbg.maintscript | 2 debian/linux-image-powerpc-smp.bug-presubj | 2 debian/linux-image-powerpc-smp.maintscript | 2 debian/linux-image-powerpc.bug-presubj | 2 debian/linux-image-powerpc.maintscript | 2 debian/linux-image-powerpc64-dbg.maintscript | 2 debian/linux-image-powerpc64.bug-presubj | 2 debian/linux-image-powerpc64.maintscript | 2 debian/linux-image-powerpc64le-dbg.maintscript | 2 debian/linux-image-powerpc64le.bug-presubj | 2 debian/linux-image-powerpc64le.maintscript | 2 debian/linux-image-riscv64-dbg.maintscript | 2 debian/linux-image-riscv64.bug-presubj | 2 debian/linux-image-riscv64.maintscript | 2 debian/linux-image-rpi-dbg.maintscript | 2 debian/linux-image-rpi.bug-presubj | 2 debian/linux-image-rpi.maintscript | 2 debian/linux-image-rt-686-pae-dbg.maintscript | 2 debian/linux-image-rt-amd64-dbg.maintscript | 2 debian/linux-image-rt-arm64-dbg.maintscript | 2 debian/linux-image-rt-armmp-dbg.maintscript | 2 debian/linux-image-rt-armmp.bug-presubj | 2 debian/linux-image-rt-armmp.maintscript | 2 debian/linux-image-s390x-dbg.maintscript | 2 debian/linux-image-s390x.bug-presubj | 2 debian/linux-image-s390x.maintscript | 2 debian/linux-image-sh7751r-dbg.maintscript | 2 debian/linux-image-sh7751r.bug-presubj | 2 debian/linux-image-sh7751r.maintscript | 2 debian/linux-image-sh7785lcr-dbg.maintscript | 2 debian/linux-image-sh7785lcr.bug-presubj | 2 debian/linux-image-sh7785lcr.maintscript | 2 debian/linux-image-sparc64-dbg.maintscript | 2 debian/linux-image-sparc64-smp-dbg.maintscript | 2 debian/linux-image-sparc64-smp.bug-presubj | 2 debian/linux-image-sparc64-smp.maintscript | 2 debian/linux-image-sparc64.bug-presubj | 2 debian/linux-image-sparc64.maintscript | 2 debian/patches-rt/0001-z3fold-remove-preempt-disabled-sections-for-RT.patch | 8 debian/patches-rt/0002-stop_machine-Add-function-and-caller-debug-info.patch | 6 debian/patches-rt/0003-sched-Fix-balance_callback.patch | 16 debian/patches-rt/0004-sched-hotplug-Ensure-only-per-cpu-kthreads-run-durin.patch | 20 debian/patches-rt/0005-sched-core-Wait-for-tasks-being-pushed-away-on-hotpl.patch | 22 debian/patches-rt/0006-workqueue-Manually-break-affinity-on-hotplug.patch | 12 debian/patches-rt/0007-sched-hotplug-Consolidate-task-migration-on-CPU-unpl.patch | 28 debian/patches-rt/0008-sched-Fix-hotplug-vs-CPU-bandwidth-control.patch | 20 debian/patches-rt/0009-sched-Massage-set_cpus_allowed.patch | 22 debian/patches-rt/0010-sched-Add-migrate_disable.patch | 14 debian/patches-rt/0011-sched-Fix-migrate_disable-vs-set_cpus_allowed_ptr.patch | 12 debian/patches-rt/0012-sched-core-Make-migrate-disable-and-CPU-hotplug-coop.patch | 18 debian/patches-rt/0013-sched-rt-Use-cpumask_any-_distribute.patch | 14 debian/patches-rt/0014-sched-rt-Use-the-full-cpumask-for-balancing.patch | 14 debian/patches-rt/0015-sched-lockdep-Annotate-pi_lock-recursion.patch | 10 debian/patches-rt/0016-sched-Fix-migrate_disable-vs-rt-dl-balancing.patch | 26 debian/patches-rt/0017-sched-proc-Print-accurate-cpumask-vs-migrate_disable.patch | 8 debian/patches-rt/0018-sched-Add-migrate_disable-tracepoints.patch | 14 debian/patches-rt/0019-sched-Deny-self-issued-__set_cpus_allowed_ptr-when-m.patch | 10 debian/patches-rt/0020-sched-Comment-affine_move_task.patch | 10 debian/patches-rt/0021-sched-Unlock-the-rq-in-affine_move_task-error-path.patch | 10 debian/patches-rt/0022-sched-Fix-migration_cpu_stop-WARN.patch | 10 debian/patches-rt/0023-sched-core-Add-missing-completion-for-affine_move_ta.patch | 10 debian/patches-rt/0024-mm-highmem-Un-EXPORT-__kmap_atomic_idx.patch | 8 debian/patches-rt/0025-highmem-Remove-unused-functions.patch | 8 debian/patches-rt/0026-fs-Remove-asm-kmap_types.h-includes.patch | 10 debian/patches-rt/0027-sh-highmem-Remove-all-traces-of-unused-cruft.patch | 8 debian/patches-rt/0028-asm-generic-Provide-kmap_size.h.patch | 8 debian/patches-rt/0029-highmem-Provide-generic-variant-of-kmap_atomic.patch | 8 debian/patches-rt/0030-highmem-Make-DEBUG_HIGHMEM-functional.patch | 8 debian/patches-rt/0031-x86-mm-highmem-Use-generic-kmap-atomic-implementatio.patch | 10 debian/patches-rt/0032-arc-mm-highmem-Use-generic-kmap-atomic-implementatio.patch | 8 debian/patches-rt/0033-ARM-highmem-Switch-to-generic-kmap-atomic.patch | 12 debian/patches-rt/0034-csky-mm-highmem-Switch-to-generic-kmap-atomic.patch | 8 debian/patches-rt/0035-microblaze-mm-highmem-Switch-to-generic-kmap-atomic.patch | 8 debian/patches-rt/0036-mips-mm-highmem-Switch-to-generic-kmap-atomic.patch | 12 debian/patches-rt/0037-nds32-mm-highmem-Switch-to-generic-kmap-atomic.patch | 8 debian/patches-rt/0038-powerpc-mm-highmem-Switch-to-generic-kmap-atomic.patch | 10 debian/patches-rt/0039-sparc-mm-highmem-Switch-to-generic-kmap-atomic.patch | 12 debian/patches-rt/0040-xtensa-mm-highmem-Switch-to-generic-kmap-atomic.patch | 8 debian/patches-rt/0041-highmem-Get-rid-of-kmap_types.h.patch | 8 debian/patches-rt/0042-mm-highmem-Remove-the-old-kmap_atomic-cruft.patch | 8 debian/patches-rt/0043-io-mapping-Cleanup-atomic-iomap.patch | 8 debian/patches-rt/0044-Documentation-io-mapping-Remove-outdated-blurb.patch | 8 debian/patches-rt/0045-highmem-High-implementation-details-and-document-API.patch | 8 debian/patches-rt/0046-sched-Make-migrate_disable-enable-independent-of-RT.patch | 16 debian/patches-rt/0047-sched-highmem-Store-local-kmaps-in-task-struct.patch | 16 debian/patches-rt/0048-mm-highmem-Provide-kmap_local.patch | 8 debian/patches-rt/0049-io-mapping-Provide-iomap_local-variant.patch | 8 debian/patches-rt/0050-x86-crashdump-32-Simplify-copy_oldmem_page.patch | 8 debian/patches-rt/0051-mips-crashdump-Simplify-copy_oldmem_page.patch | 8 debian/patches-rt/0052-ARM-mm-Replace-kmap_atomic_pfn.patch | 8 debian/patches-rt/0053-highmem-Remove-kmap_atomic_pfn.patch | 8 debian/patches-rt/0054-drm-ttm-Replace-kmap_atomic-usage.patch | 10 debian/patches-rt/0055-drm-vmgfx-Replace-kmap_atomic.patch | 8 debian/patches-rt/0056-highmem-Remove-kmap_atomic_prot.patch | 8 debian/patches-rt/0057-drm-qxl-Replace-io_mapping_map_atomic_wc.patch | 8 debian/patches-rt/0058-drm-nouveau-device-Replace-io_mapping_map_atomic_wc.patch | 8 debian/patches-rt/0059-drm-i915-Replace-io_mapping_map_atomic_wc.patch | 8 debian/patches-rt/0060-io-mapping-Remove-io_mapping_map_atomic_wc.patch | 8 debian/patches-rt/0061-mm-highmem-Take-kmap_high_get-properly-into-account.patch | 8 debian/patches-rt/0062-highmem-Don-t-disable-preemption-on-RT-in-kmap_atomi.patch | 8 debian/patches-rt/0063-blk-mq-Don-t-complete-on-a-remote-CPU-in-force-threa.patch | 8 debian/patches-rt/0064-blk-mq-Always-complete-remote-completions-requests-i.patch | 8 debian/patches-rt/0065-blk-mq-Use-llist_head-for-blk_cpu_done.patch | 8 debian/patches-rt/0066-lib-test_lockup-Minimum-fix-to-get-it-compiled-on-PR.patch | 8 debian/patches-rt/0067-timers-Don-t-block-on-expiry_lock-for-TIMER_IRQSAFE.patch | 8 debian/patches-rt/0068-kthread-Move-prio-affinite-change-into-the-newly-cre.patch | 8 debian/patches-rt/0069-genirq-Move-prio-assignment-into-the-newly-created-t.patch | 8 debian/patches-rt/0070-notifier-Make-atomic_notifiers-use-raw_spinlock.patch | 8 debian/patches-rt/0071-rcu-Make-RCU_BOOST-default-on-CONFIG_PREEMPT_RT.patch | 8 debian/patches-rt/0072-rcu-Unconditionally-use-rcuc-threads-on-PREEMPT_RT.patch | 16 debian/patches-rt/0073-rcu-Enable-rcu_normal_after_boot-unconditionally-for.patch | 12 debian/patches-rt/0074-doc-Update-RCU-s-requirements-page-about-the-PREEMPT.patch | 8 debian/patches-rt/0075-doc-Use-CONFIG_PREEMPTION.patch | 8 debian/patches-rt/0076-tracing-Merge-irqflags-preempt-counter.patch | 176 debian/patches-rt/0077-tracing-Inline-tracing_gen_ctx_flags.patch | 20 debian/patches-rt/0078-tracing-Use-in_serving_softirq-to-deduct-softirq-sta.patch | 12 debian/patches-rt/0079-tracing-Remove-NULL-check-from-current-in-tracing_ge.patch | 12 debian/patches-rt/0080-printk-inline-log_output-log_store-in-vprintk_store.patch | 8 debian/patches-rt/0081-printk-remove-logbuf_lock-writer-protection-of-ringb.patch | 8 debian/patches-rt/0082-printk-limit-second-loop-of-syslog_print_all.patch | 8 debian/patches-rt/0083-printk-kmsg_dump-remove-unused-fields.patch | 8 debian/patches-rt/0084-printk-refactor-kmsg_dump_get_buffer.patch | 8 debian/patches-rt/0085-printk-consolidate-kmsg_dump_get_buffer-syslog_print.patch | 8 debian/patches-rt/0086-printk-introduce-CONSOLE_LOG_MAX-for-improved-multi-.patch | 8 debian/patches-rt/0087-printk-use-seqcount_latch-for-clear_seq.patch | 8 debian/patches-rt/0088-printk-use-atomic64_t-for-devkmsg_user.seq.patch | 8 debian/patches-rt/0089-printk-add-syslog_lock.patch | 8 debian/patches-rt/0090-printk-introduce-a-kmsg_dump-iterator.patch | 16 debian/patches-rt/0091-um-synchronize-kmsg_dumper.patch | 8 debian/patches-rt/0092-printk-remove-logbuf_lock.patch | 8 debian/patches-rt/0093-printk-kmsg_dump-remove-_nolock-variants.patch | 12 debian/patches-rt/0094-printk-kmsg_dump-use-kmsg_dump_rewind.patch | 8 debian/patches-rt/0095-printk-console-remove-unnecessary-safe-buffer-usage.patch | 8 debian/patches-rt/0096-printk-track-limit-recursion.patch | 8 debian/patches-rt/0097-printk-remove-safe-buffers.patch | 10 debian/patches-rt/0098-printk-convert-syslog_lock-to-spin_lock.patch | 8 debian/patches-rt/0099-console-add-write_atomic-interface.patch | 8 debian/patches-rt/0100-serial-8250-implement-write_atomic.patch | 48 debian/patches-rt/0101-printk-relocate-printk_delay-and-vprintk_default.patch | 8 debian/patches-rt/0102-printk-combine-boot_delay_msec-into-printk_delay.patch | 8 debian/patches-rt/0103-printk-change-console_seq-to-atomic64_t.patch | 8 debian/patches-rt/0104-printk-introduce-kernel-sync-mode.patch | 8 debian/patches-rt/0105-printk-move-console-printing-to-kthreads.patch | 8 debian/patches-rt/0106-printk-remove-deferred-printing.patch | 14 debian/patches-rt/0107-printk-add-console-handover.patch | 8 debian/patches-rt/0108-printk-add-pr_flush.patch | 8 debian/patches-rt/0109-cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch | 8 debian/patches-rt/0110-mm-workingset-replace-IRQ-off-check-with-a-lockdep-a.patch | 8 debian/patches-rt/0111-tpm-remove-tpm_dev_wq_lock.patch | 8 debian/patches-rt/0112-shmem-Use-raw_spinlock_t-for-stat_lock.patch | 16 debian/patches-rt/0113-net-Move-lockdep-where-it-belongs.patch | 14 debian/patches-rt/0114-parisc-Remove-bogus-__IRQ_STAT-macro.patch | 8 debian/patches-rt/0115-sh-Get-rid-of-nmi_count.patch | 8 debian/patches-rt/0116-irqstat-Get-rid-of-nmi_count-and-__IRQ_STAT.patch | 8 debian/patches-rt/0117-um-irqstat-Get-rid-of-the-duplicated-declarations.patch | 8 debian/patches-rt/0118-ARM-irqstat-Get-rid-of-duplicated-declaration.patch | 8 debian/patches-rt/0119-arm64-irqstat-Get-rid-of-duplicated-declaration.patch | 8 debian/patches-rt/0120-asm-generic-irqstat-Add-optional-__nmi_count-member.patch | 8 debian/patches-rt/0121-sh-irqstat-Use-the-generic-irq_cpustat_t.patch | 8 debian/patches-rt/0122-irqstat-Move-declaration-into-asm-generic-hardirq.h.patch | 8 debian/patches-rt/0123-preempt-Cleanup-the-macro-maze-a-bit.patch | 8 debian/patches-rt/0124-softirq-Move-related-code-into-one-section.patch | 8 debian/patches-rt/0125-sh-irq-Add-missing-closing-parentheses-in-arch_show_.patch | 8 debian/patches-rt/0126-sched-cputime-Remove-symbol-exports-from-IRQ-time-ac.patch | 8 debian/patches-rt/0127-s390-vtime-Use-the-generic-IRQ-entry-accounting.patch | 14 debian/patches-rt/0128-sched-vtime-Consolidate-IRQ-time-accounting.patch | 8 debian/patches-rt/0129-irqtime-Move-irqtime-entry-accounting-after-irq-offs.patch | 8 debian/patches-rt/0130-irq-Call-tick_irq_enter-inside-HARDIRQ_OFFSET.patch | 8 debian/patches-rt/0131-smp-Wake-ksoftirqd-on-PREEMPT_RT-instead-do_softirq.patch | 8 debian/patches-rt/0132-tasklets-Replace-barrier-with-cpu_relax-in-tasklet_u.patch | 8 debian/patches-rt/0133-tasklets-Use-static-inlines-for-stub-implementations.patch | 8 debian/patches-rt/0134-tasklets-Provide-tasklet_disable_in_atomic.patch | 8 debian/patches-rt/0135-tasklets-Use-spin-wait-in-tasklet_disable-temporaril.patch | 8 debian/patches-rt/0136-tasklets-Replace-spin-wait-in-tasklet_unlock_wait.patch | 8 debian/patches-rt/0137-tasklets-Replace-spin-wait-in-tasklet_kill.patch | 8 debian/patches-rt/0138-tasklets-Prevent-tasklet_unlock_spin_wait-deadlock-o.patch | 8 debian/patches-rt/0139-net-jme-Replace-link-change-tasklet-with-work.patch | 8 debian/patches-rt/0140-net-sundance-Use-tasklet_disable_in_atomic.patch | 8 debian/patches-rt/0141-ath9k-Use-tasklet_disable_in_atomic.patch | 8 debian/patches-rt/0142-atm-eni-Use-tasklet_disable_in_atomic-in-the-send-ca.patch | 8 debian/patches-rt/0143-PCI-hv-Use-tasklet_disable_in_atomic.patch | 8 debian/patches-rt/0144-firewire-ohci-Use-tasklet_disable_in_atomic-where-re.patch | 8 debian/patches-rt/0145-tasklets-Switch-tasklet_disable-to-the-sleep-wait-va.patch | 8 debian/patches-rt/0146-softirq-Add-RT-specific-softirq-accounting.patch | 10 debian/patches-rt/0147-irqtime-Make-accounting-correct-on-RT.patch | 8 debian/patches-rt/0148-softirq-Move-various-protections-into-inline-helpers.patch | 8 debian/patches-rt/0149-softirq-Make-softirq-control-and-processing-RT-aware.patch | 8 debian/patches-rt/0150-tick-sched-Prevent-false-positive-softirq-pending-wa.patch | 12 debian/patches-rt/0151-rcu-Prevent-false-positive-softirq-warning-on-RT.patch | 8 debian/patches-rt/0152-chelsio-cxgb-Replace-the-workqueue-with-threaded-int.patch | 8 debian/patches-rt/0153-chelsio-cxgb-Disable-the-card-on-error-in-threaded-i.patch | 8 debian/patches-rt/0154-x86-fpu-Simplify-fpregs_-un-lock.patch | 8 debian/patches-rt/0155-x86-fpu-Make-kernel-FPU-protection-RT-friendly.patch | 8 debian/patches-rt/0156-locking-rtmutex-Remove-cruft.patch | 8 debian/patches-rt/0157-locking-rtmutex-Remove-output-from-deadlock-detector.patch | 8 debian/patches-rt/0158-locking-rtmutex-Move-rt_mutex_init-outside-of-CONFIG.patch | 8 debian/patches-rt/0159-locking-rtmutex-Remove-rt_mutex_timed_lock.patch | 8 debian/patches-rt/0160-locking-rtmutex-Handle-the-various-new-futex-race-co.patch | 20 debian/patches-rt/0161-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch | 8 debian/patches-rt/0162-locking-rtmutex-Make-lock_killable-work.patch | 8 debian/patches-rt/0163-locking-spinlock-Split-the-lock-types-header.patch | 8 debian/patches-rt/0164-locking-rtmutex-Avoid-include-hell.patch | 8 debian/patches-rt/0165-lockdep-Reduce-header-files-in-debug_locks.h.patch | 8 debian/patches-rt/0166-locking-split-out-the-rbtree-definition.patch | 8 debian/patches-rt/0167-locking-rtmutex-Provide-rt_mutex_slowlock_locked.patch | 8 debian/patches-rt/0168-locking-rtmutex-export-lockdep-less-version-of-rt_mu.patch | 8 debian/patches-rt/0169-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch | 16 debian/patches-rt/0170-locking-rtmutex-add-sleeping-lock-implementation.patch | 22 debian/patches-rt/0171-locking-rtmutex-Allow-rt_mutex_trylock-on-PREEMPT_RT.patch | 8 debian/patches-rt/0172-locking-rtmutex-add-mutex-implementation-based-on-rt.patch | 8 debian/patches-rt/0173-locking-rtmutex-add-rwsem-implementation-based-on-rt.patch | 8 debian/patches-rt/0174-locking-rtmutex-add-rwlock-implementation-based-on-r.patch | 8 debian/patches-rt/0175-locking-rtmutex-wire-up-RT-s-locking.patch | 8 debian/patches-rt/0176-locking-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch | 8 debian/patches-rt/0177-locking-rtmutex-Use-custom-scheduling-function-for-s.patch | 10 debian/patches-rt/0178-signal-Revert-ptrace-preempt-magic.patch | 8 debian/patches-rt/0179-preempt-Provide-preempt_-_-no-rt-variants.patch | 8 debian/patches-rt/0180-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch | 8 debian/patches-rt/0181-mm-memcontrol-Disable-preemption-in-__mod_memcg_lruv.patch | 10 debian/patches-rt/0182-xfrm-Use-sequence-counter-with-associated-spinlock.patch | 8 debian/patches-rt/0183-u64_stats-Disable-preemption-on-32bit-UP-SMP-with-RT.patch | 8 debian/patches-rt/0184-fs-dcache-use-swait_queue-instead-of-waitqueue.patch | 18 debian/patches-rt/0185-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch | 12 debian/patches-rt/0186-net-Qdisc-use-a-seqlock-instead-seqcount.patch | 10 debian/patches-rt/0187-net-Properly-annotate-the-try-lock-for-the-seqlock.patch | 13 debian/patches-rt/0188-kconfig-Disable-config-options-which-are-not-RT-comp.patch | 10 debian/patches-rt/0189-mm-Allow-only-SLUB-on-RT.patch | 8 debian/patches-rt/0190-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch | 8 debian/patches-rt/0191-net-core-disable-NET_RX_BUSY_POLL-on-RT.patch | 8 debian/patches-rt/0192-efi-Disable-runtime-services-on-RT.patch | 8 debian/patches-rt/0193-efi-Allow-efi-runtime.patch | 8 debian/patches-rt/0194-rt-Add-local-irq-locks.patch | 8 debian/patches-rt/0195-signal-x86-Delay-calling-signals-in-atomic.patch | 10 debian/patches-rt/0196-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch | 10 debian/patches-rt/0197-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch | 10 debian/patches-rt/0198-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch | 8 debian/patches-rt/0199-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch | 8 debian/patches-rt/0200-mm-slub-Always-flush-the-delayed-empty-slubs-in-flus.patch | 8 debian/patches-rt/0201-mm-slub-Don-t-resize-the-location-tracking-cache-on-.patch | 8 debian/patches-rt/0202-mm-page_alloc-Use-migrate_disable-in-drain_local_pag.patch | 10 debian/patches-rt/0203-mm-page_alloc-rt-friendly-per-cpu-pages.patch | 10 debian/patches-rt/0204-mm-slub-Make-object_map_lock-a-raw_spinlock_t.patch | 8 debian/patches-rt/0205-slub-Enable-irqs-for-__GFP_WAIT.patch | 8 debian/patches-rt/0206-slub-Disable-SLUB_CPU_PARTIAL.patch | 8 debian/patches-rt/0207-mm-memcontrol-Provide-a-local_lock-for-per-CPU-memcg.patch | 20 debian/patches-rt/0208-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch | 10 debian/patches-rt/0209-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch | 22 debian/patches-rt/0210-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch | 8 debian/patches-rt/0211-mm-zswap-Use-local-lock-to-protect-per-CPU-data.patch | 8 debian/patches-rt/0212-x86-kvm-Require-const-tsc-for-RT.patch | 12 debian/patches-rt/0213-wait.h-include-atomic.h.patch | 8 debian/patches-rt/0214-sched-Limit-the-number-of-task-migrations-per-batch.patch | 10 debian/patches-rt/0215-sched-Move-mmdrop-to-RCU-on-RT.patch | 14 debian/patches-rt/0216-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch | 12 debian/patches-rt/0217-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch | 12 debian/patches-rt/0218-sched-Disable-TTWU_QUEUE-on-RT.patch | 8 debian/patches-rt/0219-softirq-Check-preemption-after-reenabling-interrupts.patch | 8 debian/patches-rt/0220-softirq-Disable-softirq-stacks-for-RT.patch | 8 debian/patches-rt/0221-net-core-use-local_bh_disable-in-netif_rx_ni.patch | 8 debian/patches-rt/0222-pid.h-include-atomic.h.patch | 8 debian/patches-rt/0223-ptrace-fix-ptrace-vs-tasklist_lock-race.patch | 14 debian/patches-rt/0224-ptrace-fix-ptrace_unfreeze_traced-race-with-rt-lock.patch | 8 debian/patches-rt/0225-kernel-sched-add-put-get-_cpu_light.patch | 8 debian/patches-rt/0226-trace-Add-migrate-disabled-counter-to-tracing-output.patch | 30 debian/patches-rt/0227-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch | 8 debian/patches-rt/0228-locking-Make-spinlock_t-and-rwlock_t-a-RCU-section-o.patch | 8 debian/patches-rt/0229-mm-vmalloc-Another-preempt-disable-region-which-suck.patch | 10 debian/patches-rt/0230-block-mq-do-not-invoke-preempt_disable.patch | 8 debian/patches-rt/0231-md-raid5-Make-raid5_percpu-handling-RT-aware.patch | 8 debian/patches-rt/0232-scsi-fcoe-Make-RT-aware.patch | 14 debian/patches-rt/0233-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch | 8 debian/patches-rt/0234-rt-Introduce-cpu_chill.patch | 10 debian/patches-rt/0235-fs-namespace-Use-cpu_chill-in-trylock-loops.patch | 8 debian/patches-rt/0236-net-Use-skbufhead-with-raw-lock.patch | 8 debian/patches-rt/0237-net-Dequeue-in-dev_cpu_dead-without-the-lock.patch | 8 debian/patches-rt/0238-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch | 8 debian/patches-rt/0239-irqwork-push-most-work-into-softirq-context.patch | 8 debian/patches-rt/0240-x86-crypto-Reduce-preempt-disabled-regions.patch | 8 debian/patches-rt/0241-crypto-Reduce-preempt-disabled-regions-more-algos.patch | 8 debian/patches-rt/0242-crypto-limit-more-FPU-enabled-sections.patch | 8 debian/patches-rt/0243-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch | 8 debian/patches-rt/0244-x86-stackprotector-Avoid-random-pool-on-rt.patch | 8 debian/patches-rt/0245-net-Remove-preemption-disabling-in-netif_rx.patch | 8 debian/patches-rt/0246-lockdep-Make-it-RT-aware.patch | 14 debian/patches-rt/0247-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch | 8 debian/patches-rt/0248-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch | 8 debian/patches-rt/0249-lockdep-disable-self-test.patch | 12 debian/patches-rt/0250-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch | 8 debian/patches-rt/0251-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch | 8 debian/patches-rt/0252-drm-i915-disable-tracing-on-RT.patch | 8 debian/patches-rt/0253-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch | 8 debian/patches-rt/0254-drm-i915-gt-Only-disable-interrupts-for-the-timeline.patch | 8 debian/patches-rt/0255-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch | 64 debian/patches-rt/0256-x86-Allow-to-enable-RT.patch | 10 debian/patches-rt/0257-mm-scatterlist-Do-not-disable-irqs-on-RT.patch | 8 debian/patches-rt/0258-sched-Add-support-for-lazy-preemption.patch | 62 debian/patches-rt/0259-x86-entry-Use-should_resched-in-idtentry_exit_cond_r.patch | 8 debian/patches-rt/0260-x86-Support-for-lazy-preemption.patch | 12 debian/patches-rt/0261-arm-Add-support-for-lazy-preemption.patch | 12 debian/patches-rt/0262-powerpc-Add-support-for-lazy-preemption.patch | 8 debian/patches-rt/0263-arch-arm64-Add-lazy-preempt-support.patch | 12 debian/patches-rt/0264-jump-label-disable-if-stop_machine-is-used.patch | 12 debian/patches-rt/0265-leds-trigger-disable-CPU-trigger-on-RT.patch | 8 debian/patches-rt/0266-tty-serial-omap-Make-the-locking-RT-aware.patch | 8 debian/patches-rt/0267-tty-serial-pl011-Make-the-locking-work-on-RT.patch | 14 debian/patches-rt/0268-ARM-enable-irq-in-translation-section-permission-fau.patch | 8 debian/patches-rt/0269-genirq-update-irq_set_irqchip_state-documentation.patch | 8 debian/patches-rt/0270-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch | 8 debian/patches-rt/0271-arm64-fpsimd-Delay-freeing-memory-in-fpsimd_flush_th.patch | 8 debian/patches-rt/0272-x86-Enable-RT-also-on-32bit.patch | 12 debian/patches-rt/0273-ARM-Allow-to-enable-RT.patch | 14 debian/patches-rt/0274-ARM64-Allow-to-enable-RT.patch | 10 debian/patches-rt/0275-powerpc-traps-Use-PREEMPT_RT.patch | 8 debian/patches-rt/0276-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch | 8 debian/patches-rt/0277-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch | 8 debian/patches-rt/0278-powerpc-stackprotector-work-around-stack-guard-init-.patch | 8 debian/patches-rt/0279-powerpc-Avoid-recursive-header-includes.patch | 8 debian/patches-rt/0280-POWERPC-Allow-to-enable-RT.patch | 8 debian/patches-rt/0281-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch | 8 debian/patches-rt/0282-tpm_tis-fix-stall-after-iowrite-s.patch | 8 debian/patches-rt/0283-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch | 14 debian/patches-rt/0284-signal-Prevent-double-free-of-user-struct.patch | 8 debian/patches-rt/0285-genirq-Disable-irqpoll-on-rt.patch | 8 debian/patches-rt/0286-sysfs-Add-sys-kernel-realtime-entry.patch | 8 debian/patches-rt/0287-Add-localversion-for-RT-release.patch | 8 debian/patches-rt/0288-net-xfrm-Use-sequence-counter-with-associated-spinlo.patch | 12 debian/patches-rt/0289-sched-Fix-migration_cpu_stop-requeueing.patch | 10 debian/patches-rt/0290-sched-Simplify-migration_cpu_stop.patch | 10 debian/patches-rt/0291-sched-Collate-affine_move_task-stoppers.patch | 10 debian/patches-rt/0292-sched-Optimize-migration_cpu_stop.patch | 10 debian/patches-rt/0293-sched-Fix-affine_move_task-self-concurrency.patch | 10 debian/patches-rt/0294-sched-Simplify-set_affinity_pending-refcounts.patch | 10 debian/patches-rt/0295-sched-Don-t-defer-CPU-pick-to-migration_cpu_stop.patch | 10 debian/patches-rt/0296-printk-Enhance-the-condition-check-of-msleep-in-pr_f.patch | 8 debian/patches-rt/0297-locking-rwsem-rt-Remove-might_sleep-in-__up_read.patch | 8 debian/patches-rt/0298-mm-zsmalloc-Convert-zsmalloc_handle.lock-to-spinlock.patch | 8 debian/patches-rt/0299-sched-Fix-get_push_task-vs-migrate_disable.patch | 10 debian/patches-rt/0300-sched-Switch-wait_task_inactive-to-HRTIMER_MODE_REL_.patch | 10 debian/patches-rt/0301-preempt-Move-preempt_enable_no_resched-to-the-RT-blo.patch | 8 debian/patches-rt/0302-mm-Disable-NUMA_BALANCING_DEFAULT_ENABLED-and-TRANSP.patch | 8 debian/patches-rt/0303-fscache-Use-only-one-fscache_object_cong_wait.patch | 8 debian/patches-rt/0304-fscache-Use-only-one-fscache_object_cong_wait.patch | 8 debian/patches-rt/0305-locking-Drop-might_resched-from-might_sleep_no_state.patch | 8 debian/patches-rt/0306-drm-i915-gt-Queue-and-wait-for-the-irq_work-item.patch | 8 debian/patches-rt/0307-irq_work-Allow-irq_work_sync-to-sleep-if-irq_work-no.patch | 8 debian/patches-rt/0308-irq_work-Handle-some-irq_work-in-a-per-CPU-thread-on.patch | 8 debian/patches-rt/0309-irq_work-Also-rcuwait-for-IRQ_WORK_HARD_IRQ-on-PREEM.patch | 8 debian/patches-rt/0310-eventfd-Make-signal-recursion-protection-a-task-bit.patch | 27 debian/patches-rt/0311-stop_machine-Remove-this_cpu_ptr-from-print_stop_inf.patch | 8 debian/patches-rt/0312-aio-Fix-incorrect-usage-of-eventfd_signal_allowed.patch | 8 debian/patches-rt/0313-rt-remove-extra-parameter-from-__trace_stack.patch | 8 debian/patches-rt/0314-locking-rtmutex-switch-to-EXPORT_SYMBOL-for-ww_mutex.patch | 8 debian/patches-rt/0315-ftrace-Fix-improper-usage-of-__trace_stack-function.patch | 8 debian/patches-rt/0316-rt-arm64-make-_TIF_WORK_MASK-bits-contiguous.patch | 8 debian/patches-rt/0317-printk-ignore-consoles-without-write-callback.patch | 8 debian/patches-rt/0318-kernel-fork-set-wake_q_sleeper.next-NULL-again-in-du.patch | 12 debian/patches-rt/0319-Revert-mm-page_alloc-fix-potential-deadlock-on-zonel.patch | 10 debian/patches-rt/0320-Revert-printk-declare-printk_deferred_-enter-safe-in.patch | 8 debian/patches-rt/0321-Linux-5.10.186-rt91-REBASE.patch | 21 debian/patches-rt/0321-arm64-signal-Use-ARCH_RT_DELAYS_SIGNAL_SEND.patch | 89 debian/patches-rt/0322-rt-mm-page_alloc-backport-missing-bits-from-__build_.patch | 49 debian/patches-rt/0323-Linux-5.10.204-rt100-REBASE.patch | 21 debian/patches-rt/series | 4 debian/patches/bugfix/all/ipv4-fix-null-deref-in-ipv4_link_failure.patch | 51 debian/patches/bugfix/all/netfilter-ipset-fix-race-between-ipset_cmd_create-an.patch | 64 debian/patches/bugfix/all/netfilter-nf_tables-adapt-set-backend-to-use-gc-tran.patch | 525 debian/patches/bugfix/all/netfilter-nf_tables-defer-gc-run-if-previous-batch-i.patch | 80 debian/patches/bugfix/all/netfilter-nf_tables-disallow-element-removal-on-anon.patch | 58 debian/patches/bugfix/all/netfilter-nf_tables-don-t-fail-inserts-if-duplicate-.patch | 104 debian/patches/bugfix/all/netfilter-nf_tables-don-t-skip-expired-elements-duri.patch | 140 debian/patches/bugfix/all/netfilter-nf_tables-double-hook-unregistration-in-ne.patch | 145 debian/patches/bugfix/all/netfilter-nf_tables-fix-gc-transaction-races-with-ne.patch | 91 debian/patches/bugfix/all/netfilter-nf_tables-fix-memleak-when-more-than-255-e.patch | 87 debian/patches/bugfix/all/netfilter-nf_tables-gc-transaction-api-to-avoid-race.patch | 528 debian/patches/bugfix/all/netfilter-nf_tables-gc-transaction-race-with-abort-p.patch | 41 debian/patches/bugfix/all/netfilter-nf_tables-gc-transaction-race-with-netns-d.patch | 42 debian/patches/bugfix/all/netfilter-nf_tables-integrate-pipapo-into-commit-pro.patch | 316 debian/patches/bugfix/all/netfilter-nf_tables-remove-busy-mark-and-gc-batch-ap.patch | 184 debian/patches/bugfix/all/netfilter-nf_tables-skip-set-commit-for-deleted-dest.patch | 33 debian/patches/bugfix/all/netfilter-nf_tables-unregister-flowtable-hooks-on-ne.patch | 90 debian/patches/bugfix/all/netfilter-nf_tables-use-correct-lock-to-protect-gc_l.patch | 38 debian/patches/bugfix/all/netfilter-nft_set_hash-mark-set-element-as-dead-when.patch | 49 debian/patches/bugfix/all/netfilter-nft_set_hash-try-later-when-gc-hits-eagain.patch | 42 debian/patches/bugfix/all/netfilter-nft_set_pipapo-stop-gc-iteration-if-gc-tra.patch | 37 debian/patches/bugfix/all/netfilter-nft_set_rbtree-skip-sync-gc-for-new-elemen.patch | 53 debian/patches/bugfix/all/netfilter-nft_set_rbtree-use-read-spinlock-to-avoid-.patch | 48 debian/patches/bugfix/mips/Revert-MIPS-Loongson64-Enable-DMA-noncoherent-suppor.patch | 93 debian/patches/features/arm64/arm64-compat-Implement-misalignment-fixups-for-multi.patch | 21 debian/patches/series | 24 debian/rules.gen | 598 debian/tests/control | 2 drivers/acpi/device_pm.c | 29 drivers/acpi/device_sysfs.c | 10 drivers/acpi/irq.c | 7 drivers/acpi/resource.c | 142 drivers/ata/ahci.c | 111 drivers/ata/ahci_brcm.c | 2 drivers/ata/ahci_xgene.c | 4 drivers/ata/libahci.c | 49 drivers/ata/libata-core.c | 41 drivers/ata/libata-eh.c | 15 drivers/ata/libata-sata.c | 2 drivers/ata/libata-scsi.c | 2 drivers/ata/libata-transport.c | 9 drivers/ata/libata.h | 2 drivers/ata/pata_isapnp.c | 3 drivers/atm/iphase.c | 20 drivers/atm/solos-pci.c | 8 drivers/base/core.c | 28 drivers/base/dd.c | 4 drivers/base/devcoredump.c | 86 drivers/base/driver.c | 69 drivers/base/platform.c | 28 drivers/base/regmap/regcache-rbtree.c | 3 drivers/base/regmap/regmap-debugfs.c | 2 drivers/base/regmap/regmap.c | 18 drivers/block/rbd.c | 414 drivers/bluetooth/btusb.c | 15 drivers/bluetooth/hci_vhci.c | 3 drivers/bus/ti-sysc.c | 31 drivers/char/agp/parisc-agp.c | 2 drivers/char/hw_random/geode-rng.c | 6 drivers/clk/clk-asm9260.c | 29 drivers/clk/clk-npcm7xx.c | 2 drivers/clk/clk-scmi.c | 1 drivers/clk/clk.c | 21 drivers/clk/imx/Kconfig | 1 drivers/clk/imx/clk-imx8mq.c | 17 drivers/clk/imx/clk-pll14xx.c | 2 drivers/clk/keystone/pll.c | 15 drivers/clk/mediatek/clk-mt2701.c | 8 drivers/clk/mediatek/clk-mt6765.c | 6 drivers/clk/mediatek/clk-mt6779.c | 4 drivers/clk/mediatek/clk-mt6797.c | 6 drivers/clk/mediatek/clk-mt7629-eth.c | 4 drivers/clk/mediatek/clk-mt7629.c | 6 drivers/clk/qcom/Kconfig | 1 drivers/clk/qcom/clk-rcg2.c | 14 drivers/clk/qcom/gcc-ipq6018.c | 6 drivers/clk/qcom/gcc-ipq8074.c | 6 drivers/clk/qcom/gcc-sm8150.c | 98 drivers/clk/qcom/mmcc-msm8998.c | 17 drivers/clk/tegra/clk-bpmp.c | 2 drivers/clk/ti/apll.c | 13 drivers/clk/ti/autoidle.c | 2 drivers/clk/ti/clk-dra7-atl.c | 6 drivers/clk/ti/clk.c | 52 drivers/clk/ti/clkctrl.c | 4 drivers/clk/ti/clock.h | 11 drivers/clk/ti/clockdomain.c | 2 drivers/clk/ti/composite.c | 6 drivers/clk/ti/divider.c | 12 drivers/clk/ti/dpll.c | 10 drivers/clk/ti/fapll.c | 11 drivers/clk/ti/fixed-factor.c | 4 drivers/clk/ti/gate.c | 8 drivers/clk/ti/interface.c | 9 drivers/clk/ti/mux.c | 8 drivers/clocksource/timer-atmel-tcb.c | 1 drivers/clocksource/timer-imx-gpt.c | 18 drivers/counter/microchip-tcb-capture.c | 2 drivers/cpufreq/cpufreq_stats.c | 14 drivers/cpufreq/imx6q-cpufreq.c | 32 drivers/crypto/caam/caamalg.c | 3 drivers/crypto/caam/caamalg_qi2.c | 3 drivers/crypto/hisilicon/hpre/hpre_main.c | 2 drivers/crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.c | 34 drivers/crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.h | 1 drivers/crypto/qat/qat_c3xxx/adf_drv.c | 6 drivers/crypto/qat/qat_c3xxxvf/adf_c3xxxvf_hw_data.c | 4 drivers/crypto/qat/qat_c3xxxvf/adf_drv.c | 4 drivers/crypto/qat/qat_c62x/adf_c62x_hw_data.c | 34 drivers/crypto/qat/qat_c62x/adf_c62x_hw_data.h | 1 drivers/crypto/qat/qat_c62x/adf_drv.c | 6 drivers/crypto/qat/qat_c62xvf/adf_c62xvf_hw_data.c | 4 drivers/crypto/qat/qat_c62xvf/adf_drv.c | 4 drivers/crypto/qat/qat_common/adf_accel_devices.h | 7 drivers/crypto/qat/qat_common/adf_transport_debug.c | 4 drivers/crypto/qat/qat_common/qat_hal.c | 27 drivers/crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.c | 20 drivers/crypto/qat/qat_dh895xcc/adf_drv.c | 4 drivers/crypto/qat/qat_dh895xccvf/adf_dh895xccvf_hw_data.c | 4 drivers/crypto/qat/qat_dh895xccvf/adf_drv.c | 4 drivers/devfreq/event/rockchip-dfi.c | 15 drivers/dma/mediatek/mtk-uart-apdma.c | 3 drivers/dma/pxa_dma.c | 1 drivers/dma/ste_dma40.c | 1 drivers/dma/stm32-mdma.c | 8 drivers/dma/ti/edma.c | 4 drivers/firewire/core-device.c | 11 drivers/firmware/qcom_scm.c | 7 drivers/firmware/ti_sci.c | 46 drivers/gpio/gpio-aspeed.c | 2 drivers/gpio/gpio-pmic-eic-sprd.c | 1 drivers/gpio/gpio-pxa.c | 1 drivers/gpio/gpio-tb10x.c | 6 drivers/gpio/gpio-timberdale.c | 5 drivers/gpio/gpio-vf610.c | 4 drivers/gpio/gpiolib-sysfs.c | 15 drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c | 5 drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c | 1 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 2 drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 6 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 10 drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 9 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 13 drivers/gpu/drm/amd/display/dc/core/dc.c | 9 drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 4 drivers/gpu/drm/amd/display/dmub/dmub_srv.h | 22 drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c | 32 drivers/gpu/drm/amd/include/pptable.h | 4 drivers/gpu/drm/amd/pm/amdgpu_pm.c | 8 drivers/gpu/drm/amd/pm/powerplay/hwmgr/pptable_v1_0.h | 16 drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c | 9 drivers/gpu/drm/bridge/tc358768.c | 25 drivers/gpu/drm/drm_connector.c | 79 drivers/gpu/drm/drm_crtc_internal.h | 2 drivers/gpu/drm/drm_dp_mst_topology.c | 6 drivers/gpu/drm/drm_panel_orientation_quirks.c | 16 drivers/gpu/drm/drm_syncobj.c | 3 drivers/gpu/drm/drm_sysfs.c | 87 drivers/gpu/drm/i915/gem/i915_gem_mman.c | 1 drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 8 drivers/gpu/drm/mediatek/mtk_drm_gem.c | 2 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 14 drivers/gpu/drm/msm/dp/dp_ctrl.c | 13 drivers/gpu/drm/msm/dp/dp_panel.c | 21 drivers/gpu/drm/msm/dsi/dsi_host.c | 12 drivers/gpu/drm/panel/panel-arm-versatile.c | 2 drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c | 7 drivers/gpu/drm/panel/panel-simple.c | 13 drivers/gpu/drm/panel/panel-sitronix-st7703.c | 25 drivers/gpu/drm/panel/panel-tpo-tpg110.c | 2 drivers/gpu/drm/radeon/evergreen.c | 7 drivers/gpu/drm/rockchip/cdn-dp-core.c | 17 drivers/gpu/drm/rockchip/rockchip_drm_gem.c | 2 drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 22 drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | 2 drivers/hid/hid-asus.c | 25 drivers/hid/hid-core.c | 16 drivers/hid/hid-cp2112.c | 9 drivers/hid/hid-debug.c | 3 drivers/hid/hid-glorious.c | 16 drivers/hid/hid-holtek-kbd.c | 4 drivers/hid/hid-ids.h | 12 drivers/hid/hid-lenovo.c | 69 drivers/hid/hid-logitech-hidpp.c | 79 drivers/hid/hid-multitouch.c | 9 drivers/hid/hid-quirks.c | 2 drivers/hwmon/acpi_power_meter.c | 4 drivers/hwmon/axi-fan-control.c | 101 drivers/hwmon/coretemp.c | 2 drivers/i2c/busses/i2c-aspeed.c | 3 drivers/i2c/busses/i2c-designware-common.c | 16 drivers/i2c/busses/i2c-designware-master.c | 19 drivers/i2c/busses/i2c-i801.c | 20 drivers/i2c/busses/i2c-npcm7xx.c | 17 drivers/i2c/busses/i2c-stm32f7.c | 9 drivers/i2c/busses/i2c-sun6i-p2wi.c | 5 drivers/i2c/i2c-core.h | 2 drivers/i2c/i2c-mux.c | 2 drivers/i2c/muxes/i2c-demux-pinctrl.c | 6 drivers/i2c/muxes/i2c-mux-gpmux.c | 2 drivers/i2c/muxes/i2c-mux-pinctrl.c | 2 drivers/i3c/master.c | 4 drivers/i3c/master/i3c-master-cdns.c | 6 drivers/iio/adc/exynos_adc.c | 26 drivers/iio/adc/xilinx-xadc-core.c | 179 drivers/iio/pressure/bmp280-core.c | 2 drivers/iio/pressure/dps310.c | 8 drivers/iio/pressure/ms5611_core.c | 2 drivers/infiniband/core/cma.c | 2 drivers/infiniband/core/cma_configfs.c | 2 drivers/infiniband/core/nldev.c | 1 drivers/infiniband/core/uverbs_main.c | 2 drivers/infiniband/hw/bnxt_re/main.c | 2 drivers/infiniband/hw/cxgb4/cm.c | 3 drivers/infiniband/hw/hfi1/efivar.c | 2 drivers/infiniband/hw/hfi1/pcie.c | 9 drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 2 drivers/infiniband/hw/hns/hns_roce_qp.c | 2 drivers/infiniband/hw/i40iw/i40iw_ctrl.c | 6 drivers/infiniband/hw/i40iw/i40iw_type.h | 2 drivers/infiniband/hw/i40iw/i40iw_verbs.c | 10 drivers/infiniband/hw/mlx4/sysfs.c | 2 drivers/infiniband/hw/mlx5/main.c | 2 drivers/infiniband/hw/mlx5/qp.c | 27 drivers/infiniband/sw/siw/siw_cm.c | 16 drivers/infiniband/ulp/rtrs/rtrs-clt.c | 2 drivers/infiniband/ulp/srp/ib_srp.c | 172 drivers/infiniband/ulp/srp/ib_srp.h | 2 drivers/input/joystick/xpad.c | 4 drivers/input/misc/powermate.c | 1 drivers/input/mouse/elantech.c | 1 drivers/input/mouse/synaptics.c | 2 drivers/input/rmi4/rmi_bus.c | 2 drivers/input/rmi4/rmi_smbus.c | 50 drivers/input/serio/i8042-acpipnpio.h | 1605 ++ drivers/input/serio/i8042-x86ia64io.h | 1590 -- drivers/input/serio/i8042.h | 2 drivers/input/touchscreen/goodix.c | 19 drivers/interconnect/qcom/bcm-voter.c | 5 drivers/interconnect/qcom/icc-rpmh.h | 2 drivers/interconnect/qcom/sc7180.c | 256 drivers/iommu/intel/iommu.c | 2 drivers/irqchip/irq-stm32-exti.c | 1 drivers/leds/leds-pwm.c | 2 drivers/leds/trigger/ledtrig-cpu.c | 4 drivers/mcb/mcb-core.c | 11 drivers/mcb/mcb-lpc.c | 35 drivers/mcb/mcb-parse.c | 19 drivers/md/bcache/bcache.h | 1 drivers/md/bcache/btree.c | 13 drivers/md/bcache/super.c | 4 drivers/md/bcache/sysfs.c | 2 drivers/md/bcache/writeback.c | 24 drivers/md/dm-delay.c | 17 drivers/md/dm-verity-fec.c | 3 drivers/md/dm-verity-target.c | 4 drivers/md/dm-verity.h | 6 drivers/md/dm-zoned-target.c | 15 drivers/media/i2c/max9286.c | 2 drivers/media/i2c/smiapp/smiapp-core.c | 2 drivers/media/pci/bt8xx/bttv-driver.c | 1 drivers/media/pci/cobalt/cobalt-driver.c | 11 drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c | 1 drivers/media/platform/qcom/camss/camss-vfe.c | 2 drivers/media/platform/qcom/venus/core.c | 12 drivers/media/platform/qcom/venus/core.h | 11 drivers/media/platform/qcom/venus/firmware.c | 28 drivers/media/platform/qcom/venus/hfi_msgs.c | 2 drivers/media/platform/qcom/venus/hfi_parser.c | 15 drivers/media/platform/qcom/venus/hfi_venus.c | 104 drivers/media/platform/qcom/venus/hfi_venus_io.h | 112 drivers/media/platform/qcom/venus/pm_helpers.c | 12 drivers/media/platform/s3c-camif/camif-capture.c | 6 drivers/media/rc/imon.c | 6 drivers/media/rc/ir-sharp-decoder.c | 8 drivers/media/rc/lirc_dev.c | 6 drivers/media/test-drivers/vidtv/vidtv_mux.c | 7 drivers/media/test-drivers/vidtv/vidtv_psi.c | 45 drivers/media/test-drivers/vivid/vivid-rds-gen.c | 2 drivers/media/usb/dvb-usb-v2/af9035.c | 13 drivers/media/usb/gspca/cpia1.c | 3 drivers/mfd/dln2.c | 1 drivers/mfd/mfd-core.c | 17 drivers/misc/fastrpc.c | 10 drivers/misc/mei/client.c | 4 drivers/misc/pci_endpoint_test.c | 16 drivers/misc/ti-st/st_core.c | 7 drivers/mmc/core/block.c | 2 drivers/mmc/core/core.c | 17 drivers/mmc/core/mmc_ops.c | 3 drivers/mmc/core/mmc_ops.h | 1 drivers/mmc/core/regulator.c | 41 drivers/mmc/core/sdio.c | 8 drivers/mmc/host/cqhci.c | 44 drivers/mmc/host/meson-gx-mmc.c | 1 drivers/mmc/host/renesas_sdhi_core.c | 44 drivers/mmc/host/sdhci-sprd.c | 25 drivers/mmc/host/sdhci_am654.c | 2 drivers/mmc/host/tmio_mmc.h | 3 drivers/mmc/host/tmio_mmc_core.c | 8 drivers/mmc/host/vub300.c | 1 drivers/mtd/chips/cfi_cmdset_0001.c | 20 drivers/mtd/maps/physmap-core.c | 11 drivers/mtd/nand/raw/arasan-nand-controller.c | 16 drivers/mtd/nand/raw/marvell_nand.c | 23 drivers/mtd/nand/raw/qcom_nandc.c | 2 drivers/mtd/nand/spi/micron.c | 2 drivers/mtd/ubi/build.c | 7 drivers/net/arcnet/arcdevice.h | 2 drivers/net/arcnet/com20020-pci.c | 115 drivers/net/bonding/bond_main.c | 6 drivers/net/can/dev/dev.c | 10 drivers/net/dsa/bcm_sf2.c | 24 drivers/net/dsa/lan9303_mdio.c | 4 drivers/net/dsa/mv88e6xxx/chip.c | 6 drivers/net/dsa/mv88e6xxx/global1.c | 31 drivers/net/dsa/mv88e6xxx/global1.h | 1 drivers/net/dsa/mv88e6xxx/global2.c | 2 drivers/net/dsa/mv88e6xxx/global2.h | 1 drivers/net/ethernet/amazon/ena/ena_eth_com.c | 3 drivers/net/ethernet/amazon/ena/ena_netdev.c | 13 drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 14 drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c | 11 drivers/net/ethernet/amd/xgbe/xgbe-mdio.c | 14 drivers/net/ethernet/aquantia/atlantic/aq_ring.c | 5 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 3 drivers/net/ethernet/broadcom/bnxt/bnxt.c | 5 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c | 1 drivers/net/ethernet/broadcom/tg3.c | 45 drivers/net/ethernet/broadcom/tg3.h | 4 drivers/net/ethernet/chelsio/cxgb4/t4_hw.c | 2 drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c | 2 drivers/net/ethernet/cortina/gemini.c | 45 drivers/net/ethernet/cortina/gemini.h | 4 drivers/net/ethernet/emulex/benet/be_main.c | 2 drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c | 8 drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h | 2 drivers/net/ethernet/freescale/fec_main.c | 27 drivers/net/ethernet/google/gve/gve_main.c | 2 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c | 29 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 4 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 7 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 14 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h | 1 drivers/net/ethernet/intel/i40e/i40e_common.c | 4 drivers/net/ethernet/intel/i40e/i40e_main.c | 12 drivers/net/ethernet/intel/i40e/i40e_txrx.c | 4 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 7 drivers/net/ethernet/intel/ice/ice_lib.c | 3 drivers/net/ethernet/intel/ice/ice_main.c | 15 drivers/net/ethernet/intel/igb/igb_ethtool.c | 6 drivers/net/ethernet/intel/igc/igc_ethtool.c | 35 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 2 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 5 drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c | 6 drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c | 7 drivers/net/ethernet/marvell/sky2.h | 2 drivers/net/ethernet/mellanox/mlx5/core/devlink.c | 2 drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c | 2 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c | 10 drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c | 4 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 13 drivers/net/ethernet/mellanox/mlx5/core/ipoib/ethtool.c | 2 drivers/net/ethernet/mellanox/mlx5/core/main.c | 10 drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h | 3 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c | 2 drivers/net/ethernet/mellanox/mlxsw/spectrum_nve_vxlan.c | 4 drivers/net/ethernet/pensando/ionic/ionic_dev.h | 2 drivers/net/ethernet/pensando/ionic/ionic_lif.c | 16 drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c | 2 drivers/net/ethernet/qlogic/qed/qed_cxt.c | 1 drivers/net/ethernet/qlogic/qed/qed_ll2.c | 7 drivers/net/ethernet/qlogic/qed/qed_ll2.h | 2 drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c | 4 drivers/net/ethernet/qualcomm/qca_debug.c | 17 drivers/net/ethernet/qualcomm/qca_spi.c | 20 drivers/net/ethernet/realtek/r8169_main.c | 43 drivers/net/ethernet/renesas/ravb_main.c | 26 drivers/net/ethernet/sfc/tx_tso.c | 2 drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c | 7 drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h | 2 drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c | 14 drivers/net/ethernet/stmicro/stmmac/mmc_core.c | 4 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 15 drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c | 8 drivers/net/ethernet/ti/am65-cpsw-nuss.c | 1 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c | 2 drivers/net/ethernet/toshiba/spider_net.c | 2 drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 2 drivers/net/gtp.c | 5 drivers/net/hyperv/Kconfig | 1 drivers/net/hyperv/netvsc_drv.c | 66 drivers/net/ieee802154/adf7242.c | 5 drivers/net/ieee802154/ca8210.c | 17 drivers/net/ipvlan/ipvlan_core.c | 47 drivers/net/ipvlan/ipvlan_main.c | 1 drivers/net/macsec.c | 8 drivers/net/macvlan.c | 2 drivers/net/phy/mscc/mscc_macsec.c | 6 drivers/net/phy/phylink.c | 1 drivers/net/ppp/ppp_synctty.c | 6 drivers/net/team/team.c | 14 drivers/net/thunderbolt.c | 3 drivers/net/tun.c | 7 drivers/net/usb/aqc111.c | 8 drivers/net/usb/ax88179_178a.c | 4 drivers/net/usb/dm9601.c | 7 drivers/net/usb/qmi_wwan.c | 1 drivers/net/usb/r8152.c | 11 drivers/net/usb/smsc75xx.c | 4 drivers/net/usb/smsc95xx.c | 6 drivers/net/wan/fsl_ucc_hdlc.c | 12 drivers/net/wireguard/device.c | 4 drivers/net/wireguard/receive.c | 12 drivers/net/wireguard/send.c | 3 drivers/net/wireless/ath/ath10k/debug.c | 2 drivers/net/wireless/ath/ath10k/snoc.c | 18 drivers/net/wireless/ath/ath11k/dp_rx.c | 8 drivers/net/wireless/ath/ath11k/wmi.c | 12 drivers/net/wireless/ath/ath9k/debug.c | 2 drivers/net/wireless/ath/ath9k/htc_drv_debug.c | 2 drivers/net/wireless/intel/iwlwifi/fw/error-dump.h | 6 drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 14 drivers/net/wireless/mac80211_hwsim.c | 2 drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c | 4 drivers/net/wireless/marvell/mwifiex/sta_rx.c | 16 drivers/net/wireless/mediatek/mt76/mt7603/core.c | 2 drivers/net/wireless/mediatek/mt76/mt7603/mac.c | 23 drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.c | 7 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c | 13 drivers/net/wireless/realtek/rtlwifi/rtl8188ee/dm.c | 2 drivers/net/wireless/realtek/rtlwifi/rtl8192c/dm_common.c | 2 drivers/net/wireless/realtek/rtlwifi/rtl8723ae/dm.c | 2 drivers/net/wireless/realtek/rtw88/debug.c | 4 drivers/net/xen-netback/interface.c | 3 drivers/nvdimm/of_pmem.c | 8 drivers/nvdimm/region_devs.c | 8 drivers/nvme/host/pci.c | 152 drivers/nvme/host/rdma.c | 3 drivers/nvme/target/core.c | 21 drivers/nvme/target/fabrics-cmd.c | 15 drivers/nvme/target/nvmet.h | 5 drivers/nvme/target/tcp.c | 7 drivers/nvmem/imx-ocotp.c | 6 drivers/of/base.c | 332 drivers/of/dynamic.c | 28 drivers/of/fdt.c | 17 drivers/of/irq.c | 14 drivers/of/overlay.c | 16 drivers/of/platform.c | 10 drivers/of/property.c | 66 drivers/parisc/iosapic.c | 4 drivers/parisc/iosapic_private.h | 4 drivers/parport/parport_pc.c | 21 drivers/pci/controller/dwc/pci-exynos.c | 4 drivers/pci/controller/dwc/pci-keystone.c | 16 drivers/pci/controller/dwc/pcie-qcom.c | 2 drivers/pci/controller/dwc/pcie-tegra194.c | 9 drivers/pci/controller/pci-loongson.c | 46 drivers/pci/hotplug/acpiphp_glue.c | 9 drivers/pci/pci-acpi.c | 2 drivers/pci/pci-sysfs.c | 5 drivers/pci/pcie/aspm.c | 2 drivers/pci/quirks.c | 8 drivers/pcmcia/cs.c | 1 drivers/pcmcia/ds.c | 14 drivers/perf/arm-cmn.c | 2 drivers/phy/motorola/phy-mapphone-mdm6600.c | 38 drivers/pinctrl/core.c | 6 drivers/pinctrl/renesas/Kconfig | 1 drivers/platform/mellanox/Kconfig | 1 drivers/platform/mellanox/mlxbf-bootctl.c | 41 drivers/platform/mellanox/mlxbf-tmfifo.c | 21 drivers/platform/x86/Kconfig | 2 drivers/platform/x86/asus-nb-wmi.c | 60 drivers/platform/x86/asus-wmi.c | 194 drivers/platform/x86/asus-wmi.h | 11 drivers/platform/x86/intel_scu_ipc.c | 66 drivers/platform/x86/intel_telemetry_core.c | 4 drivers/platform/x86/thinkpad_acpi.c | 1 drivers/platform/x86/touchscreen_dmi.c | 23 drivers/platform/x86/wmi.c | 50 drivers/power/supply/ucs1002_power.c | 3 drivers/ptp/ptp_chardev.c | 3 drivers/ptp/ptp_clock.c | 5 drivers/ptp/ptp_private.h | 8 drivers/ptp/ptp_sysfs.c | 3 drivers/pwm/pwm-brcmstb.c | 4 drivers/pwm/pwm-sti.c | 75 drivers/regulator/core.c | 6 drivers/rpmsg/qcom_glink_native.c | 2 drivers/rpmsg/rpmsg_core.c | 37 drivers/rpmsg/rpmsg_internal.h | 5 drivers/rtc/rtc-pcf85363.c | 2 drivers/s390/block/dasd.c | 24 drivers/s390/scsi/zfcp_aux.c | 9 drivers/scsi/be2iscsi/be_main.c | 1 drivers/scsi/libfc/fc_lport.c | 6 drivers/scsi/megaraid/megaraid_sas_base.c | 4 drivers/scsi/mpt3sas/mpt3sas_base.c | 4 drivers/scsi/mpt3sas/mpt3sas_scsih.c | 4 drivers/scsi/pm8001/pm8001_hwi.c | 2 drivers/scsi/pm8001/pm80xx_hwi.c | 4 drivers/scsi/qedf/qedf_io.c | 10 drivers/scsi/qedf/qedf_main.c | 7 drivers/scsi/qla2xxx/qla_os.c | 14 drivers/scsi/ufs/ufshcd.c | 2 drivers/soc/qcom/llcc-qcom.c | 3 drivers/soundwire/stream.c | 7 drivers/spi/Kconfig | 1 drivers/spi/spi-npcm-fiu.c | 5 drivers/spi/spi-nxp-fspi.c | 9 drivers/staging/gdm724x/gdm_lte.c | 4 drivers/staging/media/sunxi/cedrus/cedrus_hw.c | 24 drivers/target/target_core_device.c | 11 drivers/tee/amdtee/core.c | 10 drivers/tee/optee/device.c | 17 drivers/thermal/thermal_core.c | 6 drivers/thunderbolt/icm.c | 38 drivers/thunderbolt/switch.c | 7 drivers/tty/hvc/hvc_xen.c | 37 drivers/tty/n_gsm.c | 135 drivers/tty/serial/8250/8250_early.c | 1 drivers/tty/serial/8250/8250_omap.c | 107 drivers/tty/serial/8250/8250_pci.c | 122 drivers/tty/serial/8250/8250_port.c | 5 drivers/tty/serial/amba-pl011.c | 112 drivers/tty/serial/meson_uart.c | 33 drivers/tty/serial/sc16is7xx.c | 12 drivers/tty/sysrq.c | 3 drivers/tty/tty_jobctrl.c | 17 drivers/tty/vcc.c | 16 drivers/usb/core/config.c | 85 drivers/usb/core/hcd.c | 6 drivers/usb/core/hub.c | 119 drivers/usb/core/hub.h | 2 drivers/usb/core/sysfs.c | 24 drivers/usb/dwc2/hcd.c | 2 drivers/usb/dwc2/hcd_intr.c | 15 drivers/usb/dwc3/core.c | 41 drivers/usb/dwc3/drd.c | 2 drivers/usb/dwc3/dwc3-qcom.c | 52 drivers/usb/gadget/function/f_hid.c | 7 drivers/usb/gadget/function/f_ncm.c | 53 drivers/usb/gadget/legacy/raw_gadget.c | 26 drivers/usb/gadget/udc/core.c | 4 drivers/usb/gadget/udc/udc-xilinx.c | 20 drivers/usb/host/xhci-hub.c | 228 drivers/usb/host/xhci-mem.c | 10 drivers/usb/host/xhci-pci.c | 4 drivers/usb/host/xhci-plat.c | 23 drivers/usb/host/xhci-ring.c | 125 drivers/usb/host/xhci.h | 9 drivers/usb/musb/musb_debugfs.c | 2 drivers/usb/musb/musb_host.c | 9 drivers/usb/serial/option.c | 14 drivers/usb/storage/unusual_cypress.h | 2 drivers/usb/typec/altmodes/Kconfig | 1 drivers/usb/typec/altmodes/displayport.c | 28 drivers/usb/typec/class.c | 5 drivers/usb/usbip/stub_dev.c | 9 drivers/video/fbdev/Kconfig | 2 drivers/video/fbdev/aty/atyfb_base.c | 4 drivers/video/fbdev/fsl-diu-fb.c | 2 drivers/video/fbdev/imsttfb.c | 33 drivers/video/fbdev/sticore.h | 2 drivers/video/fbdev/uvesafb.c | 2 drivers/virtio/virtio_balloon.c | 6 drivers/virtio/virtio_mmio.c | 19 drivers/watchdog/iTCO_wdt.c | 26 drivers/xen/events/events_base.c | 91 drivers/xen/swiotlb-xen.c | 1 drivers/xen/xen-pciback/conf_space.c | 19 drivers/xen/xen-pciback/conf_space_capability.c | 8 drivers/xen/xen-pciback/conf_space_header.c | 21 fs/afs/dynroot.c | 4 fs/afs/internal.h | 1 fs/afs/rxrpc.c | 2 fs/afs/server_list.c | 2 fs/afs/super.c | 2 fs/afs/vl_rotate.c | 10 fs/binfmt_elf_fdpic.c | 5 fs/btrfs/delalloc-space.c | 3 fs/btrfs/extent-tree.c | 6 fs/btrfs/extent_io.c | 8 fs/btrfs/ioctl.c | 14 fs/btrfs/ref-verify.c | 2 fs/btrfs/send.c | 2 fs/btrfs/super.c | 2 fs/btrfs/tree-log.c | 2 fs/btrfs/volumes.c | 9 fs/ceph/file.c | 2 fs/ceph/inode.c | 4 fs/cifs/cifs_spnego.c | 4 fs/cifs/cifsfs.c | 5 fs/cifs/smb2ops.c | 2 fs/cifs/smb2transport.c | 5 fs/cifs/smbdirect.c | 14 fs/cifs/xattr.c | 5 fs/exfat/namei.c | 29 fs/ext4/acl.h | 5 fs/ext4/ext4.h | 2 fs/ext4/extents.c | 10 fs/ext4/extents_status.c | 310 fs/ext4/mballoc.c | 193 fs/ext4/mballoc.h | 14 fs/ext4/resize.c | 19 fs/f2fs/compress.c | 2 fs/f2fs/file.c | 1 fs/f2fs/gc.c | 3 fs/fuse/dax.c | 1 fs/gfs2/inode.c | 14 fs/gfs2/quota.c | 11 fs/gfs2/super.c | 2 fs/inode.c | 16 fs/jbd2/recovery.c | 8 fs/jfs/jfs_dmap.c | 23 fs/jfs/jfs_imap.c | 5 fs/nfs/direct.c | 8 fs/nfs/flexfilelayout/flexfilelayout.c | 1 fs/nfs/nfs4proc.c | 9 fs/nfs/nfs4state.c | 47 fs/nfs/pnfs.c | 33 fs/nfs/sysfs.c | 16 fs/nfs/write.c | 23 fs/nfsd/nfs4state.c | 2 fs/nfsd/vfs.c | 12 fs/nilfs2/gcinode.c | 6 fs/nilfs2/sufile.c | 42 fs/nilfs2/the_nilfs.c | 6 fs/overlayfs/copy_up.c | 2 fs/overlayfs/super.c | 2 fs/proc/proc_sysctl.c | 1 fs/proc/task_nommu.c | 27 fs/pstore/platform.c | 9 fs/quota/dquot.c | 80 include/asm-generic/qspinlock.h | 2 include/drm/drm_connector.h | 25 include/linux/acpi.h | 5 include/linux/bpf.h | 2 include/linux/btf_ids.h | 2 include/linux/cgroup.h | 3 include/linux/clk-provider.h | 34 include/linux/cpuhotplug.h | 2 include/linux/cred.h | 8 include/linux/device.h | 37 include/linux/device/driver.h | 2 include/linux/fs.h | 45 include/linux/hid.h | 5 include/linux/hrtimer.h | 4 include/linux/idr.h | 6 include/linux/if_team.h | 2 include/linux/if_vlan.h | 12 include/linux/ioport.h | 7 include/linux/ipv6.h | 1 include/linux/kasan.h | 6 include/linux/libata.h | 4 include/linux/lsm_hook_defs.h | 4 include/linux/mcb.h | 1 include/linux/mfd/core.h | 2 include/linux/mlx5/driver.h | 2 include/linux/mmc/host.h | 3 include/linux/netdevice.h | 3 include/linux/netfilter/nf_conntrack_sctp.h | 1 include/linux/nfs_page.h | 4 include/linux/of.h | 63 include/linux/overflow.h | 110 include/linux/padata.h | 3 include/linux/pci_ids.h | 1 include/linux/perf_event.h | 3 include/linux/platform_data/x86/asus-wmi.h | 5 include/linux/platform_data/x86/soc.h | 65 include/linux/platform_device.h | 6 include/linux/pwm.h | 4 include/linux/quota.h | 4 include/linux/quotaops.h | 2 include/linux/rpmsg.h | 14 include/linux/seqlock.h | 104 include/linux/sunrpc/clnt.h | 1 include/linux/trace_events.h | 4 include/linux/usb.h | 9 include/linux/workqueue.h | 1 include/net/addrconf.h | 12 include/net/bluetooth/hci_core.h | 2 include/net/bluetooth/hci_mon.h | 2 include/net/flow.h | 2 include/net/genetlink.h | 3 include/net/if_inet6.h | 4 include/net/ip_fib.h | 1 include/net/macsec.h | 1 include/net/netfilter/ipv4/nf_reject.h | 4 include/net/netfilter/ipv6/nf_reject.h | 5 include/net/netfilter/nf_nat_redirect.h | 3 include/net/netfilter/nf_tables.h | 139 include/net/netns/xfrm.h | 1 include/net/sock.h | 26 include/net/tcp.h | 11 include/scsi/scsi_cmnd.h | 6 include/sound/soc-card.h | 37 include/sound/soc.h | 11 include/trace/events/neigh.h | 4 include/uapi/linux/bpf.h | 4 include/uapi/linux/can/isotp.h | 25 include/uapi/linux/gtp.h | 2 include/uapi/linux/ipv6.h | 7 include/uapi/linux/netfilter/nf_tables.h | 3 include/uapi/linux/perf_event.h | 5 io_uring/io_uring.c | 75 kernel/audit_watch.c | 9 kernel/bpf/core.c | 6 kernel/bpf/queue_stack_maps.c | 21 kernel/bpf/verifier.c | 9 kernel/cgroup/cgroup-v1.c | 5 kernel/cpu.c | 8 kernel/cred.c | 64 kernel/debug/debug_core.c | 3 kernel/dma/debug.c | 20 kernel/events/core.c | 128 kernel/events/ring_buffer.c | 11 kernel/futex/core.c | 12 kernel/irq/generic-chip.c | 25 kernel/irq/matrix.c | 6 kernel/livepatch/core.c | 2 kernel/locking/lockdep.c | 3 kernel/locking/test-ww_mutex.c | 20 kernel/padata.c | 16 kernel/power/snapshot.c | 16 kernel/rcu/tree.c | 9 kernel/reboot.c | 1 kernel/sched/cpuacct.c | 84 kernel/sched/fair.c | 18 kernel/time/hrtimer.c | 33 kernel/trace/ring_buffer.c | 79 kernel/trace/trace.c | 219 kernel/trace/trace.h | 5 kernel/trace/trace_events.c | 50 kernel/trace/trace_events_filter.c | 3 kernel/trace/trace_events_inject.c | 3 kernel/trace/trace_kprobe.c | 6 kernel/watchdog.c | 7 kernel/workqueue.c | 17 lib/Kconfig.debug | 5 lib/errname.c | 6 lib/kobject.c | 12 lib/test_meminit.c | 2 lib/test_overflow.c | 98 mm/cma.c | 2 mm/frame_vector.c | 6 mm/kasan/report.c | 4 mm/memcontrol.c | 3 mm/memory_hotplug.c | 18 mm/page_alloc.c | 2 mm/readahead.c | 3 net/9p/trans_fd.c | 13 net/appletalk/ddp.c | 9 net/atm/ioctl.c | 7 net/batman-adv/soft-interface.c | 2 net/bluetooth/hci_conn.c | 78 net/bluetooth/hci_core.c | 8 net/bluetooth/hci_event.c | 33 net/bluetooth/hci_sock.c | 3 net/bluetooth/hci_sysfs.c | 23 net/bridge/br_forward.c | 4 net/bridge/br_input.c | 4 net/bridge/netfilter/nf_conntrack_bridge.c | 2 net/can/isotp.c | 442 net/ceph/messenger.c | 4 net/core/drop_monitor.c | 4 net/core/filter.c | 19 net/core/neighbour.c | 71 net/core/pktgen.c | 14 net/core/scm.c | 6 net/core/sock.c | 2 net/dccp/ipv4.c | 15 net/dccp/ipv6.c | 15 net/hsr/hsr_forward.c | 4 net/ipv4/esp4.c | 4 net/ipv4/fib_semantics.c | 15 net/ipv4/fib_trie.c | 4 net/ipv4/igmp.c | 6 net/ipv4/ip_gre.c | 11 net/ipv4/netfilter/ipt_REJECT.c | 3 net/ipv4/netfilter/nf_reject_ipv4.c | 6 net/ipv4/netfilter/nft_reject_ipv4.c | 3 net/ipv4/route.c | 6 net/ipv4/syncookies.c | 20 net/ipv4/tcp_input.c | 37 net/ipv4/tcp_ipv4.c | 1 net/ipv4/tcp_metrics.c | 15 net/ipv4/tcp_output.c | 40 net/ipv4/tcp_recovery.c | 2 net/ipv4/udp.c | 6 net/ipv6/addrconf.c | 19 net/ipv6/esp6.c | 4 net/ipv6/ip6_fib.c | 6 net/ipv6/ip6_output.c | 8 net/ipv6/ndisc.c | 13 net/ipv6/netfilter/ip6t_REJECT.c | 2 net/ipv6/netfilter/nf_reject_ipv6.c | 5 net/ipv6/netfilter/nft_reject_ipv6.c | 3 net/ipv6/syncookies.c | 7 net/ipv6/xfrm6_policy.c | 4 net/l2tp/l2tp_ip6.c | 2 net/llc/llc_input.c | 10 net/llc/llc_s_ac.c | 3 net/llc/llc_station.c | 3 net/mac80211/cfg.c | 4 net/mac80211/tx.c | 3 net/netfilter/ipset/ip_set_core.c | 26 net/netfilter/ipvs/ip_vs_sync.c | 8 net/netfilter/nf_conntrack_proto_sctp.c | 43 net/netfilter/nf_nat_redirect.c | 98 net/netfilter/nf_tables_api.c | 498 net/netfilter/nf_tables_core.c | 2 net/netfilter/nf_tables_trace.c | 6 net/netfilter/nfnetlink_log.c | 2 net/netfilter/nft_exthdr.c | 195 net/netfilter/nft_fib.c | 8 net/netfilter/nft_flow_offload.c | 2 net/netfilter/nft_payload.c | 12 net/netfilter/nft_redir.c | 84 net/netfilter/nft_reject_inet.c | 6 net/netfilter/nft_set_hash.c | 85 net/netfilter/nft_set_pipapo.c | 116 net/netfilter/nft_set_rbtree.c | 203 net/netfilter/nft_synproxy.c | 4 net/netfilter/nft_tproxy.c | 4 net/netfilter/xt_REDIRECT.c | 10 net/netfilter/xt_owner.c | 16 net/netfilter/xt_recent.c | 2 net/netlink/af_netlink.c | 4 net/netlink/genetlink.c | 35 net/nfc/llcp_core.c | 32 net/nfc/nci/core.c | 5 net/nfc/nci/spi.c | 2 net/packet/af_packet.c | 16 net/packet/internal.h | 2 net/psample/psample.c | 3 net/rds/rdma_transport.c | 8 net/rds/tcp_connect.c | 4 net/rds/tcp_listen.c | 2 net/rfkill/rfkill-gpio.c | 4 net/rose/af_rose.c | 4 net/sched/cls_u32.c | 2 net/sched/sch_hfsc.c | 18 net/sctp/associola.c | 3 net/sctp/socket.c | 1 net/smc/af_smc.c | 12 net/smc/smc.h | 5 net/smc/smc_cdc.c | 11 net/smc/smc_close.c | 5 net/socket.c | 35 net/sunrpc/clnt.c | 11 net/sunrpc/rpcb_clnt.c | 4 net/tipc/crypto.c | 4 net/tipc/link.c | 4 net/tipc/netlink.c | 4 net/tipc/netlink_compat.c | 1 net/vmw_vsock/virtio_transport_common.c | 2 net/wireless/nl80211.c | 2 net/wireless/scan.c | 4 net/xfrm/xfrm_interface_core.c | 22 net/xfrm/xfrm_policy.c | 6 scripts/checkstack.pl | 8 scripts/dtc/include-prefixes/arm/am335x-guardian.dts | 9 scripts/dtc/include-prefixes/arm/am3517-evm.dts | 2 scripts/dtc/include-prefixes/arm/imx7s.dtsi | 8 scripts/dtc/include-prefixes/arm/logicpd-torpedo-baseboard.dtsi | 2 scripts/dtc/include-prefixes/arm/motorola-mapphone-common.dtsi | 34 scripts/dtc/include-prefixes/arm/omap-gpmc-smsc911x.dtsi | 6 scripts/dtc/include-prefixes/arm/omap-gpmc-smsc9221.dtsi | 6 scripts/dtc/include-prefixes/arm/omap3-cm-t3517.dts | 12 scripts/dtc/include-prefixes/arm/omap3-cpu-thermal.dtsi | 3 scripts/dtc/include-prefixes/arm/omap3-gta04.dtsi | 8 scripts/dtc/include-prefixes/arm/omap3-ldp.dts | 2 scripts/dtc/include-prefixes/arm/omap3-n900.dts | 40 scripts/dtc/include-prefixes/arm/omap3-zoom3.dts | 44 scripts/dtc/include-prefixes/arm/omap4-cpu-thermal.dtsi | 29 scripts/dtc/include-prefixes/arm/omap443x.dtsi | 1 scripts/dtc/include-prefixes/arm/omap4460.dtsi | 1 scripts/dtc/include-prefixes/arm/omap5-cm-t54.dts | 58 scripts/dtc/include-prefixes/arm/qcom-mdm9615.dtsi | 14 scripts/dtc/include-prefixes/arm64/mediatek/mt7622-bananapi-bpi-r64.dts | 2 scripts/dtc/include-prefixes/arm64/mediatek/mt7622-rfb1.dts | 2 scripts/dtc/include-prefixes/arm64/mediatek/mt8173-evb.dts | 4 scripts/dtc/include-prefixes/arm64/mediatek/mt8183-evb.dts | 2 scripts/dtc/include-prefixes/arm64/mediatek/mt8183-kukui.dtsi | 2 scripts/dtc/include-prefixes/arm64/qcom/ipq6018.dtsi | 15 scripts/dtc/include-prefixes/arm64/qcom/msm8916.dtsi | 2 scripts/dtc/include-prefixes/arm64/qcom/sdm845-mtp.dts | 2 scripts/dtc/include-prefixes/arm64/rockchip/rk3399.dtsi | 6 scripts/gcc-plugins/randomize_layout_plugin.c | 11 scripts/kconfig/symbol.c | 14 scripts/mod/file2alias.c | 12 scripts/sign-file.c | 12 security/integrity/iint.c | 48 security/integrity/ima/Kconfig | 21 security/integrity/ima/ima_api.c | 5 security/integrity/ima/ima_main.c | 16 security/integrity/integrity.h | 2 security/smack/smack.h | 1 security/smack/smack_lsm.c | 65 sound/core/info.c | 21 sound/core/pcm.c | 1 sound/hda/hdac_stream.c | 6 sound/hda/intel-dsp-config.c | 6 sound/pci/hda/hda_intel.c | 3 sound/pci/hda/patch_hdmi.c | 2 sound/pci/hda/patch_realtek.c | 34 sound/soc/codecs/rt5645.c | 2 sound/soc/codecs/wm_adsp.c | 8 sound/soc/fsl/fsl_easrc.c | 8 sound/soc/fsl/imx-audmix.c | 2 sound/soc/fsl/mpc5200_dma.c | 3 sound/soc/generic/simple-card.c | 6 sound/soc/intel/common/soc-intel-quirks.h | 51 sound/soc/intel/skylake/skl-sst-utils.c | 1 sound/soc/meson/axg-spdifin.c | 49 sound/soc/pxa/pxa-ssp.c | 2 sound/soc/sof/sof-pci-dev.c | 62 sound/soc/ti/ams-delta.c | 4 sound/soc/ti/omap-mcbsp.c | 6 tools/arch/parisc/include/uapi/asm/errno.h | 2 tools/iio/iio_generic_buffer.c | 59 tools/include/linux/btf_ids.h | 2 tools/include/uapi/linux/bpf.h | 4 tools/include/uapi/linux/perf_event.h | 5 tools/objtool/check.c | 2 tools/perf/util/Build | 6 tools/perf/util/hist.c | 10 tools/perf/util/machine.c | 22 tools/power/cpupower/Makefile | 8 tools/power/cpupower/bench/Makefile | 2 tools/power/x86/turbostat/turbostat.c | 2 tools/testing/selftests/efivarfs/create-read.c | 2 tools/testing/selftests/ftrace/test.d/instances/instance-event.tc | 2 tools/testing/selftests/ftrace/test.d/kprobe/kprobe_non_uniq_symbol.tc | 13 tools/testing/selftests/kselftest_deps.sh | 77 tools/testing/selftests/net/ipsec.c | 4 tools/testing/selftests/net/mptcp/mptcp_connect.c | 11 tools/testing/selftests/net/tls.c | 11 tools/testing/selftests/pidfd/pidfd_fdinfo_test.c | 2 tools/testing/selftests/pidfd/pidfd_test.c | 12 tools/testing/selftests/resctrl/resctrl_tests.c | 5 tools/testing/selftests/vm/charge_reserved_hugetlb.sh | 34 tools/testing/selftests/vm/hugetlb_reparenting_test.sh | 21 tools/testing/selftests/vm/write_hugetlb_memory.sh | 2 1997 files changed, 25517 insertions(+), 21572 deletions(-) diff -Nru linux-5.10.197/Documentation/ABI/testing/sysfs-bus-optee-devices linux-5.10.205/Documentation/ABI/testing/sysfs-bus-optee-devices --- linux-5.10.197/Documentation/ABI/testing/sysfs-bus-optee-devices 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/Documentation/ABI/testing/sysfs-bus-optee-devices 2023-12-20 14:44:42.000000000 +0000 @@ -6,3 +6,12 @@ OP-TEE bus provides reference to registered drivers under this directory. The matches Trusted Application (TA) driver and corresponding TA in secure OS. Drivers are free to create needed API under optee-ta- directory. + +What: /sys/bus/tee/devices/optee-ta-/need_supplicant +Date: November 2023 +KernelVersion: 6.7 +Contact: op-tee@lists.trustedfirmware.org +Description: + Allows to distinguish whether an OP-TEE based TA/device requires user-space + tee-supplicant to function properly or not. This attribute will be present for + devices which depend on tee-supplicant to be running. diff -Nru linux-5.10.197/Documentation/ABI/testing/sysfs-bus-usb linux-5.10.205/Documentation/ABI/testing/sysfs-bus-usb --- linux-5.10.197/Documentation/ABI/testing/sysfs-bus-usb 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/Documentation/ABI/testing/sysfs-bus-usb 2023-12-20 14:44:42.000000000 +0000 @@ -154,17 +154,6 @@ files hold a string value (enable or disable) indicating whether or not USB3 hardware LPM U1 or U2 is enabled for the device. -What: /sys/bus/usb/devices/.../removable -Date: February 2012 -Contact: Matthew Garrett -Description: - Some information about whether a given USB device is - physically fixed to the platform can be inferred from a - combination of hub descriptor bits and platform-specific data - such as ACPI. This file will read either "removable" or - "fixed" if the information is available, and "unknown" - otherwise. - What: /sys/bus/usb/devices/.../ltm_capable Date: July 2012 Contact: Sarah Sharp diff -Nru linux-5.10.197/Documentation/ABI/testing/sysfs-devices-removable linux-5.10.205/Documentation/ABI/testing/sysfs-devices-removable --- linux-5.10.197/Documentation/ABI/testing/sysfs-devices-removable 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/Documentation/ABI/testing/sysfs-devices-removable 2023-12-20 14:44:42.000000000 +0000 @@ -0,0 +1,17 @@ +What: /sys/devices/.../removable +Date: May 2021 +Contact: Rajat Jain +Description: + Information about whether a given device can be removed from the + platform by the user. This is determined by its subsystem in a + bus / platform-specific way. This attribute is only present for + devices that can support determining such information: + + "removable": device can be removed from the platform by the user + "fixed": device is fixed to the platform / cannot be removed + by the user. + "unknown": The information is unavailable / cannot be deduced. + + Currently this is only supported by USB (which infers the + information from a combination of hub descriptor bits and + platform-specific data such as ACPI). diff -Nru linux-5.10.197/Documentation/ABI/testing/sysfs-platform-asus-wmi linux-5.10.205/Documentation/ABI/testing/sysfs-platform-asus-wmi --- linux-5.10.197/Documentation/ABI/testing/sysfs-platform-asus-wmi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/Documentation/ABI/testing/sysfs-platform-asus-wmi 2023-12-20 14:44:42.000000000 +0000 @@ -57,3 +57,12 @@ * 0 - default, * 1 - overboost, * 2 - silent + +What: /sys/devices/platform//dgpu_disable +Date: Aug 2022 +KernelVersion: 5.17 +Contact: "Luke Jones" +Description: + Disable discrete GPU: + * 0 - Enable dGPU, + * 1 - Disable dGPU diff -Nru linux-5.10.197/Documentation/admin-guide/sysctl/net.rst linux-5.10.205/Documentation/admin-guide/sysctl/net.rst --- linux-5.10.197/Documentation/admin-guide/sysctl/net.rst 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/Documentation/admin-guide/sysctl/net.rst 2023-12-20 14:44:42.000000000 +0000 @@ -31,18 +31,18 @@ Table : Subdirectories in /proc/sys/net - ========= =================== = ========== ================== + ========= =================== = ========== =================== Directory Content Directory Content - ========= =================== = ========== ================== - 802 E802 protocol mptcp Multipath TCP - appletalk Appletalk protocol netfilter Network Filter + ========= =================== = ========== =================== + 802 E802 protocol mptcp Multipath TCP + appletalk Appletalk protocol netfilter Network Filter ax25 AX25 netrom NET/ROM - bridge Bridging rose X.25 PLP layer - core General parameter tipc TIPC - ethernet Ethernet protocol unix Unix domain sockets - ipv4 IP version 4 x25 X.25 protocol + bridge Bridging rose X.25 PLP layer + core General parameter tipc TIPC + ethernet Ethernet protocol unix Unix domain sockets + ipv4 IP version 4 x25 X.25 protocol ipv6 IP version 6 - ========= =================== = ========== ================== + ========= =================== = ========== =================== 1. /proc/sys/net/core - Network core options ============================================ diff -Nru linux-5.10.197/Documentation/networking/ip-sysctl.rst linux-5.10.205/Documentation/networking/ip-sysctl.rst --- linux-5.10.197/Documentation/networking/ip-sysctl.rst 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/Documentation/networking/ip-sysctl.rst 2023-12-20 14:44:42.000000000 +0000 @@ -1916,6 +1916,14 @@ Default: 1 +accept_ra_min_lft - INTEGER + Minimum acceptable lifetime value in Router Advertisement. + + RA sections with a lifetime less than this value shall be + ignored. Zero lifetimes stay unaffected. + + Default: 0 + accept_ra_pinfo - BOOLEAN Learn Prefix Information in Router Advertisement. diff -Nru linux-5.10.197/Documentation/process/deprecated.rst linux-5.10.205/Documentation/process/deprecated.rst --- linux-5.10.197/Documentation/process/deprecated.rst 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/Documentation/process/deprecated.rst 2023-12-20 14:44:42.000000000 +0000 @@ -70,6 +70,9 @@ foo = kmalloc_array(count, size, GFP_KERNEL); +Specifically, kmalloc() can be replaced with kmalloc_array(), and +kzalloc() can be replaced with kcalloc(). + If no 2-factor form is available, the saturate-on-overflow helpers should be used:: @@ -90,9 +93,20 @@ array usage and switch to a `flexible array member <#zero-length-and-one-element-arrays>`_ instead. -See array_size(), array3_size(), and struct_size(), -for more details as well as the related check_add_overflow() and -check_mul_overflow() family of functions. +For other calculations, please compose the use of the size_mul(), +size_add(), and size_sub() helpers. For example, in the case of:: + + foo = krealloc(current_size + chunk_size * (count - 3), GFP_KERNEL); + +Instead, use the helpers:: + + foo = krealloc(size_add(current_size, + size_mul(chunk_size, + size_sub(count, 3))), GFP_KERNEL); + +For more details, also see array3_size() and flex_array_size(), +as well as the related check_mul_overflow(), check_add_overflow(), +check_sub_overflow(), and check_shl_overflow() family of functions. simple_strtol(), simple_strtoll(), simple_strtoul(), simple_strtoull() ---------------------------------------------------------------------- diff -Nru linux-5.10.197/Makefile linux-5.10.205/Makefile --- linux-5.10.197/Makefile 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/Makefile 2023-12-20 14:44:42.000000000 +0000 @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 10 -SUBLEVEL = 197 +SUBLEVEL = 205 EXTRAVERSION = NAME = Dare mighty things diff -Nru linux-5.10.197/arch/arm/boot/dts/am335x-guardian.dts linux-5.10.205/arch/arm/boot/dts/am335x-guardian.dts --- linux-5.10.197/arch/arm/boot/dts/am335x-guardian.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm/boot/dts/am335x-guardian.dts 2023-12-20 14:44:42.000000000 +0000 @@ -100,11 +100,12 @@ }; - pwm7: dmtimer-pwm { + guardian_beeper: pwm-7 { compatible = "ti,omap-dmtimer-pwm"; + #pwm-cells = <3>; ti,timers = <&timer7>; pinctrl-names = "default"; - pinctrl-0 = <&dmtimer7_pins>; + pinctrl-0 = <&guardian_beeper_pins>; ti,clock-source = <0x01>; }; @@ -343,9 +344,9 @@ >; }; - dmtimer7_pins: pinmux_dmtimer7_pins { + guardian_beeper_pins: pinmux_dmtimer7_pins { pinctrl-single,pins = < - AM33XX_IOPAD(0x968, PIN_OUTPUT | MUX_MODE5) + AM33XX_IOPAD(0x968, PIN_OUTPUT | MUX_MODE5) /* (E18) timer7 */ >; }; diff -Nru linux-5.10.197/arch/arm/boot/dts/am3517-evm.dts linux-5.10.205/arch/arm/boot/dts/am3517-evm.dts --- linux-5.10.197/arch/arm/boot/dts/am3517-evm.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm/boot/dts/am3517-evm.dts 2023-12-20 14:44:42.000000000 +0000 @@ -150,7 +150,7 @@ enable-gpios = <&gpio6 22 GPIO_ACTIVE_HIGH>; /* gpio_182 */ }; - pwm11: dmtimer-pwm@11 { + pwm11: pwm-11 { compatible = "ti,omap-dmtimer-pwm"; pinctrl-names = "default"; pinctrl-0 = <&pwm_pins>; diff -Nru linux-5.10.197/arch/arm/boot/dts/imx7s.dtsi linux-5.10.205/arch/arm/boot/dts/imx7s.dtsi --- linux-5.10.197/arch/arm/boot/dts/imx7s.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm/boot/dts/imx7s.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -437,7 +437,7 @@ }; gpt1: timer@302d0000 { - compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt"; + compatible = "fsl,imx7d-gpt", "fsl,imx6dl-gpt"; reg = <0x302d0000 0x10000>; interrupts = ; clocks = <&clks IMX7D_GPT1_ROOT_CLK>, @@ -446,7 +446,7 @@ }; gpt2: timer@302e0000 { - compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt"; + compatible = "fsl,imx7d-gpt", "fsl,imx6dl-gpt"; reg = <0x302e0000 0x10000>; interrupts = ; clocks = <&clks IMX7D_GPT2_ROOT_CLK>, @@ -456,7 +456,7 @@ }; gpt3: timer@302f0000 { - compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt"; + compatible = "fsl,imx7d-gpt", "fsl,imx6dl-gpt"; reg = <0x302f0000 0x10000>; interrupts = ; clocks = <&clks IMX7D_GPT3_ROOT_CLK>, @@ -466,7 +466,7 @@ }; gpt4: timer@30300000 { - compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt"; + compatible = "fsl,imx7d-gpt", "fsl,imx6dl-gpt"; reg = <0x30300000 0x10000>; interrupts = ; clocks = <&clks IMX7D_GPT4_ROOT_CLK>, diff -Nru linux-5.10.197/arch/arm/boot/dts/logicpd-torpedo-baseboard.dtsi linux-5.10.205/arch/arm/boot/dts/logicpd-torpedo-baseboard.dtsi --- linux-5.10.197/arch/arm/boot/dts/logicpd-torpedo-baseboard.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm/boot/dts/logicpd-torpedo-baseboard.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -59,7 +59,7 @@ }; }; - pwm10: dmtimer-pwm { + pwm10: pwm-10 { compatible = "ti,omap-dmtimer-pwm"; pinctrl-names = "default"; pinctrl-0 = <&pwm_pins>; diff -Nru linux-5.10.197/arch/arm/boot/dts/motorola-mapphone-common.dtsi linux-5.10.205/arch/arm/boot/dts/motorola-mapphone-common.dtsi --- linux-5.10.197/arch/arm/boot/dts/motorola-mapphone-common.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm/boot/dts/motorola-mapphone-common.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -156,7 +156,7 @@ dais = <&mcbsp2_port>, <&mcbsp3_port>; }; - pwm8: dmtimer-pwm-8 { + pwm8: pwm-8 { pinctrl-names = "default"; pinctrl-0 = <&vibrator_direction_pin>; @@ -166,7 +166,7 @@ ti,clock-source = <0x01>; }; - pwm9: dmtimer-pwm-9 { + pwm9: pwm-9 { pinctrl-names = "default"; pinctrl-0 = <&vibrator_enable_pin>; @@ -192,6 +192,29 @@ }; }; +&cpu_thermal { + polling-delay = <10000>; /* milliseconds */ +}; + +&cpu_alert0 { + temperature = <80000>; /* millicelsius */ +}; + +&cpu0 { + /* + * Note that the 1.2GiHz mode is enabled for all SoC variants for + * the Motorola Android Linux v3.0.8 based kernel. + */ + operating-points = < + /* kHz uV */ + 300000 1025000 + 600000 1200000 + 800000 1313000 + 1008000 1375000 + 1200000 1375000 + >; +}; + &dss { status = "okay"; }; @@ -384,7 +407,7 @@ #address-cells = <1>; #size-cells = <0>; wlcore: wlcore@2 { - compatible = "ti,wl1285", "ti,wl1283"; + compatible = "ti,wl1285"; reg = <2>; /* gpio_100 with gpmc_wait2 pad as wakeirq */ interrupts-extended = <&gpio4 4 IRQ_TYPE_LEVEL_HIGH>, @@ -716,12 +739,12 @@ /* Configure pwm clock source for timers 8 & 9 */ &timer8 { assigned-clocks = <&abe_clkctrl OMAP4_TIMER8_CLKCTRL 24>; - assigned-clock-parents = <&sys_clkin_ck>; + assigned-clock-parents = <&sys_32k_ck>; }; &timer9 { assigned-clocks = <&l4_per_clkctrl OMAP4_TIMER9_CLKCTRL 24>; - assigned-clock-parents = <&sys_clkin_ck>; + assigned-clock-parents = <&sys_32k_ck>; }; /* @@ -742,6 +765,7 @@ &uart3 { interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH &omap4_pmx_core 0x17c>; + overrun-throttle-ms = <500>; }; &uart4 { diff -Nru linux-5.10.197/arch/arm/boot/dts/omap-gpmc-smsc911x.dtsi linux-5.10.205/arch/arm/boot/dts/omap-gpmc-smsc911x.dtsi --- linux-5.10.197/arch/arm/boot/dts/omap-gpmc-smsc911x.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm/boot/dts/omap-gpmc-smsc911x.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -8,9 +8,9 @@ / { vddvario: regulator-vddvario { - compatible = "regulator-fixed"; - regulator-name = "vddvario"; - regulator-always-on; + compatible = "regulator-fixed"; + regulator-name = "vddvario"; + regulator-always-on; }; vdd33a: regulator-vdd33a { diff -Nru linux-5.10.197/arch/arm/boot/dts/omap-gpmc-smsc9221.dtsi linux-5.10.205/arch/arm/boot/dts/omap-gpmc-smsc9221.dtsi --- linux-5.10.197/arch/arm/boot/dts/omap-gpmc-smsc9221.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm/boot/dts/omap-gpmc-smsc9221.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -12,9 +12,9 @@ / { vddvario: regulator-vddvario { - compatible = "regulator-fixed"; - regulator-name = "vddvario"; - regulator-always-on; + compatible = "regulator-fixed"; + regulator-name = "vddvario"; + regulator-always-on; }; vdd33a: regulator-vdd33a { diff -Nru linux-5.10.197/arch/arm/boot/dts/omap3-cm-t3517.dts linux-5.10.205/arch/arm/boot/dts/omap3-cm-t3517.dts --- linux-5.10.197/arch/arm/boot/dts/omap3-cm-t3517.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm/boot/dts/omap3-cm-t3517.dts 2023-12-20 14:44:42.000000000 +0000 @@ -11,12 +11,12 @@ model = "CompuLab CM-T3517"; compatible = "compulab,omap3-cm-t3517", "ti,am3517", "ti,omap3"; - vmmc: regulator-vmmc { - compatible = "regulator-fixed"; - regulator-name = "vmmc"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - }; + vmmc: regulator-vmmc { + compatible = "regulator-fixed"; + regulator-name = "vmmc"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; wl12xx_vmmc2: wl12xx_vmmc2 { compatible = "regulator-fixed"; diff -Nru linux-5.10.197/arch/arm/boot/dts/omap3-cpu-thermal.dtsi linux-5.10.205/arch/arm/boot/dts/omap3-cpu-thermal.dtsi --- linux-5.10.197/arch/arm/boot/dts/omap3-cpu-thermal.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm/boot/dts/omap3-cpu-thermal.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -15,8 +15,7 @@ polling-delay = <1000>; /* milliseconds */ coefficients = <0 20000>; - /* sensor ID */ - thermal-sensors = <&bandgap 0>; + thermal-sensors = <&bandgap>; cpu_trips: trips { cpu_alert0: cpu_alert { diff -Nru linux-5.10.197/arch/arm/boot/dts/omap3-gta04.dtsi linux-5.10.205/arch/arm/boot/dts/omap3-gta04.dtsi --- linux-5.10.197/arch/arm/boot/dts/omap3-gta04.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm/boot/dts/omap3-gta04.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -147,7 +147,7 @@ pinctrl-0 = <&backlight_pins>; }; - pwm11: dmtimer-pwm { + pwm11: pwm-11 { compatible = "ti,omap-dmtimer-pwm"; ti,timers = <&timer11>; #pwm-cells = <3>; @@ -332,7 +332,7 @@ OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0) /* dss_data22.dss_data22 */ OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0) /* dss_data23.dss_data23 */ >; - }; + }; gps_pins: pinmux_gps_pins { pinctrl-single,pins = < @@ -866,8 +866,8 @@ }; &hdqw1w { - pinctrl-names = "default"; - pinctrl-0 = <&hdq_pins>; + pinctrl-names = "default"; + pinctrl-0 = <&hdq_pins>; }; /* image signal processor within OMAP3 SoC */ diff -Nru linux-5.10.197/arch/arm/boot/dts/omap3-ldp.dts linux-5.10.205/arch/arm/boot/dts/omap3-ldp.dts --- linux-5.10.197/arch/arm/boot/dts/omap3-ldp.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm/boot/dts/omap3-ldp.dts 2023-12-20 14:44:42.000000000 +0000 @@ -301,5 +301,5 @@ &vaux1 { /* Needed for ads7846 */ - regulator-name = "vcc"; + regulator-name = "vcc"; }; diff -Nru linux-5.10.197/arch/arm/boot/dts/omap3-n900.dts linux-5.10.205/arch/arm/boot/dts/omap3-n900.dts --- linux-5.10.197/arch/arm/boot/dts/omap3-n900.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm/boot/dts/omap3-n900.dts 2023-12-20 14:44:42.000000000 +0000 @@ -156,7 +156,7 @@ io-channel-names = "temp", "bsi", "vbat"; }; - pwm9: dmtimer-pwm { + pwm9: pwm-9 { compatible = "ti,omap-dmtimer-pwm"; #pwm-cells = <3>; ti,timers = <&timer9>; @@ -236,27 +236,27 @@ pinctrl-single,pins = < /* address lines */ - OMAP3_CORE1_IOPAD(0x207a, PIN_OUTPUT | MUX_MODE0) /* gpmc_a1.gpmc_a1 */ - OMAP3_CORE1_IOPAD(0x207c, PIN_OUTPUT | MUX_MODE0) /* gpmc_a2.gpmc_a2 */ - OMAP3_CORE1_IOPAD(0x207e, PIN_OUTPUT | MUX_MODE0) /* gpmc_a3.gpmc_a3 */ + OMAP3_CORE1_IOPAD(0x207a, PIN_OUTPUT | MUX_MODE0) /* gpmc_a1.gpmc_a1 */ + OMAP3_CORE1_IOPAD(0x207c, PIN_OUTPUT | MUX_MODE0) /* gpmc_a2.gpmc_a2 */ + OMAP3_CORE1_IOPAD(0x207e, PIN_OUTPUT | MUX_MODE0) /* gpmc_a3.gpmc_a3 */ /* data lines, gpmc_d0..d7 not muxable according to TRM */ - OMAP3_CORE1_IOPAD(0x209e, PIN_INPUT | MUX_MODE0) /* gpmc_d8.gpmc_d8 */ - OMAP3_CORE1_IOPAD(0x20a0, PIN_INPUT | MUX_MODE0) /* gpmc_d9.gpmc_d9 */ - OMAP3_CORE1_IOPAD(0x20a2, PIN_INPUT | MUX_MODE0) /* gpmc_d10.gpmc_d10 */ - OMAP3_CORE1_IOPAD(0x20a4, PIN_INPUT | MUX_MODE0) /* gpmc_d11.gpmc_d11 */ - OMAP3_CORE1_IOPAD(0x20a6, PIN_INPUT | MUX_MODE0) /* gpmc_d12.gpmc_d12 */ - OMAP3_CORE1_IOPAD(0x20a8, PIN_INPUT | MUX_MODE0) /* gpmc_d13.gpmc_d13 */ - OMAP3_CORE1_IOPAD(0x20aa, PIN_INPUT | MUX_MODE0) /* gpmc_d14.gpmc_d14 */ - OMAP3_CORE1_IOPAD(0x20ac, PIN_INPUT | MUX_MODE0) /* gpmc_d15.gpmc_d15 */ + OMAP3_CORE1_IOPAD(0x209e, PIN_INPUT | MUX_MODE0) /* gpmc_d8.gpmc_d8 */ + OMAP3_CORE1_IOPAD(0x20a0, PIN_INPUT | MUX_MODE0) /* gpmc_d9.gpmc_d9 */ + OMAP3_CORE1_IOPAD(0x20a2, PIN_INPUT | MUX_MODE0) /* gpmc_d10.gpmc_d10 */ + OMAP3_CORE1_IOPAD(0x20a4, PIN_INPUT | MUX_MODE0) /* gpmc_d11.gpmc_d11 */ + OMAP3_CORE1_IOPAD(0x20a6, PIN_INPUT | MUX_MODE0) /* gpmc_d12.gpmc_d12 */ + OMAP3_CORE1_IOPAD(0x20a8, PIN_INPUT | MUX_MODE0) /* gpmc_d13.gpmc_d13 */ + OMAP3_CORE1_IOPAD(0x20aa, PIN_INPUT | MUX_MODE0) /* gpmc_d14.gpmc_d14 */ + OMAP3_CORE1_IOPAD(0x20ac, PIN_INPUT | MUX_MODE0) /* gpmc_d15.gpmc_d15 */ /* * gpmc_ncs0, gpmc_nadv_ale, gpmc_noe, gpmc_nwe, gpmc_wait0 not muxable * according to TRM. OneNAND seems to require PIN_INPUT on clock. */ - OMAP3_CORE1_IOPAD(0x20b0, PIN_OUTPUT | MUX_MODE0) /* gpmc_ncs1.gpmc_ncs1 */ - OMAP3_CORE1_IOPAD(0x20be, PIN_INPUT | MUX_MODE0) /* gpmc_clk.gpmc_clk */ - >; + OMAP3_CORE1_IOPAD(0x20b0, PIN_OUTPUT | MUX_MODE0) /* gpmc_ncs1.gpmc_ncs1 */ + OMAP3_CORE1_IOPAD(0x20be, PIN_INPUT | MUX_MODE0) /* gpmc_clk.gpmc_clk */ + >; }; i2c1_pins: pinmux_i2c1_pins { @@ -738,12 +738,12 @@ si4713: si4713@63 { compatible = "silabs,si4713"; - reg = <0x63>; + reg = <0x63>; - interrupts-extended = <&gpio2 21 IRQ_TYPE_EDGE_FALLING>; /* 53 */ - reset-gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>; /* 163 */ - vio-supply = <&vio>; - vdd-supply = <&vaux1>; + interrupts-extended = <&gpio2 21 IRQ_TYPE_EDGE_FALLING>; /* 53 */ + reset-gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>; /* 163 */ + vio-supply = <&vio>; + vdd-supply = <&vaux1>; }; bq24150a: bq24150a@6b { diff -Nru linux-5.10.197/arch/arm/boot/dts/omap3-zoom3.dts linux-5.10.205/arch/arm/boot/dts/omap3-zoom3.dts --- linux-5.10.197/arch/arm/boot/dts/omap3-zoom3.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm/boot/dts/omap3-zoom3.dts 2023-12-20 14:44:42.000000000 +0000 @@ -23,9 +23,9 @@ }; vddvario: regulator-vddvario { - compatible = "regulator-fixed"; - regulator-name = "vddvario"; - regulator-always-on; + compatible = "regulator-fixed"; + regulator-name = "vddvario"; + regulator-always-on; }; vdd33a: regulator-vdd33a { @@ -84,28 +84,28 @@ uart1_pins: pinmux_uart1_pins { pinctrl-single,pins = < - OMAP3_CORE1_IOPAD(0x2180, PIN_INPUT | MUX_MODE0) /* uart1_cts.uart1_cts */ - OMAP3_CORE1_IOPAD(0x217e, PIN_OUTPUT | MUX_MODE0) /* uart1_rts.uart1_rts */ - OMAP3_CORE1_IOPAD(0x2182, WAKEUP_EN | PIN_INPUT | MUX_MODE0) /* uart1_rx.uart1_rx */ - OMAP3_CORE1_IOPAD(0x217c, PIN_OUTPUT | MUX_MODE0) /* uart1_tx.uart1_tx */ + OMAP3_CORE1_IOPAD(0x2180, PIN_INPUT | MUX_MODE0) /* uart1_cts.uart1_cts */ + OMAP3_CORE1_IOPAD(0x217e, PIN_OUTPUT | MUX_MODE0) /* uart1_rts.uart1_rts */ + OMAP3_CORE1_IOPAD(0x2182, WAKEUP_EN | PIN_INPUT | MUX_MODE0) /* uart1_rx.uart1_rx */ + OMAP3_CORE1_IOPAD(0x217c, PIN_OUTPUT | MUX_MODE0) /* uart1_tx.uart1_tx */ >; }; uart2_pins: pinmux_uart2_pins { pinctrl-single,pins = < - OMAP3_CORE1_IOPAD(0x2174, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_cts.uart2_cts */ - OMAP3_CORE1_IOPAD(0x2176, PIN_OUTPUT | MUX_MODE0) /* uart2_rts.uart2_rts */ - OMAP3_CORE1_IOPAD(0x217a, PIN_INPUT | MUX_MODE0) /* uart2_rx.uart2_rx */ - OMAP3_CORE1_IOPAD(0x2178, PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */ + OMAP3_CORE1_IOPAD(0x2174, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_cts.uart2_cts */ + OMAP3_CORE1_IOPAD(0x2176, PIN_OUTPUT | MUX_MODE0) /* uart2_rts.uart2_rts */ + OMAP3_CORE1_IOPAD(0x217a, PIN_INPUT | MUX_MODE0) /* uart2_rx.uart2_rx */ + OMAP3_CORE1_IOPAD(0x2178, PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */ >; }; uart3_pins: pinmux_uart3_pins { pinctrl-single,pins = < - OMAP3_CORE1_IOPAD(0x219a, PIN_INPUT_PULLDOWN | MUX_MODE0) /* uart3_cts_rctx.uart3_cts_rctx */ - OMAP3_CORE1_IOPAD(0x219c, PIN_OUTPUT | MUX_MODE0) /* uart3_rts_sd.uart3_rts_sd */ - OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */ - OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */ + OMAP3_CORE1_IOPAD(0x219a, PIN_INPUT_PULLDOWN | MUX_MODE0) /* uart3_cts_rctx.uart3_cts_rctx */ + OMAP3_CORE1_IOPAD(0x219c, PIN_OUTPUT | MUX_MODE0) /* uart3_rts_sd.uart3_rts_sd */ + OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */ + OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */ >; }; @@ -205,22 +205,22 @@ }; &uart1 { - pinctrl-names = "default"; - pinctrl-0 = <&uart1_pins>; + pinctrl-names = "default"; + pinctrl-0 = <&uart1_pins>; }; &uart2 { - pinctrl-names = "default"; - pinctrl-0 = <&uart2_pins>; + pinctrl-names = "default"; + pinctrl-0 = <&uart2_pins>; }; &uart3 { - pinctrl-names = "default"; - pinctrl-0 = <&uart3_pins>; + pinctrl-names = "default"; + pinctrl-0 = <&uart3_pins>; }; &uart4 { - status = "disabled"; + status = "disabled"; }; &usb_otg_hs { diff -Nru linux-5.10.197/arch/arm/boot/dts/omap4-cpu-thermal.dtsi linux-5.10.205/arch/arm/boot/dts/omap4-cpu-thermal.dtsi --- linux-5.10.197/arch/arm/boot/dts/omap4-cpu-thermal.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm/boot/dts/omap4-cpu-thermal.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -15,21 +15,24 @@ polling-delay-passive = <250>; /* milliseconds */ polling-delay = <1000>; /* milliseconds */ - /* sensor ID */ - thermal-sensors = <&bandgap 0>; + /* + * See 44xx files for single sensor addressing, omap5 and dra7 need + * also sensor ID for addressing. + */ + thermal-sensors = <&bandgap 0>; cpu_trips: trips { - cpu_alert0: cpu_alert { - temperature = <100000>; /* millicelsius */ - hysteresis = <2000>; /* millicelsius */ - type = "passive"; - }; - cpu_crit: cpu_crit { - temperature = <125000>; /* millicelsius */ - hysteresis = <2000>; /* millicelsius */ - type = "critical"; - }; - }; + cpu_alert0: cpu_alert { + temperature = <100000>; /* millicelsius */ + hysteresis = <2000>; /* millicelsius */ + type = "passive"; + }; + cpu_crit: cpu_crit { + temperature = <125000>; /* millicelsius */ + hysteresis = <2000>; /* millicelsius */ + type = "critical"; + }; + }; cpu_cooling_maps: cooling-maps { map0 { diff -Nru linux-5.10.197/arch/arm/boot/dts/omap443x.dtsi linux-5.10.205/arch/arm/boot/dts/omap443x.dtsi --- linux-5.10.197/arch/arm/boot/dts/omap443x.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm/boot/dts/omap443x.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -72,6 +72,7 @@ }; &cpu_thermal { + thermal-sensors = <&bandgap>; coefficients = <0 20000>; }; diff -Nru linux-5.10.197/arch/arm/boot/dts/omap4460.dtsi linux-5.10.205/arch/arm/boot/dts/omap4460.dtsi --- linux-5.10.197/arch/arm/boot/dts/omap4460.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm/boot/dts/omap4460.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -89,6 +89,7 @@ }; &cpu_thermal { + thermal-sensors = <&bandgap>; coefficients = <348 (-9301)>; }; diff -Nru linux-5.10.197/arch/arm/boot/dts/omap5-cm-t54.dts linux-5.10.205/arch/arm/boot/dts/omap5-cm-t54.dts --- linux-5.10.197/arch/arm/boot/dts/omap5-cm-t54.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm/boot/dts/omap5-cm-t54.dts 2023-12-20 14:44:42.000000000 +0000 @@ -84,36 +84,36 @@ }; lcd0: display { - compatible = "startek,startek-kd050c", "panel-dpi"; - label = "lcd"; + compatible = "startek,startek-kd050c", "panel-dpi"; + label = "lcd"; - pinctrl-names = "default"; - pinctrl-0 = <&lcd_pins>; + pinctrl-names = "default"; + pinctrl-0 = <&lcd_pins>; + + enable-gpios = <&gpio8 3 GPIO_ACTIVE_HIGH>; - enable-gpios = <&gpio8 3 GPIO_ACTIVE_HIGH>; + panel-timing { + clock-frequency = <33000000>; + hactive = <800>; + vactive = <480>; + hfront-porch = <40>; + hback-porch = <40>; + hsync-len = <43>; + vback-porch = <29>; + vfront-porch = <13>; + vsync-len = <3>; + hsync-active = <0>; + vsync-active = <0>; + de-active = <1>; + pixelclk-active = <1>; + }; - panel-timing { - clock-frequency = <33000000>; - hactive = <800>; - vactive = <480>; - hfront-porch = <40>; - hback-porch = <40>; - hsync-len = <43>; - vback-porch = <29>; - vfront-porch = <13>; - vsync-len = <3>; - hsync-active = <0>; - vsync-active = <0>; - de-active = <1>; - pixelclk-active = <1>; - }; - - port { - lcd_in: endpoint { - remote-endpoint = <&dpi_lcd_out>; - }; - }; - }; + port { + lcd_in: endpoint { + remote-endpoint = <&dpi_lcd_out>; + }; + }; + }; hdmi0: connector0 { compatible = "hdmi-connector"; @@ -644,8 +644,8 @@ }; &usb3 { - extcon = <&extcon_usb3>; - vbus-supply = <&smps10_out1_reg>; + extcon = <&extcon_usb3>; + vbus-supply = <&smps10_out1_reg>; }; &cpu0 { diff -Nru linux-5.10.197/arch/arm/boot/dts/qcom-mdm9615.dtsi linux-5.10.205/arch/arm/boot/dts/qcom-mdm9615.dtsi --- linux-5.10.197/arch/arm/boot/dts/qcom-mdm9615.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm/boot/dts/qcom-mdm9615.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -82,14 +82,12 @@ }; }; - regulators { - vsdcc_fixed: vsdcc-regulator { - compatible = "regulator-fixed"; - regulator-name = "SDCC Power"; - regulator-min-microvolt = <2700000>; - regulator-max-microvolt = <2700000>; - regulator-always-on; - }; + vsdcc_fixed: vsdcc-regulator { + compatible = "regulator-fixed"; + regulator-name = "SDCC Power"; + regulator-min-microvolt = <2700000>; + regulator-max-microvolt = <2700000>; + regulator-always-on; }; soc: soc { diff -Nru linux-5.10.197/arch/arm/include/asm/exception.h linux-5.10.205/arch/arm/include/asm/exception.h --- linux-5.10.197/arch/arm/include/asm/exception.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm/include/asm/exception.h 2023-12-20 14:44:42.000000000 +0000 @@ -10,10 +10,6 @@ #include -#ifdef CONFIG_FUNCTION_GRAPH_TRACER #define __exception_irq_entry __irq_entry -#else -#define __exception_irq_entry -#endif #endif /* __ASM_ARM_EXCEPTION_H */ diff -Nru linux-5.10.197/arch/arm/lib/memset.S linux-5.10.205/arch/arm/lib/memset.S --- linux-5.10.197/arch/arm/lib/memset.S 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm/lib/memset.S 2023-12-20 14:44:42.000000000 +0000 @@ -16,6 +16,7 @@ ENTRY(mmioset) ENTRY(memset) UNWIND( .fnstart ) + and r1, r1, #255 @ cast to unsigned char ands r3, r0, #3 @ 1 unaligned? mov ip, r0 @ preserve r0 as return value bne 6f @ 1 diff -Nru linux-5.10.197/arch/arm/mach-imx/mmdc.c linux-5.10.205/arch/arm/mach-imx/mmdc.c --- linux-5.10.197/arch/arm/mach-imx/mmdc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm/mach-imx/mmdc.c 2023-12-20 14:44:42.000000000 +0000 @@ -502,6 +502,10 @@ name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "mmdc%d", ret); + if (!name) { + ret = -ENOMEM; + goto pmu_release_id; + } pmu_mmdc->mmdc_ipg_clk = mmdc_ipg_clk; pmu_mmdc->devtype_data = (struct fsl_mmdc_devtype_data *)of_id->data; @@ -524,9 +528,10 @@ pmu_register_err: pr_warn("MMDC Perf PMU failed (%d), disabled\n", ret); - ida_simple_remove(&mmdc_ida, pmu_mmdc->id); cpuhp_state_remove_instance_nocalls(cpuhp_mmdc_state, &pmu_mmdc->node); hrtimer_cancel(&pmu_mmdc->hrtimer); +pmu_release_id: + ida_simple_remove(&mmdc_ida, pmu_mmdc->id); pmu_free: kfree(pmu_mmdc); return ret; diff -Nru linux-5.10.197/arch/arm/xen/enlighten.c linux-5.10.205/arch/arm/xen/enlighten.c --- linux-5.10.197/arch/arm/xen/enlighten.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm/xen/enlighten.c 2023-12-20 14:44:42.000000000 +0000 @@ -158,9 +158,6 @@ BUG_ON(err); per_cpu(xen_vcpu, cpu) = vcpup; - if (!xen_kernel_unmapped_at_usr()) - xen_setup_runstate_info(cpu); - after_register_vcpu_info: enable_percpu_irq(xen_events_irq, 0); return 0; @@ -354,7 +351,8 @@ * for secondary CPUs as they are brought up. * For uniformity we use VCPUOP_register_vcpu_info even on cpu0. */ - xen_vcpu_info = alloc_percpu(struct vcpu_info); + xen_vcpu_info = __alloc_percpu(sizeof(struct vcpu_info), + 1 << fls(sizeof(struct vcpu_info) - 1)); if (xen_vcpu_info == NULL) return -ENOMEM; @@ -386,9 +384,6 @@ return -EINVAL; } - if (!xen_kernel_unmapped_at_usr()) - xen_time_setup_guest(); - if (xen_initial_domain()) pvclock_gtod_register_notifier(&xen_pvclock_gtod_notifier); @@ -398,7 +393,13 @@ } early_initcall(xen_guest_init); -static int __init xen_pm_init(void) +static int xen_starting_runstate_cpu(unsigned int cpu) +{ + xen_setup_runstate_info(cpu); + return 0; +} + +static int __init xen_late_init(void) { if (!xen_domain()) return -ENODEV; @@ -411,9 +412,16 @@ do_settimeofday64(&ts); } - return 0; + if (xen_kernel_unmapped_at_usr()) + return 0; + + xen_time_setup_guest(); + + return cpuhp_setup_state(CPUHP_AP_ARM_XEN_RUNSTATE_STARTING, + "arm/xen_runstate:starting", + xen_starting_runstate_cpu, NULL); } -late_initcall(xen_pm_init); +late_initcall(xen_late_init); /* empty stubs */ diff -Nru linux-5.10.197/arch/arm64/Kconfig linux-5.10.205/arch/arm64/Kconfig --- linux-5.10.197/arch/arm64/Kconfig 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm64/Kconfig 2023-12-20 14:44:42.000000000 +0000 @@ -986,6 +986,8 @@ config CPU_BIG_ENDIAN bool "Build big-endian kernel" depends on !LD_IS_LLD || LLD_VERSION >= 130000 + # https://github.com/llvm/llvm-project/commit/1379b150991f70a5782e9a143c2ba5308da1161c + depends on AS_IS_GNU || AS_VERSION >= 150000 help Say Y if you plan on running a kernel with a big-endian userspace. diff -Nru linux-5.10.197/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts linux-5.10.205/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts --- linux-5.10.197/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts 2023-12-20 14:44:42.000000000 +0000 @@ -69,7 +69,7 @@ }; }; - memory { + memory@40000000 { reg = <0 0x40000000 0 0x40000000>; }; diff -Nru linux-5.10.197/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts linux-5.10.205/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts --- linux-5.10.197/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts 2023-12-20 14:44:42.000000000 +0000 @@ -55,7 +55,7 @@ }; }; - memory { + memory@40000000 { reg = <0 0x40000000 0 0x20000000>; }; diff -Nru linux-5.10.197/arch/arm64/boot/dts/mediatek/mt8173-evb.dts linux-5.10.205/arch/arm64/boot/dts/mediatek/mt8173-evb.dts --- linux-5.10.197/arch/arm64/boot/dts/mediatek/mt8173-evb.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm64/boot/dts/mediatek/mt8173-evb.dts 2023-12-20 14:44:42.000000000 +0000 @@ -43,7 +43,7 @@ id-gpio = <&pio 16 GPIO_ACTIVE_HIGH>; }; - usb_p1_vbus: regulator@0 { + usb_p1_vbus: regulator-usb-p1 { compatible = "regulator-fixed"; regulator-name = "usb_vbus"; regulator-min-microvolt = <5000000>; @@ -52,7 +52,7 @@ enable-active-high; }; - usb_p0_vbus: regulator@1 { + usb_p0_vbus: regulator-usb-p0 { compatible = "regulator-fixed"; regulator-name = "vbus"; regulator-min-microvolt = <5000000>; diff -Nru linux-5.10.197/arch/arm64/boot/dts/mediatek/mt8183-evb.dts linux-5.10.205/arch/arm64/boot/dts/mediatek/mt8183-evb.dts --- linux-5.10.197/arch/arm64/boot/dts/mediatek/mt8183-evb.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm64/boot/dts/mediatek/mt8183-evb.dts 2023-12-20 14:44:42.000000000 +0000 @@ -30,7 +30,7 @@ #address-cells = <2>; #size-cells = <2>; ranges; - scp_mem_reserved: scp_mem_region { + scp_mem_reserved: memory@50000000 { compatible = "shared-dma-pool"; reg = <0 0x50000000 0 0x2900000>; no-map; diff -Nru linux-5.10.197/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi linux-5.10.205/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi --- linux-5.10.197/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -95,7 +95,7 @@ #size-cells = <2>; ranges; - scp_mem_reserved: scp_mem_region { + scp_mem_reserved: memory@50000000 { compatible = "shared-dma-pool"; reg = <0 0x50000000 0 0x2900000>; no-map; diff -Nru linux-5.10.197/arch/arm64/boot/dts/qcom/ipq6018.dtsi linux-5.10.205/arch/arm64/boot/dts/qcom/ipq6018.dtsi --- linux-5.10.197/arch/arm64/boot/dts/qcom/ipq6018.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm64/boot/dts/qcom/ipq6018.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -129,12 +129,6 @@ }; }; - tcsr_mutex: hwlock { - compatible = "qcom,tcsr-mutex"; - syscon = <&tcsr_mutex_regs 0 0x80>; - #hwlock-cells = <1>; - }; - pmuv8: pmu { compatible = "arm,cortex-a53-pmu"; interrupts = ; - hwlocks = <&tcsr_mutex 0>; + hwlocks = <&tcsr_mutex 3>; }; soc: soc { @@ -242,9 +236,10 @@ #reset-cells = <1>; }; - tcsr_mutex_regs: syscon@1905000 { - compatible = "syscon"; - reg = <0x0 0x01905000 0x0 0x8000>; + tcsr_mutex: hwlock@1905000 { + compatible = "qcom,ipq6018-tcsr-mutex", "qcom,tcsr-mutex"; + reg = <0x0 0x01905000 0x0 0x20000>; + #hwlock-cells = <1>; }; tcsr_q6: syscon@1945000 { diff -Nru linux-5.10.197/arch/arm64/boot/dts/qcom/msm8916.dtsi linux-5.10.205/arch/arm64/boot/dts/qcom/msm8916.dtsi --- linux-5.10.197/arch/arm64/boot/dts/qcom/msm8916.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm64/boot/dts/qcom/msm8916.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -1175,7 +1175,7 @@ #size-cells = <1>; #iommu-cells = <1>; compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1"; - ranges = <0 0x01e20000 0x40000>; + ranges = <0 0x01e20000 0x20000>; reg = <0x01ef0000 0x3000>; clocks = <&gcc GCC_SMMU_CFG_CLK>, <&gcc GCC_APSS_TCU_CLK>; diff -Nru linux-5.10.197/arch/arm64/boot/dts/qcom/sdm845-mtp.dts linux-5.10.205/arch/arm64/boot/dts/qcom/sdm845-mtp.dts --- linux-5.10.197/arch/arm64/boot/dts/qcom/sdm845-mtp.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm64/boot/dts/qcom/sdm845-mtp.dts 2023-12-20 14:44:42.000000000 +0000 @@ -564,6 +564,8 @@ vdd-1.8-xo-supply = <&vreg_l7a_1p8>; vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; + + qcom,snoc-host-cap-8bit-quirk; }; /* PINCTRL - additions to nodes defined in sdm845.dtsi */ diff -Nru linux-5.10.197/arch/arm64/boot/dts/rockchip/rk3399.dtsi linux-5.10.205/arch/arm64/boot/dts/rockchip/rk3399.dtsi --- linux-5.10.197/arch/arm64/boot/dts/rockchip/rk3399.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm64/boot/dts/rockchip/rk3399.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -1022,7 +1022,9 @@ power-domain@RK3399_PD_VDU { reg = ; clocks = <&cru ACLK_VDU>, - <&cru HCLK_VDU>; + <&cru HCLK_VDU>, + <&cru SCLK_VDU_CA>, + <&cru SCLK_VDU_CORE>; pm_qos = <&qos_video_m1_r>, <&qos_video_m1_w>; }; @@ -1276,7 +1278,7 @@ vdec: video-codec@ff660000 { compatible = "rockchip,rk3399-vdec"; - reg = <0x0 0xff660000 0x0 0x400>; + reg = <0x0 0xff660000 0x0 0x480>; interrupts = ; clocks = <&cru ACLK_VDU>, <&cru HCLK_VDU>, <&cru SCLK_VDU_CA>, <&cru SCLK_VDU_CORE>; diff -Nru linux-5.10.197/arch/arm64/include/asm/cpufeature.h linux-5.10.205/arch/arm64/include/asm/cpufeature.h --- linux-5.10.197/arch/arm64/include/asm/cpufeature.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm64/include/asm/cpufeature.h 2023-12-20 14:44:42.000000000 +0000 @@ -759,7 +759,8 @@ cpus_have_const_cap(ARM64_HAS_TLB_RANGE); } -extern int do_emulate_mrs(struct pt_regs *regs, u32 sys_reg, u32 rt); +int do_emulate_mrs(struct pt_regs *regs, u32 sys_reg, u32 rt); +bool try_emulate_mrs(struct pt_regs *regs, u32 isn); static inline u32 id_aa64mmfr0_parange_to_phys_shift(int parange) { diff -Nru linux-5.10.197/arch/arm64/include/asm/cputype.h linux-5.10.205/arch/arm64/include/asm/cputype.h --- linux-5.10.197/arch/arm64/include/asm/cputype.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm64/include/asm/cputype.h 2023-12-20 14:44:42.000000000 +0000 @@ -79,6 +79,7 @@ #define ARM_CPU_PART_CORTEX_A78AE 0xD42 #define ARM_CPU_PART_CORTEX_X1 0xD44 #define ARM_CPU_PART_CORTEX_A510 0xD46 +#define ARM_CPU_PART_CORTEX_A520 0xD80 #define ARM_CPU_PART_CORTEX_A710 0xD47 #define ARM_CPU_PART_CORTEX_X2 0xD48 #define ARM_CPU_PART_NEOVERSE_N2 0xD49 @@ -130,6 +131,7 @@ #define MIDR_CORTEX_A78AE MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A78AE) #define MIDR_CORTEX_X1 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_X1) #define MIDR_CORTEX_A510 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A510) +#define MIDR_CORTEX_A520 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A520) #define MIDR_CORTEX_A710 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A710) #define MIDR_CORTEX_X2 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_X2) #define MIDR_NEOVERSE_N2 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_NEOVERSE_N2) diff -Nru linux-5.10.197/arch/arm64/include/asm/exception.h linux-5.10.205/arch/arm64/include/asm/exception.h --- linux-5.10.197/arch/arm64/include/asm/exception.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm64/include/asm/exception.h 2023-12-20 14:44:42.000000000 +0000 @@ -33,19 +33,22 @@ void arm64_enter_nmi(struct pt_regs *regs); void arm64_exit_nmi(struct pt_regs *regs); void do_mem_abort(unsigned long addr, unsigned int esr, struct pt_regs *regs); -void do_undefinstr(struct pt_regs *regs); -void do_bti(struct pt_regs *regs); +void do_el0_undef(struct pt_regs *regs, unsigned long esr); +void do_el1_undef(struct pt_regs *regs, unsigned long esr); +void do_el0_bti(struct pt_regs *regs); +void do_el1_bti(struct pt_regs *regs, unsigned long esr); asmlinkage void bad_mode(struct pt_regs *regs, int reason, unsigned int esr); void do_debug_exception(unsigned long addr_if_watchpoint, unsigned int esr, struct pt_regs *regs); void do_fpsimd_acc(unsigned int esr, struct pt_regs *regs); void do_sve_acc(unsigned int esr, struct pt_regs *regs); void do_fpsimd_exc(unsigned int esr, struct pt_regs *regs); -void do_sysinstr(unsigned int esr, struct pt_regs *regs); +void do_el0_sys(unsigned long esr, struct pt_regs *regs); void do_sp_pc_abort(unsigned long addr, unsigned int esr, struct pt_regs *regs); void bad_el0_sync(struct pt_regs *regs, int reason, unsigned int esr); -void do_cp15instr(unsigned int esr, struct pt_regs *regs); +void do_el0_cp15(unsigned long esr, struct pt_regs *regs); void do_el0_svc(struct pt_regs *regs); void do_el0_svc_compat(struct pt_regs *regs); -void do_ptrauth_fault(struct pt_regs *regs, unsigned int esr); +void do_el0_fpac(struct pt_regs *regs, unsigned long esr); +void do_el1_fpac(struct pt_regs *regs, unsigned long esr); #endif /* __ASM_EXCEPTION_H */ diff -Nru linux-5.10.197/arch/arm64/include/asm/pgtable.h linux-5.10.205/arch/arm64/include/asm/pgtable.h --- linux-5.10.197/arch/arm64/include/asm/pgtable.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm64/include/asm/pgtable.h 2023-12-20 14:44:42.000000000 +0000 @@ -744,6 +744,12 @@ if (pte_hw_dirty(pte)) pte = pte_mkdirty(pte); pte_val(pte) = (pte_val(pte) & ~mask) | (pgprot_val(newprot) & mask); + /* + * If we end up clearing hw dirtiness for a sw-dirty PTE, set hardware + * dirtiness again. + */ + if (pte_sw_dirty(pte)) + pte = pte_mkdirty(pte); return pte; } diff -Nru linux-5.10.197/arch/arm64/include/asm/spectre.h linux-5.10.205/arch/arm64/include/asm/spectre.h --- linux-5.10.197/arch/arm64/include/asm/spectre.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm64/include/asm/spectre.h 2023-12-20 14:44:42.000000000 +0000 @@ -18,6 +18,7 @@ SPECTRE_VULNERABLE, }; +struct pt_regs; struct task_struct; enum mitigation_state arm64_get_spectre_v2_state(void); @@ -33,4 +34,5 @@ bool is_spectre_bhb_affected(const struct arm64_cpu_capabilities *entry, int scope); u8 spectre_bhb_loop_affected(int scope); void spectre_bhb_enable_mitigation(const struct arm64_cpu_capabilities *__unused); +bool try_emulate_el1_ssbs(struct pt_regs *regs, u32 instr); #endif /* __ASM_SPECTRE_H */ diff -Nru linux-5.10.197/arch/arm64/include/asm/system_misc.h linux-5.10.205/arch/arm64/include/asm/system_misc.h --- linux-5.10.197/arch/arm64/include/asm/system_misc.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm64/include/asm/system_misc.h 2023-12-20 14:44:42.000000000 +0000 @@ -18,7 +18,7 @@ struct pt_regs; -void die(const char *msg, struct pt_regs *regs, int err); +void die(const char *msg, struct pt_regs *regs, long err); struct siginfo; void arm64_notify_die(const char *str, struct pt_regs *regs, diff -Nru linux-5.10.197/arch/arm64/include/asm/traps.h linux-5.10.205/arch/arm64/include/asm/traps.h --- linux-5.10.197/arch/arm64/include/asm/traps.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm64/include/asm/traps.h 2023-12-20 14:44:42.000000000 +0000 @@ -13,17 +13,16 @@ struct pt_regs; -struct undef_hook { - struct list_head node; - u32 instr_mask; - u32 instr_val; - u64 pstate_mask; - u64 pstate_val; - int (*fn)(struct pt_regs *regs, u32 instr); -}; +#ifdef CONFIG_ARMV8_DEPRECATED +bool try_emulate_armv8_deprecated(struct pt_regs *regs, u32 insn); +#else +static inline bool +try_emulate_armv8_deprecated(struct pt_regs *regs, u32 insn) +{ + return false; +} +#endif /* CONFIG_ARMV8_DEPRECATED */ -void register_undef_hook(struct undef_hook *hook); -void unregister_undef_hook(struct undef_hook *hook); void force_signal_inject(int signal, int code, unsigned long address, unsigned int err); void arm64_notify_segfault(unsigned long addr); void arm64_force_sig_fault(int signo, int code, void __user *addr, const char *str); diff -Nru linux-5.10.197/arch/arm64/kernel/armv8_deprecated.c linux-5.10.205/arch/arm64/kernel/armv8_deprecated.c --- linux-5.10.197/arch/arm64/kernel/armv8_deprecated.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm64/kernel/armv8_deprecated.c 2023-12-20 14:44:42.000000000 +0000 @@ -17,7 +17,6 @@ #include #include #include -#include #define CREATE_TRACE_POINTS #include "trace-events-emulation.h" @@ -39,226 +38,46 @@ enum legacy_insn_status { INSN_DEPRECATED, INSN_OBSOLETE, -}; - -struct insn_emulation_ops { - const char *name; - enum legacy_insn_status status; - struct undef_hook *hooks; - int (*set_hw_mode)(bool enable); + INSN_UNAVAILABLE, }; struct insn_emulation { - struct list_head node; - struct insn_emulation_ops *ops; + const char *name; + enum legacy_insn_status status; + bool (*try_emulate)(struct pt_regs *regs, + u32 insn); + int (*set_hw_mode)(bool enable); + int current_mode; int min; int max; -}; - -static LIST_HEAD(insn_emulation); -static int nr_insn_emulated __initdata; -static DEFINE_RAW_SPINLOCK(insn_emulation_lock); -static DEFINE_MUTEX(insn_emulation_mutex); - -static void register_emulation_hooks(struct insn_emulation_ops *ops) -{ - struct undef_hook *hook; - - BUG_ON(!ops->hooks); - - for (hook = ops->hooks; hook->instr_mask; hook++) - register_undef_hook(hook); - - pr_notice("Registered %s emulation handler\n", ops->name); -} - -static void remove_emulation_hooks(struct insn_emulation_ops *ops) -{ - struct undef_hook *hook; - - BUG_ON(!ops->hooks); - - for (hook = ops->hooks; hook->instr_mask; hook++) - unregister_undef_hook(hook); - - pr_notice("Removed %s emulation handler\n", ops->name); -} - -static void enable_insn_hw_mode(void *data) -{ - struct insn_emulation *insn = (struct insn_emulation *)data; - if (insn->ops->set_hw_mode) - insn->ops->set_hw_mode(true); -} - -static void disable_insn_hw_mode(void *data) -{ - struct insn_emulation *insn = (struct insn_emulation *)data; - if (insn->ops->set_hw_mode) - insn->ops->set_hw_mode(false); -} - -/* Run set_hw_mode(mode) on all active CPUs */ -static int run_all_cpu_set_hw_mode(struct insn_emulation *insn, bool enable) -{ - if (!insn->ops->set_hw_mode) - return -EINVAL; - if (enable) - on_each_cpu(enable_insn_hw_mode, (void *)insn, true); - else - on_each_cpu(disable_insn_hw_mode, (void *)insn, true); - return 0; -} - -/* - * Run set_hw_mode for all insns on a starting CPU. - * Returns: - * 0 - If all the hooks ran successfully. - * -EINVAL - At least one hook is not supported by the CPU. - */ -static int run_all_insn_set_hw_mode(unsigned int cpu) -{ - int rc = 0; - unsigned long flags; - struct insn_emulation *insn; - - raw_spin_lock_irqsave(&insn_emulation_lock, flags); - list_for_each_entry(insn, &insn_emulation, node) { - bool enable = (insn->current_mode == INSN_HW); - if (insn->ops->set_hw_mode && insn->ops->set_hw_mode(enable)) { - pr_warn("CPU[%u] cannot support the emulation of %s", - cpu, insn->ops->name); - rc = -EINVAL; - } - } - raw_spin_unlock_irqrestore(&insn_emulation_lock, flags); - return rc; -} - -static int update_insn_emulation_mode(struct insn_emulation *insn, - enum insn_emulation_mode prev) -{ - int ret = 0; - - switch (prev) { - case INSN_UNDEF: /* Nothing to be done */ - break; - case INSN_EMULATE: - remove_emulation_hooks(insn->ops); - break; - case INSN_HW: - if (!run_all_cpu_set_hw_mode(insn, false)) - pr_notice("Disabled %s support\n", insn->ops->name); - break; - } - - switch (insn->current_mode) { - case INSN_UNDEF: - break; - case INSN_EMULATE: - register_emulation_hooks(insn->ops); - break; - case INSN_HW: - ret = run_all_cpu_set_hw_mode(insn, true); - if (!ret) - pr_notice("Enabled %s support\n", insn->ops->name); - break; - } - return ret; -} - -static void __init register_insn_emulation(struct insn_emulation_ops *ops) -{ - unsigned long flags; - struct insn_emulation *insn; - - insn = kzalloc(sizeof(*insn), GFP_KERNEL); - if (!insn) - return; - - insn->ops = ops; - insn->min = INSN_UNDEF; - - switch (ops->status) { - case INSN_DEPRECATED: - insn->current_mode = INSN_EMULATE; - /* Disable the HW mode if it was turned on at early boot time */ - run_all_cpu_set_hw_mode(insn, false); - insn->max = INSN_HW; - break; - case INSN_OBSOLETE: - insn->current_mode = INSN_UNDEF; - insn->max = INSN_EMULATE; - break; - } - - raw_spin_lock_irqsave(&insn_emulation_lock, flags); - list_add(&insn->node, &insn_emulation); - nr_insn_emulated++; - raw_spin_unlock_irqrestore(&insn_emulation_lock, flags); - - /* Register any handlers if required */ - update_insn_emulation_mode(insn, INSN_UNDEF); -} - -static int emulation_proc_handler(struct ctl_table *table, int write, - void *buffer, size_t *lenp, - loff_t *ppos) -{ - int ret = 0; - struct insn_emulation *insn = container_of(table->data, struct insn_emulation, current_mode); - enum insn_emulation_mode prev_mode = insn->current_mode; - - mutex_lock(&insn_emulation_mutex); - ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos); + /* + * sysctl for this emulation + a sentinal entry. + */ + struct ctl_table sysctl[2]; +}; - if (ret || !write || prev_mode == insn->current_mode) - goto ret; +#define ARM_OPCODE_CONDTEST_FAIL 0 +#define ARM_OPCODE_CONDTEST_PASS 1 +#define ARM_OPCODE_CONDTEST_UNCOND 2 - ret = update_insn_emulation_mode(insn, prev_mode); - if (ret) { - /* Mode change failed, revert to previous mode. */ - insn->current_mode = prev_mode; - update_insn_emulation_mode(insn, INSN_UNDEF); - } -ret: - mutex_unlock(&insn_emulation_mutex); - return ret; -} +#define ARM_OPCODE_CONDITION_UNCOND 0xf -static void __init register_insn_emulation_sysctl(void) +static unsigned int __maybe_unused aarch32_check_condition(u32 opcode, u32 psr) { - unsigned long flags; - int i = 0; - struct insn_emulation *insn; - struct ctl_table *insns_sysctl, *sysctl; - - insns_sysctl = kcalloc(nr_insn_emulated + 1, sizeof(*sysctl), - GFP_KERNEL); - if (!insns_sysctl) - return; - - raw_spin_lock_irqsave(&insn_emulation_lock, flags); - list_for_each_entry(insn, &insn_emulation, node) { - sysctl = &insns_sysctl[i]; - - sysctl->mode = 0644; - sysctl->maxlen = sizeof(int); + u32 cc_bits = opcode >> 28; - sysctl->procname = insn->ops->name; - sysctl->data = &insn->current_mode; - sysctl->extra1 = &insn->min; - sysctl->extra2 = &insn->max; - sysctl->proc_handler = emulation_proc_handler; - i++; + if (cc_bits != ARM_OPCODE_CONDITION_UNCOND) { + if ((*aarch32_opcode_cond_checks[cc_bits])(psr)) + return ARM_OPCODE_CONDTEST_PASS; + else + return ARM_OPCODE_CONDTEST_FAIL; } - raw_spin_unlock_irqrestore(&insn_emulation_lock, flags); - - register_sysctl("abi", insns_sysctl); + return ARM_OPCODE_CONDTEST_UNCOND; } +#ifdef CONFIG_SWP_EMULATION /* * Implement emulation of the SWP/SWPB instructions using load-exclusive and * store-exclusive. @@ -345,25 +164,6 @@ return res; } -#define ARM_OPCODE_CONDTEST_FAIL 0 -#define ARM_OPCODE_CONDTEST_PASS 1 -#define ARM_OPCODE_CONDTEST_UNCOND 2 - -#define ARM_OPCODE_CONDITION_UNCOND 0xf - -static unsigned int __kprobes aarch32_check_condition(u32 opcode, u32 psr) -{ - u32 cc_bits = opcode >> 28; - - if (cc_bits != ARM_OPCODE_CONDITION_UNCOND) { - if ((*aarch32_opcode_cond_checks[cc_bits])(psr)) - return ARM_OPCODE_CONDTEST_PASS; - else - return ARM_OPCODE_CONDTEST_FAIL; - } - return ARM_OPCODE_CONDTEST_UNCOND; -} - /* * swp_handler logs the id of calling process, dissects the instruction, sanity * checks the memory location, calls emulate_swpX for the actual operation and @@ -436,28 +236,27 @@ return 0; } -/* - * Only emulate SWP/SWPB executed in ARM state/User mode. - * The kernel must be SWP free and SWP{B} does not exist in Thumb. - */ -static struct undef_hook swp_hooks[] = { - { - .instr_mask = 0x0fb00ff0, - .instr_val = 0x01000090, - .pstate_mask = PSR_AA32_MODE_MASK, - .pstate_val = PSR_AA32_MODE_USR, - .fn = swp_handler - }, - { } -}; +static bool try_emulate_swp(struct pt_regs *regs, u32 insn) +{ + /* SWP{B} only exists in ARM state and does not exist in Thumb */ + if (!compat_user_mode(regs) || compat_thumb_mode(regs)) + return false; -static struct insn_emulation_ops swp_ops = { + if ((insn & 0x0fb00ff0) != 0x01000090) + return false; + + return swp_handler(regs, insn) == 0; +} + +static struct insn_emulation insn_swp = { .name = "swp", .status = INSN_OBSOLETE, - .hooks = swp_hooks, + .try_emulate = try_emulate_swp, .set_hw_mode = NULL, }; +#endif /* CONFIG_SWP_EMULATION */ +#ifdef CONFIG_CP15_BARRIER_EMULATION static int cp15barrier_handler(struct pt_regs *regs, u32 instr) { perf_sw_event(PERF_COUNT_SW_EMULATION_FAULTS, 1, regs, regs->pc); @@ -520,31 +319,29 @@ return 0; } -static struct undef_hook cp15_barrier_hooks[] = { - { - .instr_mask = 0x0fff0fdf, - .instr_val = 0x0e070f9a, - .pstate_mask = PSR_AA32_MODE_MASK, - .pstate_val = PSR_AA32_MODE_USR, - .fn = cp15barrier_handler, - }, - { - .instr_mask = 0x0fff0fff, - .instr_val = 0x0e070f95, - .pstate_mask = PSR_AA32_MODE_MASK, - .pstate_val = PSR_AA32_MODE_USR, - .fn = cp15barrier_handler, - }, - { } -}; +static bool try_emulate_cp15_barrier(struct pt_regs *regs, u32 insn) +{ + if (!compat_user_mode(regs) || compat_thumb_mode(regs)) + return false; -static struct insn_emulation_ops cp15_barrier_ops = { + if ((insn & 0x0fff0fdf) == 0x0e070f9a) + return cp15barrier_handler(regs, insn) == 0; + + if ((insn & 0x0fff0fff) == 0x0e070f95) + return cp15barrier_handler(regs, insn) == 0; + + return false; +} + +static struct insn_emulation insn_cp15_barrier = { .name = "cp15_barrier", .status = INSN_DEPRECATED, - .hooks = cp15_barrier_hooks, + .try_emulate = try_emulate_cp15_barrier, .set_hw_mode = cp15_barrier_set_hw_mode, }; +#endif /* CONFIG_CP15_BARRIER_EMULATION */ +#ifdef CONFIG_SETEND_EMULATION static int setend_set_hw_mode(bool enable) { if (!cpu_supports_mixed_endian_el0()) @@ -592,31 +389,221 @@ return rc; } -static struct undef_hook setend_hooks[] = { - { - .instr_mask = 0xfffffdff, - .instr_val = 0xf1010000, - .pstate_mask = PSR_AA32_MODE_MASK, - .pstate_val = PSR_AA32_MODE_USR, - .fn = a32_setend_handler, - }, - { - /* Thumb mode */ - .instr_mask = 0xfffffff7, - .instr_val = 0x0000b650, - .pstate_mask = (PSR_AA32_T_BIT | PSR_AA32_MODE_MASK), - .pstate_val = (PSR_AA32_T_BIT | PSR_AA32_MODE_USR), - .fn = t16_setend_handler, - }, - {} -}; +static bool try_emulate_setend(struct pt_regs *regs, u32 insn) +{ + if (compat_thumb_mode(regs) && + (insn & 0xfffffff7) == 0x0000b650) + return t16_setend_handler(regs, insn) == 0; + + if (compat_user_mode(regs) && + (insn & 0xfffffdff) == 0xf1010000) + return a32_setend_handler(regs, insn) == 0; -static struct insn_emulation_ops setend_ops = { + return false; +} + +static struct insn_emulation insn_setend = { .name = "setend", .status = INSN_DEPRECATED, - .hooks = setend_hooks, + .try_emulate = try_emulate_setend, .set_hw_mode = setend_set_hw_mode, }; +#endif /* CONFIG_SETEND_EMULATION */ + +static struct insn_emulation *insn_emulations[] = { +#ifdef CONFIG_SWP_EMULATION + &insn_swp, +#endif +#ifdef CONFIG_CP15_BARRIER_EMULATION + &insn_cp15_barrier, +#endif +#ifdef CONFIG_SETEND_EMULATION + &insn_setend, +#endif +}; + +static DEFINE_MUTEX(insn_emulation_mutex); + +static void enable_insn_hw_mode(void *data) +{ + struct insn_emulation *insn = (struct insn_emulation *)data; + if (insn->set_hw_mode) + insn->set_hw_mode(true); +} + +static void disable_insn_hw_mode(void *data) +{ + struct insn_emulation *insn = (struct insn_emulation *)data; + if (insn->set_hw_mode) + insn->set_hw_mode(false); +} + +/* Run set_hw_mode(mode) on all active CPUs */ +static int run_all_cpu_set_hw_mode(struct insn_emulation *insn, bool enable) +{ + if (!insn->set_hw_mode) + return -EINVAL; + if (enable) + on_each_cpu(enable_insn_hw_mode, (void *)insn, true); + else + on_each_cpu(disable_insn_hw_mode, (void *)insn, true); + return 0; +} + +/* + * Run set_hw_mode for all insns on a starting CPU. + * Returns: + * 0 - If all the hooks ran successfully. + * -EINVAL - At least one hook is not supported by the CPU. + */ +static int run_all_insn_set_hw_mode(unsigned int cpu) +{ + int i; + int rc = 0; + unsigned long flags; + + /* + * Disable IRQs to serialize against an IPI from + * run_all_cpu_set_hw_mode(), ensuring the HW is programmed to the most + * recent enablement state if the two race with one another. + */ + local_irq_save(flags); + for (i = 0; i < ARRAY_SIZE(insn_emulations); i++) { + struct insn_emulation *insn = insn_emulations[i]; + bool enable = READ_ONCE(insn->current_mode) == INSN_HW; + if (insn->set_hw_mode && insn->set_hw_mode(enable)) { + pr_warn("CPU[%u] cannot support the emulation of %s", + cpu, insn->name); + rc = -EINVAL; + } + } + local_irq_restore(flags); + + return rc; +} + +static int update_insn_emulation_mode(struct insn_emulation *insn, + enum insn_emulation_mode prev) +{ + int ret = 0; + + switch (prev) { + case INSN_UNDEF: /* Nothing to be done */ + break; + case INSN_EMULATE: + break; + case INSN_HW: + if (!run_all_cpu_set_hw_mode(insn, false)) + pr_notice("Disabled %s support\n", insn->name); + break; + } + + switch (insn->current_mode) { + case INSN_UNDEF: + break; + case INSN_EMULATE: + break; + case INSN_HW: + ret = run_all_cpu_set_hw_mode(insn, true); + if (!ret) + pr_notice("Enabled %s support\n", insn->name); + break; + } + + return ret; +} + +static int emulation_proc_handler(struct ctl_table *table, int write, + void *buffer, size_t *lenp, + loff_t *ppos) +{ + int ret = 0; + struct insn_emulation *insn = container_of(table->data, struct insn_emulation, current_mode); + enum insn_emulation_mode prev_mode = insn->current_mode; + + mutex_lock(&insn_emulation_mutex); + ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos); + + if (ret || !write || prev_mode == insn->current_mode) + goto ret; + + ret = update_insn_emulation_mode(insn, prev_mode); + if (ret) { + /* Mode change failed, revert to previous mode. */ + WRITE_ONCE(insn->current_mode, prev_mode); + update_insn_emulation_mode(insn, INSN_UNDEF); + } +ret: + mutex_unlock(&insn_emulation_mutex); + return ret; +} + +static void __init register_insn_emulation(struct insn_emulation *insn) +{ + struct ctl_table *sysctl; + + insn->min = INSN_UNDEF; + + switch (insn->status) { + case INSN_DEPRECATED: + insn->current_mode = INSN_EMULATE; + /* Disable the HW mode if it was turned on at early boot time */ + run_all_cpu_set_hw_mode(insn, false); + insn->max = INSN_HW; + break; + case INSN_OBSOLETE: + insn->current_mode = INSN_UNDEF; + insn->max = INSN_EMULATE; + break; + case INSN_UNAVAILABLE: + insn->current_mode = INSN_UNDEF; + insn->max = INSN_UNDEF; + break; + } + + /* Program the HW if required */ + update_insn_emulation_mode(insn, INSN_UNDEF); + + if (insn->status != INSN_UNAVAILABLE) { + sysctl = &insn->sysctl[0]; + + sysctl->mode = 0644; + sysctl->maxlen = sizeof(int); + + sysctl->procname = insn->name; + sysctl->data = &insn->current_mode; + sysctl->extra1 = &insn->min; + sysctl->extra2 = &insn->max; + sysctl->proc_handler = emulation_proc_handler; + + register_sysctl("abi", sysctl); + } +} + +bool try_emulate_armv8_deprecated(struct pt_regs *regs, u32 insn) +{ + int i; + + for (i = 0; i < ARRAY_SIZE(insn_emulations); i++) { + struct insn_emulation *ie = insn_emulations[i]; + + if (ie->status == INSN_UNAVAILABLE) + continue; + + /* + * A trap may race with the mode being changed + * INSN_EMULATE<->INSN_HW. Try to emulate the instruction to + * avoid a spurious UNDEF. + */ + if (READ_ONCE(ie->current_mode) == INSN_UNDEF) + continue; + + if (ie->try_emulate(regs, insn)) + return true; + } + + return false; +} /* * Invoked as core_initcall, which guarantees that the instruction @@ -624,24 +611,27 @@ */ static int __init armv8_deprecated_init(void) { - if (IS_ENABLED(CONFIG_SWP_EMULATION)) - register_insn_emulation(&swp_ops); + int i; - if (IS_ENABLED(CONFIG_CP15_BARRIER_EMULATION)) - register_insn_emulation(&cp15_barrier_ops); +#ifdef CONFIG_SETEND_EMULATION + if (!system_supports_mixed_endian_el0()) { + insn_setend.status = INSN_UNAVAILABLE; + pr_info("setend instruction emulation is not supported on this system\n"); + } - if (IS_ENABLED(CONFIG_SETEND_EMULATION)) { - if (system_supports_mixed_endian_el0()) - register_insn_emulation(&setend_ops); - else - pr_info("setend instruction emulation is not supported on this system\n"); +#endif + for (i = 0; i < ARRAY_SIZE(insn_emulations); i++) { + struct insn_emulation *ie = insn_emulations[i]; + + if (ie->status == INSN_UNAVAILABLE) + continue; + + register_insn_emulation(ie); } cpuhp_setup_state_nocalls(CPUHP_AP_ARM64_ISNDEP_STARTING, "arm64/isndep:starting", run_all_insn_set_hw_mode, NULL); - register_insn_emulation_sysctl(); - return 0; } diff -Nru linux-5.10.197/arch/arm64/kernel/cpufeature.c linux-5.10.205/arch/arm64/kernel/cpufeature.c --- linux-5.10.197/arch/arm64/kernel/cpufeature.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm64/kernel/cpufeature.c 2023-12-20 14:44:42.000000000 +0000 @@ -2852,35 +2852,22 @@ return rc; } -static int emulate_mrs(struct pt_regs *regs, u32 insn) +bool try_emulate_mrs(struct pt_regs *regs, u32 insn) { u32 sys_reg, rt; + if (compat_user_mode(regs) || !aarch64_insn_is_mrs(insn)) + return false; + /* * sys_reg values are defined as used in mrs/msr instruction. * shift the imm value to get the encoding. */ sys_reg = (u32)aarch64_insn_decode_immediate(AARCH64_INSN_IMM_16, insn) << 5; rt = aarch64_insn_decode_register(AARCH64_INSN_REGTYPE_RT, insn); - return do_emulate_mrs(regs, sys_reg, rt); -} - -static struct undef_hook mrs_hook = { - .instr_mask = 0xfff00000, - .instr_val = 0xd5300000, - .pstate_mask = PSR_AA32_MODE_MASK, - .pstate_val = PSR_MODE_EL0t, - .fn = emulate_mrs, -}; - -static int __init enable_mrs_emulation(void) -{ - register_undef_hook(&mrs_hook); - return 0; + return do_emulate_mrs(regs, sys_reg, rt) == 0; } -core_initcall(enable_mrs_emulation); - ssize_t cpu_show_meltdown(struct device *dev, struct device_attribute *attr, char *buf) { diff -Nru linux-5.10.197/arch/arm64/kernel/entry-common.c linux-5.10.205/arch/arm64/kernel/entry-common.c --- linux-5.10.197/arch/arm64/kernel/entry-common.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm64/kernel/entry-common.c 2023-12-20 14:44:42.000000000 +0000 @@ -132,11 +132,20 @@ exit_to_kernel_mode(regs); } -static void noinstr el1_undef(struct pt_regs *regs) +static void noinstr el1_undef(struct pt_regs *regs, unsigned long esr) { enter_from_kernel_mode(regs); local_daif_inherit(regs); - do_undefinstr(regs); + do_el1_undef(regs, esr); + local_daif_mask(); + exit_to_kernel_mode(regs); +} + +static void noinstr el1_bti(struct pt_regs *regs, unsigned long esr) +{ + enter_from_kernel_mode(regs); + local_daif_inherit(regs); + do_el1_bti(regs, esr); local_daif_mask(); exit_to_kernel_mode(regs); } @@ -187,7 +196,7 @@ { enter_from_kernel_mode(regs); local_daif_inherit(regs); - do_ptrauth_fault(regs, esr); + do_el1_fpac(regs, esr); local_daif_mask(); exit_to_kernel_mode(regs); } @@ -210,7 +219,10 @@ break; case ESR_ELx_EC_SYS64: case ESR_ELx_EC_UNKNOWN: - el1_undef(regs); + el1_undef(regs, esr); + break; + case ESR_ELx_EC_BTI: + el1_bti(regs, esr); break; case ESR_ELx_EC_BREAKPT_CUR: case ESR_ELx_EC_SOFTSTP_CUR: @@ -294,7 +306,7 @@ { enter_from_user_mode(); local_daif_restore(DAIF_PROCCTX); - do_sysinstr(esr, regs); + do_el0_sys(esr, regs); } static void noinstr el0_pc(struct pt_regs *regs, unsigned long esr) @@ -316,18 +328,18 @@ do_sp_pc_abort(regs->sp, esr, regs); } -static void noinstr el0_undef(struct pt_regs *regs) +static void noinstr el0_undef(struct pt_regs *regs, unsigned long esr) { enter_from_user_mode(); local_daif_restore(DAIF_PROCCTX); - do_undefinstr(regs); + do_el0_undef(regs, esr); } static void noinstr el0_bti(struct pt_regs *regs) { enter_from_user_mode(); local_daif_restore(DAIF_PROCCTX); - do_bti(regs); + do_el0_bti(regs); } static void noinstr el0_inv(struct pt_regs *regs, unsigned long esr) @@ -357,7 +369,7 @@ { enter_from_user_mode(); local_daif_restore(DAIF_PROCCTX); - do_ptrauth_fault(regs, esr); + do_el0_fpac(regs, esr); } asmlinkage void noinstr el0_sync_handler(struct pt_regs *regs) @@ -394,7 +406,7 @@ el0_pc(regs, esr); break; case ESR_ELx_EC_UNKNOWN: - el0_undef(regs); + el0_undef(regs, esr); break; case ESR_ELx_EC_BTI: el0_bti(regs); @@ -418,7 +430,7 @@ { enter_from_user_mode(); local_daif_restore(DAIF_PROCCTX); - do_cp15instr(esr, regs); + do_el0_cp15(esr, regs); } static void noinstr el0_svc_compat(struct pt_regs *regs) @@ -454,7 +466,7 @@ case ESR_ELx_EC_CP14_MR: case ESR_ELx_EC_CP14_LS: case ESR_ELx_EC_CP14_64: - el0_undef(regs); + el0_undef(regs, esr); break; case ESR_ELx_EC_CP15_32: case ESR_ELx_EC_CP15_64: diff -Nru linux-5.10.197/arch/arm64/kernel/proton-pack.c linux-5.10.205/arch/arm64/kernel/proton-pack.c --- linux-5.10.197/arch/arm64/kernel/proton-pack.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm64/kernel/proton-pack.c 2023-12-20 14:44:42.000000000 +0000 @@ -537,10 +537,13 @@ return state != SPECTRE_UNAFFECTED; } -static int ssbs_emulation_handler(struct pt_regs *regs, u32 instr) +bool try_emulate_el1_ssbs(struct pt_regs *regs, u32 instr) { - if (user_mode(regs)) - return 1; + const u32 instr_mask = ~(1U << PSTATE_Imm_shift); + const u32 instr_val = 0xd500401f | PSTATE_SSBS; + + if ((instr & instr_mask) != instr_val) + return false; if (instr & BIT(PSTATE_Imm_shift)) regs->pstate |= PSR_SSBS_BIT; @@ -548,19 +551,11 @@ regs->pstate &= ~PSR_SSBS_BIT; arm64_skip_faulting_instruction(regs, 4); - return 0; + return true; } -static struct undef_hook ssbs_emulation_hook = { - .instr_mask = ~(1U << PSTATE_Imm_shift), - .instr_val = 0xd500401f | PSTATE_SSBS, - .fn = ssbs_emulation_handler, -}; - static enum mitigation_state spectre_v4_enable_hw_mitigation(void) { - static bool undef_hook_registered = false; - static DEFINE_RAW_SPINLOCK(hook_lock); enum mitigation_state state; /* @@ -571,13 +566,6 @@ if (state != SPECTRE_MITIGATED || !this_cpu_has_cap(ARM64_SSBS)) return state; - raw_spin_lock(&hook_lock); - if (!undef_hook_registered) { - register_undef_hook(&ssbs_emulation_hook); - undef_hook_registered = true; - } - raw_spin_unlock(&hook_lock); - if (spectre_v4_mitigations_off()) { sysreg_clear_set(sctlr_el1, 0, SCTLR_ELx_DSSBS); asm volatile(SET_PSTATE_SSBS(1)); diff -Nru linux-5.10.197/arch/arm64/kernel/traps.c linux-5.10.205/arch/arm64/kernel/traps.c --- linux-5.10.197/arch/arm64/kernel/traps.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/arm64/kernel/traps.c 2023-12-20 14:44:42.000000000 +0000 @@ -90,12 +90,12 @@ #define S_SMP " SMP" -static int __die(const char *str, int err, struct pt_regs *regs) +static int __die(const char *str, long err, struct pt_regs *regs) { static int die_counter; int ret; - pr_emerg("Internal error: %s: %x [#%d]" S_PREEMPT S_SMP "\n", + pr_emerg("Internal error: %s: %016lx [#%d]" S_PREEMPT S_SMP "\n", str, err, ++die_counter); /* trap and error numbers are mostly meaningless on ARM */ @@ -116,7 +116,7 @@ /* * This function is protected against re-entrancy. */ -void die(const char *str, struct pt_regs *regs, int err) +void die(const char *str, struct pt_regs *regs, long err) { int ret; unsigned long flags; @@ -282,51 +282,22 @@ regs->pstate &= ~PSR_BTYPE_MASK; } -static LIST_HEAD(undef_hook); -static DEFINE_RAW_SPINLOCK(undef_lock); - -void register_undef_hook(struct undef_hook *hook) +static int user_insn_read(struct pt_regs *regs, u32 *insnp) { - unsigned long flags; - - raw_spin_lock_irqsave(&undef_lock, flags); - list_add(&hook->node, &undef_hook); - raw_spin_unlock_irqrestore(&undef_lock, flags); -} - -void unregister_undef_hook(struct undef_hook *hook) -{ - unsigned long flags; - - raw_spin_lock_irqsave(&undef_lock, flags); - list_del(&hook->node); - raw_spin_unlock_irqrestore(&undef_lock, flags); -} - -static int call_undef_hook(struct pt_regs *regs) -{ - struct undef_hook *hook; - unsigned long flags; u32 instr; - int (*fn)(struct pt_regs *regs, u32 instr) = NULL; void __user *pc = (void __user *)instruction_pointer(regs); - if (!user_mode(regs)) { - __le32 instr_le; - if (get_kernel_nofault(instr_le, (__force __le32 *)pc)) - goto exit; - instr = le32_to_cpu(instr_le); - } else if (compat_thumb_mode(regs)) { + if (compat_thumb_mode(regs)) { /* 16-bit Thumb instruction */ __le16 instr_le; if (get_user(instr_le, (__le16 __user *)pc)) - goto exit; + return -EFAULT; instr = le16_to_cpu(instr_le); if (aarch32_insn_is_wide(instr)) { u32 instr2; if (get_user(instr_le, (__le16 __user *)(pc + 2))) - goto exit; + return -EFAULT; instr2 = le16_to_cpu(instr_le); instr = (instr << 16) | instr2; } @@ -334,19 +305,12 @@ /* 32-bit ARM instruction */ __le32 instr_le; if (get_user(instr_le, (__le32 __user *)pc)) - goto exit; + return -EFAULT; instr = le32_to_cpu(instr_le); } - raw_spin_lock_irqsave(&undef_lock, flags); - list_for_each_entry(hook, &undef_hook, node) - if ((instr & hook->instr_mask) == hook->instr_val && - (regs->pstate & hook->pstate_mask) == hook->pstate_val) - fn = hook->fn; - - raw_spin_unlock_irqrestore(&undef_lock, flags); -exit: - return fn ? fn(regs, instr) : 1; + *insnp = instr; + return 0; } void force_signal_inject(int signal, int code, unsigned long address, unsigned int err) @@ -395,37 +359,64 @@ force_signal_inject(SIGSEGV, code, addr, 0); } -void do_undefinstr(struct pt_regs *regs) +void do_el0_undef(struct pt_regs *regs, unsigned long esr) { + u32 insn; + /* check for AArch32 breakpoint instructions */ if (!aarch32_break_handler(regs)) return; - if (call_undef_hook(regs) == 0) + if (user_insn_read(regs, &insn)) + goto out_err; + + if (try_emulate_mrs(regs, insn)) return; - BUG_ON(!user_mode(regs)); + if (try_emulate_armv8_deprecated(regs, insn)) + return; + +out_err: force_signal_inject(SIGILL, ILL_ILLOPC, regs->pc, 0); } -NOKPROBE_SYMBOL(do_undefinstr); -void do_bti(struct pt_regs *regs) +void do_el1_undef(struct pt_regs *regs, unsigned long esr) +{ + u32 insn; + + if (aarch64_insn_read((void *)regs->pc, &insn)) + goto out_err; + + if (try_emulate_el1_ssbs(regs, insn)) + return; + +out_err: + die("Oops - Undefined instruction", regs, esr); +} + +void do_el0_bti(struct pt_regs *regs) { - BUG_ON(!user_mode(regs)); force_signal_inject(SIGILL, ILL_ILLOPC, regs->pc, 0); } -NOKPROBE_SYMBOL(do_bti); -void do_ptrauth_fault(struct pt_regs *regs, unsigned int esr) +void do_el1_bti(struct pt_regs *regs, unsigned long esr) +{ + die("Oops - BTI", regs, esr); +} + +void do_el0_fpac(struct pt_regs *regs, unsigned long esr) +{ + force_signal_inject(SIGILL, ILL_ILLOPN, regs->pc, esr); +} + +void do_el1_fpac(struct pt_regs *regs, unsigned long esr) { /* - * Unexpected FPAC exception or pointer authentication failure in - * the kernel: kill the task before it does any more harm. + * Unexpected FPAC exception in the kernel: kill the task before it + * does any more harm. */ - BUG_ON(!user_mode(regs)); - force_signal_inject(SIGILL, ILL_ILLOPN, regs->pc, esr); + die("Oops - FPAC", regs, esr); } -NOKPROBE_SYMBOL(do_ptrauth_fault); #define __user_cache_maint(insn, address, res) \ if (address >= user_addr_max()) { \ @@ -640,7 +631,7 @@ {}, }; -void do_cp15instr(unsigned int esr, struct pt_regs *regs) +void do_el0_cp15(unsigned long esr, struct pt_regs *regs) { const struct sys64_hook *hook, *hook_base; @@ -661,7 +652,7 @@ hook_base = cp15_64_hooks; break; default: - do_undefinstr(regs); + do_el0_undef(regs, esr); return; } @@ -676,12 +667,11 @@ * EL0. Fall back to our usual undefined instruction handler * so that we handle these consistently. */ - do_undefinstr(regs); + do_el0_undef(regs, esr); } -NOKPROBE_SYMBOL(do_cp15instr); #endif -void do_sysinstr(unsigned int esr, struct pt_regs *regs) +void do_el0_sys(unsigned long esr, struct pt_regs *regs) { const struct sys64_hook *hook; @@ -696,9 +686,8 @@ * back to our usual undefined instruction handler so that we handle * these consistently. */ - do_undefinstr(regs); + do_el0_undef(regs, esr); } -NOKPROBE_SYMBOL(do_sysinstr); static const char *esr_class_str[] = { [0 ... ESR_ELx_EC_MAX] = "UNRECOGNIZED EC", @@ -899,7 +888,7 @@ { switch (report_bug(regs->pc, regs)) { case BUG_TRAP_TYPE_BUG: - die("Oops - BUG", regs, 0); + die("Oops - BUG", regs, esr); break; case BUG_TRAP_TYPE_WARN: @@ -967,7 +956,7 @@ * This is something that might be fixed at some point in the future. */ if (!recover) - die("Oops - KASAN", regs, 0); + die("Oops - KASAN", regs, esr); /* If thread survives, skip over the brk instruction and continue: */ arm64_skip_faulting_instruction(regs, AARCH64_INSN_SIZE); diff -Nru linux-5.10.197/arch/mips/Kconfig linux-5.10.205/arch/mips/Kconfig --- linux-5.10.197/arch/mips/Kconfig 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/mips/Kconfig 2023-12-20 14:44:42.000000000 +0000 @@ -468,6 +468,7 @@ config MACH_LOONGSON64 bool "Loongson 64-bit family of machines" + select ARCH_DMA_DEFAULT_COHERENT select ARCH_SPARSEMEM_ENABLE select ARCH_MIGHT_HAVE_PC_PARPORT select ARCH_MIGHT_HAVE_PC_SERIO @@ -1379,6 +1380,7 @@ select CPU_SUPPORTS_MSA select CPU_DIEI_BROKEN if !LOONGSON3_ENHANCEMENT select CPU_MIPSR2_IRQ_VI + select DMA_NONCOHERENT select WEAK_ORDERING select WEAK_REORDERING_BEYOND_LLSC select MIPS_ASID_BITS_VARIABLE diff -Nru linux-5.10.197/arch/mips/alchemy/devboards/db1000.c linux-5.10.205/arch/mips/alchemy/devboards/db1000.c --- linux-5.10.197/arch/mips/alchemy/devboards/db1000.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/mips/alchemy/devboards/db1000.c 2023-12-20 14:44:42.000000000 +0000 @@ -164,6 +164,7 @@ /******************************************************************************/ +#ifdef CONFIG_MMC_AU1X static irqreturn_t db1100_mmc_cd(int irq, void *ptr) { mmc_detect_change(ptr, msecs_to_jiffies(500)); @@ -369,6 +370,7 @@ .num_resources = ARRAY_SIZE(au1100_mmc1_res), .resource = au1100_mmc1_res, }; +#endif /* CONFIG_MMC_AU1X */ /******************************************************************************/ @@ -432,8 +434,10 @@ static struct platform_device *db1100_devs[] = { &au1100_lcd_device, +#ifdef CONFIG_MMC_AU1X &db1100_mmc0_dev, &db1100_mmc1_dev, +#endif }; int __init db1000_dev_setup(void) diff -Nru linux-5.10.197/arch/mips/alchemy/devboards/db1200.c linux-5.10.205/arch/mips/alchemy/devboards/db1200.c --- linux-5.10.197/arch/mips/alchemy/devboards/db1200.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/mips/alchemy/devboards/db1200.c 2023-12-20 14:44:42.000000000 +0000 @@ -326,6 +326,7 @@ /**********************************************************************/ +#ifdef CONFIG_MMC_AU1X /* SD carddetects: they're supposed to be edge-triggered, but ack * doesn't seem to work (CPLD Rev 2). Instead, the screaming one * is disabled and its counterpart enabled. The 200ms timeout is @@ -584,6 +585,7 @@ .num_resources = ARRAY_SIZE(au1200_mmc1_res), .resource = au1200_mmc1_res, }; +#endif /* CONFIG_MMC_AU1X */ /**********************************************************************/ @@ -751,7 +753,9 @@ static struct platform_device *db1200_devs[] __initdata = { NULL, /* PSC0, selected by S6.8 */ &db1200_ide_dev, +#ifdef CONFIG_MMC_AU1X &db1200_mmc0_dev, +#endif &au1200_lcd_dev, &db1200_eth_dev, &db1200_nand_dev, @@ -762,7 +766,9 @@ }; static struct platform_device *pb1200_devs[] __initdata = { +#ifdef CONFIG_MMC_AU1X &pb1200_mmc1_dev, +#endif }; /* Some peripheral base addresses differ on the PB1200 */ diff -Nru linux-5.10.197/arch/mips/alchemy/devboards/db1300.c linux-5.10.205/arch/mips/alchemy/devboards/db1300.c --- linux-5.10.197/arch/mips/alchemy/devboards/db1300.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/mips/alchemy/devboards/db1300.c 2023-12-20 14:44:42.000000000 +0000 @@ -450,6 +450,7 @@ /**********************************************************************/ +#ifdef CONFIG_MMC_AU1X static irqreturn_t db1300_mmc_cd(int irq, void *ptr) { disable_irq_nosync(irq); @@ -632,6 +633,7 @@ .resource = au1300_sd0_res, .num_resources = ARRAY_SIZE(au1300_sd0_res), }; +#endif /* CONFIG_MMC_AU1X */ /**********************************************************************/ @@ -776,8 +778,10 @@ &db1300_5waysw_dev, &db1300_nand_dev, &db1300_ide_dev, +#ifdef CONFIG_MMC_AU1X &db1300_sd0_dev, &db1300_sd1_dev, +#endif &db1300_lcd_dev, &db1300_ac97_dev, &db1300_i2s_dev, diff -Nru linux-5.10.197/arch/mips/include/asm/mach-loongson64/boot_param.h linux-5.10.205/arch/mips/include/asm/mach-loongson64/boot_param.h --- linux-5.10.197/arch/mips/include/asm/mach-loongson64/boot_param.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/mips/include/asm/mach-loongson64/boot_param.h 2023-12-20 14:44:42.000000000 +0000 @@ -117,7 +117,8 @@ u64 pci_io_start_addr; u64 pci_io_end_addr; u64 pci_config_addr; - u32 dma_mask_bits; + u16 dma_mask_bits; + u16 dma_noncoherent; } __packed; struct interface_info { diff -Nru linux-5.10.197/arch/mips/kvm/mmu.c linux-5.10.205/arch/mips/kvm/mmu.c --- linux-5.10.197/arch/mips/kvm/mmu.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/mips/kvm/mmu.c 2023-12-20 14:44:42.000000000 +0000 @@ -667,7 +667,7 @@ gfn_t gfn = gpa >> PAGE_SHIFT; int srcu_idx, err; kvm_pfn_t pfn; - pte_t *ptep, entry, old_pte; + pte_t *ptep, entry; bool writeable; unsigned long prot_bits; unsigned long mmu_seq; @@ -739,7 +739,6 @@ entry = pfn_pte(pfn, __pgprot(prot_bits)); /* Write the PTE */ - old_pte = *ptep; set_pte(ptep, entry); err = 0; diff -Nru linux-5.10.197/arch/mips/loongson64/env.c linux-5.10.205/arch/mips/loongson64/env.c --- linux-5.10.197/arch/mips/loongson64/env.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/mips/loongson64/env.c 2023-12-20 14:44:42.000000000 +0000 @@ -13,6 +13,8 @@ * Copyright (C) 2009 Lemote Inc. * Author: Wu Zhangjin, wuzhangjin@gmail.com */ + +#include #include #include #include @@ -131,8 +133,14 @@ loongson_sysconf.pci_io_base = eirq_source->pci_io_start_addr; loongson_sysconf.dma_mask_bits = eirq_source->dma_mask_bits; if (loongson_sysconf.dma_mask_bits < 32 || - loongson_sysconf.dma_mask_bits > 64) + loongson_sysconf.dma_mask_bits > 64) { loongson_sysconf.dma_mask_bits = 32; + dma_default_coherent = true; + } else { + dma_default_coherent = !eirq_source->dma_noncoherent; + } + + pr_info("Firmware: Coherent DMA: %s\n", dma_default_coherent ? "on" : "off"); loongson_sysconf.restart_addr = boot_p->reset_system.ResetWarm; loongson_sysconf.poweroff_addr = boot_p->reset_system.Shutdown; diff -Nru linux-5.10.197/arch/mips/loongson64/init.c linux-5.10.205/arch/mips/loongson64/init.c --- linux-5.10.197/arch/mips/loongson64/init.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/mips/loongson64/init.c 2023-12-20 14:44:42.000000000 +0000 @@ -140,6 +140,11 @@ } } } + + /* Reserve vgabios if it comes from firmware */ + if (loongson_sysconf.vgabios_addr) + memblock_reserve(virt_to_phys((void *)loongson_sysconf.vgabios_addr), + SZ_256K); } void __init arch_init_irq(void) diff -Nru linux-5.10.197/arch/parisc/include/asm/ldcw.h linux-5.10.205/arch/parisc/include/asm/ldcw.h --- linux-5.10.197/arch/parisc/include/asm/ldcw.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/parisc/include/asm/ldcw.h 2023-12-20 14:44:42.000000000 +0000 @@ -2,14 +2,28 @@ #ifndef __PARISC_LDCW_H #define __PARISC_LDCW_H -#ifndef CONFIG_PA20 /* Because kmalloc only guarantees 8-byte alignment for kmalloc'd data, and GCC only guarantees 8-byte alignment for stack locals, we can't be assured of 16-byte alignment for atomic lock data even if we specify "__attribute ((aligned(16)))" in the type declaration. So, we use a struct containing an array of four ints for the atomic lock type and dynamically select the 16-byte aligned int from the array - for the semaphore. */ + for the semaphore. */ + +/* From: "Jim Hull" + I've attached a summary of the change, but basically, for PA 2.0, as + long as the ",CO" (coherent operation) completer is implemented, then the + 16-byte alignment requirement for ldcw and ldcd is relaxed, and instead + they only require "natural" alignment (4-byte for ldcw, 8-byte for + ldcd). + + Although the cache control hint is accepted by all PA 2.0 processors, + it is only implemented on PA8800/PA8900 CPUs. Prior PA8X00 CPUs still + require 16-byte alignment. If the address is unaligned, the operation + of the instruction is undefined. The ldcw instruction does not generate + unaligned data reference traps so misaligned accesses are not detected. + This hid the problem for years. So, restore the 16-byte alignment dropped + by Kyle McMartin in "Remove __ldcw_align for PA-RISC 2.0 processors". */ #define __PA_LDCW_ALIGNMENT 16 #define __PA_LDCW_ALIGN_ORDER 4 @@ -19,22 +33,12 @@ & ~(__PA_LDCW_ALIGNMENT - 1); \ (volatile unsigned int *) __ret; \ }) -#define __LDCW "ldcw" -#else /*CONFIG_PA20*/ -/* From: "Jim Hull" - I've attached a summary of the change, but basically, for PA 2.0, as - long as the ",CO" (coherent operation) completer is specified, then the - 16-byte alignment requirement for ldcw and ldcd is relaxed, and instead - they only require "natural" alignment (4-byte for ldcw, 8-byte for - ldcd). */ - -#define __PA_LDCW_ALIGNMENT 4 -#define __PA_LDCW_ALIGN_ORDER 2 -#define __ldcw_align(a) (&(a)->slock) +#ifdef CONFIG_PA20 #define __LDCW "ldcw,co" - -#endif /*!CONFIG_PA20*/ +#else +#define __LDCW "ldcw" +#endif /* LDCW, the only atomic read-write operation PA-RISC has. *sigh*. We don't explicitly expose that "*a" may be written as reload diff -Nru linux-5.10.197/arch/parisc/include/asm/ropes.h linux-5.10.205/arch/parisc/include/asm/ropes.h --- linux-5.10.197/arch/parisc/include/asm/ropes.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/parisc/include/asm/ropes.h 2023-12-20 14:44:42.000000000 +0000 @@ -86,6 +86,9 @@ struct ioc ioc[MAX_IOC]; }; +/* list of SBA's in system, see drivers/parisc/sba_iommu.c */ +extern struct sba_device *sba_list; + #define ASTRO_RUNWAY_PORT 0x582 #define IKE_MERCED_PORT 0x803 #define REO_MERCED_PORT 0x804 diff -Nru linux-5.10.197/arch/parisc/include/asm/spinlock_types.h linux-5.10.205/arch/parisc/include/asm/spinlock_types.h --- linux-5.10.197/arch/parisc/include/asm/spinlock_types.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/parisc/include/asm/spinlock_types.h 2023-12-20 14:44:42.000000000 +0000 @@ -3,13 +3,8 @@ #define __ASM_SPINLOCK_TYPES_H typedef struct { -#ifdef CONFIG_PA20 - volatile unsigned int slock; -# define __ARCH_SPIN_LOCK_UNLOCKED { 1 } -#else volatile unsigned int lock[4]; # define __ARCH_SPIN_LOCK_UNLOCKED { { 1, 1, 1, 1 } } -#endif } arch_spinlock_t; diff -Nru linux-5.10.197/arch/parisc/include/uapi/asm/errno.h linux-5.10.205/arch/parisc/include/uapi/asm/errno.h --- linux-5.10.197/arch/parisc/include/uapi/asm/errno.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/parisc/include/uapi/asm/errno.h 2023-12-20 14:44:42.000000000 +0000 @@ -75,7 +75,6 @@ /* We now return you to your regularly scheduled HPUX. */ -#define ENOSYM 215 /* symbol does not exist in executable */ #define ENOTSOCK 216 /* Socket operation on non-socket */ #define EDESTADDRREQ 217 /* Destination address required */ #define EMSGSIZE 218 /* Message too long */ @@ -101,7 +100,6 @@ #define ETIMEDOUT 238 /* Connection timed out */ #define ECONNREFUSED 239 /* Connection refused */ #define EREFUSED ECONNREFUSED /* for HP's NFS apparently */ -#define EREMOTERELEASE 240 /* Remote peer released connection */ #define EHOSTDOWN 241 /* Host is down */ #define EHOSTUNREACH 242 /* No route to host */ diff -Nru linux-5.10.197/arch/parisc/include/uapi/asm/pdc.h linux-5.10.205/arch/parisc/include/uapi/asm/pdc.h --- linux-5.10.197/arch/parisc/include/uapi/asm/pdc.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/parisc/include/uapi/asm/pdc.h 2023-12-20 14:44:42.000000000 +0000 @@ -465,6 +465,7 @@ unsigned long arch_rev; unsigned long pot_key; unsigned long curr_key; + unsigned long width; /* default of PSW_W bit (1=enabled) */ }; struct pdc_cache_cf { /* for PDC_CACHE (I/D-caches) */ diff -Nru linux-5.10.197/arch/parisc/kernel/drivers.c linux-5.10.205/arch/parisc/kernel/drivers.c --- linux-5.10.197/arch/parisc/kernel/drivers.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/parisc/kernel/drivers.c 2023-12-20 14:44:42.000000000 +0000 @@ -925,9 +925,9 @@ pr_info("#define PARISC_MODEL \"%s\"\n\n", boot_cpu_data.pdc.sys_model_name); + #define p ((unsigned long *)&boot_cpu_data.pdc.model) pr_info("#define PARISC_PDC_MODEL 0x%lx, 0x%lx, 0x%lx, " "0x%lx, 0x%lx, 0x%lx, 0x%lx, 0x%lx, 0x%lx\n\n", - #define p ((unsigned long *)&boot_cpu_data.pdc.model) p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7], p[8]); #undef p diff -Nru linux-5.10.197/arch/parisc/kernel/entry.S linux-5.10.205/arch/parisc/kernel/entry.S --- linux-5.10.197/arch/parisc/kernel/entry.S 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/parisc/kernel/entry.S 2023-12-20 14:44:42.000000000 +0000 @@ -497,13 +497,13 @@ * to a CPU TLB 4k PFN (4k => 12 bits to shift) */ #define PAGE_ADD_SHIFT (PAGE_SHIFT-12) #define PAGE_ADD_HUGE_SHIFT (REAL_HPAGE_SHIFT-12) + #define PFN_START_BIT (63-ASM_PFN_PTE_SHIFT+(63-58)-PAGE_ADD_SHIFT) /* Drop prot bits and convert to page addr for iitlbt and idtlbt */ .macro convert_for_tlb_insert20 pte,tmp #ifdef CONFIG_HUGETLB_PAGE copy \pte,\tmp - extrd,u \tmp,(63-ASM_PFN_PTE_SHIFT)+(63-58)+PAGE_ADD_SHIFT,\ - 64-PAGE_SHIFT-PAGE_ADD_SHIFT,\pte + extrd,u \tmp,PFN_START_BIT,PFN_START_BIT+1,\pte depdi _PAGE_SIZE_ENCODING_DEFAULT,63,\ (63-58)+PAGE_ADD_SHIFT,\pte @@ -511,8 +511,7 @@ depdi _HUGE_PAGE_SIZE_ENCODING_DEFAULT,63,\ (63-58)+PAGE_ADD_HUGE_SHIFT,\pte #else /* Huge pages disabled */ - extrd,u \pte,(63-ASM_PFN_PTE_SHIFT)+(63-58)+PAGE_ADD_SHIFT,\ - 64-PAGE_SHIFT-PAGE_ADD_SHIFT,\pte + extrd,u \pte,PFN_START_BIT,PFN_START_BIT+1,\pte depdi _PAGE_SIZE_ENCODING_DEFAULT,63,\ (63-58)+PAGE_ADD_SHIFT,\pte #endif diff -Nru linux-5.10.197/arch/parisc/kernel/head.S linux-5.10.205/arch/parisc/kernel/head.S --- linux-5.10.197/arch/parisc/kernel/head.S 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/parisc/kernel/head.S 2023-12-20 14:44:42.000000000 +0000 @@ -69,9 +69,8 @@ stw,ma %arg2,4(%r1) stw,ma %arg3,4(%r1) -#if !defined(CONFIG_64BIT) && defined(CONFIG_PA20) - /* This 32-bit kernel was compiled for PA2.0 CPUs. Check current CPU - * and halt kernel if we detect a PA1.x CPU. */ +#if defined(CONFIG_PA20) + /* check for 64-bit capable CPU as required by current kernel */ ldi 32,%r10 mtctl %r10,%cr11 .level 2.0 diff -Nru linux-5.10.197/arch/parisc/kernel/irq.c linux-5.10.205/arch/parisc/kernel/irq.c --- linux-5.10.197/arch/parisc/kernel/irq.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/parisc/kernel/irq.c 2023-12-20 14:44:42.000000000 +0000 @@ -388,7 +388,7 @@ volatile unsigned int lock[1]; }; -DEFINE_PER_CPU(union irq_stack_union, irq_stack_union) = { +static DEFINE_PER_CPU(union irq_stack_union, irq_stack_union) = { .slock = { 1,1,1,1 }, }; #endif diff -Nru linux-5.10.197/arch/powerpc/include/asm/nohash/32/pte-40x.h linux-5.10.205/arch/powerpc/include/asm/nohash/32/pte-40x.h --- linux-5.10.197/arch/powerpc/include/asm/nohash/32/pte-40x.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/powerpc/include/asm/nohash/32/pte-40x.h 2023-12-20 14:44:42.000000000 +0000 @@ -69,9 +69,6 @@ #define _PTE_NONE_MASK 0 -/* Until my rework is finished, 40x still needs atomic PTE updates */ -#define PTE_ATOMIC_UPDATES 1 - #define _PAGE_BASE_NC (_PAGE_PRESENT | _PAGE_ACCESSED) #define _PAGE_BASE (_PAGE_BASE_NC) diff -Nru linux-5.10.197/arch/powerpc/include/asm/nohash/32/pte-8xx.h linux-5.10.205/arch/powerpc/include/asm/nohash/32/pte-8xx.h --- linux-5.10.197/arch/powerpc/include/asm/nohash/32/pte-8xx.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/powerpc/include/asm/nohash/32/pte-8xx.h 2023-12-20 14:44:42.000000000 +0000 @@ -94,6 +94,13 @@ #define pte_wrprotect pte_wrprotect +static inline int pte_read(pte_t pte) +{ + return (pte_val(pte) & _PAGE_RO) != _PAGE_NA; +} + +#define pte_read pte_read + static inline int pte_write(pte_t pte) { return !(pte_val(pte) & _PAGE_RO); diff -Nru linux-5.10.197/arch/powerpc/include/asm/nohash/64/pgtable.h linux-5.10.205/arch/powerpc/include/asm/nohash/64/pgtable.h --- linux-5.10.197/arch/powerpc/include/asm/nohash/64/pgtable.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/powerpc/include/asm/nohash/64/pgtable.h 2023-12-20 14:44:42.000000000 +0000 @@ -216,7 +216,7 @@ { unsigned long old; - if (pte_young(*ptep)) + if (!pte_young(*ptep)) return 0; old = pte_update(mm, addr, ptep, _PAGE_ACCESSED, 0, 0); return (old & _PAGE_ACCESSED) != 0; diff -Nru linux-5.10.197/arch/powerpc/include/asm/nohash/pgtable.h linux-5.10.205/arch/powerpc/include/asm/nohash/pgtable.h --- linux-5.10.197/arch/powerpc/include/asm/nohash/pgtable.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/powerpc/include/asm/nohash/pgtable.h 2023-12-20 14:44:42.000000000 +0000 @@ -45,7 +45,9 @@ return pte_val(pte) & _PAGE_RW; } #endif +#ifndef pte_read static inline int pte_read(pte_t pte) { return 1; } +#endif static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; } static inline int pte_special(pte_t pte) { return pte_val(pte) & _PAGE_SPECIAL; } static inline int pte_none(pte_t pte) { return (pte_val(pte) & ~_PTE_NONE_MASK) == 0; } diff -Nru linux-5.10.197/arch/powerpc/kernel/fpu.S linux-5.10.205/arch/powerpc/kernel/fpu.S --- linux-5.10.197/arch/powerpc/kernel/fpu.S 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/powerpc/kernel/fpu.S 2023-12-20 14:44:42.000000000 +0000 @@ -23,6 +23,15 @@ #include #ifdef CONFIG_VSX +#define __REST_1FPVSR(n,c,base) \ +BEGIN_FTR_SECTION \ + b 2f; \ +END_FTR_SECTION_IFSET(CPU_FTR_VSX); \ + REST_FPR(n,base); \ + b 3f; \ +2: REST_VSR(n,c,base); \ +3: + #define __REST_32FPVSRS(n,c,base) \ BEGIN_FTR_SECTION \ b 2f; \ @@ -41,9 +50,11 @@ 2: SAVE_32VSRS(n,c,base); \ 3: #else +#define __REST_1FPVSR(n,b,base) REST_FPR(n, base) #define __REST_32FPVSRS(n,b,base) REST_32FPRS(n, base) #define __SAVE_32FPVSRS(n,b,base) SAVE_32FPRS(n, base) #endif +#define REST_1FPVSR(n,c,base) __REST_1FPVSR(n,__REG_##c,__REG_##base) #define REST_32FPVSRS(n,c,base) __REST_32FPVSRS(n,__REG_##c,__REG_##base) #define SAVE_32FPVSRS(n,c,base) __SAVE_32FPVSRS(n,__REG_##c,__REG_##base) @@ -67,6 +78,7 @@ SAVE_32FPVSRS(0, R4, R3) mffs fr0 stfd fr0,FPSTATE_FPSCR(r3) + REST_1FPVSR(0, R4, R3) blr EXPORT_SYMBOL(store_fp_state) @@ -132,4 +144,5 @@ 2: SAVE_32FPVSRS(0, R4, R6) mffs fr0 stfd fr0,FPSTATE_FPSCR(r6) + REST_1FPVSR(0, R4, R6) blr diff -Nru linux-5.10.197/arch/powerpc/kernel/hw_breakpoint.c linux-5.10.205/arch/powerpc/kernel/hw_breakpoint.c --- linux-5.10.197/arch/powerpc/kernel/hw_breakpoint.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/powerpc/kernel/hw_breakpoint.c 2023-12-20 14:44:42.000000000 +0000 @@ -479,11 +479,13 @@ struct arch_hw_breakpoint *info; int i; + preempt_disable(); + for (i = 0; i < nr_wp_slots(); i++) { if (unlikely(tsk->thread.last_hit_ubp[i])) goto reset; } - return; + goto out; reset: regs->msr &= ~MSR_SE; @@ -492,6 +494,9 @@ __set_breakpoint(i, info); tsk->thread.last_hit_ubp[i] = NULL; } + +out: + preempt_enable(); } static bool is_larx_stcx_instr(int type) diff -Nru linux-5.10.197/arch/powerpc/kernel/setup-common.c linux-5.10.205/arch/powerpc/kernel/setup-common.c --- linux-5.10.197/arch/powerpc/kernel/setup-common.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/powerpc/kernel/setup-common.c 2023-12-20 14:44:42.000000000 +0000 @@ -906,6 +906,8 @@ /* Parse memory topology */ mem_topology_setup(); + /* Set max_mapnr before paging_init() */ + set_max_mapnr(max_pfn); /* * Release secondary cpus out of their spinloops at 0x60 now that diff -Nru linux-5.10.197/arch/powerpc/kernel/trace/ftrace_64_mprofile.S linux-5.10.205/arch/powerpc/kernel/trace/ftrace_64_mprofile.S --- linux-5.10.197/arch/powerpc/kernel/trace/ftrace_64_mprofile.S 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/powerpc/kernel/trace/ftrace_64_mprofile.S 2023-12-20 14:44:42.000000000 +0000 @@ -36,6 +36,9 @@ /* Save the original return address in A's stack frame */ std r0,LRSAVE(r1) + /* Create a minimal stack frame for representing B */ + stdu r1, -STACK_FRAME_MIN_SIZE(r1) + /* Create our stack frame + pt_regs */ stdu r1,-SWITCH_FRAME_SIZE(r1) @@ -52,7 +55,7 @@ SAVE_10GPRS(22, r1) /* Save previous stack pointer (r1) */ - addi r8, r1, SWITCH_FRAME_SIZE + addi r8, r1, SWITCH_FRAME_SIZE+STACK_FRAME_MIN_SIZE std r8, GPR1(r1) /* Load special regs for save below */ @@ -65,6 +68,8 @@ mflr r7 /* Save it as pt_regs->nip */ std r7, _NIP(r1) + /* Also save it in B's stackframe header for proper unwind */ + std r7, LRSAVE+SWITCH_FRAME_SIZE(r1) /* Save the read LR in pt_regs->link */ std r0, _LINK(r1) @@ -121,7 +126,7 @@ ld r2, 24(r1) /* Pop our stack frame */ - addi r1, r1, SWITCH_FRAME_SIZE + addi r1, r1, SWITCH_FRAME_SIZE+STACK_FRAME_MIN_SIZE #ifdef CONFIG_LIVEPATCH /* Based on the cmpd above, if the NIP was altered handle livepatch */ @@ -145,7 +150,7 @@ mflr r3 mtctr r3 REST_GPR(3, r1) - addi r1, r1, SWITCH_FRAME_SIZE + addi r1, r1, SWITCH_FRAME_SIZE+STACK_FRAME_MIN_SIZE mtlr r0 bctr @@ -153,6 +158,9 @@ /* Save the original return address in A's stack frame */ std r0, LRSAVE(r1) + /* Create a minimal stack frame for representing B */ + stdu r1, -STACK_FRAME_MIN_SIZE(r1) + /* Create our stack frame + pt_regs */ stdu r1, -SWITCH_FRAME_SIZE(r1) @@ -166,6 +174,7 @@ /* Get the _mcount() call site out of LR */ mflr r7 std r7, _NIP(r1) + std r7, LRSAVE+SWITCH_FRAME_SIZE(r1) /* Save callee's TOC in the ABI compliant location */ std r2, 24(r1) @@ -200,7 +209,7 @@ ld r2, 24(r1) /* Pop our stack frame */ - addi r1, r1, SWITCH_FRAME_SIZE + addi r1, r1, SWITCH_FRAME_SIZE+STACK_FRAME_MIN_SIZE /* Reload original LR */ ld r0, LRSAVE(r1) diff -Nru linux-5.10.197/arch/powerpc/kernel/vector.S linux-5.10.205/arch/powerpc/kernel/vector.S --- linux-5.10.197/arch/powerpc/kernel/vector.S 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/powerpc/kernel/vector.S 2023-12-20 14:44:42.000000000 +0000 @@ -32,6 +32,7 @@ mfvscr v0 li r4, VRSTATE_VSCR stvx v0, r4, r3 + lvx v0, 0, r3 blr EXPORT_SYMBOL(store_vr_state) @@ -104,6 +105,7 @@ mfvscr v0 li r4,VRSTATE_VSCR stvx v0,r4,r7 + lvx v0,0,r7 blr #ifdef CONFIG_VSX diff -Nru linux-5.10.197/arch/powerpc/mm/mem.c linux-5.10.205/arch/powerpc/mm/mem.c --- linux-5.10.197/arch/powerpc/mm/mem.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/powerpc/mm/mem.c 2023-12-20 14:44:42.000000000 +0000 @@ -293,7 +293,6 @@ #endif high_memory = (void *) __va(max_low_pfn * PAGE_SIZE); - set_max_mapnr(max_pfn); kasan_late_init(); diff -Nru linux-5.10.197/arch/powerpc/perf/core-book3s.c linux-5.10.205/arch/powerpc/perf/core-book3s.c --- linux-5.10.197/arch/powerpc/perf/core-book3s.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/powerpc/perf/core-book3s.c 2023-12-20 14:44:42.000000000 +0000 @@ -1289,8 +1289,7 @@ /* * Disable instruction sampling if it was enabled */ - if (cpuhw->mmcr.mmcra & MMCRA_SAMPLE_ENABLE) - val &= ~MMCRA_SAMPLE_ENABLE; + val &= ~MMCRA_SAMPLE_ENABLE; /* Disable BHRB via mmcra (BHRBRD) for p10 */ if (ppmu->flags & PPMU_ARCH_31) @@ -1301,7 +1300,7 @@ * instruction sampling or BHRB. */ if (val != mmcra) { - mtspr(SPRN_MMCRA, mmcra); + mtspr(SPRN_MMCRA, val); mb(); isync(); } diff -Nru linux-5.10.197/arch/powerpc/perf/hv-24x7.c linux-5.10.205/arch/powerpc/perf/hv-24x7.c --- linux-5.10.197/arch/powerpc/perf/hv-24x7.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/powerpc/perf/hv-24x7.c 2023-12-20 14:44:42.000000000 +0000 @@ -1410,7 +1410,7 @@ } domain = event_get_domain(event); - if (domain >= HV_PERF_DOMAIN_MAX) { + if (domain == 0 || domain >= HV_PERF_DOMAIN_MAX) { pr_devel("invalid domain %d\n", domain); return -EINVAL; } diff -Nru linux-5.10.197/arch/powerpc/perf/imc-pmu.c linux-5.10.205/arch/powerpc/perf/imc-pmu.c --- linux-5.10.197/arch/powerpc/perf/imc-pmu.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/powerpc/perf/imc-pmu.c 2023-12-20 14:44:42.000000000 +0000 @@ -50,7 +50,7 @@ * core and trace-imc */ static struct imc_pmu_ref imc_global_refc = { - .lock = __SPIN_LOCK_INITIALIZER(imc_global_refc.lock), + .lock = __SPIN_LOCK_UNLOCKED(imc_global_refc.lock), .id = 0, .refc = 0, }; diff -Nru linux-5.10.197/arch/powerpc/platforms/pseries/lpar.c linux-5.10.205/arch/powerpc/platforms/pseries/lpar.c --- linux-5.10.197/arch/powerpc/platforms/pseries/lpar.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/powerpc/platforms/pseries/lpar.c 2023-12-20 14:44:42.000000000 +0000 @@ -523,8 +523,10 @@ if (cmd) { rc = init_cpu_associativity(); - if (rc) + if (rc) { + destroy_cpu_associativity(); goto out; + } for_each_possible_cpu(cpu) { disp = per_cpu_ptr(&vcpu_disp_data, cpu); diff -Nru linux-5.10.197/arch/powerpc/sysdev/xive/native.c linux-5.10.205/arch/powerpc/sysdev/xive/native.c --- linux-5.10.197/arch/powerpc/sysdev/xive/native.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/powerpc/sysdev/xive/native.c 2023-12-20 14:44:42.000000000 +0000 @@ -779,7 +779,7 @@ if (out_qpage) *out_qpage = be64_to_cpu(qpage); if (out_qsize) - *out_qsize = be32_to_cpu(qsize); + *out_qsize = be64_to_cpu(qsize); if (out_qeoi_page) *out_qeoi_page = be64_to_cpu(qeoi_page); if (out_escalate_irq) diff -Nru linux-5.10.197/arch/riscv/kernel/traps_misaligned.c linux-5.10.205/arch/riscv/kernel/traps_misaligned.c --- linux-5.10.197/arch/riscv/kernel/traps_misaligned.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/riscv/kernel/traps_misaligned.c 2023-12-20 14:44:42.000000000 +0000 @@ -344,16 +344,14 @@ } else if ((insn & INSN_MASK_C_SD) == INSN_MATCH_C_SD) { len = 8; val.data_ulong = GET_RS2S(insn, regs); - } else if ((insn & INSN_MASK_C_SDSP) == INSN_MATCH_C_SDSP && - ((insn >> SH_RD) & 0x1f)) { + } else if ((insn & INSN_MASK_C_SDSP) == INSN_MATCH_C_SDSP) { len = 8; val.data_ulong = GET_RS2C(insn, regs); #endif } else if ((insn & INSN_MASK_C_SW) == INSN_MATCH_C_SW) { len = 4; val.data_ulong = GET_RS2S(insn, regs); - } else if ((insn & INSN_MASK_C_SWSP) == INSN_MATCH_C_SWSP && - ((insn >> SH_RD) & 0x1f)) { + } else if ((insn & INSN_MASK_C_SWSP) == INSN_MATCH_C_SWSP) { len = 4; val.data_ulong = GET_RS2C(insn, regs); } else { diff -Nru linux-5.10.197/arch/riscv/net/bpf_jit_comp64.c linux-5.10.205/arch/riscv/net/bpf_jit_comp64.c --- linux-5.10.197/arch/riscv/net/bpf_jit_comp64.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/riscv/net/bpf_jit_comp64.c 2023-12-20 14:44:42.000000000 +0000 @@ -201,7 +201,7 @@ emit_addi(RV_REG_SP, RV_REG_SP, stack_adjust, ctx); /* Set return value. */ if (!is_tail_call) - emit_mv(RV_REG_A0, RV_REG_A5, ctx); + emit_addiw(RV_REG_A0, RV_REG_A5, 0, ctx); emit_jalr(RV_REG_ZERO, is_tail_call ? RV_REG_T3 : RV_REG_RA, is_tail_call ? 4 : 0, /* skip TCC init */ ctx); @@ -394,12 +394,12 @@ *rd = RV_REG_T2; } -static int emit_jump_and_link(u8 rd, s64 rvoff, bool force_jalr, +static int emit_jump_and_link(u8 rd, s64 rvoff, bool fixed_addr, struct rv_jit_context *ctx) { s64 upper, lower; - if (rvoff && is_21b_int(rvoff) && !force_jalr) { + if (rvoff && fixed_addr && is_21b_int(rvoff)) { emit(rv_jal(rd, rvoff >> 1), ctx); return 0; } else if (in_auipc_jalr_range(rvoff)) { @@ -420,24 +420,17 @@ cond == BPF_JSGE || cond == BPF_JSLE; } -static int emit_call(bool fixed, u64 addr, struct rv_jit_context *ctx) +static int emit_call(u64 addr, bool fixed_addr, struct rv_jit_context *ctx) { s64 off = 0; u64 ip; - u8 rd; - int ret; if (addr && ctx->insns) { ip = (u64)(long)(ctx->insns + ctx->ninsns); off = addr - ip; } - ret = emit_jump_and_link(RV_REG_RA, off, !fixed, ctx); - if (ret) - return ret; - rd = bpf_to_rv_reg(BPF_REG_0, ctx); - emit_mv(rd, RV_REG_A0, ctx); - return 0; + return emit_jump_and_link(RV_REG_RA, off, fixed_addr, ctx); } int bpf_jit_emit_insn(const struct bpf_insn *insn, struct rv_jit_context *ctx, @@ -731,7 +724,7 @@ /* JUMP off */ case BPF_JMP | BPF_JA: rvoff = rv_offset(i, off, ctx); - ret = emit_jump_and_link(RV_REG_ZERO, rvoff, false, ctx); + ret = emit_jump_and_link(RV_REG_ZERO, rvoff, true, ctx); if (ret) return ret; break; @@ -850,17 +843,21 @@ /* function call */ case BPF_JMP | BPF_CALL: { - bool fixed; + bool fixed_addr; u64 addr; mark_call(ctx); - ret = bpf_jit_get_func_addr(ctx->prog, insn, extra_pass, &addr, - &fixed); + ret = bpf_jit_get_func_addr(ctx->prog, insn, extra_pass, + &addr, &fixed_addr); if (ret < 0) return ret; - ret = emit_call(fixed, addr, ctx); + + ret = emit_call(addr, fixed_addr, ctx); if (ret) return ret; + + if (insn->src_reg != BPF_PSEUDO_CALL) + emit_mv(bpf_to_rv_reg(BPF_REG_0, ctx), RV_REG_A0, ctx); break; } /* tail call */ @@ -875,7 +872,7 @@ break; rvoff = epilogue_offset(ctx); - ret = emit_jump_and_link(RV_REG_ZERO, rvoff, false, ctx); + ret = emit_jump_and_link(RV_REG_ZERO, rvoff, true, ctx); if (ret) return ret; break; diff -Nru linux-5.10.197/arch/s390/mm/page-states.c linux-5.10.205/arch/s390/mm/page-states.c --- linux-5.10.197/arch/s390/mm/page-states.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/s390/mm/page-states.c 2023-12-20 14:44:42.000000000 +0000 @@ -112,7 +112,7 @@ next = pmd_addr_end(addr, end); if (pmd_none(*pmd) || pmd_large(*pmd)) continue; - page = virt_to_page(pmd_val(*pmd)); + page = phys_to_page(pmd_val(*pmd)); set_bit(PG_arch_1, &page->flags); } while (pmd++, addr = next, addr != end); } @@ -130,8 +130,8 @@ if (pud_none(*pud) || pud_large(*pud)) continue; if (!pud_folded(*pud)) { - page = virt_to_page(pud_val(*pud)); - for (i = 0; i < 3; i++) + page = phys_to_page(pud_val(*pud)); + for (i = 0; i < 4; i++) set_bit(PG_arch_1, &page[i].flags); } mark_kernel_pmd(pud, addr, next); @@ -151,8 +151,8 @@ if (p4d_none(*p4d)) continue; if (!p4d_folded(*p4d)) { - page = virt_to_page(p4d_val(*p4d)); - for (i = 0; i < 3; i++) + page = phys_to_page(p4d_val(*p4d)); + for (i = 0; i < 4; i++) set_bit(PG_arch_1, &page[i].flags); } mark_kernel_pud(p4d, addr, next); @@ -173,8 +173,8 @@ if (pgd_none(*pgd)) continue; if (!pgd_folded(*pgd)) { - page = virt_to_page(pgd_val(*pgd)); - for (i = 0; i < 3; i++) + page = phys_to_page(pgd_val(*pgd)); + for (i = 0; i < 4; i++) set_bit(PG_arch_1, &page[i].flags); } mark_kernel_p4d(pgd, addr, next); diff -Nru linux-5.10.197/arch/s390/mm/pgtable.c linux-5.10.205/arch/s390/mm/pgtable.c --- linux-5.10.197/arch/s390/mm/pgtable.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/s390/mm/pgtable.c 2023-12-20 14:44:42.000000000 +0000 @@ -717,7 +717,7 @@ pte_clear(mm, addr, ptep); } if (reset) - pgste_val(pgste) &= ~_PGSTE_GPS_USAGE_MASK; + pgste_val(pgste) &= ~(_PGSTE_GPS_USAGE_MASK | _PGSTE_GPS_NODAT); pgste_set_unlock(ptep, pgste); preempt_enable(); } diff -Nru linux-5.10.197/arch/s390/pci/pci_dma.c linux-5.10.205/arch/s390/pci/pci_dma.c --- linux-5.10.197/arch/s390/pci/pci_dma.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/s390/pci/pci_dma.c 2023-12-20 14:44:42.000000000 +0000 @@ -541,6 +541,17 @@ s->dma_length = 0; } } + +static unsigned long *bitmap_vzalloc(size_t bits, gfp_t flags) +{ + size_t n = BITS_TO_LONGS(bits); + size_t bytes; + + if (unlikely(check_mul_overflow(n, sizeof(unsigned long), &bytes))) + return NULL; + + return vzalloc(bytes); +} int zpci_dma_init_device(struct zpci_dev *zdev) { @@ -577,13 +588,13 @@ zdev->end_dma - zdev->start_dma + 1); zdev->end_dma = zdev->start_dma + zdev->iommu_size - 1; zdev->iommu_pages = zdev->iommu_size >> PAGE_SHIFT; - zdev->iommu_bitmap = vzalloc(zdev->iommu_pages / 8); + zdev->iommu_bitmap = bitmap_vzalloc(zdev->iommu_pages, GFP_KERNEL); if (!zdev->iommu_bitmap) { rc = -ENOMEM; goto free_dma_table; } if (!s390_iommu_strict) { - zdev->lazy_bitmap = vzalloc(zdev->iommu_pages / 8); + zdev->lazy_bitmap = bitmap_vzalloc(zdev->iommu_pages, GFP_KERNEL); if (!zdev->lazy_bitmap) { rc = -ENOMEM; goto free_bitmap; diff -Nru linux-5.10.197/arch/sh/Kconfig.debug linux-5.10.205/arch/sh/Kconfig.debug --- linux-5.10.197/arch/sh/Kconfig.debug 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/sh/Kconfig.debug 2023-12-20 14:44:42.000000000 +0000 @@ -25,6 +25,17 @@ every function call and will therefore incur a major performance hit. Most users should say N. +config EARLY_PRINTK + bool "Early printk" + depends on SH_STANDARD_BIOS + help + Say Y here to redirect kernel printk messages to the serial port + used by the SH-IPL bootloader, starting very early in the boot + process and ending when the kernel's serial console is initialised. + This option is only useful while porting the kernel to a new machine, + when the kernel may crash or hang before the serial console is + initialised. If unsure, say N. + config 4KSTACKS bool "Use 4Kb for kernel stacks instead of 8Kb" depends on DEBUG_KERNEL && (MMU || BROKEN) && !PAGE_SIZE_64KB diff -Nru linux-5.10.197/arch/sparc/lib/checksum_32.S linux-5.10.205/arch/sparc/lib/checksum_32.S --- linux-5.10.197/arch/sparc/lib/checksum_32.S 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/sparc/lib/checksum_32.S 2023-12-20 14:44:42.000000000 +0000 @@ -463,5 +463,5 @@ * we only bother with faults on loads... */ cc_fault: - ret + retl clr %o0 diff -Nru linux-5.10.197/arch/x86/boot/compressed/sev-es.c linux-5.10.205/arch/x86/boot/compressed/sev-es.c --- linux-5.10.197/arch/x86/boot/compressed/sev-es.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/boot/compressed/sev-es.c 2023-12-20 14:44:42.000000000 +0000 @@ -106,6 +106,16 @@ return ES_OK; } +static enum es_result vc_ioio_check(struct es_em_ctxt *ctxt, u16 port, size_t size) +{ + return ES_OK; +} + +static bool fault_in_kernel_space(unsigned long address) +{ + return false; +} + #undef __init #undef __pa #define __init diff -Nru linux-5.10.197/arch/x86/events/intel/pt.c linux-5.10.205/arch/x86/events/intel/pt.c --- linux-5.10.197/arch/x86/events/intel/pt.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/events/intel/pt.c 2023-12-20 14:44:42.000000000 +0000 @@ -1360,20 +1360,10 @@ } #ifdef CONFIG_X86_64 -static u64 canonical_address(u64 vaddr, u8 vaddr_bits) -{ - return ((s64)vaddr << (64 - vaddr_bits)) >> (64 - vaddr_bits); -} - -static u64 is_canonical_address(u64 vaddr, u8 vaddr_bits) -{ - return canonical_address(vaddr, vaddr_bits) == vaddr; -} - /* Clamp to a canonical address greater-than-or-equal-to the address given */ static u64 clamp_to_ge_canonical_addr(u64 vaddr, u8 vaddr_bits) { - return is_canonical_address(vaddr, vaddr_bits) ? + return __is_canonical_address(vaddr, vaddr_bits) ? vaddr : -BIT_ULL(vaddr_bits - 1); } @@ -1381,7 +1371,7 @@ /* Clamp to a canonical address less-than-or-equal-to the address given */ static u64 clamp_to_le_canonical_addr(u64 vaddr, u8 vaddr_bits) { - return is_canonical_address(vaddr, vaddr_bits) ? + return __is_canonical_address(vaddr, vaddr_bits) ? vaddr : BIT_ULL(vaddr_bits - 1) - 1; } diff -Nru linux-5.10.197/arch/x86/include/asm/i8259.h linux-5.10.205/arch/x86/include/asm/i8259.h --- linux-5.10.197/arch/x86/include/asm/i8259.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/include/asm/i8259.h 2023-12-20 14:44:42.000000000 +0000 @@ -67,6 +67,8 @@ void (*make_irq)(unsigned int irq); }; +void legacy_pic_pcat_compat(void); + extern struct legacy_pic *legacy_pic; extern struct legacy_pic null_legacy_pic; diff -Nru linux-5.10.197/arch/x86/include/asm/msr-index.h linux-5.10.205/arch/x86/include/asm/msr-index.h --- linux-5.10.197/arch/x86/include/asm/msr-index.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/include/asm/msr-index.h 2023-12-20 14:44:42.000000000 +0000 @@ -505,6 +505,7 @@ #define MSR_AMD64_CPUID_FN_1 0xc0011004 #define MSR_AMD64_LS_CFG 0xc0011020 #define MSR_AMD64_DC_CFG 0xc0011022 +#define MSR_AMD64_TW_CFG 0xc0011023 #define MSR_AMD64_DE_CFG 0xc0011029 #define MSR_AMD64_DE_CFG_LFENCE_SERIALIZE_BIT 1 @@ -541,12 +542,17 @@ #define MSR_AMD64_VIRT_SPEC_CTRL 0xc001011f -/* Fam 17h MSRs */ -#define MSR_F17H_IRPERF 0xc00000e9 +/* Zen4 */ +#define MSR_ZEN4_BP_CFG 0xc001102e +#define MSR_ZEN4_BP_CFG_SHARED_BTB_FIX_BIT 5 +/* Zen 2 */ #define MSR_ZEN2_SPECTRAL_CHICKEN 0xc00110e3 #define MSR_ZEN2_SPECTRAL_CHICKEN_BIT BIT_ULL(1) +/* Fam 17h MSRs */ +#define MSR_F17H_IRPERF 0xc00000e9 + /* Fam 16h MSRs */ #define MSR_F16H_L2I_PERF_CTL 0xc0010230 #define MSR_F16H_L2I_PERF_CTR 0xc0010231 diff -Nru linux-5.10.197/arch/x86/include/asm/numa.h linux-5.10.205/arch/x86/include/asm/numa.h --- linux-5.10.197/arch/x86/include/asm/numa.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/include/asm/numa.h 2023-12-20 14:44:42.000000000 +0000 @@ -12,13 +12,6 @@ #define NR_NODE_MEMBLKS (MAX_NUMNODES*2) -/* - * Too small node sizes may confuse the VM badly. Usually they - * result from BIOS bugs. So dont recognize nodes as standalone - * NUMA entities that have less than this amount of RAM listed: - */ -#define NODE_MIN_SIZE (4*1024*1024) - extern int numa_off; /* diff -Nru linux-5.10.197/arch/x86/include/asm/page.h linux-5.10.205/arch/x86/include/asm/page.h --- linux-5.10.197/arch/x86/include/asm/page.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/include/asm/page.h 2023-12-20 14:44:42.000000000 +0000 @@ -71,6 +71,16 @@ extern bool __virt_addr_valid(unsigned long kaddr); #define virt_addr_valid(kaddr) __virt_addr_valid((unsigned long) (kaddr)) +static __always_inline u64 __canonical_address(u64 vaddr, u8 vaddr_bits) +{ + return ((s64)vaddr << (64 - vaddr_bits)) >> (64 - vaddr_bits); +} + +static __always_inline u64 __is_canonical_address(u64 vaddr, u8 vaddr_bits) +{ + return __canonical_address(vaddr, vaddr_bits) == vaddr; +} + #endif /* __ASSEMBLY__ */ #include diff -Nru linux-5.10.197/arch/x86/include/asm/setup.h linux-5.10.205/arch/x86/include/asm/setup.h --- linux-5.10.197/arch/x86/include/asm/setup.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/include/asm/setup.h 2023-12-20 14:44:42.000000000 +0000 @@ -108,27 +108,16 @@ void *extend_brk(size_t size, size_t align); /* - * Reserve space in the brk section. The name must be unique within - * the file, and somewhat descriptive. The size is in bytes. Must be - * used at file scope. + * Reserve space in the .brk section, which is a block of memory from which the + * caller is allowed to allocate very early (before even memblock is available) + * by calling extend_brk(). All allocated memory will be eventually converted + * to memblock. Any leftover unallocated memory will be freed. * - * (This uses a temp function to wrap the asm so we can pass it the - * size parameter; otherwise we wouldn't be able to. We can't use a - * "section" attribute on a normal variable because it always ends up - * being @progbits, which ends up allocating space in the vmlinux - * executable.) + * The size is in bytes. */ -#define RESERVE_BRK(name,sz) \ - static void __section(".discard.text") __used notrace \ - __brk_reservation_fn_##name##__(void) { \ - asm volatile ( \ - ".pushsection .brk_reservation,\"aw\",@nobits;" \ - ".brk." #name ":" \ - " 1:.skip %c0;" \ - " .size .brk." #name ", . - 1b;" \ - " .popsection" \ - : : "i" (sz)); \ - } +#define RESERVE_BRK(name, size) \ + __section(".bss..brk") __aligned(1) __used \ + static char __brk_##name[size] /* Helper for reserving space for arrays of things */ #define RESERVE_BRK_ARRAY(type, name, entries) \ @@ -146,12 +135,19 @@ #endif /* __i386__ */ #endif /* _SETUP */ -#else -#define RESERVE_BRK(name,sz) \ - .pushsection .brk_reservation,"aw",@nobits; \ -.brk.name: \ -1: .skip sz; \ - .size .brk.name,.-1b; \ + +#else /* __ASSEMBLY */ + +.macro __RESERVE_BRK name, size + .pushsection .bss..brk, "aw" +SYM_DATA_START(__brk_\name) + .skip \size +SYM_DATA_END(__brk_\name) .popsection +.endm + +#define RESERVE_BRK(name, size) __RESERVE_BRK name, size + #endif /* __ASSEMBLY__ */ + #endif /* _ASM_X86_SETUP_H */ diff -Nru linux-5.10.197/arch/x86/include/asm/uaccess.h linux-5.10.205/arch/x86/include/asm/uaccess.h --- linux-5.10.197/arch/x86/include/asm/uaccess.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/include/asm/uaccess.h 2023-12-20 14:44:42.000000000 +0000 @@ -446,7 +446,7 @@ #define copy_mc_to_kernel copy_mc_to_kernel unsigned long __must_check -copy_mc_to_user(void *to, const void *from, unsigned len); +copy_mc_to_user(void __user *to, const void *from, unsigned len); #endif /* diff -Nru linux-5.10.197/arch/x86/kernel/acpi/boot.c linux-5.10.205/arch/x86/kernel/acpi/boot.c --- linux-5.10.197/arch/x86/kernel/acpi/boot.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/kernel/acpi/boot.c 2023-12-20 14:44:42.000000000 +0000 @@ -141,6 +141,9 @@ madt->address); } + if (madt->flags & ACPI_MADT_PCAT_COMPAT) + legacy_pic_pcat_compat(); + default_acpi_madt_oem_check(madt->header.oem_id, madt->header.oem_table_id); diff -Nru linux-5.10.197/arch/x86/kernel/alternative.c linux-5.10.205/arch/x86/kernel/alternative.c --- linux-5.10.197/arch/x86/kernel/alternative.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/kernel/alternative.c 2023-12-20 14:44:42.000000000 +0000 @@ -424,6 +424,17 @@ u8 insn_buff[MAX_PATCH_LEN]; DPRINTK("alt table %px, -> %px", start, end); + + /* + * In the case CONFIG_X86_5LEVEL=y, KASAN_SHADOW_START is defined using + * cpu_feature_enabled(X86_FEATURE_LA57) and is therefore patched here. + * During the process, KASAN becomes confused seeing partial LA57 + * conversion and triggers a false-positive out-of-bound report. + * + * Disable KASAN until the patching is complete. + */ + kasan_disable_current(); + /* * The scan order should be from start to end. A later scanned * alternative code can overwrite previously scanned alternative code. @@ -491,6 +502,8 @@ next: optimize_nops(instr, a->instrlen); } + + kasan_enable_current(); } #if defined(CONFIG_RETPOLINE) && defined(CONFIG_STACK_VALIDATION) diff -Nru linux-5.10.197/arch/x86/kernel/cpu/amd.c linux-5.10.205/arch/x86/kernel/cpu/amd.c --- linux-5.10.197/arch/x86/kernel/cpu/amd.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/kernel/cpu/amd.c 2023-12-20 14:44:42.000000000 +0000 @@ -81,6 +81,10 @@ AMD_LEGACY_ERRATUM(AMD_MODEL_RANGE(0x17, 0x00, 0x0, 0x2f, 0xf), AMD_MODEL_RANGE(0x17, 0x50, 0x0, 0x5f, 0xf)); +static const int amd_erratum_1485[] = + AMD_LEGACY_ERRATUM(AMD_MODEL_RANGE(0x19, 0x10, 0x0, 0x1f, 0xf), + AMD_MODEL_RANGE(0x19, 0x60, 0x0, 0xaf, 0xf)); + static bool cpu_has_amd_erratum(struct cpuinfo_x86 *cpu, const int *erratum) { int osvw_id = *erratum++; @@ -1178,6 +1182,10 @@ pr_notice_once("AMD Zen1 DIV0 bug detected. Disable SMT for full protection.\n"); setup_force_cpu_bug(X86_BUG_DIV0); } + + if (!cpu_has(c, X86_FEATURE_HYPERVISOR) && + cpu_has_amd_erratum(c, amd_erratum_1485)) + msr_set_bit(MSR_ZEN4_BP_CFG, MSR_ZEN4_BP_CFG_SHARED_BTB_FIX_BIT); } #ifdef CONFIG_X86_32 @@ -1320,6 +1328,9 @@ void amd_check_microcode(void) { + if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD) + return; + on_each_cpu(zenbleed_check_cpu, NULL, 1); } diff -Nru linux-5.10.197/arch/x86/kernel/cpu/bugs.c linux-5.10.205/arch/x86/kernel/cpu/bugs.c --- linux-5.10.197/arch/x86/kernel/cpu/bugs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/kernel/cpu/bugs.c 2023-12-20 14:44:42.000000000 +0000 @@ -2344,7 +2344,7 @@ switch (srso_cmd) { case SRSO_CMD_OFF: - return; + goto pred_cmd; case SRSO_CMD_MICROCODE: if (has_microcode) { @@ -2407,7 +2407,7 @@ pr_info("%s%s\n", srso_strings[srso_mitigation], (has_microcode ? "" : ", no microcode")); pred_cmd: - if ((boot_cpu_has(X86_FEATURE_SRSO_NO) || srso_cmd == SRSO_CMD_OFF) && + if ((!boot_cpu_has_bug(X86_BUG_SRSO) || srso_cmd == SRSO_CMD_OFF) && boot_cpu_has(X86_FEATURE_SBPB)) x86_pred_cmd = PRED_CMD_SBPB; } @@ -2622,7 +2622,7 @@ return sysfs_emit(buf, "%s%s\n", srso_strings[srso_mitigation], - (cpu_has_ibpb_brtype_microcode() ? "" : ", no microcode")); + boot_cpu_has(X86_FEATURE_IBPB_BRTYPE) ? "" : ", no microcode"); } static ssize_t cpu_show_common(struct device *dev, struct device_attribute *attr, diff -Nru linux-5.10.197/arch/x86/kernel/cpu/hygon.c linux-5.10.205/arch/x86/kernel/cpu/hygon.c --- linux-5.10.197/arch/x86/kernel/cpu/hygon.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/kernel/cpu/hygon.c 2023-12-20 14:44:42.000000000 +0000 @@ -89,8 +89,12 @@ if (!err) c->x86_coreid_bits = get_count_order(c->x86_max_cores); - /* Socket ID is ApicId[6] for these processors. */ - c->phys_proc_id = c->apicid >> APICID_SOCKET_ID_BIT; + /* + * Socket ID is ApicId[6] for the processors with model <= 0x3 + * when running on host. + */ + if (!boot_cpu_has(X86_FEATURE_HYPERVISOR) && c->x86_model <= 0x3) + c->phys_proc_id = c->apicid >> APICID_SOCKET_ID_BIT; cacheinfo_hygon_init_llc_id(c, cpu); } else if (cpu_has(c, X86_FEATURE_NODEID_MSR)) { diff -Nru linux-5.10.197/arch/x86/kernel/head64.c linux-5.10.205/arch/x86/kernel/head64.c --- linux-5.10.197/arch/x86/kernel/head64.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/kernel/head64.c 2023-12-20 14:44:42.000000000 +0000 @@ -80,7 +80,7 @@ * while the kernel still uses a direct mapping. */ static struct desc_ptr startup_gdt_descr = { - .size = sizeof(startup_gdt), + .size = sizeof(startup_gdt)-1, .address = 0, }; diff -Nru linux-5.10.197/arch/x86/kernel/i8259.c linux-5.10.205/arch/x86/kernel/i8259.c --- linux-5.10.197/arch/x86/kernel/i8259.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/kernel/i8259.c 2023-12-20 14:44:42.000000000 +0000 @@ -32,6 +32,7 @@ */ static void init_8259A(int auto_eoi); +static bool pcat_compat __ro_after_init; static int i8259A_auto_eoi; DEFINE_RAW_SPINLOCK(i8259A_lock); @@ -301,15 +302,32 @@ static int probe_8259A(void) { + unsigned char new_val, probe_val = ~(1 << PIC_CASCADE_IR); unsigned long flags; - unsigned char probe_val = ~(1 << PIC_CASCADE_IR); - unsigned char new_val; + + /* + * If MADT has the PCAT_COMPAT flag set, then do not bother probing + * for the PIC. Some BIOSes leave the PIC uninitialized and probing + * fails. + * + * Right now this causes problems as quite some code depends on + * nr_legacy_irqs() > 0 or has_legacy_pic() == true. This is silly + * when the system has an IO/APIC because then PIC is not required + * at all, except for really old machines where the timer interrupt + * must be routed through the PIC. So just pretend that the PIC is + * there and let legacy_pic->init() initialize it for nothing. + * + * Alternatively this could just try to initialize the PIC and + * repeat the probe, but for cases where there is no PIC that's + * just pointless. + */ + if (pcat_compat) + return nr_legacy_irqs(); + /* - * Check to see if we have a PIC. - * Mask all except the cascade and read - * back the value we just wrote. If we don't - * have a PIC, we will read 0xff as opposed to the - * value we wrote. + * Check to see if we have a PIC. Mask all except the cascade and + * read back the value we just wrote. If we don't have a PIC, we + * will read 0xff as opposed to the value we wrote. */ raw_spin_lock_irqsave(&i8259A_lock, flags); @@ -431,5 +449,9 @@ return 0; } - device_initcall(i8259A_init_ops); + +void __init legacy_pic_pcat_compat(void) +{ + pcat_compat = true; +} diff -Nru linux-5.10.197/arch/x86/kernel/setup.c linux-5.10.205/arch/x86/kernel/setup.c --- linux-5.10.197/arch/x86/kernel/setup.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/kernel/setup.c 2023-12-20 14:44:42.000000000 +0000 @@ -64,11 +64,6 @@ #endif -/* - * Range of the BSS area. The size of the BSS area is determined - * at link time, with RESERVE_BRK*() facility reserving additional - * chunks. - */ unsigned long _brk_start = (unsigned long)__brk_base; unsigned long _brk_end = (unsigned long)__brk_base; diff -Nru linux-5.10.197/arch/x86/kernel/sev-es-shared.c linux-5.10.205/arch/x86/kernel/sev-es-shared.c --- linux-5.10.197/arch/x86/kernel/sev-es-shared.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/kernel/sev-es-shared.c 2023-12-20 14:44:42.000000000 +0000 @@ -217,6 +217,23 @@ asm volatile("hlt\n"); } +static enum es_result vc_insn_string_check(struct es_em_ctxt *ctxt, + unsigned long address, + bool write) +{ + if (user_mode(ctxt->regs) && fault_in_kernel_space(address)) { + ctxt->fi.vector = X86_TRAP_PF; + ctxt->fi.error_code = X86_PF_USER; + ctxt->fi.cr2 = address; + if (write) + ctxt->fi.error_code |= X86_PF_WRITE; + + return ES_EXCEPTION; + } + + return ES_OK; +} + static enum es_result vc_insn_string_read(struct es_em_ctxt *ctxt, void *src, char *buf, unsigned int data_size, @@ -224,7 +241,12 @@ bool backwards) { int i, b = backwards ? -1 : 1; - enum es_result ret = ES_OK; + unsigned long address = (unsigned long)src; + enum es_result ret; + + ret = vc_insn_string_check(ctxt, address, false); + if (ret != ES_OK) + return ret; for (i = 0; i < count; i++) { void *s = src + (i * data_size * b); @@ -245,7 +267,12 @@ bool backwards) { int i, s = backwards ? -1 : 1; - enum es_result ret = ES_OK; + unsigned long address = (unsigned long)dst; + enum es_result ret; + + ret = vc_insn_string_check(ctxt, address, true); + if (ret != ES_OK) + return ret; for (i = 0; i < count; i++) { void *d = dst + (i * data_size * s); @@ -281,6 +308,9 @@ static enum es_result vc_ioio_exitinfo(struct es_em_ctxt *ctxt, u64 *exitinfo) { struct insn *insn = &ctxt->insn; + size_t size; + u64 port; + *exitinfo = 0; switch (insn->opcode.bytes[0]) { @@ -289,7 +319,7 @@ case 0x6d: *exitinfo |= IOIO_TYPE_INS; *exitinfo |= IOIO_SEG_ES; - *exitinfo |= (ctxt->regs->dx & 0xffff) << 16; + port = ctxt->regs->dx & 0xffff; break; /* OUTS opcodes */ @@ -297,41 +327,43 @@ case 0x6f: *exitinfo |= IOIO_TYPE_OUTS; *exitinfo |= IOIO_SEG_DS; - *exitinfo |= (ctxt->regs->dx & 0xffff) << 16; + port = ctxt->regs->dx & 0xffff; break; /* IN immediate opcodes */ case 0xe4: case 0xe5: *exitinfo |= IOIO_TYPE_IN; - *exitinfo |= (u8)insn->immediate.value << 16; + port = (u8)insn->immediate.value & 0xffff; break; /* OUT immediate opcodes */ case 0xe6: case 0xe7: *exitinfo |= IOIO_TYPE_OUT; - *exitinfo |= (u8)insn->immediate.value << 16; + port = (u8)insn->immediate.value & 0xffff; break; /* IN register opcodes */ case 0xec: case 0xed: *exitinfo |= IOIO_TYPE_IN; - *exitinfo |= (ctxt->regs->dx & 0xffff) << 16; + port = ctxt->regs->dx & 0xffff; break; /* OUT register opcodes */ case 0xee: case 0xef: *exitinfo |= IOIO_TYPE_OUT; - *exitinfo |= (ctxt->regs->dx & 0xffff) << 16; + port = ctxt->regs->dx & 0xffff; break; default: return ES_DECODE_FAILED; } + *exitinfo |= port << 16; + switch (insn->opcode.bytes[0]) { case 0x6c: case 0x6e: @@ -341,12 +373,15 @@ case 0xee: /* Single byte opcodes */ *exitinfo |= IOIO_DATA_8; + size = 1; break; default: /* Length determined by instruction parsing */ *exitinfo |= (insn->opnd_bytes == 2) ? IOIO_DATA_16 : IOIO_DATA_32; + size = (insn->opnd_bytes == 2) ? 2 : 4; } + switch (insn->addr_bytes) { case 2: *exitinfo |= IOIO_ADDR_16; @@ -362,7 +397,7 @@ if (insn_has_rep_prefix(insn)) *exitinfo |= IOIO_REP; - return ES_OK; + return vc_ioio_check(ctxt, (u16)port, size); } static enum es_result vc_handle_ioio(struct ghcb *ghcb, struct es_em_ctxt *ctxt) diff -Nru linux-5.10.197/arch/x86/kernel/sev-es.c linux-5.10.205/arch/x86/kernel/sev-es.c --- linux-5.10.197/arch/x86/kernel/sev-es.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/kernel/sev-es.c 2023-12-20 14:44:42.000000000 +0000 @@ -448,6 +448,33 @@ return ES_OK; } +static enum es_result vc_ioio_check(struct es_em_ctxt *ctxt, u16 port, size_t size) +{ + BUG_ON(size > 4); + + if (user_mode(ctxt->regs)) { + struct thread_struct *t = ¤t->thread; + struct io_bitmap *iobm = t->io_bitmap; + size_t idx; + + if (!iobm) + goto fault; + + for (idx = port; idx < port + size; ++idx) { + if (test_bit(idx, iobm->bitmap)) + goto fault; + } + } + + return ES_OK; + +fault: + ctxt->fi.vector = X86_TRAP_GP; + ctxt->fi.error_code = 0; + + return ES_EXCEPTION; +} + /* Include code shared with pre-decompression boot stage */ #include "sev-es-shared.c" @@ -970,6 +997,9 @@ enum es_result ret; long *reg_data; + if (user_mode(ctxt->regs)) + return ES_UNSUPPORTED; + switch (insn->opcode.bytes[0]) { /* MMIO Write */ case 0x88: diff -Nru linux-5.10.197/arch/x86/kernel/vmlinux.lds.S linux-5.10.205/arch/x86/kernel/vmlinux.lds.S --- linux-5.10.197/arch/x86/kernel/vmlinux.lds.S 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/kernel/vmlinux.lds.S 2023-12-20 14:44:42.000000000 +0000 @@ -414,7 +414,7 @@ .brk : AT(ADDR(.brk) - LOAD_OFFSET) { __brk_base = .; . += 64 * 1024; /* 64k alignment slop space */ - *(.brk_reservation) /* areas brk users have reserved */ + *(.bss..brk) /* areas brk users have reserved */ __brk_limit = .; } diff -Nru linux-5.10.197/arch/x86/kvm/emulate.c linux-5.10.205/arch/x86/kvm/emulate.c --- linux-5.10.197/arch/x86/kvm/emulate.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/kvm/emulate.c 2023-12-20 14:44:42.000000000 +0000 @@ -688,7 +688,7 @@ static inline bool emul_is_noncanonical_address(u64 la, struct x86_emulate_ctxt *ctxt) { - return get_canonical(la, ctxt_virt_addr_bits(ctxt)) != la; + return !__is_canonical_address(la, ctxt_virt_addr_bits(ctxt)); } /* @@ -738,7 +738,7 @@ case X86EMUL_MODE_PROT64: *linear = la; va_bits = ctxt_virt_addr_bits(ctxt); - if (get_canonical(la, va_bits) != la) + if (!__is_canonical_address(la, va_bits)) goto bad; *max_size = min_t(u64, ~0u, (1ull << va_bits) - la); diff -Nru linux-5.10.197/arch/x86/kvm/hyperv.c linux-5.10.205/arch/x86/kvm/hyperv.c --- linux-5.10.197/arch/x86/kvm/hyperv.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/kvm/hyperv.c 2023-12-20 14:44:42.000000000 +0000 @@ -674,10 +674,12 @@ stimer_cleanup(stimer); stimer->count = count; - if (stimer->count == 0) - stimer->config.enable = 0; - else if (stimer->config.auto_enable) - stimer->config.enable = 1; + if (!host) { + if (stimer->count == 0) + stimer->config.enable = 0; + else if (stimer->config.auto_enable) + stimer->config.enable = 1; + } if (stimer->config.enable) stimer_mark_pending(stimer, false); diff -Nru linux-5.10.197/arch/x86/kvm/lapic.c linux-5.10.205/arch/x86/kvm/lapic.c --- linux-5.10.197/arch/x86/kvm/lapic.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/kvm/lapic.c 2023-12-20 14:44:42.000000000 +0000 @@ -2397,13 +2397,17 @@ { u32 reg = kvm_lapic_get_reg(apic, lvt_type); int vector, mode, trig_mode; + int r; if (kvm_apic_hw_enabled(apic) && !(reg & APIC_LVT_MASKED)) { vector = reg & APIC_VECTOR_MASK; mode = reg & APIC_MODE_MASK; trig_mode = reg & APIC_LVT_LEVEL_TRIGGER; - return __apic_accept_irq(apic, mode, vector, 1, trig_mode, - NULL); + + r = __apic_accept_irq(apic, mode, vector, 1, trig_mode, NULL); + if (r && lvt_type == APIC_LVTPC) + kvm_lapic_set_reg(apic, APIC_LVTPC, reg | APIC_LVT_MASKED); + return r; } return 0; } diff -Nru linux-5.10.197/arch/x86/kvm/x86.c linux-5.10.205/arch/x86/kvm/x86.c --- linux-5.10.197/arch/x86/kvm/x86.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/kvm/x86.c 2023-12-20 14:44:42.000000000 +0000 @@ -1640,7 +1640,7 @@ * value, and that something deterministic happens if the guest * invokes 64-bit SYSENTER. */ - data = get_canonical(data, vcpu_virt_addr_bits(vcpu)); + data = __canonical_address(data, vcpu_virt_addr_bits(vcpu)); } msr.data = data; @@ -3132,6 +3132,7 @@ case MSR_AMD64_PATCH_LOADER: case MSR_AMD64_BU_CFG2: case MSR_AMD64_DC_CFG: + case MSR_AMD64_TW_CFG: case MSR_F15H_EX_CFG: break; @@ -3485,6 +3486,7 @@ case MSR_AMD64_BU_CFG2: case MSR_IA32_PERF_CTL: case MSR_AMD64_DC_CFG: + case MSR_AMD64_TW_CFG: case MSR_F15H_EX_CFG: /* * Intel Sandy Bridge CPUs must support the RAPL (running average power diff -Nru linux-5.10.197/arch/x86/kvm/x86.h linux-5.10.205/arch/x86/kvm/x86.h --- linux-5.10.197/arch/x86/kvm/x86.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/kvm/x86.h 2023-12-20 14:44:42.000000000 +0000 @@ -156,14 +156,9 @@ return kvm_read_cr4_bits(vcpu, X86_CR4_LA57) ? 57 : 48; } -static inline u64 get_canonical(u64 la, u8 vaddr_bits) -{ - return ((int64_t)la << (64 - vaddr_bits)) >> (64 - vaddr_bits); -} - static inline bool is_noncanonical_address(u64 la, struct kvm_vcpu *vcpu) { - return get_canonical(la, vcpu_virt_addr_bits(vcpu)) != la; + return !__is_canonical_address(la, vcpu_virt_addr_bits(vcpu)); } static inline void vcpu_cache_mmio_info(struct kvm_vcpu *vcpu, diff -Nru linux-5.10.197/arch/x86/lib/copy_mc.c linux-5.10.205/arch/x86/lib/copy_mc.c --- linux-5.10.197/arch/x86/lib/copy_mc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/lib/copy_mc.c 2023-12-20 14:44:42.000000000 +0000 @@ -74,23 +74,23 @@ } EXPORT_SYMBOL_GPL(copy_mc_to_kernel); -unsigned long __must_check copy_mc_to_user(void *dst, const void *src, unsigned len) +unsigned long __must_check copy_mc_to_user(void __user *dst, const void *src, unsigned len) { unsigned long ret; if (copy_mc_fragile_enabled) { __uaccess_begin(); - ret = copy_mc_fragile(dst, src, len); + ret = copy_mc_fragile((__force void *)dst, src, len); __uaccess_end(); return ret; } if (static_cpu_has(X86_FEATURE_ERMS)) { __uaccess_begin(); - ret = copy_mc_enhanced_fast_string(dst, src, len); + ret = copy_mc_enhanced_fast_string((__force void *)dst, src, len); __uaccess_end(); return ret; } - return copy_user_generic(dst, src, len); + return copy_user_generic((__force void *)dst, src, len); } diff -Nru linux-5.10.197/arch/x86/mm/maccess.c linux-5.10.205/arch/x86/mm/maccess.c --- linux-5.10.197/arch/x86/mm/maccess.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/mm/maccess.c 2023-12-20 14:44:42.000000000 +0000 @@ -4,22 +4,26 @@ #include #ifdef CONFIG_X86_64 -static __always_inline u64 canonical_address(u64 vaddr, u8 vaddr_bits) -{ - return ((s64)vaddr << (64 - vaddr_bits)) >> (64 - vaddr_bits); -} - bool copy_from_kernel_nofault_allowed(const void *unsafe_src, size_t size) { unsigned long vaddr = (unsigned long)unsafe_src; /* - * Range covering the highest possible canonical userspace address - * as well as non-canonical address range. For the canonical range - * we also need to include the userspace guard page. + * Do not allow userspace addresses. This disallows + * normal userspace and the userspace guard page: */ - return vaddr >= TASK_SIZE_MAX + PAGE_SIZE && - canonical_address(vaddr, boot_cpu_data.x86_virt_bits) == vaddr; + if (vaddr < TASK_SIZE_MAX + PAGE_SIZE) + return false; + + /* + * Allow everything during early boot before 'x86_virt_bits' + * is initialized. Needed for instruction decoding in early + * exception handlers. + */ + if (!boot_cpu_data.x86_virt_bits) + return true; + + return __is_canonical_address(vaddr, boot_cpu_data.x86_virt_bits); } #else bool copy_from_kernel_nofault_allowed(const void *unsafe_src, size_t size) diff -Nru linux-5.10.197/arch/x86/mm/numa.c linux-5.10.205/arch/x86/mm/numa.c --- linux-5.10.197/arch/x86/mm/numa.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/x86/mm/numa.c 2023-12-20 14:44:42.000000000 +0000 @@ -602,13 +602,6 @@ if (start >= end) continue; - /* - * Don't confuse VM with a node that doesn't have the - * minimum amount of memory: - */ - if (end && (end - start) < NODE_MIN_SIZE) - continue; - alloc_node_data(nid); } diff -Nru linux-5.10.197/arch/xtensa/boot/Makefile linux-5.10.205/arch/xtensa/boot/Makefile --- linux-5.10.197/arch/xtensa/boot/Makefile 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/xtensa/boot/Makefile 2023-12-20 14:44:42.000000000 +0000 @@ -9,8 +9,7 @@ # KBUILD_CFLAGS used when building rest of boot (takes effect recursively) -KBUILD_CFLAGS += -fno-builtin -Iarch/$(ARCH)/boot/include -HOSTFLAGS += -Iarch/$(ARCH)/boot/include +KBUILD_CFLAGS += -fno-builtin BIG_ENDIAN := $(shell echo __XTENSA_EB__ | $(CC) -E - | grep -v "\#") diff -Nru linux-5.10.197/arch/xtensa/boot/lib/zmem.c linux-5.10.205/arch/xtensa/boot/lib/zmem.c --- linux-5.10.197/arch/xtensa/boot/lib/zmem.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/xtensa/boot/lib/zmem.c 2023-12-20 14:44:42.000000000 +0000 @@ -4,13 +4,14 @@ /* bits taken from ppc */ extern void *avail_ram, *end_avail; +void gunzip(void *dst, int dstlen, unsigned char *src, int *lenp); -void exit (void) +static void exit(void) { for (;;); } -void *zalloc(unsigned size) +static void *zalloc(unsigned int size) { void *p = avail_ram; diff -Nru linux-5.10.197/arch/xtensa/include/asm/core.h linux-5.10.205/arch/xtensa/include/asm/core.h --- linux-5.10.197/arch/xtensa/include/asm/core.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/xtensa/include/asm/core.h 2023-12-20 14:44:42.000000000 +0000 @@ -6,6 +6,10 @@ #include +#ifndef XCHAL_HAVE_DIV32 +#define XCHAL_HAVE_DIV32 0 +#endif + #ifndef XCHAL_HAVE_EXCLUSIVE #define XCHAL_HAVE_EXCLUSIVE 0 #endif diff -Nru linux-5.10.197/arch/xtensa/platforms/iss/network.c linux-5.10.205/arch/xtensa/platforms/iss/network.c --- linux-5.10.197/arch/xtensa/platforms/iss/network.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/arch/xtensa/platforms/iss/network.c 2023-12-20 14:44:42.000000000 +0000 @@ -204,7 +204,7 @@ return simc_write(lp->tp.info.tuntap.fd, (*skb)->data, (*skb)->len); } -unsigned short tuntap_protocol(struct sk_buff *skb) +static unsigned short tuntap_protocol(struct sk_buff *skb) { return eth_type_trans(skb, skb->dev); } @@ -477,7 +477,7 @@ return -EINVAL; } -void iss_net_user_timer_expire(struct timer_list *unused) +static void iss_net_user_timer_expire(struct timer_list *unused) { } diff -Nru linux-5.10.197/block/blk-core.c linux-5.10.205/block/blk-core.c --- linux-5.10.197/block/blk-core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/block/blk-core.c 2023-12-20 14:44:42.000000000 +0000 @@ -414,8 +414,6 @@ blk_mq_sched_free_requests(q); mutex_unlock(&q->sysfs_lock); - percpu_ref_exit(&q->q_usage_counter); - /* @q is and will stay empty, shutdown and put */ blk_put_queue(q); } diff -Nru linux-5.10.197/block/blk-sysfs.c linux-5.10.205/block/blk-sysfs.c --- linux-5.10.197/block/blk-sysfs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/block/blk-sysfs.c 2023-12-20 14:44:42.000000000 +0000 @@ -726,6 +726,8 @@ { struct request_queue *q = container_of(rcu_head, struct request_queue, rcu_head); + + percpu_ref_exit(&q->q_usage_counter); kmem_cache_free(blk_requestq_cachep, q); } diff -Nru linux-5.10.197/block/blk-throttle.c linux-5.10.205/block/blk-throttle.c --- linux-5.10.197/block/blk-throttle.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/block/blk-throttle.c 2023-12-20 14:44:42.000000000 +0000 @@ -1409,6 +1409,7 @@ tg_bps_limit(tg, READ), tg_bps_limit(tg, WRITE), tg_iops_limit(tg, READ), tg_iops_limit(tg, WRITE)); + rcu_read_lock(); /* * Update has_rules[] flags for the updated tg's subtree. A tg is * considered to have rules if either the tg itself or any of its @@ -1436,6 +1437,7 @@ this_tg->latency_target = max(this_tg->latency_target, parent_tg->latency_target); } + rcu_read_unlock(); /* * We're already holding queue_lock and know @tg is valid. Let's diff -Nru linux-5.10.197/crypto/pcrypt.c linux-5.10.205/crypto/pcrypt.c --- linux-5.10.197/crypto/pcrypt.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/crypto/pcrypt.c 2023-12-20 14:44:42.000000000 +0000 @@ -117,6 +117,8 @@ err = padata_do_parallel(ictx->psenc, padata, &ctx->cb_cpu); if (!err) return -EINPROGRESS; + if (err == -EBUSY) + return -EAGAIN; return err; } @@ -164,6 +166,8 @@ err = padata_do_parallel(ictx->psdec, padata, &ctx->cb_cpu); if (!err) return -EINPROGRESS; + if (err == -EBUSY) + return -EAGAIN; return err; } diff -Nru linux-5.10.197/debian/changelog linux-5.10.205/debian/changelog --- linux-5.10.197/debian/changelog 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/changelog 2023-12-31 15:46:35.000000000 +0000 @@ -1,3 +1,1080 @@ +linux (5.10.205-2) bullseye-security; urgency=high + + * Revert "MIPS: Loongson64: Enable DMA noncoherent support" (fixes FTBFS) + + -- Salvatore Bonaccorso Sun, 31 Dec 2023 16:46:35 +0100 + +linux (5.10.205-1) bullseye-security; urgency=high + + * New upstream stable update: + https://www.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.10.198 + - NFS: Use the correct commit info in nfs_join_page_group() + - NFS/pNFS: Report EINVAL errors from connect() to the server + - SUNRPC: Mark the cred for revalidation if the server rejects it + - tracing: Increase trace array ref count on enable and filter files + - ata: ahci: Drop pointless VPRINTK() calls and convert the remaining ones + - ata: libahci: clear pending interrupt status + - ext4: remove the 'group' parameter of ext4_trim_extent + - ext4: add new helper interface ext4_try_to_trim_range() + - ext4: scope ret locally in ext4_try_to_trim_range() + - ext4: change s_last_trim_minblks type to unsigned long + - ext4: mark group as trimmed only if it was fully scanned + - ext4: replace the traditional ternary conditional operator with with + max()/min() + - ext4: move setting of trimmed bit into ext4_try_to_trim_range() + - ext4: do not let fstrim block system suspend + - tracing: Have event inject files inc the trace array ref count + - bpf: Avoid deadlock when using queue and stack maps from NMI + - i40e: Fix VF VLAN offloading when port VLAN is configured + - [powerpc*] perf/hv-24x7: Update domain value check + - dccp: fix dccp_v4_err()/dccp_v6_err() again + - [x86] platform/x86: intel_scu_ipc: Check status after timeout in + busy_loop() + - [x86] platform/x86: intel_scu_ipc: Check status upon timeout in + ipc_wait_for_interrupt() + - [x86] platform/x86: intel_scu_ipc: Don't override scu in + intel_scu_ipc_dev_simple_command() + - [x86] platform/x86: intel_scu_ipc: Fail IPC send if still busy + - [x86] srso: Fix srso_show_state() side effect + - [x86] srso: Fix SBPB enablement for spec_rstack_overflow=off + - [arm64] net: hns3: only enable unicast promisc when mac table full + - [arm64] net: hns3: add 5ms delay before clear firmware reset irq source + - net: bridge: use DEV_STATS_INC() + - team: fix null-ptr-deref when team device type is changed + - seqlock: avoid -Wshadow warnings + - seqlock: Rename __seqprop() users + - seqlock: Prefix internal seqcount_t-only macros with a "do_" + - locking/seqlock: Do the lockdep annotation before locking in + do_write_seqcount_begin_nested() + - bnxt_en: Flush XDP for bnxt_poll_nitroa0()'s NAPI + - net: rds: Fix possible NULL-pointer dereference + - gpio: tb10x: Fix an error handling path in tb10x_gpio_probe() + - i2c: mux: demux-pinctrl: check the return value of devm_kstrdup() + - Input: i8042 - rename i8042-x86ia64io.h to i8042-acpipnpio.h + - Input: i8042 - add quirk for TUXEDO Gemini 17 Gen1/Clevo PD70PN + - [arm64] media: venus: core: Add io base variables for each block + - [arm64] media: venus: hfi,pm,firmware: Convert to block relative + addressing + - [arm64] media: venus: hfi: Define additional 6xx registers + - [arm64] media: venus: core: Add differentiator IS_V6(core) + - [arm64] media: venus: hfi: Add a 6xx boot logic + - [arm64] media: venus: hfi_venus: Write to VIDC_CTRL_INIT after unmasking + interrupts + - netfilter: use actual socket sk for REJECT action + - netfilter: nft_exthdr: Support SCTP chunks + - netfilter: nf_tables: add and use nft_sk helper + - netfilter: nf_tables: add and use nft_thoff helper + - netfilter: nft_exthdr: break evaluation if setting TCP option fails + - netfilter: exthdr: add support for tcp option removal + - netfilter: nft_exthdr: Fix non-linear header modification + - ata: libata: Rename link flag ATA_LFLAG_NO_DB_DELAY + - ata: ahci: Add support for AMD A85 FCH (Hudson D4) + - ata: ahci: Rename board_ahci_mobile + - ata: ahci: Add Elkhart Lake AHCI controller + - btrfs: reset destination buffer when read_extent_buffer() gets invalid + range + - [armhf] bus: ti-sysc: Use fsleep() instead of usleep_range() in + sysc_reset() + - [armhf] bus: ti-sysc: Fix missing AM35xx SoC matching + - [armhf] ARM: dts: omap: correct indentation + - [armhf] bus: ti-sysc: Fix SYSC_QUIRK_SWSUP_SIDLE_ACT handling for uart + wake-up + - gpio: pmic-eic-sprd: Add can_sleep flag for PMIC EIC chip + - i2c: npcm7xx: Fix callback completion ordering + - scsi: qedf: Add synchronization between I/O completions and abort + - ring-buffer: Avoid softlockup in ring_buffer_resize() + - ring-buffer: Do not attempt to read past "commit" + - scsi: pm80xx: Use phy-specific SAS address when sending PHY_START command + - scsi: pm80xx: Avoid leaking tags when processing + OPC_INB_SET_CONTROLLER_CONFIG command + - ata: libata-eh: do not clear ATA_PFLAG_EH_PENDING in ata_eh_reset() + - bpf: Clarify error expectations from bpf_clone_redirect + - media: vb2: frame_vector.c: replace WARN_ONCE with a comment + - [powerpc*] watchpoints: Disable preemption in thread_change_pc() + - [armhf] ncsi: Propagate carrier gain/loss events to the NCSI controller + - sched/cpuacct: Fix user/system in shown cpuacct.usage* + - sched/cpuacct: Fix charge percpu cpuusage + - sched/cpuacct: Optimize away RCU read lock + - cgroup: Fix suspicious rcu_dereference_check() usage warning + - ACPI: Check StorageD3Enable _DSD property in ACPI code + - nvme-pci: factor the iod mempool creation into a helper + - nvme-pci: factor out a nvme_pci_alloc_dev helper + - nvme-pci: do not set the NUMA node of device if it has none + - watchdog: iTCO_wdt: No need to stop the timer in probe + - watchdog: iTCO_wdt: Set NO_REBOOT if the watchdog is not already running + - netfilter: nft_exthdr: Search chunks in SCTP packets only + - netfilter: nft_exthdr: Fix for unsafe packet data read + - nvme-pci: always return an ERR_PTR from nvme_pci_alloc_dev + - Revert "tty: n_gsm: fix UAF in gsm_cleanup_mux" + - serial: 8250_port: Check IRQ data before use + - nilfs2: fix potential use after free in nilfs_gccache_submit_read_data() + - netfilter: nf_tables: disallow rule removal from chain binding + (CVE-2023-5197) + - ALSA: hda: Disable power save for solving pop issue on Lenovo ThinkCentre + M70q + - ata: libata-scsi: ignore reserved bits for REPORT SUPPORTED OPERATION + CODES + - i2c: i801: unregister tco_pdev in i801_probe() error path + - Revert "SUNRPC dont update timeout value on connection reset" + - proc: nommu: /proc//maps: release mmap read lock + - ring-buffer: Update "shortest_full" in polling + - btrfs: properly report 0 avail for very full file systems + - bpf: Fix BTF_ID symbol generation collision + - bpf: Fix BTF_ID symbol generation collision in tools/ + - net: thunderbolt: Fix TCPv6 GSO checksum calculation + - ata: libata-core: Fix ata_port_request_pm() locking + - ata: libata-core: Fix port and device removal + - ata: libata-core: Do not register PM operations for SAS ports + - ata: libata-sata: increase PMP SRST timeout to 10s + - fs: binfmt_elf_efpic: fix personality for ELF-FDPIC + - NFS: Cleanup unused rpc_clnt variable + - NFS: rename nfs_client_kset to nfs_kset + - NFSv4: Fix a state manager thread deadlock regression + - ring-buffer: remove obsolete comment for free_buffer_page() + - ring-buffer: Fix bytes info in per_cpu buffer stats + - rbd: move rbd_dev_refresh() definition + - rbd: decouple header read-in from updating rbd_dev->header + - rbd: decouple parent info read-in from updating rbd_dev + - rbd: take header_rwsem in rbd_dev_refresh() only when updating + - block: fix use-after-free of q->q_usage_counter + - Revert "clk: imx: pll14xx: dynamically configure PLL for + 393216000/361267200Hz" + - Revert "PCI: qcom: Disable write access to read only registers for IP + v2.3.3" + - scsi: zfcp: Fix a double put in zfcp_port_enqueue() + - wifi: mwifiex: Fix tlv_buf_left calculation + - net: replace calls to sock->ops->connect() with kernel_connect() + - net: prevent rewrite of msg_name in sock_sendmsg() + - [arm64] Add Cortex-A520 CPU part definition + - ubi: Refuse attaching if mtd's erasesize is 0 + - wifi: iwlwifi: dbg_ini: fix structure packing + - wifi: mwifiex: Fix oob check condition in mwifiex_process_rx_packet + - bpf: Fix tr dereferencing + - drivers/net: process the result of hdlc_open() and add call of + hdlc_close() in uhdlc_close() + - wifi: mt76: mt76x02: fix MT76x0 external LNA gain handling + - regmap: rbtree: Fix wrong register marked as in-cache when creating new + node + - ima: Finish deprecation of IMA_TRUSTED_KEYRING Kconfig + - scsi: target: core: Fix deadlock due to recursive locking + - ima: rework CONFIG_IMA dependency block + - NFSv4: Fix a nfs4_state_manager() race + - modpost: add missing else to the "of" check + - net: fix possible store tearing in neigh_periodic_work() + - ipv4, ipv6: Fix handling of transhdrlen in __ip{,6}_append_data() + - [arm64,armhf] net: dsa: mv88e6xxx: Avoid EEPROM timeout when EEPROM is + absent + - net: usb: smsc75xx: Fix uninit-value access in __smsc75xx_read_reg + - net: nfc: llcp: Add lock when modifying device list + - net: ethernet: ti: am65-cpsw: Fix error code in + am65_cpsw_nuss_init_tx_chns() + - netfilter: handle the connecting collision properly in + nf_conntrack_proto_sctp + - netfilter: nf_tables: nft_set_rbtree: fix spurious insertion failure + - [armhf] net: stmmac: dwmac-stm32: fix resume on STM32 MCU + - tipc: fix a potential deadlock on &tx->lock + - tcp: fix quick-ack counting to count actual ACKs of new data + - tcp: fix delayed ACKs for MSS boundary condition + - sctp: update transport state when processing a dupcook packet + - sctp: update hb timer immediately after users change hb_interval + - cpupower: add Makefile dependencies for install targets + - dm zoned: free dmz->ddev array in dmz_put_zoned_devices + - RDMA/core: Require admin capabilities to set system parameters + - of: dynamic: Fix potential memory leak in of_changeset_action() + - IB/mlx4: Fix the size of a buffer in add_port_entries() + - [armhf] gpio: aspeed: fix the GPIO number passed to + pinctrl_gpio_set_config() + - RDMA/cma: Initialize ib_sa_multicast structure to 0 when join + - RDMA/cma: Fix truncation compilation warning in make_cma_ports + - RDMA/uverbs: Fix typo of sizeof argument + - RDMA/siw: Fix connection failure handling + - RDMA/mlx5: Fix NULL string error + - netfilter: nf_tables: fix kdoc warnings after gc rework + - netfilter: nftables: exthdr: fix 4-byte stack OOB write + - xen/events: replace evtchn_rwlock with RCU (CVE-2023-34324) + https://www.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.10.199 + - RDMA/srp: Make struct scsi_cmnd and struct srp_request adjacent + - RDMA/srp: Do not call scsi_done() from srp_abort() + - RDMA/cxgb4: Check skb value for failure to allocate + - [arm64] perf/arm-cmn: Fix the unhandled overflow status of counter 4 to 7 + - HID: logitech-hidpp: Fix kernel crash on receiver USB disconnect + - quota: Fix slow quotaoff + - net: prevent address rewrite in kernel_bind() + - [arm64] drm/msm/dp: do not reinitialize phy unless retry during link + training + - [arm64] drm/msm/dsi: skip the wait for video mode done if not applicable + - [arm64] drm/msm/dpu: change _dpu_plane_calc_bw() to use u64 to avoid + overflow + - xen-netback: use default TX queue size for vifs + - [x86] drm/vmwgfx: fix typo of sizeof argument + - net: macsec: indicate next pn update when offloading + - net: phy: mscc: macsec: reject PN update requests + - ixgbe: fix crash with empty VF macvlan list + - net: nfc: fix races in nfc_llcp_sock_get() and nfc_llcp_sock_get_sn() + - nfc: nci: assert requested protocol is valid + - workqueue: Override implicit ordered attribute in + workqueue_apply_unbound_cpumask() + - net: add sysctl accept_ra_min_rtr_lft + - net: change accept_ra_min_rtr_lft to affect all RA lifetimes + - net: release reference to inet6_dev pointer + - [armhf] dmaengine: stm32-mdma: abort resume if no ongoing transfer + - usb: xhci: xhci-ring: Use sysdev for mapping bounce buffer + - net: usb: dm9601: fix uninitialized variable use in dm9601_mdio_read + - [arm64,armhf] usb: dwc3: Soft reset phy on probe for host + - usb: musb: Get the musb_qh poniter after musb_giveback + - usb: musb: Modify the "HWVers" register address + - iio: pressure: bmp280: Fix NULL pointer exception + - iio: pressure: dps310: Adjust Timeout Settings + - iio: pressure: ms5611: ms5611_prom_is_valid false negative bug + - [x86] cpu: Fix AMD erratum #1485 on Zen4-based CPUs + - mcb: remove is_added flag from mcb_device struct + - [x86] thunderbolt: Check that lane 1 is in CL0 before enabling lane + bonding + - libceph: use kernel_connect() + - ceph: fix incorrect revoked caps assert in ceph_fill_file_size() + - ceph: fix type promotion bug on 32bit systems + - Input: powermate - fix use-after-free in powermate_config_complete + - Input: psmouse - fix fast_reconnect function for PS/2 mode + - Input: xpad - add PXN V900 support + - Input: i8042 - add Fujitsu Lifebook E5411 to i8042 quirk table + - Input: goodix - ensure int GPIO is in input for gpio_count == 1 && + gpio_int_idx == 0 case + - tee: amdtee: fix use-after-free vulnerability in amdtee_close_session + - cgroup: Remove duplicates in cgroup v1 tasks file + - pinctrl: avoid unsafe code pattern in find_pinctrl() + - counter: microchip-tcb-capture: Fix the use of internal GCLK logic + - usb: gadget: udc-xilinx: replace memcpy with memcpy_toio + - usb: gadget: ncm: Handle decoding of multiple NTB's in unwrap call + - [powerpc*] 8xx: Fix pte_access_permitted() for PAGE_NONE + - [powerpc*] 64e: Fix wrong test in __ptep_test_and_clear_young() + - [x86] alternatives: Disable KASAN in apply_alternatives() + - [arm64] report EL1 UNDEFs better + - [arm64] die(): pass 'err' as long + - [arm64] consistently pass ESR_ELx to die() + - [arm64] rework FPAC exception handling + - [arm64] rework BTI exception handling + - [arm64] allow kprobes on EL0 handlers + - [arm64] split EL0/EL1 UNDEF handlers + - [arm64] factor out EL1 SSBS emulation hook + - [arm64] factor insn read out of call_undef_hook() + - [arm64] rework EL0 MRS emulation + - [arm64] armv8_deprecated: fold ops into insn_emulation + - [arm64] armv8_deprecated move emulation functions + - [arm64] armv8_deprecated: move aarch32 helper earlier + - [arm64] armv8_deprecated: rework deprected instruction handling + - [arm64] armv8_deprecated: fix unused-function error + - RDMA/srp: Set scmnd->result only when scmnd is not NULL + - RDMA/srp: Fix srp_abort() + - ravb: Fix use-after-free issue in ravb_tx_timeout_work() (CVE-2023-35827) + - dev_forward_skb: do not scrub skb mark within the same name space + - lib/Kconfig.debug: do not enable DEBUG_PREEMPT by default + - mm/memory_hotplug: rate limit page migration warnings + - Documentation: sysctl: align cells in second content column + - usb: hub: Guard against accesses to uninitialized BOS descriptors + - Bluetooth: hci_event: Ignore NULL link key + - Bluetooth: Reject connection with the device which has same BD_ADDR + - Bluetooth: Fix a refcnt underflow problem for hci_conn + - Bluetooth: vhci: Fix race when opening vhci device + - Bluetooth: hci_event: Fix coding style + - Bluetooth: avoid memcmp() out of bounds warning + - ice: fix over-shifted variable + - ice: reset first in crash dump kernels + - nfc: nci: fix possible NULL pointer dereference in send_acknowledge() + - regmap: fix NULL deref on lookup + - [x86] KVM: x86: Mask LVTPC when handling a PMI + - [x86] sev: Disable MMIO emulation from user mode (CVE-2023-46813) + - [x86] sev: Check IOBM for IOIO exceptions from user-space (CVE-2023-46813) + - [x86] sev: Check for user-space IOIO pointing to kernel space + (CVE-2023-46813) + - tcp: check mptcp-level constraints for backlog coalescing + - netfilter: nft_payload: fix wrong mac header matching + - nvmet-tcp: Fix a possible UAF in queue intialization setup (CVE-2023-5178) + - [x86] drm/i915: Retry gtt fault when out of fence registers + - qed: fix LL2 RX buffer allocation + - xfrm: fix a data-race in xfrm_gen_index() + - xfrm: interface: use DEV_STATS_INC() + - net: ipv4: fix return value check in esp_remove_trailer + - net: ipv6: fix return value check in esp_remove_trailer + - net: rfkill: gpio: prevent value glitch during probe + - tcp: fix excessive TLP and RACK timeouts from HZ rounding + - tcp: tsq: relax tcp_small_queue_check() when rtx queue contains a single + skb + - tun: prevent negative ifindex + - ipv4: fib: annotate races around nh->nh_saddr_genid and nh->nh_saddr + - net: usb: smsc95xx: Fix an error code in smsc95xx_reset() + - i40e: prevent crash on probe if hw registers have invalid values + - net: dsa: bcm_sf2: Fix possible memory leak in bcm_sf2_mdio_register() + - net/sched: sch_hfsc: upgrade 'rt' to 'sc' when it becomes a inner curve + - netfilter: nft_set_rbtree: .deactivate fails if element has expired + - net: pktgen: Fix interface flags printing + - [x86] thunderbolt: Workaround an IOMMU fault on certain systems with Intel + Maple Ridge + - resource: Add irqresource_disabled() + - ACPI: Drop acpi_dev_irqresource_disabled() + - ACPI: resources: Add DMI-based legacy IRQ override quirk + - ACPI: resource: Skip IRQ override on Asus Vivobook K3402ZA/K3502ZA + - ACPI: resource: Add ASUS model S5402ZA to quirks + - ACPI: resource: Skip IRQ override on Asus Vivobook S5602ZA + - ACPI: resource: Add Asus ExpertBook B2502 to Asus quirks + - ACPI: resource: Skip IRQ override on Asus Expertbook B2402CBA + - ACPI: resource: Skip IRQ override on ASUS ExpertBook B1502CBA + - ACPI: resource: Skip IRQ override on ASUS ExpertBook B1402CBA + - usb: core: Track SuperSpeed Plus GenXxY + - xhci: cleanup xhci_hub_control port references + - xhci: move port specific items such as state completions to port structure + - xhci: rename resume_done to resume_timestamp + - xhci: clear usb2 resume related variables in one place. + - xhci: decouple usb2 port resume and get_port_status request handling + - xhci: track port suspend state correctly in unsuccessful resume cases + - serial: 8250: omap: Fix imprecise external abort for omap_8250_pm() + - serial: 8250_omap: Fix errors with no_console_suspend + - drm/amd/display: only check available pipe to disable vbios mode. + - drm/amd/display: Don't set dpms_off for seamless boot + - drm/connector: Give connector sysfs devices there own device_type + - drm/connector: Add a fwnode pointer to drm_connector and register with + ACPI (v2) + - drm/connector: Add drm_connector_find_by_fwnode() function (v3) + - drm/connector: Add support for out-of-band hotplug notification (v3) + - usb: typec: altmodes/displayport: Notify drm subsys of hotplug events + - usb: typec: altmodes/displayport: Signal hpd low when exiting mode + - ARM: dts: ti: omap: Fix noisy serial with overrun-throttle-ms for mapphone + - btrfs: return -EUCLEAN for delayed tree ref with a ref count not equals to + 1 + - btrfs: initialize start_slot in btrfs_log_prealloc_extents + - i2c: mux: Avoid potential false error message in i2c_mux_add_adapter + - overlayfs: set ctime when setting mtime and atime + - gpio: timberdale: Fix potential deadlock on &tgpio->lock + - ata: libata-eh: Fix compilation warning in ata_eh_link_report() + - tracing: relax trace_event_eval_update() execution with cond_resched() + - HID: holtek: fix slab-out-of-bounds Write in holtek_kbd_input_event + - Bluetooth: Avoid redundant authentication + - Bluetooth: hci_core: Fix build warnings + - wifi: cfg80211: Fix 6GHz scan configuration + - wifi: mac80211: allow transmitting EAPOL frames with tainted key + - wifi: cfg80211: avoid leaking stack data into trace + - regulator/core: Revert "fix kobject release warning and memory leak in + regulator_register()" + - sky2: Make sure there is at least one frag_addr available + - ipv4/fib: send notify when delete source address routes + - drm: panel-orientation-quirks: Add quirk for One Mix 2S + - btrfs: fix some -Wmaybe-uninitialized warnings in ioctl.c + - HID: multitouch: Add required quirk for Synaptics 0xcd7e device + - [x86] platform/x86: touchscreen_dmi: Add info for the Positivo C4128B + - net/mlx5: Handle fw tracer change ownership event based on MTRC + - Bluetooth: hci_event: Fix using memcmp when comparing keys + - mtd: physmap-core: Restore map_rom fallback + - mmc: core: sdio: hold retuning if sdio in 1-bit mode + - mmc: core: Capture correct oemid-bits for eMMC cards + - Revert "pinctrl: avoid unsafe code pattern in find_pinctrl()" + - pNFS: Fix a hang in nfs4_evict_inode() + - ACPI: irq: Fix incorrect return value in acpi_register_gsi() + - nvme-pci: add BOGUS_NID for Intel 0a54 device + - nvme-rdma: do not try to stop unallocated queues + - USB: serial: option: add Telit LE910C4-WWX 0x1035 composition + - USB: serial: option: add entry for Sierra EM9191 with new firmware + - USB: serial: option: add Fibocom to DELL custom modem FM101R-GL + - perf: Disallow mis-matched inherited group reads (CVE-2023-5717) + - [s390x] pci: fix iommu bitmap allocation + - [x86] platform/x86: asus-wmi: Change ASUS_WMI_BRN_DOWN code from 0x20 to + 0x2e + - [x86] platform/x86: asus-wmi: Map 0x2a code, Ignore 0x2b and 0x2c events + - Bluetooth: hci_sock: fix slab oob read in create_monitor_event + - Bluetooth: hci_sock: Correctly bounds check and pad HCI_MON_NEW_INDEX name + - xfrm6: fix inet6_dev refcount underflow problem + https://www.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.10.200 + - virtio_balloon: Fix endless deflation and inflation on arm64 + - virtio-mmio: fix memory leak of vm_dev + - mm/page_alloc: correct start page when guard page debug is enabled + - drm/dp_mst: Fix NULL deref in get_mst_branch_device_by_guid_helper() + - r8169: fix the KCSAN reported data-race in rtl_tx while reading + TxDescArray[entry].opts1 + - r8169: fix the KCSAN reported data race in rtl_rx while reading + desc->opts1 + - treewide: Spelling fix in comment + - igb: Fix potential memory leak in igb_add_ethtool_nfc_entry + - neighbour: fix various data-races + - igc: Fix ambiguity in the ethtool advertising + - net: ieee802154: adf7242: Fix some potential buffer overflow in + adf7242_stats_show() + - net: usb: smsc95xx: Fix uninit-value access in smsc95xx_read_reg + - r8152: Increase USB control msg timeout to 5000ms as per spec + - r8152: Run the unload routine if we have errors during probe + - r8152: Cancel hw_phy_work if we have an error in probe + - r8152: Release firmware if we have an error in probe + - tcp: fix wrong RTO timeout when received SACK reneging + - gtp: uapi: fix GTPA_MAX + - gtp: fix fragmentation needed check with gso + - i40e: Fix wrong check for I40E_TXR_FLAGS_WB_ON_ITR + - [armhf] i2c: muxes: i2c-mux-pinctrl: Use of_get_i2c_adapter_by_node() + - [armhf] i2c: stm32f7: Fix PEC handling in case of SMBUS transfers + - [armhf] i2c: aspeed: Fix i2c bus hang in slave read + - tracing/kprobes: Fix the description of variable length arguments + - [arm64,armhf] nvmem: imx: correct nregs for i.MX6ULL + - [arm64,armhf] nvmem: imx: correct nregs for i.MX6SLL + - [arm64,armhf] nvmem: imx: correct nregs for i.MX6UL + - perf/core: Fix potential NULL deref + - clk: Sanitize possible_parent_show to Handle Return Value of + of_clk_get_parent_name + - [x86] i8259: Skip probing when ACPI/MADT advertises PCAT compatibility + - kobject: Fix slab-out-of-bounds in fill_kobj_path() (CVE-2023-45863) + - f2fs: fix to do sanity check on inode type during garbage collection + (CVE-2021-44879) + - [x86] mm: Simplify RESERVE_BRK() + - [x86] mm: Fix RESERVE_BRK() for older binutils + - ext4: add two helper functions extent_logical_end() and pa_logical_end() + - ext4: fix BUG in ext4_mb_new_inode_pa() due to overflow + - ext4: avoid overlapping preallocations due to overflow + - [x86] objtool/x86: add missing embedded_insn check + - driver: platform: Add helper for safer setting of driver_override + - [arm64] rpmsg: Constify local variable in field store macro + - rpmsg: Fix kfree() of static memory on setting driver_override + - rpmsg: Fix calling device_lock() on non-initialized device + - [arm64] rpmsg: glink: Release driver_override + - [arm64] rpmsg: Fix possible refcount leak in + rpmsg_register_device_override() + - [x86] Fix .brk attribute in linker script + - net: sched: cls_u32: Fix allocation size in u32_init() + - [armhf] irqchip/stm32-exti: add missing DT IRQ flag translation + - Input: synaptics-rmi4 - handle reset delay when using SMBus trsnsport + - fbdev: atyfb: only use ioremap_uc() on i386 and ia64 + - netfilter: nfnetlink_log: silence bogus compiler warning + - ASoC: rt5650: fix the wrong result of key button + - [x86] fbdev: uvesafb: Call cn_del_callback() at the end of uvesafb_exit() + - scsi: mpt3sas: Fix in error path + - net: chelsio: cxgb4: add an error code check in t4_load_phy_fw + - [powerpc*] mm: Fix boot crash with FLATMEM + - can: isotp: change error format from decimal to symbolic error names + - can: isotp: add symbolic error message to isotp_module_init() + - can: isotp: Add error message if txqueuelen is too small + - can: isotp: set max PDU size to 64 kByte + - can: isotp: isotp_bind(): return -EINVAL on incorrect CAN ID formatting + - can: isotp: check CAN address family in isotp_bind() + - can: isotp: handle wait_event_interruptible() return values + - can: isotp: add local echo tx processing and tx without FC + - can: isotp: isotp_bind(): do not validate unused address information + - can: isotp: isotp_sendmsg(): fix TX state detection and wait behavior + - PCI: Prevent xHCI driver from claiming AMD VanGogh USB3 DRD device + - usb: storage: set 1.50 as the lower bcdDevice for older "Super Top" + compatibility + - usb: raw-gadget: properly handle interrupted requests + - tty: 8250: Remove UC-257 and UC-431 + - tty: 8250: Add support for additional Brainboxes UC cards + - tty: 8250: Add support for Brainboxes UP cards + - tty: 8250: Add support for Intashield IS-100 + - ALSA: hda: intel-dsp-config: Fix JSL Chromebook quirk detection + https://www.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.10.201 + - [x86] iov_iter, x86: Be consistent about the __user tag on + copy_mc_to_user() + - sched/uclamp: Ignore (util == 0) optimization in feec() when p_util_max = + 0 + - vfs: fix readahead(2) on block devices + - [x86] srso: Fix SBPB enablement for (possible) future fixed HW + - futex: Don't include process MM in futex key on no-MMU + - [x86] boot: Fix incorrect startup_gdt_descr.size + - pstore/platform: Add check for kstrdup + - genirq/matrix: Exclude managed interrupts in irq_matrix_allocated() + - i40e: fix potential memory leaks in i40e_remove() + - udp: add missing WRITE_ONCE() around up->encap_rcv + - tcp: call tcp_try_undo_recovery when an RTOd TFO SYNACK is ACKed + - overflow: Implement size_t saturating arithmetic helpers + - gve: Use size_add() in call to struct_size() + - tipc: Use size_add() in calls to struct_size() + - wifi: rtw88: debug: Fix the NULL vs IS_ERR() bug for debugfs_create_file() + - tcp_metrics: add missing barriers on delete + - tcp_metrics: properly set tp->snd_ssthresh in tcp_init_metrics() + - tcp_metrics: do not create an entry from tcp_init_metrics() + - wifi: rtlwifi: fix EDCA limit set by BT coexistence + - can: dev: can_restart(): don't crash kernel if carrier is OK + - can: dev: can_restart(): fix race condition between controller restart and + netif_carrier_on() + - PM / devfreq: rockchip-dfi: Make pmu regmap mandatory + - thermal: core: prevent potential string overflow + - r8169: use tp_to_dev instead of open code + - r8169: fix rare issue with broken rx after link-down on RTL8125 + - tcp: fix cookie_init_timestamp() overflows + - ACPI: sysfs: Fix create_pnp_modalias() and create_of_modalias() + - ipv6: avoid atomic fragment on GSO packets + - net: add DEV_STATS_READ() helper + - ipvlan: properly track tx_errors + - regmap: debugfs: Fix a erroneous check after snprintf() + - [arm64] clk: qcom: clk-rcg2: Fix clock rate overflow for high parent + frequencies + - [arm64] clk: qcom: mmcc-msm8998: Add hardware clockgating registers to + some clks + - [arm64] clk: qcom: mmcc-msm8998: Don't check halt bit on some branch clks + - [arm64] clk: qcom: mmcc-msm8998: Set bimc_smmu_gdsc always on + - [arm64] clk: qcom: mmcc-msm8998: Fix the SMMU GDSC + - [arm64] clk: qcom: gcc-sm8150: use ARRAY_SIZE instead of specifying + num_parents + - [arm64] clk: qcom: gcc-sm8150: Fix gcc_sdcc2_apps_clk_src + - [arm64] clk: imx: imx8mq: correct error handling path + - clk: asm9260: use parent index to link the reference clock + - clk: linux/clk-provider.h: fix kernel-doc warnings and typos + - [arm64] spi: nxp-fspi: use the correct ioremap function + - [armhf] clk: ti: Add ti_dt_clk_name() helper to use clock-output-names + - [armhf] clk: ti: Update pll and clockdomain clocks to use ti_dt_clk_name() + - [armhf] clk: ti: Update component clocks to use ti_dt_clk_name() + - [armhf] clk: ti: change ti_clk_register[_omap_hw]() API + - [armhf] clk: ti: fix double free in of_ti_divider_clk_setup() + - [x86] platform/x86: wmi: Fix probe failure when failing to register WMI + devices + - [x86] platform/x86: wmi: remove unnecessary initializations + - [x86] platform/x86: wmi: Fix opening of char device + - hwmon: (coretemp) Fix potentially truncated sysfs attribute name + - [arm64,armhf] drm/rockchip: vop: Fix reset of state in duplicate state + crtc funcs + - [arm64,armhf] drm/rockchip: vop: Fix call to crtc reset helper + - drm/radeon: possible buffer overflow + - [arm64] drm/rockchip: cdn-dp: Fix some error handling paths in + cdn_dp_probe() + - [arm64,armhf] drm/rockchip: Fix type promotion bug in + rockchip_gem_iommu_map() + - xen-pciback: Consider INTx disabled when MSI/MSI-X is enabled + - [arm64] dts: qcom: msm8916: Fix iommu local address range + - [arm64] dts: qcom: sdm845-mtp: fix WiFi configuration + - [i386] hwrng: geode - fix accessing registers + - libnvdimm/of_pmem: Use devm_kstrdup instead of kstrdup and check its + return value + - nd_btt: Make BTT lanes preemptible + - [arm64] crypto: caam/qi2 - fix Chacha20 + Poly1305 self test failure + - [arm64] crypto: caam/jr - fix Chacha20 + Poly1305 self test failure + - [x86] crypto: qat - mask device capabilities with soft straps + - [x86] crypto: qat - increase size of buffers + - hid: cp2112: Fix duplicate workqueue initialization + - [armel,armhf] 9321/1: memset: cast the constant byte to unsigned char + - ext4: move 'ix' sanity check to corrent position + - IB/mlx5: Fix rdma counter binding for RAW QP + - [arm64] RDMA/hns: Fix uninitialized ucmd in hns_roce_create_qp_common() + - [arm64] RDMA/hns: Fix signed-unsigned mixed comparisons + - scsi: ufs: core: Leave space for '\0' in utf8 desc string + - [amd64] RDMA/hfi1: Workaround truncation compilation error + - hid: cp2112: Fix IRQ shutdown stopping polling for all IRQs on chip + - Revert "HID: logitech-hidpp: add a module parameter to keep firmware + gestures" + - HID: logitech-hidpp: Remove HIDPP_QUIRK_NO_HIDINPUT quirk + - HID: logitech-hidpp: Don't restart IO, instead defer hid_connect() only + - HID: logitech-hidpp: Revert "Don't restart communication if not necessary" + - HID: logitech-hidpp: Move get_wireless_feature_index() check to + hidpp_connect_event() + - [x86] ASoC: Intel: Skylake: Fix mem leak when parsing UUIDs fails + - padata: Convert from atomic_t to refcount_t on parallel_data->refcnt + - padata: Fix refcnt handling in padata_free_shell() + - mfd: core: Un-constify mfd_cell.of_reg + - mfd: core: Ensure disabled devices are skipped without aborting + - mfd: dln2: Fix double put in dln2_probe + - leds: pwm: Don't disable the PWM when the LED should be off + - leds: trigger: ledtrig-cpu:: Fix 'output may be truncated' issue for 'cpu' + - tty: tty_jobctrl: fix pid memleak in disassociate_ctty() + - usb: dwc2: fix possible NULL pointer dereference caused by driver + concurrency + - dmaengine: ti: edma: handle irq_of_parse_and_map() errors + - misc: st_core: Do not call kfree_skb() under spin_lock_irqsave() + - USB: usbip: fix stub_dev hub disconnect + - dmaengine: pxa_dma: Remove an erroneous BUG_ON() in pxad_free_desc() + - f2fs: fix to initialize map.m_pblk in f2fs_precache_extents() + - modpost: fix tee MODULE_DEVICE_TABLE built on big-endian host + - [powerpc*] 40x: Remove stale PTE_ATOMIC_UPDATES macro + - [powerpc*] xive: Fix endian conversion size + - [powerpc*] imc-pmu: Use the correct spinlock initializer. + - [powerpc*] pseries: fix potential memory leak in init_cpu_associativity() + - xhci: Loosen RPM as default policy to cover for AMD xHC 1.1 + - usb: host: xhci-plat: fix possible kernel oops while resuming + - perf machine: Avoid out of bounds LBR memory read + - perf hist: Add missing puts to hist__account_cycles + - i3c: Fix potential refcount leak in i3c_master_register_new_i3c_devs + - rtc: pcf85363: fix wrong mask/val parameters in regmap_update_bits call + - pcmcia: cs: fix possible hung task and memory leak pccardd() + - pcmcia: ds: fix refcount leak in pcmcia_device_add() + - pcmcia: ds: fix possible name leak in error path in pcmcia_device_add() + - media: i2c: max9286: Fix some redundant of_node_put() calls + - media: bttv: fix use after free error due to btv->timeout timer + - media: s3c-camif: Avoid inappropriate kfree() + - media: vidtv: psi: Add check for kstrdup + - media: vidtv: mux: Add check and kfree for kstrdup + - media: cedrus: Fix clock/reset sequence + - media: dvb-usb-v2: af9035: fix missing unlock + - regmap: prevent noinc writes from clobbering cache + - pwm: sti: Avoid conditional gotos + - pwm: sti: Reduce number of allocations and drop usage of chip_data + - pwm: brcmstb: Utilize appropriate clock APIs in suspend/resume + - Input: synaptics-rmi4 - fix use after free in rmi_unregister_function() + - llc: verify mac len before reading mac header + - hsr: Prevent use after free in prp_create_tagged_frame() + - tipc: Change nla_policy for bearer-related names to NLA_NUL_STRING + - inet: shrink struct flowi_common + - dccp: Call security_inet_conn_request() after setting IPv4 addresses. + - dccp/tcp: Call security_inet_conn_request() after setting IPv6 addresses. + - net: r8169: Disable multicast filter for RTL8168H and RTL8107E + - Fix termination state for idr_for_each_entry_ul() + - net: stmmac: xgmac: Enable support for multiple Flexible PPS outputs + - net/smc: fix dangling sock under state SMC_APPFINCLOSEWAIT + - net/smc: allow cdc msg send rather than drop it with NULL sndbuf_desc + - net/smc: put sk reference if close work was canceled + - tg3: power down device only on SYSTEM_POWER_OFF + - r8169: respect userspace disabling IFF_MULTICAST + - netfilter: xt_recent: fix (increase) ipv6 literal buffer length + - netfilter: nft_redir: use `struct nf_nat_range2` throughout and + deduplicate eval call-backs + - netfilter: nat: fix ipv6 nat redirect with mapped and scoped addresses + - [x86] Share definition of __is_canonical_address() + - [x86] sev-es: Allow copy_from_kernel_nofault() in earlier boot + - drm/syncobj: fix DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE + - fbdev: imsttfb: Fix error path of imsttfb_probe() + - fbdev: imsttfb: fix a resource leak in probe + - fbdev: fsl-diu-fb: mark wr_reg_wa() static + - tracing/kprobes: Fix the order of argument descriptions + - Revert "mmc: core: Capture correct oemid-bits for eMMC cards" + - btrfs: use u64 for buffer sizes in the tree search ioctls + https://www.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.10.202 + - perf/core: Bail out early if the request AUX area is out of bound + - [armhf] clocksource/drivers/timer-imx-gpt: Fix potential memory leak + - [x86] mm: Drop the 4 MB restriction on minimal NUMA node memory size + - wifi: mac80211_hwsim: fix clang-specific fortify warning + - wifi: mac80211: don't return unset power in ieee80211_get_tx_power() + - bpf: Detect IP == ksym.end as part of BPF program + - wifi: ath9k: fix clang-specific fortify warnings + - wifi: ath10k: fix clang-specific fortify warning + - net: annotate data-races around sk->sk_tx_queue_mapping + - net: annotate data-races around sk->sk_dst_pending_confirm + - wifi: ath10k: Don't touch the CE interrupt registers after power up + - Bluetooth: btusb: Add date->evt_skb is NULL check + - Bluetooth: Fix double free in hci_conn_cleanup + - [x86] platform/x86: thinkpad_acpi: Add battery quirk for Thinkpad X120e + - [arm64] drm/msm/dp: skip validity check for DP CTS EDID checksum + - drm/amd: Fix UBSAN array-index-out-of-bounds for SMU7 + - drm/amd: Fix UBSAN array-index-out-of-bounds for Polaris and Tonga + - drm/amdgpu: Fix potential null pointer derefernce + - drm/amdgpu: Fix a null pointer access when the smc_rreg pointer is NULL + - ASoC: soc-card: Add storage for PCI SSID + - crypto: pcrypt - Fix hungtask for PADATA_RESET + - [amd64] RDMA/hfi1: Use FIELD_GET() to extract Link Width + - fs/jfs: Add check for negative db_l2nbperpage + - fs/jfs: Add validity check for db_maxag and db_agpref + - jfs: fix array-index-out-of-bounds in dbFindLeaf + - jfs: fix array-index-out-of-bounds in diAlloc + - HID: lenovo: Detect quirk-free fw on cptkbd and stop applying workaround + - [armel,armhf] 9320/1: fix stack depot IRQ stack filter + - ALSA: hda: Fix possible null-ptr-deref when assigning a stream + - atm: iphase: Do PCI error checks on own line + - scsi: libfc: Fix potential NULL pointer dereference in + fc_lport_ptp_setup() + - HID: Add quirk for Dell Pro Wireless Keyboard and Mouse KM5221W + - exfat: support handle zero-size directory + - usb: gadget: f_ncm: Always set current gadget in ncm_bind() + - 9p/trans_fd: Annotate data-racy writes to file::f_flags + - [armhf] i2c: sun6i-p2wi: Prevent potential division by zero + - media: gspca: cpia1: shift-out-of-bounds in set_flicker + - media: vivid: avoid integer overflow + - gfs2: ignore negated quota changes + - gfs2: fix an oops in gfs2_permission + - media: imon: fix access to invalid resource for the second interface + - drm/amd/display: Avoid NULL dereference of timing generator + - [armhf] ASoC: ti: omap-mcbsp: Fix runtime PM underflow warnings + - drm/amdgpu: fix software pci_unplug on some chips + - pwm: Fix double shift bug + - wifi: iwlwifi: Use FW rate for non-data frames + - xhci: turn cancelled td cleanup to its own function + - SUNRPC: ECONNRESET might require a rebind + - SUNRPC: Add an IS_ERR() check back to where it was + - NFSv4.1: fix SP4_MACH_CRED protection for pnfs IO + - SUNRPC: Fix RPC client cleaned up the freed pipefs dentries + - gfs2: Silence "suspicious RCU usage in gfs2_permission" warning + - ipvlan: add ipvlan_route_v6_outbound() helper + - tty: Fix uninit-value access in ppp_sync_receive() + - [arm64] net: hns3: fix variable may not initialized problem in + hns3_init_mac_addr() + - [arm64] net: hns3: fix VF reset fail issue + - tipc: Fix kernel-infoleak due to uninitialized TLV value + - ppp: limit MRU to 64K + - xen/events: fix delayed eoi list handling + - ptp: annotate data-race around q->head and q->tail + - bonding: stop the device in bond_setup_by_slave() + - netfilter: nf_conntrack_bridge: initialize err to 0 + - net: stmmac: fix rx budget limit check + - net/mlx5e: fix double free of encap_header + - net/mlx5_core: Clean driver version and name + - net/mlx5e: Check return value of snprintf writing to fw_version buffer for + representors + - macvlan: Don't propagate promisc change to lower dev in passthru + - cifs: spnego: add ';' in HOST_KEY_LEN + - cifs: fix check of rc in function generate_smb3signingkey + - [arm64] media: venus: hfi: add checks to perform sanity on queue pointers + - [powerpc*] perf: Fix disabling BHRB and instruction sampling + - bpf: Fix check_stack_write_fixed_off() to correctly spill imm + - bpf: Fix precision tracking for BPF_ALU | BPF_TO_BE | BPF_END + - scsi: mpt3sas: Fix loop logic + - scsi: megaraid_sas: Increase register read retry rount from 3 to 30 for + selected registers + - [x86] cpu/hygon: Fix the CPU topology evaluation for real + - [x86] KVM: x86: hyper-v: Don't auto-enable stimer on write from user-space + - [x86] KVM: x86: Ignore MSR_AMD64_TW_CFG access + - audit: don't take task_lock() in audit_exe_compare() code path + - audit: don't WARN_ON_ONCE(!current->mm) in audit_exe_compare() + - tty/sysrq: replace smp_processor_id() with get_cpu() + - hvc/xen: fix console unplug + - hvc/xen: fix error path in xen_hvc_init() to always register frontend + driver + - PCI/sysfs: Protect driver's D3cold preference from user space + - watchdog: move softlockup_panic back to early_param + - ACPI: resource: Do IRQ override on TongFang GMxXGxx + - [arm64] Restrict CPU_BIG_ENDIAN to GNU as or LLVM IAS 15.x or newer + - mmc: vub300: fix an error code + - mmc: sdhci_am654: fix start loop index for TAP value parsing + - PCI/ASPM: Fix L1 substate handling in aspm_attr_store_common() + - [arm64] dts: qcom: ipq6018: Fix hwlock index for SMEM + - PM: hibernate: Use __get_safe_page() rather than touching the list + - PM: hibernate: Clean up sync_read handling in snapshot_write_next() + - rcu: kmemleak: Ignore kmemleak false positives when RCU-freeing objects + - btrfs: don't arbitrarily slow down delalloc if we're committing + - [arm64] firmware: qcom_scm: use 64-bit calling convention only when client + is 64-bit + - ima: detect changes to the backing overlay file + - wifi: ath11k: fix temperature event locking + - wifi: ath11k: fix dfs radar event locking + - wifi: ath11k: fix htt pktlog locking + - mmc: meson-gx: Remove setting of CMD_CFG_ERROR + - genirq/generic_chip: Make irq_remove_generic_chip() irqdomain aware + - jbd2: fix potential data lost in recovering journal raced with + synchronizing fs bdev + - quota: explicitly forbid quota files from being encrypted + - kernel/reboot: emergency_restart: Set correct system_state + - i2c: core: Run atomic i2c xfer when !preemptible + - mcb: fix error handling for different scenarios when parsing + - [armhf] dmaengine: stm32-mdma: correct desc prep when channel running + - mm/cma: use nth_page() in place of direct struct page manipulation + - mm/memory_hotplug: use pfn math in place of direct struct page + manipulation + - mtd: cfi_cmdset_0001: Byte swap OTP info + - xhci: Enable RPM on controllers that support low-power states + - ALSA: info: Fix potential deadlock at disconnection + - ALSA: hda/realtek - Add Dell ALC295 to pin fall back table + - ALSA: hda/realtek - Enable internal speaker of ASUS K6500ZC + - serial: meson: remove redundant initialization of variable id + - tty: serial: meson: retrieve port FIFO size from DT + - serial: meson: Use platform_get_irq() to get the interrupt + - tty: serial: meson: fix hard LOCKUP on crtscts mode + - cpufreq: stats: Fix buffer overflow detection in trans_stats() + - Bluetooth: btusb: Add Realtek RTL8852BE support ID 0x0cb8:0xc559 + - bluetooth: Add device 0bda:887b to device tables + - bluetooth: Add device 13d3:3571 to device tables + - Bluetooth: btusb: Add RTW8852BE device 13d3:3570 to device tables + - Bluetooth: btusb: Add 0bda:b85b for Fn-Link RTL8852BE + - Revert ncsi: Propagate carrier gain/loss events to the NCSI controller + - lsm: fix default return value for vm_enough_memory + - lsm: fix default return value for inode_getsecctx + - i2c: designware: Disable TX_EMPTY irq while waiting for block length byte + - net: phylink: initialize carrier state at creation + - i2c: i801: fix potential race in i801_block_transaction_byte_by_byte + - f2fs: avoid format-overflow warning + - media: lirc: drop trailing space from scancode transmit + - media: sharp: fix sharp encoding + - [arm64] media: venus: hfi_parser: Add check to keep the number of codecs + within range + - [arm64] media: venus: hfi: fix the check to handle session buffer + requirement + - [arm64] media: venus: hfi: add checks to handle capabilities from firmware + - nfsd: fix file memleak on client_opens_release + - mm: kmem: drop __GFP_NOFAIL when allocating objcg vectors + - Revert "net: r8169: Disable multicast filter for RTL8168H and RTL8107E" + - ext4: apply umask if ACL support is disabled + - ext4: correct offset of gdb backup in non meta_bg group to update_backups + - ext4: correct return value of ext4_convert_meta_bg + - ext4: correct the start block of counting reserved clusters + - ext4: remove gdb backup copy for meta bg in setup_new_flex_group_blocks + - drm/amd/pm: Handle non-terminated overdrive commands. + - drm/amdgpu: fix error handling in amdgpu_bo_list_get() + - drm/amd/display: Change the DMCUB mailbox memory location from FB to inbox + - io_uring/fdinfo: lock SQ thread while retrieving thread cpu/pid + (CVE-2023-46862) + - tracing: Have trace_event_file have ref counters + - netfilter: nftables: update table flags from the commit phase + - netfilter: nf_tables: fix table flag updates + - netfilter: nf_tables: disable toggling dormant table state more than once + https://www.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.10.203 + - RDMA/irdma: Prevent zero-length STAG registration (CVE-2023-25775) + - afs: Fix afs_server_list to be cleaned up with RCU + - afs: Make error on cell lookup failure consistent with OpenAFS + - [arm64,armhf] drm/panel: simple: Fix Innolux G101ICE-L01 bus flags + - [arm64,armhf] drm/panel: simple: Fix Innolux G101ICE-L01 timings + - wireguard: use DEV_STATS_INC() + - ata: pata_isapnp: Add missing error check for devm_ioport_map() + - [arm64,armhf] drm/rockchip: vop: Fix color for RGB888/BGR888 format on VOP + full + - HID: core: store the unique system identifier in hid_device + - HID: fix HID device resource race between HID core and debugging support + - ipv4: Correct/silence an endian warning in __ip_do_redirect + - net: usb: ax88179_178a: fix failed operations during ax88179_reset + - net/smc: avoid data corruption caused by decline + - [armhf] xen: fix xen_vcpu_info allocation alignment + - [amd64,arm64] amd-xgbe: handle corner-case during sfp hotplug + - [amd64,arm64] amd-xgbe: handle the corner-case during tx completion + - [amd64,arm64] amd-xgbe: propagate the correct speed and duplex status + - afs: Return ENOENT if no cell DNS record can be found + - afs: Fix file locking on R/O volumes to operate in local mode + - nvmet: remove unnecessary ctrl parameter + - nvmet: nul-terminate the NQNs passed in the connect command + (CVE-2023-6121) + - [arm64] USB: dwc3: qcom: fix resource leaks on probe deferral + - [arm64] USB: dwc3: qcom: fix ACPI platform device leak + - lockdep: Fix block chain corruption + - ext4: add a new helper to check if es must be kept + - ext4: factor out __es_alloc_extent() and __es_free_extent() + - ext4: use pre-allocated es in __es_insert_extent() + - ext4: use pre-allocated es in __es_remove_extent() + - ext4: using nofail preallocation in ext4_es_remove_extent() + - ext4: using nofail preallocation in ext4_es_insert_delayed_block() + - ext4: using nofail preallocation in ext4_es_insert_extent() + - ext4: fix slab-use-after-free in ext4_es_insert_extent() + - ext4: make sure allocate pending entry not fail + - nfsd: lock_rename() needs both directories to live on the same fs + - [arm*] ASoC: simple-card: fixup asoc_simple_probe() error handling + - ACPI: resource: Skip IRQ override on ASUS ExpertBook B1402CVA + - swiotlb-xen: provide the "max_mapping_size" method + - bcache: replace a mistaken IS_ERR() by IS_ERR_OR_NULL() in + btree_gc_coalesce() + - bcache: fixup multi-threaded bch_sectors_dirty_init() wake-up race + - [s390x] dasd: protect device queue against concurrent access + - USB: serial: option: add Luat Air72*U series products + - [x86] hv_netvsc: Fix race of register_netdevice_notifier and VF register + - [x86] hv_netvsc: Mark VF as slave before exposing it to user-mode + - dm-delay: fix a race between delay_presuspend and delay_bio + - bcache: check return value from btree_node_alloc_replacement() + - bcache: prevent potential division by zero error + - bcache: fixup init dirty data errors + - bcache: fixup lock c->root error + - USB: serial: option: add Fibocom L7xx modules + - USB: serial: option: fix FM101R-GL defines + - USB: serial: option: don't claim interface 4 for ZTE MF290 + - [arm*] USB: dwc2: write HCINT with INTMASK applied + - [arm64,armhf] usb: dwc3: Fix default mode initialization + - [arm64,armhf] usb: dwc3: set the dma max_seg_size + - [arm64,armhf] USB: dwc3: qcom: fix wakeup after probe deferral + - io_uring: fix off-by one bvec index + - pinctrl: avoid reload of p state in list iteration + - firewire: core: fix possible memory leak in create_units() + - mmc: block: Do not lose cache flush during CQE error recovery + - ALSA: hda: Disable power-save on KONTRON SinglePC + - ALSA: hda/realtek: Headset Mic VREF to 100% + - ALSA: hda/realtek: Add supported ALC257 for ChromeOS + - dm-verity: align struct dm_verity_fec_io properly + - dm verity: don't perform FEC for failed readahead IO + - bcache: revert replacing IS_ERR_OR_NULL with IS_ERR + - [amd64] iommu/vt-d: Add MTL to quirk list to skip TE disabling + - [powerpc*] Don't clobber f0/vs0 during fp|altivec register save + (Closes: #1032104) + - btrfs: add dmesg output for first mount and last unmount of a filesystem + - btrfs: ref-verify: fix memory leaks in btrfs_ref_tree_mod() + - btrfs: fix off-by-one when checking chunk map includes logical address + - btrfs: send: ensure send_fd is writable + - btrfs: make error messages more clear when getting a chunk map + - Input: xpad - add HyperX Clutch Gladiate Support + - [x86] hv_netvsc: fix race of netvsc and VF register_netdevice + - USB: core: Change configuration warnings to notices + - usb: config: fix iteration issue in 'usb_get_bos_descriptor()' + - ipv4: igmp: fix refcnt uaf issue when receiving igmp query packet + (CVE-2023-6932) + - [arm64] dpaa2-eth: increase the needed headroom to account for alignment + - net: stmmac: xgmac: Disable FPE MMC interrupts + - Revert "workqueue: remove unused cancel_work()" + - r8169: prevent potential deadlock in rtl8169_close + - smb3: fix touch -h of symlink + - [x86] ASoC: Intel: Move soc_intel_is_foo() helpers to a generic header + - [x86] ASoC: SOF: sof-pci-dev: use community key on all Up boards + - [x86] ASoC: SOF: sof-pci-dev: add parameter to override topology filename + - [x86] ASoC: SOF: sof-pci-dev: don't use the community key on APL + Chromebooks + - [x86] ASoC: SOF: sof-pci-dev: Fix community key quirk detection + - [s390x] mm: fix phys vs virt confusion in mark_kernel_pXd() functions + family + - [s390x] cmma: fix detection of DAT pages + - ima: annotate iint mutex to avoid lockdep false positive warnings + - driver core: Move the "removable" attribute from USB to core + - drm/amdgpu: don't use ATRM for external devices + - fs: add ctime accessors infrastructure + - smb3: fix caching of ctime on setxattr + - scsi: core: Introduce the scsi_cmd_to_rq() function + - scsi: qla2xxx: Use scsi_cmd_to_rq() instead of scsi_cmnd.request + - scsi: qla2xxx: Fix system crash due to bad pointer access + - [armhf] cpufreq: imx6q: don't warn for disabling a non-existing frequency + - [armhf] cpufreq: imx6q: Don't disable 792 Mhz OPP unnecessarily + - mmc: cqhci: Increase recovery halt timeout + - mmc: cqhci: Warn of halt or task clear failure + - mmc: cqhci: Fix task clearing in CQE error recovery + - mmc: core: convert comma to semicolon + - mmc: block: Retry commands in CQE error recovery + - mmc: core: add helpers mmc_regulator_enable/disable_vqmmc + - r8169: disable ASPM in case of tx timeout + - r8169: fix deadlock on RTL8125 in jumbo mtu mode + - driver core: Release all resources during unbind before updating device + links + https://www.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.10.204 + - hrtimers: Push pending hrtimers away from outgoing CPU earlier + - i2c: designware: Fix corrupted memory seen in the ISR + - netfilter: ipset: fix race condition between swap/destroy and kernel side + add/del/test + - tg3: Move the [rt]x_dropped counters to tg3_napi + - tg3: Increment tx_dropped in tg3_tso_bug() + - kconfig: fix memory leak from range properties + - drm/amdgpu: correct chunk_ptr to a pointer to chunk. + - [x86] platform/x86: asus-wmi: Add support for SW_TABLET_MODE on UX360 + - [x86] platform/x86: asus-nb-wmi: Allow configuring SW_TABLET_MODE method + with a module option + - [x86] platform/x86: asus-nb-wmi: Add tablet_mode_sw=lid-flip quirk for the + TP200s + - [x86] asus-wmi: Add dgpu disable method + - [x86] platform/x86: asus-wmi: Adjust tablet/lidflip handling to use enum + - [x86] platform/x86: asus-wmi: Add support for ROG X13 tablet mode + - [x86] platform/x86: asus-wmi: Simplify tablet-mode-switch probing + - [x86] platform/x86: asus-wmi: Simplify tablet-mode-switch handling + - [x86] platform/x86: asus-wmi: Move i8042 filter install to shared asus-wmi + code + - of: base: Fix some formatting issues and provide missing descriptions + - of: Fix kerneldoc output formatting + - of: Add missing 'Return' section in kerneldoc comments + - of: dynamic: Fix of_reconfig_get_state_change() return value documentation + - ipv6: fix potential NULL deref in fib6_add() + - hv_netvsc: rndis_filter needs to select NLS + - net: arcnet: com20020 fix error handling + - arcnet: restoring support for multiple Sohard Arcnet cards + - i40e: Fix unexpected MFS warning message + - net: bnxt: fix a potential use-after-free in bnxt_init_tc + - ipv4: ip_gre: Avoid skb_pull() failure in ipgre_xmit() + - [arm64] net: hns: fix fake link up on xge port + - netfilter: xt_owner: Fix for unsafe access of sk->sk_socket + - tcp: do not accept ACK of bytes we never sent + - bpf: sockmap, updating the sg structure should also update curr + - [arm64] tee: optee: Fix supplicant based device enumeration + - RDMA/bnxt_re: Correct module description string + - [x86] hwmon: (acpi_power_meter) Fix 4.29 MW bug + - tracing: Fix a warning when allocating buffered events fails + - scsi: be2iscsi: Fix a memleak in beiscsi_init_wrb_handle() + - [armhf] imx: Check return value of devm_kasprintf in imx_mmdc_perf_init + - ALSA: pcm: fix out-of-bounds in snd_pcm_state_names + - ALSA: hda/realtek: Enable headset on Lenovo M90 Gen5 + - nilfs2: fix missing error check for sb_set_blocksize call + - nilfs2: prevent WARNING in nilfs_sufile_set_segment_usage() + - checkstack: fix printed address + - tracing: Always update snapshot buffer size + - tracing: Disable snapshot buffer when stopping instance tracers + - tracing: Fix incomplete locking when disabling buffered events + - tracing: Fix a possible race when disabling buffered events + - packet: Move reference count in packet_sock to atomic_long_t + - [x86] misc: mei: client.c: return negative error code in mei_cl_write + - [x86] misc: mei: client.c: fix problem of return '-EOVERFLOW' in + mei_cl_write + - ring-buffer: Force absolute timestamp on discard of event + - tracing: Set actual size after ring buffer resize + - tracing: Stop current tracer when resizing buffer + - perf/core: Add a new read format to get a number of lost samples + - perf: Fix perf_event_validate_size() (CVE-2023-6931) + - gpiolib: sysfs: Fix error handling on failed export + - drm/amdgpu: correct the amdgpu runtime dereference usage count + - usb: gadget: f_hid: fix report descriptor allocation + - parport: Add support for Brainboxes IX/UC/PX parallel cards + - Revert "xhci: Loosen RPM as default policy to cover for AMD xHC 1.1" + - usb: typec: class: fix typec_altmode_put_partner to put plugs + - [arm*] PL011: Fix DMA support + - [x86] CPU/AMD: Check vendor in the AMD microcode callback + - [s390x] KVM: s390/mm: Properly reset no-dat + - [mips*] Loongson64: Reserve vgabios memory on boot + - [mips*] Loongson64: Enable DMA noncoherent support + - io_uring/af_unix: disable sending io_uring over sockets (CVE-2023-6531) + - netlink: don't call ->netlink_bind with table lock held + - genetlink: add CAP_NET_ADMIN test for multicast bind + - psample: Require 'CAP_NET_ADMIN' when joining "packets" group + - drop_monitor: Require 'CAP_SYS_ADMIN' when joining "events" group + - netfilter: nft_set_pipapo: skip inactive elements during set walk + (CVE-2023-6817) + - [x86] platform/x86: asus-wmi: Fix kbd_dock_devid tablet-switch reporting + - [x86] platform/x86: asus-wmi: Document the dgpu_disable sysfs attribute + - mmc: block: Be sure to wait while busy in CQE error recovery + - Revert "btrfs: add dmesg output for first mount and last unmount of a + filesystem" + - cifs: Fix non-availability of dedup breaking generic/304 + - smb: client: fix potential NULL deref in parse_dfs_referrals() + - devcoredump : Serialize devcd_del work + - devcoredump: Send uevent once devcd is ready + - r8169: fix rtl8125b PAUSE frames blasting when suspended + https://www.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.10.205 + - netfilter: nf_tables: fix 'exist' matching on bigendian arches + - afs: Fix refcount underflow from error handling race (Closes: #1052304) + - HID: lenovo: Restrict detection of patched firmware only to USB cptkbd + - net: ipv6: support reporting otherwise unknown prefix flags in + RTM_NEWPREFIX + - atm: solos-pci: Fix potential deadlock on &cli_queue_lock + - atm: solos-pci: Fix potential deadlock on &tx_queue_lock + - net: vlan: introduce skb_vlan_eth_hdr() + - net: fec: correct queue selection + - atm: Fix Use-After-Free in do_vcc_ioctl (CVE-2023-51780) + - net/rose: Fix Use-After-Free in rose_ioctl (CVE-2023-51782) + - qed: Fix a potential use-after-free in qed_cxt_tables_alloc + - net: Remove acked SYN flag from packet in the transmit queue correctly + - net: ena: Destroy correct number of xdp queues upon failure + - net: ena: Fix XDP redirection error + - sign-file: Fix incorrect return values check + - vsock/virtio: Fix unsigned integer wrap around in + virtio_transport_has_space() + - net: stmmac: use dev_err_probe() for reporting mdio bus registration + failure + - net: stmmac: Handle disabled MDIO busses from devicetree + - appletalk: Fix Use-After-Free in atalk_ioctl (CVE-2023-51781) + - net: atlantic: fix double free in ring reinit logic + - cred: switch to using atomic_long_t + - fuse: dax: set fc->dax to NULL in fuse_dax_conn_free() + - ALSA: hda/hdmi: add force-connect quirks for ASUSTeK Z170 variants + - ALSA: hda/realtek: Apply mute LED quirk for HP15-db + - Revert "PCI: acpiphp: Reassign resources on bridge if necessary" + - PCI: loongson: Limit MRRS to 256 (Closes: #1035587) + - usb: aqc111: check packet for fixup for true limit + - blk-throttle: fix lockdep warning of "cgroup_mutex or RCU read lock + required!" + - bcache: avoid oversize memory allocation by small stripe_size + - bcache: remove redundant assignment to variable cur_idx + - bcache: add code comments for bch_btree_node_get() and + __bch_btree_node_alloc() + - bcache: avoid NULL checking to c->root in run_cache_set() + - [x86] platform/x86: intel_telemetry: Fix kernel doc descriptions + - HID: glorious: fix Glorious Model I HID report + - HID: add ALWAYS_POLL quirk for Apple kb + - HID: hid-asus: reset the backlight brightness level on resume + - HID: multitouch: Add quirk for HONOR GLO-GXXX touchpad + - asm-generic: qspinlock: fix queued_spin_value_unlocked() implementation + - net: usb: qmi_wwan: claim interface 4 for ZTE MF290 + - HID: hid-asus: add const to read-only outgoing usb buffer + - perf: Fix perf_event_validate_size() lockdep splat + - soundwire: stream: fix NULL pointer dereference for multi_link + - ext4: prevent the normalized size from exceeding EXT_MAX_BLOCKS + - [arm64] mm: Always make sw-dirty PTEs hw-dirty in pte_modify + - team: Fix use-after-free when an option instance allocation fails + - ring-buffer: Fix memory leak of free page + - tracing: Update snapshot buffer on resize if it is allocated + - ring-buffer: Have saved event hold the entire event + - ring-buffer: Fix writing to the buffer with max_data_size + - ring-buffer: Fix a race in rb_time_cmpxchg() for 32 bit archs + - USB: gadget: core: adjust uevent timing on gadget unbind + - tty: n_gsm: fix tty registration before control channel open + - tty: n_gsm, remove duplicates of parameters + - tty: n_gsm: add sanity check for gsm->receive in gsm_receive_buf() + - [powerpc*] ftrace: Create a dummy stackframe to fix stack unwind + - [powerpc*] ftrace: Fix stack teardown in ftrace_no_trace + + [ Salvatore Bonaccorso ] + * Bump ABI to 27 + * [rt] Refresh "net: Properly annotate the try-lock for the seqlock" + Adapt to changes from upstream a8dd21118b0f ("seqlock: Prefix internal + seqcount_t-only macros with a "do_"") in 5.10.198. + * Refresh "arm64: compat: Implement misalignment fixups for multiword loads" + * Do not enable DEBUG_PREEMPT (not enabled by default since 5.10.199) + * [rt] Update to 5.10.201-rt98 + * [rt] Update to 5.10.204-rt100 + * [arm64] drivers/vfio: Don't enable VFIO_NOIOMMU. + This is a breach of the integrity lockdown requirement of secure boot + and thus cannot be enabled. + Thanks to Bastian Blank and Ben Hutchings + * netfilter: nf_tables: skip set commit for deleted/destroyed sets + + -- Salvatore Bonaccorso Sat, 30 Dec 2023 10:41:34 +0100 + linux (5.10.197-1) bullseye; urgency=medium * New upstream stable update: diff -Nru linux-5.10.197/debian/config/arm64/config linux-5.10.205/debian/config/arm64/config --- linux-5.10.197/debian/config/arm64/config 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/config/arm64/config 2023-12-31 08:33:31.000000000 +0000 @@ -1437,7 +1437,6 @@ ## file: drivers/vfio/Kconfig ## CONFIG_VFIO=m -CONFIG_VFIO_NOIOMMU=y ## ## file: drivers/vfio/pci/Kconfig diff -Nru linux-5.10.197/debian/config/config linux-5.10.205/debian/config/config --- linux-5.10.197/debian/config/config 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/config/config 2023-12-31 08:33:31.000000000 +0000 @@ -6641,7 +6641,6 @@ CONFIG_SCHED_DEBUG=y CONFIG_SCHEDSTATS=y # CONFIG_DEBUG_TIMEKEEPING is not set -CONFIG_DEBUG_PREEMPT=y # CONFIG_PROVE_LOCKING is not set # CONFIG_LOCK_STAT is not set # CONFIG_DEBUG_RT_MUTEXES is not set diff -Nru linux-5.10.197/debian/config/defines linux-5.10.205/debian/config/defines --- linux-5.10.197/debian/config/defines 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/config/defines 2023-12-31 08:33:31.000000000 +0000 @@ -1,5 +1,5 @@ [abi] -abiname: 26 +abiname: 27 ignore-changes: __cpuhp_* __udp_gso_segment diff -Nru linux-5.10.197/debian/config.defines.dump linux-5.10.205/debian/config.defines.dump --- linux-5.10.197/debian/config.defines.dump 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/config.defines.dump 2023-12-31 15:46:35.000000000 +0000 @@ -8,7 +8,7 @@ (dp4 Vabiname p5 -V26 +V27 p6 sVignore-changes p7 @@ -3059,7 +3059,7 @@ (dp1639 Vsource p1640 -V5.10.197-1 +V5.10.205-2 p1641 sVupstream p1642 @@ -3071,6 +3071,6 @@ p1645 sVabiname p1646 -V5.10.0-26 +V5.10.0-27 p1647 ss. \ No newline at end of file diff -Nru linux-5.10.197/debian/control linux-5.10.205/debian/control --- linux-5.10.197/debian/control 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/control 2023-12-31 15:46:35.000000000 +0000 @@ -12,7 +12,7 @@ Vcs-Browser: https://salsa.debian.org/kernel-team/linux Vcs-Git: https://salsa.debian.org/kernel-team/linux.git -Package: linux-support-5.10.0-26 +Package: linux-support-5.10.0-27 Architecture: all Section: devel Depends: ${python3:Depends}, ${misc:Depends} @@ -159,7 +159,7 @@ appropriate version for the running kernel. Build-Profiles: -Package: linux-bootwrapper-5.10.0-26 +Package: linux-bootwrapper-5.10.0-27 Architecture: powerpc ppc64 Depends: ${shlibs:Depends}, ${misc:Depends} Description: Boot wrapper tools for Linux 5.10 on PowerPC @@ -199,26 +199,26 @@ Linux kernel. Build-Profiles: -Package: linux-headers-5.10.0-26-common +Package: linux-headers-5.10.0-27-common Architecture: all Depends: ${misc:Depends} -Description: Common header files for Linux 5.10.0-26 +Description: Common header files for Linux 5.10.0-27 This package provides the common kernel header files for Linux kernel - version 5.10.0-26, generally used for building out-of-tree kernel modules. + version 5.10.0-27, generally used for building out-of-tree kernel modules. To obtain a complete set of headers you also need to install the - linux-headers-5.10.0-26-(flavour) package, matching the flavour of the + linux-headers-5.10.0-27-(flavour) package, matching the flavour of the kernel you intend the build for. Build-Profiles: Multi-Arch: foreign -Package: linux-headers-5.10.0-26-common-rt +Package: linux-headers-5.10.0-27-common-rt Architecture: all Depends: ${misc:Depends} -Description: Common header files for Linux 5.10.0-26-rt +Description: Common header files for Linux 5.10.0-27-rt This package provides the common kernel header files for Linux kernel - version 5.10.0-26 with the PREEMPT_RT featureset, generally used for + version 5.10.0-27 with the PREEMPT_RT featureset, generally used for building out-of-tree kernel modules. To obtain a complete set of headers - you also need to install the linux-headers-5.10.0-26-(flavour) package, + you also need to install the linux-headers-5.10.0-27-(flavour) package, matching the flavour of the kernel you intend the build for. Build-Profiles: Multi-Arch: foreign @@ -246,7 +246,7 @@ Build-Profiles: Multi-Arch: same -Package: kernel-image-5.10.0-26-alpha-generic-di +Package: kernel-image-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard @@ -256,499 +256,499 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: nic-modules-5.10.0-26-alpha-generic-di +Package: nic-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, nic-shared-modules-5.10.0-26-alpha-generic-di, i2c-modules-5.10.0-26-alpha-generic-di, crc-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, nic-shared-modules-5.10.0-27-alpha-generic-di, i2c-modules-5.10.0-27-alpha-generic-di, crc-modules-5.10.0-27-alpha-generic-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: nic-wireless-modules-5.10.0-26-alpha-generic-di +Package: nic-wireless-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, nic-shared-modules-5.10.0-26-alpha-generic-di, usb-modules-5.10.0-26-alpha-generic-di, pcmcia-modules-5.10.0-26-alpha-generic-di, crc-modules-5.10.0-26-alpha-generic-di, crypto-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, nic-shared-modules-5.10.0-27-alpha-generic-di, usb-modules-5.10.0-27-alpha-generic-di, pcmcia-modules-5.10.0-27-alpha-generic-di, crc-modules-5.10.0-27-alpha-generic-di, crypto-modules-5.10.0-27-alpha-generic-di Description: Wireless NIC drivers This package contains wireless NIC drivers for the kernel. Includes crypto modules only needed for wireless (WEP, WPA). Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-alpha-generic-di +Package: nic-shared-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: serial-modules-5.10.0-26-alpha-generic-di +Package: serial-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: serial-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, pcmcia-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, pcmcia-modules-5.10.0-27-alpha-generic-di Description: Serial drivers This package contains serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: usb-serial-modules-5.10.0-26-alpha-generic-di +Package: usb-serial-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, usb-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, usb-modules-5.10.0-27-alpha-generic-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: ppp-modules-5.10.0-26-alpha-generic-di +Package: ppp-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, serial-modules-5.10.0-26-alpha-generic-di, crc-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, serial-modules-5.10.0-27-alpha-generic-di, crc-modules-5.10.0-27-alpha-generic-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: pata-modules-5.10.0-26-alpha-generic-di +Package: pata-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, ata-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, ata-modules-5.10.0-27-alpha-generic-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: cdrom-core-modules-5.10.0-26-alpha-generic-di +Package: cdrom-core-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, scsi-core-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, scsi-core-modules-5.10.0-27-alpha-generic-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: scsi-core-modules-5.10.0-26-alpha-generic-di +Package: scsi-core-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: scsi-modules-5.10.0-26-alpha-generic-di +Package: scsi-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, scsi-core-modules-5.10.0-26-alpha-generic-di, cdrom-core-modules-5.10.0-26-alpha-generic-di, ata-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, scsi-core-modules-5.10.0-27-alpha-generic-di, cdrom-core-modules-5.10.0-27-alpha-generic-di, ata-modules-5.10.0-27-alpha-generic-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: scsi-nic-modules-5.10.0-26-alpha-generic-di +Package: scsi-nic-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-5.10.0-26-alpha-generic-di, nic-modules-5.10.0-26-alpha-generic-di +Depends: scsi-modules-5.10.0-27-alpha-generic-di, nic-modules-5.10.0-27-alpha-generic-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: loop-modules-5.10.0-26-alpha-generic-di +Package: loop-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: btrfs-modules-5.10.0-26-alpha-generic-di +Package: btrfs-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, crc-modules-5.10.0-26-alpha-generic-di, md-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, crc-modules-5.10.0-27-alpha-generic-di, md-modules-5.10.0-27-alpha-generic-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: ext4-modules-5.10.0-26-alpha-generic-di +Package: ext4-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, crc-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, crc-modules-5.10.0-27-alpha-generic-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: isofs-modules-5.10.0-26-alpha-generic-di +Package: isofs-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, cdrom-core-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, cdrom-core-modules-5.10.0-27-alpha-generic-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: jfs-modules-5.10.0-26-alpha-generic-di +Package: jfs-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: xfs-modules-5.10.0-26-alpha-generic-di +Package: xfs-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, crc-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, crc-modules-5.10.0-27-alpha-generic-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: fat-modules-5.10.0-26-alpha-generic-di +Package: fat-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: squashfs-modules-5.10.0-26-alpha-generic-di +Package: squashfs-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: fuse-modules-5.10.0-26-alpha-generic-di +Package: fuse-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: f2fs-modules-5.10.0-26-alpha-generic-di +Package: f2fs-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, crc-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, crc-modules-5.10.0-27-alpha-generic-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: md-modules-5.10.0-26-alpha-generic-di +Package: md-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, crc-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, crc-modules-5.10.0-27-alpha-generic-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: multipath-modules-5.10.0-26-alpha-generic-di +Package: multipath-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, md-modules-5.10.0-26-alpha-generic-di, scsi-core-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, md-modules-5.10.0-27-alpha-generic-di, scsi-core-modules-5.10.0-27-alpha-generic-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: usb-modules-5.10.0-26-alpha-generic-di +Package: usb-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: usb-storage-modules-5.10.0-26-alpha-generic-di +Package: usb-storage-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, scsi-core-modules-5.10.0-26-alpha-generic-di, usb-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, scsi-core-modules-5.10.0-27-alpha-generic-di, usb-modules-5.10.0-27-alpha-generic-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: fb-modules-5.10.0-26-alpha-generic-di +Package: fb-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, i2c-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, i2c-modules-5.10.0-27-alpha-generic-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: input-modules-5.10.0-26-alpha-generic-di +Package: input-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, usb-modules-5.10.0-26-alpha-generic-di, i2c-modules-5.10.0-26-alpha-generic-di, crc-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, usb-modules-5.10.0-27-alpha-generic-di, i2c-modules-5.10.0-27-alpha-generic-di, crc-modules-5.10.0-27-alpha-generic-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: event-modules-5.10.0-26-alpha-generic-di +Package: event-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: mouse-modules-5.10.0-26-alpha-generic-di +Package: mouse-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, event-modules-5.10.0-26-alpha-generic-di, input-modules-5.10.0-26-alpha-generic-di, usb-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, event-modules-5.10.0-27-alpha-generic-di, input-modules-5.10.0-27-alpha-generic-di, usb-modules-5.10.0-27-alpha-generic-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: nic-pcmcia-modules-5.10.0-26-alpha-generic-di +Package: nic-pcmcia-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: nic-pcmcia-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, nic-shared-modules-5.10.0-26-alpha-generic-di, nic-wireless-modules-5.10.0-26-alpha-generic-di, pcmcia-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, nic-shared-modules-5.10.0-27-alpha-generic-di, nic-wireless-modules-5.10.0-27-alpha-generic-di, pcmcia-modules-5.10.0-27-alpha-generic-di Description: Common PCMCIA NIC drivers This package contains common PCMCIA NIC drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: pcmcia-modules-5.10.0-26-alpha-generic-di +Package: pcmcia-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: pcmcia-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di Description: Common PCMCIA drivers This package contains common PCMCIA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: nic-usb-modules-5.10.0-26-alpha-generic-di +Package: nic-usb-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, nic-shared-modules-5.10.0-26-alpha-generic-di, nic-wireless-modules-5.10.0-26-alpha-generic-di, usb-modules-5.10.0-26-alpha-generic-di, crc-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, nic-shared-modules-5.10.0-27-alpha-generic-di, nic-wireless-modules-5.10.0-27-alpha-generic-di, usb-modules-5.10.0-27-alpha-generic-di, crc-modules-5.10.0-27-alpha-generic-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: sata-modules-5.10.0-26-alpha-generic-di +Package: sata-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, scsi-core-modules-5.10.0-26-alpha-generic-di, ata-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, scsi-core-modules-5.10.0-27-alpha-generic-di, ata-modules-5.10.0-27-alpha-generic-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: i2c-modules-5.10.0-26-alpha-generic-di +Package: i2c-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: crc-modules-5.10.0-26-alpha-generic-di +Package: crc-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: crypto-modules-5.10.0-26-alpha-generic-di +Package: crypto-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-alpha-generic-di +Package: crypto-dm-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, md-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, md-modules-5.10.0-27-alpha-generic-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: ata-modules-5.10.0-26-alpha-generic-di +Package: ata-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di, scsi-core-modules-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di, scsi-core-modules-5.10.0-27-alpha-generic-di Description: ATA disk modules This package contains core ATA disk modules used by both PATA and SATA disk drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: nbd-modules-5.10.0-26-alpha-generic-di +Package: nbd-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: srm-modules-5.10.0-26-alpha-generic-di +Package: srm-modules-5.10.0-27-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: srm-modules -Depends: kernel-image-5.10.0-26-alpha-generic-di +Depends: kernel-image-5.10.0-27-alpha-generic-di Description: SRM modules This package contains the srm_env module which provides access to the SRM environment. Build-Profiles: -Kernel-Version: 5.10.0-26-alpha-generic +Kernel-Version: 5.10.0-27-alpha-generic Package-Type: udeb -Package: linux-image-5.10.0-26-alpha-generic +Package: linux-image-5.10.0-27-alpha-generic Architecture: alpha -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [alpha] | linux-initramfs-tool [alpha] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [alpha] | linux-initramfs-tool [alpha] Recommends: firmware-linux-free, apparmor [alpha] Suggests: linux-doc-5.10, debian-kernel-handbook, aboot [alpha], fdutils [alpha] Breaks: fwupdate (<< 12-7) [alpha], wireless-regdb (<< 2019.06.03-1~) [alpha], initramfs-tools (<< 0.120+deb8u2) @@ -757,22 +757,22 @@ extended kernel start address (Wildfire, Titan, Marvel). Build-Profiles: -Package: linux-headers-5.10.0-26-alpha-generic +Package: linux-headers-5.10.0-27-alpha-generic Architecture: alpha -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-alpha-generic +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-alpha-generic This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-alpha-generic, generally used for building + Linux kernel 5.10.0-27-alpha-generic, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-alpha-generic, and can be used for + /usr/src/linux-headers-5.10.0-27-alpha-generic, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-alpha-generic package. + linux-image-5.10.0-27-alpha-generic package. Build-Profiles: Package: linux-image-alpha-generic Architecture: alpha -Provides: linux-latest-modules-5.10.0-26-alpha-generic, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] -Depends: linux-image-5.10.0-26-alpha-generic (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-alpha-generic, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] +Depends: linux-image-5.10.0-27-alpha-generic (= ${binary:Version}), ${misc:Depends} Description: Linux for Alpha (meta-package) This package depends on the latest Linux kernel and modules for use on DEC Alpha systems with extended kernel start address (Wildfire, Titan, @@ -781,34 +781,34 @@ Package: linux-headers-alpha-generic Architecture: alpha -Depends: linux-headers-5.10.0-26-alpha-generic (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-alpha-generic (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux alpha-generic configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel alpha-generic configuration. Build-Profiles: -Package: linux-image-5.10.0-26-alpha-generic-dbg +Package: linux-image-5.10.0-27-alpha-generic-dbg Architecture: alpha Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-alpha-generic +Description: Debug symbols for linux-image-5.10.0-27-alpha-generic This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-alpha-generic. + modules in linux-image-5.10.0-27-alpha-generic. Build-Profiles: Package: linux-image-alpha-generic-dbg Architecture: alpha Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-alpha-generic-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-alpha-generic-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux alpha-generic configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel alpha-generic configuration. Build-Profiles: -Package: linux-image-5.10.0-26-alpha-smp +Package: linux-image-5.10.0-27-alpha-smp Architecture: alpha -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [alpha] | linux-initramfs-tool [alpha] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [alpha] | linux-initramfs-tool [alpha] Recommends: firmware-linux-free, apparmor [alpha] Suggests: linux-doc-5.10, debian-kernel-handbook, aboot [alpha], fdutils [alpha] Breaks: fwupdate (<< 12-7) [alpha], wireless-regdb (<< 2019.06.03-1~) [alpha], initramfs-tools (<< 0.120+deb8u2) @@ -817,22 +817,22 @@ extended kernel start address (Wildfire, Titan, Marvel). Build-Profiles: -Package: linux-headers-5.10.0-26-alpha-smp +Package: linux-headers-5.10.0-27-alpha-smp Architecture: alpha -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-alpha-smp +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-alpha-smp This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-alpha-smp, generally used for building out-of-tree + Linux kernel 5.10.0-27-alpha-smp, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-alpha-smp, and can be used for building + /usr/src/linux-headers-5.10.0-27-alpha-smp, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-alpha-smp package. + linux-image-5.10.0-27-alpha-smp package. Build-Profiles: Package: linux-image-alpha-smp Architecture: alpha -Provides: linux-latest-modules-5.10.0-26-alpha-smp, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic -Depends: linux-image-5.10.0-26-alpha-smp (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-alpha-smp, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic +Depends: linux-image-5.10.0-27-alpha-smp (= ${binary:Version}), ${misc:Depends} Description: Linux for Alpha SMP (meta-package) This package depends on the latest Linux kernel and modules for use on DEC Alpha SMP systems with extended kernel start address (Wildfire, Titan, @@ -842,32 +842,32 @@ Package: linux-headers-alpha-smp Architecture: alpha Provides: linux-headers-generic -Depends: linux-headers-5.10.0-26-alpha-smp (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-alpha-smp (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux alpha-smp configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel alpha-smp configuration. Build-Profiles: -Package: linux-image-5.10.0-26-alpha-smp-dbg +Package: linux-image-5.10.0-27-alpha-smp-dbg Architecture: alpha Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-alpha-smp +Description: Debug symbols for linux-image-5.10.0-27-alpha-smp This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-alpha-smp. + modules in linux-image-5.10.0-27-alpha-smp. Build-Profiles: Package: linux-image-alpha-smp-dbg Architecture: alpha Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-alpha-smp-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-alpha-smp-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux alpha-smp configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel alpha-smp configuration. Build-Profiles: -Package: kernel-image-5.10.0-26-amd64-di +Package: kernel-image-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: standard @@ -877,626 +877,626 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: nic-modules-5.10.0-26-amd64-di +Package: nic-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-5.10.0-26-amd64-di, nic-shared-modules-5.10.0-26-amd64-di, i2c-modules-5.10.0-26-amd64-di, crc-modules-5.10.0-26-amd64-di, mtd-core-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, nic-shared-modules-5.10.0-27-amd64-di, i2c-modules-5.10.0-27-amd64-di, crc-modules-5.10.0-27-amd64-di, mtd-core-modules-5.10.0-27-amd64-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: nic-wireless-modules-5.10.0-26-amd64-di +Package: nic-wireless-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-5.10.0-26-amd64-di, nic-shared-modules-5.10.0-26-amd64-di, usb-modules-5.10.0-26-amd64-di, mmc-core-modules-5.10.0-26-amd64-di, pcmcia-modules-5.10.0-26-amd64-di, crc-modules-5.10.0-26-amd64-di, rfkill-modules-5.10.0-26-amd64-di, crypto-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, nic-shared-modules-5.10.0-27-amd64-di, usb-modules-5.10.0-27-amd64-di, mmc-core-modules-5.10.0-27-amd64-di, pcmcia-modules-5.10.0-27-amd64-di, crc-modules-5.10.0-27-amd64-di, rfkill-modules-5.10.0-27-amd64-di, crypto-modules-5.10.0-27-amd64-di Description: Wireless NIC drivers This package contains wireless NIC drivers for the kernel. Includes crypto modules only needed for wireless (WEP, WPA). Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-amd64-di +Package: nic-shared-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: serial-modules-5.10.0-26-amd64-di +Package: serial-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: serial-modules -Depends: kernel-image-5.10.0-26-amd64-di, pcmcia-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, pcmcia-modules-5.10.0-27-amd64-di Description: Serial drivers This package contains serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: usb-serial-modules-5.10.0-26-amd64-di +Package: usb-serial-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-5.10.0-26-amd64-di, usb-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, usb-modules-5.10.0-27-amd64-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: ppp-modules-5.10.0-26-amd64-di +Package: ppp-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-5.10.0-26-amd64-di, serial-modules-5.10.0-26-amd64-di, crc-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, serial-modules-5.10.0-27-amd64-di, crc-modules-5.10.0-27-amd64-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: pata-modules-5.10.0-26-amd64-di +Package: pata-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-5.10.0-26-amd64-di, ata-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, ata-modules-5.10.0-27-amd64-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: cdrom-core-modules-5.10.0-26-amd64-di +Package: cdrom-core-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-5.10.0-26-amd64-di, scsi-core-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, scsi-core-modules-5.10.0-27-amd64-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: firewire-core-modules-5.10.0-26-amd64-di +Package: firewire-core-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: firewire-core-modules -Depends: kernel-image-5.10.0-26-amd64-di, scsi-core-modules-5.10.0-26-amd64-di, crc-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, scsi-core-modules-5.10.0-27-amd64-di, crc-modules-5.10.0-27-amd64-di Description: Core FireWire drivers This package contains core FireWire drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: scsi-core-modules-5.10.0-26-amd64-di +Package: scsi-core-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: scsi-modules-5.10.0-26-amd64-di +Package: scsi-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-5.10.0-26-amd64-di, scsi-core-modules-5.10.0-26-amd64-di, cdrom-core-modules-5.10.0-26-amd64-di, ata-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, scsi-core-modules-5.10.0-27-amd64-di, cdrom-core-modules-5.10.0-27-amd64-di, ata-modules-5.10.0-27-amd64-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: scsi-nic-modules-5.10.0-26-amd64-di +Package: scsi-nic-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-5.10.0-26-amd64-di, nic-modules-5.10.0-26-amd64-di +Depends: scsi-modules-5.10.0-27-amd64-di, nic-modules-5.10.0-27-amd64-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: loop-modules-5.10.0-26-amd64-di +Package: loop-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: btrfs-modules-5.10.0-26-amd64-di +Package: btrfs-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-amd64-di, crc-modules-5.10.0-26-amd64-di, md-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, crc-modules-5.10.0-27-amd64-di, md-modules-5.10.0-27-amd64-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: ext4-modules-5.10.0-26-amd64-di +Package: ext4-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-amd64-di, crc-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, crc-modules-5.10.0-27-amd64-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: isofs-modules-5.10.0-26-amd64-di +Package: isofs-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-amd64-di, cdrom-core-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, cdrom-core-modules-5.10.0-27-amd64-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: jfs-modules-5.10.0-26-amd64-di +Package: jfs-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: xfs-modules-5.10.0-26-amd64-di +Package: xfs-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-5.10.0-26-amd64-di, crc-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, crc-modules-5.10.0-27-amd64-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: fat-modules-5.10.0-26-amd64-di +Package: fat-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: fat-modules -Depends: kernel-image-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: squashfs-modules-5.10.0-26-amd64-di +Package: squashfs-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: udf-modules-5.10.0-26-amd64-di +Package: udf-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-amd64-di, crc-modules-5.10.0-26-amd64-di, cdrom-core-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, crc-modules-5.10.0-27-amd64-di, cdrom-core-modules-5.10.0-27-amd64-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: fuse-modules-5.10.0-26-amd64-di +Package: fuse-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: f2fs-modules-5.10.0-26-amd64-di +Package: f2fs-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-amd64-di, crc-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, crc-modules-5.10.0-27-amd64-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: md-modules-5.10.0-26-amd64-di +Package: md-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-amd64-di, crc-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, crc-modules-5.10.0-27-amd64-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: multipath-modules-5.10.0-26-amd64-di +Package: multipath-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-amd64-di, md-modules-5.10.0-26-amd64-di, scsi-core-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, md-modules-5.10.0-27-amd64-di, scsi-core-modules-5.10.0-27-amd64-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: usb-modules-5.10.0-26-amd64-di +Package: usb-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: usb-storage-modules-5.10.0-26-amd64-di +Package: usb-storage-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-5.10.0-26-amd64-di, scsi-core-modules-5.10.0-26-amd64-di, usb-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, scsi-core-modules-5.10.0-27-amd64-di, usb-modules-5.10.0-27-amd64-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: pcmcia-storage-modules-5.10.0-26-amd64-di +Package: pcmcia-storage-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: pcmcia-storage-modules -Depends: kernel-image-5.10.0-26-amd64-di, cdrom-core-modules-5.10.0-26-amd64-di, pcmcia-modules-5.10.0-26-amd64-di, ata-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, cdrom-core-modules-5.10.0-27-amd64-di, pcmcia-modules-5.10.0-27-amd64-di, ata-modules-5.10.0-27-amd64-di Description: PCMCIA storage drivers This package contains PCMCIA storage drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: fb-modules-5.10.0-26-amd64-di +Package: fb-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-5.10.0-26-amd64-di, i2c-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, i2c-modules-5.10.0-27-amd64-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: input-modules-5.10.0-26-amd64-di +Package: input-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-5.10.0-26-amd64-di, usb-modules-5.10.0-26-amd64-di, i2c-modules-5.10.0-26-amd64-di, rfkill-modules-5.10.0-26-amd64-di, crc-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, usb-modules-5.10.0-27-amd64-di, i2c-modules-5.10.0-27-amd64-di, rfkill-modules-5.10.0-27-amd64-di, crc-modules-5.10.0-27-amd64-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: event-modules-5.10.0-26-amd64-di +Package: event-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: mouse-modules-5.10.0-26-amd64-di +Package: mouse-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-5.10.0-26-amd64-di, event-modules-5.10.0-26-amd64-di, input-modules-5.10.0-26-amd64-di, usb-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, event-modules-5.10.0-27-amd64-di, input-modules-5.10.0-27-amd64-di, usb-modules-5.10.0-27-amd64-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: nic-pcmcia-modules-5.10.0-26-amd64-di +Package: nic-pcmcia-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: nic-pcmcia-modules -Depends: kernel-image-5.10.0-26-amd64-di, nic-shared-modules-5.10.0-26-amd64-di, nic-wireless-modules-5.10.0-26-amd64-di, pcmcia-modules-5.10.0-26-amd64-di, mmc-core-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, nic-shared-modules-5.10.0-27-amd64-di, nic-wireless-modules-5.10.0-27-amd64-di, pcmcia-modules-5.10.0-27-amd64-di, mmc-core-modules-5.10.0-27-amd64-di Description: Common PCMCIA NIC drivers This package contains common PCMCIA NIC drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: pcmcia-modules-5.10.0-26-amd64-di +Package: pcmcia-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: pcmcia-modules -Depends: kernel-image-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di Description: Common PCMCIA drivers This package contains common PCMCIA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: nic-usb-modules-5.10.0-26-amd64-di +Package: nic-usb-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-5.10.0-26-amd64-di, nic-shared-modules-5.10.0-26-amd64-di, nic-wireless-modules-5.10.0-26-amd64-di, usb-modules-5.10.0-26-amd64-di, crc-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, nic-shared-modules-5.10.0-27-amd64-di, nic-wireless-modules-5.10.0-27-amd64-di, usb-modules-5.10.0-27-amd64-di, crc-modules-5.10.0-27-amd64-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: sata-modules-5.10.0-26-amd64-di +Package: sata-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-5.10.0-26-amd64-di, scsi-core-modules-5.10.0-26-amd64-di, ata-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, scsi-core-modules-5.10.0-27-amd64-di, ata-modules-5.10.0-27-amd64-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: acpi-modules-5.10.0-26-amd64-di +Package: acpi-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: acpi-modules -Depends: kernel-image-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di Description: ACPI support modules This package contains kernel modules for ACPI. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: i2c-modules-5.10.0-26-amd64-di +Package: i2c-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: crc-modules-5.10.0-26-amd64-di +Package: crc-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: crypto-modules-5.10.0-26-amd64-di +Package: crypto-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-amd64-di +Package: crypto-dm-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-amd64-di, md-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, md-modules-5.10.0-27-amd64-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: efi-modules-5.10.0-26-amd64-di +Package: efi-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: efi-modules -Depends: kernel-image-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di Description: EFI modules This package contains EFI modules. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: ata-modules-5.10.0-26-amd64-di +Package: ata-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-5.10.0-26-amd64-di, scsi-core-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, scsi-core-modules-5.10.0-27-amd64-di Description: ATA disk modules This package contains core ATA disk modules used by both PATA and SATA disk drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: mmc-core-modules-5.10.0-26-amd64-di +Package: mmc-core-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: mmc-core-modules -Depends: kernel-image-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di Description: MMC/SD/SDIO core modules This package contains core modules for MMC/SD/SDIO support. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: mmc-modules-5.10.0-26-amd64-di +Package: mmc-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: mmc-modules -Depends: kernel-image-5.10.0-26-amd64-di, mmc-core-modules-5.10.0-26-amd64-di, usb-modules-5.10.0-26-amd64-di, crc-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, mmc-core-modules-5.10.0-27-amd64-di, usb-modules-5.10.0-27-amd64-di, crc-modules-5.10.0-27-amd64-di Description: MMC/SD card modules This package contains modules needed to support MMC (multimedia) and SD cards. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: nbd-modules-5.10.0-26-amd64-di +Package: nbd-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: speakup-modules-5.10.0-26-amd64-di +Package: speakup-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: speakup-modules -Depends: kernel-image-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di Description: speakup modules This package contains speakup modules. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: uinput-modules-5.10.0-26-amd64-di +Package: uinput-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: uinput-modules -Depends: kernel-image-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di Description: uinput support This package contains the uinput module. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: sound-modules-5.10.0-26-amd64-di +Package: sound-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: sound-modules -Depends: kernel-image-5.10.0-26-amd64-di, i2c-modules-5.10.0-26-amd64-di, usb-modules-5.10.0-26-amd64-di, pcmcia-modules-5.10.0-26-amd64-di, firewire-core-modules-5.10.0-26-amd64-di, crc-modules-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di, i2c-modules-5.10.0-27-amd64-di, usb-modules-5.10.0-27-amd64-di, pcmcia-modules-5.10.0-27-amd64-di, firewire-core-modules-5.10.0-27-amd64-di, crc-modules-5.10.0-27-amd64-di Description: sound support This package contains sound modules. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: mtd-core-modules-5.10.0-26-amd64-di +Package: mtd-core-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb -Package: rfkill-modules-5.10.0-26-amd64-di +Package: rfkill-modules-5.10.0-27-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: rfkill-modules -Depends: kernel-image-5.10.0-26-amd64-di +Depends: kernel-image-5.10.0-27-amd64-di Description: rfkill modules This package contains the rfkill module. Build-Profiles: -Kernel-Version: 5.10.0-26-amd64 +Kernel-Version: 5.10.0-27-amd64 Package-Type: udeb Package: linux-image-amd64-signed-template @@ -1507,102 +1507,102 @@ service. Build-Profiles: -Package: linux-image-5.10.0-26-amd64-unsigned +Package: linux-image-5.10.0-27-amd64-unsigned Architecture: amd64 Depends: kmod, linux-base (>= 4.3~), ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [amd64] | linux-initramfs-tool [amd64] Recommends: firmware-linux-free, apparmor [amd64] Suggests: linux-doc-5.10, debian-kernel-handbook, grub-pc [amd64] | grub-efi-amd64 [amd64] | extlinux [amd64] -Replaces: linux-image-5.10.0-26-amd64 +Replaces: linux-image-5.10.0-27-amd64 Breaks: xserver-xorg-input-vmmouse (<< 1:13.0.99) [amd64], fwupdate (<< 12-7) [amd64], wireless-regdb (<< 2019.06.03-1~) [amd64], initramfs-tools (<< 0.120+deb8u2) -Conflicts: linux-image-5.10.0-26-amd64 +Conflicts: linux-image-5.10.0-27-amd64 Description: Linux 5.10 for 64-bit PCs The Linux kernel 5.10 and modules for use on PCs with AMD64, Intel 64 or VIA Nano processors. Build-Profiles: -Package: linux-headers-5.10.0-26-amd64 +Package: linux-headers-5.10.0-27-amd64 Architecture: amd64 -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-x86 -Description: Header files for Linux 5.10.0-26-amd64 +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-x86 +Description: Header files for Linux 5.10.0-27-amd64 This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-amd64, generally used for building out-of-tree + Linux kernel 5.10.0-27-amd64, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-amd64, and can be used for building + /usr/src/linux-headers-5.10.0-27-amd64, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-amd64 package. + linux-image-5.10.0-27-amd64 package. Build-Profiles: -Package: linux-image-5.10.0-26-amd64-dbg +Package: linux-image-5.10.0-27-amd64-dbg Architecture: amd64 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-amd64 +Description: Debug symbols for linux-image-5.10.0-27-amd64 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-amd64. + modules in linux-image-5.10.0-27-amd64. Build-Profiles: Package: linux-image-amd64-dbg Architecture: amd64 Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-amd64-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-amd64-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux amd64 configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel amd64 configuration. Build-Profiles: -Package: linux-image-5.10.0-26-cloud-amd64-unsigned +Package: linux-image-5.10.0-27-cloud-amd64-unsigned Architecture: amd64 Depends: kmod, linux-base (>= 4.3~), ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [amd64] | linux-initramfs-tool [amd64] Recommends: firmware-linux-free, apparmor [amd64] Suggests: linux-doc-5.10, debian-kernel-handbook, grub-pc [amd64] | grub-efi-amd64 [amd64] | extlinux [amd64] -Replaces: linux-image-5.10.0-26-cloud-amd64 +Replaces: linux-image-5.10.0-27-cloud-amd64 Breaks: xserver-xorg-input-vmmouse (<< 1:13.0.99) [amd64], fwupdate (<< 12-7) [amd64], wireless-regdb (<< 2019.06.03-1~) [amd64], initramfs-tools (<< 0.120+deb8u2) -Conflicts: linux-image-5.10.0-26-cloud-amd64 +Conflicts: linux-image-5.10.0-27-cloud-amd64 Description: Linux 5.10 for x86-64 cloud The Linux kernel 5.10 and modules for use on cloud platforms including Amazon EC2, Microsoft Azure, and Google Compute Engine. Build-Profiles: -Package: linux-headers-5.10.0-26-cloud-amd64 +Package: linux-headers-5.10.0-27-cloud-amd64 Architecture: amd64 -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-x86 -Description: Header files for Linux 5.10.0-26-cloud-amd64 +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-x86 +Description: Header files for Linux 5.10.0-27-cloud-amd64 This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-cloud-amd64, generally used for building + Linux kernel 5.10.0-27-cloud-amd64, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-cloud-amd64, and can be used for building + /usr/src/linux-headers-5.10.0-27-cloud-amd64, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-cloud-amd64 package. + linux-image-5.10.0-27-cloud-amd64 package. Build-Profiles: -Package: linux-image-5.10.0-26-cloud-amd64-dbg +Package: linux-image-5.10.0-27-cloud-amd64-dbg Architecture: amd64 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-cloud-amd64 +Description: Debug symbols for linux-image-5.10.0-27-cloud-amd64 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-cloud-amd64. + modules in linux-image-5.10.0-27-cloud-amd64. Build-Profiles: Package: linux-image-cloud-amd64-dbg Architecture: amd64 Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-cloud-amd64-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-cloud-amd64-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux cloud-amd64 configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel cloud-amd64 configuration. Build-Profiles: -Package: linux-image-5.10.0-26-rt-amd64-unsigned +Package: linux-image-5.10.0-27-rt-amd64-unsigned Architecture: amd64 Depends: kmod, linux-base (>= 4.3~), ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [amd64] | linux-initramfs-tool [amd64] Recommends: firmware-linux-free, apparmor [amd64] Suggests: linux-doc-5.10, debian-kernel-handbook, grub-pc [amd64] | grub-efi-amd64 [amd64] | extlinux [amd64] -Replaces: linux-image-5.10.0-26-rt-amd64 +Replaces: linux-image-5.10.0-27-rt-amd64 Breaks: xserver-xorg-input-vmmouse (<< 1:13.0.99) [amd64], fwupdate (<< 12-7) [amd64], wireless-regdb (<< 2019.06.03-1~) [amd64], initramfs-tools (<< 0.120+deb8u2) -Conflicts: linux-image-5.10.0-26-rt-amd64 +Conflicts: linux-image-5.10.0-27-rt-amd64 Description: Linux 5.10 for 64-bit PCs, PREEMPT_RT The Linux kernel 5.10 and modules for use on PCs with AMD64, Intel 64 or VIA Nano processors. @@ -1610,38 +1610,38 @@ This kernel includes the PREEMPT_RT realtime patch set. Build-Profiles: -Package: linux-headers-5.10.0-26-rt-amd64 +Package: linux-headers-5.10.0-27-rt-amd64 Architecture: amd64 -Depends: linux-headers-5.10.0-26-common-rt (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-x86 -Description: Header files for Linux 5.10.0-26-rt-amd64 +Depends: linux-headers-5.10.0-27-common-rt (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-x86 +Description: Header files for Linux 5.10.0-27-rt-amd64 This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-rt-amd64, generally used for building out-of-tree + Linux kernel 5.10.0-27-rt-amd64, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-rt-amd64, and can be used for building + /usr/src/linux-headers-5.10.0-27-rt-amd64, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-rt-amd64 package. + linux-image-5.10.0-27-rt-amd64 package. Build-Profiles: -Package: linux-image-5.10.0-26-rt-amd64-dbg +Package: linux-image-5.10.0-27-rt-amd64-dbg Architecture: amd64 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-rt-amd64 +Description: Debug symbols for linux-image-5.10.0-27-rt-amd64 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-rt-amd64. + modules in linux-image-5.10.0-27-rt-amd64. Build-Profiles: Package: linux-image-rt-amd64-dbg Architecture: amd64 Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-rt-amd64-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-rt-amd64-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux rt-amd64 configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel rt-amd64 configuration. Build-Profiles: -Package: kernel-image-5.10.0-26-arm64-di +Package: kernel-image-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: standard @@ -1651,494 +1651,494 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: nic-modules-5.10.0-26-arm64-di +Package: nic-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-5.10.0-26-arm64-di, nic-shared-modules-5.10.0-26-arm64-di, i2c-modules-5.10.0-26-arm64-di, crc-modules-5.10.0-26-arm64-di, mtd-core-modules-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di, nic-shared-modules-5.10.0-27-arm64-di, i2c-modules-5.10.0-27-arm64-di, crc-modules-5.10.0-27-arm64-di, mtd-core-modules-5.10.0-27-arm64-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: nic-wireless-modules-5.10.0-26-arm64-di +Package: nic-wireless-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-5.10.0-26-arm64-di, nic-shared-modules-5.10.0-26-arm64-di, usb-modules-5.10.0-26-arm64-di, crc-modules-5.10.0-26-arm64-di, crypto-modules-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di, nic-shared-modules-5.10.0-27-arm64-di, usb-modules-5.10.0-27-arm64-di, crc-modules-5.10.0-27-arm64-di, crypto-modules-5.10.0-27-arm64-di Description: Wireless NIC drivers This package contains wireless NIC drivers for the kernel. Includes crypto modules only needed for wireless (WEP, WPA). Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-arm64-di +Package: nic-shared-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: usb-serial-modules-5.10.0-26-arm64-di +Package: usb-serial-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-5.10.0-26-arm64-di, usb-modules-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di, usb-modules-5.10.0-27-arm64-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: ppp-modules-5.10.0-26-arm64-di +Package: ppp-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-5.10.0-26-arm64-di, crc-modules-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di, crc-modules-5.10.0-27-arm64-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: cdrom-core-modules-5.10.0-26-arm64-di +Package: cdrom-core-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-5.10.0-26-arm64-di, scsi-core-modules-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di, scsi-core-modules-5.10.0-27-arm64-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: scsi-core-modules-5.10.0-26-arm64-di +Package: scsi-core-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: scsi-modules-5.10.0-26-arm64-di +Package: scsi-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-5.10.0-26-arm64-di, scsi-core-modules-5.10.0-26-arm64-di, cdrom-core-modules-5.10.0-26-arm64-di, ata-modules-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di, scsi-core-modules-5.10.0-27-arm64-di, cdrom-core-modules-5.10.0-27-arm64-di, ata-modules-5.10.0-27-arm64-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: scsi-nic-modules-5.10.0-26-arm64-di +Package: scsi-nic-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-5.10.0-26-arm64-di, nic-modules-5.10.0-26-arm64-di +Depends: scsi-modules-5.10.0-27-arm64-di, nic-modules-5.10.0-27-arm64-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: loop-modules-5.10.0-26-arm64-di +Package: loop-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: btrfs-modules-5.10.0-26-arm64-di +Package: btrfs-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-arm64-di, crc-modules-5.10.0-26-arm64-di, md-modules-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di, crc-modules-5.10.0-27-arm64-di, md-modules-5.10.0-27-arm64-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: ext4-modules-5.10.0-26-arm64-di +Package: ext4-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-arm64-di, crc-modules-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di, crc-modules-5.10.0-27-arm64-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: isofs-modules-5.10.0-26-arm64-di +Package: isofs-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-arm64-di, cdrom-core-modules-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di, cdrom-core-modules-5.10.0-27-arm64-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: jfs-modules-5.10.0-26-arm64-di +Package: jfs-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: xfs-modules-5.10.0-26-arm64-di +Package: xfs-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-5.10.0-26-arm64-di, crc-modules-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di, crc-modules-5.10.0-27-arm64-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: fat-modules-5.10.0-26-arm64-di +Package: fat-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: squashfs-modules-5.10.0-26-arm64-di +Package: squashfs-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: udf-modules-5.10.0-26-arm64-di +Package: udf-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-arm64-di, crc-modules-5.10.0-26-arm64-di, cdrom-core-modules-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di, crc-modules-5.10.0-27-arm64-di, cdrom-core-modules-5.10.0-27-arm64-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: fuse-modules-5.10.0-26-arm64-di +Package: fuse-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: f2fs-modules-5.10.0-26-arm64-di +Package: f2fs-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-arm64-di, crc-modules-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di, crc-modules-5.10.0-27-arm64-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: md-modules-5.10.0-26-arm64-di +Package: md-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-arm64-di, crc-modules-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di, crc-modules-5.10.0-27-arm64-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: multipath-modules-5.10.0-26-arm64-di +Package: multipath-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-arm64-di, md-modules-5.10.0-26-arm64-di, scsi-core-modules-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di, md-modules-5.10.0-27-arm64-di, scsi-core-modules-5.10.0-27-arm64-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: usb-modules-5.10.0-26-arm64-di +Package: usb-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: usb-storage-modules-5.10.0-26-arm64-di +Package: usb-storage-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-5.10.0-26-arm64-di, scsi-core-modules-5.10.0-26-arm64-di, usb-modules-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di, scsi-core-modules-5.10.0-27-arm64-di, usb-modules-5.10.0-27-arm64-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: fb-modules-5.10.0-26-arm64-di +Package: fb-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-5.10.0-26-arm64-di, i2c-modules-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di, i2c-modules-5.10.0-27-arm64-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: input-modules-5.10.0-26-arm64-di +Package: input-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-5.10.0-26-arm64-di, usb-modules-5.10.0-26-arm64-di, i2c-modules-5.10.0-26-arm64-di, crc-modules-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di, usb-modules-5.10.0-27-arm64-di, i2c-modules-5.10.0-27-arm64-di, crc-modules-5.10.0-27-arm64-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: event-modules-5.10.0-26-arm64-di +Package: event-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: nic-usb-modules-5.10.0-26-arm64-di +Package: nic-usb-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-5.10.0-26-arm64-di, nic-shared-modules-5.10.0-26-arm64-di, nic-wireless-modules-5.10.0-26-arm64-di, usb-modules-5.10.0-26-arm64-di, crc-modules-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di, nic-shared-modules-5.10.0-27-arm64-di, nic-wireless-modules-5.10.0-27-arm64-di, usb-modules-5.10.0-27-arm64-di, crc-modules-5.10.0-27-arm64-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: sata-modules-5.10.0-26-arm64-di +Package: sata-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-5.10.0-26-arm64-di, scsi-core-modules-5.10.0-26-arm64-di, ata-modules-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di, scsi-core-modules-5.10.0-27-arm64-di, ata-modules-5.10.0-27-arm64-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: i2c-modules-5.10.0-26-arm64-di +Package: i2c-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: crc-modules-5.10.0-26-arm64-di +Package: crc-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: crypto-modules-5.10.0-26-arm64-di +Package: crypto-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-arm64-di +Package: crypto-dm-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-arm64-di, md-modules-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di, md-modules-5.10.0-27-arm64-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: efi-modules-5.10.0-26-arm64-di +Package: efi-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: efi-modules -Depends: kernel-image-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di Description: EFI modules This package contains EFI modules. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: ata-modules-5.10.0-26-arm64-di +Package: ata-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-5.10.0-26-arm64-di, scsi-core-modules-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di, scsi-core-modules-5.10.0-27-arm64-di Description: ATA disk modules This package contains core ATA disk modules used by both PATA and SATA disk drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: mmc-modules-5.10.0-26-arm64-di +Package: mmc-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: mmc-modules -Depends: kernel-image-5.10.0-26-arm64-di, usb-modules-5.10.0-26-arm64-di, crc-modules-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di, usb-modules-5.10.0-27-arm64-di, crc-modules-5.10.0-27-arm64-di Description: MMC/SD card modules This package contains modules needed to support MMC (multimedia) and SD cards. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: nbd-modules-5.10.0-26-arm64-di +Package: nbd-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: uinput-modules-5.10.0-26-arm64-di +Package: uinput-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: uinput-modules -Depends: kernel-image-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di Description: uinput support This package contains the uinput module. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: leds-modules-5.10.0-26-arm64-di +Package: leds-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: leds-modules -Depends: kernel-image-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di Description: LED modules This package contains LED modules. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb -Package: mtd-core-modules-5.10.0-26-arm64-di +Package: mtd-core-modules-5.10.0-27-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-5.10.0-26-arm64-di +Depends: kernel-image-5.10.0-27-arm64-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 5.10.0-26-arm64 +Kernel-Version: 5.10.0-27-arm64 Package-Type: udeb Package: linux-image-arm64-signed-template @@ -2149,139 +2149,139 @@ service. Build-Profiles: -Package: linux-image-5.10.0-26-arm64-unsigned +Package: linux-image-5.10.0-27-arm64-unsigned Architecture: arm64 Depends: kmod, linux-base (>= 4.3~), ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [arm64] | linux-initramfs-tool [arm64] Recommends: firmware-linux-free, apparmor [arm64] Suggests: linux-doc-5.10, debian-kernel-handbook -Replaces: linux-image-5.10.0-26-arm64 +Replaces: linux-image-5.10.0-27-arm64 Breaks: libmozjs185-1.0 [arm64], libmozjs-24-0 (<< 24.2.0-5.1~) [arm64], fwupdate (<< 12-7) [arm64], wireless-regdb (<< 2019.06.03-1~) [arm64], initramfs-tools (<< 0.120+deb8u2) -Conflicts: linux-image-5.10.0-26-arm64 +Conflicts: linux-image-5.10.0-27-arm64 Description: Linux 5.10 for 64-bit ARMv8 machines The Linux kernel 5.10 and modules for use on 64-bit ARMv8 machines. Build-Profiles: -Package: linux-headers-5.10.0-26-arm64 +Package: linux-headers-5.10.0-27-arm64 Architecture: arm64 -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-arm64 +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-arm64 This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-arm64, generally used for building out-of-tree + Linux kernel 5.10.0-27-arm64, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-arm64, and can be used for building + /usr/src/linux-headers-5.10.0-27-arm64, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-arm64 package. + linux-image-5.10.0-27-arm64 package. Build-Profiles: -Package: linux-image-5.10.0-26-arm64-dbg +Package: linux-image-5.10.0-27-arm64-dbg Architecture: arm64 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-arm64 +Description: Debug symbols for linux-image-5.10.0-27-arm64 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-arm64. + modules in linux-image-5.10.0-27-arm64. Build-Profiles: Package: linux-image-arm64-dbg Architecture: arm64 Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-arm64-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-arm64-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux arm64 configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel arm64 configuration. Build-Profiles: -Package: linux-image-5.10.0-26-cloud-arm64-unsigned +Package: linux-image-5.10.0-27-cloud-arm64-unsigned Architecture: arm64 Depends: kmod, linux-base (>= 4.3~), ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [arm64] | linux-initramfs-tool [arm64] Recommends: firmware-linux-free, apparmor [arm64] Suggests: linux-doc-5.10, debian-kernel-handbook -Replaces: linux-image-5.10.0-26-cloud-arm64 +Replaces: linux-image-5.10.0-27-cloud-arm64 Breaks: libmozjs185-1.0 [arm64], libmozjs-24-0 (<< 24.2.0-5.1~) [arm64], fwupdate (<< 12-7) [arm64], wireless-regdb (<< 2019.06.03-1~) [arm64], initramfs-tools (<< 0.120+deb8u2) -Conflicts: linux-image-5.10.0-26-cloud-arm64 +Conflicts: linux-image-5.10.0-27-cloud-arm64 Description: Linux 5.10 for arm64 cloud The Linux kernel 5.10 and modules for use on cloud platforms supporting arm64 virtual machines. Build-Profiles: -Package: linux-headers-5.10.0-26-cloud-arm64 +Package: linux-headers-5.10.0-27-cloud-arm64 Architecture: arm64 -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-cloud-arm64 +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-cloud-arm64 This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-cloud-arm64, generally used for building + Linux kernel 5.10.0-27-cloud-arm64, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-cloud-arm64, and can be used for building + /usr/src/linux-headers-5.10.0-27-cloud-arm64, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-cloud-arm64 package. + linux-image-5.10.0-27-cloud-arm64 package. Build-Profiles: -Package: linux-image-5.10.0-26-cloud-arm64-dbg +Package: linux-image-5.10.0-27-cloud-arm64-dbg Architecture: arm64 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-cloud-arm64 +Description: Debug symbols for linux-image-5.10.0-27-cloud-arm64 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-cloud-arm64. + modules in linux-image-5.10.0-27-cloud-arm64. Build-Profiles: Package: linux-image-cloud-arm64-dbg Architecture: arm64 Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-cloud-arm64-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-cloud-arm64-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux cloud-arm64 configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel cloud-arm64 configuration. Build-Profiles: -Package: linux-image-5.10.0-26-rt-arm64-unsigned +Package: linux-image-5.10.0-27-rt-arm64-unsigned Architecture: arm64 Depends: kmod, linux-base (>= 4.3~), ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [arm64] | linux-initramfs-tool [arm64] Recommends: firmware-linux-free, apparmor [arm64] Suggests: linux-doc-5.10, debian-kernel-handbook -Replaces: linux-image-5.10.0-26-rt-arm64 +Replaces: linux-image-5.10.0-27-rt-arm64 Breaks: libmozjs185-1.0 [arm64], libmozjs-24-0 (<< 24.2.0-5.1~) [arm64], fwupdate (<< 12-7) [arm64], wireless-regdb (<< 2019.06.03-1~) [arm64], initramfs-tools (<< 0.120+deb8u2) -Conflicts: linux-image-5.10.0-26-rt-arm64 +Conflicts: linux-image-5.10.0-27-rt-arm64 Description: Linux 5.10 for 64-bit ARMv8 machines, PREEMPT_RT The Linux kernel 5.10 and modules for use on 64-bit ARMv8 machines. . This kernel includes the PREEMPT_RT realtime patch set. Build-Profiles: -Package: linux-headers-5.10.0-26-rt-arm64 +Package: linux-headers-5.10.0-27-rt-arm64 Architecture: arm64 -Depends: linux-headers-5.10.0-26-common-rt (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-rt-arm64 +Depends: linux-headers-5.10.0-27-common-rt (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-rt-arm64 This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-rt-arm64, generally used for building out-of-tree + Linux kernel 5.10.0-27-rt-arm64, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-rt-arm64, and can be used for building + /usr/src/linux-headers-5.10.0-27-rt-arm64, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-rt-arm64 package. + linux-image-5.10.0-27-rt-arm64 package. Build-Profiles: -Package: linux-image-5.10.0-26-rt-arm64-dbg +Package: linux-image-5.10.0-27-rt-arm64-dbg Architecture: arm64 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-rt-arm64 +Description: Debug symbols for linux-image-5.10.0-27-rt-arm64 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-rt-arm64. + modules in linux-image-5.10.0-27-rt-arm64. Build-Profiles: Package: linux-image-rt-arm64-dbg Architecture: arm64 Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-rt-arm64-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-rt-arm64-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux rt-arm64 configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel rt-arm64 configuration. Build-Profiles: -Package: kernel-image-5.10.0-26-marvell-di +Package: kernel-image-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: standard @@ -2291,485 +2291,485 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: nic-modules-5.10.0-26-marvell-di +Package: nic-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-5.10.0-26-marvell-di, nic-shared-modules-5.10.0-26-marvell-di, crc-modules-5.10.0-26-marvell-di, mtd-core-modules-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di, nic-shared-modules-5.10.0-27-marvell-di, crc-modules-5.10.0-27-marvell-di, mtd-core-modules-5.10.0-27-marvell-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-marvell-di +Package: nic-shared-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: usb-serial-modules-5.10.0-26-marvell-di +Package: usb-serial-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-5.10.0-26-marvell-di, usb-modules-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di, usb-modules-5.10.0-27-marvell-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: ppp-modules-5.10.0-26-marvell-di +Package: ppp-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-5.10.0-26-marvell-di, crc-modules-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di, crc-modules-5.10.0-27-marvell-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: cdrom-core-modules-5.10.0-26-marvell-di +Package: cdrom-core-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-5.10.0-26-marvell-di, scsi-core-modules-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di, scsi-core-modules-5.10.0-27-marvell-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: scsi-core-modules-5.10.0-26-marvell-di +Package: scsi-core-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: loop-modules-5.10.0-26-marvell-di +Package: loop-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: ipv6-modules-5.10.0-26-marvell-di +Package: ipv6-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: ipv6-modules -Depends: kernel-image-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di Description: IPv6 driver This package contains the IPv6 driver for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: btrfs-modules-5.10.0-26-marvell-di +Package: btrfs-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-marvell-di, crc-modules-5.10.0-26-marvell-di, md-modules-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di, crc-modules-5.10.0-27-marvell-di, md-modules-5.10.0-27-marvell-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: ext4-modules-5.10.0-26-marvell-di +Package: ext4-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-marvell-di, crc-modules-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di, crc-modules-5.10.0-27-marvell-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: isofs-modules-5.10.0-26-marvell-di +Package: isofs-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-marvell-di, cdrom-core-modules-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di, cdrom-core-modules-5.10.0-27-marvell-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: jffs2-modules-5.10.0-26-marvell-di +Package: jffs2-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: jffs2-modules -Depends: kernel-image-5.10.0-26-marvell-di, mtd-modules-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di, mtd-modules-5.10.0-27-marvell-di Description: JFFS2 filesystem support This package contains the JFFS2 filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: jfs-modules-5.10.0-26-marvell-di +Package: jfs-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: fat-modules-5.10.0-26-marvell-di +Package: fat-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: minix-modules-5.10.0-26-marvell-di +Package: minix-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: minix-modules -Depends: kernel-image-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di Description: Minix filesystem support This package contains the Minix filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: squashfs-modules-5.10.0-26-marvell-di +Package: squashfs-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: udf-modules-5.10.0-26-marvell-di +Package: udf-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-marvell-di, crc-modules-5.10.0-26-marvell-di, cdrom-core-modules-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di, crc-modules-5.10.0-27-marvell-di, cdrom-core-modules-5.10.0-27-marvell-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: fuse-modules-5.10.0-26-marvell-di +Package: fuse-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: f2fs-modules-5.10.0-26-marvell-di +Package: f2fs-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-marvell-di, crc-modules-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di, crc-modules-5.10.0-27-marvell-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: md-modules-5.10.0-26-marvell-di +Package: md-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-marvell-di, crc-modules-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di, crc-modules-5.10.0-27-marvell-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: multipath-modules-5.10.0-26-marvell-di +Package: multipath-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-marvell-di, md-modules-5.10.0-26-marvell-di, scsi-core-modules-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di, md-modules-5.10.0-27-marvell-di, scsi-core-modules-5.10.0-27-marvell-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: usb-modules-5.10.0-26-marvell-di +Package: usb-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: usb-storage-modules-5.10.0-26-marvell-di +Package: usb-storage-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-5.10.0-26-marvell-di, scsi-core-modules-5.10.0-26-marvell-di, usb-modules-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di, scsi-core-modules-5.10.0-27-marvell-di, usb-modules-5.10.0-27-marvell-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: fb-modules-5.10.0-26-marvell-di +Package: fb-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-5.10.0-26-marvell-di, usb-modules-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di, usb-modules-5.10.0-27-marvell-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: input-modules-5.10.0-26-marvell-di +Package: input-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-5.10.0-26-marvell-di, usb-modules-5.10.0-26-marvell-di, crc-modules-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di, usb-modules-5.10.0-27-marvell-di, crc-modules-5.10.0-27-marvell-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: event-modules-5.10.0-26-marvell-di +Package: event-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: mouse-modules-5.10.0-26-marvell-di +Package: mouse-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-5.10.0-26-marvell-di, event-modules-5.10.0-26-marvell-di, input-modules-5.10.0-26-marvell-di, usb-modules-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di, event-modules-5.10.0-27-marvell-di, input-modules-5.10.0-27-marvell-di, usb-modules-5.10.0-27-marvell-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: nic-usb-modules-5.10.0-26-marvell-di +Package: nic-usb-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-5.10.0-26-marvell-di, nic-shared-modules-5.10.0-26-marvell-di, usb-modules-5.10.0-26-marvell-di, crc-modules-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di, nic-shared-modules-5.10.0-27-marvell-di, usb-modules-5.10.0-27-marvell-di, crc-modules-5.10.0-27-marvell-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: sata-modules-5.10.0-26-marvell-di +Package: sata-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-5.10.0-26-marvell-di, scsi-core-modules-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di, scsi-core-modules-5.10.0-27-marvell-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: crc-modules-5.10.0-26-marvell-di +Package: crc-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: crypto-modules-5.10.0-26-marvell-di +Package: crypto-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-marvell-di +Package: crypto-dm-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-marvell-di, md-modules-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di, md-modules-5.10.0-27-marvell-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: mmc-core-modules-5.10.0-26-marvell-di +Package: mmc-core-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: mmc-core-modules -Depends: kernel-image-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di Description: MMC/SD/SDIO core modules This package contains core modules for MMC/SD/SDIO support. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: mmc-modules-5.10.0-26-marvell-di +Package: mmc-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: mmc-modules -Depends: kernel-image-5.10.0-26-marvell-di, mmc-core-modules-5.10.0-26-marvell-di, usb-modules-5.10.0-26-marvell-di, crc-modules-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di, mmc-core-modules-5.10.0-27-marvell-di, usb-modules-5.10.0-27-marvell-di, crc-modules-5.10.0-27-marvell-di Description: MMC/SD card modules This package contains modules needed to support MMC (multimedia) and SD cards. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: nbd-modules-5.10.0-26-marvell-di +Package: nbd-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: uinput-modules-5.10.0-26-marvell-di +Package: uinput-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: uinput-modules -Depends: kernel-image-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di Description: uinput support This package contains the uinput module. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: leds-modules-5.10.0-26-marvell-di +Package: leds-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: leds-modules -Depends: kernel-image-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di Description: LED modules This package contains LED modules. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: mtd-modules-5.10.0-26-marvell-di +Package: mtd-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: mtd-modules -Depends: kernel-image-5.10.0-26-marvell-di, mtd-core-modules-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di, mtd-core-modules-5.10.0-27-marvell-di Description: MTD driver modules This package contains MTD driver modules. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: mtd-core-modules-5.10.0-26-marvell-di +Package: mtd-core-modules-5.10.0-27-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-5.10.0-26-marvell-di +Depends: kernel-image-5.10.0-27-marvell-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 5.10.0-26-marvell +Kernel-Version: 5.10.0-27-marvell Package-Type: udeb -Package: linux-image-5.10.0-26-marvell +Package: linux-image-5.10.0-27-marvell Architecture: armel -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [armel] | linux-initramfs-tool [armel] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [armel] | linux-initramfs-tool [armel] Recommends: firmware-linux-free, u-boot-tools [armel], apparmor [armel] Suggests: linux-doc-5.10, debian-kernel-handbook Breaks: flash-kernel (<< 3.57~) [armel], fwupdate (<< 12-7) [armel], wireless-regdb (<< 2019.06.03-1~) [armel], initramfs-tools (<< 0.120+deb8u2) @@ -2778,22 +2778,22 @@ based systems (https://wiki.debian.org/ArmEabiPort#Supported_hardware). Build-Profiles: -Package: linux-headers-5.10.0-26-marvell +Package: linux-headers-5.10.0-27-marvell Architecture: armel -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-arm -Description: Header files for Linux 5.10.0-26-marvell +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-arm +Description: Header files for Linux 5.10.0-27-marvell This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-marvell, generally used for building out-of-tree + Linux kernel 5.10.0-27-marvell, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-marvell, and can be used for building + /usr/src/linux-headers-5.10.0-27-marvell, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-marvell package. + linux-image-5.10.0-27-marvell package. Build-Profiles: Package: linux-image-marvell Architecture: armel -Provides: linux-latest-modules-5.10.0-26-marvell, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] -Depends: linux-image-5.10.0-26-marvell (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-marvell, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] +Depends: linux-image-5.10.0-27-marvell (= ${binary:Version}), ${misc:Depends} Description: Linux for Marvell Kirkwood/Orion (meta-package) This package depends on the latest Linux kernel and modules for use on Marvell Kirkwood and Orion based systems @@ -2802,34 +2802,34 @@ Package: linux-headers-marvell Architecture: armel -Depends: linux-headers-5.10.0-26-marvell (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-marvell (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux marvell configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel marvell configuration. Build-Profiles: -Package: linux-image-5.10.0-26-marvell-dbg +Package: linux-image-5.10.0-27-marvell-dbg Architecture: armel Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-marvell +Description: Debug symbols for linux-image-5.10.0-27-marvell This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-marvell. + modules in linux-image-5.10.0-27-marvell. Build-Profiles: Package: linux-image-marvell-dbg Architecture: armel Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-marvell-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-marvell-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux marvell configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel marvell configuration. Build-Profiles: -Package: linux-image-5.10.0-26-rpi +Package: linux-image-5.10.0-27-rpi Architecture: armel -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [armel] | linux-initramfs-tool [armel] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [armel] | linux-initramfs-tool [armel] Recommends: firmware-linux-free, apparmor [armel] Suggests: linux-doc-5.10, debian-kernel-handbook Breaks: fwupdate (<< 12-7) [armel], wireless-regdb (<< 2019.06.03-1~) [armel], initramfs-tools (<< 0.120+deb8u2) @@ -2838,22 +2838,22 @@ Zero based systems. Build-Profiles: -Package: linux-headers-5.10.0-26-rpi +Package: linux-headers-5.10.0-27-rpi Architecture: armel -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-arm -Description: Header files for Linux 5.10.0-26-rpi +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-arm +Description: Header files for Linux 5.10.0-27-rpi This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-rpi, generally used for building out-of-tree kernel + Linux kernel 5.10.0-27-rpi, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-rpi, and can be used for building modules - that load into the kernel provided by the linux-image-5.10.0-26-rpi + /usr/src/linux-headers-5.10.0-27-rpi, and can be used for building modules + that load into the kernel provided by the linux-image-5.10.0-27-rpi package. Build-Profiles: Package: linux-image-rpi Architecture: armel -Provides: linux-latest-modules-5.10.0-26-rpi, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] -Depends: linux-image-5.10.0-26-rpi (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-rpi, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] +Depends: linux-image-5.10.0-27-rpi (= ${binary:Version}), ${misc:Depends} Description: Linux for Raspberry Pi and Pi Zero (meta-package) This package depends on the latest Linux kernel and modules for use on Raspberry Pi, Raspberry Pi Zero based systems. @@ -2861,32 +2861,32 @@ Package: linux-headers-rpi Architecture: armel -Depends: linux-headers-5.10.0-26-rpi (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-rpi (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux rpi configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel rpi configuration. Build-Profiles: -Package: linux-image-5.10.0-26-rpi-dbg +Package: linux-image-5.10.0-27-rpi-dbg Architecture: armel Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-rpi +Description: Debug symbols for linux-image-5.10.0-27-rpi This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-rpi. + modules in linux-image-5.10.0-27-rpi. Build-Profiles: Package: linux-image-rpi-dbg Architecture: armel Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-rpi-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-rpi-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux rpi configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel rpi configuration. Build-Profiles: -Package: kernel-image-5.10.0-26-armmp-di +Package: kernel-image-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: standard @@ -2896,499 +2896,499 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: nic-modules-5.10.0-26-armmp-di +Package: nic-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-5.10.0-26-armmp-di, nic-shared-modules-5.10.0-26-armmp-di, i2c-modules-5.10.0-26-armmp-di, crc-modules-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di, nic-shared-modules-5.10.0-27-armmp-di, i2c-modules-5.10.0-27-armmp-di, crc-modules-5.10.0-27-armmp-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: nic-wireless-modules-5.10.0-26-armmp-di +Package: nic-wireless-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-5.10.0-26-armmp-di, nic-shared-modules-5.10.0-26-armmp-di, usb-modules-5.10.0-26-armmp-di, crc-modules-5.10.0-26-armmp-di, crypto-modules-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di, nic-shared-modules-5.10.0-27-armmp-di, usb-modules-5.10.0-27-armmp-di, crc-modules-5.10.0-27-armmp-di, crypto-modules-5.10.0-27-armmp-di Description: Wireless NIC drivers This package contains wireless NIC drivers for the kernel. Includes crypto modules only needed for wireless (WEP, WPA). Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-armmp-di +Package: nic-shared-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: usb-serial-modules-5.10.0-26-armmp-di +Package: usb-serial-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-5.10.0-26-armmp-di, usb-modules-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di, usb-modules-5.10.0-27-armmp-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: ppp-modules-5.10.0-26-armmp-di +Package: ppp-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-5.10.0-26-armmp-di, crc-modules-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di, crc-modules-5.10.0-27-armmp-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: pata-modules-5.10.0-26-armmp-di +Package: pata-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: pata-modules -Depends: kernel-image-5.10.0-26-armmp-di, ata-modules-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di, ata-modules-5.10.0-27-armmp-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: cdrom-core-modules-5.10.0-26-armmp-di +Package: cdrom-core-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-5.10.0-26-armmp-di, scsi-core-modules-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di, scsi-core-modules-5.10.0-27-armmp-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: scsi-core-modules-5.10.0-26-armmp-di +Package: scsi-core-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: scsi-modules-5.10.0-26-armmp-di +Package: scsi-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-5.10.0-26-armmp-di, scsi-core-modules-5.10.0-26-armmp-di, cdrom-core-modules-5.10.0-26-armmp-di, ata-modules-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di, scsi-core-modules-5.10.0-27-armmp-di, cdrom-core-modules-5.10.0-27-armmp-di, ata-modules-5.10.0-27-armmp-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: scsi-nic-modules-5.10.0-26-armmp-di +Package: scsi-nic-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-5.10.0-26-armmp-di, nic-modules-5.10.0-26-armmp-di +Depends: scsi-modules-5.10.0-27-armmp-di, nic-modules-5.10.0-27-armmp-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: loop-modules-5.10.0-26-armmp-di +Package: loop-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: btrfs-modules-5.10.0-26-armmp-di +Package: btrfs-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-armmp-di, crc-modules-5.10.0-26-armmp-di, md-modules-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di, crc-modules-5.10.0-27-armmp-di, md-modules-5.10.0-27-armmp-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: ext4-modules-5.10.0-26-armmp-di +Package: ext4-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-armmp-di, crc-modules-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di, crc-modules-5.10.0-27-armmp-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: isofs-modules-5.10.0-26-armmp-di +Package: isofs-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-armmp-di, cdrom-core-modules-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di, cdrom-core-modules-5.10.0-27-armmp-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: jfs-modules-5.10.0-26-armmp-di +Package: jfs-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: fat-modules-5.10.0-26-armmp-di +Package: fat-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: squashfs-modules-5.10.0-26-armmp-di +Package: squashfs-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: udf-modules-5.10.0-26-armmp-di +Package: udf-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-armmp-di, crc-modules-5.10.0-26-armmp-di, cdrom-core-modules-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di, crc-modules-5.10.0-27-armmp-di, cdrom-core-modules-5.10.0-27-armmp-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: fuse-modules-5.10.0-26-armmp-di +Package: fuse-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: f2fs-modules-5.10.0-26-armmp-di +Package: f2fs-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-armmp-di, crc-modules-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di, crc-modules-5.10.0-27-armmp-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: md-modules-5.10.0-26-armmp-di +Package: md-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-armmp-di, crc-modules-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di, crc-modules-5.10.0-27-armmp-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: multipath-modules-5.10.0-26-armmp-di +Package: multipath-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-armmp-di, md-modules-5.10.0-26-armmp-di, scsi-core-modules-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di, md-modules-5.10.0-27-armmp-di, scsi-core-modules-5.10.0-27-armmp-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: usb-modules-5.10.0-26-armmp-di +Package: usb-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: usb-storage-modules-5.10.0-26-armmp-di +Package: usb-storage-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-5.10.0-26-armmp-di, scsi-core-modules-5.10.0-26-armmp-di, usb-modules-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di, scsi-core-modules-5.10.0-27-armmp-di, usb-modules-5.10.0-27-armmp-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: fb-modules-5.10.0-26-armmp-di +Package: fb-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-5.10.0-26-armmp-di, i2c-modules-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di, i2c-modules-5.10.0-27-armmp-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: input-modules-5.10.0-26-armmp-di +Package: input-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-5.10.0-26-armmp-di, usb-modules-5.10.0-26-armmp-di, i2c-modules-5.10.0-26-armmp-di, crc-modules-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di, usb-modules-5.10.0-27-armmp-di, i2c-modules-5.10.0-27-armmp-di, crc-modules-5.10.0-27-armmp-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: event-modules-5.10.0-26-armmp-di +Package: event-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: nic-usb-modules-5.10.0-26-armmp-di +Package: nic-usb-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-5.10.0-26-armmp-di, nic-shared-modules-5.10.0-26-armmp-di, nic-wireless-modules-5.10.0-26-armmp-di, usb-modules-5.10.0-26-armmp-di, crc-modules-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di, nic-shared-modules-5.10.0-27-armmp-di, nic-wireless-modules-5.10.0-27-armmp-di, usb-modules-5.10.0-27-armmp-di, crc-modules-5.10.0-27-armmp-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: sata-modules-5.10.0-26-armmp-di +Package: sata-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-5.10.0-26-armmp-di, scsi-core-modules-5.10.0-26-armmp-di, ata-modules-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di, scsi-core-modules-5.10.0-27-armmp-di, ata-modules-5.10.0-27-armmp-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: i2c-modules-5.10.0-26-armmp-di +Package: i2c-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: crc-modules-5.10.0-26-armmp-di +Package: crc-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: crypto-modules-5.10.0-26-armmp-di +Package: crypto-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-armmp-di +Package: crypto-dm-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-armmp-di, md-modules-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di, md-modules-5.10.0-27-armmp-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: efi-modules-5.10.0-26-armmp-di +Package: efi-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: efi-modules -Depends: kernel-image-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di Description: EFI modules This package contains EFI modules. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: ata-modules-5.10.0-26-armmp-di +Package: ata-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-5.10.0-26-armmp-di, scsi-core-modules-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di, scsi-core-modules-5.10.0-27-armmp-di Description: ATA disk modules This package contains core ATA disk modules used by both PATA and SATA disk drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: mmc-modules-5.10.0-26-armmp-di +Package: mmc-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: mmc-modules -Depends: kernel-image-5.10.0-26-armmp-di, usb-modules-5.10.0-26-armmp-di, crc-modules-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di, usb-modules-5.10.0-27-armmp-di, crc-modules-5.10.0-27-armmp-di Description: MMC/SD card modules This package contains modules needed to support MMC (multimedia) and SD cards. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: nbd-modules-5.10.0-26-armmp-di +Package: nbd-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: uinput-modules-5.10.0-26-armmp-di +Package: uinput-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: uinput-modules -Depends: kernel-image-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di Description: uinput support This package contains the uinput module. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: leds-modules-5.10.0-26-armmp-di +Package: leds-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: leds-modules -Depends: kernel-image-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di Description: LED modules This package contains LED modules. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: mtd-modules-5.10.0-26-armmp-di +Package: mtd-modules-5.10.0-27-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: mtd-modules -Depends: kernel-image-5.10.0-26-armmp-di +Depends: kernel-image-5.10.0-27-armmp-di Description: MTD driver modules This package contains MTD driver modules. Build-Profiles: -Kernel-Version: 5.10.0-26-armmp +Kernel-Version: 5.10.0-27-armmp Package-Type: udeb -Package: linux-image-5.10.0-26-armmp +Package: linux-image-5.10.0-27-armmp Architecture: armhf -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [armhf] | linux-initramfs-tool [armhf] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [armhf] | linux-initramfs-tool [armhf] Recommends: firmware-linux-free, apparmor [armhf] Suggests: linux-doc-5.10, debian-kernel-handbook Breaks: fwupdate (<< 12-7) [armhf], wireless-regdb (<< 2019.06.03-1~) [armhf], initramfs-tools (<< 0.120+deb8u2) @@ -3398,22 +3398,22 @@ platforms. Build-Profiles: -Package: linux-headers-5.10.0-26-armmp +Package: linux-headers-5.10.0-27-armmp Architecture: armhf -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-arm -Description: Header files for Linux 5.10.0-26-armmp +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-arm +Description: Header files for Linux 5.10.0-27-armmp This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-armmp, generally used for building out-of-tree + Linux kernel 5.10.0-27-armmp, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-armmp, and can be used for building + /usr/src/linux-headers-5.10.0-27-armmp, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-armmp package. + linux-image-5.10.0-27-armmp package. Build-Profiles: Package: linux-image-armmp Architecture: armhf -Provides: linux-latest-modules-5.10.0-26-armmp, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic -Depends: linux-image-5.10.0-26-armmp (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-armmp, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic +Depends: linux-image-5.10.0-27-armmp (= ${binary:Version}), ${misc:Depends} Description: Linux for ARMv7 multiplatform compatible SoCs (meta-package) This package depends on the latest Linux kernel and modules for use on ARMv7 multiplatform kernel. See @@ -3424,34 +3424,34 @@ Package: linux-headers-armmp Architecture: armhf Provides: linux-headers-generic -Depends: linux-headers-5.10.0-26-armmp (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-armmp (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux armmp configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel armmp configuration. Build-Profiles: -Package: linux-image-5.10.0-26-armmp-dbg +Package: linux-image-5.10.0-27-armmp-dbg Architecture: armhf Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-armmp +Description: Debug symbols for linux-image-5.10.0-27-armmp This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-armmp. + modules in linux-image-5.10.0-27-armmp. Build-Profiles: Package: linux-image-armmp-dbg Architecture: armhf Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-armmp-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-armmp-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux armmp configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel armmp configuration. Build-Profiles: -Package: linux-image-5.10.0-26-armmp-lpae +Package: linux-image-5.10.0-27-armmp-lpae Architecture: armhf -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [armhf] | linux-initramfs-tool [armhf] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [armhf] | linux-initramfs-tool [armhf] Recommends: firmware-linux-free, apparmor [armhf] Suggests: linux-doc-5.10, debian-kernel-handbook Breaks: fwupdate (<< 12-7) [armhf], wireless-regdb (<< 2019.06.03-1~) [armhf], initramfs-tools (<< 0.120+deb8u2) @@ -3461,22 +3461,22 @@ details of supported platforms.. Build-Profiles: -Package: linux-headers-5.10.0-26-armmp-lpae +Package: linux-headers-5.10.0-27-armmp-lpae Architecture: armhf -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-arm -Description: Header files for Linux 5.10.0-26-armmp-lpae +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-arm +Description: Header files for Linux 5.10.0-27-armmp-lpae This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-armmp-lpae, generally used for building out-of-tree + Linux kernel 5.10.0-27-armmp-lpae, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-armmp-lpae, and can be used for building + /usr/src/linux-headers-5.10.0-27-armmp-lpae, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-armmp-lpae package. + linux-image-5.10.0-27-armmp-lpae package. Build-Profiles: Package: linux-image-armmp-lpae Architecture: armhf -Provides: linux-latest-modules-5.10.0-26-armmp-lpae, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] -Depends: linux-image-5.10.0-26-armmp-lpae (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-armmp-lpae, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] +Depends: linux-image-5.10.0-27-armmp-lpae (= ${binary:Version}), ${misc:Depends} Description: Linux for ARMv7 multiplatform compatible SoCs supporting LPAE (meta-package) This package depends on the latest Linux kernel and modules for use on ARMv7 multiplatform kernel supporting LPAE. See @@ -3486,34 +3486,34 @@ Package: linux-headers-armmp-lpae Architecture: armhf -Depends: linux-headers-5.10.0-26-armmp-lpae (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-armmp-lpae (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux armmp-lpae configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel armmp-lpae configuration. Build-Profiles: -Package: linux-image-5.10.0-26-armmp-lpae-dbg +Package: linux-image-5.10.0-27-armmp-lpae-dbg Architecture: armhf Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-armmp-lpae +Description: Debug symbols for linux-image-5.10.0-27-armmp-lpae This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-armmp-lpae. + modules in linux-image-5.10.0-27-armmp-lpae. Build-Profiles: Package: linux-image-armmp-lpae-dbg Architecture: armhf Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-armmp-lpae-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-armmp-lpae-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux armmp-lpae configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel armmp-lpae configuration. Build-Profiles: -Package: linux-image-5.10.0-26-rt-armmp +Package: linux-image-5.10.0-27-rt-armmp Architecture: armhf -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [armhf] | linux-initramfs-tool [armhf] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [armhf] | linux-initramfs-tool [armhf] Recommends: firmware-linux-free, apparmor [armhf] Suggests: linux-doc-5.10, debian-kernel-handbook Breaks: fwupdate (<< 12-7) [armhf], wireless-regdb (<< 2019.06.03-1~) [armhf], initramfs-tools (<< 0.120+deb8u2) @@ -3525,22 +3525,22 @@ This kernel includes the PREEMPT_RT realtime patch set. Build-Profiles: -Package: linux-headers-5.10.0-26-rt-armmp +Package: linux-headers-5.10.0-27-rt-armmp Architecture: armhf -Depends: linux-headers-5.10.0-26-common-rt (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-arm -Description: Header files for Linux 5.10.0-26-rt-armmp +Depends: linux-headers-5.10.0-27-common-rt (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-arm +Description: Header files for Linux 5.10.0-27-rt-armmp This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-rt-armmp, generally used for building out-of-tree + Linux kernel 5.10.0-27-rt-armmp, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-rt-armmp, and can be used for building + /usr/src/linux-headers-5.10.0-27-rt-armmp, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-rt-armmp package. + linux-image-5.10.0-27-rt-armmp package. Build-Profiles: Package: linux-image-rt-armmp Architecture: armhf -Provides: linux-latest-modules-5.10.0-26-rt-armmp, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] -Depends: linux-image-5.10.0-26-rt-armmp (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-rt-armmp, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] +Depends: linux-image-5.10.0-27-rt-armmp (= ${binary:Version}), ${misc:Depends} Description: Linux for ARMv7 multiplatform compatible SoCs (meta-package) This package depends on the latest Linux kernel and modules for use on ARMv7 multiplatform kernel. See @@ -3550,32 +3550,32 @@ Package: linux-headers-rt-armmp Architecture: armhf -Depends: linux-headers-5.10.0-26-rt-armmp (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-rt-armmp (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux rt-armmp configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel rt-armmp configuration. Build-Profiles: -Package: linux-image-5.10.0-26-rt-armmp-dbg +Package: linux-image-5.10.0-27-rt-armmp-dbg Architecture: armhf Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-rt-armmp +Description: Debug symbols for linux-image-5.10.0-27-rt-armmp This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-rt-armmp. + modules in linux-image-5.10.0-27-rt-armmp. Build-Profiles: Package: linux-image-rt-armmp-dbg Architecture: armhf Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-rt-armmp-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-rt-armmp-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux rt-armmp configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel rt-armmp configuration. Build-Profiles: -Package: kernel-image-5.10.0-26-parisc-di +Package: kernel-image-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: standard @@ -3585,411 +3585,411 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: nic-modules-5.10.0-26-parisc-di +Package: nic-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-5.10.0-26-parisc-di, nic-shared-modules-5.10.0-26-parisc-di, crc-modules-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di, nic-shared-modules-5.10.0-27-parisc-di, crc-modules-5.10.0-27-parisc-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-parisc-di +Package: nic-shared-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: serial-modules-5.10.0-26-parisc-di +Package: serial-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: serial-modules -Depends: kernel-image-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di Description: Serial drivers This package contains serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: usb-serial-modules-5.10.0-26-parisc-di +Package: usb-serial-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-5.10.0-26-parisc-di, usb-modules-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di, usb-modules-5.10.0-27-parisc-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: ppp-modules-5.10.0-26-parisc-di +Package: ppp-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-5.10.0-26-parisc-di, serial-modules-5.10.0-26-parisc-di, crc-modules-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di, serial-modules-5.10.0-27-parisc-di, crc-modules-5.10.0-27-parisc-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: pata-modules-5.10.0-26-parisc-di +Package: pata-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-5.10.0-26-parisc-di, ata-modules-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di, ata-modules-5.10.0-27-parisc-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: cdrom-core-modules-5.10.0-26-parisc-di +Package: cdrom-core-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-5.10.0-26-parisc-di, scsi-core-modules-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di, scsi-core-modules-5.10.0-27-parisc-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: scsi-core-modules-5.10.0-26-parisc-di +Package: scsi-core-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: scsi-modules-5.10.0-26-parisc-di +Package: scsi-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-5.10.0-26-parisc-di, scsi-core-modules-5.10.0-26-parisc-di, cdrom-core-modules-5.10.0-26-parisc-di, ata-modules-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di, scsi-core-modules-5.10.0-27-parisc-di, cdrom-core-modules-5.10.0-27-parisc-di, ata-modules-5.10.0-27-parisc-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: loop-modules-5.10.0-26-parisc-di +Package: loop-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: btrfs-modules-5.10.0-26-parisc-di +Package: btrfs-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-parisc-di, crc-modules-5.10.0-26-parisc-di, md-modules-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di, crc-modules-5.10.0-27-parisc-di, md-modules-5.10.0-27-parisc-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: ext4-modules-5.10.0-26-parisc-di +Package: ext4-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-parisc-di, crc-modules-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di, crc-modules-5.10.0-27-parisc-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: isofs-modules-5.10.0-26-parisc-di +Package: isofs-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-parisc-di, cdrom-core-modules-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di, cdrom-core-modules-5.10.0-27-parisc-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: jfs-modules-5.10.0-26-parisc-di +Package: jfs-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: xfs-modules-5.10.0-26-parisc-di +Package: xfs-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-5.10.0-26-parisc-di, crc-modules-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di, crc-modules-5.10.0-27-parisc-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: fat-modules-5.10.0-26-parisc-di +Package: fat-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: squashfs-modules-5.10.0-26-parisc-di +Package: squashfs-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: fuse-modules-5.10.0-26-parisc-di +Package: fuse-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: f2fs-modules-5.10.0-26-parisc-di +Package: f2fs-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-parisc-di, crc-modules-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di, crc-modules-5.10.0-27-parisc-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: md-modules-5.10.0-26-parisc-di +Package: md-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-parisc-di, crc-modules-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di, crc-modules-5.10.0-27-parisc-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: multipath-modules-5.10.0-26-parisc-di +Package: multipath-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-parisc-di, md-modules-5.10.0-26-parisc-di, scsi-core-modules-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di, md-modules-5.10.0-27-parisc-di, scsi-core-modules-5.10.0-27-parisc-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: usb-modules-5.10.0-26-parisc-di +Package: usb-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: usb-storage-modules-5.10.0-26-parisc-di +Package: usb-storage-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-5.10.0-26-parisc-di, scsi-core-modules-5.10.0-26-parisc-di, usb-modules-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di, scsi-core-modules-5.10.0-27-parisc-di, usb-modules-5.10.0-27-parisc-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: input-modules-5.10.0-26-parisc-di +Package: input-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-5.10.0-26-parisc-di, usb-modules-5.10.0-26-parisc-di, crc-modules-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di, usb-modules-5.10.0-27-parisc-di, crc-modules-5.10.0-27-parisc-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: event-modules-5.10.0-26-parisc-di +Package: event-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: mouse-modules-5.10.0-26-parisc-di +Package: mouse-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-5.10.0-26-parisc-di, event-modules-5.10.0-26-parisc-di, input-modules-5.10.0-26-parisc-di, usb-modules-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di, event-modules-5.10.0-27-parisc-di, input-modules-5.10.0-27-parisc-di, usb-modules-5.10.0-27-parisc-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: nic-usb-modules-5.10.0-26-parisc-di +Package: nic-usb-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-5.10.0-26-parisc-di, nic-shared-modules-5.10.0-26-parisc-di, usb-modules-5.10.0-26-parisc-di, crc-modules-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di, nic-shared-modules-5.10.0-27-parisc-di, usb-modules-5.10.0-27-parisc-di, crc-modules-5.10.0-27-parisc-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: sata-modules-5.10.0-26-parisc-di +Package: sata-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-5.10.0-26-parisc-di, scsi-core-modules-5.10.0-26-parisc-di, ata-modules-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di, scsi-core-modules-5.10.0-27-parisc-di, ata-modules-5.10.0-27-parisc-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: crc-modules-5.10.0-26-parisc-di +Package: crc-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: crypto-modules-5.10.0-26-parisc-di +Package: crypto-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-parisc-di +Package: crypto-dm-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-parisc-di, md-modules-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di, md-modules-5.10.0-27-parisc-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: ata-modules-5.10.0-26-parisc-di +Package: ata-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-5.10.0-26-parisc-di, scsi-core-modules-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di, scsi-core-modules-5.10.0-27-parisc-di Description: ATA disk modules This package contains core ATA disk modules used by both PATA and SATA disk drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: nbd-modules-5.10.0-26-parisc-di +Package: nbd-modules-5.10.0-27-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-parisc-di +Depends: kernel-image-5.10.0-27-parisc-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-parisc +Kernel-Version: 5.10.0-27-parisc Package-Type: udeb -Package: kernel-image-5.10.0-26-parisc64-di +Package: kernel-image-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: standard @@ -3999,425 +3999,425 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: nic-modules-5.10.0-26-parisc64-di +Package: nic-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-5.10.0-26-parisc64-di, nic-shared-modules-5.10.0-26-parisc64-di, crc-modules-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di, nic-shared-modules-5.10.0-27-parisc64-di, crc-modules-5.10.0-27-parisc64-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-parisc64-di +Package: nic-shared-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: serial-modules-5.10.0-26-parisc64-di +Package: serial-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: optional Provides: serial-modules -Depends: kernel-image-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di Description: Serial drivers This package contains serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: usb-serial-modules-5.10.0-26-parisc64-di +Package: usb-serial-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-5.10.0-26-parisc64-di, usb-modules-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di, usb-modules-5.10.0-27-parisc64-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: ppp-modules-5.10.0-26-parisc64-di +Package: ppp-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-5.10.0-26-parisc64-di, serial-modules-5.10.0-26-parisc64-di, crc-modules-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di, serial-modules-5.10.0-27-parisc64-di, crc-modules-5.10.0-27-parisc64-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: pata-modules-5.10.0-26-parisc64-di +Package: pata-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-5.10.0-26-parisc64-di, ata-modules-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di, ata-modules-5.10.0-27-parisc64-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: cdrom-core-modules-5.10.0-26-parisc64-di +Package: cdrom-core-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-5.10.0-26-parisc64-di, scsi-core-modules-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di, scsi-core-modules-5.10.0-27-parisc64-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: scsi-core-modules-5.10.0-26-parisc64-di +Package: scsi-core-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: scsi-modules-5.10.0-26-parisc64-di +Package: scsi-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-5.10.0-26-parisc64-di, scsi-core-modules-5.10.0-26-parisc64-di, cdrom-core-modules-5.10.0-26-parisc64-di, ata-modules-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di, scsi-core-modules-5.10.0-27-parisc64-di, cdrom-core-modules-5.10.0-27-parisc64-di, ata-modules-5.10.0-27-parisc64-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: loop-modules-5.10.0-26-parisc64-di +Package: loop-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: btrfs-modules-5.10.0-26-parisc64-di +Package: btrfs-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-parisc64-di, crc-modules-5.10.0-26-parisc64-di, md-modules-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di, crc-modules-5.10.0-27-parisc64-di, md-modules-5.10.0-27-parisc64-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: ext4-modules-5.10.0-26-parisc64-di +Package: ext4-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-parisc64-di, crc-modules-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di, crc-modules-5.10.0-27-parisc64-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: isofs-modules-5.10.0-26-parisc64-di +Package: isofs-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-parisc64-di, cdrom-core-modules-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di, cdrom-core-modules-5.10.0-27-parisc64-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: jfs-modules-5.10.0-26-parisc64-di +Package: jfs-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: xfs-modules-5.10.0-26-parisc64-di +Package: xfs-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-5.10.0-26-parisc64-di, crc-modules-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di, crc-modules-5.10.0-27-parisc64-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: fat-modules-5.10.0-26-parisc64-di +Package: fat-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: squashfs-modules-5.10.0-26-parisc64-di +Package: squashfs-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: fuse-modules-5.10.0-26-parisc64-di +Package: fuse-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: f2fs-modules-5.10.0-26-parisc64-di +Package: f2fs-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-parisc64-di, crc-modules-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di, crc-modules-5.10.0-27-parisc64-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: md-modules-5.10.0-26-parisc64-di +Package: md-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-parisc64-di, crc-modules-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di, crc-modules-5.10.0-27-parisc64-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: multipath-modules-5.10.0-26-parisc64-di +Package: multipath-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-parisc64-di, md-modules-5.10.0-26-parisc64-di, scsi-core-modules-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di, md-modules-5.10.0-27-parisc64-di, scsi-core-modules-5.10.0-27-parisc64-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: usb-modules-5.10.0-26-parisc64-di +Package: usb-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: usb-storage-modules-5.10.0-26-parisc64-di +Package: usb-storage-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-5.10.0-26-parisc64-di, scsi-core-modules-5.10.0-26-parisc64-di, usb-modules-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di, scsi-core-modules-5.10.0-27-parisc64-di, usb-modules-5.10.0-27-parisc64-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: fb-modules-5.10.0-26-parisc64-di +Package: fb-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: standard Provides: fb-modules -Depends: kernel-image-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: input-modules-5.10.0-26-parisc64-di +Package: input-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-5.10.0-26-parisc64-di, usb-modules-5.10.0-26-parisc64-di, crc-modules-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di, usb-modules-5.10.0-27-parisc64-di, crc-modules-5.10.0-27-parisc64-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: event-modules-5.10.0-26-parisc64-di +Package: event-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: mouse-modules-5.10.0-26-parisc64-di +Package: mouse-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-5.10.0-26-parisc64-di, event-modules-5.10.0-26-parisc64-di, input-modules-5.10.0-26-parisc64-di, usb-modules-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di, event-modules-5.10.0-27-parisc64-di, input-modules-5.10.0-27-parisc64-di, usb-modules-5.10.0-27-parisc64-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: nic-usb-modules-5.10.0-26-parisc64-di +Package: nic-usb-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-5.10.0-26-parisc64-di, nic-shared-modules-5.10.0-26-parisc64-di, usb-modules-5.10.0-26-parisc64-di, crc-modules-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di, nic-shared-modules-5.10.0-27-parisc64-di, usb-modules-5.10.0-27-parisc64-di, crc-modules-5.10.0-27-parisc64-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: sata-modules-5.10.0-26-parisc64-di +Package: sata-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-5.10.0-26-parisc64-di, scsi-core-modules-5.10.0-26-parisc64-di, ata-modules-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di, scsi-core-modules-5.10.0-27-parisc64-di, ata-modules-5.10.0-27-parisc64-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: crc-modules-5.10.0-26-parisc64-di +Package: crc-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: crypto-modules-5.10.0-26-parisc64-di +Package: crypto-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-parisc64-di +Package: crypto-dm-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-parisc64-di, md-modules-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di, md-modules-5.10.0-27-parisc64-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: ata-modules-5.10.0-26-parisc64-di +Package: ata-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-5.10.0-26-parisc64-di, scsi-core-modules-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di, scsi-core-modules-5.10.0-27-parisc64-di Description: ATA disk modules This package contains core ATA disk modules used by both PATA and SATA disk drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: nbd-modules-5.10.0-26-parisc64-di +Package: nbd-modules-5.10.0-27-parisc64-di Architecture: hppa Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-parisc64-di +Depends: kernel-image-5.10.0-27-parisc64-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-parisc64 +Kernel-Version: 5.10.0-27-parisc64 Package-Type: udeb -Package: linux-image-5.10.0-26-parisc +Package: linux-image-5.10.0-27-parisc Architecture: hppa -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [hppa] | linux-initramfs-tool [hppa] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [hppa] | linux-initramfs-tool [hppa] Recommends: firmware-linux-free, apparmor [hppa] Suggests: linux-doc-5.10, debian-kernel-handbook, palo [hppa] Breaks: fwupdate (<< 12-7) [hppa], wireless-regdb (<< 2019.06.03-1~) [hppa], initramfs-tools (<< 0.120+deb8u2) @@ -4426,22 +4426,22 @@ with max 4 GB RAM. Build-Profiles: -Package: linux-headers-5.10.0-26-parisc +Package: linux-headers-5.10.0-27-parisc Architecture: hppa -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10, binutils-hppa64-linux-gnu, gcc-10-hppa64-linux-gnu -Description: Header files for Linux 5.10.0-26-parisc +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10, binutils-hppa64-linux-gnu, gcc-10-hppa64-linux-gnu +Description: Header files for Linux 5.10.0-27-parisc This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-parisc, generally used for building out-of-tree + Linux kernel 5.10.0-27-parisc, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-parisc, and can be used for building + /usr/src/linux-headers-5.10.0-27-parisc, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-parisc package. + linux-image-5.10.0-27-parisc package. Build-Profiles: Package: linux-image-parisc Architecture: hppa -Provides: linux-latest-modules-5.10.0-26-parisc, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic -Depends: linux-image-5.10.0-26-parisc (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-parisc, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic +Depends: linux-image-5.10.0-27-parisc (= ${binary:Version}), ${misc:Depends} Description: Linux for 32-bit PA-RISC (meta-package) This package depends on the latest Linux kernel and modules for use on HP PA-RISC 32-bit systems with max 4 GB RAM. @@ -4450,15 +4450,15 @@ Package: linux-headers-parisc Architecture: hppa Provides: linux-headers-generic -Depends: linux-headers-5.10.0-26-parisc (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-parisc (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux parisc configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel parisc configuration. Build-Profiles: -Package: linux-image-5.10.0-26-parisc64 +Package: linux-image-5.10.0-27-parisc64 Architecture: hppa -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [hppa] | linux-initramfs-tool [hppa] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [hppa] | linux-initramfs-tool [hppa] Recommends: firmware-linux-free, apparmor [hppa] Suggests: linux-doc-5.10, debian-kernel-handbook, palo [hppa] Breaks: fwupdate (<< 12-7) [hppa], wireless-regdb (<< 2019.06.03-1~) [hppa], initramfs-tools (<< 0.120+deb8u2) @@ -4467,22 +4467,22 @@ with support for more than 4 GB RAM. Build-Profiles: -Package: linux-headers-5.10.0-26-parisc64 +Package: linux-headers-5.10.0-27-parisc64 Architecture: hppa -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10, binutils-hppa64-linux-gnu, gcc-10-hppa64-linux-gnu -Description: Header files for Linux 5.10.0-26-parisc64 +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10, binutils-hppa64-linux-gnu, gcc-10-hppa64-linux-gnu +Description: Header files for Linux 5.10.0-27-parisc64 This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-parisc64, generally used for building out-of-tree + Linux kernel 5.10.0-27-parisc64, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-parisc64, and can be used for building + /usr/src/linux-headers-5.10.0-27-parisc64, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-parisc64 package. + linux-image-5.10.0-27-parisc64 package. Build-Profiles: Package: linux-image-parisc64 Architecture: hppa -Provides: linux-latest-modules-5.10.0-26-parisc64, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] -Depends: linux-image-5.10.0-26-parisc64 (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-parisc64, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] +Depends: linux-image-5.10.0-27-parisc64 (= ${binary:Version}), ${misc:Depends} Description: Linux for 64-bit PA-RISC (meta-package) This package depends on the latest Linux kernel and modules for use on HP PA-RISC 64-bit systems with support for more than 4 GB RAM. @@ -4490,13 +4490,13 @@ Package: linux-headers-parisc64 Architecture: hppa -Depends: linux-headers-5.10.0-26-parisc64 (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-parisc64 (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux parisc64 configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel parisc64 configuration. Build-Profiles: -Package: kernel-image-5.10.0-26-686-di +Package: kernel-image-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: standard @@ -4506,629 +4506,629 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: nic-modules-5.10.0-26-686-di +Package: nic-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-5.10.0-26-686-di, nic-shared-modules-5.10.0-26-686-di, i2c-modules-5.10.0-26-686-di, crc-modules-5.10.0-26-686-di, mtd-core-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, nic-shared-modules-5.10.0-27-686-di, i2c-modules-5.10.0-27-686-di, crc-modules-5.10.0-27-686-di, mtd-core-modules-5.10.0-27-686-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: nic-wireless-modules-5.10.0-26-686-di +Package: nic-wireless-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-5.10.0-26-686-di, nic-shared-modules-5.10.0-26-686-di, usb-modules-5.10.0-26-686-di, mmc-core-modules-5.10.0-26-686-di, pcmcia-modules-5.10.0-26-686-di, crc-modules-5.10.0-26-686-di, rfkill-modules-5.10.0-26-686-di, crypto-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, nic-shared-modules-5.10.0-27-686-di, usb-modules-5.10.0-27-686-di, mmc-core-modules-5.10.0-27-686-di, pcmcia-modules-5.10.0-27-686-di, crc-modules-5.10.0-27-686-di, rfkill-modules-5.10.0-27-686-di, crypto-modules-5.10.0-27-686-di Description: Wireless NIC drivers This package contains wireless NIC drivers for the kernel. Includes crypto modules only needed for wireless (WEP, WPA). Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-686-di +Package: nic-shared-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: serial-modules-5.10.0-26-686-di +Package: serial-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: serial-modules -Depends: kernel-image-5.10.0-26-686-di, pcmcia-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, pcmcia-modules-5.10.0-27-686-di Description: Serial drivers This package contains serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: usb-serial-modules-5.10.0-26-686-di +Package: usb-serial-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-5.10.0-26-686-di, usb-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, usb-modules-5.10.0-27-686-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: ppp-modules-5.10.0-26-686-di +Package: ppp-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-5.10.0-26-686-di, serial-modules-5.10.0-26-686-di, crc-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, serial-modules-5.10.0-27-686-di, crc-modules-5.10.0-27-686-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: pata-modules-5.10.0-26-686-di +Package: pata-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-5.10.0-26-686-di, ata-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, ata-modules-5.10.0-27-686-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: cdrom-core-modules-5.10.0-26-686-di +Package: cdrom-core-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-5.10.0-26-686-di, scsi-core-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, scsi-core-modules-5.10.0-27-686-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: firewire-core-modules-5.10.0-26-686-di +Package: firewire-core-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: firewire-core-modules -Depends: kernel-image-5.10.0-26-686-di, scsi-core-modules-5.10.0-26-686-di, crc-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, scsi-core-modules-5.10.0-27-686-di, crc-modules-5.10.0-27-686-di Description: Core FireWire drivers This package contains core FireWire drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: scsi-core-modules-5.10.0-26-686-di +Package: scsi-core-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: scsi-modules-5.10.0-26-686-di +Package: scsi-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-5.10.0-26-686-di, scsi-core-modules-5.10.0-26-686-di, cdrom-core-modules-5.10.0-26-686-di, ata-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, scsi-core-modules-5.10.0-27-686-di, cdrom-core-modules-5.10.0-27-686-di, ata-modules-5.10.0-27-686-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: scsi-nic-modules-5.10.0-26-686-di +Package: scsi-nic-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-5.10.0-26-686-di, nic-modules-5.10.0-26-686-di +Depends: scsi-modules-5.10.0-27-686-di, nic-modules-5.10.0-27-686-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: loop-modules-5.10.0-26-686-di +Package: loop-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: btrfs-modules-5.10.0-26-686-di +Package: btrfs-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-686-di, crc-modules-5.10.0-26-686-di, md-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, crc-modules-5.10.0-27-686-di, md-modules-5.10.0-27-686-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: ext4-modules-5.10.0-26-686-di +Package: ext4-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-686-di, crc-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, crc-modules-5.10.0-27-686-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: isofs-modules-5.10.0-26-686-di +Package: isofs-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-686-di, cdrom-core-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, cdrom-core-modules-5.10.0-27-686-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: jfs-modules-5.10.0-26-686-di +Package: jfs-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: xfs-modules-5.10.0-26-686-di +Package: xfs-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-5.10.0-26-686-di, crc-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, crc-modules-5.10.0-27-686-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: fat-modules-5.10.0-26-686-di +Package: fat-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: fat-modules -Depends: kernel-image-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: squashfs-modules-5.10.0-26-686-di +Package: squashfs-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: udf-modules-5.10.0-26-686-di +Package: udf-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-686-di, crc-modules-5.10.0-26-686-di, cdrom-core-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, crc-modules-5.10.0-27-686-di, cdrom-core-modules-5.10.0-27-686-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: fuse-modules-5.10.0-26-686-di +Package: fuse-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: f2fs-modules-5.10.0-26-686-di +Package: f2fs-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-686-di, crc-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, crc-modules-5.10.0-27-686-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: md-modules-5.10.0-26-686-di +Package: md-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-686-di, crc-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, crc-modules-5.10.0-27-686-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: multipath-modules-5.10.0-26-686-di +Package: multipath-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-686-di, md-modules-5.10.0-26-686-di, scsi-core-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, md-modules-5.10.0-27-686-di, scsi-core-modules-5.10.0-27-686-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: usb-modules-5.10.0-26-686-di +Package: usb-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: usb-storage-modules-5.10.0-26-686-di +Package: usb-storage-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-5.10.0-26-686-di, scsi-core-modules-5.10.0-26-686-di, usb-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, scsi-core-modules-5.10.0-27-686-di, usb-modules-5.10.0-27-686-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: pcmcia-storage-modules-5.10.0-26-686-di +Package: pcmcia-storage-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: pcmcia-storage-modules -Depends: kernel-image-5.10.0-26-686-di, cdrom-core-modules-5.10.0-26-686-di, pcmcia-modules-5.10.0-26-686-di, ata-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, cdrom-core-modules-5.10.0-27-686-di, pcmcia-modules-5.10.0-27-686-di, ata-modules-5.10.0-27-686-di Description: PCMCIA storage drivers This package contains PCMCIA storage drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: fb-modules-5.10.0-26-686-di +Package: fb-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-5.10.0-26-686-di, i2c-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, i2c-modules-5.10.0-27-686-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: input-modules-5.10.0-26-686-di +Package: input-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-5.10.0-26-686-di, usb-modules-5.10.0-26-686-di, i2c-modules-5.10.0-26-686-di, rfkill-modules-5.10.0-26-686-di, crc-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, usb-modules-5.10.0-27-686-di, i2c-modules-5.10.0-27-686-di, rfkill-modules-5.10.0-27-686-di, crc-modules-5.10.0-27-686-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: event-modules-5.10.0-26-686-di +Package: event-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: mouse-modules-5.10.0-26-686-di +Package: mouse-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-5.10.0-26-686-di, event-modules-5.10.0-26-686-di, input-modules-5.10.0-26-686-di, usb-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, event-modules-5.10.0-27-686-di, input-modules-5.10.0-27-686-di, usb-modules-5.10.0-27-686-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: nic-pcmcia-modules-5.10.0-26-686-di +Package: nic-pcmcia-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: nic-pcmcia-modules -Depends: kernel-image-5.10.0-26-686-di, nic-shared-modules-5.10.0-26-686-di, nic-wireless-modules-5.10.0-26-686-di, pcmcia-modules-5.10.0-26-686-di, mmc-core-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, nic-shared-modules-5.10.0-27-686-di, nic-wireless-modules-5.10.0-27-686-di, pcmcia-modules-5.10.0-27-686-di, mmc-core-modules-5.10.0-27-686-di Description: Common PCMCIA NIC drivers This package contains common PCMCIA NIC drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: pcmcia-modules-5.10.0-26-686-di +Package: pcmcia-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: pcmcia-modules -Depends: kernel-image-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di Description: Common PCMCIA drivers This package contains common PCMCIA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: nic-usb-modules-5.10.0-26-686-di +Package: nic-usb-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-5.10.0-26-686-di, nic-shared-modules-5.10.0-26-686-di, nic-wireless-modules-5.10.0-26-686-di, usb-modules-5.10.0-26-686-di, crc-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, nic-shared-modules-5.10.0-27-686-di, nic-wireless-modules-5.10.0-27-686-di, usb-modules-5.10.0-27-686-di, crc-modules-5.10.0-27-686-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: sata-modules-5.10.0-26-686-di +Package: sata-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-5.10.0-26-686-di, scsi-core-modules-5.10.0-26-686-di, ata-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, scsi-core-modules-5.10.0-27-686-di, ata-modules-5.10.0-27-686-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: acpi-modules-5.10.0-26-686-di +Package: acpi-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: acpi-modules -Depends: kernel-image-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di Description: ACPI support modules This package contains kernel modules for ACPI. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: i2c-modules-5.10.0-26-686-di +Package: i2c-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: crc-modules-5.10.0-26-686-di +Package: crc-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: crypto-modules-5.10.0-26-686-di +Package: crypto-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-686-di +Package: crypto-dm-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-686-di, md-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, md-modules-5.10.0-27-686-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: efi-modules-5.10.0-26-686-di +Package: efi-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: efi-modules -Depends: kernel-image-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di Description: EFI modules This package contains EFI modules. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: ata-modules-5.10.0-26-686-di +Package: ata-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-5.10.0-26-686-di, scsi-core-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, scsi-core-modules-5.10.0-27-686-di Description: ATA disk modules This package contains core ATA disk modules used by both PATA and SATA disk drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: mmc-core-modules-5.10.0-26-686-di +Package: mmc-core-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: mmc-core-modules -Depends: kernel-image-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di Description: MMC/SD/SDIO core modules This package contains core modules for MMC/SD/SDIO support. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: mmc-modules-5.10.0-26-686-di +Package: mmc-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: mmc-modules -Depends: kernel-image-5.10.0-26-686-di, mmc-core-modules-5.10.0-26-686-di, usb-modules-5.10.0-26-686-di, crc-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, mmc-core-modules-5.10.0-27-686-di, usb-modules-5.10.0-27-686-di, crc-modules-5.10.0-27-686-di Description: MMC/SD card modules This package contains modules needed to support MMC (multimedia) and SD cards. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: nbd-modules-5.10.0-26-686-di +Package: nbd-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: speakup-modules-5.10.0-26-686-di +Package: speakup-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: speakup-modules -Depends: kernel-image-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di Description: speakup modules This package contains speakup modules. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: uinput-modules-5.10.0-26-686-di +Package: uinput-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: uinput-modules -Depends: kernel-image-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di Description: uinput support This package contains the uinput module. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: sound-modules-5.10.0-26-686-di +Package: sound-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: sound-modules -Depends: kernel-image-5.10.0-26-686-di, i2c-modules-5.10.0-26-686-di, usb-modules-5.10.0-26-686-di, pcmcia-modules-5.10.0-26-686-di, firewire-core-modules-5.10.0-26-686-di, crc-modules-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di, i2c-modules-5.10.0-27-686-di, usb-modules-5.10.0-27-686-di, pcmcia-modules-5.10.0-27-686-di, firewire-core-modules-5.10.0-27-686-di, crc-modules-5.10.0-27-686-di Description: sound support This package contains sound modules. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: mtd-core-modules-5.10.0-26-686-di +Package: mtd-core-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: rfkill-modules-5.10.0-26-686-di +Package: rfkill-modules-5.10.0-27-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: rfkill-modules -Depends: kernel-image-5.10.0-26-686-di +Depends: kernel-image-5.10.0-27-686-di Description: rfkill modules This package contains the rfkill module. Build-Profiles: -Kernel-Version: 5.10.0-26-686 +Kernel-Version: 5.10.0-27-686 Package-Type: udeb -Package: kernel-image-5.10.0-26-686-pae-di +Package: kernel-image-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: standard @@ -5138,626 +5138,626 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: nic-modules-5.10.0-26-686-pae-di +Package: nic-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-5.10.0-26-686-pae-di, nic-shared-modules-5.10.0-26-686-pae-di, i2c-modules-5.10.0-26-686-pae-di, crc-modules-5.10.0-26-686-pae-di, mtd-core-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, nic-shared-modules-5.10.0-27-686-pae-di, i2c-modules-5.10.0-27-686-pae-di, crc-modules-5.10.0-27-686-pae-di, mtd-core-modules-5.10.0-27-686-pae-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: nic-wireless-modules-5.10.0-26-686-pae-di +Package: nic-wireless-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-5.10.0-26-686-pae-di, nic-shared-modules-5.10.0-26-686-pae-di, usb-modules-5.10.0-26-686-pae-di, mmc-core-modules-5.10.0-26-686-pae-di, pcmcia-modules-5.10.0-26-686-pae-di, crc-modules-5.10.0-26-686-pae-di, rfkill-modules-5.10.0-26-686-pae-di, crypto-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, nic-shared-modules-5.10.0-27-686-pae-di, usb-modules-5.10.0-27-686-pae-di, mmc-core-modules-5.10.0-27-686-pae-di, pcmcia-modules-5.10.0-27-686-pae-di, crc-modules-5.10.0-27-686-pae-di, rfkill-modules-5.10.0-27-686-pae-di, crypto-modules-5.10.0-27-686-pae-di Description: Wireless NIC drivers This package contains wireless NIC drivers for the kernel. Includes crypto modules only needed for wireless (WEP, WPA). Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-686-pae-di +Package: nic-shared-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: serial-modules-5.10.0-26-686-pae-di +Package: serial-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: serial-modules -Depends: kernel-image-5.10.0-26-686-pae-di, pcmcia-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, pcmcia-modules-5.10.0-27-686-pae-di Description: Serial drivers This package contains serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: usb-serial-modules-5.10.0-26-686-pae-di +Package: usb-serial-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-5.10.0-26-686-pae-di, usb-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, usb-modules-5.10.0-27-686-pae-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: ppp-modules-5.10.0-26-686-pae-di +Package: ppp-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-5.10.0-26-686-pae-di, serial-modules-5.10.0-26-686-pae-di, crc-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, serial-modules-5.10.0-27-686-pae-di, crc-modules-5.10.0-27-686-pae-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: pata-modules-5.10.0-26-686-pae-di +Package: pata-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-5.10.0-26-686-pae-di, ata-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, ata-modules-5.10.0-27-686-pae-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: cdrom-core-modules-5.10.0-26-686-pae-di +Package: cdrom-core-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-5.10.0-26-686-pae-di, scsi-core-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, scsi-core-modules-5.10.0-27-686-pae-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: firewire-core-modules-5.10.0-26-686-pae-di +Package: firewire-core-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: firewire-core-modules -Depends: kernel-image-5.10.0-26-686-pae-di, scsi-core-modules-5.10.0-26-686-pae-di, crc-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, scsi-core-modules-5.10.0-27-686-pae-di, crc-modules-5.10.0-27-686-pae-di Description: Core FireWire drivers This package contains core FireWire drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: scsi-core-modules-5.10.0-26-686-pae-di +Package: scsi-core-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: scsi-modules-5.10.0-26-686-pae-di +Package: scsi-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-5.10.0-26-686-pae-di, scsi-core-modules-5.10.0-26-686-pae-di, cdrom-core-modules-5.10.0-26-686-pae-di, ata-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, scsi-core-modules-5.10.0-27-686-pae-di, cdrom-core-modules-5.10.0-27-686-pae-di, ata-modules-5.10.0-27-686-pae-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: scsi-nic-modules-5.10.0-26-686-pae-di +Package: scsi-nic-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-5.10.0-26-686-pae-di, nic-modules-5.10.0-26-686-pae-di +Depends: scsi-modules-5.10.0-27-686-pae-di, nic-modules-5.10.0-27-686-pae-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: loop-modules-5.10.0-26-686-pae-di +Package: loop-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: btrfs-modules-5.10.0-26-686-pae-di +Package: btrfs-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-686-pae-di, crc-modules-5.10.0-26-686-pae-di, md-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, crc-modules-5.10.0-27-686-pae-di, md-modules-5.10.0-27-686-pae-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: ext4-modules-5.10.0-26-686-pae-di +Package: ext4-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-686-pae-di, crc-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, crc-modules-5.10.0-27-686-pae-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: isofs-modules-5.10.0-26-686-pae-di +Package: isofs-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-686-pae-di, cdrom-core-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, cdrom-core-modules-5.10.0-27-686-pae-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: jfs-modules-5.10.0-26-686-pae-di +Package: jfs-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: xfs-modules-5.10.0-26-686-pae-di +Package: xfs-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-5.10.0-26-686-pae-di, crc-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, crc-modules-5.10.0-27-686-pae-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: fat-modules-5.10.0-26-686-pae-di +Package: fat-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: fat-modules -Depends: kernel-image-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: squashfs-modules-5.10.0-26-686-pae-di +Package: squashfs-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: udf-modules-5.10.0-26-686-pae-di +Package: udf-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-686-pae-di, crc-modules-5.10.0-26-686-pae-di, cdrom-core-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, crc-modules-5.10.0-27-686-pae-di, cdrom-core-modules-5.10.0-27-686-pae-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: fuse-modules-5.10.0-26-686-pae-di +Package: fuse-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: f2fs-modules-5.10.0-26-686-pae-di +Package: f2fs-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-686-pae-di, crc-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, crc-modules-5.10.0-27-686-pae-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: md-modules-5.10.0-26-686-pae-di +Package: md-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-686-pae-di, crc-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, crc-modules-5.10.0-27-686-pae-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: multipath-modules-5.10.0-26-686-pae-di +Package: multipath-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-686-pae-di, md-modules-5.10.0-26-686-pae-di, scsi-core-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, md-modules-5.10.0-27-686-pae-di, scsi-core-modules-5.10.0-27-686-pae-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: usb-modules-5.10.0-26-686-pae-di +Package: usb-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: usb-storage-modules-5.10.0-26-686-pae-di +Package: usb-storage-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-5.10.0-26-686-pae-di, scsi-core-modules-5.10.0-26-686-pae-di, usb-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, scsi-core-modules-5.10.0-27-686-pae-di, usb-modules-5.10.0-27-686-pae-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: pcmcia-storage-modules-5.10.0-26-686-pae-di +Package: pcmcia-storage-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: pcmcia-storage-modules -Depends: kernel-image-5.10.0-26-686-pae-di, cdrom-core-modules-5.10.0-26-686-pae-di, pcmcia-modules-5.10.0-26-686-pae-di, ata-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, cdrom-core-modules-5.10.0-27-686-pae-di, pcmcia-modules-5.10.0-27-686-pae-di, ata-modules-5.10.0-27-686-pae-di Description: PCMCIA storage drivers This package contains PCMCIA storage drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: fb-modules-5.10.0-26-686-pae-di +Package: fb-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-5.10.0-26-686-pae-di, i2c-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, i2c-modules-5.10.0-27-686-pae-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: input-modules-5.10.0-26-686-pae-di +Package: input-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-5.10.0-26-686-pae-di, usb-modules-5.10.0-26-686-pae-di, i2c-modules-5.10.0-26-686-pae-di, rfkill-modules-5.10.0-26-686-pae-di, crc-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, usb-modules-5.10.0-27-686-pae-di, i2c-modules-5.10.0-27-686-pae-di, rfkill-modules-5.10.0-27-686-pae-di, crc-modules-5.10.0-27-686-pae-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: event-modules-5.10.0-26-686-pae-di +Package: event-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: mouse-modules-5.10.0-26-686-pae-di +Package: mouse-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-5.10.0-26-686-pae-di, event-modules-5.10.0-26-686-pae-di, input-modules-5.10.0-26-686-pae-di, usb-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, event-modules-5.10.0-27-686-pae-di, input-modules-5.10.0-27-686-pae-di, usb-modules-5.10.0-27-686-pae-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: nic-pcmcia-modules-5.10.0-26-686-pae-di +Package: nic-pcmcia-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: nic-pcmcia-modules -Depends: kernel-image-5.10.0-26-686-pae-di, nic-shared-modules-5.10.0-26-686-pae-di, nic-wireless-modules-5.10.0-26-686-pae-di, pcmcia-modules-5.10.0-26-686-pae-di, mmc-core-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, nic-shared-modules-5.10.0-27-686-pae-di, nic-wireless-modules-5.10.0-27-686-pae-di, pcmcia-modules-5.10.0-27-686-pae-di, mmc-core-modules-5.10.0-27-686-pae-di Description: Common PCMCIA NIC drivers This package contains common PCMCIA NIC drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: pcmcia-modules-5.10.0-26-686-pae-di +Package: pcmcia-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: pcmcia-modules -Depends: kernel-image-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di Description: Common PCMCIA drivers This package contains common PCMCIA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: nic-usb-modules-5.10.0-26-686-pae-di +Package: nic-usb-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-5.10.0-26-686-pae-di, nic-shared-modules-5.10.0-26-686-pae-di, nic-wireless-modules-5.10.0-26-686-pae-di, usb-modules-5.10.0-26-686-pae-di, crc-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, nic-shared-modules-5.10.0-27-686-pae-di, nic-wireless-modules-5.10.0-27-686-pae-di, usb-modules-5.10.0-27-686-pae-di, crc-modules-5.10.0-27-686-pae-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: sata-modules-5.10.0-26-686-pae-di +Package: sata-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-5.10.0-26-686-pae-di, scsi-core-modules-5.10.0-26-686-pae-di, ata-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, scsi-core-modules-5.10.0-27-686-pae-di, ata-modules-5.10.0-27-686-pae-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: acpi-modules-5.10.0-26-686-pae-di +Package: acpi-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: acpi-modules -Depends: kernel-image-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di Description: ACPI support modules This package contains kernel modules for ACPI. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: i2c-modules-5.10.0-26-686-pae-di +Package: i2c-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: crc-modules-5.10.0-26-686-pae-di +Package: crc-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: crypto-modules-5.10.0-26-686-pae-di +Package: crypto-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-686-pae-di +Package: crypto-dm-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-686-pae-di, md-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, md-modules-5.10.0-27-686-pae-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: efi-modules-5.10.0-26-686-pae-di +Package: efi-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: efi-modules -Depends: kernel-image-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di Description: EFI modules This package contains EFI modules. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: ata-modules-5.10.0-26-686-pae-di +Package: ata-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-5.10.0-26-686-pae-di, scsi-core-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, scsi-core-modules-5.10.0-27-686-pae-di Description: ATA disk modules This package contains core ATA disk modules used by both PATA and SATA disk drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: mmc-core-modules-5.10.0-26-686-pae-di +Package: mmc-core-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: mmc-core-modules -Depends: kernel-image-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di Description: MMC/SD/SDIO core modules This package contains core modules for MMC/SD/SDIO support. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: mmc-modules-5.10.0-26-686-pae-di +Package: mmc-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: mmc-modules -Depends: kernel-image-5.10.0-26-686-pae-di, mmc-core-modules-5.10.0-26-686-pae-di, usb-modules-5.10.0-26-686-pae-di, crc-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, mmc-core-modules-5.10.0-27-686-pae-di, usb-modules-5.10.0-27-686-pae-di, crc-modules-5.10.0-27-686-pae-di Description: MMC/SD card modules This package contains modules needed to support MMC (multimedia) and SD cards. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: nbd-modules-5.10.0-26-686-pae-di +Package: nbd-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: speakup-modules-5.10.0-26-686-pae-di +Package: speakup-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: speakup-modules -Depends: kernel-image-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di Description: speakup modules This package contains speakup modules. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: uinput-modules-5.10.0-26-686-pae-di +Package: uinput-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: uinput-modules -Depends: kernel-image-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di Description: uinput support This package contains the uinput module. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: sound-modules-5.10.0-26-686-pae-di +Package: sound-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: sound-modules -Depends: kernel-image-5.10.0-26-686-pae-di, i2c-modules-5.10.0-26-686-pae-di, usb-modules-5.10.0-26-686-pae-di, pcmcia-modules-5.10.0-26-686-pae-di, firewire-core-modules-5.10.0-26-686-pae-di, crc-modules-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di, i2c-modules-5.10.0-27-686-pae-di, usb-modules-5.10.0-27-686-pae-di, pcmcia-modules-5.10.0-27-686-pae-di, firewire-core-modules-5.10.0-27-686-pae-di, crc-modules-5.10.0-27-686-pae-di Description: sound support This package contains sound modules. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: mtd-core-modules-5.10.0-26-686-pae-di +Package: mtd-core-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb -Package: rfkill-modules-5.10.0-26-686-pae-di +Package: rfkill-modules-5.10.0-27-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: rfkill-modules -Depends: kernel-image-5.10.0-26-686-pae-di +Depends: kernel-image-5.10.0-27-686-pae-di Description: rfkill modules This package contains the rfkill module. Build-Profiles: -Kernel-Version: 5.10.0-26-686-pae +Kernel-Version: 5.10.0-27-686-pae Package-Type: udeb Package: linux-image-i386-signed-template @@ -5768,58 +5768,58 @@ service. Build-Profiles: -Package: linux-image-5.10.0-26-686-unsigned +Package: linux-image-5.10.0-27-686-unsigned Architecture: i386 Depends: kmod, linux-base (>= 4.3~), ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [i386] | linux-initramfs-tool [i386] Recommends: firmware-linux-free, apparmor [i386] Suggests: linux-doc-5.10, debian-kernel-handbook, grub-pc [i386] | grub-efi-ia32 [i386] | extlinux [i386] -Replaces: linux-image-5.10.0-26-686 +Replaces: linux-image-5.10.0-27-686 Breaks: xserver-xorg-input-vmmouse (<< 1:13.0.99) [i386], fwupdate (<< 12-7) [i386], wireless-regdb (<< 2019.06.03-1~) [i386], initramfs-tools (<< 0.120+deb8u2) -Conflicts: linux-image-5.10.0-26-686 +Conflicts: linux-image-5.10.0-27-686 Description: Linux 5.10 for older PCs The Linux kernel 5.10 and modules for use on PCs with one or more processors not supporting PAE. Build-Profiles: -Package: linux-headers-5.10.0-26-686 +Package: linux-headers-5.10.0-27-686 Architecture: i386 -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-x86 -Description: Header files for Linux 5.10.0-26-686 +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-x86 +Description: Header files for Linux 5.10.0-27-686 This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-686, generally used for building out-of-tree kernel + Linux kernel 5.10.0-27-686, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-686, and can be used for building modules - that load into the kernel provided by the linux-image-5.10.0-26-686 + /usr/src/linux-headers-5.10.0-27-686, and can be used for building modules + that load into the kernel provided by the linux-image-5.10.0-27-686 package. Build-Profiles: -Package: linux-image-5.10.0-26-686-dbg +Package: linux-image-5.10.0-27-686-dbg Architecture: i386 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-686 +Description: Debug symbols for linux-image-5.10.0-27-686 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-686. + modules in linux-image-5.10.0-27-686. Build-Profiles: Package: linux-image-686-dbg Architecture: i386 Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-686-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-686-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux 686 configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel 686 configuration. Build-Profiles: -Package: linux-image-5.10.0-26-686-pae-unsigned +Package: linux-image-5.10.0-27-686-pae-unsigned Architecture: i386 Depends: kmod, linux-base (>= 4.3~), ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [i386] | linux-initramfs-tool [i386] Recommends: firmware-linux-free, apparmor [i386] Suggests: linux-doc-5.10, debian-kernel-handbook, grub-pc [i386] | grub-efi-ia32 [i386] | extlinux [i386] -Replaces: linux-image-5.10.0-26-686-pae +Replaces: linux-image-5.10.0-27-686-pae Breaks: xserver-xorg-input-vmmouse (<< 1:13.0.99) [i386], fwupdate (<< 12-7) [i386], wireless-regdb (<< 2019.06.03-1~) [i386], initramfs-tools (<< 0.120+deb8u2) -Conflicts: linux-image-5.10.0-26-686-pae +Conflicts: linux-image-5.10.0-27-686-pae Description: Linux 5.10 for modern PCs The Linux kernel 5.10 and modules for use on PCs with one or more processors supporting PAE. @@ -5830,45 +5830,45 @@ Transmeta Efficeon; VIA C7; and some other processors. Build-Profiles: -Package: linux-headers-5.10.0-26-686-pae +Package: linux-headers-5.10.0-27-686-pae Architecture: i386 -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-x86 -Description: Header files for Linux 5.10.0-26-686-pae +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-x86 +Description: Header files for Linux 5.10.0-27-686-pae This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-686-pae, generally used for building out-of-tree + Linux kernel 5.10.0-27-686-pae, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-686-pae, and can be used for building + /usr/src/linux-headers-5.10.0-27-686-pae, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-686-pae package. + linux-image-5.10.0-27-686-pae package. Build-Profiles: -Package: linux-image-5.10.0-26-686-pae-dbg +Package: linux-image-5.10.0-27-686-pae-dbg Architecture: i386 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-686-pae +Description: Debug symbols for linux-image-5.10.0-27-686-pae This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-686-pae. + modules in linux-image-5.10.0-27-686-pae. Build-Profiles: Package: linux-image-686-pae-dbg Architecture: i386 Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-686-pae-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-686-pae-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux 686-pae configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel 686-pae configuration. Build-Profiles: -Package: linux-image-5.10.0-26-rt-686-pae-unsigned +Package: linux-image-5.10.0-27-rt-686-pae-unsigned Architecture: i386 Depends: kmod, linux-base (>= 4.3~), ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [i386] | linux-initramfs-tool [i386] Recommends: firmware-linux-free, apparmor [i386] Suggests: linux-doc-5.10, debian-kernel-handbook, grub-pc [i386] | grub-efi-ia32 [i386] | extlinux [i386] -Replaces: linux-image-5.10.0-26-rt-686-pae +Replaces: linux-image-5.10.0-27-rt-686-pae Breaks: xserver-xorg-input-vmmouse (<< 1:13.0.99) [i386], fwupdate (<< 12-7) [i386], wireless-regdb (<< 2019.06.03-1~) [i386], initramfs-tools (<< 0.120+deb8u2) -Conflicts: linux-image-5.10.0-26-rt-686-pae +Conflicts: linux-image-5.10.0-27-rt-686-pae Description: Linux 5.10 for modern PCs, PREEMPT_RT The Linux kernel 5.10 and modules for use on PCs with one or more processors supporting PAE. @@ -5881,38 +5881,38 @@ This kernel includes the PREEMPT_RT realtime patch set. Build-Profiles: -Package: linux-headers-5.10.0-26-rt-686-pae +Package: linux-headers-5.10.0-27-rt-686-pae Architecture: i386 -Depends: linux-headers-5.10.0-26-common-rt (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-x86 -Description: Header files for Linux 5.10.0-26-rt-686-pae +Depends: linux-headers-5.10.0-27-common-rt (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-x86 +Description: Header files for Linux 5.10.0-27-rt-686-pae This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-rt-686-pae, generally used for building out-of-tree + Linux kernel 5.10.0-27-rt-686-pae, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-rt-686-pae, and can be used for building + /usr/src/linux-headers-5.10.0-27-rt-686-pae, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-rt-686-pae package. + linux-image-5.10.0-27-rt-686-pae package. Build-Profiles: -Package: linux-image-5.10.0-26-rt-686-pae-dbg +Package: linux-image-5.10.0-27-rt-686-pae-dbg Architecture: i386 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-rt-686-pae +Description: Debug symbols for linux-image-5.10.0-27-rt-686-pae This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-rt-686-pae. + modules in linux-image-5.10.0-27-rt-686-pae. Build-Profiles: Package: linux-image-rt-686-pae-dbg Architecture: i386 Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-rt-686-pae-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-rt-686-pae-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux rt-686-pae configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel rt-686-pae configuration. Build-Profiles: -Package: kernel-image-5.10.0-26-itanium-di +Package: kernel-image-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: standard @@ -5922,533 +5922,533 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: nic-modules-5.10.0-26-itanium-di +Package: nic-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-5.10.0-26-itanium-di, nic-shared-modules-5.10.0-26-itanium-di, i2c-modules-5.10.0-26-itanium-di, crc-modules-5.10.0-26-itanium-di, mtd-core-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, nic-shared-modules-5.10.0-27-itanium-di, i2c-modules-5.10.0-27-itanium-di, crc-modules-5.10.0-27-itanium-di, mtd-core-modules-5.10.0-27-itanium-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-itanium-di +Package: nic-shared-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: serial-modules-5.10.0-26-itanium-di +Package: serial-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: serial-modules -Depends: kernel-image-5.10.0-26-itanium-di, pcmcia-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, pcmcia-modules-5.10.0-27-itanium-di Description: Serial drivers This package contains serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: usb-serial-modules-5.10.0-26-itanium-di +Package: usb-serial-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-5.10.0-26-itanium-di, usb-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, usb-modules-5.10.0-27-itanium-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: ppp-modules-5.10.0-26-itanium-di +Package: ppp-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-5.10.0-26-itanium-di, serial-modules-5.10.0-26-itanium-di, crc-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, serial-modules-5.10.0-27-itanium-di, crc-modules-5.10.0-27-itanium-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: pata-modules-5.10.0-26-itanium-di +Package: pata-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-5.10.0-26-itanium-di, ata-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, ata-modules-5.10.0-27-itanium-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: cdrom-core-modules-5.10.0-26-itanium-di +Package: cdrom-core-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-5.10.0-26-itanium-di, scsi-core-modules-5.10.0-26-itanium-di, ide-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, scsi-core-modules-5.10.0-27-itanium-di, ide-modules-5.10.0-27-itanium-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: firewire-core-modules-5.10.0-26-itanium-di +Package: firewire-core-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: firewire-core-modules -Depends: kernel-image-5.10.0-26-itanium-di, scsi-core-modules-5.10.0-26-itanium-di, crc-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, scsi-core-modules-5.10.0-27-itanium-di, crc-modules-5.10.0-27-itanium-di Description: Core FireWire drivers This package contains core FireWire drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: scsi-core-modules-5.10.0-26-itanium-di +Package: scsi-core-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: scsi-modules-5.10.0-26-itanium-di +Package: scsi-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-5.10.0-26-itanium-di, scsi-core-modules-5.10.0-26-itanium-di, cdrom-core-modules-5.10.0-26-itanium-di, ata-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, scsi-core-modules-5.10.0-27-itanium-di, cdrom-core-modules-5.10.0-27-itanium-di, ata-modules-5.10.0-27-itanium-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: scsi-nic-modules-5.10.0-26-itanium-di +Package: scsi-nic-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-5.10.0-26-itanium-di, nic-modules-5.10.0-26-itanium-di +Depends: scsi-modules-5.10.0-27-itanium-di, nic-modules-5.10.0-27-itanium-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: loop-modules-5.10.0-26-itanium-di +Package: loop-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: btrfs-modules-5.10.0-26-itanium-di +Package: btrfs-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-itanium-di, crc-modules-5.10.0-26-itanium-di, md-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, crc-modules-5.10.0-27-itanium-di, md-modules-5.10.0-27-itanium-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: ext4-modules-5.10.0-26-itanium-di +Package: ext4-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-itanium-di, crc-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, crc-modules-5.10.0-27-itanium-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: isofs-modules-5.10.0-26-itanium-di +Package: isofs-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-itanium-di, cdrom-core-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, cdrom-core-modules-5.10.0-27-itanium-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: jfs-modules-5.10.0-26-itanium-di +Package: jfs-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: xfs-modules-5.10.0-26-itanium-di +Package: xfs-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-5.10.0-26-itanium-di, crc-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, crc-modules-5.10.0-27-itanium-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: fat-modules-5.10.0-26-itanium-di +Package: fat-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: fat-modules -Depends: kernel-image-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: squashfs-modules-5.10.0-26-itanium-di +Package: squashfs-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: udf-modules-5.10.0-26-itanium-di +Package: udf-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-itanium-di, crc-modules-5.10.0-26-itanium-di, cdrom-core-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, crc-modules-5.10.0-27-itanium-di, cdrom-core-modules-5.10.0-27-itanium-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: fuse-modules-5.10.0-26-itanium-di +Package: fuse-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: f2fs-modules-5.10.0-26-itanium-di +Package: f2fs-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-itanium-di, crc-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, crc-modules-5.10.0-27-itanium-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: md-modules-5.10.0-26-itanium-di +Package: md-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-itanium-di, crc-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, crc-modules-5.10.0-27-itanium-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: multipath-modules-5.10.0-26-itanium-di +Package: multipath-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-itanium-di, md-modules-5.10.0-26-itanium-di, scsi-core-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, md-modules-5.10.0-27-itanium-di, scsi-core-modules-5.10.0-27-itanium-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: usb-modules-5.10.0-26-itanium-di +Package: usb-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: usb-storage-modules-5.10.0-26-itanium-di +Package: usb-storage-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-5.10.0-26-itanium-di, scsi-core-modules-5.10.0-26-itanium-di, usb-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, scsi-core-modules-5.10.0-27-itanium-di, usb-modules-5.10.0-27-itanium-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: fb-modules-5.10.0-26-itanium-di +Package: fb-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-5.10.0-26-itanium-di, i2c-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, i2c-modules-5.10.0-27-itanium-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: input-modules-5.10.0-26-itanium-di +Package: input-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-5.10.0-26-itanium-di, usb-modules-5.10.0-26-itanium-di, i2c-modules-5.10.0-26-itanium-di, crc-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, usb-modules-5.10.0-27-itanium-di, i2c-modules-5.10.0-27-itanium-di, crc-modules-5.10.0-27-itanium-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: event-modules-5.10.0-26-itanium-di +Package: event-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: mouse-modules-5.10.0-26-itanium-di +Package: mouse-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-5.10.0-26-itanium-di, event-modules-5.10.0-26-itanium-di, input-modules-5.10.0-26-itanium-di, usb-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, event-modules-5.10.0-27-itanium-di, input-modules-5.10.0-27-itanium-di, usb-modules-5.10.0-27-itanium-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: pcmcia-modules-5.10.0-26-itanium-di +Package: pcmcia-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: pcmcia-modules -Depends: kernel-image-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di Description: Common PCMCIA drivers This package contains common PCMCIA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: nic-usb-modules-5.10.0-26-itanium-di +Package: nic-usb-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-5.10.0-26-itanium-di, nic-shared-modules-5.10.0-26-itanium-di, usb-modules-5.10.0-26-itanium-di, crc-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, nic-shared-modules-5.10.0-27-itanium-di, usb-modules-5.10.0-27-itanium-di, crc-modules-5.10.0-27-itanium-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: sata-modules-5.10.0-26-itanium-di +Package: sata-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-5.10.0-26-itanium-di, scsi-core-modules-5.10.0-26-itanium-di, ata-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, scsi-core-modules-5.10.0-27-itanium-di, ata-modules-5.10.0-27-itanium-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: i2c-modules-5.10.0-26-itanium-di +Package: i2c-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: crc-modules-5.10.0-26-itanium-di +Package: crc-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: crypto-modules-5.10.0-26-itanium-di +Package: crypto-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-itanium-di +Package: crypto-dm-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-itanium-di, md-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, md-modules-5.10.0-27-itanium-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: ata-modules-5.10.0-26-itanium-di +Package: ata-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-5.10.0-26-itanium-di, scsi-core-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, scsi-core-modules-5.10.0-27-itanium-di Description: ATA disk modules This package contains core ATA disk modules used by both PATA and SATA disk drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: nbd-modules-5.10.0-26-itanium-di +Package: nbd-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: uinput-modules-5.10.0-26-itanium-di +Package: uinput-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: uinput-modules -Depends: kernel-image-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di Description: uinput support This package contains the uinput module. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: mtd-core-modules-5.10.0-26-itanium-di +Package: mtd-core-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: ide-core-modules-5.10.0-26-itanium-di +Package: ide-core-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: ide-core-modules -Depends: kernel-image-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di Description: IDE support This package contains core IDE support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: ide-modules-5.10.0-26-itanium-di +Package: ide-modules-5.10.0-27-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: ide-modules -Depends: kernel-image-5.10.0-26-itanium-di, ide-core-modules-5.10.0-26-itanium-di +Depends: kernel-image-5.10.0-27-itanium-di, ide-core-modules-5.10.0-27-itanium-di Description: IDE drivers This package contains IDE drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-itanium +Kernel-Version: 5.10.0-27-itanium Package-Type: udeb -Package: linux-image-5.10.0-26-itanium +Package: linux-image-5.10.0-27-itanium Architecture: ia64 -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [ia64] | linux-initramfs-tool [ia64] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [ia64] | linux-initramfs-tool [ia64] Recommends: firmware-linux-free, apparmor [ia64] Suggests: linux-doc-5.10, debian-kernel-handbook, grub-efi-ia64 [ia64] Breaks: fwupdate (<< 12-7) [ia64], wireless-regdb (<< 2019.06.03-1~) [ia64], initramfs-tools (<< 0.120+deb8u2) @@ -6457,22 +6457,22 @@ (Merced) processors. Build-Profiles: -Package: linux-headers-5.10.0-26-itanium +Package: linux-headers-5.10.0-27-itanium Architecture: ia64 -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-itanium +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-itanium This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-itanium, generally used for building out-of-tree + Linux kernel 5.10.0-27-itanium, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-itanium, and can be used for building + /usr/src/linux-headers-5.10.0-27-itanium, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-itanium package. + linux-image-5.10.0-27-itanium package. Build-Profiles: Package: linux-image-itanium Architecture: ia64 -Provides: linux-latest-modules-5.10.0-26-itanium, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic -Depends: linux-image-5.10.0-26-itanium (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-itanium, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic +Depends: linux-image-5.10.0-27-itanium (= ${binary:Version}), ${misc:Depends} Description: Linux for Itanium (Merced) (meta-package) This package depends on the latest Linux kernel and modules for use on systems with original Itanium (Merced) processors. @@ -6481,34 +6481,34 @@ Package: linux-headers-itanium Architecture: ia64 Provides: linux-headers-generic -Depends: linux-headers-5.10.0-26-itanium (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-itanium (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux itanium configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel itanium configuration. Build-Profiles: -Package: linux-image-5.10.0-26-itanium-dbg +Package: linux-image-5.10.0-27-itanium-dbg Architecture: ia64 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-itanium +Description: Debug symbols for linux-image-5.10.0-27-itanium This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-itanium. + modules in linux-image-5.10.0-27-itanium. Build-Profiles: Package: linux-image-itanium-dbg Architecture: ia64 Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-itanium-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-itanium-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux itanium configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel itanium configuration. Build-Profiles: -Package: linux-image-5.10.0-26-mckinley +Package: linux-image-5.10.0-27-mckinley Architecture: ia64 -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [ia64] | linux-initramfs-tool [ia64] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [ia64] | linux-initramfs-tool [ia64] Recommends: firmware-linux-free, apparmor [ia64] Suggests: linux-doc-5.10, debian-kernel-handbook, grub-efi-ia64 [ia64] Breaks: fwupdate (<< 12-7) [ia64], wireless-regdb (<< 2019.06.03-1~) [ia64], initramfs-tools (<< 0.120+deb8u2) @@ -6517,22 +6517,22 @@ 9300/9500/9700-series processors. Build-Profiles: -Package: linux-headers-5.10.0-26-mckinley +Package: linux-headers-5.10.0-27-mckinley Architecture: ia64 -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-mckinley +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-mckinley This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-mckinley, generally used for building out-of-tree + Linux kernel 5.10.0-27-mckinley, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-mckinley, and can be used for building + /usr/src/linux-headers-5.10.0-27-mckinley, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-mckinley package. + linux-image-5.10.0-27-mckinley package. Build-Profiles: Package: linux-image-mckinley Architecture: ia64 -Provides: linux-latest-modules-5.10.0-26-mckinley, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] -Depends: linux-image-5.10.0-26-mckinley (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-mckinley, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] +Depends: linux-image-5.10.0-27-mckinley (= ${binary:Version}), ${misc:Depends} Description: Linux for Itanium 2+ (meta-package) This package depends on the latest Linux kernel and modules for use on systems with Itanium 2 or 9300/9500/9700-series processors. @@ -6540,32 +6540,32 @@ Package: linux-headers-mckinley Architecture: ia64 -Depends: linux-headers-5.10.0-26-mckinley (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-mckinley (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux mckinley configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel mckinley configuration. Build-Profiles: -Package: linux-image-5.10.0-26-mckinley-dbg +Package: linux-image-5.10.0-27-mckinley-dbg Architecture: ia64 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-mckinley +Description: Debug symbols for linux-image-5.10.0-27-mckinley This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-mckinley. + modules in linux-image-5.10.0-27-mckinley. Build-Profiles: Package: linux-image-mckinley-dbg Architecture: ia64 Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-mckinley-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-mckinley-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux mckinley configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel mckinley configuration. Build-Profiles: -Package: kernel-image-5.10.0-26-m68k-di +Package: kernel-image-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: standard @@ -6575,305 +6575,305 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: nic-modules-5.10.0-26-m68k-di +Package: nic-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-5.10.0-26-m68k-di, nic-shared-modules-5.10.0-26-m68k-di, crc-modules-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di, nic-shared-modules-5.10.0-27-m68k-di, crc-modules-5.10.0-27-m68k-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-m68k-di +Package: nic-shared-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: ppp-modules-5.10.0-26-m68k-di +Package: ppp-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-5.10.0-26-m68k-di, crc-modules-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di, crc-modules-5.10.0-27-m68k-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: pata-modules-5.10.0-26-m68k-di +Package: pata-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-5.10.0-26-m68k-di, ata-modules-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di, ata-modules-5.10.0-27-m68k-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: cdrom-core-modules-5.10.0-26-m68k-di +Package: cdrom-core-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-5.10.0-26-m68k-di, scsi-core-modules-5.10.0-26-m68k-di, ide-modules-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di, scsi-core-modules-5.10.0-27-m68k-di, ide-modules-5.10.0-27-m68k-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: scsi-core-modules-5.10.0-26-m68k-di +Package: scsi-core-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: scsi-modules-5.10.0-26-m68k-di +Package: scsi-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-5.10.0-26-m68k-di, scsi-core-modules-5.10.0-26-m68k-di, cdrom-core-modules-5.10.0-26-m68k-di, ata-modules-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di, scsi-core-modules-5.10.0-27-m68k-di, cdrom-core-modules-5.10.0-27-m68k-di, ata-modules-5.10.0-27-m68k-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: loop-modules-5.10.0-26-m68k-di +Package: loop-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: btrfs-modules-5.10.0-26-m68k-di +Package: btrfs-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-m68k-di, crc-modules-5.10.0-26-m68k-di, md-modules-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di, crc-modules-5.10.0-27-m68k-di, md-modules-5.10.0-27-m68k-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: ext4-modules-5.10.0-26-m68k-di +Package: ext4-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-m68k-di, crc-modules-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di, crc-modules-5.10.0-27-m68k-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: isofs-modules-5.10.0-26-m68k-di +Package: isofs-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-m68k-di, cdrom-core-modules-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di, cdrom-core-modules-5.10.0-27-m68k-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: fat-modules-5.10.0-26-m68k-di +Package: fat-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: hfs-modules-5.10.0-26-m68k-di +Package: hfs-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: hfs-modules -Depends: kernel-image-5.10.0-26-m68k-di, cdrom-core-modules-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di, cdrom-core-modules-5.10.0-27-m68k-di Description: HFS filesystem support This package contains the HFS and HFS+ filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: affs-modules-5.10.0-26-m68k-di +Package: affs-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: affs-modules -Depends: kernel-image-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di Description: Amiga filesystem support This package contains the Amiga filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: squashfs-modules-5.10.0-26-m68k-di +Package: squashfs-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: udf-modules-5.10.0-26-m68k-di +Package: udf-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-m68k-di, crc-modules-5.10.0-26-m68k-di, cdrom-core-modules-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di, crc-modules-5.10.0-27-m68k-di, cdrom-core-modules-5.10.0-27-m68k-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: fuse-modules-5.10.0-26-m68k-di +Package: fuse-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: md-modules-5.10.0-26-m68k-di +Package: md-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-m68k-di, crc-modules-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di, crc-modules-5.10.0-27-m68k-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: crc-modules-5.10.0-26-m68k-di +Package: crc-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: crypto-modules-5.10.0-26-m68k-di +Package: crypto-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: ata-modules-5.10.0-26-m68k-di +Package: ata-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-5.10.0-26-m68k-di, scsi-core-modules-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di, scsi-core-modules-5.10.0-27-m68k-di Description: ATA disk modules This package contains core ATA disk modules used by both PATA and SATA disk drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: nbd-modules-5.10.0-26-m68k-di +Package: nbd-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: ide-core-modules-5.10.0-26-m68k-di +Package: ide-core-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: standard Provides: ide-core-modules -Depends: kernel-image-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di Description: IDE support This package contains core IDE support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: ide-modules-5.10.0-26-m68k-di +Package: ide-modules-5.10.0-27-m68k-di Architecture: m68k Section: debian-installer Priority: standard Provides: ide-modules -Depends: kernel-image-5.10.0-26-m68k-di, ide-core-modules-5.10.0-26-m68k-di +Depends: kernel-image-5.10.0-27-m68k-di, ide-core-modules-5.10.0-27-m68k-di Description: IDE drivers This package contains IDE drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-m68k +Kernel-Version: 5.10.0-27-m68k Package-Type: udeb -Package: linux-image-5.10.0-26-m68k +Package: linux-image-5.10.0-27-m68k Architecture: m68k -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [m68k] | linux-initramfs-tool [m68k] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [m68k] | linux-initramfs-tool [m68k] Recommends: firmware-linux-free, apparmor [m68k] Suggests: linux-doc-5.10, debian-kernel-handbook, vmelilo [m68k], fdutils [m68k] Breaks: fwupdate (<< 12-7) [m68k], wireless-regdb (<< 2019.06.03-1~) [m68k], initramfs-tools (<< 0.120+deb8u2) @@ -6881,22 +6881,22 @@ The Linux kernel 5.10 and modules for use on Motorola MC68020+ family. Build-Profiles: -Package: linux-headers-5.10.0-26-m68k +Package: linux-headers-5.10.0-27-m68k Architecture: m68k -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-m68k +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-m68k This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-m68k, generally used for building out-of-tree + Linux kernel 5.10.0-27-m68k, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-m68k, and can be used for building + /usr/src/linux-headers-5.10.0-27-m68k, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-m68k package. + linux-image-5.10.0-27-m68k package. Build-Profiles: Package: linux-image-m68k Architecture: m68k -Provides: linux-latest-modules-5.10.0-26-m68k, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic -Depends: linux-image-5.10.0-26-m68k (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-m68k, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic +Depends: linux-image-5.10.0-27-m68k (= ${binary:Version}), ${misc:Depends} Description: Linux for Motorola MC68020+ family (meta-package) This package depends on the latest Linux kernel and modules for use on Motorola MC68020+ family. @@ -6905,32 +6905,32 @@ Package: linux-headers-m68k Architecture: m68k Provides: linux-headers-generic -Depends: linux-headers-5.10.0-26-m68k (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-m68k (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux m68k configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel m68k configuration. Build-Profiles: -Package: linux-image-5.10.0-26-m68k-dbg +Package: linux-image-5.10.0-27-m68k-dbg Architecture: m68k Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-m68k +Description: Debug symbols for linux-image-5.10.0-27-m68k This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-m68k. + modules in linux-image-5.10.0-27-m68k. Build-Profiles: Package: linux-image-m68k-dbg Architecture: m68k Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-m68k-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-m68k-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux m68k configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel m68k configuration. Build-Profiles: -Package: kernel-image-5.10.0-26-4kc-malta-di +Package: kernel-image-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard @@ -6940,533 +6940,533 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: nic-modules-5.10.0-26-4kc-malta-di +Package: nic-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, nic-shared-modules-5.10.0-26-4kc-malta-di, i2c-modules-5.10.0-26-4kc-malta-di, crc-modules-5.10.0-26-4kc-malta-di, mtd-core-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, nic-shared-modules-5.10.0-27-4kc-malta-di, i2c-modules-5.10.0-27-4kc-malta-di, crc-modules-5.10.0-27-4kc-malta-di, mtd-core-modules-5.10.0-27-4kc-malta-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: nic-wireless-modules-5.10.0-26-4kc-malta-di +Package: nic-wireless-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, nic-shared-modules-5.10.0-26-4kc-malta-di, usb-modules-5.10.0-26-4kc-malta-di, mmc-core-modules-5.10.0-26-4kc-malta-di, crc-modules-5.10.0-26-4kc-malta-di, crypto-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, nic-shared-modules-5.10.0-27-4kc-malta-di, usb-modules-5.10.0-27-4kc-malta-di, mmc-core-modules-5.10.0-27-4kc-malta-di, crc-modules-5.10.0-27-4kc-malta-di, crypto-modules-5.10.0-27-4kc-malta-di Description: Wireless NIC drivers This package contains wireless NIC drivers for the kernel. Includes crypto modules only needed for wireless (WEP, WPA). Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-4kc-malta-di +Package: nic-shared-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: usb-serial-modules-5.10.0-26-4kc-malta-di +Package: usb-serial-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, usb-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, usb-modules-5.10.0-27-4kc-malta-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: ppp-modules-5.10.0-26-4kc-malta-di +Package: ppp-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, crc-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, crc-modules-5.10.0-27-4kc-malta-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: pata-modules-5.10.0-26-4kc-malta-di +Package: pata-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, ata-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, ata-modules-5.10.0-27-4kc-malta-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: cdrom-core-modules-5.10.0-26-4kc-malta-di +Package: cdrom-core-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, scsi-core-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, scsi-core-modules-5.10.0-27-4kc-malta-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: scsi-core-modules-5.10.0-26-4kc-malta-di +Package: scsi-core-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: scsi-modules-5.10.0-26-4kc-malta-di +Package: scsi-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, scsi-core-modules-5.10.0-26-4kc-malta-di, cdrom-core-modules-5.10.0-26-4kc-malta-di, ata-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, scsi-core-modules-5.10.0-27-4kc-malta-di, cdrom-core-modules-5.10.0-27-4kc-malta-di, ata-modules-5.10.0-27-4kc-malta-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: scsi-nic-modules-5.10.0-26-4kc-malta-di +Package: scsi-nic-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-5.10.0-26-4kc-malta-di, nic-modules-5.10.0-26-4kc-malta-di +Depends: scsi-modules-5.10.0-27-4kc-malta-di, nic-modules-5.10.0-27-4kc-malta-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: loop-modules-5.10.0-26-4kc-malta-di +Package: loop-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: btrfs-modules-5.10.0-26-4kc-malta-di +Package: btrfs-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, crc-modules-5.10.0-26-4kc-malta-di, md-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, crc-modules-5.10.0-27-4kc-malta-di, md-modules-5.10.0-27-4kc-malta-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: ext4-modules-5.10.0-26-4kc-malta-di +Package: ext4-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, crc-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, crc-modules-5.10.0-27-4kc-malta-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: isofs-modules-5.10.0-26-4kc-malta-di +Package: isofs-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, cdrom-core-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, cdrom-core-modules-5.10.0-27-4kc-malta-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: jfs-modules-5.10.0-26-4kc-malta-di +Package: jfs-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: xfs-modules-5.10.0-26-4kc-malta-di +Package: xfs-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, crc-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, crc-modules-5.10.0-27-4kc-malta-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: fat-modules-5.10.0-26-4kc-malta-di +Package: fat-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: affs-modules-5.10.0-26-4kc-malta-di +Package: affs-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: affs-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di Description: Amiga filesystem support This package contains the Amiga filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: minix-modules-5.10.0-26-4kc-malta-di +Package: minix-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: minix-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di Description: Minix filesystem support This package contains the Minix filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: squashfs-modules-5.10.0-26-4kc-malta-di +Package: squashfs-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: udf-modules-5.10.0-26-4kc-malta-di +Package: udf-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, crc-modules-5.10.0-26-4kc-malta-di, cdrom-core-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, crc-modules-5.10.0-27-4kc-malta-di, cdrom-core-modules-5.10.0-27-4kc-malta-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: fuse-modules-5.10.0-26-4kc-malta-di +Package: fuse-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: f2fs-modules-5.10.0-26-4kc-malta-di +Package: f2fs-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, crc-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, crc-modules-5.10.0-27-4kc-malta-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: md-modules-5.10.0-26-4kc-malta-di +Package: md-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, crc-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, crc-modules-5.10.0-27-4kc-malta-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: multipath-modules-5.10.0-26-4kc-malta-di +Package: multipath-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, md-modules-5.10.0-26-4kc-malta-di, scsi-core-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, md-modules-5.10.0-27-4kc-malta-di, scsi-core-modules-5.10.0-27-4kc-malta-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: usb-modules-5.10.0-26-4kc-malta-di +Package: usb-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: usb-storage-modules-5.10.0-26-4kc-malta-di +Package: usb-storage-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, scsi-core-modules-5.10.0-26-4kc-malta-di, usb-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, scsi-core-modules-5.10.0-27-4kc-malta-di, usb-modules-5.10.0-27-4kc-malta-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: fb-modules-5.10.0-26-4kc-malta-di +Package: fb-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, i2c-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, i2c-modules-5.10.0-27-4kc-malta-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: input-modules-5.10.0-26-4kc-malta-di +Package: input-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, usb-modules-5.10.0-26-4kc-malta-di, i2c-modules-5.10.0-26-4kc-malta-di, crc-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, usb-modules-5.10.0-27-4kc-malta-di, i2c-modules-5.10.0-27-4kc-malta-di, crc-modules-5.10.0-27-4kc-malta-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: event-modules-5.10.0-26-4kc-malta-di +Package: event-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: mouse-modules-5.10.0-26-4kc-malta-di +Package: mouse-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, event-modules-5.10.0-26-4kc-malta-di, input-modules-5.10.0-26-4kc-malta-di, usb-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, event-modules-5.10.0-27-4kc-malta-di, input-modules-5.10.0-27-4kc-malta-di, usb-modules-5.10.0-27-4kc-malta-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: nic-usb-modules-5.10.0-26-4kc-malta-di +Package: nic-usb-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, nic-shared-modules-5.10.0-26-4kc-malta-di, nic-wireless-modules-5.10.0-26-4kc-malta-di, usb-modules-5.10.0-26-4kc-malta-di, crc-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, nic-shared-modules-5.10.0-27-4kc-malta-di, nic-wireless-modules-5.10.0-27-4kc-malta-di, usb-modules-5.10.0-27-4kc-malta-di, crc-modules-5.10.0-27-4kc-malta-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: sata-modules-5.10.0-26-4kc-malta-di +Package: sata-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, scsi-core-modules-5.10.0-26-4kc-malta-di, ata-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, scsi-core-modules-5.10.0-27-4kc-malta-di, ata-modules-5.10.0-27-4kc-malta-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: i2c-modules-5.10.0-26-4kc-malta-di +Package: i2c-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: crc-modules-5.10.0-26-4kc-malta-di +Package: crc-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: crypto-modules-5.10.0-26-4kc-malta-di +Package: crypto-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-4kc-malta-di +Package: crypto-dm-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, md-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, md-modules-5.10.0-27-4kc-malta-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: ata-modules-5.10.0-26-4kc-malta-di +Package: ata-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, scsi-core-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, scsi-core-modules-5.10.0-27-4kc-malta-di Description: ATA disk modules This package contains core ATA disk modules used by both PATA and SATA disk drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: mmc-core-modules-5.10.0-26-4kc-malta-di +Package: mmc-core-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: mmc-core-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di Description: MMC/SD/SDIO core modules This package contains core modules for MMC/SD/SDIO support. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: mmc-modules-5.10.0-26-4kc-malta-di +Package: mmc-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: mmc-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, mmc-core-modules-5.10.0-26-4kc-malta-di, usb-modules-5.10.0-26-4kc-malta-di, crc-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, mmc-core-modules-5.10.0-27-4kc-malta-di, usb-modules-5.10.0-27-4kc-malta-di, crc-modules-5.10.0-27-4kc-malta-di Description: MMC/SD card modules This package contains modules needed to support MMC (multimedia) and SD cards. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: nbd-modules-5.10.0-26-4kc-malta-di +Package: nbd-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: sound-modules-5.10.0-26-4kc-malta-di +Package: sound-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: sound-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di, i2c-modules-5.10.0-26-4kc-malta-di, usb-modules-5.10.0-26-4kc-malta-di, crc-modules-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di, i2c-modules-5.10.0-27-4kc-malta-di, usb-modules-5.10.0-27-4kc-malta-di, crc-modules-5.10.0-27-4kc-malta-di Description: sound support This package contains sound modules. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: mtd-core-modules-5.10.0-26-4kc-malta-di +Package: mtd-core-modules-5.10.0-27-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-5.10.0-26-4kc-malta-di +Depends: kernel-image-5.10.0-27-4kc-malta-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 5.10.0-26-4kc-malta +Kernel-Version: 5.10.0-27-4kc-malta Package-Type: udeb -Package: kernel-image-5.10.0-26-octeon-di +Package: kernel-image-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard @@ -7476,461 +7476,461 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: nic-modules-5.10.0-26-octeon-di +Package: nic-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-5.10.0-26-octeon-di, nic-shared-modules-5.10.0-26-octeon-di, crc-modules-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di, nic-shared-modules-5.10.0-27-octeon-di, crc-modules-5.10.0-27-octeon-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: nic-wireless-modules-5.10.0-26-octeon-di +Package: nic-wireless-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-5.10.0-26-octeon-di, nic-shared-modules-5.10.0-26-octeon-di, usb-modules-5.10.0-26-octeon-di, crc-modules-5.10.0-26-octeon-di, crypto-modules-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di, nic-shared-modules-5.10.0-27-octeon-di, usb-modules-5.10.0-27-octeon-di, crc-modules-5.10.0-27-octeon-di, crypto-modules-5.10.0-27-octeon-di Description: Wireless NIC drivers This package contains wireless NIC drivers for the kernel. Includes crypto modules only needed for wireless (WEP, WPA). Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-octeon-di +Package: nic-shared-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: usb-serial-modules-5.10.0-26-octeon-di +Package: usb-serial-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-5.10.0-26-octeon-di, usb-modules-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di, usb-modules-5.10.0-27-octeon-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: ppp-modules-5.10.0-26-octeon-di +Package: ppp-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-5.10.0-26-octeon-di, crc-modules-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di, crc-modules-5.10.0-27-octeon-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: pata-modules-5.10.0-26-octeon-di +Package: pata-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: cdrom-core-modules-5.10.0-26-octeon-di +Package: cdrom-core-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-5.10.0-26-octeon-di, scsi-core-modules-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di, scsi-core-modules-5.10.0-27-octeon-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: scsi-core-modules-5.10.0-26-octeon-di +Package: scsi-core-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: scsi-modules-5.10.0-26-octeon-di +Package: scsi-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-5.10.0-26-octeon-di, scsi-core-modules-5.10.0-26-octeon-di, cdrom-core-modules-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di, scsi-core-modules-5.10.0-27-octeon-di, cdrom-core-modules-5.10.0-27-octeon-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: scsi-nic-modules-5.10.0-26-octeon-di +Package: scsi-nic-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-5.10.0-26-octeon-di, nic-modules-5.10.0-26-octeon-di +Depends: scsi-modules-5.10.0-27-octeon-di, nic-modules-5.10.0-27-octeon-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: loop-modules-5.10.0-26-octeon-di +Package: loop-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: btrfs-modules-5.10.0-26-octeon-di +Package: btrfs-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-octeon-di, crc-modules-5.10.0-26-octeon-di, md-modules-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di, crc-modules-5.10.0-27-octeon-di, md-modules-5.10.0-27-octeon-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: ext4-modules-5.10.0-26-octeon-di +Package: ext4-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-octeon-di, crc-modules-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di, crc-modules-5.10.0-27-octeon-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: isofs-modules-5.10.0-26-octeon-di +Package: isofs-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-octeon-di, cdrom-core-modules-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di, cdrom-core-modules-5.10.0-27-octeon-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: jfs-modules-5.10.0-26-octeon-di +Package: jfs-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: xfs-modules-5.10.0-26-octeon-di +Package: xfs-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-5.10.0-26-octeon-di, crc-modules-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di, crc-modules-5.10.0-27-octeon-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: fat-modules-5.10.0-26-octeon-di +Package: fat-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: affs-modules-5.10.0-26-octeon-di +Package: affs-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: affs-modules -Depends: kernel-image-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di Description: Amiga filesystem support This package contains the Amiga filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: minix-modules-5.10.0-26-octeon-di +Package: minix-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: minix-modules -Depends: kernel-image-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di Description: Minix filesystem support This package contains the Minix filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: squashfs-modules-5.10.0-26-octeon-di +Package: squashfs-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: udf-modules-5.10.0-26-octeon-di +Package: udf-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-octeon-di, crc-modules-5.10.0-26-octeon-di, cdrom-core-modules-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di, crc-modules-5.10.0-27-octeon-di, cdrom-core-modules-5.10.0-27-octeon-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: fuse-modules-5.10.0-26-octeon-di +Package: fuse-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: f2fs-modules-5.10.0-26-octeon-di +Package: f2fs-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-octeon-di, crc-modules-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di, crc-modules-5.10.0-27-octeon-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: md-modules-5.10.0-26-octeon-di +Package: md-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-octeon-di, crc-modules-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di, crc-modules-5.10.0-27-octeon-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: multipath-modules-5.10.0-26-octeon-di +Package: multipath-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-octeon-di, md-modules-5.10.0-26-octeon-di, scsi-core-modules-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di, md-modules-5.10.0-27-octeon-di, scsi-core-modules-5.10.0-27-octeon-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: usb-modules-5.10.0-26-octeon-di +Package: usb-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: usb-storage-modules-5.10.0-26-octeon-di +Package: usb-storage-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-5.10.0-26-octeon-di, scsi-core-modules-5.10.0-26-octeon-di, usb-modules-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di, scsi-core-modules-5.10.0-27-octeon-di, usb-modules-5.10.0-27-octeon-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: input-modules-5.10.0-26-octeon-di +Package: input-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-5.10.0-26-octeon-di, usb-modules-5.10.0-26-octeon-di, crc-modules-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di, usb-modules-5.10.0-27-octeon-di, crc-modules-5.10.0-27-octeon-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: event-modules-5.10.0-26-octeon-di +Package: event-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: nic-usb-modules-5.10.0-26-octeon-di +Package: nic-usb-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-5.10.0-26-octeon-di, nic-shared-modules-5.10.0-26-octeon-di, nic-wireless-modules-5.10.0-26-octeon-di, usb-modules-5.10.0-26-octeon-di, crc-modules-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di, nic-shared-modules-5.10.0-27-octeon-di, nic-wireless-modules-5.10.0-27-octeon-di, usb-modules-5.10.0-27-octeon-di, crc-modules-5.10.0-27-octeon-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: sata-modules-5.10.0-26-octeon-di +Package: sata-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-5.10.0-26-octeon-di, scsi-core-modules-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di, scsi-core-modules-5.10.0-27-octeon-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: crc-modules-5.10.0-26-octeon-di +Package: crc-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: crypto-modules-5.10.0-26-octeon-di +Package: crypto-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-octeon-di +Package: crypto-dm-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-octeon-di, md-modules-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di, md-modules-5.10.0-27-octeon-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: nbd-modules-5.10.0-26-octeon-di +Package: nbd-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: rtc-modules-5.10.0-26-octeon-di +Package: rtc-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: rtc-modules -Depends: kernel-image-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di Description: RTC modules This package contains RTC modules. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: sound-modules-5.10.0-26-octeon-di +Package: sound-modules-5.10.0-27-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: sound-modules -Depends: kernel-image-5.10.0-26-octeon-di, usb-modules-5.10.0-26-octeon-di, crc-modules-5.10.0-26-octeon-di +Depends: kernel-image-5.10.0-27-octeon-di, usb-modules-5.10.0-27-octeon-di, crc-modules-5.10.0-27-octeon-di Description: sound support This package contains sound modules. Build-Profiles: -Kernel-Version: 5.10.0-26-octeon +Kernel-Version: 5.10.0-27-octeon Package-Type: udeb -Package: linux-image-5.10.0-26-4kc-malta +Package: linux-image-5.10.0-27-4kc-malta Architecture: mips mipsel -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mips mipsel] | linux-initramfs-tool [mips mipsel] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mips mipsel] | linux-initramfs-tool [mips mipsel] Recommends: firmware-linux-free, apparmor [mips mipsel] Suggests: linux-doc-5.10, debian-kernel-handbook Breaks: fwupdate (<< 12-7) [mips], wireless-regdb (<< 2019.06.03-1~) [mips], initramfs-tools (<< 0.120+deb8u2) @@ -7938,22 +7938,22 @@ The Linux kernel 5.10 and modules for use on MIPS Malta boards. Build-Profiles: -Package: linux-headers-5.10.0-26-4kc-malta +Package: linux-headers-5.10.0-27-4kc-malta Architecture: mips mipsel -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-4kc-malta +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-4kc-malta This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-4kc-malta, generally used for building out-of-tree + Linux kernel 5.10.0-27-4kc-malta, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-4kc-malta, and can be used for building + /usr/src/linux-headers-5.10.0-27-4kc-malta, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-4kc-malta package. + linux-image-5.10.0-27-4kc-malta package. Build-Profiles: Package: linux-image-4kc-malta Architecture: mips mipsel -Provides: linux-latest-modules-5.10.0-26-4kc-malta, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] -Depends: linux-image-5.10.0-26-4kc-malta (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-4kc-malta, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] +Depends: linux-image-5.10.0-27-4kc-malta (= ${binary:Version}), ${misc:Depends} Description: Linux for MIPS Malta (meta-package) This package depends on the latest Linux kernel and modules for use on MIPS Malta boards. @@ -7961,34 +7961,34 @@ Package: linux-headers-4kc-malta Architecture: mips mipsel -Depends: linux-headers-5.10.0-26-4kc-malta (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-4kc-malta (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux 4kc-malta configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel 4kc-malta configuration. Build-Profiles: -Package: linux-image-5.10.0-26-4kc-malta-dbg +Package: linux-image-5.10.0-27-4kc-malta-dbg Architecture: mips mipsel Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-4kc-malta +Description: Debug symbols for linux-image-5.10.0-27-4kc-malta This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-4kc-malta. + modules in linux-image-5.10.0-27-4kc-malta. Build-Profiles: Package: linux-image-4kc-malta-dbg Architecture: mips mipsel Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-4kc-malta-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-4kc-malta-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux 4kc-malta configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel 4kc-malta configuration. Build-Profiles: -Package: linux-image-5.10.0-26-5kc-malta +Package: linux-image-5.10.0-27-5kc-malta Architecture: mips mips64 mips64el mipsel -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mips mips64 mips64el mipsel] | linux-initramfs-tool [mips mips64 mips64el mipsel] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mips mips64 mips64el mipsel] | linux-initramfs-tool [mips mips64 mips64el mipsel] Recommends: firmware-linux-free, apparmor [mips mips64 mips64el mipsel] Suggests: linux-doc-5.10, debian-kernel-handbook Breaks: fwupdate (<< 12-7) [mips], wireless-regdb (<< 2019.06.03-1~) [mips], initramfs-tools (<< 0.120+deb8u2) @@ -7996,22 +7996,22 @@ The Linux kernel 5.10 and modules for use on MIPS Malta boards (64-bit). Build-Profiles: -Package: linux-headers-5.10.0-26-5kc-malta +Package: linux-headers-5.10.0-27-5kc-malta Architecture: mips mips64 mips64el mipsel -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-5kc-malta +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-5kc-malta This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-5kc-malta, generally used for building out-of-tree + Linux kernel 5.10.0-27-5kc-malta, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-5kc-malta, and can be used for building + /usr/src/linux-headers-5.10.0-27-5kc-malta, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-5kc-malta package. + linux-image-5.10.0-27-5kc-malta package. Build-Profiles: Package: linux-image-5kc-malta Architecture: mips mips64 mips64el mipsel -Provides: linux-latest-modules-5.10.0-26-5kc-malta, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] -Depends: linux-image-5.10.0-26-5kc-malta (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-5kc-malta, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] +Depends: linux-image-5.10.0-27-5kc-malta (= ${binary:Version}), ${misc:Depends} Description: Linux for MIPS Malta (64-bit) (meta-package) This package depends on the latest Linux kernel and modules for use on MIPS Malta boards (64-bit). @@ -8019,34 +8019,34 @@ Package: linux-headers-5kc-malta Architecture: mips mips64 mips64el mipsel -Depends: linux-headers-5.10.0-26-5kc-malta (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-5kc-malta (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux 5kc-malta configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel 5kc-malta configuration. Build-Profiles: -Package: linux-image-5.10.0-26-5kc-malta-dbg +Package: linux-image-5.10.0-27-5kc-malta-dbg Architecture: mips mips64 mips64el mipsel Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-5kc-malta +Description: Debug symbols for linux-image-5.10.0-27-5kc-malta This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-5kc-malta. + modules in linux-image-5.10.0-27-5kc-malta. Build-Profiles: Package: linux-image-5kc-malta-dbg Architecture: mips mips64 mips64el mipsel Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-5kc-malta-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-5kc-malta-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux 5kc-malta configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel 5kc-malta configuration. Build-Profiles: -Package: linux-image-5.10.0-26-octeon +Package: linux-image-5.10.0-27-octeon Architecture: mips mips64 mips64el mipsel -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mips mips64 mips64el mipsel] | linux-initramfs-tool [mips mips64 mips64el mipsel] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mips mips64 mips64el mipsel] | linux-initramfs-tool [mips mips64 mips64el mipsel] Recommends: firmware-linux-free, apparmor [mips mips64 mips64el mipsel] Suggests: linux-doc-5.10, debian-kernel-handbook Breaks: fwupdate (<< 12-7) [mips], wireless-regdb (<< 2019.06.03-1~) [mips], initramfs-tools (<< 0.120+deb8u2) @@ -8054,22 +8054,22 @@ The Linux kernel 5.10 and modules for use on Cavium Networks Octeon. Build-Profiles: -Package: linux-headers-5.10.0-26-octeon +Package: linux-headers-5.10.0-27-octeon Architecture: mips mips64 mips64el mipsel -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-octeon +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-octeon This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-octeon, generally used for building out-of-tree + Linux kernel 5.10.0-27-octeon, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-octeon, and can be used for building + /usr/src/linux-headers-5.10.0-27-octeon, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-octeon package. + linux-image-5.10.0-27-octeon package. Build-Profiles: Package: linux-image-octeon Architecture: mips mips64 mips64el mipsel -Provides: linux-latest-modules-5.10.0-26-octeon, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] -Depends: linux-image-5.10.0-26-octeon (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-octeon, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] +Depends: linux-image-5.10.0-27-octeon (= ${binary:Version}), ${misc:Depends} Description: Linux for Octeon (meta-package) This package depends on the latest Linux kernel and modules for use on Cavium Networks Octeon. @@ -8077,32 +8077,32 @@ Package: linux-headers-octeon Architecture: mips mips64 mips64el mipsel -Depends: linux-headers-5.10.0-26-octeon (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-octeon (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux octeon configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel octeon configuration. Build-Profiles: -Package: linux-image-5.10.0-26-octeon-dbg +Package: linux-image-5.10.0-27-octeon-dbg Architecture: mips mips64 mips64el mipsel Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-octeon +Description: Debug symbols for linux-image-5.10.0-27-octeon This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-octeon. + modules in linux-image-5.10.0-27-octeon. Build-Profiles: Package: linux-image-octeon-dbg Architecture: mips mips64 mips64el mipsel Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-octeon-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-octeon-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux octeon configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel octeon configuration. Build-Profiles: -Package: kernel-image-5.10.0-26-5kc-malta-di +Package: kernel-image-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard @@ -8112,533 +8112,533 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: nic-modules-5.10.0-26-5kc-malta-di +Package: nic-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, nic-shared-modules-5.10.0-26-5kc-malta-di, i2c-modules-5.10.0-26-5kc-malta-di, crc-modules-5.10.0-26-5kc-malta-di, mtd-core-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, nic-shared-modules-5.10.0-27-5kc-malta-di, i2c-modules-5.10.0-27-5kc-malta-di, crc-modules-5.10.0-27-5kc-malta-di, mtd-core-modules-5.10.0-27-5kc-malta-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: nic-wireless-modules-5.10.0-26-5kc-malta-di +Package: nic-wireless-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, nic-shared-modules-5.10.0-26-5kc-malta-di, usb-modules-5.10.0-26-5kc-malta-di, mmc-core-modules-5.10.0-26-5kc-malta-di, crc-modules-5.10.0-26-5kc-malta-di, crypto-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, nic-shared-modules-5.10.0-27-5kc-malta-di, usb-modules-5.10.0-27-5kc-malta-di, mmc-core-modules-5.10.0-27-5kc-malta-di, crc-modules-5.10.0-27-5kc-malta-di, crypto-modules-5.10.0-27-5kc-malta-di Description: Wireless NIC drivers This package contains wireless NIC drivers for the kernel. Includes crypto modules only needed for wireless (WEP, WPA). Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-5kc-malta-di +Package: nic-shared-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: usb-serial-modules-5.10.0-26-5kc-malta-di +Package: usb-serial-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, usb-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, usb-modules-5.10.0-27-5kc-malta-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: ppp-modules-5.10.0-26-5kc-malta-di +Package: ppp-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, crc-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, crc-modules-5.10.0-27-5kc-malta-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: pata-modules-5.10.0-26-5kc-malta-di +Package: pata-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, ata-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, ata-modules-5.10.0-27-5kc-malta-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: cdrom-core-modules-5.10.0-26-5kc-malta-di +Package: cdrom-core-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, scsi-core-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, scsi-core-modules-5.10.0-27-5kc-malta-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: scsi-core-modules-5.10.0-26-5kc-malta-di +Package: scsi-core-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: scsi-modules-5.10.0-26-5kc-malta-di +Package: scsi-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, scsi-core-modules-5.10.0-26-5kc-malta-di, cdrom-core-modules-5.10.0-26-5kc-malta-di, ata-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, scsi-core-modules-5.10.0-27-5kc-malta-di, cdrom-core-modules-5.10.0-27-5kc-malta-di, ata-modules-5.10.0-27-5kc-malta-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: scsi-nic-modules-5.10.0-26-5kc-malta-di +Package: scsi-nic-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-5.10.0-26-5kc-malta-di, nic-modules-5.10.0-26-5kc-malta-di +Depends: scsi-modules-5.10.0-27-5kc-malta-di, nic-modules-5.10.0-27-5kc-malta-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: loop-modules-5.10.0-26-5kc-malta-di +Package: loop-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: btrfs-modules-5.10.0-26-5kc-malta-di +Package: btrfs-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, crc-modules-5.10.0-26-5kc-malta-di, md-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, crc-modules-5.10.0-27-5kc-malta-di, md-modules-5.10.0-27-5kc-malta-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: ext4-modules-5.10.0-26-5kc-malta-di +Package: ext4-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, crc-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, crc-modules-5.10.0-27-5kc-malta-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: isofs-modules-5.10.0-26-5kc-malta-di +Package: isofs-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, cdrom-core-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, cdrom-core-modules-5.10.0-27-5kc-malta-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: jfs-modules-5.10.0-26-5kc-malta-di +Package: jfs-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: xfs-modules-5.10.0-26-5kc-malta-di +Package: xfs-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, crc-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, crc-modules-5.10.0-27-5kc-malta-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: fat-modules-5.10.0-26-5kc-malta-di +Package: fat-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: affs-modules-5.10.0-26-5kc-malta-di +Package: affs-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: affs-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di Description: Amiga filesystem support This package contains the Amiga filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: minix-modules-5.10.0-26-5kc-malta-di +Package: minix-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: minix-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di Description: Minix filesystem support This package contains the Minix filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: squashfs-modules-5.10.0-26-5kc-malta-di +Package: squashfs-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: udf-modules-5.10.0-26-5kc-malta-di +Package: udf-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, crc-modules-5.10.0-26-5kc-malta-di, cdrom-core-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, crc-modules-5.10.0-27-5kc-malta-di, cdrom-core-modules-5.10.0-27-5kc-malta-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: fuse-modules-5.10.0-26-5kc-malta-di +Package: fuse-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: f2fs-modules-5.10.0-26-5kc-malta-di +Package: f2fs-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, crc-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, crc-modules-5.10.0-27-5kc-malta-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: md-modules-5.10.0-26-5kc-malta-di +Package: md-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, crc-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, crc-modules-5.10.0-27-5kc-malta-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: multipath-modules-5.10.0-26-5kc-malta-di +Package: multipath-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, md-modules-5.10.0-26-5kc-malta-di, scsi-core-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, md-modules-5.10.0-27-5kc-malta-di, scsi-core-modules-5.10.0-27-5kc-malta-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: usb-modules-5.10.0-26-5kc-malta-di +Package: usb-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: usb-storage-modules-5.10.0-26-5kc-malta-di +Package: usb-storage-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, scsi-core-modules-5.10.0-26-5kc-malta-di, usb-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, scsi-core-modules-5.10.0-27-5kc-malta-di, usb-modules-5.10.0-27-5kc-malta-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: fb-modules-5.10.0-26-5kc-malta-di +Package: fb-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, i2c-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, i2c-modules-5.10.0-27-5kc-malta-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: input-modules-5.10.0-26-5kc-malta-di +Package: input-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, usb-modules-5.10.0-26-5kc-malta-di, i2c-modules-5.10.0-26-5kc-malta-di, crc-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, usb-modules-5.10.0-27-5kc-malta-di, i2c-modules-5.10.0-27-5kc-malta-di, crc-modules-5.10.0-27-5kc-malta-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: event-modules-5.10.0-26-5kc-malta-di +Package: event-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: mouse-modules-5.10.0-26-5kc-malta-di +Package: mouse-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, event-modules-5.10.0-26-5kc-malta-di, input-modules-5.10.0-26-5kc-malta-di, usb-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, event-modules-5.10.0-27-5kc-malta-di, input-modules-5.10.0-27-5kc-malta-di, usb-modules-5.10.0-27-5kc-malta-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: nic-usb-modules-5.10.0-26-5kc-malta-di +Package: nic-usb-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, nic-shared-modules-5.10.0-26-5kc-malta-di, nic-wireless-modules-5.10.0-26-5kc-malta-di, usb-modules-5.10.0-26-5kc-malta-di, crc-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, nic-shared-modules-5.10.0-27-5kc-malta-di, nic-wireless-modules-5.10.0-27-5kc-malta-di, usb-modules-5.10.0-27-5kc-malta-di, crc-modules-5.10.0-27-5kc-malta-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: sata-modules-5.10.0-26-5kc-malta-di +Package: sata-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, scsi-core-modules-5.10.0-26-5kc-malta-di, ata-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, scsi-core-modules-5.10.0-27-5kc-malta-di, ata-modules-5.10.0-27-5kc-malta-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: i2c-modules-5.10.0-26-5kc-malta-di +Package: i2c-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: crc-modules-5.10.0-26-5kc-malta-di +Package: crc-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: crypto-modules-5.10.0-26-5kc-malta-di +Package: crypto-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-5kc-malta-di +Package: crypto-dm-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, md-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, md-modules-5.10.0-27-5kc-malta-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: ata-modules-5.10.0-26-5kc-malta-di +Package: ata-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, scsi-core-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, scsi-core-modules-5.10.0-27-5kc-malta-di Description: ATA disk modules This package contains core ATA disk modules used by both PATA and SATA disk drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: mmc-core-modules-5.10.0-26-5kc-malta-di +Package: mmc-core-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: mmc-core-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di Description: MMC/SD/SDIO core modules This package contains core modules for MMC/SD/SDIO support. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: mmc-modules-5.10.0-26-5kc-malta-di +Package: mmc-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: mmc-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, mmc-core-modules-5.10.0-26-5kc-malta-di, usb-modules-5.10.0-26-5kc-malta-di, crc-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, mmc-core-modules-5.10.0-27-5kc-malta-di, usb-modules-5.10.0-27-5kc-malta-di, crc-modules-5.10.0-27-5kc-malta-di Description: MMC/SD card modules This package contains modules needed to support MMC (multimedia) and SD cards. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: nbd-modules-5.10.0-26-5kc-malta-di +Package: nbd-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: sound-modules-5.10.0-26-5kc-malta-di +Package: sound-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: sound-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di, i2c-modules-5.10.0-26-5kc-malta-di, usb-modules-5.10.0-26-5kc-malta-di, crc-modules-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di, i2c-modules-5.10.0-27-5kc-malta-di, usb-modules-5.10.0-27-5kc-malta-di, crc-modules-5.10.0-27-5kc-malta-di Description: sound support This package contains sound modules. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: mtd-core-modules-5.10.0-26-5kc-malta-di +Package: mtd-core-modules-5.10.0-27-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-5.10.0-26-5kc-malta-di +Depends: kernel-image-5.10.0-27-5kc-malta-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 5.10.0-26-5kc-malta +Kernel-Version: 5.10.0-27-5kc-malta Package-Type: udeb -Package: kernel-image-5.10.0-26-loongson-3-di +Package: kernel-image-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard @@ -8648,522 +8648,522 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: nic-modules-5.10.0-26-loongson-3-di +Package: nic-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-5.10.0-26-loongson-3-di, nic-shared-modules-5.10.0-26-loongson-3-di, crc-modules-5.10.0-26-loongson-3-di, mtd-core-modules-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di, nic-shared-modules-5.10.0-27-loongson-3-di, crc-modules-5.10.0-27-loongson-3-di, mtd-core-modules-5.10.0-27-loongson-3-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: nic-wireless-modules-5.10.0-26-loongson-3-di +Package: nic-wireless-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-5.10.0-26-loongson-3-di, nic-shared-modules-5.10.0-26-loongson-3-di, usb-modules-5.10.0-26-loongson-3-di, crc-modules-5.10.0-26-loongson-3-di, crypto-modules-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di, nic-shared-modules-5.10.0-27-loongson-3-di, usb-modules-5.10.0-27-loongson-3-di, crc-modules-5.10.0-27-loongson-3-di, crypto-modules-5.10.0-27-loongson-3-di Description: Wireless NIC drivers This package contains wireless NIC drivers for the kernel. Includes crypto modules only needed for wireless (WEP, WPA). Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-loongson-3-di +Package: nic-shared-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: usb-serial-modules-5.10.0-26-loongson-3-di +Package: usb-serial-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-5.10.0-26-loongson-3-di, usb-modules-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di, usb-modules-5.10.0-27-loongson-3-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: ppp-modules-5.10.0-26-loongson-3-di +Package: ppp-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-5.10.0-26-loongson-3-di, crc-modules-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di, crc-modules-5.10.0-27-loongson-3-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: pata-modules-5.10.0-26-loongson-3-di +Package: pata-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-5.10.0-26-loongson-3-di, ata-modules-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di, ata-modules-5.10.0-27-loongson-3-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: cdrom-core-modules-5.10.0-26-loongson-3-di +Package: cdrom-core-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-5.10.0-26-loongson-3-di, scsi-core-modules-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di, scsi-core-modules-5.10.0-27-loongson-3-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: firewire-core-modules-5.10.0-26-loongson-3-di +Package: firewire-core-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: firewire-core-modules -Depends: kernel-image-5.10.0-26-loongson-3-di, scsi-core-modules-5.10.0-26-loongson-3-di, crc-modules-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di, scsi-core-modules-5.10.0-27-loongson-3-di, crc-modules-5.10.0-27-loongson-3-di Description: Core FireWire drivers This package contains core FireWire drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: scsi-core-modules-5.10.0-26-loongson-3-di +Package: scsi-core-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: scsi-modules-5.10.0-26-loongson-3-di +Package: scsi-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-5.10.0-26-loongson-3-di, scsi-core-modules-5.10.0-26-loongson-3-di, cdrom-core-modules-5.10.0-26-loongson-3-di, ata-modules-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di, scsi-core-modules-5.10.0-27-loongson-3-di, cdrom-core-modules-5.10.0-27-loongson-3-di, ata-modules-5.10.0-27-loongson-3-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: scsi-nic-modules-5.10.0-26-loongson-3-di +Package: scsi-nic-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-5.10.0-26-loongson-3-di, nic-modules-5.10.0-26-loongson-3-di +Depends: scsi-modules-5.10.0-27-loongson-3-di, nic-modules-5.10.0-27-loongson-3-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: loop-modules-5.10.0-26-loongson-3-di +Package: loop-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: btrfs-modules-5.10.0-26-loongson-3-di +Package: btrfs-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-loongson-3-di, crc-modules-5.10.0-26-loongson-3-di, md-modules-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di, crc-modules-5.10.0-27-loongson-3-di, md-modules-5.10.0-27-loongson-3-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: ext4-modules-5.10.0-26-loongson-3-di +Package: ext4-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-loongson-3-di, crc-modules-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di, crc-modules-5.10.0-27-loongson-3-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: isofs-modules-5.10.0-26-loongson-3-di +Package: isofs-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-loongson-3-di, cdrom-core-modules-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di, cdrom-core-modules-5.10.0-27-loongson-3-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: jfs-modules-5.10.0-26-loongson-3-di +Package: jfs-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: xfs-modules-5.10.0-26-loongson-3-di +Package: xfs-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-5.10.0-26-loongson-3-di, crc-modules-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di, crc-modules-5.10.0-27-loongson-3-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: fat-modules-5.10.0-26-loongson-3-di +Package: fat-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: affs-modules-5.10.0-26-loongson-3-di +Package: affs-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: affs-modules -Depends: kernel-image-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di Description: Amiga filesystem support This package contains the Amiga filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: minix-modules-5.10.0-26-loongson-3-di +Package: minix-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: minix-modules -Depends: kernel-image-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di Description: Minix filesystem support This package contains the Minix filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: nfs-modules-5.10.0-26-loongson-3-di +Package: nfs-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: nfs-modules -Depends: kernel-image-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di Description: NFS filesystem support This package contains the NFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: squashfs-modules-5.10.0-26-loongson-3-di +Package: squashfs-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: udf-modules-5.10.0-26-loongson-3-di +Package: udf-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-loongson-3-di, crc-modules-5.10.0-26-loongson-3-di, cdrom-core-modules-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di, crc-modules-5.10.0-27-loongson-3-di, cdrom-core-modules-5.10.0-27-loongson-3-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: fuse-modules-5.10.0-26-loongson-3-di +Package: fuse-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: f2fs-modules-5.10.0-26-loongson-3-di +Package: f2fs-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-loongson-3-di, crc-modules-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di, crc-modules-5.10.0-27-loongson-3-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: md-modules-5.10.0-26-loongson-3-di +Package: md-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-loongson-3-di, crc-modules-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di, crc-modules-5.10.0-27-loongson-3-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: multipath-modules-5.10.0-26-loongson-3-di +Package: multipath-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-loongson-3-di, md-modules-5.10.0-26-loongson-3-di, scsi-core-modules-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di, md-modules-5.10.0-27-loongson-3-di, scsi-core-modules-5.10.0-27-loongson-3-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: usb-modules-5.10.0-26-loongson-3-di +Package: usb-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: usb-storage-modules-5.10.0-26-loongson-3-di +Package: usb-storage-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-5.10.0-26-loongson-3-di, scsi-core-modules-5.10.0-26-loongson-3-di, usb-modules-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di, scsi-core-modules-5.10.0-27-loongson-3-di, usb-modules-5.10.0-27-loongson-3-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: fb-modules-5.10.0-26-loongson-3-di +Package: fb-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: input-modules-5.10.0-26-loongson-3-di +Package: input-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-5.10.0-26-loongson-3-di, usb-modules-5.10.0-26-loongson-3-di, crc-modules-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di, usb-modules-5.10.0-27-loongson-3-di, crc-modules-5.10.0-27-loongson-3-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: event-modules-5.10.0-26-loongson-3-di +Package: event-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: nic-usb-modules-5.10.0-26-loongson-3-di +Package: nic-usb-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-5.10.0-26-loongson-3-di, nic-shared-modules-5.10.0-26-loongson-3-di, nic-wireless-modules-5.10.0-26-loongson-3-di, usb-modules-5.10.0-26-loongson-3-di, crc-modules-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di, nic-shared-modules-5.10.0-27-loongson-3-di, nic-wireless-modules-5.10.0-27-loongson-3-di, usb-modules-5.10.0-27-loongson-3-di, crc-modules-5.10.0-27-loongson-3-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: sata-modules-5.10.0-26-loongson-3-di +Package: sata-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-5.10.0-26-loongson-3-di, scsi-core-modules-5.10.0-26-loongson-3-di, ata-modules-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di, scsi-core-modules-5.10.0-27-loongson-3-di, ata-modules-5.10.0-27-loongson-3-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: crc-modules-5.10.0-26-loongson-3-di +Package: crc-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: crypto-modules-5.10.0-26-loongson-3-di +Package: crypto-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-loongson-3-di +Package: crypto-dm-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-loongson-3-di, md-modules-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di, md-modules-5.10.0-27-loongson-3-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: ata-modules-5.10.0-26-loongson-3-di +Package: ata-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-5.10.0-26-loongson-3-di, scsi-core-modules-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di, scsi-core-modules-5.10.0-27-loongson-3-di Description: ATA disk modules This package contains core ATA disk modules used by both PATA and SATA disk drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: nbd-modules-5.10.0-26-loongson-3-di +Package: nbd-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: speakup-modules-5.10.0-26-loongson-3-di +Package: speakup-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: speakup-modules -Depends: kernel-image-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di Description: speakup modules This package contains speakup modules. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: sound-modules-5.10.0-26-loongson-3-di +Package: sound-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: sound-modules -Depends: kernel-image-5.10.0-26-loongson-3-di, usb-modules-5.10.0-26-loongson-3-di, firewire-core-modules-5.10.0-26-loongson-3-di, crc-modules-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di, usb-modules-5.10.0-27-loongson-3-di, firewire-core-modules-5.10.0-27-loongson-3-di, crc-modules-5.10.0-27-loongson-3-di Description: sound support This package contains sound modules. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: mtd-core-modules-5.10.0-26-loongson-3-di +Package: mtd-core-modules-5.10.0-27-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-5.10.0-26-loongson-3-di +Depends: kernel-image-5.10.0-27-loongson-3-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 5.10.0-26-loongson-3 +Kernel-Version: 5.10.0-27-loongson-3 Package-Type: udeb -Package: linux-image-5.10.0-26-loongson-3 +Package: linux-image-5.10.0-27-loongson-3 Architecture: mips64el mipsel -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mips64el mipsel] | linux-initramfs-tool [mips64el mipsel] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mips64el mipsel] | linux-initramfs-tool [mips64el mipsel] Recommends: firmware-linux-free, apparmor [mips64el mipsel] Suggests: linux-doc-5.10, debian-kernel-handbook Breaks: fwupdate (<< 12-7) [mips64el], wireless-regdb (<< 2019.06.03-1~) [mips64el], initramfs-tools (<< 0.120+deb8u2) @@ -9172,22 +9172,22 @@ systems (e.g. from Loongson or Lemote). Build-Profiles: -Package: linux-headers-5.10.0-26-loongson-3 +Package: linux-headers-5.10.0-27-loongson-3 Architecture: mips64el mipsel -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-loongson-3 +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-loongson-3 This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-loongson-3, generally used for building out-of-tree + Linux kernel 5.10.0-27-loongson-3, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-loongson-3, and can be used for building + /usr/src/linux-headers-5.10.0-27-loongson-3, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-loongson-3 package. + linux-image-5.10.0-27-loongson-3 package. Build-Profiles: Package: linux-image-loongson-3 Architecture: mips64el mipsel -Provides: linux-latest-modules-5.10.0-26-loongson-3, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] -Depends: linux-image-5.10.0-26-loongson-3 (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-loongson-3, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] +Depends: linux-image-5.10.0-27-loongson-3 (= ${binary:Version}), ${misc:Depends} Description: Linux for Loongson 3A/3B (meta-package) This package depends on the latest Linux kernel and modules for use on Loongson 3A or 3B based systems (e.g. from Loongson or Lemote). @@ -9195,32 +9195,32 @@ Package: linux-headers-loongson-3 Architecture: mips64el mipsel -Depends: linux-headers-5.10.0-26-loongson-3 (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-loongson-3 (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux loongson-3 configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel loongson-3 configuration. Build-Profiles: -Package: linux-image-5.10.0-26-loongson-3-dbg +Package: linux-image-5.10.0-27-loongson-3-dbg Architecture: mips64el mipsel Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-loongson-3 +Description: Debug symbols for linux-image-5.10.0-27-loongson-3 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-loongson-3. + modules in linux-image-5.10.0-27-loongson-3. Build-Profiles: Package: linux-image-loongson-3-dbg Architecture: mips64el mipsel Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-loongson-3-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-loongson-3-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux loongson-3 configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel loongson-3 configuration. Build-Profiles: -Package: kernel-image-5.10.0-26-mips64r6-di +Package: kernel-image-5.10.0-27-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: standard @@ -9230,219 +9230,219 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6 +Kernel-Version: 5.10.0-27-mips64r6 Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-mips64r6-di +Package: nic-shared-modules-5.10.0-27-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-mips64r6-di +Depends: kernel-image-5.10.0-27-mips64r6-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6 +Kernel-Version: 5.10.0-27-mips64r6 Package-Type: udeb -Package: loop-modules-5.10.0-26-mips64r6-di +Package: loop-modules-5.10.0-27-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-mips64r6-di +Depends: kernel-image-5.10.0-27-mips64r6-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6 +Kernel-Version: 5.10.0-27-mips64r6 Package-Type: udeb -Package: btrfs-modules-5.10.0-26-mips64r6-di +Package: btrfs-modules-5.10.0-27-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-mips64r6-di, crc-modules-5.10.0-26-mips64r6-di, md-modules-5.10.0-26-mips64r6-di +Depends: kernel-image-5.10.0-27-mips64r6-di, crc-modules-5.10.0-27-mips64r6-di, md-modules-5.10.0-27-mips64r6-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6 +Kernel-Version: 5.10.0-27-mips64r6 Package-Type: udeb -Package: ext4-modules-5.10.0-26-mips64r6-di +Package: ext4-modules-5.10.0-27-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-mips64r6-di, crc-modules-5.10.0-26-mips64r6-di +Depends: kernel-image-5.10.0-27-mips64r6-di, crc-modules-5.10.0-27-mips64r6-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6 +Kernel-Version: 5.10.0-27-mips64r6 Package-Type: udeb -Package: isofs-modules-5.10.0-26-mips64r6-di +Package: isofs-modules-5.10.0-27-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-mips64r6-di +Depends: kernel-image-5.10.0-27-mips64r6-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6 +Kernel-Version: 5.10.0-27-mips64r6 Package-Type: udeb -Package: jfs-modules-5.10.0-26-mips64r6-di +Package: jfs-modules-5.10.0-27-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-mips64r6-di +Depends: kernel-image-5.10.0-27-mips64r6-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6 +Kernel-Version: 5.10.0-27-mips64r6 Package-Type: udeb -Package: xfs-modules-5.10.0-26-mips64r6-di +Package: xfs-modules-5.10.0-27-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-5.10.0-26-mips64r6-di, crc-modules-5.10.0-26-mips64r6-di +Depends: kernel-image-5.10.0-27-mips64r6-di, crc-modules-5.10.0-27-mips64r6-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6 +Kernel-Version: 5.10.0-27-mips64r6 Package-Type: udeb -Package: squashfs-modules-5.10.0-26-mips64r6-di +Package: squashfs-modules-5.10.0-27-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-mips64r6-di +Depends: kernel-image-5.10.0-27-mips64r6-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6 +Kernel-Version: 5.10.0-27-mips64r6 Package-Type: udeb -Package: udf-modules-5.10.0-26-mips64r6-di +Package: udf-modules-5.10.0-27-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-mips64r6-di, crc-modules-5.10.0-26-mips64r6-di +Depends: kernel-image-5.10.0-27-mips64r6-di, crc-modules-5.10.0-27-mips64r6-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6 +Kernel-Version: 5.10.0-27-mips64r6 Package-Type: udeb -Package: fuse-modules-5.10.0-26-mips64r6-di +Package: fuse-modules-5.10.0-27-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-mips64r6-di +Depends: kernel-image-5.10.0-27-mips64r6-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6 +Kernel-Version: 5.10.0-27-mips64r6 Package-Type: udeb -Package: f2fs-modules-5.10.0-26-mips64r6-di +Package: f2fs-modules-5.10.0-27-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-mips64r6-di, crc-modules-5.10.0-26-mips64r6-di +Depends: kernel-image-5.10.0-27-mips64r6-di, crc-modules-5.10.0-27-mips64r6-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6 +Kernel-Version: 5.10.0-27-mips64r6 Package-Type: udeb -Package: md-modules-5.10.0-26-mips64r6-di +Package: md-modules-5.10.0-27-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-mips64r6-di, crc-modules-5.10.0-26-mips64r6-di +Depends: kernel-image-5.10.0-27-mips64r6-di, crc-modules-5.10.0-27-mips64r6-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6 +Kernel-Version: 5.10.0-27-mips64r6 Package-Type: udeb -Package: multipath-modules-5.10.0-26-mips64r6-di +Package: multipath-modules-5.10.0-27-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-mips64r6-di, md-modules-5.10.0-26-mips64r6-di +Depends: kernel-image-5.10.0-27-mips64r6-di, md-modules-5.10.0-27-mips64r6-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6 +Kernel-Version: 5.10.0-27-mips64r6 Package-Type: udeb -Package: crc-modules-5.10.0-26-mips64r6-di +Package: crc-modules-5.10.0-27-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-mips64r6-di +Depends: kernel-image-5.10.0-27-mips64r6-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6 +Kernel-Version: 5.10.0-27-mips64r6 Package-Type: udeb -Package: crypto-modules-5.10.0-26-mips64r6-di +Package: crypto-modules-5.10.0-27-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-mips64r6-di +Depends: kernel-image-5.10.0-27-mips64r6-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6 +Kernel-Version: 5.10.0-27-mips64r6 Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-mips64r6-di +Package: crypto-dm-modules-5.10.0-27-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-mips64r6-di, md-modules-5.10.0-26-mips64r6-di +Depends: kernel-image-5.10.0-27-mips64r6-di, md-modules-5.10.0-27-mips64r6-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6 +Kernel-Version: 5.10.0-27-mips64r6 Package-Type: udeb -Package: nbd-modules-5.10.0-26-mips64r6-di +Package: nbd-modules-5.10.0-27-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-mips64r6-di +Depends: kernel-image-5.10.0-27-mips64r6-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6 +Kernel-Version: 5.10.0-27-mips64r6 Package-Type: udeb -Package: linux-image-5.10.0-26-mips64r6 +Package: linux-image-5.10.0-27-mips64r6 Architecture: mips64r6 mipsr6 -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mips64r6 mipsr6] | linux-initramfs-tool [mips64r6 mipsr6] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mips64r6 mipsr6] | linux-initramfs-tool [mips64r6 mipsr6] Recommends: firmware-linux-free, apparmor [mips64r6 mipsr6] Suggests: linux-doc-5.10, debian-kernel-handbook Breaks: fwupdate (<< 12-7) [mips64r6], wireless-regdb (<< 2019.06.03-1~) [mips64r6], initramfs-tools (<< 0.120+deb8u2) @@ -9450,22 +9450,22 @@ The Linux kernel 5.10 and modules for use on MIPS R6 (64 bit, big endian). Build-Profiles: -Package: linux-headers-5.10.0-26-mips64r6 +Package: linux-headers-5.10.0-27-mips64r6 Architecture: mips64r6 mipsr6 -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-mips64r6 +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-mips64r6 This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-mips64r6, generally used for building out-of-tree + Linux kernel 5.10.0-27-mips64r6, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-mips64r6, and can be used for building + /usr/src/linux-headers-5.10.0-27-mips64r6, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-mips64r6 package. + linux-image-5.10.0-27-mips64r6 package. Build-Profiles: Package: linux-image-mips64r6 Architecture: mips64r6 mipsr6 -Provides: linux-latest-modules-5.10.0-26-mips64r6, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic -Depends: linux-image-5.10.0-26-mips64r6 (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-mips64r6, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic +Depends: linux-image-5.10.0-27-mips64r6 (= ${binary:Version}), ${misc:Depends} Description: Linux for MIPS R6 (64 bit, big endian) (meta-package) This package depends on the latest Linux kernel and modules for use on MIPS R6 (64 bit, big endian). @@ -9474,32 +9474,32 @@ Package: linux-headers-mips64r6 Architecture: mips64r6 mipsr6 Provides: linux-headers-generic -Depends: linux-headers-5.10.0-26-mips64r6 (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-mips64r6 (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux mips64r6 configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel mips64r6 configuration. Build-Profiles: -Package: linux-image-5.10.0-26-mips64r6-dbg +Package: linux-image-5.10.0-27-mips64r6-dbg Architecture: mips64r6 mipsr6 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-mips64r6 +Description: Debug symbols for linux-image-5.10.0-27-mips64r6 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-mips64r6. + modules in linux-image-5.10.0-27-mips64r6. Build-Profiles: Package: linux-image-mips64r6-dbg Architecture: mips64r6 mipsr6 Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-mips64r6-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-mips64r6-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux mips64r6 configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel mips64r6 configuration. Build-Profiles: -Package: kernel-image-5.10.0-26-mips64r6el-di +Package: kernel-image-5.10.0-27-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: standard @@ -9509,219 +9509,219 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6el +Kernel-Version: 5.10.0-27-mips64r6el Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-mips64r6el-di +Package: nic-shared-modules-5.10.0-27-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-mips64r6el-di +Depends: kernel-image-5.10.0-27-mips64r6el-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6el +Kernel-Version: 5.10.0-27-mips64r6el Package-Type: udeb -Package: loop-modules-5.10.0-26-mips64r6el-di +Package: loop-modules-5.10.0-27-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-mips64r6el-di +Depends: kernel-image-5.10.0-27-mips64r6el-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6el +Kernel-Version: 5.10.0-27-mips64r6el Package-Type: udeb -Package: btrfs-modules-5.10.0-26-mips64r6el-di +Package: btrfs-modules-5.10.0-27-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-mips64r6el-di, crc-modules-5.10.0-26-mips64r6el-di, md-modules-5.10.0-26-mips64r6el-di +Depends: kernel-image-5.10.0-27-mips64r6el-di, crc-modules-5.10.0-27-mips64r6el-di, md-modules-5.10.0-27-mips64r6el-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6el +Kernel-Version: 5.10.0-27-mips64r6el Package-Type: udeb -Package: ext4-modules-5.10.0-26-mips64r6el-di +Package: ext4-modules-5.10.0-27-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-mips64r6el-di, crc-modules-5.10.0-26-mips64r6el-di +Depends: kernel-image-5.10.0-27-mips64r6el-di, crc-modules-5.10.0-27-mips64r6el-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6el +Kernel-Version: 5.10.0-27-mips64r6el Package-Type: udeb -Package: isofs-modules-5.10.0-26-mips64r6el-di +Package: isofs-modules-5.10.0-27-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-mips64r6el-di +Depends: kernel-image-5.10.0-27-mips64r6el-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6el +Kernel-Version: 5.10.0-27-mips64r6el Package-Type: udeb -Package: jfs-modules-5.10.0-26-mips64r6el-di +Package: jfs-modules-5.10.0-27-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-mips64r6el-di +Depends: kernel-image-5.10.0-27-mips64r6el-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6el +Kernel-Version: 5.10.0-27-mips64r6el Package-Type: udeb -Package: xfs-modules-5.10.0-26-mips64r6el-di +Package: xfs-modules-5.10.0-27-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-5.10.0-26-mips64r6el-di, crc-modules-5.10.0-26-mips64r6el-di +Depends: kernel-image-5.10.0-27-mips64r6el-di, crc-modules-5.10.0-27-mips64r6el-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6el +Kernel-Version: 5.10.0-27-mips64r6el Package-Type: udeb -Package: squashfs-modules-5.10.0-26-mips64r6el-di +Package: squashfs-modules-5.10.0-27-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-mips64r6el-di +Depends: kernel-image-5.10.0-27-mips64r6el-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6el +Kernel-Version: 5.10.0-27-mips64r6el Package-Type: udeb -Package: udf-modules-5.10.0-26-mips64r6el-di +Package: udf-modules-5.10.0-27-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-mips64r6el-di, crc-modules-5.10.0-26-mips64r6el-di +Depends: kernel-image-5.10.0-27-mips64r6el-di, crc-modules-5.10.0-27-mips64r6el-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6el +Kernel-Version: 5.10.0-27-mips64r6el Package-Type: udeb -Package: fuse-modules-5.10.0-26-mips64r6el-di +Package: fuse-modules-5.10.0-27-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-mips64r6el-di +Depends: kernel-image-5.10.0-27-mips64r6el-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6el +Kernel-Version: 5.10.0-27-mips64r6el Package-Type: udeb -Package: f2fs-modules-5.10.0-26-mips64r6el-di +Package: f2fs-modules-5.10.0-27-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-mips64r6el-di, crc-modules-5.10.0-26-mips64r6el-di +Depends: kernel-image-5.10.0-27-mips64r6el-di, crc-modules-5.10.0-27-mips64r6el-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6el +Kernel-Version: 5.10.0-27-mips64r6el Package-Type: udeb -Package: md-modules-5.10.0-26-mips64r6el-di +Package: md-modules-5.10.0-27-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-mips64r6el-di, crc-modules-5.10.0-26-mips64r6el-di +Depends: kernel-image-5.10.0-27-mips64r6el-di, crc-modules-5.10.0-27-mips64r6el-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6el +Kernel-Version: 5.10.0-27-mips64r6el Package-Type: udeb -Package: multipath-modules-5.10.0-26-mips64r6el-di +Package: multipath-modules-5.10.0-27-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-mips64r6el-di, md-modules-5.10.0-26-mips64r6el-di +Depends: kernel-image-5.10.0-27-mips64r6el-di, md-modules-5.10.0-27-mips64r6el-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6el +Kernel-Version: 5.10.0-27-mips64r6el Package-Type: udeb -Package: crc-modules-5.10.0-26-mips64r6el-di +Package: crc-modules-5.10.0-27-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-mips64r6el-di +Depends: kernel-image-5.10.0-27-mips64r6el-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6el +Kernel-Version: 5.10.0-27-mips64r6el Package-Type: udeb -Package: crypto-modules-5.10.0-26-mips64r6el-di +Package: crypto-modules-5.10.0-27-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-mips64r6el-di +Depends: kernel-image-5.10.0-27-mips64r6el-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6el +Kernel-Version: 5.10.0-27-mips64r6el Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-mips64r6el-di +Package: crypto-dm-modules-5.10.0-27-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-mips64r6el-di, md-modules-5.10.0-26-mips64r6el-di +Depends: kernel-image-5.10.0-27-mips64r6el-di, md-modules-5.10.0-27-mips64r6el-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6el +Kernel-Version: 5.10.0-27-mips64r6el Package-Type: udeb -Package: nbd-modules-5.10.0-26-mips64r6el-di +Package: nbd-modules-5.10.0-27-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-mips64r6el-di +Depends: kernel-image-5.10.0-27-mips64r6el-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-mips64r6el +Kernel-Version: 5.10.0-27-mips64r6el Package-Type: udeb -Package: linux-image-5.10.0-26-mips64r6el +Package: linux-image-5.10.0-27-mips64r6el Architecture: mips64r6el mipsr6el -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mips64r6el mipsr6el] | linux-initramfs-tool [mips64r6el mipsr6el] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mips64r6el mipsr6el] | linux-initramfs-tool [mips64r6el mipsr6el] Recommends: firmware-linux-free, apparmor [mips64r6el mipsr6el] Suggests: linux-doc-5.10, debian-kernel-handbook Breaks: fwupdate (<< 12-7) [mips64r6el], wireless-regdb (<< 2019.06.03-1~) [mips64r6el], initramfs-tools (<< 0.120+deb8u2) @@ -9730,22 +9730,22 @@ endian). Build-Profiles: -Package: linux-headers-5.10.0-26-mips64r6el +Package: linux-headers-5.10.0-27-mips64r6el Architecture: mips64r6el mipsr6el -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-mips64r6el +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-mips64r6el This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-mips64r6el, generally used for building out-of-tree + Linux kernel 5.10.0-27-mips64r6el, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-mips64r6el, and can be used for building + /usr/src/linux-headers-5.10.0-27-mips64r6el, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-mips64r6el package. + linux-image-5.10.0-27-mips64r6el package. Build-Profiles: Package: linux-image-mips64r6el Architecture: mips64r6el mipsr6el -Provides: linux-latest-modules-5.10.0-26-mips64r6el, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic -Depends: linux-image-5.10.0-26-mips64r6el (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-mips64r6el, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic +Depends: linux-image-5.10.0-27-mips64r6el (= ${binary:Version}), ${misc:Depends} Description: Linux for MIPS R6 (64 bit, little endian) (meta-package) This package depends on the latest Linux kernel and modules for use on MIPS R6 (64 bit, little endian). @@ -9754,32 +9754,32 @@ Package: linux-headers-mips64r6el Architecture: mips64r6el mipsr6el Provides: linux-headers-generic -Depends: linux-headers-5.10.0-26-mips64r6el (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-mips64r6el (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux mips64r6el configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel mips64r6el configuration. Build-Profiles: -Package: linux-image-5.10.0-26-mips64r6el-dbg +Package: linux-image-5.10.0-27-mips64r6el-dbg Architecture: mips64r6el mipsr6el Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-mips64r6el +Description: Debug symbols for linux-image-5.10.0-27-mips64r6el This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-mips64r6el. + modules in linux-image-5.10.0-27-mips64r6el. Build-Profiles: Package: linux-image-mips64r6el-dbg Architecture: mips64r6el mipsr6el Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-mips64r6el-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-mips64r6el-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux mips64r6el configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel mips64r6el configuration. Build-Profiles: -Package: kernel-image-5.10.0-26-mips32r6-di +Package: kernel-image-5.10.0-27-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: standard @@ -9789,219 +9789,219 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6 +Kernel-Version: 5.10.0-27-mips32r6 Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-mips32r6-di +Package: nic-shared-modules-5.10.0-27-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-mips32r6-di +Depends: kernel-image-5.10.0-27-mips32r6-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6 +Kernel-Version: 5.10.0-27-mips32r6 Package-Type: udeb -Package: loop-modules-5.10.0-26-mips32r6-di +Package: loop-modules-5.10.0-27-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-mips32r6-di +Depends: kernel-image-5.10.0-27-mips32r6-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6 +Kernel-Version: 5.10.0-27-mips32r6 Package-Type: udeb -Package: btrfs-modules-5.10.0-26-mips32r6-di +Package: btrfs-modules-5.10.0-27-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-mips32r6-di, crc-modules-5.10.0-26-mips32r6-di, md-modules-5.10.0-26-mips32r6-di +Depends: kernel-image-5.10.0-27-mips32r6-di, crc-modules-5.10.0-27-mips32r6-di, md-modules-5.10.0-27-mips32r6-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6 +Kernel-Version: 5.10.0-27-mips32r6 Package-Type: udeb -Package: ext4-modules-5.10.0-26-mips32r6-di +Package: ext4-modules-5.10.0-27-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-mips32r6-di, crc-modules-5.10.0-26-mips32r6-di +Depends: kernel-image-5.10.0-27-mips32r6-di, crc-modules-5.10.0-27-mips32r6-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6 +Kernel-Version: 5.10.0-27-mips32r6 Package-Type: udeb -Package: isofs-modules-5.10.0-26-mips32r6-di +Package: isofs-modules-5.10.0-27-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-mips32r6-di +Depends: kernel-image-5.10.0-27-mips32r6-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6 +Kernel-Version: 5.10.0-27-mips32r6 Package-Type: udeb -Package: jfs-modules-5.10.0-26-mips32r6-di +Package: jfs-modules-5.10.0-27-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-mips32r6-di +Depends: kernel-image-5.10.0-27-mips32r6-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6 +Kernel-Version: 5.10.0-27-mips32r6 Package-Type: udeb -Package: xfs-modules-5.10.0-26-mips32r6-di +Package: xfs-modules-5.10.0-27-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-5.10.0-26-mips32r6-di, crc-modules-5.10.0-26-mips32r6-di +Depends: kernel-image-5.10.0-27-mips32r6-di, crc-modules-5.10.0-27-mips32r6-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6 +Kernel-Version: 5.10.0-27-mips32r6 Package-Type: udeb -Package: squashfs-modules-5.10.0-26-mips32r6-di +Package: squashfs-modules-5.10.0-27-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-mips32r6-di +Depends: kernel-image-5.10.0-27-mips32r6-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6 +Kernel-Version: 5.10.0-27-mips32r6 Package-Type: udeb -Package: udf-modules-5.10.0-26-mips32r6-di +Package: udf-modules-5.10.0-27-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-mips32r6-di, crc-modules-5.10.0-26-mips32r6-di +Depends: kernel-image-5.10.0-27-mips32r6-di, crc-modules-5.10.0-27-mips32r6-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6 +Kernel-Version: 5.10.0-27-mips32r6 Package-Type: udeb -Package: fuse-modules-5.10.0-26-mips32r6-di +Package: fuse-modules-5.10.0-27-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-mips32r6-di +Depends: kernel-image-5.10.0-27-mips32r6-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6 +Kernel-Version: 5.10.0-27-mips32r6 Package-Type: udeb -Package: f2fs-modules-5.10.0-26-mips32r6-di +Package: f2fs-modules-5.10.0-27-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-mips32r6-di, crc-modules-5.10.0-26-mips32r6-di +Depends: kernel-image-5.10.0-27-mips32r6-di, crc-modules-5.10.0-27-mips32r6-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6 +Kernel-Version: 5.10.0-27-mips32r6 Package-Type: udeb -Package: md-modules-5.10.0-26-mips32r6-di +Package: md-modules-5.10.0-27-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-mips32r6-di, crc-modules-5.10.0-26-mips32r6-di +Depends: kernel-image-5.10.0-27-mips32r6-di, crc-modules-5.10.0-27-mips32r6-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6 +Kernel-Version: 5.10.0-27-mips32r6 Package-Type: udeb -Package: multipath-modules-5.10.0-26-mips32r6-di +Package: multipath-modules-5.10.0-27-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-mips32r6-di, md-modules-5.10.0-26-mips32r6-di +Depends: kernel-image-5.10.0-27-mips32r6-di, md-modules-5.10.0-27-mips32r6-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6 +Kernel-Version: 5.10.0-27-mips32r6 Package-Type: udeb -Package: crc-modules-5.10.0-26-mips32r6-di +Package: crc-modules-5.10.0-27-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-mips32r6-di +Depends: kernel-image-5.10.0-27-mips32r6-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6 +Kernel-Version: 5.10.0-27-mips32r6 Package-Type: udeb -Package: crypto-modules-5.10.0-26-mips32r6-di +Package: crypto-modules-5.10.0-27-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-mips32r6-di +Depends: kernel-image-5.10.0-27-mips32r6-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6 +Kernel-Version: 5.10.0-27-mips32r6 Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-mips32r6-di +Package: crypto-dm-modules-5.10.0-27-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-mips32r6-di, md-modules-5.10.0-26-mips32r6-di +Depends: kernel-image-5.10.0-27-mips32r6-di, md-modules-5.10.0-27-mips32r6-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6 +Kernel-Version: 5.10.0-27-mips32r6 Package-Type: udeb -Package: nbd-modules-5.10.0-26-mips32r6-di +Package: nbd-modules-5.10.0-27-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-mips32r6-di +Depends: kernel-image-5.10.0-27-mips32r6-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6 +Kernel-Version: 5.10.0-27-mips32r6 Package-Type: udeb -Package: linux-image-5.10.0-26-mips32r6 +Package: linux-image-5.10.0-27-mips32r6 Architecture: mipsr6 -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mipsr6] | linux-initramfs-tool [mipsr6] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mipsr6] | linux-initramfs-tool [mipsr6] Recommends: firmware-linux-free, apparmor [mipsr6] Suggests: linux-doc-5.10, debian-kernel-handbook Breaks: fwupdate (<< 12-7) [mipsr6], wireless-regdb (<< 2019.06.03-1~) [mipsr6], initramfs-tools (<< 0.120+deb8u2) @@ -10009,22 +10009,22 @@ The Linux kernel 5.10 and modules for use on MIPS R6 (32 bit, big endian). Build-Profiles: -Package: linux-headers-5.10.0-26-mips32r6 +Package: linux-headers-5.10.0-27-mips32r6 Architecture: mipsr6 -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-mips32r6 +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-mips32r6 This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-mips32r6, generally used for building out-of-tree + Linux kernel 5.10.0-27-mips32r6, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-mips32r6, and can be used for building + /usr/src/linux-headers-5.10.0-27-mips32r6, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-mips32r6 package. + linux-image-5.10.0-27-mips32r6 package. Build-Profiles: Package: linux-image-mips32r6 Architecture: mipsr6 -Provides: linux-latest-modules-5.10.0-26-mips32r6, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic -Depends: linux-image-5.10.0-26-mips32r6 (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-mips32r6, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic +Depends: linux-image-5.10.0-27-mips32r6 (= ${binary:Version}), ${misc:Depends} Description: Linux for MIPS R6 (32 bit, big endian) (meta-package) This package depends on the latest Linux kernel and modules for use on MIPS R6 (32 bit, big endian). @@ -10033,32 +10033,32 @@ Package: linux-headers-mips32r6 Architecture: mipsr6 Provides: linux-headers-generic -Depends: linux-headers-5.10.0-26-mips32r6 (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-mips32r6 (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux mips32r6 configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel mips32r6 configuration. Build-Profiles: -Package: linux-image-5.10.0-26-mips32r6-dbg +Package: linux-image-5.10.0-27-mips32r6-dbg Architecture: mipsr6 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-mips32r6 +Description: Debug symbols for linux-image-5.10.0-27-mips32r6 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-mips32r6. + modules in linux-image-5.10.0-27-mips32r6. Build-Profiles: Package: linux-image-mips32r6-dbg Architecture: mipsr6 Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-mips32r6-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-mips32r6-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux mips32r6 configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel mips32r6 configuration. Build-Profiles: -Package: kernel-image-5.10.0-26-mips32r6el-di +Package: kernel-image-5.10.0-27-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: standard @@ -10068,219 +10068,219 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6el +Kernel-Version: 5.10.0-27-mips32r6el Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-mips32r6el-di +Package: nic-shared-modules-5.10.0-27-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-mips32r6el-di +Depends: kernel-image-5.10.0-27-mips32r6el-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6el +Kernel-Version: 5.10.0-27-mips32r6el Package-Type: udeb -Package: loop-modules-5.10.0-26-mips32r6el-di +Package: loop-modules-5.10.0-27-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-mips32r6el-di +Depends: kernel-image-5.10.0-27-mips32r6el-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6el +Kernel-Version: 5.10.0-27-mips32r6el Package-Type: udeb -Package: btrfs-modules-5.10.0-26-mips32r6el-di +Package: btrfs-modules-5.10.0-27-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-mips32r6el-di, crc-modules-5.10.0-26-mips32r6el-di, md-modules-5.10.0-26-mips32r6el-di +Depends: kernel-image-5.10.0-27-mips32r6el-di, crc-modules-5.10.0-27-mips32r6el-di, md-modules-5.10.0-27-mips32r6el-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6el +Kernel-Version: 5.10.0-27-mips32r6el Package-Type: udeb -Package: ext4-modules-5.10.0-26-mips32r6el-di +Package: ext4-modules-5.10.0-27-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-mips32r6el-di, crc-modules-5.10.0-26-mips32r6el-di +Depends: kernel-image-5.10.0-27-mips32r6el-di, crc-modules-5.10.0-27-mips32r6el-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6el +Kernel-Version: 5.10.0-27-mips32r6el Package-Type: udeb -Package: isofs-modules-5.10.0-26-mips32r6el-di +Package: isofs-modules-5.10.0-27-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-mips32r6el-di +Depends: kernel-image-5.10.0-27-mips32r6el-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6el +Kernel-Version: 5.10.0-27-mips32r6el Package-Type: udeb -Package: jfs-modules-5.10.0-26-mips32r6el-di +Package: jfs-modules-5.10.0-27-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-mips32r6el-di +Depends: kernel-image-5.10.0-27-mips32r6el-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6el +Kernel-Version: 5.10.0-27-mips32r6el Package-Type: udeb -Package: xfs-modules-5.10.0-26-mips32r6el-di +Package: xfs-modules-5.10.0-27-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-5.10.0-26-mips32r6el-di, crc-modules-5.10.0-26-mips32r6el-di +Depends: kernel-image-5.10.0-27-mips32r6el-di, crc-modules-5.10.0-27-mips32r6el-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6el +Kernel-Version: 5.10.0-27-mips32r6el Package-Type: udeb -Package: squashfs-modules-5.10.0-26-mips32r6el-di +Package: squashfs-modules-5.10.0-27-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-mips32r6el-di +Depends: kernel-image-5.10.0-27-mips32r6el-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6el +Kernel-Version: 5.10.0-27-mips32r6el Package-Type: udeb -Package: udf-modules-5.10.0-26-mips32r6el-di +Package: udf-modules-5.10.0-27-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-mips32r6el-di, crc-modules-5.10.0-26-mips32r6el-di +Depends: kernel-image-5.10.0-27-mips32r6el-di, crc-modules-5.10.0-27-mips32r6el-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6el +Kernel-Version: 5.10.0-27-mips32r6el Package-Type: udeb -Package: fuse-modules-5.10.0-26-mips32r6el-di +Package: fuse-modules-5.10.0-27-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-mips32r6el-di +Depends: kernel-image-5.10.0-27-mips32r6el-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6el +Kernel-Version: 5.10.0-27-mips32r6el Package-Type: udeb -Package: f2fs-modules-5.10.0-26-mips32r6el-di +Package: f2fs-modules-5.10.0-27-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-mips32r6el-di, crc-modules-5.10.0-26-mips32r6el-di +Depends: kernel-image-5.10.0-27-mips32r6el-di, crc-modules-5.10.0-27-mips32r6el-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6el +Kernel-Version: 5.10.0-27-mips32r6el Package-Type: udeb -Package: md-modules-5.10.0-26-mips32r6el-di +Package: md-modules-5.10.0-27-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-mips32r6el-di, crc-modules-5.10.0-26-mips32r6el-di +Depends: kernel-image-5.10.0-27-mips32r6el-di, crc-modules-5.10.0-27-mips32r6el-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6el +Kernel-Version: 5.10.0-27-mips32r6el Package-Type: udeb -Package: multipath-modules-5.10.0-26-mips32r6el-di +Package: multipath-modules-5.10.0-27-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-mips32r6el-di, md-modules-5.10.0-26-mips32r6el-di +Depends: kernel-image-5.10.0-27-mips32r6el-di, md-modules-5.10.0-27-mips32r6el-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6el +Kernel-Version: 5.10.0-27-mips32r6el Package-Type: udeb -Package: crc-modules-5.10.0-26-mips32r6el-di +Package: crc-modules-5.10.0-27-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-mips32r6el-di +Depends: kernel-image-5.10.0-27-mips32r6el-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6el +Kernel-Version: 5.10.0-27-mips32r6el Package-Type: udeb -Package: crypto-modules-5.10.0-26-mips32r6el-di +Package: crypto-modules-5.10.0-27-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-mips32r6el-di +Depends: kernel-image-5.10.0-27-mips32r6el-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6el +Kernel-Version: 5.10.0-27-mips32r6el Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-mips32r6el-di +Package: crypto-dm-modules-5.10.0-27-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-mips32r6el-di, md-modules-5.10.0-26-mips32r6el-di +Depends: kernel-image-5.10.0-27-mips32r6el-di, md-modules-5.10.0-27-mips32r6el-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6el +Kernel-Version: 5.10.0-27-mips32r6el Package-Type: udeb -Package: nbd-modules-5.10.0-26-mips32r6el-di +Package: nbd-modules-5.10.0-27-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-mips32r6el-di +Depends: kernel-image-5.10.0-27-mips32r6el-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-mips32r6el +Kernel-Version: 5.10.0-27-mips32r6el Package-Type: udeb -Package: linux-image-5.10.0-26-mips32r6el +Package: linux-image-5.10.0-27-mips32r6el Architecture: mipsr6el -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mipsr6el] | linux-initramfs-tool [mipsr6el] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mipsr6el] | linux-initramfs-tool [mipsr6el] Recommends: firmware-linux-free, apparmor [mipsr6el] Suggests: linux-doc-5.10, debian-kernel-handbook Breaks: fwupdate (<< 12-7) [mipsr6el], wireless-regdb (<< 2019.06.03-1~) [mipsr6el], initramfs-tools (<< 0.120+deb8u2) @@ -10289,22 +10289,22 @@ endian). Build-Profiles: -Package: linux-headers-5.10.0-26-mips32r6el +Package: linux-headers-5.10.0-27-mips32r6el Architecture: mipsr6el -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-mips32r6el +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-mips32r6el This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-mips32r6el, generally used for building out-of-tree + Linux kernel 5.10.0-27-mips32r6el, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-mips32r6el, and can be used for building + /usr/src/linux-headers-5.10.0-27-mips32r6el, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-mips32r6el package. + linux-image-5.10.0-27-mips32r6el package. Build-Profiles: Package: linux-image-mips32r6el Architecture: mipsr6el -Provides: linux-latest-modules-5.10.0-26-mips32r6el, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic -Depends: linux-image-5.10.0-26-mips32r6el (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-mips32r6el, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic +Depends: linux-image-5.10.0-27-mips32r6el (= ${binary:Version}), ${misc:Depends} Description: Linux for MIPS R6 (32 bit, little endian) (meta-package) This package depends on the latest Linux kernel and modules for use on MIPS R6 (32 bit, little endian). @@ -10313,32 +10313,32 @@ Package: linux-headers-mips32r6el Architecture: mipsr6el Provides: linux-headers-generic -Depends: linux-headers-5.10.0-26-mips32r6el (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-mips32r6el (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux mips32r6el configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel mips32r6el configuration. Build-Profiles: -Package: linux-image-5.10.0-26-mips32r6el-dbg +Package: linux-image-5.10.0-27-mips32r6el-dbg Architecture: mipsr6el Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-mips32r6el +Description: Debug symbols for linux-image-5.10.0-27-mips32r6el This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-mips32r6el. + modules in linux-image-5.10.0-27-mips32r6el. Build-Profiles: Package: linux-image-mips32r6el-dbg Architecture: mipsr6el Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-mips32r6el-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-mips32r6el-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux mips32r6el configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel mips32r6el configuration. Build-Profiles: -Package: kernel-image-5.10.0-26-powerpc-di +Package: kernel-image-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard @@ -10348,556 +10348,556 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: nic-modules-5.10.0-26-powerpc-di +Package: nic-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-5.10.0-26-powerpc-di, nic-shared-modules-5.10.0-26-powerpc-di, crc-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, nic-shared-modules-5.10.0-27-powerpc-di, crc-modules-5.10.0-27-powerpc-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: nic-wireless-modules-5.10.0-26-powerpc-di +Package: nic-wireless-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-5.10.0-26-powerpc-di, nic-shared-modules-5.10.0-26-powerpc-di, usb-modules-5.10.0-26-powerpc-di, mmc-core-modules-5.10.0-26-powerpc-di, pcmcia-modules-5.10.0-26-powerpc-di, crc-modules-5.10.0-26-powerpc-di, crypto-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, nic-shared-modules-5.10.0-27-powerpc-di, usb-modules-5.10.0-27-powerpc-di, mmc-core-modules-5.10.0-27-powerpc-di, pcmcia-modules-5.10.0-27-powerpc-di, crc-modules-5.10.0-27-powerpc-di, crypto-modules-5.10.0-27-powerpc-di Description: Wireless NIC drivers This package contains wireless NIC drivers for the kernel. Includes crypto modules only needed for wireless (WEP, WPA). Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-powerpc-di +Package: nic-shared-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: serial-modules-5.10.0-26-powerpc-di +Package: serial-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: serial-modules -Depends: kernel-image-5.10.0-26-powerpc-di, pcmcia-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, pcmcia-modules-5.10.0-27-powerpc-di Description: Serial drivers This package contains serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: usb-serial-modules-5.10.0-26-powerpc-di +Package: usb-serial-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-5.10.0-26-powerpc-di, usb-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, usb-modules-5.10.0-27-powerpc-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: ppp-modules-5.10.0-26-powerpc-di +Package: ppp-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-5.10.0-26-powerpc-di, serial-modules-5.10.0-26-powerpc-di, crc-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, serial-modules-5.10.0-27-powerpc-di, crc-modules-5.10.0-27-powerpc-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: pata-modules-5.10.0-26-powerpc-di +Package: pata-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-5.10.0-26-powerpc-di, ata-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, ata-modules-5.10.0-27-powerpc-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: cdrom-core-modules-5.10.0-26-powerpc-di +Package: cdrom-core-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-5.10.0-26-powerpc-di, scsi-core-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, scsi-core-modules-5.10.0-27-powerpc-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: firewire-core-modules-5.10.0-26-powerpc-di +Package: firewire-core-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: firewire-core-modules -Depends: kernel-image-5.10.0-26-powerpc-di, scsi-core-modules-5.10.0-26-powerpc-di, crc-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, scsi-core-modules-5.10.0-27-powerpc-di, crc-modules-5.10.0-27-powerpc-di Description: Core FireWire drivers This package contains core FireWire drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: scsi-core-modules-5.10.0-26-powerpc-di +Package: scsi-core-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: scsi-modules-5.10.0-26-powerpc-di +Package: scsi-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-5.10.0-26-powerpc-di, scsi-core-modules-5.10.0-26-powerpc-di, cdrom-core-modules-5.10.0-26-powerpc-di, ata-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, scsi-core-modules-5.10.0-27-powerpc-di, cdrom-core-modules-5.10.0-27-powerpc-di, ata-modules-5.10.0-27-powerpc-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: scsi-nic-modules-5.10.0-26-powerpc-di +Package: scsi-nic-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-5.10.0-26-powerpc-di, nic-modules-5.10.0-26-powerpc-di +Depends: scsi-modules-5.10.0-27-powerpc-di, nic-modules-5.10.0-27-powerpc-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: loop-modules-5.10.0-26-powerpc-di +Package: loop-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: btrfs-modules-5.10.0-26-powerpc-di +Package: btrfs-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-powerpc-di, crc-modules-5.10.0-26-powerpc-di, md-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, crc-modules-5.10.0-27-powerpc-di, md-modules-5.10.0-27-powerpc-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: ext4-modules-5.10.0-26-powerpc-di +Package: ext4-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-powerpc-di, crc-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, crc-modules-5.10.0-27-powerpc-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: isofs-modules-5.10.0-26-powerpc-di +Package: isofs-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-powerpc-di, cdrom-core-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, cdrom-core-modules-5.10.0-27-powerpc-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: jfs-modules-5.10.0-26-powerpc-di +Package: jfs-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: xfs-modules-5.10.0-26-powerpc-di +Package: xfs-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-5.10.0-26-powerpc-di, crc-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, crc-modules-5.10.0-27-powerpc-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: fat-modules-5.10.0-26-powerpc-di +Package: fat-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: hfs-modules-5.10.0-26-powerpc-di +Package: hfs-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: hfs-modules -Depends: kernel-image-5.10.0-26-powerpc-di, cdrom-core-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, cdrom-core-modules-5.10.0-27-powerpc-di Description: HFS filesystem support This package contains the HFS and HFS+ filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: affs-modules-5.10.0-26-powerpc-di +Package: affs-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: affs-modules -Depends: kernel-image-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di Description: Amiga filesystem support This package contains the Amiga filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: squashfs-modules-5.10.0-26-powerpc-di +Package: squashfs-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: udf-modules-5.10.0-26-powerpc-di +Package: udf-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-powerpc-di, crc-modules-5.10.0-26-powerpc-di, cdrom-core-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, crc-modules-5.10.0-27-powerpc-di, cdrom-core-modules-5.10.0-27-powerpc-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: fuse-modules-5.10.0-26-powerpc-di +Package: fuse-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: f2fs-modules-5.10.0-26-powerpc-di +Package: f2fs-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-powerpc-di, crc-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, crc-modules-5.10.0-27-powerpc-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: md-modules-5.10.0-26-powerpc-di +Package: md-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-powerpc-di, crc-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, crc-modules-5.10.0-27-powerpc-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: multipath-modules-5.10.0-26-powerpc-di +Package: multipath-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-powerpc-di, md-modules-5.10.0-26-powerpc-di, scsi-core-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, md-modules-5.10.0-27-powerpc-di, scsi-core-modules-5.10.0-27-powerpc-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: usb-modules-5.10.0-26-powerpc-di +Package: usb-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: usb-storage-modules-5.10.0-26-powerpc-di +Package: usb-storage-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-5.10.0-26-powerpc-di, scsi-core-modules-5.10.0-26-powerpc-di, usb-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, scsi-core-modules-5.10.0-27-powerpc-di, usb-modules-5.10.0-27-powerpc-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: pcmcia-storage-modules-5.10.0-26-powerpc-di +Package: pcmcia-storage-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: pcmcia-storage-modules -Depends: kernel-image-5.10.0-26-powerpc-di, cdrom-core-modules-5.10.0-26-powerpc-di, pcmcia-modules-5.10.0-26-powerpc-di, ata-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, cdrom-core-modules-5.10.0-27-powerpc-di, pcmcia-modules-5.10.0-27-powerpc-di, ata-modules-5.10.0-27-powerpc-di Description: PCMCIA storage drivers This package contains PCMCIA storage drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: fb-modules-5.10.0-26-powerpc-di +Package: fb-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: input-modules-5.10.0-26-powerpc-di +Package: input-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-5.10.0-26-powerpc-di, usb-modules-5.10.0-26-powerpc-di, crc-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, usb-modules-5.10.0-27-powerpc-di, crc-modules-5.10.0-27-powerpc-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: event-modules-5.10.0-26-powerpc-di +Package: event-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: mouse-modules-5.10.0-26-powerpc-di +Package: mouse-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-5.10.0-26-powerpc-di, event-modules-5.10.0-26-powerpc-di, input-modules-5.10.0-26-powerpc-di, usb-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, event-modules-5.10.0-27-powerpc-di, input-modules-5.10.0-27-powerpc-di, usb-modules-5.10.0-27-powerpc-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: nic-pcmcia-modules-5.10.0-26-powerpc-di +Package: nic-pcmcia-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: nic-pcmcia-modules -Depends: kernel-image-5.10.0-26-powerpc-di, nic-shared-modules-5.10.0-26-powerpc-di, nic-wireless-modules-5.10.0-26-powerpc-di, pcmcia-modules-5.10.0-26-powerpc-di, mmc-core-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, nic-shared-modules-5.10.0-27-powerpc-di, nic-wireless-modules-5.10.0-27-powerpc-di, pcmcia-modules-5.10.0-27-powerpc-di, mmc-core-modules-5.10.0-27-powerpc-di Description: Common PCMCIA NIC drivers This package contains common PCMCIA NIC drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: pcmcia-modules-5.10.0-26-powerpc-di +Package: pcmcia-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: pcmcia-modules -Depends: kernel-image-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di Description: Common PCMCIA drivers This package contains common PCMCIA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: nic-usb-modules-5.10.0-26-powerpc-di +Package: nic-usb-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-5.10.0-26-powerpc-di, nic-shared-modules-5.10.0-26-powerpc-di, nic-wireless-modules-5.10.0-26-powerpc-di, usb-modules-5.10.0-26-powerpc-di, crc-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, nic-shared-modules-5.10.0-27-powerpc-di, nic-wireless-modules-5.10.0-27-powerpc-di, usb-modules-5.10.0-27-powerpc-di, crc-modules-5.10.0-27-powerpc-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: sata-modules-5.10.0-26-powerpc-di +Package: sata-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-5.10.0-26-powerpc-di, scsi-core-modules-5.10.0-26-powerpc-di, ata-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, scsi-core-modules-5.10.0-27-powerpc-di, ata-modules-5.10.0-27-powerpc-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: crc-modules-5.10.0-26-powerpc-di +Package: crc-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: crypto-modules-5.10.0-26-powerpc-di +Package: crypto-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-powerpc-di +Package: crypto-dm-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-powerpc-di, md-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, md-modules-5.10.0-27-powerpc-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: ata-modules-5.10.0-26-powerpc-di +Package: ata-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-5.10.0-26-powerpc-di, scsi-core-modules-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di, scsi-core-modules-5.10.0-27-powerpc-di Description: ATA disk modules This package contains core ATA disk modules used by both PATA and SATA disk drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: mmc-core-modules-5.10.0-26-powerpc-di +Package: mmc-core-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: mmc-core-modules -Depends: kernel-image-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di Description: MMC/SD/SDIO core modules This package contains core modules for MMC/SD/SDIO support. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: nbd-modules-5.10.0-26-powerpc-di +Package: nbd-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: uinput-modules-5.10.0-26-powerpc-di +Package: uinput-modules-5.10.0-27-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: uinput-modules -Depends: kernel-image-5.10.0-26-powerpc-di +Depends: kernel-image-5.10.0-27-powerpc-di Description: uinput support This package contains the uinput module. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc +Kernel-Version: 5.10.0-27-powerpc Package-Type: udeb -Package: kernel-image-5.10.0-26-powerpc64-di +Package: kernel-image-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard @@ -10907,609 +10907,609 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: nic-modules-5.10.0-26-powerpc64-di +Package: nic-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, nic-shared-modules-5.10.0-26-powerpc64-di, i2c-modules-5.10.0-26-powerpc64-di, crc-modules-5.10.0-26-powerpc64-di, mtd-core-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, nic-shared-modules-5.10.0-27-powerpc64-di, i2c-modules-5.10.0-27-powerpc64-di, crc-modules-5.10.0-27-powerpc64-di, mtd-core-modules-5.10.0-27-powerpc64-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: nic-wireless-modules-5.10.0-26-powerpc64-di +Package: nic-wireless-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, nic-shared-modules-5.10.0-26-powerpc64-di, usb-modules-5.10.0-26-powerpc64-di, mmc-core-modules-5.10.0-26-powerpc64-di, pcmcia-modules-5.10.0-26-powerpc64-di, crc-modules-5.10.0-26-powerpc64-di, crypto-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, nic-shared-modules-5.10.0-27-powerpc64-di, usb-modules-5.10.0-27-powerpc64-di, mmc-core-modules-5.10.0-27-powerpc64-di, pcmcia-modules-5.10.0-27-powerpc64-di, crc-modules-5.10.0-27-powerpc64-di, crypto-modules-5.10.0-27-powerpc64-di Description: Wireless NIC drivers This package contains wireless NIC drivers for the kernel. Includes crypto modules only needed for wireless (WEP, WPA). Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-powerpc64-di +Package: nic-shared-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: serial-modules-5.10.0-26-powerpc64-di +Package: serial-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: serial-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, pcmcia-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, pcmcia-modules-5.10.0-27-powerpc64-di Description: Serial drivers This package contains serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: usb-serial-modules-5.10.0-26-powerpc64-di +Package: usb-serial-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, usb-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, usb-modules-5.10.0-27-powerpc64-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: ppp-modules-5.10.0-26-powerpc64-di +Package: ppp-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, serial-modules-5.10.0-26-powerpc64-di, crc-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, serial-modules-5.10.0-27-powerpc64-di, crc-modules-5.10.0-27-powerpc64-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: pata-modules-5.10.0-26-powerpc64-di +Package: pata-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, ata-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, ata-modules-5.10.0-27-powerpc64-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: cdrom-core-modules-5.10.0-26-powerpc64-di +Package: cdrom-core-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, scsi-core-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, scsi-core-modules-5.10.0-27-powerpc64-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: firewire-core-modules-5.10.0-26-powerpc64-di +Package: firewire-core-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: firewire-core-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, scsi-core-modules-5.10.0-26-powerpc64-di, crc-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, scsi-core-modules-5.10.0-27-powerpc64-di, crc-modules-5.10.0-27-powerpc64-di Description: Core FireWire drivers This package contains core FireWire drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: scsi-core-modules-5.10.0-26-powerpc64-di +Package: scsi-core-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: scsi-modules-5.10.0-26-powerpc64-di +Package: scsi-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, scsi-core-modules-5.10.0-26-powerpc64-di, cdrom-core-modules-5.10.0-26-powerpc64-di, ata-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, scsi-core-modules-5.10.0-27-powerpc64-di, cdrom-core-modules-5.10.0-27-powerpc64-di, ata-modules-5.10.0-27-powerpc64-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: scsi-nic-modules-5.10.0-26-powerpc64-di +Package: scsi-nic-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-5.10.0-26-powerpc64-di, nic-modules-5.10.0-26-powerpc64-di +Depends: scsi-modules-5.10.0-27-powerpc64-di, nic-modules-5.10.0-27-powerpc64-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: loop-modules-5.10.0-26-powerpc64-di +Package: loop-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: btrfs-modules-5.10.0-26-powerpc64-di +Package: btrfs-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, crc-modules-5.10.0-26-powerpc64-di, md-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, crc-modules-5.10.0-27-powerpc64-di, md-modules-5.10.0-27-powerpc64-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: ext4-modules-5.10.0-26-powerpc64-di +Package: ext4-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, crc-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, crc-modules-5.10.0-27-powerpc64-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: isofs-modules-5.10.0-26-powerpc64-di +Package: isofs-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, cdrom-core-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, cdrom-core-modules-5.10.0-27-powerpc64-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: jfs-modules-5.10.0-26-powerpc64-di +Package: jfs-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: xfs-modules-5.10.0-26-powerpc64-di +Package: xfs-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, crc-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, crc-modules-5.10.0-27-powerpc64-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: fat-modules-5.10.0-26-powerpc64-di +Package: fat-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: hfs-modules-5.10.0-26-powerpc64-di +Package: hfs-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: hfs-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, cdrom-core-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, cdrom-core-modules-5.10.0-27-powerpc64-di Description: HFS filesystem support This package contains the HFS and HFS+ filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: affs-modules-5.10.0-26-powerpc64-di +Package: affs-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: affs-modules -Depends: kernel-image-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di Description: Amiga filesystem support This package contains the Amiga filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: squashfs-modules-5.10.0-26-powerpc64-di +Package: squashfs-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: udf-modules-5.10.0-26-powerpc64-di +Package: udf-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, crc-modules-5.10.0-26-powerpc64-di, cdrom-core-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, crc-modules-5.10.0-27-powerpc64-di, cdrom-core-modules-5.10.0-27-powerpc64-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: fuse-modules-5.10.0-26-powerpc64-di +Package: fuse-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: f2fs-modules-5.10.0-26-powerpc64-di +Package: f2fs-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, crc-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, crc-modules-5.10.0-27-powerpc64-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: md-modules-5.10.0-26-powerpc64-di +Package: md-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, crc-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, crc-modules-5.10.0-27-powerpc64-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: multipath-modules-5.10.0-26-powerpc64-di +Package: multipath-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, md-modules-5.10.0-26-powerpc64-di, scsi-core-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, md-modules-5.10.0-27-powerpc64-di, scsi-core-modules-5.10.0-27-powerpc64-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: usb-modules-5.10.0-26-powerpc64-di +Package: usb-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: usb-storage-modules-5.10.0-26-powerpc64-di +Package: usb-storage-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, scsi-core-modules-5.10.0-26-powerpc64-di, usb-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, scsi-core-modules-5.10.0-27-powerpc64-di, usb-modules-5.10.0-27-powerpc64-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: pcmcia-storage-modules-5.10.0-26-powerpc64-di +Package: pcmcia-storage-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: pcmcia-storage-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, cdrom-core-modules-5.10.0-26-powerpc64-di, pcmcia-modules-5.10.0-26-powerpc64-di, ata-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, cdrom-core-modules-5.10.0-27-powerpc64-di, pcmcia-modules-5.10.0-27-powerpc64-di, ata-modules-5.10.0-27-powerpc64-di Description: PCMCIA storage drivers This package contains PCMCIA storage drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: fb-modules-5.10.0-26-powerpc64-di +Package: fb-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, i2c-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, i2c-modules-5.10.0-27-powerpc64-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: input-modules-5.10.0-26-powerpc64-di +Package: input-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, usb-modules-5.10.0-26-powerpc64-di, i2c-modules-5.10.0-26-powerpc64-di, crc-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, usb-modules-5.10.0-27-powerpc64-di, i2c-modules-5.10.0-27-powerpc64-di, crc-modules-5.10.0-27-powerpc64-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: event-modules-5.10.0-26-powerpc64-di +Package: event-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: mouse-modules-5.10.0-26-powerpc64-di +Package: mouse-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, event-modules-5.10.0-26-powerpc64-di, input-modules-5.10.0-26-powerpc64-di, usb-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, event-modules-5.10.0-27-powerpc64-di, input-modules-5.10.0-27-powerpc64-di, usb-modules-5.10.0-27-powerpc64-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: nic-pcmcia-modules-5.10.0-26-powerpc64-di +Package: nic-pcmcia-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: nic-pcmcia-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, nic-shared-modules-5.10.0-26-powerpc64-di, nic-wireless-modules-5.10.0-26-powerpc64-di, pcmcia-modules-5.10.0-26-powerpc64-di, mmc-core-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, nic-shared-modules-5.10.0-27-powerpc64-di, nic-wireless-modules-5.10.0-27-powerpc64-di, pcmcia-modules-5.10.0-27-powerpc64-di, mmc-core-modules-5.10.0-27-powerpc64-di Description: Common PCMCIA NIC drivers This package contains common PCMCIA NIC drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: pcmcia-modules-5.10.0-26-powerpc64-di +Package: pcmcia-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: pcmcia-modules -Depends: kernel-image-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di Description: Common PCMCIA drivers This package contains common PCMCIA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: nic-usb-modules-5.10.0-26-powerpc64-di +Package: nic-usb-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, nic-shared-modules-5.10.0-26-powerpc64-di, nic-wireless-modules-5.10.0-26-powerpc64-di, usb-modules-5.10.0-26-powerpc64-di, crc-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, nic-shared-modules-5.10.0-27-powerpc64-di, nic-wireless-modules-5.10.0-27-powerpc64-di, usb-modules-5.10.0-27-powerpc64-di, crc-modules-5.10.0-27-powerpc64-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: sata-modules-5.10.0-26-powerpc64-di +Package: sata-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, scsi-core-modules-5.10.0-26-powerpc64-di, ata-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, scsi-core-modules-5.10.0-27-powerpc64-di, ata-modules-5.10.0-27-powerpc64-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: i2c-modules-5.10.0-26-powerpc64-di +Package: i2c-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: crc-modules-5.10.0-26-powerpc64-di +Package: crc-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: crypto-modules-5.10.0-26-powerpc64-di +Package: crypto-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-powerpc64-di +Package: crypto-dm-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, md-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, md-modules-5.10.0-27-powerpc64-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: ata-modules-5.10.0-26-powerpc64-di +Package: ata-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-5.10.0-26-powerpc64-di, scsi-core-modules-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di, scsi-core-modules-5.10.0-27-powerpc64-di Description: ATA disk modules This package contains core ATA disk modules used by both PATA and SATA disk drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: mmc-core-modules-5.10.0-26-powerpc64-di +Package: mmc-core-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: mmc-core-modules -Depends: kernel-image-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di Description: MMC/SD/SDIO core modules This package contains core modules for MMC/SD/SDIO support. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: nbd-modules-5.10.0-26-powerpc64-di +Package: nbd-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: uinput-modules-5.10.0-26-powerpc64-di +Package: uinput-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: uinput-modules -Depends: kernel-image-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di Description: uinput support This package contains the uinput module. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: mtd-core-modules-5.10.0-26-powerpc64-di +Package: mtd-core-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: hypervisor-modules-5.10.0-26-powerpc64-di +Package: hypervisor-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: hypervisor-modules -Depends: kernel-image-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di Description: IBM 64bit hypervisor console modules Contains drivers for the hypervisor console, used as console for linux running in logical partitions of IBM hardware supporting it. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: fancontrol-modules-5.10.0-26-powerpc64-di +Package: fancontrol-modules-5.10.0-27-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: fancontrol-modules -Depends: kernel-image-5.10.0-26-powerpc64-di +Depends: kernel-image-5.10.0-27-powerpc64-di Description: Apple powermac fancontrol modules Contains drivers for macintosh i2c bus as well as for the monitoring devices connected to it. This allows to control the fans during installation. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64 +Kernel-Version: 5.10.0-27-powerpc64 Package-Type: udeb -Package: linux-image-5.10.0-26-powerpc +Package: linux-image-5.10.0-27-powerpc Architecture: powerpc -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [powerpc] | linux-initramfs-tool [powerpc] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [powerpc] | linux-initramfs-tool [powerpc] Recommends: firmware-linux-free, apparmor [powerpc] Suggests: linux-doc-5.10, debian-kernel-handbook, mkvmlinuz [powerpc], grub-ieee1275 [powerpc] Breaks: fwupdate (<< 12-7) [powerpc], wireless-regdb (<< 2019.06.03-1~) [powerpc], initramfs-tools (<< 0.120+deb8u2) @@ -11517,22 +11517,22 @@ The Linux kernel 5.10 and modules for use on uniprocessor 32-bit PowerPC. Build-Profiles: -Package: linux-headers-5.10.0-26-powerpc +Package: linux-headers-5.10.0-27-powerpc Architecture: powerpc -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-powerpc +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-powerpc This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-powerpc, generally used for building out-of-tree + Linux kernel 5.10.0-27-powerpc, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-powerpc, and can be used for building + /usr/src/linux-headers-5.10.0-27-powerpc, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-powerpc package. + linux-image-5.10.0-27-powerpc package. Build-Profiles: Package: linux-image-powerpc Architecture: powerpc -Provides: linux-latest-modules-5.10.0-26-powerpc, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] -Depends: linux-image-5.10.0-26-powerpc (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-powerpc, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] +Depends: linux-image-5.10.0-27-powerpc (= ${binary:Version}), ${misc:Depends} Description: Linux for uniprocessor 32-bit PowerPC (meta-package) This package depends on the latest Linux kernel and modules for use on uniprocessor 32-bit PowerPC. @@ -11540,34 +11540,34 @@ Package: linux-headers-powerpc Architecture: powerpc -Depends: linux-headers-5.10.0-26-powerpc (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-powerpc (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux powerpc configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel powerpc configuration. Build-Profiles: -Package: linux-image-5.10.0-26-powerpc-dbg +Package: linux-image-5.10.0-27-powerpc-dbg Architecture: powerpc Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-powerpc +Description: Debug symbols for linux-image-5.10.0-27-powerpc This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-powerpc. + modules in linux-image-5.10.0-27-powerpc. Build-Profiles: Package: linux-image-powerpc-dbg Architecture: powerpc Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-powerpc-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-powerpc-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux powerpc configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel powerpc configuration. Build-Profiles: -Package: linux-image-5.10.0-26-powerpc-smp +Package: linux-image-5.10.0-27-powerpc-smp Architecture: powerpc -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [powerpc] | linux-initramfs-tool [powerpc] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [powerpc] | linux-initramfs-tool [powerpc] Recommends: firmware-linux-free, apparmor [powerpc] Suggests: linux-doc-5.10, debian-kernel-handbook, mkvmlinuz [powerpc], grub-ieee1275 [powerpc] Breaks: fwupdate (<< 12-7) [powerpc], wireless-regdb (<< 2019.06.03-1~) [powerpc], initramfs-tools (<< 0.120+deb8u2) @@ -11576,22 +11576,22 @@ PowerPC. Build-Profiles: -Package: linux-headers-5.10.0-26-powerpc-smp +Package: linux-headers-5.10.0-27-powerpc-smp Architecture: powerpc -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-powerpc-smp +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-powerpc-smp This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-powerpc-smp, generally used for building + Linux kernel 5.10.0-27-powerpc-smp, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-powerpc-smp, and can be used for building + /usr/src/linux-headers-5.10.0-27-powerpc-smp, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-powerpc-smp package. + linux-image-5.10.0-27-powerpc-smp package. Build-Profiles: Package: linux-image-powerpc-smp Architecture: powerpc -Provides: linux-latest-modules-5.10.0-26-powerpc-smp, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] -Depends: linux-image-5.10.0-26-powerpc-smp (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-powerpc-smp, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] +Depends: linux-image-5.10.0-27-powerpc-smp (= ${binary:Version}), ${misc:Depends} Description: Linux for multiprocessor 32-bit PowerPC (meta-package) This package depends on the latest Linux kernel and modules for use on multiprocessor 32-bit PowerPC. @@ -11599,34 +11599,34 @@ Package: linux-headers-powerpc-smp Architecture: powerpc -Depends: linux-headers-5.10.0-26-powerpc-smp (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-powerpc-smp (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux powerpc-smp configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel powerpc-smp configuration. Build-Profiles: -Package: linux-image-5.10.0-26-powerpc-smp-dbg +Package: linux-image-5.10.0-27-powerpc-smp-dbg Architecture: powerpc Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-powerpc-smp +Description: Debug symbols for linux-image-5.10.0-27-powerpc-smp This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-powerpc-smp. + modules in linux-image-5.10.0-27-powerpc-smp. Build-Profiles: Package: linux-image-powerpc-smp-dbg Architecture: powerpc Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-powerpc-smp-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-powerpc-smp-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux powerpc-smp configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel powerpc-smp configuration. Build-Profiles: -Package: linux-image-5.10.0-26-powerpc64 +Package: linux-image-5.10.0-27-powerpc64 Architecture: powerpc ppc64 -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [powerpc ppc64] | linux-initramfs-tool [powerpc ppc64] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [powerpc ppc64] | linux-initramfs-tool [powerpc ppc64] Recommends: firmware-linux-free, apparmor [powerpc ppc64] Suggests: linux-doc-5.10, debian-kernel-handbook, mkvmlinuz [powerpc ppc64], grub-ieee1275 [powerpc ppc64] Breaks: fwupdate (<< 12-7) [powerpc], wireless-regdb (<< 2019.06.03-1~) [powerpc], initramfs-tools (<< 0.120+deb8u2) @@ -11634,22 +11634,22 @@ The Linux kernel 5.10 and modules for use on 64-bit PowerPC. Build-Profiles: -Package: linux-headers-5.10.0-26-powerpc64 +Package: linux-headers-5.10.0-27-powerpc64 Architecture: powerpc ppc64 -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-powerpc64 +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-powerpc64 This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-powerpc64, generally used for building out-of-tree + Linux kernel 5.10.0-27-powerpc64, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-powerpc64, and can be used for building + /usr/src/linux-headers-5.10.0-27-powerpc64, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-powerpc64 package. + linux-image-5.10.0-27-powerpc64 package. Build-Profiles: Package: linux-image-powerpc64 Architecture: powerpc ppc64 -Provides: linux-latest-modules-5.10.0-26-powerpc64, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic -Depends: linux-image-5.10.0-26-powerpc64 (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-powerpc64, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic +Depends: linux-image-5.10.0-27-powerpc64 (= ${binary:Version}), ${misc:Depends} Description: Linux for 64-bit PowerPC (meta-package) This package depends on the latest Linux kernel and modules for use on 64-bit PowerPC. @@ -11658,32 +11658,32 @@ Package: linux-headers-powerpc64 Architecture: powerpc ppc64 Provides: linux-headers-generic -Depends: linux-headers-5.10.0-26-powerpc64 (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-powerpc64 (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux powerpc64 configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel powerpc64 configuration. Build-Profiles: -Package: linux-image-5.10.0-26-powerpc64-dbg +Package: linux-image-5.10.0-27-powerpc64-dbg Architecture: powerpc ppc64 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-powerpc64 +Description: Debug symbols for linux-image-5.10.0-27-powerpc64 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-powerpc64. + modules in linux-image-5.10.0-27-powerpc64. Build-Profiles: Package: linux-image-powerpc64-dbg Architecture: powerpc ppc64 Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-powerpc64-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-powerpc64-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux powerpc64 configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel powerpc64 configuration. Build-Profiles: -Package: kernel-image-5.10.0-26-powerpc64le-di +Package: kernel-image-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard @@ -11693,525 +11693,525 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: nic-modules-5.10.0-26-powerpc64le-di +Package: nic-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di, nic-shared-modules-5.10.0-26-powerpc64le-di, i2c-modules-5.10.0-26-powerpc64le-di, crc-modules-5.10.0-26-powerpc64le-di, mtd-core-modules-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di, nic-shared-modules-5.10.0-27-powerpc64le-di, i2c-modules-5.10.0-27-powerpc64le-di, crc-modules-5.10.0-27-powerpc64le-di, mtd-core-modules-5.10.0-27-powerpc64le-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: nic-wireless-modules-5.10.0-26-powerpc64le-di +Package: nic-wireless-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di, nic-shared-modules-5.10.0-26-powerpc64le-di, usb-modules-5.10.0-26-powerpc64le-di, crc-modules-5.10.0-26-powerpc64le-di, crypto-modules-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di, nic-shared-modules-5.10.0-27-powerpc64le-di, usb-modules-5.10.0-27-powerpc64le-di, crc-modules-5.10.0-27-powerpc64le-di, crypto-modules-5.10.0-27-powerpc64le-di Description: Wireless NIC drivers This package contains wireless NIC drivers for the kernel. Includes crypto modules only needed for wireless (WEP, WPA). Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-powerpc64le-di +Package: nic-shared-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: serial-modules-5.10.0-26-powerpc64le-di +Package: serial-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: serial-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di Description: Serial drivers This package contains serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: usb-serial-modules-5.10.0-26-powerpc64le-di +Package: usb-serial-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di, usb-modules-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di, usb-modules-5.10.0-27-powerpc64le-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: ppp-modules-5.10.0-26-powerpc64le-di +Package: ppp-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di, serial-modules-5.10.0-26-powerpc64le-di, crc-modules-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di, serial-modules-5.10.0-27-powerpc64le-di, crc-modules-5.10.0-27-powerpc64le-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: cdrom-core-modules-5.10.0-26-powerpc64le-di +Package: cdrom-core-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di, scsi-core-modules-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di, scsi-core-modules-5.10.0-27-powerpc64le-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: firewire-core-modules-5.10.0-26-powerpc64le-di +Package: firewire-core-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: firewire-core-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di, scsi-core-modules-5.10.0-26-powerpc64le-di, crc-modules-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di, scsi-core-modules-5.10.0-27-powerpc64le-di, crc-modules-5.10.0-27-powerpc64le-di Description: Core FireWire drivers This package contains core FireWire drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: scsi-core-modules-5.10.0-26-powerpc64le-di +Package: scsi-core-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: scsi-modules-5.10.0-26-powerpc64le-di +Package: scsi-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di, scsi-core-modules-5.10.0-26-powerpc64le-di, cdrom-core-modules-5.10.0-26-powerpc64le-di, ata-modules-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di, scsi-core-modules-5.10.0-27-powerpc64le-di, cdrom-core-modules-5.10.0-27-powerpc64le-di, ata-modules-5.10.0-27-powerpc64le-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: scsi-nic-modules-5.10.0-26-powerpc64le-di +Package: scsi-nic-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-5.10.0-26-powerpc64le-di, nic-modules-5.10.0-26-powerpc64le-di +Depends: scsi-modules-5.10.0-27-powerpc64le-di, nic-modules-5.10.0-27-powerpc64le-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: loop-modules-5.10.0-26-powerpc64le-di +Package: loop-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: btrfs-modules-5.10.0-26-powerpc64le-di +Package: btrfs-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di, crc-modules-5.10.0-26-powerpc64le-di, md-modules-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di, crc-modules-5.10.0-27-powerpc64le-di, md-modules-5.10.0-27-powerpc64le-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: ext4-modules-5.10.0-26-powerpc64le-di +Package: ext4-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di, crc-modules-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di, crc-modules-5.10.0-27-powerpc64le-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: isofs-modules-5.10.0-26-powerpc64le-di +Package: isofs-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di, cdrom-core-modules-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di, cdrom-core-modules-5.10.0-27-powerpc64le-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: jfs-modules-5.10.0-26-powerpc64le-di +Package: jfs-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: xfs-modules-5.10.0-26-powerpc64le-di +Package: xfs-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di, crc-modules-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di, crc-modules-5.10.0-27-powerpc64le-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: fat-modules-5.10.0-26-powerpc64le-di +Package: fat-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: squashfs-modules-5.10.0-26-powerpc64le-di +Package: squashfs-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: udf-modules-5.10.0-26-powerpc64le-di +Package: udf-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di, crc-modules-5.10.0-26-powerpc64le-di, cdrom-core-modules-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di, crc-modules-5.10.0-27-powerpc64le-di, cdrom-core-modules-5.10.0-27-powerpc64le-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: fuse-modules-5.10.0-26-powerpc64le-di +Package: fuse-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: f2fs-modules-5.10.0-26-powerpc64le-di +Package: f2fs-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di, crc-modules-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di, crc-modules-5.10.0-27-powerpc64le-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: md-modules-5.10.0-26-powerpc64le-di +Package: md-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di, crc-modules-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di, crc-modules-5.10.0-27-powerpc64le-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: multipath-modules-5.10.0-26-powerpc64le-di +Package: multipath-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di, md-modules-5.10.0-26-powerpc64le-di, scsi-core-modules-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di, md-modules-5.10.0-27-powerpc64le-di, scsi-core-modules-5.10.0-27-powerpc64le-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: usb-modules-5.10.0-26-powerpc64le-di +Package: usb-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: usb-storage-modules-5.10.0-26-powerpc64le-di +Package: usb-storage-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di, scsi-core-modules-5.10.0-26-powerpc64le-di, usb-modules-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di, scsi-core-modules-5.10.0-27-powerpc64le-di, usb-modules-5.10.0-27-powerpc64le-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: fb-modules-5.10.0-26-powerpc64le-di +Package: fb-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di, i2c-modules-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di, i2c-modules-5.10.0-27-powerpc64le-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: input-modules-5.10.0-26-powerpc64le-di +Package: input-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di, usb-modules-5.10.0-26-powerpc64le-di, i2c-modules-5.10.0-26-powerpc64le-di, crc-modules-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di, usb-modules-5.10.0-27-powerpc64le-di, i2c-modules-5.10.0-27-powerpc64le-di, crc-modules-5.10.0-27-powerpc64le-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: event-modules-5.10.0-26-powerpc64le-di +Package: event-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: mouse-modules-5.10.0-26-powerpc64le-di +Package: mouse-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di, event-modules-5.10.0-26-powerpc64le-di, input-modules-5.10.0-26-powerpc64le-di, usb-modules-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di, event-modules-5.10.0-27-powerpc64le-di, input-modules-5.10.0-27-powerpc64le-di, usb-modules-5.10.0-27-powerpc64le-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: nic-usb-modules-5.10.0-26-powerpc64le-di +Package: nic-usb-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di, nic-shared-modules-5.10.0-26-powerpc64le-di, nic-wireless-modules-5.10.0-26-powerpc64le-di, usb-modules-5.10.0-26-powerpc64le-di, crc-modules-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di, nic-shared-modules-5.10.0-27-powerpc64le-di, nic-wireless-modules-5.10.0-27-powerpc64le-di, usb-modules-5.10.0-27-powerpc64le-di, crc-modules-5.10.0-27-powerpc64le-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: sata-modules-5.10.0-26-powerpc64le-di +Package: sata-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di, scsi-core-modules-5.10.0-26-powerpc64le-di, ata-modules-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di, scsi-core-modules-5.10.0-27-powerpc64le-di, ata-modules-5.10.0-27-powerpc64le-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: i2c-modules-5.10.0-26-powerpc64le-di +Package: i2c-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: crc-modules-5.10.0-26-powerpc64le-di +Package: crc-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: crypto-modules-5.10.0-26-powerpc64le-di +Package: crypto-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-powerpc64le-di +Package: crypto-dm-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di, md-modules-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di, md-modules-5.10.0-27-powerpc64le-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: ata-modules-5.10.0-26-powerpc64le-di +Package: ata-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di, scsi-core-modules-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di, scsi-core-modules-5.10.0-27-powerpc64le-di Description: ATA disk modules This package contains core ATA disk modules used by both PATA and SATA disk drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: nbd-modules-5.10.0-26-powerpc64le-di +Package: nbd-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: uinput-modules-5.10.0-26-powerpc64le-di +Package: uinput-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: uinput-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di Description: uinput support This package contains the uinput module. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: mtd-core-modules-5.10.0-26-powerpc64le-di +Package: mtd-core-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: hypervisor-modules-5.10.0-26-powerpc64le-di +Package: hypervisor-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: hypervisor-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di Description: IBM 64bit hypervisor console modules Contains drivers for the hypervisor console, used as console for linux running in logical partitions of IBM hardware supporting it. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: fancontrol-modules-5.10.0-26-powerpc64le-di +Package: fancontrol-modules-5.10.0-27-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: fancontrol-modules -Depends: kernel-image-5.10.0-26-powerpc64le-di +Depends: kernel-image-5.10.0-27-powerpc64le-di Description: Apple powermac fancontrol modules Contains drivers for macintosh i2c bus as well as for the monitoring devices connected to it. This allows to control the fans during installation. Build-Profiles: -Kernel-Version: 5.10.0-26-powerpc64le +Kernel-Version: 5.10.0-27-powerpc64le Package-Type: udeb -Package: linux-image-5.10.0-26-powerpc64le +Package: linux-image-5.10.0-27-powerpc64le Architecture: ppc64el -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [ppc64el] | linux-initramfs-tool [ppc64el] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [ppc64el] | linux-initramfs-tool [ppc64el] Recommends: firmware-linux-free, apparmor [ppc64el] Suggests: linux-doc-5.10, debian-kernel-handbook, mkvmlinuz [ppc64el], grub-ieee1275 [ppc64el] Breaks: fwupdate (<< 12-7) [ppc64el], wireless-regdb (<< 2019.06.03-1~) [ppc64el], initramfs-tools (<< 0.120+deb8u2) @@ -12219,22 +12219,22 @@ The Linux kernel 5.10 and modules for use on Little-endian 64-bit PowerPC. Build-Profiles: -Package: linux-headers-5.10.0-26-powerpc64le +Package: linux-headers-5.10.0-27-powerpc64le Architecture: ppc64el -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-powerpc64le +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-powerpc64le This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-powerpc64le, generally used for building + Linux kernel 5.10.0-27-powerpc64le, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-powerpc64le, and can be used for building + /usr/src/linux-headers-5.10.0-27-powerpc64le, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-powerpc64le package. + linux-image-5.10.0-27-powerpc64le package. Build-Profiles: Package: linux-image-powerpc64le Architecture: ppc64el -Provides: linux-latest-modules-5.10.0-26-powerpc64le, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic -Depends: linux-image-5.10.0-26-powerpc64le (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-powerpc64le, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic +Depends: linux-image-5.10.0-27-powerpc64le (= ${binary:Version}), ${misc:Depends} Description: Linux for Little-endian 64-bit PowerPC (meta-package) This package depends on the latest Linux kernel and modules for use on Little-endian 64-bit PowerPC. @@ -12243,32 +12243,32 @@ Package: linux-headers-powerpc64le Architecture: ppc64el Provides: linux-headers-generic -Depends: linux-headers-5.10.0-26-powerpc64le (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-powerpc64le (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux powerpc64le configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel powerpc64le configuration. Build-Profiles: -Package: linux-image-5.10.0-26-powerpc64le-dbg +Package: linux-image-5.10.0-27-powerpc64le-dbg Architecture: ppc64el Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-powerpc64le +Description: Debug symbols for linux-image-5.10.0-27-powerpc64le This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-powerpc64le. + modules in linux-image-5.10.0-27-powerpc64le. Build-Profiles: Package: linux-image-powerpc64le-dbg Architecture: ppc64el Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-powerpc64le-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-powerpc64le-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux powerpc64le configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel powerpc64le configuration. Build-Profiles: -Package: kernel-image-5.10.0-26-riscv64-di +Package: kernel-image-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard @@ -12278,487 +12278,487 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: nic-modules-5.10.0-26-riscv64-di +Package: nic-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-5.10.0-26-riscv64-di, nic-shared-modules-5.10.0-26-riscv64-di, i2c-modules-5.10.0-26-riscv64-di, crc-modules-5.10.0-26-riscv64-di, mtd-core-modules-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di, nic-shared-modules-5.10.0-27-riscv64-di, i2c-modules-5.10.0-27-riscv64-di, crc-modules-5.10.0-27-riscv64-di, mtd-core-modules-5.10.0-27-riscv64-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: nic-wireless-modules-5.10.0-26-riscv64-di +Package: nic-wireless-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-5.10.0-26-riscv64-di, nic-shared-modules-5.10.0-26-riscv64-di, usb-modules-5.10.0-26-riscv64-di, mmc-core-modules-5.10.0-26-riscv64-di, crc-modules-5.10.0-26-riscv64-di, crypto-modules-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di, nic-shared-modules-5.10.0-27-riscv64-di, usb-modules-5.10.0-27-riscv64-di, mmc-core-modules-5.10.0-27-riscv64-di, crc-modules-5.10.0-27-riscv64-di, crypto-modules-5.10.0-27-riscv64-di Description: Wireless NIC drivers This package contains wireless NIC drivers for the kernel. Includes crypto modules only needed for wireless (WEP, WPA). Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-riscv64-di +Package: nic-shared-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: usb-serial-modules-5.10.0-26-riscv64-di +Package: usb-serial-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-5.10.0-26-riscv64-di, usb-modules-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di, usb-modules-5.10.0-27-riscv64-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: ppp-modules-5.10.0-26-riscv64-di +Package: ppp-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-5.10.0-26-riscv64-di, crc-modules-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di, crc-modules-5.10.0-27-riscv64-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: pata-modules-5.10.0-26-riscv64-di +Package: pata-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-5.10.0-26-riscv64-di, ata-modules-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di, ata-modules-5.10.0-27-riscv64-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: cdrom-core-modules-5.10.0-26-riscv64-di +Package: cdrom-core-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-5.10.0-26-riscv64-di, scsi-core-modules-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di, scsi-core-modules-5.10.0-27-riscv64-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: scsi-core-modules-5.10.0-26-riscv64-di +Package: scsi-core-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: scsi-modules-5.10.0-26-riscv64-di +Package: scsi-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-5.10.0-26-riscv64-di, scsi-core-modules-5.10.0-26-riscv64-di, cdrom-core-modules-5.10.0-26-riscv64-di, ata-modules-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di, scsi-core-modules-5.10.0-27-riscv64-di, cdrom-core-modules-5.10.0-27-riscv64-di, ata-modules-5.10.0-27-riscv64-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: scsi-nic-modules-5.10.0-26-riscv64-di +Package: scsi-nic-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-5.10.0-26-riscv64-di, nic-modules-5.10.0-26-riscv64-di +Depends: scsi-modules-5.10.0-27-riscv64-di, nic-modules-5.10.0-27-riscv64-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: loop-modules-5.10.0-26-riscv64-di +Package: loop-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: btrfs-modules-5.10.0-26-riscv64-di +Package: btrfs-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-riscv64-di, crc-modules-5.10.0-26-riscv64-di, md-modules-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di, crc-modules-5.10.0-27-riscv64-di, md-modules-5.10.0-27-riscv64-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: ext4-modules-5.10.0-26-riscv64-di +Package: ext4-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-riscv64-di, crc-modules-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di, crc-modules-5.10.0-27-riscv64-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: isofs-modules-5.10.0-26-riscv64-di +Package: isofs-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-riscv64-di, cdrom-core-modules-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di, cdrom-core-modules-5.10.0-27-riscv64-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: jfs-modules-5.10.0-26-riscv64-di +Package: jfs-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: fat-modules-5.10.0-26-riscv64-di +Package: fat-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: squashfs-modules-5.10.0-26-riscv64-di +Package: squashfs-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: udf-modules-5.10.0-26-riscv64-di +Package: udf-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-riscv64-di, crc-modules-5.10.0-26-riscv64-di, cdrom-core-modules-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di, crc-modules-5.10.0-27-riscv64-di, cdrom-core-modules-5.10.0-27-riscv64-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: fuse-modules-5.10.0-26-riscv64-di +Package: fuse-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: f2fs-modules-5.10.0-26-riscv64-di +Package: f2fs-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-riscv64-di, crc-modules-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di, crc-modules-5.10.0-27-riscv64-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: md-modules-5.10.0-26-riscv64-di +Package: md-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-riscv64-di, crc-modules-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di, crc-modules-5.10.0-27-riscv64-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: multipath-modules-5.10.0-26-riscv64-di +Package: multipath-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-riscv64-di, md-modules-5.10.0-26-riscv64-di, scsi-core-modules-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di, md-modules-5.10.0-27-riscv64-di, scsi-core-modules-5.10.0-27-riscv64-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: usb-modules-5.10.0-26-riscv64-di +Package: usb-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: usb-storage-modules-5.10.0-26-riscv64-di +Package: usb-storage-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-5.10.0-26-riscv64-di, scsi-core-modules-5.10.0-26-riscv64-di, usb-modules-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di, scsi-core-modules-5.10.0-27-riscv64-di, usb-modules-5.10.0-27-riscv64-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: fb-modules-5.10.0-26-riscv64-di +Package: fb-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-5.10.0-26-riscv64-di, i2c-modules-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di, i2c-modules-5.10.0-27-riscv64-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: input-modules-5.10.0-26-riscv64-di +Package: input-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-5.10.0-26-riscv64-di, usb-modules-5.10.0-26-riscv64-di, i2c-modules-5.10.0-26-riscv64-di, crc-modules-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di, usb-modules-5.10.0-27-riscv64-di, i2c-modules-5.10.0-27-riscv64-di, crc-modules-5.10.0-27-riscv64-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: event-modules-5.10.0-26-riscv64-di +Package: event-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: nic-usb-modules-5.10.0-26-riscv64-di +Package: nic-usb-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-5.10.0-26-riscv64-di, nic-shared-modules-5.10.0-26-riscv64-di, nic-wireless-modules-5.10.0-26-riscv64-di, usb-modules-5.10.0-26-riscv64-di, crc-modules-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di, nic-shared-modules-5.10.0-27-riscv64-di, nic-wireless-modules-5.10.0-27-riscv64-di, usb-modules-5.10.0-27-riscv64-di, crc-modules-5.10.0-27-riscv64-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: sata-modules-5.10.0-26-riscv64-di +Package: sata-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-5.10.0-26-riscv64-di, scsi-core-modules-5.10.0-26-riscv64-di, ata-modules-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di, scsi-core-modules-5.10.0-27-riscv64-di, ata-modules-5.10.0-27-riscv64-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: i2c-modules-5.10.0-26-riscv64-di +Package: i2c-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: crc-modules-5.10.0-26-riscv64-di +Package: crc-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: crypto-modules-5.10.0-26-riscv64-di +Package: crypto-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-riscv64-di +Package: crypto-dm-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-riscv64-di, md-modules-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di, md-modules-5.10.0-27-riscv64-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: ata-modules-5.10.0-26-riscv64-di +Package: ata-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-5.10.0-26-riscv64-di, scsi-core-modules-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di, scsi-core-modules-5.10.0-27-riscv64-di Description: ATA disk modules This package contains core ATA disk modules used by both PATA and SATA disk drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: mmc-core-modules-5.10.0-26-riscv64-di +Package: mmc-core-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: mmc-core-modules -Depends: kernel-image-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di Description: MMC/SD/SDIO core modules This package contains core modules for MMC/SD/SDIO support. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: mmc-modules-5.10.0-26-riscv64-di +Package: mmc-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: mmc-modules -Depends: kernel-image-5.10.0-26-riscv64-di, mmc-core-modules-5.10.0-26-riscv64-di, usb-modules-5.10.0-26-riscv64-di, crc-modules-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di, mmc-core-modules-5.10.0-27-riscv64-di, usb-modules-5.10.0-27-riscv64-di, crc-modules-5.10.0-27-riscv64-di Description: MMC/SD card modules This package contains modules needed to support MMC (multimedia) and SD cards. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: nbd-modules-5.10.0-26-riscv64-di +Package: nbd-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: mtd-modules-5.10.0-26-riscv64-di +Package: mtd-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: mtd-modules -Depends: kernel-image-5.10.0-26-riscv64-di, mtd-core-modules-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di, mtd-core-modules-5.10.0-27-riscv64-di Description: MTD driver modules This package contains MTD driver modules. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: mtd-core-modules-5.10.0-26-riscv64-di +Package: mtd-core-modules-5.10.0-27-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-5.10.0-26-riscv64-di +Depends: kernel-image-5.10.0-27-riscv64-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 5.10.0-26-riscv64 +Kernel-Version: 5.10.0-27-riscv64 Package-Type: udeb -Package: linux-image-5.10.0-26-riscv64 +Package: linux-image-5.10.0-27-riscv64 Architecture: riscv64 -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [riscv64] | linux-initramfs-tool [riscv64] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [riscv64] | linux-initramfs-tool [riscv64] Recommends: firmware-linux-free, apparmor [riscv64] Suggests: linux-doc-5.10, debian-kernel-handbook Breaks: fwupdate (<< 12-7) [riscv64], wireless-regdb (<< 2019.06.03-1~) [riscv64], initramfs-tools (<< 0.120+deb8u2) @@ -12766,22 +12766,22 @@ The Linux kernel 5.10 and modules for use on 64-bit RISC-V platforms. Build-Profiles: -Package: linux-headers-5.10.0-26-riscv64 +Package: linux-headers-5.10.0-27-riscv64 Architecture: riscv64 -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-riscv64 +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-riscv64 This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-riscv64, generally used for building out-of-tree + Linux kernel 5.10.0-27-riscv64, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-riscv64, and can be used for building + /usr/src/linux-headers-5.10.0-27-riscv64, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-riscv64 package. + linux-image-5.10.0-27-riscv64 package. Build-Profiles: Package: linux-image-riscv64 Architecture: riscv64 -Provides: linux-latest-modules-5.10.0-26-riscv64, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic -Depends: linux-image-5.10.0-26-riscv64 (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-riscv64, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic +Depends: linux-image-5.10.0-27-riscv64 (= ${binary:Version}), ${misc:Depends} Description: Linux for 64-bit RISC-V platforms (meta-package) This package depends on the latest Linux kernel and modules for use on 64-bit RISC-V platforms. @@ -12790,32 +12790,32 @@ Package: linux-headers-riscv64 Architecture: riscv64 Provides: linux-headers-generic -Depends: linux-headers-5.10.0-26-riscv64 (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-riscv64 (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux riscv64 configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel riscv64 configuration. Build-Profiles: -Package: linux-image-5.10.0-26-riscv64-dbg +Package: linux-image-5.10.0-27-riscv64-dbg Architecture: riscv64 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-riscv64 +Description: Debug symbols for linux-image-5.10.0-27-riscv64 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-riscv64. + modules in linux-image-5.10.0-27-riscv64. Build-Profiles: Package: linux-image-riscv64-dbg Architecture: riscv64 Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-riscv64-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-riscv64-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux riscv64 configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel riscv64 configuration. Build-Profiles: -Package: kernel-image-5.10.0-26-s390x-di +Package: kernel-image-5.10.0-27-s390x-di Architecture: s390x Section: debian-installer Priority: standard @@ -12825,281 +12825,281 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-s390x +Kernel-Version: 5.10.0-27-s390x Package-Type: udeb -Package: nic-modules-5.10.0-26-s390x-di +Package: nic-modules-5.10.0-27-s390x-di Architecture: s390x Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-5.10.0-26-s390x-di, crc-modules-5.10.0-26-s390x-di, mtd-core-modules-5.10.0-26-s390x-di +Depends: kernel-image-5.10.0-27-s390x-di, crc-modules-5.10.0-27-s390x-di, mtd-core-modules-5.10.0-27-s390x-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-s390x +Kernel-Version: 5.10.0-27-s390x Package-Type: udeb -Package: cdrom-core-modules-5.10.0-26-s390x-di +Package: cdrom-core-modules-5.10.0-27-s390x-di Architecture: s390x Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-5.10.0-26-s390x-di, scsi-core-modules-5.10.0-26-s390x-di +Depends: kernel-image-5.10.0-27-s390x-di, scsi-core-modules-5.10.0-27-s390x-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-s390x +Kernel-Version: 5.10.0-27-s390x Package-Type: udeb -Package: scsi-core-modules-5.10.0-26-s390x-di +Package: scsi-core-modules-5.10.0-27-s390x-di Architecture: s390x Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-5.10.0-26-s390x-di +Depends: kernel-image-5.10.0-27-s390x-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-s390x +Kernel-Version: 5.10.0-27-s390x Package-Type: udeb -Package: scsi-modules-5.10.0-26-s390x-di +Package: scsi-modules-5.10.0-27-s390x-di Architecture: s390x Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-5.10.0-26-s390x-di, scsi-core-modules-5.10.0-26-s390x-di, cdrom-core-modules-5.10.0-26-s390x-di +Depends: kernel-image-5.10.0-27-s390x-di, scsi-core-modules-5.10.0-27-s390x-di, cdrom-core-modules-5.10.0-27-s390x-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-s390x +Kernel-Version: 5.10.0-27-s390x Package-Type: udeb -Package: loop-modules-5.10.0-26-s390x-di +Package: loop-modules-5.10.0-27-s390x-di Architecture: s390x Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-s390x-di +Depends: kernel-image-5.10.0-27-s390x-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-s390x +Kernel-Version: 5.10.0-27-s390x Package-Type: udeb -Package: btrfs-modules-5.10.0-26-s390x-di +Package: btrfs-modules-5.10.0-27-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-s390x-di, crc-modules-5.10.0-26-s390x-di, md-modules-5.10.0-26-s390x-di +Depends: kernel-image-5.10.0-27-s390x-di, crc-modules-5.10.0-27-s390x-di, md-modules-5.10.0-27-s390x-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-s390x +Kernel-Version: 5.10.0-27-s390x Package-Type: udeb -Package: ext4-modules-5.10.0-26-s390x-di +Package: ext4-modules-5.10.0-27-s390x-di Architecture: s390x Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-s390x-di, crc-modules-5.10.0-26-s390x-di +Depends: kernel-image-5.10.0-27-s390x-di, crc-modules-5.10.0-27-s390x-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-s390x +Kernel-Version: 5.10.0-27-s390x Package-Type: udeb -Package: isofs-modules-5.10.0-26-s390x-di +Package: isofs-modules-5.10.0-27-s390x-di Architecture: s390x Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-s390x-di, cdrom-core-modules-5.10.0-26-s390x-di +Depends: kernel-image-5.10.0-27-s390x-di, cdrom-core-modules-5.10.0-27-s390x-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-s390x +Kernel-Version: 5.10.0-27-s390x Package-Type: udeb -Package: xfs-modules-5.10.0-26-s390x-di +Package: xfs-modules-5.10.0-27-s390x-di Architecture: s390x Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-5.10.0-26-s390x-di, crc-modules-5.10.0-26-s390x-di +Depends: kernel-image-5.10.0-27-s390x-di, crc-modules-5.10.0-27-s390x-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-s390x +Kernel-Version: 5.10.0-27-s390x Package-Type: udeb -Package: fat-modules-5.10.0-26-s390x-di +Package: fat-modules-5.10.0-27-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-5.10.0-26-s390x-di +Depends: kernel-image-5.10.0-27-s390x-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-s390x +Kernel-Version: 5.10.0-27-s390x Package-Type: udeb -Package: udf-modules-5.10.0-26-s390x-di +Package: udf-modules-5.10.0-27-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-s390x-di, crc-modules-5.10.0-26-s390x-di, cdrom-core-modules-5.10.0-26-s390x-di +Depends: kernel-image-5.10.0-27-s390x-di, crc-modules-5.10.0-27-s390x-di, cdrom-core-modules-5.10.0-27-s390x-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-s390x +Kernel-Version: 5.10.0-27-s390x Package-Type: udeb -Package: fuse-modules-5.10.0-26-s390x-di +Package: fuse-modules-5.10.0-27-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-s390x-di +Depends: kernel-image-5.10.0-27-s390x-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-s390x +Kernel-Version: 5.10.0-27-s390x Package-Type: udeb -Package: f2fs-modules-5.10.0-26-s390x-di +Package: f2fs-modules-5.10.0-27-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-s390x-di, crc-modules-5.10.0-26-s390x-di +Depends: kernel-image-5.10.0-27-s390x-di, crc-modules-5.10.0-27-s390x-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-s390x +Kernel-Version: 5.10.0-27-s390x Package-Type: udeb -Package: md-modules-5.10.0-26-s390x-di +Package: md-modules-5.10.0-27-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-s390x-di, crc-modules-5.10.0-26-s390x-di +Depends: kernel-image-5.10.0-27-s390x-di, crc-modules-5.10.0-27-s390x-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-s390x +Kernel-Version: 5.10.0-27-s390x Package-Type: udeb -Package: multipath-modules-5.10.0-26-s390x-di +Package: multipath-modules-5.10.0-27-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-s390x-di, md-modules-5.10.0-26-s390x-di, scsi-core-modules-5.10.0-26-s390x-di +Depends: kernel-image-5.10.0-27-s390x-di, md-modules-5.10.0-27-s390x-di, scsi-core-modules-5.10.0-27-s390x-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-s390x +Kernel-Version: 5.10.0-27-s390x Package-Type: udeb -Package: crc-modules-5.10.0-26-s390x-di +Package: crc-modules-5.10.0-27-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-s390x-di +Depends: kernel-image-5.10.0-27-s390x-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-s390x +Kernel-Version: 5.10.0-27-s390x Package-Type: udeb -Package: crypto-modules-5.10.0-26-s390x-di +Package: crypto-modules-5.10.0-27-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-s390x-di +Depends: kernel-image-5.10.0-27-s390x-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-s390x +Kernel-Version: 5.10.0-27-s390x Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-s390x-di +Package: crypto-dm-modules-5.10.0-27-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-s390x-di, md-modules-5.10.0-26-s390x-di +Depends: kernel-image-5.10.0-27-s390x-di, md-modules-5.10.0-27-s390x-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-s390x +Kernel-Version: 5.10.0-27-s390x Package-Type: udeb -Package: nbd-modules-5.10.0-26-s390x-di +Package: nbd-modules-5.10.0-27-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-s390x-di +Depends: kernel-image-5.10.0-27-s390x-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-s390x +Kernel-Version: 5.10.0-27-s390x Package-Type: udeb -Package: mtd-core-modules-5.10.0-26-s390x-di +Package: mtd-core-modules-5.10.0-27-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-5.10.0-26-s390x-di +Depends: kernel-image-5.10.0-27-s390x-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 5.10.0-26-s390x +Kernel-Version: 5.10.0-27-s390x Package-Type: udeb -Package: dasd-modules-5.10.0-26-s390x-di +Package: dasd-modules-5.10.0-27-s390x-di Architecture: s390x Section: debian-installer Priority: standard Provides: dasd-modules -Depends: kernel-image-5.10.0-26-s390x-di +Depends: kernel-image-5.10.0-27-s390x-di Description: dasd modules This package contains dasd modules. Build-Profiles: -Kernel-Version: 5.10.0-26-s390x +Kernel-Version: 5.10.0-27-s390x Package-Type: udeb -Package: dasd-extra-modules-5.10.0-26-s390x-di +Package: dasd-extra-modules-5.10.0-27-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: dasd-extra-modules -Depends: kernel-image-5.10.0-26-s390x-di, dasd-modules-5.10.0-26-s390x-di +Depends: kernel-image-5.10.0-27-s390x-di, dasd-modules-5.10.0-27-s390x-di Description: optional dasd DIAG support This package contains the module for dasd DIAG support. The udeb is not loaded by default as the installer does not actually support this. It can however be useful to have available in rescue situations. Build-Profiles: -Kernel-Version: 5.10.0-26-s390x +Kernel-Version: 5.10.0-27-s390x Package-Type: udeb -Package: linux-image-5.10.0-26-s390x +Package: linux-image-5.10.0-27-s390x Architecture: s390x -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [s390x] | linux-initramfs-tool [s390x] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [s390x] | linux-initramfs-tool [s390x] Recommends: firmware-linux-free, apparmor [s390x] Suggests: linux-doc-5.10, debian-kernel-handbook, s390-tools [s390x] Breaks: fwupdate (<< 12-7) [s390x], wireless-regdb (<< 2019.06.03-1~) [s390x], initramfs-tools (<< 0.120+deb8u2) @@ -13107,22 +13107,22 @@ The Linux kernel 5.10 and modules for use on IBM zSeries. Build-Profiles: -Package: linux-headers-5.10.0-26-s390x +Package: linux-headers-5.10.0-27-s390x Architecture: s390x -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-s390 -Description: Header files for Linux 5.10.0-26-s390x +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-10-s390 +Description: Header files for Linux 5.10.0-27-s390x This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-s390x, generally used for building out-of-tree + Linux kernel 5.10.0-27-s390x, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-s390x, and can be used for building + /usr/src/linux-headers-5.10.0-27-s390x, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-s390x package. + linux-image-5.10.0-27-s390x package. Build-Profiles: Package: linux-image-s390x Architecture: s390x -Provides: linux-latest-modules-5.10.0-26-s390x, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic -Depends: linux-image-5.10.0-26-s390x (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-s390x, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic +Depends: linux-image-5.10.0-27-s390x (= ${binary:Version}), ${misc:Depends} Description: Linux for IBM zSeries (meta-package) This package depends on the latest Linux kernel and modules for use on IBM zSeries. @@ -13131,32 +13131,32 @@ Package: linux-headers-s390x Architecture: s390x Provides: linux-headers-generic -Depends: linux-headers-5.10.0-26-s390x (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-s390x (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux s390x configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel s390x configuration. Build-Profiles: -Package: linux-image-5.10.0-26-s390x-dbg +Package: linux-image-5.10.0-27-s390x-dbg Architecture: s390x Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-s390x +Description: Debug symbols for linux-image-5.10.0-27-s390x This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-s390x. + modules in linux-image-5.10.0-27-s390x. Build-Profiles: Package: linux-image-s390x-dbg Architecture: s390x Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-s390x-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-s390x-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux s390x configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel s390x configuration. Build-Profiles: -Package: kernel-image-5.10.0-26-sh7751r-di +Package: kernel-image-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard @@ -13166,386 +13166,386 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: nic-modules-5.10.0-26-sh7751r-di +Package: nic-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-5.10.0-26-sh7751r-di, nic-shared-modules-5.10.0-26-sh7751r-di, i2c-modules-5.10.0-26-sh7751r-di, crc-modules-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di, nic-shared-modules-5.10.0-27-sh7751r-di, i2c-modules-5.10.0-27-sh7751r-di, crc-modules-5.10.0-27-sh7751r-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-sh7751r-di +Package: nic-shared-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: usb-serial-modules-5.10.0-26-sh7751r-di +Package: usb-serial-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: ppp-modules-5.10.0-26-sh7751r-di +Package: ppp-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-5.10.0-26-sh7751r-di, crc-modules-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di, crc-modules-5.10.0-27-sh7751r-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: pata-modules-5.10.0-26-sh7751r-di +Package: pata-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: cdrom-core-modules-5.10.0-26-sh7751r-di +Package: cdrom-core-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: firewire-core-modules-5.10.0-26-sh7751r-di +Package: firewire-core-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: firewire-core-modules -Depends: kernel-image-5.10.0-26-sh7751r-di, crc-modules-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di, crc-modules-5.10.0-27-sh7751r-di Description: Core FireWire drivers This package contains core FireWire drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: loop-modules-5.10.0-26-sh7751r-di +Package: loop-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: btrfs-modules-5.10.0-26-sh7751r-di +Package: btrfs-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-sh7751r-di, crc-modules-5.10.0-26-sh7751r-di, md-modules-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di, crc-modules-5.10.0-27-sh7751r-di, md-modules-5.10.0-27-sh7751r-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: ext4-modules-5.10.0-26-sh7751r-di +Package: ext4-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-sh7751r-di, crc-modules-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di, crc-modules-5.10.0-27-sh7751r-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: isofs-modules-5.10.0-26-sh7751r-di +Package: isofs-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-sh7751r-di, cdrom-core-modules-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di, cdrom-core-modules-5.10.0-27-sh7751r-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: jfs-modules-5.10.0-26-sh7751r-di +Package: jfs-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: xfs-modules-5.10.0-26-sh7751r-di +Package: xfs-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-5.10.0-26-sh7751r-di, crc-modules-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di, crc-modules-5.10.0-27-sh7751r-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: fat-modules-5.10.0-26-sh7751r-di +Package: fat-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: minix-modules-5.10.0-26-sh7751r-di +Package: minix-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: minix-modules -Depends: kernel-image-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di Description: Minix filesystem support This package contains the Minix filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: squashfs-modules-5.10.0-26-sh7751r-di +Package: squashfs-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: udf-modules-5.10.0-26-sh7751r-di +Package: udf-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-sh7751r-di, crc-modules-5.10.0-26-sh7751r-di, cdrom-core-modules-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di, crc-modules-5.10.0-27-sh7751r-di, cdrom-core-modules-5.10.0-27-sh7751r-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: fuse-modules-5.10.0-26-sh7751r-di +Package: fuse-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: f2fs-modules-5.10.0-26-sh7751r-di +Package: f2fs-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-sh7751r-di, crc-modules-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di, crc-modules-5.10.0-27-sh7751r-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: md-modules-5.10.0-26-sh7751r-di +Package: md-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-sh7751r-di, crc-modules-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di, crc-modules-5.10.0-27-sh7751r-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: multipath-modules-5.10.0-26-sh7751r-di +Package: multipath-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-sh7751r-di, md-modules-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di, md-modules-5.10.0-27-sh7751r-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: usb-storage-modules-5.10.0-26-sh7751r-di +Package: usb-storage-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: nic-usb-modules-5.10.0-26-sh7751r-di +Package: nic-usb-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-5.10.0-26-sh7751r-di, nic-shared-modules-5.10.0-26-sh7751r-di, crc-modules-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di, nic-shared-modules-5.10.0-27-sh7751r-di, crc-modules-5.10.0-27-sh7751r-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: sata-modules-5.10.0-26-sh7751r-di +Package: sata-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: i2c-modules-5.10.0-26-sh7751r-di +Package: i2c-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: crc-modules-5.10.0-26-sh7751r-di +Package: crc-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: crypto-modules-5.10.0-26-sh7751r-di +Package: crypto-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-sh7751r-di +Package: crypto-dm-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-sh7751r-di, md-modules-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di, md-modules-5.10.0-27-sh7751r-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: nbd-modules-5.10.0-26-sh7751r-di +Package: nbd-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: speakup-modules-5.10.0-26-sh7751r-di +Package: speakup-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: speakup-modules -Depends: kernel-image-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di Description: speakup modules This package contains speakup modules. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: sound-modules-5.10.0-26-sh7751r-di +Package: sound-modules-5.10.0-27-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: sound-modules -Depends: kernel-image-5.10.0-26-sh7751r-di, i2c-modules-5.10.0-26-sh7751r-di, firewire-core-modules-5.10.0-26-sh7751r-di, crc-modules-5.10.0-26-sh7751r-di +Depends: kernel-image-5.10.0-27-sh7751r-di, i2c-modules-5.10.0-27-sh7751r-di, firewire-core-modules-5.10.0-27-sh7751r-di, crc-modules-5.10.0-27-sh7751r-di Description: sound support This package contains sound modules. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7751r +Kernel-Version: 5.10.0-27-sh7751r Package-Type: udeb -Package: kernel-image-5.10.0-26-sh7785lcr-di +Package: kernel-image-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard @@ -13555,364 +13555,364 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: nic-modules-5.10.0-26-sh7785lcr-di +Package: nic-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di, nic-shared-modules-5.10.0-26-sh7785lcr-di, crc-modules-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di, nic-shared-modules-5.10.0-27-sh7785lcr-di, crc-modules-5.10.0-27-sh7785lcr-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-sh7785lcr-di +Package: nic-shared-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: usb-serial-modules-5.10.0-26-sh7785lcr-di +Package: usb-serial-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: ppp-modules-5.10.0-26-sh7785lcr-di +Package: ppp-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di, crc-modules-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di, crc-modules-5.10.0-27-sh7785lcr-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: pata-modules-5.10.0-26-sh7785lcr-di +Package: pata-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: cdrom-core-modules-5.10.0-26-sh7785lcr-di +Package: cdrom-core-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: firewire-core-modules-5.10.0-26-sh7785lcr-di +Package: firewire-core-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: firewire-core-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di, crc-modules-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di, crc-modules-5.10.0-27-sh7785lcr-di Description: Core FireWire drivers This package contains core FireWire drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: loop-modules-5.10.0-26-sh7785lcr-di +Package: loop-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: btrfs-modules-5.10.0-26-sh7785lcr-di +Package: btrfs-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di, crc-modules-5.10.0-26-sh7785lcr-di, md-modules-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di, crc-modules-5.10.0-27-sh7785lcr-di, md-modules-5.10.0-27-sh7785lcr-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: ext4-modules-5.10.0-26-sh7785lcr-di +Package: ext4-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di, crc-modules-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di, crc-modules-5.10.0-27-sh7785lcr-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: isofs-modules-5.10.0-26-sh7785lcr-di +Package: isofs-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di, cdrom-core-modules-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di, cdrom-core-modules-5.10.0-27-sh7785lcr-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: jfs-modules-5.10.0-26-sh7785lcr-di +Package: jfs-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: xfs-modules-5.10.0-26-sh7785lcr-di +Package: xfs-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di, crc-modules-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di, crc-modules-5.10.0-27-sh7785lcr-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: fat-modules-5.10.0-26-sh7785lcr-di +Package: fat-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: minix-modules-5.10.0-26-sh7785lcr-di +Package: minix-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: minix-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di Description: Minix filesystem support This package contains the Minix filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: squashfs-modules-5.10.0-26-sh7785lcr-di +Package: squashfs-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: udf-modules-5.10.0-26-sh7785lcr-di +Package: udf-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di, crc-modules-5.10.0-26-sh7785lcr-di, cdrom-core-modules-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di, crc-modules-5.10.0-27-sh7785lcr-di, cdrom-core-modules-5.10.0-27-sh7785lcr-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: fuse-modules-5.10.0-26-sh7785lcr-di +Package: fuse-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: f2fs-modules-5.10.0-26-sh7785lcr-di +Package: f2fs-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di, crc-modules-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di, crc-modules-5.10.0-27-sh7785lcr-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: md-modules-5.10.0-26-sh7785lcr-di +Package: md-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di, crc-modules-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di, crc-modules-5.10.0-27-sh7785lcr-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: multipath-modules-5.10.0-26-sh7785lcr-di +Package: multipath-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di, md-modules-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di, md-modules-5.10.0-27-sh7785lcr-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: nic-usb-modules-5.10.0-26-sh7785lcr-di +Package: nic-usb-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di, nic-shared-modules-5.10.0-26-sh7785lcr-di, crc-modules-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di, nic-shared-modules-5.10.0-27-sh7785lcr-di, crc-modules-5.10.0-27-sh7785lcr-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: sata-modules-5.10.0-26-sh7785lcr-di +Package: sata-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: crc-modules-5.10.0-26-sh7785lcr-di +Package: crc-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: crypto-modules-5.10.0-26-sh7785lcr-di +Package: crypto-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-sh7785lcr-di +Package: crypto-dm-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di, md-modules-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di, md-modules-5.10.0-27-sh7785lcr-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: nbd-modules-5.10.0-26-sh7785lcr-di +Package: nbd-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: speakup-modules-5.10.0-26-sh7785lcr-di +Package: speakup-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: speakup-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di Description: speakup modules This package contains speakup modules. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: sound-modules-5.10.0-26-sh7785lcr-di +Package: sound-modules-5.10.0-27-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: sound-modules -Depends: kernel-image-5.10.0-26-sh7785lcr-di, firewire-core-modules-5.10.0-26-sh7785lcr-di, crc-modules-5.10.0-26-sh7785lcr-di +Depends: kernel-image-5.10.0-27-sh7785lcr-di, firewire-core-modules-5.10.0-27-sh7785lcr-di, crc-modules-5.10.0-27-sh7785lcr-di Description: sound support This package contains sound modules. Build-Profiles: -Kernel-Version: 5.10.0-26-sh7785lcr +Kernel-Version: 5.10.0-27-sh7785lcr Package-Type: udeb -Package: linux-image-5.10.0-26-sh7751r +Package: linux-image-5.10.0-27-sh7751r Architecture: sh4 -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [sh4] | linux-initramfs-tool [sh4] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [sh4] | linux-initramfs-tool [sh4] Recommends: firmware-linux-free, apparmor [sh4] Suggests: linux-doc-5.10, debian-kernel-handbook Breaks: fwupdate (<< 12-7) [sh4], wireless-regdb (<< 2019.06.03-1~) [sh4], initramfs-tools (<< 0.120+deb8u2) @@ -13921,22 +13921,22 @@ board. Build-Profiles: -Package: linux-headers-5.10.0-26-sh7751r +Package: linux-headers-5.10.0-27-sh7751r Architecture: sh4 -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-sh7751r +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-sh7751r This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-sh7751r, generally used for building out-of-tree + Linux kernel 5.10.0-27-sh7751r, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-sh7751r, and can be used for building + /usr/src/linux-headers-5.10.0-27-sh7751r, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-sh7751r package. + linux-image-5.10.0-27-sh7751r package. Build-Profiles: Package: linux-image-sh7751r Architecture: sh4 -Provides: linux-latest-modules-5.10.0-26-sh7751r, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] -Depends: linux-image-5.10.0-26-sh7751r (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-sh7751r, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] +Depends: linux-image-5.10.0-27-sh7751r (= ${binary:Version}), ${misc:Depends} Description: Linux for sh7751r (meta-package) This package depends on the latest Linux kernel and modules for use on Renesas SH7751R R2D plus board. @@ -13944,34 +13944,34 @@ Package: linux-headers-sh7751r Architecture: sh4 -Depends: linux-headers-5.10.0-26-sh7751r (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-sh7751r (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux sh7751r configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel sh7751r configuration. Build-Profiles: -Package: linux-image-5.10.0-26-sh7751r-dbg +Package: linux-image-5.10.0-27-sh7751r-dbg Architecture: sh4 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-sh7751r +Description: Debug symbols for linux-image-5.10.0-27-sh7751r This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-sh7751r. + modules in linux-image-5.10.0-27-sh7751r. Build-Profiles: Package: linux-image-sh7751r-dbg Architecture: sh4 Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-sh7751r-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-sh7751r-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux sh7751r configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel sh7751r configuration. Build-Profiles: -Package: linux-image-5.10.0-26-sh7785lcr +Package: linux-image-5.10.0-27-sh7785lcr Architecture: sh4 -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [sh4] | linux-initramfs-tool [sh4] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [sh4] | linux-initramfs-tool [sh4] Recommends: firmware-linux-free, u-boot-tools [sh4], apparmor [sh4] Suggests: linux-doc-5.10, debian-kernel-handbook Breaks: fwupdate (<< 12-7) [sh4], wireless-regdb (<< 2019.06.03-1~) [sh4], initramfs-tools (<< 0.120+deb8u2) @@ -13980,22 +13980,22 @@ board. Build-Profiles: -Package: linux-headers-5.10.0-26-sh7785lcr +Package: linux-headers-5.10.0-27-sh7785lcr Architecture: sh4 -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-sh7785lcr +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-sh7785lcr This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-sh7785lcr, generally used for building out-of-tree + Linux kernel 5.10.0-27-sh7785lcr, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-sh7785lcr, and can be used for building + /usr/src/linux-headers-5.10.0-27-sh7785lcr, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-sh7785lcr package. + linux-image-5.10.0-27-sh7785lcr package. Build-Profiles: Package: linux-image-sh7785lcr Architecture: sh4 -Provides: linux-latest-modules-5.10.0-26-sh7785lcr, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] -Depends: linux-image-5.10.0-26-sh7785lcr (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-sh7785lcr, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] +Depends: linux-image-5.10.0-27-sh7785lcr (= ${binary:Version}), ${misc:Depends} Description: Linux for sh7785lcr (meta-package) This package depends on the latest Linux kernel and modules for use on Renesas SH7785 reference board. @@ -14003,32 +14003,32 @@ Package: linux-headers-sh7785lcr Architecture: sh4 -Depends: linux-headers-5.10.0-26-sh7785lcr (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-sh7785lcr (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux sh7785lcr configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel sh7785lcr configuration. Build-Profiles: -Package: linux-image-5.10.0-26-sh7785lcr-dbg +Package: linux-image-5.10.0-27-sh7785lcr-dbg Architecture: sh4 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-sh7785lcr +Description: Debug symbols for linux-image-5.10.0-27-sh7785lcr This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-sh7785lcr. + modules in linux-image-5.10.0-27-sh7785lcr. Build-Profiles: Package: linux-image-sh7785lcr-dbg Architecture: sh4 Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-sh7785lcr-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-sh7785lcr-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux sh7785lcr configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel sh7785lcr configuration. Build-Profiles: -Package: kernel-image-5.10.0-26-sparc64-di +Package: kernel-image-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard @@ -14038,413 +14038,413 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: nic-modules-5.10.0-26-sparc64-di +Package: nic-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-5.10.0-26-sparc64-di, nic-shared-modules-5.10.0-26-sparc64-di, i2c-modules-5.10.0-26-sparc64-di, crc-modules-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di, nic-shared-modules-5.10.0-27-sparc64-di, i2c-modules-5.10.0-27-sparc64-di, crc-modules-5.10.0-27-sparc64-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: nic-shared-modules-5.10.0-26-sparc64-di +Package: nic-shared-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di Description: Shared NIC drivers This package contains NIC drivers needed by combinations of nic-modules, nic-pcmcia-modules, nic-usb-modules and nic-wireless-modules. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: usb-serial-modules-5.10.0-26-sparc64-di +Package: usb-serial-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-5.10.0-26-sparc64-di, usb-modules-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di, usb-modules-5.10.0-27-sparc64-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: ppp-modules-5.10.0-26-sparc64-di +Package: ppp-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-5.10.0-26-sparc64-di, crc-modules-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di, crc-modules-5.10.0-27-sparc64-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: pata-modules-5.10.0-26-sparc64-di +Package: pata-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-5.10.0-26-sparc64-di, ata-modules-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di, ata-modules-5.10.0-27-sparc64-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: cdrom-core-modules-5.10.0-26-sparc64-di +Package: cdrom-core-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-5.10.0-26-sparc64-di, scsi-core-modules-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di, scsi-core-modules-5.10.0-27-sparc64-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: scsi-core-modules-5.10.0-26-sparc64-di +Package: scsi-core-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: scsi-modules-5.10.0-26-sparc64-di +Package: scsi-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-5.10.0-26-sparc64-di, scsi-core-modules-5.10.0-26-sparc64-di, cdrom-core-modules-5.10.0-26-sparc64-di, ata-modules-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di, scsi-core-modules-5.10.0-27-sparc64-di, cdrom-core-modules-5.10.0-27-sparc64-di, ata-modules-5.10.0-27-sparc64-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: btrfs-modules-5.10.0-26-sparc64-di +Package: btrfs-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-5.10.0-26-sparc64-di, crc-modules-5.10.0-26-sparc64-di, md-modules-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di, crc-modules-5.10.0-27-sparc64-di, md-modules-5.10.0-27-sparc64-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: ext4-modules-5.10.0-26-sparc64-di +Package: ext4-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-5.10.0-26-sparc64-di, crc-modules-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di, crc-modules-5.10.0-27-sparc64-di Description: ext2/ext3/ext4 filesystem support This package contains the ext4 filesystem module for the kernel, which also supports ext2 and ext3. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: isofs-modules-5.10.0-26-sparc64-di +Package: isofs-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-5.10.0-26-sparc64-di, cdrom-core-modules-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di, cdrom-core-modules-5.10.0-27-sparc64-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: jfs-modules-5.10.0-26-sparc64-di +Package: jfs-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: ufs-modules-5.10.0-26-sparc64-di +Package: ufs-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: ufs-modules -Depends: kernel-image-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di Description: UFS filesystem support This package contains the UFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: xfs-modules-5.10.0-26-sparc64-di +Package: xfs-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-5.10.0-26-sparc64-di, crc-modules-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di, crc-modules-5.10.0-27-sparc64-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: fat-modules-5.10.0-26-sparc64-di +Package: fat-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: squashfs-modules-5.10.0-26-sparc64-di +Package: squashfs-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: udf-modules-5.10.0-26-sparc64-di +Package: udf-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-5.10.0-26-sparc64-di, crc-modules-5.10.0-26-sparc64-di, cdrom-core-modules-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di, crc-modules-5.10.0-27-sparc64-di, cdrom-core-modules-5.10.0-27-sparc64-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: fuse-modules-5.10.0-26-sparc64-di +Package: fuse-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: f2fs-modules-5.10.0-26-sparc64-di +Package: f2fs-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: f2fs-modules -Depends: kernel-image-5.10.0-26-sparc64-di, crc-modules-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di, crc-modules-5.10.0-27-sparc64-di Description: f2fs filesystem support This package contains the f2fs (Flash-Friendly Filesystem) module. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: md-modules-5.10.0-26-sparc64-di +Package: md-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-5.10.0-26-sparc64-di, crc-modules-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di, crc-modules-5.10.0-27-sparc64-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: multipath-modules-5.10.0-26-sparc64-di +Package: multipath-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-5.10.0-26-sparc64-di, md-modules-5.10.0-26-sparc64-di, scsi-core-modules-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di, md-modules-5.10.0-27-sparc64-di, scsi-core-modules-5.10.0-27-sparc64-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: usb-modules-5.10.0-26-sparc64-di +Package: usb-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: usb-storage-modules-5.10.0-26-sparc64-di +Package: usb-storage-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-5.10.0-26-sparc64-di, scsi-core-modules-5.10.0-26-sparc64-di, usb-modules-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di, scsi-core-modules-5.10.0-27-sparc64-di, usb-modules-5.10.0-27-sparc64-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: fb-modules-5.10.0-26-sparc64-di +Package: fb-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-5.10.0-26-sparc64-di, i2c-modules-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di, i2c-modules-5.10.0-27-sparc64-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: input-modules-5.10.0-26-sparc64-di +Package: input-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-5.10.0-26-sparc64-di, usb-modules-5.10.0-26-sparc64-di, i2c-modules-5.10.0-26-sparc64-di, crc-modules-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di, usb-modules-5.10.0-27-sparc64-di, i2c-modules-5.10.0-27-sparc64-di, crc-modules-5.10.0-27-sparc64-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: nic-usb-modules-5.10.0-26-sparc64-di +Package: nic-usb-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-5.10.0-26-sparc64-di, nic-shared-modules-5.10.0-26-sparc64-di, usb-modules-5.10.0-26-sparc64-di, crc-modules-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di, nic-shared-modules-5.10.0-27-sparc64-di, usb-modules-5.10.0-27-sparc64-di, crc-modules-5.10.0-27-sparc64-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: sata-modules-5.10.0-26-sparc64-di +Package: sata-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-5.10.0-26-sparc64-di, scsi-core-modules-5.10.0-26-sparc64-di, ata-modules-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di, scsi-core-modules-5.10.0-27-sparc64-di, ata-modules-5.10.0-27-sparc64-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: i2c-modules-5.10.0-26-sparc64-di +Package: i2c-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: crc-modules-5.10.0-26-sparc64-di +Package: crc-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: crypto-modules-5.10.0-26-sparc64-di +Package: crypto-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: crypto-dm-modules-5.10.0-26-sparc64-di +Package: crypto-dm-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-5.10.0-26-sparc64-di, md-modules-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di, md-modules-5.10.0-27-sparc64-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: ata-modules-5.10.0-26-sparc64-di +Package: ata-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-5.10.0-26-sparc64-di, scsi-core-modules-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di, scsi-core-modules-5.10.0-27-sparc64-di Description: ATA disk modules This package contains core ATA disk modules used by both PATA and SATA disk drivers. Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: nbd-modules-5.10.0-26-sparc64-di +Package: nbd-modules-5.10.0-27-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-5.10.0-26-sparc64-di +Depends: kernel-image-5.10.0-27-sparc64-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 5.10.0-26-sparc64 +Kernel-Version: 5.10.0-27-sparc64 Package-Type: udeb -Package: linux-image-5.10.0-26-sparc64 +Package: linux-image-5.10.0-27-sparc64 Architecture: sparc64 -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [sparc64] | linux-initramfs-tool [sparc64] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [sparc64] | linux-initramfs-tool [sparc64] Recommends: firmware-linux-free, apparmor [sparc64] Suggests: linux-doc-5.10, debian-kernel-handbook, fdutils [sparc64], grub-ieee1275 [sparc64] Breaks: fwupdate (<< 12-7) [sparc64], wireless-regdb (<< 2019.06.03-1~) [sparc64], initramfs-tools (<< 0.120+deb8u2) @@ -14453,22 +14453,22 @@ UltraSPARC. Build-Profiles: -Package: linux-headers-5.10.0-26-sparc64 +Package: linux-headers-5.10.0-27-sparc64 Architecture: sparc64 -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-sparc64 +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-sparc64 This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-sparc64, generally used for building out-of-tree + Linux kernel 5.10.0-27-sparc64, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-sparc64, and can be used for building + /usr/src/linux-headers-5.10.0-27-sparc64, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-sparc64 package. + linux-image-5.10.0-27-sparc64 package. Build-Profiles: Package: linux-image-sparc64 Architecture: sparc64 -Provides: linux-latest-modules-5.10.0-26-sparc64, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] -Depends: linux-image-5.10.0-26-sparc64 (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-sparc64, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386] +Depends: linux-image-5.10.0-27-sparc64 (= ${binary:Version}), ${misc:Depends} Description: Linux for uniprocessor 64-bit UltraSPARC (meta-package) This package depends on the latest Linux kernel and modules for use on uniprocessor 64-bit UltraSPARC. @@ -14476,34 +14476,34 @@ Package: linux-headers-sparc64 Architecture: sparc64 -Depends: linux-headers-5.10.0-26-sparc64 (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-sparc64 (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux sparc64 configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel sparc64 configuration. Build-Profiles: -Package: linux-image-5.10.0-26-sparc64-dbg +Package: linux-image-5.10.0-27-sparc64-dbg Architecture: sparc64 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-sparc64 +Description: Debug symbols for linux-image-5.10.0-27-sparc64 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-sparc64. + modules in linux-image-5.10.0-27-sparc64. Build-Profiles: Package: linux-image-sparc64-dbg Architecture: sparc64 Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-sparc64-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-sparc64-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux sparc64 configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel sparc64 configuration. Build-Profiles: -Package: linux-image-5.10.0-26-sparc64-smp +Package: linux-image-5.10.0-27-sparc64-smp Architecture: sparc64 -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-26 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [sparc64] | linux-initramfs-tool [sparc64] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-5.10.0-27 [powerpc ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [sparc64] | linux-initramfs-tool [sparc64] Recommends: firmware-linux-free, apparmor [sparc64] Suggests: linux-doc-5.10, debian-kernel-handbook, fdutils [sparc64], grub-ieee1275 [sparc64] Breaks: fwupdate (<< 12-7) [sparc64], wireless-regdb (<< 2019.06.03-1~) [sparc64], initramfs-tools (<< 0.120+deb8u2) @@ -14512,22 +14512,22 @@ UltraSPARC. Build-Profiles: -Package: linux-headers-5.10.0-26-sparc64-smp +Package: linux-headers-5.10.0-27-sparc64-smp Architecture: sparc64 -Depends: linux-headers-5.10.0-26-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 -Description: Header files for Linux 5.10.0-26-sparc64-smp +Depends: linux-headers-5.10.0-27-common (= ${source:Version}), linux-kbuild-5.10 (>= ${source:Version}), ${misc:Depends}, gcc-10 +Description: Header files for Linux 5.10.0-27-sparc64-smp This package provides the architecture-specific kernel header files for - Linux kernel 5.10.0-26-sparc64-smp, generally used for building + Linux kernel 5.10.0-27-sparc64-smp, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-5.10.0-26-sparc64-smp, and can be used for building + /usr/src/linux-headers-5.10.0-27-sparc64-smp, and can be used for building modules that load into the kernel provided by the - linux-image-5.10.0-26-sparc64-smp package. + linux-image-5.10.0-27-sparc64-smp package. Build-Profiles: Package: linux-image-sparc64-smp Architecture: sparc64 -Provides: linux-latest-modules-5.10.0-26-sparc64-smp, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic -Depends: linux-image-5.10.0-26-sparc64-smp (= ${binary:Version}), ${misc:Depends} +Provides: linux-latest-modules-5.10.0-27-sparc64-smp, wireguard-modules (= 1.0.0), virtualbox-guest-modules [amd64 i386], linux-image-generic +Depends: linux-image-5.10.0-27-sparc64-smp (= ${binary:Version}), ${misc:Depends} Description: Linux for multiprocessor 64-bit UltraSPARC (meta-package) This package depends on the latest Linux kernel and modules for use on multiprocessor 64-bit UltraSPARC. @@ -14536,26 +14536,26 @@ Package: linux-headers-sparc64-smp Architecture: sparc64 Provides: linux-headers-generic -Depends: linux-headers-5.10.0-26-sparc64-smp (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-5.10.0-27-sparc64-smp (= ${binary:Version}), ${misc:Depends} Description: Header files for Linux sparc64-smp configuration (meta-package) This package depends on the architecture-specific header files for the latest Linux kernel sparc64-smp configuration. Build-Profiles: -Package: linux-image-5.10.0-26-sparc64-smp-dbg +Package: linux-image-5.10.0-27-sparc64-smp-dbg Architecture: sparc64 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-5.10.0-26-sparc64-smp +Description: Debug symbols for linux-image-5.10.0-27-sparc64-smp This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-5.10.0-26-sparc64-smp. + modules in linux-image-5.10.0-27-sparc64-smp. Build-Profiles: Package: linux-image-sparc64-smp-dbg Architecture: sparc64 Provides: linux-latest-image-dbg -Depends: linux-image-5.10.0-26-sparc64-smp-dbg (= ${binary:Version}), ${misc:Depends} +Depends: linux-image-5.10.0-27-sparc64-smp-dbg (= ${binary:Version}), ${misc:Depends} Description: Debugging symbols for Linux sparc64-smp configuration (meta-package) This package depends on the detached debugging symbols for the latest Linux kernel sparc64-smp configuration. diff -Nru linux-5.10.197/debian/control.md5sum linux-5.10.205/debian/control.md5sum --- linux-5.10.197/debian/control.md5sum 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/control.md5sum 2023-12-31 15:46:35.000000000 +0000 @@ -1,5 +1,5 @@ 4910c50c27288d791de01121b7694bea debian/bin/gencontrol.py -04a2d908a7bb17b575a402fafc575159 debian/build/version-info +bf25a46d6db708659fde26a1f2f59924 debian/build/version-info fe4456d48e3218fb8980c8577d03a7ae debian/templates/control.config.in 9509e39d8e60906ebd5ee4a8b0355d25 debian/templates/control.docs.in 358db3af53a223fe60ae89c7a481609f debian/templates/control.docs.meta.in @@ -38,7 +38,7 @@ 381bc892fd36ef7ea5327f649b99cb98 debian/templates/sourcebin.meta.maintscript.in 814dda166c7e3ef02e6e259e805ac66a debian/templates/tests-control.image.in 33d71bfd398d2f9b3bc5c0193b67d17e debian/templates/tests-control.main.in -582355c4256266eb010a547efecfb4a5 debian/config/defines +aa73afbc38ff9b03d41e155712b21ba0 debian/config/defines 59a811890d2e7129bec940075850f11f debian/config/alpha/defines 026ce5cdad7814c28f4fd87589786719 debian/config/amd64/defines 44bff3917069a99eeb20ceff24609dda debian/config/arm64/defines diff -Nru linux-5.10.197/debian/linux-headers-4kc-malta.maintscript linux-5.10.205/debian/linux-headers-4kc-malta.maintscript --- linux-5.10.197/debian/linux-headers-4kc-malta.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-4kc-malta.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-4kc-malta linux-headers-5.10.0-26-4kc-malta 5.7~rc5-1~exp1 linux-headers-4kc-malta +dir_to_symlink /usr/share/doc/linux-headers-4kc-malta linux-headers-5.10.0-27-4kc-malta 5.7~rc5-1~exp1 linux-headers-4kc-malta diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-4kc-malta.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-4kc-malta.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-4kc-malta.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-4kc-malta.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-4kc-malta"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-5kc-malta.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-5kc-malta.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-5kc-malta.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-5kc-malta.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-5kc-malta"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-686-pae.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-686-pae.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-686-pae.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-686-pae.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-686-pae"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-686.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-686.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-686.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-686.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-686"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-alpha-generic.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-alpha-generic.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-alpha-generic.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-alpha-generic.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-alpha-generic"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-alpha-smp.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-alpha-smp.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-alpha-smp.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-alpha-smp.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-alpha-smp"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-amd64.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-amd64.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-amd64.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-amd64.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-amd64"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-arm64.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-arm64.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-arm64.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-arm64.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-arm64"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-armmp-lpae.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-armmp-lpae.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-armmp-lpae.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-armmp-lpae.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-armmp-lpae"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-armmp.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-armmp.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-armmp.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-armmp.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-armmp"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-cloud-amd64.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-cloud-amd64.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-cloud-amd64.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-cloud-amd64.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-cloud-amd64"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-cloud-arm64.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-cloud-arm64.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-cloud-arm64.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-cloud-arm64.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-cloud-arm64"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-itanium.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-itanium.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-itanium.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-itanium.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-itanium"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-loongson-3.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-loongson-3.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-loongson-3.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-loongson-3.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-loongson-3"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-m68k.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-m68k.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-m68k.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-m68k.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-m68k"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-marvell.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-marvell.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-marvell.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-marvell.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-marvell"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-mckinley.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-mckinley.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-mckinley.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-mckinley.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-mckinley"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-mips32r6.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-mips32r6.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-mips32r6.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-mips32r6.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-mips32r6"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-mips32r6el.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-mips32r6el.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-mips32r6el.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-mips32r6el.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-mips32r6el"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-mips64r6.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-mips64r6.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-mips64r6.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-mips64r6.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-mips64r6"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-mips64r6el.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-mips64r6el.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-mips64r6el.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-mips64r6el.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-mips64r6el"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-octeon.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-octeon.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-octeon.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-octeon.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-octeon"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-parisc.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-parisc.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-parisc.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-parisc.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-parisc"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-parisc64.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-parisc64.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-parisc64.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-parisc64.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-parisc64"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-powerpc-smp.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-powerpc-smp.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-powerpc-smp.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-powerpc-smp.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-powerpc-smp"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-powerpc.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-powerpc.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-powerpc.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-powerpc.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-powerpc"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-powerpc64.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-powerpc64.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-powerpc64.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-powerpc64.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-powerpc64"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-powerpc64le.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-powerpc64le.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-powerpc64le.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-powerpc64le.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-powerpc64le"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-riscv64.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-riscv64.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-riscv64.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-riscv64.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-riscv64"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-rpi.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-rpi.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-rpi.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-rpi.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-rpi"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-rt-686-pae.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-rt-686-pae.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-rt-686-pae.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-rt-686-pae.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-rt-686-pae"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-rt-amd64.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-rt-amd64.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-rt-amd64.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-rt-amd64.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-rt-amd64"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-rt-arm64.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-rt-arm64.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-rt-arm64.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-rt-arm64.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-rt-arm64"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-rt-armmp.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-rt-armmp.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-rt-armmp.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-rt-armmp.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-rt-armmp"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-s390x.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-s390x.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-s390x.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-s390x.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-s390x"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-sh7751r.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-sh7751r.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-sh7751r.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-sh7751r.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-sh7751r"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-sh7785lcr.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-sh7785lcr.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-sh7785lcr.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-sh7785lcr.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-sh7785lcr"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-sparc64-smp.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-sparc64-smp.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-sparc64-smp.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-sparc64-smp.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-sparc64-smp"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-26-sparc64.postinst linux-5.10.205/debian/linux-headers-5.10.0-26-sparc64.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-26-sparc64.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-26-sparc64.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -#!/usr/bin/perl -# Author: Michael Gilbert -# Origin: Stripped down version of the linux-headers postinst from Ubuntu's -# 2.6.32-14-generic kernel, which was itself derived from a -# Debian linux-image postinst script. - -$|=1; -my $version = "5.10.0-26-sparc64"; - -if (-d "/etc/kernel/header_postinst.d") { - system ("run-parts --report --exit-on-error --arg=$version " . - "/etc/kernel/header_postinst.d") && - die "Failed to process /etc/kernel/header_postinst.d"; -} - -exit 0; - -__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-4kc-malta.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-4kc-malta.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-4kc-malta.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-4kc-malta.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-4kc-malta"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-5kc-malta.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-5kc-malta.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-5kc-malta.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-5kc-malta.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-5kc-malta"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-686-pae.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-686-pae.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-686-pae.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-686-pae.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-686-pae"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-686.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-686.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-686.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-686.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-686"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-alpha-generic.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-alpha-generic.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-alpha-generic.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-alpha-generic.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-alpha-generic"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-alpha-smp.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-alpha-smp.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-alpha-smp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-alpha-smp.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-alpha-smp"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-amd64.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-amd64.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-amd64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-amd64.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-amd64"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-arm64.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-arm64.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-arm64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-arm64.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-arm64"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-armmp-lpae.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-armmp-lpae.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-armmp-lpae.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-armmp-lpae.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-armmp-lpae"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-armmp.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-armmp.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-armmp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-armmp.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-armmp"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-cloud-amd64.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-cloud-amd64.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-cloud-amd64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-cloud-amd64.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-cloud-amd64"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-cloud-arm64.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-cloud-arm64.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-cloud-arm64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-cloud-arm64.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-cloud-arm64"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-itanium.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-itanium.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-itanium.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-itanium.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-itanium"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-loongson-3.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-loongson-3.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-loongson-3.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-loongson-3.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-loongson-3"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-m68k.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-m68k.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-m68k.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-m68k.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-m68k"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-marvell.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-marvell.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-marvell.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-marvell.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-marvell"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-mckinley.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-mckinley.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-mckinley.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-mckinley.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-mckinley"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-mips32r6.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-mips32r6.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-mips32r6.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-mips32r6.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-mips32r6"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-mips32r6el.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-mips32r6el.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-mips32r6el.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-mips32r6el.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-mips32r6el"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-mips64r6.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-mips64r6.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-mips64r6.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-mips64r6.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-mips64r6"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-mips64r6el.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-mips64r6el.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-mips64r6el.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-mips64r6el.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-mips64r6el"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-octeon.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-octeon.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-octeon.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-octeon.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-octeon"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-parisc.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-parisc.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-parisc.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-parisc.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-parisc"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-parisc64.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-parisc64.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-parisc64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-parisc64.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-parisc64"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-powerpc-smp.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-powerpc-smp.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-powerpc-smp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-powerpc-smp.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-powerpc-smp"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-powerpc.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-powerpc.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-powerpc.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-powerpc.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-powerpc"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-powerpc64.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-powerpc64.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-powerpc64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-powerpc64.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-powerpc64"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-powerpc64le.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-powerpc64le.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-powerpc64le.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-powerpc64le.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-powerpc64le"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-riscv64.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-riscv64.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-riscv64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-riscv64.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-riscv64"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-rpi.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-rpi.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-rpi.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-rpi.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-rpi"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-rt-686-pae.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-rt-686-pae.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-rt-686-pae.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-rt-686-pae.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-rt-686-pae"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-rt-amd64.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-rt-amd64.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-rt-amd64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-rt-amd64.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-rt-amd64"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-rt-arm64.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-rt-arm64.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-rt-arm64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-rt-arm64.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-rt-arm64"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-rt-armmp.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-rt-armmp.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-rt-armmp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-rt-armmp.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-rt-armmp"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-s390x.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-s390x.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-s390x.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-s390x.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-s390x"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-sh7751r.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-sh7751r.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-sh7751r.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-sh7751r.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-sh7751r"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-sh7785lcr.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-sh7785lcr.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-sh7785lcr.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-sh7785lcr.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-sh7785lcr"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-sparc64-smp.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-sparc64-smp.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-sparc64-smp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-sparc64-smp.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-sparc64-smp"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5.10.0-27-sparc64.postinst linux-5.10.205/debian/linux-headers-5.10.0-27-sparc64.postinst --- linux-5.10.197/debian/linux-headers-5.10.0-27-sparc64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5.10.0-27-sparc64.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,18 @@ +#!/usr/bin/perl +# Author: Michael Gilbert +# Origin: Stripped down version of the linux-headers postinst from Ubuntu's +# 2.6.32-14-generic kernel, which was itself derived from a +# Debian linux-image postinst script. + +$|=1; +my $version = "5.10.0-27-sparc64"; + +if (-d "/etc/kernel/header_postinst.d") { + system ("run-parts --report --exit-on-error --arg=$version " . + "/etc/kernel/header_postinst.d") && + die "Failed to process /etc/kernel/header_postinst.d"; +} + +exit 0; + +__END__ diff -Nru linux-5.10.197/debian/linux-headers-5kc-malta.maintscript linux-5.10.205/debian/linux-headers-5kc-malta.maintscript --- linux-5.10.197/debian/linux-headers-5kc-malta.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-5kc-malta.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-5kc-malta linux-headers-5.10.0-26-5kc-malta 5.7~rc5-1~exp1 linux-headers-5kc-malta +dir_to_symlink /usr/share/doc/linux-headers-5kc-malta linux-headers-5.10.0-27-5kc-malta 5.7~rc5-1~exp1 linux-headers-5kc-malta diff -Nru linux-5.10.197/debian/linux-headers-alpha-generic.maintscript linux-5.10.205/debian/linux-headers-alpha-generic.maintscript --- linux-5.10.197/debian/linux-headers-alpha-generic.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-alpha-generic.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-alpha-generic linux-headers-5.10.0-26-alpha-generic 5.7~rc5-1~exp1 linux-headers-alpha-generic +dir_to_symlink /usr/share/doc/linux-headers-alpha-generic linux-headers-5.10.0-27-alpha-generic 5.7~rc5-1~exp1 linux-headers-alpha-generic diff -Nru linux-5.10.197/debian/linux-headers-alpha-smp.maintscript linux-5.10.205/debian/linux-headers-alpha-smp.maintscript --- linux-5.10.197/debian/linux-headers-alpha-smp.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-alpha-smp.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-alpha-smp linux-headers-5.10.0-26-alpha-smp 5.7~rc5-1~exp1 linux-headers-alpha-smp +dir_to_symlink /usr/share/doc/linux-headers-alpha-smp linux-headers-5.10.0-27-alpha-smp 5.7~rc5-1~exp1 linux-headers-alpha-smp diff -Nru linux-5.10.197/debian/linux-headers-armmp-lpae.maintscript linux-5.10.205/debian/linux-headers-armmp-lpae.maintscript --- linux-5.10.197/debian/linux-headers-armmp-lpae.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-armmp-lpae.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-armmp-lpae linux-headers-5.10.0-26-armmp-lpae 5.7~rc5-1~exp1 linux-headers-armmp-lpae +dir_to_symlink /usr/share/doc/linux-headers-armmp-lpae linux-headers-5.10.0-27-armmp-lpae 5.7~rc5-1~exp1 linux-headers-armmp-lpae diff -Nru linux-5.10.197/debian/linux-headers-armmp.maintscript linux-5.10.205/debian/linux-headers-armmp.maintscript --- linux-5.10.197/debian/linux-headers-armmp.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-armmp.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-armmp linux-headers-5.10.0-26-armmp 5.7~rc5-1~exp1 linux-headers-armmp +dir_to_symlink /usr/share/doc/linux-headers-armmp linux-headers-5.10.0-27-armmp 5.7~rc5-1~exp1 linux-headers-armmp diff -Nru linux-5.10.197/debian/linux-headers-itanium.maintscript linux-5.10.205/debian/linux-headers-itanium.maintscript --- linux-5.10.197/debian/linux-headers-itanium.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-itanium.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-itanium linux-headers-5.10.0-26-itanium 5.7~rc5-1~exp1 linux-headers-itanium +dir_to_symlink /usr/share/doc/linux-headers-itanium linux-headers-5.10.0-27-itanium 5.7~rc5-1~exp1 linux-headers-itanium diff -Nru linux-5.10.197/debian/linux-headers-loongson-3.maintscript linux-5.10.205/debian/linux-headers-loongson-3.maintscript --- linux-5.10.197/debian/linux-headers-loongson-3.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-loongson-3.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-loongson-3 linux-headers-5.10.0-26-loongson-3 5.7~rc5-1~exp1 linux-headers-loongson-3 +dir_to_symlink /usr/share/doc/linux-headers-loongson-3 linux-headers-5.10.0-27-loongson-3 5.7~rc5-1~exp1 linux-headers-loongson-3 diff -Nru linux-5.10.197/debian/linux-headers-m68k.maintscript linux-5.10.205/debian/linux-headers-m68k.maintscript --- linux-5.10.197/debian/linux-headers-m68k.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-m68k.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-m68k linux-headers-5.10.0-26-m68k 5.7~rc5-1~exp1 linux-headers-m68k +dir_to_symlink /usr/share/doc/linux-headers-m68k linux-headers-5.10.0-27-m68k 5.7~rc5-1~exp1 linux-headers-m68k diff -Nru linux-5.10.197/debian/linux-headers-marvell.maintscript linux-5.10.205/debian/linux-headers-marvell.maintscript --- linux-5.10.197/debian/linux-headers-marvell.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-marvell.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-marvell linux-headers-5.10.0-26-marvell 5.7~rc5-1~exp1 linux-headers-marvell +dir_to_symlink /usr/share/doc/linux-headers-marvell linux-headers-5.10.0-27-marvell 5.7~rc5-1~exp1 linux-headers-marvell diff -Nru linux-5.10.197/debian/linux-headers-mckinley.maintscript linux-5.10.205/debian/linux-headers-mckinley.maintscript --- linux-5.10.197/debian/linux-headers-mckinley.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-mckinley.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-mckinley linux-headers-5.10.0-26-mckinley 5.7~rc5-1~exp1 linux-headers-mckinley +dir_to_symlink /usr/share/doc/linux-headers-mckinley linux-headers-5.10.0-27-mckinley 5.7~rc5-1~exp1 linux-headers-mckinley diff -Nru linux-5.10.197/debian/linux-headers-mips32r6.maintscript linux-5.10.205/debian/linux-headers-mips32r6.maintscript --- linux-5.10.197/debian/linux-headers-mips32r6.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-mips32r6.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-mips32r6 linux-headers-5.10.0-26-mips32r6 5.7~rc5-1~exp1 linux-headers-mips32r6 +dir_to_symlink /usr/share/doc/linux-headers-mips32r6 linux-headers-5.10.0-27-mips32r6 5.7~rc5-1~exp1 linux-headers-mips32r6 diff -Nru linux-5.10.197/debian/linux-headers-mips32r6el.maintscript linux-5.10.205/debian/linux-headers-mips32r6el.maintscript --- linux-5.10.197/debian/linux-headers-mips32r6el.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-mips32r6el.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-mips32r6el linux-headers-5.10.0-26-mips32r6el 5.7~rc5-1~exp1 linux-headers-mips32r6el +dir_to_symlink /usr/share/doc/linux-headers-mips32r6el linux-headers-5.10.0-27-mips32r6el 5.7~rc5-1~exp1 linux-headers-mips32r6el diff -Nru linux-5.10.197/debian/linux-headers-mips64r6.maintscript linux-5.10.205/debian/linux-headers-mips64r6.maintscript --- linux-5.10.197/debian/linux-headers-mips64r6.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-mips64r6.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-mips64r6 linux-headers-5.10.0-26-mips64r6 5.7~rc5-1~exp1 linux-headers-mips64r6 +dir_to_symlink /usr/share/doc/linux-headers-mips64r6 linux-headers-5.10.0-27-mips64r6 5.7~rc5-1~exp1 linux-headers-mips64r6 diff -Nru linux-5.10.197/debian/linux-headers-mips64r6el.maintscript linux-5.10.205/debian/linux-headers-mips64r6el.maintscript --- linux-5.10.197/debian/linux-headers-mips64r6el.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-mips64r6el.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-mips64r6el linux-headers-5.10.0-26-mips64r6el 5.7~rc5-1~exp1 linux-headers-mips64r6el +dir_to_symlink /usr/share/doc/linux-headers-mips64r6el linux-headers-5.10.0-27-mips64r6el 5.7~rc5-1~exp1 linux-headers-mips64r6el diff -Nru linux-5.10.197/debian/linux-headers-octeon.maintscript linux-5.10.205/debian/linux-headers-octeon.maintscript --- linux-5.10.197/debian/linux-headers-octeon.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-octeon.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-octeon linux-headers-5.10.0-26-octeon 5.7~rc5-1~exp1 linux-headers-octeon +dir_to_symlink /usr/share/doc/linux-headers-octeon linux-headers-5.10.0-27-octeon 5.7~rc5-1~exp1 linux-headers-octeon diff -Nru linux-5.10.197/debian/linux-headers-parisc.maintscript linux-5.10.205/debian/linux-headers-parisc.maintscript --- linux-5.10.197/debian/linux-headers-parisc.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-parisc.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-parisc linux-headers-5.10.0-26-parisc 5.7~rc5-1~exp1 linux-headers-parisc +dir_to_symlink /usr/share/doc/linux-headers-parisc linux-headers-5.10.0-27-parisc 5.7~rc5-1~exp1 linux-headers-parisc diff -Nru linux-5.10.197/debian/linux-headers-parisc64.maintscript linux-5.10.205/debian/linux-headers-parisc64.maintscript --- linux-5.10.197/debian/linux-headers-parisc64.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-parisc64.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-parisc64 linux-headers-5.10.0-26-parisc64 5.7~rc5-1~exp1 linux-headers-parisc64 +dir_to_symlink /usr/share/doc/linux-headers-parisc64 linux-headers-5.10.0-27-parisc64 5.7~rc5-1~exp1 linux-headers-parisc64 diff -Nru linux-5.10.197/debian/linux-headers-powerpc-smp.maintscript linux-5.10.205/debian/linux-headers-powerpc-smp.maintscript --- linux-5.10.197/debian/linux-headers-powerpc-smp.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-powerpc-smp.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-powerpc-smp linux-headers-5.10.0-26-powerpc-smp 5.7~rc5-1~exp1 linux-headers-powerpc-smp +dir_to_symlink /usr/share/doc/linux-headers-powerpc-smp linux-headers-5.10.0-27-powerpc-smp 5.7~rc5-1~exp1 linux-headers-powerpc-smp diff -Nru linux-5.10.197/debian/linux-headers-powerpc.maintscript linux-5.10.205/debian/linux-headers-powerpc.maintscript --- linux-5.10.197/debian/linux-headers-powerpc.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-powerpc.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-powerpc linux-headers-5.10.0-26-powerpc 5.7~rc5-1~exp1 linux-headers-powerpc +dir_to_symlink /usr/share/doc/linux-headers-powerpc linux-headers-5.10.0-27-powerpc 5.7~rc5-1~exp1 linux-headers-powerpc diff -Nru linux-5.10.197/debian/linux-headers-powerpc64.maintscript linux-5.10.205/debian/linux-headers-powerpc64.maintscript --- linux-5.10.197/debian/linux-headers-powerpc64.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-powerpc64.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-powerpc64 linux-headers-5.10.0-26-powerpc64 5.7~rc5-1~exp1 linux-headers-powerpc64 +dir_to_symlink /usr/share/doc/linux-headers-powerpc64 linux-headers-5.10.0-27-powerpc64 5.7~rc5-1~exp1 linux-headers-powerpc64 diff -Nru linux-5.10.197/debian/linux-headers-powerpc64le.maintscript linux-5.10.205/debian/linux-headers-powerpc64le.maintscript --- linux-5.10.197/debian/linux-headers-powerpc64le.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-powerpc64le.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-powerpc64le linux-headers-5.10.0-26-powerpc64le 5.7~rc5-1~exp1 linux-headers-powerpc64le +dir_to_symlink /usr/share/doc/linux-headers-powerpc64le linux-headers-5.10.0-27-powerpc64le 5.7~rc5-1~exp1 linux-headers-powerpc64le diff -Nru linux-5.10.197/debian/linux-headers-riscv64.maintscript linux-5.10.205/debian/linux-headers-riscv64.maintscript --- linux-5.10.197/debian/linux-headers-riscv64.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-riscv64.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-riscv64 linux-headers-5.10.0-26-riscv64 5.7~rc5-1~exp1 linux-headers-riscv64 +dir_to_symlink /usr/share/doc/linux-headers-riscv64 linux-headers-5.10.0-27-riscv64 5.7~rc5-1~exp1 linux-headers-riscv64 diff -Nru linux-5.10.197/debian/linux-headers-rpi.maintscript linux-5.10.205/debian/linux-headers-rpi.maintscript --- linux-5.10.197/debian/linux-headers-rpi.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-rpi.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-rpi linux-headers-5.10.0-26-rpi 5.7~rc5-1~exp1 linux-headers-rpi +dir_to_symlink /usr/share/doc/linux-headers-rpi linux-headers-5.10.0-27-rpi 5.7~rc5-1~exp1 linux-headers-rpi diff -Nru linux-5.10.197/debian/linux-headers-rt-armmp.maintscript linux-5.10.205/debian/linux-headers-rt-armmp.maintscript --- linux-5.10.197/debian/linux-headers-rt-armmp.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-rt-armmp.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-rt-armmp linux-headers-5.10.0-26-rt-armmp 5.7~rc5-1~exp1 linux-headers-rt-armmp +dir_to_symlink /usr/share/doc/linux-headers-rt-armmp linux-headers-5.10.0-27-rt-armmp 5.7~rc5-1~exp1 linux-headers-rt-armmp diff -Nru linux-5.10.197/debian/linux-headers-s390x.maintscript linux-5.10.205/debian/linux-headers-s390x.maintscript --- linux-5.10.197/debian/linux-headers-s390x.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-s390x.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-s390x linux-headers-5.10.0-26-s390x 5.7~rc5-1~exp1 linux-headers-s390x +dir_to_symlink /usr/share/doc/linux-headers-s390x linux-headers-5.10.0-27-s390x 5.7~rc5-1~exp1 linux-headers-s390x diff -Nru linux-5.10.197/debian/linux-headers-sh7751r.maintscript linux-5.10.205/debian/linux-headers-sh7751r.maintscript --- linux-5.10.197/debian/linux-headers-sh7751r.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-sh7751r.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-sh7751r linux-headers-5.10.0-26-sh7751r 5.7~rc5-1~exp1 linux-headers-sh7751r +dir_to_symlink /usr/share/doc/linux-headers-sh7751r linux-headers-5.10.0-27-sh7751r 5.7~rc5-1~exp1 linux-headers-sh7751r diff -Nru linux-5.10.197/debian/linux-headers-sh7785lcr.maintscript linux-5.10.205/debian/linux-headers-sh7785lcr.maintscript --- linux-5.10.197/debian/linux-headers-sh7785lcr.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-sh7785lcr.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-sh7785lcr linux-headers-5.10.0-26-sh7785lcr 5.7~rc5-1~exp1 linux-headers-sh7785lcr +dir_to_symlink /usr/share/doc/linux-headers-sh7785lcr linux-headers-5.10.0-27-sh7785lcr 5.7~rc5-1~exp1 linux-headers-sh7785lcr diff -Nru linux-5.10.197/debian/linux-headers-sparc64-smp.maintscript linux-5.10.205/debian/linux-headers-sparc64-smp.maintscript --- linux-5.10.197/debian/linux-headers-sparc64-smp.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-sparc64-smp.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-sparc64-smp linux-headers-5.10.0-26-sparc64-smp 5.7~rc5-1~exp1 linux-headers-sparc64-smp +dir_to_symlink /usr/share/doc/linux-headers-sparc64-smp linux-headers-5.10.0-27-sparc64-smp 5.7~rc5-1~exp1 linux-headers-sparc64-smp diff -Nru linux-5.10.197/debian/linux-headers-sparc64.maintscript linux-5.10.205/debian/linux-headers-sparc64.maintscript --- linux-5.10.197/debian/linux-headers-sparc64.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-headers-sparc64.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-headers-sparc64 linux-headers-5.10.0-26-sparc64 5.7~rc5-1~exp1 linux-headers-sparc64 +dir_to_symlink /usr/share/doc/linux-headers-sparc64 linux-headers-5.10.0-27-sparc64 5.7~rc5-1~exp1 linux-headers-sparc64 diff -Nru linux-5.10.197/debian/linux-image-4kc-malta-dbg.maintscript linux-5.10.205/debian/linux-image-4kc-malta-dbg.maintscript --- linux-5.10.197/debian/linux-image-4kc-malta-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-4kc-malta-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-4kc-malta-dbg linux-image-5.10.0-26-4kc-malta-dbg 5.7~rc5-1~exp1 linux-image-4kc-malta-dbg +dir_to_symlink /usr/share/doc/linux-image-4kc-malta-dbg linux-image-5.10.0-27-4kc-malta-dbg 5.7~rc5-1~exp1 linux-image-4kc-malta-dbg diff -Nru linux-5.10.197/debian/linux-image-4kc-malta.bug-presubj linux-5.10.205/debian/linux-image-4kc-malta.bug-presubj --- linux-5.10.197/debian/linux-image-4kc-malta.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-4kc-malta.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-4kc-malta instead. +the package name linux-image-5.10.0-27-4kc-malta instead. diff -Nru linux-5.10.197/debian/linux-image-4kc-malta.maintscript linux-5.10.205/debian/linux-image-4kc-malta.maintscript --- linux-5.10.197/debian/linux-image-4kc-malta.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-4kc-malta.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-4kc-malta linux-image-5.10.0-26-4kc-malta 5.7~rc5-1~exp1 linux-image-4kc-malta +dir_to_symlink /usr/share/doc/linux-image-4kc-malta linux-image-5.10.0-27-4kc-malta 5.7~rc5-1~exp1 linux-image-4kc-malta diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-4kc-malta-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-4kc-malta-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-4kc-malta-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-4kc-malta-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-4kc-malta-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-4kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-4kc-malta/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-4kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-4kc-malta/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-4kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-4kc-malta/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-4kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-4kc-malta/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-4kc-malta-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-4kc-malta/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-4kc-malta-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-4kc-malta/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-4kc-malta.postinst linux-5.10.205/debian/linux-image-5.10.0-26-4kc-malta.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-4kc-malta.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-4kc-malta.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-4kc-malta -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-4kc-malta.postrm linux-5.10.205/debian/linux-image-5.10.0-26-4kc-malta.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-4kc-malta.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-4kc-malta.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-4kc-malta -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-4kc-malta.preinst linux-5.10.205/debian/linux-image-5.10.0-26-4kc-malta.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-4kc-malta.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-4kc-malta.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-4kc-malta -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-4kc-malta.prerm linux-5.10.205/debian/linux-image-5.10.0-26-4kc-malta.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-4kc-malta.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-4kc-malta.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-4kc-malta -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-5kc-malta-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-5kc-malta-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-5kc-malta-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-5kc-malta-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-5kc-malta-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-5kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-5kc-malta/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-5kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-5kc-malta/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-5kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-5kc-malta/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-5kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-5kc-malta/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-5kc-malta-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-5kc-malta/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-5kc-malta-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-5kc-malta/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-5kc-malta.postinst linux-5.10.205/debian/linux-image-5.10.0-26-5kc-malta.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-5kc-malta.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-5kc-malta.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-5kc-malta -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-5kc-malta.postrm linux-5.10.205/debian/linux-image-5.10.0-26-5kc-malta.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-5kc-malta.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-5kc-malta.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-5kc-malta -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-5kc-malta.preinst linux-5.10.205/debian/linux-image-5.10.0-26-5kc-malta.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-5kc-malta.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-5kc-malta.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-5kc-malta -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-5kc-malta.prerm linux-5.10.205/debian/linux-image-5.10.0-26-5kc-malta.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-5kc-malta.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-5kc-malta.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-5kc-malta -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-686-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-686-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-686-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-686-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-686-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-686-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-686/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-686-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-686/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-686-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-686/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-686-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-686/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-686-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-686/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-686-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-686/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-686-pae-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-686-pae-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-686-pae-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-686-pae-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-686-pae-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-686-pae/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-686-pae/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-686-pae/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-686-pae/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-686-pae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-686-pae/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-686-pae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-686-pae/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-686-pae-unsigned.postinst linux-5.10.205/debian/linux-image-5.10.0-26-686-pae-unsigned.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-686-pae-unsigned.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-686-pae-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-686-pae -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-686-pae-unsigned.postrm linux-5.10.205/debian/linux-image-5.10.0-26-686-pae-unsigned.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-686-pae-unsigned.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-686-pae-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-686-pae -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-686-pae-unsigned.preinst linux-5.10.205/debian/linux-image-5.10.0-26-686-pae-unsigned.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-686-pae-unsigned.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-686-pae-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-686-pae -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-686-pae-unsigned.prerm linux-5.10.205/debian/linux-image-5.10.0-26-686-pae-unsigned.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-686-pae-unsigned.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-686-pae-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-686-pae -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-686-unsigned.postinst linux-5.10.205/debian/linux-image-5.10.0-26-686-unsigned.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-686-unsigned.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-686-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-686 -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-686-unsigned.postrm linux-5.10.205/debian/linux-image-5.10.0-26-686-unsigned.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-686-unsigned.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-686-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-686 -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-686-unsigned.preinst linux-5.10.205/debian/linux-image-5.10.0-26-686-unsigned.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-686-unsigned.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-686-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-686 -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-686-unsigned.prerm linux-5.10.205/debian/linux-image-5.10.0-26-686-unsigned.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-686-unsigned.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-686-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-686 -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-alpha-generic-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-alpha-generic-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-alpha-generic-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-alpha-generic-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-alpha-generic-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-alpha-generic-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-alpha-generic/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-alpha-generic-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-alpha-generic/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-alpha-generic-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-alpha-generic/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-alpha-generic-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-alpha-generic/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-alpha-generic-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-alpha-generic/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-alpha-generic-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-alpha-generic/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-alpha-generic.postinst linux-5.10.205/debian/linux-image-5.10.0-26-alpha-generic.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-alpha-generic.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-alpha-generic.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-alpha-generic -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-alpha-generic.postrm linux-5.10.205/debian/linux-image-5.10.0-26-alpha-generic.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-alpha-generic.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-alpha-generic.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-alpha-generic -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-alpha-generic.preinst linux-5.10.205/debian/linux-image-5.10.0-26-alpha-generic.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-alpha-generic.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-alpha-generic.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-alpha-generic -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-alpha-generic.prerm linux-5.10.205/debian/linux-image-5.10.0-26-alpha-generic.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-alpha-generic.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-alpha-generic.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-alpha-generic -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-alpha-smp-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-alpha-smp-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-alpha-smp-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-alpha-smp-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-alpha-smp-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-alpha-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-alpha-smp/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-alpha-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-alpha-smp/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-alpha-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-alpha-smp/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-alpha-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-alpha-smp/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-alpha-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-alpha-smp/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-alpha-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-alpha-smp/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-alpha-smp.postinst linux-5.10.205/debian/linux-image-5.10.0-26-alpha-smp.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-alpha-smp.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-alpha-smp.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-alpha-smp -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-alpha-smp.postrm linux-5.10.205/debian/linux-image-5.10.0-26-alpha-smp.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-alpha-smp.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-alpha-smp.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-alpha-smp -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-alpha-smp.preinst linux-5.10.205/debian/linux-image-5.10.0-26-alpha-smp.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-alpha-smp.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-alpha-smp.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-alpha-smp -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-alpha-smp.prerm linux-5.10.205/debian/linux-image-5.10.0-26-alpha-smp.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-alpha-smp.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-alpha-smp.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-alpha-smp -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-amd64-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-amd64-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-amd64-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-amd64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-amd64-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-amd64/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-amd64/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-amd64/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-amd64/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-amd64/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-amd64/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-amd64-unsigned.postinst linux-5.10.205/debian/linux-image-5.10.0-26-amd64-unsigned.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-amd64-unsigned.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-amd64-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-amd64 -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-amd64-unsigned.postrm linux-5.10.205/debian/linux-image-5.10.0-26-amd64-unsigned.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-amd64-unsigned.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-amd64-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-amd64 -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-amd64-unsigned.preinst linux-5.10.205/debian/linux-image-5.10.0-26-amd64-unsigned.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-amd64-unsigned.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-amd64-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-amd64 -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-amd64-unsigned.prerm linux-5.10.205/debian/linux-image-5.10.0-26-amd64-unsigned.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-amd64-unsigned.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-amd64-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-amd64 -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-arm64-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-arm64-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-arm64-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-arm64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-arm64-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-arm64/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-arm64/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-arm64/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-arm64/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-arm64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-arm64/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-arm64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-arm64/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-arm64-unsigned.postinst linux-5.10.205/debian/linux-image-5.10.0-26-arm64-unsigned.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-arm64-unsigned.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-arm64-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-arm64 -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-arm64-unsigned.postrm linux-5.10.205/debian/linux-image-5.10.0-26-arm64-unsigned.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-arm64-unsigned.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-arm64-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-arm64 -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-arm64-unsigned.preinst linux-5.10.205/debian/linux-image-5.10.0-26-arm64-unsigned.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-arm64-unsigned.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-arm64-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-arm64 -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-arm64-unsigned.prerm linux-5.10.205/debian/linux-image-5.10.0-26-arm64-unsigned.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-arm64-unsigned.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-arm64-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-arm64 -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-armmp-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-armmp-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-armmp-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-armmp-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-armmp-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-armmp/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-armmp/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-armmp/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-armmp/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-armmp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-armmp/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-armmp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-armmp/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-armmp-lpae-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-armmp-lpae-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-armmp-lpae-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-armmp-lpae-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-armmp-lpae-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-armmp-lpae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-armmp-lpae/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-armmp-lpae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-armmp-lpae/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-armmp-lpae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-armmp-lpae/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-armmp-lpae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-armmp-lpae/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-armmp-lpae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-armmp-lpae/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-armmp-lpae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-armmp-lpae/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-armmp-lpae.postinst linux-5.10.205/debian/linux-image-5.10.0-26-armmp-lpae.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-armmp-lpae.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-armmp-lpae.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-armmp-lpae -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-armmp-lpae.postrm linux-5.10.205/debian/linux-image-5.10.0-26-armmp-lpae.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-armmp-lpae.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-armmp-lpae.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-armmp-lpae -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-armmp-lpae.preinst linux-5.10.205/debian/linux-image-5.10.0-26-armmp-lpae.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-armmp-lpae.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-armmp-lpae.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-armmp-lpae -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-armmp-lpae.prerm linux-5.10.205/debian/linux-image-5.10.0-26-armmp-lpae.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-armmp-lpae.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-armmp-lpae.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-armmp-lpae -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-armmp.postinst linux-5.10.205/debian/linux-image-5.10.0-26-armmp.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-armmp.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-armmp.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-armmp -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-armmp.postrm linux-5.10.205/debian/linux-image-5.10.0-26-armmp.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-armmp.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-armmp.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-armmp -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-armmp.preinst linux-5.10.205/debian/linux-image-5.10.0-26-armmp.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-armmp.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-armmp.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-armmp -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-armmp.prerm linux-5.10.205/debian/linux-image-5.10.0-26-armmp.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-armmp.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-armmp.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-armmp -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-cloud-amd64-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-cloud-amd64-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-cloud-amd64-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-cloud-amd64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-cloud-amd64-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-cloud-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-cloud-amd64/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-cloud-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-cloud-amd64/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-cloud-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-cloud-amd64/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-cloud-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-cloud-amd64/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-cloud-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-cloud-amd64/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-cloud-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-cloud-amd64/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-cloud-amd64-unsigned.postinst linux-5.10.205/debian/linux-image-5.10.0-26-cloud-amd64-unsigned.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-cloud-amd64-unsigned.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-cloud-amd64-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-cloud-amd64 -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-cloud-amd64-unsigned.postrm linux-5.10.205/debian/linux-image-5.10.0-26-cloud-amd64-unsigned.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-cloud-amd64-unsigned.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-cloud-amd64-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-cloud-amd64 -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-cloud-amd64-unsigned.preinst linux-5.10.205/debian/linux-image-5.10.0-26-cloud-amd64-unsigned.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-cloud-amd64-unsigned.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-cloud-amd64-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-cloud-amd64 -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-cloud-amd64-unsigned.prerm linux-5.10.205/debian/linux-image-5.10.0-26-cloud-amd64-unsigned.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-cloud-amd64-unsigned.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-cloud-amd64-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-cloud-amd64 -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-cloud-arm64-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-cloud-arm64-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-cloud-arm64-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-cloud-arm64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-cloud-arm64-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-cloud-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-cloud-arm64/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-cloud-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-cloud-arm64/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-cloud-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-cloud-arm64/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-cloud-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-cloud-arm64/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-cloud-arm64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-cloud-arm64/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-cloud-arm64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-cloud-arm64/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-cloud-arm64-unsigned.postinst linux-5.10.205/debian/linux-image-5.10.0-26-cloud-arm64-unsigned.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-cloud-arm64-unsigned.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-cloud-arm64-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-cloud-arm64 -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-cloud-arm64-unsigned.postrm linux-5.10.205/debian/linux-image-5.10.0-26-cloud-arm64-unsigned.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-cloud-arm64-unsigned.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-cloud-arm64-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-cloud-arm64 -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-cloud-arm64-unsigned.preinst linux-5.10.205/debian/linux-image-5.10.0-26-cloud-arm64-unsigned.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-cloud-arm64-unsigned.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-cloud-arm64-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-cloud-arm64 -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-cloud-arm64-unsigned.prerm linux-5.10.205/debian/linux-image-5.10.0-26-cloud-arm64-unsigned.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-cloud-arm64-unsigned.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-cloud-arm64-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-cloud-arm64 -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-itanium-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-itanium-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-itanium-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-itanium-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-itanium-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-itanium-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-itanium/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-itanium-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-itanium/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-itanium-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-itanium/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-itanium-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-itanium/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-itanium-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-itanium/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-itanium-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-itanium/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-itanium.postinst linux-5.10.205/debian/linux-image-5.10.0-26-itanium.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-itanium.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-itanium.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-itanium -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-itanium.postrm linux-5.10.205/debian/linux-image-5.10.0-26-itanium.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-itanium.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-itanium.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-itanium -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-itanium.preinst linux-5.10.205/debian/linux-image-5.10.0-26-itanium.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-itanium.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-itanium.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-itanium -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-itanium.prerm linux-5.10.205/debian/linux-image-5.10.0-26-itanium.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-itanium.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-itanium.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-itanium -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-loongson-3-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-loongson-3-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-loongson-3-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-loongson-3-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-loongson-3-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-loongson-3-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-loongson-3/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-loongson-3-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-loongson-3/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-loongson-3-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-loongson-3/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-loongson-3-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-loongson-3/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-loongson-3-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-loongson-3/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-loongson-3-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-loongson-3/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-loongson-3.postinst linux-5.10.205/debian/linux-image-5.10.0-26-loongson-3.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-loongson-3.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-loongson-3.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-loongson-3 -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-loongson-3.postrm linux-5.10.205/debian/linux-image-5.10.0-26-loongson-3.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-loongson-3.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-loongson-3.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-loongson-3 -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-loongson-3.preinst linux-5.10.205/debian/linux-image-5.10.0-26-loongson-3.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-loongson-3.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-loongson-3.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-loongson-3 -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-loongson-3.prerm linux-5.10.205/debian/linux-image-5.10.0-26-loongson-3.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-loongson-3.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-loongson-3.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-loongson-3 -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-m68k-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-m68k-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-m68k-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-m68k-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-m68k-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-m68k-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-m68k/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-m68k-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-m68k/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-m68k-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-m68k/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-m68k-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-m68k/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-m68k-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-m68k/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-m68k-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-m68k/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-m68k.postinst linux-5.10.205/debian/linux-image-5.10.0-26-m68k.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-m68k.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-m68k.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-m68k -image_path=/boot/vmlinux-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-m68k.postrm linux-5.10.205/debian/linux-image-5.10.0-26-m68k.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-m68k.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-m68k.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-m68k -image_path=/boot/vmlinux-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-m68k.preinst linux-5.10.205/debian/linux-image-5.10.0-26-m68k.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-m68k.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-m68k.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-m68k -image_path=/boot/vmlinux-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-m68k.prerm linux-5.10.205/debian/linux-image-5.10.0-26-m68k.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-m68k.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-m68k.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-m68k -image_path=/boot/vmlinux-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-marvell-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-marvell-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-marvell-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-marvell-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-marvell-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-marvell-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-marvell/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-marvell-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-marvell/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-marvell-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-marvell/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-marvell-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-marvell/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-marvell-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-marvell/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-marvell-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-marvell/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-marvell.postinst linux-5.10.205/debian/linux-image-5.10.0-26-marvell.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-marvell.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-marvell.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-marvell -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-marvell.postrm linux-5.10.205/debian/linux-image-5.10.0-26-marvell.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-marvell.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-marvell.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-marvell -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-marvell.preinst linux-5.10.205/debian/linux-image-5.10.0-26-marvell.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-marvell.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-marvell.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-marvell -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-marvell.prerm linux-5.10.205/debian/linux-image-5.10.0-26-marvell.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-marvell.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-marvell.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-marvell -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mckinley-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-mckinley-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-mckinley-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mckinley-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-mckinley-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-mckinley-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-mckinley/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-mckinley-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-mckinley/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-mckinley-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-mckinley/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-mckinley-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-mckinley/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-mckinley-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-mckinley/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-mckinley-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-mckinley/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mckinley.postinst linux-5.10.205/debian/linux-image-5.10.0-26-mckinley.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-mckinley.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mckinley.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-mckinley -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mckinley.postrm linux-5.10.205/debian/linux-image-5.10.0-26-mckinley.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-mckinley.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mckinley.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-mckinley -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mckinley.preinst linux-5.10.205/debian/linux-image-5.10.0-26-mckinley.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-mckinley.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mckinley.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-mckinley -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mckinley.prerm linux-5.10.205/debian/linux-image-5.10.0-26-mckinley.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-mckinley.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mckinley.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-mckinley -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mips32r6-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-mips32r6-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-mips32r6-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mips32r6-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-mips32r6-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-mips32r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-mips32r6/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-mips32r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-mips32r6/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-mips32r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-mips32r6/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-mips32r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-mips32r6/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-mips32r6-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-mips32r6/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-mips32r6-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-mips32r6/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mips32r6.postinst linux-5.10.205/debian/linux-image-5.10.0-26-mips32r6.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-mips32r6.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mips32r6.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-mips32r6 -image_path=/boot/vmlinux-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mips32r6.postrm linux-5.10.205/debian/linux-image-5.10.0-26-mips32r6.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-mips32r6.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mips32r6.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-mips32r6 -image_path=/boot/vmlinux-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mips32r6.preinst linux-5.10.205/debian/linux-image-5.10.0-26-mips32r6.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-mips32r6.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mips32r6.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-mips32r6 -image_path=/boot/vmlinux-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mips32r6.prerm linux-5.10.205/debian/linux-image-5.10.0-26-mips32r6.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-mips32r6.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mips32r6.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-mips32r6 -image_path=/boot/vmlinux-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mips32r6el-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-mips32r6el-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-mips32r6el-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mips32r6el-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-mips32r6el-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-mips32r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-mips32r6el/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-mips32r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-mips32r6el/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-mips32r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-mips32r6el/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-mips32r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-mips32r6el/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-mips32r6el-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-mips32r6el/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-mips32r6el-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-mips32r6el/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mips32r6el.postinst linux-5.10.205/debian/linux-image-5.10.0-26-mips32r6el.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-mips32r6el.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mips32r6el.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-mips32r6el -image_path=/boot/vmlinux-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mips32r6el.postrm linux-5.10.205/debian/linux-image-5.10.0-26-mips32r6el.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-mips32r6el.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mips32r6el.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-mips32r6el -image_path=/boot/vmlinux-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mips32r6el.preinst linux-5.10.205/debian/linux-image-5.10.0-26-mips32r6el.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-mips32r6el.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mips32r6el.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-mips32r6el -image_path=/boot/vmlinux-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mips32r6el.prerm linux-5.10.205/debian/linux-image-5.10.0-26-mips32r6el.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-mips32r6el.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mips32r6el.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-mips32r6el -image_path=/boot/vmlinux-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mips64r6-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-mips64r6-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-mips64r6-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mips64r6-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-mips64r6-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-mips64r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-mips64r6/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-mips64r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-mips64r6/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-mips64r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-mips64r6/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-mips64r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-mips64r6/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-mips64r6-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-mips64r6/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-mips64r6-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-mips64r6/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mips64r6.postinst linux-5.10.205/debian/linux-image-5.10.0-26-mips64r6.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-mips64r6.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mips64r6.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-mips64r6 -image_path=/boot/vmlinux-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mips64r6.postrm linux-5.10.205/debian/linux-image-5.10.0-26-mips64r6.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-mips64r6.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mips64r6.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-mips64r6 -image_path=/boot/vmlinux-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mips64r6.preinst linux-5.10.205/debian/linux-image-5.10.0-26-mips64r6.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-mips64r6.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mips64r6.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-mips64r6 -image_path=/boot/vmlinux-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mips64r6.prerm linux-5.10.205/debian/linux-image-5.10.0-26-mips64r6.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-mips64r6.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mips64r6.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-mips64r6 -image_path=/boot/vmlinux-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mips64r6el-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-mips64r6el-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-mips64r6el-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mips64r6el-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-mips64r6el-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-mips64r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-mips64r6el/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-mips64r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-mips64r6el/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-mips64r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-mips64r6el/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-mips64r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-mips64r6el/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-mips64r6el-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-mips64r6el/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-mips64r6el-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-mips64r6el/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mips64r6el.postinst linux-5.10.205/debian/linux-image-5.10.0-26-mips64r6el.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-mips64r6el.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mips64r6el.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-mips64r6el -image_path=/boot/vmlinux-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mips64r6el.postrm linux-5.10.205/debian/linux-image-5.10.0-26-mips64r6el.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-mips64r6el.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mips64r6el.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-mips64r6el -image_path=/boot/vmlinux-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mips64r6el.preinst linux-5.10.205/debian/linux-image-5.10.0-26-mips64r6el.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-mips64r6el.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mips64r6el.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-mips64r6el -image_path=/boot/vmlinux-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-mips64r6el.prerm linux-5.10.205/debian/linux-image-5.10.0-26-mips64r6el.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-mips64r6el.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-mips64r6el.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-mips64r6el -image_path=/boot/vmlinux-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-octeon-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-octeon-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-octeon-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-octeon-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-octeon-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-octeon-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-octeon/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-octeon-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-octeon/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-octeon-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-octeon/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-octeon-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-octeon/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-octeon-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-octeon/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-octeon-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-octeon/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-octeon.postinst linux-5.10.205/debian/linux-image-5.10.0-26-octeon.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-octeon.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-octeon.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-octeon -image_path=/boot/vmlinux-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-octeon.postrm linux-5.10.205/debian/linux-image-5.10.0-26-octeon.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-octeon.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-octeon.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-octeon -image_path=/boot/vmlinux-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-octeon.preinst linux-5.10.205/debian/linux-image-5.10.0-26-octeon.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-octeon.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-octeon.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-octeon -image_path=/boot/vmlinux-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-octeon.prerm linux-5.10.205/debian/linux-image-5.10.0-26-octeon.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-octeon.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-octeon.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-octeon -image_path=/boot/vmlinux-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-parisc.postinst linux-5.10.205/debian/linux-image-5.10.0-26-parisc.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-parisc.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-parisc.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-parisc -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-parisc.postrm linux-5.10.205/debian/linux-image-5.10.0-26-parisc.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-parisc.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-parisc.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-parisc -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-parisc.preinst linux-5.10.205/debian/linux-image-5.10.0-26-parisc.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-parisc.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-parisc.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-parisc -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-parisc.prerm linux-5.10.205/debian/linux-image-5.10.0-26-parisc.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-parisc.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-parisc.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-parisc -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-parisc64.postinst linux-5.10.205/debian/linux-image-5.10.0-26-parisc64.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-parisc64.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-parisc64.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-parisc64 -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-parisc64.postrm linux-5.10.205/debian/linux-image-5.10.0-26-parisc64.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-parisc64.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-parisc64.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-parisc64 -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-parisc64.preinst linux-5.10.205/debian/linux-image-5.10.0-26-parisc64.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-parisc64.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-parisc64.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-parisc64 -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-parisc64.prerm linux-5.10.205/debian/linux-image-5.10.0-26-parisc64.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-parisc64.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-parisc64.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-parisc64 -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-powerpc-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-powerpc-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-powerpc-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-powerpc-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-powerpc-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-powerpc-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-powerpc/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-powerpc-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-powerpc/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-powerpc-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-powerpc/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-powerpc-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-powerpc/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-powerpc-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-powerpc/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-powerpc-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-powerpc/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-powerpc-smp-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-powerpc-smp-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-powerpc-smp-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-powerpc-smp-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-powerpc-smp-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-powerpc-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-powerpc-smp/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-powerpc-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-powerpc-smp/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-powerpc-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-powerpc-smp/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-powerpc-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-powerpc-smp/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-powerpc-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-powerpc-smp/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-powerpc-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-powerpc-smp/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-powerpc-smp.postinst linux-5.10.205/debian/linux-image-5.10.0-26-powerpc-smp.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-powerpc-smp.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-powerpc-smp.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-powerpc-smp -image_path=/boot/vmlinux-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-powerpc-smp.postrm linux-5.10.205/debian/linux-image-5.10.0-26-powerpc-smp.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-powerpc-smp.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-powerpc-smp.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-powerpc-smp -image_path=/boot/vmlinux-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-powerpc-smp.preinst linux-5.10.205/debian/linux-image-5.10.0-26-powerpc-smp.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-powerpc-smp.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-powerpc-smp.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-powerpc-smp -image_path=/boot/vmlinux-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-powerpc-smp.prerm linux-5.10.205/debian/linux-image-5.10.0-26-powerpc-smp.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-powerpc-smp.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-powerpc-smp.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-powerpc-smp -image_path=/boot/vmlinux-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-powerpc.postinst linux-5.10.205/debian/linux-image-5.10.0-26-powerpc.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-powerpc.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-powerpc.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-powerpc -image_path=/boot/vmlinux-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-powerpc.postrm linux-5.10.205/debian/linux-image-5.10.0-26-powerpc.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-powerpc.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-powerpc.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-powerpc -image_path=/boot/vmlinux-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-powerpc.preinst linux-5.10.205/debian/linux-image-5.10.0-26-powerpc.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-powerpc.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-powerpc.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-powerpc -image_path=/boot/vmlinux-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-powerpc.prerm linux-5.10.205/debian/linux-image-5.10.0-26-powerpc.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-powerpc.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-powerpc.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-powerpc -image_path=/boot/vmlinux-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-powerpc64-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-powerpc64-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-powerpc64-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-powerpc64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-powerpc64-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-powerpc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-powerpc64/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-powerpc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-powerpc64/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-powerpc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-powerpc64/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-powerpc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-powerpc64/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-powerpc64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-powerpc64/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-powerpc64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-powerpc64/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-powerpc64.postinst linux-5.10.205/debian/linux-image-5.10.0-26-powerpc64.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-powerpc64.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-powerpc64.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-powerpc64 -image_path=/boot/vmlinux-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-powerpc64.postrm linux-5.10.205/debian/linux-image-5.10.0-26-powerpc64.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-powerpc64.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-powerpc64.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-powerpc64 -image_path=/boot/vmlinux-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-powerpc64.preinst linux-5.10.205/debian/linux-image-5.10.0-26-powerpc64.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-powerpc64.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-powerpc64.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-powerpc64 -image_path=/boot/vmlinux-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-powerpc64.prerm linux-5.10.205/debian/linux-image-5.10.0-26-powerpc64.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-powerpc64.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-powerpc64.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-powerpc64 -image_path=/boot/vmlinux-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-powerpc64le-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-powerpc64le-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-powerpc64le-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-powerpc64le-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-powerpc64le-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-powerpc64le-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-powerpc64le/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-powerpc64le-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-powerpc64le/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-powerpc64le-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-powerpc64le/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-powerpc64le-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-powerpc64le/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-powerpc64le-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-powerpc64le/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-powerpc64le-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-powerpc64le/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-powerpc64le.postinst linux-5.10.205/debian/linux-image-5.10.0-26-powerpc64le.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-powerpc64le.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-powerpc64le.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-powerpc64le -image_path=/boot/vmlinux-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-powerpc64le.postrm linux-5.10.205/debian/linux-image-5.10.0-26-powerpc64le.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-powerpc64le.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-powerpc64le.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-powerpc64le -image_path=/boot/vmlinux-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-powerpc64le.preinst linux-5.10.205/debian/linux-image-5.10.0-26-powerpc64le.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-powerpc64le.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-powerpc64le.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-powerpc64le -image_path=/boot/vmlinux-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-powerpc64le.prerm linux-5.10.205/debian/linux-image-5.10.0-26-powerpc64le.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-powerpc64le.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-powerpc64le.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-powerpc64le -image_path=/boot/vmlinux-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-riscv64-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-riscv64-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-riscv64-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-riscv64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-riscv64-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-riscv64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-riscv64/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-riscv64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-riscv64/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-riscv64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-riscv64/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-riscv64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-riscv64/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-riscv64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-riscv64/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-riscv64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-riscv64/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-riscv64.postinst linux-5.10.205/debian/linux-image-5.10.0-26-riscv64.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-riscv64.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-riscv64.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-riscv64 -image_path=/boot/vmlinux-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-riscv64.postrm linux-5.10.205/debian/linux-image-5.10.0-26-riscv64.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-riscv64.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-riscv64.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-riscv64 -image_path=/boot/vmlinux-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-riscv64.preinst linux-5.10.205/debian/linux-image-5.10.0-26-riscv64.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-riscv64.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-riscv64.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-riscv64 -image_path=/boot/vmlinux-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-riscv64.prerm linux-5.10.205/debian/linux-image-5.10.0-26-riscv64.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-riscv64.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-riscv64.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-riscv64 -image_path=/boot/vmlinux-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rpi-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-rpi-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-rpi-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rpi-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-rpi-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-rpi-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-rpi/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-rpi-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-rpi/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-rpi-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-rpi/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-rpi-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-rpi/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-rpi-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-rpi/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-rpi-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-rpi/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rpi.postinst linux-5.10.205/debian/linux-image-5.10.0-26-rpi.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-rpi.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rpi.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-rpi -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rpi.postrm linux-5.10.205/debian/linux-image-5.10.0-26-rpi.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-rpi.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rpi.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-rpi -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rpi.preinst linux-5.10.205/debian/linux-image-5.10.0-26-rpi.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-rpi.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rpi.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-rpi -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rpi.prerm linux-5.10.205/debian/linux-image-5.10.0-26-rpi.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-rpi.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rpi.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-rpi -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rt-686-pae-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-rt-686-pae-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-rt-686-pae-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rt-686-pae-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-rt-686-pae-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-rt-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-rt-686-pae/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-rt-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-rt-686-pae/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-rt-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-rt-686-pae/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-rt-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-rt-686-pae/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-rt-686-pae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-rt-686-pae/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-rt-686-pae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-rt-686-pae/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rt-686-pae-unsigned.postinst linux-5.10.205/debian/linux-image-5.10.0-26-rt-686-pae-unsigned.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-rt-686-pae-unsigned.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rt-686-pae-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-rt-686-pae -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rt-686-pae-unsigned.postrm linux-5.10.205/debian/linux-image-5.10.0-26-rt-686-pae-unsigned.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-rt-686-pae-unsigned.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rt-686-pae-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-rt-686-pae -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rt-686-pae-unsigned.preinst linux-5.10.205/debian/linux-image-5.10.0-26-rt-686-pae-unsigned.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-rt-686-pae-unsigned.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rt-686-pae-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-rt-686-pae -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rt-686-pae-unsigned.prerm linux-5.10.205/debian/linux-image-5.10.0-26-rt-686-pae-unsigned.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-rt-686-pae-unsigned.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rt-686-pae-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-rt-686-pae -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rt-amd64-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-rt-amd64-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-rt-amd64-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rt-amd64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-rt-amd64-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-rt-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-rt-amd64/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-rt-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-rt-amd64/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-rt-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-rt-amd64/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-rt-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-rt-amd64/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-rt-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-rt-amd64/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-rt-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-rt-amd64/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rt-amd64-unsigned.postinst linux-5.10.205/debian/linux-image-5.10.0-26-rt-amd64-unsigned.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-rt-amd64-unsigned.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rt-amd64-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-rt-amd64 -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rt-amd64-unsigned.postrm linux-5.10.205/debian/linux-image-5.10.0-26-rt-amd64-unsigned.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-rt-amd64-unsigned.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rt-amd64-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-rt-amd64 -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rt-amd64-unsigned.preinst linux-5.10.205/debian/linux-image-5.10.0-26-rt-amd64-unsigned.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-rt-amd64-unsigned.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rt-amd64-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-rt-amd64 -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rt-amd64-unsigned.prerm linux-5.10.205/debian/linux-image-5.10.0-26-rt-amd64-unsigned.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-rt-amd64-unsigned.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rt-amd64-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-rt-amd64 -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rt-arm64-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-rt-arm64-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-rt-arm64-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rt-arm64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-rt-arm64-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-rt-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-rt-arm64/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-rt-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-rt-arm64/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-rt-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-rt-arm64/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-rt-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-rt-arm64/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-rt-arm64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-rt-arm64/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-rt-arm64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-rt-arm64/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rt-arm64-unsigned.postinst linux-5.10.205/debian/linux-image-5.10.0-26-rt-arm64-unsigned.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-rt-arm64-unsigned.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rt-arm64-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-rt-arm64 -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rt-arm64-unsigned.postrm linux-5.10.205/debian/linux-image-5.10.0-26-rt-arm64-unsigned.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-rt-arm64-unsigned.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rt-arm64-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-rt-arm64 -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rt-arm64-unsigned.preinst linux-5.10.205/debian/linux-image-5.10.0-26-rt-arm64-unsigned.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-rt-arm64-unsigned.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rt-arm64-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-rt-arm64 -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rt-arm64-unsigned.prerm linux-5.10.205/debian/linux-image-5.10.0-26-rt-arm64-unsigned.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-rt-arm64-unsigned.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rt-arm64-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-rt-arm64 -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rt-armmp-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-rt-armmp-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-rt-armmp-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rt-armmp-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-rt-armmp-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-rt-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-rt-armmp/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-rt-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-rt-armmp/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-rt-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-rt-armmp/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-rt-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-rt-armmp/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-rt-armmp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-rt-armmp/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-rt-armmp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-rt-armmp/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rt-armmp.postinst linux-5.10.205/debian/linux-image-5.10.0-26-rt-armmp.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-rt-armmp.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rt-armmp.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-rt-armmp -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rt-armmp.postrm linux-5.10.205/debian/linux-image-5.10.0-26-rt-armmp.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-rt-armmp.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rt-armmp.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-rt-armmp -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rt-armmp.preinst linux-5.10.205/debian/linux-image-5.10.0-26-rt-armmp.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-rt-armmp.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rt-armmp.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-rt-armmp -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-rt-armmp.prerm linux-5.10.205/debian/linux-image-5.10.0-26-rt-armmp.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-rt-armmp.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-rt-armmp.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-rt-armmp -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-s390x-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-s390x-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-s390x-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-s390x-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-s390x-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-s390x-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-s390x/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-s390x-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-s390x/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-s390x-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-s390x/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-s390x-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-s390x/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-s390x-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-s390x/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-s390x-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-s390x/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-s390x.postinst linux-5.10.205/debian/linux-image-5.10.0-26-s390x.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-s390x.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-s390x.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-s390x -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-s390x.postrm linux-5.10.205/debian/linux-image-5.10.0-26-s390x.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-s390x.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-s390x.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-s390x -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-s390x.preinst linux-5.10.205/debian/linux-image-5.10.0-26-s390x.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-s390x.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-s390x.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-s390x -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-s390x.prerm linux-5.10.205/debian/linux-image-5.10.0-26-s390x.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-s390x.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-s390x.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-s390x -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-sh7751r-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-sh7751r-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-sh7751r-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-sh7751r-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-sh7751r-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-sh7751r-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-sh7751r/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-sh7751r-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-sh7751r/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-sh7751r-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-sh7751r/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-sh7751r-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-sh7751r/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-sh7751r-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-sh7751r/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-sh7751r-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-sh7751r/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-sh7751r.postinst linux-5.10.205/debian/linux-image-5.10.0-26-sh7751r.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-sh7751r.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-sh7751r.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-sh7751r -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-sh7751r.postrm linux-5.10.205/debian/linux-image-5.10.0-26-sh7751r.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-sh7751r.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-sh7751r.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-sh7751r -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-sh7751r.preinst linux-5.10.205/debian/linux-image-5.10.0-26-sh7751r.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-sh7751r.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-sh7751r.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-sh7751r -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-sh7751r.prerm linux-5.10.205/debian/linux-image-5.10.0-26-sh7751r.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-sh7751r.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-sh7751r.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-sh7751r -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-sh7785lcr-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-sh7785lcr-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-sh7785lcr-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-sh7785lcr-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-sh7785lcr-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-sh7785lcr-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-sh7785lcr/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-sh7785lcr-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-sh7785lcr/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-sh7785lcr-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-sh7785lcr/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-sh7785lcr-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-sh7785lcr/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-sh7785lcr-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-sh7785lcr/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-sh7785lcr-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-sh7785lcr/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-sh7785lcr.postinst linux-5.10.205/debian/linux-image-5.10.0-26-sh7785lcr.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-sh7785lcr.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-sh7785lcr.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-sh7785lcr -image_path=/boot/vmlinuz-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-sh7785lcr.postrm linux-5.10.205/debian/linux-image-5.10.0-26-sh7785lcr.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-sh7785lcr.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-sh7785lcr.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-sh7785lcr -image_path=/boot/vmlinuz-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-sh7785lcr.preinst linux-5.10.205/debian/linux-image-5.10.0-26-sh7785lcr.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-sh7785lcr.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-sh7785lcr.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-sh7785lcr -image_path=/boot/vmlinuz-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-sh7785lcr.prerm linux-5.10.205/debian/linux-image-5.10.0-26-sh7785lcr.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-sh7785lcr.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-sh7785lcr.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-sh7785lcr -image_path=/boot/vmlinuz-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-sparc64-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-sparc64-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-sparc64-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-sparc64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-sparc64-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-sparc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-sparc64/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-sparc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-sparc64/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-sparc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-sparc64/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-sparc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-sparc64/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-sparc64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-sparc64/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-sparc64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-sparc64/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-sparc64-smp-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-26-sparc64-smp-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-26-sparc64-smp-dbg.lintian-overrides 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-sparc64-smp-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/usr/bin/dh-exec - -# Kernel dbg packages contain a full image with debug data -linux-image-5.10.0-26-sparc64-smp-dbg: dbg-package-missing-depends - -# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so -# it's OK that they don't have it -[arm64 armhf] linux-image-5.10.0-26-sparc64-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-sparc64-smp/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-5.10.0-26-sparc64-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-sparc64-smp/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-5.10.0-26-sparc64-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-sparc64-smp/vdso/vdso64.so -[amd64] linux-image-5.10.0-26-sparc64-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-26-sparc64-smp/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-5.10.0-26-sparc64-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-sparc64-smp/vdso/vdso32.so -[amd64] linux-image-5.10.0-26-sparc64-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-26-sparc64-smp/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-sparc64-smp.postinst linux-5.10.205/debian/linux-image-5.10.0-26-sparc64-smp.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-sparc64-smp.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-sparc64-smp.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-sparc64-smp -image_path=/boot/vmlinux-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-sparc64-smp.postrm linux-5.10.205/debian/linux-image-5.10.0-26-sparc64-smp.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-sparc64-smp.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-sparc64-smp.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-sparc64-smp -image_path=/boot/vmlinux-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-sparc64-smp.preinst linux-5.10.205/debian/linux-image-5.10.0-26-sparc64-smp.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-sparc64-smp.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-sparc64-smp.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-sparc64-smp -image_path=/boot/vmlinux-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-sparc64-smp.prerm linux-5.10.205/debian/linux-image-5.10.0-26-sparc64-smp.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-sparc64-smp.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-sparc64-smp.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-sparc64-smp -image_path=/boot/vmlinux-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-sparc64.postinst linux-5.10.205/debian/linux-image-5.10.0-26-sparc64.postinst --- linux-5.10.197/debian/linux-image-5.10.0-26-sparc64.postinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-sparc64.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-sparc64 -image_path=/boot/vmlinux-$version - -if [ "$1" != configure ]; then - exit 0 -fi - -depmod $version - -if [ -f /lib/modules/$version/.fresh-install ]; then - change=install -else - change=upgrade -fi -linux-update-symlinks $change $version $image_path -rm -f /lib/modules/$version/.fresh-install - -if [ -d /etc/kernel/postinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-sparc64.postrm linux-5.10.205/debian/linux-image-5.10.0-26-sparc64.postrm --- linux-5.10.197/debian/linux-image-5.10.0-26-sparc64.postrm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-sparc64.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-sparc64 -image_path=/boot/vmlinux-$version - -rm -f /lib/modules/$version/.fresh-install - -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then - linux-update-symlinks remove $version $image_path -fi - -if [ -d /etc/kernel/postrm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/postrm.d -fi - -if [ "$1" = purge ]; then - for extra_file in modules.dep modules.isapnpmap modules.pcimap \ - modules.usbmap modules.parportmap \ - modules.generic_string modules.ieee1394map \ - modules.ieee1394map modules.pnpbiosmap \ - modules.alias modules.ccwmap modules.inputmap \ - modules.symbols modules.ofmap \ - modules.seriomap modules.\*.bin \ - modules.softdep modules.devname; do - eval rm -f /lib/modules/$version/$extra_file - done - rmdir /lib/modules/$version || true -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-sparc64.preinst linux-5.10.205/debian/linux-image-5.10.0-26-sparc64.preinst --- linux-5.10.197/debian/linux-image-5.10.0-26-sparc64.preinst 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-sparc64.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-sparc64 -image_path=/boot/vmlinux-$version - -if [ "$1" = abort-upgrade ]; then - exit 0 -fi - -if [ "$1" = install ]; then - # Create a flag file for postinst - mkdir -p /lib/modules/$version - touch /lib/modules/$version/.fresh-install -fi - -if [ -d /etc/kernel/preinst.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/preinst.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-26-sparc64.prerm linux-5.10.205/debian/linux-image-5.10.0-26-sparc64.prerm --- linux-5.10.197/debian/linux-image-5.10.0-26-sparc64.prerm 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-26-sparc64.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=5.10.0-26-sparc64 -image_path=/boot/vmlinux-$version - -if [ "$1" != remove ]; then - exit 0 -fi - -linux-check-removal $version - -if [ -d /etc/kernel/prerm.d ]; then - DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ - --arg=$image_path /etc/kernel/prerm.d -fi - -exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-4kc-malta-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-4kc-malta-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-4kc-malta-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-4kc-malta-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-4kc-malta-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-4kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-4kc-malta/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-4kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-4kc-malta/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-4kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-4kc-malta/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-4kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-4kc-malta/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-4kc-malta-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-4kc-malta/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-4kc-malta-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-4kc-malta/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-4kc-malta.postinst linux-5.10.205/debian/linux-image-5.10.0-27-4kc-malta.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-4kc-malta.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-4kc-malta.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-4kc-malta +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-4kc-malta.postrm linux-5.10.205/debian/linux-image-5.10.0-27-4kc-malta.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-4kc-malta.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-4kc-malta.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-4kc-malta +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-4kc-malta.preinst linux-5.10.205/debian/linux-image-5.10.0-27-4kc-malta.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-4kc-malta.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-4kc-malta.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-4kc-malta +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-4kc-malta.prerm linux-5.10.205/debian/linux-image-5.10.0-27-4kc-malta.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-4kc-malta.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-4kc-malta.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-4kc-malta +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-5kc-malta-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-5kc-malta-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-5kc-malta-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-5kc-malta-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-5kc-malta-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-5kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-5kc-malta/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-5kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-5kc-malta/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-5kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-5kc-malta/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-5kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-5kc-malta/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-5kc-malta-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-5kc-malta/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-5kc-malta-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-5kc-malta/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-5kc-malta.postinst linux-5.10.205/debian/linux-image-5.10.0-27-5kc-malta.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-5kc-malta.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-5kc-malta.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-5kc-malta +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-5kc-malta.postrm linux-5.10.205/debian/linux-image-5.10.0-27-5kc-malta.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-5kc-malta.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-5kc-malta.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-5kc-malta +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-5kc-malta.preinst linux-5.10.205/debian/linux-image-5.10.0-27-5kc-malta.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-5kc-malta.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-5kc-malta.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-5kc-malta +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-5kc-malta.prerm linux-5.10.205/debian/linux-image-5.10.0-27-5kc-malta.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-5kc-malta.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-5kc-malta.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-5kc-malta +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-686-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-686-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-686-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-686-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-686-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-686-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-686/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-686-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-686/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-686-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-686/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-686-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-686/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-686-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-686/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-686-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-686/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-686-pae-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-686-pae-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-686-pae-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-686-pae-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-686-pae-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-686-pae/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-686-pae/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-686-pae/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-686-pae/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-686-pae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-686-pae/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-686-pae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-686-pae/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-686-pae-unsigned.postinst linux-5.10.205/debian/linux-image-5.10.0-27-686-pae-unsigned.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-686-pae-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-686-pae-unsigned.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-686-pae +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-686-pae-unsigned.postrm linux-5.10.205/debian/linux-image-5.10.0-27-686-pae-unsigned.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-686-pae-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-686-pae-unsigned.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-686-pae +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-686-pae-unsigned.preinst linux-5.10.205/debian/linux-image-5.10.0-27-686-pae-unsigned.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-686-pae-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-686-pae-unsigned.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-686-pae +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-686-pae-unsigned.prerm linux-5.10.205/debian/linux-image-5.10.0-27-686-pae-unsigned.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-686-pae-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-686-pae-unsigned.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-686-pae +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-686-unsigned.postinst linux-5.10.205/debian/linux-image-5.10.0-27-686-unsigned.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-686-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-686-unsigned.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-686 +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-686-unsigned.postrm linux-5.10.205/debian/linux-image-5.10.0-27-686-unsigned.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-686-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-686-unsigned.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-686 +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-686-unsigned.preinst linux-5.10.205/debian/linux-image-5.10.0-27-686-unsigned.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-686-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-686-unsigned.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-686 +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-686-unsigned.prerm linux-5.10.205/debian/linux-image-5.10.0-27-686-unsigned.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-686-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-686-unsigned.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-686 +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-alpha-generic-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-alpha-generic-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-alpha-generic-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-alpha-generic-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-alpha-generic-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-alpha-generic-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-alpha-generic/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-alpha-generic-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-alpha-generic/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-alpha-generic-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-alpha-generic/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-alpha-generic-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-alpha-generic/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-alpha-generic-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-alpha-generic/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-alpha-generic-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-alpha-generic/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-alpha-generic.postinst linux-5.10.205/debian/linux-image-5.10.0-27-alpha-generic.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-alpha-generic.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-alpha-generic.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-alpha-generic +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-alpha-generic.postrm linux-5.10.205/debian/linux-image-5.10.0-27-alpha-generic.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-alpha-generic.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-alpha-generic.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-alpha-generic +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-alpha-generic.preinst linux-5.10.205/debian/linux-image-5.10.0-27-alpha-generic.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-alpha-generic.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-alpha-generic.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-alpha-generic +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-alpha-generic.prerm linux-5.10.205/debian/linux-image-5.10.0-27-alpha-generic.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-alpha-generic.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-alpha-generic.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-alpha-generic +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-alpha-smp-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-alpha-smp-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-alpha-smp-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-alpha-smp-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-alpha-smp-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-alpha-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-alpha-smp/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-alpha-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-alpha-smp/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-alpha-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-alpha-smp/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-alpha-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-alpha-smp/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-alpha-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-alpha-smp/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-alpha-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-alpha-smp/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-alpha-smp.postinst linux-5.10.205/debian/linux-image-5.10.0-27-alpha-smp.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-alpha-smp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-alpha-smp.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-alpha-smp +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-alpha-smp.postrm linux-5.10.205/debian/linux-image-5.10.0-27-alpha-smp.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-alpha-smp.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-alpha-smp.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-alpha-smp +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-alpha-smp.preinst linux-5.10.205/debian/linux-image-5.10.0-27-alpha-smp.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-alpha-smp.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-alpha-smp.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-alpha-smp +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-alpha-smp.prerm linux-5.10.205/debian/linux-image-5.10.0-27-alpha-smp.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-alpha-smp.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-alpha-smp.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-alpha-smp +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-amd64-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-amd64-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-amd64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-amd64-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-amd64-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-amd64/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-amd64/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-amd64/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-amd64/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-amd64/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-amd64/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-amd64-unsigned.postinst linux-5.10.205/debian/linux-image-5.10.0-27-amd64-unsigned.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-amd64-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-amd64-unsigned.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-amd64 +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-amd64-unsigned.postrm linux-5.10.205/debian/linux-image-5.10.0-27-amd64-unsigned.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-amd64-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-amd64-unsigned.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-amd64 +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-amd64-unsigned.preinst linux-5.10.205/debian/linux-image-5.10.0-27-amd64-unsigned.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-amd64-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-amd64-unsigned.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-amd64 +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-amd64-unsigned.prerm linux-5.10.205/debian/linux-image-5.10.0-27-amd64-unsigned.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-amd64-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-amd64-unsigned.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-amd64 +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-arm64-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-arm64-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-arm64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-arm64-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-arm64-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-arm64/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-arm64/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-arm64/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-arm64/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-arm64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-arm64/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-arm64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-arm64/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-arm64-unsigned.postinst linux-5.10.205/debian/linux-image-5.10.0-27-arm64-unsigned.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-arm64-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-arm64-unsigned.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-arm64 +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-arm64-unsigned.postrm linux-5.10.205/debian/linux-image-5.10.0-27-arm64-unsigned.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-arm64-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-arm64-unsigned.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-arm64 +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-arm64-unsigned.preinst linux-5.10.205/debian/linux-image-5.10.0-27-arm64-unsigned.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-arm64-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-arm64-unsigned.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-arm64 +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-arm64-unsigned.prerm linux-5.10.205/debian/linux-image-5.10.0-27-arm64-unsigned.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-arm64-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-arm64-unsigned.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-arm64 +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-armmp-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-armmp-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-armmp-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-armmp-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-armmp-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-armmp/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-armmp/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-armmp/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-armmp/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-armmp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-armmp/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-armmp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-armmp/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-armmp-lpae-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-armmp-lpae-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-armmp-lpae-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-armmp-lpae-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-armmp-lpae-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-armmp-lpae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-armmp-lpae/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-armmp-lpae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-armmp-lpae/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-armmp-lpae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-armmp-lpae/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-armmp-lpae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-armmp-lpae/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-armmp-lpae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-armmp-lpae/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-armmp-lpae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-armmp-lpae/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-armmp-lpae.postinst linux-5.10.205/debian/linux-image-5.10.0-27-armmp-lpae.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-armmp-lpae.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-armmp-lpae.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-armmp-lpae +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-armmp-lpae.postrm linux-5.10.205/debian/linux-image-5.10.0-27-armmp-lpae.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-armmp-lpae.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-armmp-lpae.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-armmp-lpae +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-armmp-lpae.preinst linux-5.10.205/debian/linux-image-5.10.0-27-armmp-lpae.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-armmp-lpae.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-armmp-lpae.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-armmp-lpae +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-armmp-lpae.prerm linux-5.10.205/debian/linux-image-5.10.0-27-armmp-lpae.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-armmp-lpae.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-armmp-lpae.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-armmp-lpae +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-armmp.postinst linux-5.10.205/debian/linux-image-5.10.0-27-armmp.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-armmp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-armmp.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-armmp +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-armmp.postrm linux-5.10.205/debian/linux-image-5.10.0-27-armmp.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-armmp.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-armmp.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-armmp +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-armmp.preinst linux-5.10.205/debian/linux-image-5.10.0-27-armmp.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-armmp.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-armmp.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-armmp +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-armmp.prerm linux-5.10.205/debian/linux-image-5.10.0-27-armmp.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-armmp.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-armmp.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-armmp +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-cloud-amd64-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-cloud-amd64-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-cloud-amd64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-cloud-amd64-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-cloud-amd64-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-cloud-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-cloud-amd64/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-cloud-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-cloud-amd64/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-cloud-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-cloud-amd64/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-cloud-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-cloud-amd64/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-cloud-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-cloud-amd64/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-cloud-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-cloud-amd64/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-cloud-amd64-unsigned.postinst linux-5.10.205/debian/linux-image-5.10.0-27-cloud-amd64-unsigned.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-cloud-amd64-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-cloud-amd64-unsigned.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-cloud-amd64 +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-cloud-amd64-unsigned.postrm linux-5.10.205/debian/linux-image-5.10.0-27-cloud-amd64-unsigned.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-cloud-amd64-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-cloud-amd64-unsigned.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-cloud-amd64 +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-cloud-amd64-unsigned.preinst linux-5.10.205/debian/linux-image-5.10.0-27-cloud-amd64-unsigned.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-cloud-amd64-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-cloud-amd64-unsigned.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-cloud-amd64 +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-cloud-amd64-unsigned.prerm linux-5.10.205/debian/linux-image-5.10.0-27-cloud-amd64-unsigned.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-cloud-amd64-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-cloud-amd64-unsigned.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-cloud-amd64 +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-cloud-arm64-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-cloud-arm64-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-cloud-arm64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-cloud-arm64-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-cloud-arm64-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-cloud-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-cloud-arm64/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-cloud-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-cloud-arm64/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-cloud-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-cloud-arm64/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-cloud-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-cloud-arm64/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-cloud-arm64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-cloud-arm64/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-cloud-arm64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-cloud-arm64/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-cloud-arm64-unsigned.postinst linux-5.10.205/debian/linux-image-5.10.0-27-cloud-arm64-unsigned.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-cloud-arm64-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-cloud-arm64-unsigned.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-cloud-arm64 +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-cloud-arm64-unsigned.postrm linux-5.10.205/debian/linux-image-5.10.0-27-cloud-arm64-unsigned.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-cloud-arm64-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-cloud-arm64-unsigned.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-cloud-arm64 +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-cloud-arm64-unsigned.preinst linux-5.10.205/debian/linux-image-5.10.0-27-cloud-arm64-unsigned.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-cloud-arm64-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-cloud-arm64-unsigned.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-cloud-arm64 +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-cloud-arm64-unsigned.prerm linux-5.10.205/debian/linux-image-5.10.0-27-cloud-arm64-unsigned.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-cloud-arm64-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-cloud-arm64-unsigned.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-cloud-arm64 +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-itanium-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-itanium-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-itanium-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-itanium-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-itanium-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-itanium-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-itanium/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-itanium-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-itanium/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-itanium-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-itanium/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-itanium-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-itanium/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-itanium-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-itanium/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-itanium-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-itanium/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-itanium.postinst linux-5.10.205/debian/linux-image-5.10.0-27-itanium.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-itanium.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-itanium.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-itanium +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-itanium.postrm linux-5.10.205/debian/linux-image-5.10.0-27-itanium.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-itanium.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-itanium.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-itanium +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-itanium.preinst linux-5.10.205/debian/linux-image-5.10.0-27-itanium.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-itanium.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-itanium.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-itanium +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-itanium.prerm linux-5.10.205/debian/linux-image-5.10.0-27-itanium.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-itanium.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-itanium.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-itanium +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-loongson-3-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-loongson-3-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-loongson-3-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-loongson-3-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-loongson-3-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-loongson-3-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-loongson-3/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-loongson-3-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-loongson-3/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-loongson-3-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-loongson-3/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-loongson-3-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-loongson-3/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-loongson-3-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-loongson-3/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-loongson-3-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-loongson-3/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-loongson-3.postinst linux-5.10.205/debian/linux-image-5.10.0-27-loongson-3.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-loongson-3.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-loongson-3.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-loongson-3 +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-loongson-3.postrm linux-5.10.205/debian/linux-image-5.10.0-27-loongson-3.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-loongson-3.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-loongson-3.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-loongson-3 +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-loongson-3.preinst linux-5.10.205/debian/linux-image-5.10.0-27-loongson-3.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-loongson-3.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-loongson-3.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-loongson-3 +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-loongson-3.prerm linux-5.10.205/debian/linux-image-5.10.0-27-loongson-3.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-loongson-3.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-loongson-3.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-loongson-3 +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-m68k-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-m68k-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-m68k-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-m68k-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-m68k-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-m68k-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-m68k/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-m68k-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-m68k/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-m68k-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-m68k/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-m68k-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-m68k/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-m68k-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-m68k/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-m68k-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-m68k/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-m68k.postinst linux-5.10.205/debian/linux-image-5.10.0-27-m68k.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-m68k.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-m68k.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-m68k +image_path=/boot/vmlinux-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-m68k.postrm linux-5.10.205/debian/linux-image-5.10.0-27-m68k.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-m68k.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-m68k.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-m68k +image_path=/boot/vmlinux-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-m68k.preinst linux-5.10.205/debian/linux-image-5.10.0-27-m68k.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-m68k.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-m68k.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-m68k +image_path=/boot/vmlinux-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-m68k.prerm linux-5.10.205/debian/linux-image-5.10.0-27-m68k.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-m68k.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-m68k.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-m68k +image_path=/boot/vmlinux-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-marvell-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-marvell-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-marvell-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-marvell-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-marvell-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-marvell-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-marvell/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-marvell-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-marvell/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-marvell-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-marvell/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-marvell-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-marvell/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-marvell-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-marvell/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-marvell-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-marvell/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-marvell.postinst linux-5.10.205/debian/linux-image-5.10.0-27-marvell.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-marvell.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-marvell.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-marvell +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-marvell.postrm linux-5.10.205/debian/linux-image-5.10.0-27-marvell.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-marvell.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-marvell.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-marvell +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-marvell.preinst linux-5.10.205/debian/linux-image-5.10.0-27-marvell.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-marvell.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-marvell.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-marvell +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-marvell.prerm linux-5.10.205/debian/linux-image-5.10.0-27-marvell.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-marvell.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-marvell.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-marvell +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mckinley-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-mckinley-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-mckinley-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mckinley-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-mckinley-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-mckinley-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-mckinley/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-mckinley-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-mckinley/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-mckinley-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-mckinley/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-mckinley-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-mckinley/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-mckinley-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-mckinley/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-mckinley-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-mckinley/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mckinley.postinst linux-5.10.205/debian/linux-image-5.10.0-27-mckinley.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-mckinley.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mckinley.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-mckinley +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mckinley.postrm linux-5.10.205/debian/linux-image-5.10.0-27-mckinley.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-mckinley.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mckinley.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-mckinley +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mckinley.preinst linux-5.10.205/debian/linux-image-5.10.0-27-mckinley.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-mckinley.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mckinley.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-mckinley +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mckinley.prerm linux-5.10.205/debian/linux-image-5.10.0-27-mckinley.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-mckinley.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mckinley.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-mckinley +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mips32r6-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-mips32r6-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-mips32r6-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mips32r6-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-mips32r6-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-mips32r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-mips32r6/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-mips32r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-mips32r6/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-mips32r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-mips32r6/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-mips32r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-mips32r6/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-mips32r6-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-mips32r6/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-mips32r6-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-mips32r6/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mips32r6.postinst linux-5.10.205/debian/linux-image-5.10.0-27-mips32r6.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-mips32r6.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mips32r6.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-mips32r6 +image_path=/boot/vmlinux-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mips32r6.postrm linux-5.10.205/debian/linux-image-5.10.0-27-mips32r6.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-mips32r6.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mips32r6.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-mips32r6 +image_path=/boot/vmlinux-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mips32r6.preinst linux-5.10.205/debian/linux-image-5.10.0-27-mips32r6.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-mips32r6.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mips32r6.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-mips32r6 +image_path=/boot/vmlinux-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mips32r6.prerm linux-5.10.205/debian/linux-image-5.10.0-27-mips32r6.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-mips32r6.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mips32r6.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-mips32r6 +image_path=/boot/vmlinux-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mips32r6el-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-mips32r6el-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-mips32r6el-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mips32r6el-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-mips32r6el-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-mips32r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-mips32r6el/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-mips32r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-mips32r6el/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-mips32r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-mips32r6el/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-mips32r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-mips32r6el/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-mips32r6el-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-mips32r6el/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-mips32r6el-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-mips32r6el/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mips32r6el.postinst linux-5.10.205/debian/linux-image-5.10.0-27-mips32r6el.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-mips32r6el.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mips32r6el.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-mips32r6el +image_path=/boot/vmlinux-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mips32r6el.postrm linux-5.10.205/debian/linux-image-5.10.0-27-mips32r6el.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-mips32r6el.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mips32r6el.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-mips32r6el +image_path=/boot/vmlinux-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mips32r6el.preinst linux-5.10.205/debian/linux-image-5.10.0-27-mips32r6el.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-mips32r6el.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mips32r6el.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-mips32r6el +image_path=/boot/vmlinux-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mips32r6el.prerm linux-5.10.205/debian/linux-image-5.10.0-27-mips32r6el.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-mips32r6el.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mips32r6el.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-mips32r6el +image_path=/boot/vmlinux-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mips64r6-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-mips64r6-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-mips64r6-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mips64r6-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-mips64r6-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-mips64r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-mips64r6/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-mips64r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-mips64r6/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-mips64r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-mips64r6/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-mips64r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-mips64r6/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-mips64r6-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-mips64r6/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-mips64r6-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-mips64r6/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mips64r6.postinst linux-5.10.205/debian/linux-image-5.10.0-27-mips64r6.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-mips64r6.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mips64r6.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-mips64r6 +image_path=/boot/vmlinux-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mips64r6.postrm linux-5.10.205/debian/linux-image-5.10.0-27-mips64r6.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-mips64r6.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mips64r6.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-mips64r6 +image_path=/boot/vmlinux-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mips64r6.preinst linux-5.10.205/debian/linux-image-5.10.0-27-mips64r6.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-mips64r6.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mips64r6.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-mips64r6 +image_path=/boot/vmlinux-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mips64r6.prerm linux-5.10.205/debian/linux-image-5.10.0-27-mips64r6.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-mips64r6.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mips64r6.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-mips64r6 +image_path=/boot/vmlinux-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mips64r6el-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-mips64r6el-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-mips64r6el-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mips64r6el-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-mips64r6el-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-mips64r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-mips64r6el/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-mips64r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-mips64r6el/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-mips64r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-mips64r6el/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-mips64r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-mips64r6el/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-mips64r6el-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-mips64r6el/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-mips64r6el-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-mips64r6el/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mips64r6el.postinst linux-5.10.205/debian/linux-image-5.10.0-27-mips64r6el.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-mips64r6el.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mips64r6el.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-mips64r6el +image_path=/boot/vmlinux-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mips64r6el.postrm linux-5.10.205/debian/linux-image-5.10.0-27-mips64r6el.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-mips64r6el.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mips64r6el.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-mips64r6el +image_path=/boot/vmlinux-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mips64r6el.preinst linux-5.10.205/debian/linux-image-5.10.0-27-mips64r6el.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-mips64r6el.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mips64r6el.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-mips64r6el +image_path=/boot/vmlinux-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-mips64r6el.prerm linux-5.10.205/debian/linux-image-5.10.0-27-mips64r6el.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-mips64r6el.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-mips64r6el.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-mips64r6el +image_path=/boot/vmlinux-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-octeon-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-octeon-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-octeon-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-octeon-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-octeon-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-octeon-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-octeon/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-octeon-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-octeon/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-octeon-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-octeon/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-octeon-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-octeon/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-octeon-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-octeon/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-octeon-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-octeon/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-octeon.postinst linux-5.10.205/debian/linux-image-5.10.0-27-octeon.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-octeon.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-octeon.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-octeon +image_path=/boot/vmlinux-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-octeon.postrm linux-5.10.205/debian/linux-image-5.10.0-27-octeon.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-octeon.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-octeon.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-octeon +image_path=/boot/vmlinux-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-octeon.preinst linux-5.10.205/debian/linux-image-5.10.0-27-octeon.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-octeon.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-octeon.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-octeon +image_path=/boot/vmlinux-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-octeon.prerm linux-5.10.205/debian/linux-image-5.10.0-27-octeon.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-octeon.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-octeon.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-octeon +image_path=/boot/vmlinux-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-parisc.postinst linux-5.10.205/debian/linux-image-5.10.0-27-parisc.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-parisc.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-parisc.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-parisc +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-parisc.postrm linux-5.10.205/debian/linux-image-5.10.0-27-parisc.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-parisc.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-parisc.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-parisc +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-parisc.preinst linux-5.10.205/debian/linux-image-5.10.0-27-parisc.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-parisc.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-parisc.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-parisc +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-parisc.prerm linux-5.10.205/debian/linux-image-5.10.0-27-parisc.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-parisc.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-parisc.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-parisc +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-parisc64.postinst linux-5.10.205/debian/linux-image-5.10.0-27-parisc64.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-parisc64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-parisc64.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-parisc64 +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-parisc64.postrm linux-5.10.205/debian/linux-image-5.10.0-27-parisc64.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-parisc64.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-parisc64.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-parisc64 +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-parisc64.preinst linux-5.10.205/debian/linux-image-5.10.0-27-parisc64.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-parisc64.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-parisc64.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-parisc64 +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-parisc64.prerm linux-5.10.205/debian/linux-image-5.10.0-27-parisc64.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-parisc64.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-parisc64.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-parisc64 +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-powerpc-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-powerpc-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-powerpc-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-powerpc-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-powerpc-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-powerpc-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-powerpc/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-powerpc-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-powerpc/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-powerpc-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-powerpc/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-powerpc-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-powerpc/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-powerpc-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-powerpc/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-powerpc-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-powerpc/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-powerpc-smp-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-powerpc-smp-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-powerpc-smp-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-powerpc-smp-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-powerpc-smp-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-powerpc-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-powerpc-smp/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-powerpc-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-powerpc-smp/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-powerpc-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-powerpc-smp/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-powerpc-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-powerpc-smp/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-powerpc-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-powerpc-smp/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-powerpc-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-powerpc-smp/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-powerpc-smp.postinst linux-5.10.205/debian/linux-image-5.10.0-27-powerpc-smp.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-powerpc-smp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-powerpc-smp.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-powerpc-smp +image_path=/boot/vmlinux-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-powerpc-smp.postrm linux-5.10.205/debian/linux-image-5.10.0-27-powerpc-smp.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-powerpc-smp.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-powerpc-smp.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-powerpc-smp +image_path=/boot/vmlinux-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-powerpc-smp.preinst linux-5.10.205/debian/linux-image-5.10.0-27-powerpc-smp.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-powerpc-smp.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-powerpc-smp.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-powerpc-smp +image_path=/boot/vmlinux-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-powerpc-smp.prerm linux-5.10.205/debian/linux-image-5.10.0-27-powerpc-smp.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-powerpc-smp.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-powerpc-smp.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-powerpc-smp +image_path=/boot/vmlinux-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-powerpc.postinst linux-5.10.205/debian/linux-image-5.10.0-27-powerpc.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-powerpc.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-powerpc.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-powerpc +image_path=/boot/vmlinux-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-powerpc.postrm linux-5.10.205/debian/linux-image-5.10.0-27-powerpc.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-powerpc.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-powerpc.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-powerpc +image_path=/boot/vmlinux-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-powerpc.preinst linux-5.10.205/debian/linux-image-5.10.0-27-powerpc.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-powerpc.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-powerpc.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-powerpc +image_path=/boot/vmlinux-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-powerpc.prerm linux-5.10.205/debian/linux-image-5.10.0-27-powerpc.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-powerpc.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-powerpc.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-powerpc +image_path=/boot/vmlinux-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-powerpc64-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-powerpc64-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-powerpc64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-powerpc64-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-powerpc64-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-powerpc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-powerpc64/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-powerpc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-powerpc64/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-powerpc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-powerpc64/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-powerpc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-powerpc64/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-powerpc64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-powerpc64/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-powerpc64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-powerpc64/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-powerpc64.postinst linux-5.10.205/debian/linux-image-5.10.0-27-powerpc64.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-powerpc64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-powerpc64.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-powerpc64 +image_path=/boot/vmlinux-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-powerpc64.postrm linux-5.10.205/debian/linux-image-5.10.0-27-powerpc64.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-powerpc64.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-powerpc64.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-powerpc64 +image_path=/boot/vmlinux-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-powerpc64.preinst linux-5.10.205/debian/linux-image-5.10.0-27-powerpc64.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-powerpc64.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-powerpc64.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-powerpc64 +image_path=/boot/vmlinux-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-powerpc64.prerm linux-5.10.205/debian/linux-image-5.10.0-27-powerpc64.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-powerpc64.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-powerpc64.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-powerpc64 +image_path=/boot/vmlinux-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-powerpc64le-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-powerpc64le-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-powerpc64le-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-powerpc64le-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-powerpc64le-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-powerpc64le-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-powerpc64le/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-powerpc64le-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-powerpc64le/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-powerpc64le-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-powerpc64le/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-powerpc64le-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-powerpc64le/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-powerpc64le-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-powerpc64le/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-powerpc64le-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-powerpc64le/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-powerpc64le.postinst linux-5.10.205/debian/linux-image-5.10.0-27-powerpc64le.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-powerpc64le.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-powerpc64le.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-powerpc64le +image_path=/boot/vmlinux-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-powerpc64le.postrm linux-5.10.205/debian/linux-image-5.10.0-27-powerpc64le.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-powerpc64le.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-powerpc64le.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-powerpc64le +image_path=/boot/vmlinux-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-powerpc64le.preinst linux-5.10.205/debian/linux-image-5.10.0-27-powerpc64le.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-powerpc64le.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-powerpc64le.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-powerpc64le +image_path=/boot/vmlinux-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-powerpc64le.prerm linux-5.10.205/debian/linux-image-5.10.0-27-powerpc64le.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-powerpc64le.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-powerpc64le.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-powerpc64le +image_path=/boot/vmlinux-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-riscv64-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-riscv64-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-riscv64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-riscv64-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-riscv64-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-riscv64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-riscv64/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-riscv64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-riscv64/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-riscv64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-riscv64/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-riscv64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-riscv64/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-riscv64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-riscv64/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-riscv64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-riscv64/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-riscv64.postinst linux-5.10.205/debian/linux-image-5.10.0-27-riscv64.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-riscv64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-riscv64.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-riscv64 +image_path=/boot/vmlinux-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-riscv64.postrm linux-5.10.205/debian/linux-image-5.10.0-27-riscv64.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-riscv64.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-riscv64.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-riscv64 +image_path=/boot/vmlinux-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-riscv64.preinst linux-5.10.205/debian/linux-image-5.10.0-27-riscv64.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-riscv64.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-riscv64.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-riscv64 +image_path=/boot/vmlinux-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-riscv64.prerm linux-5.10.205/debian/linux-image-5.10.0-27-riscv64.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-riscv64.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-riscv64.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-riscv64 +image_path=/boot/vmlinux-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rpi-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-rpi-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-rpi-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rpi-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-rpi-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-rpi-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-rpi/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-rpi-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-rpi/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-rpi-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-rpi/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-rpi-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-rpi/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-rpi-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-rpi/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-rpi-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-rpi/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rpi.postinst linux-5.10.205/debian/linux-image-5.10.0-27-rpi.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-rpi.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rpi.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-rpi +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rpi.postrm linux-5.10.205/debian/linux-image-5.10.0-27-rpi.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-rpi.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rpi.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-rpi +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rpi.preinst linux-5.10.205/debian/linux-image-5.10.0-27-rpi.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-rpi.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rpi.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-rpi +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rpi.prerm linux-5.10.205/debian/linux-image-5.10.0-27-rpi.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-rpi.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rpi.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-rpi +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rt-686-pae-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-rt-686-pae-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-rt-686-pae-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rt-686-pae-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-rt-686-pae-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-rt-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-rt-686-pae/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-rt-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-rt-686-pae/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-rt-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-rt-686-pae/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-rt-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-rt-686-pae/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-rt-686-pae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-rt-686-pae/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-rt-686-pae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-rt-686-pae/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rt-686-pae-unsigned.postinst linux-5.10.205/debian/linux-image-5.10.0-27-rt-686-pae-unsigned.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-rt-686-pae-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rt-686-pae-unsigned.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-rt-686-pae +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rt-686-pae-unsigned.postrm linux-5.10.205/debian/linux-image-5.10.0-27-rt-686-pae-unsigned.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-rt-686-pae-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rt-686-pae-unsigned.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-rt-686-pae +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rt-686-pae-unsigned.preinst linux-5.10.205/debian/linux-image-5.10.0-27-rt-686-pae-unsigned.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-rt-686-pae-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rt-686-pae-unsigned.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-rt-686-pae +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rt-686-pae-unsigned.prerm linux-5.10.205/debian/linux-image-5.10.0-27-rt-686-pae-unsigned.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-rt-686-pae-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rt-686-pae-unsigned.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-rt-686-pae +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rt-amd64-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-rt-amd64-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-rt-amd64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rt-amd64-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-rt-amd64-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-rt-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-rt-amd64/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-rt-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-rt-amd64/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-rt-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-rt-amd64/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-rt-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-rt-amd64/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-rt-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-rt-amd64/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-rt-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-rt-amd64/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rt-amd64-unsigned.postinst linux-5.10.205/debian/linux-image-5.10.0-27-rt-amd64-unsigned.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-rt-amd64-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rt-amd64-unsigned.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-rt-amd64 +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rt-amd64-unsigned.postrm linux-5.10.205/debian/linux-image-5.10.0-27-rt-amd64-unsigned.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-rt-amd64-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rt-amd64-unsigned.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-rt-amd64 +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rt-amd64-unsigned.preinst linux-5.10.205/debian/linux-image-5.10.0-27-rt-amd64-unsigned.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-rt-amd64-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rt-amd64-unsigned.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-rt-amd64 +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rt-amd64-unsigned.prerm linux-5.10.205/debian/linux-image-5.10.0-27-rt-amd64-unsigned.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-rt-amd64-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rt-amd64-unsigned.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-rt-amd64 +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rt-arm64-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-rt-arm64-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-rt-arm64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rt-arm64-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-rt-arm64-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-rt-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-rt-arm64/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-rt-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-rt-arm64/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-rt-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-rt-arm64/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-rt-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-rt-arm64/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-rt-arm64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-rt-arm64/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-rt-arm64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-rt-arm64/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rt-arm64-unsigned.postinst linux-5.10.205/debian/linux-image-5.10.0-27-rt-arm64-unsigned.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-rt-arm64-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rt-arm64-unsigned.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-rt-arm64 +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rt-arm64-unsigned.postrm linux-5.10.205/debian/linux-image-5.10.0-27-rt-arm64-unsigned.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-rt-arm64-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rt-arm64-unsigned.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-rt-arm64 +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rt-arm64-unsigned.preinst linux-5.10.205/debian/linux-image-5.10.0-27-rt-arm64-unsigned.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-rt-arm64-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rt-arm64-unsigned.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-rt-arm64 +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rt-arm64-unsigned.prerm linux-5.10.205/debian/linux-image-5.10.0-27-rt-arm64-unsigned.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-rt-arm64-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rt-arm64-unsigned.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-rt-arm64 +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rt-armmp-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-rt-armmp-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-rt-armmp-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rt-armmp-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-rt-armmp-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-rt-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-rt-armmp/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-rt-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-rt-armmp/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-rt-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-rt-armmp/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-rt-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-rt-armmp/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-rt-armmp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-rt-armmp/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-rt-armmp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-rt-armmp/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rt-armmp.postinst linux-5.10.205/debian/linux-image-5.10.0-27-rt-armmp.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-rt-armmp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rt-armmp.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-rt-armmp +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rt-armmp.postrm linux-5.10.205/debian/linux-image-5.10.0-27-rt-armmp.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-rt-armmp.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rt-armmp.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-rt-armmp +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rt-armmp.preinst linux-5.10.205/debian/linux-image-5.10.0-27-rt-armmp.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-rt-armmp.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rt-armmp.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-rt-armmp +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-rt-armmp.prerm linux-5.10.205/debian/linux-image-5.10.0-27-rt-armmp.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-rt-armmp.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-rt-armmp.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-rt-armmp +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-s390x-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-s390x-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-s390x-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-s390x-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-s390x-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-s390x-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-s390x/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-s390x-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-s390x/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-s390x-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-s390x/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-s390x-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-s390x/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-s390x-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-s390x/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-s390x-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-s390x/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-s390x.postinst linux-5.10.205/debian/linux-image-5.10.0-27-s390x.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-s390x.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-s390x.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-s390x +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-s390x.postrm linux-5.10.205/debian/linux-image-5.10.0-27-s390x.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-s390x.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-s390x.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-s390x +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-s390x.preinst linux-5.10.205/debian/linux-image-5.10.0-27-s390x.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-s390x.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-s390x.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-s390x +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-s390x.prerm linux-5.10.205/debian/linux-image-5.10.0-27-s390x.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-s390x.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-s390x.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-s390x +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-sh7751r-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-sh7751r-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-sh7751r-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-sh7751r-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-sh7751r-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-sh7751r-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-sh7751r/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-sh7751r-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-sh7751r/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-sh7751r-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-sh7751r/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-sh7751r-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-sh7751r/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-sh7751r-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-sh7751r/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-sh7751r-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-sh7751r/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-sh7751r.postinst linux-5.10.205/debian/linux-image-5.10.0-27-sh7751r.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-sh7751r.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-sh7751r.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-sh7751r +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-sh7751r.postrm linux-5.10.205/debian/linux-image-5.10.0-27-sh7751r.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-sh7751r.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-sh7751r.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-sh7751r +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-sh7751r.preinst linux-5.10.205/debian/linux-image-5.10.0-27-sh7751r.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-sh7751r.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-sh7751r.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-sh7751r +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-sh7751r.prerm linux-5.10.205/debian/linux-image-5.10.0-27-sh7751r.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-sh7751r.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-sh7751r.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-sh7751r +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-sh7785lcr-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-sh7785lcr-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-sh7785lcr-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-sh7785lcr-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-sh7785lcr-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-sh7785lcr-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-sh7785lcr/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-sh7785lcr-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-sh7785lcr/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-sh7785lcr-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-sh7785lcr/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-sh7785lcr-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-sh7785lcr/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-sh7785lcr-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-sh7785lcr/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-sh7785lcr-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-sh7785lcr/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-sh7785lcr.postinst linux-5.10.205/debian/linux-image-5.10.0-27-sh7785lcr.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-sh7785lcr.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-sh7785lcr.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-sh7785lcr +image_path=/boot/vmlinuz-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-sh7785lcr.postrm linux-5.10.205/debian/linux-image-5.10.0-27-sh7785lcr.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-sh7785lcr.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-sh7785lcr.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-sh7785lcr +image_path=/boot/vmlinuz-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-sh7785lcr.preinst linux-5.10.205/debian/linux-image-5.10.0-27-sh7785lcr.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-sh7785lcr.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-sh7785lcr.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-sh7785lcr +image_path=/boot/vmlinuz-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-sh7785lcr.prerm linux-5.10.205/debian/linux-image-5.10.0-27-sh7785lcr.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-sh7785lcr.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-sh7785lcr.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-sh7785lcr +image_path=/boot/vmlinuz-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-sparc64-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-sparc64-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-sparc64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-sparc64-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-sparc64-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-sparc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-sparc64/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-sparc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-sparc64/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-sparc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-sparc64/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-sparc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-sparc64/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-sparc64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-sparc64/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-sparc64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-sparc64/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-sparc64-smp-dbg.lintian-overrides linux-5.10.205/debian/linux-image-5.10.0-27-sparc64-smp-dbg.lintian-overrides --- linux-5.10.197/debian/linux-image-5.10.0-27-sparc64-smp-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-sparc64-smp-dbg.lintian-overrides 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-5.10.0-27-sparc64-smp-dbg: dbg-package-missing-depends + +# glibc doesn't seem to check for a PT_GNU_STACK section in vDSOs, so +# it's OK that they don't have it +[arm64 armhf] linux-image-5.10.0-27-sparc64-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-sparc64-smp/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-5.10.0-27-sparc64-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-sparc64-smp/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-5.10.0-27-sparc64-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-sparc64-smp/vdso/vdso64.so +[amd64] linux-image-5.10.0-27-sparc64-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/5.10.0-27-sparc64-smp/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-5.10.0-27-sparc64-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-sparc64-smp/vdso/vdso32.so +[amd64] linux-image-5.10.0-27-sparc64-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/5.10.0-27-sparc64-smp/vdso/vdsox32.so diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-sparc64-smp.postinst linux-5.10.205/debian/linux-image-5.10.0-27-sparc64-smp.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-sparc64-smp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-sparc64-smp.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-sparc64-smp +image_path=/boot/vmlinux-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-sparc64-smp.postrm linux-5.10.205/debian/linux-image-5.10.0-27-sparc64-smp.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-sparc64-smp.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-sparc64-smp.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-sparc64-smp +image_path=/boot/vmlinux-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-sparc64-smp.preinst linux-5.10.205/debian/linux-image-5.10.0-27-sparc64-smp.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-sparc64-smp.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-sparc64-smp.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-sparc64-smp +image_path=/boot/vmlinux-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-sparc64-smp.prerm linux-5.10.205/debian/linux-image-5.10.0-27-sparc64-smp.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-sparc64-smp.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-sparc64-smp.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-sparc64-smp +image_path=/boot/vmlinux-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-sparc64.postinst linux-5.10.205/debian/linux-image-5.10.0-27-sparc64.postinst --- linux-5.10.197/debian/linux-image-5.10.0-27-sparc64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-sparc64.postinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=5.10.0-27-sparc64 +image_path=/boot/vmlinux-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod $version + +if [ -f /lib/modules/$version/.fresh-install ]; then + change=install +else + change=upgrade +fi +linux-update-symlinks $change $version $image_path +rm -f /lib/modules/$version/.fresh-install + +if [ -d /etc/kernel/postinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-sparc64.postrm linux-5.10.205/debian/linux-image-5.10.0-27-sparc64.postrm --- linux-5.10.197/debian/linux-image-5.10.0-27-sparc64.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-sparc64.postrm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=5.10.0-27-sparc64 +image_path=/boot/vmlinux-$version + +rm -f /lib/modules/$version/.fresh-install + +if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-sparc64.preinst linux-5.10.205/debian/linux-image-5.10.0-27-sparc64.preinst --- linux-5.10.197/debian/linux-image-5.10.0-27-sparc64.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-sparc64.preinst 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=5.10.0-27-sparc64 +image_path=/boot/vmlinux-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5.10.0-27-sparc64.prerm linux-5.10.205/debian/linux-image-5.10.0-27-sparc64.prerm --- linux-5.10.197/debian/linux-image-5.10.0-27-sparc64.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5.10.0-27-sparc64.prerm 2023-12-31 15:46:35.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=5.10.0-27-sparc64 +image_path=/boot/vmlinux-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 diff -Nru linux-5.10.197/debian/linux-image-5kc-malta-dbg.maintscript linux-5.10.205/debian/linux-image-5kc-malta-dbg.maintscript --- linux-5.10.197/debian/linux-image-5kc-malta-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5kc-malta-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-5kc-malta-dbg linux-image-5.10.0-26-5kc-malta-dbg 5.7~rc5-1~exp1 linux-image-5kc-malta-dbg +dir_to_symlink /usr/share/doc/linux-image-5kc-malta-dbg linux-image-5.10.0-27-5kc-malta-dbg 5.7~rc5-1~exp1 linux-image-5kc-malta-dbg diff -Nru linux-5.10.197/debian/linux-image-5kc-malta.bug-presubj linux-5.10.205/debian/linux-image-5kc-malta.bug-presubj --- linux-5.10.197/debian/linux-image-5kc-malta.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5kc-malta.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-5kc-malta instead. +the package name linux-image-5.10.0-27-5kc-malta instead. diff -Nru linux-5.10.197/debian/linux-image-5kc-malta.maintscript linux-5.10.205/debian/linux-image-5kc-malta.maintscript --- linux-5.10.197/debian/linux-image-5kc-malta.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-5kc-malta.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-5kc-malta linux-image-5.10.0-26-5kc-malta 5.7~rc5-1~exp1 linux-image-5kc-malta +dir_to_symlink /usr/share/doc/linux-image-5kc-malta linux-image-5.10.0-27-5kc-malta 5.7~rc5-1~exp1 linux-image-5kc-malta diff -Nru linux-5.10.197/debian/linux-image-686-dbg.maintscript linux-5.10.205/debian/linux-image-686-dbg.maintscript --- linux-5.10.197/debian/linux-image-686-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-686-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-686-dbg linux-image-5.10.0-26-686-dbg 5.7~rc5-1~exp1 linux-image-686-dbg +dir_to_symlink /usr/share/doc/linux-image-686-dbg linux-image-5.10.0-27-686-dbg 5.7~rc5-1~exp1 linux-image-686-dbg diff -Nru linux-5.10.197/debian/linux-image-686-pae-dbg.maintscript linux-5.10.205/debian/linux-image-686-pae-dbg.maintscript --- linux-5.10.197/debian/linux-image-686-pae-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-686-pae-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-686-pae-dbg linux-image-5.10.0-26-686-pae-dbg 5.7~rc5-1~exp1 linux-image-686-pae-dbg +dir_to_symlink /usr/share/doc/linux-image-686-pae-dbg linux-image-5.10.0-27-686-pae-dbg 5.7~rc5-1~exp1 linux-image-686-pae-dbg diff -Nru linux-5.10.197/debian/linux-image-alpha-generic-dbg.maintscript linux-5.10.205/debian/linux-image-alpha-generic-dbg.maintscript --- linux-5.10.197/debian/linux-image-alpha-generic-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-alpha-generic-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-alpha-generic-dbg linux-image-5.10.0-26-alpha-generic-dbg 5.7~rc5-1~exp1 linux-image-alpha-generic-dbg +dir_to_symlink /usr/share/doc/linux-image-alpha-generic-dbg linux-image-5.10.0-27-alpha-generic-dbg 5.7~rc5-1~exp1 linux-image-alpha-generic-dbg diff -Nru linux-5.10.197/debian/linux-image-alpha-generic.bug-presubj linux-5.10.205/debian/linux-image-alpha-generic.bug-presubj --- linux-5.10.197/debian/linux-image-alpha-generic.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-alpha-generic.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-alpha-generic instead. +the package name linux-image-5.10.0-27-alpha-generic instead. diff -Nru linux-5.10.197/debian/linux-image-alpha-generic.maintscript linux-5.10.205/debian/linux-image-alpha-generic.maintscript --- linux-5.10.197/debian/linux-image-alpha-generic.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-alpha-generic.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-alpha-generic linux-image-5.10.0-26-alpha-generic 5.7~rc5-1~exp1 linux-image-alpha-generic +dir_to_symlink /usr/share/doc/linux-image-alpha-generic linux-image-5.10.0-27-alpha-generic 5.7~rc5-1~exp1 linux-image-alpha-generic diff -Nru linux-5.10.197/debian/linux-image-alpha-smp-dbg.maintscript linux-5.10.205/debian/linux-image-alpha-smp-dbg.maintscript --- linux-5.10.197/debian/linux-image-alpha-smp-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-alpha-smp-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-alpha-smp-dbg linux-image-5.10.0-26-alpha-smp-dbg 5.7~rc5-1~exp1 linux-image-alpha-smp-dbg +dir_to_symlink /usr/share/doc/linux-image-alpha-smp-dbg linux-image-5.10.0-27-alpha-smp-dbg 5.7~rc5-1~exp1 linux-image-alpha-smp-dbg diff -Nru linux-5.10.197/debian/linux-image-alpha-smp.bug-presubj linux-5.10.205/debian/linux-image-alpha-smp.bug-presubj --- linux-5.10.197/debian/linux-image-alpha-smp.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-alpha-smp.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-alpha-smp instead. +the package name linux-image-5.10.0-27-alpha-smp instead. diff -Nru linux-5.10.197/debian/linux-image-alpha-smp.maintscript linux-5.10.205/debian/linux-image-alpha-smp.maintscript --- linux-5.10.197/debian/linux-image-alpha-smp.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-alpha-smp.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-alpha-smp linux-image-5.10.0-26-alpha-smp 5.7~rc5-1~exp1 linux-image-alpha-smp +dir_to_symlink /usr/share/doc/linux-image-alpha-smp linux-image-5.10.0-27-alpha-smp 5.7~rc5-1~exp1 linux-image-alpha-smp diff -Nru linux-5.10.197/debian/linux-image-amd64-dbg.maintscript linux-5.10.205/debian/linux-image-amd64-dbg.maintscript --- linux-5.10.197/debian/linux-image-amd64-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-amd64-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-amd64-dbg linux-image-5.10.0-26-amd64-dbg 5.7~rc5-1~exp1 linux-image-amd64-dbg +dir_to_symlink /usr/share/doc/linux-image-amd64-dbg linux-image-5.10.0-27-amd64-dbg 5.7~rc5-1~exp1 linux-image-amd64-dbg diff -Nru linux-5.10.197/debian/linux-image-arm64-dbg.maintscript linux-5.10.205/debian/linux-image-arm64-dbg.maintscript --- linux-5.10.197/debian/linux-image-arm64-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-arm64-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-arm64-dbg linux-image-5.10.0-26-arm64-dbg 5.7~rc5-1~exp1 linux-image-arm64-dbg +dir_to_symlink /usr/share/doc/linux-image-arm64-dbg linux-image-5.10.0-27-arm64-dbg 5.7~rc5-1~exp1 linux-image-arm64-dbg diff -Nru linux-5.10.197/debian/linux-image-armmp-dbg.maintscript linux-5.10.205/debian/linux-image-armmp-dbg.maintscript --- linux-5.10.197/debian/linux-image-armmp-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-armmp-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-armmp-dbg linux-image-5.10.0-26-armmp-dbg 5.7~rc5-1~exp1 linux-image-armmp-dbg +dir_to_symlink /usr/share/doc/linux-image-armmp-dbg linux-image-5.10.0-27-armmp-dbg 5.7~rc5-1~exp1 linux-image-armmp-dbg diff -Nru linux-5.10.197/debian/linux-image-armmp-lpae-dbg.maintscript linux-5.10.205/debian/linux-image-armmp-lpae-dbg.maintscript --- linux-5.10.197/debian/linux-image-armmp-lpae-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-armmp-lpae-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-armmp-lpae-dbg linux-image-5.10.0-26-armmp-lpae-dbg 5.7~rc5-1~exp1 linux-image-armmp-lpae-dbg +dir_to_symlink /usr/share/doc/linux-image-armmp-lpae-dbg linux-image-5.10.0-27-armmp-lpae-dbg 5.7~rc5-1~exp1 linux-image-armmp-lpae-dbg diff -Nru linux-5.10.197/debian/linux-image-armmp-lpae.bug-presubj linux-5.10.205/debian/linux-image-armmp-lpae.bug-presubj --- linux-5.10.197/debian/linux-image-armmp-lpae.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-armmp-lpae.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-armmp-lpae instead. +the package name linux-image-5.10.0-27-armmp-lpae instead. diff -Nru linux-5.10.197/debian/linux-image-armmp-lpae.maintscript linux-5.10.205/debian/linux-image-armmp-lpae.maintscript --- linux-5.10.197/debian/linux-image-armmp-lpae.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-armmp-lpae.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-armmp-lpae linux-image-5.10.0-26-armmp-lpae 5.7~rc5-1~exp1 linux-image-armmp-lpae +dir_to_symlink /usr/share/doc/linux-image-armmp-lpae linux-image-5.10.0-27-armmp-lpae 5.7~rc5-1~exp1 linux-image-armmp-lpae diff -Nru linux-5.10.197/debian/linux-image-armmp.bug-presubj linux-5.10.205/debian/linux-image-armmp.bug-presubj --- linux-5.10.197/debian/linux-image-armmp.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-armmp.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-armmp instead. +the package name linux-image-5.10.0-27-armmp instead. diff -Nru linux-5.10.197/debian/linux-image-armmp.maintscript linux-5.10.205/debian/linux-image-armmp.maintscript --- linux-5.10.197/debian/linux-image-armmp.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-armmp.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-armmp linux-image-5.10.0-26-armmp 5.7~rc5-1~exp1 linux-image-armmp +dir_to_symlink /usr/share/doc/linux-image-armmp linux-image-5.10.0-27-armmp 5.7~rc5-1~exp1 linux-image-armmp diff -Nru linux-5.10.197/debian/linux-image-cloud-amd64-dbg.maintscript linux-5.10.205/debian/linux-image-cloud-amd64-dbg.maintscript --- linux-5.10.197/debian/linux-image-cloud-amd64-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-cloud-amd64-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-cloud-amd64-dbg linux-image-5.10.0-26-cloud-amd64-dbg 5.7~rc5-1~exp1 linux-image-cloud-amd64-dbg +dir_to_symlink /usr/share/doc/linux-image-cloud-amd64-dbg linux-image-5.10.0-27-cloud-amd64-dbg 5.7~rc5-1~exp1 linux-image-cloud-amd64-dbg diff -Nru linux-5.10.197/debian/linux-image-cloud-arm64-dbg.maintscript linux-5.10.205/debian/linux-image-cloud-arm64-dbg.maintscript --- linux-5.10.197/debian/linux-image-cloud-arm64-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-cloud-arm64-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-cloud-arm64-dbg linux-image-5.10.0-26-cloud-arm64-dbg 5.7~rc5-1~exp1 linux-image-cloud-arm64-dbg +dir_to_symlink /usr/share/doc/linux-image-cloud-arm64-dbg linux-image-5.10.0-27-cloud-arm64-dbg 5.7~rc5-1~exp1 linux-image-cloud-arm64-dbg diff -Nru linux-5.10.197/debian/linux-image-itanium-dbg.maintscript linux-5.10.205/debian/linux-image-itanium-dbg.maintscript --- linux-5.10.197/debian/linux-image-itanium-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-itanium-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-itanium-dbg linux-image-5.10.0-26-itanium-dbg 5.7~rc5-1~exp1 linux-image-itanium-dbg +dir_to_symlink /usr/share/doc/linux-image-itanium-dbg linux-image-5.10.0-27-itanium-dbg 5.7~rc5-1~exp1 linux-image-itanium-dbg diff -Nru linux-5.10.197/debian/linux-image-itanium.bug-presubj linux-5.10.205/debian/linux-image-itanium.bug-presubj --- linux-5.10.197/debian/linux-image-itanium.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-itanium.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-itanium instead. +the package name linux-image-5.10.0-27-itanium instead. diff -Nru linux-5.10.197/debian/linux-image-itanium.maintscript linux-5.10.205/debian/linux-image-itanium.maintscript --- linux-5.10.197/debian/linux-image-itanium.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-itanium.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-itanium linux-image-5.10.0-26-itanium 5.7~rc5-1~exp1 linux-image-itanium +dir_to_symlink /usr/share/doc/linux-image-itanium linux-image-5.10.0-27-itanium 5.7~rc5-1~exp1 linux-image-itanium diff -Nru linux-5.10.197/debian/linux-image-loongson-3-dbg.maintscript linux-5.10.205/debian/linux-image-loongson-3-dbg.maintscript --- linux-5.10.197/debian/linux-image-loongson-3-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-loongson-3-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-loongson-3-dbg linux-image-5.10.0-26-loongson-3-dbg 5.7~rc5-1~exp1 linux-image-loongson-3-dbg +dir_to_symlink /usr/share/doc/linux-image-loongson-3-dbg linux-image-5.10.0-27-loongson-3-dbg 5.7~rc5-1~exp1 linux-image-loongson-3-dbg diff -Nru linux-5.10.197/debian/linux-image-loongson-3.bug-presubj linux-5.10.205/debian/linux-image-loongson-3.bug-presubj --- linux-5.10.197/debian/linux-image-loongson-3.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-loongson-3.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-loongson-3 instead. +the package name linux-image-5.10.0-27-loongson-3 instead. diff -Nru linux-5.10.197/debian/linux-image-loongson-3.maintscript linux-5.10.205/debian/linux-image-loongson-3.maintscript --- linux-5.10.197/debian/linux-image-loongson-3.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-loongson-3.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-loongson-3 linux-image-5.10.0-26-loongson-3 5.7~rc5-1~exp1 linux-image-loongson-3 +dir_to_symlink /usr/share/doc/linux-image-loongson-3 linux-image-5.10.0-27-loongson-3 5.7~rc5-1~exp1 linux-image-loongson-3 diff -Nru linux-5.10.197/debian/linux-image-m68k-dbg.maintscript linux-5.10.205/debian/linux-image-m68k-dbg.maintscript --- linux-5.10.197/debian/linux-image-m68k-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-m68k-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-m68k-dbg linux-image-5.10.0-26-m68k-dbg 5.7~rc5-1~exp1 linux-image-m68k-dbg +dir_to_symlink /usr/share/doc/linux-image-m68k-dbg linux-image-5.10.0-27-m68k-dbg 5.7~rc5-1~exp1 linux-image-m68k-dbg diff -Nru linux-5.10.197/debian/linux-image-m68k.bug-presubj linux-5.10.205/debian/linux-image-m68k.bug-presubj --- linux-5.10.197/debian/linux-image-m68k.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-m68k.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-m68k instead. +the package name linux-image-5.10.0-27-m68k instead. diff -Nru linux-5.10.197/debian/linux-image-m68k.maintscript linux-5.10.205/debian/linux-image-m68k.maintscript --- linux-5.10.197/debian/linux-image-m68k.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-m68k.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-m68k linux-image-5.10.0-26-m68k 5.7~rc5-1~exp1 linux-image-m68k +dir_to_symlink /usr/share/doc/linux-image-m68k linux-image-5.10.0-27-m68k 5.7~rc5-1~exp1 linux-image-m68k diff -Nru linux-5.10.197/debian/linux-image-marvell-dbg.maintscript linux-5.10.205/debian/linux-image-marvell-dbg.maintscript --- linux-5.10.197/debian/linux-image-marvell-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-marvell-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-marvell-dbg linux-image-5.10.0-26-marvell-dbg 5.7~rc5-1~exp1 linux-image-marvell-dbg +dir_to_symlink /usr/share/doc/linux-image-marvell-dbg linux-image-5.10.0-27-marvell-dbg 5.7~rc5-1~exp1 linux-image-marvell-dbg diff -Nru linux-5.10.197/debian/linux-image-marvell.bug-presubj linux-5.10.205/debian/linux-image-marvell.bug-presubj --- linux-5.10.197/debian/linux-image-marvell.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-marvell.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-marvell instead. +the package name linux-image-5.10.0-27-marvell instead. diff -Nru linux-5.10.197/debian/linux-image-marvell.maintscript linux-5.10.205/debian/linux-image-marvell.maintscript --- linux-5.10.197/debian/linux-image-marvell.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-marvell.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-marvell linux-image-5.10.0-26-marvell 5.7~rc5-1~exp1 linux-image-marvell +dir_to_symlink /usr/share/doc/linux-image-marvell linux-image-5.10.0-27-marvell 5.7~rc5-1~exp1 linux-image-marvell diff -Nru linux-5.10.197/debian/linux-image-mckinley-dbg.maintscript linux-5.10.205/debian/linux-image-mckinley-dbg.maintscript --- linux-5.10.197/debian/linux-image-mckinley-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-mckinley-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-mckinley-dbg linux-image-5.10.0-26-mckinley-dbg 5.7~rc5-1~exp1 linux-image-mckinley-dbg +dir_to_symlink /usr/share/doc/linux-image-mckinley-dbg linux-image-5.10.0-27-mckinley-dbg 5.7~rc5-1~exp1 linux-image-mckinley-dbg diff -Nru linux-5.10.197/debian/linux-image-mckinley.bug-presubj linux-5.10.205/debian/linux-image-mckinley.bug-presubj --- linux-5.10.197/debian/linux-image-mckinley.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-mckinley.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-mckinley instead. +the package name linux-image-5.10.0-27-mckinley instead. diff -Nru linux-5.10.197/debian/linux-image-mckinley.maintscript linux-5.10.205/debian/linux-image-mckinley.maintscript --- linux-5.10.197/debian/linux-image-mckinley.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-mckinley.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-mckinley linux-image-5.10.0-26-mckinley 5.7~rc5-1~exp1 linux-image-mckinley +dir_to_symlink /usr/share/doc/linux-image-mckinley linux-image-5.10.0-27-mckinley 5.7~rc5-1~exp1 linux-image-mckinley diff -Nru linux-5.10.197/debian/linux-image-mips32r6-dbg.maintscript linux-5.10.205/debian/linux-image-mips32r6-dbg.maintscript --- linux-5.10.197/debian/linux-image-mips32r6-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-mips32r6-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-mips32r6-dbg linux-image-5.10.0-26-mips32r6-dbg 5.7~rc5-1~exp1 linux-image-mips32r6-dbg +dir_to_symlink /usr/share/doc/linux-image-mips32r6-dbg linux-image-5.10.0-27-mips32r6-dbg 5.7~rc5-1~exp1 linux-image-mips32r6-dbg diff -Nru linux-5.10.197/debian/linux-image-mips32r6.bug-presubj linux-5.10.205/debian/linux-image-mips32r6.bug-presubj --- linux-5.10.197/debian/linux-image-mips32r6.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-mips32r6.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-mips32r6 instead. +the package name linux-image-5.10.0-27-mips32r6 instead. diff -Nru linux-5.10.197/debian/linux-image-mips32r6.maintscript linux-5.10.205/debian/linux-image-mips32r6.maintscript --- linux-5.10.197/debian/linux-image-mips32r6.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-mips32r6.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-mips32r6 linux-image-5.10.0-26-mips32r6 5.7~rc5-1~exp1 linux-image-mips32r6 +dir_to_symlink /usr/share/doc/linux-image-mips32r6 linux-image-5.10.0-27-mips32r6 5.7~rc5-1~exp1 linux-image-mips32r6 diff -Nru linux-5.10.197/debian/linux-image-mips32r6el-dbg.maintscript linux-5.10.205/debian/linux-image-mips32r6el-dbg.maintscript --- linux-5.10.197/debian/linux-image-mips32r6el-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-mips32r6el-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-mips32r6el-dbg linux-image-5.10.0-26-mips32r6el-dbg 5.7~rc5-1~exp1 linux-image-mips32r6el-dbg +dir_to_symlink /usr/share/doc/linux-image-mips32r6el-dbg linux-image-5.10.0-27-mips32r6el-dbg 5.7~rc5-1~exp1 linux-image-mips32r6el-dbg diff -Nru linux-5.10.197/debian/linux-image-mips32r6el.bug-presubj linux-5.10.205/debian/linux-image-mips32r6el.bug-presubj --- linux-5.10.197/debian/linux-image-mips32r6el.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-mips32r6el.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-mips32r6el instead. +the package name linux-image-5.10.0-27-mips32r6el instead. diff -Nru linux-5.10.197/debian/linux-image-mips32r6el.maintscript linux-5.10.205/debian/linux-image-mips32r6el.maintscript --- linux-5.10.197/debian/linux-image-mips32r6el.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-mips32r6el.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-mips32r6el linux-image-5.10.0-26-mips32r6el 5.7~rc5-1~exp1 linux-image-mips32r6el +dir_to_symlink /usr/share/doc/linux-image-mips32r6el linux-image-5.10.0-27-mips32r6el 5.7~rc5-1~exp1 linux-image-mips32r6el diff -Nru linux-5.10.197/debian/linux-image-mips64r6-dbg.maintscript linux-5.10.205/debian/linux-image-mips64r6-dbg.maintscript --- linux-5.10.197/debian/linux-image-mips64r6-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-mips64r6-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-mips64r6-dbg linux-image-5.10.0-26-mips64r6-dbg 5.7~rc5-1~exp1 linux-image-mips64r6-dbg +dir_to_symlink /usr/share/doc/linux-image-mips64r6-dbg linux-image-5.10.0-27-mips64r6-dbg 5.7~rc5-1~exp1 linux-image-mips64r6-dbg diff -Nru linux-5.10.197/debian/linux-image-mips64r6.bug-presubj linux-5.10.205/debian/linux-image-mips64r6.bug-presubj --- linux-5.10.197/debian/linux-image-mips64r6.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-mips64r6.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-mips64r6 instead. +the package name linux-image-5.10.0-27-mips64r6 instead. diff -Nru linux-5.10.197/debian/linux-image-mips64r6.maintscript linux-5.10.205/debian/linux-image-mips64r6.maintscript --- linux-5.10.197/debian/linux-image-mips64r6.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-mips64r6.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-mips64r6 linux-image-5.10.0-26-mips64r6 5.7~rc5-1~exp1 linux-image-mips64r6 +dir_to_symlink /usr/share/doc/linux-image-mips64r6 linux-image-5.10.0-27-mips64r6 5.7~rc5-1~exp1 linux-image-mips64r6 diff -Nru linux-5.10.197/debian/linux-image-mips64r6el-dbg.maintscript linux-5.10.205/debian/linux-image-mips64r6el-dbg.maintscript --- linux-5.10.197/debian/linux-image-mips64r6el-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-mips64r6el-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-mips64r6el-dbg linux-image-5.10.0-26-mips64r6el-dbg 5.7~rc5-1~exp1 linux-image-mips64r6el-dbg +dir_to_symlink /usr/share/doc/linux-image-mips64r6el-dbg linux-image-5.10.0-27-mips64r6el-dbg 5.7~rc5-1~exp1 linux-image-mips64r6el-dbg diff -Nru linux-5.10.197/debian/linux-image-mips64r6el.bug-presubj linux-5.10.205/debian/linux-image-mips64r6el.bug-presubj --- linux-5.10.197/debian/linux-image-mips64r6el.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-mips64r6el.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-mips64r6el instead. +the package name linux-image-5.10.0-27-mips64r6el instead. diff -Nru linux-5.10.197/debian/linux-image-mips64r6el.maintscript linux-5.10.205/debian/linux-image-mips64r6el.maintscript --- linux-5.10.197/debian/linux-image-mips64r6el.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-mips64r6el.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-mips64r6el linux-image-5.10.0-26-mips64r6el 5.7~rc5-1~exp1 linux-image-mips64r6el +dir_to_symlink /usr/share/doc/linux-image-mips64r6el linux-image-5.10.0-27-mips64r6el 5.7~rc5-1~exp1 linux-image-mips64r6el diff -Nru linux-5.10.197/debian/linux-image-octeon-dbg.maintscript linux-5.10.205/debian/linux-image-octeon-dbg.maintscript --- linux-5.10.197/debian/linux-image-octeon-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-octeon-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-octeon-dbg linux-image-5.10.0-26-octeon-dbg 5.7~rc5-1~exp1 linux-image-octeon-dbg +dir_to_symlink /usr/share/doc/linux-image-octeon-dbg linux-image-5.10.0-27-octeon-dbg 5.7~rc5-1~exp1 linux-image-octeon-dbg diff -Nru linux-5.10.197/debian/linux-image-octeon.bug-presubj linux-5.10.205/debian/linux-image-octeon.bug-presubj --- linux-5.10.197/debian/linux-image-octeon.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-octeon.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-octeon instead. +the package name linux-image-5.10.0-27-octeon instead. diff -Nru linux-5.10.197/debian/linux-image-octeon.maintscript linux-5.10.205/debian/linux-image-octeon.maintscript --- linux-5.10.197/debian/linux-image-octeon.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-octeon.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-octeon linux-image-5.10.0-26-octeon 5.7~rc5-1~exp1 linux-image-octeon +dir_to_symlink /usr/share/doc/linux-image-octeon linux-image-5.10.0-27-octeon 5.7~rc5-1~exp1 linux-image-octeon diff -Nru linux-5.10.197/debian/linux-image-parisc.bug-presubj linux-5.10.205/debian/linux-image-parisc.bug-presubj --- linux-5.10.197/debian/linux-image-parisc.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-parisc.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-parisc instead. +the package name linux-image-5.10.0-27-parisc instead. diff -Nru linux-5.10.197/debian/linux-image-parisc.maintscript linux-5.10.205/debian/linux-image-parisc.maintscript --- linux-5.10.197/debian/linux-image-parisc.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-parisc.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-parisc linux-image-5.10.0-26-parisc 5.7~rc5-1~exp1 linux-image-parisc +dir_to_symlink /usr/share/doc/linux-image-parisc linux-image-5.10.0-27-parisc 5.7~rc5-1~exp1 linux-image-parisc diff -Nru linux-5.10.197/debian/linux-image-parisc64.bug-presubj linux-5.10.205/debian/linux-image-parisc64.bug-presubj --- linux-5.10.197/debian/linux-image-parisc64.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-parisc64.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-parisc64 instead. +the package name linux-image-5.10.0-27-parisc64 instead. diff -Nru linux-5.10.197/debian/linux-image-parisc64.maintscript linux-5.10.205/debian/linux-image-parisc64.maintscript --- linux-5.10.197/debian/linux-image-parisc64.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-parisc64.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-parisc64 linux-image-5.10.0-26-parisc64 5.7~rc5-1~exp1 linux-image-parisc64 +dir_to_symlink /usr/share/doc/linux-image-parisc64 linux-image-5.10.0-27-parisc64 5.7~rc5-1~exp1 linux-image-parisc64 diff -Nru linux-5.10.197/debian/linux-image-powerpc-dbg.maintscript linux-5.10.205/debian/linux-image-powerpc-dbg.maintscript --- linux-5.10.197/debian/linux-image-powerpc-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-powerpc-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-powerpc-dbg linux-image-5.10.0-26-powerpc-dbg 5.7~rc5-1~exp1 linux-image-powerpc-dbg +dir_to_symlink /usr/share/doc/linux-image-powerpc-dbg linux-image-5.10.0-27-powerpc-dbg 5.7~rc5-1~exp1 linux-image-powerpc-dbg diff -Nru linux-5.10.197/debian/linux-image-powerpc-smp-dbg.maintscript linux-5.10.205/debian/linux-image-powerpc-smp-dbg.maintscript --- linux-5.10.197/debian/linux-image-powerpc-smp-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-powerpc-smp-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-powerpc-smp-dbg linux-image-5.10.0-26-powerpc-smp-dbg 5.7~rc5-1~exp1 linux-image-powerpc-smp-dbg +dir_to_symlink /usr/share/doc/linux-image-powerpc-smp-dbg linux-image-5.10.0-27-powerpc-smp-dbg 5.7~rc5-1~exp1 linux-image-powerpc-smp-dbg diff -Nru linux-5.10.197/debian/linux-image-powerpc-smp.bug-presubj linux-5.10.205/debian/linux-image-powerpc-smp.bug-presubj --- linux-5.10.197/debian/linux-image-powerpc-smp.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-powerpc-smp.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-powerpc-smp instead. +the package name linux-image-5.10.0-27-powerpc-smp instead. diff -Nru linux-5.10.197/debian/linux-image-powerpc-smp.maintscript linux-5.10.205/debian/linux-image-powerpc-smp.maintscript --- linux-5.10.197/debian/linux-image-powerpc-smp.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-powerpc-smp.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-powerpc-smp linux-image-5.10.0-26-powerpc-smp 5.7~rc5-1~exp1 linux-image-powerpc-smp +dir_to_symlink /usr/share/doc/linux-image-powerpc-smp linux-image-5.10.0-27-powerpc-smp 5.7~rc5-1~exp1 linux-image-powerpc-smp diff -Nru linux-5.10.197/debian/linux-image-powerpc.bug-presubj linux-5.10.205/debian/linux-image-powerpc.bug-presubj --- linux-5.10.197/debian/linux-image-powerpc.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-powerpc.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-powerpc instead. +the package name linux-image-5.10.0-27-powerpc instead. diff -Nru linux-5.10.197/debian/linux-image-powerpc.maintscript linux-5.10.205/debian/linux-image-powerpc.maintscript --- linux-5.10.197/debian/linux-image-powerpc.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-powerpc.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-powerpc linux-image-5.10.0-26-powerpc 5.7~rc5-1~exp1 linux-image-powerpc +dir_to_symlink /usr/share/doc/linux-image-powerpc linux-image-5.10.0-27-powerpc 5.7~rc5-1~exp1 linux-image-powerpc diff -Nru linux-5.10.197/debian/linux-image-powerpc64-dbg.maintscript linux-5.10.205/debian/linux-image-powerpc64-dbg.maintscript --- linux-5.10.197/debian/linux-image-powerpc64-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-powerpc64-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-powerpc64-dbg linux-image-5.10.0-26-powerpc64-dbg 5.7~rc5-1~exp1 linux-image-powerpc64-dbg +dir_to_symlink /usr/share/doc/linux-image-powerpc64-dbg linux-image-5.10.0-27-powerpc64-dbg 5.7~rc5-1~exp1 linux-image-powerpc64-dbg diff -Nru linux-5.10.197/debian/linux-image-powerpc64.bug-presubj linux-5.10.205/debian/linux-image-powerpc64.bug-presubj --- linux-5.10.197/debian/linux-image-powerpc64.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-powerpc64.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-powerpc64 instead. +the package name linux-image-5.10.0-27-powerpc64 instead. diff -Nru linux-5.10.197/debian/linux-image-powerpc64.maintscript linux-5.10.205/debian/linux-image-powerpc64.maintscript --- linux-5.10.197/debian/linux-image-powerpc64.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-powerpc64.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-powerpc64 linux-image-5.10.0-26-powerpc64 5.7~rc5-1~exp1 linux-image-powerpc64 +dir_to_symlink /usr/share/doc/linux-image-powerpc64 linux-image-5.10.0-27-powerpc64 5.7~rc5-1~exp1 linux-image-powerpc64 diff -Nru linux-5.10.197/debian/linux-image-powerpc64le-dbg.maintscript linux-5.10.205/debian/linux-image-powerpc64le-dbg.maintscript --- linux-5.10.197/debian/linux-image-powerpc64le-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-powerpc64le-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-powerpc64le-dbg linux-image-5.10.0-26-powerpc64le-dbg 5.7~rc5-1~exp1 linux-image-powerpc64le-dbg +dir_to_symlink /usr/share/doc/linux-image-powerpc64le-dbg linux-image-5.10.0-27-powerpc64le-dbg 5.7~rc5-1~exp1 linux-image-powerpc64le-dbg diff -Nru linux-5.10.197/debian/linux-image-powerpc64le.bug-presubj linux-5.10.205/debian/linux-image-powerpc64le.bug-presubj --- linux-5.10.197/debian/linux-image-powerpc64le.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-powerpc64le.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-powerpc64le instead. +the package name linux-image-5.10.0-27-powerpc64le instead. diff -Nru linux-5.10.197/debian/linux-image-powerpc64le.maintscript linux-5.10.205/debian/linux-image-powerpc64le.maintscript --- linux-5.10.197/debian/linux-image-powerpc64le.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-powerpc64le.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-powerpc64le linux-image-5.10.0-26-powerpc64le 5.7~rc5-1~exp1 linux-image-powerpc64le +dir_to_symlink /usr/share/doc/linux-image-powerpc64le linux-image-5.10.0-27-powerpc64le 5.7~rc5-1~exp1 linux-image-powerpc64le diff -Nru linux-5.10.197/debian/linux-image-riscv64-dbg.maintscript linux-5.10.205/debian/linux-image-riscv64-dbg.maintscript --- linux-5.10.197/debian/linux-image-riscv64-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-riscv64-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-riscv64-dbg linux-image-5.10.0-26-riscv64-dbg 5.7~rc5-1~exp1 linux-image-riscv64-dbg +dir_to_symlink /usr/share/doc/linux-image-riscv64-dbg linux-image-5.10.0-27-riscv64-dbg 5.7~rc5-1~exp1 linux-image-riscv64-dbg diff -Nru linux-5.10.197/debian/linux-image-riscv64.bug-presubj linux-5.10.205/debian/linux-image-riscv64.bug-presubj --- linux-5.10.197/debian/linux-image-riscv64.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-riscv64.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-riscv64 instead. +the package name linux-image-5.10.0-27-riscv64 instead. diff -Nru linux-5.10.197/debian/linux-image-riscv64.maintscript linux-5.10.205/debian/linux-image-riscv64.maintscript --- linux-5.10.197/debian/linux-image-riscv64.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-riscv64.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-riscv64 linux-image-5.10.0-26-riscv64 5.7~rc5-1~exp1 linux-image-riscv64 +dir_to_symlink /usr/share/doc/linux-image-riscv64 linux-image-5.10.0-27-riscv64 5.7~rc5-1~exp1 linux-image-riscv64 diff -Nru linux-5.10.197/debian/linux-image-rpi-dbg.maintscript linux-5.10.205/debian/linux-image-rpi-dbg.maintscript --- linux-5.10.197/debian/linux-image-rpi-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-rpi-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-rpi-dbg linux-image-5.10.0-26-rpi-dbg 5.7~rc5-1~exp1 linux-image-rpi-dbg +dir_to_symlink /usr/share/doc/linux-image-rpi-dbg linux-image-5.10.0-27-rpi-dbg 5.7~rc5-1~exp1 linux-image-rpi-dbg diff -Nru linux-5.10.197/debian/linux-image-rpi.bug-presubj linux-5.10.205/debian/linux-image-rpi.bug-presubj --- linux-5.10.197/debian/linux-image-rpi.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-rpi.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-rpi instead. +the package name linux-image-5.10.0-27-rpi instead. diff -Nru linux-5.10.197/debian/linux-image-rpi.maintscript linux-5.10.205/debian/linux-image-rpi.maintscript --- linux-5.10.197/debian/linux-image-rpi.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-rpi.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-rpi linux-image-5.10.0-26-rpi 5.7~rc5-1~exp1 linux-image-rpi +dir_to_symlink /usr/share/doc/linux-image-rpi linux-image-5.10.0-27-rpi 5.7~rc5-1~exp1 linux-image-rpi diff -Nru linux-5.10.197/debian/linux-image-rt-686-pae-dbg.maintscript linux-5.10.205/debian/linux-image-rt-686-pae-dbg.maintscript --- linux-5.10.197/debian/linux-image-rt-686-pae-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-rt-686-pae-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-rt-686-pae-dbg linux-image-5.10.0-26-rt-686-pae-dbg 5.7~rc5-1~exp1 linux-image-rt-686-pae-dbg +dir_to_symlink /usr/share/doc/linux-image-rt-686-pae-dbg linux-image-5.10.0-27-rt-686-pae-dbg 5.7~rc5-1~exp1 linux-image-rt-686-pae-dbg diff -Nru linux-5.10.197/debian/linux-image-rt-amd64-dbg.maintscript linux-5.10.205/debian/linux-image-rt-amd64-dbg.maintscript --- linux-5.10.197/debian/linux-image-rt-amd64-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-rt-amd64-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-rt-amd64-dbg linux-image-5.10.0-26-rt-amd64-dbg 5.7~rc5-1~exp1 linux-image-rt-amd64-dbg +dir_to_symlink /usr/share/doc/linux-image-rt-amd64-dbg linux-image-5.10.0-27-rt-amd64-dbg 5.7~rc5-1~exp1 linux-image-rt-amd64-dbg diff -Nru linux-5.10.197/debian/linux-image-rt-arm64-dbg.maintscript linux-5.10.205/debian/linux-image-rt-arm64-dbg.maintscript --- linux-5.10.197/debian/linux-image-rt-arm64-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-rt-arm64-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-rt-arm64-dbg linux-image-5.10.0-26-rt-arm64-dbg 5.7~rc5-1~exp1 linux-image-rt-arm64-dbg +dir_to_symlink /usr/share/doc/linux-image-rt-arm64-dbg linux-image-5.10.0-27-rt-arm64-dbg 5.7~rc5-1~exp1 linux-image-rt-arm64-dbg diff -Nru linux-5.10.197/debian/linux-image-rt-armmp-dbg.maintscript linux-5.10.205/debian/linux-image-rt-armmp-dbg.maintscript --- linux-5.10.197/debian/linux-image-rt-armmp-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-rt-armmp-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-rt-armmp-dbg linux-image-5.10.0-26-rt-armmp-dbg 5.7~rc5-1~exp1 linux-image-rt-armmp-dbg +dir_to_symlink /usr/share/doc/linux-image-rt-armmp-dbg linux-image-5.10.0-27-rt-armmp-dbg 5.7~rc5-1~exp1 linux-image-rt-armmp-dbg diff -Nru linux-5.10.197/debian/linux-image-rt-armmp.bug-presubj linux-5.10.205/debian/linux-image-rt-armmp.bug-presubj --- linux-5.10.197/debian/linux-image-rt-armmp.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-rt-armmp.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-rt-armmp instead. +the package name linux-image-5.10.0-27-rt-armmp instead. diff -Nru linux-5.10.197/debian/linux-image-rt-armmp.maintscript linux-5.10.205/debian/linux-image-rt-armmp.maintscript --- linux-5.10.197/debian/linux-image-rt-armmp.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-rt-armmp.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-rt-armmp linux-image-5.10.0-26-rt-armmp 5.7~rc5-1~exp1 linux-image-rt-armmp +dir_to_symlink /usr/share/doc/linux-image-rt-armmp linux-image-5.10.0-27-rt-armmp 5.7~rc5-1~exp1 linux-image-rt-armmp diff -Nru linux-5.10.197/debian/linux-image-s390x-dbg.maintscript linux-5.10.205/debian/linux-image-s390x-dbg.maintscript --- linux-5.10.197/debian/linux-image-s390x-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-s390x-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-s390x-dbg linux-image-5.10.0-26-s390x-dbg 5.7~rc5-1~exp1 linux-image-s390x-dbg +dir_to_symlink /usr/share/doc/linux-image-s390x-dbg linux-image-5.10.0-27-s390x-dbg 5.7~rc5-1~exp1 linux-image-s390x-dbg diff -Nru linux-5.10.197/debian/linux-image-s390x.bug-presubj linux-5.10.205/debian/linux-image-s390x.bug-presubj --- linux-5.10.197/debian/linux-image-s390x.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-s390x.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-s390x instead. +the package name linux-image-5.10.0-27-s390x instead. diff -Nru linux-5.10.197/debian/linux-image-s390x.maintscript linux-5.10.205/debian/linux-image-s390x.maintscript --- linux-5.10.197/debian/linux-image-s390x.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-s390x.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-s390x linux-image-5.10.0-26-s390x 5.7~rc5-1~exp1 linux-image-s390x +dir_to_symlink /usr/share/doc/linux-image-s390x linux-image-5.10.0-27-s390x 5.7~rc5-1~exp1 linux-image-s390x diff -Nru linux-5.10.197/debian/linux-image-sh7751r-dbg.maintscript linux-5.10.205/debian/linux-image-sh7751r-dbg.maintscript --- linux-5.10.197/debian/linux-image-sh7751r-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-sh7751r-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-sh7751r-dbg linux-image-5.10.0-26-sh7751r-dbg 5.7~rc5-1~exp1 linux-image-sh7751r-dbg +dir_to_symlink /usr/share/doc/linux-image-sh7751r-dbg linux-image-5.10.0-27-sh7751r-dbg 5.7~rc5-1~exp1 linux-image-sh7751r-dbg diff -Nru linux-5.10.197/debian/linux-image-sh7751r.bug-presubj linux-5.10.205/debian/linux-image-sh7751r.bug-presubj --- linux-5.10.197/debian/linux-image-sh7751r.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-sh7751r.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-sh7751r instead. +the package name linux-image-5.10.0-27-sh7751r instead. diff -Nru linux-5.10.197/debian/linux-image-sh7751r.maintscript linux-5.10.205/debian/linux-image-sh7751r.maintscript --- linux-5.10.197/debian/linux-image-sh7751r.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-sh7751r.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-sh7751r linux-image-5.10.0-26-sh7751r 5.7~rc5-1~exp1 linux-image-sh7751r +dir_to_symlink /usr/share/doc/linux-image-sh7751r linux-image-5.10.0-27-sh7751r 5.7~rc5-1~exp1 linux-image-sh7751r diff -Nru linux-5.10.197/debian/linux-image-sh7785lcr-dbg.maintscript linux-5.10.205/debian/linux-image-sh7785lcr-dbg.maintscript --- linux-5.10.197/debian/linux-image-sh7785lcr-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-sh7785lcr-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-sh7785lcr-dbg linux-image-5.10.0-26-sh7785lcr-dbg 5.7~rc5-1~exp1 linux-image-sh7785lcr-dbg +dir_to_symlink /usr/share/doc/linux-image-sh7785lcr-dbg linux-image-5.10.0-27-sh7785lcr-dbg 5.7~rc5-1~exp1 linux-image-sh7785lcr-dbg diff -Nru linux-5.10.197/debian/linux-image-sh7785lcr.bug-presubj linux-5.10.205/debian/linux-image-sh7785lcr.bug-presubj --- linux-5.10.197/debian/linux-image-sh7785lcr.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-sh7785lcr.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-sh7785lcr instead. +the package name linux-image-5.10.0-27-sh7785lcr instead. diff -Nru linux-5.10.197/debian/linux-image-sh7785lcr.maintscript linux-5.10.205/debian/linux-image-sh7785lcr.maintscript --- linux-5.10.197/debian/linux-image-sh7785lcr.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-sh7785lcr.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-sh7785lcr linux-image-5.10.0-26-sh7785lcr 5.7~rc5-1~exp1 linux-image-sh7785lcr +dir_to_symlink /usr/share/doc/linux-image-sh7785lcr linux-image-5.10.0-27-sh7785lcr 5.7~rc5-1~exp1 linux-image-sh7785lcr diff -Nru linux-5.10.197/debian/linux-image-sparc64-dbg.maintscript linux-5.10.205/debian/linux-image-sparc64-dbg.maintscript --- linux-5.10.197/debian/linux-image-sparc64-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-sparc64-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-sparc64-dbg linux-image-5.10.0-26-sparc64-dbg 5.7~rc5-1~exp1 linux-image-sparc64-dbg +dir_to_symlink /usr/share/doc/linux-image-sparc64-dbg linux-image-5.10.0-27-sparc64-dbg 5.7~rc5-1~exp1 linux-image-sparc64-dbg diff -Nru linux-5.10.197/debian/linux-image-sparc64-smp-dbg.maintscript linux-5.10.205/debian/linux-image-sparc64-smp-dbg.maintscript --- linux-5.10.197/debian/linux-image-sparc64-smp-dbg.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-sparc64-smp-dbg.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-sparc64-smp-dbg linux-image-5.10.0-26-sparc64-smp-dbg 5.7~rc5-1~exp1 linux-image-sparc64-smp-dbg +dir_to_symlink /usr/share/doc/linux-image-sparc64-smp-dbg linux-image-5.10.0-27-sparc64-smp-dbg 5.7~rc5-1~exp1 linux-image-sparc64-smp-dbg diff -Nru linux-5.10.197/debian/linux-image-sparc64-smp.bug-presubj linux-5.10.205/debian/linux-image-sparc64-smp.bug-presubj --- linux-5.10.197/debian/linux-image-sparc64-smp.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-sparc64-smp.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-sparc64-smp instead. +the package name linux-image-5.10.0-27-sparc64-smp instead. diff -Nru linux-5.10.197/debian/linux-image-sparc64-smp.maintscript linux-5.10.205/debian/linux-image-sparc64-smp.maintscript --- linux-5.10.197/debian/linux-image-sparc64-smp.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-sparc64-smp.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-sparc64-smp linux-image-5.10.0-26-sparc64-smp 5.7~rc5-1~exp1 linux-image-sparc64-smp +dir_to_symlink /usr/share/doc/linux-image-sparc64-smp linux-image-5.10.0-27-sparc64-smp 5.7~rc5-1~exp1 linux-image-sparc64-smp diff -Nru linux-5.10.197/debian/linux-image-sparc64.bug-presubj linux-5.10.205/debian/linux-image-sparc64.bug-presubj --- linux-5.10.197/debian/linux-image-sparc64.bug-presubj 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-sparc64.bug-presubj 2023-12-31 15:46:35.000000000 +0000 @@ -2,4 +2,4 @@ This is probably not what you intended to do. If you want to report a bug in the Linux kernel or modules, you should use -the package name linux-image-5.10.0-26-sparc64 instead. +the package name linux-image-5.10.0-27-sparc64 instead. diff -Nru linux-5.10.197/debian/linux-image-sparc64.maintscript linux-5.10.205/debian/linux-image-sparc64.maintscript --- linux-5.10.197/debian/linux-image-sparc64.maintscript 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/linux-image-sparc64.maintscript 2023-12-31 15:46:35.000000000 +0000 @@ -1 +1 @@ -dir_to_symlink /usr/share/doc/linux-image-sparc64 linux-image-5.10.0-26-sparc64 5.7~rc5-1~exp1 linux-image-sparc64 +dir_to_symlink /usr/share/doc/linux-image-sparc64 linux-image-5.10.0-27-sparc64 5.7~rc5-1~exp1 linux-image-sparc64 diff -Nru linux-5.10.197/debian/patches/bugfix/all/ipv4-fix-null-deref-in-ipv4_link_failure.patch linux-5.10.205/debian/patches/bugfix/all/ipv4-fix-null-deref-in-ipv4_link_failure.patch --- linux-5.10.197/debian/patches/bugfix/all/ipv4-fix-null-deref-in-ipv4_link_failure.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/all/ipv4-fix-null-deref-in-ipv4_link_failure.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,51 +0,0 @@ -From: Kyle Zeng -Date: Thu, 14 Sep 2023 22:12:57 -0700 -Subject: ipv4: fix null-deref in ipv4_link_failure -Origin: https://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git/tree/queue-5.10/ipv4-fix-null-deref-in-ipv4_link_failure.patch - -[ Upstream commit 0113d9c9d1ccc07f5a3710dac4aa24b6d711278c ] - -Currently, we assume the skb is associated with a device before calling -__ip_options_compile, which is not always the case if it is re-routed by -ipvs. -When skb->dev is NULL, dev_net(skb->dev) will become null-dereference. -This patch adds a check for the edge case and switch to use the net_device -from the rtable when skb->dev is NULL. - -Fixes: ed0de45a1008 ("ipv4: recompile ip options in ipv4_link_failure") -Suggested-by: David Ahern -Signed-off-by: Kyle Zeng -Cc: Stephen Suryaputra -Cc: Vadim Fedorenko -Reviewed-by: David Ahern -Signed-off-by: David S. Miller -Signed-off-by: Sasha Levin ---- - net/ipv4/route.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/net/ipv4/route.c b/net/ipv4/route.c -index 3ddeb4fc0d08a..445b1a2966d79 100644 ---- a/net/ipv4/route.c -+++ b/net/ipv4/route.c -@@ -1240,6 +1240,7 @@ static struct dst_entry *ipv4_dst_check(struct dst_entry *dst, u32 cookie) - - static void ipv4_send_dest_unreach(struct sk_buff *skb) - { -+ struct net_device *dev; - struct ip_options opt; - int res; - -@@ -1257,7 +1258,8 @@ static void ipv4_send_dest_unreach(struct sk_buff *skb) - opt.optlen = ip_hdr(skb)->ihl * 4 - sizeof(struct iphdr); - - rcu_read_lock(); -- res = __ip_options_compile(dev_net(skb->dev), &opt, skb, NULL); -+ dev = skb->dev ? skb->dev : skb_rtable(skb)->dst.dev; -+ res = __ip_options_compile(dev_net(dev), &opt, skb, NULL); - rcu_read_unlock(); - - if (res) --- -2.40.1 - diff -Nru linux-5.10.197/debian/patches/bugfix/all/netfilter-ipset-fix-race-between-ipset_cmd_create-an.patch linux-5.10.205/debian/patches/bugfix/all/netfilter-ipset-fix-race-between-ipset_cmd_create-an.patch --- linux-5.10.197/debian/patches/bugfix/all/netfilter-ipset-fix-race-between-ipset_cmd_create-an.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/all/netfilter-ipset-fix-race-between-ipset_cmd_create-an.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,64 +0,0 @@ -From 0da842b2502efec3d15d34c3188e5cdc2d9ebaf2 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 19 Sep 2023 20:04:45 +0200 -Subject: netfilter: ipset: Fix race between IPSET_CMD_CREATE and - IPSET_CMD_SWAP - -From: Jozsef Kadlecsik - -[ Upstream commit 7433b6d2afd512d04398c73aa984d1e285be125b ] - -Kyle Zeng reported that there is a race between IPSET_CMD_ADD and IPSET_CMD_SWAP -in netfilter/ip_set, which can lead to the invocation of `__ip_set_put` on a -wrong `set`, triggering the `BUG_ON(set->ref == 0);` check in it. - -The race is caused by using the wrong reference counter, i.e. the ref counter instead -of ref_netlink. - -Fixes: 24e227896bbf ("netfilter: ipset: Add schedule point in call_ad().") -Reported-by: Kyle Zeng -Closes: https://lore.kernel.org/netfilter-devel/ZPZqetxOmH+w%2Fmyc@westworld/#r -Tested-by: Kyle Zeng -Signed-off-by: Jozsef Kadlecsik -Signed-off-by: Florian Westphal -Signed-off-by: Sasha Levin ---- - net/netfilter/ipset/ip_set_core.c | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -diff --git a/net/netfilter/ipset/ip_set_core.c b/net/netfilter/ipset/ip_set_core.c -index 55ac0cc12657c..26613e3731d02 100644 ---- a/net/netfilter/ipset/ip_set_core.c -+++ b/net/netfilter/ipset/ip_set_core.c -@@ -682,6 +682,14 @@ __ip_set_put(struct ip_set *set) - /* set->ref can be swapped out by ip_set_swap, netlink events (like dump) need - * a separate reference counter - */ -+static void -+__ip_set_get_netlink(struct ip_set *set) -+{ -+ write_lock_bh(&ip_set_ref_lock); -+ set->ref_netlink++; -+ write_unlock_bh(&ip_set_ref_lock); -+} -+ - static void - __ip_set_put_netlink(struct ip_set *set) - { -@@ -1705,11 +1713,11 @@ call_ad(struct sock *ctnl, struct sk_buff *skb, struct ip_set *set, - - do { - if (retried) { -- __ip_set_get(set); -+ __ip_set_get_netlink(set); - nfnl_unlock(NFNL_SUBSYS_IPSET); - cond_resched(); - nfnl_lock(NFNL_SUBSYS_IPSET); -- __ip_set_put(set); -+ __ip_set_put_netlink(set); - } - - ip_set_lock(set); --- -2.40.1 - diff -Nru linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-adapt-set-backend-to-use-gc-tran.patch linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-adapt-set-backend-to-use-gc-tran.patch --- linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-adapt-set-backend-to-use-gc-tran.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-adapt-set-backend-to-use-gc-tran.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,525 +0,0 @@ -From 17a7c30e1281a067fe8e1063849311667f2d3746 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 22 Sep 2023 19:01:05 +0200 -Subject: netfilter: nf_tables: adapt set backend to use GC transaction API - -From: Pablo Neira Ayuso - -commit f6c383b8c31a93752a52697f8430a71dcbc46adf upstream. - -Use the GC transaction API to replace the old and buggy gc API and the -busy mark approach. - -No set elements are removed from async garbage collection anymore, -instead the _DEAD bit is set on so the set element is not visible from -lookup path anymore. Async GC enqueues transaction work that might be -aborted and retried later. - -rbtree and pipapo set backends does not set on the _DEAD bit from the -sync GC path since this runs in control plane path where mutex is held. -In this case, set elements are deactivated, removed and then released -via RCU callback, sync GC never fails. - -Fixes: 3c4287f62044 ("nf_tables: Add set type for arbitrary concatenation of ranges") -Fixes: 8d8540c4f5e0 ("netfilter: nft_set_rbtree: add timeout support") -Fixes: 9d0982927e79 ("netfilter: nft_hash: add support for timeouts") -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Sasha Levin ---- - net/netfilter/nft_set_hash.c | 77 +++++++++++------- - net/netfilter/nft_set_pipapo.c | 43 +++++++--- - net/netfilter/nft_set_rbtree.c | 138 +++++++++++++++++++++------------ - 3 files changed, 172 insertions(+), 86 deletions(-) - -diff --git a/net/netfilter/nft_set_hash.c b/net/netfilter/nft_set_hash.c -index ea7bd8549bea8..6ae99b3107bc9 100644 ---- a/net/netfilter/nft_set_hash.c -+++ b/net/netfilter/nft_set_hash.c -@@ -17,6 +17,9 @@ - #include - #include - #include -+#include -+ -+extern unsigned int nf_tables_net_id; - - /* We target a hash table size of 4, element hint is 75% of final size */ - #define NFT_RHASH_ELEMENT_HINT 3 -@@ -59,6 +62,8 @@ static inline int nft_rhash_cmp(struct rhashtable_compare_arg *arg, - - if (memcmp(nft_set_ext_key(&he->ext), x->key, x->set->klen)) - return 1; -+ if (nft_set_elem_is_dead(&he->ext)) -+ return 1; - if (nft_set_elem_expired(&he->ext)) - return 1; - if (!nft_set_elem_active(&he->ext, x->genmask)) -@@ -187,7 +192,6 @@ static void nft_rhash_activate(const struct net *net, const struct nft_set *set, - struct nft_rhash_elem *he = elem->priv; - - nft_set_elem_change_active(net, set, &he->ext); -- nft_set_elem_clear_busy(&he->ext); - } - - static bool nft_rhash_flush(const struct net *net, -@@ -195,12 +199,9 @@ static bool nft_rhash_flush(const struct net *net, - { - struct nft_rhash_elem *he = priv; - -- if (!nft_set_elem_mark_busy(&he->ext) || -- !nft_is_active(net, &he->ext)) { -- nft_set_elem_change_active(net, set, &he->ext); -- return true; -- } -- return false; -+ nft_set_elem_change_active(net, set, &he->ext); -+ -+ return true; - } - - static void *nft_rhash_deactivate(const struct net *net, -@@ -217,9 +218,8 @@ static void *nft_rhash_deactivate(const struct net *net, - - rcu_read_lock(); - he = rhashtable_lookup(&priv->ht, &arg, nft_rhash_params); -- if (he != NULL && -- !nft_rhash_flush(net, set, he)) -- he = NULL; -+ if (he) -+ nft_set_elem_change_active(net, set, &he->ext); - - rcu_read_unlock(); - -@@ -295,49 +295,75 @@ static void nft_rhash_walk(const struct nft_ctx *ctx, struct nft_set *set, - - static void nft_rhash_gc(struct work_struct *work) - { -+ struct nftables_pernet *nft_net; - struct nft_set *set; - struct nft_rhash_elem *he; - struct nft_rhash *priv; -- struct nft_set_gc_batch *gcb = NULL; - struct rhashtable_iter hti; -+ struct nft_trans_gc *gc; -+ struct net *net; -+ u32 gc_seq; - - priv = container_of(work, struct nft_rhash, gc_work.work); - set = nft_set_container_of(priv); -+ net = read_pnet(&set->net); -+ nft_net = net_generic(net, nf_tables_net_id); -+ gc_seq = READ_ONCE(nft_net->gc_seq); -+ -+ gc = nft_trans_gc_alloc(set, gc_seq, GFP_KERNEL); -+ if (!gc) -+ goto done; - - rhashtable_walk_enter(&priv->ht, &hti); - rhashtable_walk_start(&hti); - - while ((he = rhashtable_walk_next(&hti))) { - if (IS_ERR(he)) { -- if (PTR_ERR(he) != -EAGAIN) -- break; -+ if (PTR_ERR(he) != -EAGAIN) { -+ nft_trans_gc_destroy(gc); -+ gc = NULL; -+ goto try_later; -+ } - continue; - } - -+ /* Ruleset has been updated, try later. */ -+ if (READ_ONCE(nft_net->gc_seq) != gc_seq) { -+ nft_trans_gc_destroy(gc); -+ gc = NULL; -+ goto try_later; -+ } -+ -+ if (nft_set_elem_is_dead(&he->ext)) -+ goto dead_elem; -+ - if (nft_set_ext_exists(&he->ext, NFT_SET_EXT_EXPR)) { - struct nft_expr *expr = nft_set_ext_expr(&he->ext); - - if (expr->ops->gc && - expr->ops->gc(read_pnet(&set->net), expr)) -- goto gc; -+ goto needs_gc_run; - } -+ - if (!nft_set_elem_expired(&he->ext)) - continue; --gc: -- if (nft_set_elem_mark_busy(&he->ext)) -- continue; -- -- gcb = nft_set_gc_batch_check(set, gcb, GFP_ATOMIC); -- if (gcb == NULL) -- break; -- rhashtable_remove_fast(&priv->ht, &he->node, nft_rhash_params); -- atomic_dec(&set->nelems); -- nft_set_gc_batch_add(gcb, he); -+needs_gc_run: -+ nft_set_elem_dead(&he->ext); -+dead_elem: -+ gc = nft_trans_gc_queue_async(gc, gc_seq, GFP_ATOMIC); -+ if (!gc) -+ goto try_later; -+ -+ nft_trans_gc_elem_add(gc, he); - } -+ -+try_later: - rhashtable_walk_stop(&hti); - rhashtable_walk_exit(&hti); - -- nft_set_gc_batch_complete(gcb); -+ if (gc) -+ nft_trans_gc_queue_async_done(gc); -+done: - queue_delayed_work(system_power_efficient_wq, &priv->gc_work, - nft_set_gc_interval(set)); - } -@@ -400,7 +426,6 @@ static void nft_rhash_destroy(const struct nft_ctx *ctx, - }; - - cancel_delayed_work_sync(&priv->gc_work); -- rcu_barrier(); - rhashtable_free_and_destroy(&priv->ht, nft_rhash_elem_destroy, - (void *)&rhash_ctx); - } -diff --git a/net/netfilter/nft_set_pipapo.c b/net/netfilter/nft_set_pipapo.c -index 89fa1fedadf7c..63d0723950d32 100644 ---- a/net/netfilter/nft_set_pipapo.c -+++ b/net/netfilter/nft_set_pipapo.c -@@ -1544,15 +1544,32 @@ static void pipapo_drop(struct nft_pipapo_match *m, - } - } - -+static void nft_pipapo_gc_deactivate(struct net *net, struct nft_set *set, -+ struct nft_pipapo_elem *e) -+{ -+ struct nft_set_elem elem = { -+ .priv = e, -+ }; -+ -+ nft_setelem_data_deactivate(net, set, &elem); -+} -+ - /** - * pipapo_gc() - Drop expired entries from set, destroy start and end elements -- * @set: nftables API set representation -+ * @_set: nftables API set representation - * @m: Matching data - */ --static void pipapo_gc(const struct nft_set *set, struct nft_pipapo_match *m) -+static void pipapo_gc(const struct nft_set *_set, struct nft_pipapo_match *m) - { -+ struct nft_set *set = (struct nft_set *) _set; - struct nft_pipapo *priv = nft_set_priv(set); -+ struct net *net = read_pnet(&set->net); - int rules_f0, first_rule = 0; -+ struct nft_trans_gc *gc; -+ -+ gc = nft_trans_gc_alloc(set, 0, GFP_KERNEL); -+ if (!gc) -+ return; - - while ((rules_f0 = pipapo_rules_same_key(m->f, first_rule))) { - union nft_pipapo_map_bucket rulemap[NFT_PIPAPO_MAX_FIELDS]; -@@ -1577,13 +1594,19 @@ static void pipapo_gc(const struct nft_set *set, struct nft_pipapo_match *m) - f--; - i--; - e = f->mt[rulemap[i].to].e; -- if (nft_set_elem_expired(&e->ext) && -- !nft_set_elem_mark_busy(&e->ext)) { -+ /* synchronous gc never fails, there is no need to set on -+ * NFT_SET_ELEM_DEAD_BIT. -+ */ -+ if (nft_set_elem_expired(&e->ext)) { - priv->dirty = true; -- pipapo_drop(m, rulemap); - -- rcu_barrier(); -- nft_set_elem_destroy(set, e, true); -+ gc = nft_trans_gc_queue_sync(gc, GFP_ATOMIC); -+ if (!gc) -+ break; -+ -+ nft_pipapo_gc_deactivate(net, set, e); -+ pipapo_drop(m, rulemap); -+ nft_trans_gc_elem_add(gc, e); - - /* And check again current first rule, which is now the - * first we haven't checked. -@@ -1593,7 +1616,10 @@ static void pipapo_gc(const struct nft_set *set, struct nft_pipapo_match *m) - } - } - -- priv->last_gc = jiffies; -+ if (gc) { -+ nft_trans_gc_queue_sync_done(gc); -+ priv->last_gc = jiffies; -+ } - } - - /** -@@ -1718,7 +1744,6 @@ static void nft_pipapo_activate(const struct net *net, - return; - - nft_set_elem_change_active(net, set, &e->ext); -- nft_set_elem_clear_busy(&e->ext); - } - - /** -diff --git a/net/netfilter/nft_set_rbtree.c b/net/netfilter/nft_set_rbtree.c -index 2aa3776c5fbb7..ed14849aa47f4 100644 ---- a/net/netfilter/nft_set_rbtree.c -+++ b/net/netfilter/nft_set_rbtree.c -@@ -14,6 +14,9 @@ - #include - #include - #include -+#include -+ -+extern unsigned int nf_tables_net_id; - - struct nft_rbtree { - struct rb_root root; -@@ -46,6 +49,12 @@ static int nft_rbtree_cmp(const struct nft_set *set, - set->klen); - } - -+static bool nft_rbtree_elem_expired(const struct nft_rbtree_elem *rbe) -+{ -+ return nft_set_elem_expired(&rbe->ext) || -+ nft_set_elem_is_dead(&rbe->ext); -+} -+ - static bool __nft_rbtree_lookup(const struct net *net, const struct nft_set *set, - const u32 *key, const struct nft_set_ext **ext, - unsigned int seq) -@@ -80,7 +89,7 @@ static bool __nft_rbtree_lookup(const struct net *net, const struct nft_set *set - continue; - } - -- if (nft_set_elem_expired(&rbe->ext)) -+ if (nft_rbtree_elem_expired(rbe)) - return false; - - if (nft_rbtree_interval_end(rbe)) { -@@ -98,7 +107,7 @@ static bool __nft_rbtree_lookup(const struct net *net, const struct nft_set *set - - if (set->flags & NFT_SET_INTERVAL && interval != NULL && - nft_set_elem_active(&interval->ext, genmask) && -- !nft_set_elem_expired(&interval->ext) && -+ !nft_rbtree_elem_expired(interval) && - nft_rbtree_interval_start(interval)) { - *ext = &interval->ext; - return true; -@@ -214,6 +223,18 @@ static void *nft_rbtree_get(const struct net *net, const struct nft_set *set, - return rbe; - } - -+static void nft_rbtree_gc_remove(struct net *net, struct nft_set *set, -+ struct nft_rbtree *priv, -+ struct nft_rbtree_elem *rbe) -+{ -+ struct nft_set_elem elem = { -+ .priv = rbe, -+ }; -+ -+ nft_setelem_data_deactivate(net, set, &elem); -+ rb_erase(&rbe->node, &priv->root); -+} -+ - static int nft_rbtree_gc_elem(const struct nft_set *__set, - struct nft_rbtree *priv, - struct nft_rbtree_elem *rbe, -@@ -221,11 +242,12 @@ static int nft_rbtree_gc_elem(const struct nft_set *__set, - { - struct nft_set *set = (struct nft_set *)__set; - struct rb_node *prev = rb_prev(&rbe->node); -+ struct net *net = read_pnet(&set->net); - struct nft_rbtree_elem *rbe_prev; -- struct nft_set_gc_batch *gcb; -+ struct nft_trans_gc *gc; - -- gcb = nft_set_gc_batch_check(set, NULL, GFP_ATOMIC); -- if (!gcb) -+ gc = nft_trans_gc_alloc(set, 0, GFP_ATOMIC); -+ if (!gc) - return -ENOMEM; - - /* search for end interval coming before this element. -@@ -243,17 +265,28 @@ static int nft_rbtree_gc_elem(const struct nft_set *__set, - - if (prev) { - rbe_prev = rb_entry(prev, struct nft_rbtree_elem, node); -+ nft_rbtree_gc_remove(net, set, priv, rbe_prev); - -- rb_erase(&rbe_prev->node, &priv->root); -- atomic_dec(&set->nelems); -- nft_set_gc_batch_add(gcb, rbe_prev); -+ /* There is always room in this trans gc for this element, -+ * memory allocation never actually happens, hence, the warning -+ * splat in such case. No need to set NFT_SET_ELEM_DEAD_BIT, -+ * this is synchronous gc which never fails. -+ */ -+ gc = nft_trans_gc_queue_sync(gc, GFP_ATOMIC); -+ if (WARN_ON_ONCE(!gc)) -+ return -ENOMEM; -+ -+ nft_trans_gc_elem_add(gc, rbe_prev); - } - -- rb_erase(&rbe->node, &priv->root); -- atomic_dec(&set->nelems); -+ nft_rbtree_gc_remove(net, set, priv, rbe); -+ gc = nft_trans_gc_queue_sync(gc, GFP_ATOMIC); -+ if (WARN_ON_ONCE(!gc)) -+ return -ENOMEM; -+ -+ nft_trans_gc_elem_add(gc, rbe); - -- nft_set_gc_batch_add(gcb, rbe); -- nft_set_gc_batch_complete(gcb); -+ nft_trans_gc_queue_sync_done(gc); - - return 0; - } -@@ -481,7 +514,6 @@ static void nft_rbtree_activate(const struct net *net, - struct nft_rbtree_elem *rbe = elem->priv; - - nft_set_elem_change_active(net, set, &rbe->ext); -- nft_set_elem_clear_busy(&rbe->ext); - } - - static bool nft_rbtree_flush(const struct net *net, -@@ -489,12 +521,9 @@ static bool nft_rbtree_flush(const struct net *net, - { - struct nft_rbtree_elem *rbe = priv; - -- if (!nft_set_elem_mark_busy(&rbe->ext) || -- !nft_is_active(net, &rbe->ext)) { -- nft_set_elem_change_active(net, set, &rbe->ext); -- return true; -- } -- return false; -+ nft_set_elem_change_active(net, set, &rbe->ext); -+ -+ return true; - } - - static void *nft_rbtree_deactivate(const struct net *net, -@@ -569,26 +598,40 @@ static void nft_rbtree_walk(const struct nft_ctx *ctx, - - static void nft_rbtree_gc(struct work_struct *work) - { -- struct nft_rbtree_elem *rbe, *rbe_end = NULL, *rbe_prev = NULL; -- struct nft_set_gc_batch *gcb = NULL; -+ struct nft_rbtree_elem *rbe, *rbe_end = NULL; -+ struct nftables_pernet *nft_net; - struct nft_rbtree *priv; -+ struct nft_trans_gc *gc; - struct rb_node *node; - struct nft_set *set; -+ unsigned int gc_seq; - struct net *net; -- u8 genmask; - - priv = container_of(work, struct nft_rbtree, gc_work.work); - set = nft_set_container_of(priv); - net = read_pnet(&set->net); -- genmask = nft_genmask_cur(net); -+ nft_net = net_generic(net, nf_tables_net_id); -+ gc_seq = READ_ONCE(nft_net->gc_seq); -+ -+ gc = nft_trans_gc_alloc(set, gc_seq, GFP_KERNEL); -+ if (!gc) -+ goto done; - - write_lock_bh(&priv->lock); - write_seqcount_begin(&priv->count); - for (node = rb_first(&priv->root); node != NULL; node = rb_next(node)) { -+ -+ /* Ruleset has been updated, try later. */ -+ if (READ_ONCE(nft_net->gc_seq) != gc_seq) { -+ nft_trans_gc_destroy(gc); -+ gc = NULL; -+ goto try_later; -+ } -+ - rbe = rb_entry(node, struct nft_rbtree_elem, node); - -- if (!nft_set_elem_active(&rbe->ext, genmask)) -- continue; -+ if (nft_set_elem_is_dead(&rbe->ext)) -+ goto dead_elem; - - /* elements are reversed in the rbtree for historical reasons, - * from highest to lowest value, that is why end element is -@@ -601,40 +644,33 @@ static void nft_rbtree_gc(struct work_struct *work) - if (!nft_set_elem_expired(&rbe->ext)) - continue; - -- if (nft_set_elem_mark_busy(&rbe->ext)) { -- rbe_end = NULL; -+ nft_set_elem_dead(&rbe->ext); -+ -+ if (!rbe_end) - continue; -- } - -- if (rbe_prev) { -- rb_erase(&rbe_prev->node, &priv->root); -- rbe_prev = NULL; -- } -- gcb = nft_set_gc_batch_check(set, gcb, GFP_ATOMIC); -- if (!gcb) -- break; -+ nft_set_elem_dead(&rbe_end->ext); - -- atomic_dec(&set->nelems); -- nft_set_gc_batch_add(gcb, rbe); -- rbe_prev = rbe; -+ gc = nft_trans_gc_queue_async(gc, gc_seq, GFP_ATOMIC); -+ if (!gc) -+ goto try_later; - -- if (rbe_end) { -- atomic_dec(&set->nelems); -- nft_set_gc_batch_add(gcb, rbe_end); -- rb_erase(&rbe_end->node, &priv->root); -- rbe_end = NULL; -- } -- node = rb_next(node); -- if (!node) -- break; -+ nft_trans_gc_elem_add(gc, rbe_end); -+ rbe_end = NULL; -+dead_elem: -+ gc = nft_trans_gc_queue_async(gc, gc_seq, GFP_ATOMIC); -+ if (!gc) -+ goto try_later; -+ -+ nft_trans_gc_elem_add(gc, rbe); - } -- if (rbe_prev) -- rb_erase(&rbe_prev->node, &priv->root); -+try_later: - write_seqcount_end(&priv->count); - write_unlock_bh(&priv->lock); - -- nft_set_gc_batch_complete(gcb); -- -+ if (gc) -+ nft_trans_gc_queue_async_done(gc); -+done: - queue_delayed_work(system_power_efficient_wq, &priv->gc_work, - nft_set_gc_interval(set)); - } --- -2.40.1 - diff -Nru linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-defer-gc-run-if-previous-batch-i.patch linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-defer-gc-run-if-previous-batch-i.patch --- linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-defer-gc-run-if-previous-batch-i.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-defer-gc-run-if-previous-batch-i.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,80 +0,0 @@ -From 39ff40482cf2bb0984686ed1f8d8414da1f0e394 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 22 Sep 2023 19:01:13 +0200 -Subject: netfilter: nf_tables: defer gc run if previous batch is still pending - -From: Florian Westphal - -commit 8e51830e29e12670b4c10df070a4ea4c9593e961 upstream. - -Don't queue more gc work, else we may queue the same elements multiple -times. - -If an element is flagged as dead, this can mean that either the previous -gc request was invalidated/discarded by a transaction or that the previous -request is still pending in the system work queue. - -The latter will happen if the gc interval is set to a very low value, -e.g. 1ms, and system work queue is backlogged. - -The sets refcount is 1 if no previous gc requeusts are queued, so add -a helper for this and skip gc run if old requests are pending. - -Add a helper for this and skip the gc run in this case. - -Fixes: f6c383b8c31a ("netfilter: nf_tables: adapt set backend to use GC transaction API") -Signed-off-by: Florian Westphal -Signed-off-by: Sasha Levin ---- - include/net/netfilter/nf_tables.h | 5 +++++ - net/netfilter/nft_set_hash.c | 3 +++ - net/netfilter/nft_set_rbtree.c | 3 +++ - 3 files changed, 11 insertions(+) - -diff --git a/include/net/netfilter/nf_tables.h b/include/net/netfilter/nf_tables.h -index 9182b583d4297..bbe472c07d07e 100644 ---- a/include/net/netfilter/nf_tables.h -+++ b/include/net/netfilter/nf_tables.h -@@ -479,6 +479,11 @@ static inline void *nft_set_priv(const struct nft_set *set) - return (void *)set->data; - } - -+static inline bool nft_set_gc_is_pending(const struct nft_set *s) -+{ -+ return refcount_read(&s->refs) != 1; -+} -+ - static inline struct nft_set *nft_set_container_of(const void *priv) - { - return (void *)priv - offsetof(struct nft_set, data); -diff --git a/net/netfilter/nft_set_hash.c b/net/netfilter/nft_set_hash.c -index 9cdf348b048a4..68a16ee37b3d0 100644 ---- a/net/netfilter/nft_set_hash.c -+++ b/net/netfilter/nft_set_hash.c -@@ -312,6 +312,9 @@ static void nft_rhash_gc(struct work_struct *work) - nft_net = net_generic(net, nf_tables_net_id); - gc_seq = READ_ONCE(nft_net->gc_seq); - -+ if (nft_set_gc_is_pending(set)) -+ goto done; -+ - gc = nft_trans_gc_alloc(set, gc_seq, GFP_KERNEL); - if (!gc) - goto done; -diff --git a/net/netfilter/nft_set_rbtree.c b/net/netfilter/nft_set_rbtree.c -index ed14849aa47f4..9b0bdd4216152 100644 ---- a/net/netfilter/nft_set_rbtree.c -+++ b/net/netfilter/nft_set_rbtree.c -@@ -613,6 +613,9 @@ static void nft_rbtree_gc(struct work_struct *work) - nft_net = net_generic(net, nf_tables_net_id); - gc_seq = READ_ONCE(nft_net->gc_seq); - -+ if (nft_set_gc_is_pending(set)) -+ goto done; -+ - gc = nft_trans_gc_alloc(set, gc_seq, GFP_KERNEL); - if (!gc) - goto done; --- -2.40.1 - diff -Nru linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-disallow-element-removal-on-anon.patch linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-disallow-element-removal-on-anon.patch --- linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-disallow-element-removal-on-anon.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-disallow-element-removal-on-anon.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,58 +0,0 @@ -From 62a873bb8b917af7af2cbb84f32c30de11b10710 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sun, 10 Sep 2023 19:04:45 +0200 -Subject: netfilter: nf_tables: disallow element removal on anonymous sets - -From: Pablo Neira Ayuso - -[ Upstream commit 23a3bfd4ba7acd36abf52b78605f61b21bdac216 ] - -Anonymous sets need to be populated once at creation and then they are -bound to rule since 938154b93be8 ("netfilter: nf_tables: reject unbound -anonymous set before commit phase"), otherwise transaction reports -EINVAL. - -Userspace does not need to delete elements of anonymous sets that are -not yet bound, reject this with EOPNOTSUPP. - -From flush command path, skip anonymous sets, they are expected to be -bound already. Otherwise, EINVAL is hit at the end of this transaction -for unbound sets. - -Fixes: 96518518cc41 ("netfilter: add nftables") -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Sasha Levin ---- - net/netfilter/nf_tables_api.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c -index 32c97cc87ddc2..52c776b5967ef 100644 ---- a/net/netfilter/nf_tables_api.c -+++ b/net/netfilter/nf_tables_api.c -@@ -1267,8 +1267,7 @@ static int nft_flush_table(struct nft_ctx *ctx) - if (!nft_is_active_next(ctx->net, set)) - continue; - -- if (nft_set_is_anonymous(set) && -- !list_empty(&set->bindings)) -+ if (nft_set_is_anonymous(set)) - continue; - - err = nft_delset(ctx, set); -@@ -5922,8 +5921,10 @@ static int nf_tables_delsetelem(struct net *net, struct sock *nlsk, - if (IS_ERR(set)) - return PTR_ERR(set); - -- if (!list_empty(&set->bindings) && -- (set->flags & (NFT_SET_CONSTANT | NFT_SET_ANONYMOUS))) -+ if (nft_set_is_anonymous(set)) -+ return -EOPNOTSUPP; -+ -+ if (!list_empty(&set->bindings) && (set->flags & NFT_SET_CONSTANT)) - return -EBUSY; - - if (nla[NFTA_SET_ELEM_LIST_ELEMENTS] == NULL) { --- -2.40.1 - diff -Nru linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-don-t-fail-inserts-if-duplicate-.patch linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-don-t-fail-inserts-if-duplicate-.patch --- linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-don-t-fail-inserts-if-duplicate-.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-don-t-fail-inserts-if-duplicate-.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,104 +0,0 @@ -From 266dbf1ff129403ffe607b86c33574cc3ee2508e Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 22 Sep 2023 19:01:08 +0200 -Subject: netfilter: nf_tables: don't fail inserts if duplicate has expired - -From: Florian Westphal - -commit 7845914f45f066497ac75b30c50dbc735e84e884 upstream. - -nftables selftests fail: -run-tests.sh testcases/sets/0044interval_overlap_0 -Expected: 0-2 . 0-3, got: -W: [FAILED] ./testcases/sets/0044interval_overlap_0: got 1 - -Insertion must ignore duplicate but expired entries. - -Moreover, there is a strange asymmetry in nft_pipapo_activate: - -It refetches the current element, whereas the other ->activate callbacks -(bitmap, hash, rhash, rbtree) use elem->priv. -Same for .remove: other set implementations take elem->priv, -nft_pipapo_remove fetches elem->priv, then does a relookup, -remove this. - -I suspect this was the reason for the change that prompted the -removal of the expired check in pipapo_get() in the first place, -but skipping exired elements there makes no sense to me, this helper -is used for normal get requests, insertions (duplicate check) -and deactivate callback. - -In first two cases expired elements must be skipped. - -For ->deactivate(), this gets called for DELSETELEM, so it -seems to me that expired elements should be skipped as well, i.e. -delete request should fail with -ENOENT error. - -Fixes: 24138933b97b ("netfilter: nf_tables: don't skip expired elements during walk") -Signed-off-by: Florian Westphal -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Sasha Levin ---- - net/netfilter/nft_set_pipapo.c | 25 +++++-------------------- - 1 file changed, 5 insertions(+), 20 deletions(-) - -diff --git a/net/netfilter/nft_set_pipapo.c b/net/netfilter/nft_set_pipapo.c -index 63d0723950d32..80440ac5d44c6 100644 ---- a/net/netfilter/nft_set_pipapo.c -+++ b/net/netfilter/nft_set_pipapo.c -@@ -566,6 +566,8 @@ static struct nft_pipapo_elem *pipapo_get(const struct net *net, - goto out; - - if (last) { -+ if (nft_set_elem_expired(&f->mt[b].e->ext)) -+ goto next_match; - if ((genmask && - !nft_set_elem_active(&f->mt[b].e->ext, genmask))) - goto next_match; -@@ -600,17 +602,8 @@ static struct nft_pipapo_elem *pipapo_get(const struct net *net, - static void *nft_pipapo_get(const struct net *net, const struct nft_set *set, - const struct nft_set_elem *elem, unsigned int flags) - { -- struct nft_pipapo_elem *ret; -- -- ret = pipapo_get(net, set, (const u8 *)elem->key.val.data, -- nft_genmask_cur(net)); -- if (IS_ERR(ret)) -- return ret; -- -- if (nft_set_elem_expired(&ret->ext)) -- return ERR_PTR(-ENOENT); -- -- return ret; -+ return pipapo_get(net, set, (const u8 *)elem->key.val.data, -+ nft_genmask_cur(net)); - } - - /** -@@ -1737,11 +1730,7 @@ static void nft_pipapo_activate(const struct net *net, - const struct nft_set *set, - const struct nft_set_elem *elem) - { -- struct nft_pipapo_elem *e; -- -- e = pipapo_get(net, set, (const u8 *)elem->key.val.data, 0); -- if (IS_ERR(e)) -- return; -+ struct nft_pipapo_elem *e = elem->priv; - - nft_set_elem_change_active(net, set, &e->ext); - } -@@ -1955,10 +1944,6 @@ static void nft_pipapo_remove(const struct net *net, const struct nft_set *set, - - data = (const u8 *)nft_set_ext_key(&e->ext); - -- e = pipapo_get(net, set, data, 0); -- if (IS_ERR(e)) -- return; -- - while ((rules_f0 = pipapo_rules_same_key(m->f, first_rule))) { - union nft_pipapo_map_bucket rulemap[NFT_PIPAPO_MAX_FIELDS]; - const u8 *match_start, *match_end; --- -2.40.1 - diff -Nru linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-don-t-skip-expired-elements-duri.patch linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-don-t-skip-expired-elements-duri.patch --- linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-don-t-skip-expired-elements-duri.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-don-t-skip-expired-elements-duri.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,140 +0,0 @@ -From 455cb7d5c164d5aa2acaf9b9fc6153ea1017afda Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 22 Sep 2023 19:01:03 +0200 -Subject: netfilter: nf_tables: don't skip expired elements during walk - -From: Florian Westphal - -commit 24138933b97b055d486e8064b4a1721702442a9b upstream. - -There is an asymmetry between commit/abort and preparation phase if the -following conditions are met: - -1. set is a verdict map ("1.2.3.4 : jump foo") -2. timeouts are enabled - -In this case, following sequence is problematic: - -1. element E in set S refers to chain C -2. userspace requests removal of set S -3. kernel does a set walk to decrement chain->use count for all elements - from preparation phase -4. kernel does another set walk to remove elements from the commit phase - (or another walk to do a chain->use increment for all elements from - abort phase) - -If E has already expired in 1), it will be ignored during list walk, so its use count -won't have been changed. - -Then, when set is culled, ->destroy callback will zap the element via -nf_tables_set_elem_destroy(), but this function is only safe for -elements that have been deactivated earlier from the preparation phase: -lack of earlier deactivate removes the element but leaks the chain use -count, which results in a WARN splat when the chain gets removed later, -plus a leak of the nft_chain structure. - -Update pipapo_get() not to skip expired elements, otherwise flush -command reports bogus ENOENT errors. - -Fixes: 3c4287f62044 ("nf_tables: Add set type for arbitrary concatenation of ranges") -Fixes: 8d8540c4f5e0 ("netfilter: nft_set_rbtree: add timeout support") -Fixes: 9d0982927e79 ("netfilter: nft_hash: add support for timeouts") -Signed-off-by: Florian Westphal -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Sasha Levin ---- - net/netfilter/nf_tables_api.c | 4 ++++ - net/netfilter/nft_set_hash.c | 2 -- - net/netfilter/nft_set_pipapo.c | 18 ++++++++++++------ - net/netfilter/nft_set_rbtree.c | 2 -- - 4 files changed, 16 insertions(+), 10 deletions(-) - -diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c -index 430dcd0f6c3b2..5eef671578a25 100644 ---- a/net/netfilter/nf_tables_api.c -+++ b/net/netfilter/nf_tables_api.c -@@ -4929,8 +4929,12 @@ static int nf_tables_dump_setelem(const struct nft_ctx *ctx, - const struct nft_set_iter *iter, - struct nft_set_elem *elem) - { -+ const struct nft_set_ext *ext = nft_set_elem_ext(set, elem->priv); - struct nft_set_dump_args *args; - -+ if (nft_set_elem_expired(ext)) -+ return 0; -+ - args = container_of(iter, struct nft_set_dump_args, iter); - return nf_tables_fill_setelem(args->skb, set, elem); - } -diff --git a/net/netfilter/nft_set_hash.c b/net/netfilter/nft_set_hash.c -index 51d3e6f0934a9..ea7bd8549bea8 100644 ---- a/net/netfilter/nft_set_hash.c -+++ b/net/netfilter/nft_set_hash.c -@@ -277,8 +277,6 @@ static void nft_rhash_walk(const struct nft_ctx *ctx, struct nft_set *set, - - if (iter->count < iter->skip) - goto cont; -- if (nft_set_elem_expired(&he->ext)) -- goto cont; - if (!nft_set_elem_active(&he->ext, iter->genmask)) - goto cont; - -diff --git a/net/netfilter/nft_set_pipapo.c b/net/netfilter/nft_set_pipapo.c -index ce6c07ea7244b..89fa1fedadf7c 100644 ---- a/net/netfilter/nft_set_pipapo.c -+++ b/net/netfilter/nft_set_pipapo.c -@@ -566,8 +566,7 @@ static struct nft_pipapo_elem *pipapo_get(const struct net *net, - goto out; - - if (last) { -- if (nft_set_elem_expired(&f->mt[b].e->ext) || -- (genmask && -+ if ((genmask && - !nft_set_elem_active(&f->mt[b].e->ext, genmask))) - goto next_match; - -@@ -601,8 +600,17 @@ static struct nft_pipapo_elem *pipapo_get(const struct net *net, - static void *nft_pipapo_get(const struct net *net, const struct nft_set *set, - const struct nft_set_elem *elem, unsigned int flags) - { -- return pipapo_get(net, set, (const u8 *)elem->key.val.data, -- nft_genmask_cur(net)); -+ struct nft_pipapo_elem *ret; -+ -+ ret = pipapo_get(net, set, (const u8 *)elem->key.val.data, -+ nft_genmask_cur(net)); -+ if (IS_ERR(ret)) -+ return ret; -+ -+ if (nft_set_elem_expired(&ret->ext)) -+ return ERR_PTR(-ENOENT); -+ -+ return ret; - } - - /** -@@ -2009,8 +2017,6 @@ static void nft_pipapo_walk(const struct nft_ctx *ctx, struct nft_set *set, - goto cont; - - e = f->mt[r].e; -- if (nft_set_elem_expired(&e->ext)) -- goto cont; - - elem.priv = e; - -diff --git a/net/netfilter/nft_set_rbtree.c b/net/netfilter/nft_set_rbtree.c -index eae760adae4d5..2aa3776c5fbb7 100644 ---- a/net/netfilter/nft_set_rbtree.c -+++ b/net/netfilter/nft_set_rbtree.c -@@ -551,8 +551,6 @@ static void nft_rbtree_walk(const struct nft_ctx *ctx, - - if (iter->count < iter->skip) - goto cont; -- if (nft_set_elem_expired(&rbe->ext)) -- goto cont; - if (!nft_set_elem_active(&rbe->ext, iter->genmask)) - goto cont; - --- -2.40.1 - diff -Nru linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-double-hook-unregistration-in-ne.patch linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-double-hook-unregistration-in-ne.patch --- linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-double-hook-unregistration-in-ne.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-double-hook-unregistration-in-ne.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,145 +0,0 @@ -From a44991add96b467ad61a4b2c6434b527d7f34a22 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 27 Sep 2023 17:30:07 +0200 -Subject: netfilter: nf_tables: double hook unregistration in netns path - -From: Pablo Neira Ayuso - -commit f9a43007d3f7ba76d5e7f9421094f00f2ef202f8 upstream. - -[ This backport includes ab5e5c062f67 ("netfilter: nf_tables: use - kfree_rcu(ptr, rcu) to release hooks in clean_net path") ] - -__nft_release_hooks() is called from pre_netns exit path which -unregisters the hooks, then the NETDEV_UNREGISTER event is triggered -which unregisters the hooks again. - -[ 565.221461] WARNING: CPU: 18 PID: 193 at net/netfilter/core.c:495 __nf_unregister_net_hook+0x247/0x270 -[...] -[ 565.246890] CPU: 18 PID: 193 Comm: kworker/u64:1 Tainted: G E 5.18.0-rc7+ #27 -[ 565.253682] Workqueue: netns cleanup_net -[ 565.257059] RIP: 0010:__nf_unregister_net_hook+0x247/0x270 -[...] -[ 565.297120] Call Trace: -[ 565.300900] -[ 565.304683] nf_tables_flowtable_event+0x16a/0x220 [nf_tables] -[ 565.308518] raw_notifier_call_chain+0x63/0x80 -[ 565.312386] unregister_netdevice_many+0x54f/0xb50 - -Unregister and destroy netdev hook from netns pre_exit via kfree_rcu -so the NETDEV_UNREGISTER path see unregistered hooks. - -Fixes: 767d1216bff8 ("netfilter: nftables: fix possible UAF over chains from packet path in netns") -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Sasha Levin ---- - net/netfilter/nf_tables_api.c | 54 ++++++++++++++++++++++++++--------- - 1 file changed, 41 insertions(+), 13 deletions(-) - -diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c -index efbcf85cd6b7a..16e2500e8590b 100644 ---- a/net/netfilter/nf_tables_api.c -+++ b/net/netfilter/nf_tables_api.c -@@ -303,12 +303,18 @@ static int nft_netdev_register_hooks(struct net *net, - } - - static void nft_netdev_unregister_hooks(struct net *net, -- struct list_head *hook_list) -+ struct list_head *hook_list, -+ bool release_netdev) - { -- struct nft_hook *hook; -+ struct nft_hook *hook, *next; - -- list_for_each_entry(hook, hook_list, list) -+ list_for_each_entry_safe(hook, next, hook_list, list) { - nf_unregister_net_hook(net, &hook->ops); -+ if (release_netdev) { -+ list_del(&hook->list); -+ kfree_rcu(hook, rcu); -+ } -+ } - } - - static int nf_tables_register_hook(struct net *net, -@@ -334,9 +340,10 @@ static int nf_tables_register_hook(struct net *net, - return nf_register_net_hook(net, &basechain->ops); - } - --static void nf_tables_unregister_hook(struct net *net, -- const struct nft_table *table, -- struct nft_chain *chain) -+static void __nf_tables_unregister_hook(struct net *net, -+ const struct nft_table *table, -+ struct nft_chain *chain, -+ bool release_netdev) - { - struct nft_base_chain *basechain; - const struct nf_hook_ops *ops; -@@ -351,11 +358,19 @@ static void nf_tables_unregister_hook(struct net *net, - return basechain->type->ops_unregister(net, ops); - - if (nft_base_chain_netdev(table->family, basechain->ops.hooknum)) -- nft_netdev_unregister_hooks(net, &basechain->hook_list); -+ nft_netdev_unregister_hooks(net, &basechain->hook_list, -+ release_netdev); - else - nf_unregister_net_hook(net, &basechain->ops); - } - -+static void nf_tables_unregister_hook(struct net *net, -+ const struct nft_table *table, -+ struct nft_chain *chain) -+{ -+ return __nf_tables_unregister_hook(net, table, chain, false); -+} -+ - static void nft_trans_commit_list_add_tail(struct net *net, struct nft_trans *trans) - { - struct nftables_pernet *nft_net; -@@ -6822,13 +6837,25 @@ static void nft_unregister_flowtable_hook(struct net *net, - FLOW_BLOCK_UNBIND); - } - --static void nft_unregister_flowtable_net_hooks(struct net *net, -- struct list_head *hook_list) -+static void __nft_unregister_flowtable_net_hooks(struct net *net, -+ struct list_head *hook_list, -+ bool release_netdev) - { -- struct nft_hook *hook; -+ struct nft_hook *hook, *next; - -- list_for_each_entry(hook, hook_list, list) -+ list_for_each_entry_safe(hook, next, hook_list, list) { - nf_unregister_net_hook(net, &hook->ops); -+ if (release_netdev) { -+ list_del(&hook->list); -+ kfree_rcu(hook, rcu); -+ } -+ } -+} -+ -+static void nft_unregister_flowtable_net_hooks(struct net *net, -+ struct list_head *hook_list) -+{ -+ __nft_unregister_flowtable_net_hooks(net, hook_list, false); - } - - static int nft_register_flowtable_net_hooks(struct net *net, -@@ -9472,9 +9499,10 @@ static void __nft_release_hook(struct net *net, struct nft_table *table) - struct nft_chain *chain; - - list_for_each_entry(chain, &table->chains, list) -- nf_tables_unregister_hook(net, table, chain); -+ __nf_tables_unregister_hook(net, table, chain, true); - list_for_each_entry(flowtable, &table->flowtables, list) -- nft_unregister_flowtable_net_hooks(net, &flowtable->hook_list); -+ __nft_unregister_flowtable_net_hooks(net, &flowtable->hook_list, -+ true); - } - - static void __nft_release_hooks(struct net *net) --- -2.40.1 - diff -Nru linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-fix-gc-transaction-races-with-ne.patch linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-fix-gc-transaction-races-with-ne.patch --- linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-fix-gc-transaction-races-with-ne.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-fix-gc-transaction-races-with-ne.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,91 +0,0 @@ -From 81427877dbac5be0b4539cf8df85e618ee668843 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 22 Sep 2023 19:01:09 +0200 -Subject: netfilter: nf_tables: fix GC transaction races with netns and netlink - event exit path - -From: Pablo Neira Ayuso - -commit 6a33d8b73dfac0a41f3877894b38082bd0c9a5bc upstream. - -Netlink event path is missing a synchronization point with GC -transactions. Add GC sequence number update to netns release path and -netlink event path, any GC transaction losing race will be discarded. - -Fixes: 5f68718b34a5 ("netfilter: nf_tables: GC transaction API to avoid race with control plane") -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Florian Westphal -Signed-off-by: Sasha Levin ---- - net/netfilter/nf_tables_api.c | 29 +++++++++++++++++++++++++---- - 1 file changed, 25 insertions(+), 4 deletions(-) - -diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c -index 206755eb35f3a..43da2f0a52623 100644 ---- a/net/netfilter/nf_tables_api.c -+++ b/net/netfilter/nf_tables_api.c -@@ -8320,6 +8320,22 @@ static void nft_set_commit_update(struct list_head *set_update_list) - } - } - -+static unsigned int nft_gc_seq_begin(struct nftables_pernet *nft_net) -+{ -+ unsigned int gc_seq; -+ -+ /* Bump gc counter, it becomes odd, this is the busy mark. */ -+ gc_seq = READ_ONCE(nft_net->gc_seq); -+ WRITE_ONCE(nft_net->gc_seq, ++gc_seq); -+ -+ return gc_seq; -+} -+ -+static void nft_gc_seq_end(struct nftables_pernet *nft_net, unsigned int gc_seq) -+{ -+ WRITE_ONCE(nft_net->gc_seq, ++gc_seq); -+} -+ - static int nf_tables_commit(struct net *net, struct sk_buff *skb) - { - struct nftables_pernet *nft_net = net_generic(net, nf_tables_net_id); -@@ -8401,9 +8417,7 @@ static int nf_tables_commit(struct net *net, struct sk_buff *skb) - while (++nft_net->base_seq == 0) - ; - -- /* Bump gc counter, it becomes odd, this is the busy mark. */ -- gc_seq = READ_ONCE(nft_net->gc_seq); -- WRITE_ONCE(nft_net->gc_seq, ++gc_seq); -+ gc_seq = nft_gc_seq_begin(nft_net); - - /* step 3. Start new generation, rules_gen_X now in use. */ - net->nft.gencursor = nft_gencursor_next(net); -@@ -8583,7 +8597,7 @@ static int nf_tables_commit(struct net *net, struct sk_buff *skb) - nf_tables_gen_notify(net, skb, NFT_MSG_NEWGEN); - nf_tables_commit_audit_log(&adl, nft_net->base_seq); - -- WRITE_ONCE(nft_net->gc_seq, ++gc_seq); -+ nft_gc_seq_end(nft_net, gc_seq); - nf_tables_commit_release(net); - - return 0; -@@ -9538,11 +9552,18 @@ static void __net_exit nf_tables_pre_exit_net(struct net *net) - static void __net_exit nf_tables_exit_net(struct net *net) - { - struct nftables_pernet *nft_net = net_generic(net, nf_tables_net_id); -+ unsigned int gc_seq; - - mutex_lock(&nft_net->commit_mutex); -+ -+ gc_seq = nft_gc_seq_begin(nft_net); -+ - if (!list_empty(&nft_net->commit_list)) - __nf_tables_abort(net, NFNL_ABORT_NONE); - __nft_release_tables(net); -+ -+ nft_gc_seq_end(nft_net, gc_seq); -+ - mutex_unlock(&nft_net->commit_mutex); - WARN_ON_ONCE(!list_empty(&nft_net->tables)); - WARN_ON_ONCE(!list_empty(&nft_net->module_list)); --- -2.40.1 - diff -Nru linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-fix-memleak-when-more-than-255-e.patch linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-fix-memleak-when-more-than-255-e.patch --- linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-fix-memleak-when-more-than-255-e.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-fix-memleak-when-more-than-255-e.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,87 +0,0 @@ -From 6fce37d2dc639bc529817dd22c8a96a0850f183f Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 22 Sep 2023 19:01:18 +0200 -Subject: netfilter: nf_tables: fix memleak when more than 255 elements expired - -From: Florian Westphal - -commit cf5000a7787cbc10341091d37245a42c119d26c5 upstream. - -When more than 255 elements expired we're supposed to switch to a new gc -container structure. - -This never happens: u8 type will wrap before reaching the boundary -and nft_trans_gc_space() always returns true. - -This means we recycle the initial gc container structure and -lose track of the elements that came before. - -While at it, don't deref 'gc' after we've passed it to call_rcu. - -Fixes: 5f68718b34a5 ("netfilter: nf_tables: GC transaction API to avoid race with control plane") -Reported-by: Pablo Neira Ayuso -Signed-off-by: Florian Westphal -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Sasha Levin ---- - include/net/netfilter/nf_tables.h | 2 +- - net/netfilter/nf_tables_api.c | 10 ++++++++-- - 2 files changed, 9 insertions(+), 3 deletions(-) - -diff --git a/include/net/netfilter/nf_tables.h b/include/net/netfilter/nf_tables.h -index bbe472c07d07e..5619642b9ad47 100644 ---- a/include/net/netfilter/nf_tables.h -+++ b/include/net/netfilter/nf_tables.h -@@ -1525,7 +1525,7 @@ struct nft_trans_gc { - struct net *net; - struct nft_set *set; - u32 seq; -- u8 count; -+ u16 count; - void *priv[NFT_TRANS_GC_BATCHCOUNT]; - struct rcu_head rcu; - }; -diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c -index 9fc302a6836ba..32c97cc87ddc2 100644 ---- a/net/netfilter/nf_tables_api.c -+++ b/net/netfilter/nf_tables_api.c -@@ -8124,12 +8124,15 @@ static int nft_trans_gc_space(struct nft_trans_gc *trans) - struct nft_trans_gc *nft_trans_gc_queue_async(struct nft_trans_gc *gc, - unsigned int gc_seq, gfp_t gfp) - { -+ struct nft_set *set; -+ - if (nft_trans_gc_space(gc)) - return gc; - -+ set = gc->set; - nft_trans_gc_queue_work(gc); - -- return nft_trans_gc_alloc(gc->set, gc_seq, gfp); -+ return nft_trans_gc_alloc(set, gc_seq, gfp); - } - - void nft_trans_gc_queue_async_done(struct nft_trans_gc *trans) -@@ -8144,15 +8147,18 @@ void nft_trans_gc_queue_async_done(struct nft_trans_gc *trans) - - struct nft_trans_gc *nft_trans_gc_queue_sync(struct nft_trans_gc *gc, gfp_t gfp) - { -+ struct nft_set *set; -+ - if (WARN_ON_ONCE(!lockdep_commit_lock_is_held(gc->net))) - return NULL; - - if (nft_trans_gc_space(gc)) - return gc; - -+ set = gc->set; - call_rcu(&gc->rcu, nft_trans_gc_trans_free); - -- return nft_trans_gc_alloc(gc->set, 0, gfp); -+ return nft_trans_gc_alloc(set, 0, gfp); - } - - void nft_trans_gc_queue_sync_done(struct nft_trans_gc *trans) --- -2.40.1 - diff -Nru linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-gc-transaction-api-to-avoid-race.patch linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-gc-transaction-api-to-avoid-race.patch --- linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-gc-transaction-api-to-avoid-race.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-gc-transaction-api-to-avoid-race.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,528 +0,0 @@ -From 38c4f00adaa96be8c8b8ccfc1bc593f7350a4706 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 22 Sep 2023 19:01:04 +0200 -Subject: netfilter: nf_tables: GC transaction API to avoid race with control - plane - -From: Pablo Neira Ayuso - -commit 5f68718b34a531a556f2f50300ead2862278da26 upstream. - -The set types rhashtable and rbtree use a GC worker to reclaim memory. -From system work queue, in periodic intervals, a scan of the table is -done. - -The major caveat here is that the nft transaction mutex is not held. -This causes a race between control plane and GC when they attempt to -delete the same element. - -We cannot grab the netlink mutex from the work queue, because the -control plane has to wait for the GC work queue in case the set is to be -removed, so we get following deadlock: - - cpu 1 cpu2 - GC work transaction comes in , lock nft mutex - `acquire nft mutex // BLOCKS - transaction asks to remove the set - set destruction calls cancel_work_sync() - -cancel_work_sync will now block forever, because it is waiting for the -mutex the caller already owns. - -This patch adds a new API that deals with garbage collection in two -steps: - -1) Lockless GC of expired elements sets on the NFT_SET_ELEM_DEAD_BIT - so they are not visible via lookup. Annotate current GC sequence in - the GC transaction. Enqueue GC transaction work as soon as it is - full. If ruleset is updated, then GC transaction is aborted and - retried later. - -2) GC work grabs the mutex. If GC sequence has changed then this GC - transaction lost race with control plane, abort it as it contains - stale references to objects and let GC try again later. If the - ruleset is intact, then this GC transaction deactivates and removes - the elements and it uses call_rcu() to destroy elements. - -Note that no elements are removed from GC lockless path, the _DEAD bit -is set and pointers are collected. GC catchall does not remove the -elements anymore too. There is a new set->dead flag that is set on to -abort the GC transaction to deal with set->ops->destroy() path which -removes the remaining elements in the set from commit_release, where no -mutex is held. - -To deal with GC when mutex is held, which allows safe deactivate and -removal, add sync GC API which releases the set element object via -call_rcu(). This is used by rbtree and pipapo backends which also -perform garbage collection from control plane path. - -Since element removal from sets can happen from control plane and -element garbage collection/timeout, it is necessary to keep the set -structure alive until all elements have been deactivated and destroyed. - -We cannot do a cancel_work_sync or flush_work in nft_set_destroy because -its called with the transaction mutex held, but the aforementioned async -work queue might be blocked on the very mutex that nft_set_destroy() -callchain is sitting on. - -This gives us the choice of ABBA deadlock or UaF. - -To avoid both, add set->refs refcount_t member. The GC API can then -increment the set refcount and release it once the elements have been -free'd. - -Set backends are adapted to use the GC transaction API in a follow up -patch entitled: - - ("netfilter: nf_tables: use gc transaction API in set backends") - -This is joint work with Florian Westphal. - -Fixes: cfed7e1b1f8e ("netfilter: nf_tables: add set garbage collection helpers") -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Sasha Levin ---- - include/net/netfilter/nf_tables.h | 61 ++++++++- - net/netfilter/nf_tables_api.c | 216 ++++++++++++++++++++++++++++-- - 2 files changed, 267 insertions(+), 10 deletions(-) - -diff --git a/include/net/netfilter/nf_tables.h b/include/net/netfilter/nf_tables.h -index a3068ed0f3169..39a0b37e8a1a2 100644 ---- a/include/net/netfilter/nf_tables.h -+++ b/include/net/netfilter/nf_tables.h -@@ -407,6 +407,7 @@ struct nft_set_type { - * - * @list: table set list node - * @bindings: list of set bindings -+ * @refs: internal refcounting for async set destruction - * @table: table this set belongs to - * @net: netnamespace this set belongs to - * @name: name of the set -@@ -436,6 +437,7 @@ struct nft_set_type { - struct nft_set { - struct list_head list; - struct list_head bindings; -+ refcount_t refs; - struct nft_table *table; - possible_net_t net; - char *name; -@@ -458,7 +460,8 @@ struct nft_set { - struct list_head pending_update; - /* runtime data below here */ - const struct nft_set_ops *ops ____cacheline_aligned; -- u16 flags:14, -+ u16 flags:13, -+ dead:1, - genmask:2; - u8 klen; - u8 dlen; -@@ -1450,6 +1453,32 @@ static inline void nft_set_elem_clear_busy(struct nft_set_ext *ext) - clear_bit(NFT_SET_ELEM_BUSY_BIT, word); - } - -+#define NFT_SET_ELEM_DEAD_MASK (1 << 3) -+ -+#if defined(__LITTLE_ENDIAN_BITFIELD) -+#define NFT_SET_ELEM_DEAD_BIT 3 -+#elif defined(__BIG_ENDIAN_BITFIELD) -+#define NFT_SET_ELEM_DEAD_BIT (BITS_PER_LONG - BITS_PER_BYTE + 3) -+#else -+#error -+#endif -+ -+static inline void nft_set_elem_dead(struct nft_set_ext *ext) -+{ -+ unsigned long *word = (unsigned long *)ext; -+ -+ BUILD_BUG_ON(offsetof(struct nft_set_ext, genmask) != 0); -+ set_bit(NFT_SET_ELEM_DEAD_BIT, word); -+} -+ -+static inline int nft_set_elem_is_dead(const struct nft_set_ext *ext) -+{ -+ unsigned long *word = (unsigned long *)ext; -+ -+ BUILD_BUG_ON(offsetof(struct nft_set_ext, genmask) != 0); -+ return test_bit(NFT_SET_ELEM_DEAD_BIT, word); -+} -+ - /** - * struct nft_trans - nf_tables object update in transaction - * -@@ -1575,6 +1604,35 @@ struct nft_trans_flowtable { - #define nft_trans_flowtable_flags(trans) \ - (((struct nft_trans_flowtable *)trans->data)->flags) - -+#define NFT_TRANS_GC_BATCHCOUNT 256 -+ -+struct nft_trans_gc { -+ struct list_head list; -+ struct net *net; -+ struct nft_set *set; -+ u32 seq; -+ u8 count; -+ void *priv[NFT_TRANS_GC_BATCHCOUNT]; -+ struct rcu_head rcu; -+}; -+ -+struct nft_trans_gc *nft_trans_gc_alloc(struct nft_set *set, -+ unsigned int gc_seq, gfp_t gfp); -+void nft_trans_gc_destroy(struct nft_trans_gc *trans); -+ -+struct nft_trans_gc *nft_trans_gc_queue_async(struct nft_trans_gc *gc, -+ unsigned int gc_seq, gfp_t gfp); -+void nft_trans_gc_queue_async_done(struct nft_trans_gc *gc); -+ -+struct nft_trans_gc *nft_trans_gc_queue_sync(struct nft_trans_gc *gc, gfp_t gfp); -+void nft_trans_gc_queue_sync_done(struct nft_trans_gc *trans); -+ -+void nft_trans_gc_elem_add(struct nft_trans_gc *gc, void *priv); -+ -+void nft_setelem_data_deactivate(const struct net *net, -+ const struct nft_set *set, -+ struct nft_set_elem *elem); -+ - int __init nft_chain_filter_init(void); - void nft_chain_filter_fini(void); - -@@ -1595,6 +1653,7 @@ struct nftables_pernet { - struct mutex commit_mutex; - unsigned int base_seq; - u8 validate_state; -+ unsigned int gc_seq; - }; - - #endif /* _NET_NF_TABLES_H */ -diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c -index 5eef671578a25..1f06dd065d75e 100644 ---- a/net/netfilter/nf_tables_api.c -+++ b/net/netfilter/nf_tables_api.c -@@ -32,7 +32,9 @@ static LIST_HEAD(nf_tables_expressions); - static LIST_HEAD(nf_tables_objects); - static LIST_HEAD(nf_tables_flowtables); - static LIST_HEAD(nf_tables_destroy_list); -+static LIST_HEAD(nf_tables_gc_list); - static DEFINE_SPINLOCK(nf_tables_destroy_list_lock); -+static DEFINE_SPINLOCK(nf_tables_gc_list_lock); - static u64 table_handle; - - enum { -@@ -124,6 +126,9 @@ static void nft_validate_state_update(struct net *net, u8 new_validate_state) - static void nf_tables_trans_destroy_work(struct work_struct *w); - static DECLARE_WORK(trans_destroy_work, nf_tables_trans_destroy_work); - -+static void nft_trans_gc_work(struct work_struct *work); -+static DECLARE_WORK(trans_gc_work, nft_trans_gc_work); -+ - static void nft_ctx_init(struct nft_ctx *ctx, - struct net *net, - const struct sk_buff *skb, -@@ -559,10 +564,6 @@ static int nft_trans_set_add(const struct nft_ctx *ctx, int msg_type, - return 0; - } - --static void nft_setelem_data_deactivate(const struct net *net, -- const struct nft_set *set, -- struct nft_set_elem *elem); -- - static int nft_mapelem_deactivate(const struct nft_ctx *ctx, - struct nft_set *set, - const struct nft_set_iter *iter, -@@ -4474,6 +4475,7 @@ static int nf_tables_newset(struct net *net, struct sock *nlsk, - } - - INIT_LIST_HEAD(&set->bindings); -+ refcount_set(&set->refs, 1); - set->table = table; - write_pnet(&set->net, net); - set->ops = ops; -@@ -4534,6 +4536,14 @@ static int nf_tables_newset(struct net *net, struct sock *nlsk, - return err; - } - -+static void nft_set_put(struct nft_set *set) -+{ -+ if (refcount_dec_and_test(&set->refs)) { -+ kfree(set->name); -+ kvfree(set); -+ } -+} -+ - static void nft_set_destroy(const struct nft_ctx *ctx, struct nft_set *set) - { - if (WARN_ON(set->use > 0)) -@@ -4543,8 +4553,7 @@ static void nft_set_destroy(const struct nft_ctx *ctx, struct nft_set *set) - nft_expr_destroy(ctx, set->expr); - - set->ops->destroy(ctx, set); -- kfree(set->name); -- kvfree(set); -+ nft_set_put(set); - } - - static int nf_tables_delset(struct net *net, struct sock *nlsk, -@@ -5768,9 +5777,9 @@ static void nft_setelem_data_activate(const struct net *net, - nft_use_inc_restore(&(*nft_set_ext_obj(ext))->use); - } - --static void nft_setelem_data_deactivate(const struct net *net, -- const struct nft_set *set, -- struct nft_set_elem *elem) -+void nft_setelem_data_deactivate(const struct net *net, -+ const struct nft_set *set, -+ struct nft_set_elem *elem) - { - const struct nft_set_ext *ext = nft_set_elem_ext(set, elem->priv); - -@@ -8002,6 +8011,179 @@ void nft_chain_del(struct nft_chain *chain) - list_del_rcu(&chain->list); - } - -+static void nft_trans_gc_setelem_remove(struct nft_ctx *ctx, -+ struct nft_trans_gc *trans) -+{ -+ void **priv = trans->priv; -+ unsigned int i; -+ -+ for (i = 0; i < trans->count; i++) { -+ struct nft_set_elem elem = { -+ .priv = priv[i], -+ }; -+ -+ nft_setelem_data_deactivate(ctx->net, trans->set, &elem); -+ trans->set->ops->remove(trans->net, trans->set, &elem); -+ } -+} -+ -+void nft_trans_gc_destroy(struct nft_trans_gc *trans) -+{ -+ nft_set_put(trans->set); -+ put_net(trans->net); -+ kfree(trans); -+} -+ -+static void nft_trans_gc_trans_free(struct rcu_head *rcu) -+{ -+ struct nft_set_elem elem = {}; -+ struct nft_trans_gc *trans; -+ struct nft_ctx ctx = {}; -+ unsigned int i; -+ -+ trans = container_of(rcu, struct nft_trans_gc, rcu); -+ ctx.net = read_pnet(&trans->set->net); -+ -+ for (i = 0; i < trans->count; i++) { -+ elem.priv = trans->priv[i]; -+ atomic_dec(&trans->set->nelems); -+ -+ nf_tables_set_elem_destroy(&ctx, trans->set, elem.priv); -+ } -+ -+ nft_trans_gc_destroy(trans); -+} -+ -+static bool nft_trans_gc_work_done(struct nft_trans_gc *trans) -+{ -+ struct nftables_pernet *nft_net; -+ struct nft_ctx ctx = {}; -+ -+ nft_net = net_generic(trans->net, nf_tables_net_id); -+ -+ mutex_lock(&nft_net->commit_mutex); -+ -+ /* Check for race with transaction, otherwise this batch refers to -+ * stale objects that might not be there anymore. Skip transaction if -+ * set has been destroyed from control plane transaction in case gc -+ * worker loses race. -+ */ -+ if (READ_ONCE(nft_net->gc_seq) != trans->seq || trans->set->dead) { -+ mutex_unlock(&nft_net->commit_mutex); -+ return false; -+ } -+ -+ ctx.net = trans->net; -+ ctx.table = trans->set->table; -+ -+ nft_trans_gc_setelem_remove(&ctx, trans); -+ mutex_unlock(&nft_net->commit_mutex); -+ -+ return true; -+} -+ -+static void nft_trans_gc_work(struct work_struct *work) -+{ -+ struct nft_trans_gc *trans, *next; -+ LIST_HEAD(trans_gc_list); -+ -+ spin_lock(&nf_tables_destroy_list_lock); -+ list_splice_init(&nf_tables_gc_list, &trans_gc_list); -+ spin_unlock(&nf_tables_destroy_list_lock); -+ -+ list_for_each_entry_safe(trans, next, &trans_gc_list, list) { -+ list_del(&trans->list); -+ if (!nft_trans_gc_work_done(trans)) { -+ nft_trans_gc_destroy(trans); -+ continue; -+ } -+ call_rcu(&trans->rcu, nft_trans_gc_trans_free); -+ } -+} -+ -+struct nft_trans_gc *nft_trans_gc_alloc(struct nft_set *set, -+ unsigned int gc_seq, gfp_t gfp) -+{ -+ struct net *net = read_pnet(&set->net); -+ struct nft_trans_gc *trans; -+ -+ trans = kzalloc(sizeof(*trans), gfp); -+ if (!trans) -+ return NULL; -+ -+ refcount_inc(&set->refs); -+ trans->set = set; -+ trans->net = get_net(net); -+ trans->seq = gc_seq; -+ -+ return trans; -+} -+ -+void nft_trans_gc_elem_add(struct nft_trans_gc *trans, void *priv) -+{ -+ trans->priv[trans->count++] = priv; -+} -+ -+static void nft_trans_gc_queue_work(struct nft_trans_gc *trans) -+{ -+ spin_lock(&nf_tables_gc_list_lock); -+ list_add_tail(&trans->list, &nf_tables_gc_list); -+ spin_unlock(&nf_tables_gc_list_lock); -+ -+ schedule_work(&trans_gc_work); -+} -+ -+static int nft_trans_gc_space(struct nft_trans_gc *trans) -+{ -+ return NFT_TRANS_GC_BATCHCOUNT - trans->count; -+} -+ -+struct nft_trans_gc *nft_trans_gc_queue_async(struct nft_trans_gc *gc, -+ unsigned int gc_seq, gfp_t gfp) -+{ -+ if (nft_trans_gc_space(gc)) -+ return gc; -+ -+ nft_trans_gc_queue_work(gc); -+ -+ return nft_trans_gc_alloc(gc->set, gc_seq, gfp); -+} -+ -+void nft_trans_gc_queue_async_done(struct nft_trans_gc *trans) -+{ -+ if (trans->count == 0) { -+ nft_trans_gc_destroy(trans); -+ return; -+ } -+ -+ nft_trans_gc_queue_work(trans); -+} -+ -+struct nft_trans_gc *nft_trans_gc_queue_sync(struct nft_trans_gc *gc, gfp_t gfp) -+{ -+ if (WARN_ON_ONCE(!lockdep_commit_lock_is_held(gc->net))) -+ return NULL; -+ -+ if (nft_trans_gc_space(gc)) -+ return gc; -+ -+ call_rcu(&gc->rcu, nft_trans_gc_trans_free); -+ -+ return nft_trans_gc_alloc(gc->set, 0, gfp); -+} -+ -+void nft_trans_gc_queue_sync_done(struct nft_trans_gc *trans) -+{ -+ WARN_ON_ONCE(!lockdep_commit_lock_is_held(trans->net)); -+ -+ if (trans->count == 0) { -+ nft_trans_gc_destroy(trans); -+ return; -+ } -+ -+ call_rcu(&trans->rcu, nft_trans_gc_trans_free); -+} -+ - static void nf_tables_module_autoload_cleanup(struct net *net) - { - struct nftables_pernet *nft_net = net_generic(net, nf_tables_net_id); -@@ -8168,6 +8350,7 @@ static int nf_tables_commit(struct net *net, struct sk_buff *skb) - struct nft_trans_elem *te; - struct nft_chain *chain; - struct nft_table *table; -+ unsigned int gc_seq; - LIST_HEAD(adl); - int err; - -@@ -8240,6 +8423,10 @@ static int nf_tables_commit(struct net *net, struct sk_buff *skb) - while (++nft_net->base_seq == 0) - ; - -+ /* Bump gc counter, it becomes odd, this is the busy mark. */ -+ gc_seq = READ_ONCE(nft_net->gc_seq); -+ WRITE_ONCE(nft_net->gc_seq, ++gc_seq); -+ - /* step 3. Start new generation, rules_gen_X now in use. */ - net->nft.gencursor = nft_gencursor_next(net); - -@@ -8319,6 +8506,7 @@ static int nf_tables_commit(struct net *net, struct sk_buff *skb) - nft_trans_destroy(trans); - break; - case NFT_MSG_DELSET: -+ nft_trans_set(trans)->dead = 1; - list_del_rcu(&nft_trans_set(trans)->list); - nf_tables_set_notify(&trans->ctx, nft_trans_set(trans), - NFT_MSG_DELSET, GFP_KERNEL); -@@ -8416,6 +8604,8 @@ static int nf_tables_commit(struct net *net, struct sk_buff *skb) - nft_commit_notify(net, NETLINK_CB(skb).portid); - nf_tables_gen_notify(net, skb, NFT_MSG_NEWGEN); - nf_tables_commit_audit_log(&adl, nft_net->base_seq); -+ -+ WRITE_ONCE(nft_net->gc_seq, ++gc_seq); - nf_tables_commit_release(net); - - return 0; -@@ -9353,6 +9543,7 @@ static int __net_init nf_tables_init_net(struct net *net) - mutex_init(&nft_net->commit_mutex); - nft_net->base_seq = 1; - nft_net->validate_state = NFT_VALIDATE_SKIP; -+ nft_net->gc_seq = 0; - - return 0; - } -@@ -9380,10 +9571,16 @@ static void __net_exit nf_tables_exit_net(struct net *net) - WARN_ON_ONCE(!list_empty(&nft_net->notify_list)); - } - -+static void nf_tables_exit_batch(struct list_head *net_exit_list) -+{ -+ flush_work(&trans_gc_work); -+} -+ - static struct pernet_operations nf_tables_net_ops = { - .init = nf_tables_init_net, - .pre_exit = nf_tables_pre_exit_net, - .exit = nf_tables_exit_net, -+ .exit_batch = nf_tables_exit_batch, - .id = &nf_tables_net_id, - .size = sizeof(struct nftables_pernet), - }; -@@ -9448,6 +9645,7 @@ static void __exit nf_tables_module_exit(void) - nft_chain_filter_fini(); - nft_chain_route_fini(); - unregister_pernet_subsys(&nf_tables_net_ops); -+ cancel_work_sync(&trans_gc_work); - cancel_work_sync(&trans_destroy_work); - rcu_barrier(); - rhltable_destroy(&nft_objname_ht); --- -2.40.1 - diff -Nru linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-gc-transaction-race-with-abort-p.patch linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-gc-transaction-race-with-abort-p.patch --- linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-gc-transaction-race-with-abort-p.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-gc-transaction-race-with-abort-p.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -From 0a32bcedfeaf611c24b5f3b227aaec6670db517d Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 22 Sep 2023 19:01:11 +0200 -Subject: netfilter: nf_tables: GC transaction race with abort path - -From: Pablo Neira Ayuso - -commit 720344340fb9be2765bbaab7b292ece0a4570eae upstream. - -Abort path is missing a synchronization point with GC transactions. Add -GC sequence number hence any GC transaction losing race will be -discarded. - -Fixes: 5f68718b34a5 ("netfilter: nf_tables: GC transaction API to avoid race with control plane") -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Sasha Levin ---- - net/netfilter/nf_tables_api.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c -index 78bf82f89ecd8..1f67931b86d8e 100644 ---- a/net/netfilter/nf_tables_api.c -+++ b/net/netfilter/nf_tables_api.c -@@ -8844,7 +8844,12 @@ static int nf_tables_abort(struct net *net, struct sk_buff *skb, - enum nfnl_abort_action action) - { - struct nftables_pernet *nft_net = net_generic(net, nf_tables_net_id); -- int ret = __nf_tables_abort(net, action); -+ unsigned int gc_seq; -+ int ret; -+ -+ gc_seq = nft_gc_seq_begin(nft_net); -+ ret = __nf_tables_abort(net, action); -+ nft_gc_seq_end(nft_net, gc_seq); - - mutex_unlock(&nft_net->commit_mutex); - --- -2.40.1 - diff -Nru linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-gc-transaction-race-with-netns-d.patch linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-gc-transaction-race-with-netns-d.patch --- linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-gc-transaction-race-with-netns-d.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-gc-transaction-race-with-netns-d.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,42 +0,0 @@ -From bb1c9a36337d403251b692bd474df25abde91129 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 22 Sep 2023 19:01:10 +0200 -Subject: netfilter: nf_tables: GC transaction race with netns dismantle - -From: Pablo Neira Ayuso - -commit 02c6c24402bf1c1e986899c14ba22a10b510916b upstream. - -Use maybe_get_net() since GC workqueue might race with netns exit path. - -Fixes: 5f68718b34a5 ("netfilter: nf_tables: GC transaction API to avoid race with control plane") -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Florian Westphal -Signed-off-by: Sasha Levin ---- - net/netfilter/nf_tables_api.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c -index 43da2f0a52623..78bf82f89ecd8 100644 ---- a/net/netfilter/nf_tables_api.c -+++ b/net/netfilter/nf_tables_api.c -@@ -8089,9 +8089,14 @@ struct nft_trans_gc *nft_trans_gc_alloc(struct nft_set *set, - if (!trans) - return NULL; - -+ trans->net = maybe_get_net(net); -+ if (!trans->net) { -+ kfree(trans); -+ return NULL; -+ } -+ - refcount_inc(&set->refs); - trans->set = set; -- trans->net = get_net(net); - trans->seq = gc_seq; - - return trans; --- -2.40.1 - diff -Nru linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-integrate-pipapo-into-commit-pro.patch linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-integrate-pipapo-into-commit-pro.patch --- linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-integrate-pipapo-into-commit-pro.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-integrate-pipapo-into-commit-pro.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,316 +0,0 @@ -From f8617e22dc6cf135765c8c6e1efc5d2cc6c852da Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 22 Sep 2023 19:01:02 +0200 -Subject: netfilter: nf_tables: integrate pipapo into commit protocol - -From: Pablo Neira Ayuso - -commit 212ed75dc5fb9d1423b3942c8f872a868cda3466 upstream. - -The pipapo set backend follows copy-on-update approach, maintaining one -clone of the existing datastructure that is being updated. The clone -and current datastructures are swapped via rcu from the commit step. - -The existing integration with the commit protocol is flawed because -there is no operation to clean up the clone if the transaction is -aborted. Moreover, the datastructure swap happens on set element -activation. - -This patch adds two new operations for sets: commit and abort, these new -operations are invoked from the commit and abort steps, after the -transactions have been digested, and it updates the pipapo set backend -to use it. - -This patch adds a new ->pending_update field to sets to maintain a list -of sets that require this new commit and abort operations. - -Fixes: 3c4287f62044 ("nf_tables: Add set type for arbitrary concatenation of ranges") -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Sasha Levin ---- - include/net/netfilter/nf_tables.h | 4 ++- - net/netfilter/nf_tables_api.c | 56 +++++++++++++++++++++++++++++++ - net/netfilter/nft_set_pipapo.c | 55 +++++++++++++++++++++--------- - 3 files changed, 99 insertions(+), 16 deletions(-) - -diff --git a/include/net/netfilter/nf_tables.h b/include/net/netfilter/nf_tables.h -index eec29dd6681ca..a3068ed0f3169 100644 ---- a/include/net/netfilter/nf_tables.h -+++ b/include/net/netfilter/nf_tables.h -@@ -373,7 +373,8 @@ struct nft_set_ops { - const struct nft_set *set, - const struct nft_set_elem *elem, - unsigned int flags); -- -+ void (*commit)(const struct nft_set *set); -+ void (*abort)(const struct nft_set *set); - u64 (*privsize)(const struct nlattr * const nla[], - const struct nft_set_desc *desc); - bool (*estimate)(const struct nft_set_desc *desc, -@@ -454,6 +455,7 @@ struct nft_set { - u16 udlen; - unsigned char *udata; - struct nft_expr *expr; -+ struct list_head pending_update; - /* runtime data below here */ - const struct nft_set_ops *ops ____cacheline_aligned; - u16 flags:14, -diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c -index 2669999d1bc9c..430dcd0f6c3b2 100644 ---- a/net/netfilter/nf_tables_api.c -+++ b/net/netfilter/nf_tables_api.c -@@ -4509,6 +4509,7 @@ static int nf_tables_newset(struct net *net, struct sock *nlsk, - } - - set->handle = nf_tables_alloc_handle(table); -+ INIT_LIST_HEAD(&set->pending_update); - - err = nft_trans_set_add(&ctx, NFT_MSG_NEWSET, set); - if (err < 0) -@@ -8141,10 +8142,25 @@ static void nf_tables_commit_audit_log(struct list_head *adl, u32 generation) - } - } - -+static void nft_set_commit_update(struct list_head *set_update_list) -+{ -+ struct nft_set *set, *next; -+ -+ list_for_each_entry_safe(set, next, set_update_list, pending_update) { -+ list_del_init(&set->pending_update); -+ -+ if (!set->ops->commit) -+ continue; -+ -+ set->ops->commit(set); -+ } -+} -+ - static int nf_tables_commit(struct net *net, struct sk_buff *skb) - { - struct nftables_pernet *nft_net = net_generic(net, nf_tables_net_id); - struct nft_trans *trans, *next; -+ LIST_HEAD(set_update_list); - struct nft_trans_elem *te; - struct nft_chain *chain; - struct nft_table *table; -@@ -8310,6 +8326,11 @@ static int nf_tables_commit(struct net *net, struct sk_buff *skb) - nf_tables_setelem_notify(&trans->ctx, te->set, - &te->elem, - NFT_MSG_NEWSETELEM, 0); -+ if (te->set->ops->commit && -+ list_empty(&te->set->pending_update)) { -+ list_add_tail(&te->set->pending_update, -+ &set_update_list); -+ } - nft_trans_destroy(trans); - break; - case NFT_MSG_DELSETELEM: -@@ -8321,6 +8342,11 @@ static int nf_tables_commit(struct net *net, struct sk_buff *skb) - te->set->ops->remove(net, te->set, &te->elem); - atomic_dec(&te->set->nelems); - te->set->ndeact--; -+ if (te->set->ops->commit && -+ list_empty(&te->set->pending_update)) { -+ list_add_tail(&te->set->pending_update, -+ &set_update_list); -+ } - break; - case NFT_MSG_NEWOBJ: - if (nft_trans_obj_update(trans)) { -@@ -8381,6 +8407,8 @@ static int nf_tables_commit(struct net *net, struct sk_buff *skb) - } - } - -+ nft_set_commit_update(&set_update_list); -+ - nft_commit_notify(net, NETLINK_CB(skb).portid); - nf_tables_gen_notify(net, skb, NFT_MSG_NEWGEN); - nf_tables_commit_audit_log(&adl, nft_net->base_seq); -@@ -8437,10 +8465,25 @@ static void nf_tables_abort_release(struct nft_trans *trans) - kfree(trans); - } - -+static void nft_set_abort_update(struct list_head *set_update_list) -+{ -+ struct nft_set *set, *next; -+ -+ list_for_each_entry_safe(set, next, set_update_list, pending_update) { -+ list_del_init(&set->pending_update); -+ -+ if (!set->ops->abort) -+ continue; -+ -+ set->ops->abort(set); -+ } -+} -+ - static int __nf_tables_abort(struct net *net, enum nfnl_abort_action action) - { - struct nftables_pernet *nft_net = net_generic(net, nf_tables_net_id); - struct nft_trans *trans, *next; -+ LIST_HEAD(set_update_list); - struct nft_trans_elem *te; - - if (action == NFNL_ABORT_VALIDATE && -@@ -8529,6 +8572,12 @@ static int __nf_tables_abort(struct net *net, enum nfnl_abort_action action) - te = (struct nft_trans_elem *)trans->data; - te->set->ops->remove(net, te->set, &te->elem); - atomic_dec(&te->set->nelems); -+ -+ if (te->set->ops->abort && -+ list_empty(&te->set->pending_update)) { -+ list_add_tail(&te->set->pending_update, -+ &set_update_list); -+ } - break; - case NFT_MSG_DELSETELEM: - te = (struct nft_trans_elem *)trans->data; -@@ -8537,6 +8586,11 @@ static int __nf_tables_abort(struct net *net, enum nfnl_abort_action action) - te->set->ops->activate(net, te->set, &te->elem); - te->set->ndeact--; - -+ if (te->set->ops->abort && -+ list_empty(&te->set->pending_update)) { -+ list_add_tail(&te->set->pending_update, -+ &set_update_list); -+ } - nft_trans_destroy(trans); - break; - case NFT_MSG_NEWOBJ: -@@ -8577,6 +8631,8 @@ static int __nf_tables_abort(struct net *net, enum nfnl_abort_action action) - } - } - -+ nft_set_abort_update(&set_update_list); -+ - synchronize_rcu(); - - list_for_each_entry_safe_reverse(trans, next, -diff --git a/net/netfilter/nft_set_pipapo.c b/net/netfilter/nft_set_pipapo.c -index 50f840e312b03..ce6c07ea7244b 100644 ---- a/net/netfilter/nft_set_pipapo.c -+++ b/net/netfilter/nft_set_pipapo.c -@@ -1603,17 +1603,10 @@ static void pipapo_free_fields(struct nft_pipapo_match *m) - } - } - --/** -- * pipapo_reclaim_match - RCU callback to free fields from old matching data -- * @rcu: RCU head -- */ --static void pipapo_reclaim_match(struct rcu_head *rcu) -+static void pipapo_free_match(struct nft_pipapo_match *m) - { -- struct nft_pipapo_match *m; - int i; - -- m = container_of(rcu, struct nft_pipapo_match, rcu); -- - for_each_possible_cpu(i) - kfree(*per_cpu_ptr(m->scratch, i)); - -@@ -1628,7 +1621,19 @@ static void pipapo_reclaim_match(struct rcu_head *rcu) - } - - /** -- * pipapo_commit() - Replace lookup data with current working copy -+ * pipapo_reclaim_match - RCU callback to free fields from old matching data -+ * @rcu: RCU head -+ */ -+static void pipapo_reclaim_match(struct rcu_head *rcu) -+{ -+ struct nft_pipapo_match *m; -+ -+ m = container_of(rcu, struct nft_pipapo_match, rcu); -+ pipapo_free_match(m); -+} -+ -+/** -+ * nft_pipapo_commit() - Replace lookup data with current working copy - * @set: nftables API set representation - * - * While at it, check if we should perform garbage collection on the working -@@ -1638,7 +1643,7 @@ static void pipapo_reclaim_match(struct rcu_head *rcu) - * We also need to create a new working copy for subsequent insertions and - * deletions. - */ --static void pipapo_commit(const struct nft_set *set) -+static void nft_pipapo_commit(const struct nft_set *set) - { - struct nft_pipapo *priv = nft_set_priv(set); - struct nft_pipapo_match *new_clone, *old; -@@ -1663,6 +1668,26 @@ static void pipapo_commit(const struct nft_set *set) - priv->clone = new_clone; - } - -+static void nft_pipapo_abort(const struct nft_set *set) -+{ -+ struct nft_pipapo *priv = nft_set_priv(set); -+ struct nft_pipapo_match *new_clone, *m; -+ -+ if (!priv->dirty) -+ return; -+ -+ m = rcu_dereference(priv->match); -+ -+ new_clone = pipapo_clone(m); -+ if (IS_ERR(new_clone)) -+ return; -+ -+ priv->dirty = false; -+ -+ pipapo_free_match(priv->clone); -+ priv->clone = new_clone; -+} -+ - /** - * nft_pipapo_activate() - Mark element reference as active given key, commit - * @net: Network namespace -@@ -1670,8 +1695,7 @@ static void pipapo_commit(const struct nft_set *set) - * @elem: nftables API element representation containing key data - * - * On insertion, elements are added to a copy of the matching data currently -- * in use for lookups, and not directly inserted into current lookup data, so -- * we'll take care of that by calling pipapo_commit() here. Both -+ * in use for lookups, and not directly inserted into current lookup data. Both - * nft_pipapo_insert() and nft_pipapo_activate() are called once for each - * element, hence we can't purpose either one as a real commit operation. - */ -@@ -1687,8 +1711,6 @@ static void nft_pipapo_activate(const struct net *net, - - nft_set_elem_change_active(net, set, &e->ext); - nft_set_elem_clear_busy(&e->ext); -- -- pipapo_commit(set); - } - - /** -@@ -1938,7 +1960,6 @@ static void nft_pipapo_remove(const struct net *net, const struct nft_set *set, - if (i == m->field_count) { - priv->dirty = true; - pipapo_drop(m, rulemap); -- pipapo_commit(set); - return; - } - -@@ -2245,6 +2266,8 @@ const struct nft_set_type nft_set_pipapo_type = { - .init = nft_pipapo_init, - .destroy = nft_pipapo_destroy, - .gc_init = nft_pipapo_gc_init, -+ .commit = nft_pipapo_commit, -+ .abort = nft_pipapo_abort, - .elemsize = offsetof(struct nft_pipapo_elem, ext), - }, - }; -@@ -2267,6 +2290,8 @@ const struct nft_set_type nft_set_pipapo_avx2_type = { - .init = nft_pipapo_init, - .destroy = nft_pipapo_destroy, - .gc_init = nft_pipapo_gc_init, -+ .commit = nft_pipapo_commit, -+ .abort = nft_pipapo_abort, - .elemsize = offsetof(struct nft_pipapo_elem, ext), - }, - }; --- -2.40.1 - diff -Nru linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-remove-busy-mark-and-gc-batch-ap.patch linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-remove-busy-mark-and-gc-batch-ap.patch --- linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-remove-busy-mark-and-gc-batch-ap.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-remove-busy-mark-and-gc-batch-ap.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,184 +0,0 @@ -From 344587286eea4cd70d285f25be6e9b2bc108a737 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 22 Sep 2023 19:01:07 +0200 -Subject: netfilter: nf_tables: remove busy mark and gc batch API - -From: Pablo Neira Ayuso - -commit a2dd0233cbc4d8a0abb5f64487487ffc9265beb5 upstream. - -Ditch it, it has been replace it by the GC transaction API and it has no -clients anymore. - -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Sasha Levin ---- - include/net/netfilter/nf_tables.h | 97 +------------------------------ - net/netfilter/nf_tables_api.c | 26 +-------- - 2 files changed, 5 insertions(+), 118 deletions(-) - -diff --git a/include/net/netfilter/nf_tables.h b/include/net/netfilter/nf_tables.h -index 39a0b37e8a1a2..9182b583d4297 100644 ---- a/include/net/netfilter/nf_tables.h -+++ b/include/net/netfilter/nf_tables.h -@@ -695,62 +695,6 @@ void nft_set_elem_destroy(const struct nft_set *set, void *elem, - void nf_tables_set_elem_destroy(const struct nft_ctx *ctx, - const struct nft_set *set, void *elem); - --/** -- * struct nft_set_gc_batch_head - nf_tables set garbage collection batch -- * -- * @rcu: rcu head -- * @set: set the elements belong to -- * @cnt: count of elements -- */ --struct nft_set_gc_batch_head { -- struct rcu_head rcu; -- const struct nft_set *set; -- unsigned int cnt; --}; -- --#define NFT_SET_GC_BATCH_SIZE ((PAGE_SIZE - \ -- sizeof(struct nft_set_gc_batch_head)) / \ -- sizeof(void *)) -- --/** -- * struct nft_set_gc_batch - nf_tables set garbage collection batch -- * -- * @head: GC batch head -- * @elems: garbage collection elements -- */ --struct nft_set_gc_batch { -- struct nft_set_gc_batch_head head; -- void *elems[NFT_SET_GC_BATCH_SIZE]; --}; -- --struct nft_set_gc_batch *nft_set_gc_batch_alloc(const struct nft_set *set, -- gfp_t gfp); --void nft_set_gc_batch_release(struct rcu_head *rcu); -- --static inline void nft_set_gc_batch_complete(struct nft_set_gc_batch *gcb) --{ -- if (gcb != NULL) -- call_rcu(&gcb->head.rcu, nft_set_gc_batch_release); --} -- --static inline struct nft_set_gc_batch * --nft_set_gc_batch_check(const struct nft_set *set, struct nft_set_gc_batch *gcb, -- gfp_t gfp) --{ -- if (gcb != NULL) { -- if (gcb->head.cnt + 1 < ARRAY_SIZE(gcb->elems)) -- return gcb; -- nft_set_gc_batch_complete(gcb); -- } -- return nft_set_gc_batch_alloc(set, gfp); --} -- --static inline void nft_set_gc_batch_add(struct nft_set_gc_batch *gcb, -- void *elem) --{ -- gcb->elems[gcb->head.cnt++] = elem; --} -- - struct nft_expr_ops; - /** - * struct nft_expr_type - nf_tables expression type -@@ -1418,47 +1362,12 @@ static inline void nft_set_elem_change_active(const struct net *net, - - #endif /* IS_ENABLED(CONFIG_NF_TABLES) */ - --/* -- * We use a free bit in the genmask field to indicate the element -- * is busy, meaning it is currently being processed either by -- * the netlink API or GC. -- * -- * Even though the genmask is only a single byte wide, this works -- * because the extension structure if fully constant once initialized, -- * so there are no non-atomic write accesses unless it is already -- * marked busy. -- */ --#define NFT_SET_ELEM_BUSY_MASK (1 << 2) -- --#if defined(__LITTLE_ENDIAN_BITFIELD) --#define NFT_SET_ELEM_BUSY_BIT 2 --#elif defined(__BIG_ENDIAN_BITFIELD) --#define NFT_SET_ELEM_BUSY_BIT (BITS_PER_LONG - BITS_PER_BYTE + 2) --#else --#error --#endif -- --static inline int nft_set_elem_mark_busy(struct nft_set_ext *ext) --{ -- unsigned long *word = (unsigned long *)ext; -- -- BUILD_BUG_ON(offsetof(struct nft_set_ext, genmask) != 0); -- return test_and_set_bit(NFT_SET_ELEM_BUSY_BIT, word); --} -- --static inline void nft_set_elem_clear_busy(struct nft_set_ext *ext) --{ -- unsigned long *word = (unsigned long *)ext; -- -- clear_bit(NFT_SET_ELEM_BUSY_BIT, word); --} -- --#define NFT_SET_ELEM_DEAD_MASK (1 << 3) -+#define NFT_SET_ELEM_DEAD_MASK (1 << 2) - - #if defined(__LITTLE_ENDIAN_BITFIELD) --#define NFT_SET_ELEM_DEAD_BIT 3 -+#define NFT_SET_ELEM_DEAD_BIT 2 - #elif defined(__BIG_ENDIAN_BITFIELD) --#define NFT_SET_ELEM_DEAD_BIT (BITS_PER_LONG - BITS_PER_BYTE + 3) -+#define NFT_SET_ELEM_DEAD_BIT (BITS_PER_LONG - BITS_PER_BYTE + 2) - #else - #error - #endif -diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c -index 1f06dd065d75e..206755eb35f3a 100644 ---- a/net/netfilter/nf_tables_api.c -+++ b/net/netfilter/nf_tables_api.c -@@ -5637,7 +5637,8 @@ static int nft_add_set_elem(struct nft_ctx *ctx, struct nft_set *set, - goto err_elem_expr; - } - -- ext->genmask = nft_genmask_cur(ctx->net) | NFT_SET_ELEM_BUSY_MASK; -+ ext->genmask = nft_genmask_cur(ctx->net); -+ - err = set->ops->insert(ctx->net, set, &elem, &ext2); - if (err) { - if (err == -EEXIST) { -@@ -5945,29 +5946,6 @@ static int nf_tables_delsetelem(struct net *net, struct sock *nlsk, - return err; - } - --void nft_set_gc_batch_release(struct rcu_head *rcu) --{ -- struct nft_set_gc_batch *gcb; -- unsigned int i; -- -- gcb = container_of(rcu, struct nft_set_gc_batch, head.rcu); -- for (i = 0; i < gcb->head.cnt; i++) -- nft_set_elem_destroy(gcb->head.set, gcb->elems[i], true); -- kfree(gcb); --} -- --struct nft_set_gc_batch *nft_set_gc_batch_alloc(const struct nft_set *set, -- gfp_t gfp) --{ -- struct nft_set_gc_batch *gcb; -- -- gcb = kzalloc(sizeof(*gcb), gfp); -- if (gcb == NULL) -- return gcb; -- gcb->head.set = set; -- return gcb; --} -- - /* - * Stateful objects - */ --- -2.40.1 - diff -Nru linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-skip-set-commit-for-deleted-dest.patch linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-skip-set-commit-for-deleted-dest.patch --- linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-skip-set-commit-for-deleted-dest.patch 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-skip-set-commit-for-deleted-dest.patch 2023-12-31 08:33:31.000000000 +0000 @@ -0,0 +1,33 @@ +From: Pablo Neira Ayuso +Date: Tue, 19 Dec 2023 19:44:49 +0100 +Subject: netfilter: nf_tables: skip set commit for deleted/destroyed sets +Origin: https://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf.git/commit/?id=7315dc1e122c85ffdfc8defffbb8f8b616c2eb1a + +NFT_MSG_DELSET deactivates all elements in the set, skip +set->ops->commit() to avoid the unnecessary clone (for the pipapo case) +as well as the sync GC cycle, which could deactivate again expired +elements in such set. + +Fixes: 5f68718b34a5 ("netfilter: nf_tables: GC transaction API to avoid race with control plane") +Reported-by: Kevin Rich +Signed-off-by: Pablo Neira Ayuso +--- + net/netfilter/nf_tables_api.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c +index c5c17c6e80ed..be04af433988 100644 +--- a/net/netfilter/nf_tables_api.c ++++ b/net/netfilter/nf_tables_api.c +@@ -9887,7 +9887,7 @@ static void nft_set_commit_update(struct list_head *set_update_list) + list_for_each_entry_safe(set, next, set_update_list, pending_update) { + list_del_init(&set->pending_update); + +- if (!set->ops->commit) ++ if (!set->ops->commit || set->dead) + continue; + + set->ops->commit(set); +-- +2.43.0 + diff -Nru linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-unregister-flowtable-hooks-on-ne.patch linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-unregister-flowtable-hooks-on-ne.patch --- linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-unregister-flowtable-hooks-on-ne.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-unregister-flowtable-hooks-on-ne.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,90 +0,0 @@ -From d4e0e230dc64b104adbbc089f94d8f09e086d95d Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 27 Sep 2023 17:30:06 +0200 -Subject: netfilter: nf_tables: unregister flowtable hooks on netns exit - -From: Pablo Neira Ayuso - -commit 6069da443bf65f513bb507bb21e2f87cfb1ad0b6 upstream. - -Unregister flowtable hooks before they are releases via -nf_tables_flowtable_destroy() otherwise hook core reports UAF. - -BUG: KASAN: use-after-free in nf_hook_entries_grow+0x5a7/0x700 net/netfilter/core.c:142 net/netfilter/core.c:142 -Read of size 4 at addr ffff8880736f7438 by task syz-executor579/3666 - -CPU: 0 PID: 3666 Comm: syz-executor579 Not tainted 5.16.0-rc5-syzkaller #0 -Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 -Call Trace: - - __dump_stack lib/dump_stack.c:88 [inline] - __dump_stack lib/dump_stack.c:88 [inline] lib/dump_stack.c:106 - dump_stack_lvl+0x1dc/0x2d8 lib/dump_stack.c:106 lib/dump_stack.c:106 - print_address_description+0x65/0x380 mm/kasan/report.c:247 mm/kasan/report.c:247 - __kasan_report mm/kasan/report.c:433 [inline] - __kasan_report mm/kasan/report.c:433 [inline] mm/kasan/report.c:450 - kasan_report+0x19a/0x1f0 mm/kasan/report.c:450 mm/kasan/report.c:450 - nf_hook_entries_grow+0x5a7/0x700 net/netfilter/core.c:142 net/netfilter/core.c:142 - __nf_register_net_hook+0x27e/0x8d0 net/netfilter/core.c:429 net/netfilter/core.c:429 - nf_register_net_hook+0xaa/0x180 net/netfilter/core.c:571 net/netfilter/core.c:571 - nft_register_flowtable_net_hooks+0x3c5/0x730 net/netfilter/nf_tables_api.c:7232 net/netfilter/nf_tables_api.c:7232 - nf_tables_newflowtable+0x2022/0x2cf0 net/netfilter/nf_tables_api.c:7430 net/netfilter/nf_tables_api.c:7430 - nfnetlink_rcv_batch net/netfilter/nfnetlink.c:513 [inline] - nfnetlink_rcv_skb_batch net/netfilter/nfnetlink.c:634 [inline] - nfnetlink_rcv_batch net/netfilter/nfnetlink.c:513 [inline] net/netfilter/nfnetlink.c:652 - nfnetlink_rcv_skb_batch net/netfilter/nfnetlink.c:634 [inline] net/netfilter/nfnetlink.c:652 - nfnetlink_rcv+0x10e6/0x2550 net/netfilter/nfnetlink.c:652 net/netfilter/nfnetlink.c:652 - -__nft_release_hook() calls nft_unregister_flowtable_net_hooks() which -only unregisters the hooks, then after RCU grace period, it is -guaranteed that no packets add new entries to the flowtable (no flow -offload rules and flowtable hooks are reachable from packet path), so it -is safe to call nf_flow_table_free() which cleans up the remaining -entries from the flowtable (both software and hardware) and it unbinds -the flow_block. - -Fixes: ff4bf2f42a40 ("netfilter: nf_tables: add nft_unregister_flowtable_hook()") -Reported-by: syzbot+e918523f77e62790d6d9@syzkaller.appspotmail.com -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Sasha Levin ---- - net/netfilter/nf_tables_api.c | 18 +++++++++++++----- - 1 file changed, 13 insertions(+), 5 deletions(-) - -diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c -index 52c776b5967ef..efbcf85cd6b7a 100644 ---- a/net/netfilter/nf_tables_api.c -+++ b/net/netfilter/nf_tables_api.c -@@ -9466,16 +9466,24 @@ int __nft_release_basechain(struct nft_ctx *ctx) - } - EXPORT_SYMBOL_GPL(__nft_release_basechain); - -+static void __nft_release_hook(struct net *net, struct nft_table *table) -+{ -+ struct nft_flowtable *flowtable; -+ struct nft_chain *chain; -+ -+ list_for_each_entry(chain, &table->chains, list) -+ nf_tables_unregister_hook(net, table, chain); -+ list_for_each_entry(flowtable, &table->flowtables, list) -+ nft_unregister_flowtable_net_hooks(net, &flowtable->hook_list); -+} -+ - static void __nft_release_hooks(struct net *net) - { - struct nftables_pernet *nft_net = net_generic(net, nf_tables_net_id); - struct nft_table *table; -- struct nft_chain *chain; - -- list_for_each_entry(table, &nft_net->tables, list) { -- list_for_each_entry(chain, &table->chains, list) -- nf_tables_unregister_hook(net, table, chain); -- } -+ list_for_each_entry(table, &nft_net->tables, list) -+ __nft_release_hook(net, table); - } - - static void __nft_release_table(struct net *net, struct nft_table *table) --- -2.40.1 - diff -Nru linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-use-correct-lock-to-protect-gc_l.patch linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-use-correct-lock-to-protect-gc_l.patch --- linux-5.10.197/debian/patches/bugfix/all/netfilter-nf_tables-use-correct-lock-to-protect-gc_l.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/all/netfilter-nf_tables-use-correct-lock-to-protect-gc_l.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,38 +0,0 @@ -From 881dd729cbf8d7a87b68450c70ab9d930c39b393 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 22 Sep 2023 19:01:12 +0200 -Subject: netfilter: nf_tables: use correct lock to protect gc_list - -From: Pablo Neira Ayuso - -commit 8357bc946a2abc2a10ca40e5a2105d2b4c57515e upstream. - -Use nf_tables_gc_list_lock spinlock, not nf_tables_destroy_list_lock to -protect the gc_list. - -Fixes: 5f68718b34a5 ("netfilter: nf_tables: GC transaction API to avoid race with control plane") -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Sasha Levin ---- - net/netfilter/nf_tables_api.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c -index 1f67931b86d8e..9fc302a6836ba 100644 ---- a/net/netfilter/nf_tables_api.c -+++ b/net/netfilter/nf_tables_api.c -@@ -8065,9 +8065,9 @@ static void nft_trans_gc_work(struct work_struct *work) - struct nft_trans_gc *trans, *next; - LIST_HEAD(trans_gc_list); - -- spin_lock(&nf_tables_destroy_list_lock); -+ spin_lock(&nf_tables_gc_list_lock); - list_splice_init(&nf_tables_gc_list, &trans_gc_list); -- spin_unlock(&nf_tables_destroy_list_lock); -+ spin_unlock(&nf_tables_gc_list_lock); - - list_for_each_entry_safe(trans, next, &trans_gc_list, list) { - list_del(&trans->list); --- -2.40.1 - diff -Nru linux-5.10.197/debian/patches/bugfix/all/netfilter-nft_set_hash-mark-set-element-as-dead-when.patch linux-5.10.205/debian/patches/bugfix/all/netfilter-nft_set_hash-mark-set-element-as-dead-when.patch --- linux-5.10.197/debian/patches/bugfix/all/netfilter-nft_set_hash-mark-set-element-as-dead-when.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/all/netfilter-nft_set_hash-mark-set-element-as-dead-when.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,49 +0,0 @@ -From aa5597dda62c3f544aad122b646afc5b979526e8 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 22 Sep 2023 19:01:06 +0200 -Subject: netfilter: nft_set_hash: mark set element as dead when deleting from - packet path - -From: Pablo Neira Ayuso - -commit c92db3030492b8ad1d0faace7a93bbcf53850d0c upstream. - -Set on the NFT_SET_ELEM_DEAD_BIT flag on this element, instead of -performing element removal which might race with an ongoing transaction. -Enable gc when dynamic flag is set on since dynset deletion requires -garbage collection after this patch. - -Fixes: d0a8d877da97 ("netfilter: nft_dynset: support for element deletion") -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Sasha Levin ---- - net/netfilter/nft_set_hash.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/net/netfilter/nft_set_hash.c b/net/netfilter/nft_set_hash.c -index 6ae99b3107bc9..9cdf348b048a4 100644 ---- a/net/netfilter/nft_set_hash.c -+++ b/net/netfilter/nft_set_hash.c -@@ -251,7 +251,9 @@ static bool nft_rhash_delete(const struct nft_set *set, - if (he == NULL) - return false; - -- return rhashtable_remove_fast(&priv->ht, &he->node, nft_rhash_params) == 0; -+ nft_set_elem_dead(&he->ext); -+ -+ return true; - } - - static void nft_rhash_walk(const struct nft_ctx *ctx, struct nft_set *set, -@@ -398,7 +400,7 @@ static int nft_rhash_init(const struct nft_set *set, - return err; - - INIT_DEFERRABLE_WORK(&priv->gc_work, nft_rhash_gc); -- if (set->flags & NFT_SET_TIMEOUT) -+ if (set->flags & (NFT_SET_TIMEOUT | NFT_SET_EVAL)) - nft_rhash_gc_init(set); - - return 0; --- -2.40.1 - diff -Nru linux-5.10.197/debian/patches/bugfix/all/netfilter-nft_set_hash-try-later-when-gc-hits-eagain.patch linux-5.10.205/debian/patches/bugfix/all/netfilter-nft_set_hash-try-later-when-gc-hits-eagain.patch --- linux-5.10.197/debian/patches/bugfix/all/netfilter-nft_set_hash-try-later-when-gc-hits-eagain.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/all/netfilter-nft_set_hash-try-later-when-gc-hits-eagain.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,42 +0,0 @@ -From 9d1209c57ca27a0a606d525bf0e1f3781c1559ec Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 22 Sep 2023 19:01:17 +0200 -Subject: netfilter: nft_set_hash: try later when GC hits EAGAIN on iteration - -From: Pablo Neira Ayuso - -commit b079155faae94e9b3ab9337e82100a914ebb4e8d upstream. - -Skip GC run if iterator rewinds to the beginning with EAGAIN, otherwise GC -might collect the same element more than once. - -Fixes: f6c383b8c31a ("netfilter: nf_tables: adapt set backend to use GC transaction API") -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Sasha Levin ---- - net/netfilter/nft_set_hash.c | 9 +++------ - 1 file changed, 3 insertions(+), 6 deletions(-) - -diff --git a/net/netfilter/nft_set_hash.c b/net/netfilter/nft_set_hash.c -index 68a16ee37b3d0..f0a9ad1c4ea44 100644 ---- a/net/netfilter/nft_set_hash.c -+++ b/net/netfilter/nft_set_hash.c -@@ -324,12 +324,9 @@ static void nft_rhash_gc(struct work_struct *work) - - while ((he = rhashtable_walk_next(&hti))) { - if (IS_ERR(he)) { -- if (PTR_ERR(he) != -EAGAIN) { -- nft_trans_gc_destroy(gc); -- gc = NULL; -- goto try_later; -- } -- continue; -+ nft_trans_gc_destroy(gc); -+ gc = NULL; -+ goto try_later; - } - - /* Ruleset has been updated, try later. */ --- -2.40.1 - diff -Nru linux-5.10.197/debian/patches/bugfix/all/netfilter-nft_set_pipapo-stop-gc-iteration-if-gc-tra.patch linux-5.10.205/debian/patches/bugfix/all/netfilter-nft_set_pipapo-stop-gc-iteration-if-gc-tra.patch --- linux-5.10.197/debian/patches/bugfix/all/netfilter-nft_set_pipapo-stop-gc-iteration-if-gc-tra.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/all/netfilter-nft_set_pipapo-stop-gc-iteration-if-gc-tra.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ -From 833ed97574f6983f9fec97128f55d361f60227af Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 22 Sep 2023 19:01:16 +0200 -Subject: netfilter: nft_set_pipapo: stop GC iteration if GC transaction - allocation fails - -From: Pablo Neira Ayuso - -commit 6d365eabce3c018a80f6e0379b17df2abb17405e upstream. - -nft_trans_gc_queue_sync() enqueues the GC transaction and it allocates a -new one. If this allocation fails, then stop this GC sync run and retry -later. - -Fixes: 5f68718b34a5 ("netfilter: nf_tables: GC transaction API to avoid race with control plane") -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Sasha Levin ---- - net/netfilter/nft_set_pipapo.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/net/netfilter/nft_set_pipapo.c b/net/netfilter/nft_set_pipapo.c -index 80440ac5d44c6..fbfcc3275cadf 100644 ---- a/net/netfilter/nft_set_pipapo.c -+++ b/net/netfilter/nft_set_pipapo.c -@@ -1595,7 +1595,7 @@ static void pipapo_gc(const struct nft_set *_set, struct nft_pipapo_match *m) - - gc = nft_trans_gc_queue_sync(gc, GFP_ATOMIC); - if (!gc) -- break; -+ return; - - nft_pipapo_gc_deactivate(net, set, e); - pipapo_drop(m, rulemap); --- -2.40.1 - diff -Nru linux-5.10.197/debian/patches/bugfix/all/netfilter-nft_set_rbtree-skip-sync-gc-for-new-elemen.patch linux-5.10.205/debian/patches/bugfix/all/netfilter-nft_set_rbtree-skip-sync-gc-for-new-elemen.patch --- linux-5.10.197/debian/patches/bugfix/all/netfilter-nft_set_rbtree-skip-sync-gc-for-new-elemen.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/all/netfilter-nft_set_rbtree-skip-sync-gc-for-new-elemen.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,53 +0,0 @@ -From 1ae5807f869d5f00a1099af2812b69cbcc525c00 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 22 Sep 2023 19:01:14 +0200 -Subject: netfilter: nft_set_rbtree: skip sync GC for new elements in this - transaction - -From: Pablo Neira Ayuso - -commit 2ee52ae94baabf7ee09cf2a8d854b990dac5d0e4 upstream. - -New elements in this transaction might expired before such transaction -ends. Skip sync GC for such elements otherwise commit path might walk -over an already released object. Once transaction is finished, async GC -will collect such expired element. - -Fixes: f6c383b8c31a ("netfilter: nf_tables: adapt set backend to use GC transaction API") -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Florian Westphal -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Sasha Levin ---- - net/netfilter/nft_set_rbtree.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/net/netfilter/nft_set_rbtree.c b/net/netfilter/nft_set_rbtree.c -index 9b0bdd4216152..535076b4de53d 100644 ---- a/net/netfilter/nft_set_rbtree.c -+++ b/net/netfilter/nft_set_rbtree.c -@@ -314,6 +314,7 @@ static int __nft_rbtree_insert(const struct net *net, const struct nft_set *set, - struct nft_rbtree_elem *rbe, *rbe_le = NULL, *rbe_ge = NULL; - struct rb_node *node, *next, *parent, **p, *first = NULL; - struct nft_rbtree *priv = nft_set_priv(set); -+ u8 cur_genmask = nft_genmask_cur(net); - u8 genmask = nft_genmask_next(net); - int d, err; - -@@ -359,8 +360,11 @@ static int __nft_rbtree_insert(const struct net *net, const struct nft_set *set, - if (!nft_set_elem_active(&rbe->ext, genmask)) - continue; - -- /* perform garbage collection to avoid bogus overlap reports. */ -- if (nft_set_elem_expired(&rbe->ext)) { -+ /* perform garbage collection to avoid bogus overlap reports -+ * but skip new elements in this transaction. -+ */ -+ if (nft_set_elem_expired(&rbe->ext) && -+ nft_set_elem_active(&rbe->ext, cur_genmask)) { - err = nft_rbtree_gc_elem(set, priv, rbe, genmask); - if (err < 0) - return err; --- -2.40.1 - diff -Nru linux-5.10.197/debian/patches/bugfix/all/netfilter-nft_set_rbtree-use-read-spinlock-to-avoid-.patch linux-5.10.205/debian/patches/bugfix/all/netfilter-nft_set_rbtree-use-read-spinlock-to-avoid-.patch --- linux-5.10.197/debian/patches/bugfix/all/netfilter-nft_set_rbtree-use-read-spinlock-to-avoid-.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/all/netfilter-nft_set_rbtree-use-read-spinlock-to-avoid-.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,48 +0,0 @@ -From c9a026771d8a46e978f8d2f48792fea2dde20b27 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 22 Sep 2023 19:01:15 +0200 -Subject: netfilter: nft_set_rbtree: use read spinlock to avoid datapath - contention - -From: Pablo Neira Ayuso - -commit 96b33300fba880ec0eafcf3d82486f3463b4b6da upstream. - -rbtree GC does not modify the datastructure, instead it collects expired -elements and it enqueues a GC transaction. Use a read spinlock instead -to avoid data contention while GC worker is running. - -Fixes: f6c383b8c31a ("netfilter: nf_tables: adapt set backend to use GC transaction API") -Signed-off-by: Pablo Neira Ayuso -Signed-off-by: Sasha Levin ---- - net/netfilter/nft_set_rbtree.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -diff --git a/net/netfilter/nft_set_rbtree.c b/net/netfilter/nft_set_rbtree.c -index 535076b4de53d..cc32e19b4041a 100644 ---- a/net/netfilter/nft_set_rbtree.c -+++ b/net/netfilter/nft_set_rbtree.c -@@ -624,8 +624,7 @@ static void nft_rbtree_gc(struct work_struct *work) - if (!gc) - goto done; - -- write_lock_bh(&priv->lock); -- write_seqcount_begin(&priv->count); -+ read_lock_bh(&priv->lock); - for (node = rb_first(&priv->root); node != NULL; node = rb_next(node)) { - - /* Ruleset has been updated, try later. */ -@@ -672,8 +671,7 @@ static void nft_rbtree_gc(struct work_struct *work) - nft_trans_gc_elem_add(gc, rbe); - } - try_later: -- write_seqcount_end(&priv->count); -- write_unlock_bh(&priv->lock); -+ read_unlock_bh(&priv->lock); - - if (gc) - nft_trans_gc_queue_async_done(gc); --- -2.40.1 - diff -Nru linux-5.10.197/debian/patches/bugfix/mips/Revert-MIPS-Loongson64-Enable-DMA-noncoherent-suppor.patch linux-5.10.205/debian/patches/bugfix/mips/Revert-MIPS-Loongson64-Enable-DMA-noncoherent-suppor.patch --- linux-5.10.197/debian/patches/bugfix/mips/Revert-MIPS-Loongson64-Enable-DMA-noncoherent-suppor.patch 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/patches/bugfix/mips/Revert-MIPS-Loongson64-Enable-DMA-noncoherent-suppor.patch 2023-12-31 09:01:50.000000000 +0000 @@ -0,0 +1,93 @@ +From 138e57e716b339884863ede039258d53c735d44c Mon Sep 17 00:00:00 2001 +From: Salvatore Bonaccorso +Date: Sun, 31 Dec 2023 09:10:20 +0100 +Subject: [PATCH] Revert "MIPS: Loongson64: Enable DMA noncoherent support" + +This reverts commit 3ee7e2faef87594228eb2622f8c25c0495ea50a1. + +Build for mipsel and mips64el fails to build due to missing +requisites for this commit: + + /<>/arch/mips/loongson64/env.c: In function 'prom_init_env': + /<>/arch/mips/loongson64/env.c:138:3: error: 'dma_default_coherent' undeclared (first use in this function); did you mean 'dma_free_coherent'? + 138 | dma_default_coherent = true; + | ^~~~~~~~~~~~~~~~~~~~ + | dma_free_coherent + /<>/arch/mips/loongson64/env.c:138:3: note: each undeclared identifier is reported only once for each function it appears in + make[6]: *** [/<>/scripts/Makefile.build:291: arch/mips/loongson64/env.o] Error 1 + make[6]: *** Waiting for unfinished jobs.... + +Link: https://lore.kernel.org/stable/ZZBx01WttA3R1XjI@eldamar.lan/ +Signed-off-by: Salvatore Bonaccorso +--- + arch/mips/Kconfig | 2 -- + arch/mips/include/asm/mach-loongson64/boot_param.h | 3 +-- + arch/mips/loongson64/env.c | 10 +--------- + 3 files changed, 2 insertions(+), 13 deletions(-) + +diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig +index 18ebacf29889..57839f63074f 100644 +--- a/arch/mips/Kconfig ++++ b/arch/mips/Kconfig +@@ -468,7 +468,6 @@ config MACH_LOONGSON2EF + + config MACH_LOONGSON64 + bool "Loongson 64-bit family of machines" +- select ARCH_DMA_DEFAULT_COHERENT + select ARCH_SPARSEMEM_ENABLE + select ARCH_MIGHT_HAVE_PC_PARPORT + select ARCH_MIGHT_HAVE_PC_SERIO +@@ -1380,7 +1379,6 @@ config CPU_LOONGSON64 + select CPU_SUPPORTS_MSA + select CPU_DIEI_BROKEN if !LOONGSON3_ENHANCEMENT + select CPU_MIPSR2_IRQ_VI +- select DMA_NONCOHERENT + select WEAK_ORDERING + select WEAK_REORDERING_BEYOND_LLSC + select MIPS_ASID_BITS_VARIABLE +diff --git a/arch/mips/include/asm/mach-loongson64/boot_param.h b/arch/mips/include/asm/mach-loongson64/boot_param.h +index de0bd14d798a..afc92b7a61c6 100644 +--- a/arch/mips/include/asm/mach-loongson64/boot_param.h ++++ b/arch/mips/include/asm/mach-loongson64/boot_param.h +@@ -117,8 +117,7 @@ struct irq_source_routing_table { + u64 pci_io_start_addr; + u64 pci_io_end_addr; + u64 pci_config_addr; +- u16 dma_mask_bits; +- u16 dma_noncoherent; ++ u32 dma_mask_bits; + } __packed; + + struct interface_info { +diff --git a/arch/mips/loongson64/env.c b/arch/mips/loongson64/env.c +index a59bae36f86a..134cb8e9efc2 100644 +--- a/arch/mips/loongson64/env.c ++++ b/arch/mips/loongson64/env.c +@@ -13,8 +13,6 @@ + * Copyright (C) 2009 Lemote Inc. + * Author: Wu Zhangjin, wuzhangjin@gmail.com + */ +- +-#include + #include + #include + #include +@@ -133,14 +131,8 @@ void __init prom_init_env(void) + loongson_sysconf.pci_io_base = eirq_source->pci_io_start_addr; + loongson_sysconf.dma_mask_bits = eirq_source->dma_mask_bits; + if (loongson_sysconf.dma_mask_bits < 32 || +- loongson_sysconf.dma_mask_bits > 64) { ++ loongson_sysconf.dma_mask_bits > 64) + loongson_sysconf.dma_mask_bits = 32; +- dma_default_coherent = true; +- } else { +- dma_default_coherent = !eirq_source->dma_noncoherent; +- } +- +- pr_info("Firmware: Coherent DMA: %s\n", dma_default_coherent ? "on" : "off"); + + loongson_sysconf.restart_addr = boot_p->reset_system.ResetWarm; + loongson_sysconf.poweroff_addr = boot_p->reset_system.Shutdown; +-- +2.43.0 + diff -Nru linux-5.10.197/debian/patches/features/arm64/arm64-compat-Implement-misalignment-fixups-for-multi.patch linux-5.10.205/debian/patches/features/arm64/arm64-compat-Implement-misalignment-fixups-for-multi.patch --- linux-5.10.197/debian/patches/features/arm64/arm64-compat-Implement-misalignment-fixups-for-multi.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/features/arm64/arm64-compat-Implement-misalignment-fixups-for-multi.patch 2023-12-31 08:33:31.000000000 +0000 @@ -44,11 +44,9 @@ 5 files changed, 395 insertions(+) create mode 100644 arch/arm64/kernel/compat_alignment.c -diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index a6b5b7ef40ae..1a52547bf296 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -1283,6 +1283,9 @@ config THUMB2_COMPAT_VDSO +@@ -1328,6 +1328,9 @@ config THUMB2_COMPAT_VDSO Compile the compat vDSO with '-mthumb -fomit-frame-pointer' if y, otherwise with '-marm'. @@ -58,20 +56,16 @@ menuconfig ARMV8_DEPRECATED bool "Emulate deprecated/obsolete ARMv8 instructions" depends on SYSCTL -diff --git a/arch/arm64/include/asm/exception.h b/arch/arm64/include/asm/exception.h -index 0756191f44f6..cbbad396a8b8 100644 --- a/arch/arm64/include/asm/exception.h +++ b/arch/arm64/include/asm/exception.h -@@ -50,6 +50,7 @@ void do_sysinstr(unsigned int esr, struct pt_regs *regs); +@@ -47,6 +47,7 @@ void do_el0_sys(unsigned long esr, struc void do_sp_pc_abort(unsigned long addr, unsigned int esr, struct pt_regs *regs); void bad_el0_sync(struct pt_regs *regs, int reason, unsigned int esr); - void do_cp15instr(unsigned int esr, struct pt_regs *regs); + void do_el0_cp15(unsigned long esr, struct pt_regs *regs); +int do_compat_alignment_fixup(unsigned long addr, struct pt_regs *regs); void do_el0_svc(struct pt_regs *regs); void do_el0_svc_compat(struct pt_regs *regs); - void do_ptrauth_fault(struct pt_regs *regs, unsigned int esr); -diff --git a/arch/arm64/kernel/Makefile b/arch/arm64/kernel/Makefile -index bbaf0bc4ad60..314316d5c4e4 100644 + void do_el0_fpac(struct pt_regs *regs, unsigned long esr); --- a/arch/arm64/kernel/Makefile +++ b/arch/arm64/kernel/Makefile @@ -28,6 +28,7 @@ $(obj)/%.stub.o: $(obj)/%.o FORCE @@ -82,9 +76,6 @@ obj-$(CONFIG_KUSER_HELPERS) += kuser32.o obj-$(CONFIG_FUNCTION_TRACER) += ftrace.o entry-ftrace.o obj-$(CONFIG_MODULES) += module.o -diff --git a/arch/arm64/kernel/compat_alignment.c b/arch/arm64/kernel/compat_alignment.c -new file mode 100644 -index 000000000000..5edec2f49ec9 --- /dev/null +++ b/arch/arm64/kernel/compat_alignment.c @@ -0,0 +1,387 @@ @@ -475,11 +466,9 @@ + + return 0; +} -diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c -index 795d224f184f..ab3a3fb92ebf 100644 --- a/arch/arm64/mm/fault.c +++ b/arch/arm64/mm/fault.c -@@ -610,6 +610,9 @@ static int __kprobes do_translation_fault(unsigned long addr, +@@ -610,6 +610,9 @@ static int __kprobes do_translation_faul static int do_alignment_fault(unsigned long addr, unsigned int esr, struct pt_regs *regs) { diff -Nru linux-5.10.197/debian/patches/series linux-5.10.205/debian/patches/series --- linux-5.10.197/debian/patches/series 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches/series 2023-12-31 08:35:07.000000000 +0000 @@ -76,6 +76,7 @@ bugfix/arm64/arm64-acpi-Add-fixup-for-HPE-m400-quirks.patch bugfix/x86/x86-32-disable-3dnow-in-generic-config.patch bugfix/x86/platform-x86-toshiba_haps-Fix-missing-newline-in-pr_.patch +bugfix/mips/Revert-MIPS-Loongson64-Enable-DMA-noncoherent-suppor.patch # Arch features features/arm64/arm64-dts-rockchip-Add-basic-support-for-Kobol-s-Hel.patch @@ -115,28 +116,7 @@ debian/ntfs-mark-it-as-broken.patch bugfix/all/vfs-move-cap_convert_nscap-call-into-vfs_setxattr.patch bugfix/all/ovl-fail-on-invalid-uid-gid-mapping-at-copy-up.patch -bugfix/all/netfilter-nf_tables-integrate-pipapo-into-commit-pro.patch -bugfix/all/netfilter-nf_tables-don-t-skip-expired-elements-duri.patch -bugfix/all/netfilter-nf_tables-gc-transaction-api-to-avoid-race.patch -bugfix/all/netfilter-nf_tables-adapt-set-backend-to-use-gc-tran.patch -bugfix/all/netfilter-nft_set_hash-mark-set-element-as-dead-when.patch -bugfix/all/netfilter-nf_tables-remove-busy-mark-and-gc-batch-ap.patch -bugfix/all/netfilter-nf_tables-don-t-fail-inserts-if-duplicate-.patch -bugfix/all/netfilter-nf_tables-fix-gc-transaction-races-with-ne.patch -bugfix/all/netfilter-nf_tables-gc-transaction-race-with-netns-d.patch -bugfix/all/netfilter-nf_tables-gc-transaction-race-with-abort-p.patch -bugfix/all/netfilter-nf_tables-use-correct-lock-to-protect-gc_l.patch -bugfix/all/netfilter-nf_tables-defer-gc-run-if-previous-batch-i.patch -bugfix/all/netfilter-nft_set_rbtree-skip-sync-gc-for-new-elemen.patch -bugfix/all/netfilter-nft_set_rbtree-use-read-spinlock-to-avoid-.patch -bugfix/all/netfilter-nft_set_pipapo-stop-gc-iteration-if-gc-tra.patch -bugfix/all/netfilter-nft_set_hash-try-later-when-gc-hits-eagain.patch -bugfix/all/netfilter-nf_tables-fix-memleak-when-more-than-255-e.patch -bugfix/all/netfilter-nf_tables-disallow-element-removal-on-anon.patch -bugfix/all/netfilter-ipset-fix-race-between-ipset_cmd_create-an.patch -bugfix/all/netfilter-nf_tables-unregister-flowtable-hooks-on-ne.patch -bugfix/all/netfilter-nf_tables-double-hook-unregistration-in-ne.patch -bugfix/all/ipv4-fix-null-deref-in-ipv4_link_failure.patch +bugfix/all/netfilter-nf_tables-skip-set-commit-for-deleted-dest.patch # Fix exported symbol versions bugfix/all/module-disable-matching-missing-version-crc.patch diff -Nru linux-5.10.197/debian/patches-rt/0001-z3fold-remove-preempt-disabled-sections-for-RT.patch linux-5.10.205/debian/patches-rt/0001-z3fold-remove-preempt-disabled-sections-for-RT.patch --- linux-5.10.197/debian/patches-rt/0001-z3fold-remove-preempt-disabled-sections-for-RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0001-z3fold-remove-preempt-disabled-sections-for-RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From b0469ca060b805ddda1206baa8c6084c126e6e5a Mon Sep 17 00:00:00 2001 +From 373cc1c1427a46b4bf77f0d782d8bd8b2d00bc54 Mon Sep 17 00:00:00 2001 From: Vitaly Wool Date: Mon, 14 Dec 2020 19:12:36 -0800 -Subject: [PATCH 001/321] z3fold: remove preempt disabled sections for RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 001/323] z3fold: remove preempt disabled sections for RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Replace get_cpu_ptr() with migrate_disable()+this_cpu_ptr() so RT can take spinlocks that become sleeping locks. @@ -82,5 +82,5 @@ if (!zhdr) { int cpu; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0002-stop_machine-Add-function-and-caller-debug-info.patch linux-5.10.205/debian/patches-rt/0002-stop_machine-Add-function-and-caller-debug-info.patch --- linux-5.10.197/debian/patches-rt/0002-stop_machine-Add-function-and-caller-debug-info.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0002-stop_machine-Add-function-and-caller-debug-info.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 6338db8d1145711af9bd3eb910feff65e0dfd650 Mon Sep 17 00:00:00 2001 +From 863bc087d69814dc4113ca9ec91ce1895b53480e Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 23 Oct 2020 12:11:59 +0200 -Subject: [PATCH 002/321] stop_machine: Add function and caller debug info -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 002/323] stop_machine: Add function and caller debug info +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Crashes in stop-machine are hard to connect to the calling code, add a little something to help with that. diff -Nru linux-5.10.197/debian/patches-rt/0003-sched-Fix-balance_callback.patch linux-5.10.205/debian/patches-rt/0003-sched-Fix-balance_callback.patch --- linux-5.10.197/debian/patches-rt/0003-sched-Fix-balance_callback.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0003-sched-Fix-balance_callback.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From d0bedbfe78ebf37cf4a3a9d8ccf9a0479bbf4240 Mon Sep 17 00:00:00 2001 +From db31f287a66b122733214b4a2bac9d59a564b77d Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 23 Oct 2020 12:12:00 +0200 -Subject: [PATCH 003/321] sched: Fix balance_callback() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 003/323] sched: Fix balance_callback() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The intent of balance_callback() has always been to delay executing balancing operations until the end of the current rq->lock section. @@ -29,7 +29,7 @@ 2 files changed, 78 insertions(+), 44 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 9d6dd14cfd26..47506bcb7c3d 100644 +index 40f40f359c5d..ab8b7fd46334 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -3511,6 +3511,69 @@ static inline void finish_task(struct task_struct *prev) @@ -199,7 +199,7 @@ struct rq_flags rf; int reset_on_fork; int queue_flags = DEQUEUE_SAVE | DEQUEUE_MOVE | DEQUEUE_NOCLOCK; -@@ -5459,6 +5489,7 @@ static int __sched_setscheduler(struct task_struct *p, +@@ -5466,6 +5496,7 @@ static int __sched_setscheduler(struct task_struct *p, /* Avoid rq from going away on us: */ preempt_disable(); @@ -207,7 +207,7 @@ task_rq_unlock(rq, p, &rf); if (pi) { -@@ -5467,7 +5498,7 @@ static int __sched_setscheduler(struct task_struct *p, +@@ -5475,7 +5506,7 @@ static int __sched_setscheduler(struct task_struct *p, } /* Run balance callbacks after we've adjusted the PI chain: */ @@ -217,7 +217,7 @@ return 0; diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h -index 852e856eed48..a8d20edf6a20 100644 +index 8de07aba8bdd..fd71da3a4f0f 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -1225,6 +1225,9 @@ static inline void rq_pin_lock(struct rq *rq, struct rq_flags *rf) @@ -231,5 +231,5 @@ static inline void rq_unpin_lock(struct rq *rq, struct rq_flags *rf) -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0004-sched-hotplug-Ensure-only-per-cpu-kthreads-run-durin.patch linux-5.10.205/debian/patches-rt/0004-sched-hotplug-Ensure-only-per-cpu-kthreads-run-durin.patch --- linux-5.10.197/debian/patches-rt/0004-sched-hotplug-Ensure-only-per-cpu-kthreads-run-durin.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0004-sched-hotplug-Ensure-only-per-cpu-kthreads-run-durin.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 1ba15ac237039ecb8848afffa2d73114308677ed Mon Sep 17 00:00:00 2001 +From bc9c6ea411da55a929b5bc3663c0a89449613d47 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 23 Oct 2020 12:12:01 +0200 -Subject: [PATCH 004/321] sched/hotplug: Ensure only per-cpu kthreads run +Subject: [PATCH 004/323] sched/hotplug: Ensure only per-cpu kthreads run during hotplug -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz In preparation for migrate_disable(), make sure only per-cpu kthreads are allowed to run on !active CPUs. @@ -28,7 +28,7 @@ 2 files changed, 118 insertions(+), 3 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 47506bcb7c3d..e946013764c2 100644 +index ab8b7fd46334..32c3acef5781 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -3535,8 +3535,10 @@ static inline struct callback_head *splice_balance_callbacks(struct rq *rq) @@ -85,7 +85,7 @@ raw_spin_unlock_irq(&rq->lock); } -@@ -6838,6 +6859,90 @@ static void migrate_tasks(struct rq *dead_rq, struct rq_flags *rf) +@@ -6833,6 +6854,90 @@ static void migrate_tasks(struct rq *dead_rq, struct rq_flags *rf) rq->stop = stop; } @@ -176,7 +176,7 @@ #endif /* CONFIG_HOTPLUG_CPU */ void set_rq_online(struct rq *rq) -@@ -6925,6 +7030,8 @@ int sched_cpu_activate(unsigned int cpu) +@@ -6920,6 +7025,8 @@ int sched_cpu_activate(unsigned int cpu) struct rq *rq = cpu_rq(cpu); struct rq_flags rf; @@ -185,7 +185,7 @@ #ifdef CONFIG_SCHED_SMT /* * When going up, increment the number of cores with SMT present. -@@ -6972,6 +7079,8 @@ int sched_cpu_deactivate(unsigned int cpu) +@@ -6967,6 +7074,8 @@ int sched_cpu_deactivate(unsigned int cpu) */ synchronize_rcu(); @@ -194,7 +194,7 @@ #ifdef CONFIG_SCHED_SMT /* * When going down, decrement the number of cores with SMT present. -@@ -6985,6 +7094,7 @@ int sched_cpu_deactivate(unsigned int cpu) +@@ -6980,6 +7089,7 @@ int sched_cpu_deactivate(unsigned int cpu) ret = cpuset_cpu_inactive(cpu); if (ret) { @@ -203,7 +203,7 @@ return ret; } diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h -index a8d20edf6a20..ebc844077eb5 100644 +index fd71da3a4f0f..81dc4212423a 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -976,6 +976,7 @@ struct rq { @@ -240,5 +240,5 @@ #define rcu_dereference_check_sched_domain(p) \ -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0005-sched-core-Wait-for-tasks-being-pushed-away-on-hotpl.patch linux-5.10.205/debian/patches-rt/0005-sched-core-Wait-for-tasks-being-pushed-away-on-hotpl.patch --- linux-5.10.197/debian/patches-rt/0005-sched-core-Wait-for-tasks-being-pushed-away-on-hotpl.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0005-sched-core-Wait-for-tasks-being-pushed-away-on-hotpl.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From ceb1c0c547a3cb0b19e65bfb8d59f8efb61885d1 Mon Sep 17 00:00:00 2001 +From 94b59ab31222fc252603987e1ee316264426a015 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 23 Oct 2020 12:12:02 +0200 -Subject: [PATCH 005/321] sched/core: Wait for tasks being pushed away on +Subject: [PATCH 005/323] sched/core: Wait for tasks being pushed away on hotplug -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz RT kernels need to ensure that all tasks which are not per CPU kthreads have left the outgoing CPU to guarantee that no tasks are force migrated @@ -25,10 +25,10 @@ 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index e946013764c2..a319e888eb51 100644 +index 32c3acef5781..b902755615d7 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -6901,8 +6901,21 @@ static void balance_push(struct rq *rq) +@@ -6896,8 +6896,21 @@ static void balance_push(struct rq *rq) * Both the cpu-hotplug and stop task are in this case and are * required to complete the hotplug process. */ @@ -51,7 +51,7 @@ get_task_struct(push_task); /* -@@ -6933,6 +6946,20 @@ static void balance_push_set(int cpu, bool on) +@@ -6928,6 +6941,20 @@ static void balance_push_set(int cpu, bool on) rq_unlock_irqrestore(rq, &rf); } @@ -72,7 +72,7 @@ #else static inline void balance_push(struct rq *rq) -@@ -6943,6 +6970,10 @@ static inline void balance_push_set(int cpu, bool on) +@@ -6938,6 +6965,10 @@ static inline void balance_push_set(int cpu, bool on) { } @@ -83,7 +83,7 @@ #endif /* CONFIG_HOTPLUG_CPU */ void set_rq_online(struct rq *rq) -@@ -7099,6 +7130,10 @@ int sched_cpu_deactivate(unsigned int cpu) +@@ -7094,6 +7125,10 @@ int sched_cpu_deactivate(unsigned int cpu) return ret; } sched_domains_numa_masks_clear(cpu); @@ -94,7 +94,7 @@ return 0; } -@@ -7339,6 +7374,9 @@ void __init sched_init(void) +@@ -7334,6 +7369,9 @@ void __init sched_init(void) rq_csd_init(rq, &rq->nohz_csd, nohz_csd_func); #endif @@ -105,7 +105,7 @@ hrtick_rq_init(rq); atomic_set(&rq->nr_iowait, 0); diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h -index ebc844077eb5..7e01fb07c500 100644 +index 81dc4212423a..a72464d370cd 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -1007,6 +1007,10 @@ struct rq { @@ -120,5 +120,5 @@ #ifdef CONFIG_IRQ_TIME_ACCOUNTING -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0006-workqueue-Manually-break-affinity-on-hotplug.patch linux-5.10.205/debian/patches-rt/0006-workqueue-Manually-break-affinity-on-hotplug.patch --- linux-5.10.197/debian/patches-rt/0006-workqueue-Manually-break-affinity-on-hotplug.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0006-workqueue-Manually-break-affinity-on-hotplug.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From f28a67e0afbe92b30e6a0f2bc74f4730cd79d6e2 Mon Sep 17 00:00:00 2001 +From e3372f0d43a35f1070d1689e6aa1f84d6cd9784b Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 23 Oct 2020 12:12:03 +0200 -Subject: [PATCH 006/321] workqueue: Manually break affinity on hotplug -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 006/323] workqueue: Manually break affinity on hotplug +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Don't rely on the scheduler to force break affinity for us -- it will stop doing that for per-cpu-kthreads. @@ -15,10 +15,10 @@ 1 file changed, 4 insertions(+) diff --git a/kernel/workqueue.c b/kernel/workqueue.c -index b9041ab881bc..a4bf2ac07471 100644 +index 63140e4dd5df..7c14773dc4c4 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c -@@ -4929,6 +4929,10 @@ static void unbind_workers(int cpu) +@@ -4941,6 +4941,10 @@ static void unbind_workers(int cpu) pool->flags |= POOL_DISASSOCIATED; raw_spin_unlock_irq(&pool->lock); @@ -30,5 +30,5 @@ /* -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0007-sched-hotplug-Consolidate-task-migration-on-CPU-unpl.patch linux-5.10.205/debian/patches-rt/0007-sched-hotplug-Consolidate-task-migration-on-CPU-unpl.patch --- linux-5.10.197/debian/patches-rt/0007-sched-hotplug-Consolidate-task-migration-on-CPU-unpl.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0007-sched-hotplug-Consolidate-task-migration-on-CPU-unpl.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 4fbcdebe15b26af71065533563c547ed69b86c0a Mon Sep 17 00:00:00 2001 +From 61ebefbbf2500f6ade2182806061526bbde76a28 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 23 Oct 2020 12:12:04 +0200 -Subject: [PATCH 007/321] sched/hotplug: Consolidate task migration on CPU +Subject: [PATCH 007/323] sched/hotplug: Consolidate task migration on CPU unplug -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz With the new mechanism which kicks tasks off the outgoing CPU at the end of schedule() the situation on an outgoing CPU right before the stopper thread @@ -39,10 +39,10 @@ 4 files changed, 46 insertions(+), 120 deletions(-) diff --git a/include/linux/cpuhotplug.h b/include/linux/cpuhotplug.h -index cb87247da5ba..3b25a084f971 100644 +index f5a5df3a8cfd..daf39c04a552 100644 --- a/include/linux/cpuhotplug.h +++ b/include/linux/cpuhotplug.h -@@ -153,6 +153,7 @@ enum cpuhp_state { +@@ -155,6 +155,7 @@ enum cpuhp_state { CPUHP_AP_ONLINE, CPUHP_TEARDOWN_CPU, CPUHP_AP_ONLINE_IDLE, @@ -66,10 +66,10 @@ #endif diff --git a/kernel/cpu.c b/kernel/cpu.c -index 008b50da2224..65daa7ec0f23 100644 +index abf717c4f57c..f8280edb679f 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c -@@ -1668,7 +1668,7 @@ static struct cpuhp_step cpuhp_hp_states[] = { +@@ -1674,7 +1674,7 @@ static struct cpuhp_step cpuhp_hp_states[] = { .name = "ap:online", }, /* @@ -78,7 +78,7 @@ * this itself. */ [CPUHP_TEARDOWN_CPU] = { -@@ -1677,6 +1677,13 @@ static struct cpuhp_step cpuhp_hp_states[] = { +@@ -1683,6 +1683,13 @@ static struct cpuhp_step cpuhp_hp_states[] = { .teardown.single = takedown_cpu, .cant_stop = true, }, @@ -93,10 +93,10 @@ [CPUHP_AP_SMPBOOT_THREADS] = { .name = "smpboot/threads:online", diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index a319e888eb51..27df1e4098a1 100644 +index b902755615d7..a26a82c3e939 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -6746,120 +6746,6 @@ void idle_task_exit(void) +@@ -6741,120 +6741,6 @@ void idle_task_exit(void) /* finish_cpu(), as ran on the BP, will clean up the active_mm state */ } @@ -217,7 +217,7 @@ static int __balance_push_cpu_stop(void *arg) { struct task_struct *p = arg; -@@ -7130,10 +7016,6 @@ int sched_cpu_deactivate(unsigned int cpu) +@@ -7125,10 +7011,6 @@ int sched_cpu_deactivate(unsigned int cpu) return ret; } sched_domains_numa_masks_clear(cpu); @@ -228,7 +228,7 @@ return 0; } -@@ -7153,6 +7035,41 @@ int sched_cpu_starting(unsigned int cpu) +@@ -7148,6 +7030,41 @@ int sched_cpu_starting(unsigned int cpu) } #ifdef CONFIG_HOTPLUG_CPU @@ -270,7 +270,7 @@ int sched_cpu_dying(unsigned int cpu) { struct rq *rq = cpu_rq(cpu); -@@ -7166,7 +7083,6 @@ int sched_cpu_dying(unsigned int cpu) +@@ -7161,7 +7078,6 @@ int sched_cpu_dying(unsigned int cpu) BUG_ON(!cpumask_test_cpu(cpu, rq->rd->span)); set_rq_offline(rq); } @@ -279,5 +279,5 @@ rq_unlock_irqrestore(rq, &rf); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0008-sched-Fix-hotplug-vs-CPU-bandwidth-control.patch linux-5.10.205/debian/patches-rt/0008-sched-Fix-hotplug-vs-CPU-bandwidth-control.patch --- linux-5.10.197/debian/patches-rt/0008-sched-Fix-hotplug-vs-CPU-bandwidth-control.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0008-sched-Fix-hotplug-vs-CPU-bandwidth-control.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From afd20089b3580a2e558c75de3b2db87096c0eae6 Mon Sep 17 00:00:00 2001 +From 36d2d778f786cb7fd55c549911a6055d6b6f40ef Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 23 Oct 2020 12:12:05 +0200 -Subject: [PATCH 008/321] sched: Fix hotplug vs CPU bandwidth control -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 008/323] sched: Fix hotplug vs CPU bandwidth control +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Since we now migrate tasks away before DYING, we should also move bandwidth unthrottle, otherwise we can gain tasks from unthrottle @@ -25,10 +25,10 @@ 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 27df1e4098a1..49a1f2d77a1a 100644 +index a26a82c3e939..c5d5576c67fb 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -6984,6 +6984,8 @@ int sched_cpu_activate(unsigned int cpu) +@@ -6979,6 +6979,8 @@ int sched_cpu_activate(unsigned int cpu) int sched_cpu_deactivate(unsigned int cpu) { @@ -37,7 +37,7 @@ int ret; set_cpu_active(cpu, false); -@@ -6998,6 +7000,14 @@ int sched_cpu_deactivate(unsigned int cpu) +@@ -6993,6 +6995,14 @@ int sched_cpu_deactivate(unsigned int cpu) balance_push_set(cpu, true); @@ -52,7 +52,7 @@ #ifdef CONFIG_SCHED_SMT /* * When going down, decrement the number of cores with SMT present. -@@ -7079,10 +7089,6 @@ int sched_cpu_dying(unsigned int cpu) +@@ -7074,10 +7084,6 @@ int sched_cpu_dying(unsigned int cpu) sched_tick_stop(cpu); rq_lock_irqsave(rq, &rf); @@ -64,10 +64,10 @@ rq_unlock_irqrestore(rq, &rf); diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c -index f59cb3e8a613..c3babac0c8c5 100644 +index d91295d3059f..af8569dbdc9c 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c -@@ -565,7 +565,7 @@ static int push_dl_task(struct rq *rq); +@@ -566,7 +566,7 @@ static int push_dl_task(struct rq *rq); static inline bool need_pull_dl_task(struct rq *rq, struct task_struct *prev) { @@ -90,5 +90,5 @@ static inline int rt_overloaded(struct rq *rq) -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0009-sched-Massage-set_cpus_allowed.patch linux-5.10.205/debian/patches-rt/0009-sched-Massage-set_cpus_allowed.patch --- linux-5.10.197/debian/patches-rt/0009-sched-Massage-set_cpus_allowed.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0009-sched-Massage-set_cpus_allowed.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 2daa9ed483372c75c52219b044e2657e5b8e5b16 Mon Sep 17 00:00:00 2001 +From 1125b34b63aa303af592b0ea5be730dc92ce6d53 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 23 Oct 2020 12:12:06 +0200 -Subject: [PATCH 009/321] sched: Massage set_cpus_allowed() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 009/323] sched: Massage set_cpus_allowed() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Thread a u32 flags word through the *set_cpus_allowed*() callchain. This will allow adding behavioural tweaks for future users. @@ -16,7 +16,7 @@ 3 files changed, 26 insertions(+), 14 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 49a1f2d77a1a..8ca5bb4b7176 100644 +index c5d5576c67fb..569cc5e48e68 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1838,13 +1838,14 @@ static int migration_cpu_stop(void *data) @@ -104,7 +104,7 @@ { return set_cpus_allowed_ptr(p, new_mask); } -@@ -6014,7 +6022,7 @@ long sched_setaffinity(pid_t pid, const struct cpumask *in_mask) +@@ -6022,7 +6030,7 @@ long sched_setaffinity(pid_t pid, const struct cpumask *in_mask) } #endif again: @@ -113,7 +113,7 @@ if (!retval) { cpuset_cpus_allowed(p, cpus_allowed); -@@ -6590,7 +6598,7 @@ void __init init_idle(struct task_struct *idle, int cpu) +@@ -6598,7 +6606,7 @@ void __init init_idle(struct task_struct *idle, int cpu) * * And since this is boot we can forgo the serialization. */ @@ -123,10 +123,10 @@ /* * We're having a chicken and egg problem, even though we are diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c -index c3babac0c8c5..14c8b2d2bcad 100644 +index af8569dbdc9c..5566f157640b 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c -@@ -2310,7 +2310,8 @@ static void task_woken_dl(struct rq *rq, struct task_struct *p) +@@ -2311,7 +2311,8 @@ static void task_woken_dl(struct rq *rq, struct task_struct *p) } static void set_cpus_allowed_dl(struct task_struct *p, @@ -136,7 +136,7 @@ { struct root_domain *src_rd; struct rq *rq; -@@ -2339,7 +2340,7 @@ static void set_cpus_allowed_dl(struct task_struct *p, +@@ -2340,7 +2341,7 @@ static void set_cpus_allowed_dl(struct task_struct *p, raw_spin_unlock(&src_dl_b->lock); } @@ -146,7 +146,7 @@ /* Assumes rq->lock is held */ diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h -index 7e01fb07c500..f337cbdecbd7 100644 +index a72464d370cd..f0f396cc1bee 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -1818,7 +1818,8 @@ struct sched_class { @@ -171,5 +171,5 @@ #endif -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0010-sched-Add-migrate_disable.patch linux-5.10.205/debian/patches-rt/0010-sched-Add-migrate_disable.patch --- linux-5.10.197/debian/patches-rt/0010-sched-Add-migrate_disable.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0010-sched-Add-migrate_disable.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From f3c256e9fad65da3eb8e6ddde52b3e4df9fd6611 Mon Sep 17 00:00:00 2001 +From e9f7c2225ee3e1ce9317762393618c1c81a8febe Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 23 Oct 2020 12:12:07 +0200 -Subject: [PATCH 010/321] sched: Add migrate_disable() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 010/323] sched: Add migrate_disable() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Add the base migrate_disable() support (under protest). @@ -105,7 +105,7 @@ + #endif /* __LINUX_PREEMPT_H */ diff --git a/include/linux/sched.h b/include/linux/sched.h -index 5da4b3c89f63..9cc6f39b1cbb 100644 +index aa015416c569..76907e9876d5 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -726,6 +726,9 @@ struct task_struct { @@ -119,7 +119,7 @@ #ifdef CONFIG_PREEMPT_RCU int rcu_read_lock_nesting; diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 8ca5bb4b7176..c906c110ace1 100644 +index 569cc5e48e68..5c9db4b2b6ec 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1710,6 +1710,61 @@ void check_preempt_curr(struct rq *rq, struct task_struct *p, int flags) @@ -313,7 +313,7 @@ trace_sched_switch(preempt, prev, next); diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h -index f337cbdecbd7..9c350eab0cb5 100644 +index f0f396cc1bee..f3109adda484 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -1906,14 +1906,16 @@ static inline bool sched_fair_runnable(struct rq *rq) @@ -352,5 +352,5 @@ * It is valid to assume CPU-locality during early bootup: */ -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0011-sched-Fix-migrate_disable-vs-set_cpus_allowed_ptr.patch linux-5.10.205/debian/patches-rt/0011-sched-Fix-migrate_disable-vs-set_cpus_allowed_ptr.patch --- linux-5.10.197/debian/patches-rt/0011-sched-Fix-migrate_disable-vs-set_cpus_allowed_ptr.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0011-sched-Fix-migrate_disable-vs-set_cpus_allowed_ptr.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 5600a2347644e0e837fee78c24b6c8ffd5f6e532 Mon Sep 17 00:00:00 2001 +From f6fcadc60ec427b9eeb4b734b77b7b110c050b83 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 23 Oct 2020 12:12:08 +0200 -Subject: [PATCH 011/321] sched: Fix migrate_disable() vs +Subject: [PATCH 011/323] sched: Fix migrate_disable() vs set_cpus_allowed_ptr() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Concurrent migrate_disable() and set_cpus_allowed_ptr() has interesting features. We rely on set_cpus_allowed_ptr() to not return @@ -44,7 +44,7 @@ 2 files changed, 205 insertions(+), 30 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 9cc6f39b1cbb..83447024a7ea 100644 +index 76907e9876d5..5b5c194f5a62 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -726,6 +726,7 @@ struct task_struct { @@ -56,7 +56,7 @@ int migration_disabled; #endif diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index c906c110ace1..31a2758cda25 100644 +index 5c9db4b2b6ec..3af7c42896c9 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1746,15 +1746,26 @@ void migrate_enable(void) @@ -366,5 +366,5 @@ } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0012-sched-core-Make-migrate-disable-and-CPU-hotplug-coop.patch linux-5.10.205/debian/patches-rt/0012-sched-core-Make-migrate-disable-and-CPU-hotplug-coop.patch --- linux-5.10.197/debian/patches-rt/0012-sched-core-Make-migrate-disable-and-CPU-hotplug-coop.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0012-sched-core-Make-migrate-disable-and-CPU-hotplug-coop.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 31593cfe2751fd0a14878c8b7d14c080dc718003 Mon Sep 17 00:00:00 2001 +From 02829fffd43c5fe3e617d07e0a94d5164324449b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 23 Oct 2020 12:12:09 +0200 -Subject: [PATCH 012/321] sched/core: Make migrate disable and CPU hotplug +Subject: [PATCH 012/323] sched/core: Make migrate disable and CPU hotplug cooperative -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz On CPU unplug tasks which are in a migrate disabled region cannot be pushed to a different CPU until they returned to migrateable state. @@ -20,7 +20,7 @@ 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 31a2758cda25..156ae60ec4ce 100644 +index 3af7c42896c9..2517a003295b 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1735,10 +1735,17 @@ static void migrate_disable_switch(struct rq *rq, struct task_struct *p) @@ -75,7 +75,7 @@ #endif static void -@@ -7069,15 +7087,20 @@ static void balance_push(struct rq *rq) +@@ -7064,15 +7082,20 @@ static void balance_push(struct rq *rq) * Both the cpu-hotplug and stop task are in this case and are * required to complete the hotplug process. */ @@ -98,7 +98,7 @@ raw_spin_unlock(&rq->lock); rcuwait_wake_up(&rq->hotplug_wait); raw_spin_lock(&rq->lock); -@@ -7124,7 +7147,8 @@ static void balance_hotplug_wait(void) +@@ -7119,7 +7142,8 @@ static void balance_hotplug_wait(void) { struct rq *rq = this_rq(); @@ -108,7 +108,7 @@ TASK_UNINTERRUPTIBLE); } -@@ -7371,7 +7395,7 @@ int sched_cpu_dying(unsigned int cpu) +@@ -7366,7 +7390,7 @@ int sched_cpu_dying(unsigned int cpu) sched_tick_stop(cpu); rq_lock_irqsave(rq, &rf); @@ -118,7 +118,7 @@ calc_load_migrate(rq); diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h -index 9c350eab0cb5..9f38ae6b76e6 100644 +index f3109adda484..8237c9ab2bb8 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -1057,6 +1057,10 @@ struct rq { @@ -133,5 +133,5 @@ #ifdef CONFIG_FAIR_GROUP_SCHED -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0013-sched-rt-Use-cpumask_any-_distribute.patch linux-5.10.205/debian/patches-rt/0013-sched-rt-Use-cpumask_any-_distribute.patch --- linux-5.10.197/debian/patches-rt/0013-sched-rt-Use-cpumask_any-_distribute.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0013-sched-rt-Use-cpumask_any-_distribute.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From a9f935ade921bd741b290d4fd66258abd3f4fec7 Mon Sep 17 00:00:00 2001 +From 0d3b4a8d9391d1eb1efb998bfcaff013a01466bf Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 23 Oct 2020 12:12:10 +0200 -Subject: [PATCH 013/321] sched,rt: Use cpumask_any*_distribute() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 013/323] sched,rt: Use cpumask_any*_distribute() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Replace a bunch of cpumask_any*() instances with cpumask_any*_distribute(), by injecting this little bit of random in @@ -43,10 +43,10 @@ /** * for_each_cpu - iterate over every cpu in a mask diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c -index 14c8b2d2bcad..949836266d5b 100644 +index 5566f157640b..e64d378e4e87 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c -@@ -2011,8 +2011,8 @@ static int find_later_rq(struct task_struct *task) +@@ -2012,8 +2012,8 @@ static int find_later_rq(struct task_struct *task) return this_cpu; } @@ -57,7 +57,7 @@ /* * Last chance: if a CPU being in both later_mask * and current sd span is valid, that becomes our -@@ -2034,7 +2034,7 @@ static int find_later_rq(struct task_struct *task) +@@ -2035,7 +2035,7 @@ static int find_later_rq(struct task_struct *task) if (this_cpu != -1) return this_cpu; @@ -117,5 +117,5 @@ +} +EXPORT_SYMBOL(cpumask_any_distribute); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0014-sched-rt-Use-the-full-cpumask-for-balancing.patch linux-5.10.205/debian/patches-rt/0014-sched-rt-Use-the-full-cpumask-for-balancing.patch --- linux-5.10.197/debian/patches-rt/0014-sched-rt-Use-the-full-cpumask-for-balancing.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0014-sched-rt-Use-the-full-cpumask-for-balancing.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 4e37801bba0477cd34883e651c4552f942ba5dd0 Mon Sep 17 00:00:00 2001 +From 75c028b5537f7205cfe5aecf8cf6bb61ef1428f6 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 23 Oct 2020 12:12:11 +0200 -Subject: [PATCH 014/321] sched,rt: Use the full cpumask for balancing -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 014/323] sched,rt: Use the full cpumask for balancing +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz We want migrate_disable() tasks to get PULLs in order for them to PUSH away the higher priority task. @@ -57,10 +57,10 @@ /* * We have to ensure that we have at least one bit diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c -index 949836266d5b..0510ca205ad1 100644 +index e64d378e4e87..94977a6ced8b 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c -@@ -1921,7 +1921,7 @@ static void task_fork_dl(struct task_struct *p) +@@ -1922,7 +1922,7 @@ static void task_fork_dl(struct task_struct *p) static int pick_dl_task(struct rq *rq, struct task_struct *p, int cpu) { if (!task_running(rq, p) && @@ -69,7 +69,7 @@ return 1; return 0; } -@@ -2071,7 +2071,7 @@ static struct rq *find_lock_later_rq(struct task_struct *task, struct rq *rq) +@@ -2072,7 +2072,7 @@ static struct rq *find_lock_later_rq(struct task_struct *task, struct rq *rq) /* Retry if something changed. */ if (double_lock_balance(rq, later_rq)) { if (unlikely(task_rq(task) != rq || @@ -101,5 +101,5 @@ !rt_task(task) || !task_on_rq_queued(task))) { -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0015-sched-lockdep-Annotate-pi_lock-recursion.patch linux-5.10.205/debian/patches-rt/0015-sched-lockdep-Annotate-pi_lock-recursion.patch --- linux-5.10.197/debian/patches-rt/0015-sched-lockdep-Annotate-pi_lock-recursion.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0015-sched-lockdep-Annotate-pi_lock-recursion.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 9650dd939e7029e125bb3b3c1aa6e71bc1f3718e Mon Sep 17 00:00:00 2001 +From c0e34a5ef4e854220a216e934ab90f04d4432bdd Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 23 Oct 2020 12:12:12 +0200 -Subject: [PATCH 015/321] sched, lockdep: Annotate ->pi_lock recursion -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 015/323] sched, lockdep: Annotate ->pi_lock recursion +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz There's a valid ->pi_lock recursion issue where the actual PI code tries to wake up the stop task. Make lockdep aware so it doesn't @@ -15,7 +15,7 @@ 1 file changed, 15 insertions(+) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 156ae60ec4ce..4f06e326f737 100644 +index 2517a003295b..abbf01f77a76 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2670,6 +2670,7 @@ int select_task_rq(struct task_struct *p, int cpu, int sd_flags, int wake_flags) @@ -48,5 +48,5 @@ cpu_rq(cpu)->stop = stop; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0016-sched-Fix-migrate_disable-vs-rt-dl-balancing.patch linux-5.10.205/debian/patches-rt/0016-sched-Fix-migrate_disable-vs-rt-dl-balancing.patch --- linux-5.10.197/debian/patches-rt/0016-sched-Fix-migrate_disable-vs-rt-dl-balancing.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0016-sched-Fix-migrate_disable-vs-rt-dl-balancing.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From d777d5b6ecd94b17b80600bebc0e9736b87f6235 Mon Sep 17 00:00:00 2001 +From 8121011ded919f172bbbc7f5c095ca29d83a5aed Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 23 Oct 2020 12:12:13 +0200 -Subject: [PATCH 016/321] sched: Fix migrate_disable() vs rt/dl balancing -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 016/323] sched: Fix migrate_disable() vs rt/dl balancing +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz In order to minimize the interference of migrate_disable() on lower priority tasks, which can be deprived of runtime due to being stuck @@ -86,7 +86,7 @@ * * The reason we have it anyway. diff --git a/include/linux/sched.h b/include/linux/sched.h -index 83447024a7ea..343d2f13345a 100644 +index 5b5c194f5a62..7ca1f3e740dd 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -728,8 +728,9 @@ struct task_struct { @@ -101,7 +101,7 @@ #ifdef CONFIG_PREEMPT_RCU int rcu_read_lock_nesting; diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 4f06e326f737..8e59db48d9e9 100644 +index abbf01f77a76..452fc1dfb143 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1777,11 +1777,6 @@ void migrate_enable(void) @@ -214,10 +214,10 @@ { return false; diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c -index 0510ca205ad1..5ca7a8031fd9 100644 +index 94977a6ced8b..7cf3248894a9 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c -@@ -2138,6 +2138,9 @@ static int push_dl_task(struct rq *rq) +@@ -2139,6 +2139,9 @@ static int push_dl_task(struct rq *rq) return 0; retry: @@ -227,7 +227,7 @@ if (WARN_ON(next_task == rq->curr)) return 0; -@@ -2215,7 +2218,7 @@ static void push_dl_tasks(struct rq *rq) +@@ -2216,7 +2219,7 @@ static void push_dl_tasks(struct rq *rq) static void pull_dl_task(struct rq *this_rq) { int this_cpu = this_rq->cpu, cpu; @@ -236,7 +236,7 @@ bool resched = false; struct rq *src_rq; u64 dmin = LONG_MAX; -@@ -2245,6 +2248,7 @@ static void pull_dl_task(struct rq *this_rq) +@@ -2246,6 +2249,7 @@ static void pull_dl_task(struct rq *this_rq) continue; /* Might drop this_rq->lock */ @@ -244,7 +244,7 @@ double_lock_balance(this_rq, src_rq); /* -@@ -2276,17 +2280,27 @@ static void pull_dl_task(struct rq *this_rq) +@@ -2277,17 +2281,27 @@ static void pull_dl_task(struct rq *this_rq) src_rq->curr->dl.deadline)) goto skip; @@ -278,7 +278,7 @@ } if (resched) -@@ -2535,6 +2549,7 @@ const struct sched_class dl_sched_class +@@ -2548,6 +2562,7 @@ const struct sched_class dl_sched_class .rq_online = rq_online_dl, .rq_offline = rq_offline_dl, .task_woken = task_woken_dl, @@ -427,7 +427,7 @@ .task_tick = task_tick_rt, diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h -index 9f38ae6b76e6..ff6825921999 100644 +index 8237c9ab2bb8..69ef7cac3d29 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -1061,6 +1061,8 @@ struct rq { @@ -491,5 +491,5 @@ #ifdef CONFIG_CPU_IDLE -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0017-sched-proc-Print-accurate-cpumask-vs-migrate_disable.patch linux-5.10.205/debian/patches-rt/0017-sched-proc-Print-accurate-cpumask-vs-migrate_disable.patch --- linux-5.10.197/debian/patches-rt/0017-sched-proc-Print-accurate-cpumask-vs-migrate_disable.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0017-sched-proc-Print-accurate-cpumask-vs-migrate_disable.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 1ca1eb077b8468eb9b0ac86cd0ac829073da9208 Mon Sep 17 00:00:00 2001 +From e8ed7f739c2f8113927b0b3489bc357c36e27040 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 23 Oct 2020 12:12:14 +0200 -Subject: [PATCH 017/321] sched/proc: Print accurate cpumask vs +Subject: [PATCH 017/323] sched/proc: Print accurate cpumask vs migrate_disable() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Ensure /proc/*/status doesn't print 'random' cpumasks due to migrate_disable(). @@ -31,5 +31,5 @@ static inline void task_core_dumping(struct seq_file *m, struct mm_struct *mm) -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0018-sched-Add-migrate_disable-tracepoints.patch linux-5.10.205/debian/patches-rt/0018-sched-Add-migrate_disable-tracepoints.patch --- linux-5.10.197/debian/patches-rt/0018-sched-Add-migrate_disable-tracepoints.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0018-sched-Add-migrate_disable-tracepoints.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 1eaa86d3e44a68ca3c0c9caac5204f7d3e1841d2 Mon Sep 17 00:00:00 2001 +From 8b4906578ce683b9bce7df984b4179519152345f Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 23 Oct 2020 12:12:15 +0200 -Subject: [PATCH 018/321] sched: Add migrate_disable() tracepoints -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 018/323] sched: Add migrate_disable() tracepoints +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz XXX write a tracer: @@ -46,7 +46,7 @@ /* This part must be outside protection */ diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 8e59db48d9e9..11a0ccf6fad7 100644 +index 452fc1dfb143..b5f35b512577 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1742,6 +1742,8 @@ void migrate_disable(void) @@ -68,10 +68,10 @@ EXPORT_SYMBOL_GPL(migrate_enable); diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c -index 5ca7a8031fd9..748fd6b2b220 100644 +index 7cf3248894a9..fcf546cd2eac 100644 --- a/kernel/sched/deadline.c +++ b/kernel/sched/deadline.c -@@ -2281,6 +2281,7 @@ static void pull_dl_task(struct rq *this_rq) +@@ -2282,6 +2282,7 @@ static void pull_dl_task(struct rq *this_rq) goto skip; if (is_migration_disabled(p)) { @@ -106,5 +106,5 @@ } else { deactivate_task(src_rq, p, 0); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0019-sched-Deny-self-issued-__set_cpus_allowed_ptr-when-m.patch linux-5.10.205/debian/patches-rt/0019-sched-Deny-self-issued-__set_cpus_allowed_ptr-when-m.patch --- linux-5.10.197/debian/patches-rt/0019-sched-Deny-self-issued-__set_cpus_allowed_ptr-when-m.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0019-sched-Deny-self-issued-__set_cpus_allowed_ptr-when-m.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 419a8dd88ddb3a158970b749e363c6bd4adf06d7 Mon Sep 17 00:00:00 2001 +From 5857482efa6b272402feb4b063c4273e70dd67fb Mon Sep 17 00:00:00 2001 From: Valentin Schneider Date: Fri, 23 Oct 2020 12:12:16 +0200 -Subject: [PATCH 019/321] sched: Deny self-issued __set_cpus_allowed_ptr() when +Subject: [PATCH 019/323] sched: Deny self-issued __set_cpus_allowed_ptr() when migrate_disable() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz migrate_disable(); set_cpus_allowed_ptr(current, {something excluding task_cpu(current)}); @@ -18,7 +18,7 @@ 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 11a0ccf6fad7..6d5e8249c653 100644 +index b5f35b512577..3b7bb01eecc0 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2254,8 +2254,17 @@ static int __set_cpus_allowed_ptr(struct task_struct *p, @@ -42,5 +42,5 @@ /* * Picking a ~random cpu helps in cases where we are changing affinity -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0020-sched-Comment-affine_move_task.patch linux-5.10.205/debian/patches-rt/0020-sched-Comment-affine_move_task.patch --- linux-5.10.197/debian/patches-rt/0020-sched-Comment-affine_move_task.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0020-sched-Comment-affine_move_task.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 0f597de5bf010092ef5b694cb7318a71ddea5c2d Mon Sep 17 00:00:00 2001 +From ef79ed54f47d3ce342809e4914f4d9cf400f1ae0 Mon Sep 17 00:00:00 2001 From: Valentin Schneider Date: Fri, 23 Oct 2020 12:12:17 +0200 -Subject: [PATCH 020/321] sched: Comment affine_move_task() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 020/323] sched: Comment affine_move_task() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Signed-off-by: Valentin Schneider Signed-off-by: Peter Zijlstra (Intel) @@ -13,7 +13,7 @@ 1 file changed, 79 insertions(+), 2 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 6d5e8249c653..de98b0724d17 100644 +index 3b7bb01eecc0..565d8011c832 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2094,7 +2094,75 @@ void do_set_cpus_allowed(struct task_struct *p, const struct cpumask *new_mask) @@ -126,5 +126,5 @@ return 0; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0021-sched-Unlock-the-rq-in-affine_move_task-error-path.patch linux-5.10.205/debian/patches-rt/0021-sched-Unlock-the-rq-in-affine_move_task-error-path.patch --- linux-5.10.197/debian/patches-rt/0021-sched-Unlock-the-rq-in-affine_move_task-error-path.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0021-sched-Unlock-the-rq-in-affine_move_task-error-path.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 7e6a7dab4f2baf1321b27af2ff8d729825b568af Mon Sep 17 00:00:00 2001 +From 9a34ae4ec3b4af5cc98c8405ea590096a1380af9 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 9 Nov 2020 15:54:03 +0100 -Subject: [PATCH 021/321] sched: Unlock the rq in affine_move_task() error path -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 021/323] sched: Unlock the rq in affine_move_task() error path +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Unlock the rq if returned early in the error path. @@ -14,7 +14,7 @@ 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index de98b0724d17..3b04a39f99b0 100644 +index 565d8011c832..d12d91510789 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2228,8 +2228,10 @@ static int affine_move_task(struct rq *rq, struct task_struct *p, struct rq_flag @@ -30,5 +30,5 @@ if (flags & SCA_MIGRATE_ENABLE) { -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0022-sched-Fix-migration_cpu_stop-WARN.patch linux-5.10.205/debian/patches-rt/0022-sched-Fix-migration_cpu_stop-WARN.patch --- linux-5.10.197/debian/patches-rt/0022-sched-Fix-migration_cpu_stop-WARN.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0022-sched-Fix-migration_cpu_stop-WARN.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 0dd5228465770beee6b05130d48fa7ec831fe1a7 Mon Sep 17 00:00:00 2001 +From 09d09da2b8c97fd09f50deb278f9d4a25b99ad55 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 17 Nov 2020 12:14:51 +0100 -Subject: [PATCH 022/321] sched: Fix migration_cpu_stop() WARN -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 022/323] sched: Fix migration_cpu_stop() WARN +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Oleksandr reported hitting the WARN in the 'task_rq(p) != rq' branch of migration_cpu_stop(). Valentin noted that using cpu_of(rq) in that @@ -21,7 +21,7 @@ 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 3b04a39f99b0..949733522a7f 100644 +index d12d91510789..7d67a0e03f9a 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1929,7 +1929,7 @@ static int migration_cpu_stop(void *data) @@ -43,5 +43,5 @@ } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0023-sched-core-Add-missing-completion-for-affine_move_ta.patch linux-5.10.205/debian/patches-rt/0023-sched-core-Add-missing-completion-for-affine_move_ta.patch --- linux-5.10.197/debian/patches-rt/0023-sched-core-Add-missing-completion-for-affine_move_ta.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0023-sched-core-Add-missing-completion-for-affine_move_ta.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From e6bf7882f64d06e61fe82d76690b1d400b0efe57 Mon Sep 17 00:00:00 2001 +From 5188e4c01f37c8c179cf88261297d546f5d2502e Mon Sep 17 00:00:00 2001 From: Valentin Schneider Date: Fri, 13 Nov 2020 11:24:14 +0000 -Subject: [PATCH 023/321] sched/core: Add missing completion for +Subject: [PATCH 023/323] sched/core: Add missing completion for affine_move_task() waiters -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Qian reported that some fuzzer issuing sched_setaffinity() ends up stuck on a wait_for_completion(). The problematic pattern seems to be: @@ -44,7 +44,7 @@ 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 949733522a7f..f763c4225f78 100644 +index 7d67a0e03f9a..c1e52319669d 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1941,7 +1941,7 @@ static int migration_cpu_stop(void *data) @@ -75,5 +75,5 @@ * When this was migrate_enable() but we no longer have an * @pending, a concurrent SCA 'fixed' things and we should be -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0024-mm-highmem-Un-EXPORT-__kmap_atomic_idx.patch linux-5.10.205/debian/patches-rt/0024-mm-highmem-Un-EXPORT-__kmap_atomic_idx.patch --- linux-5.10.197/debian/patches-rt/0024-mm-highmem-Un-EXPORT-__kmap_atomic_idx.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0024-mm-highmem-Un-EXPORT-__kmap_atomic_idx.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From f33bdbe408d62591709af1c106d96fcfb4aa59e8 Mon Sep 17 00:00:00 2001 +From 44027cc10df8025d820ea864076dae75fb26626d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:13 +0100 -Subject: [PATCH 024/321] mm/highmem: Un-EXPORT __kmap_atomic_idx() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 024/323] mm/highmem: Un-EXPORT __kmap_atomic_idx() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Nothing in modules can use that. @@ -29,5 +29,5 @@ { struct zone *zone; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0025-highmem-Remove-unused-functions.patch linux-5.10.205/debian/patches-rt/0025-highmem-Remove-unused-functions.patch --- linux-5.10.197/debian/patches-rt/0025-highmem-Remove-unused-functions.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0025-highmem-Remove-unused-functions.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From a1cea1f3026e651f675e569b879b7e51978ce918 Mon Sep 17 00:00:00 2001 +From 2060c9ea726ebd649d8d2e596fa2acebef644cd8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:14 +0100 -Subject: [PATCH 025/321] highmem: Remove unused functions -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 025/323] highmem: Remove unused functions +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Nothing uses totalhigh_pages_dec() and totalhigh_pages_set(). @@ -39,5 +39,5 @@ struct page *kmap_to_page(void *addr); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0026-fs-Remove-asm-kmap_types.h-includes.patch linux-5.10.205/debian/patches-rt/0026-fs-Remove-asm-kmap_types.h-includes.patch --- linux-5.10.197/debian/patches-rt/0026-fs-Remove-asm-kmap_types.h-includes.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0026-fs-Remove-asm-kmap_types.h-includes.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 5cc5ccd1b677256570d4f535b24441a39b4e7269 Mon Sep 17 00:00:00 2001 +From 280d9322736bea3870ae507592e1d2880bff8bd9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:15 +0100 -Subject: [PATCH 026/321] fs: Remove asm/kmap_types.h includes -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 026/323] fs: Remove asm/kmap_types.h includes +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Historical leftovers from the time where kmap() had fixed slots. @@ -34,7 +34,7 @@ #include diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h -index bcc6848bb6d6..fabbf6cc45bf 100644 +index 67831868ef0d..17c920aa6bc2 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -17,7 +17,6 @@ @@ -46,5 +46,5 @@ #include #include -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0027-sh-highmem-Remove-all-traces-of-unused-cruft.patch linux-5.10.205/debian/patches-rt/0027-sh-highmem-Remove-all-traces-of-unused-cruft.patch --- linux-5.10.197/debian/patches-rt/0027-sh-highmem-Remove-all-traces-of-unused-cruft.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0027-sh-highmem-Remove-all-traces-of-unused-cruft.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 62aea4b95fe66a73e8b17ffbcba3798778203082 Mon Sep 17 00:00:00 2001 +From 61e1ac8c3bd29dec41ae2f631bb142e26b790de2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:16 +0100 -Subject: [PATCH 027/321] sh/highmem: Remove all traces of unused cruft -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 027/323] sh/highmem: Remove all traces of unused cruft +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz For whatever reasons SH has highmem bits all over the place but does not enable it via Kconfig. Remove the bitrot. @@ -90,5 +90,5 @@ (VMALLOC_END - VMALLOC_START) >> 20, -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0028-asm-generic-Provide-kmap_size.h.patch linux-5.10.205/debian/patches-rt/0028-asm-generic-Provide-kmap_size.h.patch --- linux-5.10.197/debian/patches-rt/0028-asm-generic-Provide-kmap_size.h.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0028-asm-generic-Provide-kmap_size.h.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 6b5d3356dcf02a0c801f009e0077670156297280 Mon Sep 17 00:00:00 2001 +From 5ed7d8c8905e639e711f1a21e5f978fc21585f8c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:17 +0100 -Subject: [PATCH 028/321] asm-generic: Provide kmap_size.h -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 028/323] asm-generic: Provide kmap_size.h +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz kmap_types.h is a misnomer because the old atomic MAP based array does not exist anymore and the whole indirection of architectures including @@ -66,5 +66,5 @@ + +#endif -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0029-highmem-Provide-generic-variant-of-kmap_atomic.patch linux-5.10.205/debian/patches-rt/0029-highmem-Provide-generic-variant-of-kmap_atomic.patch --- linux-5.10.197/debian/patches-rt/0029-highmem-Provide-generic-variant-of-kmap_atomic.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0029-highmem-Provide-generic-variant-of-kmap_atomic.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From f4b589069ce29b995397acfadfb258f483a300e1 Mon Sep 17 00:00:00 2001 +From 4e1b14787f7a2c71a9347db23c402f5dbe2da206 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:18 +0100 -Subject: [PATCH 029/321] highmem: Provide generic variant of kmap_atomic* -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 029/323] highmem: Provide generic variant of kmap_atomic* +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The kmap_atomic* interfaces in all architectures are pretty much the same except for post map operations (flush) and pre- and post unmap operations. @@ -342,5 +342,5 @@ #if defined(HASHED_PAGE_VIRTUAL) -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0030-highmem-Make-DEBUG_HIGHMEM-functional.patch linux-5.10.205/debian/patches-rt/0030-highmem-Make-DEBUG_HIGHMEM-functional.patch --- linux-5.10.197/debian/patches-rt/0030-highmem-Make-DEBUG_HIGHMEM-functional.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0030-highmem-Make-DEBUG_HIGHMEM-functional.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 8d7d694563b3c8e69c1429eef9c73da2d6a6a1a4 Mon Sep 17 00:00:00 2001 +From 4c9348bc5b225c2de1552b059787335345d30d2c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:19 +0100 -Subject: [PATCH 030/321] highmem: Make DEBUG_HIGHMEM functional -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 030/323] highmem: Make DEBUG_HIGHMEM functional +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz For some obscure reason when CONFIG_DEBUG_HIGHMEM is enabled the stack depth is increased from 20 to 41. But the only thing DEBUG_HIGHMEM does is @@ -57,5 +57,5 @@ BUG_ON(idx < 0); } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0031-x86-mm-highmem-Use-generic-kmap-atomic-implementatio.patch linux-5.10.205/debian/patches-rt/0031-x86-mm-highmem-Use-generic-kmap-atomic-implementatio.patch --- linux-5.10.197/debian/patches-rt/0031-x86-mm-highmem-Use-generic-kmap-atomic-implementatio.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0031-x86-mm-highmem-Use-generic-kmap-atomic-implementatio.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From c316ea74ce1f02fc538b1f652a2e310b71f05d4f Mon Sep 17 00:00:00 2001 +From a6456b1e46c0a3b8ad0a9dd3afaeb69c037ad289 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:20 +0100 -Subject: [PATCH 031/321] x86/mm/highmem: Use generic kmap atomic +Subject: [PATCH 031/323] x86/mm/highmem: Use generic kmap atomic implementation -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Convert X86 to the generic kmap atomic implementation and make the iomap_atomic() naming convention consistent while at it. @@ -28,7 +28,7 @@ delete mode 100644 arch/x86/include/asm/kmap_types.h diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 2284666e8c90..d5ac2181109b 100644 +index 6dc670e36393..54e5284a6ae1 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -15,6 +15,7 @@ config X86_32 @@ -385,5 +385,5 @@ #endif #endif -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0032-arc-mm-highmem-Use-generic-kmap-atomic-implementatio.patch linux-5.10.205/debian/patches-rt/0032-arc-mm-highmem-Use-generic-kmap-atomic-implementatio.patch --- linux-5.10.197/debian/patches-rt/0032-arc-mm-highmem-Use-generic-kmap-atomic-implementatio.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0032-arc-mm-highmem-Use-generic-kmap-atomic-implementatio.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 010df217bf645dac1e4b58719fdb69388d82c828 Mon Sep 17 00:00:00 2001 +From 7eeaddc0ba0792dd0d8a1f5f167ff44230b77855 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:21 +0100 -Subject: [PATCH 032/321] arc/mm/highmem: Use generic kmap atomic +Subject: [PATCH 032/323] arc/mm/highmem: Use generic kmap atomic implementation -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Adopt the map ordering to match the other architectures and the generic code. Also make the maximum entries limited and not dependend on the number @@ -208,5 +208,5 @@ + alloc_kmap_pgtable(FIXMAP_BASE); } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0033-ARM-highmem-Switch-to-generic-kmap-atomic.patch linux-5.10.205/debian/patches-rt/0033-ARM-highmem-Switch-to-generic-kmap-atomic.patch --- linux-5.10.197/debian/patches-rt/0033-ARM-highmem-Switch-to-generic-kmap-atomic.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0033-ARM-highmem-Switch-to-generic-kmap-atomic.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From b959ae663bcc279da3ee7e8e441bb87adfa0b611 Mon Sep 17 00:00:00 2001 +From 007968641a299ffd9fd631d7f67fc119aaf9ac5d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:22 +0100 -Subject: [PATCH 033/321] ARM: highmem: Switch to generic kmap atomic -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 033/323] ARM: highmem: Switch to generic kmap atomic +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz No reason having the same code in every architecture. @@ -23,10 +23,10 @@ delete mode 100644 arch/arm/mm/highmem.c diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index 985ab0b091a6..f1c8571ac23b 100644 +index 335308aff6ce..c01251683018 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -1496,6 +1496,7 @@ config HAVE_ARCH_PFN_VALID +@@ -1497,6 +1497,7 @@ config HAVE_ARCH_PFN_VALID config HIGHMEM bool "High Memory Support" depends on MMU @@ -267,5 +267,5 @@ - return (void *)vaddr; -} -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0034-csky-mm-highmem-Switch-to-generic-kmap-atomic.patch linux-5.10.205/debian/patches-rt/0034-csky-mm-highmem-Switch-to-generic-kmap-atomic.patch --- linux-5.10.197/debian/patches-rt/0034-csky-mm-highmem-Switch-to-generic-kmap-atomic.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0034-csky-mm-highmem-Switch-to-generic-kmap-atomic.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 4e6fcf93ca3c9c0c59bfe783ade0aed24fd491d7 Mon Sep 17 00:00:00 2001 +From 3af9ca89d4398239a71471cffb488e3104990e23 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:23 +0100 -Subject: [PATCH 034/321] csky/mm/highmem: Switch to generic kmap atomic -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 034/323] csky/mm/highmem: Switch to generic kmap atomic +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz No reason having the same code in every architecture. @@ -175,5 +175,5 @@ - kmap_pte = pte_offset_kernel((pmd_t *)pgd_offset_k(vaddr), vaddr); -} -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0035-microblaze-mm-highmem-Switch-to-generic-kmap-atomic.patch linux-5.10.205/debian/patches-rt/0035-microblaze-mm-highmem-Switch-to-generic-kmap-atomic.patch --- linux-5.10.197/debian/patches-rt/0035-microblaze-mm-highmem-Switch-to-generic-kmap-atomic.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0035-microblaze-mm-highmem-Switch-to-generic-kmap-atomic.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 8db788b02c6b0ee585a5c230975b9a16eda17222 Mon Sep 17 00:00:00 2001 +From bfdad55346f7206cf980bbd6cbc264082c54ae0c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:24 +0100 -Subject: [PATCH 035/321] microblaze/mm/highmem: Switch to generic kmap atomic -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 035/323] microblaze/mm/highmem: Switch to generic kmap atomic +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz No reason having the same code in every architecture. @@ -193,5 +193,5 @@ static void highmem_setup(void) -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0036-mips-mm-highmem-Switch-to-generic-kmap-atomic.patch linux-5.10.205/debian/patches-rt/0036-mips-mm-highmem-Switch-to-generic-kmap-atomic.patch --- linux-5.10.197/debian/patches-rt/0036-mips-mm-highmem-Switch-to-generic-kmap-atomic.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0036-mips-mm-highmem-Switch-to-generic-kmap-atomic.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From d0680563749d13d803172ffe24ee50984f46d784 Mon Sep 17 00:00:00 2001 +From 5ff7160041ca1461c70a70237f3c6a4b09d54472 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:25 +0100 -Subject: [PATCH 036/321] mips/mm/highmem: Switch to generic kmap atomic -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 036/323] mips/mm/highmem: Switch to generic kmap atomic +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz No reason having the same code in every architecture @@ -21,10 +21,10 @@ delete mode 100644 arch/mips/include/asm/kmap_types.h diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig -index 3442bdd4314c..30622f2e286a 100644 +index 18ebacf29889..0e02b2e6ee06 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -2730,6 +2730,7 @@ config WAR_MIPS34K_MISSED_ITLB +@@ -2733,6 +2733,7 @@ config WAR_MIPS34K_MISSED_ITLB config HIGHMEM bool "High Memory Support" depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM && !CPU_MIPS32_3_5_EVA @@ -215,5 +215,5 @@ max_zone_pfns[ZONE_DMA] = MAX_DMA_PFN; #endif -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0037-nds32-mm-highmem-Switch-to-generic-kmap-atomic.patch linux-5.10.205/debian/patches-rt/0037-nds32-mm-highmem-Switch-to-generic-kmap-atomic.patch --- linux-5.10.197/debian/patches-rt/0037-nds32-mm-highmem-Switch-to-generic-kmap-atomic.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0037-nds32-mm-highmem-Switch-to-generic-kmap-atomic.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 2de0aa37cc821194c62539c92f236220d9522ca9 Mon Sep 17 00:00:00 2001 +From bc36ab505c69bbf7d37b57cb983ca97b198c44df Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:26 +0100 -Subject: [PATCH 037/321] nds32/mm/highmem: Switch to generic kmap atomic -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 037/323] nds32/mm/highmem: Switch to generic kmap atomic +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The mapping code is odd and looks broken. See FIXME in the comment. @@ -163,5 +163,5 @@ -} -EXPORT_SYMBOL(kunmap_atomic_high); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0038-powerpc-mm-highmem-Switch-to-generic-kmap-atomic.patch linux-5.10.205/debian/patches-rt/0038-powerpc-mm-highmem-Switch-to-generic-kmap-atomic.patch --- linux-5.10.197/debian/patches-rt/0038-powerpc-mm-highmem-Switch-to-generic-kmap-atomic.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0038-powerpc-mm-highmem-Switch-to-generic-kmap-atomic.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From e15839fe8974bc026cf1a3973e1cd2aa10103fd7 Mon Sep 17 00:00:00 2001 +From 6d7d749a6b27ada63e8be5d1903d336538b40702 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:27 +0100 -Subject: [PATCH 038/321] powerpc/mm/highmem: Switch to generic kmap atomic -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 038/323] powerpc/mm/highmem: Switch to generic kmap atomic +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz No reason having the same code in every architecture @@ -192,7 +192,7 @@ -} -EXPORT_SYMBOL(kunmap_atomic_high); diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c -index 1ed276d2305f..ae7c136ed188 100644 +index 08e3422eb792..1faa0789871d 100644 --- a/arch/powerpc/mm/mem.c +++ b/arch/powerpc/mm/mem.c @@ -63,11 +63,6 @@ @@ -217,5 +217,5 @@ printk(KERN_DEBUG "Top of RAM: 0x%llx, Total RAM: 0x%llx\n", -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0039-sparc-mm-highmem-Switch-to-generic-kmap-atomic.patch linux-5.10.205/debian/patches-rt/0039-sparc-mm-highmem-Switch-to-generic-kmap-atomic.patch --- linux-5.10.197/debian/patches-rt/0039-sparc-mm-highmem-Switch-to-generic-kmap-atomic.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0039-sparc-mm-highmem-Switch-to-generic-kmap-atomic.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From b4965a43787917b90ae080add73ccaf4ec84777e Mon Sep 17 00:00:00 2001 +From 859a29e0206dcd137ea0db376a846246f1071bfb Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:28 +0100 -Subject: [PATCH 039/321] sparc/mm/highmem: Switch to generic kmap atomic -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 039/323] sparc/mm/highmem: Switch to generic kmap atomic +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz No reason having the same code in every architecture @@ -23,10 +23,10 @@ delete mode 100644 arch/sparc/mm/highmem.c diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig -index b5ed89342059..6197c87bd1dc 100644 +index 7e2ce4c8d657..1a6e4b187861 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig -@@ -139,6 +139,7 @@ config MMU +@@ -140,6 +140,7 @@ config MMU config HIGHMEM bool default y if SPARC32 @@ -250,5 +250,5 @@ unsigned long max_zone_pfn[MAX_NR_ZONES] = { 0 }; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0040-xtensa-mm-highmem-Switch-to-generic-kmap-atomic.patch linux-5.10.205/debian/patches-rt/0040-xtensa-mm-highmem-Switch-to-generic-kmap-atomic.patch --- linux-5.10.197/debian/patches-rt/0040-xtensa-mm-highmem-Switch-to-generic-kmap-atomic.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0040-xtensa-mm-highmem-Switch-to-generic-kmap-atomic.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 5ad0e4464ce4c7b906627640437f3a3777ac2770 Mon Sep 17 00:00:00 2001 +From 716b526a73eff1c6b44a898c5e66ee2569f7280d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:29 +0100 -Subject: [PATCH 040/321] xtensa/mm/highmem: Switch to generic kmap atomic -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 040/323] xtensa/mm/highmem: Switch to generic kmap atomic +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz No reason having the same code in every architecture @@ -162,5 +162,5 @@ kmap_waitqueues_init(); } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0041-highmem-Get-rid-of-kmap_types.h.patch linux-5.10.205/debian/patches-rt/0041-highmem-Get-rid-of-kmap_types.h.patch --- linux-5.10.197/debian/patches-rt/0041-highmem-Get-rid-of-kmap_types.h.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0041-highmem-Get-rid-of-kmap_types.h.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From dce995889fd468f4b7388d102a281810aebdf4b7 Mon Sep 17 00:00:00 2001 +From 78d1ee2f2f990b4876ce2e64c637a660911a903d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:30 +0100 -Subject: [PATCH 041/321] highmem: Get rid of kmap_types.h -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 041/323] highmem: Get rid of kmap_types.h +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The header is not longer used and on alpha, ia64, openrisc, parisc and um it was completely unused anyway as these architectures have no highmem @@ -185,5 +185,5 @@ * Outside of CONFIG_HIGHMEM to support X86 32bit iomap_atomic() cruft. */ -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0042-mm-highmem-Remove-the-old-kmap_atomic-cruft.patch linux-5.10.205/debian/patches-rt/0042-mm-highmem-Remove-the-old-kmap_atomic-cruft.patch --- linux-5.10.197/debian/patches-rt/0042-mm-highmem-Remove-the-old-kmap_atomic-cruft.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0042-mm-highmem-Remove-the-old-kmap_atomic-cruft.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 72851b03fb95a4493d84de5a2ea2afbd34e21e8a Mon Sep 17 00:00:00 2001 +From 2840eec439f3e1788047259d10994b555020de40 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:31 +0100 -Subject: [PATCH 042/321] mm/highmem: Remove the old kmap_atomic cruft -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 042/323] mm/highmem: Remove the old kmap_atomic cruft +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz All users gone. @@ -135,5 +135,5 @@ # define arch_kmap_local_pre_unmap(vaddr) do { } while (0) #endif -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0043-io-mapping-Cleanup-atomic-iomap.patch linux-5.10.205/debian/patches-rt/0043-io-mapping-Cleanup-atomic-iomap.patch --- linux-5.10.197/debian/patches-rt/0043-io-mapping-Cleanup-atomic-iomap.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0043-io-mapping-Cleanup-atomic-iomap.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 1c75a718f0b5043a5f503c83bc5cc02a1e1e9d01 Mon Sep 17 00:00:00 2001 +From d1b454a9410a5cb2d9dcd0ef4bc330d04847f302 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:32 +0100 -Subject: [PATCH 043/321] io-mapping: Cleanup atomic iomap -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 043/323] io-mapping: Cleanup atomic iomap +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Switch the atomic iomap implementation over to kmap_local and stick the preempt/pagefault mechanics into the generic code similar to the @@ -86,5 +86,5 @@ static inline void __iomem * -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0044-Documentation-io-mapping-Remove-outdated-blurb.patch linux-5.10.205/debian/patches-rt/0044-Documentation-io-mapping-Remove-outdated-blurb.patch --- linux-5.10.197/debian/patches-rt/0044-Documentation-io-mapping-Remove-outdated-blurb.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0044-Documentation-io-mapping-Remove-outdated-blurb.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 04888d515f0f7983e20594cc2a1127668f376f49 Mon Sep 17 00:00:00 2001 +From edd5c644d78fbd912f6386c97ed2b4eaf2b58b47 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:33 +0100 -Subject: [PATCH 044/321] Documentation/io-mapping: Remove outdated blurb -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 044/323] Documentation/io-mapping: Remove outdated blurb +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The implementation details in the documentation are outdated and not really helpful. Remove them. @@ -44,5 +44,5 @@ -performs an IPI to inform all processors about the new mapping. This results -in a significant performance penalty. -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0045-highmem-High-implementation-details-and-document-API.patch linux-5.10.205/debian/patches-rt/0045-highmem-High-implementation-details-and-document-API.patch --- linux-5.10.197/debian/patches-rt/0045-highmem-High-implementation-details-and-document-API.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0045-highmem-High-implementation-details-and-document-API.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 8bd645893d45fae9fb0cb1ec6edb7cc313c04a72 Mon Sep 17 00:00:00 2001 +From e9f16e3d48ba9b1d37ae050de3e84e147133b84c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:34 +0100 -Subject: [PATCH 045/321] highmem: High implementation details and document API -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 045/323] highmem: High implementation details and document API +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Move the gory details of kmap & al into a private header and only document the interfaces which are usable by drivers. @@ -540,5 +540,5 @@ lock_kmap(); flush_all_zero_pkmaps(); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0046-sched-Make-migrate_disable-enable-independent-of-RT.patch linux-5.10.205/debian/patches-rt/0046-sched-Make-migrate_disable-enable-independent-of-RT.patch --- linux-5.10.197/debian/patches-rt/0046-sched-Make-migrate_disable-enable-independent-of-RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0046-sched-Make-migrate_disable-enable-independent-of-RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 3c342106d01eb55886408f043980eb1fe1a5a3cf Mon Sep 17 00:00:00 2001 +From 2a81a49976b336ce93ef823a5db96ce960096478 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:35 +0100 -Subject: [PATCH 046/321] sched: Make migrate_disable/enable() independent of +Subject: [PATCH 046/323] sched: Make migrate_disable/enable() independent of RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Now that the scheduler can deal with migrate disable properly, there is no real compelling reason to make it only available for RT. @@ -150,7 +150,7 @@ #endif /* __LINUX_PREEMPT_H */ diff --git a/include/linux/sched.h b/include/linux/sched.h -index 343d2f13345a..d846b0d1427d 100644 +index 7ca1f3e740dd..bff48e9f32db 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -727,7 +727,7 @@ struct task_struct { @@ -163,7 +163,7 @@ #endif unsigned short migration_flags; diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index f763c4225f78..b12ea31dff14 100644 +index c1e52319669d..8a6135a0b2ee 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1710,8 +1710,6 @@ void check_preempt_curr(struct rq *rq, struct task_struct *p, int flags) @@ -213,7 +213,7 @@ static void ttwu_stat(struct task_struct *p, int cpu, int wake_flags) -@@ -7907,6 +7899,39 @@ void __cant_sleep(const char *file, int line, int preempt_offset) +@@ -7902,6 +7894,39 @@ void __cant_sleep(const char *file, int line, int preempt_offset) add_taint(TAINT_WARN, LOCKDEP_STILL_OK); } EXPORT_SYMBOL_GPL(__cant_sleep); @@ -254,7 +254,7 @@ #ifdef CONFIG_MAGIC_SYSRQ diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h -index ff6825921999..159d92a8452d 100644 +index 69ef7cac3d29..c26b1c7009f4 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -1058,7 +1058,7 @@ struct rq { @@ -289,5 +289,5 @@ goto out; #endif -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0047-sched-highmem-Store-local-kmaps-in-task-struct.patch linux-5.10.205/debian/patches-rt/0047-sched-highmem-Store-local-kmaps-in-task-struct.patch --- linux-5.10.197/debian/patches-rt/0047-sched-highmem-Store-local-kmaps-in-task-struct.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0047-sched-highmem-Store-local-kmaps-in-task-struct.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From c425801f2be15f7e4af472e33a26e6bab4e1bfd6 Mon Sep 17 00:00:00 2001 +From 7aa261f53a405c0862f4857b46ef3344bbe6385f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:36 +0100 -Subject: [PATCH 047/321] sched: highmem: Store local kmaps in task struct -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 047/323] sched: highmem: Store local kmaps in task struct +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Instead of storing the map per CPU provide and use per task storage. That prepares for local kmaps which are preemptible. @@ -52,7 +52,7 @@ #ifdef CONFIG_HIGHMEM diff --git a/include/linux/sched.h b/include/linux/sched.h -index d846b0d1427d..08b5804c29ec 100644 +index bff48e9f32db..82de1ab42497 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -34,6 +34,7 @@ @@ -106,10 +106,10 @@ lockdep_sys_exit(); } diff --git a/kernel/fork.c b/kernel/fork.c -index c6a289317e89..58fc874f9f3b 100644 +index 633b0af1d1a7..32b9d7205ac1 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -934,6 +934,7 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node) +@@ -942,6 +942,7 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node) account_kernel_stack(tsk, 1); kcov_task_init(tsk); @@ -118,7 +118,7 @@ #ifdef CONFIG_FAULT_INJECTION tsk->fail_nth = 0; diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index b12ea31dff14..780517055359 100644 +index 8a6135a0b2ee..390b51366f5e 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -4092,6 +4092,22 @@ static inline void finish_lock_switch(struct rq *rq) @@ -305,5 +305,5 @@ #if defined(HASHED_PAGE_VIRTUAL) -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0048-mm-highmem-Provide-kmap_local.patch linux-5.10.205/debian/patches-rt/0048-mm-highmem-Provide-kmap_local.patch --- linux-5.10.197/debian/patches-rt/0048-mm-highmem-Provide-kmap_local.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0048-mm-highmem-Provide-kmap_local.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 87ca8d3d9af2a15b96027716342b690bb2fd8640 Mon Sep 17 00:00:00 2001 +From 452c4c8536ea017ed0f82287834e7cfa2f751488 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:37 +0100 -Subject: [PATCH 048/321] mm/highmem: Provide kmap_local* -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 048/323] mm/highmem: Provide kmap_local* +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Now that the kmap atomic index is stored in task struct provide a preemptible variant. On context switch the maps of an outgoing task are @@ -203,5 +203,5 @@ EXPORT_SYMBOL(kunmap_local_indexed); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0049-io-mapping-Provide-iomap_local-variant.patch linux-5.10.205/debian/patches-rt/0049-io-mapping-Provide-iomap_local-variant.patch --- linux-5.10.197/debian/patches-rt/0049-io-mapping-Provide-iomap_local-variant.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0049-io-mapping-Provide-iomap_local-variant.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 24599bd46e008335b5bba4a8da82ca2316fb418e Mon Sep 17 00:00:00 2001 +From 223ef1707ad3b008f96df3f4d263d2cdeed3ef65 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:38 +0100 -Subject: [PATCH 049/321] io-mapping: Provide iomap_local variant -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 049/323] io-mapping: Provide iomap_local variant +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Similar to kmap local provide a iomap local variant which only disables migration, but neither disables pagefaults nor preemption. @@ -175,5 +175,5 @@ static inline struct io_mapping * io_mapping_create_wc(resource_size_t base, -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0050-x86-crashdump-32-Simplify-copy_oldmem_page.patch linux-5.10.205/debian/patches-rt/0050-x86-crashdump-32-Simplify-copy_oldmem_page.patch --- linux-5.10.197/debian/patches-rt/0050-x86-crashdump-32-Simplify-copy_oldmem_page.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0050-x86-crashdump-32-Simplify-copy_oldmem_page.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 4fbb44ac6eab2c31a368834b2fba52efab060fae Mon Sep 17 00:00:00 2001 +From 9d9dd47b77d859a1261ac0dc98d94018bb5bb6a0 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:39 +0100 -Subject: [PATCH 050/321] x86/crashdump/32: Simplify copy_oldmem_page() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 050/323] x86/crashdump/32: Simplify copy_oldmem_page() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Replace kmap_atomic_pfn() with kmap_local_pfn() which is preemptible and can take page faults. @@ -95,5 +95,5 @@ } -arch_initcall(kdump_buf_page_init); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0051-mips-crashdump-Simplify-copy_oldmem_page.patch linux-5.10.205/debian/patches-rt/0051-mips-crashdump-Simplify-copy_oldmem_page.patch --- linux-5.10.197/debian/patches-rt/0051-mips-crashdump-Simplify-copy_oldmem_page.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0051-mips-crashdump-Simplify-copy_oldmem_page.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 1e0e484f82a199454bfa5bb2d7985531263fab72 Mon Sep 17 00:00:00 2001 +From 1aeac707162ce43fc0ae9c45df5a8a4535de2332 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:40 +0100 -Subject: [PATCH 051/321] mips/crashdump: Simplify copy_oldmem_page() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 051/323] mips/crashdump: Simplify copy_oldmem_page() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Replace kmap_atomic_pfn() with kmap_local_pfn() which is preemptible and can take page faults. @@ -91,5 +91,5 @@ -} -arch_initcall(kdump_buf_page_init); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0052-ARM-mm-Replace-kmap_atomic_pfn.patch linux-5.10.205/debian/patches-rt/0052-ARM-mm-Replace-kmap_atomic_pfn.patch --- linux-5.10.197/debian/patches-rt/0052-ARM-mm-Replace-kmap_atomic_pfn.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0052-ARM-mm-Replace-kmap_atomic_pfn.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 2cba34c92cd68642415558947379e21dabeb6d0f Mon Sep 17 00:00:00 2001 +From d74735ac58543c778598c75bccd45aa527acf03c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:41 +0100 -Subject: [PATCH 052/321] ARM: mm: Replace kmap_atomic_pfn() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 052/323] ARM: mm: Replace kmap_atomic_pfn() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz There is no requirement to disable pagefaults and preemption for these cache management mappings. @@ -67,5 +67,5 @@ return va + (pa_offset >> (32 - PAGE_SHIFT)); #else -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0053-highmem-Remove-kmap_atomic_pfn.patch linux-5.10.205/debian/patches-rt/0053-highmem-Remove-kmap_atomic_pfn.patch --- linux-5.10.197/debian/patches-rt/0053-highmem-Remove-kmap_atomic_pfn.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0053-highmem-Remove-kmap_atomic_pfn.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 11584e13a304c6010e24a0da104c78b862909ad8 Mon Sep 17 00:00:00 2001 +From 766aabba108ec5697bed86d6ec633151b7f3618e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:42 +0100 -Subject: [PATCH 053/321] highmem: Remove kmap_atomic_pfn() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 053/323] highmem: Remove kmap_atomic_pfn() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz No more users. @@ -43,5 +43,5 @@ { #ifdef ARCH_HAS_FLUSH_ON_KUNMAP -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0054-drm-ttm-Replace-kmap_atomic-usage.patch linux-5.10.205/debian/patches-rt/0054-drm-ttm-Replace-kmap_atomic-usage.patch --- linux-5.10.197/debian/patches-rt/0054-drm-ttm-Replace-kmap_atomic-usage.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0054-drm-ttm-Replace-kmap_atomic-usage.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From f52d1cad8c1b3f4417274fc148068dbd030bc6c8 Mon Sep 17 00:00:00 2001 +From 818c332a89ac4310c59f7ad122bdb4a6e0aac518 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:43 +0100 -Subject: [PATCH 054/321] drm/ttm: Replace kmap_atomic() usage -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 054/323] drm/ttm: Replace kmap_atomic() usage +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz There is no reason to disable pagefaults and preemption as a side effect of kmap_atomic_prot(). @@ -26,7 +26,7 @@ 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/ttm/ttm_bo_util.c b/drivers/gpu/drm/ttm/ttm_bo_util.c -index fb2a25f8408f..164b9a015d32 100644 +index 1968df9743fc..79b9c883431a 100644 --- a/drivers/gpu/drm/ttm/ttm_bo_util.c +++ b/drivers/gpu/drm/ttm/ttm_bo_util.c @@ -181,13 +181,15 @@ static int ttm_copy_io_ttm_page(struct ttm_tt *ttm, void *src, @@ -70,5 +70,5 @@ return 0; } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0055-drm-vmgfx-Replace-kmap_atomic.patch linux-5.10.205/debian/patches-rt/0055-drm-vmgfx-Replace-kmap_atomic.patch --- linux-5.10.197/debian/patches-rt/0055-drm-vmgfx-Replace-kmap_atomic.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0055-drm-vmgfx-Replace-kmap_atomic.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From fc4966f0097402aa2d979435b8f840f62ab7510a Mon Sep 17 00:00:00 2001 +From 3c21a2a16d681c2be78f257f660f1c8c1b50f7c3 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:44 +0100 -Subject: [PATCH 055/321] drm/vmgfx: Replace kmap_atomic() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 055/323] drm/vmgfx: Replace kmap_atomic() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz There is no reason to disable pagefaults and preemption as a side effect of kmap_atomic_prot(). @@ -100,5 +100,5 @@ return ret; } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0056-highmem-Remove-kmap_atomic_prot.patch linux-5.10.205/debian/patches-rt/0056-highmem-Remove-kmap_atomic_prot.patch --- linux-5.10.197/debian/patches-rt/0056-highmem-Remove-kmap_atomic_prot.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0056-highmem-Remove-kmap_atomic_prot.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 499f711c5b07eb333f14947bfd79ae6422f9b30b Mon Sep 17 00:00:00 2001 +From acac3af33fa7522e3be0f030ec1d80cca2cf215d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:45 +0100 -Subject: [PATCH 056/321] highmem: Remove kmap_atomic_prot() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 056/323] highmem: Remove kmap_atomic_prot() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz No more users. @@ -48,5 +48,5 @@ { #ifdef ARCH_HAS_FLUSH_ON_KUNMAP -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0057-drm-qxl-Replace-io_mapping_map_atomic_wc.patch linux-5.10.205/debian/patches-rt/0057-drm-qxl-Replace-io_mapping_map_atomic_wc.patch --- linux-5.10.197/debian/patches-rt/0057-drm-qxl-Replace-io_mapping_map_atomic_wc.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0057-drm-qxl-Replace-io_mapping_map_atomic_wc.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 24489c84787082e5760f10ef9a0b679a5aee6226 Mon Sep 17 00:00:00 2001 +From 2c90fccccea4cffb6ab5cd779da693cfe82194b8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:46 +0100 -Subject: [PATCH 057/321] drm/qxl: Replace io_mapping_map_atomic_wc() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 057/323] drm/qxl: Replace io_mapping_map_atomic_wc() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz None of these mapping requires the side effect of disabling pagefaults and preemption. @@ -253,5 +253,5 @@ void qxl_release_fence_buffer_objects(struct qxl_release *release) -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0058-drm-nouveau-device-Replace-io_mapping_map_atomic_wc.patch linux-5.10.205/debian/patches-rt/0058-drm-nouveau-device-Replace-io_mapping_map_atomic_wc.patch --- linux-5.10.197/debian/patches-rt/0058-drm-nouveau-device-Replace-io_mapping_map_atomic_wc.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0058-drm-nouveau-device-Replace-io_mapping_map_atomic_wc.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 108598395779b2bc0c6025f25858a40de3ca66e0 Mon Sep 17 00:00:00 2001 +From fa246d15bcd167ad99886a776912530c0ca8d6a7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:47 +0100 -Subject: [PATCH 058/321] drm/nouveau/device: Replace +Subject: [PATCH 058/323] drm/nouveau/device: Replace io_mapping_map_atomic_wc() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Neither fbmem_peek() nor fbmem_poke() require to disable pagefaults and preemption as a side effect of io_mapping_map_atomic_wc(). @@ -50,5 +50,5 @@ static inline bool -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0059-drm-i915-Replace-io_mapping_map_atomic_wc.patch linux-5.10.205/debian/patches-rt/0059-drm-i915-Replace-io_mapping_map_atomic_wc.patch --- linux-5.10.197/debian/patches-rt/0059-drm-i915-Replace-io_mapping_map_atomic_wc.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0059-drm-i915-Replace-io_mapping_map_atomic_wc.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 5b641ba1171939d4dfcd21706f76c47c08f9ccd1 Mon Sep 17 00:00:00 2001 +From 012c96110910f68af41e3914aabb92283a885215 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:48 +0100 -Subject: [PATCH 059/321] drm/i915: Replace io_mapping_map_atomic_wc() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 059/323] drm/i915: Replace io_mapping_map_atomic_wc() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz None of these mapping requires the side effect of disabling pagefaults and preemption. @@ -169,5 +169,5 @@ if (val != n) { pr_err("insert page failed: found %d, expected %d\n", -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0060-io-mapping-Remove-io_mapping_map_atomic_wc.patch linux-5.10.205/debian/patches-rt/0060-io-mapping-Remove-io_mapping_map_atomic_wc.patch --- linux-5.10.197/debian/patches-rt/0060-io-mapping-Remove-io_mapping_map_atomic_wc.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0060-io-mapping-Remove-io_mapping_map_atomic_wc.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 122e6f588e91ff5ab31fab9f2e762cac0aa74b9a Mon Sep 17 00:00:00 2001 +From 925f92c53f78436e9242942d1a31a1ecc61ba740 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 3 Nov 2020 10:27:49 +0100 -Subject: [PATCH 060/321] io-mapping: Remove io_mapping_map_atomic_wc() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 060/323] io-mapping: Remove io_mapping_map_atomic_wc() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz No more users. Get rid of it and remove the traces in documentation. @@ -136,5 +136,5 @@ io_mapping_map_local_wc(struct io_mapping *mapping, unsigned long offset) { -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0061-mm-highmem-Take-kmap_high_get-properly-into-account.patch linux-5.10.205/debian/patches-rt/0061-mm-highmem-Take-kmap_high_get-properly-into-account.patch --- linux-5.10.197/debian/patches-rt/0061-mm-highmem-Take-kmap_high_get-properly-into-account.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0061-mm-highmem-Take-kmap_high_get-properly-into-account.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 4f2c29fa200f60b695e878c6bfd89365054afc96 Mon Sep 17 00:00:00 2001 +From 3df53841fc978eae47eb80dbb4ccaefa880589a7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Nov 2020 11:59:32 +0100 -Subject: [PATCH 061/321] mm/highmem: Take kmap_high_get() properly into +Subject: [PATCH 061/323] mm/highmem: Take kmap_high_get() properly into account -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz kunmap_local() warns when the virtual address to unmap is below PAGE_OFFSET. This is correct except for the case that the mapping was @@ -68,5 +68,5 @@ } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0062-highmem-Don-t-disable-preemption-on-RT-in-kmap_atomi.patch linux-5.10.205/debian/patches-rt/0062-highmem-Don-t-disable-preemption-on-RT-in-kmap_atomi.patch --- linux-5.10.197/debian/patches-rt/0062-highmem-Don-t-disable-preemption-on-RT-in-kmap_atomi.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0062-highmem-Don-t-disable-preemption-on-RT-in-kmap_atomi.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 209b5ecb6e833a5f4a90566e7634380d5c86f786 Mon Sep 17 00:00:00 2001 +From 09d7bcb6eee1e7c9351535a20f60929daca8632d Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 30 Oct 2020 13:59:06 +0100 -Subject: [PATCH 062/321] highmem: Don't disable preemption on RT in +Subject: [PATCH 062/323] highmem: Don't disable preemption on RT in kmap_atomic() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Disabling preemption makes it impossible to acquire sleeping locks within kmap_atomic() section. @@ -67,5 +67,5 @@ static inline unsigned int nr_free_highpages(void) { return 0; } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0063-blk-mq-Don-t-complete-on-a-remote-CPU-in-force-threa.patch linux-5.10.205/debian/patches-rt/0063-blk-mq-Don-t-complete-on-a-remote-CPU-in-force-threa.patch --- linux-5.10.197/debian/patches-rt/0063-blk-mq-Don-t-complete-on-a-remote-CPU-in-force-threa.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0063-blk-mq-Don-t-complete-on-a-remote-CPU-in-force-threa.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 130a8913f28c5244ea1f1d857e99b0fab2b96688 Mon Sep 17 00:00:00 2001 +From f7d87d26b4c9bfd083484542889f392867c1c85b Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 4 Dec 2020 20:13:54 +0100 -Subject: [PATCH 063/321] blk-mq: Don't complete on a remote CPU in force +Subject: [PATCH 063/323] blk-mq: Don't complete on a remote CPU in force threaded mode -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz With force threaded interrupts enabled, raising softirq from an SMP function call will always result in waking the ksoftirqd thread. This is @@ -44,5 +44,5 @@ /* same CPU or cache domain? Complete locally */ if (cpu == rq->mq_ctx->cpu || -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0064-blk-mq-Always-complete-remote-completions-requests-i.patch linux-5.10.205/debian/patches-rt/0064-blk-mq-Always-complete-remote-completions-requests-i.patch --- linux-5.10.197/debian/patches-rt/0064-blk-mq-Always-complete-remote-completions-requests-i.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0064-blk-mq-Always-complete-remote-completions-requests-i.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From f2fa249f87cc90bc4d662ec15ae920611734c34a Mon Sep 17 00:00:00 2001 +From 4397e4a75ac6456a0dd8cf0a99c8250845b022d6 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Sat, 23 Jan 2021 21:10:26 +0100 -Subject: [PATCH 064/321] blk-mq: Always complete remote completions requests +Subject: [PATCH 064/323] blk-mq: Always complete remote completions requests in softirq -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Controllers with multiple queues have their IRQ-handelers pinned to a CPU. The core shouldn't need to complete the request on a remote CPU. @@ -45,5 +45,5 @@ static inline bool blk_mq_complete_need_ipi(struct request *rq) -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0065-blk-mq-Use-llist_head-for-blk_cpu_done.patch linux-5.10.205/debian/patches-rt/0065-blk-mq-Use-llist_head-for-blk_cpu_done.patch --- linux-5.10.197/debian/patches-rt/0065-blk-mq-Use-llist_head-for-blk_cpu_done.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0065-blk-mq-Use-llist_head-for-blk_cpu_done.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 009ff9217bea8078ee3ad34887555f7317c9faac Mon Sep 17 00:00:00 2001 +From a958b1b96b5419f3d9372de0c7851daae941bf47 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Sat, 23 Jan 2021 21:10:27 +0100 -Subject: [PATCH 065/321] blk-mq: Use llist_head for blk_cpu_done -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 065/323] blk-mq: Use llist_head for blk_cpu_done +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz With llist_head it is possible to avoid the locking (the irq-off region) when items are added. This makes it possible to add items on a remote @@ -197,5 +197,5 @@ /* -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0066-lib-test_lockup-Minimum-fix-to-get-it-compiled-on-PR.patch linux-5.10.205/debian/patches-rt/0066-lib-test_lockup-Minimum-fix-to-get-it-compiled-on-PR.patch --- linux-5.10.197/debian/patches-rt/0066-lib-test_lockup-Minimum-fix-to-get-it-compiled-on-PR.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0066-lib-test_lockup-Minimum-fix-to-get-it-compiled-on-PR.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 1997d3b15639d61b27a24279b86db41f65c93963 Mon Sep 17 00:00:00 2001 +From 11e632bdd63b66d70c365424a1ceb502cb0c02ef Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 28 Oct 2020 18:55:27 +0100 -Subject: [PATCH 066/321] lib/test_lockup: Minimum fix to get it compiled on +Subject: [PATCH 066/323] lib/test_lockup: Minimum fix to get it compiled on PREEMPT_RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz On PREEMPT_RT the locks are quite different so they can't be tested as it is done below. The alternative is test for the waitlock within @@ -61,5 +61,5 @@ if ((wait_state != TASK_RUNNING || -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0067-timers-Don-t-block-on-expiry_lock-for-TIMER_IRQSAFE.patch linux-5.10.205/debian/patches-rt/0067-timers-Don-t-block-on-expiry_lock-for-TIMER_IRQSAFE.patch --- linux-5.10.197/debian/patches-rt/0067-timers-Don-t-block-on-expiry_lock-for-TIMER_IRQSAFE.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0067-timers-Don-t-block-on-expiry_lock-for-TIMER_IRQSAFE.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From b0ce9a2781d9ff819ccfe3a872113878620fc428 Mon Sep 17 00:00:00 2001 +From a7d720657001cb31fc09699861f12726418a4bf8 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 2 Nov 2020 14:14:24 +0100 -Subject: [PATCH 067/321] timers: Don't block on ->expiry_lock for +Subject: [PATCH 067/323] timers: Don't block on ->expiry_lock for TIMER_IRQSAFE -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz PREEMPT_RT does not spin and wait until a running timer completes its callback but instead it blocks on a sleeping lock to prevent a deadlock. @@ -56,5 +56,5 @@ ret = try_to_del_timer_sync(timer); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0068-kthread-Move-prio-affinite-change-into-the-newly-cre.patch linux-5.10.205/debian/patches-rt/0068-kthread-Move-prio-affinite-change-into-the-newly-cre.patch --- linux-5.10.197/debian/patches-rt/0068-kthread-Move-prio-affinite-change-into-the-newly-cre.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0068-kthread-Move-prio-affinite-change-into-the-newly-cre.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From a1a4bc31e6272e65e04e686655ae06e5350c720f Mon Sep 17 00:00:00 2001 +From b0fd4a90cb328b61c6fe14df3a7fc4a79745fd2f Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 9 Nov 2020 21:30:41 +0100 -Subject: [PATCH 068/321] kthread: Move prio/affinite change into the newly +Subject: [PATCH 068/323] kthread: Move prio/affinite change into the newly created thread -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz With enabled threaded interrupts the nouveau driver reported the following: @@ -82,5 +82,5 @@ kfree(create); return task; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0069-genirq-Move-prio-assignment-into-the-newly-created-t.patch linux-5.10.205/debian/patches-rt/0069-genirq-Move-prio-assignment-into-the-newly-created-t.patch --- linux-5.10.197/debian/patches-rt/0069-genirq-Move-prio-assignment-into-the-newly-created-t.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0069-genirq-Move-prio-assignment-into-the-newly-created-t.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 92dfed860e4a4963ef5bfbcbaebec2919cb66f42 Mon Sep 17 00:00:00 2001 +From 617294b2f33cec584f48c12d914fcc982f317be5 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 9 Nov 2020 23:32:39 +0100 -Subject: [PATCH 069/321] genirq: Move prio assignment into the newly created +Subject: [PATCH 069/323] genirq: Move prio assignment into the newly created thread -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz With enabled threaded interrupts the nouveau driver reported the following: @@ -59,5 +59,5 @@ * We keep the reference to the task struct even if * the thread dies to avoid that the interrupt code -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0070-notifier-Make-atomic_notifiers-use-raw_spinlock.patch linux-5.10.205/debian/patches-rt/0070-notifier-Make-atomic_notifiers-use-raw_spinlock.patch --- linux-5.10.197/debian/patches-rt/0070-notifier-Make-atomic_notifiers-use-raw_spinlock.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0070-notifier-Make-atomic_notifiers-use-raw_spinlock.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From cbcbb5b7aaa1a3cfbf48b0fd2e8785454b9718d3 Mon Sep 17 00:00:00 2001 +From f603fbc6eaf37d836e3498b47cef43965730bcda Mon Sep 17 00:00:00 2001 From: Valentin Schneider Date: Sun, 22 Nov 2020 20:19:04 +0000 -Subject: [PATCH 070/321] notifier: Make atomic_notifiers use raw_spinlock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 070/323] notifier: Make atomic_notifiers use raw_spinlock +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Booting a recent PREEMPT_RT kernel (v5.10-rc3-rt7-rebase) on my arm64 Juno leads to the idle task blocking on an RT sleeping spinlock down some @@ -128,5 +128,5 @@ return ret; } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0071-rcu-Make-RCU_BOOST-default-on-CONFIG_PREEMPT_RT.patch linux-5.10.205/debian/patches-rt/0071-rcu-Make-RCU_BOOST-default-on-CONFIG_PREEMPT_RT.patch --- linux-5.10.197/debian/patches-rt/0071-rcu-Make-RCU_BOOST-default-on-CONFIG_PREEMPT_RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0071-rcu-Make-RCU_BOOST-default-on-CONFIG_PREEMPT_RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 44ca107424e3eed81cf657ed37159b52bb7f8b27 Mon Sep 17 00:00:00 2001 +From b9c110646f281f521cc06039710f979b363478b9 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 15 Dec 2020 15:16:45 +0100 -Subject: [PATCH 071/321] rcu: Make RCU_BOOST default on CONFIG_PREEMPT_RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 071/323] rcu: Make RCU_BOOST default on CONFIG_PREEMPT_RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz On PREEMPT_RT kernels, RCU callbacks are deferred to the `rcuc' kthread. This can stall RCU grace periods due to lengthy preemption not only of RCU @@ -37,5 +37,5 @@ This option boosts the priority of preempted RCU readers that block the current preemptible RCU grace period for too long. -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0072-rcu-Unconditionally-use-rcuc-threads-on-PREEMPT_RT.patch linux-5.10.205/debian/patches-rt/0072-rcu-Unconditionally-use-rcuc-threads-on-PREEMPT_RT.patch --- linux-5.10.197/debian/patches-rt/0072-rcu-Unconditionally-use-rcuc-threads-on-PREEMPT_RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0072-rcu-Unconditionally-use-rcuc-threads-on-PREEMPT_RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 7847037481cc0af82b0225ebec0d964706461df2 Mon Sep 17 00:00:00 2001 +From 8cc685c333f0deef6d724211a7f0ff37648d24c7 Mon Sep 17 00:00:00 2001 From: Scott Wood Date: Tue, 15 Dec 2020 15:16:46 +0100 -Subject: [PATCH 072/321] rcu: Unconditionally use rcuc threads on PREEMPT_RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 072/323] rcu: Unconditionally use rcuc threads on PREEMPT_RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz PREEMPT_RT systems have long used the rcutree.use_softirq kernel boot parameter to avoid use of RCU_SOFTIRQ handlers, which can disrupt @@ -31,10 +31,10 @@ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt -index 1f4a0523dc1a..93f0c21623f5 100644 +index f1f7c068cf65..c2afb3304825 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt -@@ -4170,6 +4170,10 @@ +@@ -4191,6 +4191,10 @@ value, meaning that RCU_SOFTIRQ is used by default. Specify rcutree.use_softirq=0 to use rcuc kthreads. @@ -46,10 +46,10 @@ Disable autobalancing of the rcu_node combining tree. This is used by rcutorture, and might diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c -index eec8e2f7537e..be990eb72456 100644 +index 06bfe61d3cd3..39b3b56ad92d 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c -@@ -100,8 +100,10 @@ static struct rcu_state rcu_state = { +@@ -101,8 +101,10 @@ static struct rcu_state rcu_state = { static bool dump_tree; module_param(dump_tree, bool, 0444); /* By default, use RCU_SOFTIRQ instead of rcuc kthreads. */ @@ -62,5 +62,5 @@ static bool rcu_fanout_exact; module_param(rcu_fanout_exact, bool, 0444); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0073-rcu-Enable-rcu_normal_after_boot-unconditionally-for.patch linux-5.10.205/debian/patches-rt/0073-rcu-Enable-rcu_normal_after_boot-unconditionally-for.patch --- linux-5.10.197/debian/patches-rt/0073-rcu-Enable-rcu_normal_after_boot-unconditionally-for.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0073-rcu-Enable-rcu_normal_after_boot-unconditionally-for.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 0a4c645fe9c871ef2108724b8b401af58de6fdef Mon Sep 17 00:00:00 2001 +From be1e6f72a91c1c6b65594bba32401b029c7699b8 Mon Sep 17 00:00:00 2001 From: Julia Cartwright Date: Tue, 15 Dec 2020 15:16:47 +0100 -Subject: [PATCH 073/321] rcu: Enable rcu_normal_after_boot unconditionally for +Subject: [PATCH 073/323] rcu: Enable rcu_normal_after_boot unconditionally for RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Expedited RCU grace periods send IPIs to all non-idle CPUs, and thus can disrupt time-critical code in real-time applications. However, there @@ -34,10 +34,10 @@ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt -index 93f0c21623f5..059ce1929228 100644 +index c2afb3304825..23fd09f5351d 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt -@@ -4552,6 +4552,13 @@ +@@ -4573,6 +4573,13 @@ only normal grace-period primitives. No effect on CONFIG_TINY_RCU kernels. @@ -68,5 +68,5 @@ #ifdef CONFIG_DEBUG_LOCK_ALLOC -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0074-doc-Update-RCU-s-requirements-page-about-the-PREEMPT.patch linux-5.10.205/debian/patches-rt/0074-doc-Update-RCU-s-requirements-page-about-the-PREEMPT.patch --- linux-5.10.197/debian/patches-rt/0074-doc-Update-RCU-s-requirements-page-about-the-PREEMPT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0074-doc-Update-RCU-s-requirements-page-about-the-PREEMPT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From a750b59da8a7c66d03ca7c8b3ac233d48a3cc494 Mon Sep 17 00:00:00 2001 +From 98e9f8e6202660f2965bc68d54447861280e81b9 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 15 Dec 2020 15:16:48 +0100 -Subject: [PATCH 074/321] doc: Update RCU's requirements page about the +Subject: [PATCH 074/323] doc: Update RCU's requirements page about the PREEMPT_RT wiki. -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The PREEMPT_RT wiki moved from kernel.org to the Linux Foundation wiki. The kernel.org wiki is read only. @@ -31,5 +31,5 @@ approach of disabling preemption across RCU read-side critical sections is inappropriate. Kernels built with ``CONFIG_PREEMPT=y`` therefore use -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0075-doc-Use-CONFIG_PREEMPTION.patch linux-5.10.205/debian/patches-rt/0075-doc-Use-CONFIG_PREEMPTION.patch --- linux-5.10.197/debian/patches-rt/0075-doc-Use-CONFIG_PREEMPTION.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0075-doc-Use-CONFIG_PREEMPTION.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 2e536f81feb0dedd5bb9bdad7cf28629713858d6 Mon Sep 17 00:00:00 2001 +From d9780d88d268b12562427ef709de6ab2b8c85188 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 15 Dec 2020 15:16:49 +0100 -Subject: [PATCH 075/321] doc: Use CONFIG_PREEMPTION -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 075/323] doc: Use CONFIG_PREEMPTION +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz CONFIG_PREEMPTION is selected by CONFIG_PREEMPT and by CONFIG_PREEMPT_RT. Both PREEMPT and PREEMPT_RT require the same functionality which today @@ -246,5 +246,5 @@ read-side critical sections. It also permits spinlocks blocking while in RCU read-side critical -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0076-tracing-Merge-irqflags-preempt-counter.patch linux-5.10.205/debian/patches-rt/0076-tracing-Merge-irqflags-preempt-counter.patch --- linux-5.10.197/debian/patches-rt/0076-tracing-Merge-irqflags-preempt-counter.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0076-tracing-Merge-irqflags-preempt-counter.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,11 +1,11 @@ -From 025d2b3f2ae7ee1024ac38ef9fe5b4be4fdb643a Mon Sep 17 00:00:00 2001 +From 1ab76ef52a7db4158a5d86604c2a318cfe847e9d Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 3 Feb 2021 11:05:23 -0500 -Subject: [PATCH 076/321] tracing: Merge irqflags + preempt counter. +Subject: [PATCH 076/323] tracing: Merge irqflags + preempt counter. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The state of the interrupts (irqflags) and the preemption counter are both passed down to tracing_generic_entry_update(). Only one bit of @@ -79,10 +79,10 @@ 17 files changed, 286 insertions(+), 307 deletions(-) diff --git a/include/linux/trace_events.h b/include/linux/trace_events.h -index c57b79301a75..409385b25ecb 100644 +index f7ed0471d5a8..2a98c40526a0 100644 --- a/include/linux/trace_events.h +++ b/include/linux/trace_events.h -@@ -148,17 +148,29 @@ enum print_line_t { +@@ -152,17 +152,29 @@ enum print_line_t { enum print_line_t trace_handle_return(struct trace_seq *s); @@ -117,7 +117,7 @@ #define TRACE_RECORD_CMDLINE BIT(0) #define TRACE_RECORD_TGID BIT(1) -@@ -232,8 +244,7 @@ struct trace_event_buffer { +@@ -236,8 +248,7 @@ struct trace_event_buffer { struct ring_buffer_event *event; struct trace_event_file *trace_file; void *entry; @@ -195,7 +195,7 @@ } } diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index 70526400e05c..856c8b425f87 100644 +index 4e0411b19ef9..376eb8a1c913 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -176,7 +176,7 @@ static union trace_eval_map_item *trace_eval_maps; @@ -345,7 +345,7 @@ ret = 1; out: -@@ -2622,36 +2616,69 @@ enum print_line_t trace_handle_return(struct trace_seq *s) +@@ -2581,36 +2575,69 @@ enum print_line_t trace_handle_return(struct trace_seq *s) } EXPORT_SYMBOL_GPL(trace_handle_return); @@ -433,7 +433,7 @@ } DEFINE_PER_CPU(struct ring_buffer_event *, trace_buffered_event); -@@ -2771,7 +2798,7 @@ struct ring_buffer_event * +@@ -2729,7 +2756,7 @@ struct ring_buffer_event * trace_event_buffer_lock_reserve(struct trace_buffer **current_rb, struct trace_event_file *trace_file, int type, unsigned long len, @@ -442,7 +442,7 @@ { struct ring_buffer_event *entry; int val; -@@ -2784,7 +2811,7 @@ trace_event_buffer_lock_reserve(struct trace_buffer **current_rb, +@@ -2742,7 +2769,7 @@ trace_event_buffer_lock_reserve(struct trace_buffer **current_rb, /* Try to use the per cpu buffer first */ val = this_cpu_inc_return(trace_buffered_event_cnt); if ((len < (PAGE_SIZE - sizeof(*entry) - sizeof(entry->array[0]))) && val == 1) { @@ -451,7 +451,7 @@ entry->array[0] = len; return entry; } -@@ -2792,7 +2819,7 @@ trace_event_buffer_lock_reserve(struct trace_buffer **current_rb, +@@ -2750,7 +2777,7 @@ trace_event_buffer_lock_reserve(struct trace_buffer **current_rb, } entry = __trace_buffer_lock_reserve(*current_rb, @@ -460,7 +460,7 @@ /* * If tracing is off, but we have triggers enabled * we still need to look at the event data. Use the temp_buffer -@@ -2801,8 +2828,8 @@ trace_event_buffer_lock_reserve(struct trace_buffer **current_rb, +@@ -2759,8 +2786,8 @@ trace_event_buffer_lock_reserve(struct trace_buffer **current_rb, */ if (!entry && trace_file->flags & EVENT_FILE_FL_TRIGGER_COND) { *current_rb = temp_buffer; @@ -471,7 +471,7 @@ } return entry; } -@@ -2888,7 +2915,7 @@ void trace_event_buffer_commit(struct trace_event_buffer *fbuffer) +@@ -2846,7 +2873,7 @@ void trace_event_buffer_commit(struct trace_event_buffer *fbuffer) ftrace_exports(fbuffer->event, TRACE_EXPORT_EVENT); event_trigger_unlock_commit_regs(fbuffer->trace_file, fbuffer->buffer, fbuffer->event, fbuffer->entry, @@ -480,7 +480,7 @@ } EXPORT_SYMBOL_GPL(trace_event_buffer_commit); -@@ -2904,7 +2931,7 @@ EXPORT_SYMBOL_GPL(trace_event_buffer_commit); +@@ -2862,7 +2889,7 @@ EXPORT_SYMBOL_GPL(trace_event_buffer_commit); void trace_buffer_unlock_commit_regs(struct trace_array *tr, struct trace_buffer *buffer, struct ring_buffer_event *event, @@ -489,7 +489,7 @@ struct pt_regs *regs) { __buffer_unlock_commit(buffer, event); -@@ -2915,8 +2942,8 @@ void trace_buffer_unlock_commit_regs(struct trace_array *tr, +@@ -2873,8 +2900,8 @@ void trace_buffer_unlock_commit_regs(struct trace_array *tr, * and mmiotrace, but that's ok if they lose a function or * two. They are not that meaningful. */ @@ -500,7 +500,7 @@ } /* -@@ -2930,9 +2957,8 @@ trace_buffer_unlock_commit_nostack(struct trace_buffer *buffer, +@@ -2888,9 +2915,8 @@ trace_buffer_unlock_commit_nostack(struct trace_buffer *buffer, } void @@ -512,7 +512,7 @@ { struct trace_event_call *call = &event_function; struct trace_buffer *buffer = tr->array_buffer.buffer; -@@ -2940,7 +2966,7 @@ trace_function(struct trace_array *tr, +@@ -2898,7 +2924,7 @@ trace_function(struct trace_array *tr, struct ftrace_entry *entry; event = __trace_buffer_lock_reserve(buffer, TRACE_FN, sizeof(*entry), @@ -521,7 +521,7 @@ if (!event) return; entry = ring_buffer_event_data(event); -@@ -2974,8 +3000,8 @@ static DEFINE_PER_CPU(struct ftrace_stacks, ftrace_stacks); +@@ -2932,8 +2958,8 @@ static DEFINE_PER_CPU(struct ftrace_stacks, ftrace_stacks); static DEFINE_PER_CPU(int, ftrace_stack_reserve); static void __ftrace_trace_stack(struct trace_buffer *buffer, @@ -532,7 +532,7 @@ { struct trace_event_call *call = &event_kernel_stack; struct ring_buffer_event *event; -@@ -3023,7 +3049,7 @@ static void __ftrace_trace_stack(struct trace_buffer *buffer, +@@ -2981,7 +3007,7 @@ static void __ftrace_trace_stack(struct trace_buffer *buffer, size = nr_entries * sizeof(unsigned long); event = __trace_buffer_lock_reserve(buffer, TRACE_STACK, (sizeof(*entry) - sizeof(entry->caller)) + size, @@ -541,7 +541,7 @@ if (!event) goto out; entry = ring_buffer_event_data(event); -@@ -3044,22 +3070,22 @@ static void __ftrace_trace_stack(struct trace_buffer *buffer, +@@ -3002,22 +3028,22 @@ static void __ftrace_trace_stack(struct trace_buffer *buffer, static inline void ftrace_trace_stack(struct trace_array *tr, struct trace_buffer *buffer, @@ -570,7 +570,7 @@ return; } -@@ -3073,7 +3099,7 @@ void __trace_stack(struct trace_array *tr, unsigned long flags, int skip, +@@ -3031,7 +3057,7 @@ void __trace_stack(struct trace_array *tr, unsigned long flags, int skip, return; rcu_irq_enter_irqson(); @@ -579,7 +579,7 @@ rcu_irq_exit_irqson(); } -@@ -3083,19 +3109,15 @@ void __trace_stack(struct trace_array *tr, unsigned long flags, int skip, +@@ -3041,19 +3067,15 @@ void __trace_stack(struct trace_array *tr, unsigned long flags, int skip, */ void trace_dump_stack(int skip) { @@ -600,7 +600,7 @@ } EXPORT_SYMBOL_GPL(trace_dump_stack); -@@ -3104,7 +3126,7 @@ static DEFINE_PER_CPU(int, user_stack_count); +@@ -3062,7 +3084,7 @@ static DEFINE_PER_CPU(int, user_stack_count); static void ftrace_trace_userstack(struct trace_array *tr, @@ -609,7 +609,7 @@ { struct trace_event_call *call = &event_user_stack; struct ring_buffer_event *event; -@@ -3131,7 +3153,7 @@ ftrace_trace_userstack(struct trace_array *tr, +@@ -3089,7 +3111,7 @@ ftrace_trace_userstack(struct trace_array *tr, __this_cpu_inc(user_stack_count); event = __trace_buffer_lock_reserve(buffer, TRACE_USER_STACK, @@ -618,7 +618,7 @@ if (!event) goto out_drop_count; entry = ring_buffer_event_data(event); -@@ -3151,7 +3173,7 @@ ftrace_trace_userstack(struct trace_array *tr, +@@ -3109,7 +3131,7 @@ ftrace_trace_userstack(struct trace_array *tr, #else /* CONFIG_USER_STACKTRACE_SUPPORT */ static void ftrace_trace_userstack(struct trace_array *tr, struct trace_buffer *buffer, @@ -627,7 +627,7 @@ { } #endif /* !CONFIG_USER_STACKTRACE_SUPPORT */ -@@ -3281,9 +3303,9 @@ int trace_vbprintk(unsigned long ip, const char *fmt, va_list args) +@@ -3239,9 +3261,9 @@ int trace_vbprintk(unsigned long ip, const char *fmt, va_list args) struct trace_buffer *buffer; struct trace_array *tr = &global_trace; struct bprint_entry *entry; @@ -639,7 +639,7 @@ if (unlikely(tracing_selftest_running || tracing_disabled)) return 0; -@@ -3291,7 +3313,7 @@ int trace_vbprintk(unsigned long ip, const char *fmt, va_list args) +@@ -3249,7 +3271,7 @@ int trace_vbprintk(unsigned long ip, const char *fmt, va_list args) /* Don't pollute graph traces with trace_vprintk internals */ pause_graph_tracing(); @@ -648,7 +648,7 @@ preempt_disable_notrace(); tbuffer = get_trace_buf(); -@@ -3305,12 +3327,11 @@ int trace_vbprintk(unsigned long ip, const char *fmt, va_list args) +@@ -3263,12 +3285,11 @@ int trace_vbprintk(unsigned long ip, const char *fmt, va_list args) if (len > TRACE_BUF_SIZE/sizeof(int) || len < 0) goto out_put; @@ -662,7 +662,7 @@ if (!event) goto out; entry = ring_buffer_event_data(event); -@@ -3320,7 +3341,7 @@ int trace_vbprintk(unsigned long ip, const char *fmt, va_list args) +@@ -3278,7 +3299,7 @@ int trace_vbprintk(unsigned long ip, const char *fmt, va_list args) memcpy(entry->buf, tbuffer, sizeof(u32) * len); if (!call_filter_check_discard(call, entry, buffer, event)) { __buffer_unlock_commit(buffer, event); @@ -671,7 +671,7 @@ } out: -@@ -3343,9 +3364,9 @@ __trace_array_vprintk(struct trace_buffer *buffer, +@@ -3301,9 +3322,9 @@ __trace_array_vprintk(struct trace_buffer *buffer, { struct trace_event_call *call = &event_print; struct ring_buffer_event *event; @@ -683,7 +683,7 @@ char *tbuffer; if (tracing_disabled || tracing_selftest_running) -@@ -3354,7 +3375,7 @@ __trace_array_vprintk(struct trace_buffer *buffer, +@@ -3312,7 +3333,7 @@ __trace_array_vprintk(struct trace_buffer *buffer, /* Don't pollute graph traces with trace_vprintk internals */ pause_graph_tracing(); @@ -692,7 +692,7 @@ preempt_disable_notrace(); -@@ -3366,11 +3387,10 @@ __trace_array_vprintk(struct trace_buffer *buffer, +@@ -3324,11 +3345,10 @@ __trace_array_vprintk(struct trace_buffer *buffer, len = vscnprintf(tbuffer, TRACE_BUF_SIZE, fmt, args); @@ -705,7 +705,7 @@ if (!event) goto out; entry = ring_buffer_event_data(event); -@@ -3379,7 +3399,7 @@ __trace_array_vprintk(struct trace_buffer *buffer, +@@ -3337,7 +3357,7 @@ __trace_array_vprintk(struct trace_buffer *buffer, memcpy(&entry->buf, tbuffer, len + 1); if (!call_filter_check_discard(call, entry, buffer, event)) { __buffer_unlock_commit(buffer, event); @@ -714,7 +714,7 @@ } out: -@@ -6712,7 +6732,6 @@ tracing_mark_write(struct file *filp, const char __user *ubuf, +@@ -6831,7 +6851,6 @@ tracing_mark_write(struct file *filp, const char __user *ubuf, enum event_trigger_type tt = ETT_NONE; struct trace_buffer *buffer; struct print_entry *entry; @@ -722,7 +722,7 @@ ssize_t written; int size; int len; -@@ -6732,7 +6751,6 @@ tracing_mark_write(struct file *filp, const char __user *ubuf, +@@ -6851,7 +6870,6 @@ tracing_mark_write(struct file *filp, const char __user *ubuf, BUILD_BUG_ON(TRACE_BUF_SIZE >= PAGE_SIZE); @@ -730,7 +730,7 @@ size = sizeof(*entry) + cnt + 2; /* add '\0' and possible '\n' */ /* If less than "", then make sure we can still add that */ -@@ -6741,7 +6759,7 @@ tracing_mark_write(struct file *filp, const char __user *ubuf, +@@ -6860,7 +6878,7 @@ tracing_mark_write(struct file *filp, const char __user *ubuf, buffer = tr->array_buffer.buffer; event = __trace_buffer_lock_reserve(buffer, TRACE_PRINT, size, @@ -739,7 +739,7 @@ if (unlikely(!event)) /* Ring buffer disabled, return as if not open for write */ return -EBADF; -@@ -6793,7 +6811,6 @@ tracing_mark_raw_write(struct file *filp, const char __user *ubuf, +@@ -6912,7 +6930,6 @@ tracing_mark_raw_write(struct file *filp, const char __user *ubuf, struct ring_buffer_event *event; struct trace_buffer *buffer; struct raw_data_entry *entry; @@ -747,7 +747,7 @@ ssize_t written; int size; int len; -@@ -6815,14 +6832,13 @@ tracing_mark_raw_write(struct file *filp, const char __user *ubuf, +@@ -6934,14 +6951,13 @@ tracing_mark_raw_write(struct file *filp, const char __user *ubuf, BUILD_BUG_ON(TRACE_BUF_SIZE >= PAGE_SIZE); @@ -764,10 +764,10 @@ /* Ring buffer disabled, return as if not open for write */ return -EBADF; diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h -index e5b505b5b7d0..65f372c1162e 100644 +index 7c90872f2435..27ed42bccd7f 100644 --- a/kernel/trace/trace.h +++ b/kernel/trace/trace.h -@@ -746,8 +746,7 @@ struct ring_buffer_event * +@@ -750,8 +750,7 @@ struct ring_buffer_event * trace_buffer_lock_reserve(struct trace_buffer *buffer, int type, unsigned long len, @@ -777,7 +777,7 @@ struct trace_entry *tracing_get_trace_entry(struct trace_array *tr, struct trace_array_cpu *data); -@@ -772,11 +771,11 @@ unsigned long trace_total_entries(struct trace_array *tr); +@@ -778,11 +777,11 @@ unsigned long trace_total_entries(struct trace_array *tr); void trace_function(struct trace_array *tr, unsigned long ip, unsigned long parent_ip, @@ -791,7 +791,7 @@ void trace_latency_header(struct seq_file *m); void trace_default_header(struct seq_file *m); void print_trace_header(struct seq_file *m, struct trace_iterator *iter); -@@ -844,11 +843,10 @@ static inline void latency_fsnotify(struct trace_array *tr) { } +@@ -850,11 +849,10 @@ static inline void latency_fsnotify(struct trace_array *tr) { } #endif #ifdef CONFIG_STACKTRACE @@ -806,7 +806,7 @@ { } #endif /* CONFIG_STACKTRACE */ -@@ -988,10 +986,10 @@ extern void graph_trace_open(struct trace_iterator *iter); +@@ -994,10 +992,10 @@ extern void graph_trace_open(struct trace_iterator *iter); extern void graph_trace_close(struct trace_iterator *iter); extern int __trace_graph_entry(struct trace_array *tr, struct ftrace_graph_ent *trace, @@ -819,7 +819,7 @@ #ifdef CONFIG_DYNAMIC_FTRACE extern struct ftrace_hash __rcu *ftrace_graph_hash; -@@ -1454,15 +1452,15 @@ extern int call_filter_check_discard(struct trace_event_call *call, void *rec, +@@ -1460,15 +1458,15 @@ extern int call_filter_check_discard(struct trace_event_call *call, void *rec, void trace_buffer_unlock_commit_regs(struct trace_array *tr, struct trace_buffer *buffer, struct ring_buffer_event *event, @@ -838,7 +838,7 @@ } DECLARE_PER_CPU(struct ring_buffer_event *, trace_buffered_event); -@@ -1535,8 +1533,7 @@ __event_trigger_test_discard(struct trace_event_file *file, +@@ -1541,8 +1539,7 @@ __event_trigger_test_discard(struct trace_event_file *file, * @buffer: The ring buffer that the event is being written to * @event: The event meta data in the ring buffer * @entry: The event itself @@ -848,7 +848,7 @@ * * This is a helper function to handle triggers that require data * from the event itself. It also tests the event against filters and -@@ -1546,12 +1543,12 @@ static inline void +@@ -1552,12 +1549,12 @@ static inline void event_trigger_unlock_commit(struct trace_event_file *file, struct trace_buffer *buffer, struct ring_buffer_event *event, @@ -863,7 +863,7 @@ if (tt) event_triggers_post_call(file, tt); -@@ -1563,8 +1560,7 @@ event_trigger_unlock_commit(struct trace_event_file *file, +@@ -1569,8 +1566,7 @@ event_trigger_unlock_commit(struct trace_event_file *file, * @buffer: The ring buffer that the event is being written to * @event: The event meta data in the ring buffer * @entry: The event itself @@ -873,7 +873,7 @@ * * This is a helper function to handle triggers that require data * from the event itself. It also tests the event against filters and -@@ -1577,14 +1573,14 @@ static inline void +@@ -1583,14 +1579,14 @@ static inline void event_trigger_unlock_commit_regs(struct trace_event_file *file, struct trace_buffer *buffer, struct ring_buffer_event *event, @@ -934,7 +934,7 @@ NOKPROBE_SYMBOL(perf_trace_buf_update); diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c -index f8ed66f38175..35b64c408aff 100644 +index 4b5a8d7275be..df64b92c5edc 100644 --- a/kernel/trace/trace_events.c +++ b/kernel/trace/trace_events.c @@ -259,22 +259,19 @@ void *trace_event_buffer_reserve(struct trace_event_buffer *fbuffer, @@ -962,7 +962,7 @@ if (!fbuffer->event) return NULL; -@@ -3699,12 +3696,11 @@ function_test_events_call(unsigned long ip, unsigned long parent_ip, +@@ -3709,12 +3706,11 @@ function_test_events_call(unsigned long ip, unsigned long parent_ip, struct trace_buffer *buffer; struct ring_buffer_event *event; struct ftrace_entry *entry; @@ -977,7 +977,7 @@ preempt_disable_notrace(); cpu = raw_smp_processor_id(); disabled = atomic_inc_return(&per_cpu(ftrace_test_event_disable, cpu)); -@@ -3712,11 +3708,9 @@ function_test_events_call(unsigned long ip, unsigned long parent_ip, +@@ -3722,11 +3718,9 @@ function_test_events_call(unsigned long ip, unsigned long parent_ip, if (disabled != 1) goto out; @@ -990,7 +990,7 @@ if (!event) goto out; entry = ring_buffer_event_data(event); -@@ -3724,7 +3718,7 @@ function_test_events_call(unsigned long ip, unsigned long parent_ip, +@@ -3734,7 +3728,7 @@ function_test_events_call(unsigned long ip, unsigned long parent_ip, entry->parent_ip = parent_ip; event_trigger_unlock_commit(&event_trace_file, buffer, event, @@ -1000,7 +1000,7 @@ atomic_dec(&per_cpu(ftrace_test_event_disable, cpu)); preempt_enable_notrace(); diff --git a/kernel/trace/trace_events_inject.c b/kernel/trace/trace_events_inject.c -index 22bcf7c51d1e..c188045c5f97 100644 +index 149c7dc6a447..b1fce64e126c 100644 --- a/kernel/trace/trace_events_inject.c +++ b/kernel/trace/trace_events_inject.c @@ -192,7 +192,6 @@ static void *trace_alloc_entry(struct trace_event_call *call, int *size) @@ -1233,7 +1233,7 @@ return; entry = ring_buffer_event_data(event); diff --git a/kernel/trace/trace_irqsoff.c b/kernel/trace/trace_irqsoff.c -index ee4571b624bc..f11add83c108 100644 +index 619a60944bb6..4a11967c8daa 100644 --- a/kernel/trace/trace_irqsoff.c +++ b/kernel/trace/trace_irqsoff.c @@ -143,11 +143,14 @@ irqsoff_tracer_call(unsigned long ip, unsigned long parent_ip, @@ -1292,7 +1292,7 @@ atomic_dec(&data->disabled); } -@@ -267,12 +270,12 @@ static void irqsoff_print_header(struct seq_file *s) +@@ -268,12 +271,12 @@ static void irqsoff_print_header(struct seq_file *s) static void __trace_function(struct trace_array *tr, unsigned long ip, unsigned long parent_ip, @@ -1308,7 +1308,7 @@ } #else -@@ -322,15 +325,13 @@ check_critical_timing(struct trace_array *tr, +@@ -323,15 +326,13 @@ check_critical_timing(struct trace_array *tr, { u64 T0, T1, delta; unsigned long flags; @@ -1326,7 +1326,7 @@ if (!report_latency(tr, delta)) goto out; -@@ -341,9 +342,9 @@ check_critical_timing(struct trace_array *tr, +@@ -342,9 +343,9 @@ check_critical_timing(struct trace_array *tr, if (!report_latency(tr, delta)) goto out_unlock; @@ -1338,7 +1338,7 @@ if (data->critical_sequence != max_sequence) goto out_unlock; -@@ -363,16 +364,15 @@ check_critical_timing(struct trace_array *tr, +@@ -364,16 +365,15 @@ check_critical_timing(struct trace_array *tr, out: data->critical_sequence = max_sequence; data->preempt_timestamp = ftrace_now(cpu); @@ -1357,7 +1357,7 @@ if (!tracer_enabled || !tracing_is_enabled()) return; -@@ -393,9 +393,7 @@ start_critical_timing(unsigned long ip, unsigned long parent_ip, int pc) +@@ -394,9 +394,7 @@ start_critical_timing(unsigned long ip, unsigned long parent_ip, int pc) data->preempt_timestamp = ftrace_now(cpu); data->critical_start = parent_ip ? : ip; @@ -1368,7 +1368,7 @@ per_cpu(tracing_cpu, cpu) = 1; -@@ -403,12 +401,12 @@ start_critical_timing(unsigned long ip, unsigned long parent_ip, int pc) +@@ -404,12 +402,12 @@ start_critical_timing(unsigned long ip, unsigned long parent_ip, int pc) } static nokprobe_inline void @@ -1383,7 +1383,7 @@ cpu = raw_smp_processor_id(); /* Always clear the tracing cpu on stopping the trace */ -@@ -428,8 +426,8 @@ stop_critical_timing(unsigned long ip, unsigned long parent_ip, int pc) +@@ -429,8 +427,8 @@ stop_critical_timing(unsigned long ip, unsigned long parent_ip, int pc) atomic_inc(&data->disabled); @@ -1394,7 +1394,7 @@ check_critical_timing(tr, data, parent_ip ? : ip, cpu); data->critical_start = 0; atomic_dec(&data->disabled); -@@ -438,20 +436,16 @@ stop_critical_timing(unsigned long ip, unsigned long parent_ip, int pc) +@@ -439,20 +437,16 @@ stop_critical_timing(unsigned long ip, unsigned long parent_ip, int pc) /* start and stop critical timings used to for stoppage (in idle) */ void start_critical_timings(void) { @@ -1419,7 +1419,7 @@ } EXPORT_SYMBOL_GPL(stop_critical_timings); NOKPROBE_SYMBOL(stop_critical_timings); -@@ -613,19 +607,15 @@ static void irqsoff_tracer_stop(struct trace_array *tr) +@@ -614,19 +608,15 @@ static void irqsoff_tracer_stop(struct trace_array *tr) */ void tracer_hardirqs_on(unsigned long a0, unsigned long a1) { @@ -1443,7 +1443,7 @@ } NOKPROBE_SYMBOL(tracer_hardirqs_off); -@@ -665,18 +655,14 @@ static struct tracer irqsoff_tracer __read_mostly = +@@ -666,18 +656,14 @@ static struct tracer irqsoff_tracer __read_mostly = #ifdef CONFIG_PREEMPT_TRACER void tracer_preempt_on(unsigned long a0, unsigned long a1) { @@ -1467,10 +1467,10 @@ static int preemptoff_tracer_init(struct trace_array *tr) diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c -index 41dd17390c73..8ac26fddf999 100644 +index 718357289899..a2478605e761 100644 --- a/kernel/trace/trace_kprobe.c +++ b/kernel/trace/trace_kprobe.c -@@ -1393,8 +1393,7 @@ __kprobe_trace_func(struct trace_kprobe *tk, struct pt_regs *regs, +@@ -1394,8 +1394,7 @@ __kprobe_trace_func(struct trace_kprobe *tk, struct pt_regs *regs, if (trace_trigger_soft_disabled(trace_file)) return; @@ -1480,7 +1480,7 @@ fbuffer.trace_file = trace_file; dsize = __get_data_size(&tk->tp, regs); -@@ -1403,7 +1402,7 @@ __kprobe_trace_func(struct trace_kprobe *tk, struct pt_regs *regs, +@@ -1404,7 +1403,7 @@ __kprobe_trace_func(struct trace_kprobe *tk, struct pt_regs *regs, trace_event_buffer_lock_reserve(&fbuffer.buffer, trace_file, call->event.type, sizeof(*entry) + tk->tp.size + dsize, @@ -1489,7 +1489,7 @@ if (!fbuffer.event) return; -@@ -1441,8 +1440,7 @@ __kretprobe_trace_func(struct trace_kprobe *tk, struct kretprobe_instance *ri, +@@ -1442,8 +1441,7 @@ __kretprobe_trace_func(struct trace_kprobe *tk, struct kretprobe_instance *ri, if (trace_trigger_soft_disabled(trace_file)) return; @@ -1499,7 +1499,7 @@ fbuffer.trace_file = trace_file; dsize = __get_data_size(&tk->tp, regs); -@@ -1450,7 +1448,7 @@ __kretprobe_trace_func(struct trace_kprobe *tk, struct kretprobe_instance *ri, +@@ -1451,7 +1449,7 @@ __kretprobe_trace_func(struct trace_kprobe *tk, struct kretprobe_instance *ri, trace_event_buffer_lock_reserve(&fbuffer.buffer, trace_file, call->event.type, sizeof(*entry) + tk->tp.size + dsize, @@ -1559,7 +1559,7 @@ void mmio_trace_mapping(struct mmiotrace_map *map) diff --git a/kernel/trace/trace_sched_wakeup.c b/kernel/trace/trace_sched_wakeup.c -index 97b10bb31a1f..f1c603358ff3 100644 +index 037e1e863b17..c1f582e0e97f 100644 --- a/kernel/trace/trace_sched_wakeup.c +++ b/kernel/trace/trace_sched_wakeup.c @@ -67,7 +67,7 @@ static bool function_enabled; @@ -1625,7 +1625,7 @@ atomic_dec(&data->disabled); preempt_enable_notrace(); -@@ -217,13 +214,13 @@ wakeup_tracer_call(unsigned long ip, unsigned long parent_ip, +@@ -219,13 +216,13 @@ wakeup_tracer_call(unsigned long ip, unsigned long parent_ip, struct trace_array *tr = wakeup_trace; struct trace_array_cpu *data; unsigned long flags; @@ -1642,7 +1642,7 @@ local_irq_restore(flags); atomic_dec(&data->disabled); -@@ -303,12 +300,12 @@ static void wakeup_print_header(struct seq_file *s) +@@ -305,12 +302,12 @@ static void wakeup_print_header(struct seq_file *s) static void __trace_function(struct trace_array *tr, unsigned long ip, unsigned long parent_ip, @@ -1658,7 +1658,7 @@ } static int wakeup_flag_changed(struct trace_array *tr, u32 mask, int set) -@@ -375,7 +372,7 @@ static void +@@ -377,7 +374,7 @@ static void tracing_sched_switch_trace(struct trace_array *tr, struct task_struct *prev, struct task_struct *next, @@ -1667,7 +1667,7 @@ { struct trace_event_call *call = &event_context_switch; struct trace_buffer *buffer = tr->array_buffer.buffer; -@@ -383,7 +380,7 @@ tracing_sched_switch_trace(struct trace_array *tr, +@@ -385,7 +382,7 @@ tracing_sched_switch_trace(struct trace_array *tr, struct ctx_switch_entry *entry; event = trace_buffer_lock_reserve(buffer, TRACE_CTX, @@ -1676,7 +1676,7 @@ if (!event) return; entry = ring_buffer_event_data(event); -@@ -396,14 +393,14 @@ tracing_sched_switch_trace(struct trace_array *tr, +@@ -398,14 +395,14 @@ tracing_sched_switch_trace(struct trace_array *tr, entry->next_cpu = task_cpu(next); if (!call_filter_check_discard(call, entry, buffer, event)) @@ -1693,7 +1693,7 @@ { struct trace_event_call *call = &event_wakeup; struct ring_buffer_event *event; -@@ -411,7 +408,7 @@ tracing_sched_wakeup_trace(struct trace_array *tr, +@@ -413,7 +410,7 @@ tracing_sched_wakeup_trace(struct trace_array *tr, struct trace_buffer *buffer = tr->array_buffer.buffer; event = trace_buffer_lock_reserve(buffer, TRACE_WAKE, @@ -1702,7 +1702,7 @@ if (!event) return; entry = ring_buffer_event_data(event); -@@ -424,7 +421,7 @@ tracing_sched_wakeup_trace(struct trace_array *tr, +@@ -426,7 +423,7 @@ tracing_sched_wakeup_trace(struct trace_array *tr, entry->next_cpu = task_cpu(wakee); if (!call_filter_check_discard(call, entry, buffer, event)) @@ -1711,7 +1711,7 @@ } static void notrace -@@ -436,7 +433,7 @@ probe_wakeup_sched_switch(void *ignore, bool preempt, +@@ -438,7 +435,7 @@ probe_wakeup_sched_switch(void *ignore, bool preempt, unsigned long flags; long disabled; int cpu; @@ -1720,7 +1720,7 @@ tracing_record_cmdline(prev); -@@ -455,8 +452,6 @@ probe_wakeup_sched_switch(void *ignore, bool preempt, +@@ -457,8 +454,6 @@ probe_wakeup_sched_switch(void *ignore, bool preempt, if (next != wakeup_task) return; @@ -1729,7 +1729,7 @@ /* disable local data, not wakeup_cpu data */ cpu = raw_smp_processor_id(); disabled = atomic_inc_return(&per_cpu_ptr(wakeup_trace->array_buffer.data, cpu)->disabled); -@@ -464,6 +459,8 @@ probe_wakeup_sched_switch(void *ignore, bool preempt, +@@ -466,6 +461,8 @@ probe_wakeup_sched_switch(void *ignore, bool preempt, goto out; local_irq_save(flags); @@ -1738,7 +1738,7 @@ arch_spin_lock(&wakeup_lock); /* We could race with grabbing wakeup_lock */ -@@ -473,9 +470,9 @@ probe_wakeup_sched_switch(void *ignore, bool preempt, +@@ -475,9 +472,9 @@ probe_wakeup_sched_switch(void *ignore, bool preempt, /* The task we are waiting for is waking up */ data = per_cpu_ptr(wakeup_trace->array_buffer.data, wakeup_cpu); @@ -1751,7 +1751,7 @@ T0 = data->preempt_timestamp; T1 = ftrace_now(cpu); -@@ -527,9 +524,8 @@ probe_wakeup(void *ignore, struct task_struct *p) +@@ -529,9 +526,8 @@ probe_wakeup(void *ignore, struct task_struct *p) { struct trace_array_cpu *data; int cpu = smp_processor_id(); @@ -1762,7 +1762,7 @@ if (likely(!tracer_enabled)) return; -@@ -550,11 +546,12 @@ probe_wakeup(void *ignore, struct task_struct *p) +@@ -552,11 +548,12 @@ probe_wakeup(void *ignore, struct task_struct *p) (!dl_task(p) && (p->prio >= wakeup_prio || p->prio >= current->prio))) return; @@ -1776,7 +1776,7 @@ /* interrupts should be off from try_to_wake_up */ arch_spin_lock(&wakeup_lock); -@@ -581,19 +578,17 @@ probe_wakeup(void *ignore, struct task_struct *p) +@@ -583,19 +580,17 @@ probe_wakeup(void *ignore, struct task_struct *p) wakeup_task = get_task_struct(p); @@ -1874,10 +1874,10 @@ static int reg_event_syscall_enter(struct trace_event_file *file, diff --git a/kernel/trace/trace_uprobe.c b/kernel/trace/trace_uprobe.c -index 9900d4e3808c..7be4f5d673a6 100644 +index 60ff36f5d7f9..0b07bb07127d 100644 --- a/kernel/trace/trace_uprobe.c +++ b/kernel/trace/trace_uprobe.c -@@ -965,7 +965,7 @@ static void __uprobe_trace_func(struct trace_uprobe *tu, +@@ -966,7 +966,7 @@ static void __uprobe_trace_func(struct trace_uprobe *tu, esize = SIZEOF_TRACE_ENTRY(is_ret_probe(tu)); size = esize + tu->tp.size + dsize; event = trace_event_buffer_lock_reserve(&buffer, trace_file, @@ -1886,7 +1886,7 @@ if (!event) return; -@@ -981,7 +981,7 @@ static void __uprobe_trace_func(struct trace_uprobe *tu, +@@ -982,7 +982,7 @@ static void __uprobe_trace_func(struct trace_uprobe *tu, memcpy(data, ucb->buf, tu->tp.size + dsize); @@ -1896,5 +1896,5 @@ /* uprobe handler */ -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0077-tracing-Inline-tracing_gen_ctx_flags.patch linux-5.10.205/debian/patches-rt/0077-tracing-Inline-tracing_gen_ctx_flags.patch --- linux-5.10.197/debian/patches-rt/0077-tracing-Inline-tracing_gen_ctx_flags.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0077-tracing-Inline-tracing_gen_ctx_flags.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 67d1c113a794008124067fa08965a6eaca2f20f2 Mon Sep 17 00:00:00 2001 +From 49d76ea7e195eb08b5c73a3a11dba066afd40070 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 3 Feb 2021 11:05:24 -0500 -Subject: [PATCH 077/321] tracing: Inline tracing_gen_ctx_flags() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 077/323] tracing: Inline tracing_gen_ctx_flags() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Inline tracing_gen_ctx_flags(). This allows to have one ifdef CONFIG_TRACE_IRQFLAGS_SUPPORT. @@ -24,10 +24,10 @@ 3 files changed, 53 insertions(+), 58 deletions(-) diff --git a/include/linux/trace_events.h b/include/linux/trace_events.h -index 409385b25ecb..1225ff2ab528 100644 +index 2a98c40526a0..c4b0524582d8 100644 --- a/include/linux/trace_events.h +++ b/include/linux/trace_events.h -@@ -160,9 +160,57 @@ static inline void tracing_generic_entry_update(struct trace_entry *entry, +@@ -164,9 +164,57 @@ static inline void tracing_generic_entry_update(struct trace_entry *entry, entry->flags = trace_ctx >> 16; } @@ -89,10 +89,10 @@ struct trace_event_file; diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index 856c8b425f87..b1de71ee47bc 100644 +index 376eb8a1c913..733ef9230c73 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c -@@ -2616,20 +2616,13 @@ enum print_line_t trace_handle_return(struct trace_seq *s) +@@ -2575,20 +2575,13 @@ enum print_line_t trace_handle_return(struct trace_seq *s) } EXPORT_SYMBOL_GPL(trace_handle_return); @@ -115,7 +115,7 @@ if (pc & NMI_MASK) trace_flags |= TRACE_FLAG_NMI; if (pc & HARDIRQ_MASK) -@@ -2645,33 +2638,6 @@ unsigned int tracing_gen_ctx_flags(unsigned long irqflags) +@@ -2604,33 +2597,6 @@ unsigned int tracing_gen_ctx_flags(unsigned long irqflags) return (trace_flags << 16) | (pc & 0xff); } @@ -150,7 +150,7 @@ trace_buffer_lock_reserve(struct trace_buffer *buffer, int type, diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h -index 65f372c1162e..d1b23c32f8c1 100644 +index 27ed42bccd7f..40e5ee987578 100644 --- a/kernel/trace/trace.h +++ b/kernel/trace/trace.h @@ -136,25 +136,6 @@ struct kretprobe_trace_entry_head { @@ -180,5 +180,5 @@ struct trace_array; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0078-tracing-Use-in_serving_softirq-to-deduct-softirq-sta.patch linux-5.10.205/debian/patches-rt/0078-tracing-Use-in_serving_softirq-to-deduct-softirq-sta.patch --- linux-5.10.197/debian/patches-rt/0078-tracing-Use-in_serving_softirq-to-deduct-softirq-sta.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0078-tracing-Use-in_serving_softirq-to-deduct-softirq-sta.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 85effcf947613d88bcde089be90f3d40ce87d9b0 Mon Sep 17 00:00:00 2001 +From 1a49f21b61e919dbef7c948009870a1f1ba31270 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 3 Feb 2021 11:05:25 -0500 -Subject: [PATCH 078/321] tracing: Use in_serving_softirq() to deduct softirq +Subject: [PATCH 078/323] tracing: Use in_serving_softirq() to deduct softirq status. -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz PREEMPT_RT does not report "serving softirq" because the tracing core looks at the preemption counter while PREEMPT_RT does not update it @@ -30,10 +30,10 @@ 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index b1de71ee47bc..518d2086ed29 100644 +index 733ef9230c73..70ab6b46ef8f 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c -@@ -2627,8 +2627,7 @@ unsigned int tracing_gen_ctx_irq_test(unsigned int irqs_status) +@@ -2586,8 +2586,7 @@ unsigned int tracing_gen_ctx_irq_test(unsigned int irqs_status) trace_flags |= TRACE_FLAG_NMI; if (pc & HARDIRQ_MASK) trace_flags |= TRACE_FLAG_HARDIRQ; @@ -44,5 +44,5 @@ if (tif_need_resched()) -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0079-tracing-Remove-NULL-check-from-current-in-tracing_ge.patch linux-5.10.205/debian/patches-rt/0079-tracing-Remove-NULL-check-from-current-in-tracing_ge.patch --- linux-5.10.197/debian/patches-rt/0079-tracing-Remove-NULL-check-from-current-in-tracing_ge.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0079-tracing-Remove-NULL-check-from-current-in-tracing_ge.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 11b6407bc823cd805b968ee7465d242e895dbc4f Mon Sep 17 00:00:00 2001 +From 76993b5cd21ad0898e6d940ea5fe0449dec94465 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 3 Feb 2021 11:05:26 -0500 -Subject: [PATCH 079/321] tracing: Remove NULL check from current in +Subject: [PATCH 079/323] tracing: Remove NULL check from current in tracing_generic_entry_update(). -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz I can't imagine when or why `current' would return a NULL pointer. This check was added in commit @@ -23,10 +23,10 @@ 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/include/linux/trace_events.h b/include/linux/trace_events.h -index 1225ff2ab528..5d9397abd2e2 100644 +index c4b0524582d8..2fea9fcd4d4e 100644 --- a/include/linux/trace_events.h +++ b/include/linux/trace_events.h -@@ -152,10 +152,8 @@ static inline void tracing_generic_entry_update(struct trace_entry *entry, +@@ -156,10 +156,8 @@ static inline void tracing_generic_entry_update(struct trace_entry *entry, unsigned short type, unsigned int trace_ctx) { @@ -39,5 +39,5 @@ entry->flags = trace_ctx >> 16; } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0080-printk-inline-log_output-log_store-in-vprintk_store.patch linux-5.10.205/debian/patches-rt/0080-printk-inline-log_output-log_store-in-vprintk_store.patch --- linux-5.10.197/debian/patches-rt/0080-printk-inline-log_output-log_store-in-vprintk_store.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0080-printk-inline-log_output-log_store-in-vprintk_store.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From d1284c24b45eeda80a1dd3439e7f135da55d6bc6 Mon Sep 17 00:00:00 2001 +From fe124333809d2e0a0926d5609f78bafffc62f539 Mon Sep 17 00:00:00 2001 From: John Ogness Date: Wed, 9 Dec 2020 01:50:52 +0106 -Subject: [PATCH 080/321] printk: inline log_output(),log_store() in +Subject: [PATCH 080/323] printk: inline log_output(),log_store() in vprintk_store() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz In preparation for removing logbuf_lock, inline log_output() and log_store() into vprintk_store(). This will simplify dealing @@ -197,5 +197,5 @@ asmlinkage int vprintk_emit(int facility, int level, -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0081-printk-remove-logbuf_lock-writer-protection-of-ringb.patch linux-5.10.205/debian/patches-rt/0081-printk-remove-logbuf_lock-writer-protection-of-ringb.patch --- linux-5.10.197/debian/patches-rt/0081-printk-remove-logbuf_lock-writer-protection-of-ringb.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0081-printk-remove-logbuf_lock-writer-protection-of-ringb.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From d4f233f5bda37aa9e0f2d71abcaa197f1809848a Mon Sep 17 00:00:00 2001 +From c2d6c379547a29aa25202641659917ecd9ae7712 Mon Sep 17 00:00:00 2001 From: John Ogness Date: Wed, 9 Dec 2020 01:50:53 +0106 -Subject: [PATCH 081/321] printk: remove logbuf_lock writer-protection of +Subject: [PATCH 081/323] printk: remove logbuf_lock writer-protection of ringbuffer -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Since the ringbuffer is lockless, there is no need for it to be protected by @logbuf_lock. Remove @logbuf_lock writer-protection of @@ -247,5 +247,5 @@ /* If called from the scheduler, we can not call up(). */ if (!in_sched) { -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0082-printk-limit-second-loop-of-syslog_print_all.patch linux-5.10.205/debian/patches-rt/0082-printk-limit-second-loop-of-syslog_print_all.patch --- linux-5.10.197/debian/patches-rt/0082-printk-limit-second-loop-of-syslog_print_all.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0082-printk-limit-second-loop-of-syslog_print_all.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From c3d5b075328f34d61aaf255e49ef7030e599a297 Mon Sep 17 00:00:00 2001 +From 6769883ba30e543644f62ababe6910c6774f1885 Mon Sep 17 00:00:00 2001 From: John Ogness Date: Wed, 17 Feb 2021 16:15:31 +0100 -Subject: [PATCH 082/321] printk: limit second loop of syslog_print_all -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 082/323] printk: limit second loop of syslog_print_all +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The second loop of syslog_print_all() subtracts lengths that were added in the first loop. With commit b031a684bfd0 ("printk: remove @@ -52,5 +52,5 @@ len -= get_record_print_text_size(&info, line_count, true, time); } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0083-printk-kmsg_dump-remove-unused-fields.patch linux-5.10.205/debian/patches-rt/0083-printk-kmsg_dump-remove-unused-fields.patch --- linux-5.10.197/debian/patches-rt/0083-printk-kmsg_dump-remove-unused-fields.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0083-printk-kmsg_dump-remove-unused-fields.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 06e547db9c37f433e70640415d9b67e96d4da745 Mon Sep 17 00:00:00 2001 +From dabfa71dd963396a46aee0066bb3eff206de08f7 Mon Sep 17 00:00:00 2001 From: John Ogness Date: Mon, 21 Dec 2020 11:19:39 +0106 -Subject: [PATCH 083/321] printk: kmsg_dump: remove unused fields -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 083/323] printk: kmsg_dump: remove unused fields +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz struct kmsg_dumper still contains some fields that were used to iterate the old ringbuffer. They are no longer used. Remove them @@ -39,5 +39,5 @@ u64 next_seq; }; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0084-printk-refactor-kmsg_dump_get_buffer.patch linux-5.10.205/debian/patches-rt/0084-printk-refactor-kmsg_dump_get_buffer.patch --- linux-5.10.197/debian/patches-rt/0084-printk-refactor-kmsg_dump_get_buffer.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0084-printk-refactor-kmsg_dump_get_buffer.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 8e0022d6302c60a94bd519ebfceb5efcbcadc895 Mon Sep 17 00:00:00 2001 +From b6e17f3557ef5e32212483ca92910ea28eb21eeb Mon Sep 17 00:00:00 2001 From: John Ogness Date: Mon, 30 Nov 2020 01:41:56 +0106 -Subject: [PATCH 084/321] printk: refactor kmsg_dump_get_buffer() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 084/323] printk: refactor kmsg_dump_get_buffer() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz kmsg_dump_get_buffer() requires nearly the same logic as syslog_print_all(), but uses different variable names and @@ -141,5 +141,5 @@ } EXPORT_SYMBOL_GPL(kmsg_dump_get_buffer); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0085-printk-consolidate-kmsg_dump_get_buffer-syslog_print.patch linux-5.10.205/debian/patches-rt/0085-printk-consolidate-kmsg_dump_get_buffer-syslog_print.patch --- linux-5.10.197/debian/patches-rt/0085-printk-consolidate-kmsg_dump_get_buffer-syslog_print.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0085-printk-consolidate-kmsg_dump_get_buffer-syslog_print.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 1b1d1986b390b0bc24fb878e30a727838d01561d Mon Sep 17 00:00:00 2001 +From 922cda1ee8d183c2e98429cdabf907a92df72465 Mon Sep 17 00:00:00 2001 From: John Ogness Date: Wed, 13 Jan 2021 11:29:53 +0106 -Subject: [PATCH 085/321] printk: consolidate +Subject: [PATCH 085/323] printk: consolidate kmsg_dump_get_buffer/syslog_print_all code -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The logic for finding records to fit into a buffer is the same for kmsg_dump_get_buffer() and syslog_print_all(). Introduce a helper @@ -143,5 +143,5 @@ /* * Next kmsg_dump_get_buffer() invocation will dump block of -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0086-printk-introduce-CONSOLE_LOG_MAX-for-improved-multi-.patch linux-5.10.205/debian/patches-rt/0086-printk-introduce-CONSOLE_LOG_MAX-for-improved-multi-.patch --- linux-5.10.197/debian/patches-rt/0086-printk-introduce-CONSOLE_LOG_MAX-for-improved-multi-.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0086-printk-introduce-CONSOLE_LOG_MAX-for-improved-multi-.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 538ea1dc05469b5b267e4aef2363cc873bf8f4a8 Mon Sep 17 00:00:00 2001 +From 2b148f755fdd9d276d191e982d525f330cffad0b Mon Sep 17 00:00:00 2001 From: John Ogness Date: Thu, 10 Dec 2020 12:48:01 +0106 -Subject: [PATCH 086/321] printk: introduce CONSOLE_LOG_MAX for improved +Subject: [PATCH 086/323] printk: introduce CONSOLE_LOG_MAX for improved multi-line support -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Instead of using "LOG_LINE_MAX + PREFIX_MAX" for temporary buffer sizes, introduce CONSOLE_LOG_MAX. This represents the maximum size @@ -91,5 +91,5 @@ bool do_cond_resched, retry; struct printk_info info; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0087-printk-use-seqcount_latch-for-clear_seq.patch linux-5.10.205/debian/patches-rt/0087-printk-use-seqcount_latch-for-clear_seq.patch --- linux-5.10.197/debian/patches-rt/0087-printk-use-seqcount_latch-for-clear_seq.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0087-printk-use-seqcount_latch-for-clear_seq.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From d207a69f63cfe280d813468d2cfdd2b7b8906cc3 Mon Sep 17 00:00:00 2001 +From 0b877c3f36fc909dc2aec9f70e2e80ad0c69a60b Mon Sep 17 00:00:00 2001 From: John Ogness Date: Mon, 30 Nov 2020 01:41:58 +0106 -Subject: [PATCH 087/321] printk: use seqcount_latch for clear_seq -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 087/323] printk: use seqcount_latch for clear_seq +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz kmsg_dump_rewind_nolock() locklessly reads @clear_seq. However, this is not done atomically. Since @clear_seq is 64-bit, this @@ -143,5 +143,5 @@ } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0088-printk-use-atomic64_t-for-devkmsg_user.seq.patch linux-5.10.205/debian/patches-rt/0088-printk-use-atomic64_t-for-devkmsg_user.seq.patch --- linux-5.10.197/debian/patches-rt/0088-printk-use-atomic64_t-for-devkmsg_user.seq.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0088-printk-use-atomic64_t-for-devkmsg_user.seq.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From df6b491834907ea7c89722d46d12f158f5e06625 Mon Sep 17 00:00:00 2001 +From ccc444abbce9df5f0747db8dd10bd39388d58836 Mon Sep 17 00:00:00 2001 From: John Ogness Date: Thu, 10 Dec 2020 15:33:40 +0106 -Subject: [PATCH 088/321] printk: use atomic64_t for devkmsg_user.seq -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 088/323] printk: use atomic64_t for devkmsg_user.seq +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz @user->seq is indirectly protected by @logbuf_lock. Once @logbuf_lock is removed, @user->seq will be no longer safe from an atomicity point @@ -108,5 +108,5 @@ file->private_data = user; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0089-printk-add-syslog_lock.patch linux-5.10.205/debian/patches-rt/0089-printk-add-syslog_lock.patch --- linux-5.10.197/debian/patches-rt/0089-printk-add-syslog_lock.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0089-printk-add-syslog_lock.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From ee26ff81b07964309197934d0f62a61158f6d7aa Mon Sep 17 00:00:00 2001 +From 5521ed0e06ffc572d9f0ebf5421ab23288899804 Mon Sep 17 00:00:00 2001 From: John Ogness Date: Thu, 10 Dec 2020 16:58:02 +0106 -Subject: [PATCH 089/321] printk: add syslog_lock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 089/323] printk: add syslog_lock +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The global variables @syslog_seq, @syslog_partial, @syslog_time and write access to @clear_seq are protected by @logbuf_lock. @@ -155,5 +155,5 @@ } console_unlock(); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0090-printk-introduce-a-kmsg_dump-iterator.patch linux-5.10.205/debian/patches-rt/0090-printk-introduce-a-kmsg_dump-iterator.patch --- linux-5.10.197/debian/patches-rt/0090-printk-introduce-a-kmsg_dump-iterator.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0090-printk-introduce-a-kmsg_dump-iterator.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 923fc3d4976d9c2a385736401373a5f161e752ca Mon Sep 17 00:00:00 2001 +From 5bb123ebb8e508baa987e9bc17029e2eaa64575b Mon Sep 17 00:00:00 2001 From: John Ogness Date: Fri, 18 Dec 2020 11:40:08 +0000 -Subject: [PATCH 090/321] printk: introduce a kmsg_dump iterator -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 090/323] printk: introduce a kmsg_dump iterator +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Rather than store the iterator information into the registered kmsg_dump structure, create a separate iterator structure. The @@ -82,10 +82,10 @@ /* * Outside of a panic context the pollers will continue to run, diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c -index 2872b66d9fec..9406b4c9cd17 100644 +index 3de2adc0a807..9f62cca6c594 100644 --- a/arch/powerpc/xmon/xmon.c +++ b/arch/powerpc/xmon/xmon.c -@@ -3002,7 +3002,7 @@ print_address(unsigned long addr) +@@ -3003,7 +3003,7 @@ print_address(unsigned long addr) static void dump_log_buf(void) { @@ -94,7 +94,7 @@ unsigned char buf[128]; size_t len; -@@ -3014,9 +3014,9 @@ dump_log_buf(void) +@@ -3015,9 +3015,9 @@ dump_log_buf(void) catch_memory_errors = 1; sync(); @@ -176,7 +176,7 @@ if (reason != KMSG_DUMP_OOPS) { diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c -index ce03c3dbb5c3..5c2c14d5f6fc 100644 +index d59f13b1fb96..64f3f85d2a5d 100644 --- a/fs/pstore/platform.c +++ b/fs/pstore/platform.c @@ -384,7 +384,8 @@ void pstore_record_init(struct pstore_record *record, @@ -557,5 +557,5 @@ } EXPORT_SYMBOL_GPL(kmsg_dump_rewind); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0091-um-synchronize-kmsg_dumper.patch linux-5.10.205/debian/patches-rt/0091-um-synchronize-kmsg_dumper.patch --- linux-5.10.197/debian/patches-rt/0091-um-synchronize-kmsg_dumper.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0091-um-synchronize-kmsg_dumper.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 30f9bb3abbb92474f05d491d7bb91598f9a3eece Mon Sep 17 00:00:00 2001 +From 7790fa6baa700a285007a6e8ddf99393ba72acc2 Mon Sep 17 00:00:00 2001 From: John Ogness Date: Mon, 21 Dec 2020 11:10:03 +0106 -Subject: [PATCH 091/321] um: synchronize kmsg_dumper -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 091/323] um: synchronize kmsg_dumper +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The kmsg_dumper can be called from any context and CPU, possibly from multiple CPUs simultaneously. Since a static buffer is used @@ -57,5 +57,5 @@ static struct kmsg_dumper kmsg_dumper = { -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0092-printk-remove-logbuf_lock.patch linux-5.10.205/debian/patches-rt/0092-printk-remove-logbuf_lock.patch --- linux-5.10.197/debian/patches-rt/0092-printk-remove-logbuf_lock.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0092-printk-remove-logbuf_lock.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From cf86cbdea9a0e6dc21bb0027e8b319221ccae714 Mon Sep 17 00:00:00 2001 +From 74a8c8a0d6b64df822c5946a582ca3adeec24e63 Mon Sep 17 00:00:00 2001 From: John Ogness Date: Tue, 26 Jan 2021 17:43:19 +0106 -Subject: [PATCH 092/321] printk: remove logbuf_lock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 092/323] printk: remove logbuf_lock +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Since the ringbuffer is lockless, there is no need for it to be protected by @logbuf_lock. Remove @logbuf_lock. @@ -482,5 +482,5 @@ return vprintk_nmi(fmt, args); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0093-printk-kmsg_dump-remove-_nolock-variants.patch linux-5.10.205/debian/patches-rt/0093-printk-kmsg_dump-remove-_nolock-variants.patch --- linux-5.10.197/debian/patches-rt/0093-printk-kmsg_dump-remove-_nolock-variants.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0093-printk-kmsg_dump-remove-_nolock-variants.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 8f53facdac2285ba4c7e062b85ef9f632e07850b Mon Sep 17 00:00:00 2001 +From 171ee108014d67150846f1b8f978921cefc7b1e3 Mon Sep 17 00:00:00 2001 From: John Ogness Date: Mon, 21 Dec 2020 10:27:58 +0106 -Subject: [PATCH 093/321] printk: kmsg_dump: remove _nolock() variants -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 093/323] printk: kmsg_dump: remove _nolock() variants +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz kmsg_dump_rewind() and kmsg_dump_get_line() are lockless, so there is no need for _nolock() variants. Remove these functions and switch all @@ -20,10 +20,10 @@ 4 files changed, 15 insertions(+), 75 deletions(-) diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c -index 9406b4c9cd17..0918ab137728 100644 +index 9f62cca6c594..2eef587bf51d 100644 --- a/arch/powerpc/xmon/xmon.c +++ b/arch/powerpc/xmon/xmon.c -@@ -3014,9 +3014,9 @@ dump_log_buf(void) +@@ -3015,9 +3015,9 @@ dump_log_buf(void) catch_memory_errors = 1; sync(); @@ -222,5 +222,5 @@ } EXPORT_SYMBOL_GPL(kmsg_dump_rewind); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0094-printk-kmsg_dump-use-kmsg_dump_rewind.patch linux-5.10.205/debian/patches-rt/0094-printk-kmsg_dump-use-kmsg_dump_rewind.patch --- linux-5.10.197/debian/patches-rt/0094-printk-kmsg_dump-use-kmsg_dump_rewind.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0094-printk-kmsg_dump-use-kmsg_dump_rewind.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 54047a03b36a80705d575dc008c8ccfa69496c94 Mon Sep 17 00:00:00 2001 +From 66a45e662dc7ecb7e9b519d3475c7893c0c1dc60 Mon Sep 17 00:00:00 2001 From: John Ogness Date: Wed, 17 Feb 2021 18:23:16 +0100 -Subject: [PATCH 094/321] printk: kmsg_dump: use kmsg_dump_rewind -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 094/323] printk: kmsg_dump: use kmsg_dump_rewind +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz kmsg_dump() is open coding the kmsg_dump_rewind(). Call kmsg_dump_rewind() instead. @@ -38,5 +38,5 @@ /* invoke dumper which will iterate over records */ dumper->dump(dumper, reason, &iter); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0095-printk-console-remove-unnecessary-safe-buffer-usage.patch linux-5.10.205/debian/patches-rt/0095-printk-console-remove-unnecessary-safe-buffer-usage.patch --- linux-5.10.197/debian/patches-rt/0095-printk-console-remove-unnecessary-safe-buffer-usage.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0095-printk-console-remove-unnecessary-safe-buffer-usage.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 68d1b3e3417e4c644952e21ca74b850c670d5503 Mon Sep 17 00:00:00 2001 +From 259c5c359d06d8bbbddebc6cc12fc2abc6bb2783 Mon Sep 17 00:00:00 2001 From: John Ogness Date: Wed, 17 Feb 2021 18:28:05 +0100 -Subject: [PATCH 095/321] printk: console: remove unnecessary safe buffer usage -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 095/323] printk: console: remove unnecessary safe buffer usage +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Upon registering a console, safe buffers are activated when setting up the sequence number to replay the log. However, these are already @@ -44,5 +44,5 @@ console_unlock(); console_sysfs_notify(); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0096-printk-track-limit-recursion.patch linux-5.10.205/debian/patches-rt/0096-printk-track-limit-recursion.patch --- linux-5.10.197/debian/patches-rt/0096-printk-track-limit-recursion.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0096-printk-track-limit-recursion.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 8785b3ebe2e0cca869544aeb8a8136a8094378d8 Mon Sep 17 00:00:00 2001 +From 05db2b7a33a6aed0cb1ce99370c436dc2b72b521 Mon Sep 17 00:00:00 2001 From: John Ogness Date: Fri, 11 Dec 2020 00:55:25 +0106 -Subject: [PATCH 096/321] printk: track/limit recursion -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 096/323] printk: track/limit recursion +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Limit printk() recursion to 1 level. This is enough to print a stacktrace for the printk call, should a WARN or BUG occur. @@ -139,5 +139,5 @@ asmlinkage int vprintk_emit(int facility, int level, -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0097-printk-remove-safe-buffers.patch linux-5.10.205/debian/patches-rt/0097-printk-remove-safe-buffers.patch --- linux-5.10.197/debian/patches-rt/0097-printk-remove-safe-buffers.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0097-printk-remove-safe-buffers.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From c188e43b52365a76bebe97288e1f51279af49478 Mon Sep 17 00:00:00 2001 +From c0ee407b7db3b7ac5c24337a9d365a35450c233b Mon Sep 17 00:00:00 2001 From: John Ogness Date: Mon, 30 Nov 2020 01:42:00 +0106 -Subject: [PATCH 097/321] printk: remove safe buffers -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 097/323] printk: remove safe buffers +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz With @logbuf_lock removed, the high level printk functions for storing messages are lockless. Messages can be stored from any @@ -83,7 +83,7 @@ extern int kptr_restrict; diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c -index 7a8104d48997..40accae09616 100644 +index 3a37fc62dc95..78a1fd9c3c8a 100644 --- a/kernel/kexec_core.c +++ b/kernel/kexec_core.c @@ -978,7 +978,6 @@ void crash_kexec(struct pt_regs *regs) @@ -873,5 +873,5 @@ put_cpu(); } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0098-printk-convert-syslog_lock-to-spin_lock.patch linux-5.10.205/debian/patches-rt/0098-printk-convert-syslog_lock-to-spin_lock.patch --- linux-5.10.197/debian/patches-rt/0098-printk-convert-syslog_lock-to-spin_lock.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0098-printk-convert-syslog_lock-to-spin_lock.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From c82c310b86d95c9c7430dcd12ff88aa1e3468b9c Mon Sep 17 00:00:00 2001 +From 8e6eb9e51cf4c4efeeb61910c35b01dcce2ec502 Mon Sep 17 00:00:00 2001 From: John Ogness Date: Thu, 18 Feb 2021 17:37:41 +0100 -Subject: [PATCH 098/321] printk: convert @syslog_lock to spin_lock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 098/323] printk: convert @syslog_lock to spin_lock +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Signed-off-by: John Ogness Signed-off-by: Sebastian Andrzej Siewior @@ -115,5 +115,5 @@ console_unlock(); console_sysfs_notify(); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0099-console-add-write_atomic-interface.patch linux-5.10.205/debian/patches-rt/0099-console-add-write_atomic-interface.patch --- linux-5.10.197/debian/patches-rt/0099-console-add-write_atomic-interface.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0099-console-add-write_atomic-interface.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From c16389c4400a7e754d3e4e5bee4536472988f0a6 Mon Sep 17 00:00:00 2001 +From a021f069828ba9181d19f5ee9a977cf305ddaf19 Mon Sep 17 00:00:00 2001 From: John Ogness Date: Mon, 30 Nov 2020 01:42:01 +0106 -Subject: [PATCH 099/321] console: add write_atomic interface -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 099/323] console: add write_atomic interface +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Add a write_atomic() callback to the console. This is an optional function for console drivers. The function must be atomic (including @@ -159,5 +159,5 @@ +} +EXPORT_SYMBOL(console_atomic_unlock); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0100-serial-8250-implement-write_atomic.patch linux-5.10.205/debian/patches-rt/0100-serial-8250-implement-write_atomic.patch --- linux-5.10.197/debian/patches-rt/0100-serial-8250-implement-write_atomic.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0100-serial-8250-implement-write_atomic.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 52275aefc72bdd0192a932fcd04aa1a454cc0532 Mon Sep 17 00:00:00 2001 +From 713182575337acb0891fcfaef75c3a36408d1766 Mon Sep 17 00:00:00 2001 From: John Ogness Date: Mon, 30 Nov 2020 01:42:02 +0106 -Subject: [PATCH 100/321] serial: 8250: implement write_atomic -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 100/323] serial: 8250: implement write_atomic +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Implement a non-sleeping NMI-safe write_atomic() console function in order to support emergency console printing. @@ -27,10 +27,10 @@ 7 files changed, 162 insertions(+), 44 deletions(-) diff --git a/drivers/tty/serial/8250/8250.h b/drivers/tty/serial/8250/8250.h -index 0771cd226581..3fa4c14c8e2b 100644 +index 61b11490ae5b..32c534b87397 100644 --- a/drivers/tty/serial/8250/8250.h +++ b/drivers/tty/serial/8250/8250.h -@@ -153,12 +153,55 @@ static inline void serial_dl_write(struct uart_8250_port *up, int value) +@@ -152,12 +152,55 @@ static inline void serial_dl_write(struct uart_8250_port *up, int value) up->dl_write(up, value); } @@ -87,7 +87,7 @@ return true; } -@@ -167,7 +210,7 @@ static inline bool serial8250_clear_THRI(struct uart_8250_port *up) +@@ -166,7 +209,7 @@ static inline bool serial8250_clear_THRI(struct uart_8250_port *up) if (!(up->ier & UART_IER_THRI)) return false; up->ier &= ~UART_IER_THRI; @@ -239,7 +239,7 @@ static void mtk8250_set_flow_ctrl(struct uart_8250_port *up, int mode) diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c -index b19908779e3b..1c3d4416b791 100644 +index 8b49ac4856d2..947737d0e46b 100644 --- a/drivers/tty/serial/8250/8250_port.c +++ b/drivers/tty/serial/8250/8250_port.c @@ -730,7 +730,7 @@ static void serial8250_set_sleep(struct uart_8250_port *p, int sleep) @@ -287,7 +287,7 @@ serial8250_rpm_put(up); } -@@ -2126,14 +2126,7 @@ static void serial8250_put_poll_char(struct uart_port *port, +@@ -2129,14 +2129,7 @@ static void serial8250_put_poll_char(struct uart_port *port, struct uart_8250_port *up = up_to_u8250p(port); serial8250_rpm_get(up); @@ -303,7 +303,7 @@ wait_for_xmitr(up, BOTH_EMPTY); /* -@@ -2146,7 +2139,7 @@ static void serial8250_put_poll_char(struct uart_port *port, +@@ -2149,7 +2142,7 @@ static void serial8250_put_poll_char(struct uart_port *port, * and restore the IER */ wait_for_xmitr(up, BOTH_EMPTY); @@ -312,7 +312,7 @@ serial8250_rpm_put(up); } -@@ -2451,7 +2444,7 @@ void serial8250_do_shutdown(struct uart_port *port) +@@ -2454,7 +2447,7 @@ void serial8250_do_shutdown(struct uart_port *port) */ spin_lock_irqsave(&port->lock, flags); up->ier = 0; @@ -321,7 +321,7 @@ spin_unlock_irqrestore(&port->lock, flags); synchronize_irq(port->irq); -@@ -2807,7 +2800,7 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios, +@@ -2806,7 +2799,7 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios, if (up->capabilities & UART_CAP_RTOIE) up->ier |= UART_IER_RTOIE; @@ -330,7 +330,7 @@ if (up->capabilities & UART_CAP_EFR) { unsigned char efr = 0; -@@ -3272,7 +3265,7 @@ EXPORT_SYMBOL_GPL(serial8250_set_defaults); +@@ -3271,7 +3264,7 @@ EXPORT_SYMBOL_GPL(serial8250_set_defaults); #ifdef CONFIG_SERIAL_8250_CONSOLE @@ -339,7 +339,7 @@ { struct uart_8250_port *up = up_to_u8250p(port); -@@ -3280,6 +3273,18 @@ static void serial8250_console_putchar(struct uart_port *port, int ch) +@@ -3279,6 +3272,18 @@ static void serial8250_console_putchar(struct uart_port *port, int ch) serial_port_out(port, UART_TX, ch); } @@ -358,7 +358,7 @@ /* * Restore serial console when h/w power-off detected */ -@@ -3306,6 +3311,32 @@ static void serial8250_console_restore(struct uart_8250_port *up) +@@ -3305,6 +3310,32 @@ static void serial8250_console_restore(struct uart_8250_port *up) serial8250_out_MCR(up, up->mcr | UART_MCR_DTR | UART_MCR_RTS); } @@ -391,7 +391,7 @@ /* * Print a string to the serial port trying not to disturb * any possible real use of the port... -@@ -3322,24 +3353,12 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s, +@@ -3321,24 +3352,12 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s, struct uart_port *port = &up->port; unsigned long flags; unsigned int ier; @@ -418,7 +418,7 @@ /* check scratch reg to see if port powered off during system sleep */ if (up->canary && (up->canary != serial_port_in(port, UART_SCR))) { -@@ -3353,7 +3372,9 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s, +@@ -3352,7 +3371,9 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s, mdelay(port->rs485.delay_rts_before_send); } @@ -428,7 +428,7 @@ /* * Finally, wait for transmitter to become empty -@@ -3366,8 +3387,7 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s, +@@ -3365,8 +3386,7 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s, if (em485->tx_stopped) up->rs485_stop_tx(up); } @@ -438,7 +438,7 @@ /* * The receive handling will happen properly because the -@@ -3379,8 +3399,7 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s, +@@ -3378,8 +3398,7 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s, if (up->msr_saved_flags) serial8250_modem_status(up); @@ -448,7 +448,7 @@ } static unsigned int probe_baud(struct uart_port *port) -@@ -3400,6 +3419,7 @@ static unsigned int probe_baud(struct uart_port *port) +@@ -3399,6 +3418,7 @@ static unsigned int probe_baud(struct uart_port *port) int serial8250_console_setup(struct uart_port *port, char *options, bool probe) { @@ -456,7 +456,7 @@ int baud = 9600; int bits = 8; int parity = 'n'; -@@ -3409,6 +3429,8 @@ int serial8250_console_setup(struct uart_port *port, char *options, bool probe) +@@ -3408,6 +3428,8 @@ int serial8250_console_setup(struct uart_port *port, char *options, bool probe) if (!port->iobase && !port->membase) return -ENODEV; @@ -466,7 +466,7 @@ uart_parse_options(options, &baud, &parity, &bits, &flow); else if (probe) diff --git a/include/linux/serial_8250.h b/include/linux/serial_8250.h -index 92f3b778d8c2..38bdbbf914ba 100644 +index abb928361270..77de68ed2d60 100644 --- a/include/linux/serial_8250.h +++ b/include/linux/serial_8250.h @@ -7,6 +7,7 @@ @@ -477,7 +477,7 @@ #include #include #include -@@ -126,6 +127,8 @@ struct uart_8250_port { +@@ -125,6 +126,8 @@ struct uart_8250_port { #define MSR_SAVE_FLAGS UART_MSR_ANY_DELTA unsigned char msr_saved_flags; @@ -486,7 +486,7 @@ struct uart_8250_dma *dma; const struct uart_8250_ops *ops; -@@ -181,6 +184,8 @@ void serial8250_init_port(struct uart_8250_port *up); +@@ -180,6 +183,8 @@ void serial8250_init_port(struct uart_8250_port *up); void serial8250_set_defaults(struct uart_8250_port *up); void serial8250_console_write(struct uart_8250_port *up, const char *s, unsigned int count); @@ -496,5 +496,5 @@ int serial8250_console_exit(struct uart_port *port); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0101-printk-relocate-printk_delay-and-vprintk_default.patch linux-5.10.205/debian/patches-rt/0101-printk-relocate-printk_delay-and-vprintk_default.patch --- linux-5.10.197/debian/patches-rt/0101-printk-relocate-printk_delay-and-vprintk_default.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0101-printk-relocate-printk_delay-and-vprintk_default.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 3833e7fb62a80da70afe3fce4ce895984ed11af5 Mon Sep 17 00:00:00 2001 +From 598543b96b715ed360718ca3597ad4a2eda53241 Mon Sep 17 00:00:00 2001 From: John Ogness Date: Mon, 30 Nov 2020 01:42:03 +0106 -Subject: [PATCH 101/321] printk: relocate printk_delay() and vprintk_default() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 101/323] printk: relocate printk_delay() and vprintk_default() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Move printk_delay() and vprintk_default() "as is" further up so that they can be used by new functions in an upcoming commit. @@ -85,5 +85,5 @@ * printk - print a kernel message * @fmt: format string -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0102-printk-combine-boot_delay_msec-into-printk_delay.patch linux-5.10.205/debian/patches-rt/0102-printk-combine-boot_delay_msec-into-printk_delay.patch --- linux-5.10.197/debian/patches-rt/0102-printk-combine-boot_delay_msec-into-printk_delay.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0102-printk-combine-boot_delay_msec-into-printk_delay.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 94bb20c751aaf85c80dd4571b7218477dfb090c3 Mon Sep 17 00:00:00 2001 +From 17a9ff9877863dc267a2b0ead2ab3f792b5e405c Mon Sep 17 00:00:00 2001 From: John Ogness Date: Mon, 30 Nov 2020 01:42:04 +0106 -Subject: [PATCH 102/321] printk: combine boot_delay_msec() into printk_delay() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 102/323] printk: combine boot_delay_msec() into printk_delay() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz boot_delay_msec() is always called immediately before printk_delay() so just combine the two. @@ -40,5 +40,5 @@ printed_len = vprintk_store(facility, level, dev_info, fmt, args); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0103-printk-change-console_seq-to-atomic64_t.patch linux-5.10.205/debian/patches-rt/0103-printk-change-console_seq-to-atomic64_t.patch --- linux-5.10.197/debian/patches-rt/0103-printk-change-console_seq-to-atomic64_t.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0103-printk-change-console_seq-to-atomic64_t.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 3da993a0d0746d30f8e9a742ee545b23d4159888 Mon Sep 17 00:00:00 2001 +From ebdec06c58c4330925d5603649542827bf7bff25 Mon Sep 17 00:00:00 2001 From: John Ogness Date: Mon, 30 Nov 2020 01:42:05 +0106 -Subject: [PATCH 103/321] printk: change @console_seq to atomic64_t -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 103/323] printk: change @console_seq to atomic64_t +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz In preparation for atomic printing, change @console_seq to atomic so that it can be accessed without requiring @console_sem. @@ -128,5 +128,5 @@ } console_unlock(); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0104-printk-introduce-kernel-sync-mode.patch linux-5.10.205/debian/patches-rt/0104-printk-introduce-kernel-sync-mode.patch --- linux-5.10.197/debian/patches-rt/0104-printk-introduce-kernel-sync-mode.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0104-printk-introduce-kernel-sync-mode.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 2b15efcf3bf528402c58121e5a9e670041653126 Mon Sep 17 00:00:00 2001 +From fcf68eb3d589c57f73e4a79b7df2f6ec8080b1ce Mon Sep 17 00:00:00 2001 From: John Ogness Date: Mon, 30 Nov 2020 01:42:06 +0106 -Subject: [PATCH 104/321] printk: introduce kernel sync mode -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 104/323] printk: introduce kernel sync mode +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz When the kernel performs an OOPS, enter into "sync mode": @@ -306,5 +306,5 @@ list_for_each_entry_rcu(dumper, &dump_list, list) { enum kmsg_dump_reason max_reason = dumper->max_reason; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0105-printk-move-console-printing-to-kthreads.patch linux-5.10.205/debian/patches-rt/0105-printk-move-console-printing-to-kthreads.patch --- linux-5.10.197/debian/patches-rt/0105-printk-move-console-printing-to-kthreads.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0105-printk-move-console-printing-to-kthreads.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From bb4331d7dada23e775cd913e86541cac06b28e2f Mon Sep 17 00:00:00 2001 +From 24c419661c9c605b6f1ddccf1683c2c0f8c5dcf4 Mon Sep 17 00:00:00 2001 From: John Ogness Date: Mon, 30 Nov 2020 01:42:07 +0106 -Subject: [PATCH 105/321] printk: move console printing to kthreads -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 105/323] printk: move console printing to kthreads +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Create a kthread for each console to perform console printing. Now all console printing is fully asynchronous except for the boot @@ -844,5 +844,5 @@ int vprintk_deferred(const char *fmt, va_list args) -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0106-printk-remove-deferred-printing.patch linux-5.10.205/debian/patches-rt/0106-printk-remove-deferred-printing.patch --- linux-5.10.197/debian/patches-rt/0106-printk-remove-deferred-printing.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0106-printk-remove-deferred-printing.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From efa49a7dab7f53ab120d6feb666a9053e5402cca Mon Sep 17 00:00:00 2001 +From f1e8f72e9d5c1df1ddaac09999645f7255219d77 Mon Sep 17 00:00:00 2001 From: John Ogness Date: Mon, 30 Nov 2020 01:42:08 +0106 -Subject: [PATCH 106/321] printk: remove deferred printing -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 106/323] printk: remove deferred printing +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Since printing occurs either atomically or from the printing kthread, there is no need for any deferring or tracking possible @@ -408,10 +408,10 @@ - return vprintk_default(fmt, args); -} diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index 518d2086ed29..dd0db09d4d4c 100644 +index 70ab6b46ef8f..5d6730589823 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c -@@ -9358,7 +9358,6 @@ void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) +@@ -9517,7 +9517,6 @@ void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) tracing_off(); local_irq_save(flags); @@ -419,7 +419,7 @@ /* Simulate the iterator */ trace_init_global_iter(&iter); -@@ -9438,7 +9437,6 @@ void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) +@@ -9594,7 +9593,6 @@ void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) atomic_dec(&per_cpu_ptr(iter.array_buffer->data, cpu)->disabled); } atomic_dec(&dump_running); @@ -428,5 +428,5 @@ } EXPORT_SYMBOL_GPL(ftrace_dump); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0107-printk-add-console-handover.patch linux-5.10.205/debian/patches-rt/0107-printk-add-console-handover.patch --- linux-5.10.197/debian/patches-rt/0107-printk-add-console-handover.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0107-printk-add-console-handover.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 8c96a112b3d50bdc1abddc53eb5995fd6fa0cd92 Mon Sep 17 00:00:00 2001 +From ead093d95a7917fa12f9d4653032eac383d21c1d Mon Sep 17 00:00:00 2001 From: John Ogness Date: Mon, 30 Nov 2020 01:42:09 +0106 -Subject: [PATCH 107/321] printk: add console handover -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 107/323] printk: add console handover +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz If earlyprintk is used, a boot console will print directly to the console immediately. The boot console will unregister itself as soon @@ -72,5 +72,5 @@ /* * Put this console in the list - keep the -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0108-printk-add-pr_flush.patch linux-5.10.205/debian/patches-rt/0108-printk-add-pr_flush.patch --- linux-5.10.197/debian/patches-rt/0108-printk-add-pr_flush.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0108-printk-add-pr_flush.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 7a1426402c6b48a350a378683dda4b910daa9eaa Mon Sep 17 00:00:00 2001 +From cf83f550753a28a3f2a5a7ddd45456fb3ccd03ed Mon Sep 17 00:00:00 2001 From: John Ogness Date: Mon, 30 Nov 2020 01:42:10 +0106 -Subject: [PATCH 108/321] printk: add pr_flush() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 108/323] printk: add pr_flush() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Provide a function to allow waiting for console printers to catch up to the latest logged message. @@ -209,5 +209,5 @@ return BUG_TRAP_TYPE_BUG; } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0109-cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch linux-5.10.205/debian/patches-rt/0109-cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch --- linux-5.10.197/debian/patches-rt/0109-cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0109-cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From ebf8a1e575fc38295a450b7aed62ae737c4c3c4c Mon Sep 17 00:00:00 2001 +From 5c99ffb2025e5ae87404c3b9641b9dafaec9336e Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 3 Jul 2018 18:19:48 +0200 -Subject: [PATCH 109/321] cgroup: use irqsave in cgroup_rstat_flush_locked() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 109/323] cgroup: use irqsave in cgroup_rstat_flush_locked() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz All callers of cgroup_rstat_flush_locked() acquire cgroup_rstat_lock either with spin_lock_irq() or spin_lock_irqsave(). @@ -46,5 +46,5 @@ /* if @may_sleep, play nice and yield if necessary */ if (may_sleep && (need_resched() || -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0110-mm-workingset-replace-IRQ-off-check-with-a-lockdep-a.patch linux-5.10.205/debian/patches-rt/0110-mm-workingset-replace-IRQ-off-check-with-a-lockdep-a.patch --- linux-5.10.197/debian/patches-rt/0110-mm-workingset-replace-IRQ-off-check-with-a-lockdep-a.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0110-mm-workingset-replace-IRQ-off-check-with-a-lockdep-a.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From e8c343d5cc1fe4c6140949c0e7d6d0e2355b2b77 Mon Sep 17 00:00:00 2001 +From e215644e77fc149727b2ed1c3412c2e7668ff5aa Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 11 Feb 2019 10:40:46 +0100 -Subject: [PATCH 110/321] mm: workingset: replace IRQ-off check with a lockdep +Subject: [PATCH 110/323] mm: workingset: replace IRQ-off check with a lockdep assert. -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Commit @@ -45,5 +45,5 @@ if (node->count && node->count == node->nr_values) { if (list_empty(&node->private_list)) { -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0111-tpm-remove-tpm_dev_wq_lock.patch linux-5.10.205/debian/patches-rt/0111-tpm-remove-tpm_dev_wq_lock.patch --- linux-5.10.197/debian/patches-rt/0111-tpm-remove-tpm_dev_wq_lock.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0111-tpm-remove-tpm_dev_wq_lock.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 3b10b1ddd2f117a2e54f8effb4c60eb072744b78 Mon Sep 17 00:00:00 2001 +From 74373c599ec7fa9991304d680c34ec5b591d4cad Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 11 Feb 2019 11:33:11 +0100 -Subject: [PATCH 111/321] tpm: remove tpm_dev_wq_lock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 111/323] tpm: remove tpm_dev_wq_lock +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Added in commit @@ -31,5 +31,5 @@ static ssize_t tpm_dev_transmit(struct tpm_chip *chip, struct tpm_space *space, u8 *buf, size_t bufsiz) -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0112-shmem-Use-raw_spinlock_t-for-stat_lock.patch linux-5.10.205/debian/patches-rt/0112-shmem-Use-raw_spinlock_t-for-stat_lock.patch --- linux-5.10.197/debian/patches-rt/0112-shmem-Use-raw_spinlock_t-for-stat_lock.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0112-shmem-Use-raw_spinlock_t-for-stat_lock.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 40166912deed0c42851314bf106e15e10f3276be Mon Sep 17 00:00:00 2001 +From 35616363024adeffc42af4d2ca91e4550d6db59c Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 14 Aug 2020 18:53:34 +0200 -Subject: [PATCH 112/321] shmem: Use raw_spinlock_t for ->stat_lock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 112/323] shmem: Use raw_spinlock_t for ->stat_lock +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Each CPU has SHMEM_INO_BATCH inodes available in `->ino_batch' which is per-CPU. Access here is serialized by disabling preemption. If the pool is @@ -35,7 +35,7 @@ unsigned char huge; /* Whether to try for hugepages */ kuid_t uid; /* Mount uid for root directory */ diff --git a/mm/shmem.c b/mm/shmem.c -index d3d8c5e7a296..a8411aed96c8 100644 +index e173d83b4448..94c0964f0d1f 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -278,10 +278,10 @@ static int shmem_reserve_inode(struct super_block *sb, ino_t *inop) @@ -102,7 +102,7 @@ } return mpol; } -@@ -3593,9 +3594,10 @@ static int shmem_reconfigure(struct fs_context *fc) +@@ -3613,9 +3614,10 @@ static int shmem_reconfigure(struct fs_context *fc) struct shmem_options *ctx = fc->fs_private; struct shmem_sb_info *sbinfo = SHMEM_SB(fc->root->d_sb); unsigned long inodes; @@ -114,7 +114,7 @@ inodes = sbinfo->max_inodes - sbinfo->free_inodes; if ((ctx->seen & SHMEM_SEEN_BLOCKS) && ctx->blocks) { if (!sbinfo->max_blocks) { -@@ -3640,14 +3642,15 @@ static int shmem_reconfigure(struct fs_context *fc) +@@ -3660,14 +3662,15 @@ static int shmem_reconfigure(struct fs_context *fc) * Preserve previous mempolicy unless mpol remount option was specified. */ if (ctx->mpol) { @@ -133,7 +133,7 @@ return invalfc(fc, "%s", err); } -@@ -3764,7 +3767,7 @@ static int shmem_fill_super(struct super_block *sb, struct fs_context *fc) +@@ -3784,7 +3787,7 @@ static int shmem_fill_super(struct super_block *sb, struct fs_context *fc) sbinfo->mpol = ctx->mpol; ctx->mpol = NULL; @@ -143,5 +143,5 @@ goto failed; spin_lock_init(&sbinfo->shrinklist_lock); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0113-net-Move-lockdep-where-it-belongs.patch linux-5.10.205/debian/patches-rt/0113-net-Move-lockdep-where-it-belongs.patch --- linux-5.10.197/debian/patches-rt/0113-net-Move-lockdep-where-it-belongs.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0113-net-Move-lockdep-where-it-belongs.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 7f66570b64cf9717bb9eb201b2c68eb4e51d1f74 Mon Sep 17 00:00:00 2001 +From b3ad938c1be05a261ce70af8888271d0b85cd955 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 8 Sep 2020 07:32:20 +0200 -Subject: [PATCH 113/321] net: Move lockdep where it belongs -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 113/323] net: Move lockdep where it belongs +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Signed-off-by: Thomas Gleixner --- @@ -10,10 +10,10 @@ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/net/core/sock.c b/net/core/sock.c -index 9b013d052a72..4ee4623db647 100644 +index a069b5476df4..8839cfea108a 100644 --- a/net/core/sock.c +++ b/net/core/sock.c -@@ -3067,12 +3067,11 @@ void lock_sock_nested(struct sock *sk, int subclass) +@@ -3082,12 +3082,11 @@ void lock_sock_nested(struct sock *sk, int subclass) if (sk->sk_lock.owned) __lock_sock(sk); sk->sk_lock.owned = 1; @@ -27,7 +27,7 @@ } EXPORT_SYMBOL(lock_sock_nested); -@@ -3121,12 +3120,11 @@ bool lock_sock_fast(struct sock *sk) +@@ -3136,12 +3135,11 @@ bool lock_sock_fast(struct sock *sk) __lock_sock(sk); sk->sk_lock.owned = 1; @@ -42,5 +42,5 @@ } EXPORT_SYMBOL(lock_sock_fast); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0114-parisc-Remove-bogus-__IRQ_STAT-macro.patch linux-5.10.205/debian/patches-rt/0114-parisc-Remove-bogus-__IRQ_STAT-macro.patch --- linux-5.10.197/debian/patches-rt/0114-parisc-Remove-bogus-__IRQ_STAT-macro.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0114-parisc-Remove-bogus-__IRQ_STAT-macro.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 3a099864c1c61e2bf11928cc262867f61c63ffdb Mon Sep 17 00:00:00 2001 +From a73391bb3950b16f44dda9989980e77e07febe01 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 13 Nov 2020 15:02:08 +0100 -Subject: [PATCH 114/321] parisc: Remove bogus __IRQ_STAT macro -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 114/323] parisc: Remove bogus __IRQ_STAT macro +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz This is a leftover from a historical array based implementation and unused. @@ -27,5 +27,5 @@ #define __inc_irq_stat(member) __this_cpu_inc(irq_stat.member) #define ack_bad_irq(irq) WARN(1, "unexpected IRQ trap at vector %02x\n", irq) -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0115-sh-Get-rid-of-nmi_count.patch linux-5.10.205/debian/patches-rt/0115-sh-Get-rid-of-nmi_count.patch --- linux-5.10.197/debian/patches-rt/0115-sh-Get-rid-of-nmi_count.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0115-sh-Get-rid-of-nmi_count.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From d0003203cc6b406eba4c370d099e4b8f3e61390b Mon Sep 17 00:00:00 2001 +From 4d4b0ae9c82f34e6cc445f9b04248ae49346a73e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 13 Nov 2020 15:02:09 +0100 -Subject: [PATCH 115/321] sh: Get rid of nmi_count() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 115/323] sh: Get rid of nmi_count() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz nmi_count() is a historical leftover and SH is the only user. Replace it with regular per cpu accessors. @@ -43,5 +43,5 @@ switch (notify_die(DIE_NMI, "NMI", regs, 0, vec & 0xff, SIGINT)) { case NOTIFY_OK: -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0116-irqstat-Get-rid-of-nmi_count-and-__IRQ_STAT.patch linux-5.10.205/debian/patches-rt/0116-irqstat-Get-rid-of-nmi_count-and-__IRQ_STAT.patch --- linux-5.10.197/debian/patches-rt/0116-irqstat-Get-rid-of-nmi_count-and-__IRQ_STAT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0116-irqstat-Get-rid-of-nmi_count-and-__IRQ_STAT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 9b16e7487c09531154c37597f7fdf2d2f988874f Mon Sep 17 00:00:00 2001 +From c190c29cf4e02d1cfa67a9744ef94c2037ed071e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 13 Nov 2020 15:02:10 +0100 -Subject: [PATCH 116/321] irqstat: Get rid of nmi_count() and __IRQ_STAT() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 116/323] irqstat: Get rid of nmi_count() and __IRQ_STAT() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Nothing uses this anymore. @@ -30,5 +30,5 @@ - #endif /* __irq_cpustat_h */ -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0117-um-irqstat-Get-rid-of-the-duplicated-declarations.patch linux-5.10.205/debian/patches-rt/0117-um-irqstat-Get-rid-of-the-duplicated-declarations.patch --- linux-5.10.197/debian/patches-rt/0117-um-irqstat-Get-rid-of-the-duplicated-declarations.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0117-um-irqstat-Get-rid-of-the-duplicated-declarations.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 4f9be8ac657754678e6befc554ff6762095927c6 Mon Sep 17 00:00:00 2001 +From 44cfe18ac1cb81f3617a962640846d232bed6d65 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 13 Nov 2020 15:02:11 +0100 -Subject: [PATCH 117/321] um/irqstat: Get rid of the duplicated declarations -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 117/323] um/irqstat: Get rid of the duplicated declarations +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz irq_cpustat_t and ack_bad_irq() are exactly the same as the asm-generic ones. @@ -44,5 +44,5 @@ #define __ARCH_IRQ_EXIT_IRQS_DISABLED 1 -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0118-ARM-irqstat-Get-rid-of-duplicated-declaration.patch linux-5.10.205/debian/patches-rt/0118-ARM-irqstat-Get-rid-of-duplicated-declaration.patch --- linux-5.10.197/debian/patches-rt/0118-ARM-irqstat-Get-rid-of-duplicated-declaration.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0118-ARM-irqstat-Get-rid-of-duplicated-declaration.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From f4c042322fc8bb5404bc126581138bafdfb0dc77 Mon Sep 17 00:00:00 2001 +From 903c27e244a901b4c66dc1d423a6d9b3214fd868 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 13 Nov 2020 15:02:12 +0100 -Subject: [PATCH 118/321] ARM: irqstat: Get rid of duplicated declaration -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 118/323] ARM: irqstat: Get rid of duplicated declaration +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz irq_cpustat_t is exactly the same as the asm-generic one. Define ack_bad_irq so the generic header does not emit the generic version of it. @@ -55,5 +55,5 @@ bool exclude_self); #define arch_trigger_cpumask_backtrace arch_trigger_cpumask_backtrace -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0119-arm64-irqstat-Get-rid-of-duplicated-declaration.patch linux-5.10.205/debian/patches-rt/0119-arm64-irqstat-Get-rid-of-duplicated-declaration.patch --- linux-5.10.197/debian/patches-rt/0119-arm64-irqstat-Get-rid-of-duplicated-declaration.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0119-arm64-irqstat-Get-rid-of-duplicated-declaration.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 1aca9c791aea9c16d3e3cf506f8bab97e8072c53 Mon Sep 17 00:00:00 2001 +From 9d8ad1996dd7a9a4250e55ee988eac5f7e52bd8e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 13 Nov 2020 15:02:13 +0100 -Subject: [PATCH 119/321] arm64: irqstat: Get rid of duplicated declaration -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 119/323] arm64: irqstat: Get rid of duplicated declaration +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz irq_cpustat_t is exactly the same as the asm-generic one. Define ack_bad_irq so the generic header does not emit the generic version of it. @@ -36,5 +36,5 @@ #define __ARCH_IRQ_EXIT_IRQS_DISABLED 1 -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0120-asm-generic-irqstat-Add-optional-__nmi_count-member.patch linux-5.10.205/debian/patches-rt/0120-asm-generic-irqstat-Add-optional-__nmi_count-member.patch --- linux-5.10.197/debian/patches-rt/0120-asm-generic-irqstat-Add-optional-__nmi_count-member.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0120-asm-generic-irqstat-Add-optional-__nmi_count-member.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 07f6f3be13e1160a19c8a58e9253e66e1249dc1d Mon Sep 17 00:00:00 2001 +From 9daa9b58eb0e0b5b143d719b4c465e8ee233def0 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 13 Nov 2020 15:02:14 +0100 -Subject: [PATCH 120/321] asm-generic/irqstat: Add optional __nmi_count member -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 120/323] asm-generic/irqstat: Add optional __nmi_count member +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Add an optional __nmi_count member to irq_cpustat_t so more architectures can use the generic version. @@ -30,5 +30,5 @@ #include /* Standard mappings for irq_cpustat_t above */ -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0121-sh-irqstat-Use-the-generic-irq_cpustat_t.patch linux-5.10.205/debian/patches-rt/0121-sh-irqstat-Use-the-generic-irq_cpustat_t.patch --- linux-5.10.197/debian/patches-rt/0121-sh-irqstat-Use-the-generic-irq_cpustat_t.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0121-sh-irqstat-Use-the-generic-irq_cpustat_t.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 2243a23535aa3bfd128490aff0fb2a50f592e0f3 Mon Sep 17 00:00:00 2001 +From 36f4507e26065641dd4b5e9fab744596a072b3a6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 13 Nov 2020 15:02:15 +0100 -Subject: [PATCH 121/321] sh: irqstat: Use the generic irq_cpustat_t -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 121/323] sh: irqstat: Use the generic irq_cpustat_t +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz SH can now use the generic irq_cpustat_t. Define ack_bad_irq so the generic header does not emit the generic version of it. @@ -41,5 +41,5 @@ #endif /* __ASM_SH_HARDIRQ_H */ -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0122-irqstat-Move-declaration-into-asm-generic-hardirq.h.patch linux-5.10.205/debian/patches-rt/0122-irqstat-Move-declaration-into-asm-generic-hardirq.h.patch --- linux-5.10.197/debian/patches-rt/0122-irqstat-Move-declaration-into-asm-generic-hardirq.h.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0122-irqstat-Move-declaration-into-asm-generic-hardirq.h.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 74fd3823736954160c2848a25821f979852ef3db Mon Sep 17 00:00:00 2001 +From 4d8e6962b3b3f9acc509359631d4396d9b729064 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 13 Nov 2020 15:02:16 +0100 -Subject: [PATCH 122/321] irqstat: Move declaration into asm-generic/hardirq.h -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 122/323] irqstat: Move declaration into asm-generic/hardirq.h +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Move the declaration of the irq_cpustat per cpu variable to asm-generic/hardirq.h and remove the now empty linux/irq_cpustat.h header. @@ -62,5 +62,5 @@ - -#endif /* __irq_cpustat_h */ -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0123-preempt-Cleanup-the-macro-maze-a-bit.patch linux-5.10.205/debian/patches-rt/0123-preempt-Cleanup-the-macro-maze-a-bit.patch --- linux-5.10.197/debian/patches-rt/0123-preempt-Cleanup-the-macro-maze-a-bit.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0123-preempt-Cleanup-the-macro-maze-a-bit.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From f52e235f39a923ec8eb3440c3832721e7c9f05f8 Mon Sep 17 00:00:00 2001 +From b743317882baa4d44bdc55dea99865bf53623193 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 13 Nov 2020 15:02:17 +0100 -Subject: [PATCH 123/321] preempt: Cleanup the macro maze a bit -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 123/323] preempt: Cleanup the macro maze a bit +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Make the macro maze consistent and prepare it for adding the RT variant for BH accounting. @@ -74,5 +74,5 @@ /* * The preempt_count offset after preempt_disable(); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0124-softirq-Move-related-code-into-one-section.patch linux-5.10.205/debian/patches-rt/0124-softirq-Move-related-code-into-one-section.patch --- linux-5.10.197/debian/patches-rt/0124-softirq-Move-related-code-into-one-section.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0124-softirq-Move-related-code-into-one-section.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 3d54d5bbf4a817e92b72b20ff39317e103c2ef0f Mon Sep 17 00:00:00 2001 +From e40ca378bfbd05514961947d57b163831bdc3bbe Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 13 Nov 2020 15:02:18 +0100 -Subject: [PATCH 124/321] softirq: Move related code into one section -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 124/323] softirq: Move related code into one section +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz To prepare for adding a RT aware variant of softirq serialization and processing move related code into one section so the necessary #ifdeffery @@ -165,5 +165,5 @@ { #ifdef CONFIG_NO_HZ_COMMON -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0125-sh-irq-Add-missing-closing-parentheses-in-arch_show_.patch linux-5.10.205/debian/patches-rt/0125-sh-irq-Add-missing-closing-parentheses-in-arch_show_.patch --- linux-5.10.197/debian/patches-rt/0125-sh-irq-Add-missing-closing-parentheses-in-arch_show_.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0125-sh-irq-Add-missing-closing-parentheses-in-arch_show_.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,12 +1,12 @@ -From 56d144b25804c2272f953117e647de47934b1e9e Mon Sep 17 00:00:00 2001 +From e8f074aae182d9f11f092885cc1a1dfaedbe8807 Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Tue, 24 Nov 2020 14:06:56 +0100 -Subject: [PATCH 125/321] sh/irq: Add missing closing parentheses in +Subject: [PATCH 125/323] sh/irq: Add missing closing parentheses in arch_show_interrupts() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz arch/sh/kernel/irq.c: In function ‘arch_show_interrupts’: arch/sh/kernel/irq.c:47:58: error: expected ‘)’ before ‘;’ token @@ -36,5 +36,5 @@ seq_printf(p, "%*s: %10u\n", prec, "ERR", atomic_read(&irq_err_count)); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0126-sched-cputime-Remove-symbol-exports-from-IRQ-time-ac.patch linux-5.10.205/debian/patches-rt/0126-sched-cputime-Remove-symbol-exports-from-IRQ-time-ac.patch --- linux-5.10.197/debian/patches-rt/0126-sched-cputime-Remove-symbol-exports-from-IRQ-time-ac.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0126-sched-cputime-Remove-symbol-exports-from-IRQ-time-ac.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From f50aed101f4c2437d1f624c67704079a7e7c2f6a Mon Sep 17 00:00:00 2001 +From d15b621168c7c422b8e43819c45aa749f3611fa6 Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Wed, 2 Dec 2020 12:57:28 +0100 -Subject: [PATCH 126/321] sched/cputime: Remove symbol exports from IRQ time +Subject: [PATCH 126/323] sched/cputime: Remove symbol exports from IRQ time accounting -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz account_irq_enter_time() and account_irq_exit_time() are not called from modules. EXPORT_SYMBOL_GPL() can be safely removed from the IRQ @@ -69,5 +69,5 @@ void cputime_adjust(struct task_cputime *curr, struct prev_cputime *prev, -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0127-s390-vtime-Use-the-generic-IRQ-entry-accounting.patch linux-5.10.205/debian/patches-rt/0127-s390-vtime-Use-the-generic-IRQ-entry-accounting.patch --- linux-5.10.197/debian/patches-rt/0127-s390-vtime-Use-the-generic-IRQ-entry-accounting.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0127-s390-vtime-Use-the-generic-IRQ-entry-accounting.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From b6b7186bf58df06ff54f4b6024b391e335903ce0 Mon Sep 17 00:00:00 2001 +From 433f928a0fd33d67682020e134ac00885b38a2a9 Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Wed, 2 Dec 2020 12:57:29 +0100 -Subject: [PATCH 127/321] s390/vtime: Use the generic IRQ entry accounting -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 127/323] s390/vtime: Use the generic IRQ entry accounting +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz s390 has its own version of IRQ entry accounting because it doesn't account the idle time the same way the other architectures do. Only @@ -28,10 +28,10 @@ 5 files changed, 9 insertions(+), 17 deletions(-) diff --git a/arch/Kconfig b/arch/Kconfig -index 632d60e13494..ec39d2aeccf5 100644 +index 240277d5626c..628e1e7fe302 100644 --- a/arch/Kconfig +++ b/arch/Kconfig -@@ -643,6 +643,12 @@ config HAVE_TIF_NOHZ +@@ -646,6 +646,12 @@ config HAVE_TIF_NOHZ config HAVE_VIRT_CPU_ACCOUNTING bool @@ -44,7 +44,7 @@ config ARCH_HAS_SCALED_CPUTIME bool -@@ -657,7 +663,6 @@ config HAVE_VIRT_CPU_ACCOUNTING_GEN +@@ -660,7 +666,6 @@ config HAVE_VIRT_CPU_ACCOUNTING_GEN some 32-bit arches may require multiple accesses, so proper locking is needed to protect against concurrent accesses. @@ -122,5 +122,5 @@ void cputime_adjust(struct task_cputime *curr, struct prev_cputime *prev, u64 *ut, u64 *st) -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0128-sched-vtime-Consolidate-IRQ-time-accounting.patch linux-5.10.205/debian/patches-rt/0128-sched-vtime-Consolidate-IRQ-time-accounting.patch --- linux-5.10.197/debian/patches-rt/0128-sched-vtime-Consolidate-IRQ-time-accounting.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0128-sched-vtime-Consolidate-IRQ-time-accounting.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From bb185ed681562397692e2271f09d0b8252a1cf8a Mon Sep 17 00:00:00 2001 +From 749e0a8d4b10240d5834e135f34c47d107aa1442 Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Wed, 2 Dec 2020 12:57:30 +0100 -Subject: [PATCH 128/321] sched/vtime: Consolidate IRQ time accounting -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 128/323] sched/vtime: Consolidate IRQ time accounting +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The 3 architectures implementing CONFIG_VIRT_CPU_ACCOUNTING_NATIVE all have their own version of irq time accounting that dispatch the @@ -299,5 +299,5 @@ void cputime_adjust(struct task_cputime *curr, struct prev_cputime *prev, -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0129-irqtime-Move-irqtime-entry-accounting-after-irq-offs.patch linux-5.10.205/debian/patches-rt/0129-irqtime-Move-irqtime-entry-accounting-after-irq-offs.patch --- linux-5.10.197/debian/patches-rt/0129-irqtime-Move-irqtime-entry-accounting-after-irq-offs.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0129-irqtime-Move-irqtime-entry-accounting-after-irq-offs.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From e80e324c36d3f0c9da32abbe8dfb56a1dd2c226f Mon Sep 17 00:00:00 2001 +From e387d228099075ac3f762ccfbbe29f9ee59678c8 Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Wed, 2 Dec 2020 12:57:31 +0100 -Subject: [PATCH 129/321] irqtime: Move irqtime entry accounting after irq +Subject: [PATCH 129/323] irqtime: Move irqtime entry accounting after irq offset incrementation -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz IRQ time entry is currently accounted before HARDIRQ_OFFSET or SOFTIRQ_OFFSET are incremented. This is convenient to decide to which @@ -209,5 +209,5 @@ if (!in_interrupt() && local_softirq_pending()) invoke_softirq(); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0130-irq-Call-tick_irq_enter-inside-HARDIRQ_OFFSET.patch linux-5.10.205/debian/patches-rt/0130-irq-Call-tick_irq_enter-inside-HARDIRQ_OFFSET.patch --- linux-5.10.197/debian/patches-rt/0130-irq-Call-tick_irq_enter-inside-HARDIRQ_OFFSET.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0130-irq-Call-tick_irq_enter-inside-HARDIRQ_OFFSET.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 92b8c5b7e39f5450c31c6f14051746a79f98d9b5 Mon Sep 17 00:00:00 2001 +From 5e2b7533340eb96a841068c309aac4985bd8180c Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Wed, 2 Dec 2020 12:57:32 +0100 -Subject: [PATCH 130/321] irq: Call tick_irq_enter() inside HARDIRQ_OFFSET -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 130/323] irq: Call tick_irq_enter() inside HARDIRQ_OFFSET +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Now that account_hardirq_enter() is called after HARDIRQ_OFFSET has been incremented, there is nothing left that prevents us from also @@ -47,5 +47,5 @@ /** -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0131-smp-Wake-ksoftirqd-on-PREEMPT_RT-instead-do_softirq.patch linux-5.10.205/debian/patches-rt/0131-smp-Wake-ksoftirqd-on-PREEMPT_RT-instead-do_softirq.patch --- linux-5.10.197/debian/patches-rt/0131-smp-Wake-ksoftirqd-on-PREEMPT_RT-instead-do_softirq.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0131-smp-Wake-ksoftirqd-on-PREEMPT_RT-instead-do_softirq.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 422568b9cbeda31c5bb063fcaef204ac77f7c6a9 Mon Sep 17 00:00:00 2001 +From d6a969bae816bcd5ac549038a4582d300ede6b99 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 15 Feb 2021 18:44:12 +0100 -Subject: [PATCH 131/321] smp: Wake ksoftirqd on PREEMPT_RT instead +Subject: [PATCH 131/323] smp: Wake ksoftirqd on PREEMPT_RT instead do_softirq(). -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The softirq implementation on PREEMPT_RT does not provide do_softirq(). The other user of do_softirq() is replaced with a local_bh_disable() @@ -44,5 +44,5 @@ local_irq_restore(flags); } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0132-tasklets-Replace-barrier-with-cpu_relax-in-tasklet_u.patch linux-5.10.205/debian/patches-rt/0132-tasklets-Replace-barrier-with-cpu_relax-in-tasklet_u.patch --- linux-5.10.197/debian/patches-rt/0132-tasklets-Replace-barrier-with-cpu_relax-in-tasklet_u.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0132-tasklets-Replace-barrier-with-cpu_relax-in-tasklet_u.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 662f7686a6ebfbe35cc9ec517c25e5e437da7561 Mon Sep 17 00:00:00 2001 +From 8127bb05947dbb12f9537095932d6a7a7a07d09e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 9 Mar 2021 09:42:04 +0100 -Subject: [PATCH 132/321] tasklets: Replace barrier() with cpu_relax() in +Subject: [PATCH 132/323] tasklets: Replace barrier() with cpu_relax() in tasklet_unlock_wait() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz A barrier() in a tight loop which waits for something to happen on a remote CPU is a pointless exercise. Replace it with cpu_relax() which allows HT @@ -31,5 +31,5 @@ #else #define tasklet_trylock(t) 1 -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0133-tasklets-Use-static-inlines-for-stub-implementations.patch linux-5.10.205/debian/patches-rt/0133-tasklets-Use-static-inlines-for-stub-implementations.patch --- linux-5.10.197/debian/patches-rt/0133-tasklets-Use-static-inlines-for-stub-implementations.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0133-tasklets-Use-static-inlines-for-stub-implementations.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From a14d96ee861f75d08e30557cbd0e19f5e2e92db1 Mon Sep 17 00:00:00 2001 +From fa31367f235c42f78b2375d5ade6130a3b296e22 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 9 Mar 2021 09:42:05 +0100 -Subject: [PATCH 133/321] tasklets: Use static inlines for stub implementations -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 133/323] tasklets: Use static inlines for stub implementations +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Inlines exist for a reason. @@ -31,5 +31,5 @@ extern void __tasklet_schedule(struct tasklet_struct *t); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0134-tasklets-Provide-tasklet_disable_in_atomic.patch linux-5.10.205/debian/patches-rt/0134-tasklets-Provide-tasklet_disable_in_atomic.patch --- linux-5.10.197/debian/patches-rt/0134-tasklets-Provide-tasklet_disable_in_atomic.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0134-tasklets-Provide-tasklet_disable_in_atomic.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 8bcd6ee4410eac0f614c1ff9ec8bea798ac597bf Mon Sep 17 00:00:00 2001 +From 35c080a5db30acfdfa20ca84bf9d0482e6ec1409 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 9 Mar 2021 09:42:06 +0100 -Subject: [PATCH 134/321] tasklets: Provide tasklet_disable_in_atomic() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 134/323] tasklets: Provide tasklet_disable_in_atomic() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Replacing the spin wait loops in tasklet_unlock_wait() with wait_var_event() is not possible as a handful of tasklet_disable() @@ -64,5 +64,5 @@ { tasklet_disable_nosync(t); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0135-tasklets-Use-spin-wait-in-tasklet_disable-temporaril.patch linux-5.10.205/debian/patches-rt/0135-tasklets-Use-spin-wait-in-tasklet_disable-temporaril.patch --- linux-5.10.197/debian/patches-rt/0135-tasklets-Use-spin-wait-in-tasklet_disable-temporaril.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0135-tasklets-Use-spin-wait-in-tasklet_disable-temporaril.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 3bf9e707b131e80009c6ffc4c782322d155b2d50 Mon Sep 17 00:00:00 2001 +From 90d88360f539e57921ec9675603c700c351a0078 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 9 Mar 2021 09:42:07 +0100 -Subject: [PATCH 135/321] tasklets: Use spin wait in tasklet_disable() +Subject: [PATCH 135/323] tasklets: Use spin wait in tasklet_disable() temporarily -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz To ease the transition use spin waiting in tasklet_disable() until all usage sites from atomic context have been cleaned up. @@ -29,5 +29,5 @@ } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0136-tasklets-Replace-spin-wait-in-tasklet_unlock_wait.patch linux-5.10.205/debian/patches-rt/0136-tasklets-Replace-spin-wait-in-tasklet_unlock_wait.patch --- linux-5.10.197/debian/patches-rt/0136-tasklets-Replace-spin-wait-in-tasklet_unlock_wait.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0136-tasklets-Replace-spin-wait-in-tasklet_unlock_wait.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 7290493fd5311c8d2b46adcb9a4f2ba7126ccf3a Mon Sep 17 00:00:00 2001 +From 1e2be8ee6d91630326a3a3bc32925205b41d73a5 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 9 Mar 2021 09:42:08 +0100 -Subject: [PATCH 136/321] tasklets: Replace spin wait in tasklet_unlock_wait() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 136/323] tasklets: Replace spin wait in tasklet_unlock_wait() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz tasklet_unlock_wait() spin waits for TASKLET_STATE_RUN to be cleared. This is wasting CPU cycles in a tight loop which is especially painful in a @@ -86,5 +86,5 @@ { int cpu; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0137-tasklets-Replace-spin-wait-in-tasklet_kill.patch linux-5.10.205/debian/patches-rt/0137-tasklets-Replace-spin-wait-in-tasklet_kill.patch --- linux-5.10.197/debian/patches-rt/0137-tasklets-Replace-spin-wait-in-tasklet_kill.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0137-tasklets-Replace-spin-wait-in-tasklet_kill.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 3e53c47c8f470ce8cd1c9384ce25938c4cd6c140 Mon Sep 17 00:00:00 2001 +From cc2fc16258410420e97a4873f760cffabcff49b0 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 9 Mar 2021 09:42:09 +0100 -Subject: [PATCH 137/321] tasklets: Replace spin wait in tasklet_kill() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 137/323] tasklets: Replace spin wait in tasklet_kill() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz tasklet_kill() spin waits for TASKLET_STATE_SCHED to be cleared invoking yield() from inside the loop. yield() is an ill defined mechanism and the @@ -70,5 +70,5 @@ EXPORT_SYMBOL(tasklet_kill); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0138-tasklets-Prevent-tasklet_unlock_spin_wait-deadlock-o.patch linux-5.10.205/debian/patches-rt/0138-tasklets-Prevent-tasklet_unlock_spin_wait-deadlock-o.patch --- linux-5.10.197/debian/patches-rt/0138-tasklets-Prevent-tasklet_unlock_spin_wait-deadlock-o.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0138-tasklets-Prevent-tasklet_unlock_spin_wait-deadlock-o.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 8eefcec787557c0b95766dd098285ec41449f280 Mon Sep 17 00:00:00 2001 +From 42114155db1a5548923ac48a09b3f228b29d3b09 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 9 Mar 2021 09:42:10 +0100 -Subject: [PATCH 138/321] tasklets: Prevent tasklet_unlock_spin_wait() deadlock +Subject: [PATCH 138/323] tasklets: Prevent tasklet_unlock_spin_wait() deadlock on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz tasklet_unlock_spin_wait() spin waits for the TASKLET_STATE_SCHED bit in the tasklet state to be cleared. This works on !RT nicely because the @@ -105,5 +105,5 @@ { smp_mb__before_atomic(); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0139-net-jme-Replace-link-change-tasklet-with-work.patch linux-5.10.205/debian/patches-rt/0139-net-jme-Replace-link-change-tasklet-with-work.patch --- linux-5.10.197/debian/patches-rt/0139-net-jme-Replace-link-change-tasklet-with-work.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0139-net-jme-Replace-link-change-tasklet-with-work.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 4fd5f1c06f8db3109344fba3c08e1cb2cdb73fcd Mon Sep 17 00:00:00 2001 +From 8aad52579188d8ae11265d495209d51029482f38 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 9 Mar 2021 09:42:11 +0100 -Subject: [PATCH 139/321] net: jme: Replace link-change tasklet with work -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 139/323] net: jme: Replace link-change tasklet with work +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The link change tasklet disables the tasklets for tx/rx processing while upating hw parameters and then enables the tasklets again. @@ -84,5 +84,5 @@ unsigned long flags; u32 reg_txcs; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0140-net-sundance-Use-tasklet_disable_in_atomic.patch linux-5.10.205/debian/patches-rt/0140-net-sundance-Use-tasklet_disable_in_atomic.patch --- linux-5.10.197/debian/patches-rt/0140-net-sundance-Use-tasklet_disable_in_atomic.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0140-net-sundance-Use-tasklet_disable_in_atomic.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 052b4433e107fa4efe36780402ff21ced5deb95f Mon Sep 17 00:00:00 2001 +From b8d19bf463893a07bab9120bd628798515f3e6e0 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 9 Mar 2021 09:42:12 +0100 -Subject: [PATCH 140/321] net: sundance: Use tasklet_disable_in_atomic(). -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 140/323] net: sundance: Use tasklet_disable_in_atomic(). +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz tasklet_disable() is used in the timer callback. This might be distangled, but without access to the hardware that's a bit risky. @@ -35,5 +35,5 @@ printk(KERN_WARNING "%s: Transmit timed out, TxStatus %2.2x " "TxFrameId %2.2x," -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0141-ath9k-Use-tasklet_disable_in_atomic.patch linux-5.10.205/debian/patches-rt/0141-ath9k-Use-tasklet_disable_in_atomic.patch --- linux-5.10.197/debian/patches-rt/0141-ath9k-Use-tasklet_disable_in_atomic.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0141-ath9k-Use-tasklet_disable_in_atomic.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 790c5c74f4f5f66301dc1119005f9e1706040292 Mon Sep 17 00:00:00 2001 +From 3e2ecd3c09d77800b53b99090c6b6372af1922e7 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 9 Mar 2021 09:42:13 +0100 -Subject: [PATCH 141/321] ath9k: Use tasklet_disable_in_atomic() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 141/323] ath9k: Use tasklet_disable_in_atomic() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz All callers of ath9k_beacon_ensure_primary_slot() are preemptible / acquire a mutex except for this callchain: @@ -44,5 +44,5 @@ /* Find first taken slot. */ for (slot = 0; slot < ATH_BCBUF; slot++) { -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0142-atm-eni-Use-tasklet_disable_in_atomic-in-the-send-ca.patch linux-5.10.205/debian/patches-rt/0142-atm-eni-Use-tasklet_disable_in_atomic-in-the-send-ca.patch --- linux-5.10.197/debian/patches-rt/0142-atm-eni-Use-tasklet_disable_in_atomic-in-the-send-ca.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0142-atm-eni-Use-tasklet_disable_in_atomic-in-the-send-ca.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From b87711d50fc3fb12ebc41ba018cc767b8826370e Mon Sep 17 00:00:00 2001 +From f8cac7fb539abd4d961c942dde93a04956f9615d Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 9 Mar 2021 09:42:14 +0100 -Subject: [PATCH 142/321] atm: eni: Use tasklet_disable_in_atomic() in the +Subject: [PATCH 142/323] atm: eni: Use tasklet_disable_in_atomic() in the send() callback -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The atmdev_ops::send callback which calls tasklet_disable() is invoked with bottom halfs disabled from net_device_ops::ndo_start_xmit(). All other @@ -38,5 +38,5 @@ tasklet_enable(&ENI_DEV(vcc->dev)->task); if (res == enq_ok) return 0; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0143-PCI-hv-Use-tasklet_disable_in_atomic.patch linux-5.10.205/debian/patches-rt/0143-PCI-hv-Use-tasklet_disable_in_atomic.patch --- linux-5.10.197/debian/patches-rt/0143-PCI-hv-Use-tasklet_disable_in_atomic.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0143-PCI-hv-Use-tasklet_disable_in_atomic.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From a2b0f720a1da96e338ff129067929613bd9e5ae8 Mon Sep 17 00:00:00 2001 +From 267b1086437ac0cca8ca59197e5cc8cbe8fc6a83 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 9 Mar 2021 09:42:15 +0100 -Subject: [PATCH 143/321] PCI: hv: Use tasklet_disable_in_atomic() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 143/323] PCI: hv: Use tasklet_disable_in_atomic() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The hv_compose_msi_msg() callback in irq_chip::irq_compose_msi_msg is invoked via irq_chip_compose_msi_msg(), which itself is always invoked from @@ -42,5 +42,5 @@ /* * Since this function is called with IRQ locks held, can't -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0144-firewire-ohci-Use-tasklet_disable_in_atomic-where-re.patch linux-5.10.205/debian/patches-rt/0144-firewire-ohci-Use-tasklet_disable_in_atomic-where-re.patch --- linux-5.10.197/debian/patches-rt/0144-firewire-ohci-Use-tasklet_disable_in_atomic-where-re.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0144-firewire-ohci-Use-tasklet_disable_in_atomic-where-re.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From b5fa9f19be6c8143692264492a1917825319b6f4 Mon Sep 17 00:00:00 2001 +From 090a450216e555382abe0be8e2941ecfcc527c44 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 9 Mar 2021 09:42:16 +0100 -Subject: [PATCH 144/321] firewire: ohci: Use tasklet_disable_in_atomic() where +Subject: [PATCH 144/323] firewire: ohci: Use tasklet_disable_in_atomic() where required -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz tasklet_disable() is invoked in several places. Some of them are in atomic context which prevents a conversion of tasklet_disable() to a sleepable @@ -57,5 +57,5 @@ if (!test_and_set_bit_lock(0, &ctx->flushing_completions)) { context_tasklet((unsigned long)&ctx->context); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0145-tasklets-Switch-tasklet_disable-to-the-sleep-wait-va.patch linux-5.10.205/debian/patches-rt/0145-tasklets-Switch-tasklet_disable-to-the-sleep-wait-va.patch --- linux-5.10.197/debian/patches-rt/0145-tasklets-Switch-tasklet_disable-to-the-sleep-wait-va.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0145-tasklets-Switch-tasklet_disable-to-the-sleep-wait-va.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 3bc11105a3e6ff5b5a2d494111860714510b8214 Mon Sep 17 00:00:00 2001 +From 24fc43821f54c5f95095fb5154422b54ba2777e2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 9 Mar 2021 09:42:17 +0100 -Subject: [PATCH 145/321] tasklets: Switch tasklet_disable() to the sleep wait +Subject: [PATCH 145/323] tasklets: Switch tasklet_disable() to the sleep wait variant -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz -- NOT FOR IMMEDIATE MERGING -- @@ -31,5 +31,5 @@ } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0146-softirq-Add-RT-specific-softirq-accounting.patch linux-5.10.205/debian/patches-rt/0146-softirq-Add-RT-specific-softirq-accounting.patch --- linux-5.10.197/debian/patches-rt/0146-softirq-Add-RT-specific-softirq-accounting.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0146-softirq-Add-RT-specific-softirq-accounting.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From a8b794c4e248713b4aea3b98ca62a7b2b687012d Mon Sep 17 00:00:00 2001 +From a69df864da6d43ae3de6a4d995eaebca51a582b4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 9 Mar 2021 09:55:53 +0100 -Subject: [PATCH 146/321] softirq: Add RT specific softirq accounting -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 146/323] softirq: Add RT specific softirq accounting +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz RT requires the softirq processing and local bottomhalf disabled regions to be preemptible. Using the normal preempt count based serialization is @@ -57,7 +57,7 @@ /* diff --git a/include/linux/sched.h b/include/linux/sched.h -index 08b5804c29ec..2ab01dab5346 100644 +index 82de1ab42497..d31da4867bb2 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1046,6 +1046,9 @@ struct task_struct { @@ -71,5 +71,5 @@ #ifdef CONFIG_LOCKDEP # define MAX_LOCK_DEPTH 48UL -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0147-irqtime-Make-accounting-correct-on-RT.patch linux-5.10.205/debian/patches-rt/0147-irqtime-Make-accounting-correct-on-RT.patch --- linux-5.10.197/debian/patches-rt/0147-irqtime-Make-accounting-correct-on-RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0147-irqtime-Make-accounting-correct-on-RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From a5a2e702264bb38d31a3c737928eb6ec47662bf8 Mon Sep 17 00:00:00 2001 +From a4b2fa58f0b8dabae3f30be80fe317da32c5b121 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 9 Mar 2021 09:55:54 +0100 -Subject: [PATCH 147/321] irqtime: Make accounting correct on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 147/323] irqtime: Make accounting correct on RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz vtime_account_irq and irqtime_account_irq() base checks on preempt_count() which fails on RT because preempt_count() does not contain the softirq @@ -50,5 +50,5 @@ if (pc & HARDIRQ_OFFSET) { vtime_account_hardirq(tsk); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0148-softirq-Move-various-protections-into-inline-helpers.patch linux-5.10.205/debian/patches-rt/0148-softirq-Move-various-protections-into-inline-helpers.patch --- linux-5.10.197/debian/patches-rt/0148-softirq-Move-various-protections-into-inline-helpers.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0148-softirq-Move-various-protections-into-inline-helpers.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 330340328c48e548b8ee4851ad10a304fb0bd413 Mon Sep 17 00:00:00 2001 +From 7d59f358f639cc9e535a4049d663d9347aef6380 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 9 Mar 2021 09:55:55 +0100 -Subject: [PATCH 148/321] softirq: Move various protections into inline helpers -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 148/323] softirq: Move various protections into inline helpers +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz To allow reuse of the bulk of softirq processing code for RT and to avoid #ifdeffery all over the place, split protections for various code sections @@ -104,5 +104,5 @@ #ifdef CONFIG_HOTPLUG_CPU -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0149-softirq-Make-softirq-control-and-processing-RT-aware.patch linux-5.10.205/debian/patches-rt/0149-softirq-Make-softirq-control-and-processing-RT-aware.patch --- linux-5.10.197/debian/patches-rt/0149-softirq-Make-softirq-control-and-processing-RT-aware.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0149-softirq-Make-softirq-control-and-processing-RT-aware.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From e20f01d40f9933b15955381c2582c0989a898b01 Mon Sep 17 00:00:00 2001 +From d2c5f9de8094418b5ebade0ff54219371ec0a5ef Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 9 Mar 2021 09:55:56 +0100 -Subject: [PATCH 149/321] softirq: Make softirq control and processing RT aware -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 149/323] softirq: Make softirq control and processing RT aware +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Provide a local lock based serialization for soft interrupts on RT which allows the local_bh_disabled() sections and servicing soft interrupts to be @@ -263,5 +263,5 @@ pending = local_softirq_pending(); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0150-tick-sched-Prevent-false-positive-softirq-pending-wa.patch linux-5.10.205/debian/patches-rt/0150-tick-sched-Prevent-false-positive-softirq-pending-wa.patch --- linux-5.10.197/debian/patches-rt/0150-tick-sched-Prevent-false-positive-softirq-pending-wa.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0150-tick-sched-Prevent-false-positive-softirq-pending-wa.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 9538416aad7ec53397c2ff7d18a14616eb8ec89c Mon Sep 17 00:00:00 2001 +From 8f4c53c804fbc30a305bf13376f5748a55ec4944 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 9 Mar 2021 09:55:57 +0100 -Subject: [PATCH 150/321] tick/sched: Prevent false positive softirq pending +Subject: [PATCH 150/323] tick/sched: Prevent false positive softirq pending warnings on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz On RT a task which has soft interrupts disabled can block on a lock and schedule out to idle while soft interrupts are pending. This triggers the @@ -67,10 +67,10 @@ { unsigned long flags; diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c -index d07de3ff42ac..cb1c1a985878 100644 +index fc79b04b5947..fb10be8e5e92 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c -@@ -963,7 +963,7 @@ static bool can_stop_idle_tick(int cpu, struct tick_sched *ts) +@@ -982,7 +982,7 @@ static bool can_stop_idle_tick(int cpu, struct tick_sched *ts) if (unlikely(local_softirq_pending())) { static int ratelimit; @@ -80,5 +80,5 @@ pr_warn("NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #%02x!!!\n", (unsigned int) local_softirq_pending()); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0151-rcu-Prevent-false-positive-softirq-warning-on-RT.patch linux-5.10.205/debian/patches-rt/0151-rcu-Prevent-false-positive-softirq-warning-on-RT.patch --- linux-5.10.197/debian/patches-rt/0151-rcu-Prevent-false-positive-softirq-warning-on-RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0151-rcu-Prevent-false-positive-softirq-warning-on-RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 7e6d3b0544e2b93e76b778ae884e8ea88fb1d0f2 Mon Sep 17 00:00:00 2001 +From cce7be95962e51a5270439e8c31500ed38123c49 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 9 Mar 2021 09:55:58 +0100 -Subject: [PATCH 151/321] rcu: Prevent false positive softirq warning on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 151/323] rcu: Prevent false positive softirq warning on RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Soft interrupt disabled sections can legitimately be preempted or schedule out when blocking on a lock on RT enabled kernels so the RCU preempt check @@ -31,5 +31,5 @@ RCU_LOCKDEP_WARN(lock_is_held(&rcu_sched_lock_map), \ "Illegal context switch in RCU-sched read-side critical section"); \ -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0152-chelsio-cxgb-Replace-the-workqueue-with-threaded-int.patch linux-5.10.205/debian/patches-rt/0152-chelsio-cxgb-Replace-the-workqueue-with-threaded-int.patch --- linux-5.10.197/debian/patches-rt/0152-chelsio-cxgb-Replace-the-workqueue-with-threaded-int.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0152-chelsio-cxgb-Replace-the-workqueue-with-threaded-int.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 2f32812057671b92a6285eb322386c8eb01e8fad Mon Sep 17 00:00:00 2001 +From a3a5c955eb9767e09f62d7d4c1af2f8f5b0fe565 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 2 Feb 2021 18:01:03 +0100 -Subject: [PATCH 152/321] chelsio: cxgb: Replace the workqueue with threaded +Subject: [PATCH 152/323] chelsio: cxgb: Replace the workqueue with threaded interrupt -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The external interrupt (F_PL_INTR_EXT) needs to be handled in a process context and this is accomplished by utilizing a workqueue. @@ -267,5 +267,5 @@ #ifdef CONFIG_CHELSIO_T1_1G if (!t1_is_asic(adapter)) -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0153-chelsio-cxgb-Disable-the-card-on-error-in-threaded-i.patch linux-5.10.205/debian/patches-rt/0153-chelsio-cxgb-Disable-the-card-on-error-in-threaded-i.patch --- linux-5.10.197/debian/patches-rt/0153-chelsio-cxgb-Disable-the-card-on-error-in-threaded-i.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0153-chelsio-cxgb-Disable-the-card-on-error-in-threaded-i.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 2dc06d830392ccfdfc69402ecb75bed15f26c725 Mon Sep 17 00:00:00 2001 +From 676e60d5a1de49b6188285212b7655ccd463f984 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 2 Feb 2021 18:01:04 +0100 -Subject: [PATCH 153/321] chelsio: cxgb: Disable the card on error in threaded +Subject: [PATCH 153/323] chelsio: cxgb: Disable the card on error in threaded interrupt -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz t1_fatal_err() is invoked from the interrupt handler. The bad part is that it invokes (via t1_sge_stop()) del_timer_sync() and tasklet_kill(). @@ -211,5 +211,5 @@ /* Wake the threaded interrupt to handle external interrupts as * we require a process context. We disable EXT interrupts in -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0154-x86-fpu-Simplify-fpregs_-un-lock.patch linux-5.10.205/debian/patches-rt/0154-x86-fpu-Simplify-fpregs_-un-lock.patch --- linux-5.10.197/debian/patches-rt/0154-x86-fpu-Simplify-fpregs_-un-lock.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0154-x86-fpu-Simplify-fpregs_-un-lock.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 33f1f8273ac5879240f5ec1dd0d572146c2fbd10 Mon Sep 17 00:00:00 2001 +From 8ca0011428a338becf8c390a74dba375610d693f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 27 Oct 2020 11:09:50 +0100 -Subject: [PATCH 154/321] x86/fpu: Simplify fpregs_[un]lock() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 154/323] x86/fpu: Simplify fpregs_[un]lock() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz There is no point in disabling preemption and then disabling bottom halfs. @@ -43,5 +43,5 @@ #ifdef CONFIG_X86_DEBUG_FPU -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0155-x86-fpu-Make-kernel-FPU-protection-RT-friendly.patch linux-5.10.205/debian/patches-rt/0155-x86-fpu-Make-kernel-FPU-protection-RT-friendly.patch --- linux-5.10.197/debian/patches-rt/0155-x86-fpu-Make-kernel-FPU-protection-RT-friendly.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0155-x86-fpu-Make-kernel-FPU-protection-RT-friendly.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 96f3c6fbe8390434424ddd159a9cecc67d4e3398 Mon Sep 17 00:00:00 2001 +From f6a993a6144299a8693fa151d042c3997238cd54 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 27 Oct 2020 11:09:51 +0100 -Subject: [PATCH 155/321] x86/fpu: Make kernel FPU protection RT friendly -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 155/323] x86/fpu: Make kernel FPU protection RT friendly +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Non RT kernels need to protect FPU against preemption and bottom half processing. This is achieved by disabling bottom halfs via @@ -60,5 +60,5 @@ #ifdef CONFIG_X86_DEBUG_FPU -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0156-locking-rtmutex-Remove-cruft.patch linux-5.10.205/debian/patches-rt/0156-locking-rtmutex-Remove-cruft.patch --- linux-5.10.197/debian/patches-rt/0156-locking-rtmutex-Remove-cruft.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0156-locking-rtmutex-Remove-cruft.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From e33083dbd5e0f5b186c913338d915eb801b629e3 Mon Sep 17 00:00:00 2001 +From 46072fa492b76df5aaf47fea23d280f72d7100a8 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 29 Sep 2020 15:21:17 +0200 -Subject: [PATCH 156/321] locking/rtmutex: Remove cruft -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 156/323] locking/rtmutex: Remove cruft +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Most of this is around since the very beginning. I'm not sure if this was used while the rtmutex-deadlock-tester was around but today it seems @@ -95,5 +95,5 @@ struct rt_mutex *deadlock_lock; #endif -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0157-locking-rtmutex-Remove-output-from-deadlock-detector.patch linux-5.10.205/debian/patches-rt/0157-locking-rtmutex-Remove-output-from-deadlock-detector.patch --- linux-5.10.197/debian/patches-rt/0157-locking-rtmutex-Remove-output-from-deadlock-detector.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0157-locking-rtmutex-Remove-output-from-deadlock-detector.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 758e8c86fbc993f1dac3e7044415c9290682912e Mon Sep 17 00:00:00 2001 +From e9b488ea6cb82e796f8d331b037cb7de76d15657 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 29 Sep 2020 16:05:11 +0200 -Subject: [PATCH 157/321] locking/rtmutex: Remove output from deadlock +Subject: [PATCH 157/323] locking/rtmutex: Remove output from deadlock detector. -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz In commit f5694788ad8da ("rt_mutex: Add lockdep annotations") @@ -308,5 +308,5 @@ u64 deadline; }; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0158-locking-rtmutex-Move-rt_mutex_init-outside-of-CONFIG.patch linux-5.10.205/debian/patches-rt/0158-locking-rtmutex-Move-rt_mutex_init-outside-of-CONFIG.patch --- linux-5.10.197/debian/patches-rt/0158-locking-rtmutex-Move-rt_mutex_init-outside-of-CONFIG.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0158-locking-rtmutex-Move-rt_mutex_init-outside-of-CONFIG.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 58c476898488c0dc25e310e303318b8c1ec199b4 Mon Sep 17 00:00:00 2001 +From e25aa4319847e6a6769075a1f38c98d8cf3246f9 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 29 Sep 2020 16:32:49 +0200 -Subject: [PATCH 158/321] locking/rtmutex: Move rt_mutex_init() outside of +Subject: [PATCH 158/323] locking/rtmutex: Move rt_mutex_init() outside of CONFIG_DEBUG_RT_MUTEXES -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz rt_mutex_init() only initializes lockdep if CONFIG_DEBUG_RT_MUTEXES is enabled. The static initializer (DEFINE_RT_MUTEX) does not have such a @@ -56,5 +56,5 @@ #define __DEP_MAP_RT_MUTEX_INITIALIZER(mutexname) \ , .dep_map = { .name = #mutexname } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0159-locking-rtmutex-Remove-rt_mutex_timed_lock.patch linux-5.10.205/debian/patches-rt/0159-locking-rtmutex-Remove-rt_mutex_timed_lock.patch --- linux-5.10.197/debian/patches-rt/0159-locking-rtmutex-Remove-rt_mutex_timed_lock.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0159-locking-rtmutex-Remove-rt_mutex_timed_lock.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From a7c1b0ccaff832b5d1836908da900b25e3829021 Mon Sep 17 00:00:00 2001 +From 6ec5055da1da31b64ab24ba9ff1739d05e46bb7f Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 7 Oct 2020 12:11:33 +0200 -Subject: [PATCH 159/321] locking/rtmutex: Remove rt_mutex_timed_lock() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 159/323] locking/rtmutex: Remove rt_mutex_timed_lock() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz rt_mutex_timed_lock() has no callers since commit c051b21f71d1f ("rtmutex: Confine deadlock logic to futex") @@ -94,5 +94,5 @@ * rt_mutex_trylock - try to lock a rt_mutex * -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0160-locking-rtmutex-Handle-the-various-new-futex-race-co.patch linux-5.10.205/debian/patches-rt/0160-locking-rtmutex-Handle-the-various-new-futex-race-co.patch --- linux-5.10.197/debian/patches-rt/0160-locking-rtmutex-Handle-the-various-new-futex-race-co.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0160-locking-rtmutex-Handle-the-various-new-futex-race-co.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 3805126be80823b743b8bd29c9c89bbbaeaebf6d Mon Sep 17 00:00:00 2001 +From faad74e290468f037de33422cb1799c05477242d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 10 Jun 2011 11:04:15 +0200 -Subject: [PATCH 160/321] locking/rtmutex: Handle the various new futex race +Subject: [PATCH 160/323] locking/rtmutex: Handle the various new futex race conditions -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz RT opens a few new interesting race conditions in the rtmutex/futex combo due to futex hash bucket lock being a 'sleeping' spinlock and @@ -17,10 +17,10 @@ 3 files changed, 94 insertions(+), 21 deletions(-) diff --git a/kernel/futex/core.c b/kernel/futex/core.c -index 8dd0bc50ac36..938456be63cf 100644 +index cde0ca876b93..706cd446ec71 100644 --- a/kernel/futex/core.c +++ b/kernel/futex/core.c -@@ -2155,6 +2155,16 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags, +@@ -2165,6 +2165,16 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags, */ requeue_pi_wake_futex(this, &key2, hb2); continue; @@ -37,7 +37,7 @@ } else if (ret) { /* * rt_mutex_start_proxy_lock() detected a -@@ -3172,7 +3182,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, +@@ -3182,7 +3192,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, { struct hrtimer_sleeper timeout, *to; struct rt_mutex_waiter rt_waiter; @@ -46,7 +46,7 @@ union futex_key key2 = FUTEX_KEY_INIT; struct futex_q q = futex_q_init; int res, ret; -@@ -3224,20 +3234,55 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, +@@ -3234,20 +3244,55 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, /* Queue the futex_q, drop the hb lock, wait for wakeup. */ futex_wait_queue_me(hb, &q, to); @@ -113,7 +113,7 @@ /* Check if the requeue code acquired the second futex for us. */ if (!q.rt_waiter) { -@@ -3246,14 +3291,15 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, +@@ -3256,14 +3301,15 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, * did a lock-steal - fix up the PI-state in that case. */ if (q.pi_state && (q.pi_state->owner != current)) { @@ -131,7 +131,7 @@ /* * Adjust the return value. It's either -EFAULT or * success (1) but the caller expects 0 for success. -@@ -3272,7 +3318,8 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, +@@ -3282,7 +3328,8 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, pi_mutex = &q.pi_state->pi_mutex; ret = rt_mutex_wait_proxy_lock(pi_mutex, to, &rt_waiter); @@ -251,5 +251,5 @@ extern void rt_mutex_init_proxy_locked(struct rt_mutex *lock, struct task_struct *proxy_owner); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0161-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch linux-5.10.205/debian/patches-rt/0161-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch --- linux-5.10.197/debian/patches-rt/0161-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0161-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 02ce5f517b710942f0c3ac7cb9ccc2a4629390c2 Mon Sep 17 00:00:00 2001 +From 787b0032cdfc388293dcde2c4bc3a2c40b6d9cf2 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Tue, 14 Jul 2015 14:26:34 +0200 -Subject: [PATCH 161/321] futex: Fix bug on when a requeued RT task times out -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 161/323] futex: Fix bug on when a requeued RT task times out +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Requeue with timeout causes a bug with PREEMPT_RT. @@ -114,5 +114,5 @@ extern struct task_struct *rt_mutex_next_owner(struct rt_mutex *lock); extern void rt_mutex_init_proxy_locked(struct rt_mutex *lock, -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0162-locking-rtmutex-Make-lock_killable-work.patch linux-5.10.205/debian/patches-rt/0162-locking-rtmutex-Make-lock_killable-work.patch --- linux-5.10.197/debian/patches-rt/0162-locking-rtmutex-Make-lock_killable-work.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0162-locking-rtmutex-Make-lock_killable-work.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 45fa634d76623d6395682a642d82d7274870b51c Mon Sep 17 00:00:00 2001 +From 09e10e723c3bc6ceb0d1b64e0a6b3b9e2ec52225 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 1 Apr 2017 12:50:59 +0200 -Subject: [PATCH 162/321] locking/rtmutex: Make lock_killable work -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 162/323] locking/rtmutex: Make lock_killable work +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Locking an rt mutex killable does not work because signal handling is restricted to TASK_INTERRUPTIBLE. @@ -46,5 +46,5 @@ raw_spin_unlock_irq(&lock->wait_lock); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0163-locking-spinlock-Split-the-lock-types-header.patch linux-5.10.205/debian/patches-rt/0163-locking-spinlock-Split-the-lock-types-header.patch --- linux-5.10.197/debian/patches-rt/0163-locking-spinlock-Split-the-lock-types-header.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0163-locking-spinlock-Split-the-lock-types-header.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 298cc65745db7819d576ec5476b81eb83900ced5 Mon Sep 17 00:00:00 2001 +From 79fca819370ecec3ce47fe9cb5f70efbacb613ad Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 19:34:01 +0200 -Subject: [PATCH 163/321] locking/spinlock: Split the lock types header -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 163/323] locking/spinlock: Split the lock types header +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Split raw_spinlock into its own file and the remaining spinlock_t into its own non-RT header. The non-RT header will be replaced later by sleeping @@ -249,5 +249,5 @@ + +#endif -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0164-locking-rtmutex-Avoid-include-hell.patch linux-5.10.205/debian/patches-rt/0164-locking-rtmutex-Avoid-include-hell.patch --- linux-5.10.197/debian/patches-rt/0164-locking-rtmutex-Avoid-include-hell.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0164-locking-rtmutex-Avoid-include-hell.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 63b2e3e3e673cdd6407b37e61cb31eb918716c1b Mon Sep 17 00:00:00 2001 +From 1b45f1cea53e6a886ba8bfab1c7617c32c66555d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 20:06:39 +0200 -Subject: [PATCH 164/321] locking/rtmutex: Avoid include hell -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 164/323] locking/rtmutex: Avoid include hell +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Include only the required raw types. This avoids pulling in the complete spinlock header which in turn requires rtmutex.h at some point. @@ -26,5 +26,5 @@ extern int max_lock_depth; /* for sysctl */ -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0165-lockdep-Reduce-header-files-in-debug_locks.h.patch linux-5.10.205/debian/patches-rt/0165-lockdep-Reduce-header-files-in-debug_locks.h.patch --- linux-5.10.197/debian/patches-rt/0165-lockdep-Reduce-header-files-in-debug_locks.h.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0165-lockdep-Reduce-header-files-in-debug_locks.h.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From adcc24e09b4cea0f15ba8c935d03154c5b67946c Mon Sep 17 00:00:00 2001 +From 740bc44f8756ed7c76a697de3eb3eae130c2de77 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 14 Aug 2020 16:55:25 +0200 -Subject: [PATCH 165/321] lockdep: Reduce header files in debug_locks.h -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 165/323] lockdep: Reduce header files in debug_locks.h +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The inclusion of printk.h leads to circular dependency if spinlock_t is based on rt_mutex. @@ -29,5 +29,5 @@ struct task_struct; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0166-locking-split-out-the-rbtree-definition.patch linux-5.10.205/debian/patches-rt/0166-locking-split-out-the-rbtree-definition.patch --- linux-5.10.197/debian/patches-rt/0166-locking-split-out-the-rbtree-definition.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0166-locking-split-out-the-rbtree-definition.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From b6eff01006ac17ceebef573e7c9209f545b216bd Mon Sep 17 00:00:00 2001 +From b9604fd91b7d02c92ddb504c330e1793f0694318 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 14 Aug 2020 17:08:41 +0200 -Subject: [PATCH 166/321] locking: split out the rbtree definition -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 166/323] locking: split out the rbtree definition +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz rtmutex.h needs the definition for rb_root_cached. By including kernel.h we will get to spinlock.h which requires rtmutex.h again. @@ -116,5 +116,5 @@ extern int max_lock_depth; /* for sysctl */ -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0167-locking-rtmutex-Provide-rt_mutex_slowlock_locked.patch linux-5.10.205/debian/patches-rt/0167-locking-rtmutex-Provide-rt_mutex_slowlock_locked.patch --- linux-5.10.197/debian/patches-rt/0167-locking-rtmutex-Provide-rt_mutex_slowlock_locked.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0167-locking-rtmutex-Provide-rt_mutex_slowlock_locked.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From f48ab82bcfe6bc820185bf5150421d89f5a0ccb6 Mon Sep 17 00:00:00 2001 +From dbd55916b6a3efb4b812322d7502b174b4cceb69 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 16:14:22 +0200 -Subject: [PATCH 167/321] locking/rtmutex: Provide rt_mutex_slowlock_locked() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 167/323] locking/rtmutex: Provide rt_mutex_slowlock_locked() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz This is the inner-part of rt_mutex_slowlock(), required for rwsem-rt. @@ -141,5 +141,5 @@ #ifdef CONFIG_DEBUG_RT_MUTEXES # include "rtmutex-debug.h" -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0168-locking-rtmutex-export-lockdep-less-version-of-rt_mu.patch linux-5.10.205/debian/patches-rt/0168-locking-rtmutex-export-lockdep-less-version-of-rt_mu.patch --- linux-5.10.197/debian/patches-rt/0168-locking-rtmutex-export-lockdep-less-version-of-rt_mu.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0168-locking-rtmutex-export-lockdep-less-version-of-rt_mu.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 195986d2c9452a483d1fc0f10c7cbd128cbcbff9 Mon Sep 17 00:00:00 2001 +From 0472803e0c929a5b0c4cb02a1e667d745e12fc51 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 16:36:39 +0200 -Subject: [PATCH 168/321] locking/rtmutex: export lockdep-less version of +Subject: [PATCH 168/323] locking/rtmutex: export lockdep-less version of rt_mutex's lock, trylock and unlock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Required for lock implementation ontop of rtmutex. @@ -126,5 +126,5 @@ struct hrtimer_sleeper *timeout, enum rtmutex_chainwalk chwalk, -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0169-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch linux-5.10.205/debian/patches-rt/0169-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch --- linux-5.10.197/debian/patches-rt/0169-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0169-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 75ebcf628d2d91c62bacf1ff540c5a95c75002c4 Mon Sep 17 00:00:00 2001 +From 622996bf8475bf1d06cbb523dacc7469e7b9c864 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 25 Jun 2011 09:21:04 +0200 -Subject: [PATCH 169/321] sched: Add saved_state for tasks blocked on sleeping +Subject: [PATCH 169/323] sched: Add saved_state for tasks blocked on sleeping locks -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Spinlocks are state preserving in !RT. RT changes the state when a task gets blocked on a lock. So we need to remember the state before @@ -19,7 +19,7 @@ 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 2ab01dab5346..928353d919cb 100644 +index d31da4867bb2..73defe42fd23 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -659,6 +659,8 @@ struct task_struct { @@ -31,7 +31,7 @@ /* * This begins the randomizable portion of task_struct. Only -@@ -1780,6 +1782,7 @@ extern struct task_struct *find_get_task_by_vpid(pid_t nr); +@@ -1782,6 +1784,7 @@ extern struct task_struct *find_get_task_by_vpid(pid_t nr); extern int wake_up_state(struct task_struct *tsk, unsigned int state); extern int wake_up_process(struct task_struct *tsk); @@ -40,7 +40,7 @@ #ifdef CONFIG_SMP diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 780517055359..19edbbe03146 100644 +index 390b51366f5e..f6d40256c0d4 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -3305,7 +3305,7 @@ try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags) @@ -100,7 +100,7 @@ { return try_to_wake_up(p, state, 0); diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h -index 159d92a8452d..66b311e63cac 100644 +index c26b1c7009f4..d4bfc51358d3 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -1753,6 +1753,7 @@ static inline int task_on_rq_migrating(struct task_struct *p) @@ -112,5 +112,5 @@ /* * To aid in avoiding the subversion of "niceness" due to uneven distribution -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0170-locking-rtmutex-add-sleeping-lock-implementation.patch linux-5.10.205/debian/patches-rt/0170-locking-rtmutex-add-sleeping-lock-implementation.patch --- linux-5.10.197/debian/patches-rt/0170-locking-rtmutex-add-sleeping-lock-implementation.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0170-locking-rtmutex-add-sleeping-lock-implementation.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 2ffafaed72c685549174a041811bc007061c9fc9 Mon Sep 17 00:00:00 2001 +From 4c85c347eeb7dae59269d3a4a07388a00de563bf Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 17:11:19 +0200 -Subject: [PATCH 170/321] locking/rtmutex: add sleeping lock implementation -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 170/323] locking/rtmutex: add sleeping lock implementation +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Signed-off-by: Thomas Gleixner Signed-off-by: Sebastian Andrzej Siewior @@ -109,7 +109,7 @@ #define DEFINE_RT_MUTEX(mutexname) \ struct rt_mutex mutexname = __RT_MUTEX_INITIALIZER(mutexname) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 928353d919cb..acbb796710d0 100644 +index 73defe42fd23..3650fdaac4ca 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -141,6 +141,9 @@ struct io_uring_task; @@ -369,10 +369,10 @@ + +#endif diff --git a/kernel/futex/core.c b/kernel/futex/core.c -index 938456be63cf..8056aa077a76 100644 +index 706cd446ec71..909dcd708a52 100644 --- a/kernel/futex/core.c +++ b/kernel/futex/core.c -@@ -1498,6 +1498,7 @@ static int wake_futex_pi(u32 __user *uaddr, u32 uval, struct futex_pi_state *pi_ +@@ -1508,6 +1508,7 @@ static int wake_futex_pi(u32 __user *uaddr, u32 uval, struct futex_pi_state *pi_ struct task_struct *new_owner; bool postunlock = false; DEFINE_WAKE_Q(wake_q); @@ -380,7 +380,7 @@ int ret = 0; new_owner = rt_mutex_next_owner(&pi_state->pi_mutex); -@@ -1547,14 +1548,15 @@ static int wake_futex_pi(u32 __user *uaddr, u32 uval, struct futex_pi_state *pi_ +@@ -1557,14 +1558,15 @@ static int wake_futex_pi(u32 __user *uaddr, u32 uval, struct futex_pi_state *pi_ * not fail. */ pi_state_update_owner(pi_state, new_owner); @@ -398,7 +398,7 @@ return ret; } -@@ -2857,7 +2859,7 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, +@@ -2867,7 +2869,7 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, goto no_block; } @@ -407,7 +407,7 @@ /* * On PREEMPT_RT_FULL, when hb->lock becomes an rt_mutex, we must not -@@ -3203,7 +3205,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, +@@ -3213,7 +3215,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, * The waiter is allocated on our stack, manipulated by the requeue * code while we sleep on uaddr. */ @@ -1128,7 +1128,7 @@ #ifdef CONFIG_DEBUG_RT_MUTEXES # include "rtmutex-debug.h" diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 19edbbe03146..f9d2fcf150f9 100644 +index f6d40256c0d4..be5d41ed6ff2 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -511,9 +511,15 @@ static bool set_nr_if_polling(struct task_struct *p) @@ -1210,5 +1210,5 @@ } } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0171-locking-rtmutex-Allow-rt_mutex_trylock-on-PREEMPT_RT.patch linux-5.10.205/debian/patches-rt/0171-locking-rtmutex-Allow-rt_mutex_trylock-on-PREEMPT_RT.patch --- linux-5.10.197/debian/patches-rt/0171-locking-rtmutex-Allow-rt_mutex_trylock-on-PREEMPT_RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0171-locking-rtmutex-Allow-rt_mutex_trylock-on-PREEMPT_RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 525ad68194afa7c4793434694446d7438ce09dab Mon Sep 17 00:00:00 2001 +From bcc9f5e2b7eb56660512649787ab651fc138d9e4 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 2 Dec 2015 11:34:07 +0100 -Subject: [PATCH 171/321] locking/rtmutex: Allow rt_mutex_trylock() on +Subject: [PATCH 171/323] locking/rtmutex: Allow rt_mutex_trylock() on PREEMPT_RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Non PREEMPT_RT kernel can deadlock on rt_mutex_trylock() in softirq context. @@ -33,5 +33,5 @@ return rt_mutex_fasttrylock(lock, rt_mutex_slowtrylock); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0172-locking-rtmutex-add-mutex-implementation-based-on-rt.patch linux-5.10.205/debian/patches-rt/0172-locking-rtmutex-add-mutex-implementation-based-on-rt.patch --- linux-5.10.197/debian/patches-rt/0172-locking-rtmutex-add-mutex-implementation-based-on-rt.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0172-locking-rtmutex-add-mutex-implementation-based-on-rt.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From eac07f493eed1b653c52c8f544e8694fa831fc95 Mon Sep 17 00:00:00 2001 +From c363a86a2fab38d43a50a8841e2b6d64b87ae69b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 17:17:03 +0200 -Subject: [PATCH 172/321] locking/rtmutex: add mutex implementation based on +Subject: [PATCH 172/323] locking/rtmutex: add mutex implementation based on rtmutex -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Signed-off-by: Thomas Gleixner Signed-off-by: Sebastian Andrzej Siewior @@ -381,5 +381,5 @@ +} +EXPORT_SYMBOL(atomic_dec_and_mutex_lock); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0173-locking-rtmutex-add-rwsem-implementation-based-on-rt.patch linux-5.10.205/debian/patches-rt/0173-locking-rtmutex-add-rwsem-implementation-based-on-rt.patch --- linux-5.10.197/debian/patches-rt/0173-locking-rtmutex-add-rwsem-implementation-based-on-rt.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0173-locking-rtmutex-add-rwsem-implementation-based-on-rt.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 87085d5f7c37f8988ae5cc7b9ceba57c41e145bd Mon Sep 17 00:00:00 2001 +From 9095a37abced402fb5197fef8d126069f63ebfb4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 17:28:34 +0200 -Subject: [PATCH 173/321] locking/rtmutex: add rwsem implementation based on +Subject: [PATCH 173/323] locking/rtmutex: add rwsem implementation based on rtmutex -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The RT specific R/W semaphore implementation restricts the number of readers to one because a writer cannot block on multiple readers and inherit its @@ -451,5 +451,5 @@ + __up_write_unlock(sem, WRITER_BIAS - 1, flags); +} -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0174-locking-rtmutex-add-rwlock-implementation-based-on-r.patch linux-5.10.205/debian/patches-rt/0174-locking-rtmutex-add-rwlock-implementation-based-on-r.patch --- linux-5.10.197/debian/patches-rt/0174-locking-rtmutex-add-rwlock-implementation-based-on-r.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0174-locking-rtmutex-add-rwlock-implementation-based-on-r.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From d19a25c0056bcf795db103d7d99c9bc5ad60c2bf Mon Sep 17 00:00:00 2001 +From 85ee193953134a79ee60def58e6d8c98b8cd8e55 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 17:18:06 +0200 -Subject: [PATCH 174/321] locking/rtmutex: add rwlock implementation based on +Subject: [PATCH 174/323] locking/rtmutex: add rwlock implementation based on rtmutex -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The implementation is bias-based, similar to the rwsem implementation. @@ -544,5 +544,5 @@ +} +EXPORT_SYMBOL(__rt_rwlock_init); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0175-locking-rtmutex-wire-up-RT-s-locking.patch linux-5.10.205/debian/patches-rt/0175-locking-rtmutex-wire-up-RT-s-locking.patch --- linux-5.10.197/debian/patches-rt/0175-locking-rtmutex-wire-up-RT-s-locking.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0175-locking-rtmutex-wire-up-RT-s-locking.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 4da6db4e192c37c0ade9e80dadf76c9f36a93825 Mon Sep 17 00:00:00 2001 +From 48720bc07f81cfe49fe8e2a7afa1f18acd9227dd Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 17:31:14 +0200 -Subject: [PATCH 175/321] locking/rtmutex: wire up RT's locking -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 175/323] locking/rtmutex: wire up RT's locking +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Signed-off-by: Thomas Gleixner Signed-off-by: Sebastian Andrzej Siewior @@ -344,5 +344,5 @@ + +#endif -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0176-locking-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch linux-5.10.205/debian/patches-rt/0176-locking-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch --- linux-5.10.197/debian/patches-rt/0176-locking-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0176-locking-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 9a6953d35de9f3c8cd2fcd1ad7f85d1f16dae78f Mon Sep 17 00:00:00 2001 +From 47ba586f2ade0d9f8cc9281cb08529146bfc3c5d Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 12 Oct 2017 17:34:38 +0200 -Subject: [PATCH 176/321] locking/rtmutex: add ww_mutex addon for mutex-rt -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 176/323] locking/rtmutex: add ww_mutex addon for mutex-rt +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Signed-off-by: Sebastian Andrzej Siewior --- @@ -452,5 +452,5 @@ * The slowlock() above is guaranteed to return with the rtmutex (for * ret = 0) is now held, so there can't be a writer active. Increment -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0177-locking-rtmutex-Use-custom-scheduling-function-for-s.patch linux-5.10.205/debian/patches-rt/0177-locking-rtmutex-Use-custom-scheduling-function-for-s.patch --- linux-5.10.197/debian/patches-rt/0177-locking-rtmutex-Use-custom-scheduling-function-for-s.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0177-locking-rtmutex-Use-custom-scheduling-function-for-s.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 3f6a2c1e2f0576fa8cac946d3f542dba1de5e1f3 Mon Sep 17 00:00:00 2001 +From 0a34a9993d2798ba232792f998e5ae5fe7519730 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 6 Oct 2020 13:07:17 +0200 -Subject: [PATCH 177/321] locking/rtmutex: Use custom scheduling function for +Subject: [PATCH 177/323] locking/rtmutex: Use custom scheduling function for spin-schedule() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz PREEMPT_RT builds the rwsem, mutex, spinlock and rwlock typed locks on top of a rtmutex lock. While blocked task->pi_blocked_on is set @@ -133,7 +133,7 @@ raw_spin_lock_irqsave(&m->wait_lock, flags); diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index f9d2fcf150f9..71df612bd960 100644 +index be5d41ed6ff2..aaeed4b14278 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -5001,7 +5001,7 @@ pick_next_task(struct rq *rq, struct task_struct *prev, struct rq_flags *rf) @@ -239,5 +239,5 @@ sched_preempt_enable_no_resched(); } while (need_resched()); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0178-signal-Revert-ptrace-preempt-magic.patch linux-5.10.205/debian/patches-rt/0178-signal-Revert-ptrace-preempt-magic.patch --- linux-5.10.197/debian/patches-rt/0178-signal-Revert-ptrace-preempt-magic.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0178-signal-Revert-ptrace-preempt-magic.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 26d1facc6016aa170ba5807fe634e6f28f5896d9 Mon Sep 17 00:00:00 2001 +From 3d8d7beacea4da55fdd1b45bc8d5c19da1438dcb Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 21 Sep 2011 19:57:12 +0200 -Subject: [PATCH 178/321] signal: Revert ptrace preempt magic -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 178/323] signal: Revert ptrace preempt magic +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Upstream commit '53da1d9456fe7f8 fix ptrace slowness' is nothing more than a bandaid around the ptrace design trainwreck. It's not a @@ -35,5 +35,5 @@ cgroup_leave_frozen(true); } else { -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0179-preempt-Provide-preempt_-_-no-rt-variants.patch linux-5.10.205/debian/patches-rt/0179-preempt-Provide-preempt_-_-no-rt-variants.patch --- linux-5.10.197/debian/patches-rt/0179-preempt-Provide-preempt_-_-no-rt-variants.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0179-preempt-Provide-preempt_-_-no-rt-variants.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 483f3e84cd42c91f6e998950474101f6833533f3 Mon Sep 17 00:00:00 2001 +From 500d1733493dabbf5baf698854070d3cb1b0990f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 24 Jul 2009 12:38:56 +0200 -Subject: [PATCH 179/321] preempt: Provide preempt_*_(no)rt variants -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 179/323] preempt: Provide preempt_*_(no)rt variants +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz RT needs a few preempt_disable/enable points which are not necessary otherwise. Implement variants to avoid #ifdeffery. @@ -49,5 +49,5 @@ struct preempt_notifier; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0180-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch linux-5.10.205/debian/patches-rt/0180-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch --- linux-5.10.197/debian/patches-rt/0180-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0180-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 3b4ff4d05b23bfa80ffdba6bb67808f092b7c093 Mon Sep 17 00:00:00 2001 +From a066e44619e1a6f661cd861015a5b658adead8bc Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:13 -0500 -Subject: [PATCH 180/321] mm/vmstat: Protect per cpu variables with preempt +Subject: [PATCH 180/323] mm/vmstat: Protect per cpu variables with preempt disable on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Disable preemption on -RT for the vmstat code. On vanila the code runs in IRQ-off regions while on -RT it is not. "preempt_disable" ensures that the @@ -141,5 +141,5 @@ void __dec_zone_page_state(struct page *page, enum zone_stat_item item) -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0181-mm-memcontrol-Disable-preemption-in-__mod_memcg_lruv.patch linux-5.10.205/debian/patches-rt/0181-mm-memcontrol-Disable-preemption-in-__mod_memcg_lruv.patch --- linux-5.10.197/debian/patches-rt/0181-mm-memcontrol-Disable-preemption-in-__mod_memcg_lruv.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0181-mm-memcontrol-Disable-preemption-in-__mod_memcg_lruv.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 8995dc74b9be9dc6a264a8884e99a2d7bf1461fc Mon Sep 17 00:00:00 2001 +From 6f35e0e3a90abef410034d9900a21e68131aa5d5 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 28 Oct 2020 18:15:32 +0100 -Subject: [PATCH 181/321] mm/memcontrol: Disable preemption in +Subject: [PATCH 181/323] mm/memcontrol: Disable preemption in __mod_memcg_lruvec_state() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The callers expect disabled preemption/interrupts while invoking __mod_memcg_lruvec_state(). This works mainline because a lock of @@ -20,7 +20,7 @@ 1 file changed, 2 insertions(+) diff --git a/mm/memcontrol.c b/mm/memcontrol.c -index 751e3670d7b0..188a80cf3756 100644 +index ddc8ed096dec..49566afaef1c 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -816,6 +816,7 @@ void __mod_memcg_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx, @@ -40,5 +40,5 @@ /** -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0182-xfrm-Use-sequence-counter-with-associated-spinlock.patch linux-5.10.205/debian/patches-rt/0182-xfrm-Use-sequence-counter-with-associated-spinlock.patch --- linux-5.10.197/debian/patches-rt/0182-xfrm-Use-sequence-counter-with-associated-spinlock.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0182-xfrm-Use-sequence-counter-with-associated-spinlock.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 36f971f48117c30cafe3faa8bf251ad3763eb04c Mon Sep 17 00:00:00 2001 +From 17aae888f2940f55065824bd7c267df06be47fbb Mon Sep 17 00:00:00 2001 From: "Ahmed S. Darwish" Date: Wed, 10 Jun 2020 12:53:22 +0200 -Subject: [PATCH 182/321] xfrm: Use sequence counter with associated spinlock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 182/323] xfrm: Use sequence counter with associated spinlock +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz A sequence counter write side critical section must be protected by some form of locking to serialize writers. A plain seqcount_t does not @@ -42,5 +42,5 @@ out_byspi: -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0183-u64_stats-Disable-preemption-on-32bit-UP-SMP-with-RT.patch linux-5.10.205/debian/patches-rt/0183-u64_stats-Disable-preemption-on-32bit-UP-SMP-with-RT.patch --- linux-5.10.197/debian/patches-rt/0183-u64_stats-Disable-preemption-on-32bit-UP-SMP-with-RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0183-u64_stats-Disable-preemption-on-32bit-UP-SMP-with-RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From d17c5a33d69b5b8355d7f1afc38fa06f0ffb7236 Mon Sep 17 00:00:00 2001 +From e6ec60749d80fcdde8451a7a544a218f7c5ef393 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 17 Aug 2020 12:28:10 +0200 -Subject: [PATCH 183/321] u64_stats: Disable preemption on 32bit-UP/SMP with RT +Subject: [PATCH 183/323] u64_stats: Disable preemption on 32bit-UP/SMP with RT during updates -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz On RT the seqcount_t is required even on UP because the softirq can be preempted. The IRQ handler is threaded so it is also preemptible. @@ -148,5 +148,5 @@ #endif return __u64_stats_fetch_retry(syncp, start); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0184-fs-dcache-use-swait_queue-instead-of-waitqueue.patch linux-5.10.205/debian/patches-rt/0184-fs-dcache-use-swait_queue-instead-of-waitqueue.patch --- linux-5.10.197/debian/patches-rt/0184-fs-dcache-use-swait_queue-instead-of-waitqueue.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0184-fs-dcache-use-swait_queue-instead-of-waitqueue.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 29120dac4a9fa04f3e443012c48729f8c6e75af8 Mon Sep 17 00:00:00 2001 +From aeadd35a13f446ec84a832549b2815fc3de30917 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 14 Sep 2016 14:35:49 +0200 -Subject: [PATCH 184/321] fs/dcache: use swait_queue instead of waitqueue -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 184/323] fs/dcache: use swait_queue instead of waitqueue +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz __d_lookup_done() invokes wake_up_all() while holding a hlist_bl_lock() which disables preemption. As a workaround convert it to swait. @@ -99,7 +99,7 @@ hlist_bl_unlock(b); INIT_HLIST_NODE(&dentry->d_u.d_alias); diff --git a/fs/fuse/readdir.c b/fs/fuse/readdir.c -index d5294e663df5..ee8846818b34 100644 +index 14e99ffa57af..eb899feaf82d 100644 --- a/fs/fuse/readdir.c +++ b/fs/fuse/readdir.c @@ -160,7 +160,7 @@ static int fuse_direntplus_link(struct file *file, @@ -112,7 +112,7 @@ if (!o->nodeid) { /* diff --git a/fs/namei.c b/fs/namei.c -index 3d98db9802a7..1b097bc147ef 100644 +index 3ff954a2bbd1..01e3f8195ee1 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -1532,7 +1532,7 @@ static struct dentry *__lookup_slow(const struct qstr *name, @@ -178,7 +178,7 @@ status = -EBUSY; spin_lock(&dentry->d_lock); diff --git a/fs/proc/base.c b/fs/proc/base.c -index 5d52aea8d7e7..d89526cfedf2 100644 +index 712948e97991..585d0afd1af6 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c @@ -96,6 +96,7 @@ @@ -189,7 +189,7 @@ #include #include "internal.h" #include "fd.h" -@@ -2038,7 +2039,7 @@ bool proc_fill_cache(struct file *file, struct dir_context *ctx, +@@ -2066,7 +2067,7 @@ bool proc_fill_cache(struct file *file, struct dir_context *ctx, child = d_hash_and_lookup(dir, &qname); if (!child) { @@ -199,7 +199,7 @@ if (IS_ERR(child)) goto end_instantiate; diff --git a/fs/proc/proc_sysctl.c b/fs/proc/proc_sysctl.c -index 682f2bf2e525..67435cd6fed3 100644 +index aff9593feb73..d1a29668bff8 100644 --- a/fs/proc/proc_sysctl.c +++ b/fs/proc/proc_sysctl.c @@ -684,7 +684,7 @@ static bool proc_sys_fill_cache(struct file *file, @@ -259,5 +259,5 @@ list_splice_init(&q->task_list, &tmp); while (!list_empty(&tmp)) { -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0185-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch linux-5.10.205/debian/patches-rt/0185-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch --- linux-5.10.197/debian/patches-rt/0185-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0185-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 5219f4cbf4475512eceac11fbf7c459d146ca643 Mon Sep 17 00:00:00 2001 +From 06c5210bfc8eff16e0d1df2430c7fcb07eae6c67 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 20 Oct 2017 11:29:53 +0200 -Subject: [PATCH 185/321] fs/dcache: disable preemption on i_dir_seq's write +Subject: [PATCH 185/323] fs/dcache: disable preemption on i_dir_seq's write side -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz i_dir_seq is an opencoded seqcounter. Based on the code it looks like we could have two writers in parallel despite the fact that the d_lock is @@ -69,7 +69,7 @@ rcu_read_unlock(); goto retry; diff --git a/fs/inode.c b/fs/inode.c -index 7ec90788d8be..2f216e5d9a76 100644 +index 5c7139aa2bda..4ee8239c055f 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -158,7 +158,7 @@ int inode_init_always(struct super_block *sb, struct inode *inode) @@ -82,7 +82,7 @@ inode->dirtied_when = 0; diff --git a/include/linux/fs.h b/include/linux/fs.h -index f9e25d0a7b9c..9522ac6c1a34 100644 +index 82316863c71f..a29a0b8a1eca 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -699,7 +699,7 @@ struct inode { @@ -95,5 +95,5 @@ __u32 i_generation; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0186-net-Qdisc-use-a-seqlock-instead-seqcount.patch linux-5.10.205/debian/patches-rt/0186-net-Qdisc-use-a-seqlock-instead-seqcount.patch --- linux-5.10.197/debian/patches-rt/0186-net-Qdisc-use-a-seqlock-instead-seqcount.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0186-net-Qdisc-use-a-seqlock-instead-seqcount.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From bcb0da7320b1e0327fe55768bc552e8bb9a7c86f Mon Sep 17 00:00:00 2001 +From a996bcbd8188409882599175697a464fa6265193 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 14 Sep 2016 17:36:35 +0200 -Subject: [PATCH 186/321] net/Qdisc: use a seqlock instead seqcount -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 186/323] net/Qdisc: use a seqlock instead seqcount +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The seqcount disables preemption on -RT while it is held which can't remove. Also we don't want the reader to spin for ages if the writer is @@ -250,7 +250,7 @@ struct gnet_stats_basic_cpu __percpu *cpu, struct gnet_stats_basic_packed *b) diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c -index fb50e3f3283f..fc281783303f 100644 +index 5c2d230790db..a5430619ca5f 100644 --- a/net/sched/sch_api.c +++ b/net/sched/sch_api.c @@ -1275,7 +1275,7 @@ static struct Qdisc *qdisc_create(struct net_device *dev, @@ -295,5 +295,5 @@ sch->ops = ops; sch->flags = ops->static_flags; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0187-net-Properly-annotate-the-try-lock-for-the-seqlock.patch linux-5.10.205/debian/patches-rt/0187-net-Properly-annotate-the-try-lock-for-the-seqlock.patch --- linux-5.10.197/debian/patches-rt/0187-net-Properly-annotate-the-try-lock-for-the-seqlock.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0187-net-Properly-annotate-the-try-lock-for-the-seqlock.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 44001d3560eb762a63b2af5a4d98f688e9b90f6d Mon Sep 17 00:00:00 2001 +From 442e014107fc616d529c73b0f0436980b817d021 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 8 Sep 2020 16:57:11 +0200 -Subject: [PATCH 187/321] net: Properly annotate the try-lock for the seqlock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 187/323] net: Properly annotate the try-lock for the seqlock +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz In patch ("net/Qdisc: use a seqlock instead seqcount") @@ -18,6 +18,7 @@ Reported-by: Mike Galbraith Cc: stable-rt@vger.kernel.org Signed-off-by: Sebastian Andrzej Siewior +Signed-off-by: Luis Claudio R. Goncalves --- include/net/net_seq_lock.h | 9 --------- include/net/sch_generic.h | 10 +++++++++- @@ -44,7 +45,7 @@ # define net_seqlock_t seqcount_t # define net_seq_begin(__r) read_seqcount_begin(__r) diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h -index 8ce663a9b4f4..72be68652bb8 100644 +index 8ce663a9b4f4..eee11a1c9321 100644 --- a/include/net/sch_generic.h +++ b/include/net/sch_generic.h @@ -189,8 +189,16 @@ static inline bool qdisc_run_begin(struct Qdisc *qdisc) @@ -58,7 +59,7 @@ + * Variant of write_seqcount_t_begin() telling lockdep that a + * trylock was attempted. + */ -+ raw_write_seqcount_t_begin(s); ++ do_raw_write_seqcount_begin(s); + seqcount_acquire(&s->dep_map, 0, 1, _RET_IP_); return true; + } @@ -66,5 +67,5 @@ #else /* Variant of write_seqcount_begin() telling lockdep a trylock -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0188-kconfig-Disable-config-options-which-are-not-RT-comp.patch linux-5.10.205/debian/patches-rt/0188-kconfig-Disable-config-options-which-are-not-RT-comp.patch --- linux-5.10.197/debian/patches-rt/0188-kconfig-Disable-config-options-which-are-not-RT-comp.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0188-kconfig-Disable-config-options-which-are-not-RT-comp.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From ab8505c99ebccafe2cf8ee65d1f88d61e32de36f Mon Sep 17 00:00:00 2001 +From f4fb1a364b1dc97c110e6103ffe75b21e46a0e63 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 24 Jul 2011 12:11:43 +0200 -Subject: [PATCH 188/321] kconfig: Disable config options which are not RT +Subject: [PATCH 188/323] kconfig: Disable config options which are not RT compatible -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Disable stuff which is known to have issues on RT @@ -14,7 +14,7 @@ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/Kconfig b/arch/Kconfig -index ec39d2aeccf5..c4713403ae3f 100644 +index 628e1e7fe302..8bbbca8839e1 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -37,6 +37,7 @@ config OPROFILE @@ -39,5 +39,5 @@ select XARRAY_MULTI help -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0189-mm-Allow-only-SLUB-on-RT.patch linux-5.10.205/debian/patches-rt/0189-mm-Allow-only-SLUB-on-RT.patch --- linux-5.10.197/debian/patches-rt/0189-mm-Allow-only-SLUB-on-RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0189-mm-Allow-only-SLUB-on-RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From bc45eca82b277a4efeb9c8e7ebb4f8199dda24dd Mon Sep 17 00:00:00 2001 +From 1da220d86ade67051c7c89743d6d037902c3839d Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:44:03 -0500 -Subject: [PATCH 189/321] mm: Allow only SLUB on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 189/323] mm: Allow only SLUB on RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Memory allocation disables interrupts as part of the allocation and freeing process. For -RT it is important that this section remain short and don't @@ -43,5 +43,5 @@ SLOB replaces the stock allocator with a drastically simpler allocator. SLOB is generally more space efficient but -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0190-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch linux-5.10.205/debian/patches-rt/0190-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch --- linux-5.10.197/debian/patches-rt/0190-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0190-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From dad6f296bda39f69da10d4fc7672784b64d3de71 Mon Sep 17 00:00:00 2001 +From 4e23e134063807a9288e9b547e1955a9124ac5b7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 17:03:52 +0200 -Subject: [PATCH 190/321] sched: Disable CONFIG_RT_GROUP_SCHED on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 190/323] sched: Disable CONFIG_RT_GROUP_SCHED on RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Carsten reported problems when running: @@ -31,5 +31,5 @@ help This feature lets you explicitly allocate real CPU bandwidth -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0191-net-core-disable-NET_RX_BUSY_POLL-on-RT.patch linux-5.10.205/debian/patches-rt/0191-net-core-disable-NET_RX_BUSY_POLL-on-RT.patch --- linux-5.10.197/debian/patches-rt/0191-net-core-disable-NET_RX_BUSY_POLL-on-RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0191-net-core-disable-NET_RX_BUSY_POLL-on-RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 7e481dd47af8cff4defb8f9fa229df219ab0235c Mon Sep 17 00:00:00 2001 +From 311a1cf04650b065502758f992df44702d23f6cd Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Sat, 27 May 2017 19:02:06 +0200 -Subject: [PATCH 191/321] net/core: disable NET_RX_BUSY_POLL on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 191/323] net/core: disable NET_RX_BUSY_POLL on RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz napi_busy_loop() disables preemption and performs a NAPI poll. We can't acquire sleeping locks with disabled preemption so we would have to work around this @@ -40,5 +40,5 @@ config BQL bool -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0192-efi-Disable-runtime-services-on-RT.patch linux-5.10.205/debian/patches-rt/0192-efi-Disable-runtime-services-on-RT.patch --- linux-5.10.197/debian/patches-rt/0192-efi-Disable-runtime-services-on-RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0192-efi-Disable-runtime-services-on-RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 6935dfcc4ff824bb5f7f84f53fd432a105a78840 Mon Sep 17 00:00:00 2001 +From 6c6afc933fea370e5c90a34ed6b622bcc274af5a Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 26 Jul 2018 15:03:16 +0200 -Subject: [PATCH 192/321] efi: Disable runtime services on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 192/323] efi: Disable runtime services on RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Based on meassurements the EFI functions get_variable / get_next_variable take up to 2us which looks okay. @@ -42,5 +42,5 @@ { disable_runtime = true; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0193-efi-Allow-efi-runtime.patch linux-5.10.205/debian/patches-rt/0193-efi-Allow-efi-runtime.patch --- linux-5.10.197/debian/patches-rt/0193-efi-Allow-efi-runtime.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0193-efi-Allow-efi-runtime.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From c7b55900276106f83205ee4d05b08a2f765dbcc8 Mon Sep 17 00:00:00 2001 +From 712d19894b0524bdc524334f6d76babef13db194 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 26 Jul 2018 15:06:10 +0200 -Subject: [PATCH 193/321] efi: Allow efi=runtime -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 193/323] efi: Allow efi=runtime +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz In case the command line option "efi=noruntime" is default at built-time, the user could overwrite its state by `efi=runtime' and allow it again. @@ -28,5 +28,5 @@ set_bit(EFI_MEM_NO_SOFT_RESERVE, &efi.flags); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0194-rt-Add-local-irq-locks.patch linux-5.10.205/debian/patches-rt/0194-rt-Add-local-irq-locks.patch --- linux-5.10.197/debian/patches-rt/0194-rt-Add-local-irq-locks.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0194-rt-Add-local-irq-locks.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 27d9977e1288ce484a1233ff2959336ae218af87 Mon Sep 17 00:00:00 2001 +From 0d3e0b0db513aac6e4cd2e2d084b7a76f4d28c44 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 20 Jun 2011 09:03:47 +0200 -Subject: [PATCH 194/321] rt: Add local irq locks -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 194/323] rt: Add local irq locks +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Introduce locallock. For !RT this maps to preempt_disable()/ local_irq_disable() so there is not much that changes. For RT this will @@ -178,5 +178,5 @@ + +#endif -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0195-signal-x86-Delay-calling-signals-in-atomic.patch linux-5.10.205/debian/patches-rt/0195-signal-x86-Delay-calling-signals-in-atomic.patch --- linux-5.10.197/debian/patches-rt/0195-signal-x86-Delay-calling-signals-in-atomic.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0195-signal-x86-Delay-calling-signals-in-atomic.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 34263a2d6eb33366ecf08d3f88a3a17442fd79ef Mon Sep 17 00:00:00 2001 +From f4ff44284474fd78b52414326c579dcd8196fc47 Mon Sep 17 00:00:00 2001 From: Oleg Nesterov Date: Tue, 14 Jul 2015 14:26:34 +0200 -Subject: [PATCH 195/321] signal/x86: Delay calling signals in atomic -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 195/323] signal/x86: Delay calling signals in atomic +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz On x86_64 we must disable preemption before we enable interrupts for stack faults, int3 and debugging, because the current task is using @@ -63,7 +63,7 @@ typedef sigset_t compat_sigset_t; #endif diff --git a/include/linux/sched.h b/include/linux/sched.h -index acbb796710d0..3634b00c3662 100644 +index 3650fdaac4ca..d259126f46cf 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1001,6 +1001,10 @@ struct task_struct { @@ -136,5 +136,5 @@ action = &t->sighand->action[sig-1]; ignored = action->sa.sa_handler == SIG_IGN; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0196-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch linux-5.10.205/debian/patches-rt/0196-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch --- linux-5.10.197/debian/patches-rt/0196-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0196-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 2f9579f059f431f4b2b3e3ea9929378486053032 Mon Sep 17 00:00:00 2001 +From 1e362e9e053f608c55deb05577371d61d5db1a92 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Mon, 28 May 2018 15:24:20 +0200 -Subject: [PATCH 196/321] Split IRQ-off and zone->lock while freeing pages from +Subject: [PATCH 196/323] Split IRQ-off and zone->lock while freeing pages from PCP list #1 -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Split the IRQ-off section while accessing the PCP list from zone->lock while freeing pages. @@ -18,7 +18,7 @@ 1 file changed, 51 insertions(+), 30 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index d85435db35f3..47819e664c4e 100644 +index 124ab9324610..0dc0eb767fb6 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1331,7 +1331,7 @@ static inline void prefetch_buddy(struct page *page) @@ -168,5 +168,5 @@ } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0197-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch linux-5.10.205/debian/patches-rt/0197-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch --- linux-5.10.197/debian/patches-rt/0197-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0197-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 2a661349973061aa6be071cff64c6e6ed73a6f94 Mon Sep 17 00:00:00 2001 +From 3bb0aee1e418d977b819e6d0632d71cbb7cd1138 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Mon, 28 May 2018 15:24:21 +0200 -Subject: [PATCH 197/321] Split IRQ-off and zone->lock while freeing pages from +Subject: [PATCH 197/323] Split IRQ-off and zone->lock while freeing pages from PCP list #2 -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Split the IRQ-off section while accessing the PCP list from zone->lock while freeing pages. @@ -18,7 +18,7 @@ 1 file changed, 50 insertions(+), 10 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index 47819e664c4e..30ac3b434e32 100644 +index 0dc0eb767fb6..a3f1e4c6bdc8 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1341,8 +1341,8 @@ static inline void prefetch_buddy(struct page *page) @@ -168,5 +168,5 @@ /* -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0198-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch linux-5.10.205/debian/patches-rt/0198-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch --- linux-5.10.197/debian/patches-rt/0198-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0198-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 5c034e3119b5f5630730a4d2db4d1404be559fec Mon Sep 17 00:00:00 2001 +From 24eecb5c4b97d1a359a8b16be1dae2a499720795 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 28 May 2018 15:24:22 +0200 -Subject: [PATCH 198/321] mm/SLxB: change list_lock to raw_spinlock_t -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 198/323] mm/SLxB: change list_lock to raw_spinlock_t +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The list_lock is used with used with IRQs off on RT. Make it a raw_spinlock_t otherwise the interrupts won't be disabled on -RT. The locking rules remain @@ -599,5 +599,5 @@ for (i = 0; i < t.count; i++) { -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0199-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch linux-5.10.205/debian/patches-rt/0199-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch --- linux-5.10.197/debian/patches-rt/0199-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0199-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 582b4c2e1111a89859f802cbd110c399d25f2b62 Mon Sep 17 00:00:00 2001 +From e620c8c3d37a6e6ff999f303521997d2950a71cd Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 21 Jun 2018 17:29:19 +0200 -Subject: [PATCH 199/321] mm/SLUB: delay giving back empty slubs to IRQ enabled +Subject: [PATCH 199/323] mm/SLUB: delay giving back empty slubs to IRQ enabled regions -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz __free_slab() is invoked with disabled interrupts which increases the irq-off time while __free_pages() is doing the work. @@ -219,5 +219,5 @@ if (debug_guardpage_minorder()) slub_max_order = 0; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0200-mm-slub-Always-flush-the-delayed-empty-slubs-in-flus.patch linux-5.10.205/debian/patches-rt/0200-mm-slub-Always-flush-the-delayed-empty-slubs-in-flus.patch --- linux-5.10.197/debian/patches-rt/0200-mm-slub-Always-flush-the-delayed-empty-slubs-in-flus.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0200-mm-slub-Always-flush-the-delayed-empty-slubs-in-flus.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From c32638c5bd1493ab8e82761bb3fcfbcce1388182 Mon Sep 17 00:00:00 2001 +From d903b2377e443ae1df59e15824b683d326e7c24b Mon Sep 17 00:00:00 2001 From: Kevin Hao Date: Mon, 4 May 2020 11:34:07 +0800 -Subject: [PATCH 200/321] mm: slub: Always flush the delayed empty slubs in +Subject: [PATCH 200/323] mm: slub: Always flush the delayed empty slubs in flush_all() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz After commit f0b231101c94 ("mm/SLUB: delay giving back empty slubs to IRQ enabled regions"), when the free_slab() is invoked with the IRQ @@ -57,5 +57,5 @@ raw_spin_lock_irq(&f->lock); list_splice_init(&f->list, &tofree); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0201-mm-slub-Don-t-resize-the-location-tracking-cache-on-.patch linux-5.10.205/debian/patches-rt/0201-mm-slub-Don-t-resize-the-location-tracking-cache-on-.patch --- linux-5.10.197/debian/patches-rt/0201-mm-slub-Don-t-resize-the-location-tracking-cache-on-.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0201-mm-slub-Don-t-resize-the-location-tracking-cache-on-.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 8af8e3386d0227862718b3c55bb742eacca0ee0b Mon Sep 17 00:00:00 2001 +From 6f5d1f04864beb65079068f48faf17c269c8509b Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 26 Feb 2021 17:26:04 +0100 -Subject: [PATCH 201/321] mm: slub: Don't resize the location tracking cache on +Subject: [PATCH 201/323] mm: slub: Don't resize the location tracking cache on PREEMPT_RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The location tracking cache has a size of a page and is resized if its current size is too small. @@ -33,5 +33,5 @@ l = (void *)__get_free_pages(flags, order); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0202-mm-page_alloc-Use-migrate_disable-in-drain_local_pag.patch linux-5.10.205/debian/patches-rt/0202-mm-page_alloc-Use-migrate_disable-in-drain_local_pag.patch --- linux-5.10.197/debian/patches-rt/0202-mm-page_alloc-Use-migrate_disable-in-drain_local_pag.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0202-mm-page_alloc-Use-migrate_disable-in-drain_local_pag.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 7bb470e6c2ef7751dbd783b984bea1b1932e75b7 Mon Sep 17 00:00:00 2001 +From 4c4d7886b6c8d16df841ac103b4742481ad5f014 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 2 Jul 2020 14:27:23 +0200 -Subject: [PATCH 202/321] mm/page_alloc: Use migrate_disable() in +Subject: [PATCH 202/323] mm/page_alloc: Use migrate_disable() in drain_local_pages_wq() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz drain_local_pages_wq() disables preemption to avoid CPU migration during CPU hotplug. @@ -19,7 +19,7 @@ 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index 30ac3b434e32..853f535d8238 100644 +index a3f1e4c6bdc8..508650843235 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -3048,9 +3048,9 @@ static void drain_local_pages_wq(struct work_struct *work) @@ -35,5 +35,5 @@ /* -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0203-mm-page_alloc-rt-friendly-per-cpu-pages.patch linux-5.10.205/debian/patches-rt/0203-mm-page_alloc-rt-friendly-per-cpu-pages.patch --- linux-5.10.197/debian/patches-rt/0203-mm-page_alloc-rt-friendly-per-cpu-pages.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0203-mm-page_alloc-rt-friendly-per-cpu-pages.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From fc01b6bdaf588db8b051d6dcb375bd5872922d0e Mon Sep 17 00:00:00 2001 +From 9f33cce55eb2594c4602653658103381064572d7 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:37 -0500 -Subject: [PATCH 203/321] mm: page_alloc: rt-friendly per-cpu pages -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 203/323] mm: page_alloc: rt-friendly per-cpu pages +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz rt-friendly per-cpu pages: convert the irqs-off per-cpu locking method into a preemptible, explicit-per-cpu-locks method. @@ -18,7 +18,7 @@ 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index 853f535d8238..5f1c50a6bebc 100644 +index 508650843235..c5eb7d6844ae 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -61,6 +61,7 @@ @@ -193,5 +193,5 @@ #ifdef CONFIG_MEMORY_HOTREMOVE -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0204-mm-slub-Make-object_map_lock-a-raw_spinlock_t.patch linux-5.10.205/debian/patches-rt/0204-mm-slub-Make-object_map_lock-a-raw_spinlock_t.patch --- linux-5.10.197/debian/patches-rt/0204-mm-slub-Make-object_map_lock-a-raw_spinlock_t.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0204-mm-slub-Make-object_map_lock-a-raw_spinlock_t.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 83fe0ab2204cd42cffa90e7bdebbe4a617a065a1 Mon Sep 17 00:00:00 2001 +From d2d45bd13ad6112afefb224d46501b76473196eb Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 16 Jul 2020 18:47:50 +0200 -Subject: [PATCH 204/321] mm/slub: Make object_map_lock a raw_spinlock_t -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 204/323] mm/slub: Make object_map_lock a raw_spinlock_t +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The variable object_map is protected by object_map_lock. The lock is always acquired in debug code and within already atomic context @@ -46,5 +46,5 @@ static inline unsigned int size_from_object(struct kmem_cache *s) -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0205-slub-Enable-irqs-for-__GFP_WAIT.patch linux-5.10.205/debian/patches-rt/0205-slub-Enable-irqs-for-__GFP_WAIT.patch --- linux-5.10.197/debian/patches-rt/0205-slub-Enable-irqs-for-__GFP_WAIT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0205-slub-Enable-irqs-for-__GFP_WAIT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 5fb56e1580f032f2a9ffb39932ffdcbb8d0cff88 Mon Sep 17 00:00:00 2001 +From c0f57e0b6278391f1fec71ccb1e25fe46deade2b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 9 Jan 2013 12:08:15 +0100 -Subject: [PATCH 205/321] slub: Enable irqs for __GFP_WAIT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 205/323] slub: Enable irqs for __GFP_WAIT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz SYSTEM_RUNNING might be too late for enabling interrupts. Allocations with GFP_WAIT can happen before that. So use this as an indicator. @@ -72,5 +72,5 @@ s = slab_pre_alloc_hook(s, &objcg, size, flags); if (unlikely(!s)) -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0206-slub-Disable-SLUB_CPU_PARTIAL.patch linux-5.10.205/debian/patches-rt/0206-slub-Disable-SLUB_CPU_PARTIAL.patch --- linux-5.10.197/debian/patches-rt/0206-slub-Disable-SLUB_CPU_PARTIAL.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0206-slub-Disable-SLUB_CPU_PARTIAL.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 4b48952fff16a3c918176a6a83ac40afa563da3b Mon Sep 17 00:00:00 2001 +From 8da7619853b38005d113af771657ad188006e1d5 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 15 Apr 2015 19:00:47 +0200 -Subject: [PATCH 206/321] slub: Disable SLUB_CPU_PARTIAL -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 206/323] slub: Disable SLUB_CPU_PARTIAL +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:915 |in_atomic(): 1, irqs_disabled(): 0, pid: 87, name: rcuop/7 @@ -50,5 +50,5 @@ help Per cpu partial caches accelerate objects allocation and freeing -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0207-mm-memcontrol-Provide-a-local_lock-for-per-CPU-memcg.patch linux-5.10.205/debian/patches-rt/0207-mm-memcontrol-Provide-a-local_lock-for-per-CPU-memcg.patch --- linux-5.10.197/debian/patches-rt/0207-mm-memcontrol-Provide-a-local_lock-for-per-CPU-memcg.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0207-mm-memcontrol-Provide-a-local_lock-for-per-CPU-memcg.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 37e1edaed5c36279597a83f572bd9fa53196fac8 Mon Sep 17 00:00:00 2001 +From 7a4ec53aa79ebc416eb752e204669e0d4dc53a06 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 18 Aug 2020 10:30:00 +0200 -Subject: [PATCH 207/321] mm: memcontrol: Provide a local_lock for per-CPU +Subject: [PATCH 207/323] mm: memcontrol: Provide a local_lock for per-CPU memcg_stock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The interrupts are disabled to ensure CPU-local access to the per-CPU variable `memcg_stock'. @@ -22,7 +22,7 @@ 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c -index 188a80cf3756..9ba334253084 100644 +index 49566afaef1c..d2a47428831b 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -2202,6 +2202,7 @@ void unlock_page_memcg(struct page *page) @@ -86,7 +86,7 @@ } /* -@@ -3136,7 +3137,7 @@ static bool consume_obj_stock(struct obj_cgroup *objcg, unsigned int nr_bytes) +@@ -3137,7 +3138,7 @@ static bool consume_obj_stock(struct obj_cgroup *objcg, unsigned int nr_bytes) unsigned long flags; bool ret = false; @@ -95,7 +95,7 @@ stock = this_cpu_ptr(&memcg_stock); if (objcg == stock->cached_objcg && stock->nr_bytes >= nr_bytes) { -@@ -3144,7 +3145,7 @@ static bool consume_obj_stock(struct obj_cgroup *objcg, unsigned int nr_bytes) +@@ -3145,7 +3146,7 @@ static bool consume_obj_stock(struct obj_cgroup *objcg, unsigned int nr_bytes) ret = true; } @@ -104,7 +104,7 @@ return ret; } -@@ -3211,7 +3212,7 @@ static void refill_obj_stock(struct obj_cgroup *objcg, unsigned int nr_bytes) +@@ -3212,7 +3213,7 @@ static void refill_obj_stock(struct obj_cgroup *objcg, unsigned int nr_bytes) struct memcg_stock_pcp *stock; unsigned long flags; @@ -113,7 +113,7 @@ stock = this_cpu_ptr(&memcg_stock); if (stock->cached_objcg != objcg) { /* reset if necessary */ -@@ -3225,7 +3226,7 @@ static void refill_obj_stock(struct obj_cgroup *objcg, unsigned int nr_bytes) +@@ -3226,7 +3227,7 @@ static void refill_obj_stock(struct obj_cgroup *objcg, unsigned int nr_bytes) if (stock->nr_bytes > PAGE_SIZE) drain_obj_stock(stock); @@ -122,7 +122,7 @@ } int obj_cgroup_charge(struct obj_cgroup *objcg, gfp_t gfp, size_t size) -@@ -7160,9 +7161,13 @@ static int __init mem_cgroup_init(void) +@@ -7161,9 +7162,13 @@ static int __init mem_cgroup_init(void) cpuhp_setup_state_nocalls(CPUHP_MM_MEMCQ_DEAD, "mm/memctrl:dead", NULL, memcg_hotplug_cpu_dead); @@ -140,5 +140,5 @@ for_each_node(node) { struct mem_cgroup_tree_per_node *rtpn; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0208-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch linux-5.10.205/debian/patches-rt/0208-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch --- linux-5.10.197/debian/patches-rt/0208-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0208-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From c36c4513d5e6e203b96587cca1f33e018c21b24d Mon Sep 17 00:00:00 2001 +From 915ee75a3da5732cf20be8f92b31d3ce33042c5b Mon Sep 17 00:00:00 2001 From: Yang Shi Date: Wed, 30 Oct 2013 11:48:33 -0700 -Subject: [PATCH 208/321] mm/memcontrol: Don't call schedule_work_on in +Subject: [PATCH 208/323] mm/memcontrol: Don't call schedule_work_on in preemption disabled context -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The following trace is triggered when running ltp oom test cases: @@ -48,7 +48,7 @@ 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c -index 9ba334253084..edae6f3d147d 100644 +index d2a47428831b..53522a52ff15 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -2349,7 +2349,7 @@ static void drain_all_stock(struct mem_cgroup *root_memcg) @@ -70,5 +70,5 @@ } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0209-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch linux-5.10.205/debian/patches-rt/0209-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch --- linux-5.10.197/debian/patches-rt/0209-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0209-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 841a0da6bbb8c1c6d3cfef43401aa987c3ad71c2 Mon Sep 17 00:00:00 2001 +From aed289fe7a9923b6c8a98fa08048d56aa97c71c4 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 28 Jan 2015 17:14:16 +0100 -Subject: [PATCH 209/321] mm/memcontrol: Replace local_irq_disable with local +Subject: [PATCH 209/323] mm/memcontrol: Replace local_irq_disable with local locks -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz There are a few local_irq_disable() which then take sleeping locks. This patch converts them local locks. @@ -16,7 +16,7 @@ 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c -index edae6f3d147d..5dd77e260c25 100644 +index 53522a52ff15..5bf696318643 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -63,6 +63,7 @@ @@ -41,7 +41,7 @@ /* Whether legacy memory+swap accounting is active */ static bool do_memsw_account(void) { -@@ -5746,12 +5754,12 @@ static int mem_cgroup_move_account(struct page *page, +@@ -5747,12 +5755,12 @@ static int mem_cgroup_move_account(struct page *page, ret = 0; @@ -56,7 +56,7 @@ out_unlock: unlock_page(page); out: -@@ -6821,10 +6829,10 @@ int mem_cgroup_charge(struct page *page, struct mm_struct *mm, gfp_t gfp_mask) +@@ -6822,10 +6830,10 @@ int mem_cgroup_charge(struct page *page, struct mm_struct *mm, gfp_t gfp_mask) css_get(&memcg->css); commit_charge(page, memcg); @@ -69,7 +69,7 @@ /* * Cgroup1's unified memory+swap counter has been charged with the -@@ -6880,11 +6888,11 @@ static void uncharge_batch(const struct uncharge_gather *ug) +@@ -6881,11 +6889,11 @@ static void uncharge_batch(const struct uncharge_gather *ug) memcg_oom_recover(ug->memcg); } @@ -83,7 +83,7 @@ /* drop reference from uncharge_page */ css_put(&ug->memcg->css); -@@ -7038,10 +7046,10 @@ void mem_cgroup_migrate(struct page *oldpage, struct page *newpage) +@@ -7039,10 +7047,10 @@ void mem_cgroup_migrate(struct page *oldpage, struct page *newpage) css_get(&memcg->css); commit_charge(newpage, memcg); @@ -96,7 +96,7 @@ } DEFINE_STATIC_KEY_FALSE(memcg_sockets_enabled_key); -@@ -7216,6 +7224,7 @@ void mem_cgroup_swapout(struct page *page, swp_entry_t entry) +@@ -7217,6 +7225,7 @@ void mem_cgroup_swapout(struct page *page, swp_entry_t entry) struct mem_cgroup *memcg, *swap_memcg; unsigned int nr_entries; unsigned short oldid; @@ -104,7 +104,7 @@ VM_BUG_ON_PAGE(PageLRU(page), page); VM_BUG_ON_PAGE(page_count(page), page); -@@ -7261,9 +7270,13 @@ void mem_cgroup_swapout(struct page *page, swp_entry_t entry) +@@ -7262,9 +7271,13 @@ void mem_cgroup_swapout(struct page *page, swp_entry_t entry) * important here to have the interrupts disabled because it is the * only synchronisation we have for updating the per-CPU variables. */ @@ -119,5 +119,5 @@ css_put(&memcg->css); } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0210-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch linux-5.10.205/debian/patches-rt/0210-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch --- linux-5.10.197/debian/patches-rt/0210-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0210-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 2b7661975999a37c360b1c3a74075ac386f7d0bf Mon Sep 17 00:00:00 2001 +From 7e86ac4a42c020de9b35b02a3ef02f2fc0dee2ed Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Tue, 22 Mar 2016 11:16:09 +0100 -Subject: [PATCH 210/321] mm/zsmalloc: copy with get_cpu_var() and locking -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 210/323] mm/zsmalloc: copy with get_cpu_var() and locking +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz get_cpu_var() disables preemption and triggers a might_sleep() splat later. This is replaced with get_locked_var(). @@ -208,5 +208,5 @@ migrate_read_unlock(zspage); unpin_tag(handle); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0211-mm-zswap-Use-local-lock-to-protect-per-CPU-data.patch linux-5.10.205/debian/patches-rt/0211-mm-zswap-Use-local-lock-to-protect-per-CPU-data.patch --- linux-5.10.197/debian/patches-rt/0211-mm-zswap-Use-local-lock-to-protect-per-CPU-data.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0211-mm-zswap-Use-local-lock-to-protect-per-CPU-data.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From f83affc54cddd2cf71b97c8a5ce2059d1208e70d Mon Sep 17 00:00:00 2001 +From 5bfa3eb76d50818c90253df970e7afbc747211c2 Mon Sep 17 00:00:00 2001 From: "Luis Claudio R. Goncalves" Date: Tue, 25 Jun 2019 11:28:04 -0300 -Subject: [PATCH 211/321] mm/zswap: Use local lock to protect per-CPU data -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 211/323] mm/zswap: Use local lock to protect per-CPU data +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz zwap uses per-CPU compression. The per-CPU data pointer is acquired with get_cpu_ptr() which implicitly disables preemption. It allocates @@ -146,5 +146,5 @@ zpool_unmap_handle(entry->pool->zpool, entry->handle); BUG_ON(ret); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0212-x86-kvm-Require-const-tsc-for-RT.patch linux-5.10.205/debian/patches-rt/0212-x86-kvm-Require-const-tsc-for-RT.patch --- linux-5.10.197/debian/patches-rt/0212-x86-kvm-Require-const-tsc-for-RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0212-x86-kvm-Require-const-tsc-for-RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 2a2544ef9d4dff6dacb4a9bd6aa72d181dfdc2e1 Mon Sep 17 00:00:00 2001 +From 6ef3a23d8f37d55fa94b9f1212830a3b8018c76f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 6 Nov 2011 12:26:18 +0100 -Subject: [PATCH 212/321] x86: kvm Require const tsc for RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 212/323] x86: kvm Require const tsc for RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Non constant TSC is a nightmare on bare metal already, but with virtualization it becomes a complete disaster because the workarounds @@ -15,10 +15,10 @@ 1 file changed, 8 insertions(+) diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c -index 34670943f543..e9475a6b3540 100644 +index 13e4699a0744..21a1aa76eb23 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c -@@ -8162,6 +8162,14 @@ int kvm_arch_init(void *opaque) +@@ -8167,6 +8167,14 @@ int kvm_arch_init(void *opaque) goto out; } @@ -34,5 +34,5 @@ x86_fpu_cache = kmem_cache_create("x86_fpu", sizeof(struct fpu), __alignof__(struct fpu), SLAB_ACCOUNT, -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0213-wait.h-include-atomic.h.patch linux-5.10.205/debian/patches-rt/0213-wait.h-include-atomic.h.patch --- linux-5.10.197/debian/patches-rt/0213-wait.h-include-atomic.h.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0213-wait.h-include-atomic.h.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,11 +1,11 @@ -From 65583c802f0d5eec5035972d4ee30dffb812d5c8 Mon Sep 17 00:00:00 2001 +From 25ddd3a9a10e8b30e5c6ff85e57532a5f20ffa9d Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 28 Oct 2013 12:19:57 +0100 -Subject: [PATCH 213/321] wait.h: include atomic.h +Subject: [PATCH 213/323] wait.h: include atomic.h MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz | CC init/main.o |In file included from include/linux/mmzone.h:9:0, @@ -38,5 +38,5 @@ typedef struct wait_queue_entry wait_queue_entry_t; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0214-sched-Limit-the-number-of-task-migrations-per-batch.patch linux-5.10.205/debian/patches-rt/0214-sched-Limit-the-number-of-task-migrations-per-batch.patch --- linux-5.10.197/debian/patches-rt/0214-sched-Limit-the-number-of-task-migrations-per-batch.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0214-sched-Limit-the-number-of-task-migrations-per-batch.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 0019c4eea77f9d72b71b53ed60e7e2f0c7846a65 Mon Sep 17 00:00:00 2001 +From a178dbd2a3f8eeedf39cde9582a29bc95f335b17 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 6 Jun 2011 12:12:51 +0200 -Subject: [PATCH 214/321] sched: Limit the number of task migrations per batch -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 214/323] sched: Limit the number of task migrations per batch +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Put an upper limit on the number of tasks which are migrated per batch to avoid large latencies. @@ -13,7 +13,7 @@ 1 file changed, 4 insertions(+) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 71df612bd960..4c3871133639 100644 +index aaeed4b14278..3d7e9ecbd376 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -65,7 +65,11 @@ const_debug unsigned int sysctl_sched_features = @@ -29,5 +29,5 @@ /* * period over which we measure -rt task CPU usage in us. -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0215-sched-Move-mmdrop-to-RCU-on-RT.patch linux-5.10.205/debian/patches-rt/0215-sched-Move-mmdrop-to-RCU-on-RT.patch --- linux-5.10.197/debian/patches-rt/0215-sched-Move-mmdrop-to-RCU-on-RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0215-sched-Move-mmdrop-to-RCU-on-RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From fd7c41cc3352e02741ceace3e23c54308ea5647a Mon Sep 17 00:00:00 2001 +From e29feec1bad5cc39575600e68d6f5523b17c189a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 6 Jun 2011 12:20:33 +0200 -Subject: [PATCH 215/321] sched: Move mmdrop to RCU on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 215/323] sched: Move mmdrop to RCU on RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Takes sleeping locks and calls into the memory allocator, so nothing we want to do in task switch and oder atomic contexts. @@ -60,7 +60,7 @@ * mmget() - Pin the address space associated with a &struct mm_struct. * @mm: The address space to pin. diff --git a/kernel/fork.c b/kernel/fork.c -index 58fc874f9f3b..78efb94a35e8 100644 +index 32b9d7205ac1..078058436f2f 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -691,6 +691,19 @@ void __mmdrop(struct mm_struct *mm) @@ -84,7 +84,7 @@ { struct mm_struct *mm; diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 4c3871133639..6be3bae150c0 100644 +index 3d7e9ecbd376..5e5d28f5d970 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -4269,9 +4269,13 @@ static struct rq *finish_task_switch(struct task_struct *prev) @@ -102,7 +102,7 @@ } if (unlikely(prev_state == TASK_DEAD)) { if (prev->sched_class->task_dead) -@@ -7269,6 +7273,7 @@ void sched_setnuma(struct task_struct *p, int nid) +@@ -7264,6 +7268,7 @@ void sched_setnuma(struct task_struct *p, int nid) #endif /* CONFIG_NUMA_BALANCING */ #ifdef CONFIG_HOTPLUG_CPU @@ -111,5 +111,5 @@ * Ensure that the idle task is using init_mm right before its CPU goes * offline. -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0216-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch linux-5.10.205/debian/patches-rt/0216-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch --- linux-5.10.197/debian/patches-rt/0216-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0216-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From f2d52602111736e15a9fed4376927b2a31fa9455 Mon Sep 17 00:00:00 2001 +From 0d19bdfa59a3f9976aacac9944e5c2519f1a508b Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 21 Nov 2016 19:31:08 +0100 -Subject: [PATCH 216/321] kernel/sched: move stack + kprobe clean up to +Subject: [PATCH 216/323] kernel/sched: move stack + kprobe clean up to __put_task_struct() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz There is no need to free the stack before the task struct (except for reasons mentioned in commit 68f24b08ee89 ("sched/core: Free the stack early if @@ -20,7 +20,7 @@ 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/kernel/fork.c b/kernel/fork.c -index 78efb94a35e8..1a83ec242ee9 100644 +index 078058436f2f..2a11bf5f9e30 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -42,6 +42,7 @@ @@ -57,7 +57,7 @@ cgroup_free(tsk); task_numa_free(tsk, true); diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 6be3bae150c0..4ef4924f3ddc 100644 +index 5e5d28f5d970..81bc9efbd191 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -4281,15 +4281,6 @@ static struct rq *finish_task_switch(struct task_struct *prev) @@ -77,5 +77,5 @@ } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0217-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch linux-5.10.205/debian/patches-rt/0217-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch --- linux-5.10.197/debian/patches-rt/0217-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0217-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 211218360bc16cd437ecf9d5901cda973879a603 Mon Sep 17 00:00:00 2001 +From 55d4bd8636745b8d1b987b6561ae2b14cebace78 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 7 Jun 2011 09:19:06 +0200 -Subject: [PATCH 217/321] sched: Do not account rcu_preempt_depth on RT in +Subject: [PATCH 217/323] sched: Do not account rcu_preempt_depth on RT in might_sleep() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz RT changes the rcu_preempt_depth semantics, so we cannot check for it in might_sleep(). @@ -40,10 +40,10 @@ /* Internal to kernel */ diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 4ef4924f3ddc..28acd6114827 100644 +index 81bc9efbd191..2f689b4fa68b 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -7883,7 +7883,7 @@ void __init sched_init(void) +@@ -7878,7 +7878,7 @@ void __init sched_init(void) #ifdef CONFIG_DEBUG_ATOMIC_SLEEP static inline int preempt_count_equals(int preempt_offset) { @@ -53,5 +53,5 @@ return (nested == preempt_offset); } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0218-sched-Disable-TTWU_QUEUE-on-RT.patch linux-5.10.205/debian/patches-rt/0218-sched-Disable-TTWU_QUEUE-on-RT.patch --- linux-5.10.197/debian/patches-rt/0218-sched-Disable-TTWU_QUEUE-on-RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0218-sched-Disable-TTWU_QUEUE-on-RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 692ab155f7b6bcd4ee3e8feddd69a4a73fb8929a Mon Sep 17 00:00:00 2001 +From 5b867d72795af288909e6370aabef927a70c8d78 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 13 Sep 2011 16:42:35 +0200 -Subject: [PATCH 218/321] sched: Disable TTWU_QUEUE on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 218/323] sched: Disable TTWU_QUEUE on RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The queued remote wakeup mechanism can introduce rather large latencies if the number of migrated tasks is high. Disable it for RT. @@ -34,5 +34,5 @@ /* * When doing wakeups, attempt to limit superfluous scans of the LLC domain. -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0219-softirq-Check-preemption-after-reenabling-interrupts.patch linux-5.10.205/debian/patches-rt/0219-softirq-Check-preemption-after-reenabling-interrupts.patch --- linux-5.10.197/debian/patches-rt/0219-softirq-Check-preemption-after-reenabling-interrupts.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0219-softirq-Check-preemption-after-reenabling-interrupts.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From eb43d95088ffb559cf9c0a42416dfb263fbcd319 Mon Sep 17 00:00:00 2001 +From c63275b524df4d3556c7cf1690bc874d4a8cd72e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 13 Nov 2011 17:17:09 +0100 -Subject: [PATCH 219/321] softirq: Check preemption after reenabling interrupts -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 219/323] softirq: Check preemption after reenabling interrupts +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz raise_softirq_irqoff() disables interrupts and wakes the softirq daemon, but after reenabling interrupts there is no preemption check, @@ -147,5 +147,5 @@ #ifdef CONFIG_RPS remsd = oldsd->rps_ipi_list; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0220-softirq-Disable-softirq-stacks-for-RT.patch linux-5.10.205/debian/patches-rt/0220-softirq-Disable-softirq-stacks-for-RT.patch --- linux-5.10.197/debian/patches-rt/0220-softirq-Disable-softirq-stacks-for-RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0220-softirq-Disable-softirq-stacks-for-RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From fca0fad8f9755844665550759c85ebd7e4ec6fb9 Mon Sep 17 00:00:00 2001 +From 539938b186e370ddf9bfc1d68703cfddf80a3f42 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 13:59:17 +0200 -Subject: [PATCH 220/321] softirq: Disable softirq stacks for RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 220/323] softirq: Disable softirq stacks for RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Disable extra stacks for softirqs. We want to preempt softirqs and having them on special IRQ-stack does not make this easier. @@ -164,5 +164,5 @@ #else static inline void do_softirq_own_stack(void) -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0221-net-core-use-local_bh_disable-in-netif_rx_ni.patch linux-5.10.205/debian/patches-rt/0221-net-core-use-local_bh_disable-in-netif_rx_ni.patch --- linux-5.10.197/debian/patches-rt/0221-net-core-use-local_bh_disable-in-netif_rx_ni.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0221-net-core-use-local_bh_disable-in-netif_rx_ni.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 51dad9f44960f12c278bc3a9bf0e265a3968d075 Mon Sep 17 00:00:00 2001 +From 3f41204b42e2804a8eff4dbae9f811c5112a5e49 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 16 Jun 2017 19:03:16 +0200 -Subject: [PATCH 221/321] net/core: use local_bh_disable() in netif_rx_ni() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 221/323] net/core: use local_bh_disable() in netif_rx_ni() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz In 2004 netif_rx_ni() gained a preempt_disable() section around netif_rx() and its do_softirq() + testing for it. The do_softirq() part @@ -37,5 +37,5 @@ return err; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0222-pid.h-include-atomic.h.patch linux-5.10.205/debian/patches-rt/0222-pid.h-include-atomic.h.patch --- linux-5.10.197/debian/patches-rt/0222-pid.h-include-atomic.h.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0222-pid.h-include-atomic.h.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 946072c49af53d218537c7eebaf5729e584b51b8 Mon Sep 17 00:00:00 2001 +From 281d6228df38fdd331290ccf7753daee6ee7e520 Mon Sep 17 00:00:00 2001 From: Grygorii Strashko Date: Tue, 21 Jul 2015 19:43:56 +0300 -Subject: [PATCH 222/321] pid.h: include atomic.h -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 222/323] pid.h: include atomic.h +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz This patch fixes build error: CC kernel/pid_namespace.o @@ -39,5 +39,5 @@ #include -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0223-ptrace-fix-ptrace-vs-tasklist_lock-race.patch linux-5.10.205/debian/patches-rt/0223-ptrace-fix-ptrace-vs-tasklist_lock-race.patch --- linux-5.10.197/debian/patches-rt/0223-ptrace-fix-ptrace-vs-tasklist_lock-race.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0223-ptrace-fix-ptrace-vs-tasklist_lock-race.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From d8598d833b2bfa214480678dd493d0f2195632e0 Mon Sep 17 00:00:00 2001 +From 2b742ac53e22db703a46b21ff3817c797b7cb071 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 29 Aug 2013 18:21:04 +0200 -Subject: [PATCH 223/321] ptrace: fix ptrace vs tasklist_lock race -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 223/323] ptrace: fix ptrace vs tasklist_lock race +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz As explained by Alexander Fyodorov : @@ -31,7 +31,7 @@ 3 files changed, 68 insertions(+), 7 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 3634b00c3662..46bc6101b8ee 100644 +index d259126f46cf..bd0c9c633438 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -112,12 +112,8 @@ struct io_uring_task; @@ -47,7 +47,7 @@ #ifdef CONFIG_DEBUG_ATOMIC_SLEEP /* -@@ -1884,6 +1880,51 @@ static inline int test_tsk_need_resched(struct task_struct *tsk) +@@ -1886,6 +1882,51 @@ static inline int test_tsk_need_resched(struct task_struct *tsk) return unlikely(test_tsk_thread_flag(tsk,TIF_NEED_RESCHED)); } @@ -120,7 +120,7 @@ } spin_unlock_irq(&task->sighand->siglock); diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 28acd6114827..7d7002b4e2d1 100644 +index 2f689b4fa68b..8ac1f0526476 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2587,6 +2587,18 @@ int migrate_swap(struct task_struct *cur, struct task_struct *p, @@ -162,5 +162,5 @@ task_rq_unlock(rq, p, &rf); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0224-ptrace-fix-ptrace_unfreeze_traced-race-with-rt-lock.patch linux-5.10.205/debian/patches-rt/0224-ptrace-fix-ptrace_unfreeze_traced-race-with-rt-lock.patch --- linux-5.10.197/debian/patches-rt/0224-ptrace-fix-ptrace_unfreeze_traced-race-with-rt-lock.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0224-ptrace-fix-ptrace_unfreeze_traced-race-with-rt-lock.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 37f99b985d2e58a7e0a964517906360b138cde21 Mon Sep 17 00:00:00 2001 +From 10d5d8e25cce1695bb99f7149038d97b9a160201 Mon Sep 17 00:00:00 2001 From: Oleg Nesterov Date: Tue, 3 Nov 2020 12:39:01 +0100 -Subject: [PATCH 224/321] ptrace: fix ptrace_unfreeze_traced() race with +Subject: [PATCH 224/323] ptrace: fix ptrace_unfreeze_traced() race with rt-lock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The patch "ptrace: fix ptrace vs tasklist_lock race" changed ptrace_freeze_traced() to take task->saved_state into account, but @@ -61,5 +61,5 @@ } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0225-kernel-sched-add-put-get-_cpu_light.patch linux-5.10.205/debian/patches-rt/0225-kernel-sched-add-put-get-_cpu_light.patch --- linux-5.10.197/debian/patches-rt/0225-kernel-sched-add-put-get-_cpu_light.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0225-kernel-sched-add-put-get-_cpu_light.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From e7acdb6e709c12845cdf78872cacc81076837b22 Mon Sep 17 00:00:00 2001 +From f5e1368135f9f3d520828544dc31762f19f43848 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Sat, 27 May 2017 19:02:06 +0200 -Subject: [PATCH 225/321] kernel/sched: add {put|get}_cpu_light() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 225/323] kernel/sched: add {put|get}_cpu_light() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Signed-off-by: Sebastian Andrzej Siewior --- @@ -24,5 +24,5 @@ * Callback to arch code if there's nosmp or maxcpus=0 on the * boot command line: -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0226-trace-Add-migrate-disabled-counter-to-tracing-output.patch linux-5.10.205/debian/patches-rt/0226-trace-Add-migrate-disabled-counter-to-tracing-output.patch --- linux-5.10.197/debian/patches-rt/0226-trace-Add-migrate-disabled-counter-to-tracing-output.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0226-trace-Add-migrate-disabled-counter-to-tracing-output.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From f412e0718528039f998f3e9ca7c40bb4c5b44f10 Mon Sep 17 00:00:00 2001 +From 61f802c21cb2e063c6e8b39e9f497f2d38440b5a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:56:42 +0200 -Subject: [PATCH 226/321] trace: Add migrate-disabled counter to tracing output -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 226/323] trace: Add migrate-disabled counter to tracing output +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Signed-off-by: Thomas Gleixner --- @@ -13,10 +13,10 @@ 4 files changed, 27 insertions(+), 7 deletions(-) diff --git a/include/linux/trace_events.h b/include/linux/trace_events.h -index 5d9397abd2e2..dd1257c3f37b 100644 +index 2fea9fcd4d4e..2151524a10f0 100644 --- a/include/linux/trace_events.h +++ b/include/linux/trace_events.h -@@ -67,6 +67,7 @@ struct trace_entry { +@@ -69,6 +69,7 @@ struct trace_entry { unsigned char flags; unsigned char preempt_count; int pid; @@ -24,7 +24,7 @@ }; #define TRACE_EVENT_TYPE_MAX \ -@@ -153,6 +154,7 @@ static inline void tracing_generic_entry_update(struct trace_entry *entry, +@@ -157,6 +158,7 @@ static inline void tracing_generic_entry_update(struct trace_entry *entry, unsigned int trace_ctx) { entry->preempt_count = trace_ctx & 0xff; @@ -33,10 +33,10 @@ entry->type = type; entry->flags = trace_ctx >> 16; diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index dd0db09d4d4c..735e44357b0f 100644 +index 5d6730589823..02dffb1862b8 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c -@@ -2616,6 +2616,15 @@ enum print_line_t trace_handle_return(struct trace_seq *s) +@@ -2575,6 +2575,15 @@ enum print_line_t trace_handle_return(struct trace_seq *s) } EXPORT_SYMBOL_GPL(trace_handle_return); @@ -52,7 +52,7 @@ unsigned int tracing_gen_ctx_irq_test(unsigned int irqs_status) { unsigned int trace_flags = irqs_status; -@@ -2634,7 +2643,8 @@ unsigned int tracing_gen_ctx_irq_test(unsigned int irqs_status) +@@ -2593,7 +2602,8 @@ unsigned int tracing_gen_ctx_irq_test(unsigned int irqs_status) trace_flags |= TRACE_FLAG_NEED_RESCHED; if (test_preempt_need_resched()) trace_flags |= TRACE_FLAG_PREEMPT_RESCHED; @@ -62,7 +62,7 @@ } struct ring_buffer_event * -@@ -3835,9 +3845,10 @@ static void print_lat_help_header(struct seq_file *m) +@@ -3856,9 +3866,10 @@ static void print_lat_help_header(struct seq_file *m) "# | / _----=> need-resched \n" "# || / _---=> hardirq/softirq \n" "# ||| / _--=> preempt-depth \n" @@ -76,7 +76,7 @@ } static void print_event_info(struct array_buffer *buf, struct seq_file *m) -@@ -3875,9 +3886,10 @@ static void print_func_help_header_irq(struct array_buffer *buf, struct seq_file +@@ -3896,9 +3907,10 @@ static void print_func_help_header_irq(struct array_buffer *buf, struct seq_file seq_printf(m, "# %.*s / _----=> need-resched\n", prec, space); seq_printf(m, "# %.*s| / _---=> hardirq/softirq\n", prec, space); seq_printf(m, "# %.*s|| / _--=> preempt-depth\n", prec, space); @@ -91,7 +91,7 @@ void diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c -index 35b64c408aff..4997637b8305 100644 +index df64b92c5edc..636fb7df3714 100644 --- a/kernel/trace/trace_events.c +++ b/kernel/trace/trace_events.c @@ -184,6 +184,7 @@ static int trace_define_common_fields(void) @@ -103,10 +103,10 @@ return ret; } diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c -index b3ee8d9b6b62..34150ba5b1ef 100644 +index 94b0991717b6..b3619b21217c 100644 --- a/kernel/trace/trace_output.c +++ b/kernel/trace/trace_output.c -@@ -487,6 +487,11 @@ int trace_print_lat_fmt(struct trace_seq *s, struct trace_entry *entry) +@@ -497,6 +497,11 @@ int trace_print_lat_fmt(struct trace_seq *s, struct trace_entry *entry) else trace_seq_putc(s, '.'); @@ -119,5 +119,5 @@ } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0227-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch linux-5.10.205/debian/patches-rt/0227-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch --- linux-5.10.197/debian/patches-rt/0227-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0227-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 551d62e1d0d1d036cda0e7a93ec26e216dc9c226 Mon Sep 17 00:00:00 2001 +From d9e2f0098c8afde2f68ff94ea5dcdf818bc454d9 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 4 Aug 2017 17:40:42 +0200 -Subject: [PATCH 227/321] locking: don't check for __LINUX_SPINLOCK_TYPES_H on +Subject: [PATCH 227/323] locking: don't check for __LINUX_SPINLOCK_TYPES_H on -RT archs -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Upstream uses arch_spinlock_t within spinlock_t and requests that spinlock_types.h header file is included first. @@ -162,5 +162,5 @@ #include -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0228-locking-Make-spinlock_t-and-rwlock_t-a-RCU-section-o.patch linux-5.10.205/debian/patches-rt/0228-locking-Make-spinlock_t-and-rwlock_t-a-RCU-section-o.patch --- linux-5.10.197/debian/patches-rt/0228-locking-Make-spinlock_t-and-rwlock_t-a-RCU-section-o.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0228-locking-Make-spinlock_t-and-rwlock_t-a-RCU-section-o.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From c80b40b1e13a0a62d3b06d76cb1892d126a2313e Mon Sep 17 00:00:00 2001 +From 166485c3d38dd51a1a9a35edb7b2d3c1054a2418 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 19 Nov 2019 09:25:04 +0100 -Subject: [PATCH 228/321] locking: Make spinlock_t and rwlock_t a RCU section +Subject: [PATCH 228/323] locking: Make spinlock_t and rwlock_t a RCU section on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz On !RT a locked spinlock_t and rwlock_t disables preemption which implies a RCU read section. There is code that relies on that behaviour. @@ -122,5 +122,5 @@ } EXPORT_SYMBOL(rt_write_unlock); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0229-mm-vmalloc-Another-preempt-disable-region-which-suck.patch linux-5.10.205/debian/patches-rt/0229-mm-vmalloc-Another-preempt-disable-region-which-suck.patch --- linux-5.10.197/debian/patches-rt/0229-mm-vmalloc-Another-preempt-disable-region-which-suck.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0229-mm-vmalloc-Another-preempt-disable-region-which-suck.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From a16453431e4f054ff7d08d8e01e688660b12df12 Mon Sep 17 00:00:00 2001 +From 61aced1d729a22bbaf66e1f68806e04058bafb3f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 12 Jul 2011 11:39:36 +0200 -Subject: [PATCH 229/321] mm/vmalloc: Another preempt disable region which +Subject: [PATCH 229/323] mm/vmalloc: Another preempt disable region which sucks -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Avoid the preempt disable version of get_cpu_var(). The inner-lock should provide enough serialisation. @@ -14,7 +14,7 @@ 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/mm/vmalloc.c b/mm/vmalloc.c -index fff03a331314..2cbbbdb69ec4 100644 +index d6a4794fa8ca..8113e4f0d2f2 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -1542,7 +1542,7 @@ static void *new_vmap_block(unsigned int order, gfp_t gfp_mask) @@ -69,5 +69,5 @@ /* Allocate new block if nothing was found */ -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0230-block-mq-do-not-invoke-preempt_disable.patch linux-5.10.205/debian/patches-rt/0230-block-mq-do-not-invoke-preempt_disable.patch --- linux-5.10.197/debian/patches-rt/0230-block-mq-do-not-invoke-preempt_disable.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0230-block-mq-do-not-invoke-preempt_disable.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 17eede62892f3b6047177db09638afd98fe81392 Mon Sep 17 00:00:00 2001 +From 0470292c7761cc1cd2847e60b43b202b1be7ee29 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 14 Jul 2015 14:26:34 +0200 -Subject: [PATCH 230/321] block/mq: do not invoke preempt_disable() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 230/323] block/mq: do not invoke preempt_disable() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz preempt_disable() and get_cpu() don't play well together with the sleeping locks it tries to allocate later. @@ -36,5 +36,5 @@ kblockd_mod_delayed_work_on(blk_mq_hctx_next_cpu(hctx), &hctx->run_work, -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0231-md-raid5-Make-raid5_percpu-handling-RT-aware.patch linux-5.10.205/debian/patches-rt/0231-md-raid5-Make-raid5_percpu-handling-RT-aware.patch --- linux-5.10.197/debian/patches-rt/0231-md-raid5-Make-raid5_percpu-handling-RT-aware.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0231-md-raid5-Make-raid5_percpu-handling-RT-aware.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 59a0918f19834fb297afd24e670f4ef4435c5825 Mon Sep 17 00:00:00 2001 +From 4af1829664e98b9b3ec542a03ee30aeee8f47f6c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 6 Apr 2010 16:51:31 +0200 -Subject: [PATCH 231/321] md: raid5: Make raid5_percpu handling RT aware -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 231/323] md: raid5: Make raid5_percpu handling RT aware +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz __raid_run_ops() disables preemption with get_cpu() around the access to the raid5_percpu variables. That causes scheduling while atomic @@ -65,5 +65,5 @@ void *scribble; /* space for constructing buffer * lists and performing address -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0232-scsi-fcoe-Make-RT-aware.patch linux-5.10.205/debian/patches-rt/0232-scsi-fcoe-Make-RT-aware.patch --- linux-5.10.197/debian/patches-rt/0232-scsi-fcoe-Make-RT-aware.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0232-scsi-fcoe-Make-RT-aware.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From cdb48948b0b04504d1bd8fd7608f2c2c54264904 Mon Sep 17 00:00:00 2001 +From a2eaf0c262e1151f5978da03d033819e82104cce Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 12 Nov 2011 14:00:48 +0100 -Subject: [PATCH 232/321] scsi/fcoe: Make RT aware. -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 232/323] scsi/fcoe: Make RT aware. +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Do not disable preemption while taking sleeping locks. All user look safe for migrate_diable() only. @@ -73,10 +73,10 @@ } diff --git a/drivers/scsi/fcoe/fcoe_ctlr.c b/drivers/scsi/fcoe/fcoe_ctlr.c -index bbc5d6b9be73..8f9a02912938 100644 +index a2d60ad2a683..3fdc403bc7d8 100644 --- a/drivers/scsi/fcoe/fcoe_ctlr.c +++ b/drivers/scsi/fcoe/fcoe_ctlr.c -@@ -828,7 +828,7 @@ static unsigned long fcoe_ctlr_age_fcfs(struct fcoe_ctlr *fip) +@@ -830,7 +830,7 @@ static unsigned long fcoe_ctlr_age_fcfs(struct fcoe_ctlr *fip) INIT_LIST_HEAD(&del_list); @@ -85,7 +85,7 @@ list_for_each_entry_safe(fcf, next, &fip->fcfs, list) { deadline = fcf->time + fcf->fka_period + fcf->fka_period / 2; -@@ -864,7 +864,7 @@ static unsigned long fcoe_ctlr_age_fcfs(struct fcoe_ctlr *fip) +@@ -866,7 +866,7 @@ static unsigned long fcoe_ctlr_age_fcfs(struct fcoe_ctlr *fip) sel_time = fcf->time; } } @@ -112,5 +112,5 @@ /* peek cache of free slot */ if (pool->left != FC_XID_UNKNOWN) { -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0233-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch linux-5.10.205/debian/patches-rt/0233-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch --- linux-5.10.197/debian/patches-rt/0233-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0233-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 2afd3742e22b4b4735a97a16ec56f588cb4b57e7 Mon Sep 17 00:00:00 2001 +From 971df27cc65fb6805b2253bd66e81bd244887ecc Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Wed, 18 Feb 2015 16:05:28 +0100 -Subject: [PATCH 233/321] sunrpc: Make svc_xprt_do_enqueue() use +Subject: [PATCH 233/323] sunrpc: Make svc_xprt_do_enqueue() use get_cpu_light() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:915 |in_atomic(): 1, irqs_disabled(): 0, pid: 3194, name: rpc.nfsd @@ -56,5 +56,5 @@ } EXPORT_SYMBOL_GPL(svc_xprt_do_enqueue); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0234-rt-Introduce-cpu_chill.patch linux-5.10.205/debian/patches-rt/0234-rt-Introduce-cpu_chill.patch --- linux-5.10.197/debian/patches-rt/0234-rt-Introduce-cpu_chill.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0234-rt-Introduce-cpu_chill.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 8125c93205db6b2711c267f1645377dba58ea1a6 Mon Sep 17 00:00:00 2001 +From 38e8018fba96ecd6e7c7a47e18ed06324fd1d0e2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 7 Mar 2012 20:51:03 +0100 -Subject: [PATCH 234/321] rt: Introduce cpu_chill() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 234/323] rt: Introduce cpu_chill() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Retry loops on RT might loop forever when the modifying side was preempted. Add cpu_chill() to replace cpu_relax(). cpu_chill() @@ -77,7 +77,7 @@ + #endif /* defined(_LINUX_DELAY_H) */ diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c -index 70deb2f01e97..139a80dd830c 100644 +index ede09dda36e9..9dcc6215599f 100644 --- a/kernel/time/hrtimer.c +++ b/kernel/time/hrtimer.c @@ -2054,6 +2054,36 @@ SYSCALL_DEFINE2(nanosleep_time32, struct old_timespec32 __user *, rqtp, @@ -118,5 +118,5 @@ * Functions related to boot-time initialization: */ -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0235-fs-namespace-Use-cpu_chill-in-trylock-loops.patch linux-5.10.205/debian/patches-rt/0235-fs-namespace-Use-cpu_chill-in-trylock-loops.patch --- linux-5.10.197/debian/patches-rt/0235-fs-namespace-Use-cpu_chill-in-trylock-loops.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0235-fs-namespace-Use-cpu_chill-in-trylock-loops.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 8fe86f42a3bf357268dc1b8f1a1dfcf5f6610329 Mon Sep 17 00:00:00 2001 +From e174bc8c285602601d09d4e7997654e66a18bc87 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 7 Mar 2012 21:00:34 +0100 -Subject: [PATCH 235/321] fs: namespace: Use cpu_chill() in trylock loops -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 235/323] fs: namespace: Use cpu_chill() in trylock loops +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Retry loops on RT might loop forever when the modifying side was preempted. Use cpu_chill() instead of cpu_relax() to let the system @@ -40,5 +40,5 @@ * After the slowpath clears MNT_WRITE_HOLD, mnt_is_readonly will * be set to match its requirements. So we must not load that until -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0236-net-Use-skbufhead-with-raw-lock.patch linux-5.10.205/debian/patches-rt/0236-net-Use-skbufhead-with-raw-lock.patch --- linux-5.10.197/debian/patches-rt/0236-net-Use-skbufhead-with-raw-lock.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0236-net-Use-skbufhead-with-raw-lock.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 84ce64aa41817f7502eac5ab109a58d9117a8594 Mon Sep 17 00:00:00 2001 +From d58fbc3fc363cee50de0ac64be0b90fd2666956a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 12 Jul 2011 15:38:34 +0200 -Subject: [PATCH 236/321] net: Use skbufhead with raw lock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 236/323] net: Use skbufhead with raw lock +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Use the rps lock as rawlock so we can keep irq-off regions. It looks low latency. However we can't kfree() from this context therefore we defer this @@ -70,5 +70,5 @@ #ifdef CONFIG_XFRM_OFFLOAD skb_queue_head_init(&sd->xfrm_backlog); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0237-net-Dequeue-in-dev_cpu_dead-without-the-lock.patch linux-5.10.205/debian/patches-rt/0237-net-Dequeue-in-dev_cpu_dead-without-the-lock.patch --- linux-5.10.197/debian/patches-rt/0237-net-Dequeue-in-dev_cpu_dead-without-the-lock.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0237-net-Dequeue-in-dev_cpu_dead-without-the-lock.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 0d75e80c7b3b99869564c6a837029bd730c4b20a Mon Sep 17 00:00:00 2001 +From 95dbb10c81619c9a35a63f73dadd7379d95fdec0 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 16 Sep 2020 16:15:39 +0200 -Subject: [PATCH 237/321] net: Dequeue in dev_cpu_dead() without the lock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 237/323] net: Dequeue in dev_cpu_dead() without the lock +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Upstream uses skb_dequeue() to acquire lock of `input_pkt_queue'. The reason is to synchronize against a remote CPU which still thinks that the CPU is online @@ -33,5 +33,5 @@ input_queue_head_incr(oldsd); } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0238-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch linux-5.10.205/debian/patches-rt/0238-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch --- linux-5.10.197/debian/patches-rt/0238-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0238-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From b16c03d9f4e123662c600eb3a2a3e02fc1867368 Mon Sep 17 00:00:00 2001 +From 3a7ff2036ac29effdf8fc39fc7ea9610f98ca5e4 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 30 Mar 2016 13:36:29 +0200 -Subject: [PATCH 238/321] net: dev: always take qdisc's busylock in +Subject: [PATCH 238/323] net: dev: always take qdisc's busylock in __dev_xmit_skb() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The root-lock is dropped before dev_hard_start_xmit() is invoked and after setting the __QDISC___STATE_RUNNING bit. If this task is now pushed away @@ -38,5 +38,5 @@ spin_lock(&q->busylock); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0239-irqwork-push-most-work-into-softirq-context.patch linux-5.10.205/debian/patches-rt/0239-irqwork-push-most-work-into-softirq-context.patch --- linux-5.10.197/debian/patches-rt/0239-irqwork-push-most-work-into-softirq-context.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0239-irqwork-push-most-work-into-softirq-context.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 839c2925954e36deb8b1be5dcf7b1b7257cf8640 Mon Sep 17 00:00:00 2001 +From 57453ffdf0bcba3fa27ca0b19f622ea371c2c686 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 23 Jun 2015 15:32:51 +0200 -Subject: [PATCH 239/321] irqwork: push most work into softirq context -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 239/323] irqwork: push most work into softirq context +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Initially we defered all irqwork into softirq because we didn't want the latency spikes if perf or another user was busy and delayed the RT task. @@ -185,5 +185,5 @@ if (IS_ENABLED(CONFIG_NO_HZ_COMMON)) __run_timers(this_cpu_ptr(&timer_bases[BASE_DEF])); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0240-x86-crypto-Reduce-preempt-disabled-regions.patch linux-5.10.205/debian/patches-rt/0240-x86-crypto-Reduce-preempt-disabled-regions.patch --- linux-5.10.197/debian/patches-rt/0240-x86-crypto-Reduce-preempt-disabled-regions.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0240-x86-crypto-Reduce-preempt-disabled-regions.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 89b9681d18a2b70659327a8f8cd6ea04d8f27764 Mon Sep 17 00:00:00 2001 +From 523f64f1a87e6454e46f5e25ae797b6a7050a6a8 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Mon, 14 Nov 2011 18:19:27 +0100 -Subject: [PATCH 240/321] x86: crypto: Reduce preempt disabled regions -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 240/323] x86: crypto: Reduce preempt disabled regions +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Restrict the preempt disabled regions to the actual floating point operations and enable preemption for the administrative actions. @@ -114,5 +114,5 @@ return err; } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0241-crypto-Reduce-preempt-disabled-regions-more-algos.patch linux-5.10.205/debian/patches-rt/0241-crypto-Reduce-preempt-disabled-regions-more-algos.patch --- linux-5.10.197/debian/patches-rt/0241-crypto-Reduce-preempt-disabled-regions-more-algos.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0241-crypto-Reduce-preempt-disabled-regions-more-algos.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 5357ca1ec0e5e2d73e70d05a7c45845879b33756 Mon Sep 17 00:00:00 2001 +From e9bc715aa25df5aa654a5243e90ee31fb1b1e010 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 21 Feb 2014 17:24:04 +0100 -Subject: [PATCH 241/321] crypto: Reduce preempt disabled regions, more algos -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 241/323] crypto: Reduce preempt disabled regions, more algos +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Don Estabrook reported | kernel: WARNING: CPU: 2 PID: 858 at kernel/sched/core.c:2428 migrate_disable+0xed/0x100() @@ -236,5 +236,5 @@ nbytes = walk.nbytes; } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0242-crypto-limit-more-FPU-enabled-sections.patch linux-5.10.205/debian/patches-rt/0242-crypto-limit-more-FPU-enabled-sections.patch --- linux-5.10.197/debian/patches-rt/0242-crypto-limit-more-FPU-enabled-sections.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0242-crypto-limit-more-FPU-enabled-sections.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,11 +1,11 @@ -From 739733332dec927824368fb389cf67bb09cebabf Mon Sep 17 00:00:00 2001 +From dd8a48342b4ff4b80a32a4ae49115db93ad069c1 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 30 Nov 2017 13:40:10 +0100 -Subject: [PATCH 242/321] crypto: limit more FPU-enabled sections +Subject: [PATCH 242/323] crypto: limit more FPU-enabled sections MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Those crypto drivers use SSE/AVX/… for their crypto work and in order to do so in kernel they need to enable the "FPU" in kernel mode which @@ -70,5 +70,5 @@ * Save the FPU state (mark it for reload if necessary): * -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0243-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch linux-5.10.205/debian/patches-rt/0243-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch --- linux-5.10.197/debian/patches-rt/0243-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0243-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 7006c684fb058ad7a0216af82070e4da648c124a Mon Sep 17 00:00:00 2001 +From e0a748983b07205d9f2f52230c897f49a2c84c8d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 14 Jul 2015 14:26:34 +0200 -Subject: [PATCH 243/321] panic: skip get_random_bytes for RT_FULL in +Subject: [PATCH 243/323] panic: skip get_random_bytes for RT_FULL in init_oops_id -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Disable on -RT. If this is invoked from irq-context we will have problems to acquire the sleeping lock. @@ -30,5 +30,5 @@ return 0; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0244-x86-stackprotector-Avoid-random-pool-on-rt.patch linux-5.10.205/debian/patches-rt/0244-x86-stackprotector-Avoid-random-pool-on-rt.patch --- linux-5.10.197/debian/patches-rt/0244-x86-stackprotector-Avoid-random-pool-on-rt.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0244-x86-stackprotector-Avoid-random-pool-on-rt.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From a9d0515f315a29189bf187c1989864a129ed1ea5 Mon Sep 17 00:00:00 2001 +From f7c4220e56be1d8fc2bc339984fb5919ee02cf4f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 16 Dec 2010 14:25:18 +0100 -Subject: [PATCH 244/321] x86: stackprotector: Avoid random pool on rt -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 244/323] x86: stackprotector: Avoid random pool on rt +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz CPU bringup calls into the random pool to initialize the stack canary. During boot that works nicely even on RT as the might sleep @@ -47,5 +47,5 @@ canary += tsc + (tsc << 32UL); canary &= CANARY_MASK; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0245-net-Remove-preemption-disabling-in-netif_rx.patch linux-5.10.205/debian/patches-rt/0245-net-Remove-preemption-disabling-in-netif_rx.patch --- linux-5.10.197/debian/patches-rt/0245-net-Remove-preemption-disabling-in-netif_rx.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0245-net-Remove-preemption-disabling-in-netif_rx.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 37ca67ce3a0962fa963ad0db878f92abaa2f6515 Mon Sep 17 00:00:00 2001 +From ceda0e136831589d22c9bd35844b3fafcc722e7c Mon Sep 17 00:00:00 2001 From: Priyanka Jain Date: Thu, 17 May 2012 09:35:11 +0530 -Subject: [PATCH 245/321] net: Remove preemption disabling in netif_rx() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 245/323] net: Remove preemption disabling in netif_rx() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz 1)enqueue_to_backlog() (called from netif_rx) should be bind to a particluar CPU. This can be achieved by @@ -64,5 +64,5 @@ return ret; } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0246-lockdep-Make-it-RT-aware.patch linux-5.10.205/debian/patches-rt/0246-lockdep-Make-it-RT-aware.patch --- linux-5.10.197/debian/patches-rt/0246-lockdep-Make-it-RT-aware.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0246-lockdep-Make-it-RT-aware.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 18d3fd58cdc5bd1fce9d402ae373507a4a368feb Mon Sep 17 00:00:00 2001 +From 9d9c323e950c13cde64d5ae87dd12e0e3b81abd8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 18:51:23 +0200 -Subject: [PATCH 246/321] lockdep: Make it RT aware -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 246/323] lockdep: Make it RT aware +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz teach lockdep that we don't really do softirqs on -RT. @@ -54,10 +54,10 @@ defined(CONFIG_PREEMPT_TRACER) extern void stop_critical_timings(void); diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c -index 6cbd2b444476..f2f5defaf4e7 100644 +index 7471d85f54ae..4fb9e6301018 100644 --- a/kernel/locking/lockdep.c +++ b/kernel/locking/lockdep.c -@@ -5413,6 +5413,7 @@ static noinstr void check_flags(unsigned long flags) +@@ -5414,6 +5414,7 @@ static noinstr void check_flags(unsigned long flags) } } @@ -65,7 +65,7 @@ /* * We dont accurately track softirq state in e.g. * hardirq contexts (such as on 4KSTACKS), so only -@@ -5427,6 +5428,7 @@ static noinstr void check_flags(unsigned long flags) +@@ -5428,6 +5429,7 @@ static noinstr void check_flags(unsigned long flags) DEBUG_LOCKS_WARN_ON(!current->softirqs_enabled); } } @@ -74,5 +74,5 @@ if (!debug_locks) print_irqtrace_events(current); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0247-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch linux-5.10.205/debian/patches-rt/0247-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch --- linux-5.10.197/debian/patches-rt/0247-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0247-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From d7370594c5126bb5809c952c0c3f793de7fc6653 Mon Sep 17 00:00:00 2001 +From 98d28c479e8b02a795109f6bc0b6aa1da54f6ede Mon Sep 17 00:00:00 2001 From: Yong Zhang Date: Mon, 16 Apr 2012 15:01:56 +0800 -Subject: [PATCH 247/321] lockdep: selftest: Only do hardirq context test for +Subject: [PATCH 247/323] lockdep: selftest: Only do hardirq context test for raw spinlock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz On -rt there is no softirq context any more and rwlock is sleepable, disable softirq context test and rwlock+irq test. @@ -58,5 +58,5 @@ force_read_lock_recursive = 0; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0248-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch linux-5.10.205/debian/patches-rt/0248-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch --- linux-5.10.197/debian/patches-rt/0248-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0248-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 7c213a48364e77a57c3ea633290893817e406b3a Mon Sep 17 00:00:00 2001 +From c10790e859050b8a0a251e2e57b7fffb9ffa75df Mon Sep 17 00:00:00 2001 From: Josh Cartwright Date: Wed, 28 Jan 2015 13:08:45 -0600 -Subject: [PATCH 248/321] lockdep: selftest: fix warnings due to missing +Subject: [PATCH 248/323] lockdep: selftest: fix warnings due to missing PREEMPT_RT conditionals -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz "lockdep: Selftest: Only do hardirq context test for raw spinlock" disabled the execution of certain tests with PREEMPT_RT, but did @@ -145,5 +145,5 @@ * read-lock / write-lock recursion that is unsafe. */ -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0249-lockdep-disable-self-test.patch linux-5.10.205/debian/patches-rt/0249-lockdep-disable-self-test.patch --- linux-5.10.197/debian/patches-rt/0249-lockdep-disable-self-test.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0249-lockdep-disable-self-test.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,11 +1,11 @@ -From aa0bc7771e6110a0d33cfe6b7e47138fd7aa0721 Mon Sep 17 00:00:00 2001 +From da32b1f1c20ebd096acfb511cf3a608169d210c7 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 17 Oct 2017 16:36:18 +0200 -Subject: [PATCH 249/321] lockdep: disable self-test +Subject: [PATCH 249/323] lockdep: disable self-test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The self-test wasn't always 100% accurate for RT. We disabled a few tests which failed because they had a different semantic for RT. Some @@ -18,10 +18,10 @@ 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug -index 19c28a34c5f1..62c77769a955 100644 +index 24ca61cf86dd..70172d5ab82a 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug -@@ -1370,7 +1370,7 @@ config DEBUG_ATOMIC_SLEEP +@@ -1373,7 +1373,7 @@ config DEBUG_ATOMIC_SLEEP config DEBUG_LOCKING_API_SELFTESTS bool "Locking API boot-time self-tests" @@ -31,5 +31,5 @@ Say Y here if you want the kernel to run a short self-test during bootup. The self-test checks whether common types of locking bugs -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0250-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch linux-5.10.205/debian/patches-rt/0250-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch --- linux-5.10.197/debian/patches-rt/0250-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0250-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From f96a2407f816af9bad15356f55434002e9d6c0f7 Mon Sep 17 00:00:00 2001 +From 2c69acb6875156b092516fc81bd2a05b96973c2b Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sat, 27 Feb 2016 08:09:11 +0100 -Subject: [PATCH 250/321] drm,radeon,i915: Use preempt_disable/enable_rt() +Subject: [PATCH 250/323] drm,radeon,i915: Use preempt_disable/enable_rt() where recommended -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz DRM folks identified the spots, so use them. @@ -57,5 +57,5 @@ /* Decode into vertical and horizontal scanout position. */ *vpos = position & 0x1fff; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0251-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch linux-5.10.205/debian/patches-rt/0251-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch --- linux-5.10.197/debian/patches-rt/0251-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0251-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From ac40f19c8205a813dedaaa1e3bc8dddac5799464 Mon Sep 17 00:00:00 2001 +From 940e64f8d4b797c592e6736a1fae0d0ff2087e95 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sat, 27 Feb 2016 09:01:42 +0100 -Subject: [PATCH 251/321] drm/i915: Don't disable interrupts on PREEMPT_RT +Subject: [PATCH 251/323] drm/i915: Don't disable interrupts on PREEMPT_RT during atomic updates -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Commit 8d7849db3eab7 ("drm/i915: Make sprite updates atomic") @@ -76,5 +76,5 @@ if (intel_vgpu_active(dev_priv)) return; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0252-drm-i915-disable-tracing-on-RT.patch linux-5.10.205/debian/patches-rt/0252-drm-i915-disable-tracing-on-RT.patch --- linux-5.10.197/debian/patches-rt/0252-drm-i915-disable-tracing-on-RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0252-drm-i915-disable-tracing-on-RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From ff0a991402d76ae118d3142a9c292fb8b2933a8c Mon Sep 17 00:00:00 2001 +From 0e88cde8cbd40cc7e519bccaf1ba847de2d9bd02 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 6 Dec 2018 09:52:20 +0100 -Subject: [PATCH 252/321] drm/i915: disable tracing on -RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 252/323] drm/i915: disable tracing on -RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Luca Abeni reported this: | BUG: scheduling while atomic: kworker/u8:2/15203/0x00000003 @@ -43,5 +43,5 @@ #include #include -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0253-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch linux-5.10.205/debian/patches-rt/0253-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch --- linux-5.10.197/debian/patches-rt/0253-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0253-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 59fa7d4a2e623413c4f28d94c6f5e68420a97e12 Mon Sep 17 00:00:00 2001 +From 2c550981e43f1612f6999bbc04634e0d6eb16760 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 19 Dec 2018 10:47:02 +0100 -Subject: [PATCH 253/321] drm/i915: skip DRM_I915_LOW_LEVEL_TRACEPOINTS with +Subject: [PATCH 253/323] drm/i915: skip DRM_I915_LOW_LEVEL_TRACEPOINTS with NOTRACE -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The order of the header files is important. If this header file is included after tracepoint.h was included then the NOTRACE here becomes a @@ -29,5 +29,5 @@ TP_PROTO(struct i915_request *rq), TP_ARGS(rq) -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0254-drm-i915-gt-Only-disable-interrupts-for-the-timeline.patch linux-5.10.205/debian/patches-rt/0254-drm-i915-gt-Only-disable-interrupts-for-the-timeline.patch --- linux-5.10.197/debian/patches-rt/0254-drm-i915-gt-Only-disable-interrupts-for-the-timeline.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0254-drm-i915-gt-Only-disable-interrupts-for-the-timeline.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From fd80a706948e1e4f49c3f00e56f04a2b20e34bb3 Mon Sep 17 00:00:00 2001 +From 63884dc87002ed5187007558a7356e7a4f570e75 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 7 Jul 2020 12:25:11 +0200 -Subject: [PATCH 254/321] drm/i915/gt: Only disable interrupts for the timeline +Subject: [PATCH 254/323] drm/i915/gt: Only disable interrupts for the timeline lock on !force-threaded -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz According to commit d67739268cf0e ("drm/i915/gt: Mark up the nested engine-pm timeline lock as irqsafe") @@ -48,5 +48,5 @@ #else -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0255-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch linux-5.10.205/debian/patches-rt/0255-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch --- linux-5.10.197/debian/patches-rt/0255-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0255-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From cb6b31478642aff61fb465dd27d3609d96a711c5 Mon Sep 17 00:00:00 2001 +From ebc27a7d1ceef838efef4feecd2bcb490552f0ec Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sun, 8 Jan 2017 09:32:25 +0100 -Subject: [PATCH 255/321] cpuset: Convert callback_lock to raw_spinlock_t -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 255/323] cpuset: Convert callback_lock to raw_spinlock_t +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The two commits below add up to a cpuset might_sleep() splat for RT: @@ -46,13 +46,16 @@ Cc: stable-rt@vger.kernel.org Signed-off-by: Mike Galbraith Signed-off-by: Sebastian Andrzej Siewior +Signed-off-by: Luis Claudio R. Goncalves --- kernel/cgroup/cpuset.c | 82 +++++++++++++++++++++--------------------- 1 file changed, 41 insertions(+), 41 deletions(-) +diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c +index 195f9cccab20..fd371215b81f 100644 --- a/kernel/cgroup/cpuset.c +++ b/kernel/cgroup/cpuset.c -@@ -368,7 +368,7 @@ +@@ -368,7 +368,7 @@ void cpuset_unlock(void) mutex_unlock(&cpuset_mutex); } @@ -61,7 +64,7 @@ static struct workqueue_struct *cpuset_migrate_mm_wq; -@@ -1316,7 +1316,7 @@ +@@ -1316,7 +1316,7 @@ static int update_parent_subparts_cpumask(struct cpuset *cpuset, int cmd, * Newly added CPUs will be removed from effective_cpus and * newly deleted ones will be added back to effective_cpus. */ @@ -70,7 +73,7 @@ if (adding) { cpumask_or(parent->subparts_cpus, parent->subparts_cpus, tmp->addmask); -@@ -1338,7 +1338,7 @@ +@@ -1338,7 +1338,7 @@ static int update_parent_subparts_cpumask(struct cpuset *cpuset, int cmd, if (cpuset->partition_root_state != new_prs) cpuset->partition_root_state = new_prs; @@ -79,7 +82,7 @@ return cmd == partcmd_update; } -@@ -1441,7 +1441,7 @@ +@@ -1441,7 +1441,7 @@ static void update_cpumasks_hier(struct cpuset *cs, struct tmpmasks *tmp) continue; rcu_read_unlock(); @@ -88,7 +91,7 @@ cpumask_copy(cp->effective_cpus, tmp->new_cpus); if (cp->nr_subparts_cpus && (new_prs != PRS_ENABLED)) { -@@ -1475,7 +1475,7 @@ +@@ -1475,7 +1475,7 @@ static void update_cpumasks_hier(struct cpuset *cs, struct tmpmasks *tmp) if (new_prs != cp->partition_root_state) cp->partition_root_state = new_prs; @@ -97,7 +100,7 @@ WARN_ON(!is_in_v2_mode() && !cpumask_equal(cp->cpus_allowed, cp->effective_cpus)); -@@ -1603,7 +1603,7 @@ +@@ -1603,7 +1603,7 @@ static int update_cpumask(struct cpuset *cs, struct cpuset *trialcs, return -EINVAL; } @@ -106,7 +109,7 @@ cpumask_copy(cs->cpus_allowed, trialcs->cpus_allowed); /* -@@ -1613,7 +1613,7 @@ +@@ -1613,7 +1613,7 @@ static int update_cpumask(struct cpuset *cs, struct cpuset *trialcs, cpumask_and(cs->subparts_cpus, cs->subparts_cpus, cs->cpus_allowed); cs->nr_subparts_cpus = cpumask_weight(cs->subparts_cpus); } @@ -115,7 +118,7 @@ update_cpumasks_hier(cs, &tmp); -@@ -1807,9 +1807,9 @@ +@@ -1807,9 +1807,9 @@ static void update_nodemasks_hier(struct cpuset *cs, nodemask_t *new_mems) continue; rcu_read_unlock(); @@ -127,7 +130,7 @@ WARN_ON(!is_in_v2_mode() && !nodes_equal(cp->mems_allowed, cp->effective_mems)); -@@ -1877,9 +1877,9 @@ +@@ -1877,9 +1877,9 @@ static int update_nodemask(struct cpuset *cs, struct cpuset *trialcs, if (retval < 0) goto done; @@ -139,7 +142,7 @@ /* use trialcs->mems_allowed as a temp variable */ update_nodemasks_hier(cs, &trialcs->mems_allowed); -@@ -1970,9 +1970,9 @@ +@@ -1970,9 +1970,9 @@ static int update_flag(cpuset_flagbits_t bit, struct cpuset *cs, spread_flag_changed = ((is_spread_slab(cs) != is_spread_slab(trialcs)) || (is_spread_page(cs) != is_spread_page(trialcs))); @@ -151,7 +154,7 @@ if (!cpumask_empty(trialcs->cpus_allowed) && balance_flag_changed) rebuild_sched_domains_locked(); -@@ -2058,9 +2058,9 @@ +@@ -2058,9 +2058,9 @@ static int update_prstate(struct cpuset *cs, int new_prs) rebuild_sched_domains_locked(); out: if (!err) { @@ -163,7 +166,7 @@ } free_cpumasks(NULL, &tmpmask); -@@ -2527,7 +2527,7 @@ +@@ -2527,7 +2527,7 @@ static int cpuset_common_seq_show(struct seq_file *sf, void *v) cpuset_filetype_t type = seq_cft(sf)->private; int ret = 0; @@ -172,7 +175,7 @@ switch (type) { case FILE_CPULIST: -@@ -2549,7 +2549,7 @@ +@@ -2549,7 +2549,7 @@ static int cpuset_common_seq_show(struct seq_file *sf, void *v) ret = -EINVAL; } @@ -181,7 +184,7 @@ return ret; } -@@ -2862,14 +2862,14 @@ +@@ -2862,14 +2862,14 @@ static int cpuset_css_online(struct cgroup_subsys_state *css) cpuset_inc(); @@ -198,7 +201,7 @@ if (!test_bit(CGRP_CPUSET_CLONE_CHILDREN, &css->cgroup->flags)) goto out_unlock; -@@ -2896,12 +2896,12 @@ +@@ -2896,12 +2896,12 @@ static int cpuset_css_online(struct cgroup_subsys_state *css) } rcu_read_unlock(); @@ -213,7 +216,7 @@ out_unlock: mutex_unlock(&cpuset_mutex); put_online_cpus(); -@@ -2957,7 +2957,7 @@ +@@ -2957,7 +2957,7 @@ static void cpuset_css_free(struct cgroup_subsys_state *css) static void cpuset_bind(struct cgroup_subsys_state *root_css) { mutex_lock(&cpuset_mutex); @@ -222,7 +225,7 @@ if (is_in_v2_mode()) { cpumask_copy(top_cpuset.cpus_allowed, cpu_possible_mask); -@@ -2968,7 +2968,7 @@ +@@ -2968,7 +2968,7 @@ static void cpuset_bind(struct cgroup_subsys_state *root_css) top_cpuset.mems_allowed = top_cpuset.effective_mems; } @@ -231,7 +234,7 @@ mutex_unlock(&cpuset_mutex); } -@@ -3063,12 +3063,12 @@ +@@ -3063,12 +3063,12 @@ hotplug_update_tasks_legacy(struct cpuset *cs, { bool is_empty; @@ -246,7 +249,7 @@ /* * Don't call update_tasks_cpumask() if the cpuset becomes empty, -@@ -3105,10 +3105,10 @@ +@@ -3105,10 +3105,10 @@ hotplug_update_tasks(struct cpuset *cs, if (nodes_empty(*new_mems)) *new_mems = parent_cs(cs)->effective_mems; @@ -259,7 +262,7 @@ if (cpus_updated) update_tasks_cpumask(cs); -@@ -3175,10 +3175,10 @@ +@@ -3175,10 +3175,10 @@ static void cpuset_hotplug_update_tasks(struct cpuset *cs, struct tmpmasks *tmp) if (is_partition_root(cs) && (cpumask_empty(&new_cpus) || (parent->partition_root_state == PRS_ERROR))) { if (cs->nr_subparts_cpus) { @@ -272,7 +275,7 @@ compute_effective_cpumask(&new_cpus, cs, parent); } -@@ -3192,9 +3192,9 @@ +@@ -3192,9 +3192,9 @@ static void cpuset_hotplug_update_tasks(struct cpuset *cs, struct tmpmasks *tmp) cpumask_empty(&new_cpus)) { update_parent_subparts_cpumask(cs, partcmd_disable, NULL, tmp); @@ -284,7 +287,7 @@ } cpuset_force_rebuild(); } -@@ -3274,7 +3274,7 @@ +@@ -3274,7 +3274,7 @@ static void cpuset_hotplug_workfn(struct work_struct *work) /* synchronize cpus_allowed to cpu_active_mask */ if (cpus_updated) { @@ -293,7 +296,7 @@ if (!on_dfl) cpumask_copy(top_cpuset.cpus_allowed, &new_cpus); /* -@@ -3294,17 +3294,17 @@ +@@ -3294,17 +3294,17 @@ static void cpuset_hotplug_workfn(struct work_struct *work) } } cpumask_copy(top_cpuset.effective_cpus, &new_cpus); @@ -314,7 +317,7 @@ update_tasks_nodemask(&top_cpuset); } -@@ -3408,11 +3408,11 @@ +@@ -3408,11 +3408,11 @@ void cpuset_cpus_allowed(struct task_struct *tsk, struct cpumask *pmask) { unsigned long flags; @@ -328,7 +331,7 @@ } /** -@@ -3473,11 +3473,11 @@ +@@ -3473,11 +3473,11 @@ nodemask_t cpuset_mems_allowed(struct task_struct *tsk) nodemask_t mask; unsigned long flags; @@ -342,7 +345,7 @@ return mask; } -@@ -3569,14 +3569,14 @@ +@@ -3569,14 +3569,14 @@ bool __cpuset_node_allowed(int node, gfp_t gfp_mask) return true; /* Not hardwall and node outside mems_allowed: scan up cpusets */ @@ -359,3 +362,6 @@ return allowed; } +-- +2.43.0 + diff -Nru linux-5.10.197/debian/patches-rt/0256-x86-Allow-to-enable-RT.patch linux-5.10.205/debian/patches-rt/0256-x86-Allow-to-enable-RT.patch --- linux-5.10.197/debian/patches-rt/0256-x86-Allow-to-enable-RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0256-x86-Allow-to-enable-RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 7cea41bf5685afaebb6f5af5048b892b6b371b52 Mon Sep 17 00:00:00 2001 +From 6ab508c3cdd4fa46f17f940bd56007189d4984e6 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 7 Aug 2019 18:15:38 +0200 -Subject: [PATCH 256/321] x86: Allow to enable RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 256/323] x86: Allow to enable RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Allow to select RT. @@ -12,7 +12,7 @@ 1 file changed, 1 insertion(+) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index d5ac2181109b..d8c53d52069a 100644 +index 54e5284a6ae1..c72d66a0e840 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -27,6 +27,7 @@ config X86_64 @@ -24,5 +24,5 @@ select HAVE_ARCH_SOFT_DIRTY select MODULES_USE_ELF_RELA -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0257-mm-scatterlist-Do-not-disable-irqs-on-RT.patch linux-5.10.205/debian/patches-rt/0257-mm-scatterlist-Do-not-disable-irqs-on-RT.patch --- linux-5.10.197/debian/patches-rt/0257-mm-scatterlist-Do-not-disable-irqs-on-RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0257-mm-scatterlist-Do-not-disable-irqs-on-RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From b6075273f7ba54f0058d6955cebaaaa9eea9417c Mon Sep 17 00:00:00 2001 +From 767e9014ec3dbfeee9323cfcc34acac5315c262e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:44:34 -0500 -Subject: [PATCH 257/321] mm/scatterlist: Do not disable irqs on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 257/323] mm/scatterlist: Do not disable irqs on RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz For -RT it is enough to keep pagefault disabled (which is currently handled by kmap_atomic()). @@ -26,5 +26,5 @@ } else kunmap(miter->page); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0258-sched-Add-support-for-lazy-preemption.patch linux-5.10.205/debian/patches-rt/0258-sched-Add-support-for-lazy-preemption.patch --- linux-5.10.197/debian/patches-rt/0258-sched-Add-support-for-lazy-preemption.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0258-sched-Add-support-for-lazy-preemption.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From a9e04a313fa2884acfd1bed634a7ea5f0afc59ef Mon Sep 17 00:00:00 2001 +From e8b4a64bf2eb6ff6330544895c0f69696059ffda Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 26 Oct 2012 18:50:54 +0100 -Subject: [PATCH 258/321] sched: Add support for lazy preemption -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 258/323] sched: Add support for lazy preemption +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz It has become an obsession to mitigate the determinism vs. throughput loss of RT. Looking at the mainline semantics of preemption points @@ -176,10 +176,10 @@ #endif /* CONFIG_SMP */ diff --git a/include/linux/sched.h b/include/linux/sched.h -index 46bc6101b8ee..9d4f29cf3d39 100644 +index bd0c9c633438..665a17e4f69b 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1880,6 +1880,44 @@ static inline int test_tsk_need_resched(struct task_struct *tsk) +@@ -1882,6 +1882,44 @@ static inline int test_tsk_need_resched(struct task_struct *tsk) return unlikely(test_tsk_thread_flag(tsk,TIF_NEED_RESCHED)); } @@ -248,10 +248,10 @@ #ifndef CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES static inline int arch_within_stack_frames(const void * const stack, diff --git a/include/linux/trace_events.h b/include/linux/trace_events.h -index dd1257c3f37b..3b3c9de8247b 100644 +index 2151524a10f0..e7afd9fe35e5 100644 --- a/include/linux/trace_events.h +++ b/include/linux/trace_events.h -@@ -68,6 +68,7 @@ struct trace_entry { +@@ -70,6 +70,7 @@ struct trace_entry { unsigned char preempt_count; int pid; unsigned char migrate_disable; @@ -259,7 +259,7 @@ }; #define TRACE_EVENT_TYPE_MAX \ -@@ -155,9 +156,10 @@ static inline void tracing_generic_entry_update(struct trace_entry *entry, +@@ -159,9 +160,10 @@ static inline void tracing_generic_entry_update(struct trace_entry *entry, { entry->preempt_count = trace_ctx & 0xff; entry->migrate_disable = (trace_ctx >> 8) & 0xff; @@ -271,7 +271,7 @@ } unsigned int tracing_gen_ctx_irq_test(unsigned int irqs_status); -@@ -170,6 +172,7 @@ enum trace_flag_type { +@@ -174,6 +176,7 @@ enum trace_flag_type { TRACE_FLAG_SOFTIRQ = 0x10, TRACE_FLAG_PREEMPT_RESCHED = 0x20, TRACE_FLAG_NMI = 0x40, @@ -296,7 +296,7 @@ prompt "Preemption Model" default PREEMPT_NONE diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 7d7002b4e2d1..93e72bc9390b 100644 +index 8ac1f0526476..c847d17e3b04 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -656,6 +656,48 @@ void resched_curr(struct rq *rq) @@ -433,7 +433,7 @@ do { /* * Because the function tracer can trace preempt_count_sub() -@@ -7167,7 +7243,9 @@ void __init init_idle(struct task_struct *idle, int cpu) +@@ -7175,7 +7251,9 @@ void __init init_idle(struct task_struct *idle, int cpu) /* Set the preempt count _outside_ the spinlocks! */ init_idle_preempt_count(idle, cpu); @@ -445,10 +445,10 @@ * The idle tasks have their own, simple scheduling class: */ diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c -index 45c1d03aff73..d3df6ea5d521 100644 +index 73a89fbd81be..f4928e5b6611 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c -@@ -4586,7 +4586,7 @@ check_preempt_tick(struct cfs_rq *cfs_rq, struct sched_entity *curr) +@@ -4570,7 +4570,7 @@ check_preempt_tick(struct cfs_rq *cfs_rq, struct sched_entity *curr) ideal_runtime = sched_slice(cfs_rq, curr); delta_exec = curr->sum_exec_runtime - curr->prev_sum_exec_runtime; if (delta_exec > ideal_runtime) { @@ -457,7 +457,7 @@ /* * The current task ran long enough, ensure it doesn't get * re-elected due to buddy favours. -@@ -4610,7 +4610,7 @@ check_preempt_tick(struct cfs_rq *cfs_rq, struct sched_entity *curr) +@@ -4594,7 +4594,7 @@ check_preempt_tick(struct cfs_rq *cfs_rq, struct sched_entity *curr) return; if (delta > ideal_runtime) @@ -466,7 +466,7 @@ } static void -@@ -4753,7 +4753,7 @@ entity_tick(struct cfs_rq *cfs_rq, struct sched_entity *curr, int queued) +@@ -4737,7 +4737,7 @@ entity_tick(struct cfs_rq *cfs_rq, struct sched_entity *curr, int queued) * validating it and just reschedule. */ if (queued) { @@ -475,7 +475,7 @@ return; } /* -@@ -4890,7 +4890,7 @@ static void __account_cfs_rq_runtime(struct cfs_rq *cfs_rq, u64 delta_exec) +@@ -4874,7 +4874,7 @@ static void __account_cfs_rq_runtime(struct cfs_rq *cfs_rq, u64 delta_exec) * hierarchy can be throttled */ if (!assign_cfs_rq_runtime(cfs_rq) && likely(cfs_rq->curr)) @@ -484,7 +484,7 @@ } static __always_inline -@@ -5625,7 +5625,7 @@ static void hrtick_start_fair(struct rq *rq, struct task_struct *p) +@@ -5609,7 +5609,7 @@ static void hrtick_start_fair(struct rq *rq, struct task_struct *p) if (delta < 0) { if (rq->curr == p) @@ -493,7 +493,7 @@ return; } hrtick_start(rq, delta); -@@ -7234,7 +7234,7 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int wake_ +@@ -7218,7 +7218,7 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int wake_ return; preempt: @@ -502,7 +502,7 @@ /* * Only set the backward buddy when the current task is still * on the rq. This can happen when a wakeup gets interleaved -@@ -11075,7 +11075,7 @@ static void task_fork_fair(struct task_struct *p) +@@ -11059,7 +11059,7 @@ static void task_fork_fair(struct task_struct *p) * 'current' within the tree based on its new key value. */ swap(curr->vruntime, se->vruntime); @@ -511,7 +511,7 @@ } se->vruntime -= cfs_rq->min_vruntime; -@@ -11102,7 +11102,7 @@ prio_changed_fair(struct rq *rq, struct task_struct *p, int oldprio) +@@ -11086,7 +11086,7 @@ prio_changed_fair(struct rq *rq, struct task_struct *p, int oldprio) */ if (rq->curr == p) { if (p->prio > oldprio) @@ -535,7 +535,7 @@ /* diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h -index 66b311e63cac..f87289aa1392 100644 +index d4bfc51358d3..ad854a670701 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -1997,6 +1997,15 @@ extern void reweight_task(struct task_struct *p, int prio); @@ -555,10 +555,10 @@ extern void init_rt_bandwidth(struct rt_bandwidth *rt_b, u64 period, u64 runtime); diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index 735e44357b0f..3b829ab478e8 100644 +index 02dffb1862b8..7caae85af03d 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c -@@ -2643,8 +2643,16 @@ unsigned int tracing_gen_ctx_irq_test(unsigned int irqs_status) +@@ -2602,8 +2602,16 @@ unsigned int tracing_gen_ctx_irq_test(unsigned int irqs_status) trace_flags |= TRACE_FLAG_NEED_RESCHED; if (test_preempt_need_resched()) trace_flags |= TRACE_FLAG_PREEMPT_RESCHED; @@ -577,7 +577,7 @@ } struct ring_buffer_event * -@@ -3840,15 +3848,17 @@ unsigned long trace_total_entries(struct trace_array *tr) +@@ -3861,15 +3869,17 @@ unsigned long trace_total_entries(struct trace_array *tr) static void print_lat_help_header(struct seq_file *m) { @@ -604,7 +604,7 @@ } static void print_event_info(struct array_buffer *buf, struct seq_file *m) -@@ -3882,14 +3892,16 @@ static void print_func_help_header_irq(struct array_buffer *buf, struct seq_file +@@ -3903,14 +3913,16 @@ static void print_func_help_header_irq(struct array_buffer *buf, struct seq_file print_event_info(buf, m); @@ -630,7 +630,7 @@ void diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c -index 4997637b8305..76ce29d34de3 100644 +index 636fb7df3714..245b8289ecdf 100644 --- a/kernel/trace/trace_events.c +++ b/kernel/trace/trace_events.c @@ -185,6 +185,7 @@ static int trace_define_common_fields(void) @@ -642,10 +642,10 @@ return ret; } diff --git a/kernel/trace/trace_output.c b/kernel/trace/trace_output.c -index 34150ba5b1ef..7a5850902144 100644 +index b3619b21217c..5a71964ade3a 100644 --- a/kernel/trace/trace_output.c +++ b/kernel/trace/trace_output.c -@@ -441,6 +441,7 @@ int trace_print_lat_fmt(struct trace_seq *s, struct trace_entry *entry) +@@ -451,6 +451,7 @@ int trace_print_lat_fmt(struct trace_seq *s, struct trace_entry *entry) { char hardsoft_irq; char need_resched; @@ -653,7 +653,7 @@ char irqs_off; int hardirq; int softirq; -@@ -471,6 +472,9 @@ int trace_print_lat_fmt(struct trace_seq *s, struct trace_entry *entry) +@@ -481,6 +482,9 @@ int trace_print_lat_fmt(struct trace_seq *s, struct trace_entry *entry) break; } @@ -663,7 +663,7 @@ hardsoft_irq = (nmi && hardirq) ? 'Z' : nmi ? 'z' : -@@ -479,14 +483,20 @@ int trace_print_lat_fmt(struct trace_seq *s, struct trace_entry *entry) +@@ -489,14 +493,20 @@ int trace_print_lat_fmt(struct trace_seq *s, struct trace_entry *entry) softirq ? 's' : '.' ; @@ -687,5 +687,5 @@ trace_seq_printf(s, "%x", entry->migrate_disable); else -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0259-x86-entry-Use-should_resched-in-idtentry_exit_cond_r.patch linux-5.10.205/debian/patches-rt/0259-x86-entry-Use-should_resched-in-idtentry_exit_cond_r.patch --- linux-5.10.197/debian/patches-rt/0259-x86-entry-Use-should_resched-in-idtentry_exit_cond_r.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0259-x86-entry-Use-should_resched-in-idtentry_exit_cond_r.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From b216a16be1e331acb69f515d41df3d5dc3cc0b29 Mon Sep 17 00:00:00 2001 +From 367fe43dc09205ecc5fcdca95276fc481e7ccd9f Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 30 Jun 2020 11:45:14 +0200 -Subject: [PATCH 259/321] x86/entry: Use should_resched() in +Subject: [PATCH 259/323] x86/entry: Use should_resched() in idtentry_exit_cond_resched() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The TIF_NEED_RESCHED bit is inlined on x86 into the preemption counter. By using should_resched(0) instead of need_resched() the same check can @@ -31,5 +31,5 @@ } } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0260-x86-Support-for-lazy-preemption.patch linux-5.10.205/debian/patches-rt/0260-x86-Support-for-lazy-preemption.patch --- linux-5.10.197/debian/patches-rt/0260-x86-Support-for-lazy-preemption.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0260-x86-Support-for-lazy-preemption.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From a3456d984672bcc07e9fdc05d6a1de3e64cb1c87 Mon Sep 17 00:00:00 2001 +From 3e75dc5bbc430b2a1db27fe101ed508b067af7b0 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 1 Nov 2012 11:03:47 +0100 -Subject: [PATCH 260/321] x86: Support for lazy preemption -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 260/323] x86: Support for lazy preemption +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Implement the x86 pieces for lazy preempt. @@ -17,10 +17,10 @@ 5 files changed, 48 insertions(+), 5 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index d8c53d52069a..889934e5a8ac 100644 +index c72d66a0e840..b9f68b01a8c8 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -212,6 +212,7 @@ config X86 +@@ -213,6 +213,7 @@ config X86 select HAVE_PCI select HAVE_PERF_REGS select HAVE_PERF_USER_STACK_DUMP @@ -167,5 +167,5 @@ #ifdef ARCH_RT_DELAYS_SIGNAL_SEND -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0261-arm-Add-support-for-lazy-preemption.patch linux-5.10.205/debian/patches-rt/0261-arm-Add-support-for-lazy-preemption.patch --- linux-5.10.197/debian/patches-rt/0261-arm-Add-support-for-lazy-preemption.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0261-arm-Add-support-for-lazy-preemption.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 94ce672bb945beff4a8ccebde2adcaeed3f8ca91 Mon Sep 17 00:00:00 2001 +From 125d4e163b1aa93781f9cf4673f729053af2bc53 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 31 Oct 2012 12:04:11 +0100 -Subject: [PATCH 261/321] arm: Add support for lazy preemption -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 261/323] arm: Add support for lazy preemption +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Implement the arm pieces for lazy preempt. @@ -18,10 +18,10 @@ 6 files changed, 25 insertions(+), 5 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index f1c8571ac23b..040ca2df4218 100644 +index c01251683018..ee2cbe8ad502 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -106,6 +106,7 @@ config ARM +@@ -107,6 +107,7 @@ config ARM select HAVE_PERF_EVENTS select HAVE_PERF_REGS select HAVE_PERF_USER_STACK_DUMP @@ -149,5 +149,5 @@ } else { if (unlikely(!user_mode(regs))) -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0262-powerpc-Add-support-for-lazy-preemption.patch linux-5.10.205/debian/patches-rt/0262-powerpc-Add-support-for-lazy-preemption.patch --- linux-5.10.197/debian/patches-rt/0262-powerpc-Add-support-for-lazy-preemption.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0262-powerpc-Add-support-for-lazy-preemption.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 7c62140a5d6d76ad3ef78ea28d102a992533540b Mon Sep 17 00:00:00 2001 +From 8e5e88a7528b5f0b0f2b9835deaf8b6db693500f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 1 Nov 2012 10:14:11 +0100 -Subject: [PATCH 262/321] powerpc: Add support for lazy preemption -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 262/323] powerpc: Add support for lazy preemption +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Implement the powerpc pieces for lazy preempt. @@ -263,5 +263,5 @@ } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0263-arch-arm64-Add-lazy-preempt-support.patch linux-5.10.205/debian/patches-rt/0263-arch-arm64-Add-lazy-preempt-support.patch --- linux-5.10.197/debian/patches-rt/0263-arch-arm64-Add-lazy-preempt-support.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0263-arch-arm64-Add-lazy-preempt-support.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From a8fe2b608024aae6c8d3b012159e049c6e5c687f Mon Sep 17 00:00:00 2001 +From 7499fc472caecd0270f69d5857ca8a53cc6dad83 Mon Sep 17 00:00:00 2001 From: Anders Roxell Date: Thu, 14 May 2015 17:52:17 +0200 -Subject: [PATCH 263/321] arch/arm64: Add lazy preempt support -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 263/323] arch/arm64: Add lazy preempt support +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz arm64 is missing support for PREEMPT_RT. The main feature which is lacking is support for lazy preemption. The arch-specific entry code, @@ -23,7 +23,7 @@ 6 files changed, 43 insertions(+), 5 deletions(-) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index 34bd4cba81e6..a0a00212a35f 100644 +index 13cf137da999..7681d7b65c7d 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -173,6 +173,7 @@ config ARM64 @@ -126,7 +126,7 @@ #ifdef CONFIG_ARM64_SW_TTBR0_PAN DEFINE(TSK_TI_TTBR0, offsetof(struct task_struct, thread_info.ttbr0)); diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S -index 55e477f73158..54788df3ef7a 100644 +index a94acea770c7..0bfa079043f8 100644 --- a/arch/arm64/kernel/entry.S +++ b/arch/arm64/kernel/entry.S @@ -523,9 +523,18 @@ alternative_if ARM64_HAS_IRQ_PRIO_MASKING @@ -164,5 +164,5 @@ local_daif_restore(DAIF_PROCCTX_NOIRQ); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0264-jump-label-disable-if-stop_machine-is-used.patch linux-5.10.205/debian/patches-rt/0264-jump-label-disable-if-stop_machine-is-used.patch --- linux-5.10.197/debian/patches-rt/0264-jump-label-disable-if-stop_machine-is-used.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0264-jump-label-disable-if-stop_machine-is-used.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 5cea56c368c5fbc48712cc73ccc9cc9c1df0d793 Mon Sep 17 00:00:00 2001 +From 915e18f01ac0c97a6dc374b940a96a105bf57c62 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 8 Jul 2015 17:14:48 +0200 -Subject: [PATCH 264/321] jump-label: disable if stop_machine() is used -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 264/323] jump-label: disable if stop_machine() is used +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Some architectures are using stop_machine() while switching the opcode which leads to latency spikes. @@ -25,10 +25,10 @@ 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index 040ca2df4218..811db3bbb1ba 100644 +index ee2cbe8ad502..73c55cb2f296 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -66,7 +66,7 @@ config ARM +@@ -67,7 +67,7 @@ config ARM select HARDIRQS_SW_RESEND select HAVE_ARCH_AUDITSYSCALL if AEABI && !OABI_COMPAT select HAVE_ARCH_BITREVERSE if (CPU_32v7M || CPU_32v7) && !CPU_32v6 @@ -38,5 +38,5 @@ select HAVE_ARCH_MMAP_RND_BITS if MMU select HAVE_ARCH_SECCOMP -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0265-leds-trigger-disable-CPU-trigger-on-RT.patch linux-5.10.205/debian/patches-rt/0265-leds-trigger-disable-CPU-trigger-on-RT.patch --- linux-5.10.197/debian/patches-rt/0265-leds-trigger-disable-CPU-trigger-on-RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0265-leds-trigger-disable-CPU-trigger-on-RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 32cb2198f9aee40da75400291066c2b20bb967c9 Mon Sep 17 00:00:00 2001 +From 524ea188033506aaa1b70534af78b30fe718ae98 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 23 Jan 2014 14:45:59 +0100 -Subject: [PATCH 265/321] leds: trigger: disable CPU trigger on -RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 265/323] leds: trigger: disable CPU trigger on -RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz as it triggers: |CPU: 0 PID: 0 Comm: swapper Not tainted 3.12.8-rt10 #141 @@ -36,5 +36,5 @@ This allows LEDs to be controlled by active CPUs. This shows the active CPUs across an array of LEDs so you can see which -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0266-tty-serial-omap-Make-the-locking-RT-aware.patch linux-5.10.205/debian/patches-rt/0266-tty-serial-omap-Make-the-locking-RT-aware.patch --- linux-5.10.197/debian/patches-rt/0266-tty-serial-omap-Make-the-locking-RT-aware.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0266-tty-serial-omap-Make-the-locking-RT-aware.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 045a6e99e51cacd8d64ec62538f45ce62b2efaf2 Mon Sep 17 00:00:00 2001 +From c436953e83166f6588469c76032a7038a50cc585 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 28 Jul 2011 13:32:57 +0200 -Subject: [PATCH 266/321] tty/serial/omap: Make the locking RT aware -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 266/323] tty/serial/omap: Make the locking RT aware +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The lock is a sleeping lock and local_irq_save() is not the optimsation we are looking for. Redo it to make it work on -RT and @@ -45,5 +45,5 @@ static int __init -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0267-tty-serial-pl011-Make-the-locking-work-on-RT.patch linux-5.10.205/debian/patches-rt/0267-tty-serial-pl011-Make-the-locking-work-on-RT.patch --- linux-5.10.197/debian/patches-rt/0267-tty-serial-pl011-Make-the-locking-work-on-RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0267-tty-serial-pl011-Make-the-locking-work-on-RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From e2af0f0e00858b5e23bab52c4d28a2e371d48ba7 Mon Sep 17 00:00:00 2001 +From 822739997ff16caa50f619a00344655f21d65a4b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 8 Jan 2013 21:36:51 +0100 -Subject: [PATCH 267/321] tty/serial/pl011: Make the locking work on RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 267/323] tty/serial/pl011: Make the locking work on RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The lock is a sleeping lock and local_irq_save() is not the optimsation we are looking for. Redo it to make it work on -RT and non-RT. @@ -13,10 +13,10 @@ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index 348d4b2a391a..4a462f104aab 100644 +index d4a93a94b4ca..275c625e3eb9 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c -@@ -2211,18 +2211,24 @@ pl011_console_write(struct console *co, const char *s, unsigned int count) +@@ -2207,18 +2207,24 @@ pl011_console_write(struct console *co, const char *s, unsigned int count) { struct uart_amba_port *uap = amba_ports[co->index]; unsigned int old_cr = 0, new_cr; @@ -45,7 +45,7 @@ /* * First save the CR then disable the interrupts -@@ -2248,8 +2254,7 @@ pl011_console_write(struct console *co, const char *s, unsigned int count) +@@ -2244,8 +2250,7 @@ pl011_console_write(struct console *co, const char *s, unsigned int count) pl011_write(old_cr, uap, REG_CR); if (locked) @@ -56,5 +56,5 @@ clk_disable(uap->clk); } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0268-ARM-enable-irq-in-translation-section-permission-fau.patch linux-5.10.205/debian/patches-rt/0268-ARM-enable-irq-in-translation-section-permission-fau.patch --- linux-5.10.197/debian/patches-rt/0268-ARM-enable-irq-in-translation-section-permission-fau.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0268-ARM-enable-irq-in-translation-section-permission-fau.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,12 +1,12 @@ -From c520b8ade5b20eb972db852e594005942ea90e12 Mon Sep 17 00:00:00 2001 +From 0a5ad9dd4773a61fe0f0d6928ef603081390df21 Mon Sep 17 00:00:00 2001 From: "Yadi.hu" Date: Wed, 10 Dec 2014 10:32:09 +0800 -Subject: [PATCH 268/321] ARM: enable irq in translation/section permission +Subject: [PATCH 268/323] ARM: enable irq in translation/section permission fault handlers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Probably happens on all ARM, with CONFIG_PREEMPT_RT @@ -91,5 +91,5 @@ return 0; } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0269-genirq-update-irq_set_irqchip_state-documentation.patch linux-5.10.205/debian/patches-rt/0269-genirq-update-irq_set_irqchip_state-documentation.patch --- linux-5.10.197/debian/patches-rt/0269-genirq-update-irq_set_irqchip_state-documentation.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0269-genirq-update-irq_set_irqchip_state-documentation.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From d352238c12cce1b03329473b9ff7748e49ce333e Mon Sep 17 00:00:00 2001 +From 0eeda295a1e21ff716f482a4115822e9789e305f Mon Sep 17 00:00:00 2001 From: Josh Cartwright Date: Thu, 11 Feb 2016 11:54:00 -0600 -Subject: [PATCH 269/321] genirq: update irq_set_irqchip_state documentation -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 269/323] genirq: update irq_set_irqchip_state documentation +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz On -rt kernels, the use of migrate_disable()/migrate_enable() is sufficient to guarantee a task isn't moved to another CPU. Update the @@ -28,5 +28,5 @@ */ int irq_set_irqchip_state(unsigned int irq, enum irqchip_irq_state which, -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0270-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch linux-5.10.205/debian/patches-rt/0270-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch --- linux-5.10.197/debian/patches-rt/0270-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0270-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From a6725336aa06dbcb48dd117f18efe35140bed7b4 Mon Sep 17 00:00:00 2001 +From bbb0b6e29c89355e0fb77bef3b06badef0ccc946 Mon Sep 17 00:00:00 2001 From: Josh Cartwright Date: Thu, 11 Feb 2016 11:54:01 -0600 -Subject: [PATCH 270/321] KVM: arm/arm64: downgrade preempt_disable()d region +Subject: [PATCH 270/323] KVM: arm/arm64: downgrade preempt_disable()d region to migrate_disable() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz kvm_arch_vcpu_ioctl_run() disables the use of preemption when updating the vgic and timer states to prevent the calling task from migrating to @@ -55,5 +55,5 @@ /* * The ARMv8 architecture doesn't give the hypervisor -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0271-arm64-fpsimd-Delay-freeing-memory-in-fpsimd_flush_th.patch linux-5.10.205/debian/patches-rt/0271-arm64-fpsimd-Delay-freeing-memory-in-fpsimd_flush_th.patch --- linux-5.10.197/debian/patches-rt/0271-arm64-fpsimd-Delay-freeing-memory-in-fpsimd_flush_th.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0271-arm64-fpsimd-Delay-freeing-memory-in-fpsimd_flush_th.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 472b5230367a0bd10d278d49d264dfaad0fa6235 Mon Sep 17 00:00:00 2001 +From d0fe894184b649a8d383fa8d2db7ae3233b04428 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 25 Jul 2018 14:02:38 +0200 -Subject: [PATCH 271/321] arm64: fpsimd: Delay freeing memory in +Subject: [PATCH 271/323] arm64: fpsimd: Delay freeing memory in fpsimd_flush_thread() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz fpsimd_flush_thread() invokes kfree() via sve_free() within a preempt disabled section which is not working on -RT. @@ -62,5 +62,5 @@ /* -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0272-x86-Enable-RT-also-on-32bit.patch linux-5.10.205/debian/patches-rt/0272-x86-Enable-RT-also-on-32bit.patch --- linux-5.10.197/debian/patches-rt/0272-x86-Enable-RT-also-on-32bit.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0272-x86-Enable-RT-also-on-32bit.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From c3e2dca86a6ae52517e17c598f8acac70045efb0 Mon Sep 17 00:00:00 2001 +From b4def70f635385c0a02c2261e1915671363eeccd Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 7 Nov 2019 17:49:20 +0100 -Subject: [PATCH 272/321] x86: Enable RT also on 32bit -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 272/323] x86: Enable RT also on 32bit +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Signed-off-by: Sebastian Andrzej Siewior --- @@ -10,7 +10,7 @@ 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 889934e5a8ac..0b687c9aa6dc 100644 +index b9f68b01a8c8..ca79a831f611 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -27,7 +27,6 @@ config X86_64 @@ -21,7 +21,7 @@ select ARCH_USE_CMPXCHG_LOCKREF select HAVE_ARCH_SOFT_DIRTY select MODULES_USE_ELF_RELA -@@ -95,6 +94,7 @@ config X86 +@@ -96,6 +95,7 @@ config X86 select ARCH_SUPPORTS_ACPI select ARCH_SUPPORTS_ATOMIC_RMW select ARCH_SUPPORTS_NUMA_BALANCING if X86_64 @@ -30,5 +30,5 @@ select ARCH_USE_QUEUED_RWLOCKS select ARCH_USE_QUEUED_SPINLOCKS -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0273-ARM-Allow-to-enable-RT.patch linux-5.10.205/debian/patches-rt/0273-ARM-Allow-to-enable-RT.patch --- linux-5.10.197/debian/patches-rt/0273-ARM-Allow-to-enable-RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0273-ARM-Allow-to-enable-RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 3de3de6f0d8a2ed9825d1ca47c8d4864c11ddd94 Mon Sep 17 00:00:00 2001 +From 98a5d5b92ddcd0df7aa708accc20a07b6008d86a Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 11 Oct 2019 13:14:29 +0200 -Subject: [PATCH 273/321] ARM: Allow to enable RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 273/323] ARM: Allow to enable RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Allow to select RT. @@ -12,10 +12,10 @@ 1 file changed, 2 insertions(+) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index 811db3bbb1ba..a2807218113d 100644 +index 73c55cb2f296..adf9347724ed 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -31,6 +31,7 @@ config ARM +@@ -32,6 +32,7 @@ config ARM select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT if CPU_V7 select ARCH_SUPPORTS_ATOMIC_RMW @@ -23,7 +23,7 @@ select ARCH_USE_BUILTIN_BSWAP select ARCH_USE_CMPXCHG_LOCKREF select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU -@@ -122,6 +123,7 @@ config ARM +@@ -123,6 +124,7 @@ config ARM select OLD_SIGSUSPEND3 select PCI_SYSCALL if PCI select PERF_USE_VMALLOC @@ -32,5 +32,5 @@ select SET_FS select SYS_SUPPORTS_APM_EMULATION -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0274-ARM64-Allow-to-enable-RT.patch linux-5.10.205/debian/patches-rt/0274-ARM64-Allow-to-enable-RT.patch --- linux-5.10.197/debian/patches-rt/0274-ARM64-Allow-to-enable-RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0274-ARM64-Allow-to-enable-RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 652f2057f0586ba60b80f7fbcd88942b87cdaf68 Mon Sep 17 00:00:00 2001 +From 27aef9eb166603124a97edf3a14035b406f36096 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 11 Oct 2019 13:14:35 +0200 -Subject: [PATCH 274/321] ARM64: Allow to enable RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 274/323] ARM64: Allow to enable RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Allow to select RT. @@ -12,7 +12,7 @@ 1 file changed, 2 insertions(+) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index a0a00212a35f..507e348f72eb 100644 +index 7681d7b65c7d..ab8b86b23190 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -76,6 +76,7 @@ config ARM64 @@ -32,5 +32,5 @@ select POWER_SUPPLY select SET_FS -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0275-powerpc-traps-Use-PREEMPT_RT.patch linux-5.10.205/debian/patches-rt/0275-powerpc-traps-Use-PREEMPT_RT.patch --- linux-5.10.197/debian/patches-rt/0275-powerpc-traps-Use-PREEMPT_RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0275-powerpc-traps-Use-PREEMPT_RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 54554c1cfbffb9802335e430b4b982c64ac5bebb Mon Sep 17 00:00:00 2001 +From 25b6e91e812b8fe81cda3732be60b3d8402fee43 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 26 Jul 2019 11:30:49 +0200 -Subject: [PATCH 275/321] powerpc: traps: Use PREEMPT_RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 275/323] powerpc: traps: Use PREEMPT_RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Add PREEMPT_RT to the backtrace if enabled. @@ -35,5 +35,5 @@ IS_ENABLED(CONFIG_SMP) ? (" NR_CPUS=" __stringify(NR_CPUS)) : "", debug_pagealloc_enabled() ? " DEBUG_PAGEALLOC" : "", -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0276-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch linux-5.10.205/debian/patches-rt/0276-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch --- linux-5.10.197/debian/patches-rt/0276-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0276-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 2535f7e9748b5f4e410031815b755b696e206608 Mon Sep 17 00:00:00 2001 +From afebcd1022d509a6887f066b6601caf561ee1ee5 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 26 Mar 2019 18:31:54 +0100 -Subject: [PATCH 276/321] powerpc/pseries/iommu: Use a locallock instead +Subject: [PATCH 276/323] powerpc/pseries/iommu: Use a locallock instead local_irq_save() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The locallock protects the per-CPU variable tce_page. The function attempts to allocate memory while tce_page is protected (by disabling @@ -113,5 +113,5 @@ } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0277-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch linux-5.10.205/debian/patches-rt/0277-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch --- linux-5.10.197/debian/patches-rt/0277-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0277-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From c43afefd72d2e9ab9f4bdf223e3feafeba1e324a Mon Sep 17 00:00:00 2001 +From f6ff6354df6d4609ce786969f2fd16afeaf88fba Mon Sep 17 00:00:00 2001 From: Bogdan Purcareata Date: Fri, 24 Apr 2015 15:53:13 +0000 -Subject: [PATCH 277/321] powerpc/kvm: Disable in-kernel MPIC emulation for +Subject: [PATCH 277/323] powerpc/kvm: Disable in-kernel MPIC emulation for PREEMPT_RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz While converting the openpic emulation code to use a raw_spinlock_t enables guests to run on RT, there's still a performance issue. For interrupts sent in @@ -41,5 +41,5 @@ select HAVE_KVM_IRQFD select HAVE_KVM_IRQ_ROUTING -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0278-powerpc-stackprotector-work-around-stack-guard-init-.patch linux-5.10.205/debian/patches-rt/0278-powerpc-stackprotector-work-around-stack-guard-init-.patch --- linux-5.10.197/debian/patches-rt/0278-powerpc-stackprotector-work-around-stack-guard-init-.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0278-powerpc-stackprotector-work-around-stack-guard-init-.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From c719f50a8a8c3e381980e8dc2504bdd64247a7ff Mon Sep 17 00:00:00 2001 +From fdb2b0b4898a26e8910152ed1ab6fa6748d1b839 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 26 Mar 2019 18:31:29 +0100 -Subject: [PATCH 278/321] powerpc/stackprotector: work around stack-guard init +Subject: [PATCH 278/323] powerpc/stackprotector: work around stack-guard init from atomic -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz This is invoked from the secondary CPU in atomic context. On x86 we use tsc instead. On Power we XOR it against mftb() so lets use stack address @@ -32,5 +32,5 @@ canary ^= LINUX_VERSION_CODE; canary &= CANARY_MASK; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0279-powerpc-Avoid-recursive-header-includes.patch linux-5.10.205/debian/patches-rt/0279-powerpc-Avoid-recursive-header-includes.patch --- linux-5.10.197/debian/patches-rt/0279-powerpc-Avoid-recursive-header-includes.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0279-powerpc-Avoid-recursive-header-includes.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 4af2607f94057cba7a4ec5e30c8634c8d7687ccc Mon Sep 17 00:00:00 2001 +From 725e44480dc7376b55d990292c119883ddc51288 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 8 Jan 2021 19:48:21 +0100 -Subject: [PATCH 279/321] powerpc: Avoid recursive header includes -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 279/323] powerpc: Avoid recursive header includes +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz - The include of bug.h leads to an include of printk.h which gets back to spinlock.h and complains then about missing xchg(). @@ -44,5 +44,5 @@ #endif -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0280-POWERPC-Allow-to-enable-RT.patch linux-5.10.205/debian/patches-rt/0280-POWERPC-Allow-to-enable-RT.patch --- linux-5.10.197/debian/patches-rt/0280-POWERPC-Allow-to-enable-RT.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0280-POWERPC-Allow-to-enable-RT.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 810af5649e6d0dc3e3df36b8d9d536c927897fad Mon Sep 17 00:00:00 2001 +From 934b061dd0089023163d44f7670bc3b0a4ebb7b1 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 11 Oct 2019 13:14:41 +0200 -Subject: [PATCH 280/321] POWERPC: Allow to enable RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 280/323] POWERPC: Allow to enable RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Allow to select RT. @@ -32,5 +32,5 @@ select IOMMU_HELPER if PPC64 select IRQ_DOMAIN -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0281-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch linux-5.10.205/debian/patches-rt/0281-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch --- linux-5.10.197/debian/patches-rt/0281-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0281-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 2917ebf6a8c83c681f41a97062df653e1a9d91d9 Mon Sep 17 00:00:00 2001 +From b7d25d7dc9f6a1923426c6e235061e825434e4fd Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Thu, 31 Mar 2016 04:08:28 +0200 -Subject: [PATCH 281/321] drivers/block/zram: Replace bit spinlocks with +Subject: [PATCH 281/323] drivers/block/zram: Replace bit spinlocks with rtmutex for -rt -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz They're nondeterministic, and lead to ___might_sleep() splats in -rt. OTOH, they're a lot less wasteful than an rtmutex per page. @@ -89,5 +89,5 @@ ktime_t ac_time; #endif -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0282-tpm_tis-fix-stall-after-iowrite-s.patch linux-5.10.205/debian/patches-rt/0282-tpm_tis-fix-stall-after-iowrite-s.patch --- linux-5.10.197/debian/patches-rt/0282-tpm_tis-fix-stall-after-iowrite-s.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0282-tpm_tis-fix-stall-after-iowrite-s.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From a9b7ef5c0541fe8c0e8af813c589cb52ce2bfcff Mon Sep 17 00:00:00 2001 +From ae8783c450876b505b7c6066ccda3b68e8d08c58 Mon Sep 17 00:00:00 2001 From: Haris Okanovic Date: Tue, 15 Aug 2017 15:13:08 -0500 -Subject: [PATCH 282/321] tpm_tis: fix stall after iowrite*()s -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 282/323] tpm_tis: fix stall after iowrite*()s +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz ioread8() operations to TPM MMIO addresses can stall the cpu when immediately following a sequence of iowrite*()'s to the same region. @@ -80,5 +80,5 @@ return 0; } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0283-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch linux-5.10.205/debian/patches-rt/0283-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch --- linux-5.10.197/debian/patches-rt/0283-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0283-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 3264f42194580d8ac47cbec5d026bba1b34acd48 Mon Sep 17 00:00:00 2001 +From 1f9d07b4cf227f0cf0800f96c10f9ef143b5d663 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:44:56 -0500 -Subject: [PATCH 283/321] signals: Allow rt tasks to cache one sigqueue struct -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 283/323] signals: Allow rt tasks to cache one sigqueue struct +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz To avoid allocation allow rt tasks to cache one sigqueue struct in task struct. @@ -17,7 +17,7 @@ 5 files changed, 69 insertions(+), 5 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 9d4f29cf3d39..c9a8fe41936b 100644 +index 665a17e4f69b..a73528e8235d 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -992,6 +992,7 @@ struct task_struct { @@ -54,10 +54,10 @@ spin_unlock(&sighand->siglock); diff --git a/kernel/fork.c b/kernel/fork.c -index 1a83ec242ee9..f6de1a10199e 100644 +index 2a11bf5f9e30..dfefb6e7e082 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -2038,6 +2038,7 @@ static __latent_entropy struct task_struct *copy_process( +@@ -2046,6 +2046,7 @@ static __latent_entropy struct task_struct *copy_process( spin_lock_init(&p->alloc_lock); init_sigpending(&p->pending); @@ -208,5 +208,5 @@ if (q) q->flags |= SIGQUEUE_PREALLOC; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0284-signal-Prevent-double-free-of-user-struct.patch linux-5.10.205/debian/patches-rt/0284-signal-Prevent-double-free-of-user-struct.patch --- linux-5.10.197/debian/patches-rt/0284-signal-Prevent-double-free-of-user-struct.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0284-signal-Prevent-double-free-of-user-struct.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 93fb4b33264b15824e46fbe422c9f6e5a2b4bbee Mon Sep 17 00:00:00 2001 +From 9a8853e64ab5f1c44db176464996da3ba86d2a8e Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Tue, 7 Apr 2020 10:54:13 +0100 -Subject: [PATCH 284/321] signal: Prevent double-free of user struct -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 284/323] signal: Prevent double-free of user struct +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The way user struct reference counting works changed significantly with, @@ -48,5 +48,5 @@ __sigqueue_free(q); } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0285-genirq-Disable-irqpoll-on-rt.patch linux-5.10.205/debian/patches-rt/0285-genirq-Disable-irqpoll-on-rt.patch --- linux-5.10.197/debian/patches-rt/0285-genirq-Disable-irqpoll-on-rt.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0285-genirq-Disable-irqpoll-on-rt.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From e56c566cfca1de5669a6034233737494020f3ac1 Mon Sep 17 00:00:00 2001 +From 4795907a92ad1bf9383b0c748facb436cac71e36 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:57 -0500 -Subject: [PATCH 285/321] genirq: Disable irqpoll on -rt -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 285/323] genirq: Disable irqpoll on -rt +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Creates long latencies for no value @@ -39,5 +39,5 @@ printk(KERN_WARNING "Misrouted IRQ fixup and polling support " "enabled\n"); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0286-sysfs-Add-sys-kernel-realtime-entry.patch linux-5.10.205/debian/patches-rt/0286-sysfs-Add-sys-kernel-realtime-entry.patch --- linux-5.10.197/debian/patches-rt/0286-sysfs-Add-sys-kernel-realtime-entry.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0286-sysfs-Add-sys-kernel-realtime-entry.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 43e59d85e6ffac549a5ff5bf7d9165ab61e1dd5c Mon Sep 17 00:00:00 2001 +From e7909a8ac08579fb76c51cde86c1171c8d1c6c36 Mon Sep 17 00:00:00 2001 From: Clark Williams Date: Sat, 30 Jul 2011 21:55:53 -0500 -Subject: [PATCH 286/321] sysfs: Add /sys/kernel/realtime entry -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 286/323] sysfs: Add /sys/kernel/realtime entry +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Add a /sys/kernel entry to indicate that the kernel is a realtime kernel. @@ -50,5 +50,5 @@ NULL }; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0287-Add-localversion-for-RT-release.patch linux-5.10.205/debian/patches-rt/0287-Add-localversion-for-RT-release.patch --- linux-5.10.197/debian/patches-rt/0287-Add-localversion-for-RT-release.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0287-Add-localversion-for-RT-release.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 4bc0f9f3144aa792b5495ff0b5331ea25f10b304 Mon Sep 17 00:00:00 2001 +From 180a0118d4485cb909de0be0f7ebb61adce763e1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 8 Jul 2011 20:25:16 +0200 -Subject: [PATCH 287/321] Add localversion for -RT release -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 287/323] Add localversion for -RT release +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Signed-off-by: Thomas Gleixner --- @@ -18,5 +18,5 @@ @@ -0,0 +1 @@ +-rt34 -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0288-net-xfrm-Use-sequence-counter-with-associated-spinlo.patch linux-5.10.205/debian/patches-rt/0288-net-xfrm-Use-sequence-counter-with-associated-spinlo.patch --- linux-5.10.197/debian/patches-rt/0288-net-xfrm-Use-sequence-counter-with-associated-spinlo.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0288-net-xfrm-Use-sequence-counter-with-associated-spinlo.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 390ae8bb6c7b37036c31d22b4c80fa6fff9a2a5a Mon Sep 17 00:00:00 2001 +From 97138dbb6886695284b96e3680f1533beae6e43a Mon Sep 17 00:00:00 2001 From: "Ahmed S. Darwish" Date: Tue, 16 Mar 2021 11:56:30 +0100 -Subject: [PATCH 288/321] net: xfrm: Use sequence counter with associated +Subject: [PATCH 288/323] net: xfrm: Use sequence counter with associated spinlock -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz A sequence counter write section must be serialized or its internal state can get corrupted. A plain seqcount_t does not contain the @@ -26,10 +26,10 @@ 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/net/netns/xfrm.h b/include/net/netns/xfrm.h -index 69e4161462fb..3168a358b222 100644 +index 7b87da22b295..fef22e029c0d 100644 --- a/include/net/netns/xfrm.h +++ b/include/net/netns/xfrm.h -@@ -76,7 +76,7 @@ struct netns_xfrm { +@@ -77,7 +77,7 @@ struct netns_xfrm { struct dst_ops xfrm6_dst_ops; #endif spinlock_t xfrm_state_lock; @@ -39,5 +39,5 @@ spinlock_t xfrm_policy_lock; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0289-sched-Fix-migration_cpu_stop-requeueing.patch linux-5.10.205/debian/patches-rt/0289-sched-Fix-migration_cpu_stop-requeueing.patch --- linux-5.10.197/debian/patches-rt/0289-sched-Fix-migration_cpu_stop-requeueing.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0289-sched-Fix-migration_cpu_stop-requeueing.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 8cf4dff0fb51bd25d0dd1466e2ff24fc14135eee Mon Sep 17 00:00:00 2001 +From 013f5d7501b106952e04d54b0803c2d1ae9a4876 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 8 Jun 2021 00:37:30 -0400 -Subject: [PATCH 289/321] sched: Fix migration_cpu_stop() requeueing -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 289/323] sched: Fix migration_cpu_stop() requeueing +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz commit 8a6edb5257e2a84720fe78cb179eca58ba76126f upstream. @@ -64,7 +64,7 @@ 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 93e72bc9390b..9bb773a004dd 100644 +index c847d17e3b04..df9c4c3838c0 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1974,6 +1974,24 @@ static int migration_cpu_stop(void *data) @@ -143,5 +143,5 @@ } else { -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0290-sched-Simplify-migration_cpu_stop.patch linux-5.10.205/debian/patches-rt/0290-sched-Simplify-migration_cpu_stop.patch --- linux-5.10.197/debian/patches-rt/0290-sched-Simplify-migration_cpu_stop.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0290-sched-Simplify-migration_cpu_stop.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From bd9a8ac902ea6145ea7a6919e6e6b95d4f08c3a5 Mon Sep 17 00:00:00 2001 +From 4f468832c2a5bb5c0bb23b453038ff4fed722061 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 8 Jun 2021 00:37:31 -0400 -Subject: [PATCH 290/321] sched: Simplify migration_cpu_stop() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 290/323] sched: Simplify migration_cpu_stop() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz commit c20cf065d4a619d394d23290093b1002e27dff86 upstream. @@ -28,7 +28,7 @@ 1 file changed, 8 insertions(+), 48 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 9bb773a004dd..f0de707a6c20 100644 +index df9c4c3838c0..31fa925852e5 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1950,8 +1950,8 @@ static struct rq *__migrate_task(struct rq *rq, struct rq_flags *rf, @@ -138,5 +138,5 @@ wake_up_var(&pending->refs); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0291-sched-Collate-affine_move_task-stoppers.patch linux-5.10.205/debian/patches-rt/0291-sched-Collate-affine_move_task-stoppers.patch --- linux-5.10.197/debian/patches-rt/0291-sched-Collate-affine_move_task-stoppers.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0291-sched-Collate-affine_move_task-stoppers.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From aab2385c73a6046f9ab4af776577e467a422e7b6 Mon Sep 17 00:00:00 2001 +From e62b758a0149648256ed0fa194d9e107e294d8aa Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 8 Jun 2021 00:37:32 -0400 -Subject: [PATCH 291/321] sched: Collate affine_move_task() stoppers -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 291/323] sched: Collate affine_move_task() stoppers +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz commit 58b1a45086b5f80f2b2842aa7ed0da51a64a302b upstream. @@ -22,7 +22,7 @@ 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index f0de707a6c20..c5cff8614087 100644 +index 31fa925852e5..3130289baf79 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2291,30 +2291,23 @@ static int affine_move_task(struct rq *rq, struct task_struct *p, struct rq_flag @@ -65,5 +65,5 @@ if (!is_migration_disabled(p)) { -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0292-sched-Optimize-migration_cpu_stop.patch linux-5.10.205/debian/patches-rt/0292-sched-Optimize-migration_cpu_stop.patch --- linux-5.10.197/debian/patches-rt/0292-sched-Optimize-migration_cpu_stop.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0292-sched-Optimize-migration_cpu_stop.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 2f0670343d40c31d8ab8438addcc28d66584869b Mon Sep 17 00:00:00 2001 +From b1353ab8df1e6dd3bf9afaef3096749db2a193f1 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 8 Jun 2021 00:37:33 -0400 -Subject: [PATCH 292/321] sched: Optimize migration_cpu_stop() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 292/323] sched: Optimize migration_cpu_stop() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz commit 3f1bc119cd7fc987c8ed25ffb717f99403bb308c upstream. @@ -23,7 +23,7 @@ 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index c5cff8614087..aeed78366e9f 100644 +index 3130289baf79..e28fb33afa95 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1988,14 +1988,25 @@ static int migration_cpu_stop(void *data) @@ -54,5 +54,5 @@ /* * This happens when we get migrated between migrate_enable()'s -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0293-sched-Fix-affine_move_task-self-concurrency.patch linux-5.10.205/debian/patches-rt/0293-sched-Fix-affine_move_task-self-concurrency.patch --- linux-5.10.197/debian/patches-rt/0293-sched-Fix-affine_move_task-self-concurrency.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0293-sched-Fix-affine_move_task-self-concurrency.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 711bdcd9f1794b0488ff7a39309f98f3c8e5734d Mon Sep 17 00:00:00 2001 +From e9faaf024fdd553b55aaed31855385da7e9d505a Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 8 Jun 2021 00:37:34 -0400 -Subject: [PATCH 293/321] sched: Fix affine_move_task() self-concurrency -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 293/323] sched: Fix affine_move_task() self-concurrency +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz commit 9e81889c7648d48dd5fe13f41cbc99f3c362484a upstream. @@ -33,7 +33,7 @@ 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index aeed78366e9f..a5008b5bd54c 100644 +index e28fb33afa95..76fa3daf1f60 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1916,6 +1916,7 @@ struct migration_arg { @@ -92,5 +92,5 @@ if (flags & SCA_MIGRATE_ENABLE) return 0; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0294-sched-Simplify-set_affinity_pending-refcounts.patch linux-5.10.205/debian/patches-rt/0294-sched-Simplify-set_affinity_pending-refcounts.patch --- linux-5.10.197/debian/patches-rt/0294-sched-Simplify-set_affinity_pending-refcounts.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0294-sched-Simplify-set_affinity_pending-refcounts.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From f78013a446cc1ff456e1ebcf733f885e9858aa08 Mon Sep 17 00:00:00 2001 +From 6681b566fe9ffe9365121a790537ada2e4ef97ba Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 8 Jun 2021 00:37:35 -0400 -Subject: [PATCH 294/321] sched: Simplify set_affinity_pending refcounts -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 294/323] sched: Simplify set_affinity_pending refcounts +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz commit 50caf9c14b1498c90cf808dbba2ca29bd32ccba4 upstream. @@ -24,7 +24,7 @@ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index a5008b5bd54c..add148034c18 100644 +index 76fa3daf1f60..d3b9d69171a2 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1914,6 +1914,10 @@ struct migration_arg { @@ -125,5 +125,5 @@ } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0295-sched-Don-t-defer-CPU-pick-to-migration_cpu_stop.patch linux-5.10.205/debian/patches-rt/0295-sched-Don-t-defer-CPU-pick-to-migration_cpu_stop.patch --- linux-5.10.197/debian/patches-rt/0295-sched-Don-t-defer-CPU-pick-to-migration_cpu_stop.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0295-sched-Don-t-defer-CPU-pick-to-migration_cpu_stop.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 87909bd06b0cbe6a5d60c6919975b7131918d663 Mon Sep 17 00:00:00 2001 +From b625852d41e17fb13b4caf7192734866534d9799 Mon Sep 17 00:00:00 2001 From: Valentin Schneider Date: Tue, 8 Jun 2021 00:37:36 -0400 -Subject: [PATCH 295/321] sched: Don't defer CPU pick to migration_cpu_stop() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 295/323] sched: Don't defer CPU pick to migration_cpu_stop() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz commit 475ea6c60279e9f2ddf7e4cf2648cd8ae0608361 upstream. @@ -37,7 +37,7 @@ 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index add148034c18..501289994540 100644 +index d3b9d69171a2..81b342d6629b 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1958,7 +1958,6 @@ static int migration_cpu_stop(void *data) @@ -96,5 +96,5 @@ } pending = p->migration_pending; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0296-printk-Enhance-the-condition-check-of-msleep-in-pr_f.patch linux-5.10.205/debian/patches-rt/0296-printk-Enhance-the-condition-check-of-msleep-in-pr_f.patch --- linux-5.10.197/debian/patches-rt/0296-printk-Enhance-the-condition-check-of-msleep-in-pr_f.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0296-printk-Enhance-the-condition-check-of-msleep-in-pr_f.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 2fd7f9e2ff3a8624f8d2514b21b684f32f5d55a4 Mon Sep 17 00:00:00 2001 +From 6e1b154dfc59c96068eafef9fafbda28b723d3e6 Mon Sep 17 00:00:00 2001 From: Chao Qin Date: Mon, 19 Jul 2021 10:26:50 +0800 -Subject: [PATCH 296/321] printk: Enhance the condition check of msleep in +Subject: [PATCH 296/323] printk: Enhance the condition check of msleep in pr_flush() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz [ Upstream commit 83e9288d9c4295d1195e9d780fcbc42c72ba4a83 ] @@ -44,5 +44,5 @@ seq = prb_next_seq(prb); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0297-locking-rwsem-rt-Remove-might_sleep-in-__up_read.patch linux-5.10.205/debian/patches-rt/0297-locking-rwsem-rt-Remove-might_sleep-in-__up_read.patch --- linux-5.10.197/debian/patches-rt/0297-locking-rwsem-rt-Remove-might_sleep-in-__up_read.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0297-locking-rwsem-rt-Remove-might_sleep-in-__up_read.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 7570a6ed16853319074caf5a4d075e44368ae874 Mon Sep 17 00:00:00 2001 +From 7131b777e7276a566838fdfb4a0b2ddc44ad2eca Mon Sep 17 00:00:00 2001 From: Andrew Halaney Date: Tue, 6 Apr 2021 17:19:52 -0500 -Subject: [PATCH 297/321] locking/rwsem-rt: Remove might_sleep() in __up_read() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 297/323] locking/rwsem-rt: Remove might_sleep() in __up_read() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz There's no chance of sleeping here, the reader is giving up the lock and possibly waking up the writer who is waiting on it. @@ -27,5 +27,5 @@ /* * Wake the writer, i.e. the rtmutex owner. It might release the -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0298-mm-zsmalloc-Convert-zsmalloc_handle.lock-to-spinlock.patch linux-5.10.205/debian/patches-rt/0298-mm-zsmalloc-Convert-zsmalloc_handle.lock-to-spinlock.patch --- linux-5.10.197/debian/patches-rt/0298-mm-zsmalloc-Convert-zsmalloc_handle.lock-to-spinlock.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0298-mm-zsmalloc-Convert-zsmalloc_handle.lock-to-spinlock.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 06e591ef73c80f093dcc549d17d7db37d9dc427b Mon Sep 17 00:00:00 2001 +From b4a9c84408720dd6da0cdb52fc3e7070aef9c4fe Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Tue, 24 Aug 2021 13:08:14 +0200 -Subject: [PATCH 298/321] mm, zsmalloc: Convert zsmalloc_handle.lock to +Subject: [PATCH 298/323] mm, zsmalloc: Convert zsmalloc_handle.lock to spinlock_t -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz local_lock_t becoming a synonym of spinlock_t had consequences for the RT mods to zsmalloc, which were taking a mutex while holding a local_lock, @@ -78,5 +78,5 @@ bit_spin_unlock(HANDLE_PIN_BIT, (unsigned long *)handle); #endif -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0299-sched-Fix-get_push_task-vs-migrate_disable.patch linux-5.10.205/debian/patches-rt/0299-sched-Fix-get_push_task-vs-migrate_disable.patch --- linux-5.10.197/debian/patches-rt/0299-sched-Fix-get_push_task-vs-migrate_disable.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0299-sched-Fix-get_push_task-vs-migrate_disable.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 141d6ba80a3950c27f9e6096de1d3363cb863626 Mon Sep 17 00:00:00 2001 +From 93c4258bc009109bee258c30fa2a53680c8b1f9a Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 26 Aug 2021 15:37:38 +0200 -Subject: [PATCH 299/321] sched: Fix get_push_task() vs migrate_disable() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 299/323] sched: Fix get_push_task() vs migrate_disable() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz push_rt_task() attempts to move the currently running task away if the next runnable task has migration disabled and therefore is pinned on the @@ -28,7 +28,7 @@ 1 file changed, 3 insertions(+) diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h -index f87289aa1392..ad54a5869a04 100644 +index ad854a670701..bda12827832e 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -1949,6 +1949,9 @@ static inline struct task_struct *get_push_task(struct rq *rq) @@ -42,5 +42,5 @@ return get_task_struct(p); } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0300-sched-Switch-wait_task_inactive-to-HRTIMER_MODE_REL_.patch linux-5.10.205/debian/patches-rt/0300-sched-Switch-wait_task_inactive-to-HRTIMER_MODE_REL_.patch --- linux-5.10.197/debian/patches-rt/0300-sched-Switch-wait_task_inactive-to-HRTIMER_MODE_REL_.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0300-sched-Switch-wait_task_inactive-to-HRTIMER_MODE_REL_.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From d060b7cbe13c9194072d60066963a3c22dc7b878 Mon Sep 17 00:00:00 2001 +From f29a6f7bb4568b4ac2d5a9226d503db7a2c69bab Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 24 Aug 2021 22:47:37 +0200 -Subject: [PATCH 300/321] sched: Switch wait_task_inactive to +Subject: [PATCH 300/323] sched: Switch wait_task_inactive to HRTIMER_MODE_REL_HARD -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz With PREEMPT_RT enabled all hrtimers callbacks will be invoked in softirq mode unless they are explicitly marked as HRTIMER_MODE_HARD. @@ -31,7 +31,7 @@ 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 501289994540..8a51ddc28927 100644 +index 81b342d6629b..6735872a8508 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2739,7 +2739,7 @@ unsigned long wait_task_inactive(struct task_struct *p, long match_state) @@ -44,5 +44,5 @@ } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0301-preempt-Move-preempt_enable_no_resched-to-the-RT-blo.patch linux-5.10.205/debian/patches-rt/0301-preempt-Move-preempt_enable_no_resched-to-the-RT-blo.patch --- linux-5.10.197/debian/patches-rt/0301-preempt-Move-preempt_enable_no_resched-to-the-RT-blo.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0301-preempt-Move-preempt_enable_no_resched-to-the-RT-blo.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From c67d9eeec31458aadc1d5bbbaa7215659f482dd4 Mon Sep 17 00:00:00 2001 +From 8cc1a32ca44ae3484956295c75afcc2234e809ae Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 22 Sep 2021 19:34:40 +0200 -Subject: [PATCH 301/321] preempt: Move preempt_enable_no_resched() to the RT +Subject: [PATCH 301/323] preempt: Move preempt_enable_no_resched() to the RT block -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz preempt_enable_no_resched() should point to preempt_enable() on PREEMPT_RT so nobody is playing any preempt tricks and enables @@ -41,5 +41,5 @@ #define preemptible() (preempt_count() == 0 && !irqs_disabled()) -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0302-mm-Disable-NUMA_BALANCING_DEFAULT_ENABLED-and-TRANSP.patch linux-5.10.205/debian/patches-rt/0302-mm-Disable-NUMA_BALANCING_DEFAULT_ENABLED-and-TRANSP.patch --- linux-5.10.197/debian/patches-rt/0302-mm-Disable-NUMA_BALANCING_DEFAULT_ENABLED-and-TRANSP.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0302-mm-Disable-NUMA_BALANCING_DEFAULT_ENABLED-and-TRANSP.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From e979a74b58c7925f7f0528e390bbcf6e13496bd9 Mon Sep 17 00:00:00 2001 +From 4e8d89996a692bd5d4a094e55c0a88044993057f Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 29 Oct 2021 10:07:11 +0200 -Subject: [PATCH 302/321] mm: Disable NUMA_BALANCING_DEFAULT_ENABLED and +Subject: [PATCH 302/323] mm: Disable NUMA_BALANCING_DEFAULT_ENABLED and TRANSPARENT_HUGEPAGE on PREEMPT_RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz TRANSPARENT_HUGEPAGE: There are potential non-deterministic delays to an RT thread if a critical @@ -47,5 +47,5 @@ This option adds support for automatic NUMA aware memory/task placement. The mechanism is quite primitive and is based on migrating memory when -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0303-fscache-Use-only-one-fscache_object_cong_wait.patch linux-5.10.205/debian/patches-rt/0303-fscache-Use-only-one-fscache_object_cong_wait.patch --- linux-5.10.197/debian/patches-rt/0303-fscache-Use-only-one-fscache_object_cong_wait.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0303-fscache-Use-only-one-fscache_object_cong_wait.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 79b7df22176a93562f790a683ede184ec300e488 Mon Sep 17 00:00:00 2001 +From 9ebcbc0c3bbeaa6e13b623ff2d84d3b29e0a1431 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 28 Oct 2021 17:30:50 +0200 -Subject: [PATCH 303/321] fscache: Use only one fscache_object_cong_wait. -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 303/323] fscache: Use only one fscache_object_cong_wait. +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz In the commit mentioned below, fscache was converted from slow-work to workqueue. slow_work_enqueue() and slow_work_sleep_till_thread_needed() @@ -125,5 +125,5 @@ return fscache_object_congested(); } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0304-fscache-Use-only-one-fscache_object_cong_wait.patch linux-5.10.205/debian/patches-rt/0304-fscache-Use-only-one-fscache_object_cong_wait.patch --- linux-5.10.197/debian/patches-rt/0304-fscache-Use-only-one-fscache_object_cong_wait.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0304-fscache-Use-only-one-fscache_object_cong_wait.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 3f63077a4dde56a9672126b795d7c022c757d5e0 Mon Sep 17 00:00:00 2001 +From 5fe656c51fcb73a09cf33665bcee0341edaf14c3 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 2 Nov 2021 11:52:05 +0100 -Subject: [PATCH 304/321] fscache: Use only one fscache_object_cong_wait. -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 304/323] fscache: Use only one fscache_object_cong_wait. +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz This is an update of the original patch, removing put_cpu_var() which was overseen in the initial patch. @@ -27,5 +27,5 @@ } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0305-locking-Drop-might_resched-from-might_sleep_no_state.patch linux-5.10.205/debian/patches-rt/0305-locking-Drop-might_resched-from-might_sleep_no_state.patch --- linux-5.10.197/debian/patches-rt/0305-locking-Drop-might_resched-from-might_sleep_no_state.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0305-locking-Drop-might_resched-from-might_sleep_no_state.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From af4a3b7002972bd1bf485c1d0c9580167c9682bf Mon Sep 17 00:00:00 2001 +From 8eddd2dc82853a3df908061f6ddf71bde523917b Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 6 Sep 2021 18:19:16 +0200 -Subject: [PATCH 305/321] locking: Drop might_resched() from +Subject: [PATCH 305/323] locking: Drop might_resched() from might_sleep_no_state_check() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz might_sleep_no_state_check() serves the same purpose as might_sleep() except it is used before sleeping locks are acquired and therefore does @@ -36,5 +36,5 @@ /** * cant_sleep - annotation for functions that cannot sleep -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0306-drm-i915-gt-Queue-and-wait-for-the-irq_work-item.patch linux-5.10.205/debian/patches-rt/0306-drm-i915-gt-Queue-and-wait-for-the-irq_work-item.patch --- linux-5.10.197/debian/patches-rt/0306-drm-i915-gt-Queue-and-wait-for-the-irq_work-item.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0306-drm-i915-gt-Queue-and-wait-for-the-irq_work-item.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 7b5e3435c3e0975745b8f406155243bfcf1ffaea Mon Sep 17 00:00:00 2001 +From 45cb435eff7cd17311c87552c32c3a202b09bf51 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 26 Oct 2021 13:40:53 +0200 -Subject: [PATCH 306/321] drm/i915/gt: Queue and wait for the irq_work item. -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 306/323] drm/i915/gt: Queue and wait for the irq_work item. +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Disabling interrupts and invoking the irq_work function directly breaks on PREEMPT_RT. @@ -45,5 +45,5 @@ GEM_BUG_ON(!list_empty(&b->signalers)); } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0307-irq_work-Allow-irq_work_sync-to-sleep-if-irq_work-no.patch linux-5.10.205/debian/patches-rt/0307-irq_work-Allow-irq_work_sync-to-sleep-if-irq_work-no.patch --- linux-5.10.197/debian/patches-rt/0307-irq_work-Allow-irq_work_sync-to-sleep-if-irq_work-no.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0307-irq_work-Allow-irq_work_sync-to-sleep-if-irq_work-no.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 2e02b366f94a28a6500e212e11b687fe0d3500a9 Mon Sep 17 00:00:00 2001 +From cf4bb976aef7af85b7134aa7cffdfa8e058dc5c6 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 24 Nov 2021 17:12:19 +0100 -Subject: [PATCH 307/321] irq_work: Allow irq_work_sync() to sleep if +Subject: [PATCH 307/323] irq_work: Allow irq_work_sync() to sleep if irq_work() no IRQ support. -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz irq_work() triggers instantly an interrupt if supported by the architecture. Otherwise the work will be processed on the next timer @@ -96,5 +96,5 @@ while (atomic_read(&work->flags) & IRQ_WORK_BUSY) cpu_relax(); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0308-irq_work-Handle-some-irq_work-in-a-per-CPU-thread-on.patch linux-5.10.205/debian/patches-rt/0308-irq_work-Handle-some-irq_work-in-a-per-CPU-thread-on.patch --- linux-5.10.197/debian/patches-rt/0308-irq_work-Handle-some-irq_work-in-a-per-CPU-thread-on.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0308-irq_work-Handle-some-irq_work-in-a-per-CPU-thread-on.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 6daaa9a7cd234dc78bc7b1f09e32e6e1212bbf24 Mon Sep 17 00:00:00 2001 +From 2b803272d74039863a77523d79f79cc938eff7cf Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 24 Nov 2021 17:12:20 +0100 -Subject: [PATCH 308/321] irq_work: Handle some irq_work in a per-CPU thread on +Subject: [PATCH 308/323] irq_work: Handle some irq_work in a per-CPU thread on PREEMPT_RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The irq_work callback is invoked in hard IRQ context. By default all callbacks are scheduled for invocation right away (given supported by @@ -303,5 +303,5 @@ if (IS_ENABLED(CONFIG_NO_HZ_COMMON)) __run_timers(this_cpu_ptr(&timer_bases[BASE_DEF])); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0309-irq_work-Also-rcuwait-for-IRQ_WORK_HARD_IRQ-on-PREEM.patch linux-5.10.205/debian/patches-rt/0309-irq_work-Also-rcuwait-for-IRQ_WORK_HARD_IRQ-on-PREEM.patch --- linux-5.10.197/debian/patches-rt/0309-irq_work-Also-rcuwait-for-IRQ_WORK_HARD_IRQ-on-PREEM.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0309-irq_work-Also-rcuwait-for-IRQ_WORK_HARD_IRQ-on-PREEM.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 9ddd62db75389a8fa498412b6f8f58ad70a918aa Mon Sep 17 00:00:00 2001 +From ca685c962ea2301291d3459ec8717208395b3cf9 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 24 Nov 2021 17:12:21 +0100 -Subject: [PATCH 309/321] irq_work: Also rcuwait for !IRQ_WORK_HARD_IRQ on +Subject: [PATCH 309/323] irq_work: Also rcuwait for !IRQ_WORK_HARD_IRQ on PREEMPT_RT -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz On PREEMPT_RT most items are processed as LAZY via softirq context. Avoid to spin-wait for them because irq_work_sync() could have higher @@ -61,5 +61,5 @@ TASK_UNINTERRUPTIBLE); return; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0310-eventfd-Make-signal-recursion-protection-a-task-bit.patch linux-5.10.205/debian/patches-rt/0310-eventfd-Make-signal-recursion-protection-a-task-bit.patch --- linux-5.10.197/debian/patches-rt/0310-eventfd-Make-signal-recursion-protection-a-task-bit.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0310-eventfd-Make-signal-recursion-protection-a-task-bit.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From 573283731dc1d730a462833c4af0681c153f51fe Mon Sep 17 00:00:00 2001 +From 17c41196e72418f94cf308a8b23fe478612a1610 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 17 Dec 2021 11:32:09 +0100 -Subject: [PATCH 310/321] eventfd: Make signal recursion protection a task bit -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 310/323] eventfd: Make signal recursion protection a task bit +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Upstream commit b542e383d8c005f06a131e2b40d5889b812f19c6 @@ -39,9 +39,11 @@ include/linux/sched.h | 4 ++++ 4 files changed, 15 insertions(+), 14 deletions(-) +diff --git a/fs/aio.c b/fs/aio.c +index c90e045a37bc..e1181dc37be1 100644 --- a/fs/aio.c +++ b/fs/aio.c -@@ -1765,7 +1765,7 @@ +@@ -1765,7 +1765,7 @@ static int aio_poll_wake(struct wait_queue_entry *wait, unsigned mode, int sync, list_del_init(&req->wait.entry); list_del(&iocb->ki_list); iocb->ki_res.res = mangle_poll(mask); @@ -50,6 +52,8 @@ iocb = NULL; INIT_WORK(&req->work, aio_poll_put_work); schedule_work(&req->work); +diff --git a/fs/eventfd.c b/fs/eventfd.c +index 3673eb8de035..ce9ca07d6c00 100644 --- a/fs/eventfd.c +++ b/fs/eventfd.c @@ -25,8 +25,6 @@ @@ -61,7 +65,7 @@ static DEFINE_IDA(eventfd_ida); struct eventfd_ctx { -@@ -53,21 +51,21 @@ +@@ -53,21 +51,21 @@ __u64 eventfd_signal_mask(struct eventfd_ctx *ctx, __u64 n, unsigned mask) * Deadlock or stack overflow issues can happen if we recurse here * through waitqueue wakeup handlers. If the caller users potentially * nested waitqueues with custom wakeup handlers, then it should @@ -88,6 +92,8 @@ spin_unlock_irqrestore(&ctx->wqh.lock, flags); return n; +diff --git a/include/linux/eventfd.h b/include/linux/eventfd.h +index c1bd4883e2fa..842d223dfe17 100644 --- a/include/linux/eventfd.h +++ b/include/linux/eventfd.h @@ -14,6 +14,7 @@ @@ -98,7 +104,7 @@ /* * CAREFUL: Check include/uapi/asm-generic/fcntl.h when defining -@@ -44,11 +45,9 @@ +@@ -44,11 +45,9 @@ int eventfd_ctx_remove_wait_queue(struct eventfd_ctx *ctx, wait_queue_entry_t *w __u64 *cnt); void eventfd_ctx_do_read(struct eventfd_ctx *ctx, __u64 *cnt); @@ -112,7 +118,7 @@ } #else /* CONFIG_EVENTFD */ -@@ -85,9 +84,9 @@ +@@ -85,9 +84,9 @@ static inline int eventfd_ctx_remove_wait_queue(struct eventfd_ctx *ctx, return -ENOSYS; } @@ -124,9 +130,11 @@ } static inline void eventfd_ctx_do_read(struct eventfd_ctx *ctx, __u64 *cnt) +diff --git a/include/linux/sched.h b/include/linux/sched.h +index a73528e8235d..13d4957189bb 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -848,6 +848,10 @@ +@@ -848,6 +848,10 @@ struct task_struct { /* Stalled due to lack of memory */ unsigned in_memstall:1; #endif @@ -137,3 +145,6 @@ unsigned long atomic_flags; /* Flags requiring atomic access. */ +-- +2.43.0 + diff -Nru linux-5.10.197/debian/patches-rt/0311-stop_machine-Remove-this_cpu_ptr-from-print_stop_inf.patch linux-5.10.205/debian/patches-rt/0311-stop_machine-Remove-this_cpu_ptr-from-print_stop_inf.patch --- linux-5.10.197/debian/patches-rt/0311-stop_machine-Remove-this_cpu_ptr-from-print_stop_inf.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0311-stop_machine-Remove-this_cpu_ptr-from-print_stop_inf.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 9552a63696ffb5ecab8d4f2e4d4f14be07446b8a Mon Sep 17 00:00:00 2001 +From ce2910a453196930e7083aaf13240adcec160afd Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 17 Dec 2021 11:32:08 +0100 -Subject: [PATCH 311/321] stop_machine: Remove this_cpu_ptr() from +Subject: [PATCH 311/323] stop_machine: Remove this_cpu_ptr() from print_stop_info(). -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz This aligns the patch ("stop_machine: Add function and caller debug info) with commit @@ -34,5 +34,5 @@ if (task != stopper->thread) return; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0312-aio-Fix-incorrect-usage-of-eventfd_signal_allowed.patch linux-5.10.205/debian/patches-rt/0312-aio-Fix-incorrect-usage-of-eventfd_signal_allowed.patch --- linux-5.10.197/debian/patches-rt/0312-aio-Fix-incorrect-usage-of-eventfd_signal_allowed.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0312-aio-Fix-incorrect-usage-of-eventfd_signal_allowed.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From e55ec33cf7a3a3a8278d175faf9acf340df0530c Mon Sep 17 00:00:00 2001 +From fd840c98e310adf2a03ee242969a9597a909a672 Mon Sep 17 00:00:00 2001 From: Xie Yongji Date: Mon, 13 Sep 2021 19:19:28 +0800 -Subject: [PATCH 312/321] aio: Fix incorrect usage of eventfd_signal_allowed() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 312/323] aio: Fix incorrect usage of eventfd_signal_allowed() +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz commit 4b3749865374899e115aa8c48681709b086fe6d3 upstream. @@ -34,5 +34,5 @@ INIT_WORK(&req->work, aio_poll_put_work); schedule_work(&req->work); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0313-rt-remove-extra-parameter-from-__trace_stack.patch linux-5.10.205/debian/patches-rt/0313-rt-remove-extra-parameter-from-__trace_stack.patch --- linux-5.10.197/debian/patches-rt/0313-rt-remove-extra-parameter-from-__trace_stack.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0313-rt-remove-extra-parameter-from-__trace_stack.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,11 +1,11 @@ -From 7e165d76eb9c3f95682ae05f36dfc7b3eff83db5 Mon Sep 17 00:00:00 2001 +From 38a85604759ae488654bab5c1cd9f23cd0d77ce0 Mon Sep 17 00:00:00 2001 From: "Luis Claudio R. Goncalves" Date: Thu, 12 May 2022 23:25:33 -0300 -Subject: [PATCH 313/321] rt: remove extra parameter from __trace_stack() +Subject: [PATCH 313/323] rt: remove extra parameter from __trace_stack() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Fix the build error below while keeping the current PREEMPT_RT code: @@ -37,5 +37,5 @@ trace_dump_stack(STACK_SKIP); } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0314-locking-rtmutex-switch-to-EXPORT_SYMBOL-for-ww_mutex.patch linux-5.10.205/debian/patches-rt/0314-locking-rtmutex-switch-to-EXPORT_SYMBOL-for-ww_mutex.patch --- linux-5.10.197/debian/patches-rt/0314-locking-rtmutex-switch-to-EXPORT_SYMBOL-for-ww_mutex.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0314-locking-rtmutex-switch-to-EXPORT_SYMBOL-for-ww_mutex.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 42975980a2cc053ee16c66c6548c88c9be1c6592 Mon Sep 17 00:00:00 2001 +From a02b1841d962977869e02fff684931b53c8d4232 Mon Sep 17 00:00:00 2001 From: Yajun Deng Date: Wed, 3 Aug 2022 14:24:30 +0800 -Subject: [PATCH 314/321] locking/rtmutex: switch to EXPORT_SYMBOL() for +Subject: [PATCH 314/323] locking/rtmutex: switch to EXPORT_SYMBOL() for ww_mutex_lock{,_interruptible}() -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz We can use EXPORT_SYMBOL() instead of EXPORT_SYMBOL_GPL() in ww_mutex_lock_interruptible() and ww_mutex_lock(). That match @@ -39,5 +39,5 @@ void __sched ww_mutex_unlock(struct ww_mutex *lock) { -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0315-ftrace-Fix-improper-usage-of-__trace_stack-function.patch linux-5.10.205/debian/patches-rt/0315-ftrace-Fix-improper-usage-of-__trace_stack-function.patch --- linux-5.10.197/debian/patches-rt/0315-ftrace-Fix-improper-usage-of-__trace_stack-function.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0315-ftrace-Fix-improper-usage-of-__trace_stack-function.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 10ae6b038383db1309af5badec0ec4d1eed095cd Mon Sep 17 00:00:00 2001 +From 54eb98b6f77e491259ac08a1172d36fd6ccf5284 Mon Sep 17 00:00:00 2001 From: Anand Je Saipureddy Date: Sat, 23 Jul 2022 12:19:43 +0530 -Subject: [PATCH 315/321] ftrace: Fix improper usage of __trace_stack() +Subject: [PATCH 315/323] ftrace: Fix improper usage of __trace_stack() function. -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz In kernel/trace/trace_events_trigger.c --> stacktrace_trigger() --> __trace_stack() is not defined as per the function definition. @@ -46,5 +46,5 @@ } -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0316-rt-arm64-make-_TIF_WORK_MASK-bits-contiguous.patch linux-5.10.205/debian/patches-rt/0316-rt-arm64-make-_TIF_WORK_MASK-bits-contiguous.patch --- linux-5.10.197/debian/patches-rt/0316-rt-arm64-make-_TIF_WORK_MASK-bits-contiguous.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0316-rt-arm64-make-_TIF_WORK_MASK-bits-contiguous.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From fb2f788ddee8eccdcf9b8340894f198511d4e8b4 Mon Sep 17 00:00:00 2001 +From 599ec4565144185541405febb71e81cf36cad908 Mon Sep 17 00:00:00 2001 From: Salvatore Bonaccorso Date: Fri, 20 Jan 2023 19:23:03 +0100 -Subject: [PATCH 316/321] rt: arm64: make _TIF_WORK_MASK bits contiguous -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 316/323] rt: arm64: make _TIF_WORK_MASK bits contiguous +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz As same as in commit 870d16757ba8 ("arm64: make _TIF_WORK_MASK bits contiguous") in mainline, we need to make the bits of _TIF_WORK_MASK to @@ -53,5 +53,5 @@ #define TIF_FREEZE 19 #define TIF_RESTORE_SIGMASK 20 -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0317-printk-ignore-consoles-without-write-callback.patch linux-5.10.205/debian/patches-rt/0317-printk-ignore-consoles-without-write-callback.patch --- linux-5.10.197/debian/patches-rt/0317-printk-ignore-consoles-without-write-callback.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0317-printk-ignore-consoles-without-write-callback.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,8 +1,8 @@ -From dac62ca360de869faf24ce9f0f9820944fe1261e Mon Sep 17 00:00:00 2001 +From 7efd125170f344b124a00390d8d7b714beac1698 Mon Sep 17 00:00:00 2001 From: John Ogness Date: Fri, 17 Feb 2023 09:53:44 +0106 -Subject: [PATCH 317/321] printk: ignore consoles without write() callback -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Subject: [PATCH 317/323] printk: ignore consoles without write() callback +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz The ttynull driver does not provide an implementation for the write() callback. This leads to a NULL pointer dereference in the related @@ -46,5 +46,5 @@ if (printk_seq < seq) diff += seq - printk_seq; -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0318-kernel-fork-set-wake_q_sleeper.next-NULL-again-in-du.patch linux-5.10.205/debian/patches-rt/0318-kernel-fork-set-wake_q_sleeper.next-NULL-again-in-du.patch --- linux-5.10.197/debian/patches-rt/0318-kernel-fork-set-wake_q_sleeper.next-NULL-again-in-du.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0318-kernel-fork-set-wake_q_sleeper.next-NULL-again-in-du.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From 7dec090518f52338eed0d5aab17f13e41b1792b1 Mon Sep 17 00:00:00 2001 +From de3bf8893c5067f2c4d7ef3c57144c134e30ad7f Mon Sep 17 00:00:00 2001 From: Steffen Dirkwinkel Date: Mon, 20 Mar 2023 09:03:47 +0100 -Subject: [PATCH 318/321] kernel: fork: set wake_q_sleeper.next=NULL again in +Subject: [PATCH 318/323] kernel: fork: set wake_q_sleeper.next=NULL again in dup_task_struct -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz Without this we get system hangs within a couple of days. It's also reproducible in minutes with "stress-ng --exec 20". @@ -45,10 +45,10 @@ 1 file changed, 1 insertion(+) diff --git a/kernel/fork.c b/kernel/fork.c -index f6de1a10199e..095b385ab3fb 100644 +index dfefb6e7e082..5dc7abedf08f 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -952,6 +952,7 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node) +@@ -960,6 +960,7 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node) tsk->splice_pipe = NULL; tsk->task_frag.page = NULL; tsk->wake_q.next = NULL; @@ -57,5 +57,5 @@ account_kernel_stack(tsk, 1); -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0319-Revert-mm-page_alloc-fix-potential-deadlock-on-zonel.patch linux-5.10.205/debian/patches-rt/0319-Revert-mm-page_alloc-fix-potential-deadlock-on-zonel.patch --- linux-5.10.197/debian/patches-rt/0319-Revert-mm-page_alloc-fix-potential-deadlock-on-zonel.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0319-Revert-mm-page_alloc-fix-potential-deadlock-on-zonel.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From c4842bc92c27d57265a3349380358ba043ccbdd5 Mon Sep 17 00:00:00 2001 +From 59fc9fa59a8a6eaa1456e7a3035b10152a9e6d94 Mon Sep 17 00:00:00 2001 From: "Luis Claudio R. Goncalves" Date: Thu, 8 Jun 2023 19:47:25 -0300 -Subject: [PATCH 319/321] Revert "mm/page_alloc: fix potential deadlock on +Subject: [PATCH 319/323] Revert "mm/page_alloc: fix potential deadlock on zonelist_update_seqseqlock" -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz This reverts commit a992c387b41186ab968fd176ca26b432b05c53ec. @@ -24,7 +24,7 @@ 1 file changed, 16 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index 5f1c50a6bebc..3760a06932a6 100644 +index c5eb7d6844ae..39d1782b398f 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -6043,21 +6043,7 @@ static void __build_all_zonelists(void *data) @@ -59,5 +59,5 @@ static noinline void __init -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0320-Revert-printk-declare-printk_deferred_-enter-safe-in.patch linux-5.10.205/debian/patches-rt/0320-Revert-printk-declare-printk_deferred_-enter-safe-in.patch --- linux-5.10.197/debian/patches-rt/0320-Revert-printk-declare-printk_deferred_-enter-safe-in.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0320-Revert-printk-declare-printk_deferred_-enter-safe-in.patch 2023-12-31 08:33:31.000000000 +0000 @@ -1,9 +1,9 @@ -From a353b701f2367fe729455b5b63790f905a105b79 Mon Sep 17 00:00:00 2001 +From f59d43768ad6d22235cbc9ec14f6307867aefefe Mon Sep 17 00:00:00 2001 From: "Luis Claudio R. Goncalves" Date: Thu, 8 Jun 2023 19:47:25 -0300 -Subject: [PATCH 320/321] Revert "printk: declare +Subject: [PATCH 320/323] Revert "printk: declare printk_deferred_{enter,safe}() in include/linux/printk.h" -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz This reverts commit 32232bcd4e5300e678718d5c29da4dfa07ade01e. @@ -49,5 +49,5 @@ - #endif -- -2.41.0 +2.43.0 diff -Nru linux-5.10.197/debian/patches-rt/0321-Linux-5.10.186-rt91-REBASE.patch linux-5.10.205/debian/patches-rt/0321-Linux-5.10.186-rt91-REBASE.patch --- linux-5.10.197/debian/patches-rt/0321-Linux-5.10.186-rt91-REBASE.patch 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0321-Linux-5.10.186-rt91-REBASE.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -From 3d549a9dfa787acfaeff1fe84dd80c2ff2f366dd Mon Sep 17 00:00:00 2001 -From: "Luis Claudio R. Goncalves" -Date: Thu, 6 Jul 2023 11:18:01 -0300 -Subject: [PATCH 321/321] Linux 5.10.186-rt91 REBASE -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.186-rt91.tar.xz - -Signed-off-by: Luis Claudio R. Goncalves ---- - localversion-rt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/localversion-rt b/localversion-rt -index 21988f9ad53f..e95e3382b7be 100644 ---- a/localversion-rt -+++ b/localversion-rt -@@ -1 +1 @@ ---rt34 -+-rt91 --- -2.41.0 - diff -Nru linux-5.10.197/debian/patches-rt/0321-arm64-signal-Use-ARCH_RT_DELAYS_SIGNAL_SEND.patch linux-5.10.205/debian/patches-rt/0321-arm64-signal-Use-ARCH_RT_DELAYS_SIGNAL_SEND.patch --- linux-5.10.197/debian/patches-rt/0321-arm64-signal-Use-ARCH_RT_DELAYS_SIGNAL_SEND.patch 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0321-arm64-signal-Use-ARCH_RT_DELAYS_SIGNAL_SEND.patch 2023-12-31 08:33:31.000000000 +0000 @@ -0,0 +1,89 @@ +From 2074b2bfdbed96348cbb99a1a3920fa7a9e4df46 Mon Sep 17 00:00:00 2001 +From: Wang Yong +Date: Tue, 12 Sep 2023 15:14:28 +0800 +Subject: [PATCH 321/323] arm64: signal: Use ARCH_RT_DELAYS_SIGNAL_SEND +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz + +The ltp test prompts the following bug information under the 5.10 kernel: +BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:969 +in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 796, name: cat +Preemption disabled at: +[] do_debug_exception+0x60/0x180 +CPU: 3 PID: 796 Comm: cat Not tainted 5.10.59-rt52-KERNEL_VERSION #38 +Hardware name: linux,dummy-virt (DT) +Call trace: + dump_backtrace+0x0/0x198 + show_stack+0x20/0x30 + dump_stack+0xf0/0x13c + ___might_sleep+0x140/0x178 + rt_spin_lock+0x30/0x90 + force_sig_info_to_task+0x30/0xe0 + force_sig_fault_to_task+0x54/0x78 + force_sig_fault+0x1c/0x28 + arm64_force_sig_fault+0x48/0x78 + send_user_sigtrap+0x4c/0x80 + brk_handler+0x3c/0x68 + do_debug_exception+0xac/0x180 + el0_dbg+0x34/0x58 + el0_sync_handler+0x50/0xb8 + el0_sync+0x180/0x1c0 + +It has been fixed by +0c34700de5e7 ("arm64: signal: Use ARCH_RT_DELAYS_SIGNAL_SEND.") in +higher versions of the kernel. This patch needs to be compatible with 5.10. +5.10 kernel does not have signal.h file, so adding signal.h file to +define ARCH_RT_DELAYS_SIGNAL_SEND. + +Link: https://lore.kernel.org/r/202309121514283793475@zte.com.cn +Signed-off-by: Wang Yong +Cc: Xuexin Jiang +Cc: Yang Yang +Cc: Xiaokai Ran +Signed-off-by: Luis Claudio R. Goncalves +--- + arch/arm64/include/asm/signal.h | 12 ++++++++++++ + arch/arm64/kernel/signal.c | 9 +++++++++ + 2 files changed, 21 insertions(+) + create mode 100644 arch/arm64/include/asm/signal.h + +diff --git a/arch/arm64/include/asm/signal.h b/arch/arm64/include/asm/signal.h +new file mode 100644 +index 000000000000..0fb418cf4c17 +--- /dev/null ++++ b/arch/arm64/include/asm/signal.h +@@ -0,0 +1,12 @@ ++/* SPDX-License-Identifier: GPL-2.0 */ ++#ifndef __ARM64_ASM_SIGNAL_H ++#define __ARM64_ASM_SIGNAL_H ++ ++#include ++#include ++ ++#if defined(CONFIG_PREEMPT_RT) ++#define ARCH_RT_DELAYS_SIGNAL_SEND ++#endif ++ ++#endif +diff --git a/arch/arm64/kernel/signal.c b/arch/arm64/kernel/signal.c +index 94eed0dc3afc..5b08f55ec85d 100644 +--- a/arch/arm64/kernel/signal.c ++++ b/arch/arm64/kernel/signal.c +@@ -929,6 +929,15 @@ asmlinkage void do_notify_resume(struct pt_regs *regs, + } else { + local_daif_restore(DAIF_PROCCTX); + ++#ifdef ARCH_RT_DELAYS_SIGNAL_SEND ++ if (unlikely(current->forced_info.si_signo)) { ++ struct task_struct *t = current; ++ ++ force_sig_info(&t->forced_info); ++ t->forced_info.si_signo = 0; ++ } ++#endif ++ + if (thread_flags & _TIF_UPROBE) + uprobe_notify_resume(regs); + +-- +2.43.0 + diff -Nru linux-5.10.197/debian/patches-rt/0322-rt-mm-page_alloc-backport-missing-bits-from-__build_.patch linux-5.10.205/debian/patches-rt/0322-rt-mm-page_alloc-backport-missing-bits-from-__build_.patch --- linux-5.10.197/debian/patches-rt/0322-rt-mm-page_alloc-backport-missing-bits-from-__build_.patch 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0322-rt-mm-page_alloc-backport-missing-bits-from-__build_.patch 2023-12-31 08:33:31.000000000 +0000 @@ -0,0 +1,49 @@ +From dbe86f5017c79c8abb6f42a6f0f1ad8d97dbae46 Mon Sep 17 00:00:00 2001 +From: "Luis Claudio R. Goncalves" +Date: Wed, 20 Dec 2023 10:20:48 -0300 +Subject: [PATCH 322/323] rt: mm/page_alloc: backport missing bits from + __build_all_zonelists() fix +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz + +A while ago upstream landed commit a2ebb51575828 ("mm/page_alloc: use +write_seqlock_irqsave() instead write_seqlock() + local_irq_save().") +to fix a problem that had already been worked on v5.10-rt via commit +7bdd3bd5143a4 ("Revert "mm/page_alloc: fix potential deadlock on +zonelist_update_seqseqlock""). Sebastian pointed out it was important +to backport the missing elements of a2ebb51575828 for code consistency. + +Fixes: 7bdd3bd5143a4 ("Revert "mm/page_alloc: fix potential deadlock on zonelist_update_seqseqlock"") +Cc: stable-rt@vger.kernel.org +Suggested-by: Sebastian Andrzej Siewior +Signed-off-by: Luis Claudio R. Goncalves +--- + mm/page_alloc.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/mm/page_alloc.c b/mm/page_alloc.c +index 39d1782b398f..cd1e8d0b2269 100644 +--- a/mm/page_alloc.c ++++ b/mm/page_alloc.c +@@ -6043,8 +6043,9 @@ static void __build_all_zonelists(void *data) + int nid; + int __maybe_unused cpu; + pg_data_t *self = data; ++ unsigned long flags; + +- write_seqlock(&zonelist_update_seq); ++ write_seqlock_irqsave(&zonelist_update_seq, flags); + + #ifdef CONFIG_NUMA + memset(node_load, 0, sizeof(node_load)); +@@ -6077,7 +6078,7 @@ static void __build_all_zonelists(void *data) + #endif + } + +- write_sequnlock(&zonelist_update_seq); ++ write_sequnlock_irqrestore(&zonelist_update_seq, flags); + } + + static noinline void __init +-- +2.43.0 + diff -Nru linux-5.10.197/debian/patches-rt/0323-Linux-5.10.204-rt100-REBASE.patch linux-5.10.205/debian/patches-rt/0323-Linux-5.10.204-rt100-REBASE.patch --- linux-5.10.197/debian/patches-rt/0323-Linux-5.10.204-rt100-REBASE.patch 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/0323-Linux-5.10.204-rt100-REBASE.patch 2023-12-31 08:33:31.000000000 +0000 @@ -0,0 +1,21 @@ +From 0a50987f60b76f392050410e35609fb4361dcca7 Mon Sep 17 00:00:00 2001 +From: "Luis Claudio R. Goncalves" +Date: Fri, 22 Dec 2023 17:30:57 -0300 +Subject: [PATCH 323/323] Linux 5.10.204-rt100 REBASE +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz + +Signed-off-by: Luis Claudio R. Goncalves +--- + localversion-rt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/localversion-rt b/localversion-rt +index 21988f9ad53f..79d3e2b9f550 100644 +--- a/localversion-rt ++++ b/localversion-rt +@@ -1 +1 @@ +--rt34 ++-rt100 +-- +2.43.0 + diff -Nru linux-5.10.197/debian/patches-rt/series linux-5.10.205/debian/patches-rt/series --- linux-5.10.197/debian/patches-rt/series 2023-09-29 04:25:03.000000000 +0000 +++ linux-5.10.205/debian/patches-rt/series 2023-12-31 08:33:31.000000000 +0000 @@ -318,4 +318,6 @@ 0318-kernel-fork-set-wake_q_sleeper.next-NULL-again-in-du.patch 0319-Revert-mm-page_alloc-fix-potential-deadlock-on-zonel.patch 0320-Revert-printk-declare-printk_deferred_-enter-safe-in.patch -0321-Linux-5.10.186-rt91-REBASE.patch +0321-arm64-signal-Use-ARCH_RT_DELAYS_SIGNAL_SEND.patch +0322-rt-mm-page_alloc-backport-missing-bits-from-__build_.patch +0323-Linux-5.10.204-rt100-REBASE.patch diff -Nru linux-5.10.197/debian/rules.gen linux-5.10.205/debian/rules.gen --- linux-5.10.197/debian/rules.gen 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/rules.gen 2023-12-31 15:46:35.000000000 +0000 @@ -2,106 +2,106 @@ binary-arch: binary-arch_alpha binary-arch_amd64 binary-arch_arm64 binary-arch_arm64ilp32 binary-arch_armel binary-arch_armhf binary-arch_hppa binary-arch_i386 binary-arch_ia64 binary-arch_m68k binary-arch_mips binary-arch_mips64 binary-arch_mips64el binary-arch_mips64r6 binary-arch_mips64r6el binary-arch_mipsel binary-arch_mipsn32 binary-arch_mipsn32el binary-arch_mipsn32r6 binary-arch_mipsn32r6el binary-arch_mipsr6 binary-arch_mipsr6el binary-arch_powerpc binary-arch_ppc64 binary-arch_ppc64el binary-arch_riscv64 binary-arch_s390 binary-arch_s390x binary-arch_sh3 binary-arch_sh4 binary-arch_sparc binary-arch_sparc64 binary-arch_x32 binary-arch_alpha:: binary-arch_alpha_none binary-arch_alpha_real binary-arch_alpha:: - $(MAKE) -f debian/rules.real install-udeb_alpha ABINAME='5.10.0-26' ARCH='alpha' KERNEL_ARCH='alpha' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-alpha-generic-di nic-modules-5.10.0-26-alpha-generic-di nic-wireless-modules-5.10.0-26-alpha-generic-di nic-shared-modules-5.10.0-26-alpha-generic-di serial-modules-5.10.0-26-alpha-generic-di usb-serial-modules-5.10.0-26-alpha-generic-di ppp-modules-5.10.0-26-alpha-generic-di pata-modules-5.10.0-26-alpha-generic-di cdrom-core-modules-5.10.0-26-alpha-generic-di scsi-core-modules-5.10.0-26-alpha-generic-di scsi-modules-5.10.0-26-alpha-generic-di scsi-nic-modules-5.10.0-26-alpha-generic-di loop-modules-5.10.0-26-alpha-generic-di btrfs-modules-5.10.0-26-alpha-generic-di ext4-modules-5.10.0-26-alpha-generic-di isofs-modules-5.10.0-26-alpha-generic-di jfs-modules-5.10.0-26-alpha-generic-di xfs-modules-5.10.0-26-alpha-generic-di fat-modules-5.10.0-26-alpha-generic-di squashfs-modules-5.10.0-26-alpha-generic-di fuse-modules-5.10.0-26-alpha-generic-di f2fs-modules-5.10.0-26-alpha-generic-di md-modules-5.10.0-26-alpha-generic-di multipath-modules-5.10.0-26-alpha-generic-di usb-modules-5.10.0-26-alpha-generic-di usb-storage-modules-5.10.0-26-alpha-generic-di fb-modules-5.10.0-26-alpha-generic-di input-modules-5.10.0-26-alpha-generic-di event-modules-5.10.0-26-alpha-generic-di mouse-modules-5.10.0-26-alpha-generic-di nic-pcmcia-modules-5.10.0-26-alpha-generic-di pcmcia-modules-5.10.0-26-alpha-generic-di nic-usb-modules-5.10.0-26-alpha-generic-di sata-modules-5.10.0-26-alpha-generic-di i2c-modules-5.10.0-26-alpha-generic-di crc-modules-5.10.0-26-alpha-generic-di crypto-modules-5.10.0-26-alpha-generic-di crypto-dm-modules-5.10.0-26-alpha-generic-di ata-modules-5.10.0-26-alpha-generic-di nbd-modules-5.10.0-26-alpha-generic-di srm-modules-5.10.0-26-alpha-generic-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_alpha ABINAME='5.10.0-27' ARCH='alpha' KERNEL_ARCH='alpha' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-alpha-generic-di nic-modules-5.10.0-27-alpha-generic-di nic-wireless-modules-5.10.0-27-alpha-generic-di nic-shared-modules-5.10.0-27-alpha-generic-di serial-modules-5.10.0-27-alpha-generic-di usb-serial-modules-5.10.0-27-alpha-generic-di ppp-modules-5.10.0-27-alpha-generic-di pata-modules-5.10.0-27-alpha-generic-di cdrom-core-modules-5.10.0-27-alpha-generic-di scsi-core-modules-5.10.0-27-alpha-generic-di scsi-modules-5.10.0-27-alpha-generic-di scsi-nic-modules-5.10.0-27-alpha-generic-di loop-modules-5.10.0-27-alpha-generic-di btrfs-modules-5.10.0-27-alpha-generic-di ext4-modules-5.10.0-27-alpha-generic-di isofs-modules-5.10.0-27-alpha-generic-di jfs-modules-5.10.0-27-alpha-generic-di xfs-modules-5.10.0-27-alpha-generic-di fat-modules-5.10.0-27-alpha-generic-di squashfs-modules-5.10.0-27-alpha-generic-di fuse-modules-5.10.0-27-alpha-generic-di f2fs-modules-5.10.0-27-alpha-generic-di md-modules-5.10.0-27-alpha-generic-di multipath-modules-5.10.0-27-alpha-generic-di usb-modules-5.10.0-27-alpha-generic-di usb-storage-modules-5.10.0-27-alpha-generic-di fb-modules-5.10.0-27-alpha-generic-di input-modules-5.10.0-27-alpha-generic-di event-modules-5.10.0-27-alpha-generic-di mouse-modules-5.10.0-27-alpha-generic-di nic-pcmcia-modules-5.10.0-27-alpha-generic-di pcmcia-modules-5.10.0-27-alpha-generic-di nic-usb-modules-5.10.0-27-alpha-generic-di sata-modules-5.10.0-27-alpha-generic-di i2c-modules-5.10.0-27-alpha-generic-di crc-modules-5.10.0-27-alpha-generic-di crypto-modules-5.10.0-27-alpha-generic-di crypto-dm-modules-5.10.0-27-alpha-generic-di ata-modules-5.10.0-27-alpha-generic-di nbd-modules-5.10.0-27-alpha-generic-di srm-modules-5.10.0-27-alpha-generic-di' UDEB_UNSIGNED_TEST_BUILD=False binary-arch_alpha_none: binary-arch_alpha_none_alpha-generic binary-arch_alpha_none_alpha-smp binary-arch_alpha_none_real binary-arch_alpha_none_alpha-generic: binary-arch_alpha_none_alpha-generic_real binary-arch_alpha_none_alpha-generic_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='alpha' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-generic' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-alpha-generic' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-generic' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-alpha-generic\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-generic' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-generic' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='alpha' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-generic' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-alpha-generic' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-generic' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-alpha-generic\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-generic' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-generic' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_alpha_none_alpha-smp: binary-arch_alpha_none_alpha-smp_real binary-arch_alpha_none_alpha-smp_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='alpha' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-smp' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-alpha-smp' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-alpha-smp\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-smp' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='alpha' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-smp' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-alpha-smp' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-alpha-smp\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-smp' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_alpha_none_real: binary-arch_alpha_real:: setup_alpha binary-arch_alpha_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='alpha' KERNEL_ARCH='alpha' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='alpha' KERNEL_ARCH='alpha' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_amd64:: binary-arch_amd64_extra binary-arch_amd64_none binary-arch_amd64_real binary-arch_amd64_rt binary-arch_amd64:: - $(MAKE) -f debian/rules.real install-udeb_amd64 ABINAME='5.10.0-26' ARCH='amd64' KERNEL_ARCH='x86' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-amd64-di nic-modules-5.10.0-26-amd64-di nic-wireless-modules-5.10.0-26-amd64-di nic-shared-modules-5.10.0-26-amd64-di serial-modules-5.10.0-26-amd64-di usb-serial-modules-5.10.0-26-amd64-di ppp-modules-5.10.0-26-amd64-di pata-modules-5.10.0-26-amd64-di cdrom-core-modules-5.10.0-26-amd64-di firewire-core-modules-5.10.0-26-amd64-di scsi-core-modules-5.10.0-26-amd64-di scsi-modules-5.10.0-26-amd64-di scsi-nic-modules-5.10.0-26-amd64-di loop-modules-5.10.0-26-amd64-di btrfs-modules-5.10.0-26-amd64-di ext4-modules-5.10.0-26-amd64-di isofs-modules-5.10.0-26-amd64-di jfs-modules-5.10.0-26-amd64-di xfs-modules-5.10.0-26-amd64-di fat-modules-5.10.0-26-amd64-di squashfs-modules-5.10.0-26-amd64-di udf-modules-5.10.0-26-amd64-di fuse-modules-5.10.0-26-amd64-di f2fs-modules-5.10.0-26-amd64-di md-modules-5.10.0-26-amd64-di multipath-modules-5.10.0-26-amd64-di usb-modules-5.10.0-26-amd64-di usb-storage-modules-5.10.0-26-amd64-di pcmcia-storage-modules-5.10.0-26-amd64-di fb-modules-5.10.0-26-amd64-di input-modules-5.10.0-26-amd64-di event-modules-5.10.0-26-amd64-di mouse-modules-5.10.0-26-amd64-di nic-pcmcia-modules-5.10.0-26-amd64-di pcmcia-modules-5.10.0-26-amd64-di nic-usb-modules-5.10.0-26-amd64-di sata-modules-5.10.0-26-amd64-di acpi-modules-5.10.0-26-amd64-di i2c-modules-5.10.0-26-amd64-di crc-modules-5.10.0-26-amd64-di crypto-modules-5.10.0-26-amd64-di crypto-dm-modules-5.10.0-26-amd64-di efi-modules-5.10.0-26-amd64-di ata-modules-5.10.0-26-amd64-di mmc-core-modules-5.10.0-26-amd64-di mmc-modules-5.10.0-26-amd64-di nbd-modules-5.10.0-26-amd64-di speakup-modules-5.10.0-26-amd64-di uinput-modules-5.10.0-26-amd64-di sound-modules-5.10.0-26-amd64-di mtd-core-modules-5.10.0-26-amd64-di rfkill-modules-5.10.0-26-amd64-di' UDEB_UNSIGNED_TEST_BUILD=True + $(MAKE) -f debian/rules.real install-udeb_amd64 ABINAME='5.10.0-27' ARCH='amd64' KERNEL_ARCH='x86' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-amd64-di nic-modules-5.10.0-27-amd64-di nic-wireless-modules-5.10.0-27-amd64-di nic-shared-modules-5.10.0-27-amd64-di serial-modules-5.10.0-27-amd64-di usb-serial-modules-5.10.0-27-amd64-di ppp-modules-5.10.0-27-amd64-di pata-modules-5.10.0-27-amd64-di cdrom-core-modules-5.10.0-27-amd64-di firewire-core-modules-5.10.0-27-amd64-di scsi-core-modules-5.10.0-27-amd64-di scsi-modules-5.10.0-27-amd64-di scsi-nic-modules-5.10.0-27-amd64-di loop-modules-5.10.0-27-amd64-di btrfs-modules-5.10.0-27-amd64-di ext4-modules-5.10.0-27-amd64-di isofs-modules-5.10.0-27-amd64-di jfs-modules-5.10.0-27-amd64-di xfs-modules-5.10.0-27-amd64-di fat-modules-5.10.0-27-amd64-di squashfs-modules-5.10.0-27-amd64-di udf-modules-5.10.0-27-amd64-di fuse-modules-5.10.0-27-amd64-di f2fs-modules-5.10.0-27-amd64-di md-modules-5.10.0-27-amd64-di multipath-modules-5.10.0-27-amd64-di usb-modules-5.10.0-27-amd64-di usb-storage-modules-5.10.0-27-amd64-di pcmcia-storage-modules-5.10.0-27-amd64-di fb-modules-5.10.0-27-amd64-di input-modules-5.10.0-27-amd64-di event-modules-5.10.0-27-amd64-di mouse-modules-5.10.0-27-amd64-di nic-pcmcia-modules-5.10.0-27-amd64-di pcmcia-modules-5.10.0-27-amd64-di nic-usb-modules-5.10.0-27-amd64-di sata-modules-5.10.0-27-amd64-di acpi-modules-5.10.0-27-amd64-di i2c-modules-5.10.0-27-amd64-di crc-modules-5.10.0-27-amd64-di crypto-modules-5.10.0-27-amd64-di crypto-dm-modules-5.10.0-27-amd64-di efi-modules-5.10.0-27-amd64-di ata-modules-5.10.0-27-amd64-di mmc-core-modules-5.10.0-27-amd64-di mmc-modules-5.10.0-27-amd64-di nbd-modules-5.10.0-27-amd64-di speakup-modules-5.10.0-27-amd64-di uinput-modules-5.10.0-27-amd64-di sound-modules-5.10.0-27-amd64-di mtd-core-modules-5.10.0-27-amd64-di rfkill-modules-5.10.0-27-amd64-di' UDEB_UNSIGNED_TEST_BUILD=True binary-arch_amd64:: - $(MAKE) -f debian/rules.real install-signed-template_amd64 ABINAME='5.10.0-26' ARCH='amd64' KERNEL_ARCH='x86' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real install-signed-template_amd64 ABINAME='5.10.0-27' ARCH='amd64' KERNEL_ARCH='x86' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_amd64_extra:: $(MAKE) -f debian/rules.real install-dummy ARCH='amd64' DH_OPTIONS='-plinux-compiler-gcc-10-x86' binary-arch_amd64_none: binary-arch_amd64_none_amd64 binary-arch_amd64_none_cloud-amd64 binary-arch_amd64_none_real binary-arch_amd64_none_amd64: binary-arch_amd64_none_amd64_real binary-arch_amd64_none_amd64_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-amd64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-amd64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' binary-arch_amd64_none_cloud-amd64: binary-arch_amd64_none_cloud-amd64_real binary-arch_amd64_none_cloud-amd64_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-cloud-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/amd64/config.cloud-amd64 debian/config/config.cloud debian/config/amd64/config.cloud-amd64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-cloud-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-cloud-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-amd64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-cloud-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/amd64/config.cloud-amd64 debian/config/config.cloud debian/config/amd64/config.cloud-amd64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-cloud-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-cloud-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-amd64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' binary-arch_amd64_none_real: binary-arch_amd64_real:: setup_amd64 binary-arch_amd64_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='amd64' KERNEL_ARCH='x86' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='amd64' KERNEL_ARCH='x86' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_amd64_rt: binary-arch_amd64_rt_amd64 binary-arch_amd64_rt_real binary-arch_amd64_rt_amd64: binary-arch_amd64_rt_amd64_real binary-arch_amd64_rt_amd64_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-rt-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-rt-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-amd64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-amd64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-rt-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-rt-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-amd64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-amd64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' binary-arch_amd64_rt_real: binary-arch_arm64:: binary-arch_arm64_none binary-arch_arm64_real binary-arch_arm64_rt binary-arch_arm64:: - $(MAKE) -f debian/rules.real install-udeb_arm64 ABINAME='5.10.0-26' ARCH='arm64' KERNEL_ARCH='arm64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-arm64-di nic-modules-5.10.0-26-arm64-di nic-wireless-modules-5.10.0-26-arm64-di nic-shared-modules-5.10.0-26-arm64-di usb-serial-modules-5.10.0-26-arm64-di ppp-modules-5.10.0-26-arm64-di cdrom-core-modules-5.10.0-26-arm64-di scsi-core-modules-5.10.0-26-arm64-di scsi-modules-5.10.0-26-arm64-di scsi-nic-modules-5.10.0-26-arm64-di loop-modules-5.10.0-26-arm64-di btrfs-modules-5.10.0-26-arm64-di ext4-modules-5.10.0-26-arm64-di isofs-modules-5.10.0-26-arm64-di jfs-modules-5.10.0-26-arm64-di xfs-modules-5.10.0-26-arm64-di fat-modules-5.10.0-26-arm64-di squashfs-modules-5.10.0-26-arm64-di udf-modules-5.10.0-26-arm64-di fuse-modules-5.10.0-26-arm64-di f2fs-modules-5.10.0-26-arm64-di md-modules-5.10.0-26-arm64-di multipath-modules-5.10.0-26-arm64-di usb-modules-5.10.0-26-arm64-di usb-storage-modules-5.10.0-26-arm64-di fb-modules-5.10.0-26-arm64-di input-modules-5.10.0-26-arm64-di event-modules-5.10.0-26-arm64-di nic-usb-modules-5.10.0-26-arm64-di sata-modules-5.10.0-26-arm64-di i2c-modules-5.10.0-26-arm64-di crc-modules-5.10.0-26-arm64-di crypto-modules-5.10.0-26-arm64-di crypto-dm-modules-5.10.0-26-arm64-di efi-modules-5.10.0-26-arm64-di ata-modules-5.10.0-26-arm64-di mmc-modules-5.10.0-26-arm64-di nbd-modules-5.10.0-26-arm64-di uinput-modules-5.10.0-26-arm64-di leds-modules-5.10.0-26-arm64-di mtd-core-modules-5.10.0-26-arm64-di' UDEB_UNSIGNED_TEST_BUILD=True + $(MAKE) -f debian/rules.real install-udeb_arm64 ABINAME='5.10.0-27' ARCH='arm64' KERNEL_ARCH='arm64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-arm64-di nic-modules-5.10.0-27-arm64-di nic-wireless-modules-5.10.0-27-arm64-di nic-shared-modules-5.10.0-27-arm64-di usb-serial-modules-5.10.0-27-arm64-di ppp-modules-5.10.0-27-arm64-di cdrom-core-modules-5.10.0-27-arm64-di scsi-core-modules-5.10.0-27-arm64-di scsi-modules-5.10.0-27-arm64-di scsi-nic-modules-5.10.0-27-arm64-di loop-modules-5.10.0-27-arm64-di btrfs-modules-5.10.0-27-arm64-di ext4-modules-5.10.0-27-arm64-di isofs-modules-5.10.0-27-arm64-di jfs-modules-5.10.0-27-arm64-di xfs-modules-5.10.0-27-arm64-di fat-modules-5.10.0-27-arm64-di squashfs-modules-5.10.0-27-arm64-di udf-modules-5.10.0-27-arm64-di fuse-modules-5.10.0-27-arm64-di f2fs-modules-5.10.0-27-arm64-di md-modules-5.10.0-27-arm64-di multipath-modules-5.10.0-27-arm64-di usb-modules-5.10.0-27-arm64-di usb-storage-modules-5.10.0-27-arm64-di fb-modules-5.10.0-27-arm64-di input-modules-5.10.0-27-arm64-di event-modules-5.10.0-27-arm64-di nic-usb-modules-5.10.0-27-arm64-di sata-modules-5.10.0-27-arm64-di i2c-modules-5.10.0-27-arm64-di crc-modules-5.10.0-27-arm64-di crypto-modules-5.10.0-27-arm64-di crypto-dm-modules-5.10.0-27-arm64-di efi-modules-5.10.0-27-arm64-di ata-modules-5.10.0-27-arm64-di mmc-modules-5.10.0-27-arm64-di nbd-modules-5.10.0-27-arm64-di uinput-modules-5.10.0-27-arm64-di leds-modules-5.10.0-27-arm64-di mtd-core-modules-5.10.0-27-arm64-di' UDEB_UNSIGNED_TEST_BUILD=True binary-arch_arm64:: - $(MAKE) -f debian/rules.real install-signed-template_arm64 ABINAME='5.10.0-26' ARCH='arm64' KERNEL_ARCH='arm64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real install-signed-template_arm64 ABINAME='5.10.0-27' ARCH='arm64' KERNEL_ARCH='arm64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_arm64_none: binary-arch_arm64_none_arm64 binary-arch_arm64_none_cloud-arm64 binary-arch_arm64_none_real binary-arch_arm64_none_arm64: binary-arch_arm64_none_arm64_real binary-arch_arm64_none_arm64_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='none' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-arm64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='none' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-arm64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' binary-arch_arm64_none_cloud-arm64: binary-arch_arm64_none_cloud-arm64_real binary-arch_arm64_none_cloud-arm64_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-cloud-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/arm64/config.cloud-arm64 debian/config/config.cloud debian/config/arm64/config.cloud-arm64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-cloud-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-cloud-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-arm64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-cloud-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/arm64/config.cloud-arm64 debian/config/config.cloud debian/config/arm64/config.cloud-arm64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-cloud-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-cloud-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-arm64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' binary-arch_arm64_none_real: binary-arch_arm64_real:: setup_arm64 binary-arch_arm64_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='arm64' KERNEL_ARCH='arm64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='arm64' KERNEL_ARCH='arm64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_arm64_rt: binary-arch_arm64_rt_arm64 binary-arch_arm64_rt_real binary-arch_arm64_rt_arm64: binary-arch_arm64_rt_arm64_real binary-arch_arm64_rt_arm64_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='rt' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-rt-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/featureset-rt/config debian/config/arm64/rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-rt-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-rt-arm64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-arm64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='rt' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-rt-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/featureset-rt/config debian/config/arm64/rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-rt-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-rt-arm64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-arm64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' binary-arch_arm64_rt_real: binary-arch_arm64ilp32: binary-arch_arm64ilp32_real binary-arch_arm64ilp32_real:: setup_arm64ilp32 binary-arch_arm64ilp32_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='arm64ilp32' KERNEL_ARCH='arm64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='arm64ilp32' KERNEL_ARCH='arm64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_armel:: binary-arch_armel_extra binary-arch_armel_none binary-arch_armel_real binary-arch_armel:: - $(MAKE) -f debian/rules.real install-udeb_armel ABINAME='5.10.0-26' ARCH='armel' KERNEL_ARCH='arm' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-marvell-di nic-modules-5.10.0-26-marvell-di nic-shared-modules-5.10.0-26-marvell-di usb-serial-modules-5.10.0-26-marvell-di ppp-modules-5.10.0-26-marvell-di cdrom-core-modules-5.10.0-26-marvell-di scsi-core-modules-5.10.0-26-marvell-di loop-modules-5.10.0-26-marvell-di ipv6-modules-5.10.0-26-marvell-di btrfs-modules-5.10.0-26-marvell-di ext4-modules-5.10.0-26-marvell-di isofs-modules-5.10.0-26-marvell-di jffs2-modules-5.10.0-26-marvell-di jfs-modules-5.10.0-26-marvell-di fat-modules-5.10.0-26-marvell-di minix-modules-5.10.0-26-marvell-di squashfs-modules-5.10.0-26-marvell-di udf-modules-5.10.0-26-marvell-di fuse-modules-5.10.0-26-marvell-di f2fs-modules-5.10.0-26-marvell-di md-modules-5.10.0-26-marvell-di multipath-modules-5.10.0-26-marvell-di usb-modules-5.10.0-26-marvell-di usb-storage-modules-5.10.0-26-marvell-di fb-modules-5.10.0-26-marvell-di input-modules-5.10.0-26-marvell-di event-modules-5.10.0-26-marvell-di mouse-modules-5.10.0-26-marvell-di nic-usb-modules-5.10.0-26-marvell-di sata-modules-5.10.0-26-marvell-di crc-modules-5.10.0-26-marvell-di crypto-modules-5.10.0-26-marvell-di crypto-dm-modules-5.10.0-26-marvell-di mmc-core-modules-5.10.0-26-marvell-di mmc-modules-5.10.0-26-marvell-di nbd-modules-5.10.0-26-marvell-di uinput-modules-5.10.0-26-marvell-di leds-modules-5.10.0-26-marvell-di mtd-modules-5.10.0-26-marvell-di mtd-core-modules-5.10.0-26-marvell-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_armel ABINAME='5.10.0-27' ARCH='armel' KERNEL_ARCH='arm' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-marvell-di nic-modules-5.10.0-27-marvell-di nic-shared-modules-5.10.0-27-marvell-di usb-serial-modules-5.10.0-27-marvell-di ppp-modules-5.10.0-27-marvell-di cdrom-core-modules-5.10.0-27-marvell-di scsi-core-modules-5.10.0-27-marvell-di loop-modules-5.10.0-27-marvell-di ipv6-modules-5.10.0-27-marvell-di btrfs-modules-5.10.0-27-marvell-di ext4-modules-5.10.0-27-marvell-di isofs-modules-5.10.0-27-marvell-di jffs2-modules-5.10.0-27-marvell-di jfs-modules-5.10.0-27-marvell-di fat-modules-5.10.0-27-marvell-di minix-modules-5.10.0-27-marvell-di squashfs-modules-5.10.0-27-marvell-di udf-modules-5.10.0-27-marvell-di fuse-modules-5.10.0-27-marvell-di f2fs-modules-5.10.0-27-marvell-di md-modules-5.10.0-27-marvell-di multipath-modules-5.10.0-27-marvell-di usb-modules-5.10.0-27-marvell-di usb-storage-modules-5.10.0-27-marvell-di fb-modules-5.10.0-27-marvell-di input-modules-5.10.0-27-marvell-di event-modules-5.10.0-27-marvell-di mouse-modules-5.10.0-27-marvell-di nic-usb-modules-5.10.0-27-marvell-di sata-modules-5.10.0-27-marvell-di crc-modules-5.10.0-27-marvell-di crypto-modules-5.10.0-27-marvell-di crypto-dm-modules-5.10.0-27-marvell-di mmc-core-modules-5.10.0-27-marvell-di mmc-modules-5.10.0-27-marvell-di nbd-modules-5.10.0-27-marvell-di uinput-modules-5.10.0-27-marvell-di leds-modules-5.10.0-27-marvell-di mtd-modules-5.10.0-27-marvell-di mtd-core-modules-5.10.0-27-marvell-di' UDEB_UNSIGNED_TEST_BUILD=False binary-arch_armel_extra:: $(MAKE) -f debian/rules.real install-dummy ARCH='armel' DH_OPTIONS='-plinux-compiler-gcc-10-arm' binary-arch_armel_none: binary-arch_armel_none_marvell binary-arch_armel_none_real binary-arch_armel_none_rpi binary-arch_armel_none_marvell: binary-arch_armel_none_marvell_real binary-arch_armel_none_marvell_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='armel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='marvell' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-marvell' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armel/config debian/config/armel/config.marvell' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-marvell\""' KERNEL_ARCH='arm' LOCALVERSION='-marvell' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-marvell' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='armel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='marvell' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-marvell' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armel/config debian/config/armel/config.marvell' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-marvell\""' KERNEL_ARCH='arm' LOCALVERSION='-marvell' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-marvell' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_armel_none_real: binary-arch_armel_none_rpi: binary-arch_armel_none_rpi_real binary-arch_armel_none_rpi_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='armel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='rpi' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-rpi' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armel/config debian/config/armel/config.rpi' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-rpi\""' KERNEL_ARCH='arm' LOCALVERSION='-rpi' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-rpi' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='armel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='rpi' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-rpi' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armel/config debian/config/armel/config.rpi' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-rpi\""' KERNEL_ARCH='arm' LOCALVERSION='-rpi' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-rpi' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_armel_real:: setup_armel binary-arch_armel_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='armel' KERNEL_ARCH='arm' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='armel' KERNEL_ARCH='arm' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_armhf:: binary-arch_armhf_extra binary-arch_armhf_none binary-arch_armhf_real binary-arch_armhf_rt binary-arch_armhf:: - $(MAKE) -f debian/rules.real install-udeb_armhf ABINAME='5.10.0-26' ARCH='armhf' KERNEL_ARCH='arm' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-armmp-di nic-modules-5.10.0-26-armmp-di nic-wireless-modules-5.10.0-26-armmp-di nic-shared-modules-5.10.0-26-armmp-di usb-serial-modules-5.10.0-26-armmp-di ppp-modules-5.10.0-26-armmp-di pata-modules-5.10.0-26-armmp-di cdrom-core-modules-5.10.0-26-armmp-di scsi-core-modules-5.10.0-26-armmp-di scsi-modules-5.10.0-26-armmp-di scsi-nic-modules-5.10.0-26-armmp-di loop-modules-5.10.0-26-armmp-di btrfs-modules-5.10.0-26-armmp-di ext4-modules-5.10.0-26-armmp-di isofs-modules-5.10.0-26-armmp-di jfs-modules-5.10.0-26-armmp-di fat-modules-5.10.0-26-armmp-di squashfs-modules-5.10.0-26-armmp-di udf-modules-5.10.0-26-armmp-di fuse-modules-5.10.0-26-armmp-di f2fs-modules-5.10.0-26-armmp-di md-modules-5.10.0-26-armmp-di multipath-modules-5.10.0-26-armmp-di usb-modules-5.10.0-26-armmp-di usb-storage-modules-5.10.0-26-armmp-di fb-modules-5.10.0-26-armmp-di input-modules-5.10.0-26-armmp-di event-modules-5.10.0-26-armmp-di nic-usb-modules-5.10.0-26-armmp-di sata-modules-5.10.0-26-armmp-di i2c-modules-5.10.0-26-armmp-di crc-modules-5.10.0-26-armmp-di crypto-modules-5.10.0-26-armmp-di crypto-dm-modules-5.10.0-26-armmp-di efi-modules-5.10.0-26-armmp-di ata-modules-5.10.0-26-armmp-di mmc-modules-5.10.0-26-armmp-di nbd-modules-5.10.0-26-armmp-di uinput-modules-5.10.0-26-armmp-di leds-modules-5.10.0-26-armmp-di mtd-modules-5.10.0-26-armmp-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_armhf ABINAME='5.10.0-27' ARCH='armhf' KERNEL_ARCH='arm' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-armmp-di nic-modules-5.10.0-27-armmp-di nic-wireless-modules-5.10.0-27-armmp-di nic-shared-modules-5.10.0-27-armmp-di usb-serial-modules-5.10.0-27-armmp-di ppp-modules-5.10.0-27-armmp-di pata-modules-5.10.0-27-armmp-di cdrom-core-modules-5.10.0-27-armmp-di scsi-core-modules-5.10.0-27-armmp-di scsi-modules-5.10.0-27-armmp-di scsi-nic-modules-5.10.0-27-armmp-di loop-modules-5.10.0-27-armmp-di btrfs-modules-5.10.0-27-armmp-di ext4-modules-5.10.0-27-armmp-di isofs-modules-5.10.0-27-armmp-di jfs-modules-5.10.0-27-armmp-di fat-modules-5.10.0-27-armmp-di squashfs-modules-5.10.0-27-armmp-di udf-modules-5.10.0-27-armmp-di fuse-modules-5.10.0-27-armmp-di f2fs-modules-5.10.0-27-armmp-di md-modules-5.10.0-27-armmp-di multipath-modules-5.10.0-27-armmp-di usb-modules-5.10.0-27-armmp-di usb-storage-modules-5.10.0-27-armmp-di fb-modules-5.10.0-27-armmp-di input-modules-5.10.0-27-armmp-di event-modules-5.10.0-27-armmp-di nic-usb-modules-5.10.0-27-armmp-di sata-modules-5.10.0-27-armmp-di i2c-modules-5.10.0-27-armmp-di crc-modules-5.10.0-27-armmp-di crypto-modules-5.10.0-27-armmp-di crypto-dm-modules-5.10.0-27-armmp-di efi-modules-5.10.0-27-armmp-di ata-modules-5.10.0-27-armmp-di mmc-modules-5.10.0-27-armmp-di nbd-modules-5.10.0-27-armmp-di uinput-modules-5.10.0-27-armmp-di leds-modules-5.10.0-27-armmp-di mtd-modules-5.10.0-27-armmp-di' UDEB_UNSIGNED_TEST_BUILD=False binary-arch_armhf_extra:: $(MAKE) -f debian/rules.real install-dummy ARCH='armhf' DH_OPTIONS='-plinux-compiler-gcc-10-arm' binary-arch_armhf_none: binary-arch_armhf_none_armmp binary-arch_armhf_none_armmp-lpae binary-arch_armhf_none_real binary-arch_armhf_none_armmp: binary-arch_armhf_none_armmp_real binary-arch_armhf_none_armmp-lpae: binary-arch_armhf_none_armmp-lpae_real binary-arch_armhf_none_armmp-lpae_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='armmp-lpae' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-armmp-lpae' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config debian/config/armhf/config.armmp-lpae' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-armmp-lpae\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp-lpae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp-lpae' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='armmp-lpae' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-armmp-lpae' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config debian/config/armhf/config.armmp-lpae' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-armmp-lpae\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp-lpae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp-lpae' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' binary-arch_armhf_none_armmp_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' binary-arch_armhf_none_real: binary-arch_armhf_real:: setup_armhf binary-arch_armhf_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='armhf' KERNEL_ARCH='arm' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='armhf' KERNEL_ARCH='arm' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_armhf_rt: binary-arch_armhf_rt_armmp binary-arch_armhf_rt_real binary-arch_armhf_rt_armmp: binary-arch_armhf_rt_armmp_real binary-arch_armhf_rt_armmp_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-rt-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-rt-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-rt-armmp' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-armmp' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-rt-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-rt-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-rt-armmp' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-armmp' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' binary-arch_armhf_rt_real: binary-arch_hppa:: binary-arch_hppa_extra binary-arch_hppa_none binary-arch_hppa_real binary-arch_hppa:: - $(MAKE) -f debian/rules.real install-udeb_hppa ABINAME='5.10.0-26' ARCH='hppa' KERNEL_ARCH='parisc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-parisc-di nic-modules-5.10.0-26-parisc-di nic-shared-modules-5.10.0-26-parisc-di serial-modules-5.10.0-26-parisc-di usb-serial-modules-5.10.0-26-parisc-di ppp-modules-5.10.0-26-parisc-di pata-modules-5.10.0-26-parisc-di cdrom-core-modules-5.10.0-26-parisc-di scsi-core-modules-5.10.0-26-parisc-di scsi-modules-5.10.0-26-parisc-di loop-modules-5.10.0-26-parisc-di btrfs-modules-5.10.0-26-parisc-di ext4-modules-5.10.0-26-parisc-di isofs-modules-5.10.0-26-parisc-di jfs-modules-5.10.0-26-parisc-di xfs-modules-5.10.0-26-parisc-di fat-modules-5.10.0-26-parisc-di squashfs-modules-5.10.0-26-parisc-di fuse-modules-5.10.0-26-parisc-di f2fs-modules-5.10.0-26-parisc-di md-modules-5.10.0-26-parisc-di multipath-modules-5.10.0-26-parisc-di usb-modules-5.10.0-26-parisc-di usb-storage-modules-5.10.0-26-parisc-di input-modules-5.10.0-26-parisc-di event-modules-5.10.0-26-parisc-di mouse-modules-5.10.0-26-parisc-di nic-usb-modules-5.10.0-26-parisc-di sata-modules-5.10.0-26-parisc-di crc-modules-5.10.0-26-parisc-di crypto-modules-5.10.0-26-parisc-di crypto-dm-modules-5.10.0-26-parisc-di ata-modules-5.10.0-26-parisc-di nbd-modules-5.10.0-26-parisc-di kernel-image-5.10.0-26-parisc64-di nic-modules-5.10.0-26-parisc64-di nic-shared-modules-5.10.0-26-parisc64-di serial-modules-5.10.0-26-parisc64-di usb-serial-modules-5.10.0-26-parisc64-di ppp-modules-5.10.0-26-parisc64-di pata-modules-5.10.0-26-parisc64-di cdrom-core-modules-5.10.0-26-parisc64-di scsi-core-modules-5.10.0-26-parisc64-di scsi-modules-5.10.0-26-parisc64-di loop-modules-5.10.0-26-parisc64-di btrfs-modules-5.10.0-26-parisc64-di ext4-modules-5.10.0-26-parisc64-di isofs-modules-5.10.0-26-parisc64-di jfs-modules-5.10.0-26-parisc64-di xfs-modules-5.10.0-26-parisc64-di fat-modules-5.10.0-26-parisc64-di squashfs-modules-5.10.0-26-parisc64-di fuse-modules-5.10.0-26-parisc64-di f2fs-modules-5.10.0-26-parisc64-di md-modules-5.10.0-26-parisc64-di multipath-modules-5.10.0-26-parisc64-di usb-modules-5.10.0-26-parisc64-di usb-storage-modules-5.10.0-26-parisc64-di fb-modules-5.10.0-26-parisc64-di input-modules-5.10.0-26-parisc64-di event-modules-5.10.0-26-parisc64-di mouse-modules-5.10.0-26-parisc64-di nic-usb-modules-5.10.0-26-parisc64-di sata-modules-5.10.0-26-parisc64-di crc-modules-5.10.0-26-parisc64-di crypto-modules-5.10.0-26-parisc64-di crypto-dm-modules-5.10.0-26-parisc64-di ata-modules-5.10.0-26-parisc64-di nbd-modules-5.10.0-26-parisc64-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_hppa ABINAME='5.10.0-27' ARCH='hppa' KERNEL_ARCH='parisc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-parisc-di nic-modules-5.10.0-27-parisc-di nic-shared-modules-5.10.0-27-parisc-di serial-modules-5.10.0-27-parisc-di usb-serial-modules-5.10.0-27-parisc-di ppp-modules-5.10.0-27-parisc-di pata-modules-5.10.0-27-parisc-di cdrom-core-modules-5.10.0-27-parisc-di scsi-core-modules-5.10.0-27-parisc-di scsi-modules-5.10.0-27-parisc-di loop-modules-5.10.0-27-parisc-di btrfs-modules-5.10.0-27-parisc-di ext4-modules-5.10.0-27-parisc-di isofs-modules-5.10.0-27-parisc-di jfs-modules-5.10.0-27-parisc-di xfs-modules-5.10.0-27-parisc-di fat-modules-5.10.0-27-parisc-di squashfs-modules-5.10.0-27-parisc-di fuse-modules-5.10.0-27-parisc-di f2fs-modules-5.10.0-27-parisc-di md-modules-5.10.0-27-parisc-di multipath-modules-5.10.0-27-parisc-di usb-modules-5.10.0-27-parisc-di usb-storage-modules-5.10.0-27-parisc-di input-modules-5.10.0-27-parisc-di event-modules-5.10.0-27-parisc-di mouse-modules-5.10.0-27-parisc-di nic-usb-modules-5.10.0-27-parisc-di sata-modules-5.10.0-27-parisc-di crc-modules-5.10.0-27-parisc-di crypto-modules-5.10.0-27-parisc-di crypto-dm-modules-5.10.0-27-parisc-di ata-modules-5.10.0-27-parisc-di nbd-modules-5.10.0-27-parisc-di kernel-image-5.10.0-27-parisc64-di nic-modules-5.10.0-27-parisc64-di nic-shared-modules-5.10.0-27-parisc64-di serial-modules-5.10.0-27-parisc64-di usb-serial-modules-5.10.0-27-parisc64-di ppp-modules-5.10.0-27-parisc64-di pata-modules-5.10.0-27-parisc64-di cdrom-core-modules-5.10.0-27-parisc64-di scsi-core-modules-5.10.0-27-parisc64-di scsi-modules-5.10.0-27-parisc64-di loop-modules-5.10.0-27-parisc64-di btrfs-modules-5.10.0-27-parisc64-di ext4-modules-5.10.0-27-parisc64-di isofs-modules-5.10.0-27-parisc64-di jfs-modules-5.10.0-27-parisc64-di xfs-modules-5.10.0-27-parisc64-di fat-modules-5.10.0-27-parisc64-di squashfs-modules-5.10.0-27-parisc64-di fuse-modules-5.10.0-27-parisc64-di f2fs-modules-5.10.0-27-parisc64-di md-modules-5.10.0-27-parisc64-di multipath-modules-5.10.0-27-parisc64-di usb-modules-5.10.0-27-parisc64-di usb-storage-modules-5.10.0-27-parisc64-di fb-modules-5.10.0-27-parisc64-di input-modules-5.10.0-27-parisc64-di event-modules-5.10.0-27-parisc64-di mouse-modules-5.10.0-27-parisc64-di nic-usb-modules-5.10.0-27-parisc64-di sata-modules-5.10.0-27-parisc64-di crc-modules-5.10.0-27-parisc64-di crypto-modules-5.10.0-27-parisc64-di crypto-dm-modules-5.10.0-27-parisc64-di ata-modules-5.10.0-27-parisc64-di nbd-modules-5.10.0-27-parisc64-di' UDEB_UNSIGNED_TEST_BUILD=False binary-arch_hppa_extra:: $(MAKE) -f debian/rules.real install-dummy ARCH='hppa' DH_OPTIONS='-plinux-image-parisc64-smp' $(MAKE) -f debian/rules.real install-dummy ARCH='hppa' DH_OPTIONS='-plinux-image-parisc-smp' @@ -109,604 +109,604 @@ binary-arch_hppa_none_parisc: binary-arch_hppa_none_parisc_real binary-arch_hppa_none_parisc64: binary-arch_hppa_none_parisc64_real binary-arch_hppa_none_parisc64_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='hppa' COMPILER='gcc-10' FEATURESET='none' FLAVOUR='parisc64' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-parisc64' KCFLAGS='-fno-cse-follow-jumps' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc64' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"5.10.0-26-parisc64\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc64' OVERRIDE_HOST_TYPE='hppa64-linux-gnu' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='hppa' COMPILER='gcc-10' FEATURESET='none' FLAVOUR='parisc64' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-parisc64' KCFLAGS='-fno-cse-follow-jumps' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc64' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"5.10.0-27-parisc64\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc64' OVERRIDE_HOST_TYPE='hppa64-linux-gnu' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_hppa_none_parisc_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='hppa' COMPILER='gcc-10' FEATURESET='none' FLAVOUR='parisc' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-parisc' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"5.10.0-26-parisc\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='hppa' COMPILER='gcc-10' FEATURESET='none' FLAVOUR='parisc' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-parisc' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"5.10.0-27-parisc\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_hppa_none_real: binary-arch_hppa_real:: setup_hppa binary-arch_hppa_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='hppa' KERNEL_ARCH='parisc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='hppa' KERNEL_ARCH='parisc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_i386:: binary-arch_i386_extra binary-arch_i386_none binary-arch_i386_real binary-arch_i386_rt binary-arch_i386:: - $(MAKE) -f debian/rules.real install-udeb_i386 ABINAME='5.10.0-26' ARCH='i386' KERNEL_ARCH='x86' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-686-di nic-modules-5.10.0-26-686-di nic-wireless-modules-5.10.0-26-686-di nic-shared-modules-5.10.0-26-686-di serial-modules-5.10.0-26-686-di usb-serial-modules-5.10.0-26-686-di ppp-modules-5.10.0-26-686-di pata-modules-5.10.0-26-686-di cdrom-core-modules-5.10.0-26-686-di firewire-core-modules-5.10.0-26-686-di scsi-core-modules-5.10.0-26-686-di scsi-modules-5.10.0-26-686-di scsi-nic-modules-5.10.0-26-686-di loop-modules-5.10.0-26-686-di btrfs-modules-5.10.0-26-686-di ext4-modules-5.10.0-26-686-di isofs-modules-5.10.0-26-686-di jfs-modules-5.10.0-26-686-di xfs-modules-5.10.0-26-686-di fat-modules-5.10.0-26-686-di squashfs-modules-5.10.0-26-686-di udf-modules-5.10.0-26-686-di fuse-modules-5.10.0-26-686-di f2fs-modules-5.10.0-26-686-di md-modules-5.10.0-26-686-di multipath-modules-5.10.0-26-686-di usb-modules-5.10.0-26-686-di usb-storage-modules-5.10.0-26-686-di pcmcia-storage-modules-5.10.0-26-686-di fb-modules-5.10.0-26-686-di input-modules-5.10.0-26-686-di event-modules-5.10.0-26-686-di mouse-modules-5.10.0-26-686-di nic-pcmcia-modules-5.10.0-26-686-di pcmcia-modules-5.10.0-26-686-di nic-usb-modules-5.10.0-26-686-di sata-modules-5.10.0-26-686-di acpi-modules-5.10.0-26-686-di i2c-modules-5.10.0-26-686-di crc-modules-5.10.0-26-686-di crypto-modules-5.10.0-26-686-di crypto-dm-modules-5.10.0-26-686-di efi-modules-5.10.0-26-686-di ata-modules-5.10.0-26-686-di mmc-core-modules-5.10.0-26-686-di mmc-modules-5.10.0-26-686-di nbd-modules-5.10.0-26-686-di speakup-modules-5.10.0-26-686-di uinput-modules-5.10.0-26-686-di sound-modules-5.10.0-26-686-di mtd-core-modules-5.10.0-26-686-di rfkill-modules-5.10.0-26-686-di kernel-image-5.10.0-26-686-pae-di nic-modules-5.10.0-26-686-pae-di nic-wireless-modules-5.10.0-26-686-pae-di nic-shared-modules-5.10.0-26-686-pae-di serial-modules-5.10.0-26-686-pae-di usb-serial-modules-5.10.0-26-686-pae-di ppp-modules-5.10.0-26-686-pae-di pata-modules-5.10.0-26-686-pae-di cdrom-core-modules-5.10.0-26-686-pae-di firewire-core-modules-5.10.0-26-686-pae-di scsi-core-modules-5.10.0-26-686-pae-di scsi-modules-5.10.0-26-686-pae-di scsi-nic-modules-5.10.0-26-686-pae-di loop-modules-5.10.0-26-686-pae-di btrfs-modules-5.10.0-26-686-pae-di ext4-modules-5.10.0-26-686-pae-di isofs-modules-5.10.0-26-686-pae-di jfs-modules-5.10.0-26-686-pae-di xfs-modules-5.10.0-26-686-pae-di fat-modules-5.10.0-26-686-pae-di squashfs-modules-5.10.0-26-686-pae-di udf-modules-5.10.0-26-686-pae-di fuse-modules-5.10.0-26-686-pae-di f2fs-modules-5.10.0-26-686-pae-di md-modules-5.10.0-26-686-pae-di multipath-modules-5.10.0-26-686-pae-di usb-modules-5.10.0-26-686-pae-di usb-storage-modules-5.10.0-26-686-pae-di pcmcia-storage-modules-5.10.0-26-686-pae-di fb-modules-5.10.0-26-686-pae-di input-modules-5.10.0-26-686-pae-di event-modules-5.10.0-26-686-pae-di mouse-modules-5.10.0-26-686-pae-di nic-pcmcia-modules-5.10.0-26-686-pae-di pcmcia-modules-5.10.0-26-686-pae-di nic-usb-modules-5.10.0-26-686-pae-di sata-modules-5.10.0-26-686-pae-di acpi-modules-5.10.0-26-686-pae-di i2c-modules-5.10.0-26-686-pae-di crc-modules-5.10.0-26-686-pae-di crypto-modules-5.10.0-26-686-pae-di crypto-dm-modules-5.10.0-26-686-pae-di efi-modules-5.10.0-26-686-pae-di ata-modules-5.10.0-26-686-pae-di mmc-core-modules-5.10.0-26-686-pae-di mmc-modules-5.10.0-26-686-pae-di nbd-modules-5.10.0-26-686-pae-di speakup-modules-5.10.0-26-686-pae-di uinput-modules-5.10.0-26-686-pae-di sound-modules-5.10.0-26-686-pae-di mtd-core-modules-5.10.0-26-686-pae-di rfkill-modules-5.10.0-26-686-pae-di' UDEB_UNSIGNED_TEST_BUILD=True + $(MAKE) -f debian/rules.real install-udeb_i386 ABINAME='5.10.0-27' ARCH='i386' KERNEL_ARCH='x86' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-686-di nic-modules-5.10.0-27-686-di nic-wireless-modules-5.10.0-27-686-di nic-shared-modules-5.10.0-27-686-di serial-modules-5.10.0-27-686-di usb-serial-modules-5.10.0-27-686-di ppp-modules-5.10.0-27-686-di pata-modules-5.10.0-27-686-di cdrom-core-modules-5.10.0-27-686-di firewire-core-modules-5.10.0-27-686-di scsi-core-modules-5.10.0-27-686-di scsi-modules-5.10.0-27-686-di scsi-nic-modules-5.10.0-27-686-di loop-modules-5.10.0-27-686-di btrfs-modules-5.10.0-27-686-di ext4-modules-5.10.0-27-686-di isofs-modules-5.10.0-27-686-di jfs-modules-5.10.0-27-686-di xfs-modules-5.10.0-27-686-di fat-modules-5.10.0-27-686-di squashfs-modules-5.10.0-27-686-di udf-modules-5.10.0-27-686-di fuse-modules-5.10.0-27-686-di f2fs-modules-5.10.0-27-686-di md-modules-5.10.0-27-686-di multipath-modules-5.10.0-27-686-di usb-modules-5.10.0-27-686-di usb-storage-modules-5.10.0-27-686-di pcmcia-storage-modules-5.10.0-27-686-di fb-modules-5.10.0-27-686-di input-modules-5.10.0-27-686-di event-modules-5.10.0-27-686-di mouse-modules-5.10.0-27-686-di nic-pcmcia-modules-5.10.0-27-686-di pcmcia-modules-5.10.0-27-686-di nic-usb-modules-5.10.0-27-686-di sata-modules-5.10.0-27-686-di acpi-modules-5.10.0-27-686-di i2c-modules-5.10.0-27-686-di crc-modules-5.10.0-27-686-di crypto-modules-5.10.0-27-686-di crypto-dm-modules-5.10.0-27-686-di efi-modules-5.10.0-27-686-di ata-modules-5.10.0-27-686-di mmc-core-modules-5.10.0-27-686-di mmc-modules-5.10.0-27-686-di nbd-modules-5.10.0-27-686-di speakup-modules-5.10.0-27-686-di uinput-modules-5.10.0-27-686-di sound-modules-5.10.0-27-686-di mtd-core-modules-5.10.0-27-686-di rfkill-modules-5.10.0-27-686-di kernel-image-5.10.0-27-686-pae-di nic-modules-5.10.0-27-686-pae-di nic-wireless-modules-5.10.0-27-686-pae-di nic-shared-modules-5.10.0-27-686-pae-di serial-modules-5.10.0-27-686-pae-di usb-serial-modules-5.10.0-27-686-pae-di ppp-modules-5.10.0-27-686-pae-di pata-modules-5.10.0-27-686-pae-di cdrom-core-modules-5.10.0-27-686-pae-di firewire-core-modules-5.10.0-27-686-pae-di scsi-core-modules-5.10.0-27-686-pae-di scsi-modules-5.10.0-27-686-pae-di scsi-nic-modules-5.10.0-27-686-pae-di loop-modules-5.10.0-27-686-pae-di btrfs-modules-5.10.0-27-686-pae-di ext4-modules-5.10.0-27-686-pae-di isofs-modules-5.10.0-27-686-pae-di jfs-modules-5.10.0-27-686-pae-di xfs-modules-5.10.0-27-686-pae-di fat-modules-5.10.0-27-686-pae-di squashfs-modules-5.10.0-27-686-pae-di udf-modules-5.10.0-27-686-pae-di fuse-modules-5.10.0-27-686-pae-di f2fs-modules-5.10.0-27-686-pae-di md-modules-5.10.0-27-686-pae-di multipath-modules-5.10.0-27-686-pae-di usb-modules-5.10.0-27-686-pae-di usb-storage-modules-5.10.0-27-686-pae-di pcmcia-storage-modules-5.10.0-27-686-pae-di fb-modules-5.10.0-27-686-pae-di input-modules-5.10.0-27-686-pae-di event-modules-5.10.0-27-686-pae-di mouse-modules-5.10.0-27-686-pae-di nic-pcmcia-modules-5.10.0-27-686-pae-di pcmcia-modules-5.10.0-27-686-pae-di nic-usb-modules-5.10.0-27-686-pae-di sata-modules-5.10.0-27-686-pae-di acpi-modules-5.10.0-27-686-pae-di i2c-modules-5.10.0-27-686-pae-di crc-modules-5.10.0-27-686-pae-di crypto-modules-5.10.0-27-686-pae-di crypto-dm-modules-5.10.0-27-686-pae-di efi-modules-5.10.0-27-686-pae-di ata-modules-5.10.0-27-686-pae-di mmc-core-modules-5.10.0-27-686-pae-di mmc-modules-5.10.0-27-686-pae-di nbd-modules-5.10.0-27-686-pae-di speakup-modules-5.10.0-27-686-pae-di uinput-modules-5.10.0-27-686-pae-di sound-modules-5.10.0-27-686-pae-di mtd-core-modules-5.10.0-27-686-pae-di rfkill-modules-5.10.0-27-686-pae-di' UDEB_UNSIGNED_TEST_BUILD=True binary-arch_i386:: - $(MAKE) -f debian/rules.real install-signed-template_i386 ABINAME='5.10.0-26' ARCH='i386' KERNEL_ARCH='x86' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real install-signed-template_i386 ABINAME='5.10.0-27' ARCH='i386' KERNEL_ARCH='x86' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_i386_extra:: $(MAKE) -f debian/rules.real install-dummy ARCH='i386' DH_OPTIONS='-plinux-compiler-gcc-10-x86' binary-arch_i386_none: binary-arch_i386_none_686 binary-arch_i386_none_686-pae binary-arch_i386_none_real binary-arch_i386_none_686: binary-arch_i386_none_686_real binary-arch_i386_none_686-pae: binary-arch_i386_none_686-pae_real binary-arch_i386_none_686-pae_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-686-pae-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686-pae' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-686-pae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686-pae' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-686-pae-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686-pae' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-686-pae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686-pae' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' binary-arch_i386_none_686_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='686' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-686-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-686\""' KERNEL_ARCH='x86' LOCALVERSION='-686' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='686' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-686-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-686\""' KERNEL_ARCH='x86' LOCALVERSION='-686' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' binary-arch_i386_none_real: binary-arch_i386_real:: setup_i386 binary-arch_i386_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='i386' KERNEL_ARCH='x86' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='i386' KERNEL_ARCH='x86' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_i386_rt: binary-arch_i386_rt_686-pae binary-arch_i386_rt_real binary-arch_i386_rt_686-pae: binary-arch_i386_rt_686-pae_real binary-arch_i386_rt_686-pae_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-rt-686-pae-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686-pae debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-rt-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-686-pae' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-686-pae' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-rt-686-pae-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686-pae debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-rt-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-686-pae' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-686-pae' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' binary-arch_i386_rt_real: binary-arch_ia64:: binary-arch_ia64_none binary-arch_ia64_real binary-arch_ia64:: - $(MAKE) -f debian/rules.real install-udeb_ia64 ABINAME='5.10.0-26' ARCH='ia64' KERNEL_ARCH='ia64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-itanium-di nic-modules-5.10.0-26-itanium-di nic-shared-modules-5.10.0-26-itanium-di serial-modules-5.10.0-26-itanium-di usb-serial-modules-5.10.0-26-itanium-di ppp-modules-5.10.0-26-itanium-di pata-modules-5.10.0-26-itanium-di cdrom-core-modules-5.10.0-26-itanium-di firewire-core-modules-5.10.0-26-itanium-di scsi-core-modules-5.10.0-26-itanium-di scsi-modules-5.10.0-26-itanium-di scsi-nic-modules-5.10.0-26-itanium-di loop-modules-5.10.0-26-itanium-di btrfs-modules-5.10.0-26-itanium-di ext4-modules-5.10.0-26-itanium-di isofs-modules-5.10.0-26-itanium-di jfs-modules-5.10.0-26-itanium-di xfs-modules-5.10.0-26-itanium-di fat-modules-5.10.0-26-itanium-di squashfs-modules-5.10.0-26-itanium-di udf-modules-5.10.0-26-itanium-di fuse-modules-5.10.0-26-itanium-di f2fs-modules-5.10.0-26-itanium-di md-modules-5.10.0-26-itanium-di multipath-modules-5.10.0-26-itanium-di usb-modules-5.10.0-26-itanium-di usb-storage-modules-5.10.0-26-itanium-di fb-modules-5.10.0-26-itanium-di input-modules-5.10.0-26-itanium-di event-modules-5.10.0-26-itanium-di mouse-modules-5.10.0-26-itanium-di pcmcia-modules-5.10.0-26-itanium-di nic-usb-modules-5.10.0-26-itanium-di sata-modules-5.10.0-26-itanium-di i2c-modules-5.10.0-26-itanium-di crc-modules-5.10.0-26-itanium-di crypto-modules-5.10.0-26-itanium-di crypto-dm-modules-5.10.0-26-itanium-di ata-modules-5.10.0-26-itanium-di nbd-modules-5.10.0-26-itanium-di uinput-modules-5.10.0-26-itanium-di mtd-core-modules-5.10.0-26-itanium-di ide-core-modules-5.10.0-26-itanium-di ide-modules-5.10.0-26-itanium-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_ia64 ABINAME='5.10.0-27' ARCH='ia64' KERNEL_ARCH='ia64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-itanium-di nic-modules-5.10.0-27-itanium-di nic-shared-modules-5.10.0-27-itanium-di serial-modules-5.10.0-27-itanium-di usb-serial-modules-5.10.0-27-itanium-di ppp-modules-5.10.0-27-itanium-di pata-modules-5.10.0-27-itanium-di cdrom-core-modules-5.10.0-27-itanium-di firewire-core-modules-5.10.0-27-itanium-di scsi-core-modules-5.10.0-27-itanium-di scsi-modules-5.10.0-27-itanium-di scsi-nic-modules-5.10.0-27-itanium-di loop-modules-5.10.0-27-itanium-di btrfs-modules-5.10.0-27-itanium-di ext4-modules-5.10.0-27-itanium-di isofs-modules-5.10.0-27-itanium-di jfs-modules-5.10.0-27-itanium-di xfs-modules-5.10.0-27-itanium-di fat-modules-5.10.0-27-itanium-di squashfs-modules-5.10.0-27-itanium-di udf-modules-5.10.0-27-itanium-di fuse-modules-5.10.0-27-itanium-di f2fs-modules-5.10.0-27-itanium-di md-modules-5.10.0-27-itanium-di multipath-modules-5.10.0-27-itanium-di usb-modules-5.10.0-27-itanium-di usb-storage-modules-5.10.0-27-itanium-di fb-modules-5.10.0-27-itanium-di input-modules-5.10.0-27-itanium-di event-modules-5.10.0-27-itanium-di mouse-modules-5.10.0-27-itanium-di pcmcia-modules-5.10.0-27-itanium-di nic-usb-modules-5.10.0-27-itanium-di sata-modules-5.10.0-27-itanium-di i2c-modules-5.10.0-27-itanium-di crc-modules-5.10.0-27-itanium-di crypto-modules-5.10.0-27-itanium-di crypto-dm-modules-5.10.0-27-itanium-di ata-modules-5.10.0-27-itanium-di nbd-modules-5.10.0-27-itanium-di uinput-modules-5.10.0-27-itanium-di mtd-core-modules-5.10.0-27-itanium-di ide-core-modules-5.10.0-27-itanium-di ide-modules-5.10.0-27-itanium-di' UDEB_UNSIGNED_TEST_BUILD=False binary-arch_ia64_none: binary-arch_ia64_none_itanium binary-arch_ia64_none_mckinley binary-arch_ia64_none_real binary-arch_ia64_none_itanium: binary-arch_ia64_none_itanium_real binary-arch_ia64_none_itanium_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='ia64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='itanium' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-itanium' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.itanium' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-itanium\""' KERNEL_ARCH='ia64' LOCALVERSION='-itanium' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-itanium' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='ia64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='itanium' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-itanium' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.itanium' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-itanium\""' KERNEL_ARCH='ia64' LOCALVERSION='-itanium' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-itanium' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_ia64_none_mckinley: binary-arch_ia64_none_mckinley_real binary-arch_ia64_none_mckinley_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='ia64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mckinley' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mckinley' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.mckinley' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mckinley\""' KERNEL_ARCH='ia64' LOCALVERSION='-mckinley' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mckinley' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='ia64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mckinley' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mckinley' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.mckinley' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mckinley\""' KERNEL_ARCH='ia64' LOCALVERSION='-mckinley' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mckinley' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_ia64_none_real: binary-arch_ia64_real:: setup_ia64 binary-arch_ia64_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='ia64' KERNEL_ARCH='ia64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='ia64' KERNEL_ARCH='ia64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_m68k:: binary-arch_m68k_none binary-arch_m68k_real binary-arch_m68k:: - $(MAKE) -f debian/rules.real install-udeb_m68k ABINAME='5.10.0-26' ARCH='m68k' KERNEL_ARCH='m68k' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-m68k-di nic-modules-5.10.0-26-m68k-di nic-shared-modules-5.10.0-26-m68k-di ppp-modules-5.10.0-26-m68k-di pata-modules-5.10.0-26-m68k-di cdrom-core-modules-5.10.0-26-m68k-di scsi-core-modules-5.10.0-26-m68k-di scsi-modules-5.10.0-26-m68k-di loop-modules-5.10.0-26-m68k-di btrfs-modules-5.10.0-26-m68k-di ext4-modules-5.10.0-26-m68k-di isofs-modules-5.10.0-26-m68k-di fat-modules-5.10.0-26-m68k-di hfs-modules-5.10.0-26-m68k-di affs-modules-5.10.0-26-m68k-di squashfs-modules-5.10.0-26-m68k-di udf-modules-5.10.0-26-m68k-di fuse-modules-5.10.0-26-m68k-di md-modules-5.10.0-26-m68k-di crc-modules-5.10.0-26-m68k-di crypto-modules-5.10.0-26-m68k-di ata-modules-5.10.0-26-m68k-di nbd-modules-5.10.0-26-m68k-di ide-core-modules-5.10.0-26-m68k-di ide-modules-5.10.0-26-m68k-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_m68k ABINAME='5.10.0-27' ARCH='m68k' KERNEL_ARCH='m68k' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-m68k-di nic-modules-5.10.0-27-m68k-di nic-shared-modules-5.10.0-27-m68k-di ppp-modules-5.10.0-27-m68k-di pata-modules-5.10.0-27-m68k-di cdrom-core-modules-5.10.0-27-m68k-di scsi-core-modules-5.10.0-27-m68k-di scsi-modules-5.10.0-27-m68k-di loop-modules-5.10.0-27-m68k-di btrfs-modules-5.10.0-27-m68k-di ext4-modules-5.10.0-27-m68k-di isofs-modules-5.10.0-27-m68k-di fat-modules-5.10.0-27-m68k-di hfs-modules-5.10.0-27-m68k-di affs-modules-5.10.0-27-m68k-di squashfs-modules-5.10.0-27-m68k-di udf-modules-5.10.0-27-m68k-di fuse-modules-5.10.0-27-m68k-di md-modules-5.10.0-27-m68k-di crc-modules-5.10.0-27-m68k-di crypto-modules-5.10.0-27-m68k-di ata-modules-5.10.0-27-m68k-di nbd-modules-5.10.0-27-m68k-di ide-core-modules-5.10.0-27-m68k-di ide-modules-5.10.0-27-m68k-di' UDEB_UNSIGNED_TEST_BUILD=False binary-arch_m68k_none: binary-arch_m68k_none_m68k binary-arch_m68k_none_real binary-arch_m68k_none_m68k: binary-arch_m68k_none_m68k_real binary-arch_m68k_none_m68k_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='m68k' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='m68k' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-m68k' KCFLAGS='-ffreestanding' KCONFIG='debian/config/config debian/config/m68k/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-m68k\""' KERNEL_ARCH='m68k' LOCALVERSION='-m68k' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-m68k' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='m68k' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='m68k' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-m68k' KCFLAGS='-ffreestanding' KCONFIG='debian/config/config debian/config/m68k/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-m68k\""' KERNEL_ARCH='m68k' LOCALVERSION='-m68k' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-m68k' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_m68k_none_real: binary-arch_m68k_real:: setup_m68k binary-arch_m68k_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='m68k' KERNEL_ARCH='m68k' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='m68k' KERNEL_ARCH='m68k' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mips:: binary-arch_mips_none binary-arch_mips_real binary-arch_mips:: - $(MAKE) -f debian/rules.real install-udeb_mips ABINAME='5.10.0-26' ARCH='mips' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-4kc-malta-di nic-modules-5.10.0-26-4kc-malta-di nic-wireless-modules-5.10.0-26-4kc-malta-di nic-shared-modules-5.10.0-26-4kc-malta-di usb-serial-modules-5.10.0-26-4kc-malta-di ppp-modules-5.10.0-26-4kc-malta-di pata-modules-5.10.0-26-4kc-malta-di cdrom-core-modules-5.10.0-26-4kc-malta-di scsi-core-modules-5.10.0-26-4kc-malta-di scsi-modules-5.10.0-26-4kc-malta-di scsi-nic-modules-5.10.0-26-4kc-malta-di loop-modules-5.10.0-26-4kc-malta-di btrfs-modules-5.10.0-26-4kc-malta-di ext4-modules-5.10.0-26-4kc-malta-di isofs-modules-5.10.0-26-4kc-malta-di jfs-modules-5.10.0-26-4kc-malta-di xfs-modules-5.10.0-26-4kc-malta-di fat-modules-5.10.0-26-4kc-malta-di affs-modules-5.10.0-26-4kc-malta-di minix-modules-5.10.0-26-4kc-malta-di squashfs-modules-5.10.0-26-4kc-malta-di udf-modules-5.10.0-26-4kc-malta-di fuse-modules-5.10.0-26-4kc-malta-di f2fs-modules-5.10.0-26-4kc-malta-di md-modules-5.10.0-26-4kc-malta-di multipath-modules-5.10.0-26-4kc-malta-di usb-modules-5.10.0-26-4kc-malta-di usb-storage-modules-5.10.0-26-4kc-malta-di fb-modules-5.10.0-26-4kc-malta-di input-modules-5.10.0-26-4kc-malta-di event-modules-5.10.0-26-4kc-malta-di mouse-modules-5.10.0-26-4kc-malta-di nic-usb-modules-5.10.0-26-4kc-malta-di sata-modules-5.10.0-26-4kc-malta-di i2c-modules-5.10.0-26-4kc-malta-di crc-modules-5.10.0-26-4kc-malta-di crypto-modules-5.10.0-26-4kc-malta-di crypto-dm-modules-5.10.0-26-4kc-malta-di ata-modules-5.10.0-26-4kc-malta-di mmc-core-modules-5.10.0-26-4kc-malta-di mmc-modules-5.10.0-26-4kc-malta-di nbd-modules-5.10.0-26-4kc-malta-di sound-modules-5.10.0-26-4kc-malta-di mtd-core-modules-5.10.0-26-4kc-malta-di kernel-image-5.10.0-26-octeon-di nic-modules-5.10.0-26-octeon-di nic-wireless-modules-5.10.0-26-octeon-di nic-shared-modules-5.10.0-26-octeon-di usb-serial-modules-5.10.0-26-octeon-di ppp-modules-5.10.0-26-octeon-di pata-modules-5.10.0-26-octeon-di cdrom-core-modules-5.10.0-26-octeon-di scsi-core-modules-5.10.0-26-octeon-di scsi-modules-5.10.0-26-octeon-di scsi-nic-modules-5.10.0-26-octeon-di loop-modules-5.10.0-26-octeon-di btrfs-modules-5.10.0-26-octeon-di ext4-modules-5.10.0-26-octeon-di isofs-modules-5.10.0-26-octeon-di jfs-modules-5.10.0-26-octeon-di xfs-modules-5.10.0-26-octeon-di fat-modules-5.10.0-26-octeon-di affs-modules-5.10.0-26-octeon-di minix-modules-5.10.0-26-octeon-di squashfs-modules-5.10.0-26-octeon-di udf-modules-5.10.0-26-octeon-di fuse-modules-5.10.0-26-octeon-di f2fs-modules-5.10.0-26-octeon-di md-modules-5.10.0-26-octeon-di multipath-modules-5.10.0-26-octeon-di usb-modules-5.10.0-26-octeon-di usb-storage-modules-5.10.0-26-octeon-di input-modules-5.10.0-26-octeon-di event-modules-5.10.0-26-octeon-di nic-usb-modules-5.10.0-26-octeon-di sata-modules-5.10.0-26-octeon-di crc-modules-5.10.0-26-octeon-di crypto-modules-5.10.0-26-octeon-di crypto-dm-modules-5.10.0-26-octeon-di nbd-modules-5.10.0-26-octeon-di rtc-modules-5.10.0-26-octeon-di sound-modules-5.10.0-26-octeon-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_mips ABINAME='5.10.0-27' ARCH='mips' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-4kc-malta-di nic-modules-5.10.0-27-4kc-malta-di nic-wireless-modules-5.10.0-27-4kc-malta-di nic-shared-modules-5.10.0-27-4kc-malta-di usb-serial-modules-5.10.0-27-4kc-malta-di ppp-modules-5.10.0-27-4kc-malta-di pata-modules-5.10.0-27-4kc-malta-di cdrom-core-modules-5.10.0-27-4kc-malta-di scsi-core-modules-5.10.0-27-4kc-malta-di scsi-modules-5.10.0-27-4kc-malta-di scsi-nic-modules-5.10.0-27-4kc-malta-di loop-modules-5.10.0-27-4kc-malta-di btrfs-modules-5.10.0-27-4kc-malta-di ext4-modules-5.10.0-27-4kc-malta-di isofs-modules-5.10.0-27-4kc-malta-di jfs-modules-5.10.0-27-4kc-malta-di xfs-modules-5.10.0-27-4kc-malta-di fat-modules-5.10.0-27-4kc-malta-di affs-modules-5.10.0-27-4kc-malta-di minix-modules-5.10.0-27-4kc-malta-di squashfs-modules-5.10.0-27-4kc-malta-di udf-modules-5.10.0-27-4kc-malta-di fuse-modules-5.10.0-27-4kc-malta-di f2fs-modules-5.10.0-27-4kc-malta-di md-modules-5.10.0-27-4kc-malta-di multipath-modules-5.10.0-27-4kc-malta-di usb-modules-5.10.0-27-4kc-malta-di usb-storage-modules-5.10.0-27-4kc-malta-di fb-modules-5.10.0-27-4kc-malta-di input-modules-5.10.0-27-4kc-malta-di event-modules-5.10.0-27-4kc-malta-di mouse-modules-5.10.0-27-4kc-malta-di nic-usb-modules-5.10.0-27-4kc-malta-di sata-modules-5.10.0-27-4kc-malta-di i2c-modules-5.10.0-27-4kc-malta-di crc-modules-5.10.0-27-4kc-malta-di crypto-modules-5.10.0-27-4kc-malta-di crypto-dm-modules-5.10.0-27-4kc-malta-di ata-modules-5.10.0-27-4kc-malta-di mmc-core-modules-5.10.0-27-4kc-malta-di mmc-modules-5.10.0-27-4kc-malta-di nbd-modules-5.10.0-27-4kc-malta-di sound-modules-5.10.0-27-4kc-malta-di mtd-core-modules-5.10.0-27-4kc-malta-di kernel-image-5.10.0-27-octeon-di nic-modules-5.10.0-27-octeon-di nic-wireless-modules-5.10.0-27-octeon-di nic-shared-modules-5.10.0-27-octeon-di usb-serial-modules-5.10.0-27-octeon-di ppp-modules-5.10.0-27-octeon-di pata-modules-5.10.0-27-octeon-di cdrom-core-modules-5.10.0-27-octeon-di scsi-core-modules-5.10.0-27-octeon-di scsi-modules-5.10.0-27-octeon-di scsi-nic-modules-5.10.0-27-octeon-di loop-modules-5.10.0-27-octeon-di btrfs-modules-5.10.0-27-octeon-di ext4-modules-5.10.0-27-octeon-di isofs-modules-5.10.0-27-octeon-di jfs-modules-5.10.0-27-octeon-di xfs-modules-5.10.0-27-octeon-di fat-modules-5.10.0-27-octeon-di affs-modules-5.10.0-27-octeon-di minix-modules-5.10.0-27-octeon-di squashfs-modules-5.10.0-27-octeon-di udf-modules-5.10.0-27-octeon-di fuse-modules-5.10.0-27-octeon-di f2fs-modules-5.10.0-27-octeon-di md-modules-5.10.0-27-octeon-di multipath-modules-5.10.0-27-octeon-di usb-modules-5.10.0-27-octeon-di usb-storage-modules-5.10.0-27-octeon-di input-modules-5.10.0-27-octeon-di event-modules-5.10.0-27-octeon-di nic-usb-modules-5.10.0-27-octeon-di sata-modules-5.10.0-27-octeon-di crc-modules-5.10.0-27-octeon-di crypto-modules-5.10.0-27-octeon-di crypto-dm-modules-5.10.0-27-octeon-di nbd-modules-5.10.0-27-octeon-di rtc-modules-5.10.0-27-octeon-di sound-modules-5.10.0-27-octeon-di' UDEB_UNSIGNED_TEST_BUILD=False binary-arch_mips64:: binary-arch_mips64_none binary-arch_mips64_real binary-arch_mips64:: - $(MAKE) -f debian/rules.real install-udeb_mips64 ABINAME='5.10.0-26' ARCH='mips64' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-5kc-malta-di nic-modules-5.10.0-26-5kc-malta-di nic-wireless-modules-5.10.0-26-5kc-malta-di nic-shared-modules-5.10.0-26-5kc-malta-di usb-serial-modules-5.10.0-26-5kc-malta-di ppp-modules-5.10.0-26-5kc-malta-di pata-modules-5.10.0-26-5kc-malta-di cdrom-core-modules-5.10.0-26-5kc-malta-di scsi-core-modules-5.10.0-26-5kc-malta-di scsi-modules-5.10.0-26-5kc-malta-di scsi-nic-modules-5.10.0-26-5kc-malta-di loop-modules-5.10.0-26-5kc-malta-di btrfs-modules-5.10.0-26-5kc-malta-di ext4-modules-5.10.0-26-5kc-malta-di isofs-modules-5.10.0-26-5kc-malta-di jfs-modules-5.10.0-26-5kc-malta-di xfs-modules-5.10.0-26-5kc-malta-di fat-modules-5.10.0-26-5kc-malta-di affs-modules-5.10.0-26-5kc-malta-di minix-modules-5.10.0-26-5kc-malta-di squashfs-modules-5.10.0-26-5kc-malta-di udf-modules-5.10.0-26-5kc-malta-di fuse-modules-5.10.0-26-5kc-malta-di f2fs-modules-5.10.0-26-5kc-malta-di md-modules-5.10.0-26-5kc-malta-di multipath-modules-5.10.0-26-5kc-malta-di usb-modules-5.10.0-26-5kc-malta-di usb-storage-modules-5.10.0-26-5kc-malta-di fb-modules-5.10.0-26-5kc-malta-di input-modules-5.10.0-26-5kc-malta-di event-modules-5.10.0-26-5kc-malta-di mouse-modules-5.10.0-26-5kc-malta-di nic-usb-modules-5.10.0-26-5kc-malta-di sata-modules-5.10.0-26-5kc-malta-di i2c-modules-5.10.0-26-5kc-malta-di crc-modules-5.10.0-26-5kc-malta-di crypto-modules-5.10.0-26-5kc-malta-di crypto-dm-modules-5.10.0-26-5kc-malta-di ata-modules-5.10.0-26-5kc-malta-di mmc-core-modules-5.10.0-26-5kc-malta-di mmc-modules-5.10.0-26-5kc-malta-di nbd-modules-5.10.0-26-5kc-malta-di sound-modules-5.10.0-26-5kc-malta-di mtd-core-modules-5.10.0-26-5kc-malta-di kernel-image-5.10.0-26-octeon-di nic-modules-5.10.0-26-octeon-di nic-wireless-modules-5.10.0-26-octeon-di nic-shared-modules-5.10.0-26-octeon-di usb-serial-modules-5.10.0-26-octeon-di ppp-modules-5.10.0-26-octeon-di pata-modules-5.10.0-26-octeon-di cdrom-core-modules-5.10.0-26-octeon-di scsi-core-modules-5.10.0-26-octeon-di scsi-modules-5.10.0-26-octeon-di scsi-nic-modules-5.10.0-26-octeon-di loop-modules-5.10.0-26-octeon-di btrfs-modules-5.10.0-26-octeon-di ext4-modules-5.10.0-26-octeon-di isofs-modules-5.10.0-26-octeon-di jfs-modules-5.10.0-26-octeon-di xfs-modules-5.10.0-26-octeon-di fat-modules-5.10.0-26-octeon-di affs-modules-5.10.0-26-octeon-di minix-modules-5.10.0-26-octeon-di squashfs-modules-5.10.0-26-octeon-di udf-modules-5.10.0-26-octeon-di fuse-modules-5.10.0-26-octeon-di f2fs-modules-5.10.0-26-octeon-di md-modules-5.10.0-26-octeon-di multipath-modules-5.10.0-26-octeon-di usb-modules-5.10.0-26-octeon-di usb-storage-modules-5.10.0-26-octeon-di input-modules-5.10.0-26-octeon-di event-modules-5.10.0-26-octeon-di nic-usb-modules-5.10.0-26-octeon-di sata-modules-5.10.0-26-octeon-di crc-modules-5.10.0-26-octeon-di crypto-modules-5.10.0-26-octeon-di crypto-dm-modules-5.10.0-26-octeon-di nbd-modules-5.10.0-26-octeon-di rtc-modules-5.10.0-26-octeon-di sound-modules-5.10.0-26-octeon-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_mips64 ABINAME='5.10.0-27' ARCH='mips64' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-5kc-malta-di nic-modules-5.10.0-27-5kc-malta-di nic-wireless-modules-5.10.0-27-5kc-malta-di nic-shared-modules-5.10.0-27-5kc-malta-di usb-serial-modules-5.10.0-27-5kc-malta-di ppp-modules-5.10.0-27-5kc-malta-di pata-modules-5.10.0-27-5kc-malta-di cdrom-core-modules-5.10.0-27-5kc-malta-di scsi-core-modules-5.10.0-27-5kc-malta-di scsi-modules-5.10.0-27-5kc-malta-di scsi-nic-modules-5.10.0-27-5kc-malta-di loop-modules-5.10.0-27-5kc-malta-di btrfs-modules-5.10.0-27-5kc-malta-di ext4-modules-5.10.0-27-5kc-malta-di isofs-modules-5.10.0-27-5kc-malta-di jfs-modules-5.10.0-27-5kc-malta-di xfs-modules-5.10.0-27-5kc-malta-di fat-modules-5.10.0-27-5kc-malta-di affs-modules-5.10.0-27-5kc-malta-di minix-modules-5.10.0-27-5kc-malta-di squashfs-modules-5.10.0-27-5kc-malta-di udf-modules-5.10.0-27-5kc-malta-di fuse-modules-5.10.0-27-5kc-malta-di f2fs-modules-5.10.0-27-5kc-malta-di md-modules-5.10.0-27-5kc-malta-di multipath-modules-5.10.0-27-5kc-malta-di usb-modules-5.10.0-27-5kc-malta-di usb-storage-modules-5.10.0-27-5kc-malta-di fb-modules-5.10.0-27-5kc-malta-di input-modules-5.10.0-27-5kc-malta-di event-modules-5.10.0-27-5kc-malta-di mouse-modules-5.10.0-27-5kc-malta-di nic-usb-modules-5.10.0-27-5kc-malta-di sata-modules-5.10.0-27-5kc-malta-di i2c-modules-5.10.0-27-5kc-malta-di crc-modules-5.10.0-27-5kc-malta-di crypto-modules-5.10.0-27-5kc-malta-di crypto-dm-modules-5.10.0-27-5kc-malta-di ata-modules-5.10.0-27-5kc-malta-di mmc-core-modules-5.10.0-27-5kc-malta-di mmc-modules-5.10.0-27-5kc-malta-di nbd-modules-5.10.0-27-5kc-malta-di sound-modules-5.10.0-27-5kc-malta-di mtd-core-modules-5.10.0-27-5kc-malta-di kernel-image-5.10.0-27-octeon-di nic-modules-5.10.0-27-octeon-di nic-wireless-modules-5.10.0-27-octeon-di nic-shared-modules-5.10.0-27-octeon-di usb-serial-modules-5.10.0-27-octeon-di ppp-modules-5.10.0-27-octeon-di pata-modules-5.10.0-27-octeon-di cdrom-core-modules-5.10.0-27-octeon-di scsi-core-modules-5.10.0-27-octeon-di scsi-modules-5.10.0-27-octeon-di scsi-nic-modules-5.10.0-27-octeon-di loop-modules-5.10.0-27-octeon-di btrfs-modules-5.10.0-27-octeon-di ext4-modules-5.10.0-27-octeon-di isofs-modules-5.10.0-27-octeon-di jfs-modules-5.10.0-27-octeon-di xfs-modules-5.10.0-27-octeon-di fat-modules-5.10.0-27-octeon-di affs-modules-5.10.0-27-octeon-di minix-modules-5.10.0-27-octeon-di squashfs-modules-5.10.0-27-octeon-di udf-modules-5.10.0-27-octeon-di fuse-modules-5.10.0-27-octeon-di f2fs-modules-5.10.0-27-octeon-di md-modules-5.10.0-27-octeon-di multipath-modules-5.10.0-27-octeon-di usb-modules-5.10.0-27-octeon-di usb-storage-modules-5.10.0-27-octeon-di input-modules-5.10.0-27-octeon-di event-modules-5.10.0-27-octeon-di nic-usb-modules-5.10.0-27-octeon-di sata-modules-5.10.0-27-octeon-di crc-modules-5.10.0-27-octeon-di crypto-modules-5.10.0-27-octeon-di crypto-dm-modules-5.10.0-27-octeon-di nbd-modules-5.10.0-27-octeon-di rtc-modules-5.10.0-27-octeon-di sound-modules-5.10.0-27-octeon-di' UDEB_UNSIGNED_TEST_BUILD=False binary-arch_mips64_none: binary-arch_mips64_none_5kc-malta binary-arch_mips64_none_octeon binary-arch_mips64_none_real binary-arch_mips64_none_5kc-malta: binary-arch_mips64_none_5kc-malta_real binary-arch_mips64_none_5kc-malta_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='mips64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='mips64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mips64_none_octeon: binary-arch_mips64_none_octeon_real binary-arch_mips64_none_octeon_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='mips64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='mips64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mips64_none_real: binary-arch_mips64_real:: setup_mips64 binary-arch_mips64_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='mips64' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='mips64' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mips64el:: binary-arch_mips64el_none binary-arch_mips64el_real binary-arch_mips64el:: - $(MAKE) -f debian/rules.real install-udeb_mips64el ABINAME='5.10.0-26' ARCH='mips64el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-5kc-malta-di nic-modules-5.10.0-26-5kc-malta-di nic-wireless-modules-5.10.0-26-5kc-malta-di nic-shared-modules-5.10.0-26-5kc-malta-di usb-serial-modules-5.10.0-26-5kc-malta-di ppp-modules-5.10.0-26-5kc-malta-di pata-modules-5.10.0-26-5kc-malta-di cdrom-core-modules-5.10.0-26-5kc-malta-di scsi-core-modules-5.10.0-26-5kc-malta-di scsi-modules-5.10.0-26-5kc-malta-di scsi-nic-modules-5.10.0-26-5kc-malta-di loop-modules-5.10.0-26-5kc-malta-di btrfs-modules-5.10.0-26-5kc-malta-di ext4-modules-5.10.0-26-5kc-malta-di isofs-modules-5.10.0-26-5kc-malta-di jfs-modules-5.10.0-26-5kc-malta-di xfs-modules-5.10.0-26-5kc-malta-di fat-modules-5.10.0-26-5kc-malta-di affs-modules-5.10.0-26-5kc-malta-di minix-modules-5.10.0-26-5kc-malta-di squashfs-modules-5.10.0-26-5kc-malta-di udf-modules-5.10.0-26-5kc-malta-di fuse-modules-5.10.0-26-5kc-malta-di f2fs-modules-5.10.0-26-5kc-malta-di md-modules-5.10.0-26-5kc-malta-di multipath-modules-5.10.0-26-5kc-malta-di usb-modules-5.10.0-26-5kc-malta-di usb-storage-modules-5.10.0-26-5kc-malta-di fb-modules-5.10.0-26-5kc-malta-di input-modules-5.10.0-26-5kc-malta-di event-modules-5.10.0-26-5kc-malta-di mouse-modules-5.10.0-26-5kc-malta-di nic-usb-modules-5.10.0-26-5kc-malta-di sata-modules-5.10.0-26-5kc-malta-di i2c-modules-5.10.0-26-5kc-malta-di crc-modules-5.10.0-26-5kc-malta-di crypto-modules-5.10.0-26-5kc-malta-di crypto-dm-modules-5.10.0-26-5kc-malta-di ata-modules-5.10.0-26-5kc-malta-di mmc-core-modules-5.10.0-26-5kc-malta-di mmc-modules-5.10.0-26-5kc-malta-di nbd-modules-5.10.0-26-5kc-malta-di sound-modules-5.10.0-26-5kc-malta-di mtd-core-modules-5.10.0-26-5kc-malta-di kernel-image-5.10.0-26-loongson-3-di nic-modules-5.10.0-26-loongson-3-di nic-wireless-modules-5.10.0-26-loongson-3-di nic-shared-modules-5.10.0-26-loongson-3-di usb-serial-modules-5.10.0-26-loongson-3-di ppp-modules-5.10.0-26-loongson-3-di pata-modules-5.10.0-26-loongson-3-di cdrom-core-modules-5.10.0-26-loongson-3-di firewire-core-modules-5.10.0-26-loongson-3-di scsi-core-modules-5.10.0-26-loongson-3-di scsi-modules-5.10.0-26-loongson-3-di scsi-nic-modules-5.10.0-26-loongson-3-di loop-modules-5.10.0-26-loongson-3-di btrfs-modules-5.10.0-26-loongson-3-di ext4-modules-5.10.0-26-loongson-3-di isofs-modules-5.10.0-26-loongson-3-di jfs-modules-5.10.0-26-loongson-3-di xfs-modules-5.10.0-26-loongson-3-di fat-modules-5.10.0-26-loongson-3-di affs-modules-5.10.0-26-loongson-3-di minix-modules-5.10.0-26-loongson-3-di nfs-modules-5.10.0-26-loongson-3-di squashfs-modules-5.10.0-26-loongson-3-di udf-modules-5.10.0-26-loongson-3-di fuse-modules-5.10.0-26-loongson-3-di f2fs-modules-5.10.0-26-loongson-3-di md-modules-5.10.0-26-loongson-3-di multipath-modules-5.10.0-26-loongson-3-di usb-modules-5.10.0-26-loongson-3-di usb-storage-modules-5.10.0-26-loongson-3-di fb-modules-5.10.0-26-loongson-3-di input-modules-5.10.0-26-loongson-3-di event-modules-5.10.0-26-loongson-3-di nic-usb-modules-5.10.0-26-loongson-3-di sata-modules-5.10.0-26-loongson-3-di crc-modules-5.10.0-26-loongson-3-di crypto-modules-5.10.0-26-loongson-3-di crypto-dm-modules-5.10.0-26-loongson-3-di ata-modules-5.10.0-26-loongson-3-di nbd-modules-5.10.0-26-loongson-3-di speakup-modules-5.10.0-26-loongson-3-di sound-modules-5.10.0-26-loongson-3-di mtd-core-modules-5.10.0-26-loongson-3-di kernel-image-5.10.0-26-octeon-di nic-modules-5.10.0-26-octeon-di nic-wireless-modules-5.10.0-26-octeon-di nic-shared-modules-5.10.0-26-octeon-di usb-serial-modules-5.10.0-26-octeon-di ppp-modules-5.10.0-26-octeon-di pata-modules-5.10.0-26-octeon-di cdrom-core-modules-5.10.0-26-octeon-di scsi-core-modules-5.10.0-26-octeon-di scsi-modules-5.10.0-26-octeon-di scsi-nic-modules-5.10.0-26-octeon-di loop-modules-5.10.0-26-octeon-di btrfs-modules-5.10.0-26-octeon-di ext4-modules-5.10.0-26-octeon-di isofs-modules-5.10.0-26-octeon-di jfs-modules-5.10.0-26-octeon-di xfs-modules-5.10.0-26-octeon-di fat-modules-5.10.0-26-octeon-di affs-modules-5.10.0-26-octeon-di minix-modules-5.10.0-26-octeon-di squashfs-modules-5.10.0-26-octeon-di udf-modules-5.10.0-26-octeon-di fuse-modules-5.10.0-26-octeon-di f2fs-modules-5.10.0-26-octeon-di md-modules-5.10.0-26-octeon-di multipath-modules-5.10.0-26-octeon-di usb-modules-5.10.0-26-octeon-di usb-storage-modules-5.10.0-26-octeon-di input-modules-5.10.0-26-octeon-di event-modules-5.10.0-26-octeon-di nic-usb-modules-5.10.0-26-octeon-di sata-modules-5.10.0-26-octeon-di crc-modules-5.10.0-26-octeon-di crypto-modules-5.10.0-26-octeon-di crypto-dm-modules-5.10.0-26-octeon-di nbd-modules-5.10.0-26-octeon-di rtc-modules-5.10.0-26-octeon-di sound-modules-5.10.0-26-octeon-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_mips64el ABINAME='5.10.0-27' ARCH='mips64el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-5kc-malta-di nic-modules-5.10.0-27-5kc-malta-di nic-wireless-modules-5.10.0-27-5kc-malta-di nic-shared-modules-5.10.0-27-5kc-malta-di usb-serial-modules-5.10.0-27-5kc-malta-di ppp-modules-5.10.0-27-5kc-malta-di pata-modules-5.10.0-27-5kc-malta-di cdrom-core-modules-5.10.0-27-5kc-malta-di scsi-core-modules-5.10.0-27-5kc-malta-di scsi-modules-5.10.0-27-5kc-malta-di scsi-nic-modules-5.10.0-27-5kc-malta-di loop-modules-5.10.0-27-5kc-malta-di btrfs-modules-5.10.0-27-5kc-malta-di ext4-modules-5.10.0-27-5kc-malta-di isofs-modules-5.10.0-27-5kc-malta-di jfs-modules-5.10.0-27-5kc-malta-di xfs-modules-5.10.0-27-5kc-malta-di fat-modules-5.10.0-27-5kc-malta-di affs-modules-5.10.0-27-5kc-malta-di minix-modules-5.10.0-27-5kc-malta-di squashfs-modules-5.10.0-27-5kc-malta-di udf-modules-5.10.0-27-5kc-malta-di fuse-modules-5.10.0-27-5kc-malta-di f2fs-modules-5.10.0-27-5kc-malta-di md-modules-5.10.0-27-5kc-malta-di multipath-modules-5.10.0-27-5kc-malta-di usb-modules-5.10.0-27-5kc-malta-di usb-storage-modules-5.10.0-27-5kc-malta-di fb-modules-5.10.0-27-5kc-malta-di input-modules-5.10.0-27-5kc-malta-di event-modules-5.10.0-27-5kc-malta-di mouse-modules-5.10.0-27-5kc-malta-di nic-usb-modules-5.10.0-27-5kc-malta-di sata-modules-5.10.0-27-5kc-malta-di i2c-modules-5.10.0-27-5kc-malta-di crc-modules-5.10.0-27-5kc-malta-di crypto-modules-5.10.0-27-5kc-malta-di crypto-dm-modules-5.10.0-27-5kc-malta-di ata-modules-5.10.0-27-5kc-malta-di mmc-core-modules-5.10.0-27-5kc-malta-di mmc-modules-5.10.0-27-5kc-malta-di nbd-modules-5.10.0-27-5kc-malta-di sound-modules-5.10.0-27-5kc-malta-di mtd-core-modules-5.10.0-27-5kc-malta-di kernel-image-5.10.0-27-loongson-3-di nic-modules-5.10.0-27-loongson-3-di nic-wireless-modules-5.10.0-27-loongson-3-di nic-shared-modules-5.10.0-27-loongson-3-di usb-serial-modules-5.10.0-27-loongson-3-di ppp-modules-5.10.0-27-loongson-3-di pata-modules-5.10.0-27-loongson-3-di cdrom-core-modules-5.10.0-27-loongson-3-di firewire-core-modules-5.10.0-27-loongson-3-di scsi-core-modules-5.10.0-27-loongson-3-di scsi-modules-5.10.0-27-loongson-3-di scsi-nic-modules-5.10.0-27-loongson-3-di loop-modules-5.10.0-27-loongson-3-di btrfs-modules-5.10.0-27-loongson-3-di ext4-modules-5.10.0-27-loongson-3-di isofs-modules-5.10.0-27-loongson-3-di jfs-modules-5.10.0-27-loongson-3-di xfs-modules-5.10.0-27-loongson-3-di fat-modules-5.10.0-27-loongson-3-di affs-modules-5.10.0-27-loongson-3-di minix-modules-5.10.0-27-loongson-3-di nfs-modules-5.10.0-27-loongson-3-di squashfs-modules-5.10.0-27-loongson-3-di udf-modules-5.10.0-27-loongson-3-di fuse-modules-5.10.0-27-loongson-3-di f2fs-modules-5.10.0-27-loongson-3-di md-modules-5.10.0-27-loongson-3-di multipath-modules-5.10.0-27-loongson-3-di usb-modules-5.10.0-27-loongson-3-di usb-storage-modules-5.10.0-27-loongson-3-di fb-modules-5.10.0-27-loongson-3-di input-modules-5.10.0-27-loongson-3-di event-modules-5.10.0-27-loongson-3-di nic-usb-modules-5.10.0-27-loongson-3-di sata-modules-5.10.0-27-loongson-3-di crc-modules-5.10.0-27-loongson-3-di crypto-modules-5.10.0-27-loongson-3-di crypto-dm-modules-5.10.0-27-loongson-3-di ata-modules-5.10.0-27-loongson-3-di nbd-modules-5.10.0-27-loongson-3-di speakup-modules-5.10.0-27-loongson-3-di sound-modules-5.10.0-27-loongson-3-di mtd-core-modules-5.10.0-27-loongson-3-di kernel-image-5.10.0-27-octeon-di nic-modules-5.10.0-27-octeon-di nic-wireless-modules-5.10.0-27-octeon-di nic-shared-modules-5.10.0-27-octeon-di usb-serial-modules-5.10.0-27-octeon-di ppp-modules-5.10.0-27-octeon-di pata-modules-5.10.0-27-octeon-di cdrom-core-modules-5.10.0-27-octeon-di scsi-core-modules-5.10.0-27-octeon-di scsi-modules-5.10.0-27-octeon-di scsi-nic-modules-5.10.0-27-octeon-di loop-modules-5.10.0-27-octeon-di btrfs-modules-5.10.0-27-octeon-di ext4-modules-5.10.0-27-octeon-di isofs-modules-5.10.0-27-octeon-di jfs-modules-5.10.0-27-octeon-di xfs-modules-5.10.0-27-octeon-di fat-modules-5.10.0-27-octeon-di affs-modules-5.10.0-27-octeon-di minix-modules-5.10.0-27-octeon-di squashfs-modules-5.10.0-27-octeon-di udf-modules-5.10.0-27-octeon-di fuse-modules-5.10.0-27-octeon-di f2fs-modules-5.10.0-27-octeon-di md-modules-5.10.0-27-octeon-di multipath-modules-5.10.0-27-octeon-di usb-modules-5.10.0-27-octeon-di usb-storage-modules-5.10.0-27-octeon-di input-modules-5.10.0-27-octeon-di event-modules-5.10.0-27-octeon-di nic-usb-modules-5.10.0-27-octeon-di sata-modules-5.10.0-27-octeon-di crc-modules-5.10.0-27-octeon-di crypto-modules-5.10.0-27-octeon-di crypto-dm-modules-5.10.0-27-octeon-di nbd-modules-5.10.0-27-octeon-di rtc-modules-5.10.0-27-octeon-di sound-modules-5.10.0-27-octeon-di' UDEB_UNSIGNED_TEST_BUILD=False binary-arch_mips64el_none: binary-arch_mips64el_none_5kc-malta binary-arch_mips64el_none_loongson-3 binary-arch_mips64el_none_octeon binary-arch_mips64el_none_real binary-arch_mips64el_none_5kc-malta: binary-arch_mips64el_none_5kc-malta_real binary-arch_mips64el_none_5kc-malta_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mips64el_none_loongson-3: binary-arch_mips64el_none_loongson-3_real binary-arch_mips64el_none_loongson-3_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-loongson-3' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.loongson-3' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-loongson-3' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.loongson-3' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mips64el_none_octeon: binary-arch_mips64el_none_octeon_real binary-arch_mips64el_none_octeon_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mips64el_none_real: binary-arch_mips64el_real:: setup_mips64el binary-arch_mips64el_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='mips64el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='mips64el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mips64r6:: binary-arch_mips64r6_none binary-arch_mips64r6_real binary-arch_mips64r6:: - $(MAKE) -f debian/rules.real install-udeb_mips64r6 ABINAME='5.10.0-26' ARCH='mips64r6' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-mips64r6-di nic-shared-modules-5.10.0-26-mips64r6-di loop-modules-5.10.0-26-mips64r6-di btrfs-modules-5.10.0-26-mips64r6-di ext4-modules-5.10.0-26-mips64r6-di isofs-modules-5.10.0-26-mips64r6-di jfs-modules-5.10.0-26-mips64r6-di xfs-modules-5.10.0-26-mips64r6-di squashfs-modules-5.10.0-26-mips64r6-di udf-modules-5.10.0-26-mips64r6-di fuse-modules-5.10.0-26-mips64r6-di f2fs-modules-5.10.0-26-mips64r6-di md-modules-5.10.0-26-mips64r6-di multipath-modules-5.10.0-26-mips64r6-di crc-modules-5.10.0-26-mips64r6-di crypto-modules-5.10.0-26-mips64r6-di crypto-dm-modules-5.10.0-26-mips64r6-di nbd-modules-5.10.0-26-mips64r6-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_mips64r6 ABINAME='5.10.0-27' ARCH='mips64r6' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-mips64r6-di nic-shared-modules-5.10.0-27-mips64r6-di loop-modules-5.10.0-27-mips64r6-di btrfs-modules-5.10.0-27-mips64r6-di ext4-modules-5.10.0-27-mips64r6-di isofs-modules-5.10.0-27-mips64r6-di jfs-modules-5.10.0-27-mips64r6-di xfs-modules-5.10.0-27-mips64r6-di squashfs-modules-5.10.0-27-mips64r6-di udf-modules-5.10.0-27-mips64r6-di fuse-modules-5.10.0-27-mips64r6-di f2fs-modules-5.10.0-27-mips64r6-di md-modules-5.10.0-27-mips64r6-di multipath-modules-5.10.0-27-mips64r6-di crc-modules-5.10.0-27-mips64r6-di crypto-modules-5.10.0-27-mips64r6-di crypto-dm-modules-5.10.0-27-mips64r6-di nbd-modules-5.10.0-27-mips64r6-di' UDEB_UNSIGNED_TEST_BUILD=False binary-arch_mips64r6_none: binary-arch_mips64r6_none_mips64r6 binary-arch_mips64r6_none_real binary-arch_mips64r6_none_mips64r6: binary-arch_mips64r6_none_mips64r6_real binary-arch_mips64r6_none_mips64r6_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='mips64r6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips64r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64r6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='mips64r6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips64r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64r6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mips64r6_none_real: binary-arch_mips64r6_real:: setup_mips64r6 binary-arch_mips64r6_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='mips64r6' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='mips64r6' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mips64r6el:: binary-arch_mips64r6el_none binary-arch_mips64r6el_real binary-arch_mips64r6el:: - $(MAKE) -f debian/rules.real install-udeb_mips64r6el ABINAME='5.10.0-26' ARCH='mips64r6el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-mips64r6el-di nic-shared-modules-5.10.0-26-mips64r6el-di loop-modules-5.10.0-26-mips64r6el-di btrfs-modules-5.10.0-26-mips64r6el-di ext4-modules-5.10.0-26-mips64r6el-di isofs-modules-5.10.0-26-mips64r6el-di jfs-modules-5.10.0-26-mips64r6el-di xfs-modules-5.10.0-26-mips64r6el-di squashfs-modules-5.10.0-26-mips64r6el-di udf-modules-5.10.0-26-mips64r6el-di fuse-modules-5.10.0-26-mips64r6el-di f2fs-modules-5.10.0-26-mips64r6el-di md-modules-5.10.0-26-mips64r6el-di multipath-modules-5.10.0-26-mips64r6el-di crc-modules-5.10.0-26-mips64r6el-di crypto-modules-5.10.0-26-mips64r6el-di crypto-dm-modules-5.10.0-26-mips64r6el-di nbd-modules-5.10.0-26-mips64r6el-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_mips64r6el ABINAME='5.10.0-27' ARCH='mips64r6el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-mips64r6el-di nic-shared-modules-5.10.0-27-mips64r6el-di loop-modules-5.10.0-27-mips64r6el-di btrfs-modules-5.10.0-27-mips64r6el-di ext4-modules-5.10.0-27-mips64r6el-di isofs-modules-5.10.0-27-mips64r6el-di jfs-modules-5.10.0-27-mips64r6el-di xfs-modules-5.10.0-27-mips64r6el-di squashfs-modules-5.10.0-27-mips64r6el-di udf-modules-5.10.0-27-mips64r6el-di fuse-modules-5.10.0-27-mips64r6el-di f2fs-modules-5.10.0-27-mips64r6el-di md-modules-5.10.0-27-mips64r6el-di multipath-modules-5.10.0-27-mips64r6el-di crc-modules-5.10.0-27-mips64r6el-di crypto-modules-5.10.0-27-mips64r6el-di crypto-dm-modules-5.10.0-27-mips64r6el-di nbd-modules-5.10.0-27-mips64r6el-di' UDEB_UNSIGNED_TEST_BUILD=False binary-arch_mips64r6el_none: binary-arch_mips64r6el_none_mips64r6el binary-arch_mips64r6el_none_real binary-arch_mips64r6el_none_mips64r6el: binary-arch_mips64r6el_none_mips64r6el_real binary-arch_mips64r6el_none_mips64r6el_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='mips64r6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips64r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64r6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='mips64r6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips64r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64r6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mips64r6el_none_real: binary-arch_mips64r6el_real:: setup_mips64r6el binary-arch_mips64r6el_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='mips64r6el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='mips64r6el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mips_none: binary-arch_mips_none_4kc-malta binary-arch_mips_none_5kc-malta binary-arch_mips_none_octeon binary-arch_mips_none_real binary-arch_mips_none_4kc-malta: binary-arch_mips_none_4kc-malta_real binary-arch_mips_none_4kc-malta_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-4kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips32r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-4kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips32r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mips_none_5kc-malta: binary-arch_mips_none_5kc-malta_real binary-arch_mips_none_5kc-malta_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mips_none_octeon: binary-arch_mips_none_octeon_real binary-arch_mips_none_octeon_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mips_none_real: binary-arch_mips_real:: setup_mips binary-arch_mips_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='mips' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='mips' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mipsel:: binary-arch_mipsel_none binary-arch_mipsel_real binary-arch_mipsel:: - $(MAKE) -f debian/rules.real install-udeb_mipsel ABINAME='5.10.0-26' ARCH='mipsel' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-4kc-malta-di nic-modules-5.10.0-26-4kc-malta-di nic-wireless-modules-5.10.0-26-4kc-malta-di nic-shared-modules-5.10.0-26-4kc-malta-di usb-serial-modules-5.10.0-26-4kc-malta-di ppp-modules-5.10.0-26-4kc-malta-di pata-modules-5.10.0-26-4kc-malta-di cdrom-core-modules-5.10.0-26-4kc-malta-di scsi-core-modules-5.10.0-26-4kc-malta-di scsi-modules-5.10.0-26-4kc-malta-di scsi-nic-modules-5.10.0-26-4kc-malta-di loop-modules-5.10.0-26-4kc-malta-di btrfs-modules-5.10.0-26-4kc-malta-di ext4-modules-5.10.0-26-4kc-malta-di isofs-modules-5.10.0-26-4kc-malta-di jfs-modules-5.10.0-26-4kc-malta-di xfs-modules-5.10.0-26-4kc-malta-di fat-modules-5.10.0-26-4kc-malta-di affs-modules-5.10.0-26-4kc-malta-di minix-modules-5.10.0-26-4kc-malta-di squashfs-modules-5.10.0-26-4kc-malta-di udf-modules-5.10.0-26-4kc-malta-di fuse-modules-5.10.0-26-4kc-malta-di f2fs-modules-5.10.0-26-4kc-malta-di md-modules-5.10.0-26-4kc-malta-di multipath-modules-5.10.0-26-4kc-malta-di usb-modules-5.10.0-26-4kc-malta-di usb-storage-modules-5.10.0-26-4kc-malta-di fb-modules-5.10.0-26-4kc-malta-di input-modules-5.10.0-26-4kc-malta-di event-modules-5.10.0-26-4kc-malta-di mouse-modules-5.10.0-26-4kc-malta-di nic-usb-modules-5.10.0-26-4kc-malta-di sata-modules-5.10.0-26-4kc-malta-di i2c-modules-5.10.0-26-4kc-malta-di crc-modules-5.10.0-26-4kc-malta-di crypto-modules-5.10.0-26-4kc-malta-di crypto-dm-modules-5.10.0-26-4kc-malta-di ata-modules-5.10.0-26-4kc-malta-di mmc-core-modules-5.10.0-26-4kc-malta-di mmc-modules-5.10.0-26-4kc-malta-di nbd-modules-5.10.0-26-4kc-malta-di sound-modules-5.10.0-26-4kc-malta-di mtd-core-modules-5.10.0-26-4kc-malta-di kernel-image-5.10.0-26-loongson-3-di nic-modules-5.10.0-26-loongson-3-di nic-wireless-modules-5.10.0-26-loongson-3-di nic-shared-modules-5.10.0-26-loongson-3-di usb-serial-modules-5.10.0-26-loongson-3-di ppp-modules-5.10.0-26-loongson-3-di pata-modules-5.10.0-26-loongson-3-di cdrom-core-modules-5.10.0-26-loongson-3-di firewire-core-modules-5.10.0-26-loongson-3-di scsi-core-modules-5.10.0-26-loongson-3-di scsi-modules-5.10.0-26-loongson-3-di scsi-nic-modules-5.10.0-26-loongson-3-di loop-modules-5.10.0-26-loongson-3-di btrfs-modules-5.10.0-26-loongson-3-di ext4-modules-5.10.0-26-loongson-3-di isofs-modules-5.10.0-26-loongson-3-di jfs-modules-5.10.0-26-loongson-3-di xfs-modules-5.10.0-26-loongson-3-di fat-modules-5.10.0-26-loongson-3-di affs-modules-5.10.0-26-loongson-3-di minix-modules-5.10.0-26-loongson-3-di nfs-modules-5.10.0-26-loongson-3-di squashfs-modules-5.10.0-26-loongson-3-di udf-modules-5.10.0-26-loongson-3-di fuse-modules-5.10.0-26-loongson-3-di f2fs-modules-5.10.0-26-loongson-3-di md-modules-5.10.0-26-loongson-3-di multipath-modules-5.10.0-26-loongson-3-di usb-modules-5.10.0-26-loongson-3-di usb-storage-modules-5.10.0-26-loongson-3-di fb-modules-5.10.0-26-loongson-3-di input-modules-5.10.0-26-loongson-3-di event-modules-5.10.0-26-loongson-3-di nic-usb-modules-5.10.0-26-loongson-3-di sata-modules-5.10.0-26-loongson-3-di crc-modules-5.10.0-26-loongson-3-di crypto-modules-5.10.0-26-loongson-3-di crypto-dm-modules-5.10.0-26-loongson-3-di ata-modules-5.10.0-26-loongson-3-di nbd-modules-5.10.0-26-loongson-3-di speakup-modules-5.10.0-26-loongson-3-di sound-modules-5.10.0-26-loongson-3-di mtd-core-modules-5.10.0-26-loongson-3-di kernel-image-5.10.0-26-octeon-di nic-modules-5.10.0-26-octeon-di nic-wireless-modules-5.10.0-26-octeon-di nic-shared-modules-5.10.0-26-octeon-di usb-serial-modules-5.10.0-26-octeon-di ppp-modules-5.10.0-26-octeon-di pata-modules-5.10.0-26-octeon-di cdrom-core-modules-5.10.0-26-octeon-di scsi-core-modules-5.10.0-26-octeon-di scsi-modules-5.10.0-26-octeon-di scsi-nic-modules-5.10.0-26-octeon-di loop-modules-5.10.0-26-octeon-di btrfs-modules-5.10.0-26-octeon-di ext4-modules-5.10.0-26-octeon-di isofs-modules-5.10.0-26-octeon-di jfs-modules-5.10.0-26-octeon-di xfs-modules-5.10.0-26-octeon-di fat-modules-5.10.0-26-octeon-di affs-modules-5.10.0-26-octeon-di minix-modules-5.10.0-26-octeon-di squashfs-modules-5.10.0-26-octeon-di udf-modules-5.10.0-26-octeon-di fuse-modules-5.10.0-26-octeon-di f2fs-modules-5.10.0-26-octeon-di md-modules-5.10.0-26-octeon-di multipath-modules-5.10.0-26-octeon-di usb-modules-5.10.0-26-octeon-di usb-storage-modules-5.10.0-26-octeon-di input-modules-5.10.0-26-octeon-di event-modules-5.10.0-26-octeon-di nic-usb-modules-5.10.0-26-octeon-di sata-modules-5.10.0-26-octeon-di crc-modules-5.10.0-26-octeon-di crypto-modules-5.10.0-26-octeon-di crypto-dm-modules-5.10.0-26-octeon-di nbd-modules-5.10.0-26-octeon-di rtc-modules-5.10.0-26-octeon-di sound-modules-5.10.0-26-octeon-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_mipsel ABINAME='5.10.0-27' ARCH='mipsel' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-4kc-malta-di nic-modules-5.10.0-27-4kc-malta-di nic-wireless-modules-5.10.0-27-4kc-malta-di nic-shared-modules-5.10.0-27-4kc-malta-di usb-serial-modules-5.10.0-27-4kc-malta-di ppp-modules-5.10.0-27-4kc-malta-di pata-modules-5.10.0-27-4kc-malta-di cdrom-core-modules-5.10.0-27-4kc-malta-di scsi-core-modules-5.10.0-27-4kc-malta-di scsi-modules-5.10.0-27-4kc-malta-di scsi-nic-modules-5.10.0-27-4kc-malta-di loop-modules-5.10.0-27-4kc-malta-di btrfs-modules-5.10.0-27-4kc-malta-di ext4-modules-5.10.0-27-4kc-malta-di isofs-modules-5.10.0-27-4kc-malta-di jfs-modules-5.10.0-27-4kc-malta-di xfs-modules-5.10.0-27-4kc-malta-di fat-modules-5.10.0-27-4kc-malta-di affs-modules-5.10.0-27-4kc-malta-di minix-modules-5.10.0-27-4kc-malta-di squashfs-modules-5.10.0-27-4kc-malta-di udf-modules-5.10.0-27-4kc-malta-di fuse-modules-5.10.0-27-4kc-malta-di f2fs-modules-5.10.0-27-4kc-malta-di md-modules-5.10.0-27-4kc-malta-di multipath-modules-5.10.0-27-4kc-malta-di usb-modules-5.10.0-27-4kc-malta-di usb-storage-modules-5.10.0-27-4kc-malta-di fb-modules-5.10.0-27-4kc-malta-di input-modules-5.10.0-27-4kc-malta-di event-modules-5.10.0-27-4kc-malta-di mouse-modules-5.10.0-27-4kc-malta-di nic-usb-modules-5.10.0-27-4kc-malta-di sata-modules-5.10.0-27-4kc-malta-di i2c-modules-5.10.0-27-4kc-malta-di crc-modules-5.10.0-27-4kc-malta-di crypto-modules-5.10.0-27-4kc-malta-di crypto-dm-modules-5.10.0-27-4kc-malta-di ata-modules-5.10.0-27-4kc-malta-di mmc-core-modules-5.10.0-27-4kc-malta-di mmc-modules-5.10.0-27-4kc-malta-di nbd-modules-5.10.0-27-4kc-malta-di sound-modules-5.10.0-27-4kc-malta-di mtd-core-modules-5.10.0-27-4kc-malta-di kernel-image-5.10.0-27-loongson-3-di nic-modules-5.10.0-27-loongson-3-di nic-wireless-modules-5.10.0-27-loongson-3-di nic-shared-modules-5.10.0-27-loongson-3-di usb-serial-modules-5.10.0-27-loongson-3-di ppp-modules-5.10.0-27-loongson-3-di pata-modules-5.10.0-27-loongson-3-di cdrom-core-modules-5.10.0-27-loongson-3-di firewire-core-modules-5.10.0-27-loongson-3-di scsi-core-modules-5.10.0-27-loongson-3-di scsi-modules-5.10.0-27-loongson-3-di scsi-nic-modules-5.10.0-27-loongson-3-di loop-modules-5.10.0-27-loongson-3-di btrfs-modules-5.10.0-27-loongson-3-di ext4-modules-5.10.0-27-loongson-3-di isofs-modules-5.10.0-27-loongson-3-di jfs-modules-5.10.0-27-loongson-3-di xfs-modules-5.10.0-27-loongson-3-di fat-modules-5.10.0-27-loongson-3-di affs-modules-5.10.0-27-loongson-3-di minix-modules-5.10.0-27-loongson-3-di nfs-modules-5.10.0-27-loongson-3-di squashfs-modules-5.10.0-27-loongson-3-di udf-modules-5.10.0-27-loongson-3-di fuse-modules-5.10.0-27-loongson-3-di f2fs-modules-5.10.0-27-loongson-3-di md-modules-5.10.0-27-loongson-3-di multipath-modules-5.10.0-27-loongson-3-di usb-modules-5.10.0-27-loongson-3-di usb-storage-modules-5.10.0-27-loongson-3-di fb-modules-5.10.0-27-loongson-3-di input-modules-5.10.0-27-loongson-3-di event-modules-5.10.0-27-loongson-3-di nic-usb-modules-5.10.0-27-loongson-3-di sata-modules-5.10.0-27-loongson-3-di crc-modules-5.10.0-27-loongson-3-di crypto-modules-5.10.0-27-loongson-3-di crypto-dm-modules-5.10.0-27-loongson-3-di ata-modules-5.10.0-27-loongson-3-di nbd-modules-5.10.0-27-loongson-3-di speakup-modules-5.10.0-27-loongson-3-di sound-modules-5.10.0-27-loongson-3-di mtd-core-modules-5.10.0-27-loongson-3-di kernel-image-5.10.0-27-octeon-di nic-modules-5.10.0-27-octeon-di nic-wireless-modules-5.10.0-27-octeon-di nic-shared-modules-5.10.0-27-octeon-di usb-serial-modules-5.10.0-27-octeon-di ppp-modules-5.10.0-27-octeon-di pata-modules-5.10.0-27-octeon-di cdrom-core-modules-5.10.0-27-octeon-di scsi-core-modules-5.10.0-27-octeon-di scsi-modules-5.10.0-27-octeon-di scsi-nic-modules-5.10.0-27-octeon-di loop-modules-5.10.0-27-octeon-di btrfs-modules-5.10.0-27-octeon-di ext4-modules-5.10.0-27-octeon-di isofs-modules-5.10.0-27-octeon-di jfs-modules-5.10.0-27-octeon-di xfs-modules-5.10.0-27-octeon-di fat-modules-5.10.0-27-octeon-di affs-modules-5.10.0-27-octeon-di minix-modules-5.10.0-27-octeon-di squashfs-modules-5.10.0-27-octeon-di udf-modules-5.10.0-27-octeon-di fuse-modules-5.10.0-27-octeon-di f2fs-modules-5.10.0-27-octeon-di md-modules-5.10.0-27-octeon-di multipath-modules-5.10.0-27-octeon-di usb-modules-5.10.0-27-octeon-di usb-storage-modules-5.10.0-27-octeon-di input-modules-5.10.0-27-octeon-di event-modules-5.10.0-27-octeon-di nic-usb-modules-5.10.0-27-octeon-di sata-modules-5.10.0-27-octeon-di crc-modules-5.10.0-27-octeon-di crypto-modules-5.10.0-27-octeon-di crypto-dm-modules-5.10.0-27-octeon-di nbd-modules-5.10.0-27-octeon-di rtc-modules-5.10.0-27-octeon-di sound-modules-5.10.0-27-octeon-di' UDEB_UNSIGNED_TEST_BUILD=False binary-arch_mipsel_none: binary-arch_mipsel_none_4kc-malta binary-arch_mipsel_none_5kc-malta binary-arch_mipsel_none_loongson-3 binary-arch_mipsel_none_octeon binary-arch_mipsel_none_real binary-arch_mipsel_none_4kc-malta: binary-arch_mipsel_none_4kc-malta_real binary-arch_mipsel_none_4kc-malta_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-4kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips32r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-4kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips32r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mipsel_none_5kc-malta: binary-arch_mipsel_none_5kc-malta_real binary-arch_mipsel_none_5kc-malta_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mipsel_none_loongson-3: binary-arch_mipsel_none_loongson-3_real binary-arch_mipsel_none_loongson-3_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-loongson-3' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.loongson-3' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-loongson-3' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.loongson-3' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mipsel_none_octeon: binary-arch_mipsel_none_octeon_real binary-arch_mipsel_none_octeon_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mipsel_none_real: binary-arch_mipsel_real:: setup_mipsel binary-arch_mipsel_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='mipsel' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='mipsel' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mipsn32: binary-arch_mipsn32_real binary-arch_mipsn32_real:: setup_mipsn32 binary-arch_mipsn32_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='mipsn32' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='mipsn32' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mipsn32el: binary-arch_mipsn32el_real binary-arch_mipsn32el_real:: setup_mipsn32el binary-arch_mipsn32el_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='mipsn32el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='mipsn32el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mipsn32r6: binary-arch_mipsn32r6_real binary-arch_mipsn32r6_real:: setup_mipsn32r6 binary-arch_mipsn32r6_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='mipsn32r6' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='mipsn32r6' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mipsn32r6el: binary-arch_mipsn32r6el_real binary-arch_mipsn32r6el_real:: setup_mipsn32r6el binary-arch_mipsn32r6el_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='mipsn32r6el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='mipsn32r6el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mipsr6:: binary-arch_mipsr6_none binary-arch_mipsr6_real binary-arch_mipsr6:: - $(MAKE) -f debian/rules.real install-udeb_mipsr6 ABINAME='5.10.0-26' ARCH='mipsr6' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-mips32r6-di nic-shared-modules-5.10.0-26-mips32r6-di loop-modules-5.10.0-26-mips32r6-di btrfs-modules-5.10.0-26-mips32r6-di ext4-modules-5.10.0-26-mips32r6-di isofs-modules-5.10.0-26-mips32r6-di jfs-modules-5.10.0-26-mips32r6-di xfs-modules-5.10.0-26-mips32r6-di squashfs-modules-5.10.0-26-mips32r6-di udf-modules-5.10.0-26-mips32r6-di fuse-modules-5.10.0-26-mips32r6-di f2fs-modules-5.10.0-26-mips32r6-di md-modules-5.10.0-26-mips32r6-di multipath-modules-5.10.0-26-mips32r6-di crc-modules-5.10.0-26-mips32r6-di crypto-modules-5.10.0-26-mips32r6-di crypto-dm-modules-5.10.0-26-mips32r6-di nbd-modules-5.10.0-26-mips32r6-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_mipsr6 ABINAME='5.10.0-27' ARCH='mipsr6' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-mips32r6-di nic-shared-modules-5.10.0-27-mips32r6-di loop-modules-5.10.0-27-mips32r6-di btrfs-modules-5.10.0-27-mips32r6-di ext4-modules-5.10.0-27-mips32r6-di isofs-modules-5.10.0-27-mips32r6-di jfs-modules-5.10.0-27-mips32r6-di xfs-modules-5.10.0-27-mips32r6-di squashfs-modules-5.10.0-27-mips32r6-di udf-modules-5.10.0-27-mips32r6-di fuse-modules-5.10.0-27-mips32r6-di f2fs-modules-5.10.0-27-mips32r6-di md-modules-5.10.0-27-mips32r6-di multipath-modules-5.10.0-27-mips32r6-di crc-modules-5.10.0-27-mips32r6-di crypto-modules-5.10.0-27-mips32r6-di crypto-dm-modules-5.10.0-27-mips32r6-di nbd-modules-5.10.0-27-mips32r6-di' UDEB_UNSIGNED_TEST_BUILD=False binary-arch_mipsr6_none: binary-arch_mipsr6_none_mips32r6 binary-arch_mipsr6_none_mips64r6 binary-arch_mipsr6_none_real binary-arch_mipsr6_none_mips32r6: binary-arch_mipsr6_none_mips32r6_real binary-arch_mipsr6_none_mips32r6_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='mipsr6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips32r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips32r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips32r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='mipsr6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips32r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips32r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips32r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mipsr6_none_mips64r6: binary-arch_mipsr6_none_mips64r6_real binary-arch_mipsr6_none_mips64r6_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='mipsr6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips64r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='mipsr6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips64r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mipsr6_none_real: binary-arch_mipsr6_real:: setup_mipsr6 binary-arch_mipsr6_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='mipsr6' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='mipsr6' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mipsr6el:: binary-arch_mipsr6el_none binary-arch_mipsr6el_real binary-arch_mipsr6el:: - $(MAKE) -f debian/rules.real install-udeb_mipsr6el ABINAME='5.10.0-26' ARCH='mipsr6el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-mips32r6el-di nic-shared-modules-5.10.0-26-mips32r6el-di loop-modules-5.10.0-26-mips32r6el-di btrfs-modules-5.10.0-26-mips32r6el-di ext4-modules-5.10.0-26-mips32r6el-di isofs-modules-5.10.0-26-mips32r6el-di jfs-modules-5.10.0-26-mips32r6el-di xfs-modules-5.10.0-26-mips32r6el-di squashfs-modules-5.10.0-26-mips32r6el-di udf-modules-5.10.0-26-mips32r6el-di fuse-modules-5.10.0-26-mips32r6el-di f2fs-modules-5.10.0-26-mips32r6el-di md-modules-5.10.0-26-mips32r6el-di multipath-modules-5.10.0-26-mips32r6el-di crc-modules-5.10.0-26-mips32r6el-di crypto-modules-5.10.0-26-mips32r6el-di crypto-dm-modules-5.10.0-26-mips32r6el-di nbd-modules-5.10.0-26-mips32r6el-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_mipsr6el ABINAME='5.10.0-27' ARCH='mipsr6el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-mips32r6el-di nic-shared-modules-5.10.0-27-mips32r6el-di loop-modules-5.10.0-27-mips32r6el-di btrfs-modules-5.10.0-27-mips32r6el-di ext4-modules-5.10.0-27-mips32r6el-di isofs-modules-5.10.0-27-mips32r6el-di jfs-modules-5.10.0-27-mips32r6el-di xfs-modules-5.10.0-27-mips32r6el-di squashfs-modules-5.10.0-27-mips32r6el-di udf-modules-5.10.0-27-mips32r6el-di fuse-modules-5.10.0-27-mips32r6el-di f2fs-modules-5.10.0-27-mips32r6el-di md-modules-5.10.0-27-mips32r6el-di multipath-modules-5.10.0-27-mips32r6el-di crc-modules-5.10.0-27-mips32r6el-di crypto-modules-5.10.0-27-mips32r6el-di crypto-dm-modules-5.10.0-27-mips32r6el-di nbd-modules-5.10.0-27-mips32r6el-di' UDEB_UNSIGNED_TEST_BUILD=False binary-arch_mipsr6el_none: binary-arch_mipsr6el_none_mips32r6el binary-arch_mipsr6el_none_mips64r6el binary-arch_mipsr6el_none_real binary-arch_mipsr6el_none_mips32r6el: binary-arch_mipsr6el_none_mips32r6el_real binary-arch_mipsr6el_none_mips32r6el_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='mipsr6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips32r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips32r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips32r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6el' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='mipsr6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips32r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips32r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips32r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6el' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mipsr6el_none_mips64r6el: binary-arch_mipsr6el_none_mips64r6el_real binary-arch_mipsr6el_none_mips64r6el_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='mipsr6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips64r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='mipsr6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips64r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_mipsr6el_none_real: binary-arch_mipsr6el_real:: setup_mipsr6el binary-arch_mipsr6el_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='mipsr6el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='mipsr6el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_powerpc:: binary-arch_powerpc_none binary-arch_powerpc_real binary-arch_powerpc:: - $(MAKE) -f debian/rules.real install-udeb_powerpc ABINAME='5.10.0-26' ARCH='powerpc' KERNEL_ARCH='powerpc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-powerpc-di nic-modules-5.10.0-26-powerpc-di nic-wireless-modules-5.10.0-26-powerpc-di nic-shared-modules-5.10.0-26-powerpc-di serial-modules-5.10.0-26-powerpc-di usb-serial-modules-5.10.0-26-powerpc-di ppp-modules-5.10.0-26-powerpc-di pata-modules-5.10.0-26-powerpc-di cdrom-core-modules-5.10.0-26-powerpc-di firewire-core-modules-5.10.0-26-powerpc-di scsi-core-modules-5.10.0-26-powerpc-di scsi-modules-5.10.0-26-powerpc-di scsi-nic-modules-5.10.0-26-powerpc-di loop-modules-5.10.0-26-powerpc-di btrfs-modules-5.10.0-26-powerpc-di ext4-modules-5.10.0-26-powerpc-di isofs-modules-5.10.0-26-powerpc-di jfs-modules-5.10.0-26-powerpc-di xfs-modules-5.10.0-26-powerpc-di fat-modules-5.10.0-26-powerpc-di hfs-modules-5.10.0-26-powerpc-di affs-modules-5.10.0-26-powerpc-di squashfs-modules-5.10.0-26-powerpc-di udf-modules-5.10.0-26-powerpc-di fuse-modules-5.10.0-26-powerpc-di f2fs-modules-5.10.0-26-powerpc-di md-modules-5.10.0-26-powerpc-di multipath-modules-5.10.0-26-powerpc-di usb-modules-5.10.0-26-powerpc-di usb-storage-modules-5.10.0-26-powerpc-di pcmcia-storage-modules-5.10.0-26-powerpc-di fb-modules-5.10.0-26-powerpc-di input-modules-5.10.0-26-powerpc-di event-modules-5.10.0-26-powerpc-di mouse-modules-5.10.0-26-powerpc-di nic-pcmcia-modules-5.10.0-26-powerpc-di pcmcia-modules-5.10.0-26-powerpc-di nic-usb-modules-5.10.0-26-powerpc-di sata-modules-5.10.0-26-powerpc-di crc-modules-5.10.0-26-powerpc-di crypto-modules-5.10.0-26-powerpc-di crypto-dm-modules-5.10.0-26-powerpc-di ata-modules-5.10.0-26-powerpc-di mmc-core-modules-5.10.0-26-powerpc-di nbd-modules-5.10.0-26-powerpc-di uinput-modules-5.10.0-26-powerpc-di kernel-image-5.10.0-26-powerpc64-di nic-modules-5.10.0-26-powerpc64-di nic-wireless-modules-5.10.0-26-powerpc64-di nic-shared-modules-5.10.0-26-powerpc64-di serial-modules-5.10.0-26-powerpc64-di usb-serial-modules-5.10.0-26-powerpc64-di ppp-modules-5.10.0-26-powerpc64-di pata-modules-5.10.0-26-powerpc64-di cdrom-core-modules-5.10.0-26-powerpc64-di firewire-core-modules-5.10.0-26-powerpc64-di scsi-core-modules-5.10.0-26-powerpc64-di scsi-modules-5.10.0-26-powerpc64-di scsi-nic-modules-5.10.0-26-powerpc64-di loop-modules-5.10.0-26-powerpc64-di btrfs-modules-5.10.0-26-powerpc64-di ext4-modules-5.10.0-26-powerpc64-di isofs-modules-5.10.0-26-powerpc64-di jfs-modules-5.10.0-26-powerpc64-di xfs-modules-5.10.0-26-powerpc64-di fat-modules-5.10.0-26-powerpc64-di hfs-modules-5.10.0-26-powerpc64-di affs-modules-5.10.0-26-powerpc64-di squashfs-modules-5.10.0-26-powerpc64-di udf-modules-5.10.0-26-powerpc64-di fuse-modules-5.10.0-26-powerpc64-di f2fs-modules-5.10.0-26-powerpc64-di md-modules-5.10.0-26-powerpc64-di multipath-modules-5.10.0-26-powerpc64-di usb-modules-5.10.0-26-powerpc64-di usb-storage-modules-5.10.0-26-powerpc64-di pcmcia-storage-modules-5.10.0-26-powerpc64-di fb-modules-5.10.0-26-powerpc64-di input-modules-5.10.0-26-powerpc64-di event-modules-5.10.0-26-powerpc64-di mouse-modules-5.10.0-26-powerpc64-di nic-pcmcia-modules-5.10.0-26-powerpc64-di pcmcia-modules-5.10.0-26-powerpc64-di nic-usb-modules-5.10.0-26-powerpc64-di sata-modules-5.10.0-26-powerpc64-di i2c-modules-5.10.0-26-powerpc64-di crc-modules-5.10.0-26-powerpc64-di crypto-modules-5.10.0-26-powerpc64-di crypto-dm-modules-5.10.0-26-powerpc64-di ata-modules-5.10.0-26-powerpc64-di mmc-core-modules-5.10.0-26-powerpc64-di nbd-modules-5.10.0-26-powerpc64-di uinput-modules-5.10.0-26-powerpc64-di mtd-core-modules-5.10.0-26-powerpc64-di hypervisor-modules-5.10.0-26-powerpc64-di fancontrol-modules-5.10.0-26-powerpc64-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_powerpc ABINAME='5.10.0-27' ARCH='powerpc' KERNEL_ARCH='powerpc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-powerpc-di nic-modules-5.10.0-27-powerpc-di nic-wireless-modules-5.10.0-27-powerpc-di nic-shared-modules-5.10.0-27-powerpc-di serial-modules-5.10.0-27-powerpc-di usb-serial-modules-5.10.0-27-powerpc-di ppp-modules-5.10.0-27-powerpc-di pata-modules-5.10.0-27-powerpc-di cdrom-core-modules-5.10.0-27-powerpc-di firewire-core-modules-5.10.0-27-powerpc-di scsi-core-modules-5.10.0-27-powerpc-di scsi-modules-5.10.0-27-powerpc-di scsi-nic-modules-5.10.0-27-powerpc-di loop-modules-5.10.0-27-powerpc-di btrfs-modules-5.10.0-27-powerpc-di ext4-modules-5.10.0-27-powerpc-di isofs-modules-5.10.0-27-powerpc-di jfs-modules-5.10.0-27-powerpc-di xfs-modules-5.10.0-27-powerpc-di fat-modules-5.10.0-27-powerpc-di hfs-modules-5.10.0-27-powerpc-di affs-modules-5.10.0-27-powerpc-di squashfs-modules-5.10.0-27-powerpc-di udf-modules-5.10.0-27-powerpc-di fuse-modules-5.10.0-27-powerpc-di f2fs-modules-5.10.0-27-powerpc-di md-modules-5.10.0-27-powerpc-di multipath-modules-5.10.0-27-powerpc-di usb-modules-5.10.0-27-powerpc-di usb-storage-modules-5.10.0-27-powerpc-di pcmcia-storage-modules-5.10.0-27-powerpc-di fb-modules-5.10.0-27-powerpc-di input-modules-5.10.0-27-powerpc-di event-modules-5.10.0-27-powerpc-di mouse-modules-5.10.0-27-powerpc-di nic-pcmcia-modules-5.10.0-27-powerpc-di pcmcia-modules-5.10.0-27-powerpc-di nic-usb-modules-5.10.0-27-powerpc-di sata-modules-5.10.0-27-powerpc-di crc-modules-5.10.0-27-powerpc-di crypto-modules-5.10.0-27-powerpc-di crypto-dm-modules-5.10.0-27-powerpc-di ata-modules-5.10.0-27-powerpc-di mmc-core-modules-5.10.0-27-powerpc-di nbd-modules-5.10.0-27-powerpc-di uinput-modules-5.10.0-27-powerpc-di kernel-image-5.10.0-27-powerpc64-di nic-modules-5.10.0-27-powerpc64-di nic-wireless-modules-5.10.0-27-powerpc64-di nic-shared-modules-5.10.0-27-powerpc64-di serial-modules-5.10.0-27-powerpc64-di usb-serial-modules-5.10.0-27-powerpc64-di ppp-modules-5.10.0-27-powerpc64-di pata-modules-5.10.0-27-powerpc64-di cdrom-core-modules-5.10.0-27-powerpc64-di firewire-core-modules-5.10.0-27-powerpc64-di scsi-core-modules-5.10.0-27-powerpc64-di scsi-modules-5.10.0-27-powerpc64-di scsi-nic-modules-5.10.0-27-powerpc64-di loop-modules-5.10.0-27-powerpc64-di btrfs-modules-5.10.0-27-powerpc64-di ext4-modules-5.10.0-27-powerpc64-di isofs-modules-5.10.0-27-powerpc64-di jfs-modules-5.10.0-27-powerpc64-di xfs-modules-5.10.0-27-powerpc64-di fat-modules-5.10.0-27-powerpc64-di hfs-modules-5.10.0-27-powerpc64-di affs-modules-5.10.0-27-powerpc64-di squashfs-modules-5.10.0-27-powerpc64-di udf-modules-5.10.0-27-powerpc64-di fuse-modules-5.10.0-27-powerpc64-di f2fs-modules-5.10.0-27-powerpc64-di md-modules-5.10.0-27-powerpc64-di multipath-modules-5.10.0-27-powerpc64-di usb-modules-5.10.0-27-powerpc64-di usb-storage-modules-5.10.0-27-powerpc64-di pcmcia-storage-modules-5.10.0-27-powerpc64-di fb-modules-5.10.0-27-powerpc64-di input-modules-5.10.0-27-powerpc64-di event-modules-5.10.0-27-powerpc64-di mouse-modules-5.10.0-27-powerpc64-di nic-pcmcia-modules-5.10.0-27-powerpc64-di pcmcia-modules-5.10.0-27-powerpc64-di nic-usb-modules-5.10.0-27-powerpc64-di sata-modules-5.10.0-27-powerpc64-di i2c-modules-5.10.0-27-powerpc64-di crc-modules-5.10.0-27-powerpc64-di crypto-modules-5.10.0-27-powerpc64-di crypto-dm-modules-5.10.0-27-powerpc64-di ata-modules-5.10.0-27-powerpc64-di mmc-core-modules-5.10.0-27-powerpc64-di nbd-modules-5.10.0-27-powerpc64-di uinput-modules-5.10.0-27-powerpc64-di mtd-core-modules-5.10.0-27-powerpc64-di hypervisor-modules-5.10.0-27-powerpc64-di fancontrol-modules-5.10.0-27-powerpc64-di' UDEB_UNSIGNED_TEST_BUILD=False binary-arch_powerpc_none: binary-arch_powerpc_none_powerpc binary-arch_powerpc_none_powerpc-smp binary-arch_powerpc_none_powerpc64 binary-arch_powerpc_none_real binary-arch_powerpc_none_powerpc: binary-arch_powerpc_none_powerpc_real binary-arch_powerpc_none_powerpc-smp: binary-arch_powerpc_none_powerpc-smp_real binary-arch_powerpc_none_powerpc-smp_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-powerpc-smp' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc debian/config/powerpc/config.powerpc-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-powerpc-smp\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc-smp' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-powerpc-smp' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc debian/config/powerpc/config.powerpc-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-powerpc-smp\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc-smp' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' binary-arch_powerpc_none_powerpc64: binary-arch_powerpc_none_powerpc64_real binary-arch_powerpc_none_powerpc64_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-powerpc64' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-be' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-powerpc64' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-be' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' binary-arch_powerpc_none_powerpc_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-powerpc' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-powerpc\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-powerpc' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-powerpc\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' binary-arch_powerpc_none_real: binary-arch_powerpc_real:: setup_powerpc binary-arch_powerpc_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='powerpc' KERNEL_ARCH='powerpc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='powerpc' KERNEL_ARCH='powerpc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_ppc64:: binary-arch_ppc64_none binary-arch_ppc64_real binary-arch_ppc64:: - $(MAKE) -f debian/rules.real install-udeb_ppc64 ABINAME='5.10.0-26' ARCH='ppc64' KERNEL_ARCH='powerpc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-powerpc64-di nic-modules-5.10.0-26-powerpc64-di nic-wireless-modules-5.10.0-26-powerpc64-di nic-shared-modules-5.10.0-26-powerpc64-di serial-modules-5.10.0-26-powerpc64-di usb-serial-modules-5.10.0-26-powerpc64-di ppp-modules-5.10.0-26-powerpc64-di pata-modules-5.10.0-26-powerpc64-di cdrom-core-modules-5.10.0-26-powerpc64-di firewire-core-modules-5.10.0-26-powerpc64-di scsi-core-modules-5.10.0-26-powerpc64-di scsi-modules-5.10.0-26-powerpc64-di scsi-nic-modules-5.10.0-26-powerpc64-di loop-modules-5.10.0-26-powerpc64-di btrfs-modules-5.10.0-26-powerpc64-di ext4-modules-5.10.0-26-powerpc64-di isofs-modules-5.10.0-26-powerpc64-di jfs-modules-5.10.0-26-powerpc64-di xfs-modules-5.10.0-26-powerpc64-di fat-modules-5.10.0-26-powerpc64-di hfs-modules-5.10.0-26-powerpc64-di affs-modules-5.10.0-26-powerpc64-di squashfs-modules-5.10.0-26-powerpc64-di udf-modules-5.10.0-26-powerpc64-di fuse-modules-5.10.0-26-powerpc64-di f2fs-modules-5.10.0-26-powerpc64-di md-modules-5.10.0-26-powerpc64-di multipath-modules-5.10.0-26-powerpc64-di usb-modules-5.10.0-26-powerpc64-di usb-storage-modules-5.10.0-26-powerpc64-di pcmcia-storage-modules-5.10.0-26-powerpc64-di fb-modules-5.10.0-26-powerpc64-di input-modules-5.10.0-26-powerpc64-di event-modules-5.10.0-26-powerpc64-di mouse-modules-5.10.0-26-powerpc64-di nic-pcmcia-modules-5.10.0-26-powerpc64-di pcmcia-modules-5.10.0-26-powerpc64-di nic-usb-modules-5.10.0-26-powerpc64-di sata-modules-5.10.0-26-powerpc64-di i2c-modules-5.10.0-26-powerpc64-di crc-modules-5.10.0-26-powerpc64-di crypto-modules-5.10.0-26-powerpc64-di crypto-dm-modules-5.10.0-26-powerpc64-di ata-modules-5.10.0-26-powerpc64-di mmc-core-modules-5.10.0-26-powerpc64-di nbd-modules-5.10.0-26-powerpc64-di uinput-modules-5.10.0-26-powerpc64-di mtd-core-modules-5.10.0-26-powerpc64-di hypervisor-modules-5.10.0-26-powerpc64-di fancontrol-modules-5.10.0-26-powerpc64-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_ppc64 ABINAME='5.10.0-27' ARCH='ppc64' KERNEL_ARCH='powerpc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-powerpc64-di nic-modules-5.10.0-27-powerpc64-di nic-wireless-modules-5.10.0-27-powerpc64-di nic-shared-modules-5.10.0-27-powerpc64-di serial-modules-5.10.0-27-powerpc64-di usb-serial-modules-5.10.0-27-powerpc64-di ppp-modules-5.10.0-27-powerpc64-di pata-modules-5.10.0-27-powerpc64-di cdrom-core-modules-5.10.0-27-powerpc64-di firewire-core-modules-5.10.0-27-powerpc64-di scsi-core-modules-5.10.0-27-powerpc64-di scsi-modules-5.10.0-27-powerpc64-di scsi-nic-modules-5.10.0-27-powerpc64-di loop-modules-5.10.0-27-powerpc64-di btrfs-modules-5.10.0-27-powerpc64-di ext4-modules-5.10.0-27-powerpc64-di isofs-modules-5.10.0-27-powerpc64-di jfs-modules-5.10.0-27-powerpc64-di xfs-modules-5.10.0-27-powerpc64-di fat-modules-5.10.0-27-powerpc64-di hfs-modules-5.10.0-27-powerpc64-di affs-modules-5.10.0-27-powerpc64-di squashfs-modules-5.10.0-27-powerpc64-di udf-modules-5.10.0-27-powerpc64-di fuse-modules-5.10.0-27-powerpc64-di f2fs-modules-5.10.0-27-powerpc64-di md-modules-5.10.0-27-powerpc64-di multipath-modules-5.10.0-27-powerpc64-di usb-modules-5.10.0-27-powerpc64-di usb-storage-modules-5.10.0-27-powerpc64-di pcmcia-storage-modules-5.10.0-27-powerpc64-di fb-modules-5.10.0-27-powerpc64-di input-modules-5.10.0-27-powerpc64-di event-modules-5.10.0-27-powerpc64-di mouse-modules-5.10.0-27-powerpc64-di nic-pcmcia-modules-5.10.0-27-powerpc64-di pcmcia-modules-5.10.0-27-powerpc64-di nic-usb-modules-5.10.0-27-powerpc64-di sata-modules-5.10.0-27-powerpc64-di i2c-modules-5.10.0-27-powerpc64-di crc-modules-5.10.0-27-powerpc64-di crypto-modules-5.10.0-27-powerpc64-di crypto-dm-modules-5.10.0-27-powerpc64-di ata-modules-5.10.0-27-powerpc64-di mmc-core-modules-5.10.0-27-powerpc64-di nbd-modules-5.10.0-27-powerpc64-di uinput-modules-5.10.0-27-powerpc64-di mtd-core-modules-5.10.0-27-powerpc64-di hypervisor-modules-5.10.0-27-powerpc64-di fancontrol-modules-5.10.0-27-powerpc64-di' UDEB_UNSIGNED_TEST_BUILD=False binary-arch_ppc64_none: binary-arch_ppc64_none_powerpc64 binary-arch_ppc64_none_real binary-arch_ppc64_none_powerpc64: binary-arch_ppc64_none_powerpc64_real binary-arch_ppc64_none_powerpc64_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='ppc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-powerpc64' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-be' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='ppc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-powerpc64' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-be' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' binary-arch_ppc64_none_real: binary-arch_ppc64_real:: setup_ppc64 binary-arch_ppc64_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='ppc64' KERNEL_ARCH='powerpc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='ppc64' KERNEL_ARCH='powerpc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_ppc64el:: binary-arch_ppc64el_none binary-arch_ppc64el_real binary-arch_ppc64el:: - $(MAKE) -f debian/rules.real install-udeb_ppc64el ABINAME='5.10.0-26' ARCH='ppc64el' KERNEL_ARCH='powerpc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-powerpc64le-di nic-modules-5.10.0-26-powerpc64le-di nic-wireless-modules-5.10.0-26-powerpc64le-di nic-shared-modules-5.10.0-26-powerpc64le-di serial-modules-5.10.0-26-powerpc64le-di usb-serial-modules-5.10.0-26-powerpc64le-di ppp-modules-5.10.0-26-powerpc64le-di cdrom-core-modules-5.10.0-26-powerpc64le-di firewire-core-modules-5.10.0-26-powerpc64le-di scsi-core-modules-5.10.0-26-powerpc64le-di scsi-modules-5.10.0-26-powerpc64le-di scsi-nic-modules-5.10.0-26-powerpc64le-di loop-modules-5.10.0-26-powerpc64le-di btrfs-modules-5.10.0-26-powerpc64le-di ext4-modules-5.10.0-26-powerpc64le-di isofs-modules-5.10.0-26-powerpc64le-di jfs-modules-5.10.0-26-powerpc64le-di xfs-modules-5.10.0-26-powerpc64le-di fat-modules-5.10.0-26-powerpc64le-di squashfs-modules-5.10.0-26-powerpc64le-di udf-modules-5.10.0-26-powerpc64le-di fuse-modules-5.10.0-26-powerpc64le-di f2fs-modules-5.10.0-26-powerpc64le-di md-modules-5.10.0-26-powerpc64le-di multipath-modules-5.10.0-26-powerpc64le-di usb-modules-5.10.0-26-powerpc64le-di usb-storage-modules-5.10.0-26-powerpc64le-di fb-modules-5.10.0-26-powerpc64le-di input-modules-5.10.0-26-powerpc64le-di event-modules-5.10.0-26-powerpc64le-di mouse-modules-5.10.0-26-powerpc64le-di nic-usb-modules-5.10.0-26-powerpc64le-di sata-modules-5.10.0-26-powerpc64le-di i2c-modules-5.10.0-26-powerpc64le-di crc-modules-5.10.0-26-powerpc64le-di crypto-modules-5.10.0-26-powerpc64le-di crypto-dm-modules-5.10.0-26-powerpc64le-di ata-modules-5.10.0-26-powerpc64le-di nbd-modules-5.10.0-26-powerpc64le-di uinput-modules-5.10.0-26-powerpc64le-di mtd-core-modules-5.10.0-26-powerpc64le-di hypervisor-modules-5.10.0-26-powerpc64le-di fancontrol-modules-5.10.0-26-powerpc64le-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_ppc64el ABINAME='5.10.0-27' ARCH='ppc64el' KERNEL_ARCH='powerpc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-powerpc64le-di nic-modules-5.10.0-27-powerpc64le-di nic-wireless-modules-5.10.0-27-powerpc64le-di nic-shared-modules-5.10.0-27-powerpc64le-di serial-modules-5.10.0-27-powerpc64le-di usb-serial-modules-5.10.0-27-powerpc64le-di ppp-modules-5.10.0-27-powerpc64le-di cdrom-core-modules-5.10.0-27-powerpc64le-di firewire-core-modules-5.10.0-27-powerpc64le-di scsi-core-modules-5.10.0-27-powerpc64le-di scsi-modules-5.10.0-27-powerpc64le-di scsi-nic-modules-5.10.0-27-powerpc64le-di loop-modules-5.10.0-27-powerpc64le-di btrfs-modules-5.10.0-27-powerpc64le-di ext4-modules-5.10.0-27-powerpc64le-di isofs-modules-5.10.0-27-powerpc64le-di jfs-modules-5.10.0-27-powerpc64le-di xfs-modules-5.10.0-27-powerpc64le-di fat-modules-5.10.0-27-powerpc64le-di squashfs-modules-5.10.0-27-powerpc64le-di udf-modules-5.10.0-27-powerpc64le-di fuse-modules-5.10.0-27-powerpc64le-di f2fs-modules-5.10.0-27-powerpc64le-di md-modules-5.10.0-27-powerpc64le-di multipath-modules-5.10.0-27-powerpc64le-di usb-modules-5.10.0-27-powerpc64le-di usb-storage-modules-5.10.0-27-powerpc64le-di fb-modules-5.10.0-27-powerpc64le-di input-modules-5.10.0-27-powerpc64le-di event-modules-5.10.0-27-powerpc64le-di mouse-modules-5.10.0-27-powerpc64le-di nic-usb-modules-5.10.0-27-powerpc64le-di sata-modules-5.10.0-27-powerpc64le-di i2c-modules-5.10.0-27-powerpc64le-di crc-modules-5.10.0-27-powerpc64le-di crypto-modules-5.10.0-27-powerpc64le-di crypto-dm-modules-5.10.0-27-powerpc64le-di ata-modules-5.10.0-27-powerpc64le-di nbd-modules-5.10.0-27-powerpc64le-di uinput-modules-5.10.0-27-powerpc64le-di mtd-core-modules-5.10.0-27-powerpc64le-di hypervisor-modules-5.10.0-27-powerpc64le-di fancontrol-modules-5.10.0-27-powerpc64le-di' UDEB_UNSIGNED_TEST_BUILD=False binary-arch_ppc64el_none: binary-arch_ppc64el_none_powerpc64le binary-arch_ppc64el_none_real binary-arch_ppc64el_none_powerpc64le: binary-arch_ppc64el_none_powerpc64le_real binary-arch_ppc64el_none_powerpc64le_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='ppc64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64le' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-powerpc64le' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-le' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-powerpc64le\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64le' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64le' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='ppc64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64le' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-powerpc64le' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-le' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-powerpc64le\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64le' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64le' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' binary-arch_ppc64el_none_real: binary-arch_ppc64el_real:: setup_ppc64el binary-arch_ppc64el_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='ppc64el' KERNEL_ARCH='powerpc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='ppc64el' KERNEL_ARCH='powerpc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_riscv64:: binary-arch_riscv64_none binary-arch_riscv64_real binary-arch_riscv64:: - $(MAKE) -f debian/rules.real install-udeb_riscv64 ABINAME='5.10.0-26' ARCH='riscv64' KERNEL_ARCH='riscv' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-riscv64-di nic-modules-5.10.0-26-riscv64-di nic-wireless-modules-5.10.0-26-riscv64-di nic-shared-modules-5.10.0-26-riscv64-di usb-serial-modules-5.10.0-26-riscv64-di ppp-modules-5.10.0-26-riscv64-di pata-modules-5.10.0-26-riscv64-di cdrom-core-modules-5.10.0-26-riscv64-di scsi-core-modules-5.10.0-26-riscv64-di scsi-modules-5.10.0-26-riscv64-di scsi-nic-modules-5.10.0-26-riscv64-di loop-modules-5.10.0-26-riscv64-di btrfs-modules-5.10.0-26-riscv64-di ext4-modules-5.10.0-26-riscv64-di isofs-modules-5.10.0-26-riscv64-di jfs-modules-5.10.0-26-riscv64-di fat-modules-5.10.0-26-riscv64-di squashfs-modules-5.10.0-26-riscv64-di udf-modules-5.10.0-26-riscv64-di fuse-modules-5.10.0-26-riscv64-di f2fs-modules-5.10.0-26-riscv64-di md-modules-5.10.0-26-riscv64-di multipath-modules-5.10.0-26-riscv64-di usb-modules-5.10.0-26-riscv64-di usb-storage-modules-5.10.0-26-riscv64-di fb-modules-5.10.0-26-riscv64-di input-modules-5.10.0-26-riscv64-di event-modules-5.10.0-26-riscv64-di nic-usb-modules-5.10.0-26-riscv64-di sata-modules-5.10.0-26-riscv64-di i2c-modules-5.10.0-26-riscv64-di crc-modules-5.10.0-26-riscv64-di crypto-modules-5.10.0-26-riscv64-di crypto-dm-modules-5.10.0-26-riscv64-di ata-modules-5.10.0-26-riscv64-di mmc-core-modules-5.10.0-26-riscv64-di mmc-modules-5.10.0-26-riscv64-di nbd-modules-5.10.0-26-riscv64-di mtd-modules-5.10.0-26-riscv64-di mtd-core-modules-5.10.0-26-riscv64-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_riscv64 ABINAME='5.10.0-27' ARCH='riscv64' KERNEL_ARCH='riscv' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-riscv64-di nic-modules-5.10.0-27-riscv64-di nic-wireless-modules-5.10.0-27-riscv64-di nic-shared-modules-5.10.0-27-riscv64-di usb-serial-modules-5.10.0-27-riscv64-di ppp-modules-5.10.0-27-riscv64-di pata-modules-5.10.0-27-riscv64-di cdrom-core-modules-5.10.0-27-riscv64-di scsi-core-modules-5.10.0-27-riscv64-di scsi-modules-5.10.0-27-riscv64-di scsi-nic-modules-5.10.0-27-riscv64-di loop-modules-5.10.0-27-riscv64-di btrfs-modules-5.10.0-27-riscv64-di ext4-modules-5.10.0-27-riscv64-di isofs-modules-5.10.0-27-riscv64-di jfs-modules-5.10.0-27-riscv64-di fat-modules-5.10.0-27-riscv64-di squashfs-modules-5.10.0-27-riscv64-di udf-modules-5.10.0-27-riscv64-di fuse-modules-5.10.0-27-riscv64-di f2fs-modules-5.10.0-27-riscv64-di md-modules-5.10.0-27-riscv64-di multipath-modules-5.10.0-27-riscv64-di usb-modules-5.10.0-27-riscv64-di usb-storage-modules-5.10.0-27-riscv64-di fb-modules-5.10.0-27-riscv64-di input-modules-5.10.0-27-riscv64-di event-modules-5.10.0-27-riscv64-di nic-usb-modules-5.10.0-27-riscv64-di sata-modules-5.10.0-27-riscv64-di i2c-modules-5.10.0-27-riscv64-di crc-modules-5.10.0-27-riscv64-di crypto-modules-5.10.0-27-riscv64-di crypto-dm-modules-5.10.0-27-riscv64-di ata-modules-5.10.0-27-riscv64-di mmc-core-modules-5.10.0-27-riscv64-di mmc-modules-5.10.0-27-riscv64-di nbd-modules-5.10.0-27-riscv64-di mtd-modules-5.10.0-27-riscv64-di mtd-core-modules-5.10.0-27-riscv64-di' UDEB_UNSIGNED_TEST_BUILD=False binary-arch_riscv64_none: binary-arch_riscv64_none_real binary-arch_riscv64_none_riscv64 binary-arch_riscv64_none_real: binary-arch_riscv64_none_riscv64: binary-arch_riscv64_none_riscv64_real binary-arch_riscv64_none_riscv64_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='riscv64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='riscv64' IMAGE_FILE='arch/riscv/boot/Image' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-riscv64' KCONFIG='debian/config/config debian/config/riscv64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-riscv64\""' KERNEL_ARCH='riscv' LOCALVERSION='-riscv64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-riscv64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='riscv64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='riscv64' IMAGE_FILE='arch/riscv/boot/Image' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-riscv64' KCONFIG='debian/config/config debian/config/riscv64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-riscv64\""' KERNEL_ARCH='riscv' LOCALVERSION='-riscv64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-riscv64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' binary-arch_riscv64_real:: setup_riscv64 binary-arch_riscv64_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='riscv64' KERNEL_ARCH='riscv' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='riscv64' KERNEL_ARCH='riscv' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_s390: binary-arch_s390_extra binary-arch_s390_real binary-arch_s390_extra:: $(MAKE) -f debian/rules.real install-dummy ARCH='s390' DH_OPTIONS='-plinux-compiler-gcc-10-s390' binary-arch_s390_real:: setup_s390 binary-arch_s390_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='s390' KERNEL_ARCH='s390' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='s390' KERNEL_ARCH='s390' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_s390x:: binary-arch_s390x_extra binary-arch_s390x_none binary-arch_s390x_real binary-arch_s390x:: - $(MAKE) -f debian/rules.real install-udeb_s390x ABINAME='5.10.0-26' ARCH='s390x' KERNEL_ARCH='s390' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-s390x-di nic-modules-5.10.0-26-s390x-di cdrom-core-modules-5.10.0-26-s390x-di scsi-core-modules-5.10.0-26-s390x-di scsi-modules-5.10.0-26-s390x-di loop-modules-5.10.0-26-s390x-di btrfs-modules-5.10.0-26-s390x-di ext4-modules-5.10.0-26-s390x-di isofs-modules-5.10.0-26-s390x-di xfs-modules-5.10.0-26-s390x-di fat-modules-5.10.0-26-s390x-di udf-modules-5.10.0-26-s390x-di fuse-modules-5.10.0-26-s390x-di f2fs-modules-5.10.0-26-s390x-di md-modules-5.10.0-26-s390x-di multipath-modules-5.10.0-26-s390x-di crc-modules-5.10.0-26-s390x-di crypto-modules-5.10.0-26-s390x-di crypto-dm-modules-5.10.0-26-s390x-di nbd-modules-5.10.0-26-s390x-di mtd-core-modules-5.10.0-26-s390x-di dasd-modules-5.10.0-26-s390x-di dasd-extra-modules-5.10.0-26-s390x-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_s390x ABINAME='5.10.0-27' ARCH='s390x' KERNEL_ARCH='s390' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-s390x-di nic-modules-5.10.0-27-s390x-di cdrom-core-modules-5.10.0-27-s390x-di scsi-core-modules-5.10.0-27-s390x-di scsi-modules-5.10.0-27-s390x-di loop-modules-5.10.0-27-s390x-di btrfs-modules-5.10.0-27-s390x-di ext4-modules-5.10.0-27-s390x-di isofs-modules-5.10.0-27-s390x-di xfs-modules-5.10.0-27-s390x-di fat-modules-5.10.0-27-s390x-di udf-modules-5.10.0-27-s390x-di fuse-modules-5.10.0-27-s390x-di f2fs-modules-5.10.0-27-s390x-di md-modules-5.10.0-27-s390x-di multipath-modules-5.10.0-27-s390x-di crc-modules-5.10.0-27-s390x-di crypto-modules-5.10.0-27-s390x-di crypto-dm-modules-5.10.0-27-s390x-di nbd-modules-5.10.0-27-s390x-di mtd-core-modules-5.10.0-27-s390x-di dasd-modules-5.10.0-27-s390x-di dasd-extra-modules-5.10.0-27-s390x-di' UDEB_UNSIGNED_TEST_BUILD=False binary-arch_s390x_extra:: $(MAKE) -f debian/rules.real install-dummy ARCH='s390x' DH_OPTIONS='-plinux-compiler-gcc-10-s390' binary-arch_s390x_none: binary-arch_s390x_none_real binary-arch_s390x_none_s390x binary-arch_s390x_none_real: binary-arch_s390x_none_s390x: binary-arch_s390x_none_s390x_real binary-arch_s390x_none_s390x_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='s390x' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='s390x' IMAGE_FILE='arch/s390/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-s390x' KCONFIG='debian/config/config debian/config/s390x/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-s390x\""' KERNEL_ARCH='s390' LOCALVERSION='-s390x' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-s390x' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='s390x' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='s390x' IMAGE_FILE='arch/s390/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-s390x' KCONFIG='debian/config/config debian/config/s390x/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-s390x\""' KERNEL_ARCH='s390' LOCALVERSION='-s390x' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-s390x' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' binary-arch_s390x_real:: setup_s390x binary-arch_s390x_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='s390x' KERNEL_ARCH='s390' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='s390x' KERNEL_ARCH='s390' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_sh3: binary-arch_sh3_real binary-arch_sh3_real:: setup_sh3 binary-arch_sh3_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='sh3' KERNEL_ARCH='sh' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='sh3' KERNEL_ARCH='sh' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_sh4:: binary-arch_sh4_none binary-arch_sh4_real binary-arch_sh4:: - $(MAKE) -f debian/rules.real install-udeb_sh4 ABINAME='5.10.0-26' ARCH='sh4' KERNEL_ARCH='sh' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-sh7751r-di nic-modules-5.10.0-26-sh7751r-di nic-shared-modules-5.10.0-26-sh7751r-di usb-serial-modules-5.10.0-26-sh7751r-di ppp-modules-5.10.0-26-sh7751r-di pata-modules-5.10.0-26-sh7751r-di cdrom-core-modules-5.10.0-26-sh7751r-di firewire-core-modules-5.10.0-26-sh7751r-di loop-modules-5.10.0-26-sh7751r-di btrfs-modules-5.10.0-26-sh7751r-di ext4-modules-5.10.0-26-sh7751r-di isofs-modules-5.10.0-26-sh7751r-di jfs-modules-5.10.0-26-sh7751r-di xfs-modules-5.10.0-26-sh7751r-di fat-modules-5.10.0-26-sh7751r-di minix-modules-5.10.0-26-sh7751r-di squashfs-modules-5.10.0-26-sh7751r-di udf-modules-5.10.0-26-sh7751r-di fuse-modules-5.10.0-26-sh7751r-di f2fs-modules-5.10.0-26-sh7751r-di md-modules-5.10.0-26-sh7751r-di multipath-modules-5.10.0-26-sh7751r-di usb-storage-modules-5.10.0-26-sh7751r-di nic-usb-modules-5.10.0-26-sh7751r-di sata-modules-5.10.0-26-sh7751r-di i2c-modules-5.10.0-26-sh7751r-di crc-modules-5.10.0-26-sh7751r-di crypto-modules-5.10.0-26-sh7751r-di crypto-dm-modules-5.10.0-26-sh7751r-di nbd-modules-5.10.0-26-sh7751r-di speakup-modules-5.10.0-26-sh7751r-di sound-modules-5.10.0-26-sh7751r-di kernel-image-5.10.0-26-sh7785lcr-di nic-modules-5.10.0-26-sh7785lcr-di nic-shared-modules-5.10.0-26-sh7785lcr-di usb-serial-modules-5.10.0-26-sh7785lcr-di ppp-modules-5.10.0-26-sh7785lcr-di pata-modules-5.10.0-26-sh7785lcr-di cdrom-core-modules-5.10.0-26-sh7785lcr-di firewire-core-modules-5.10.0-26-sh7785lcr-di loop-modules-5.10.0-26-sh7785lcr-di btrfs-modules-5.10.0-26-sh7785lcr-di ext4-modules-5.10.0-26-sh7785lcr-di isofs-modules-5.10.0-26-sh7785lcr-di jfs-modules-5.10.0-26-sh7785lcr-di xfs-modules-5.10.0-26-sh7785lcr-di fat-modules-5.10.0-26-sh7785lcr-di minix-modules-5.10.0-26-sh7785lcr-di squashfs-modules-5.10.0-26-sh7785lcr-di udf-modules-5.10.0-26-sh7785lcr-di fuse-modules-5.10.0-26-sh7785lcr-di f2fs-modules-5.10.0-26-sh7785lcr-di md-modules-5.10.0-26-sh7785lcr-di multipath-modules-5.10.0-26-sh7785lcr-di nic-usb-modules-5.10.0-26-sh7785lcr-di sata-modules-5.10.0-26-sh7785lcr-di crc-modules-5.10.0-26-sh7785lcr-di crypto-modules-5.10.0-26-sh7785lcr-di crypto-dm-modules-5.10.0-26-sh7785lcr-di nbd-modules-5.10.0-26-sh7785lcr-di speakup-modules-5.10.0-26-sh7785lcr-di sound-modules-5.10.0-26-sh7785lcr-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_sh4 ABINAME='5.10.0-27' ARCH='sh4' KERNEL_ARCH='sh' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-sh7751r-di nic-modules-5.10.0-27-sh7751r-di nic-shared-modules-5.10.0-27-sh7751r-di usb-serial-modules-5.10.0-27-sh7751r-di ppp-modules-5.10.0-27-sh7751r-di pata-modules-5.10.0-27-sh7751r-di cdrom-core-modules-5.10.0-27-sh7751r-di firewire-core-modules-5.10.0-27-sh7751r-di loop-modules-5.10.0-27-sh7751r-di btrfs-modules-5.10.0-27-sh7751r-di ext4-modules-5.10.0-27-sh7751r-di isofs-modules-5.10.0-27-sh7751r-di jfs-modules-5.10.0-27-sh7751r-di xfs-modules-5.10.0-27-sh7751r-di fat-modules-5.10.0-27-sh7751r-di minix-modules-5.10.0-27-sh7751r-di squashfs-modules-5.10.0-27-sh7751r-di udf-modules-5.10.0-27-sh7751r-di fuse-modules-5.10.0-27-sh7751r-di f2fs-modules-5.10.0-27-sh7751r-di md-modules-5.10.0-27-sh7751r-di multipath-modules-5.10.0-27-sh7751r-di usb-storage-modules-5.10.0-27-sh7751r-di nic-usb-modules-5.10.0-27-sh7751r-di sata-modules-5.10.0-27-sh7751r-di i2c-modules-5.10.0-27-sh7751r-di crc-modules-5.10.0-27-sh7751r-di crypto-modules-5.10.0-27-sh7751r-di crypto-dm-modules-5.10.0-27-sh7751r-di nbd-modules-5.10.0-27-sh7751r-di speakup-modules-5.10.0-27-sh7751r-di sound-modules-5.10.0-27-sh7751r-di kernel-image-5.10.0-27-sh7785lcr-di nic-modules-5.10.0-27-sh7785lcr-di nic-shared-modules-5.10.0-27-sh7785lcr-di usb-serial-modules-5.10.0-27-sh7785lcr-di ppp-modules-5.10.0-27-sh7785lcr-di pata-modules-5.10.0-27-sh7785lcr-di cdrom-core-modules-5.10.0-27-sh7785lcr-di firewire-core-modules-5.10.0-27-sh7785lcr-di loop-modules-5.10.0-27-sh7785lcr-di btrfs-modules-5.10.0-27-sh7785lcr-di ext4-modules-5.10.0-27-sh7785lcr-di isofs-modules-5.10.0-27-sh7785lcr-di jfs-modules-5.10.0-27-sh7785lcr-di xfs-modules-5.10.0-27-sh7785lcr-di fat-modules-5.10.0-27-sh7785lcr-di minix-modules-5.10.0-27-sh7785lcr-di squashfs-modules-5.10.0-27-sh7785lcr-di udf-modules-5.10.0-27-sh7785lcr-di fuse-modules-5.10.0-27-sh7785lcr-di f2fs-modules-5.10.0-27-sh7785lcr-di md-modules-5.10.0-27-sh7785lcr-di multipath-modules-5.10.0-27-sh7785lcr-di nic-usb-modules-5.10.0-27-sh7785lcr-di sata-modules-5.10.0-27-sh7785lcr-di crc-modules-5.10.0-27-sh7785lcr-di crypto-modules-5.10.0-27-sh7785lcr-di crypto-dm-modules-5.10.0-27-sh7785lcr-di nbd-modules-5.10.0-27-sh7785lcr-di speakup-modules-5.10.0-27-sh7785lcr-di sound-modules-5.10.0-27-sh7785lcr-di' UDEB_UNSIGNED_TEST_BUILD=False binary-arch_sh4_none: binary-arch_sh4_none_real binary-arch_sh4_none_sh7751r binary-arch_sh4_none_sh7785lcr binary-arch_sh4_none_real: binary-arch_sh4_none_sh7751r: binary-arch_sh4_none_sh7751r_real binary-arch_sh4_none_sh7751r_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='sh4' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sh7751r' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-sh7751r' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7751r' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-sh7751r\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7751r' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7751r' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='sh4' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sh7751r' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-sh7751r' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7751r' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-sh7751r\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7751r' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7751r' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_sh4_none_sh7785lcr: binary-arch_sh4_none_sh7785lcr_real binary-arch_sh4_none_sh7785lcr_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='sh4' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sh7785lcr' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-sh7785lcr' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7785lcr' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-sh7785lcr\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7785lcr' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7785lcr' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='sh4' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sh7785lcr' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-sh7785lcr' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7785lcr' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-sh7785lcr\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7785lcr' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7785lcr' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_sh4_real:: setup_sh4 binary-arch_sh4_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='sh4' KERNEL_ARCH='sh' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='sh4' KERNEL_ARCH='sh' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_sparc: binary-arch_sparc_real binary-arch_sparc64:: binary-arch_sparc64_none binary-arch_sparc64_real binary-arch_sparc64:: - $(MAKE) -f debian/rules.real install-udeb_sparc64 ABINAME='5.10.0-26' ARCH='sparc64' KERNEL_ARCH='sparc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-26-sparc64-di nic-modules-5.10.0-26-sparc64-di nic-shared-modules-5.10.0-26-sparc64-di usb-serial-modules-5.10.0-26-sparc64-di ppp-modules-5.10.0-26-sparc64-di pata-modules-5.10.0-26-sparc64-di cdrom-core-modules-5.10.0-26-sparc64-di scsi-core-modules-5.10.0-26-sparc64-di scsi-modules-5.10.0-26-sparc64-di btrfs-modules-5.10.0-26-sparc64-di ext4-modules-5.10.0-26-sparc64-di isofs-modules-5.10.0-26-sparc64-di jfs-modules-5.10.0-26-sparc64-di ufs-modules-5.10.0-26-sparc64-di xfs-modules-5.10.0-26-sparc64-di fat-modules-5.10.0-26-sparc64-di squashfs-modules-5.10.0-26-sparc64-di udf-modules-5.10.0-26-sparc64-di fuse-modules-5.10.0-26-sparc64-di f2fs-modules-5.10.0-26-sparc64-di md-modules-5.10.0-26-sparc64-di multipath-modules-5.10.0-26-sparc64-di usb-modules-5.10.0-26-sparc64-di usb-storage-modules-5.10.0-26-sparc64-di fb-modules-5.10.0-26-sparc64-di input-modules-5.10.0-26-sparc64-di nic-usb-modules-5.10.0-26-sparc64-di sata-modules-5.10.0-26-sparc64-di i2c-modules-5.10.0-26-sparc64-di crc-modules-5.10.0-26-sparc64-di crypto-modules-5.10.0-26-sparc64-di crypto-dm-modules-5.10.0-26-sparc64-di ata-modules-5.10.0-26-sparc64-di nbd-modules-5.10.0-26-sparc64-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_sparc64 ABINAME='5.10.0-27' ARCH='sparc64' KERNEL_ARCH='sparc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' PACKAGE_NAMES='kernel-image-5.10.0-27-sparc64-di nic-modules-5.10.0-27-sparc64-di nic-shared-modules-5.10.0-27-sparc64-di usb-serial-modules-5.10.0-27-sparc64-di ppp-modules-5.10.0-27-sparc64-di pata-modules-5.10.0-27-sparc64-di cdrom-core-modules-5.10.0-27-sparc64-di scsi-core-modules-5.10.0-27-sparc64-di scsi-modules-5.10.0-27-sparc64-di btrfs-modules-5.10.0-27-sparc64-di ext4-modules-5.10.0-27-sparc64-di isofs-modules-5.10.0-27-sparc64-di jfs-modules-5.10.0-27-sparc64-di ufs-modules-5.10.0-27-sparc64-di xfs-modules-5.10.0-27-sparc64-di fat-modules-5.10.0-27-sparc64-di squashfs-modules-5.10.0-27-sparc64-di udf-modules-5.10.0-27-sparc64-di fuse-modules-5.10.0-27-sparc64-di f2fs-modules-5.10.0-27-sparc64-di md-modules-5.10.0-27-sparc64-di multipath-modules-5.10.0-27-sparc64-di usb-modules-5.10.0-27-sparc64-di usb-storage-modules-5.10.0-27-sparc64-di fb-modules-5.10.0-27-sparc64-di input-modules-5.10.0-27-sparc64-di nic-usb-modules-5.10.0-27-sparc64-di sata-modules-5.10.0-27-sparc64-di i2c-modules-5.10.0-27-sparc64-di crc-modules-5.10.0-27-sparc64-di crypto-modules-5.10.0-27-sparc64-di crypto-dm-modules-5.10.0-27-sparc64-di ata-modules-5.10.0-27-sparc64-di nbd-modules-5.10.0-27-sparc64-di' UDEB_UNSIGNED_TEST_BUILD=False binary-arch_sparc64_none: binary-arch_sparc64_none_real binary-arch_sparc64_none_sparc64 binary-arch_sparc64_none_sparc64-smp binary-arch_sparc64_none_real: binary-arch_sparc64_none_sparc64: binary-arch_sparc64_none_sparc64_real binary-arch_sparc64_none_sparc64-smp: binary-arch_sparc64_none_sparc64-smp_real binary-arch_sparc64_none_sparc64-smp_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='sparc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-sparc64-smp' KCONFIG='debian/config/config debian/config/kernelarch-sparc/config debian/config/kernelarch-sparc/config-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-sparc64-smp\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64-smp' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='sparc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-sparc64-smp' KCONFIG='debian/config/config debian/config/kernelarch-sparc/config debian/config/kernelarch-sparc/config-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-sparc64-smp\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64-smp' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_sparc64_none_sparc64_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-26' ARCH='sparc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-sparc64' KCONFIG='debian/config/config debian/config/kernelarch-sparc/config debian/config/kernelarch-sparc/config-up' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-sparc64\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='5.10.0-27' ARCH='sparc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-sparc64' KCONFIG='debian/config/config debian/config/kernelarch-sparc/config debian/config/kernelarch-sparc/config-up' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-sparc64\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_sparc64_real:: setup_sparc64 binary-arch_sparc64_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='sparc64' KERNEL_ARCH='sparc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='sparc64' KERNEL_ARCH='sparc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_sparc_real:: setup_sparc binary-arch_sparc_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='sparc' KERNEL_ARCH='sparc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='sparc' KERNEL_ARCH='sparc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-arch_x32: binary-arch_x32_extra binary-arch_x32_real binary-arch_x32_extra:: $(MAKE) -f debian/rules.real install-dummy ARCH='x32' DH_OPTIONS='-plinux-compiler-gcc-10-x86' binary-arch_x32_real:: setup_x32 binary-arch_x32_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-26' ARCH='x32' KERNEL_ARCH='x86' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='5.10.0-27' ARCH='x32' KERNEL_ARCH='x86' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-indep:: binary-indep_none binary-indep_rt binary-indep:: - $(MAKE) -f debian/rules.real binary-indep ABINAME='5.10.0-26' ALL_FEATURESETS='none rt' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-indep ABINAME='5.10.0-27' ALL_FEATURESETS='none rt' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-indep_none: binary-indep_none_real binary-indep_none_real:: - $(MAKE) -f debian/rules.real binary-indep-featureset ABINAME='5.10.0-26' ALL_KERNEL_ARCHES='alpha arm arm64 ia64 m68k mips parisc powerpc riscv s390 sh sparc x86' FEATURESET='none' LOCALVERSION='' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-indep-featureset ABINAME='5.10.0-27' ALL_KERNEL_ARCHES='alpha arm arm64 ia64 m68k mips parisc powerpc riscv s390 sh sparc x86' FEATURESET='none' LOCALVERSION='' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' binary-indep_rt: binary-indep_rt_real binary-indep_rt_real:: - $(MAKE) -f debian/rules.real binary-indep-featureset ABINAME='5.10.0-26' ALL_KERNEL_ARCHES='arm arm64 x86' FEATURESET='rt' LOCALVERSION='-rt' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real binary-indep-featureset ABINAME='5.10.0-27' ALL_KERNEL_ARCHES='arm arm64 x86' FEATURESET='rt' LOCALVERSION='-rt' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch: build-arch_alpha build-arch_amd64 build-arch_arm64 build-arch_arm64ilp32 build-arch_armel build-arch_armhf build-arch_hppa build-arch_i386 build-arch_ia64 build-arch_m68k build-arch_mips build-arch_mips64 build-arch_mips64el build-arch_mips64r6 build-arch_mips64r6el build-arch_mipsel build-arch_mipsn32 build-arch_mipsn32el build-arch_mipsn32r6 build-arch_mipsn32r6el build-arch_mipsr6 build-arch_mipsr6el build-arch_powerpc build-arch_ppc64 build-arch_ppc64el build-arch_riscv64 build-arch_s390 build-arch_s390x build-arch_sh3 build-arch_sh4 build-arch_sparc build-arch_sparc64 build-arch_x32 build-arch_alpha: build-arch_alpha_none build-arch_alpha_real build-arch_alpha_none: build-arch_alpha_none_alpha-generic build-arch_alpha_none_alpha-smp build-arch_alpha_none_real build-arch_alpha_none_alpha-generic: build-arch_alpha_none_alpha-generic_real build-arch_alpha_none_alpha-generic_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='alpha' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-generic' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-alpha-generic' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-generic' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-alpha-generic\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-generic' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-generic' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='alpha' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-generic' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-alpha-generic' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-generic' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-alpha-generic\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-generic' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-generic' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_alpha_none_alpha-smp: build-arch_alpha_none_alpha-smp_real build-arch_alpha_none_alpha-smp_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='alpha' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-smp' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-alpha-smp' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-alpha-smp\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-smp' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='alpha' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-smp' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-alpha-smp' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-alpha-smp\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-smp' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_alpha_none_real: build-arch_alpha_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='alpha' KERNEL_ARCH='alpha' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='alpha' KERNEL_ARCH='alpha' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_amd64: build-arch_amd64_none build-arch_amd64_real build-arch_amd64_rt build-arch_amd64_none: build-arch_amd64_none_amd64 build-arch_amd64_none_cloud-amd64 build-arch_amd64_none_real build-arch_amd64_none_amd64: build-arch_amd64_none_amd64_real build-arch_amd64_none_amd64_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-amd64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-amd64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' build-arch_amd64_none_cloud-amd64: build-arch_amd64_none_cloud-amd64_real build-arch_amd64_none_cloud-amd64_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-cloud-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/amd64/config.cloud-amd64 debian/config/config.cloud debian/config/amd64/config.cloud-amd64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-cloud-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-cloud-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-amd64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-cloud-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/amd64/config.cloud-amd64 debian/config/config.cloud debian/config/amd64/config.cloud-amd64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-cloud-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-cloud-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-amd64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' build-arch_amd64_none_real: build-arch_amd64_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='amd64' KERNEL_ARCH='x86' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='amd64' KERNEL_ARCH='x86' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_amd64_rt: build-arch_amd64_rt_amd64 build-arch_amd64_rt_real build-arch_amd64_rt_amd64: build-arch_amd64_rt_amd64_real build-arch_amd64_rt_amd64_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-rt-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-rt-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-amd64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-amd64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-rt-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-rt-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-amd64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-amd64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' build-arch_amd64_rt_real: build-arch_arm64: build-arch_arm64_none build-arch_arm64_real build-arch_arm64_rt build-arch_arm64_none: build-arch_arm64_none_arm64 build-arch_arm64_none_cloud-arm64 build-arch_arm64_none_real build-arch_arm64_none_arm64: build-arch_arm64_none_arm64_real build-arch_arm64_none_arm64_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='none' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-arm64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='none' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-arm64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' build-arch_arm64_none_cloud-arm64: build-arch_arm64_none_cloud-arm64_real build-arch_arm64_none_cloud-arm64_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-cloud-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/arm64/config.cloud-arm64 debian/config/config.cloud debian/config/arm64/config.cloud-arm64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-cloud-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-cloud-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-arm64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-cloud-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/arm64/config.cloud-arm64 debian/config/config.cloud debian/config/arm64/config.cloud-arm64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-cloud-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-cloud-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-arm64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' build-arch_arm64_none_real: build-arch_arm64_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='arm64' KERNEL_ARCH='arm64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='arm64' KERNEL_ARCH='arm64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_arm64_rt: build-arch_arm64_rt_arm64 build-arch_arm64_rt_real build-arch_arm64_rt_arm64: build-arch_arm64_rt_arm64_real build-arch_arm64_rt_arm64_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='rt' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-rt-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/featureset-rt/config debian/config/arm64/rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-rt-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-rt-arm64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-arm64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='rt' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-rt-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/featureset-rt/config debian/config/arm64/rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-rt-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-rt-arm64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-arm64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' build-arch_arm64_rt_real: build-arch_arm64ilp32: build-arch_arm64ilp32_real build-arch_arm64ilp32_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='arm64ilp32' KERNEL_ARCH='arm64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='arm64ilp32' KERNEL_ARCH='arm64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_armel: build-arch_armel_none build-arch_armel_real build-arch_armel_none: build-arch_armel_none_marvell build-arch_armel_none_real build-arch_armel_none_rpi build-arch_armel_none_marvell: build-arch_armel_none_marvell_real build-arch_armel_none_marvell_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='armel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='marvell' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-marvell' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armel/config debian/config/armel/config.marvell' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-marvell\""' KERNEL_ARCH='arm' LOCALVERSION='-marvell' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-marvell' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='armel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='marvell' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-marvell' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armel/config debian/config/armel/config.marvell' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-marvell\""' KERNEL_ARCH='arm' LOCALVERSION='-marvell' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-marvell' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_armel_none_real: build-arch_armel_none_rpi: build-arch_armel_none_rpi_real build-arch_armel_none_rpi_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='armel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='rpi' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-rpi' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armel/config debian/config/armel/config.rpi' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-rpi\""' KERNEL_ARCH='arm' LOCALVERSION='-rpi' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-rpi' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='armel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='rpi' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-rpi' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armel/config debian/config/armel/config.rpi' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-rpi\""' KERNEL_ARCH='arm' LOCALVERSION='-rpi' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-rpi' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_armel_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='armel' KERNEL_ARCH='arm' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='armel' KERNEL_ARCH='arm' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_armhf: build-arch_armhf_none build-arch_armhf_real build-arch_armhf_rt build-arch_armhf_none: build-arch_armhf_none_armmp build-arch_armhf_none_armmp-lpae build-arch_armhf_none_real build-arch_armhf_none_armmp: build-arch_armhf_none_armmp_real build-arch_armhf_none_armmp-lpae: build-arch_armhf_none_armmp-lpae_real build-arch_armhf_none_armmp-lpae_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='armmp-lpae' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-armmp-lpae' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config debian/config/armhf/config.armmp-lpae' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-armmp-lpae\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp-lpae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp-lpae' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='armmp-lpae' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-armmp-lpae' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config debian/config/armhf/config.armmp-lpae' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-armmp-lpae\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp-lpae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp-lpae' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' build-arch_armhf_none_armmp_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' build-arch_armhf_none_real: build-arch_armhf_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='armhf' KERNEL_ARCH='arm' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='armhf' KERNEL_ARCH='arm' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_armhf_rt: build-arch_armhf_rt_armmp build-arch_armhf_rt_real build-arch_armhf_rt_armmp: build-arch_armhf_rt_armmp_real build-arch_armhf_rt_armmp_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-rt-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-rt-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-rt-armmp' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-armmp' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-rt-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-rt-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-rt-armmp' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-armmp' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' build-arch_armhf_rt_real: build-arch_hppa: build-arch_hppa_none build-arch_hppa_real build-arch_hppa_none: build-arch_hppa_none_parisc build-arch_hppa_none_parisc64 build-arch_hppa_none_real build-arch_hppa_none_parisc: build-arch_hppa_none_parisc_real build-arch_hppa_none_parisc64: build-arch_hppa_none_parisc64_real build-arch_hppa_none_parisc64_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='hppa' COMPILER='gcc-10' FEATURESET='none' FLAVOUR='parisc64' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-parisc64' KCFLAGS='-fno-cse-follow-jumps' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc64' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"5.10.0-26-parisc64\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc64' OVERRIDE_HOST_TYPE='hppa64-linux-gnu' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='hppa' COMPILER='gcc-10' FEATURESET='none' FLAVOUR='parisc64' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-parisc64' KCFLAGS='-fno-cse-follow-jumps' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc64' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"5.10.0-27-parisc64\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc64' OVERRIDE_HOST_TYPE='hppa64-linux-gnu' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_hppa_none_parisc_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='hppa' COMPILER='gcc-10' FEATURESET='none' FLAVOUR='parisc' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-parisc' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"5.10.0-26-parisc\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='hppa' COMPILER='gcc-10' FEATURESET='none' FLAVOUR='parisc' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-parisc' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"5.10.0-27-parisc\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_hppa_none_real: build-arch_hppa_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='hppa' KERNEL_ARCH='parisc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='hppa' KERNEL_ARCH='parisc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_i386: build-arch_i386_none build-arch_i386_real build-arch_i386_rt build-arch_i386_none: build-arch_i386_none_686 build-arch_i386_none_686-pae build-arch_i386_none_real build-arch_i386_none_686: build-arch_i386_none_686_real build-arch_i386_none_686-pae: build-arch_i386_none_686-pae_real build-arch_i386_none_686-pae_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-686-pae-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686-pae' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-686-pae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686-pae' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-686-pae-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686-pae' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-686-pae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686-pae' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' build-arch_i386_none_686_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='686' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-686-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-686\""' KERNEL_ARCH='x86' LOCALVERSION='-686' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='686' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-686-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-686\""' KERNEL_ARCH='x86' LOCALVERSION='-686' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' build-arch_i386_none_real: build-arch_i386_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='i386' KERNEL_ARCH='x86' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='i386' KERNEL_ARCH='x86' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_i386_rt: build-arch_i386_rt_686-pae build-arch_i386_rt_real build-arch_i386_rt_686-pae: build-arch_i386_rt_686-pae_real build-arch_i386_rt_686-pae_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-rt-686-pae-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686-pae debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-rt-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-686-pae' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-686-pae' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-rt-686-pae-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686-pae debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-rt-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-686-pae' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-686-pae' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' build-arch_i386_rt_real: build-arch_ia64: build-arch_ia64_none build-arch_ia64_real build-arch_ia64_none: build-arch_ia64_none_itanium build-arch_ia64_none_mckinley build-arch_ia64_none_real build-arch_ia64_none_itanium: build-arch_ia64_none_itanium_real build-arch_ia64_none_itanium_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='ia64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='itanium' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-itanium' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.itanium' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-itanium\""' KERNEL_ARCH='ia64' LOCALVERSION='-itanium' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-itanium' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='ia64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='itanium' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-itanium' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.itanium' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-itanium\""' KERNEL_ARCH='ia64' LOCALVERSION='-itanium' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-itanium' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_ia64_none_mckinley: build-arch_ia64_none_mckinley_real build-arch_ia64_none_mckinley_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='ia64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mckinley' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mckinley' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.mckinley' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mckinley\""' KERNEL_ARCH='ia64' LOCALVERSION='-mckinley' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mckinley' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='ia64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mckinley' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mckinley' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.mckinley' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mckinley\""' KERNEL_ARCH='ia64' LOCALVERSION='-mckinley' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mckinley' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_ia64_none_real: build-arch_ia64_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='ia64' KERNEL_ARCH='ia64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='ia64' KERNEL_ARCH='ia64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_m68k: build-arch_m68k_none build-arch_m68k_real build-arch_m68k_none: build-arch_m68k_none_m68k build-arch_m68k_none_real build-arch_m68k_none_m68k: build-arch_m68k_none_m68k_real build-arch_m68k_none_m68k_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='m68k' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='m68k' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-m68k' KCFLAGS='-ffreestanding' KCONFIG='debian/config/config debian/config/m68k/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-m68k\""' KERNEL_ARCH='m68k' LOCALVERSION='-m68k' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-m68k' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='m68k' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='m68k' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-m68k' KCFLAGS='-ffreestanding' KCONFIG='debian/config/config debian/config/m68k/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-m68k\""' KERNEL_ARCH='m68k' LOCALVERSION='-m68k' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-m68k' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_m68k_none_real: build-arch_m68k_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='m68k' KERNEL_ARCH='m68k' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='m68k' KERNEL_ARCH='m68k' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mips: build-arch_mips_none build-arch_mips_real build-arch_mips64: build-arch_mips64_none build-arch_mips64_real build-arch_mips64_none: build-arch_mips64_none_5kc-malta build-arch_mips64_none_octeon build-arch_mips64_none_real build-arch_mips64_none_5kc-malta: build-arch_mips64_none_5kc-malta_real build-arch_mips64_none_5kc-malta_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='mips64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='mips64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mips64_none_octeon: build-arch_mips64_none_octeon_real build-arch_mips64_none_octeon_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='mips64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='mips64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mips64_none_real: build-arch_mips64_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='mips64' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='mips64' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mips64el: build-arch_mips64el_none build-arch_mips64el_real build-arch_mips64el_none: build-arch_mips64el_none_5kc-malta build-arch_mips64el_none_loongson-3 build-arch_mips64el_none_octeon build-arch_mips64el_none_real build-arch_mips64el_none_5kc-malta: build-arch_mips64el_none_5kc-malta_real build-arch_mips64el_none_5kc-malta_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mips64el_none_loongson-3: build-arch_mips64el_none_loongson-3_real build-arch_mips64el_none_loongson-3_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-loongson-3' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.loongson-3' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-loongson-3' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.loongson-3' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mips64el_none_octeon: build-arch_mips64el_none_octeon_real build-arch_mips64el_none_octeon_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mips64el_none_real: build-arch_mips64el_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='mips64el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='mips64el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mips64r6: build-arch_mips64r6_none build-arch_mips64r6_real build-arch_mips64r6_none: build-arch_mips64r6_none_mips64r6 build-arch_mips64r6_none_real build-arch_mips64r6_none_mips64r6: build-arch_mips64r6_none_mips64r6_real build-arch_mips64r6_none_mips64r6_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='mips64r6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips64r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64r6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='mips64r6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips64r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64r6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mips64r6_none_real: build-arch_mips64r6_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='mips64r6' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='mips64r6' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mips64r6el: build-arch_mips64r6el_none build-arch_mips64r6el_real build-arch_mips64r6el_none: build-arch_mips64r6el_none_mips64r6el build-arch_mips64r6el_none_real build-arch_mips64r6el_none_mips64r6el: build-arch_mips64r6el_none_mips64r6el_real build-arch_mips64r6el_none_mips64r6el_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='mips64r6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips64r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64r6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='mips64r6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips64r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64r6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mips64r6el_none_real: build-arch_mips64r6el_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='mips64r6el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='mips64r6el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mips_none: build-arch_mips_none_4kc-malta build-arch_mips_none_5kc-malta build-arch_mips_none_octeon build-arch_mips_none_real build-arch_mips_none_4kc-malta: build-arch_mips_none_4kc-malta_real build-arch_mips_none_4kc-malta_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-4kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips32r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-4kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips32r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mips_none_5kc-malta: build-arch_mips_none_5kc-malta_real build-arch_mips_none_5kc-malta_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mips_none_octeon: build-arch_mips_none_octeon_real build-arch_mips_none_octeon_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mips_none_real: build-arch_mips_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='mips' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='mips' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mipsel: build-arch_mipsel_none build-arch_mipsel_real build-arch_mipsel_none: build-arch_mipsel_none_4kc-malta build-arch_mipsel_none_5kc-malta build-arch_mipsel_none_loongson-3 build-arch_mipsel_none_octeon build-arch_mipsel_none_real build-arch_mipsel_none_4kc-malta: build-arch_mipsel_none_4kc-malta_real build-arch_mipsel_none_4kc-malta_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-4kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips32r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-4kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips32r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mipsel_none_5kc-malta: build-arch_mipsel_none_5kc-malta_real build-arch_mipsel_none_5kc-malta_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mipsel_none_loongson-3: build-arch_mipsel_none_loongson-3_real build-arch_mipsel_none_loongson-3_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-loongson-3' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.loongson-3' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-loongson-3' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.loongson-3' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mipsel_none_octeon: build-arch_mipsel_none_octeon_real build-arch_mipsel_none_octeon_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mipsel_none_real: build-arch_mipsel_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='mipsel' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='mipsel' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mipsn32: build-arch_mipsn32_real build-arch_mipsn32_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='mipsn32' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='mipsn32' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mipsn32el: build-arch_mipsn32el_real build-arch_mipsn32el_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='mipsn32el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='mipsn32el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mipsn32r6: build-arch_mipsn32r6_real build-arch_mipsn32r6_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='mipsn32r6' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='mipsn32r6' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mipsn32r6el: build-arch_mipsn32r6el_real build-arch_mipsn32r6el_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='mipsn32r6el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='mipsn32r6el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mipsr6: build-arch_mipsr6_none build-arch_mipsr6_real build-arch_mipsr6_none: build-arch_mipsr6_none_mips32r6 build-arch_mipsr6_none_mips64r6 build-arch_mipsr6_none_real build-arch_mipsr6_none_mips32r6: build-arch_mipsr6_none_mips32r6_real build-arch_mipsr6_none_mips32r6_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='mipsr6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips32r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips32r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips32r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='mipsr6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips32r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips32r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips32r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mipsr6_none_mips64r6: build-arch_mipsr6_none_mips64r6_real build-arch_mipsr6_none_mips64r6_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='mipsr6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips64r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='mipsr6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips64r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mipsr6_none_real: build-arch_mipsr6_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='mipsr6' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='mipsr6' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mipsr6el: build-arch_mipsr6el_none build-arch_mipsr6el_real build-arch_mipsr6el_none: build-arch_mipsr6el_none_mips32r6el build-arch_mipsr6el_none_mips64r6el build-arch_mipsr6el_none_real build-arch_mipsr6el_none_mips32r6el: build-arch_mipsr6el_none_mips32r6el_real build-arch_mipsr6el_none_mips32r6el_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='mipsr6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips32r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips32r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips32r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6el' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='mipsr6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips32r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips32r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips32r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6el' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mipsr6el_none_mips64r6el: build-arch_mipsr6el_none_mips64r6el_real build-arch_mipsr6el_none_mips64r6el_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='mipsr6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips64r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='mipsr6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips64r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_mipsr6el_none_real: build-arch_mipsr6el_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='mipsr6el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='mipsr6el' KERNEL_ARCH='mips' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_powerpc: build-arch_powerpc_none build-arch_powerpc_real build-arch_powerpc_none: build-arch_powerpc_none_powerpc build-arch_powerpc_none_powerpc-smp build-arch_powerpc_none_powerpc64 build-arch_powerpc_none_real build-arch_powerpc_none_powerpc: build-arch_powerpc_none_powerpc_real build-arch_powerpc_none_powerpc-smp: build-arch_powerpc_none_powerpc-smp_real build-arch_powerpc_none_powerpc-smp_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-powerpc-smp' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc debian/config/powerpc/config.powerpc-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-powerpc-smp\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc-smp' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-powerpc-smp' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc debian/config/powerpc/config.powerpc-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-powerpc-smp\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc-smp' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' build-arch_powerpc_none_powerpc64: build-arch_powerpc_none_powerpc64_real build-arch_powerpc_none_powerpc64_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-powerpc64' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-be' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-powerpc64' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-be' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' build-arch_powerpc_none_powerpc_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-powerpc' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-powerpc\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-powerpc' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-powerpc\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' build-arch_powerpc_none_real: build-arch_powerpc_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='powerpc' KERNEL_ARCH='powerpc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='powerpc' KERNEL_ARCH='powerpc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_ppc64: build-arch_ppc64_none build-arch_ppc64_real build-arch_ppc64_none: build-arch_ppc64_none_powerpc64 build-arch_ppc64_none_real build-arch_ppc64_none_powerpc64: build-arch_ppc64_none_powerpc64_real build-arch_ppc64_none_powerpc64_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='ppc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-powerpc64' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-be' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='ppc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-powerpc64' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-be' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' build-arch_ppc64_none_real: build-arch_ppc64_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='ppc64' KERNEL_ARCH='powerpc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='ppc64' KERNEL_ARCH='powerpc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_ppc64el: build-arch_ppc64el_none build-arch_ppc64el_real build-arch_ppc64el_none: build-arch_ppc64el_none_powerpc64le build-arch_ppc64el_none_real build-arch_ppc64el_none_powerpc64le: build-arch_ppc64el_none_powerpc64le_real build-arch_ppc64el_none_powerpc64le_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='ppc64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64le' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-powerpc64le' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-le' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-powerpc64le\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64le' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64le' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='ppc64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64le' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-powerpc64le' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-le' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-powerpc64le\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64le' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64le' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' build-arch_ppc64el_none_real: build-arch_ppc64el_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='ppc64el' KERNEL_ARCH='powerpc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='ppc64el' KERNEL_ARCH='powerpc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_riscv64: build-arch_riscv64_none build-arch_riscv64_real build-arch_riscv64_none: build-arch_riscv64_none_real build-arch_riscv64_none_riscv64 build-arch_riscv64_none_real: build-arch_riscv64_none_riscv64: build-arch_riscv64_none_riscv64_real build-arch_riscv64_none_riscv64_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='riscv64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='riscv64' IMAGE_FILE='arch/riscv/boot/Image' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-riscv64' KCONFIG='debian/config/config debian/config/riscv64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-riscv64\""' KERNEL_ARCH='riscv' LOCALVERSION='-riscv64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-riscv64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='riscv64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='riscv64' IMAGE_FILE='arch/riscv/boot/Image' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-riscv64' KCONFIG='debian/config/config debian/config/riscv64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-riscv64\""' KERNEL_ARCH='riscv' LOCALVERSION='-riscv64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-riscv64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' build-arch_riscv64_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='riscv64' KERNEL_ARCH='riscv' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='riscv64' KERNEL_ARCH='riscv' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_s390: build-arch_s390_real build-arch_s390_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='s390' KERNEL_ARCH='s390' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='s390' KERNEL_ARCH='s390' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_s390x: build-arch_s390x_none build-arch_s390x_real build-arch_s390x_none: build-arch_s390x_none_real build-arch_s390x_none_s390x build-arch_s390x_none_real: build-arch_s390x_none_s390x: build-arch_s390x_none_s390x_real build-arch_s390x_none_s390x_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='s390x' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='s390x' IMAGE_FILE='arch/s390/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-s390x' KCONFIG='debian/config/config debian/config/s390x/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-s390x\""' KERNEL_ARCH='s390' LOCALVERSION='-s390x' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-s390x' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='s390x' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='s390x' IMAGE_FILE='arch/s390/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-s390x' KCONFIG='debian/config/config debian/config/s390x/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-s390x\""' KERNEL_ARCH='s390' LOCALVERSION='-s390x' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-s390x' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' build-arch_s390x_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='s390x' KERNEL_ARCH='s390' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='s390x' KERNEL_ARCH='s390' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_sh3: build-arch_sh3_real build-arch_sh3_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='sh3' KERNEL_ARCH='sh' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='sh3' KERNEL_ARCH='sh' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_sh4: build-arch_sh4_none build-arch_sh4_real build-arch_sh4_none: build-arch_sh4_none_real build-arch_sh4_none_sh7751r build-arch_sh4_none_sh7785lcr build-arch_sh4_none_real: build-arch_sh4_none_sh7751r: build-arch_sh4_none_sh7751r_real build-arch_sh4_none_sh7751r_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='sh4' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sh7751r' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-sh7751r' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7751r' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-sh7751r\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7751r' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7751r' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='sh4' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sh7751r' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-sh7751r' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7751r' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-sh7751r\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7751r' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7751r' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_sh4_none_sh7785lcr: build-arch_sh4_none_sh7785lcr_real build-arch_sh4_none_sh7785lcr_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='sh4' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sh7785lcr' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-sh7785lcr' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7785lcr' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-sh7785lcr\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7785lcr' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7785lcr' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='sh4' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sh7785lcr' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-sh7785lcr' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7785lcr' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-sh7785lcr\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7785lcr' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7785lcr' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_sh4_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='sh4' KERNEL_ARCH='sh' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='sh4' KERNEL_ARCH='sh' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_sparc: build-arch_sparc_real build-arch_sparc64: build-arch_sparc64_none build-arch_sparc64_real build-arch_sparc64_none: build-arch_sparc64_none_real build-arch_sparc64_none_sparc64 build-arch_sparc64_none_sparc64-smp @@ -714,163 +714,163 @@ build-arch_sparc64_none_sparc64: build-arch_sparc64_none_sparc64_real build-arch_sparc64_none_sparc64-smp: build-arch_sparc64_none_sparc64-smp_real build-arch_sparc64_none_sparc64-smp_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='sparc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-sparc64-smp' KCONFIG='debian/config/config debian/config/kernelarch-sparc/config debian/config/kernelarch-sparc/config-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-sparc64-smp\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64-smp' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='sparc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-sparc64-smp' KCONFIG='debian/config/config debian/config/kernelarch-sparc/config debian/config/kernelarch-sparc/config-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-sparc64-smp\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64-smp' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_sparc64_none_sparc64_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-26' ARCH='sparc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-sparc64' KCONFIG='debian/config/config debian/config/kernelarch-sparc/config debian/config/kernelarch-sparc/config-up' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-sparc64\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='5.10.0-27' ARCH='sparc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-sparc64' KCONFIG='debian/config/config debian/config/kernelarch-sparc/config debian/config/kernelarch-sparc/config-up' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-sparc64\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_sparc64_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='sparc64' KERNEL_ARCH='sparc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='sparc64' KERNEL_ARCH='sparc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_sparc_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='sparc' KERNEL_ARCH='sparc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='sparc' KERNEL_ARCH='sparc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-arch_x32: build-arch_x32_real build-arch_x32_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-26' ARCH='x32' KERNEL_ARCH='x86' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='5.10.0-27' ARCH='x32' KERNEL_ARCH='x86' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-indep:: build-indep_none build-indep_rt build-indep:: - $(MAKE) -f debian/rules.real build-indep ABINAME='5.10.0-26' ALL_FEATURESETS='none rt' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real build-indep ABINAME='5.10.0-27' ALL_FEATURESETS='none rt' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' build-indep_none: build-indep_none_real build-indep_none_real: build-indep_rt: build-indep_rt_real build-indep_rt_real: debian/build/config.alpha_none_alpha-generic:: - $(MAKE) -f debian/rules.real debian/build/config.alpha_none_alpha-generic ABINAME='5.10.0-26' ARCH='alpha' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-generic' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-alpha-generic' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-generic' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-alpha-generic\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-generic' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-generic' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.alpha_none_alpha-generic ABINAME='5.10.0-27' ARCH='alpha' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-generic' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-alpha-generic' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-generic' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-alpha-generic\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-generic' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-generic' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.alpha_none_alpha-smp:: - $(MAKE) -f debian/rules.real debian/build/config.alpha_none_alpha-smp ABINAME='5.10.0-26' ARCH='alpha' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-smp' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-alpha-smp' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-alpha-smp\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-smp' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.alpha_none_alpha-smp ABINAME='5.10.0-27' ARCH='alpha' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-smp' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-alpha-smp' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-alpha-smp\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-smp' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.amd64_none_amd64:: - $(MAKE) -f debian/rules.real debian/build/config.amd64_none_amd64 ABINAME='5.10.0-26' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-amd64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.amd64_none_amd64 ABINAME='5.10.0-27' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-amd64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' debian/build/config.amd64_none_cloud-amd64:: - $(MAKE) -f debian/rules.real debian/build/config.amd64_none_cloud-amd64 ABINAME='5.10.0-26' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-cloud-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/amd64/config.cloud-amd64 debian/config/config.cloud debian/config/amd64/config.cloud-amd64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-cloud-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-cloud-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-amd64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.amd64_none_cloud-amd64 ABINAME='5.10.0-27' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-cloud-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/amd64/config.cloud-amd64 debian/config/config.cloud debian/config/amd64/config.cloud-amd64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-cloud-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-cloud-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-amd64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' debian/build/config.amd64_rt_amd64:: - $(MAKE) -f debian/rules.real debian/build/config.amd64_rt_amd64 ABINAME='5.10.0-26' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-rt-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-rt-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-amd64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-amd64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.amd64_rt_amd64 ABINAME='5.10.0-27' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-rt-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-rt-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-amd64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-amd64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' debian/build/config.arm64_none_arm64:: - $(MAKE) -f debian/rules.real debian/build/config.arm64_none_arm64 ABINAME='5.10.0-26' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='none' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-arm64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.arm64_none_arm64 ABINAME='5.10.0-27' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='none' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-arm64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' debian/build/config.arm64_none_cloud-arm64:: - $(MAKE) -f debian/rules.real debian/build/config.arm64_none_cloud-arm64 ABINAME='5.10.0-26' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-cloud-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/arm64/config.cloud-arm64 debian/config/config.cloud debian/config/arm64/config.cloud-arm64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-cloud-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-cloud-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-arm64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.arm64_none_cloud-arm64 ABINAME='5.10.0-27' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-cloud-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/arm64/config.cloud-arm64 debian/config/config.cloud debian/config/arm64/config.cloud-arm64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-cloud-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-cloud-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-arm64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' debian/build/config.arm64_rt_arm64:: - $(MAKE) -f debian/rules.real debian/build/config.arm64_rt_arm64 ABINAME='5.10.0-26' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='rt' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-rt-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/featureset-rt/config debian/config/arm64/rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-rt-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-rt-arm64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-arm64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.arm64_rt_arm64 ABINAME='5.10.0-27' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='rt' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-rt-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/featureset-rt/config debian/config/arm64/rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-rt-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-rt-arm64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-arm64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' debian/build/config.armel_none_marvell:: - $(MAKE) -f debian/rules.real debian/build/config.armel_none_marvell ABINAME='5.10.0-26' ARCH='armel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='marvell' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-marvell' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armel/config debian/config/armel/config.marvell' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-marvell\""' KERNEL_ARCH='arm' LOCALVERSION='-marvell' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-marvell' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.armel_none_marvell ABINAME='5.10.0-27' ARCH='armel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='marvell' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-marvell' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armel/config debian/config/armel/config.marvell' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-marvell\""' KERNEL_ARCH='arm' LOCALVERSION='-marvell' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-marvell' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.armel_none_rpi:: - $(MAKE) -f debian/rules.real debian/build/config.armel_none_rpi ABINAME='5.10.0-26' ARCH='armel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='rpi' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-rpi' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armel/config debian/config/armel/config.rpi' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-rpi\""' KERNEL_ARCH='arm' LOCALVERSION='-rpi' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-rpi' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.armel_none_rpi ABINAME='5.10.0-27' ARCH='armel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='rpi' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-rpi' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armel/config debian/config/armel/config.rpi' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-rpi\""' KERNEL_ARCH='arm' LOCALVERSION='-rpi' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-rpi' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.armhf_none_armmp:: - $(MAKE) -f debian/rules.real debian/build/config.armhf_none_armmp ABINAME='5.10.0-26' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.armhf_none_armmp ABINAME='5.10.0-27' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' debian/build/config.armhf_none_armmp-lpae:: - $(MAKE) -f debian/rules.real debian/build/config.armhf_none_armmp-lpae ABINAME='5.10.0-26' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='armmp-lpae' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-armmp-lpae' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config debian/config/armhf/config.armmp-lpae' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-armmp-lpae\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp-lpae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp-lpae' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.armhf_none_armmp-lpae ABINAME='5.10.0-27' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='armmp-lpae' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-armmp-lpae' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config debian/config/armhf/config.armmp-lpae' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-armmp-lpae\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp-lpae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp-lpae' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' debian/build/config.armhf_rt_armmp:: - $(MAKE) -f debian/rules.real debian/build/config.armhf_rt_armmp ABINAME='5.10.0-26' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-rt-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-rt-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-rt-armmp' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-armmp' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.armhf_rt_armmp ABINAME='5.10.0-27' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-rt-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-rt-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-rt-armmp' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-armmp' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' debian/build/config.hppa_none_parisc:: - $(MAKE) -f debian/rules.real debian/build/config.hppa_none_parisc ABINAME='5.10.0-26' ARCH='hppa' COMPILER='gcc-10' FEATURESET='none' FLAVOUR='parisc' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-parisc' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"5.10.0-26-parisc\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.hppa_none_parisc ABINAME='5.10.0-27' ARCH='hppa' COMPILER='gcc-10' FEATURESET='none' FLAVOUR='parisc' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-parisc' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"5.10.0-27-parisc\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.hppa_none_parisc64:: - $(MAKE) -f debian/rules.real debian/build/config.hppa_none_parisc64 ABINAME='5.10.0-26' ARCH='hppa' COMPILER='gcc-10' FEATURESET='none' FLAVOUR='parisc64' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-parisc64' KCFLAGS='-fno-cse-follow-jumps' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc64' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"5.10.0-26-parisc64\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc64' OVERRIDE_HOST_TYPE='hppa64-linux-gnu' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.hppa_none_parisc64 ABINAME='5.10.0-27' ARCH='hppa' COMPILER='gcc-10' FEATURESET='none' FLAVOUR='parisc64' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-parisc64' KCFLAGS='-fno-cse-follow-jumps' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc64' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"5.10.0-27-parisc64\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc64' OVERRIDE_HOST_TYPE='hppa64-linux-gnu' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.i386_none_686:: - $(MAKE) -f debian/rules.real debian/build/config.i386_none_686 ABINAME='5.10.0-26' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='686' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-686-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-686\""' KERNEL_ARCH='x86' LOCALVERSION='-686' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.i386_none_686 ABINAME='5.10.0-27' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='686' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-686-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-686\""' KERNEL_ARCH='x86' LOCALVERSION='-686' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' debian/build/config.i386_none_686-pae:: - $(MAKE) -f debian/rules.real debian/build/config.i386_none_686-pae ABINAME='5.10.0-26' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-686-pae-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686-pae' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-686-pae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686-pae' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.i386_none_686-pae ABINAME='5.10.0-27' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-686-pae-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686-pae' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-686-pae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686-pae' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' debian/build/config.i386_rt_686-pae:: - $(MAKE) -f debian/rules.real debian/build/config.i386_rt_686-pae ABINAME='5.10.0-26' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-rt-686-pae-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686-pae debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-rt-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-686-pae' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-686-pae' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.i386_rt_686-pae ABINAME='5.10.0-27' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-rt-686-pae-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686-pae debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-rt-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-686-pae' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-686-pae' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' debian/build/config.ia64_none_itanium:: - $(MAKE) -f debian/rules.real debian/build/config.ia64_none_itanium ABINAME='5.10.0-26' ARCH='ia64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='itanium' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-itanium' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.itanium' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-itanium\""' KERNEL_ARCH='ia64' LOCALVERSION='-itanium' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-itanium' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.ia64_none_itanium ABINAME='5.10.0-27' ARCH='ia64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='itanium' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-itanium' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.itanium' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-itanium\""' KERNEL_ARCH='ia64' LOCALVERSION='-itanium' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-itanium' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.ia64_none_mckinley:: - $(MAKE) -f debian/rules.real debian/build/config.ia64_none_mckinley ABINAME='5.10.0-26' ARCH='ia64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mckinley' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mckinley' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.mckinley' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mckinley\""' KERNEL_ARCH='ia64' LOCALVERSION='-mckinley' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mckinley' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.ia64_none_mckinley ABINAME='5.10.0-27' ARCH='ia64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mckinley' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mckinley' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.mckinley' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mckinley\""' KERNEL_ARCH='ia64' LOCALVERSION='-mckinley' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mckinley' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.m68k_none_m68k:: - $(MAKE) -f debian/rules.real debian/build/config.m68k_none_m68k ABINAME='5.10.0-26' ARCH='m68k' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='m68k' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-m68k' KCFLAGS='-ffreestanding' KCONFIG='debian/config/config debian/config/m68k/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-m68k\""' KERNEL_ARCH='m68k' LOCALVERSION='-m68k' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-m68k' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.m68k_none_m68k ABINAME='5.10.0-27' ARCH='m68k' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='m68k' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-m68k' KCFLAGS='-ffreestanding' KCONFIG='debian/config/config debian/config/m68k/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-m68k\""' KERNEL_ARCH='m68k' LOCALVERSION='-m68k' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-m68k' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.mips64_none_5kc-malta:: - $(MAKE) -f debian/rules.real debian/build/config.mips64_none_5kc-malta ABINAME='5.10.0-26' ARCH='mips64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.mips64_none_5kc-malta ABINAME='5.10.0-27' ARCH='mips64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.mips64_none_octeon:: - $(MAKE) -f debian/rules.real debian/build/config.mips64_none_octeon ABINAME='5.10.0-26' ARCH='mips64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.mips64_none_octeon ABINAME='5.10.0-27' ARCH='mips64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.mips64el_none_5kc-malta:: - $(MAKE) -f debian/rules.real debian/build/config.mips64el_none_5kc-malta ABINAME='5.10.0-26' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.mips64el_none_5kc-malta ABINAME='5.10.0-27' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.mips64el_none_loongson-3:: - $(MAKE) -f debian/rules.real debian/build/config.mips64el_none_loongson-3 ABINAME='5.10.0-26' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-loongson-3' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.loongson-3' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.mips64el_none_loongson-3 ABINAME='5.10.0-27' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-loongson-3' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.loongson-3' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.mips64el_none_octeon:: - $(MAKE) -f debian/rules.real debian/build/config.mips64el_none_octeon ABINAME='5.10.0-26' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.mips64el_none_octeon ABINAME='5.10.0-27' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.mips64r6_none_mips64r6:: - $(MAKE) -f debian/rules.real debian/build/config.mips64r6_none_mips64r6 ABINAME='5.10.0-26' ARCH='mips64r6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips64r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64r6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.mips64r6_none_mips64r6 ABINAME='5.10.0-27' ARCH='mips64r6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips64r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64r6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.mips64r6el_none_mips64r6el:: - $(MAKE) -f debian/rules.real debian/build/config.mips64r6el_none_mips64r6el ABINAME='5.10.0-26' ARCH='mips64r6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips64r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64r6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.mips64r6el_none_mips64r6el ABINAME='5.10.0-27' ARCH='mips64r6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips64r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64r6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.mips_none_4kc-malta:: - $(MAKE) -f debian/rules.real debian/build/config.mips_none_4kc-malta ABINAME='5.10.0-26' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-4kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips32r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.mips_none_4kc-malta ABINAME='5.10.0-27' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-4kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips32r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.mips_none_5kc-malta:: - $(MAKE) -f debian/rules.real debian/build/config.mips_none_5kc-malta ABINAME='5.10.0-26' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.mips_none_5kc-malta ABINAME='5.10.0-27' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.mips_none_octeon:: - $(MAKE) -f debian/rules.real debian/build/config.mips_none_octeon ABINAME='5.10.0-26' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.mips_none_octeon ABINAME='5.10.0-27' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.mipsel_none_4kc-malta:: - $(MAKE) -f debian/rules.real debian/build/config.mipsel_none_4kc-malta ABINAME='5.10.0-26' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-4kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips32r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.mipsel_none_4kc-malta ABINAME='5.10.0-27' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-4kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips32r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.mipsel_none_5kc-malta:: - $(MAKE) -f debian/rules.real debian/build/config.mipsel_none_5kc-malta ABINAME='5.10.0-26' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.mipsel_none_5kc-malta ABINAME='5.10.0-27' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.mipsel_none_loongson-3:: - $(MAKE) -f debian/rules.real debian/build/config.mipsel_none_loongson-3 ABINAME='5.10.0-26' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-loongson-3' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.loongson-3' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.mipsel_none_loongson-3 ABINAME='5.10.0-27' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-loongson-3' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.loongson-3' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.mipsel_none_octeon:: - $(MAKE) -f debian/rules.real debian/build/config.mipsel_none_octeon ABINAME='5.10.0-26' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.mipsel_none_octeon ABINAME='5.10.0-27' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.mipsr6_none_mips32r6:: - $(MAKE) -f debian/rules.real debian/build/config.mipsr6_none_mips32r6 ABINAME='5.10.0-26' ARCH='mipsr6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips32r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips32r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips32r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.mipsr6_none_mips32r6 ABINAME='5.10.0-27' ARCH='mipsr6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips32r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips32r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips32r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.mipsr6_none_mips64r6:: - $(MAKE) -f debian/rules.real debian/build/config.mipsr6_none_mips64r6 ABINAME='5.10.0-26' ARCH='mipsr6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips64r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.mipsr6_none_mips64r6 ABINAME='5.10.0-27' ARCH='mipsr6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips64r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.mipsr6el_none_mips32r6el:: - $(MAKE) -f debian/rules.real debian/build/config.mipsr6el_none_mips32r6el ABINAME='5.10.0-26' ARCH='mipsr6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips32r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips32r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips32r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6el' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.mipsr6el_none_mips32r6el ABINAME='5.10.0-27' ARCH='mipsr6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips32r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips32r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips32r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6el' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.mipsr6el_none_mips64r6el:: - $(MAKE) -f debian/rules.real debian/build/config.mipsr6el_none_mips64r6el ABINAME='5.10.0-26' ARCH='mipsr6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips64r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.mipsr6el_none_mips64r6el ABINAME='5.10.0-27' ARCH='mipsr6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips64r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.powerpc_none_powerpc:: - $(MAKE) -f debian/rules.real debian/build/config.powerpc_none_powerpc ABINAME='5.10.0-26' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-powerpc' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-powerpc\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.powerpc_none_powerpc ABINAME='5.10.0-27' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-powerpc' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-powerpc\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' debian/build/config.powerpc_none_powerpc-smp:: - $(MAKE) -f debian/rules.real debian/build/config.powerpc_none_powerpc-smp ABINAME='5.10.0-26' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-powerpc-smp' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc debian/config/powerpc/config.powerpc-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-powerpc-smp\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc-smp' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.powerpc_none_powerpc-smp ABINAME='5.10.0-27' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-powerpc-smp' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc debian/config/powerpc/config.powerpc-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-powerpc-smp\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc-smp' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' debian/build/config.powerpc_none_powerpc64:: - $(MAKE) -f debian/rules.real debian/build/config.powerpc_none_powerpc64 ABINAME='5.10.0-26' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-powerpc64' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-be' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.powerpc_none_powerpc64 ABINAME='5.10.0-27' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-powerpc64' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-be' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' debian/build/config.ppc64_none_powerpc64:: - $(MAKE) -f debian/rules.real debian/build/config.ppc64_none_powerpc64 ABINAME='5.10.0-26' ARCH='ppc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-powerpc64' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-be' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.ppc64_none_powerpc64 ABINAME='5.10.0-27' ARCH='ppc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-powerpc64' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-be' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' debian/build/config.ppc64el_none_powerpc64le:: - $(MAKE) -f debian/rules.real debian/build/config.ppc64el_none_powerpc64le ABINAME='5.10.0-26' ARCH='ppc64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64le' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-powerpc64le' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-le' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-powerpc64le\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64le' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64le' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.ppc64el_none_powerpc64le ABINAME='5.10.0-27' ARCH='ppc64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64le' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-powerpc64le' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-le' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-powerpc64le\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64le' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64le' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' debian/build/config.riscv64_none_riscv64:: - $(MAKE) -f debian/rules.real debian/build/config.riscv64_none_riscv64 ABINAME='5.10.0-26' ARCH='riscv64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='riscv64' IMAGE_FILE='arch/riscv/boot/Image' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-riscv64' KCONFIG='debian/config/config debian/config/riscv64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-riscv64\""' KERNEL_ARCH='riscv' LOCALVERSION='-riscv64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-riscv64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.riscv64_none_riscv64 ABINAME='5.10.0-27' ARCH='riscv64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='riscv64' IMAGE_FILE='arch/riscv/boot/Image' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-riscv64' KCONFIG='debian/config/config debian/config/riscv64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-riscv64\""' KERNEL_ARCH='riscv' LOCALVERSION='-riscv64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-riscv64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' debian/build/config.s390x_none_s390x:: - $(MAKE) -f debian/rules.real debian/build/config.s390x_none_s390x ABINAME='5.10.0-26' ARCH='s390x' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='s390x' IMAGE_FILE='arch/s390/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-s390x' KCONFIG='debian/config/config debian/config/s390x/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-s390x\""' KERNEL_ARCH='s390' LOCALVERSION='-s390x' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-s390x' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.s390x_none_s390x ABINAME='5.10.0-27' ARCH='s390x' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='s390x' IMAGE_FILE='arch/s390/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-s390x' KCONFIG='debian/config/config debian/config/s390x/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-s390x\""' KERNEL_ARCH='s390' LOCALVERSION='-s390x' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-s390x' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' debian/build/config.sh4_none_sh7751r:: - $(MAKE) -f debian/rules.real debian/build/config.sh4_none_sh7751r ABINAME='5.10.0-26' ARCH='sh4' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sh7751r' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-sh7751r' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7751r' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-sh7751r\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7751r' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7751r' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.sh4_none_sh7751r ABINAME='5.10.0-27' ARCH='sh4' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sh7751r' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-sh7751r' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7751r' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-sh7751r\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7751r' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7751r' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.sh4_none_sh7785lcr:: - $(MAKE) -f debian/rules.real debian/build/config.sh4_none_sh7785lcr ABINAME='5.10.0-26' ARCH='sh4' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sh7785lcr' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-sh7785lcr' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7785lcr' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-sh7785lcr\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7785lcr' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7785lcr' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.sh4_none_sh7785lcr ABINAME='5.10.0-27' ARCH='sh4' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sh7785lcr' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-sh7785lcr' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7785lcr' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-sh7785lcr\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7785lcr' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7785lcr' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.sparc64_none_sparc64:: - $(MAKE) -f debian/rules.real debian/build/config.sparc64_none_sparc64 ABINAME='5.10.0-26' ARCH='sparc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-sparc64' KCONFIG='debian/config/config debian/config/kernelarch-sparc/config debian/config/kernelarch-sparc/config-up' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-sparc64\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.sparc64_none_sparc64 ABINAME='5.10.0-27' ARCH='sparc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-sparc64' KCONFIG='debian/config/config debian/config/kernelarch-sparc/config debian/config/kernelarch-sparc/config-up' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-sparc64\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' debian/build/config.sparc64_none_sparc64-smp:: - $(MAKE) -f debian/rules.real debian/build/config.sparc64_none_sparc64-smp ABINAME='5.10.0-26' ARCH='sparc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-sparc64-smp' KCONFIG='debian/config/config debian/config/kernelarch-sparc/config debian/config/kernelarch-sparc/config-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-sparc64-smp\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64-smp' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real debian/build/config.sparc64_none_sparc64-smp ABINAME='5.10.0-27' ARCH='sparc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-sparc64-smp' KCONFIG='debian/config/config debian/config/kernelarch-sparc/config debian/config/kernelarch-sparc/config-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-sparc64-smp\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64-smp' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup: setup_alpha setup_amd64 setup_arm64 setup_arm64ilp32 setup_armel setup_armhf setup_hppa setup_i386 setup_ia64 setup_m68k setup_mips setup_mips64 setup_mips64el setup_mips64r6 setup_mips64r6el setup_mipsel setup_mipsn32 setup_mipsn32el setup_mipsn32r6 setup_mipsn32r6el setup_mipsr6 setup_mipsr6el setup_none setup_powerpc setup_ppc64 setup_ppc64el setup_riscv64 setup_rt setup_s390 setup_s390x setup_sh3 setup_sh4 setup_sparc setup_sparc64 setup_x32 setup_alpha: setup_alpha_none setup_alpha_real setup_alpha_none: setup_alpha_none_alpha-generic setup_alpha_none_alpha-smp setup_alpha_none_real setup_alpha_none_alpha-generic: setup_alpha_none_alpha-generic_real setup_alpha_none_alpha-generic_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='alpha' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-generic' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-alpha-generic' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-generic' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-alpha-generic\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-generic' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-generic' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='alpha' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-generic' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-alpha-generic' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-generic' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-alpha-generic\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-generic' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-generic' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_alpha_none_alpha-smp: setup_alpha_none_alpha-smp_real setup_alpha_none_alpha-smp_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='alpha' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-smp' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-alpha-smp' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-alpha-smp\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-smp' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='alpha' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-smp' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-alpha-smp' KCONFIG='debian/config/config debian/config/alpha/config debian/config/alpha/config.alpha-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-alpha-smp\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-smp' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_alpha_none_real: setup_alpha_real: setup_amd64: setup_amd64_none setup_amd64_real setup_amd64_rt setup_amd64_none: setup_amd64_none_amd64 setup_amd64_none_cloud-amd64 setup_amd64_none_real setup_amd64_none_amd64: setup_amd64_none_amd64_real setup_amd64_none_amd64_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-amd64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-amd64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' setup_amd64_none_cloud-amd64: setup_amd64_none_cloud-amd64_real setup_amd64_none_cloud-amd64_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-cloud-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/amd64/config.cloud-amd64 debian/config/config.cloud debian/config/amd64/config.cloud-amd64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-cloud-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-cloud-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-amd64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-cloud-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/amd64/config.cloud-amd64 debian/config/config.cloud debian/config/amd64/config.cloud-amd64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-cloud-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-cloud-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-amd64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' setup_amd64_none_real: setup_amd64_real: setup_amd64_rt: setup_amd64_rt_amd64 setup_amd64_rt_real setup_amd64_rt_amd64: setup_amd64_rt_amd64_real setup_amd64_rt_amd64_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-rt-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-rt-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-amd64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-amd64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='amd64' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-rt-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-rt-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-amd64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-amd64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' setup_amd64_rt_real: setup_arm64: setup_arm64_none setup_arm64_real setup_arm64_rt setup_arm64_none: setup_arm64_none_arm64 setup_arm64_none_cloud-arm64 setup_arm64_none_real setup_arm64_none_arm64: setup_arm64_none_arm64_real setup_arm64_none_arm64_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='none' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-arm64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='none' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-arm64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' setup_arm64_none_cloud-arm64: setup_arm64_none_cloud-arm64_real setup_arm64_none_cloud-arm64_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-cloud-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/arm64/config.cloud-arm64 debian/config/config.cloud debian/config/arm64/config.cloud-arm64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-cloud-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-cloud-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-arm64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-cloud-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/arm64/config.cloud-arm64 debian/config/config.cloud debian/config/arm64/config.cloud-arm64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-cloud-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-cloud-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-arm64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' setup_arm64_none_real: setup_arm64_real: setup_arm64_rt: setup_arm64_rt_arm64 setup_arm64_rt_real setup_arm64_rt_arm64: setup_arm64_rt_arm64_real setup_arm64_rt_arm64_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='rt' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-rt-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/featureset-rt/config debian/config/arm64/rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-rt-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-rt-arm64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-arm64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='arm64' COMPILER='gcc-10' CROSS_COMPILE_COMPAT='arm-linux-gnueabihf-' DEBUG='True' FEATURESET='rt' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-rt-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/featureset-rt/config debian/config/arm64/rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-rt-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-rt-arm64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-arm64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' setup_arm64_rt_real: setup_arm64ilp32: setup_arm64ilp32_real setup_arm64ilp32_real: @@ -878,35 +878,35 @@ setup_armel_none: setup_armel_none_marvell setup_armel_none_real setup_armel_none_rpi setup_armel_none_marvell: setup_armel_none_marvell_real setup_armel_none_marvell_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='armel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='marvell' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-marvell' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armel/config debian/config/armel/config.marvell' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-marvell\""' KERNEL_ARCH='arm' LOCALVERSION='-marvell' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-marvell' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='armel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='marvell' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-marvell' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armel/config debian/config/armel/config.marvell' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-marvell\""' KERNEL_ARCH='arm' LOCALVERSION='-marvell' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-marvell' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_armel_none_real: setup_armel_none_rpi: setup_armel_none_rpi_real setup_armel_none_rpi_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='armel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='rpi' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-rpi' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armel/config debian/config/armel/config.rpi' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-rpi\""' KERNEL_ARCH='arm' LOCALVERSION='-rpi' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-rpi' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='armel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='rpi' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-rpi' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armel/config debian/config/armel/config.rpi' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-rpi\""' KERNEL_ARCH='arm' LOCALVERSION='-rpi' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-rpi' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_armel_real: setup_armhf: setup_armhf_none setup_armhf_real setup_armhf_rt setup_armhf_none: setup_armhf_none_armmp setup_armhf_none_armmp-lpae setup_armhf_none_real setup_armhf_none_armmp: setup_armhf_none_armmp_real setup_armhf_none_armmp-lpae: setup_armhf_none_armmp-lpae_real setup_armhf_none_armmp-lpae_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='armmp-lpae' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-armmp-lpae' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config debian/config/armhf/config.armmp-lpae' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-armmp-lpae\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp-lpae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp-lpae' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='armmp-lpae' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-armmp-lpae' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config debian/config/armhf/config.armmp-lpae' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-armmp-lpae\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp-lpae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp-lpae' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' setup_armhf_none_armmp_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' setup_armhf_none_real: setup_armhf_real: setup_armhf_rt: setup_armhf_rt_armmp setup_armhf_rt_real setup_armhf_rt_armmp: setup_armhf_rt_armmp_real setup_armhf_rt_armmp_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-rt-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-rt-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-rt-armmp' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-armmp' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='armhf' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-rt-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-rt-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-rt-armmp' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-armmp' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' setup_armhf_rt_real: setup_hppa: setup_hppa_none setup_hppa_real setup_hppa_none: setup_hppa_none_parisc setup_hppa_none_parisc64 setup_hppa_none_real setup_hppa_none_parisc: setup_hppa_none_parisc_real setup_hppa_none_parisc64: setup_hppa_none_parisc64_real setup_hppa_none_parisc64_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='hppa' COMPILER='gcc-10' FEATURESET='none' FLAVOUR='parisc64' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-parisc64' KCFLAGS='-fno-cse-follow-jumps' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc64' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"5.10.0-26-parisc64\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc64' OVERRIDE_HOST_TYPE='hppa64-linux-gnu' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='hppa' COMPILER='gcc-10' FEATURESET='none' FLAVOUR='parisc64' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-parisc64' KCFLAGS='-fno-cse-follow-jumps' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc64' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"5.10.0-27-parisc64\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc64' OVERRIDE_HOST_TYPE='hppa64-linux-gnu' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_hppa_none_parisc_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='hppa' COMPILER='gcc-10' FEATURESET='none' FLAVOUR='parisc' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-parisc' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"5.10.0-26-parisc\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='hppa' COMPILER='gcc-10' FEATURESET='none' FLAVOUR='parisc' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-parisc' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"5.10.0-27-parisc\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_hppa_none_real: setup_hppa_real: setup_i386: setup_i386_none setup_i386_real setup_i386_rt @@ -914,31 +914,31 @@ setup_i386_none_686: setup_i386_none_686_real setup_i386_none_686-pae: setup_i386_none_686-pae_real setup_i386_none_686-pae_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-686-pae-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686-pae' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-686-pae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686-pae' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-686-pae-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686-pae' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-686-pae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686-pae' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' setup_i386_none_686_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='686' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-686-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-686\""' KERNEL_ARCH='x86' LOCALVERSION='-686' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='686' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-686-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-686\""' KERNEL_ARCH='x86' LOCALVERSION='-686' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' setup_i386_none_real: setup_i386_real: setup_i386_rt: setup_i386_rt_686-pae setup_i386_rt_real setup_i386_rt_686-pae: setup_i386_rt_686-pae_real setup_i386_rt_686-pae_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-rt-686-pae-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686-pae debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-26-rt-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-686-pae' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-686-pae' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='i386' COMPILER='gcc-10' DEBUG='True' FEATURESET='rt' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-rt-686-pae-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/i386/config debian/config/i386/config.686-pae debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o SECURITY_LOCKDOWN_LSM=y -o MODULE_SIG=y -o "BUILD_SALT=\"5.10.0-27-rt-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-686-pae' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-686-pae' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' setup_i386_rt_real: setup_ia64: setup_ia64_none setup_ia64_real setup_ia64_none: setup_ia64_none_itanium setup_ia64_none_mckinley setup_ia64_none_real setup_ia64_none_itanium: setup_ia64_none_itanium_real setup_ia64_none_itanium_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='ia64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='itanium' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-itanium' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.itanium' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-itanium\""' KERNEL_ARCH='ia64' LOCALVERSION='-itanium' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-itanium' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='ia64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='itanium' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-itanium' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.itanium' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-itanium\""' KERNEL_ARCH='ia64' LOCALVERSION='-itanium' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-itanium' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_ia64_none_mckinley: setup_ia64_none_mckinley_real setup_ia64_none_mckinley_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='ia64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mckinley' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mckinley' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.mckinley' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mckinley\""' KERNEL_ARCH='ia64' LOCALVERSION='-mckinley' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mckinley' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='ia64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mckinley' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mckinley' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.mckinley' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mckinley\""' KERNEL_ARCH='ia64' LOCALVERSION='-mckinley' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mckinley' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_ia64_none_real: setup_ia64_real: setup_m68k: setup_m68k_none setup_m68k_real setup_m68k_none: setup_m68k_none_m68k setup_m68k_none_real setup_m68k_none_m68k: setup_m68k_none_m68k_real setup_m68k_none_m68k_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='m68k' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='m68k' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-m68k' KCFLAGS='-ffreestanding' KCONFIG='debian/config/config debian/config/m68k/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-m68k\""' KERNEL_ARCH='m68k' LOCALVERSION='-m68k' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-m68k' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='m68k' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='m68k' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-m68k' KCFLAGS='-ffreestanding' KCONFIG='debian/config/config debian/config/m68k/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-m68k\""' KERNEL_ARCH='m68k' LOCALVERSION='-m68k' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-m68k' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_m68k_none_real: setup_m68k_real: setup_mips: setup_mips_none setup_mips_real @@ -946,65 +946,65 @@ setup_mips64_none: setup_mips64_none_5kc-malta setup_mips64_none_octeon setup_mips64_none_real setup_mips64_none_5kc-malta: setup_mips64_none_5kc-malta_real setup_mips64_none_5kc-malta_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='mips64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='mips64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_mips64_none_octeon: setup_mips64_none_octeon_real setup_mips64_none_octeon_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='mips64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='mips64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_mips64_none_real: setup_mips64_real: setup_mips64el: setup_mips64el_none setup_mips64el_real setup_mips64el_none: setup_mips64el_none_5kc-malta setup_mips64el_none_loongson-3 setup_mips64el_none_octeon setup_mips64el_none_real setup_mips64el_none_5kc-malta: setup_mips64el_none_5kc-malta_real setup_mips64el_none_5kc-malta_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_mips64el_none_loongson-3: setup_mips64el_none_loongson-3_real setup_mips64el_none_loongson-3_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-loongson-3' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.loongson-3' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-loongson-3' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.loongson-3' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_mips64el_none_octeon: setup_mips64el_none_octeon_real setup_mips64el_none_octeon_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='mips64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64el/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_mips64el_none_real: setup_mips64el_real: setup_mips64r6: setup_mips64r6_none setup_mips64r6_real setup_mips64r6_none: setup_mips64r6_none_mips64r6 setup_mips64r6_none_real setup_mips64r6_none_mips64r6: setup_mips64r6_none_mips64r6_real setup_mips64r6_none_mips64r6_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='mips64r6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips64r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64r6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='mips64r6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips64r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64r6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_mips64r6_none_real: setup_mips64r6_real: setup_mips64r6el: setup_mips64r6el_none setup_mips64r6el_real setup_mips64r6el_none: setup_mips64r6el_none_mips64r6el setup_mips64r6el_none_real setup_mips64r6el_none_mips64r6el: setup_mips64r6el_none_mips64r6el_real setup_mips64r6el_none_mips64r6el_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='mips64r6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips64r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64r6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='mips64r6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips64r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips64r6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_mips64r6el_none_real: setup_mips64r6el_real: setup_mips_none: setup_mips_none_4kc-malta setup_mips_none_5kc-malta setup_mips_none_octeon setup_mips_none_real setup_mips_none_4kc-malta: setup_mips_none_4kc-malta_real setup_mips_none_4kc-malta_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-4kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips32r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-4kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips32r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_mips_none_5kc-malta: setup_mips_none_5kc-malta_real setup_mips_none_5kc-malta_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_mips_none_octeon: setup_mips_none_octeon_real setup_mips_none_octeon_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='mips' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mips/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_mips_none_real: setup_mips_real: setup_mipsel: setup_mipsel_none setup_mipsel_real setup_mipsel_none: setup_mipsel_none_4kc-malta setup_mipsel_none_5kc-malta setup_mipsel_none_loongson-3 setup_mipsel_none_octeon setup_mipsel_none_real setup_mipsel_none_4kc-malta: setup_mipsel_none_4kc-malta_real setup_mipsel_none_4kc-malta_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-4kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips32r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-4kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips32r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_mipsel_none_5kc-malta: setup_mipsel_none_5kc-malta_real setup_mipsel_none_5kc-malta_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-5kc-malta' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.malta debian/config/kernelarch-mips/config.mips64r2' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_mipsel_none_loongson-3: setup_mipsel_none_loongson-3_real setup_mipsel_none_loongson-3_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-loongson-3' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.loongson-3' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinuz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-loongson-3' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.loongson-3' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_mipsel_none_octeon: setup_mipsel_none_octeon_real setup_mipsel_none_octeon_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='mipsel' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-octeon' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsel/config debian/config/kernelarch-mips/config.octeon' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_mipsel_none_real: setup_mipsel_real: setup_mipsn32: setup_mipsn32_real @@ -1019,20 +1019,20 @@ setup_mipsr6_none: setup_mipsr6_none_mips32r6 setup_mipsr6_none_mips64r6 setup_mipsr6_none_real setup_mipsr6_none_mips32r6: setup_mipsr6_none_mips32r6_real setup_mipsr6_none_mips32r6_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='mipsr6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips32r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips32r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips32r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='mipsr6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips32r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips32r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips32r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_mipsr6_none_mips64r6: setup_mipsr6_none_mips64r6_real setup_mipsr6_none_mips64r6_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='mipsr6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips64r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='mipsr6' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips64r6' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_mipsr6_none_real: setup_mipsr6_real: setup_mipsr6el: setup_mipsr6el_none setup_mipsr6el_real setup_mipsr6el_none: setup_mipsr6el_none_mips32r6el setup_mipsr6el_none_mips64r6el setup_mipsr6el_none_real setup_mipsr6el_none_mips32r6el: setup_mipsr6el_none_mips32r6el_real setup_mipsr6el_none_mips32r6el_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='mipsr6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips32r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips32r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips32r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6el' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='mipsr6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips32r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips32r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips32r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6el' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_mipsr6el_none_mips64r6el: setup_mipsr6el_none_mips64r6el_real setup_mipsr6el_none_mips64r6el_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='mipsr6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-mips64r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='mipsr6el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-mips64r6el' KCONFIG='debian/config/config debian/config/kernelarch-mips/config debian/config/mipsr6el/config debian/config/kernelarch-mips/config.boston debian/config/kernelarch-mips/config.mips64r6' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_mipsr6el_none_real: setup_mipsr6el_real: setup_none: setup_none_real @@ -1042,26 +1042,26 @@ setup_powerpc_none_powerpc: setup_powerpc_none_powerpc_real setup_powerpc_none_powerpc-smp: setup_powerpc_none_powerpc-smp_real setup_powerpc_none_powerpc-smp_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-powerpc-smp' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc debian/config/powerpc/config.powerpc-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-powerpc-smp\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc-smp' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-powerpc-smp' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc debian/config/powerpc/config.powerpc-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-powerpc-smp\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc-smp' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' setup_powerpc_none_powerpc64: setup_powerpc_none_powerpc64_real setup_powerpc_none_powerpc64_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-powerpc64' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-be' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-powerpc64' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-be' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' setup_powerpc_none_powerpc_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-powerpc' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-powerpc\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='powerpc' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-powerpc' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-powerpc\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' setup_powerpc_none_real: setup_powerpc_real: setup_ppc64: setup_ppc64_none setup_ppc64_real setup_ppc64_none: setup_ppc64_none_powerpc64 setup_ppc64_none_real setup_ppc64_none_powerpc64: setup_ppc64_none_powerpc64_real setup_ppc64_none_powerpc64_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='ppc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-powerpc64' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-be' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='ppc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-powerpc64' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-be' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' setup_ppc64_none_real: setup_ppc64_real: setup_ppc64el: setup_ppc64el_none setup_ppc64el_real setup_ppc64el_none: setup_ppc64el_none_powerpc64le setup_ppc64el_none_real setup_ppc64el_none_powerpc64le: setup_ppc64el_none_powerpc64le_real setup_ppc64el_none_powerpc64le_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='ppc64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64le' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-powerpc64le' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-le' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-powerpc64le\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64le' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64le' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='ppc64el' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64le' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-powerpc64le' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/kernelarch-powerpc/config-arch-64 debian/config/kernelarch-powerpc/config-arch-64-le' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-powerpc64le\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64le' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64le' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' setup_ppc64el_none_real: setup_ppc64el_real: setup_riscv64: setup_riscv64_none setup_riscv64_real @@ -1069,7 +1069,7 @@ setup_riscv64_none_real: setup_riscv64_none_riscv64: setup_riscv64_none_riscv64_real setup_riscv64_none_riscv64_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='riscv64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='riscv64' IMAGE_FILE='arch/riscv/boot/Image' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-riscv64' KCONFIG='debian/config/config debian/config/riscv64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-riscv64\""' KERNEL_ARCH='riscv' LOCALVERSION='-riscv64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-riscv64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='riscv64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='riscv64' IMAGE_FILE='arch/riscv/boot/Image' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-riscv64' KCONFIG='debian/config/config debian/config/riscv64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-riscv64\""' KERNEL_ARCH='riscv' LOCALVERSION='-riscv64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-riscv64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' setup_riscv64_real: setup_rt: setup_rt_real setup_rt_real: @@ -1080,7 +1080,7 @@ setup_s390x_none_real: setup_s390x_none_s390x: setup_s390x_none_s390x_real setup_s390x_none_s390x_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='s390x' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='s390x' IMAGE_FILE='arch/s390/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-s390x' KCONFIG='debian/config/config debian/config/s390x/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-s390x\""' KERNEL_ARCH='s390' LOCALVERSION='-s390x' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-s390x' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='s390x' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='s390x' IMAGE_FILE='arch/s390/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-s390x' KCONFIG='debian/config/config debian/config/s390x/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-s390x\""' KERNEL_ARCH='s390' LOCALVERSION='-s390x' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-s390x' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VDSO='True' VERSION='5.10' setup_s390x_real: setup_sh3: setup_sh3_real setup_sh3_real: @@ -1089,10 +1089,10 @@ setup_sh4_none_real: setup_sh4_none_sh7751r: setup_sh4_none_sh7751r_real setup_sh4_none_sh7751r_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='sh4' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sh7751r' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-sh7751r' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7751r' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-sh7751r\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7751r' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7751r' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='sh4' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sh7751r' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-sh7751r' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7751r' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-sh7751r\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7751r' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7751r' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_sh4_none_sh7785lcr: setup_sh4_none_sh7785lcr_real setup_sh4_none_sh7785lcr_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='sh4' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sh7785lcr' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-sh7785lcr' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7785lcr' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-sh7785lcr\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7785lcr' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7785lcr' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='sh4' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sh7785lcr' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-sh7785lcr' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7785lcr' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-sh7785lcr\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7785lcr' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7785lcr' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_sh4_real: setup_sparc: setup_sparc_real setup_sparc64: setup_sparc64_none setup_sparc64_real @@ -1101,9 +1101,9 @@ setup_sparc64_none_sparc64: setup_sparc64_none_sparc64_real setup_sparc64_none_sparc64-smp: setup_sparc64_none_sparc64-smp_real setup_sparc64_none_sparc64-smp_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='sparc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-sparc64-smp' KCONFIG='debian/config/config debian/config/kernelarch-sparc/config debian/config/kernelarch-sparc/config-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-sparc64-smp\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64-smp' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='sparc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-sparc64-smp' KCONFIG='debian/config/config debian/config/kernelarch-sparc/config debian/config/kernelarch-sparc/config-smp' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-sparc64-smp\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64-smp' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_sparc64_none_sparc64_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-26' ARCH='sparc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-26-sparc64' KCONFIG='debian/config/config debian/config/kernelarch-sparc/config debian/config/kernelarch-sparc/config-up' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-26-sparc64\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='5.10.0-27' ARCH='sparc64' COMPILER='gcc-10' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-5.10.0-27-sparc64' KCONFIG='debian/config/config debian/config/kernelarch-sparc/config debian/config/kernelarch-sparc/config-up' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"5.10.0-27-sparc64\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' setup_sparc64_real: setup_sparc_real: setup_x32: setup_x32_real @@ -1111,7 +1111,7 @@ source: source_none source_rt source_none: source_none_real source_none_real:: - $(MAKE) -f debian/rules.real source-featureset ABINAME='5.10.0-26' FEATURESET='none' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real source-featureset ABINAME='5.10.0-27' FEATURESET='none' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' source_rt: source_rt_real source_rt_real:: - $(MAKE) -f debian/rules.real source-featureset ABINAME='5.10.0-26' FEATURESET='rt' SOURCEVERSION='5.10.197-1' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' + $(MAKE) -f debian/rules.real source-featureset ABINAME='5.10.0-27' FEATURESET='rt' SOURCEVERSION='5.10.205-2' SOURCE_BASENAME='linux' SOURCE_SUFFIX='' UPSTREAMVERSION='5.10' VERSION='5.10' diff -Nru linux-5.10.197/debian/tests/control linux-5.10.205/debian/tests/control --- linux-5.10.197/debian/tests/control 2023-09-29 04:25:15.000000000 +0000 +++ linux-5.10.205/debian/tests/control 2023-12-31 15:46:35.000000000 +0000 @@ -4,6 +4,6 @@ Tests: selftests Restrictions: breaks-testbed, needs-root, isolation-machine -Depends: kexec-tools, python3, gcc, make, libpopt-dev, gcc-multilib [amd64], bc, fuse, libfuse-dev, pkg-config, linux-image-5.10.0-26-alpha-generic [alpha], linux-image-5.10.0-26-alpha-smp [alpha], linux-image-5.10.0-26-amd64-unsigned [amd64], linux-image-5.10.0-26-cloud-amd64-unsigned [amd64], linux-image-5.10.0-26-rt-amd64-unsigned [amd64], linux-image-5.10.0-26-arm64-unsigned [arm64], linux-image-5.10.0-26-cloud-arm64-unsigned [arm64], linux-image-5.10.0-26-rt-arm64-unsigned [arm64], linux-image-5.10.0-26-marvell [armel], linux-image-5.10.0-26-rpi [armel], linux-image-5.10.0-26-armmp [armhf], linux-image-5.10.0-26-armmp-lpae [armhf], linux-image-5.10.0-26-rt-armmp [armhf], linux-image-5.10.0-26-parisc [hppa], linux-image-5.10.0-26-parisc64 [hppa], linux-image-5.10.0-26-686-unsigned [i386], linux-image-5.10.0-26-686-pae-unsigned [i386], linux-image-5.10.0-26-rt-686-pae-unsigned [i386], linux-image-5.10.0-26-itanium [ia64], linux-image-5.10.0-26-mckinley [ia64], linux-image-5.10.0-26-m68k [m68k], linux-image-5.10.0-26-4kc-malta [mips mipsel], linux-image-5.10.0-26-5kc-malta [mips mips64 mips64el mipsel], linux-image-5.10.0-26-octeon [mips mips64 mips64el mipsel], linux-image-5.10.0-26-loongson-3 [mips64el mipsel], linux-image-5.10.0-26-mips64r6 [mips64r6 mipsr6], linux-image-5.10.0-26-mips64r6el [mips64r6el mipsr6el], linux-image-5.10.0-26-mips32r6 [mipsr6], linux-image-5.10.0-26-mips32r6el [mipsr6el], linux-image-5.10.0-26-powerpc [powerpc], linux-image-5.10.0-26-powerpc-smp [powerpc], linux-image-5.10.0-26-powerpc64 [powerpc ppc64], linux-image-5.10.0-26-powerpc64le [ppc64el], linux-image-5.10.0-26-riscv64 [riscv64], linux-image-5.10.0-26-s390x [s390x], linux-image-5.10.0-26-sh7751r [sh4], linux-image-5.10.0-26-sh7785lcr [sh4], linux-image-5.10.0-26-sparc64 [sparc64], linux-image-5.10.0-26-sparc64-smp [sparc64] +Depends: kexec-tools, python3, gcc, make, libpopt-dev, gcc-multilib [amd64], bc, fuse, libfuse-dev, pkg-config, linux-image-5.10.0-27-alpha-generic [alpha], linux-image-5.10.0-27-alpha-smp [alpha], linux-image-5.10.0-27-amd64-unsigned [amd64], linux-image-5.10.0-27-cloud-amd64-unsigned [amd64], linux-image-5.10.0-27-rt-amd64-unsigned [amd64], linux-image-5.10.0-27-arm64-unsigned [arm64], linux-image-5.10.0-27-cloud-arm64-unsigned [arm64], linux-image-5.10.0-27-rt-arm64-unsigned [arm64], linux-image-5.10.0-27-marvell [armel], linux-image-5.10.0-27-rpi [armel], linux-image-5.10.0-27-armmp [armhf], linux-image-5.10.0-27-armmp-lpae [armhf], linux-image-5.10.0-27-rt-armmp [armhf], linux-image-5.10.0-27-parisc [hppa], linux-image-5.10.0-27-parisc64 [hppa], linux-image-5.10.0-27-686-unsigned [i386], linux-image-5.10.0-27-686-pae-unsigned [i386], linux-image-5.10.0-27-rt-686-pae-unsigned [i386], linux-image-5.10.0-27-itanium [ia64], linux-image-5.10.0-27-mckinley [ia64], linux-image-5.10.0-27-m68k [m68k], linux-image-5.10.0-27-4kc-malta [mips mipsel], linux-image-5.10.0-27-5kc-malta [mips mips64 mips64el mipsel], linux-image-5.10.0-27-octeon [mips mips64 mips64el mipsel], linux-image-5.10.0-27-loongson-3 [mips64el mipsel], linux-image-5.10.0-27-mips64r6 [mips64r6 mipsr6], linux-image-5.10.0-27-mips64r6el [mips64r6el mipsr6el], linux-image-5.10.0-27-mips32r6 [mipsr6], linux-image-5.10.0-27-mips32r6el [mipsr6el], linux-image-5.10.0-27-powerpc [powerpc], linux-image-5.10.0-27-powerpc-smp [powerpc], linux-image-5.10.0-27-powerpc64 [powerpc ppc64], linux-image-5.10.0-27-powerpc64le [ppc64el], linux-image-5.10.0-27-riscv64 [riscv64], linux-image-5.10.0-27-s390x [s390x], linux-image-5.10.0-27-sh7751r [sh4], linux-image-5.10.0-27-sh7785lcr [sh4], linux-image-5.10.0-27-sparc64 [sparc64], linux-image-5.10.0-27-sparc64-smp [sparc64] Classes: smp diff -Nru linux-5.10.197/drivers/acpi/device_pm.c linux-5.10.205/drivers/acpi/device_pm.c --- linux-5.10.197/drivers/acpi/device_pm.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/acpi/device_pm.c 2023-12-20 14:44:42.000000000 +0000 @@ -1326,4 +1326,33 @@ return 1; } EXPORT_SYMBOL_GPL(acpi_dev_pm_attach); + +/** + * acpi_storage_d3 - Check if D3 should be used in the suspend path + * @dev: Device to check + * + * Return %true if the platform firmware wants @dev to be programmed + * into D3hot or D3cold (if supported) in the suspend path, or %false + * when there is no specific preference. On some platforms, if this + * hint is ignored, @dev may remain unresponsive after suspending the + * platform as a whole. + * + * Although the property has storage in the name it actually is + * applied to the PCIe slot and plugging in a non-storage device the + * same platform restrictions will likely apply. + */ +bool acpi_storage_d3(struct device *dev) +{ + struct acpi_device *adev = ACPI_COMPANION(dev); + u8 val; + + if (!adev) + return false; + if (fwnode_property_read_u8(acpi_fwnode_handle(adev), "StorageD3Enable", + &val)) + return false; + return val == 1; +} +EXPORT_SYMBOL_GPL(acpi_storage_d3); + #endif /* CONFIG_PM */ diff -Nru linux-5.10.197/drivers/acpi/device_sysfs.c linux-5.10.205/drivers/acpi/device_sysfs.c --- linux-5.10.197/drivers/acpi/device_sysfs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/acpi/device_sysfs.c 2023-12-20 14:44:42.000000000 +0000 @@ -156,8 +156,8 @@ return 0; len = snprintf(modalias, size, "acpi:"); - if (len <= 0) - return len; + if (len >= size) + return -ENOMEM; size -= len; @@ -210,8 +210,10 @@ len = snprintf(modalias, size, "of:N%sT", (char *)buf.pointer); ACPI_FREE(buf.pointer); - if (len <= 0) - return len; + if (len >= size) + return -ENOMEM; + + size -= len; of_compatible = acpi_dev->data.of_compatible; if (of_compatible->type == ACPI_TYPE_PACKAGE) { diff -Nru linux-5.10.197/drivers/acpi/irq.c linux-5.10.205/drivers/acpi/irq.c --- linux-5.10.197/drivers/acpi/irq.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/acpi/irq.c 2023-12-20 14:44:42.000000000 +0000 @@ -52,6 +52,7 @@ int polarity) { struct irq_fwspec fwspec; + unsigned int irq; if (WARN_ON(!acpi_gsi_domain_id)) { pr_warn("GSI: No registered irqchip, giving up\n"); @@ -63,7 +64,11 @@ fwspec.param[1] = acpi_dev_get_irq_type(trigger, polarity); fwspec.param_count = 2; - return irq_create_fwspec_mapping(&fwspec); + irq = irq_create_fwspec_mapping(&fwspec); + if (!irq) + return -EINVAL; + + return irq; } EXPORT_SYMBOL_GPL(acpi_register_gsi); diff -Nru linux-5.10.197/drivers/acpi/resource.c linux-5.10.205/drivers/acpi/resource.c --- linux-5.10.197/drivers/acpi/resource.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/acpi/resource.c 2023-12-20 14:44:42.000000000 +0000 @@ -16,6 +16,7 @@ #include #include #include +#include #ifdef CONFIG_X86 #define valid_IRQ(i) (((i) != 0) && ((i) != 2)) @@ -380,21 +381,136 @@ } EXPORT_SYMBOL_GPL(acpi_dev_get_irq_type); -static void acpi_dev_irqresource_disabled(struct resource *res, u32 gsi) -{ - res->start = gsi; - res->end = gsi; - res->flags = IORESOURCE_IRQ | IORESOURCE_DISABLED | IORESOURCE_UNSET; +static const struct dmi_system_id medion_laptop[] = { + { + .ident = "MEDION P15651", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "MEDION"), + DMI_MATCH(DMI_BOARD_NAME, "M15T"), + }, + }, + { } +}; + +static const struct dmi_system_id asus_laptop[] = { + { + .ident = "Asus Vivobook K3402ZA", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_BOARD_NAME, "K3402ZA"), + }, + }, + { + .ident = "Asus Vivobook K3502ZA", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_BOARD_NAME, "K3502ZA"), + }, + }, + { + .ident = "Asus Vivobook S5402ZA", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_BOARD_NAME, "S5402ZA"), + }, + }, + { + .ident = "Asus Vivobook S5602ZA", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_BOARD_NAME, "S5602ZA"), + }, + }, + { + .ident = "Asus ExpertBook B1402CBA", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_BOARD_NAME, "B1402CBA"), + }, + }, + { + .ident = "Asus ExpertBook B1502CBA", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_BOARD_NAME, "B1502CBA"), + }, + }, + { + .ident = "Asus ExpertBook B2402CBA", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_BOARD_NAME, "B2402CBA"), + }, + }, + { + /* TongFang GMxXGxx/TUXEDO Polaris 15 Gen5 AMD */ + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "GMxXGxx"), + }, + }, + { + /* Asus ExpertBook B1402CVA */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_BOARD_NAME, "B1402CVA"), + }, + }, + { + /* TongFang GM6XGxX/TUXEDO Stellaris 16 Gen5 AMD */ + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "GM6XGxX"), + }, + }, + { + .ident = "Asus ExpertBook B2502", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_BOARD_NAME, "B2502CBA"), + }, + }, + { } +}; + +struct irq_override_cmp { + const struct dmi_system_id *system; + unsigned char irq; + unsigned char triggering; + unsigned char polarity; + unsigned char shareable; +}; + +static const struct irq_override_cmp skip_override_table[] = { + { medion_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0 }, + { asus_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0 }, +}; + +static bool acpi_dev_irq_override(u32 gsi, u8 triggering, u8 polarity, + u8 shareable) +{ + int i; + + for (i = 0; i < ARRAY_SIZE(skip_override_table); i++) { + const struct irq_override_cmp *entry = &skip_override_table[i]; + + if (dmi_check_system(entry->system) && + entry->irq == gsi && + entry->triggering == triggering && + entry->polarity == polarity && + entry->shareable == shareable) + return false; + } + + return true; } static void acpi_dev_get_irqresource(struct resource *res, u32 gsi, u8 triggering, u8 polarity, u8 shareable, - bool legacy) + bool check_override) { int irq, p, t; if (!valid_IRQ(gsi)) { - acpi_dev_irqresource_disabled(res, gsi); + irqresource_disabled(res, gsi); return; } @@ -408,7 +524,9 @@ * using extended IRQ descriptors we take the IRQ configuration * from _CRS directly. */ - if (legacy && !acpi_get_override_irq(gsi, &t, &p)) { + if (check_override && + acpi_dev_irq_override(gsi, triggering, polarity, shareable) && + !acpi_get_override_irq(gsi, &t, &p)) { u8 trig = t ? ACPI_LEVEL_SENSITIVE : ACPI_EDGE_SENSITIVE; u8 pol = p ? ACPI_ACTIVE_LOW : ACPI_ACTIVE_HIGH; @@ -426,7 +544,7 @@ res->start = irq; res->end = irq; } else { - acpi_dev_irqresource_disabled(res, gsi); + irqresource_disabled(res, gsi); } } @@ -463,7 +581,7 @@ */ irq = &ares->data.irq; if (index >= irq->interrupt_count) { - acpi_dev_irqresource_disabled(res, 0); + irqresource_disabled(res, 0); return false; } acpi_dev_get_irqresource(res, irq->interrupts[index], @@ -473,7 +591,7 @@ case ACPI_RESOURCE_TYPE_EXTENDED_IRQ: ext_irq = &ares->data.extended_irq; if (index >= ext_irq->interrupt_count) { - acpi_dev_irqresource_disabled(res, 0); + irqresource_disabled(res, 0); return false; } if (is_gsi(ext_irq)) @@ -481,7 +599,7 @@ ext_irq->triggering, ext_irq->polarity, ext_irq->shareable, false); else - acpi_dev_irqresource_disabled(res, 0); + irqresource_disabled(res, 0); break; default: res->flags = 0; diff -Nru linux-5.10.197/drivers/ata/ahci.c linux-5.10.205/drivers/ata/ahci.c --- linux-5.10.197/drivers/ata/ahci.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/ata/ahci.c 2023-12-20 14:44:42.000000000 +0000 @@ -50,7 +50,8 @@ /* board IDs by feature in alphabetical order */ board_ahci, board_ahci_ign_iferr, - board_ahci_mobile, + board_ahci_low_power, + board_ahci_no_debounce_delay, board_ahci_nomsi, board_ahci_noncq, board_ahci_nosntf, @@ -135,13 +136,20 @@ .udma_mask = ATA_UDMA6, .port_ops = &ahci_ops, }, - [board_ahci_mobile] = { + [board_ahci_low_power] = { AHCI_HFLAGS (AHCI_HFLAG_IS_MOBILE), .flags = AHCI_FLAG_COMMON, .pio_mask = ATA_PIO4, .udma_mask = ATA_UDMA6, .port_ops = &ahci_ops, }, + [board_ahci_no_debounce_delay] = { + .flags = AHCI_FLAG_COMMON, + .link_flags = ATA_LFLAG_NO_DEBOUNCE_DELAY, + .pio_mask = ATA_PIO4, + .udma_mask = ATA_UDMA6, + .port_ops = &ahci_ops, + }, [board_ahci_nomsi] = { AHCI_HFLAGS (AHCI_HFLAG_NO_MSI), .flags = AHCI_FLAG_COMMON, @@ -268,13 +276,13 @@ { PCI_VDEVICE(INTEL, 0x2924), board_ahci }, /* ICH9 */ { PCI_VDEVICE(INTEL, 0x2925), board_ahci }, /* ICH9 */ { PCI_VDEVICE(INTEL, 0x2927), board_ahci }, /* ICH9 */ - { PCI_VDEVICE(INTEL, 0x2929), board_ahci_mobile }, /* ICH9M */ - { PCI_VDEVICE(INTEL, 0x292a), board_ahci_mobile }, /* ICH9M */ - { PCI_VDEVICE(INTEL, 0x292b), board_ahci_mobile }, /* ICH9M */ - { PCI_VDEVICE(INTEL, 0x292c), board_ahci_mobile }, /* ICH9M */ - { PCI_VDEVICE(INTEL, 0x292f), board_ahci_mobile }, /* ICH9M */ + { PCI_VDEVICE(INTEL, 0x2929), board_ahci_low_power }, /* ICH9M */ + { PCI_VDEVICE(INTEL, 0x292a), board_ahci_low_power }, /* ICH9M */ + { PCI_VDEVICE(INTEL, 0x292b), board_ahci_low_power }, /* ICH9M */ + { PCI_VDEVICE(INTEL, 0x292c), board_ahci_low_power }, /* ICH9M */ + { PCI_VDEVICE(INTEL, 0x292f), board_ahci_low_power }, /* ICH9M */ { PCI_VDEVICE(INTEL, 0x294d), board_ahci }, /* ICH9 */ - { PCI_VDEVICE(INTEL, 0x294e), board_ahci_mobile }, /* ICH9M */ + { PCI_VDEVICE(INTEL, 0x294e), board_ahci_low_power }, /* ICH9M */ { PCI_VDEVICE(INTEL, 0x502a), board_ahci }, /* Tolapai */ { PCI_VDEVICE(INTEL, 0x502b), board_ahci }, /* Tolapai */ { PCI_VDEVICE(INTEL, 0x3a05), board_ahci }, /* ICH10 */ @@ -284,9 +292,9 @@ { PCI_VDEVICE(INTEL, 0x3b23), board_ahci }, /* PCH AHCI */ { PCI_VDEVICE(INTEL, 0x3b24), board_ahci }, /* PCH RAID */ { PCI_VDEVICE(INTEL, 0x3b25), board_ahci }, /* PCH RAID */ - { PCI_VDEVICE(INTEL, 0x3b29), board_ahci_mobile }, /* PCH M AHCI */ + { PCI_VDEVICE(INTEL, 0x3b29), board_ahci_low_power }, /* PCH M AHCI */ { PCI_VDEVICE(INTEL, 0x3b2b), board_ahci }, /* PCH RAID */ - { PCI_VDEVICE(INTEL, 0x3b2c), board_ahci_mobile }, /* PCH M RAID */ + { PCI_VDEVICE(INTEL, 0x3b2c), board_ahci_low_power }, /* PCH M RAID */ { PCI_VDEVICE(INTEL, 0x3b2f), board_ahci }, /* PCH AHCI */ { PCI_VDEVICE(INTEL, 0x19b0), board_ahci_pcs7 }, /* DNV AHCI */ { PCI_VDEVICE(INTEL, 0x19b1), board_ahci_pcs7 }, /* DNV AHCI */ @@ -309,9 +317,9 @@ { PCI_VDEVICE(INTEL, 0x19cE), board_ahci_pcs7 }, /* DNV AHCI */ { PCI_VDEVICE(INTEL, 0x19cF), board_ahci_pcs7 }, /* DNV AHCI */ { PCI_VDEVICE(INTEL, 0x1c02), board_ahci }, /* CPT AHCI */ - { PCI_VDEVICE(INTEL, 0x1c03), board_ahci_mobile }, /* CPT M AHCI */ + { PCI_VDEVICE(INTEL, 0x1c03), board_ahci_low_power }, /* CPT M AHCI */ { PCI_VDEVICE(INTEL, 0x1c04), board_ahci }, /* CPT RAID */ - { PCI_VDEVICE(INTEL, 0x1c05), board_ahci_mobile }, /* CPT M RAID */ + { PCI_VDEVICE(INTEL, 0x1c05), board_ahci_low_power }, /* CPT M RAID */ { PCI_VDEVICE(INTEL, 0x1c06), board_ahci }, /* CPT RAID */ { PCI_VDEVICE(INTEL, 0x1c07), board_ahci }, /* CPT RAID */ { PCI_VDEVICE(INTEL, 0x1d02), board_ahci }, /* PBG AHCI */ @@ -320,29 +328,29 @@ { PCI_VDEVICE(INTEL, 0x2826), board_ahci }, /* PBG RAID */ { PCI_VDEVICE(INTEL, 0x2323), board_ahci }, /* DH89xxCC AHCI */ { PCI_VDEVICE(INTEL, 0x1e02), board_ahci }, /* Panther Point AHCI */ - { PCI_VDEVICE(INTEL, 0x1e03), board_ahci_mobile }, /* Panther M AHCI */ + { PCI_VDEVICE(INTEL, 0x1e03), board_ahci_low_power }, /* Panther M AHCI */ { PCI_VDEVICE(INTEL, 0x1e04), board_ahci }, /* Panther Point RAID */ { PCI_VDEVICE(INTEL, 0x1e05), board_ahci }, /* Panther Point RAID */ { PCI_VDEVICE(INTEL, 0x1e06), board_ahci }, /* Panther Point RAID */ - { PCI_VDEVICE(INTEL, 0x1e07), board_ahci_mobile }, /* Panther M RAID */ + { PCI_VDEVICE(INTEL, 0x1e07), board_ahci_low_power }, /* Panther M RAID */ { PCI_VDEVICE(INTEL, 0x1e0e), board_ahci }, /* Panther Point RAID */ { PCI_VDEVICE(INTEL, 0x8c02), board_ahci }, /* Lynx Point AHCI */ - { PCI_VDEVICE(INTEL, 0x8c03), board_ahci_mobile }, /* Lynx M AHCI */ + { PCI_VDEVICE(INTEL, 0x8c03), board_ahci_low_power }, /* Lynx M AHCI */ { PCI_VDEVICE(INTEL, 0x8c04), board_ahci }, /* Lynx Point RAID */ - { PCI_VDEVICE(INTEL, 0x8c05), board_ahci_mobile }, /* Lynx M RAID */ + { PCI_VDEVICE(INTEL, 0x8c05), board_ahci_low_power }, /* Lynx M RAID */ { PCI_VDEVICE(INTEL, 0x8c06), board_ahci }, /* Lynx Point RAID */ - { PCI_VDEVICE(INTEL, 0x8c07), board_ahci_mobile }, /* Lynx M RAID */ + { PCI_VDEVICE(INTEL, 0x8c07), board_ahci_low_power }, /* Lynx M RAID */ { PCI_VDEVICE(INTEL, 0x8c0e), board_ahci }, /* Lynx Point RAID */ - { PCI_VDEVICE(INTEL, 0x8c0f), board_ahci_mobile }, /* Lynx M RAID */ - { PCI_VDEVICE(INTEL, 0x9c02), board_ahci_mobile }, /* Lynx LP AHCI */ - { PCI_VDEVICE(INTEL, 0x9c03), board_ahci_mobile }, /* Lynx LP AHCI */ - { PCI_VDEVICE(INTEL, 0x9c04), board_ahci_mobile }, /* Lynx LP RAID */ - { PCI_VDEVICE(INTEL, 0x9c05), board_ahci_mobile }, /* Lynx LP RAID */ - { PCI_VDEVICE(INTEL, 0x9c06), board_ahci_mobile }, /* Lynx LP RAID */ - { PCI_VDEVICE(INTEL, 0x9c07), board_ahci_mobile }, /* Lynx LP RAID */ - { PCI_VDEVICE(INTEL, 0x9c0e), board_ahci_mobile }, /* Lynx LP RAID */ - { PCI_VDEVICE(INTEL, 0x9c0f), board_ahci_mobile }, /* Lynx LP RAID */ - { PCI_VDEVICE(INTEL, 0x9dd3), board_ahci_mobile }, /* Cannon Lake PCH-LP AHCI */ + { PCI_VDEVICE(INTEL, 0x8c0f), board_ahci_low_power }, /* Lynx M RAID */ + { PCI_VDEVICE(INTEL, 0x9c02), board_ahci_low_power }, /* Lynx LP AHCI */ + { PCI_VDEVICE(INTEL, 0x9c03), board_ahci_low_power }, /* Lynx LP AHCI */ + { PCI_VDEVICE(INTEL, 0x9c04), board_ahci_low_power }, /* Lynx LP RAID */ + { PCI_VDEVICE(INTEL, 0x9c05), board_ahci_low_power }, /* Lynx LP RAID */ + { PCI_VDEVICE(INTEL, 0x9c06), board_ahci_low_power }, /* Lynx LP RAID */ + { PCI_VDEVICE(INTEL, 0x9c07), board_ahci_low_power }, /* Lynx LP RAID */ + { PCI_VDEVICE(INTEL, 0x9c0e), board_ahci_low_power }, /* Lynx LP RAID */ + { PCI_VDEVICE(INTEL, 0x9c0f), board_ahci_low_power }, /* Lynx LP RAID */ + { PCI_VDEVICE(INTEL, 0x9dd3), board_ahci_low_power }, /* Cannon Lake PCH-LP AHCI */ { PCI_VDEVICE(INTEL, 0x1f22), board_ahci }, /* Avoton AHCI */ { PCI_VDEVICE(INTEL, 0x1f23), board_ahci }, /* Avoton AHCI */ { PCI_VDEVICE(INTEL, 0x1f24), board_ahci }, /* Avoton RAID */ @@ -374,26 +382,26 @@ { PCI_VDEVICE(INTEL, 0x8d66), board_ahci }, /* Wellsburg RAID */ { PCI_VDEVICE(INTEL, 0x8d6e), board_ahci }, /* Wellsburg RAID */ { PCI_VDEVICE(INTEL, 0x23a3), board_ahci }, /* Coleto Creek AHCI */ - { PCI_VDEVICE(INTEL, 0x9c83), board_ahci_mobile }, /* Wildcat LP AHCI */ - { PCI_VDEVICE(INTEL, 0x9c85), board_ahci_mobile }, /* Wildcat LP RAID */ - { PCI_VDEVICE(INTEL, 0x9c87), board_ahci_mobile }, /* Wildcat LP RAID */ - { PCI_VDEVICE(INTEL, 0x9c8f), board_ahci_mobile }, /* Wildcat LP RAID */ + { PCI_VDEVICE(INTEL, 0x9c83), board_ahci_low_power }, /* Wildcat LP AHCI */ + { PCI_VDEVICE(INTEL, 0x9c85), board_ahci_low_power }, /* Wildcat LP RAID */ + { PCI_VDEVICE(INTEL, 0x9c87), board_ahci_low_power }, /* Wildcat LP RAID */ + { PCI_VDEVICE(INTEL, 0x9c8f), board_ahci_low_power }, /* Wildcat LP RAID */ { PCI_VDEVICE(INTEL, 0x8c82), board_ahci }, /* 9 Series AHCI */ - { PCI_VDEVICE(INTEL, 0x8c83), board_ahci_mobile }, /* 9 Series M AHCI */ + { PCI_VDEVICE(INTEL, 0x8c83), board_ahci_low_power }, /* 9 Series M AHCI */ { PCI_VDEVICE(INTEL, 0x8c84), board_ahci }, /* 9 Series RAID */ - { PCI_VDEVICE(INTEL, 0x8c85), board_ahci_mobile }, /* 9 Series M RAID */ + { PCI_VDEVICE(INTEL, 0x8c85), board_ahci_low_power }, /* 9 Series M RAID */ { PCI_VDEVICE(INTEL, 0x8c86), board_ahci }, /* 9 Series RAID */ - { PCI_VDEVICE(INTEL, 0x8c87), board_ahci_mobile }, /* 9 Series M RAID */ + { PCI_VDEVICE(INTEL, 0x8c87), board_ahci_low_power }, /* 9 Series M RAID */ { PCI_VDEVICE(INTEL, 0x8c8e), board_ahci }, /* 9 Series RAID */ - { PCI_VDEVICE(INTEL, 0x8c8f), board_ahci_mobile }, /* 9 Series M RAID */ - { PCI_VDEVICE(INTEL, 0x9d03), board_ahci_mobile }, /* Sunrise LP AHCI */ - { PCI_VDEVICE(INTEL, 0x9d05), board_ahci_mobile }, /* Sunrise LP RAID */ - { PCI_VDEVICE(INTEL, 0x9d07), board_ahci_mobile }, /* Sunrise LP RAID */ + { PCI_VDEVICE(INTEL, 0x8c8f), board_ahci_low_power }, /* 9 Series M RAID */ + { PCI_VDEVICE(INTEL, 0x9d03), board_ahci_low_power }, /* Sunrise LP AHCI */ + { PCI_VDEVICE(INTEL, 0x9d05), board_ahci_low_power }, /* Sunrise LP RAID */ + { PCI_VDEVICE(INTEL, 0x9d07), board_ahci_low_power }, /* Sunrise LP RAID */ { PCI_VDEVICE(INTEL, 0xa102), board_ahci }, /* Sunrise Point-H AHCI */ - { PCI_VDEVICE(INTEL, 0xa103), board_ahci_mobile }, /* Sunrise M AHCI */ + { PCI_VDEVICE(INTEL, 0xa103), board_ahci_low_power }, /* Sunrise M AHCI */ { PCI_VDEVICE(INTEL, 0xa105), board_ahci }, /* Sunrise Point-H RAID */ { PCI_VDEVICE(INTEL, 0xa106), board_ahci }, /* Sunrise Point-H RAID */ - { PCI_VDEVICE(INTEL, 0xa107), board_ahci_mobile }, /* Sunrise M RAID */ + { PCI_VDEVICE(INTEL, 0xa107), board_ahci_low_power }, /* Sunrise M RAID */ { PCI_VDEVICE(INTEL, 0xa10f), board_ahci }, /* Sunrise Point-H RAID */ { PCI_VDEVICE(INTEL, 0x2822), board_ahci }, /* Lewisburg RAID*/ { PCI_VDEVICE(INTEL, 0x2823), board_ahci }, /* Lewisburg AHCI*/ @@ -410,13 +418,15 @@ { PCI_VDEVICE(INTEL, 0xa356), board_ahci }, /* Cannon Lake PCH-H RAID */ { PCI_VDEVICE(INTEL, 0x06d7), board_ahci }, /* Comet Lake-H RAID */ { PCI_VDEVICE(INTEL, 0xa386), board_ahci }, /* Comet Lake PCH-V RAID */ - { PCI_VDEVICE(INTEL, 0x0f22), board_ahci_mobile }, /* Bay Trail AHCI */ - { PCI_VDEVICE(INTEL, 0x0f23), board_ahci_mobile }, /* Bay Trail AHCI */ - { PCI_VDEVICE(INTEL, 0x22a3), board_ahci_mobile }, /* Cherry Tr. AHCI */ - { PCI_VDEVICE(INTEL, 0x5ae3), board_ahci_mobile }, /* ApolloLake AHCI */ - { PCI_VDEVICE(INTEL, 0x34d3), board_ahci_mobile }, /* Ice Lake LP AHCI */ - { PCI_VDEVICE(INTEL, 0x02d3), board_ahci_mobile }, /* Comet Lake PCH-U AHCI */ - { PCI_VDEVICE(INTEL, 0x02d7), board_ahci_mobile }, /* Comet Lake PCH RAID */ + { PCI_VDEVICE(INTEL, 0x0f22), board_ahci_low_power }, /* Bay Trail AHCI */ + { PCI_VDEVICE(INTEL, 0x0f23), board_ahci_low_power }, /* Bay Trail AHCI */ + { PCI_VDEVICE(INTEL, 0x22a3), board_ahci_low_power }, /* Cherry Tr. AHCI */ + { PCI_VDEVICE(INTEL, 0x5ae3), board_ahci_low_power }, /* ApolloLake AHCI */ + { PCI_VDEVICE(INTEL, 0x34d3), board_ahci_low_power }, /* Ice Lake LP AHCI */ + { PCI_VDEVICE(INTEL, 0x02d3), board_ahci_low_power }, /* Comet Lake PCH-U AHCI */ + { PCI_VDEVICE(INTEL, 0x02d7), board_ahci_low_power }, /* Comet Lake PCH RAID */ + /* Elkhart Lake IDs 0x4b60 & 0x4b62 https://sata-io.org/product/8803 not tested yet */ + { PCI_VDEVICE(INTEL, 0x4b63), board_ahci_low_power }, /* Elkhart Lake AHCI */ /* JMicron 360/1/3/5/6, match class to avoid IDE function */ { PCI_VENDOR_ID_JMICRON, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, @@ -442,8 +452,9 @@ board_ahci_al }, /* AMD */ { PCI_VDEVICE(AMD, 0x7800), board_ahci }, /* AMD Hudson-2 */ + { PCI_VDEVICE(AMD, 0x7801), board_ahci_no_debounce_delay }, /* AMD Hudson-2 (AHCI mode) */ { PCI_VDEVICE(AMD, 0x7900), board_ahci }, /* AMD CZ */ - { PCI_VDEVICE(AMD, 0x7901), board_ahci_mobile }, /* AMD Green Sardine */ + { PCI_VDEVICE(AMD, 0x7901), board_ahci_low_power }, /* AMD Green Sardine */ /* AMD is using RAID class only for ahci controllers */ { PCI_VENDOR_ID_AMD, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_STORAGE_RAID << 8, 0xffffff, board_ahci }, @@ -703,7 +714,7 @@ /* clear port IRQ */ tmp = readl(port_mmio + PORT_IRQ_STAT); - VPRINTK("PORT_IRQ_STAT 0x%x\n", tmp); + dev_dbg(&pdev->dev, "PORT_IRQ_STAT 0x%x\n", tmp); if (tmp) writel(tmp, port_mmio + PORT_IRQ_STAT); } @@ -1495,7 +1506,6 @@ u32 irq_stat, irq_masked; unsigned int handled = 1; - VPRINTK("ENTER\n"); hpriv = host->private_data; mmio = hpriv->mmio; irq_stat = readl(mmio + HOST_IRQ_STAT); @@ -1512,7 +1522,6 @@ irq_stat = readl(mmio + HOST_IRQ_STAT); spin_unlock(&host->lock); } while (irq_stat); - VPRINTK("EXIT\n"); return IRQ_RETVAL(handled); } diff -Nru linux-5.10.197/drivers/ata/ahci_brcm.c linux-5.10.205/drivers/ata/ahci_brcm.c --- linux-5.10.197/drivers/ata/ahci_brcm.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/ata/ahci_brcm.c 2023-12-20 14:44:42.000000000 +0000 @@ -332,7 +332,7 @@ static const struct ata_port_info ahci_brcm_port_info = { .flags = AHCI_FLAG_COMMON | ATA_FLAG_NO_DIPM, - .link_flags = ATA_LFLAG_NO_DB_DELAY, + .link_flags = ATA_LFLAG_NO_DEBOUNCE_DELAY, .pio_mask = ATA_PIO4, .udma_mask = ATA_UDMA6, .port_ops = &ahci_brcm_platform_ops, diff -Nru linux-5.10.197/drivers/ata/ahci_xgene.c linux-5.10.205/drivers/ata/ahci_xgene.c --- linux-5.10.197/drivers/ata/ahci_xgene.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/ata/ahci_xgene.c 2023-12-20 14:44:42.000000000 +0000 @@ -588,8 +588,6 @@ void __iomem *mmio; u32 irq_stat, irq_masked; - VPRINTK("ENTER\n"); - hpriv = host->private_data; mmio = hpriv->mmio; @@ -612,8 +610,6 @@ spin_unlock(&host->lock); - VPRINTK("EXIT\n"); - return IRQ_RETVAL(rc); } diff -Nru linux-5.10.197/drivers/ata/libahci.c linux-5.10.205/drivers/ata/libahci.c --- linux-5.10.197/drivers/ata/libahci.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/ata/libahci.c 2023-12-20 14:44:42.000000000 +0000 @@ -1199,6 +1199,26 @@ return sprintf(buf, "%d\n", emp->blink_policy); } +static void ahci_port_clear_pending_irq(struct ata_port *ap) +{ + struct ahci_host_priv *hpriv = ap->host->private_data; + void __iomem *port_mmio = ahci_port_base(ap); + u32 tmp; + + /* clear SError */ + tmp = readl(port_mmio + PORT_SCR_ERR); + dev_dbg(ap->host->dev, "PORT_SCR_ERR 0x%x\n", tmp); + writel(tmp, port_mmio + PORT_SCR_ERR); + + /* clear port IRQ */ + tmp = readl(port_mmio + PORT_IRQ_STAT); + dev_dbg(ap->host->dev, "PORT_IRQ_STAT 0x%x\n", tmp); + if (tmp) + writel(tmp, port_mmio + PORT_IRQ_STAT); + + writel(1 << ap->port_no, hpriv->mmio + HOST_IRQ_STAT); +} + static void ahci_port_init(struct device *dev, struct ata_port *ap, int port_no, void __iomem *mmio, void __iomem *port_mmio) @@ -1213,18 +1233,7 @@ if (rc) dev_warn(dev, "%s (%d)\n", emsg, rc); - /* clear SError */ - tmp = readl(port_mmio + PORT_SCR_ERR); - VPRINTK("PORT_SCR_ERR 0x%x\n", tmp); - writel(tmp, port_mmio + PORT_SCR_ERR); - - /* clear port IRQ */ - tmp = readl(port_mmio + PORT_IRQ_STAT); - VPRINTK("PORT_IRQ_STAT 0x%x\n", tmp); - if (tmp) - writel(tmp, port_mmio + PORT_IRQ_STAT); - - writel(1 << port_no, mmio + HOST_IRQ_STAT); + ahci_port_clear_pending_irq(ap); /* mark esata ports */ tmp = readl(port_mmio + PORT_CMD); @@ -1251,10 +1260,10 @@ } tmp = readl(mmio + HOST_CTL); - VPRINTK("HOST_CTL 0x%x\n", tmp); + dev_dbg(host->dev, "HOST_CTL 0x%x\n", tmp); writel(tmp | HOST_IRQ_EN, mmio + HOST_CTL); tmp = readl(mmio + HOST_CTL); - VPRINTK("HOST_CTL 0x%x\n", tmp); + dev_dbg(host->dev, "HOST_CTL 0x%x\n", tmp); } EXPORT_SYMBOL_GPL(ahci_init_controller); @@ -1554,6 +1563,8 @@ tf.command = ATA_BUSY; ata_tf_to_fis(&tf, 0, 0, d2h_fis); + ahci_port_clear_pending_irq(ap); + rc = sata_link_hardreset(link, timing, deadline, online, ahci_check_ready); @@ -1905,8 +1916,6 @@ void __iomem *port_mmio = ahci_port_base(ap); u32 status; - VPRINTK("ENTER\n"); - status = readl(port_mmio + PORT_IRQ_STAT); writel(status, port_mmio + PORT_IRQ_STAT); @@ -1914,8 +1923,6 @@ ahci_handle_port_interrupt(ap, port_mmio, status); spin_unlock(ap->lock); - VPRINTK("EXIT\n"); - return IRQ_HANDLED; } @@ -1932,9 +1939,7 @@ ap = host->ports[i]; if (ap) { ahci_port_intr(ap); - VPRINTK("port %u\n", i); } else { - VPRINTK("port %u (no irq)\n", i); if (ata_ratelimit()) dev_warn(host->dev, "interrupt on disabled port %u\n", i); @@ -1955,8 +1960,6 @@ void __iomem *mmio; u32 irq_stat, irq_masked; - VPRINTK("ENTER\n"); - hpriv = host->private_data; mmio = hpriv->mmio; @@ -1984,8 +1987,6 @@ spin_unlock(&host->lock); - VPRINTK("EXIT\n"); - return IRQ_RETVAL(rc); } diff -Nru linux-5.10.197/drivers/ata/libata-core.c linux-5.10.205/drivers/ata/libata-core.c --- linux-5.10.197/drivers/ata/libata-core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/ata/libata-core.c 2023-12-20 14:44:42.000000000 +0000 @@ -4974,17 +4974,19 @@ struct ata_link *link; unsigned long flags; - /* Previous resume operation might still be in - * progress. Wait for PM_PENDING to clear. + spin_lock_irqsave(ap->lock, flags); + + /* + * A previous PM operation might still be in progress. Wait for + * ATA_PFLAG_PM_PENDING to clear. */ if (ap->pflags & ATA_PFLAG_PM_PENDING) { + spin_unlock_irqrestore(ap->lock, flags); ata_port_wait_eh(ap); - WARN_ON(ap->pflags & ATA_PFLAG_PM_PENDING); + spin_lock_irqsave(ap->lock, flags); } - /* request PM ops to EH */ - spin_lock_irqsave(ap->lock, flags); - + /* Request PM operation to EH */ ap->pm_mesg = mesg; ap->pflags |= ATA_PFLAG_PM_PENDING; ata_for_each_link(link, ap, HOST_FIRST) { @@ -4996,10 +4998,8 @@ spin_unlock_irqrestore(ap->lock, flags); - if (!async) { + if (!async) ata_port_wait_eh(ap); - WARN_ON(ap->pflags & ATA_PFLAG_PM_PENDING); - } } /* @@ -5167,7 +5167,7 @@ #endif const struct device_type ata_port_type = { - .name = "ata_port", + .name = ATA_PORT_TYPE_NAME, #ifdef CONFIG_PM .pm = &ata_port_pm_ops, #endif @@ -5915,11 +5915,30 @@ if (!ap->ops->error_handler) goto skip_eh; - /* tell EH we're leaving & flush EH */ + /* Wait for any ongoing EH */ + ata_port_wait_eh(ap); + + mutex_lock(&ap->scsi_scan_mutex); spin_lock_irqsave(ap->lock, flags); + + /* Remove scsi devices */ + ata_for_each_link(link, ap, HOST_FIRST) { + ata_for_each_dev(dev, link, ALL) { + if (dev->sdev) { + spin_unlock_irqrestore(ap->lock, flags); + scsi_remove_device(dev->sdev); + spin_lock_irqsave(ap->lock, flags); + dev->sdev = NULL; + } + } + } + + /* Tell EH to disable all devices */ ap->pflags |= ATA_PFLAG_UNLOADING; ata_port_schedule_eh(ap); + spin_unlock_irqrestore(ap->lock, flags); + mutex_unlock(&ap->scsi_scan_mutex); /* wait till EH commits suicide */ ata_port_wait_eh(ap); diff -Nru linux-5.10.197/drivers/ata/libata-eh.c linux-5.10.205/drivers/ata/libata-eh.c --- linux-5.10.197/drivers/ata/libata-eh.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/ata/libata-eh.c 2023-12-20 14:44:42.000000000 +0000 @@ -2224,7 +2224,7 @@ struct ata_eh_context *ehc = &link->eh_context; struct ata_queued_cmd *qc; const char *frozen, *desc; - char tries_buf[6] = ""; + char tries_buf[16] = ""; int tag, nr_failed = 0; if (ehc->i.flags & ATA_EHI_QUIET) @@ -2703,18 +2703,11 @@ postreset(slave, classes); } - /* - * Some controllers can't be frozen very well and may set spurious - * error conditions during reset. Clear accumulated error - * information and re-thaw the port if frozen. As reset is the - * final recovery action and we cross check link onlineness against - * device classification later, no hotplug event is lost by this. - */ + /* clear cached SError */ spin_lock_irqsave(link->ap->lock, flags); - memset(&link->eh_info, 0, sizeof(link->eh_info)); + link->eh_info.serror = 0; if (slave) - memset(&slave->eh_info, 0, sizeof(link->eh_info)); - ap->pflags &= ~ATA_PFLAG_EH_PENDING; + slave->eh_info.serror = 0; spin_unlock_irqrestore(link->ap->lock, flags); if (ap->pflags & ATA_PFLAG_FROZEN) diff -Nru linux-5.10.197/drivers/ata/libata-sata.c linux-5.10.205/drivers/ata/libata-sata.c --- linux-5.10.197/drivers/ata/libata-sata.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/ata/libata-sata.c 2023-12-20 14:44:42.000000000 +0000 @@ -317,7 +317,7 @@ * immediately after resuming. Delay 200ms before * debouncing. */ - if (!(link->flags & ATA_LFLAG_NO_DB_DELAY)) + if (!(link->flags & ATA_LFLAG_NO_DEBOUNCE_DELAY)) ata_msleep(link->ap, 200); /* is SControl restored correctly? */ diff -Nru linux-5.10.197/drivers/ata/libata-scsi.c linux-5.10.205/drivers/ata/libata-scsi.c --- linux-5.10.197/drivers/ata/libata-scsi.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/ata/libata-scsi.c 2023-12-20 14:44:42.000000000 +0000 @@ -4259,7 +4259,7 @@ break; case MAINTENANCE_IN: - if (scsicmd[1] == MI_REPORT_SUPPORTED_OPERATION_CODES) + if ((scsicmd[1] & 0x1f) == MI_REPORT_SUPPORTED_OPERATION_CODES) ata_scsi_rbuf_fill(&args, ata_scsiop_maint_in); else ata_scsi_set_invalid_field(dev, cmd, 1, 0xff); diff -Nru linux-5.10.197/drivers/ata/libata-transport.c linux-5.10.205/drivers/ata/libata-transport.c --- linux-5.10.197/drivers/ata/libata-transport.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/ata/libata-transport.c 2023-12-20 14:44:42.000000000 +0000 @@ -266,6 +266,10 @@ put_device(dev); } +static const struct device_type ata_port_sas_type = { + .name = ATA_PORT_TYPE_NAME, +}; + /** ata_tport_add - initialize a transport ATA port structure * * @parent: parent device @@ -283,7 +287,10 @@ struct device *dev = &ap->tdev; device_initialize(dev); - dev->type = &ata_port_type; + if (ap->flags & ATA_FLAG_SAS_HOST) + dev->type = &ata_port_sas_type; + else + dev->type = &ata_port_type; dev->parent = parent; ata_host_get(ap->host); diff -Nru linux-5.10.197/drivers/ata/libata.h linux-5.10.205/drivers/ata/libata.h --- linux-5.10.197/drivers/ata/libata.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/ata/libata.h 2023-12-20 14:44:42.000000000 +0000 @@ -30,6 +30,8 @@ ATA_DNXFER_QUIET = (1 << 31), }; +#define ATA_PORT_TYPE_NAME "ata_port" + extern atomic_t ata_print_id; extern int atapi_passthru16; extern int libata_fua; diff -Nru linux-5.10.197/drivers/ata/pata_isapnp.c linux-5.10.205/drivers/ata/pata_isapnp.c --- linux-5.10.197/drivers/ata/pata_isapnp.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/ata/pata_isapnp.c 2023-12-20 14:44:42.000000000 +0000 @@ -82,6 +82,9 @@ if (pnp_port_valid(idev, 1)) { ctl_addr = devm_ioport_map(&idev->dev, pnp_port_start(idev, 1), 1); + if (!ctl_addr) + return -ENOMEM; + ap->ioaddr.altstatus_addr = ctl_addr; ap->ioaddr.ctl_addr = ctl_addr; ap->ops = &isapnp_port_ops; diff -Nru linux-5.10.197/drivers/atm/iphase.c linux-5.10.205/drivers/atm/iphase.c --- linux-5.10.197/drivers/atm/iphase.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/atm/iphase.c 2023-12-20 14:44:42.000000000 +0000 @@ -2290,19 +2290,21 @@ static int reset_sar(struct atm_dev *dev) { IADEV *iadev; - int i, error = 1; + int i, error; unsigned int pci[64]; iadev = INPH_IA_DEV(dev); - for(i=0; i<64; i++) - if ((error = pci_read_config_dword(iadev->pci, - i*4, &pci[i])) != PCIBIOS_SUCCESSFUL) - return error; + for (i = 0; i < 64; i++) { + error = pci_read_config_dword(iadev->pci, i * 4, &pci[i]); + if (error != PCIBIOS_SUCCESSFUL) + return error; + } writel(0, iadev->reg+IPHASE5575_EXT_RESET); - for(i=0; i<64; i++) - if ((error = pci_write_config_dword(iadev->pci, - i*4, pci[i])) != PCIBIOS_SUCCESSFUL) - return error; + for (i = 0; i < 64; i++) { + error = pci_write_config_dword(iadev->pci, i * 4, pci[i]); + if (error != PCIBIOS_SUCCESSFUL) + return error; + } udelay(5); return 0; } diff -Nru linux-5.10.197/drivers/atm/solos-pci.c linux-5.10.205/drivers/atm/solos-pci.c --- linux-5.10.197/drivers/atm/solos-pci.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/atm/solos-pci.c 2023-12-20 14:44:42.000000000 +0000 @@ -449,9 +449,9 @@ struct sk_buff *skb; unsigned int len; - spin_lock(&card->cli_queue_lock); + spin_lock_bh(&card->cli_queue_lock); skb = skb_dequeue(&card->cli_queue[SOLOS_CHAN(atmdev)]); - spin_unlock(&card->cli_queue_lock); + spin_unlock_bh(&card->cli_queue_lock); if(skb == NULL) return sprintf(buf, "No data.\n"); @@ -956,14 +956,14 @@ struct pkt_hdr *header; /* Remove any yet-to-be-transmitted packets from the pending queue */ - spin_lock(&card->tx_queue_lock); + spin_lock_bh(&card->tx_queue_lock); skb_queue_walk_safe(&card->tx_queue[port], skb, tmpskb) { if (SKB_CB(skb)->vcc == vcc) { skb_unlink(skb, &card->tx_queue[port]); solos_pop(vcc, skb); } } - spin_unlock(&card->tx_queue_lock); + spin_unlock_bh(&card->tx_queue_lock); skb = alloc_skb(sizeof(*header), GFP_KERNEL); if (!skb) { diff -Nru linux-5.10.197/drivers/base/core.c linux-5.10.205/drivers/base/core.c --- linux-5.10.197/drivers/base/core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/base/core.c 2023-12-20 14:44:42.000000000 +0000 @@ -2053,6 +2053,25 @@ } static DEVICE_ATTR_RW(online); +static ssize_t removable_show(struct device *dev, struct device_attribute *attr, + char *buf) +{ + const char *loc; + + switch (dev->removable) { + case DEVICE_REMOVABLE: + loc = "removable"; + break; + case DEVICE_FIXED: + loc = "fixed"; + break; + default: + loc = "unknown"; + } + return sysfs_emit(buf, "%s\n", loc); +} +static DEVICE_ATTR_RO(removable); + int device_add_groups(struct device *dev, const struct attribute_group **groups) { return sysfs_create_groups(&dev->kobj, groups); @@ -2230,8 +2249,16 @@ goto err_remove_dev_online; } + if (dev_removable_is_valid(dev)) { + error = device_create_file(dev, &dev_attr_removable); + if (error) + goto err_remove_dev_waiting_for_supplier; + } + return 0; + err_remove_dev_waiting_for_supplier: + device_remove_file(dev, &dev_attr_waiting_for_supplier); err_remove_dev_online: device_remove_file(dev, &dev_attr_online); err_remove_dev_groups: @@ -2251,6 +2278,7 @@ struct class *class = dev->class; const struct device_type *type = dev->type; + device_remove_file(dev, &dev_attr_removable); device_remove_file(dev, &dev_attr_waiting_for_supplier); device_remove_file(dev, &dev_attr_online); device_remove_groups(dev, dev->groups); diff -Nru linux-5.10.197/drivers/base/dd.c linux-5.10.205/drivers/base/dd.c --- linux-5.10.197/drivers/base/dd.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/base/dd.c 2023-12-20 14:44:42.000000000 +0000 @@ -1187,8 +1187,6 @@ else if (drv->remove) drv->remove(dev); - device_links_driver_cleanup(dev); - devres_release_all(dev); arch_teardown_dma_ops(dev); kfree(dev->dma_range_map); @@ -1200,6 +1198,8 @@ pm_runtime_reinit(dev); dev_pm_set_driver_flags(dev, 0); + device_links_driver_cleanup(dev); + klist_remove(&dev->p->knode_driver); device_pm_check_callbacks(dev); if (dev->bus) diff -Nru linux-5.10.197/drivers/base/devcoredump.c linux-5.10.205/drivers/base/devcoredump.c --- linux-5.10.197/drivers/base/devcoredump.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/base/devcoredump.c 2023-12-20 14:44:42.000000000 +0000 @@ -29,6 +29,47 @@ struct device devcd_dev; void *data; size_t datalen; + /* + * Here, mutex is required to serialize the calls to del_wk work between + * user/kernel space which happens when devcd is added with device_add() + * and that sends uevent to user space. User space reads the uevents, + * and calls to devcd_data_write() which try to modify the work which is + * not even initialized/queued from devcoredump. + * + * + * + * cpu0(X) cpu1(Y) + * + * dev_coredump() uevent sent to user space + * device_add() ======================> user space process Y reads the + * uevents writes to devcd fd + * which results into writes to + * + * devcd_data_write() + * mod_delayed_work() + * try_to_grab_pending() + * del_timer() + * debug_assert_init() + * INIT_DELAYED_WORK() + * schedule_delayed_work() + * + * + * Also, mutex alone would not be enough to avoid scheduling of + * del_wk work after it get flush from a call to devcd_free() + * mentioned as below. + * + * disabled_store() + * devcd_free() + * mutex_lock() devcd_data_write() + * flush_delayed_work() + * mutex_unlock() + * mutex_lock() + * mod_delayed_work() + * mutex_unlock() + * So, delete_work flag is required. + */ + struct mutex mutex; + bool delete_work; struct module *owner; ssize_t (*read)(char *buffer, loff_t offset, size_t count, void *data, size_t datalen); @@ -88,7 +129,12 @@ struct device *dev = kobj_to_dev(kobj); struct devcd_entry *devcd = dev_to_devcd(dev); - mod_delayed_work(system_wq, &devcd->del_wk, 0); + mutex_lock(&devcd->mutex); + if (!devcd->delete_work) { + devcd->delete_work = true; + mod_delayed_work(system_wq, &devcd->del_wk, 0); + } + mutex_unlock(&devcd->mutex); return count; } @@ -116,7 +162,12 @@ { struct devcd_entry *devcd = dev_to_devcd(dev); + mutex_lock(&devcd->mutex); + if (!devcd->delete_work) + devcd->delete_work = true; + flush_delayed_work(&devcd->del_wk); + mutex_unlock(&devcd->mutex); return 0; } @@ -126,6 +177,30 @@ return sysfs_emit(buf, "%d\n", devcd_disabled); } +/* + * + * disabled_store() worker() + * class_for_each_device(&devcd_class, + * NULL, NULL, devcd_free) + * ... + * ... + * while ((dev = class_dev_iter_next(&iter)) + * devcd_del() + * device_del() + * put_device() <- last reference + * error = fn(dev, data) devcd_dev_release() + * devcd_free(dev, data) kfree(devcd) + * mutex_lock(&devcd->mutex); + * + * + * In the above diagram, It looks like disabled_store() would be racing with parallely + * running devcd_del() and result in memory abort while acquiring devcd->mutex which + * is called after kfree of devcd memory after dropping its last reference with + * put_device(). However, this will not happens as fn(dev, data) runs + * with its own reference to device via klist_node so it is not its last reference. + * so, above situation would not occur. + */ + static ssize_t disabled_store(struct class *class, struct class_attribute *attr, const char *buf, size_t count) { @@ -282,13 +357,17 @@ devcd->read = read; devcd->free = free; devcd->failing_dev = get_device(dev); + devcd->delete_work = false; + mutex_init(&devcd->mutex); device_initialize(&devcd->devcd_dev); dev_set_name(&devcd->devcd_dev, "devcd%d", atomic_inc_return(&devcd_count)); devcd->devcd_dev.class = &devcd_class; + mutex_lock(&devcd->mutex); + dev_set_uevent_suppress(&devcd->devcd_dev, true); if (device_add(&devcd->devcd_dev)) goto put_device; @@ -300,12 +379,15 @@ "devcoredump")) /* nothing - symlink will be missing */; + dev_set_uevent_suppress(&devcd->devcd_dev, false); + kobject_uevent(&devcd->devcd_dev.kobj, KOBJ_ADD); INIT_DELAYED_WORK(&devcd->del_wk, devcd_del); schedule_delayed_work(&devcd->del_wk, DEVCD_TIMEOUT); - + mutex_unlock(&devcd->mutex); return; put_device: put_device(&devcd->devcd_dev); + mutex_unlock(&devcd->mutex); put_module: module_put(owner); free: diff -Nru linux-5.10.197/drivers/base/driver.c linux-5.10.205/drivers/base/driver.c --- linux-5.10.197/drivers/base/driver.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/base/driver.c 2023-12-20 14:44:42.000000000 +0000 @@ -31,6 +31,75 @@ } /** + * driver_set_override() - Helper to set or clear driver override. + * @dev: Device to change + * @override: Address of string to change (e.g. &device->driver_override); + * The contents will be freed and hold newly allocated override. + * @s: NUL-terminated string, new driver name to force a match, pass empty + * string to clear it ("" or "\n", where the latter is only for sysfs + * interface). + * @len: length of @s + * + * Helper to set or clear driver override in a device, intended for the cases + * when the driver_override field is allocated by driver/bus code. + * + * Returns: 0 on success or a negative error code on failure. + */ +int driver_set_override(struct device *dev, const char **override, + const char *s, size_t len) +{ + const char *new, *old; + char *cp; + + if (!override || !s) + return -EINVAL; + + /* + * The stored value will be used in sysfs show callback (sysfs_emit()), + * which has a length limit of PAGE_SIZE and adds a trailing newline. + * Thus we can store one character less to avoid truncation during sysfs + * show. + */ + if (len >= (PAGE_SIZE - 1)) + return -EINVAL; + + if (!len) { + /* Empty string passed - clear override */ + device_lock(dev); + old = *override; + *override = NULL; + device_unlock(dev); + kfree(old); + + return 0; + } + + cp = strnchr(s, len, '\n'); + if (cp) + len = cp - s; + + new = kstrndup(s, len, GFP_KERNEL); + if (!new) + return -ENOMEM; + + device_lock(dev); + old = *override; + if (cp != s) { + *override = new; + } else { + /* "\n" passed - clear override */ + kfree(new); + *override = NULL; + } + device_unlock(dev); + + kfree(old); + + return 0; +} +EXPORT_SYMBOL_GPL(driver_set_override); + +/** * driver_for_each_device - Iterator for devices bound to a driver. * @drv: Driver we're iterating. * @start: Device to begin with diff -Nru linux-5.10.197/drivers/base/platform.c linux-5.10.205/drivers/base/platform.c --- linux-5.10.197/drivers/base/platform.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/base/platform.c 2023-12-20 14:44:42.000000000 +0000 @@ -1046,31 +1046,11 @@ const char *buf, size_t count) { struct platform_device *pdev = to_platform_device(dev); - char *driver_override, *old, *cp; + int ret; - /* We need to keep extra room for a newline */ - if (count >= (PAGE_SIZE - 1)) - return -EINVAL; - - driver_override = kstrndup(buf, count, GFP_KERNEL); - if (!driver_override) - return -ENOMEM; - - cp = strchr(driver_override, '\n'); - if (cp) - *cp = '\0'; - - device_lock(dev); - old = pdev->driver_override; - if (strlen(driver_override)) { - pdev->driver_override = driver_override; - } else { - kfree(driver_override); - pdev->driver_override = NULL; - } - device_unlock(dev); - - kfree(old); + ret = driver_set_override(dev, &pdev->driver_override, buf, count); + if (ret) + return ret; return count; } diff -Nru linux-5.10.197/drivers/base/regmap/regcache-rbtree.c linux-5.10.205/drivers/base/regmap/regcache-rbtree.c --- linux-5.10.197/drivers/base/regmap/regcache-rbtree.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/base/regmap/regcache-rbtree.c 2023-12-20 14:44:42.000000000 +0000 @@ -453,7 +453,8 @@ if (!rbnode) return -ENOMEM; regcache_rbtree_set_register(map, rbnode, - reg - rbnode->base_reg, value); + (reg - rbnode->base_reg) / map->reg_stride, + value); regcache_rbtree_insert(map, &rbtree_ctx->root, rbnode); rbtree_ctx->cached_rbnode = rbnode; } diff -Nru linux-5.10.197/drivers/base/regmap/regmap-debugfs.c linux-5.10.205/drivers/base/regmap/regmap-debugfs.c --- linux-5.10.197/drivers/base/regmap/regmap-debugfs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/base/regmap/regmap-debugfs.c 2023-12-20 14:44:42.000000000 +0000 @@ -48,7 +48,7 @@ name = map->dev->driver->name; ret = snprintf(buf, PAGE_SIZE, "%s\n", name); - if (ret < 0) { + if (ret >= PAGE_SIZE) { kfree(buf); return ret; } diff -Nru linux-5.10.197/drivers/base/regmap/regmap.c linux-5.10.205/drivers/base/regmap/regmap.c --- linux-5.10.197/drivers/base/regmap/regmap.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/base/regmap/regmap.c 2023-12-20 14:44:42.000000000 +0000 @@ -1511,7 +1511,7 @@ /* If the user didn't specify a name match any */ if (data) - return !strcmp((*r)->name, data); + return (*r)->name && !strcmp((*r)->name, data); else return 1; } @@ -1643,17 +1643,19 @@ } if (!map->cache_bypass && map->format.parse_val) { - unsigned int ival; + unsigned int ival, offset; int val_bytes = map->format.val_bytes; - for (i = 0; i < val_len / val_bytes; i++) { - ival = map->format.parse_val(val + (i * val_bytes)); - ret = regcache_write(map, - reg + regmap_get_offset(map, i), - ival); + + /* Cache the last written value for noinc writes */ + i = noinc ? val_len - val_bytes : 0; + for (; i < val_len; i += val_bytes) { + ival = map->format.parse_val(val + i); + offset = noinc ? 0 : regmap_get_offset(map, i / val_bytes); + ret = regcache_write(map, reg + offset, ival); if (ret) { dev_err(map->dev, "Error in caching of register: %x ret: %d\n", - reg + regmap_get_offset(map, i), ret); + reg + offset, ret); return ret; } } diff -Nru linux-5.10.197/drivers/block/rbd.c linux-5.10.205/drivers/block/rbd.c --- linux-5.10.197/drivers/block/rbd.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/block/rbd.c 2023-12-20 14:44:42.000000000 +0000 @@ -632,9 +632,8 @@ static void rbd_dev_remove_parent(struct rbd_device *rbd_dev); static int rbd_dev_refresh(struct rbd_device *rbd_dev); -static int rbd_dev_v2_header_onetime(struct rbd_device *rbd_dev); -static int rbd_dev_header_info(struct rbd_device *rbd_dev); -static int rbd_dev_v2_parent_info(struct rbd_device *rbd_dev); +static int rbd_dev_v2_header_onetime(struct rbd_device *rbd_dev, + struct rbd_image_header *header); static const char *rbd_dev_v2_snap_name(struct rbd_device *rbd_dev, u64 snap_id); static int _rbd_dev_v2_snap_size(struct rbd_device *rbd_dev, u64 snap_id, @@ -1047,15 +1046,24 @@ RCU_INIT_POINTER(rbd_dev->layout.pool_ns, NULL); } +static void rbd_image_header_cleanup(struct rbd_image_header *header) +{ + kfree(header->object_prefix); + ceph_put_snap_context(header->snapc); + kfree(header->snap_sizes); + kfree(header->snap_names); + + memset(header, 0, sizeof(*header)); +} + /* * Fill an rbd image header with information from the given format 1 * on-disk header. */ -static int rbd_header_from_disk(struct rbd_device *rbd_dev, - struct rbd_image_header_ondisk *ondisk) +static int rbd_header_from_disk(struct rbd_image_header *header, + struct rbd_image_header_ondisk *ondisk, + bool first_time) { - struct rbd_image_header *header = &rbd_dev->header; - bool first_time = header->object_prefix == NULL; struct ceph_snap_context *snapc; char *object_prefix = NULL; char *snap_names = NULL; @@ -1122,11 +1130,6 @@ if (first_time) { header->object_prefix = object_prefix; header->obj_order = ondisk->options.order; - rbd_init_layout(rbd_dev); - } else { - ceph_put_snap_context(header->snapc); - kfree(header->snap_names); - kfree(header->snap_sizes); } /* The remaining fields always get updated (when we refresh) */ @@ -4916,7 +4919,9 @@ * return, the rbd_dev->header field will contain up-to-date * information about the image. */ -static int rbd_dev_v1_header_info(struct rbd_device *rbd_dev) +static int rbd_dev_v1_header_info(struct rbd_device *rbd_dev, + struct rbd_image_header *header, + bool first_time) { struct rbd_image_header_ondisk *ondisk = NULL; u32 snap_count = 0; @@ -4964,7 +4969,7 @@ snap_count = le32_to_cpu(ondisk->snap_count); } while (snap_count != want_count); - ret = rbd_header_from_disk(rbd_dev, ondisk); + ret = rbd_header_from_disk(header, ondisk, first_time); out: kfree(ondisk); @@ -4989,39 +4994,6 @@ } } -static int rbd_dev_refresh(struct rbd_device *rbd_dev) -{ - u64 mapping_size; - int ret; - - down_write(&rbd_dev->header_rwsem); - mapping_size = rbd_dev->mapping.size; - - ret = rbd_dev_header_info(rbd_dev); - if (ret) - goto out; - - /* - * If there is a parent, see if it has disappeared due to the - * mapped image getting flattened. - */ - if (rbd_dev->parent) { - ret = rbd_dev_v2_parent_info(rbd_dev); - if (ret) - goto out; - } - - rbd_assert(!rbd_is_snap(rbd_dev)); - rbd_dev->mapping.size = rbd_dev->header.image_size; - -out: - up_write(&rbd_dev->header_rwsem); - if (!ret && mapping_size != rbd_dev->mapping.size) - rbd_dev_update_size(rbd_dev); - - return ret; -} - static const struct blk_mq_ops rbd_mq_ops = { .queue_rq = rbd_queue_rq, }; @@ -5576,17 +5548,12 @@ return 0; } -static int rbd_dev_v2_image_size(struct rbd_device *rbd_dev) -{ - return _rbd_dev_v2_snap_size(rbd_dev, CEPH_NOSNAP, - &rbd_dev->header.obj_order, - &rbd_dev->header.image_size); -} - -static int rbd_dev_v2_object_prefix(struct rbd_device *rbd_dev) +static int rbd_dev_v2_object_prefix(struct rbd_device *rbd_dev, + char **pobject_prefix) { size_t size; void *reply_buf; + char *object_prefix; int ret; void *p; @@ -5604,16 +5571,16 @@ goto out; p = reply_buf; - rbd_dev->header.object_prefix = ceph_extract_encoded_string(&p, - p + ret, NULL, GFP_NOIO); + object_prefix = ceph_extract_encoded_string(&p, p + ret, NULL, + GFP_NOIO); + if (IS_ERR(object_prefix)) { + ret = PTR_ERR(object_prefix); + goto out; + } ret = 0; - if (IS_ERR(rbd_dev->header.object_prefix)) { - ret = PTR_ERR(rbd_dev->header.object_prefix); - rbd_dev->header.object_prefix = NULL; - } else { - dout(" object_prefix = %s\n", rbd_dev->header.object_prefix); - } + *pobject_prefix = object_prefix; + dout(" object_prefix = %s\n", object_prefix); out: kfree(reply_buf); @@ -5664,13 +5631,6 @@ return 0; } -static int rbd_dev_v2_features(struct rbd_device *rbd_dev) -{ - return _rbd_dev_v2_snap_features(rbd_dev, CEPH_NOSNAP, - rbd_is_ro(rbd_dev), - &rbd_dev->header.features); -} - /* * These are generic image flags, but since they are used only for * object map, store them in rbd_dev->object_map_flags. @@ -5707,6 +5667,14 @@ u64 overlap; }; +static void rbd_parent_info_cleanup(struct parent_image_info *pii) +{ + kfree(pii->pool_ns); + kfree(pii->image_id); + + memset(pii, 0, sizeof(*pii)); +} + /* * The caller is responsible for @pii. */ @@ -5776,6 +5744,9 @@ if (pii->has_overlap) ceph_decode_64_safe(&p, end, pii->overlap, e_inval); + dout("%s pool_id %llu pool_ns %s image_id %s snap_id %llu has_overlap %d overlap %llu\n", + __func__, pii->pool_id, pii->pool_ns, pii->image_id, pii->snap_id, + pii->has_overlap, pii->overlap); return 0; e_inval: @@ -5814,14 +5785,17 @@ pii->has_overlap = true; ceph_decode_64_safe(&p, end, pii->overlap, e_inval); + dout("%s pool_id %llu pool_ns %s image_id %s snap_id %llu has_overlap %d overlap %llu\n", + __func__, pii->pool_id, pii->pool_ns, pii->image_id, pii->snap_id, + pii->has_overlap, pii->overlap); return 0; e_inval: return -EINVAL; } -static int get_parent_info(struct rbd_device *rbd_dev, - struct parent_image_info *pii) +static int rbd_dev_v2_parent_info(struct rbd_device *rbd_dev, + struct parent_image_info *pii) { struct page *req_page, *reply_page; void *p; @@ -5849,7 +5823,7 @@ return ret; } -static int rbd_dev_v2_parent_info(struct rbd_device *rbd_dev) +static int rbd_dev_setup_parent(struct rbd_device *rbd_dev) { struct rbd_spec *parent_spec; struct parent_image_info pii = { 0 }; @@ -5859,37 +5833,12 @@ if (!parent_spec) return -ENOMEM; - ret = get_parent_info(rbd_dev, &pii); + ret = rbd_dev_v2_parent_info(rbd_dev, &pii); if (ret) goto out_err; - dout("%s pool_id %llu pool_ns %s image_id %s snap_id %llu has_overlap %d overlap %llu\n", - __func__, pii.pool_id, pii.pool_ns, pii.image_id, pii.snap_id, - pii.has_overlap, pii.overlap); - - if (pii.pool_id == CEPH_NOPOOL || !pii.has_overlap) { - /* - * Either the parent never existed, or we have - * record of it but the image got flattened so it no - * longer has a parent. When the parent of a - * layered image disappears we immediately set the - * overlap to 0. The effect of this is that all new - * requests will be treated as if the image had no - * parent. - * - * If !pii.has_overlap, the parent image spec is not - * applicable. It's there to avoid duplication in each - * snapshot record. - */ - if (rbd_dev->parent_overlap) { - rbd_dev->parent_overlap = 0; - rbd_dev_parent_put(rbd_dev); - pr_info("%s: clone image has been flattened\n", - rbd_dev->disk->disk_name); - } - + if (pii.pool_id == CEPH_NOPOOL || !pii.has_overlap) goto out; /* No parent? No problem. */ - } /* The ceph file layout needs to fit pool id in 32 bits */ @@ -5901,58 +5850,46 @@ } /* - * The parent won't change (except when the clone is - * flattened, already handled that). So we only need to - * record the parent spec we have not already done so. + * The parent won't change except when the clone is flattened, + * so we only need to record the parent image spec once. */ - if (!rbd_dev->parent_spec) { - parent_spec->pool_id = pii.pool_id; - if (pii.pool_ns && *pii.pool_ns) { - parent_spec->pool_ns = pii.pool_ns; - pii.pool_ns = NULL; - } - parent_spec->image_id = pii.image_id; - pii.image_id = NULL; - parent_spec->snap_id = pii.snap_id; - - rbd_dev->parent_spec = parent_spec; - parent_spec = NULL; /* rbd_dev now owns this */ - } + parent_spec->pool_id = pii.pool_id; + if (pii.pool_ns && *pii.pool_ns) { + parent_spec->pool_ns = pii.pool_ns; + pii.pool_ns = NULL; + } + parent_spec->image_id = pii.image_id; + pii.image_id = NULL; + parent_spec->snap_id = pii.snap_id; + + rbd_assert(!rbd_dev->parent_spec); + rbd_dev->parent_spec = parent_spec; + parent_spec = NULL; /* rbd_dev now owns this */ /* - * We always update the parent overlap. If it's zero we issue - * a warning, as we will proceed as if there was no parent. + * Record the parent overlap. If it's zero, issue a warning as + * we will proceed as if there is no parent. */ - if (!pii.overlap) { - if (parent_spec) { - /* refresh, careful to warn just once */ - if (rbd_dev->parent_overlap) - rbd_warn(rbd_dev, - "clone now standalone (overlap became 0)"); - } else { - /* initial probe */ - rbd_warn(rbd_dev, "clone is standalone (overlap 0)"); - } - } + if (!pii.overlap) + rbd_warn(rbd_dev, "clone is standalone (overlap 0)"); rbd_dev->parent_overlap = pii.overlap; out: ret = 0; out_err: - kfree(pii.pool_ns); - kfree(pii.image_id); + rbd_parent_info_cleanup(&pii); rbd_spec_put(parent_spec); return ret; } -static int rbd_dev_v2_striping_info(struct rbd_device *rbd_dev) +static int rbd_dev_v2_striping_info(struct rbd_device *rbd_dev, + u64 *stripe_unit, u64 *stripe_count) { struct { __le64 stripe_unit; __le64 stripe_count; } __attribute__ ((packed)) striping_info_buf = { 0 }; size_t size = sizeof (striping_info_buf); - void *p; int ret; ret = rbd_obj_method_sync(rbd_dev, &rbd_dev->header_oid, @@ -5964,27 +5901,33 @@ if (ret < size) return -ERANGE; - p = &striping_info_buf; - rbd_dev->header.stripe_unit = ceph_decode_64(&p); - rbd_dev->header.stripe_count = ceph_decode_64(&p); + *stripe_unit = le64_to_cpu(striping_info_buf.stripe_unit); + *stripe_count = le64_to_cpu(striping_info_buf.stripe_count); + dout(" stripe_unit = %llu stripe_count = %llu\n", *stripe_unit, + *stripe_count); + return 0; } -static int rbd_dev_v2_data_pool(struct rbd_device *rbd_dev) +static int rbd_dev_v2_data_pool(struct rbd_device *rbd_dev, s64 *data_pool_id) { - __le64 data_pool_id; + __le64 data_pool_buf; int ret; ret = rbd_obj_method_sync(rbd_dev, &rbd_dev->header_oid, &rbd_dev->header_oloc, "get_data_pool", - NULL, 0, &data_pool_id, sizeof(data_pool_id)); + NULL, 0, &data_pool_buf, + sizeof(data_pool_buf)); + dout("%s: rbd_obj_method_sync returned %d\n", __func__, ret); if (ret < 0) return ret; - if (ret < sizeof(data_pool_id)) + if (ret < sizeof(data_pool_buf)) return -EBADMSG; - rbd_dev->header.data_pool_id = le64_to_cpu(data_pool_id); - WARN_ON(rbd_dev->header.data_pool_id == CEPH_NOPOOL); + *data_pool_id = le64_to_cpu(data_pool_buf); + dout(" data_pool_id = %lld\n", *data_pool_id); + WARN_ON(*data_pool_id == CEPH_NOPOOL); + return 0; } @@ -6176,7 +6119,8 @@ return ret; } -static int rbd_dev_v2_snap_context(struct rbd_device *rbd_dev) +static int rbd_dev_v2_snap_context(struct rbd_device *rbd_dev, + struct ceph_snap_context **psnapc) { size_t size; int ret; @@ -6237,9 +6181,7 @@ for (i = 0; i < snap_count; i++) snapc->snaps[i] = ceph_decode_64(&p); - ceph_put_snap_context(rbd_dev->header.snapc); - rbd_dev->header.snapc = snapc; - + *psnapc = snapc; dout(" snap context seq = %llu, snap_count = %u\n", (unsigned long long)seq, (unsigned int)snap_count); out: @@ -6288,38 +6230,42 @@ return snap_name; } -static int rbd_dev_v2_header_info(struct rbd_device *rbd_dev) +static int rbd_dev_v2_header_info(struct rbd_device *rbd_dev, + struct rbd_image_header *header, + bool first_time) { - bool first_time = rbd_dev->header.object_prefix == NULL; int ret; - ret = rbd_dev_v2_image_size(rbd_dev); + ret = _rbd_dev_v2_snap_size(rbd_dev, CEPH_NOSNAP, + first_time ? &header->obj_order : NULL, + &header->image_size); if (ret) return ret; if (first_time) { - ret = rbd_dev_v2_header_onetime(rbd_dev); + ret = rbd_dev_v2_header_onetime(rbd_dev, header); if (ret) return ret; } - ret = rbd_dev_v2_snap_context(rbd_dev); - if (ret && first_time) { - kfree(rbd_dev->header.object_prefix); - rbd_dev->header.object_prefix = NULL; - } + ret = rbd_dev_v2_snap_context(rbd_dev, &header->snapc); + if (ret) + return ret; - return ret; + return 0; } -static int rbd_dev_header_info(struct rbd_device *rbd_dev) +static int rbd_dev_header_info(struct rbd_device *rbd_dev, + struct rbd_image_header *header, + bool first_time) { rbd_assert(rbd_image_format_valid(rbd_dev->image_format)); + rbd_assert(!header->object_prefix && !header->snapc); if (rbd_dev->image_format == 1) - return rbd_dev_v1_header_info(rbd_dev); + return rbd_dev_v1_header_info(rbd_dev, header, first_time); - return rbd_dev_v2_header_info(rbd_dev); + return rbd_dev_v2_header_info(rbd_dev, header, first_time); } /* @@ -6806,60 +6752,49 @@ */ static void rbd_dev_unprobe(struct rbd_device *rbd_dev) { - struct rbd_image_header *header; - rbd_dev_parent_put(rbd_dev); rbd_object_map_free(rbd_dev); rbd_dev_mapping_clear(rbd_dev); /* Free dynamic fields from the header, then zero it out */ - header = &rbd_dev->header; - ceph_put_snap_context(header->snapc); - kfree(header->snap_sizes); - kfree(header->snap_names); - kfree(header->object_prefix); - memset(header, 0, sizeof (*header)); + rbd_image_header_cleanup(&rbd_dev->header); } -static int rbd_dev_v2_header_onetime(struct rbd_device *rbd_dev) +static int rbd_dev_v2_header_onetime(struct rbd_device *rbd_dev, + struct rbd_image_header *header) { int ret; - ret = rbd_dev_v2_object_prefix(rbd_dev); + ret = rbd_dev_v2_object_prefix(rbd_dev, &header->object_prefix); if (ret) - goto out_err; + return ret; /* * Get the and check features for the image. Currently the * features are assumed to never change. */ - ret = rbd_dev_v2_features(rbd_dev); + ret = _rbd_dev_v2_snap_features(rbd_dev, CEPH_NOSNAP, + rbd_is_ro(rbd_dev), &header->features); if (ret) - goto out_err; + return ret; /* If the image supports fancy striping, get its parameters */ - if (rbd_dev->header.features & RBD_FEATURE_STRIPINGV2) { - ret = rbd_dev_v2_striping_info(rbd_dev); - if (ret < 0) - goto out_err; + if (header->features & RBD_FEATURE_STRIPINGV2) { + ret = rbd_dev_v2_striping_info(rbd_dev, &header->stripe_unit, + &header->stripe_count); + if (ret) + return ret; } - if (rbd_dev->header.features & RBD_FEATURE_DATA_POOL) { - ret = rbd_dev_v2_data_pool(rbd_dev); + if (header->features & RBD_FEATURE_DATA_POOL) { + ret = rbd_dev_v2_data_pool(rbd_dev, &header->data_pool_id); if (ret) - goto out_err; + return ret; } - rbd_init_layout(rbd_dev); return 0; - -out_err: - rbd_dev->header.features = 0; - kfree(rbd_dev->header.object_prefix); - rbd_dev->header.object_prefix = NULL; - return ret; } /* @@ -7054,13 +6989,15 @@ if (!depth) down_write(&rbd_dev->header_rwsem); - ret = rbd_dev_header_info(rbd_dev); + ret = rbd_dev_header_info(rbd_dev, &rbd_dev->header, true); if (ret) { if (ret == -ENOENT && !need_watch) rbd_print_dne(rbd_dev, false); goto err_out_probe; } + rbd_init_layout(rbd_dev); + /* * If this image is the one being mapped, we have pool name and * id, image name and id, and snap name - need to fill snap id. @@ -7089,7 +7026,7 @@ } if (rbd_dev->header.features & RBD_FEATURE_LAYERING) { - ret = rbd_dev_v2_parent_info(rbd_dev); + ret = rbd_dev_setup_parent(rbd_dev); if (ret) goto err_out_probe; } @@ -7115,6 +7052,107 @@ return ret; } +static void rbd_dev_update_header(struct rbd_device *rbd_dev, + struct rbd_image_header *header) +{ + rbd_assert(rbd_image_format_valid(rbd_dev->image_format)); + rbd_assert(rbd_dev->header.object_prefix); /* !first_time */ + + if (rbd_dev->header.image_size != header->image_size) { + rbd_dev->header.image_size = header->image_size; + + if (!rbd_is_snap(rbd_dev)) { + rbd_dev->mapping.size = header->image_size; + rbd_dev_update_size(rbd_dev); + } + } + + ceph_put_snap_context(rbd_dev->header.snapc); + rbd_dev->header.snapc = header->snapc; + header->snapc = NULL; + + if (rbd_dev->image_format == 1) { + kfree(rbd_dev->header.snap_names); + rbd_dev->header.snap_names = header->snap_names; + header->snap_names = NULL; + + kfree(rbd_dev->header.snap_sizes); + rbd_dev->header.snap_sizes = header->snap_sizes; + header->snap_sizes = NULL; + } +} + +static void rbd_dev_update_parent(struct rbd_device *rbd_dev, + struct parent_image_info *pii) +{ + if (pii->pool_id == CEPH_NOPOOL || !pii->has_overlap) { + /* + * Either the parent never existed, or we have + * record of it but the image got flattened so it no + * longer has a parent. When the parent of a + * layered image disappears we immediately set the + * overlap to 0. The effect of this is that all new + * requests will be treated as if the image had no + * parent. + * + * If !pii.has_overlap, the parent image spec is not + * applicable. It's there to avoid duplication in each + * snapshot record. + */ + if (rbd_dev->parent_overlap) { + rbd_dev->parent_overlap = 0; + rbd_dev_parent_put(rbd_dev); + pr_info("%s: clone has been flattened\n", + rbd_dev->disk->disk_name); + } + } else { + rbd_assert(rbd_dev->parent_spec); + + /* + * Update the parent overlap. If it became zero, issue + * a warning as we will proceed as if there is no parent. + */ + if (!pii->overlap && rbd_dev->parent_overlap) + rbd_warn(rbd_dev, + "clone has become standalone (overlap 0)"); + rbd_dev->parent_overlap = pii->overlap; + } +} + +static int rbd_dev_refresh(struct rbd_device *rbd_dev) +{ + struct rbd_image_header header = { 0 }; + struct parent_image_info pii = { 0 }; + int ret; + + dout("%s rbd_dev %p\n", __func__, rbd_dev); + + ret = rbd_dev_header_info(rbd_dev, &header, false); + if (ret) + goto out; + + /* + * If there is a parent, see if it has disappeared due to the + * mapped image getting flattened. + */ + if (rbd_dev->parent) { + ret = rbd_dev_v2_parent_info(rbd_dev, &pii); + if (ret) + goto out; + } + + down_write(&rbd_dev->header_rwsem); + rbd_dev_update_header(rbd_dev, &header); + if (rbd_dev->parent) + rbd_dev_update_parent(rbd_dev, &pii); + up_write(&rbd_dev->header_rwsem); + +out: + rbd_parent_info_cleanup(&pii); + rbd_image_header_cleanup(&header); + return ret; +} + static ssize_t do_rbd_add(struct bus_type *bus, const char *buf, size_t count) diff -Nru linux-5.10.197/drivers/bluetooth/btusb.c linux-5.10.205/drivers/bluetooth/btusb.c --- linux-5.10.197/drivers/bluetooth/btusb.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/bluetooth/btusb.c 2023-12-20 14:44:42.000000000 +0000 @@ -415,6 +415,18 @@ { USB_DEVICE(0x13d3, 0x3586), .driver_info = BTUSB_REALTEK | BTUSB_WIDEBAND_SPEECH }, + /* Realtek 8852BE Bluetooth devices */ + { USB_DEVICE(0x0cb8, 0xc559), .driver_info = BTUSB_REALTEK | + BTUSB_WIDEBAND_SPEECH }, + { USB_DEVICE(0x0bda, 0x887b), .driver_info = BTUSB_REALTEK | + BTUSB_WIDEBAND_SPEECH }, + { USB_DEVICE(0x0bda, 0xb85b), .driver_info = BTUSB_REALTEK | + BTUSB_WIDEBAND_SPEECH }, + { USB_DEVICE(0x13d3, 0x3570), .driver_info = BTUSB_REALTEK | + BTUSB_WIDEBAND_SPEECH }, + { USB_DEVICE(0x13d3, 0x3571), .driver_info = BTUSB_REALTEK | + BTUSB_WIDEBAND_SPEECH }, + /* Realtek Bluetooth devices */ { USB_VENDOR_AND_INTERFACE_INFO(0x0bda, 0xe0, 0x01, 0x01), .driver_info = BTUSB_REALTEK }, @@ -3095,6 +3107,9 @@ goto err_free_wc; } + if (data->evt_skb == NULL) + goto err_free_wc; + /* Parse and handle the return WMT event */ wmt_evt = (struct btmtk_hci_wmt_evt *)data->evt_skb->data; if (wmt_evt->whdr.op != hdr->op) { diff -Nru linux-5.10.197/drivers/bluetooth/hci_vhci.c linux-5.10.205/drivers/bluetooth/hci_vhci.c --- linux-5.10.197/drivers/bluetooth/hci_vhci.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/bluetooth/hci_vhci.c 2023-12-20 14:44:42.000000000 +0000 @@ -67,7 +67,10 @@ struct vhci_data *data = hci_get_drvdata(hdev); memcpy(skb_push(skb, 1), &hci_skb_pkt_type(skb), 1); + + mutex_lock(&data->open_mutex); skb_queue_tail(&data->readq, skb); + mutex_unlock(&data->open_mutex); wake_up_interruptible(&data->read_wait); return 0; diff -Nru linux-5.10.197/drivers/bus/ti-sysc.c linux-5.10.205/drivers/bus/ti-sysc.c --- linux-5.10.197/drivers/bus/ti-sysc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/bus/ti-sysc.c 2023-12-20 14:44:42.000000000 +0000 @@ -38,6 +38,7 @@ SOC_2420, SOC_2430, SOC_3430, + SOC_AM35, SOC_3630, SOC_4430, SOC_4460, @@ -1113,6 +1114,11 @@ if (ddata->cfg.quirks & (SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_SWSUP_SIDLE_ACT)) { best_mode = SYSC_IDLE_NO; + + /* Clear WAKEUP */ + if (regbits->enwkup_shift >= 0 && + ddata->cfg.sysc_val & BIT(regbits->enwkup_shift)) + reg &= ~BIT(regbits->enwkup_shift); } else { best_mode = fls(ddata->cfg.sidlemodes) - 1; if (best_mode > SYSC_IDLE_MASK) { @@ -1233,6 +1239,13 @@ } } + if (ddata->cfg.quirks & SYSC_QUIRK_SWSUP_SIDLE_ACT) { + /* Set WAKEUP */ + if (regbits->enwkup_shift >= 0 && + ddata->cfg.sysc_val & BIT(regbits->enwkup_shift)) + reg |= BIT(regbits->enwkup_shift); + } + reg &= ~(SYSC_IDLE_MASK << regbits->sidle_shift); reg |= best_mode << regbits->sidle_shift; if (regbits->autoidle_shift >= 0 && @@ -1496,16 +1509,16 @@ SYSC_QUIRK("smartreflex", 0, -ENODEV, 0x38, -ENODEV, 0x00000000, 0xffffffff, SYSC_QUIRK_LEGACY_IDLE), SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x00000046, 0xffffffff, - SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_LEGACY_IDLE), + SYSC_QUIRK_SWSUP_SIDLE_ACT | SYSC_QUIRK_LEGACY_IDLE), SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x00000052, 0xffffffff, - SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_LEGACY_IDLE), + SYSC_QUIRK_SWSUP_SIDLE_ACT | SYSC_QUIRK_LEGACY_IDLE), /* Uarts on omap4 and later */ SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x50411e03, 0xffff00ff, - SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_LEGACY_IDLE), + SYSC_QUIRK_SWSUP_SIDLE_ACT | SYSC_QUIRK_LEGACY_IDLE), SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x47422e03, 0xffffffff, - SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_LEGACY_IDLE), + SYSC_QUIRK_SWSUP_SIDLE_ACT | SYSC_QUIRK_LEGACY_IDLE), SYSC_QUIRK("uart", 0, 0x50, 0x54, 0x58, 0x47424e03, 0xffffffff, - SYSC_QUIRK_SWSUP_SIDLE | SYSC_QUIRK_LEGACY_IDLE), + SYSC_QUIRK_SWSUP_SIDLE_ACT | SYSC_QUIRK_LEGACY_IDLE), /* Quirks that need to be set based on the module address */ SYSC_QUIRK("mcpdm", 0x40132000, 0, 0x10, -ENODEV, 0x50000800, 0xffffffff, @@ -1818,7 +1831,7 @@ dev_warn(ddata->dev, "%s: timed out %08x !+ %08x\n", __func__, val, irq_mask); - if (sysc_soc->soc == SOC_3430) { + if (sysc_soc->soc == SOC_3430 || sysc_soc->soc == SOC_AM35) { /* Clear DSS_SDI_CONTROL */ sysc_write(ddata, 0x44, 0); @@ -2085,8 +2098,7 @@ } if (ddata->cfg.srst_udelay) - usleep_range(ddata->cfg.srst_udelay, - ddata->cfg.srst_udelay * 2); + fsleep(ddata->cfg.srst_udelay); if (ddata->post_reset_quirk) ddata->post_reset_quirk(ddata); @@ -2960,6 +2972,7 @@ static const struct soc_device_attribute sysc_soc_match[] = { SOC_FLAG("OMAP242*", SOC_2420), SOC_FLAG("OMAP243*", SOC_2430), + SOC_FLAG("AM35*", SOC_AM35), SOC_FLAG("OMAP3[45]*", SOC_3430), SOC_FLAG("OMAP3[67]*", SOC_3630), SOC_FLAG("OMAP443*", SOC_4430), @@ -3147,7 +3160,7 @@ * can be dropped if we stop supporting old beagleboard revisions * A to B4 at some point. */ - if (sysc_soc->soc == SOC_3430) + if (sysc_soc->soc == SOC_3430 || sysc_soc->soc == SOC_AM35) error = -ENXIO; else error = -EBUSY; diff -Nru linux-5.10.197/drivers/char/agp/parisc-agp.c linux-5.10.205/drivers/char/agp/parisc-agp.c --- linux-5.10.197/drivers/char/agp/parisc-agp.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/char/agp/parisc-agp.c 2023-12-20 14:44:42.000000000 +0000 @@ -394,8 +394,6 @@ static int __init parisc_agp_init(void) { - extern struct sba_device *sba_list; - int err = -1; struct parisc_device *sba = NULL, *lba = NULL; struct lba_device *lbadev = NULL; diff -Nru linux-5.10.197/drivers/char/hw_random/geode-rng.c linux-5.10.205/drivers/char/hw_random/geode-rng.c --- linux-5.10.197/drivers/char/hw_random/geode-rng.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/char/hw_random/geode-rng.c 2023-12-20 14:44:42.000000000 +0000 @@ -58,7 +58,8 @@ static int geode_rng_data_read(struct hwrng *rng, u32 *data) { - void __iomem *mem = (void __iomem *)rng->priv; + struct amd_geode_priv *priv = (struct amd_geode_priv *)rng->priv; + void __iomem *mem = priv->membase; *data = readl(mem + GEODE_RNG_DATA_REG); @@ -67,7 +68,8 @@ static int geode_rng_data_present(struct hwrng *rng, int wait) { - void __iomem *mem = (void __iomem *)rng->priv; + struct amd_geode_priv *priv = (struct amd_geode_priv *)rng->priv; + void __iomem *mem = priv->membase; int data, i; for (i = 0; i < 20; i++) { diff -Nru linux-5.10.197/drivers/clk/clk-asm9260.c linux-5.10.205/drivers/clk/clk-asm9260.c --- linux-5.10.197/drivers/clk/clk-asm9260.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/clk-asm9260.c 2023-12-20 14:44:42.000000000 +0000 @@ -80,7 +80,7 @@ u8 mask; u32 *table; const char *name; - const char **parent_names; + const struct clk_parent_data *parent_data; u8 num_parents; unsigned long offset; unsigned long flags; @@ -232,10 +232,10 @@ HW_AHBCLKCTRL1, 16 }, }; -static const char __initdata *main_mux_p[] = { NULL, NULL }; -static const char __initdata *i2s0_mux_p[] = { NULL, NULL, "i2s0m_div"}; -static const char __initdata *i2s1_mux_p[] = { NULL, NULL, "i2s1m_div"}; -static const char __initdata *clkout_mux_p[] = { NULL, NULL, "rtc"}; +static struct clk_parent_data __initdata main_mux_p[] = { { .index = 0, }, { .name = "pll" } }; +static struct clk_parent_data __initdata i2s0_mux_p[] = { { .index = 0, }, { .name = "pll" }, { .name = "i2s0m_div"} }; +static struct clk_parent_data __initdata i2s1_mux_p[] = { { .index = 0, }, { .name = "pll" }, { .name = "i2s1m_div"} }; +static struct clk_parent_data __initdata clkout_mux_p[] = { { .index = 0, }, { .name = "pll" }, { .name = "rtc"} }; static u32 three_mux_table[] = {0, 1, 3}; static struct asm9260_mux_clock asm9260_mux_clks[] __initdata = { @@ -255,9 +255,10 @@ static void __init asm9260_acc_init(struct device_node *np) { - struct clk_hw *hw; + struct clk_hw *hw, *pll_hw; struct clk_hw **hws; - const char *ref_clk, *pll_clk = "pll"; + const char *pll_clk = "pll"; + struct clk_parent_data pll_parent_data = { .index = 0 }; u32 rate; int n; @@ -274,21 +275,15 @@ /* register pll */ rate = (ioread32(base + HW_SYSPLLCTRL) & 0xffff) * 1000000; - /* TODO: Convert to DT parent scheme */ - ref_clk = of_clk_get_parent_name(np, 0); - hw = __clk_hw_register_fixed_rate(NULL, NULL, pll_clk, - ref_clk, NULL, NULL, 0, rate, 0, - CLK_FIXED_RATE_PARENT_ACCURACY); - - if (IS_ERR(hw)) + pll_hw = clk_hw_register_fixed_rate_parent_accuracy(NULL, pll_clk, &pll_parent_data, + 0, rate); + if (IS_ERR(pll_hw)) panic("%pOFn: can't register REFCLK. Check DT!", np); for (n = 0; n < ARRAY_SIZE(asm9260_mux_clks); n++) { const struct asm9260_mux_clock *mc = &asm9260_mux_clks[n]; - mc->parent_names[0] = ref_clk; - mc->parent_names[1] = pll_clk; - hw = clk_hw_register_mux_table(NULL, mc->name, mc->parent_names, + hw = clk_hw_register_mux_table_parent_data(NULL, mc->name, mc->parent_data, mc->num_parents, mc->flags, base + mc->offset, 0, mc->mask, 0, mc->table, &asm9260_clk_lock); } diff -Nru linux-5.10.197/drivers/clk/clk-npcm7xx.c linux-5.10.205/drivers/clk/clk-npcm7xx.c --- linux-5.10.197/drivers/clk/clk-npcm7xx.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/clk-npcm7xx.c 2023-12-20 14:44:42.000000000 +0000 @@ -647,7 +647,7 @@ return; npcm7xx_init_fail: - kfree(npcm7xx_clk_data->hws); + kfree(npcm7xx_clk_data); npcm7xx_init_np_err: iounmap(clk_base); npcm7xx_init_error: diff -Nru linux-5.10.197/drivers/clk/clk-scmi.c linux-5.10.205/drivers/clk/clk-scmi.c --- linux-5.10.197/drivers/clk/clk-scmi.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/clk-scmi.c 2023-12-20 14:44:42.000000000 +0000 @@ -170,6 +170,7 @@ sclk->info = handle->clk_ops->info_get(handle, idx); if (!sclk->info) { dev_dbg(dev, "invalid clock info for idx %d\n", idx); + devm_kfree(dev, sclk); continue; } diff -Nru linux-5.10.197/drivers/clk/clk.c linux-5.10.205/drivers/clk/clk.c --- linux-5.10.197/drivers/clk/clk.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/clk.c 2023-12-20 14:44:42.000000000 +0000 @@ -3167,6 +3167,7 @@ unsigned int i, char terminator) { struct clk_core *parent; + const char *name = NULL; /* * Go through the following options to fetch a parent's name. @@ -3181,18 +3182,20 @@ * registered (yet). */ parent = clk_core_get_parent_by_index(core, i); - if (parent) + if (parent) { seq_puts(s, parent->name); - else if (core->parents[i].name) + } else if (core->parents[i].name) { seq_puts(s, core->parents[i].name); - else if (core->parents[i].fw_name) + } else if (core->parents[i].fw_name) { seq_printf(s, "<%s>(fw)", core->parents[i].fw_name); - else if (core->parents[i].index >= 0) - seq_puts(s, - of_clk_get_parent_name(core->of_node, - core->parents[i].index)); - else - seq_puts(s, "(missing)"); + } else { + if (core->parents[i].index >= 0) + name = of_clk_get_parent_name(core->of_node, core->parents[i].index); + if (!name) + name = "(missing)"; + + seq_puts(s, name); + } seq_putc(s, terminator); } diff -Nru linux-5.10.197/drivers/clk/imx/Kconfig linux-5.10.205/drivers/clk/imx/Kconfig --- linux-5.10.197/drivers/clk/imx/Kconfig 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/imx/Kconfig 2023-12-20 14:44:42.000000000 +0000 @@ -96,5 +96,6 @@ depends on (ARCH_MXC && ARM64) || COMPILE_TEST depends on IMX_SCU && HAVE_ARM_SMCCC select MXC_CLK_SCU + select MXC_CLK help Build the driver for IMX8QXP SCU based clocks. diff -Nru linux-5.10.197/drivers/clk/imx/clk-imx8mq.c linux-5.10.205/drivers/clk/imx/clk-imx8mq.c --- linux-5.10.197/drivers/clk/imx/clk-imx8mq.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/imx/clk-imx8mq.c 2023-12-20 14:44:42.000000000 +0000 @@ -280,8 +280,7 @@ void __iomem *base; int err; - clk_hw_data = kzalloc(struct_size(clk_hw_data, hws, - IMX8MQ_CLK_END), GFP_KERNEL); + clk_hw_data = devm_kzalloc(dev, struct_size(clk_hw_data, hws, IMX8MQ_CLK_END), GFP_KERNEL); if (WARN_ON(!clk_hw_data)) return -ENOMEM; @@ -298,10 +297,12 @@ hws[IMX8MQ_CLK_EXT4] = imx_obtain_fixed_clk_hw(np, "clk_ext4"); np = of_find_compatible_node(NULL, NULL, "fsl,imx8mq-anatop"); - base = of_iomap(np, 0); + base = devm_of_iomap(dev, np, 0, NULL); of_node_put(np); - if (WARN_ON(!base)) - return -ENOMEM; + if (WARN_ON(IS_ERR(base))) { + err = PTR_ERR(base); + goto unregister_hws; + } hws[IMX8MQ_ARM_PLL_REF_SEL] = imx_clk_hw_mux("arm_pll_ref_sel", base + 0x28, 16, 2, pll_ref_sels, ARRAY_SIZE(pll_ref_sels)); hws[IMX8MQ_GPU_PLL_REF_SEL] = imx_clk_hw_mux("gpu_pll_ref_sel", base + 0x18, 16, 2, pll_ref_sels, ARRAY_SIZE(pll_ref_sels)); @@ -373,8 +374,10 @@ np = dev->of_node; base = devm_platform_ioremap_resource(pdev, 0); - if (WARN_ON(IS_ERR(base))) - return PTR_ERR(base); + if (WARN_ON(IS_ERR(base))) { + err = PTR_ERR(base); + goto unregister_hws; + } /* CORE */ hws[IMX8MQ_CLK_A53_DIV] = imx8m_clk_hw_composite_core("arm_a53_div", imx8mq_a53_sels, base + 0x8000); diff -Nru linux-5.10.197/drivers/clk/imx/clk-pll14xx.c linux-5.10.205/drivers/clk/imx/clk-pll14xx.c --- linux-5.10.197/drivers/clk/imx/clk-pll14xx.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/imx/clk-pll14xx.c 2023-12-20 14:44:42.000000000 +0000 @@ -60,6 +60,8 @@ PLL_1443X_RATE(650000000U, 325, 3, 2, 0), PLL_1443X_RATE(594000000U, 198, 2, 2, 0), PLL_1443X_RATE(519750000U, 173, 2, 2, 16384), + PLL_1443X_RATE(393216000U, 262, 2, 3, 9437), + PLL_1443X_RATE(361267200U, 361, 3, 3, 17511), }; struct imx_pll14xx_clk imx_1443x_pll = { diff -Nru linux-5.10.197/drivers/clk/keystone/pll.c linux-5.10.205/drivers/clk/keystone/pll.c --- linux-5.10.197/drivers/clk/keystone/pll.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/keystone/pll.c 2023-12-20 14:44:42.000000000 +0000 @@ -281,12 +281,13 @@ clk = clk_register_divider(NULL, clk_name, parent_name, 0, reg, shift, mask, 0, NULL); - if (clk) { - of_clk_add_provider(node, of_clk_src_simple_get, clk); - } else { + if (IS_ERR(clk)) { pr_err("%s: error registering divider %s\n", __func__, clk_name); iounmap(reg); + return; } + + of_clk_add_provider(node, of_clk_src_simple_get, clk); } CLK_OF_DECLARE(pll_divider_clock, "ti,keystone,pll-divider-clock", of_pll_div_clk_init); @@ -328,10 +329,12 @@ clk = clk_register_mux(NULL, clk_name, (const char **)&parents, ARRAY_SIZE(parents) , 0, reg, shift, mask, 0, NULL); - if (clk) - of_clk_add_provider(node, of_clk_src_simple_get, clk); - else + if (IS_ERR(clk)) { pr_err("%s: error registering mux %s\n", __func__, clk_name); + return; + } + + of_clk_add_provider(node, of_clk_src_simple_get, clk); } CLK_OF_DECLARE(pll_mux_clock, "ti,keystone,pll-mux-clock", of_pll_mux_clk_init); diff -Nru linux-5.10.197/drivers/clk/mediatek/clk-mt2701.c linux-5.10.205/drivers/clk/mediatek/clk-mt2701.c --- linux-5.10.197/drivers/clk/mediatek/clk-mt2701.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/mediatek/clk-mt2701.c 2023-12-20 14:44:42.000000000 +0000 @@ -675,6 +675,8 @@ return PTR_ERR(base); clk_data = mtk_alloc_clk_data(CLK_TOP_NR); + if (!clk_data) + return -ENOMEM; mtk_clk_register_fixed_clks(top_fixed_clks, ARRAY_SIZE(top_fixed_clks), clk_data); @@ -742,6 +744,8 @@ if (!infra_clk_data) { infra_clk_data = mtk_alloc_clk_data(CLK_INFRA_NR); + if (!infra_clk_data) + return; for (i = 0; i < CLK_INFRA_NR; i++) infra_clk_data->clks[i] = ERR_PTR(-EPROBE_DEFER); @@ -768,6 +772,8 @@ if (!infra_clk_data) { infra_clk_data = mtk_alloc_clk_data(CLK_INFRA_NR); + if (!infra_clk_data) + return -ENOMEM; } else { for (i = 0; i < CLK_INFRA_NR; i++) { if (infra_clk_data->clks[i] == ERR_PTR(-EPROBE_DEFER)) @@ -896,6 +902,8 @@ return PTR_ERR(base); clk_data = mtk_alloc_clk_data(CLK_PERI_NR); + if (!clk_data) + return -ENOMEM; mtk_clk_register_gates(node, peri_clks, ARRAY_SIZE(peri_clks), clk_data); diff -Nru linux-5.10.197/drivers/clk/mediatek/clk-mt6765.c linux-5.10.205/drivers/clk/mediatek/clk-mt6765.c --- linux-5.10.197/drivers/clk/mediatek/clk-mt6765.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/mediatek/clk-mt6765.c 2023-12-20 14:44:42.000000000 +0000 @@ -785,6 +785,8 @@ } clk_data = mtk_alloc_clk_data(CLK_APMIXED_NR_CLK); + if (!clk_data) + return -ENOMEM; mtk_clk_register_plls(node, plls, ARRAY_SIZE(plls), clk_data); @@ -820,6 +822,8 @@ } clk_data = mtk_alloc_clk_data(CLK_TOP_NR_CLK); + if (!clk_data) + return -ENOMEM; mtk_clk_register_fixed_clks(fixed_clks, ARRAY_SIZE(fixed_clks), clk_data); @@ -860,6 +864,8 @@ } clk_data = mtk_alloc_clk_data(CLK_IFR_NR_CLK); + if (!clk_data) + return -ENOMEM; mtk_clk_register_gates(node, ifr_clks, ARRAY_SIZE(ifr_clks), clk_data); diff -Nru linux-5.10.197/drivers/clk/mediatek/clk-mt6779.c linux-5.10.205/drivers/clk/mediatek/clk-mt6779.c --- linux-5.10.197/drivers/clk/mediatek/clk-mt6779.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/mediatek/clk-mt6779.c 2023-12-20 14:44:42.000000000 +0000 @@ -1216,6 +1216,8 @@ struct device_node *node = pdev->dev.of_node; clk_data = mtk_alloc_clk_data(CLK_APMIXED_NR_CLK); + if (!clk_data) + return -ENOMEM; mtk_clk_register_plls(node, plls, ARRAY_SIZE(plls), clk_data); @@ -1236,6 +1238,8 @@ return PTR_ERR(base); clk_data = mtk_alloc_clk_data(CLK_TOP_NR_CLK); + if (!clk_data) + return -ENOMEM; mtk_clk_register_fixed_clks(top_fixed_clks, ARRAY_SIZE(top_fixed_clks), clk_data); diff -Nru linux-5.10.197/drivers/clk/mediatek/clk-mt6797.c linux-5.10.205/drivers/clk/mediatek/clk-mt6797.c --- linux-5.10.197/drivers/clk/mediatek/clk-mt6797.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/mediatek/clk-mt6797.c 2023-12-20 14:44:42.000000000 +0000 @@ -391,6 +391,8 @@ return PTR_ERR(base); clk_data = mtk_alloc_clk_data(CLK_TOP_NR); + if (!clk_data) + return -ENOMEM; mtk_clk_register_factors(top_fixed_divs, ARRAY_SIZE(top_fixed_divs), clk_data); @@ -563,6 +565,8 @@ if (!infra_clk_data) { infra_clk_data = mtk_alloc_clk_data(CLK_INFRA_NR); + if (!infra_clk_data) + return; for (i = 0; i < CLK_INFRA_NR; i++) infra_clk_data->clks[i] = ERR_PTR(-EPROBE_DEFER); @@ -587,6 +591,8 @@ if (!infra_clk_data) { infra_clk_data = mtk_alloc_clk_data(CLK_INFRA_NR); + if (!infra_clk_data) + return -ENOMEM; } else { for (i = 0; i < CLK_INFRA_NR; i++) { if (infra_clk_data->clks[i] == ERR_PTR(-EPROBE_DEFER)) diff -Nru linux-5.10.197/drivers/clk/mediatek/clk-mt7629-eth.c linux-5.10.205/drivers/clk/mediatek/clk-mt7629-eth.c --- linux-5.10.197/drivers/clk/mediatek/clk-mt7629-eth.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/mediatek/clk-mt7629-eth.c 2023-12-20 14:44:42.000000000 +0000 @@ -83,6 +83,8 @@ int r; clk_data = mtk_alloc_clk_data(CLK_ETH_NR_CLK); + if (!clk_data) + return -ENOMEM; mtk_clk_register_gates(node, eth_clks, CLK_ETH_NR_CLK, clk_data); @@ -105,6 +107,8 @@ int r; clk_data = mtk_alloc_clk_data(CLK_SGMII_NR_CLK); + if (!clk_data) + return -ENOMEM; mtk_clk_register_gates(node, sgmii_clks[id++], CLK_SGMII_NR_CLK, clk_data); diff -Nru linux-5.10.197/drivers/clk/mediatek/clk-mt7629.c linux-5.10.205/drivers/clk/mediatek/clk-mt7629.c --- linux-5.10.197/drivers/clk/mediatek/clk-mt7629.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/mediatek/clk-mt7629.c 2023-12-20 14:44:42.000000000 +0000 @@ -580,6 +580,8 @@ return PTR_ERR(base); clk_data = mtk_alloc_clk_data(CLK_TOP_NR_CLK); + if (!clk_data) + return -ENOMEM; mtk_clk_register_fixed_clks(top_fixed_clks, ARRAY_SIZE(top_fixed_clks), clk_data); @@ -603,6 +605,8 @@ struct clk_onecell_data *clk_data; clk_data = mtk_alloc_clk_data(CLK_INFRA_NR_CLK); + if (!clk_data) + return -ENOMEM; mtk_clk_register_gates(node, infra_clks, ARRAY_SIZE(infra_clks), clk_data); @@ -626,6 +630,8 @@ return PTR_ERR(base); clk_data = mtk_alloc_clk_data(CLK_PERI_NR_CLK); + if (!clk_data) + return -ENOMEM; mtk_clk_register_gates(node, peri_clks, ARRAY_SIZE(peri_clks), clk_data); diff -Nru linux-5.10.197/drivers/clk/qcom/Kconfig linux-5.10.205/drivers/clk/qcom/Kconfig --- linux-5.10.197/drivers/clk/qcom/Kconfig 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/qcom/Kconfig 2023-12-20 14:44:42.000000000 +0000 @@ -110,6 +110,7 @@ tristate "IPQ APSS Clock Controller" select IPQ_APSS_PLL depends on QCOM_APCS_IPC || COMPILE_TEST + depends on QCOM_SMEM help Support for APSS clock controller on IPQ platforms. The APSS clock controller manages the Mux and enable block that feeds the diff -Nru linux-5.10.197/drivers/clk/qcom/clk-rcg2.c linux-5.10.205/drivers/clk/qcom/clk-rcg2.c --- linux-5.10.197/drivers/clk/qcom/clk-rcg2.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/qcom/clk-rcg2.c 2023-12-20 14:44:42.000000000 +0000 @@ -147,17 +147,11 @@ static unsigned long calc_rate(unsigned long rate, u32 m, u32 n, u32 mode, u32 hid_div) { - if (hid_div) { - rate *= 2; - rate /= hid_div + 1; - } + if (hid_div) + rate = mult_frac(rate, 2, hid_div + 1); - if (mode) { - u64 tmp = rate; - tmp *= m; - do_div(tmp, n); - rate = tmp; - } + if (mode) + rate = mult_frac(rate, m, n); return rate; } diff -Nru linux-5.10.197/drivers/clk/qcom/gcc-ipq6018.c linux-5.10.205/drivers/clk/qcom/gcc-ipq6018.c --- linux-5.10.197/drivers/clk/qcom/gcc-ipq6018.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/qcom/gcc-ipq6018.c 2023-12-20 14:44:42.000000000 +0000 @@ -75,7 +75,6 @@ &gpll0_main.clkr.hw }, .num_parents = 1, .ops = &clk_fixed_factor_ops, - .flags = CLK_SET_RATE_PARENT, }, }; @@ -89,7 +88,6 @@ &gpll0_main.clkr.hw }, .num_parents = 1, .ops = &clk_alpha_pll_postdiv_ro_ops, - .flags = CLK_SET_RATE_PARENT, }, }; @@ -164,7 +162,6 @@ &gpll6_main.clkr.hw }, .num_parents = 1, .ops = &clk_alpha_pll_postdiv_ro_ops, - .flags = CLK_SET_RATE_PARENT, }, }; @@ -195,7 +192,6 @@ &gpll4_main.clkr.hw }, .num_parents = 1, .ops = &clk_alpha_pll_postdiv_ro_ops, - .flags = CLK_SET_RATE_PARENT, }, }; @@ -246,7 +242,6 @@ &gpll2_main.clkr.hw }, .num_parents = 1, .ops = &clk_alpha_pll_postdiv_ro_ops, - .flags = CLK_SET_RATE_PARENT, }, }; @@ -277,7 +272,6 @@ &nss_crypto_pll_main.clkr.hw }, .num_parents = 1, .ops = &clk_alpha_pll_postdiv_ro_ops, - .flags = CLK_SET_RATE_PARENT, }, }; diff -Nru linux-5.10.197/drivers/clk/qcom/gcc-ipq8074.c linux-5.10.205/drivers/clk/qcom/gcc-ipq8074.c --- linux-5.10.197/drivers/clk/qcom/gcc-ipq8074.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/qcom/gcc-ipq8074.c 2023-12-20 14:44:42.000000000 +0000 @@ -418,7 +418,6 @@ }, .num_parents = 1, .ops = &clk_fixed_factor_ops, - .flags = CLK_SET_RATE_PARENT, }, }; @@ -465,7 +464,6 @@ }, .num_parents = 1, .ops = &clk_alpha_pll_postdiv_ro_ops, - .flags = CLK_SET_RATE_PARENT, }, }; @@ -498,7 +496,6 @@ }, .num_parents = 1, .ops = &clk_alpha_pll_postdiv_ro_ops, - .flags = CLK_SET_RATE_PARENT, }, }; @@ -532,7 +529,6 @@ }, .num_parents = 1, .ops = &clk_alpha_pll_postdiv_ro_ops, - .flags = CLK_SET_RATE_PARENT, }, }; @@ -546,7 +542,6 @@ }, .num_parents = 1, .ops = &clk_fixed_factor_ops, - .flags = CLK_SET_RATE_PARENT, }, }; @@ -611,7 +606,6 @@ }, .num_parents = 1, .ops = &clk_alpha_pll_postdiv_ro_ops, - .flags = CLK_SET_RATE_PARENT, }, }; diff -Nru linux-5.10.197/drivers/clk/qcom/gcc-sm8150.c linux-5.10.205/drivers/clk/qcom/gcc-sm8150.c --- linux-5.10.197/drivers/clk/qcom/gcc-sm8150.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/qcom/gcc-sm8150.c 2023-12-20 14:44:42.000000000 +0000 @@ -241,7 +241,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_cpuss_ahb_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -264,7 +264,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_emac_ptp_clk_src", .parent_data = gcc_parents_5, - .num_parents = 5, + .num_parents = ARRAY_SIZE(gcc_parents_5), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -290,7 +290,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_emac_rgmii_clk_src", .parent_data = gcc_parents_5, - .num_parents = 5, + .num_parents = ARRAY_SIZE(gcc_parents_5), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -314,7 +314,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_gp1_clk_src", .parent_data = gcc_parents_1, - .num_parents = 5, + .num_parents = ARRAY_SIZE(gcc_parents_1), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -329,7 +329,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_gp2_clk_src", .parent_data = gcc_parents_1, - .num_parents = 5, + .num_parents = ARRAY_SIZE(gcc_parents_1), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -344,7 +344,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_gp3_clk_src", .parent_data = gcc_parents_1, - .num_parents = 5, + .num_parents = ARRAY_SIZE(gcc_parents_1), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -365,7 +365,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_pcie_0_aux_clk_src", .parent_data = gcc_parents_2, - .num_parents = 3, + .num_parents = ARRAY_SIZE(gcc_parents_2), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -380,7 +380,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_pcie_1_aux_clk_src", .parent_data = gcc_parents_2, - .num_parents = 3, + .num_parents = ARRAY_SIZE(gcc_parents_2), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -401,7 +401,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_pcie_phy_refgen_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -423,7 +423,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_pdm2_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -446,7 +446,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_qspi_core_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -480,7 +480,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_qupv3_wrap0_s0_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -495,7 +495,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_qupv3_wrap0_s1_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -510,7 +510,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_qupv3_wrap0_s2_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -525,7 +525,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_qupv3_wrap0_s3_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -540,7 +540,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_qupv3_wrap0_s4_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -555,7 +555,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_qupv3_wrap0_s5_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -570,7 +570,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_qupv3_wrap0_s6_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -585,7 +585,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_qupv3_wrap0_s7_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -600,7 +600,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_qupv3_wrap1_s0_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -615,7 +615,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_qupv3_wrap1_s1_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -630,7 +630,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_qupv3_wrap1_s2_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -645,7 +645,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_qupv3_wrap1_s3_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -660,7 +660,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_qupv3_wrap1_s4_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -675,7 +675,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_qupv3_wrap1_s5_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -690,7 +690,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_qupv3_wrap2_s0_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -705,7 +705,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_qupv3_wrap2_s1_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -720,7 +720,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_qupv3_wrap2_s2_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -735,7 +735,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_qupv3_wrap2_s3_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -750,7 +750,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_qupv3_wrap2_s4_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -765,7 +765,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_qupv3_wrap2_s5_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -791,8 +791,8 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_sdcc2_apps_clk_src", .parent_data = gcc_parents_6, - .num_parents = 5, - .flags = CLK_SET_RATE_PARENT, + .num_parents = ARRAY_SIZE(gcc_parents_6), + .flags = CLK_OPS_PARENT_ENABLE, .ops = &clk_rcg2_floor_ops, }, }; @@ -816,7 +816,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_sdcc4_apps_clk_src", .parent_data = gcc_parents_3, - .num_parents = 3, + .num_parents = ARRAY_SIZE(gcc_parents_3), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_floor_ops, }, @@ -836,7 +836,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_tsif_ref_clk_src", .parent_data = gcc_parents_7, - .num_parents = 5, + .num_parents = ARRAY_SIZE(gcc_parents_7), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -860,7 +860,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_ufs_card_axi_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -883,7 +883,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_ufs_card_ice_core_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -903,7 +903,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_ufs_card_phy_aux_clk_src", .parent_data = gcc_parents_4, - .num_parents = 2, + .num_parents = ARRAY_SIZE(gcc_parents_4), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -925,7 +925,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_ufs_card_unipro_core_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -949,7 +949,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_ufs_phy_axi_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -964,7 +964,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_ufs_phy_ice_core_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -979,7 +979,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_ufs_phy_phy_aux_clk_src", .parent_data = gcc_parents_4, - .num_parents = 2, + .num_parents = ARRAY_SIZE(gcc_parents_4), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -994,7 +994,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_ufs_phy_unipro_core_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -1018,7 +1018,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_usb30_prim_master_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -1040,7 +1040,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_usb30_prim_mock_utmi_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -1055,7 +1055,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_usb30_sec_master_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -1070,7 +1070,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_usb30_sec_mock_utmi_clk_src", .parent_data = gcc_parents_0, - .num_parents = 4, + .num_parents = ARRAY_SIZE(gcc_parents_0), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -1085,7 +1085,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_usb3_prim_phy_aux_clk_src", .parent_data = gcc_parents_2, - .num_parents = 3, + .num_parents = ARRAY_SIZE(gcc_parents_2), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, @@ -1100,7 +1100,7 @@ .clkr.hw.init = &(struct clk_init_data){ .name = "gcc_usb3_sec_phy_aux_clk_src", .parent_data = gcc_parents_2, - .num_parents = 3, + .num_parents = ARRAY_SIZE(gcc_parents_2), .flags = CLK_SET_RATE_PARENT, .ops = &clk_rcg2_ops, }, diff -Nru linux-5.10.197/drivers/clk/qcom/mmcc-msm8998.c linux-5.10.205/drivers/clk/qcom/mmcc-msm8998.c --- linux-5.10.197/drivers/clk/qcom/mmcc-msm8998.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/qcom/mmcc-msm8998.c 2023-12-20 14:44:42.000000000 +0000 @@ -1211,6 +1211,8 @@ static struct clk_branch misc_ahb_clk = { .halt_reg = 0x328, + .hwcg_reg = 0x328, + .hwcg_bit = 1, .clkr = { .enable_reg = 0x328, .enable_mask = BIT(0), @@ -1241,6 +1243,8 @@ static struct clk_branch video_ahb_clk = { .halt_reg = 0x1030, + .hwcg_reg = 0x1030, + .hwcg_bit = 1, .clkr = { .enable_reg = 0x1030, .enable_mask = BIT(0), @@ -1315,6 +1319,8 @@ static struct clk_branch mdss_ahb_clk = { .halt_reg = 0x2308, + .hwcg_reg = 0x2308, + .hwcg_bit = 1, .clkr = { .enable_reg = 0x2308, .enable_mask = BIT(0), @@ -2481,6 +2487,7 @@ static struct clk_branch mnoc_ahb_clk = { .halt_reg = 0x5024, + .halt_check = BRANCH_HALT_SKIP, .clkr = { .enable_reg = 0x5024, .enable_mask = BIT(0), @@ -2496,6 +2503,9 @@ static struct clk_branch bimc_smmu_ahb_clk = { .halt_reg = 0xe004, + .halt_check = BRANCH_HALT_SKIP, + .hwcg_reg = 0xe004, + .hwcg_bit = 1, .clkr = { .enable_reg = 0xe004, .enable_mask = BIT(0), @@ -2511,6 +2521,9 @@ static struct clk_branch bimc_smmu_axi_clk = { .halt_reg = 0xe008, + .halt_check = BRANCH_HALT_SKIP, + .hwcg_reg = 0xe008, + .hwcg_bit = 1, .clkr = { .enable_reg = 0xe008, .enable_mask = BIT(0), @@ -2649,11 +2662,13 @@ static struct gdsc bimc_smmu_gdsc = { .gdscr = 0xe020, .gds_hw_ctrl = 0xe024, + .cxcs = (unsigned int []){ 0xe008 }, + .cxc_count = 1, .pd = { .name = "bimc_smmu", }, .pwrsts = PWRSTS_OFF_ON, - .flags = HW_CTRL, + .flags = VOTABLE, }; static struct clk_regmap *mmcc_msm8998_clocks[] = { diff -Nru linux-5.10.197/drivers/clk/tegra/clk-bpmp.c linux-5.10.205/drivers/clk/tegra/clk-bpmp.c --- linux-5.10.197/drivers/clk/tegra/clk-bpmp.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/tegra/clk-bpmp.c 2023-12-20 14:44:42.000000000 +0000 @@ -159,7 +159,7 @@ err = tegra_bpmp_clk_transfer(clk->bpmp, &msg); if (err < 0) - return err; + return 0; return response.rate; } diff -Nru linux-5.10.197/drivers/clk/ti/apll.c linux-5.10.205/drivers/clk/ti/apll.c --- linux-5.10.197/drivers/clk/ti/apll.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/ti/apll.c 2023-12-20 14:44:42.000000000 +0000 @@ -139,6 +139,7 @@ struct clk_hw *hw = user; struct clk_hw_omap *clk_hw = to_clk_hw_omap(hw); struct dpll_data *ad = clk_hw->dpll_data; + const char *name; struct clk *clk; const struct clk_init_data *init = clk_hw->hw.init; @@ -166,7 +167,8 @@ ad->clk_bypass = __clk_get_hw(clk); - clk = ti_clk_register_omap_hw(NULL, &clk_hw->hw, node->name); + name = ti_dt_clk_name(node); + clk = of_ti_clk_register_omap_hw(node, &clk_hw->hw, name); if (!IS_ERR(clk)) { of_clk_add_provider(node, of_clk_src_simple_get, clk); kfree(init->parent_names); @@ -198,7 +200,7 @@ clk_hw->dpll_data = ad; clk_hw->hw.init = init; - init->name = node->name; + init->name = ti_dt_clk_name(node); init->ops = &apll_ck_ops; init->num_parents = of_clk_get_parent_count(node); @@ -347,6 +349,7 @@ struct dpll_data *ad = NULL; struct clk_hw_omap *clk_hw = NULL; struct clk_init_data *init = NULL; + const char *name; struct clk *clk; const char *parent_name; u32 val; @@ -362,7 +365,8 @@ clk_hw->dpll_data = ad; clk_hw->hw.init = init; init->ops = &omap2_apll_ops; - init->name = node->name; + name = ti_dt_clk_name(node); + init->name = name; clk_hw->ops = &omap2_apll_hwops; init->num_parents = of_clk_get_parent_count(node); @@ -403,7 +407,8 @@ if (ret) goto cleanup; - clk = ti_clk_register_omap_hw(NULL, &clk_hw->hw, node->name); + name = ti_dt_clk_name(node); + clk = of_ti_clk_register_omap_hw(node, &clk_hw->hw, name); if (!IS_ERR(clk)) { of_clk_add_provider(node, of_clk_src_simple_get, clk); kfree(init); diff -Nru linux-5.10.197/drivers/clk/ti/autoidle.c linux-5.10.205/drivers/clk/ti/autoidle.c --- linux-5.10.197/drivers/clk/ti/autoidle.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/ti/autoidle.c 2023-12-20 14:44:42.000000000 +0000 @@ -205,7 +205,7 @@ return -ENOMEM; clk->shift = shift; - clk->name = node->name; + clk->name = ti_dt_clk_name(node); ret = ti_clk_get_reg_addr(node, 0, &clk->reg); if (ret) { kfree(clk); diff -Nru linux-5.10.197/drivers/clk/ti/clk-dra7-atl.c linux-5.10.205/drivers/clk/ti/clk-dra7-atl.c --- linux-5.10.197/drivers/clk/ti/clk-dra7-atl.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/ti/clk-dra7-atl.c 2023-12-20 14:44:42.000000000 +0000 @@ -173,6 +173,7 @@ struct dra7_atl_desc *clk_hw = NULL; struct clk_init_data init = { NULL }; const char **parent_names = NULL; + const char *name; struct clk *clk; clk_hw = kzalloc(sizeof(*clk_hw), GFP_KERNEL); @@ -183,7 +184,8 @@ clk_hw->hw.init = &init; clk_hw->divider = 1; - init.name = node->name; + name = ti_dt_clk_name(node); + init.name = name; init.ops = &atl_clk_ops; init.flags = CLK_IGNORE_UNUSED; init.num_parents = of_clk_get_parent_count(node); @@ -203,7 +205,7 @@ init.parent_names = parent_names; - clk = ti_clk_register(NULL, &clk_hw->hw, node->name); + clk = of_ti_clk_register(node, &clk_hw->hw, name); if (!IS_ERR(clk)) { of_clk_add_provider(node, of_clk_src_simple_get, clk); diff -Nru linux-5.10.197/drivers/clk/ti/clk.c linux-5.10.205/drivers/clk/ti/clk.c --- linux-5.10.197/drivers/clk/ti/clk.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/ti/clk.c 2023-12-20 14:44:42.000000000 +0000 @@ -403,6 +403,24 @@ }; /** + * ti_dt_clk_name - init clock name from first output name or node name + * @np: device node + * + * Use the first clock-output-name for the clock name if found. Fall back + * to legacy naming based on node name. + */ +const char *ti_dt_clk_name(struct device_node *np) +{ + const char *name; + + if (!of_property_read_string_index(np, "clock-output-names", 0, + &name)) + return name; + + return np->name; +} + +/** * ti_clk_add_aliases - setup clock aliases * * Sets up any missing clock aliases. No return value. @@ -418,7 +436,7 @@ clkspec.np = np; clk = of_clk_get_from_provider(&clkspec); - ti_clk_add_alias(NULL, clk, np->name); + ti_clk_add_alias(clk, ti_dt_clk_name(np)); } } @@ -471,7 +489,6 @@ /** * ti_clk_add_alias - add a clock alias for a TI clock - * @dev: device alias for this clock * @clk: clock handle to create alias for * @con: connection ID for this clock * @@ -479,7 +496,7 @@ * and assigns the data to it. Returns 0 if successful, negative error * value otherwise. */ -int ti_clk_add_alias(struct device *dev, struct clk *clk, const char *con) +int ti_clk_add_alias(struct clk *clk, const char *con) { struct clk_lookup *cl; @@ -493,8 +510,6 @@ if (!cl) return -ENOMEM; - if (dev) - cl->dev_id = dev_name(dev); cl->con_id = con; cl->clk = clk; @@ -504,8 +519,8 @@ } /** - * ti_clk_register - register a TI clock to the common clock framework - * @dev: device for this clock + * of_ti_clk_register - register a TI clock to the common clock framework + * @node: device node for this clock * @hw: hardware clock handle * @con: connection ID for this clock * @@ -513,17 +528,18 @@ * alias for it. Returns a handle to the registered clock if successful, * ERR_PTR value in failure. */ -struct clk *ti_clk_register(struct device *dev, struct clk_hw *hw, - const char *con) +struct clk *of_ti_clk_register(struct device_node *node, struct clk_hw *hw, + const char *con) { struct clk *clk; int ret; - clk = clk_register(dev, hw); - if (IS_ERR(clk)) - return clk; + ret = of_clk_hw_register(node, hw); + if (ret) + return ERR_PTR(ret); - ret = ti_clk_add_alias(dev, clk, con); + clk = hw->clk; + ret = ti_clk_add_alias(clk, con); if (ret) { clk_unregister(clk); return ERR_PTR(ret); @@ -533,8 +549,8 @@ } /** - * ti_clk_register_omap_hw - register a clk_hw_omap to the clock framework - * @dev: device for this clock + * of_ti_clk_register_omap_hw - register a clk_hw_omap to the clock framework + * @node: device node for this clock * @hw: hardware clock handle * @con: connection ID for this clock * @@ -543,13 +559,13 @@ * Returns a handle to the registered clock if successful, ERR_PTR value * in failure. */ -struct clk *ti_clk_register_omap_hw(struct device *dev, struct clk_hw *hw, - const char *con) +struct clk *of_ti_clk_register_omap_hw(struct device_node *node, + struct clk_hw *hw, const char *con) { struct clk *clk; struct clk_hw_omap *oclk; - clk = ti_clk_register(dev, hw, con); + clk = of_ti_clk_register(node, hw, con); if (IS_ERR(clk)) return clk; diff -Nru linux-5.10.197/drivers/clk/ti/clkctrl.c linux-5.10.205/drivers/clk/ti/clkctrl.c --- linux-5.10.197/drivers/clk/ti/clkctrl.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/ti/clkctrl.c 2023-12-20 14:44:42.000000000 +0000 @@ -317,7 +317,7 @@ init.ops = ops; init.flags = 0; - clk = ti_clk_register(NULL, clk_hw, init.name); + clk = of_ti_clk_register(node, clk_hw, init.name); if (IS_ERR_OR_NULL(clk)) { ret = -EINVAL; goto cleanup; @@ -701,7 +701,7 @@ init.ops = &omap4_clkctrl_clk_ops; hw->hw.init = &init; - clk = ti_clk_register_omap_hw(NULL, &hw->hw, init.name); + clk = of_ti_clk_register_omap_hw(node, &hw->hw, init.name); if (IS_ERR_OR_NULL(clk)) goto cleanup; diff -Nru linux-5.10.197/drivers/clk/ti/clock.h linux-5.10.205/drivers/clk/ti/clock.h --- linux-5.10.197/drivers/clk/ti/clock.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/ti/clock.h 2023-12-20 14:44:42.000000000 +0000 @@ -210,11 +210,12 @@ typedef void (*ti_of_clk_init_cb_t)(void *, struct device_node *); -struct clk *ti_clk_register(struct device *dev, struct clk_hw *hw, - const char *con); -struct clk *ti_clk_register_omap_hw(struct device *dev, struct clk_hw *hw, - const char *con); -int ti_clk_add_alias(struct device *dev, struct clk *clk, const char *con); +struct clk *of_ti_clk_register(struct device_node *node, struct clk_hw *hw, + const char *con); +struct clk *of_ti_clk_register_omap_hw(struct device_node *node, + struct clk_hw *hw, const char *con); +const char *ti_dt_clk_name(struct device_node *np); +int ti_clk_add_alias(struct clk *clk, const char *con); void ti_clk_add_aliases(void); void ti_clk_latch(struct clk_omap_reg *reg, s8 shift); diff -Nru linux-5.10.197/drivers/clk/ti/clockdomain.c linux-5.10.205/drivers/clk/ti/clockdomain.c --- linux-5.10.197/drivers/clk/ti/clockdomain.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/ti/clockdomain.c 2023-12-20 14:44:42.000000000 +0000 @@ -131,7 +131,7 @@ { struct clk *clk; struct clk_hw *clk_hw; - const char *clkdm_name = node->name; + const char *clkdm_name = ti_dt_clk_name(node); int i; unsigned int num_clks; diff -Nru linux-5.10.197/drivers/clk/ti/composite.c linux-5.10.205/drivers/clk/ti/composite.c --- linux-5.10.197/drivers/clk/ti/composite.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/ti/composite.c 2023-12-20 14:44:42.000000000 +0000 @@ -125,6 +125,7 @@ struct component_clk *comp; int num_parents = 0; const char **parent_names = NULL; + const char *name; int i; int ret; @@ -172,7 +173,8 @@ goto cleanup; } - clk = clk_register_composite(NULL, node->name, + name = ti_dt_clk_name(node); + clk = clk_register_composite(NULL, name, parent_names, num_parents, _get_hw(cclk, CLK_COMPONENT_TYPE_MUX), &ti_clk_mux_ops, @@ -182,7 +184,7 @@ &ti_composite_gate_ops, 0); if (!IS_ERR(clk)) { - ret = ti_clk_add_alias(NULL, clk, node->name); + ret = ti_clk_add_alias(clk, name); if (ret) { clk_unregister(clk); goto cleanup; diff -Nru linux-5.10.197/drivers/clk/ti/divider.c linux-5.10.205/drivers/clk/ti/divider.c --- linux-5.10.197/drivers/clk/ti/divider.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/ti/divider.c 2023-12-20 14:44:42.000000000 +0000 @@ -317,13 +317,14 @@ u32 flags, struct clk_omap_divider *div) { - struct clk *clk; struct clk_init_data init; const char *parent_name; + const char *name; parent_name = of_clk_get_parent_name(node, 0); - init.name = node->name; + name = ti_dt_clk_name(node); + init.name = name; init.ops = &ti_clk_divider_ops; init.flags = flags; init.parent_names = (parent_name ? &parent_name : NULL); @@ -332,12 +333,7 @@ div->hw.init = &init; /* register the clock */ - clk = ti_clk_register(NULL, &div->hw, node->name); - - if (IS_ERR(clk)) - kfree(div); - - return clk; + return of_ti_clk_register(node, &div->hw, name); } int ti_clk_parse_divider_data(int *div_table, int num_dividers, int max_div, diff -Nru linux-5.10.197/drivers/clk/ti/dpll.c linux-5.10.205/drivers/clk/ti/dpll.c --- linux-5.10.197/drivers/clk/ti/dpll.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/ti/dpll.c 2023-12-20 14:44:42.000000000 +0000 @@ -164,6 +164,7 @@ struct clk_hw *hw = user; struct clk_hw_omap *clk_hw = to_clk_hw_omap(hw); struct dpll_data *dd = clk_hw->dpll_data; + const char *name; struct clk *clk; const struct clk_init_data *init = hw->init; @@ -193,7 +194,8 @@ dd->clk_bypass = __clk_get_hw(clk); /* register the clock */ - clk = ti_clk_register_omap_hw(NULL, &clk_hw->hw, node->name); + name = ti_dt_clk_name(node); + clk = of_ti_clk_register_omap_hw(node, &clk_hw->hw, name); if (!IS_ERR(clk)) { of_clk_add_provider(node, of_clk_src_simple_get, clk); @@ -227,7 +229,7 @@ struct clk *clk; struct clk_init_data init = { NULL }; struct clk_hw_omap *clk_hw; - const char *name = node->name; + const char *name = ti_dt_clk_name(node); const char *parent_name; parent_name = of_clk_get_parent_name(node, 0); @@ -265,7 +267,7 @@ #endif /* register the clock */ - clk = ti_clk_register_omap_hw(NULL, &clk_hw->hw, name); + clk = of_ti_clk_register_omap_hw(node, &clk_hw->hw, name); if (IS_ERR(clk)) kfree(clk_hw); @@ -302,7 +304,7 @@ clk_hw->ops = &clkhwops_omap3_dpll; clk_hw->hw.init = init; - init->name = node->name; + init->name = ti_dt_clk_name(node); init->ops = ops; init->num_parents = of_clk_get_parent_count(node); diff -Nru linux-5.10.197/drivers/clk/ti/fapll.c linux-5.10.205/drivers/clk/ti/fapll.c --- linux-5.10.197/drivers/clk/ti/fapll.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/ti/fapll.c 2023-12-20 14:44:42.000000000 +0000 @@ -19,6 +19,8 @@ #include #include +#include "clock.h" + /* FAPLL Control Register PLL_CTRL */ #define FAPLL_MAIN_MULT_N_SHIFT 16 #define FAPLL_MAIN_DIV_P_SHIFT 8 @@ -542,6 +544,7 @@ struct clk_init_data *init = NULL; const char *parent_name[2]; struct clk *pll_clk; + const char *name; int i; fd = kzalloc(sizeof(*fd), GFP_KERNEL); @@ -559,7 +562,8 @@ goto free; init->ops = &ti_fapll_ops; - init->name = node->name; + name = ti_dt_clk_name(node); + init->name = name; init->num_parents = of_clk_get_parent_count(node); if (init->num_parents != 2) { @@ -591,7 +595,7 @@ if (fapll_is_ddr_pll(fd->base)) fd->bypass_bit_inverted = true; - fd->name = node->name; + fd->name = name; fd->hw.init = init; /* Register the parent PLL */ @@ -638,8 +642,7 @@ freq = NULL; } synth_clk = ti_fapll_synth_setup(fd, freq, div, output_instance, - output_name, node->name, - pll_clk); + output_name, name, pll_clk); if (IS_ERR(synth_clk)) continue; diff -Nru linux-5.10.197/drivers/clk/ti/fixed-factor.c linux-5.10.205/drivers/clk/ti/fixed-factor.c --- linux-5.10.197/drivers/clk/ti/fixed-factor.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/ti/fixed-factor.c 2023-12-20 14:44:42.000000000 +0000 @@ -36,7 +36,7 @@ static void __init of_ti_fixed_factor_clk_setup(struct device_node *node) { struct clk *clk; - const char *clk_name = node->name; + const char *clk_name = ti_dt_clk_name(node); const char *parent_name; u32 div, mult; u32 flags = 0; @@ -62,7 +62,7 @@ if (!IS_ERR(clk)) { of_clk_add_provider(node, of_clk_src_simple_get, clk); of_ti_clk_autoidle_setup(node); - ti_clk_add_alias(NULL, clk, clk_name); + ti_clk_add_alias(clk, clk_name); } } CLK_OF_DECLARE(ti_fixed_factor_clk, "ti,fixed-factor-clock", diff -Nru linux-5.10.197/drivers/clk/ti/gate.c linux-5.10.205/drivers/clk/ti/gate.c --- linux-5.10.197/drivers/clk/ti/gate.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/ti/gate.c 2023-12-20 14:44:42.000000000 +0000 @@ -93,7 +93,7 @@ return ret; } -static struct clk *_register_gate(struct device *dev, const char *name, +static struct clk *_register_gate(struct device_node *node, const char *name, const char *parent_name, unsigned long flags, struct clk_omap_reg *reg, u8 bit_idx, u8 clk_gate_flags, const struct clk_ops *ops, @@ -123,7 +123,7 @@ init.flags = flags; - clk = ti_clk_register_omap_hw(NULL, &clk_hw->hw, name); + clk = of_ti_clk_register_omap_hw(node, &clk_hw->hw, name); if (IS_ERR(clk)) kfree(clk_hw); @@ -138,6 +138,7 @@ struct clk *clk; const char *parent_name; struct clk_omap_reg reg; + const char *name; u8 enable_bit = 0; u32 val; u32 flags = 0; @@ -164,7 +165,8 @@ if (of_property_read_bool(node, "ti,set-bit-to-disable")) clk_gate_flags |= INVERT_ENABLE; - clk = _register_gate(NULL, node->name, parent_name, flags, ®, + name = ti_dt_clk_name(node); + clk = _register_gate(node, name, parent_name, flags, ®, enable_bit, clk_gate_flags, ops, hw_ops); if (!IS_ERR(clk)) diff -Nru linux-5.10.197/drivers/clk/ti/interface.c linux-5.10.205/drivers/clk/ti/interface.c --- linux-5.10.197/drivers/clk/ti/interface.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/ti/interface.c 2023-12-20 14:44:42.000000000 +0000 @@ -32,7 +32,8 @@ .is_enabled = &omap2_dflt_clk_is_enabled, }; -static struct clk *_register_interface(struct device *dev, const char *name, +static struct clk *_register_interface(struct device_node *node, + const char *name, const char *parent_name, struct clk_omap_reg *reg, u8 bit_idx, const struct clk_hw_omap_ops *ops) @@ -57,7 +58,7 @@ init.num_parents = 1; init.parent_names = &parent_name; - clk = ti_clk_register_omap_hw(NULL, &clk_hw->hw, name); + clk = of_ti_clk_register_omap_hw(node, &clk_hw->hw, name); if (IS_ERR(clk)) kfree(clk_hw); @@ -72,6 +73,7 @@ const char *parent_name; struct clk_omap_reg reg; u8 enable_bit = 0; + const char *name; u32 val; if (ti_clk_get_reg_addr(node, 0, ®)) @@ -86,7 +88,8 @@ return; } - clk = _register_interface(NULL, node->name, parent_name, ®, + name = ti_dt_clk_name(node); + clk = _register_interface(node, name, parent_name, ®, enable_bit, ops); if (!IS_ERR(clk)) diff -Nru linux-5.10.197/drivers/clk/ti/mux.c linux-5.10.205/drivers/clk/ti/mux.c --- linux-5.10.197/drivers/clk/ti/mux.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clk/ti/mux.c 2023-12-20 14:44:42.000000000 +0000 @@ -126,7 +126,7 @@ .restore_context = clk_mux_restore_context, }; -static struct clk *_register_mux(struct device *dev, const char *name, +static struct clk *_register_mux(struct device_node *node, const char *name, const char * const *parent_names, u8 num_parents, unsigned long flags, struct clk_omap_reg *reg, u8 shift, u32 mask, @@ -156,7 +156,7 @@ mux->table = table; mux->hw.init = &init; - clk = ti_clk_register(dev, &mux->hw, name); + clk = of_ti_clk_register(node, &mux->hw, name); if (IS_ERR(clk)) kfree(mux); @@ -176,6 +176,7 @@ struct clk_omap_reg reg; unsigned int num_parents; const char **parent_names; + const char *name; u8 clk_mux_flags = 0; u32 mask = 0; u32 shift = 0; @@ -213,7 +214,8 @@ mask = (1 << fls(mask)) - 1; - clk = _register_mux(NULL, node->name, parent_names, num_parents, + name = ti_dt_clk_name(node); + clk = _register_mux(node, name, parent_names, num_parents, flags, ®, shift, mask, latch, clk_mux_flags, NULL); diff -Nru linux-5.10.197/drivers/clocksource/timer-atmel-tcb.c linux-5.10.205/drivers/clocksource/timer-atmel-tcb.c --- linux-5.10.197/drivers/clocksource/timer-atmel-tcb.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clocksource/timer-atmel-tcb.c 2023-12-20 14:44:42.000000000 +0000 @@ -315,6 +315,7 @@ writel(mck_divisor_idx /* likely divide-by-8 */ | ATMEL_TC_WAVE | ATMEL_TC_WAVESEL_UP /* free-run */ + | ATMEL_TC_ASWTRG_SET /* TIOA0 rises at software trigger */ | ATMEL_TC_ACPA_SET /* TIOA0 rises at 0 */ | ATMEL_TC_ACPC_CLEAR, /* (duty cycle 50%) */ tcaddr + ATMEL_TC_REG(0, CMR)); diff -Nru linux-5.10.197/drivers/clocksource/timer-imx-gpt.c linux-5.10.205/drivers/clocksource/timer-imx-gpt.c --- linux-5.10.197/drivers/clocksource/timer-imx-gpt.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/clocksource/timer-imx-gpt.c 2023-12-20 14:44:42.000000000 +0000 @@ -454,12 +454,16 @@ return -ENOMEM; imxtm->base = of_iomap(np, 0); - if (!imxtm->base) - return -ENXIO; + if (!imxtm->base) { + ret = -ENXIO; + goto err_kfree; + } imxtm->irq = irq_of_parse_and_map(np, 0); - if (imxtm->irq <= 0) - return -EINVAL; + if (imxtm->irq <= 0) { + ret = -EINVAL; + goto err_kfree; + } imxtm->clk_ipg = of_clk_get_by_name(np, "ipg"); @@ -472,11 +476,15 @@ ret = _mxc_timer_init(imxtm); if (ret) - return ret; + goto err_kfree; initialized = 1; return 0; + +err_kfree: + kfree(imxtm); + return ret; } static int __init imx1_timer_init_dt(struct device_node *np) diff -Nru linux-5.10.197/drivers/counter/microchip-tcb-capture.c linux-5.10.205/drivers/counter/microchip-tcb-capture.c --- linux-5.10.197/drivers/counter/microchip-tcb-capture.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/counter/microchip-tcb-capture.c 2023-12-20 14:44:42.000000000 +0000 @@ -111,7 +111,7 @@ priv->qdec_mode = 0; /* Set highest rate based on whether soc has gclk or not */ bmr &= ~(ATMEL_TC_QDEN | ATMEL_TC_POSEN); - if (priv->tc_cfg->has_gclk) + if (!priv->tc_cfg->has_gclk) cmr |= ATMEL_TC_TIMER_CLOCK2; else cmr |= ATMEL_TC_TIMER_CLOCK1; diff -Nru linux-5.10.197/drivers/cpufreq/cpufreq_stats.c linux-5.10.205/drivers/cpufreq/cpufreq_stats.c --- linux-5.10.197/drivers/cpufreq/cpufreq_stats.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/cpufreq/cpufreq_stats.c 2023-12-20 14:44:42.000000000 +0000 @@ -131,25 +131,25 @@ len += scnprintf(buf + len, PAGE_SIZE - len, " From : To\n"); len += scnprintf(buf + len, PAGE_SIZE - len, " : "); for (i = 0; i < stats->state_num; i++) { - if (len >= PAGE_SIZE) + if (len >= PAGE_SIZE - 1) break; len += scnprintf(buf + len, PAGE_SIZE - len, "%9u ", stats->freq_table[i]); } - if (len >= PAGE_SIZE) - return PAGE_SIZE; + if (len >= PAGE_SIZE - 1) + return PAGE_SIZE - 1; len += scnprintf(buf + len, PAGE_SIZE - len, "\n"); for (i = 0; i < stats->state_num; i++) { - if (len >= PAGE_SIZE) + if (len >= PAGE_SIZE - 1) break; len += scnprintf(buf + len, PAGE_SIZE - len, "%9u: ", stats->freq_table[i]); for (j = 0; j < stats->state_num; j++) { - if (len >= PAGE_SIZE) + if (len >= PAGE_SIZE - 1) break; if (pending) @@ -159,12 +159,12 @@ len += scnprintf(buf + len, PAGE_SIZE - len, "%9u ", count); } - if (len >= PAGE_SIZE) + if (len >= PAGE_SIZE - 1) break; len += scnprintf(buf + len, PAGE_SIZE - len, "\n"); } - if (len >= PAGE_SIZE) { + if (len >= PAGE_SIZE - 1) { pr_warn_once("cpufreq transition table exceeds PAGE_SIZE. Disabling\n"); return -EFBIG; } diff -Nru linux-5.10.197/drivers/cpufreq/imx6q-cpufreq.c linux-5.10.205/drivers/cpufreq/imx6q-cpufreq.c --- linux-5.10.197/drivers/cpufreq/imx6q-cpufreq.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/cpufreq/imx6q-cpufreq.c 2023-12-20 14:44:42.000000000 +0000 @@ -209,6 +209,14 @@ .suspend = cpufreq_generic_suspend, }; +static void imx6x_disable_freq_in_opp(struct device *dev, unsigned long freq) +{ + int ret = dev_pm_opp_disable(dev, freq); + + if (ret < 0 && ret != -ENODEV) + dev_warn(dev, "failed to disable %ldMHz OPP\n", freq / 1000000); +} + #define OCOTP_CFG3 0x440 #define OCOTP_CFG3_SPEED_SHIFT 16 #define OCOTP_CFG3_SPEED_1P2GHZ 0x3 @@ -254,17 +262,15 @@ val &= 0x3; if (val < OCOTP_CFG3_SPEED_996MHZ) - if (dev_pm_opp_disable(dev, 996000000)) - dev_warn(dev, "failed to disable 996MHz OPP\n"); + imx6x_disable_freq_in_opp(dev, 996000000); if (of_machine_is_compatible("fsl,imx6q") || of_machine_is_compatible("fsl,imx6qp")) { if (val != OCOTP_CFG3_SPEED_852MHZ) - if (dev_pm_opp_disable(dev, 852000000)) - dev_warn(dev, "failed to disable 852MHz OPP\n"); + imx6x_disable_freq_in_opp(dev, 852000000); + if (val != OCOTP_CFG3_SPEED_1P2GHZ) - if (dev_pm_opp_disable(dev, 1200000000)) - dev_warn(dev, "failed to disable 1.2GHz OPP\n"); + imx6x_disable_freq_in_opp(dev, 1200000000); } return 0; @@ -316,20 +322,16 @@ val >>= OCOTP_CFG3_SPEED_SHIFT; val &= 0x3; - if (of_machine_is_compatible("fsl,imx6ul")) { + if (of_machine_is_compatible("fsl,imx6ul")) if (val != OCOTP_CFG3_6UL_SPEED_696MHZ) - if (dev_pm_opp_disable(dev, 696000000)) - dev_warn(dev, "failed to disable 696MHz OPP\n"); - } + imx6x_disable_freq_in_opp(dev, 696000000); if (of_machine_is_compatible("fsl,imx6ull")) { - if (val != OCOTP_CFG3_6ULL_SPEED_792MHZ) - if (dev_pm_opp_disable(dev, 792000000)) - dev_warn(dev, "failed to disable 792MHz OPP\n"); + if (val < OCOTP_CFG3_6ULL_SPEED_792MHZ) + imx6x_disable_freq_in_opp(dev, 792000000); if (val != OCOTP_CFG3_6ULL_SPEED_900MHZ) - if (dev_pm_opp_disable(dev, 900000000)) - dev_warn(dev, "failed to disable 900MHz OPP\n"); + imx6x_disable_freq_in_opp(dev, 900000000); } return ret; diff -Nru linux-5.10.197/drivers/crypto/caam/caamalg.c linux-5.10.205/drivers/crypto/caam/caamalg.c --- linux-5.10.197/drivers/crypto/caam/caamalg.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/crypto/caam/caamalg.c 2023-12-20 14:44:42.000000000 +0000 @@ -566,7 +566,8 @@ if (keylen != CHACHA_KEY_SIZE + saltlen) return -EINVAL; - ctx->cdata.key_virt = key; + memcpy(ctx->key, key, keylen); + ctx->cdata.key_virt = ctx->key; ctx->cdata.keylen = keylen - saltlen; return chachapoly_set_sh_desc(aead); diff -Nru linux-5.10.197/drivers/crypto/caam/caamalg_qi2.c linux-5.10.205/drivers/crypto/caam/caamalg_qi2.c --- linux-5.10.197/drivers/crypto/caam/caamalg_qi2.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/crypto/caam/caamalg_qi2.c 2023-12-20 14:44:42.000000000 +0000 @@ -636,7 +636,8 @@ if (keylen != CHACHA_KEY_SIZE + saltlen) return -EINVAL; - ctx->cdata.key_virt = key; + memcpy(ctx->key, key, keylen); + ctx->cdata.key_virt = ctx->key; ctx->cdata.keylen = keylen - saltlen; return chachapoly_set_sh_desc(aead); diff -Nru linux-5.10.197/drivers/crypto/hisilicon/hpre/hpre_main.c linux-5.10.205/drivers/crypto/hisilicon/hpre/hpre_main.c --- linux-5.10.197/drivers/crypto/hisilicon/hpre/hpre_main.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/crypto/hisilicon/hpre/hpre_main.c 2023-12-20 14:44:42.000000000 +0000 @@ -637,7 +637,7 @@ for (i = 0; i < HPRE_CLUSTERS_NUM; i++) { ret = snprintf(buf, HPRE_DBGFS_VAL_MAX_LEN, "cluster%d", i); - if (ret < 0) + if (ret >= HPRE_DBGFS_VAL_MAX_LEN) return -EINVAL; tmp_d = debugfs_create_dir(buf, qm->debug.debug_root); diff -Nru linux-5.10.197/drivers/crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.c linux-5.10.205/drivers/crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.c --- linux-5.10.197/drivers/crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.c 2023-12-20 14:44:42.000000000 +0000 @@ -17,15 +17,33 @@ .instances = 0 }; -static u32 get_accel_mask(u32 fuse) +static u32 get_accel_mask(struct adf_hw_device_data *self) { - return (~fuse) >> ADF_C3XXX_ACCELERATORS_REG_OFFSET & - ADF_C3XXX_ACCELERATORS_MASK; + u32 straps = self->straps; + u32 fuses = self->fuses; + u32 accel; + + accel = ~(fuses | straps) >> ADF_C3XXX_ACCELERATORS_REG_OFFSET; + accel &= ADF_C3XXX_ACCELERATORS_MASK; + + return accel; } -static u32 get_ae_mask(u32 fuse) +static u32 get_ae_mask(struct adf_hw_device_data *self) { - return (~fuse) & ADF_C3XXX_ACCELENGINES_MASK; + u32 straps = self->straps; + u32 fuses = self->fuses; + unsigned long disabled; + u32 ae_disable; + int accel; + + /* If an accel is disabled, then disable the corresponding two AEs */ + disabled = ~get_accel_mask(self) & ADF_C3XXX_ACCELERATORS_MASK; + ae_disable = BIT(1) | BIT(0); + for_each_set_bit(accel, &disabled, ADF_C3XXX_MAX_ACCELERATORS) + straps |= ae_disable << (accel << 1); + + return ~(fuses | straps) & ADF_C3XXX_ACCELENGINES_MASK; } static u32 get_num_accels(struct adf_hw_device_data *self) @@ -109,11 +127,13 @@ { struct adf_hw_device_data *hw_device = accel_dev->hw_device; struct adf_bar *misc_bar = &GET_BARS(accel_dev)[ADF_C3XXX_PMISC_BAR]; + unsigned long accel_mask = hw_device->accel_mask; + unsigned long ae_mask = hw_device->ae_mask; void __iomem *csr = misc_bar->virt_addr; unsigned int val, i; /* Enable Accel Engine error detection & correction */ - for (i = 0; i < hw_device->get_num_aes(hw_device); i++) { + for_each_set_bit(i, &ae_mask, GET_MAX_ACCELENGINES(accel_dev)) { val = ADF_CSR_RD(csr, ADF_C3XXX_AE_CTX_ENABLES(i)); val |= ADF_C3XXX_ENABLE_AE_ECC_ERR; ADF_CSR_WR(csr, ADF_C3XXX_AE_CTX_ENABLES(i), val); @@ -123,7 +143,7 @@ } /* Enable shared memory error detection & correction */ - for (i = 0; i < hw_device->get_num_accels(hw_device); i++) { + for_each_set_bit(i, &accel_mask, ADF_C3XXX_MAX_ACCELERATORS) { val = ADF_CSR_RD(csr, ADF_C3XXX_UERRSSMSH(i)); val |= ADF_C3XXX_ERRSSMSH_EN; ADF_CSR_WR(csr, ADF_C3XXX_UERRSSMSH(i), val); diff -Nru linux-5.10.197/drivers/crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.h linux-5.10.205/drivers/crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.h --- linux-5.10.197/drivers/crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/crypto/qat/qat_c3xxx/adf_c3xxx_hw_data.h 2023-12-20 14:44:42.000000000 +0000 @@ -18,6 +18,7 @@ #define ADF_C3XXX_SMIAPF1_MASK_OFFSET (0x3A000 + 0x30) #define ADF_C3XXX_SMIA0_MASK 0xFFFF #define ADF_C3XXX_SMIA1_MASK 0x1 +#define ADF_C3XXX_SOFTSTRAP_CSR_OFFSET 0x2EC /* Error detection and correction */ #define ADF_C3XXX_AE_CTX_ENABLES(i) (i * 0x1000 + 0x20818) #define ADF_C3XXX_AE_MISC_CONTROL(i) (i * 0x1000 + 0x20960) diff -Nru linux-5.10.197/drivers/crypto/qat/qat_c3xxx/adf_drv.c linux-5.10.205/drivers/crypto/qat/qat_c3xxx/adf_drv.c --- linux-5.10.197/drivers/crypto/qat/qat_c3xxx/adf_drv.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/crypto/qat/qat_c3xxx/adf_drv.c 2023-12-20 14:44:42.000000000 +0000 @@ -126,10 +126,12 @@ pci_read_config_byte(pdev, PCI_REVISION_ID, &accel_pci_dev->revid); pci_read_config_dword(pdev, ADF_DEVICE_FUSECTL_OFFSET, &hw_data->fuses); + pci_read_config_dword(pdev, ADF_C3XXX_SOFTSTRAP_CSR_OFFSET, + &hw_data->straps); /* Get Accelerators and Accelerators Engines masks */ - hw_data->accel_mask = hw_data->get_accel_mask(hw_data->fuses); - hw_data->ae_mask = hw_data->get_ae_mask(hw_data->fuses); + hw_data->accel_mask = hw_data->get_accel_mask(hw_data); + hw_data->ae_mask = hw_data->get_ae_mask(hw_data); accel_pci_dev->sku = hw_data->get_sku(hw_data); /* If the device has no acceleration engines then ignore it. */ if (!hw_data->accel_mask || !hw_data->ae_mask || diff -Nru linux-5.10.197/drivers/crypto/qat/qat_c3xxxvf/adf_c3xxxvf_hw_data.c linux-5.10.205/drivers/crypto/qat/qat_c3xxxvf/adf_c3xxxvf_hw_data.c --- linux-5.10.197/drivers/crypto/qat/qat_c3xxxvf/adf_c3xxxvf_hw_data.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/crypto/qat/qat_c3xxxvf/adf_c3xxxvf_hw_data.c 2023-12-20 14:44:42.000000000 +0000 @@ -11,12 +11,12 @@ .instances = 0 }; -static u32 get_accel_mask(u32 fuse) +static u32 get_accel_mask(struct adf_hw_device_data *self) { return ADF_C3XXXIOV_ACCELERATORS_MASK; } -static u32 get_ae_mask(u32 fuse) +static u32 get_ae_mask(struct adf_hw_device_data *self) { return ADF_C3XXXIOV_ACCELENGINES_MASK; } diff -Nru linux-5.10.197/drivers/crypto/qat/qat_c3xxxvf/adf_drv.c linux-5.10.205/drivers/crypto/qat/qat_c3xxxvf/adf_drv.c --- linux-5.10.197/drivers/crypto/qat/qat_c3xxxvf/adf_drv.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/crypto/qat/qat_c3xxxvf/adf_drv.c 2023-12-20 14:44:42.000000000 +0000 @@ -119,8 +119,8 @@ adf_init_hw_data_c3xxxiov(accel_dev->hw_device); /* Get Accelerators and Accelerators Engines masks */ - hw_data->accel_mask = hw_data->get_accel_mask(hw_data->fuses); - hw_data->ae_mask = hw_data->get_ae_mask(hw_data->fuses); + hw_data->accel_mask = hw_data->get_accel_mask(hw_data); + hw_data->ae_mask = hw_data->get_ae_mask(hw_data); accel_pci_dev->sku = hw_data->get_sku(hw_data); /* Create dev top level debugfs entry */ diff -Nru linux-5.10.197/drivers/crypto/qat/qat_c62x/adf_c62x_hw_data.c linux-5.10.205/drivers/crypto/qat/qat_c62x/adf_c62x_hw_data.c --- linux-5.10.197/drivers/crypto/qat/qat_c62x/adf_c62x_hw_data.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/crypto/qat/qat_c62x/adf_c62x_hw_data.c 2023-12-20 14:44:42.000000000 +0000 @@ -22,15 +22,33 @@ .instances = 0 }; -static u32 get_accel_mask(u32 fuse) +static u32 get_accel_mask(struct adf_hw_device_data *self) { - return (~fuse) >> ADF_C62X_ACCELERATORS_REG_OFFSET & - ADF_C62X_ACCELERATORS_MASK; + u32 straps = self->straps; + u32 fuses = self->fuses; + u32 accel; + + accel = ~(fuses | straps) >> ADF_C62X_ACCELERATORS_REG_OFFSET; + accel &= ADF_C62X_ACCELERATORS_MASK; + + return accel; } -static u32 get_ae_mask(u32 fuse) +static u32 get_ae_mask(struct adf_hw_device_data *self) { - return (~fuse) & ADF_C62X_ACCELENGINES_MASK; + u32 straps = self->straps; + u32 fuses = self->fuses; + unsigned long disabled; + u32 ae_disable; + int accel; + + /* If an accel is disabled, then disable the corresponding two AEs */ + disabled = ~get_accel_mask(self) & ADF_C62X_ACCELERATORS_MASK; + ae_disable = BIT(1) | BIT(0); + for_each_set_bit(accel, &disabled, ADF_C62X_MAX_ACCELERATORS) + straps |= ae_disable << (accel << 1); + + return ~(fuses | straps) & ADF_C62X_ACCELENGINES_MASK; } static u32 get_num_accels(struct adf_hw_device_data *self) @@ -119,11 +137,13 @@ { struct adf_hw_device_data *hw_device = accel_dev->hw_device; struct adf_bar *misc_bar = &GET_BARS(accel_dev)[ADF_C62X_PMISC_BAR]; + unsigned long accel_mask = hw_device->accel_mask; + unsigned long ae_mask = hw_device->ae_mask; void __iomem *csr = misc_bar->virt_addr; unsigned int val, i; /* Enable Accel Engine error detection & correction */ - for (i = 0; i < hw_device->get_num_aes(hw_device); i++) { + for_each_set_bit(i, &ae_mask, GET_MAX_ACCELENGINES(accel_dev)) { val = ADF_CSR_RD(csr, ADF_C62X_AE_CTX_ENABLES(i)); val |= ADF_C62X_ENABLE_AE_ECC_ERR; ADF_CSR_WR(csr, ADF_C62X_AE_CTX_ENABLES(i), val); @@ -133,7 +153,7 @@ } /* Enable shared memory error detection & correction */ - for (i = 0; i < hw_device->get_num_accels(hw_device); i++) { + for_each_set_bit(i, &accel_mask, ADF_C62X_MAX_ACCELERATORS) { val = ADF_CSR_RD(csr, ADF_C62X_UERRSSMSH(i)); val |= ADF_C62X_ERRSSMSH_EN; ADF_CSR_WR(csr, ADF_C62X_UERRSSMSH(i), val); diff -Nru linux-5.10.197/drivers/crypto/qat/qat_c62x/adf_c62x_hw_data.h linux-5.10.205/drivers/crypto/qat/qat_c62x/adf_c62x_hw_data.h --- linux-5.10.197/drivers/crypto/qat/qat_c62x/adf_c62x_hw_data.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/crypto/qat/qat_c62x/adf_c62x_hw_data.h 2023-12-20 14:44:42.000000000 +0000 @@ -19,6 +19,7 @@ #define ADF_C62X_SMIAPF1_MASK_OFFSET (0x3A000 + 0x30) #define ADF_C62X_SMIA0_MASK 0xFFFF #define ADF_C62X_SMIA1_MASK 0x1 +#define ADF_C62X_SOFTSTRAP_CSR_OFFSET 0x2EC /* Error detection and correction */ #define ADF_C62X_AE_CTX_ENABLES(i) (i * 0x1000 + 0x20818) #define ADF_C62X_AE_MISC_CONTROL(i) (i * 0x1000 + 0x20960) diff -Nru linux-5.10.197/drivers/crypto/qat/qat_c62x/adf_drv.c linux-5.10.205/drivers/crypto/qat/qat_c62x/adf_drv.c --- linux-5.10.197/drivers/crypto/qat/qat_c62x/adf_drv.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/crypto/qat/qat_c62x/adf_drv.c 2023-12-20 14:44:42.000000000 +0000 @@ -126,10 +126,12 @@ pci_read_config_byte(pdev, PCI_REVISION_ID, &accel_pci_dev->revid); pci_read_config_dword(pdev, ADF_DEVICE_FUSECTL_OFFSET, &hw_data->fuses); + pci_read_config_dword(pdev, ADF_C62X_SOFTSTRAP_CSR_OFFSET, + &hw_data->straps); /* Get Accelerators and Accelerators Engines masks */ - hw_data->accel_mask = hw_data->get_accel_mask(hw_data->fuses); - hw_data->ae_mask = hw_data->get_ae_mask(hw_data->fuses); + hw_data->accel_mask = hw_data->get_accel_mask(hw_data); + hw_data->ae_mask = hw_data->get_ae_mask(hw_data); accel_pci_dev->sku = hw_data->get_sku(hw_data); /* If the device has no acceleration engines then ignore it. */ if (!hw_data->accel_mask || !hw_data->ae_mask || diff -Nru linux-5.10.197/drivers/crypto/qat/qat_c62xvf/adf_c62xvf_hw_data.c linux-5.10.205/drivers/crypto/qat/qat_c62xvf/adf_c62xvf_hw_data.c --- linux-5.10.197/drivers/crypto/qat/qat_c62xvf/adf_c62xvf_hw_data.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/crypto/qat/qat_c62xvf/adf_c62xvf_hw_data.c 2023-12-20 14:44:42.000000000 +0000 @@ -11,12 +11,12 @@ .instances = 0 }; -static u32 get_accel_mask(u32 fuse) +static u32 get_accel_mask(struct adf_hw_device_data *self) { return ADF_C62XIOV_ACCELERATORS_MASK; } -static u32 get_ae_mask(u32 fuse) +static u32 get_ae_mask(struct adf_hw_device_data *self) { return ADF_C62XIOV_ACCELENGINES_MASK; } diff -Nru linux-5.10.197/drivers/crypto/qat/qat_c62xvf/adf_drv.c linux-5.10.205/drivers/crypto/qat/qat_c62xvf/adf_drv.c --- linux-5.10.197/drivers/crypto/qat/qat_c62xvf/adf_drv.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/crypto/qat/qat_c62xvf/adf_drv.c 2023-12-20 14:44:42.000000000 +0000 @@ -119,8 +119,8 @@ adf_init_hw_data_c62xiov(accel_dev->hw_device); /* Get Accelerators and Accelerators Engines masks */ - hw_data->accel_mask = hw_data->get_accel_mask(hw_data->fuses); - hw_data->ae_mask = hw_data->get_ae_mask(hw_data->fuses); + hw_data->accel_mask = hw_data->get_accel_mask(hw_data); + hw_data->ae_mask = hw_data->get_ae_mask(hw_data); accel_pci_dev->sku = hw_data->get_sku(hw_data); /* Create dev top level debugfs entry */ diff -Nru linux-5.10.197/drivers/crypto/qat/qat_common/adf_accel_devices.h linux-5.10.205/drivers/crypto/qat/qat_common/adf_accel_devices.h --- linux-5.10.197/drivers/crypto/qat/qat_common/adf_accel_devices.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/crypto/qat/qat_common/adf_accel_devices.h 2023-12-20 14:44:42.000000000 +0000 @@ -23,7 +23,7 @@ #define ADF_PCI_MAX_BARS 3 #define ADF_DEVICE_NAME_LENGTH 32 #define ADF_ETR_MAX_RINGS_PER_BANK 16 -#define ADF_MAX_MSIX_VECTOR_NAME 16 +#define ADF_MAX_MSIX_VECTOR_NAME 48 #define ADF_DEVICE_NAME_PREFIX "qat_" enum adf_accel_capabilities { @@ -104,8 +104,8 @@ struct adf_hw_device_data { struct adf_hw_device_class *dev_class; - u32 (*get_accel_mask)(u32 fuse); - u32 (*get_ae_mask)(u32 fuse); + u32 (*get_accel_mask)(struct adf_hw_device_data *self); + u32 (*get_ae_mask)(struct adf_hw_device_data *self); u32 (*get_sram_bar_id)(struct adf_hw_device_data *self); u32 (*get_misc_bar_id)(struct adf_hw_device_data *self); u32 (*get_etr_bar_id)(struct adf_hw_device_data *self); @@ -131,6 +131,7 @@ const char *fw_name; const char *fw_mmp_name; u32 fuses; + u32 straps; u32 accel_capabilities_mask; u32 instance_id; u16 accel_mask; diff -Nru linux-5.10.197/drivers/crypto/qat/qat_common/adf_transport_debug.c linux-5.10.205/drivers/crypto/qat/qat_common/adf_transport_debug.c --- linux-5.10.197/drivers/crypto/qat/qat_common/adf_transport_debug.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/crypto/qat/qat_common/adf_transport_debug.c 2023-12-20 14:44:42.000000000 +0000 @@ -89,7 +89,7 @@ int adf_ring_debugfs_add(struct adf_etr_ring_data *ring, const char *name) { struct adf_etr_ring_debug_entry *ring_debug; - char entry_name[8]; + char entry_name[16]; ring_debug = kzalloc(sizeof(*ring_debug), GFP_KERNEL); if (!ring_debug) @@ -184,7 +184,7 @@ { struct adf_accel_dev *accel_dev = bank->accel_dev; struct dentry *parent = accel_dev->transport->debug; - char name[8]; + char name[16]; snprintf(name, sizeof(name), "bank_%02d", bank->bank_number); bank->bank_debug_dir = debugfs_create_dir(name, parent); diff -Nru linux-5.10.197/drivers/crypto/qat/qat_common/qat_hal.c linux-5.10.205/drivers/crypto/qat/qat_common/qat_hal.c --- linux-5.10.197/drivers/crypto/qat/qat_common/qat_hal.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/crypto/qat/qat_common/qat_hal.c 2023-12-20 14:44:42.000000000 +0000 @@ -346,11 +346,12 @@ static int qat_hal_check_ae_alive(struct icp_qat_fw_loader_handle *handle) { + unsigned long ae_mask = handle->hal_handle->ae_mask; unsigned int base_cnt, cur_cnt; unsigned char ae; int times = MAX_RETRY_TIMES; - for (ae = 0; ae < handle->hal_handle->ae_max_num; ae++) { + for_each_set_bit(ae, &ae_mask, handle->hal_handle->ae_max_num) { base_cnt = qat_hal_rd_ae_csr(handle, ae, PROFILE_COUNT); base_cnt &= 0xffff; @@ -384,6 +385,7 @@ static void qat_hal_reset_timestamp(struct icp_qat_fw_loader_handle *handle) { + unsigned long ae_mask = handle->hal_handle->ae_mask; unsigned int misc_ctl; unsigned char ae; @@ -393,7 +395,7 @@ SET_GLB_CSR(handle, MISC_CONTROL, misc_ctl & (~MC_TIMESTAMP_ENABLE)); - for (ae = 0; ae < handle->hal_handle->ae_max_num; ae++) { + for_each_set_bit(ae, &ae_mask, handle->hal_handle->ae_max_num) { qat_hal_wr_ae_csr(handle, ae, TIMESTAMP_LOW, 0); qat_hal_wr_ae_csr(handle, ae, TIMESTAMP_HIGH, 0); } @@ -438,6 +440,7 @@ #define SHRAM_INIT_CYCLES 2060 int qat_hal_clr_reset(struct icp_qat_fw_loader_handle *handle) { + unsigned long ae_mask = handle->hal_handle->ae_mask; unsigned int ae_reset_csr; unsigned char ae; unsigned int clk_csr; @@ -464,7 +467,7 @@ goto out_err; /* Set undefined power-up/reset states to reasonable default values */ - for (ae = 0; ae < handle->hal_handle->ae_max_num; ae++) { + for_each_set_bit(ae, &ae_mask, handle->hal_handle->ae_max_num) { qat_hal_wr_ae_csr(handle, ae, CTX_ENABLES, INIT_CTX_ENABLE_VALUE); qat_hal_wr_indr_csr(handle, ae, ICP_QAT_UCLO_AE_ALL_CTX, @@ -570,10 +573,11 @@ static void qat_hal_clear_xfer(struct icp_qat_fw_loader_handle *handle) { + unsigned long ae_mask = handle->hal_handle->ae_mask; unsigned char ae; unsigned short reg; - for (ae = 0; ae < handle->hal_handle->ae_max_num; ae++) { + for_each_set_bit(ae, &ae_mask, handle->hal_handle->ae_max_num) { for (reg = 0; reg < ICP_QAT_UCLO_MAX_GPR_REG; reg++) { qat_hal_init_rd_xfer(handle, ae, 0, ICP_SR_RD_ABS, reg, 0); @@ -585,6 +589,7 @@ static int qat_hal_clear_gpr(struct icp_qat_fw_loader_handle *handle) { + unsigned long ae_mask = handle->hal_handle->ae_mask; unsigned char ae; unsigned int ctx_mask = ICP_QAT_UCLO_AE_ALL_CTX; int times = MAX_RETRY_TIMES; @@ -592,7 +597,7 @@ unsigned int savctx = 0; int ret = 0; - for (ae = 0; ae < handle->hal_handle->ae_max_num; ae++) { + for_each_set_bit(ae, &ae_mask, handle->hal_handle->ae_max_num) { csr_val = qat_hal_rd_ae_csr(handle, ae, AE_MISC_CONTROL); csr_val &= ~(1 << MMC_SHARE_CS_BITPOS); qat_hal_wr_ae_csr(handle, ae, AE_MISC_CONTROL, csr_val); @@ -613,7 +618,7 @@ qat_hal_wr_ae_csr(handle, ae, CTX_SIG_EVENTS_ACTIVE, 0); qat_hal_enable_ctx(handle, ae, ctx_mask); } - for (ae = 0; ae < handle->hal_handle->ae_max_num; ae++) { + for_each_set_bit(ae, &ae_mask, handle->hal_handle->ae_max_num) { /* wait for AE to finish */ do { ret = qat_hal_wait_cycles(handle, ae, 20, 1); @@ -654,6 +659,8 @@ struct adf_hw_device_data *hw_data = accel_dev->hw_device; struct adf_bar *misc_bar = &pci_info->pci_bars[hw_data->get_misc_bar_id(hw_data)]; + unsigned long ae_mask = hw_data->ae_mask; + unsigned int csr_val = 0; struct adf_bar *sram_bar; handle = kzalloc(sizeof(*handle), GFP_KERNEL); @@ -689,9 +696,7 @@ /* create AE objects */ handle->hal_handle->upc_mask = 0x1ffff; handle->hal_handle->max_ustore = 0x4000; - for (ae = 0; ae < ICP_QAT_UCLO_MAX_AE; ae++) { - if (!(hw_data->ae_mask & (1 << ae))) - continue; + for_each_set_bit(ae, &ae_mask, ICP_QAT_UCLO_MAX_AE) { handle->hal_handle->aes[ae].free_addr = 0; handle->hal_handle->aes[ae].free_size = handle->hal_handle->max_ustore; @@ -714,9 +719,7 @@ } /* Set SIGNATURE_ENABLE[0] to 0x1 in order to enable ALU_OUT csr */ - for (ae = 0; ae < handle->hal_handle->ae_max_num; ae++) { - unsigned int csr_val = 0; - + for_each_set_bit(ae, &ae_mask, handle->hal_handle->ae_max_num) { csr_val = qat_hal_rd_ae_csr(handle, ae, SIGNATURE_ENABLE); csr_val |= 0x1; qat_hal_wr_ae_csr(handle, ae, SIGNATURE_ENABLE, csr_val); diff -Nru linux-5.10.197/drivers/crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.c linux-5.10.205/drivers/crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.c --- linux-5.10.197/drivers/crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.c 2023-12-20 14:44:42.000000000 +0000 @@ -24,15 +24,19 @@ .instances = 0 }; -static u32 get_accel_mask(u32 fuse) +static u32 get_accel_mask(struct adf_hw_device_data *self) { - return (~fuse) >> ADF_DH895XCC_ACCELERATORS_REG_OFFSET & - ADF_DH895XCC_ACCELERATORS_MASK; + u32 fuses = self->fuses; + + return ~fuses >> ADF_DH895XCC_ACCELERATORS_REG_OFFSET & + ADF_DH895XCC_ACCELERATORS_MASK; } -static u32 get_ae_mask(u32 fuse) +static u32 get_ae_mask(struct adf_hw_device_data *self) { - return (~fuse) & ADF_DH895XCC_ACCELENGINES_MASK; + u32 fuses = self->fuses; + + return ~fuses & ADF_DH895XCC_ACCELENGINES_MASK; } static u32 get_num_accels(struct adf_hw_device_data *self) @@ -131,11 +135,13 @@ { struct adf_hw_device_data *hw_device = accel_dev->hw_device; struct adf_bar *misc_bar = &GET_BARS(accel_dev)[ADF_DH895XCC_PMISC_BAR]; + unsigned long accel_mask = hw_device->accel_mask; + unsigned long ae_mask = hw_device->ae_mask; void __iomem *csr = misc_bar->virt_addr; unsigned int val, i; /* Enable Accel Engine error detection & correction */ - for (i = 0; i < hw_device->get_num_aes(hw_device); i++) { + for_each_set_bit(i, &ae_mask, GET_MAX_ACCELENGINES(accel_dev)) { val = ADF_CSR_RD(csr, ADF_DH895XCC_AE_CTX_ENABLES(i)); val |= ADF_DH895XCC_ENABLE_AE_ECC_ERR; ADF_CSR_WR(csr, ADF_DH895XCC_AE_CTX_ENABLES(i), val); @@ -145,7 +151,7 @@ } /* Enable shared memory error detection & correction */ - for (i = 0; i < hw_device->get_num_accels(hw_device); i++) { + for_each_set_bit(i, &accel_mask, ADF_DH895XCC_MAX_ACCELERATORS) { val = ADF_CSR_RD(csr, ADF_DH895XCC_UERRSSMSH(i)); val |= ADF_DH895XCC_ERRSSMSH_EN; ADF_CSR_WR(csr, ADF_DH895XCC_UERRSSMSH(i), val); diff -Nru linux-5.10.197/drivers/crypto/qat/qat_dh895xcc/adf_drv.c linux-5.10.205/drivers/crypto/qat/qat_dh895xcc/adf_drv.c --- linux-5.10.197/drivers/crypto/qat/qat_dh895xcc/adf_drv.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/crypto/qat/qat_dh895xcc/adf_drv.c 2023-12-20 14:44:42.000000000 +0000 @@ -128,8 +128,8 @@ &hw_data->fuses); /* Get Accelerators and Accelerators Engines masks */ - hw_data->accel_mask = hw_data->get_accel_mask(hw_data->fuses); - hw_data->ae_mask = hw_data->get_ae_mask(hw_data->fuses); + hw_data->accel_mask = hw_data->get_accel_mask(hw_data); + hw_data->ae_mask = hw_data->get_ae_mask(hw_data); accel_pci_dev->sku = hw_data->get_sku(hw_data); /* If the device has no acceleration engines then ignore it. */ if (!hw_data->accel_mask || !hw_data->ae_mask || diff -Nru linux-5.10.197/drivers/crypto/qat/qat_dh895xccvf/adf_dh895xccvf_hw_data.c linux-5.10.205/drivers/crypto/qat/qat_dh895xccvf/adf_dh895xccvf_hw_data.c --- linux-5.10.197/drivers/crypto/qat/qat_dh895xccvf/adf_dh895xccvf_hw_data.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/crypto/qat/qat_dh895xccvf/adf_dh895xccvf_hw_data.c 2023-12-20 14:44:42.000000000 +0000 @@ -11,12 +11,12 @@ .instances = 0 }; -static u32 get_accel_mask(u32 fuse) +static u32 get_accel_mask(struct adf_hw_device_data *self) { return ADF_DH895XCCIOV_ACCELERATORS_MASK; } -static u32 get_ae_mask(u32 fuse) +static u32 get_ae_mask(struct adf_hw_device_data *self) { return ADF_DH895XCCIOV_ACCELENGINES_MASK; } diff -Nru linux-5.10.197/drivers/crypto/qat/qat_dh895xccvf/adf_drv.c linux-5.10.205/drivers/crypto/qat/qat_dh895xccvf/adf_drv.c --- linux-5.10.197/drivers/crypto/qat/qat_dh895xccvf/adf_drv.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/crypto/qat/qat_dh895xccvf/adf_drv.c 2023-12-20 14:44:42.000000000 +0000 @@ -119,8 +119,8 @@ adf_init_hw_data_dh895xcciov(accel_dev->hw_device); /* Get Accelerators and Accelerators Engines masks */ - hw_data->accel_mask = hw_data->get_accel_mask(hw_data->fuses); - hw_data->ae_mask = hw_data->get_ae_mask(hw_data->fuses); + hw_data->accel_mask = hw_data->get_accel_mask(hw_data); + hw_data->ae_mask = hw_data->get_ae_mask(hw_data); accel_pci_dev->sku = hw_data->get_sku(hw_data); /* Create dev top level debugfs entry */ diff -Nru linux-5.10.197/drivers/devfreq/event/rockchip-dfi.c linux-5.10.205/drivers/devfreq/event/rockchip-dfi.c --- linux-5.10.197/drivers/devfreq/event/rockchip-dfi.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/devfreq/event/rockchip-dfi.c 2023-12-20 14:44:42.000000000 +0000 @@ -194,14 +194,15 @@ return PTR_ERR(data->clk); } - /* try to find the optional reference to the pmu syscon */ node = of_parse_phandle(np, "rockchip,pmu", 0); - if (node) { - data->regmap_pmu = syscon_node_to_regmap(node); - of_node_put(node); - if (IS_ERR(data->regmap_pmu)) - return PTR_ERR(data->regmap_pmu); - } + if (!node) + return dev_err_probe(&pdev->dev, -ENODEV, "Can't find pmu_grf registers\n"); + + data->regmap_pmu = syscon_node_to_regmap(node); + of_node_put(node); + if (IS_ERR(data->regmap_pmu)) + return PTR_ERR(data->regmap_pmu); + data->dev = dev; desc = devm_kzalloc(dev, sizeof(*desc), GFP_KERNEL); diff -Nru linux-5.10.197/drivers/dma/mediatek/mtk-uart-apdma.c linux-5.10.205/drivers/dma/mediatek/mtk-uart-apdma.c --- linux-5.10.197/drivers/dma/mediatek/mtk-uart-apdma.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/dma/mediatek/mtk-uart-apdma.c 2023-12-20 14:44:42.000000000 +0000 @@ -451,9 +451,8 @@ mtk_uart_apdma_write(c, VFF_EN, VFF_EN_CLR_B); mtk_uart_apdma_write(c, VFF_INT_EN, VFF_INT_EN_CLR_B); - synchronize_irq(c->irq); - spin_unlock_irqrestore(&c->vc.lock, flags); + synchronize_irq(c->irq); return 0; } diff -Nru linux-5.10.197/drivers/dma/pxa_dma.c linux-5.10.205/drivers/dma/pxa_dma.c --- linux-5.10.197/drivers/dma/pxa_dma.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/dma/pxa_dma.c 2023-12-20 14:44:42.000000000 +0000 @@ -723,7 +723,6 @@ dma_addr_t dma; struct pxad_desc_sw *sw_desc = to_pxad_sw_desc(vd); - BUG_ON(sw_desc->nb_desc == 0); for (i = sw_desc->nb_desc - 1; i >= 0; i--) { if (i > 0) dma = sw_desc->hw_desc[i - 1]->ddadr; diff -Nru linux-5.10.197/drivers/dma/ste_dma40.c linux-5.10.205/drivers/dma/ste_dma40.c --- linux-5.10.197/drivers/dma/ste_dma40.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/dma/ste_dma40.c 2023-12-20 14:44:42.000000000 +0000 @@ -3698,6 +3698,7 @@ regulator_disable(base->lcpa_regulator); regulator_put(base->lcpa_regulator); } + pm_runtime_disable(base->dev); kfree(base->lcla_pool.alloc_map); kfree(base->lookup_log_chans); diff -Nru linux-5.10.197/drivers/dma/stm32-mdma.c linux-5.10.205/drivers/dma/stm32-mdma.c --- linux-5.10.197/drivers/dma/stm32-mdma.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/dma/stm32-mdma.c 2023-12-20 14:44:42.000000000 +0000 @@ -509,7 +509,7 @@ src_maxburst = chan->dma_config.src_maxburst; dst_maxburst = chan->dma_config.dst_maxburst; - ccr = stm32_mdma_read(dmadev, STM32_MDMA_CCR(chan->id)); + ccr = stm32_mdma_read(dmadev, STM32_MDMA_CCR(chan->id)) & ~STM32_MDMA_CCR_EN; ctcr = stm32_mdma_read(dmadev, STM32_MDMA_CTCR(chan->id)); ctbr = stm32_mdma_read(dmadev, STM32_MDMA_CTBR(chan->id)); @@ -937,7 +937,7 @@ if (!desc) return NULL; - ccr = stm32_mdma_read(dmadev, STM32_MDMA_CCR(chan->id)); + ccr = stm32_mdma_read(dmadev, STM32_MDMA_CCR(chan->id)) & ~STM32_MDMA_CCR_EN; ctcr = stm32_mdma_read(dmadev, STM32_MDMA_CTCR(chan->id)); ctbr = stm32_mdma_read(dmadev, STM32_MDMA_CTBR(chan->id)); cbndtr = stm32_mdma_read(dmadev, STM32_MDMA_CBNDTR(chan->id)); @@ -1206,6 +1206,10 @@ unsigned long flags; u32 status, reg; + /* Transfer can be terminated */ + if (!chan->desc || (stm32_mdma_read(dmadev, STM32_MDMA_CCR(chan->id)) & STM32_MDMA_CCR_EN)) + return -EPERM; + hwdesc = chan->desc->node[chan->curr_hwdesc].hwdesc; spin_lock_irqsave(&chan->vchan.lock, flags); diff -Nru linux-5.10.197/drivers/dma/ti/edma.c linux-5.10.205/drivers/dma/ti/edma.c --- linux-5.10.197/drivers/dma/ti/edma.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/dma/ti/edma.c 2023-12-20 14:44:42.000000000 +0000 @@ -2459,7 +2459,7 @@ if (irq < 0 && node) irq = irq_of_parse_and_map(node, 0); - if (irq >= 0) { + if (irq > 0) { irq_name = devm_kasprintf(dev, GFP_KERNEL, "%s_ccint", dev_name(dev)); ret = devm_request_irq(dev, irq, dma_irq_handler, 0, irq_name, @@ -2475,7 +2475,7 @@ if (irq < 0 && node) irq = irq_of_parse_and_map(node, 2); - if (irq >= 0) { + if (irq > 0) { irq_name = devm_kasprintf(dev, GFP_KERNEL, "%s_ccerrint", dev_name(dev)); ret = devm_request_irq(dev, irq, dma_ccerr_handler, 0, irq_name, diff -Nru linux-5.10.197/drivers/firewire/core-device.c linux-5.10.205/drivers/firewire/core-device.c --- linux-5.10.197/drivers/firewire/core-device.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/firewire/core-device.c 2023-12-20 14:44:42.000000000 +0000 @@ -719,14 +719,11 @@ fw_unit_attributes, &unit->attribute_group); - if (device_register(&unit->device) < 0) - goto skip_unit; - fw_device_get(device); - continue; - - skip_unit: - kfree(unit); + if (device_register(&unit->device) < 0) { + put_device(&unit->device); + continue; + } } } diff -Nru linux-5.10.197/drivers/firmware/qcom_scm.c linux-5.10.205/drivers/firmware/qcom_scm.c --- linux-5.10.197/drivers/firmware/qcom_scm.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/firmware/qcom_scm.c 2023-12-20 14:44:42.000000000 +0000 @@ -137,6 +137,12 @@ return qcom_scm_convention; /* + * Per the "SMC calling convention specification", the 64-bit calling + * convention can only be used when the client is 64-bit, otherwise + * system will encounter the undefined behaviour. + */ +#if IS_ENABLED(CONFIG_ARM64) + /* * Device isn't required as there is only one argument - no device * needed to dma_map_single to secure world */ @@ -156,6 +162,7 @@ forced = true; goto found; } +#endif probed_convention = SMC_CONVENTION_ARM_32; ret = __scm_smc_call(NULL, &desc, probed_convention, &res, true); diff -Nru linux-5.10.197/drivers/firmware/ti_sci.c linux-5.10.205/drivers/firmware/ti_sci.c --- linux-5.10.197/drivers/firmware/ti_sci.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/firmware/ti_sci.c 2023-12-20 14:44:42.000000000 +0000 @@ -190,19 +190,6 @@ return 0; } -/** - * ti_sci_debugfs_destroy() - clean up log debug file - * @pdev: platform device pointer - * @info: Pointer to SCI entity information - */ -static void ti_sci_debugfs_destroy(struct platform_device *pdev, - struct ti_sci_info *info) -{ - if (IS_ERR(info->debug_region)) - return; - - debugfs_remove(info->d); -} #else /* CONFIG_DEBUG_FS */ static inline int ti_sci_debugfs_create(struct platform_device *dev, struct ti_sci_info *info) @@ -3510,43 +3497,12 @@ return ret; } -static int ti_sci_remove(struct platform_device *pdev) -{ - struct ti_sci_info *info; - struct device *dev = &pdev->dev; - int ret = 0; - - of_platform_depopulate(dev); - - info = platform_get_drvdata(pdev); - - if (info->nb.notifier_call) - unregister_restart_handler(&info->nb); - - mutex_lock(&ti_sci_list_mutex); - if (info->users) - ret = -EBUSY; - else - list_del(&info->node); - mutex_unlock(&ti_sci_list_mutex); - - if (!ret) { - ti_sci_debugfs_destroy(pdev, info); - - /* Safe to free channels since no more users */ - mbox_free_channel(info->chan_tx); - mbox_free_channel(info->chan_rx); - } - - return ret; -} - static struct platform_driver ti_sci_driver = { .probe = ti_sci_probe, - .remove = ti_sci_remove, .driver = { .name = "ti-sci", .of_match_table = of_match_ptr(ti_sci_of_match), + .suppress_bind_attrs = true, }, }; module_platform_driver(ti_sci_driver); diff -Nru linux-5.10.197/drivers/gpio/gpio-aspeed.c linux-5.10.205/drivers/gpio/gpio-aspeed.c --- linux-5.10.197/drivers/gpio/gpio-aspeed.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpio/gpio-aspeed.c 2023-12-20 14:44:42.000000000 +0000 @@ -966,7 +966,7 @@ else if (param == PIN_CONFIG_BIAS_DISABLE || param == PIN_CONFIG_BIAS_PULL_DOWN || param == PIN_CONFIG_DRIVE_STRENGTH) - return pinctrl_gpio_set_config(offset, config); + return pinctrl_gpio_set_config(chip->base + offset, config); else if (param == PIN_CONFIG_DRIVE_OPEN_DRAIN || param == PIN_CONFIG_DRIVE_OPEN_SOURCE) /* Return -ENOTSUPP to trigger emulation, as per datasheet */ diff -Nru linux-5.10.197/drivers/gpio/gpio-pmic-eic-sprd.c linux-5.10.205/drivers/gpio/gpio-pmic-eic-sprd.c --- linux-5.10.197/drivers/gpio/gpio-pmic-eic-sprd.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpio/gpio-pmic-eic-sprd.c 2023-12-20 14:44:42.000000000 +0000 @@ -338,6 +338,7 @@ pmic_eic->chip.set_config = sprd_pmic_eic_set_config; pmic_eic->chip.set = sprd_pmic_eic_set; pmic_eic->chip.get = sprd_pmic_eic_get; + pmic_eic->chip.can_sleep = true; pmic_eic->intc.name = dev_name(&pdev->dev); pmic_eic->intc.irq_mask = sprd_pmic_eic_irq_mask; diff -Nru linux-5.10.197/drivers/gpio/gpio-pxa.c linux-5.10.205/drivers/gpio/gpio-pxa.c --- linux-5.10.197/drivers/gpio/gpio-pxa.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpio/gpio-pxa.c 2023-12-20 14:44:42.000000000 +0000 @@ -243,6 +243,7 @@ switch (gpio_type) { case PXA3XX_GPIO: case MMP2_GPIO: + case MMP_GPIO: return false; default: diff -Nru linux-5.10.197/drivers/gpio/gpio-tb10x.c linux-5.10.205/drivers/gpio/gpio-tb10x.c --- linux-5.10.197/drivers/gpio/gpio-tb10x.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpio/gpio-tb10x.c 2023-12-20 14:44:42.000000000 +0000 @@ -195,7 +195,7 @@ handle_edge_irq, IRQ_NOREQUEST, IRQ_NOPROBE, IRQ_GC_INIT_MASK_CACHE); if (ret) - return ret; + goto err_remove_domain; gc = tb10x_gpio->domain->gc->gc[0]; gc->reg_base = tb10x_gpio->base; @@ -209,6 +209,10 @@ } return 0; + +err_remove_domain: + irq_domain_remove(tb10x_gpio->domain); + return ret; } static int tb10x_gpio_remove(struct platform_device *pdev) diff -Nru linux-5.10.197/drivers/gpio/gpio-timberdale.c linux-5.10.205/drivers/gpio/gpio-timberdale.c --- linux-5.10.197/drivers/gpio/gpio-timberdale.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpio/gpio-timberdale.c 2023-12-20 14:44:42.000000000 +0000 @@ -43,9 +43,10 @@ unsigned offset, bool enabled) { struct timbgpio *tgpio = gpiochip_get_data(gpio); + unsigned long flags; u32 reg; - spin_lock(&tgpio->lock); + spin_lock_irqsave(&tgpio->lock, flags); reg = ioread32(tgpio->membase + offset); if (enabled) @@ -54,7 +55,7 @@ reg &= ~(1 << index); iowrite32(reg, tgpio->membase + offset); - spin_unlock(&tgpio->lock); + spin_unlock_irqrestore(&tgpio->lock, flags); return 0; } diff -Nru linux-5.10.197/drivers/gpio/gpio-vf610.c linux-5.10.205/drivers/gpio/gpio-vf610.c --- linux-5.10.197/drivers/gpio/gpio-vf610.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpio/gpio-vf610.c 2023-12-20 14:44:42.000000000 +0000 @@ -127,14 +127,14 @@ unsigned long mask = BIT(gpio); u32 val; + vf610_gpio_set(chip, gpio, value); + if (port->sdata && port->sdata->have_paddr) { val = vf610_gpio_readl(port->gpio_base + GPIO_PDDR); val |= mask; vf610_gpio_writel(val, port->gpio_base + GPIO_PDDR); } - vf610_gpio_set(chip, gpio, value); - return pinctrl_gpio_direction_output(chip->base + gpio); } diff -Nru linux-5.10.197/drivers/gpio/gpiolib-sysfs.c linux-5.10.205/drivers/gpio/gpiolib-sysfs.c --- linux-5.10.197/drivers/gpio/gpiolib-sysfs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpio/gpiolib-sysfs.c 2023-12-20 14:44:42.000000000 +0000 @@ -491,14 +491,17 @@ } status = gpiod_set_transitory(desc, false); - if (!status) { - status = gpiod_export(desc, true); - if (status < 0) - gpiod_free(desc); - else - set_bit(FLAG_SYSFS, &desc->flags); + if (status) { + gpiod_free(desc); + goto done; } + status = gpiod_export(desc, true); + if (status < 0) + gpiod_free(desc); + else + set_bit(FLAG_SYSFS, &desc->flags); + done: if (status) pr_debug("%s: status %d\n", __func__, status); diff -Nru linux-5.10.197/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c linux-5.10.205/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c --- linux-5.10.197/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c 2023-12-20 14:44:42.000000000 +0000 @@ -29,6 +29,7 @@ #include "amdgpu.h" #include "atom.h" +#include #include #include #include @@ -285,6 +286,10 @@ if (adev->flags & AMD_IS_APU) return false; + /* ATRM is for on-platform devices only */ + if (dev_is_removable(&adev->pdev->dev)) + return false; + while ((pdev = pci_get_class(PCI_CLASS_DISPLAY_VGA << 8, pdev)) != NULL) { dhandle = ACPI_HANDLE(&pdev->dev); if (!dhandle) diff -Nru linux-5.10.197/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c linux-5.10.205/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c --- linux-5.10.197/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c 2023-12-20 14:44:42.000000000 +0000 @@ -178,6 +178,7 @@ } rcu_read_unlock(); + *result = NULL; return -ENOENT; } diff -Nru linux-5.10.197/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c linux-5.10.205/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c --- linux-5.10.197/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 2023-12-20 14:44:42.000000000 +0000 @@ -143,7 +143,7 @@ } for (i = 0; i < p->nchunks; i++) { - struct drm_amdgpu_cs_chunk __user **chunk_ptr = NULL; + struct drm_amdgpu_cs_chunk __user *chunk_ptr = NULL; struct drm_amdgpu_cs_chunk user_chunk; uint32_t __user *cdata; diff -Nru linux-5.10.197/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c linux-5.10.205/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c --- linux-5.10.197/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c 2023-12-20 14:44:42.000000000 +0000 @@ -575,6 +575,9 @@ ssize_t result = 0; int r; + if (!adev->smc_rreg) + return -EPERM; + if (size & 0x3 || *pos & 0x3) return -EINVAL; @@ -634,6 +637,9 @@ ssize_t result = 0; int r; + if (!adev->smc_wreg) + return -EPERM; + if (size & 0x3 || *pos & 0x3) return -EINVAL; diff -Nru linux-5.10.197/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c linux-5.10.205/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c --- linux-5.10.197/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 2023-12-20 14:44:42.000000000 +0000 @@ -4530,7 +4530,8 @@ * Flush RAM to disk so that after reboot * the user can read log and see why the system rebooted. */ - if (need_emergency_restart && amdgpu_ras_get_context(adev)->reboot) { + if (need_emergency_restart && amdgpu_ras_get_context(adev) && + amdgpu_ras_get_context(adev)->reboot) { DRM_WARN("Emergency reboot."); ksys_sync_helper(); diff -Nru linux-5.10.197/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c linux-5.10.205/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c --- linux-5.10.197/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c 2023-12-20 14:44:42.000000000 +0000 @@ -299,13 +299,11 @@ adev->have_disp_power_ref = true; return ret; } - /* if we have no active crtcs, then drop the power ref - we got before */ - if (!active && adev->have_disp_power_ref) { - pm_runtime_put_autosuspend(dev->dev); + /* if we have no active crtcs, then go to + * drop the power ref we got before + */ + if (!active && adev->have_disp_power_ref) adev->have_disp_power_ref = false; - } - out: /* drop the power reference we got coming in here */ pm_runtime_put_autosuspend(dev->dev); diff -Nru linux-5.10.197/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c linux-5.10.205/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c --- linux-5.10.197/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c 2023-12-20 14:44:42.000000000 +0000 @@ -1031,7 +1031,8 @@ { struct amdgpu_ras *con = amdgpu_ras_get_context(adev); - sysfs_remove_file_from_group(&adev->dev->kobj, + if (adev->dev->kobj.sd) + sysfs_remove_file_from_group(&adev->dev->kobj, &con->badpages_attr.attr, RAS_FS_NAME); } @@ -1048,7 +1049,8 @@ .attrs = attrs, }; - sysfs_remove_group(&adev->dev->kobj, &group); + if (adev->dev->kobj.sd) + sysfs_remove_group(&adev->dev->kobj, &group); return 0; } @@ -1096,7 +1098,8 @@ if (!obj || !obj->attr_inuse) return -EINVAL; - sysfs_remove_file_from_group(&adev->dev->kobj, + if (adev->dev->kobj.sd) + sysfs_remove_file_from_group(&adev->dev->kobj, &obj->sysfs_attr.attr, RAS_FS_NAME); obj->attr_inuse = 0; diff -Nru linux-5.10.197/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c linux-5.10.205/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c --- linux-5.10.197/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c 2023-12-20 14:44:42.000000000 +0000 @@ -1293,7 +1293,7 @@ struct dmub_srv_create_params create_params; struct dmub_srv_region_params region_params; struct dmub_srv_region_info region_info; - struct dmub_srv_fb_params fb_params; + struct dmub_srv_memory_params memory_params; struct dmub_srv_fb_info *fb_info; struct dmub_srv *dmub_srv; const struct dmcub_firmware_header_v1_0 *hdr; @@ -1389,6 +1389,7 @@ adev->dm.dmub_fw->data + le32_to_cpu(hdr->header.ucode_array_offset_bytes) + PSP_HEADER_BYTES; + region_params.is_mailbox_in_inbox = false; status = dmub_srv_calc_region_info(dmub_srv, ®ion_params, ®ion_info); @@ -1410,10 +1411,10 @@ return r; /* Rebase the regions on the framebuffer address. */ - memset(&fb_params, 0, sizeof(fb_params)); - fb_params.cpu_addr = adev->dm.dmub_bo_cpu_addr; - fb_params.gpu_addr = adev->dm.dmub_bo_gpu_addr; - fb_params.region_info = ®ion_info; + memset(&memory_params, 0, sizeof(memory_params)); + memory_params.cpu_fb_addr = adev->dm.dmub_bo_cpu_addr; + memory_params.gpu_fb_addr = adev->dm.dmub_bo_gpu_addr; + memory_params.region_info = ®ion_info; adev->dm.dmub_fb_info = kzalloc(sizeof(*adev->dm.dmub_fb_info), GFP_KERNEL); @@ -1425,7 +1426,7 @@ return -ENOMEM; } - status = dmub_srv_calc_fb_info(dmub_srv, &fb_params, fb_info); + status = dmub_srv_calc_mem_info(dmub_srv, &memory_params, fb_info); if (status != DMUB_STATUS_OK) { DRM_ERROR("Error calculating DMUB FB info: %d\n", status); return -EINVAL; diff -Nru linux-5.10.197/drivers/gpu/drm/amd/display/dc/core/dc.c linux-5.10.205/drivers/gpu/drm/amd/display/dc/core/dc.c --- linux-5.10.197/drivers/gpu/drm/amd/display/dc/core/dc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/amd/display/dc/core/dc.c 2023-12-20 14:44:42.000000000 +0000 @@ -862,12 +862,19 @@ if (stream == NULL) continue; + if (stream->apply_seamless_boot_optimization) + continue; + + // only looking for first odm pipe + if (pipe->prev_odm_pipe) + continue; + if (stream->link->local_sink && stream->link->local_sink->sink_signal == SIGNAL_TYPE_EDP) { link = stream->link; } - if (link != NULL) { + if (link != NULL && link->link_enc->funcs->is_dig_enabled(link->link_enc)) { unsigned int enc_inst, tg_inst = 0; unsigned int pix_clk_100hz; diff -Nru linux-5.10.197/drivers/gpu/drm/amd/display/dc/core/dc_stream.c linux-5.10.205/drivers/gpu/drm/amd/display/dc/core/dc_stream.c --- linux-5.10.197/drivers/gpu/drm/amd/display/dc/core/dc_stream.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/amd/display/dc/core/dc_stream.c 2023-12-20 14:44:42.000000000 +0000 @@ -534,7 +534,7 @@ for (i = 0; i < MAX_PIPES; i++) { struct timing_generator *tg = res_ctx->pipe_ctx[i].stream_res.tg; - if (res_ctx->pipe_ctx[i].stream != stream) + if (res_ctx->pipe_ctx[i].stream != stream || !tg) continue; return tg->funcs->get_frame_count(tg); @@ -593,7 +593,7 @@ for (i = 0; i < MAX_PIPES; i++) { struct timing_generator *tg = res_ctx->pipe_ctx[i].stream_res.tg; - if (res_ctx->pipe_ctx[i].stream != stream) + if (res_ctx->pipe_ctx[i].stream != stream || !tg) continue; tg->funcs->get_scanoutpos(tg, diff -Nru linux-5.10.197/drivers/gpu/drm/amd/display/dmub/dmub_srv.h linux-5.10.205/drivers/gpu/drm/amd/display/dmub/dmub_srv.h --- linux-5.10.197/drivers/gpu/drm/amd/display/dmub/dmub_srv.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/amd/display/dmub/dmub_srv.h 2023-12-20 14:44:42.000000000 +0000 @@ -152,6 +152,7 @@ uint32_t vbios_size; const uint8_t *fw_inst_const; const uint8_t *fw_bss_data; + bool is_mailbox_in_inbox; }; /** @@ -171,20 +172,25 @@ */ struct dmub_srv_region_info { uint32_t fb_size; + uint32_t inbox_size; uint8_t num_regions; struct dmub_region regions[DMUB_WINDOW_TOTAL]; }; /** - * struct dmub_srv_fb_params - parameters used for driver fb setup + * struct dmub_srv_memory_params - parameters used for driver fb setup * @region_info: region info calculated by dmub service - * @cpu_addr: base cpu address for the framebuffer - * @gpu_addr: base gpu virtual address for the framebuffer + * @cpu_fb_addr: base cpu address for the framebuffer + * @cpu_inbox_addr: base cpu address for the gart + * @gpu_fb_addr: base gpu virtual address for the framebuffer + * @gpu_inbox_addr: base gpu virtual address for the gart */ -struct dmub_srv_fb_params { +struct dmub_srv_memory_params { const struct dmub_srv_region_info *region_info; - void *cpu_addr; - uint64_t gpu_addr; + void *cpu_fb_addr; + void *cpu_inbox_addr; + uint64_t gpu_fb_addr; + uint64_t gpu_inbox_addr; }; /** @@ -398,8 +404,8 @@ * DMUB_STATUS_OK - success * DMUB_STATUS_INVALID - unspecified error */ -enum dmub_status dmub_srv_calc_fb_info(struct dmub_srv *dmub, - const struct dmub_srv_fb_params *params, +enum dmub_status dmub_srv_calc_mem_info(struct dmub_srv *dmub, + const struct dmub_srv_memory_params *params, struct dmub_srv_fb_info *out); /** diff -Nru linux-5.10.197/drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c linux-5.10.205/drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c --- linux-5.10.197/drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c 2023-12-20 14:44:42.000000000 +0000 @@ -250,7 +250,7 @@ uint32_t fw_state_size = DMUB_FW_STATE_SIZE; uint32_t trace_buffer_size = DMUB_TRACE_BUFFER_SIZE; uint32_t scratch_mem_size = DMUB_SCRATCH_MEM_SIZE; - + uint32_t previous_top = 0; if (!dmub->sw_init) return DMUB_STATUS_INVALID; @@ -275,8 +275,15 @@ bios->base = dmub_align(stack->top, 256); bios->top = bios->base + params->vbios_size; - mail->base = dmub_align(bios->top, 256); - mail->top = mail->base + DMUB_MAILBOX_SIZE; + if (params->is_mailbox_in_inbox) { + mail->base = 0; + mail->top = mail->base + DMUB_MAILBOX_SIZE; + previous_top = bios->top; + } else { + mail->base = dmub_align(bios->top, 256); + mail->top = mail->base + DMUB_MAILBOX_SIZE; + previous_top = mail->top; + } fw_info = dmub_get_fw_meta_info(params); @@ -295,7 +302,7 @@ dmub->fw_version = fw_info->fw_version; } - trace_buff->base = dmub_align(mail->top, 256); + trace_buff->base = dmub_align(previous_top, 256); trace_buff->top = trace_buff->base + dmub_align(trace_buffer_size, 64); fw_state->base = dmub_align(trace_buff->top, 256); @@ -306,11 +313,14 @@ out->fb_size = dmub_align(scratch_mem->top, 4096); + if (params->is_mailbox_in_inbox) + out->inbox_size = dmub_align(mail->top, 4096); + return DMUB_STATUS_OK; } -enum dmub_status dmub_srv_calc_fb_info(struct dmub_srv *dmub, - const struct dmub_srv_fb_params *params, +enum dmub_status dmub_srv_calc_mem_info(struct dmub_srv *dmub, + const struct dmub_srv_memory_params *params, struct dmub_srv_fb_info *out) { uint8_t *cpu_base; @@ -325,8 +335,8 @@ if (params->region_info->num_regions != DMUB_NUM_WINDOWS) return DMUB_STATUS_INVALID; - cpu_base = (uint8_t *)params->cpu_addr; - gpu_base = params->gpu_addr; + cpu_base = (uint8_t *)params->cpu_fb_addr; + gpu_base = params->gpu_fb_addr; for (i = 0; i < DMUB_NUM_WINDOWS; ++i) { const struct dmub_region *reg = @@ -334,6 +344,12 @@ out->fb[i].cpu_addr = cpu_base + reg->base; out->fb[i].gpu_addr = gpu_base + reg->base; + + if (i == DMUB_WINDOW_4_MAILBOX && params->cpu_inbox_addr != 0) { + out->fb[i].cpu_addr = (uint8_t *)params->cpu_inbox_addr + reg->base; + out->fb[i].gpu_addr = params->gpu_inbox_addr + reg->base; + } + out->fb[i].size = reg->top - reg->base; } diff -Nru linux-5.10.197/drivers/gpu/drm/amd/include/pptable.h linux-5.10.205/drivers/gpu/drm/amd/include/pptable.h --- linux-5.10.197/drivers/gpu/drm/amd/include/pptable.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/amd/include/pptable.h 2023-12-20 14:44:42.000000000 +0000 @@ -78,7 +78,7 @@ typedef struct _ATOM_PPLIB_STATE { UCHAR ucNonClockStateIndex; - UCHAR ucClockStateIndices[1]; // variable-sized + UCHAR ucClockStateIndices[]; // variable-sized } ATOM_PPLIB_STATE; @@ -473,7 +473,7 @@ /** * Driver will read the first ucNumDPMLevels in this array */ - UCHAR clockInfoIndex[1]; + UCHAR clockInfoIndex[]; } ATOM_PPLIB_STATE_V2; typedef struct _StateArray{ diff -Nru linux-5.10.197/drivers/gpu/drm/amd/pm/amdgpu_pm.c linux-5.10.205/drivers/gpu/drm/amd/pm/amdgpu_pm.c --- linux-5.10.197/drivers/gpu/drm/amd/pm/amdgpu_pm.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/amd/pm/amdgpu_pm.c 2023-12-20 14:44:42.000000000 +0000 @@ -776,7 +776,7 @@ if (amdgpu_in_reset(adev)) return -EPERM; - if (count > 127) + if (count > 127 || count == 0) return -EINVAL; if (*buf == 's') @@ -792,7 +792,8 @@ else return -EINVAL; - memcpy(buf_cpy, buf, count+1); + memcpy(buf_cpy, buf, count); + buf_cpy[count] = 0; tmp_str = buf_cpy; @@ -807,6 +808,9 @@ return -EINVAL; parameter_size++; + if (!tmp_str) + break; + while (isspace(*tmp_str)) tmp_str++; } diff -Nru linux-5.10.197/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pptable_v1_0.h linux-5.10.205/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pptable_v1_0.h --- linux-5.10.197/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pptable_v1_0.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pptable_v1_0.h 2023-12-20 14:44:42.000000000 +0000 @@ -164,7 +164,7 @@ typedef struct _ATOM_Tonga_State_Array { UCHAR ucRevId; UCHAR ucNumEntries; /* Number of entries. */ - ATOM_Tonga_State entries[1]; /* Dynamically allocate entries. */ + ATOM_Tonga_State entries[]; /* Dynamically allocate entries. */ } ATOM_Tonga_State_Array; typedef struct _ATOM_Tonga_MCLK_Dependency_Record { @@ -179,7 +179,7 @@ typedef struct _ATOM_Tonga_MCLK_Dependency_Table { UCHAR ucRevId; UCHAR ucNumEntries; /* Number of entries. */ - ATOM_Tonga_MCLK_Dependency_Record entries[1]; /* Dynamically allocate entries. */ + ATOM_Tonga_MCLK_Dependency_Record entries[]; /* Dynamically allocate entries. */ } ATOM_Tonga_MCLK_Dependency_Table; typedef struct _ATOM_Tonga_SCLK_Dependency_Record { @@ -194,7 +194,7 @@ typedef struct _ATOM_Tonga_SCLK_Dependency_Table { UCHAR ucRevId; UCHAR ucNumEntries; /* Number of entries. */ - ATOM_Tonga_SCLK_Dependency_Record entries[1]; /* Dynamically allocate entries. */ + ATOM_Tonga_SCLK_Dependency_Record entries[]; /* Dynamically allocate entries. */ } ATOM_Tonga_SCLK_Dependency_Table; typedef struct _ATOM_Polaris_SCLK_Dependency_Record { @@ -210,7 +210,7 @@ typedef struct _ATOM_Polaris_SCLK_Dependency_Table { UCHAR ucRevId; UCHAR ucNumEntries; /* Number of entries. */ - ATOM_Polaris_SCLK_Dependency_Record entries[1]; /* Dynamically allocate entries. */ + ATOM_Polaris_SCLK_Dependency_Record entries[]; /* Dynamically allocate entries. */ } ATOM_Polaris_SCLK_Dependency_Table; typedef struct _ATOM_Tonga_PCIE_Record { @@ -222,7 +222,7 @@ typedef struct _ATOM_Tonga_PCIE_Table { UCHAR ucRevId; UCHAR ucNumEntries; /* Number of entries. */ - ATOM_Tonga_PCIE_Record entries[1]; /* Dynamically allocate entries. */ + ATOM_Tonga_PCIE_Record entries[]; /* Dynamically allocate entries. */ } ATOM_Tonga_PCIE_Table; typedef struct _ATOM_Polaris10_PCIE_Record { @@ -235,7 +235,7 @@ typedef struct _ATOM_Polaris10_PCIE_Table { UCHAR ucRevId; UCHAR ucNumEntries; /* Number of entries. */ - ATOM_Polaris10_PCIE_Record entries[1]; /* Dynamically allocate entries. */ + ATOM_Polaris10_PCIE_Record entries[]; /* Dynamically allocate entries. */ } ATOM_Polaris10_PCIE_Table; @@ -252,7 +252,7 @@ typedef struct _ATOM_Tonga_MM_Dependency_Table { UCHAR ucRevId; UCHAR ucNumEntries; /* Number of entries. */ - ATOM_Tonga_MM_Dependency_Record entries[1]; /* Dynamically allocate entries. */ + ATOM_Tonga_MM_Dependency_Record entries[]; /* Dynamically allocate entries. */ } ATOM_Tonga_MM_Dependency_Table; typedef struct _ATOM_Tonga_Voltage_Lookup_Record { @@ -265,7 +265,7 @@ typedef struct _ATOM_Tonga_Voltage_Lookup_Table { UCHAR ucRevId; UCHAR ucNumEntries; /* Number of entries. */ - ATOM_Tonga_Voltage_Lookup_Record entries[1]; /* Dynamically allocate entries. */ + ATOM_Tonga_Voltage_Lookup_Record entries[]; /* Dynamically allocate entries. */ } ATOM_Tonga_Voltage_Lookup_Table; typedef struct _ATOM_Tonga_Fan_Table { diff -Nru linux-5.10.197/drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c linux-5.10.205/drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c --- linux-5.10.197/drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c 2023-12-20 14:44:42.000000000 +0000 @@ -1223,7 +1223,7 @@ return 0; } -static void +static int komeda_pipeline_unbound_components(struct komeda_pipeline *pipe, struct komeda_pipeline_state *new) { @@ -1243,8 +1243,12 @@ c = komeda_pipeline_get_component(pipe, id); c_st = komeda_component_get_state_and_set_user(c, drm_st, NULL, new->crtc); + if (PTR_ERR(c_st) == -EDEADLK) + return -EDEADLK; WARN_ON(IS_ERR(c_st)); } + + return 0; } /* release unclaimed pipeline resource */ @@ -1266,9 +1270,8 @@ if (WARN_ON(IS_ERR_OR_NULL(st))) return -EINVAL; - komeda_pipeline_unbound_components(pipe, st); + return komeda_pipeline_unbound_components(pipe, st); - return 0; } /* Since standalong disabled components must be disabled separately and in the diff -Nru linux-5.10.197/drivers/gpu/drm/bridge/tc358768.c linux-5.10.205/drivers/gpu/drm/bridge/tc358768.c --- linux-5.10.197/drivers/gpu/drm/bridge/tc358768.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/bridge/tc358768.c 2023-12-20 14:44:42.000000000 +0000 @@ -217,6 +217,10 @@ u32 tmp, orig; tc358768_read(priv, reg, &orig); + + if (priv->error) + return; + tmp = orig & ~mask; tmp |= val & mask; if (tmp != orig) @@ -633,6 +637,7 @@ { struct tc358768_priv *priv = bridge_to_tc358768(bridge); struct mipi_dsi_device *dsi_dev = priv->output.dev; + unsigned long mode_flags = dsi_dev->mode_flags; u32 val, val2, lptxcnt, hact, data_type; s32 raw_val; const struct drm_display_mode *mode; @@ -640,6 +645,11 @@ u32 dsiclk, dsibclk; int ret, i; + if (mode_flags & MIPI_DSI_CLOCK_NON_CONTINUOUS) { + dev_warn_once(priv->dev, "Non-continuous mode unimplemented, falling back to continuous\n"); + mode_flags &= ~MIPI_DSI_CLOCK_NON_CONTINUOUS; + } + tc358768_hw_enable(priv); ret = tc358768_sw_reset(priv); @@ -775,8 +785,8 @@ val |= BIT(i + 1); tc358768_write(priv, TC358768_HSTXVREGEN, val); - if (!(dsi_dev->mode_flags & MIPI_DSI_CLOCK_NON_CONTINUOUS)) - tc358768_write(priv, TC358768_TXOPTIONCNTRL, 0x1); + tc358768_write(priv, TC358768_TXOPTIONCNTRL, + (mode_flags & MIPI_DSI_CLOCK_NON_CONTINUOUS) ? 0 : BIT(0)); /* TXTAGOCNT[26:16] RXTASURECNT[10:0] */ val = tc358768_to_ns((lptxcnt + 1) * dsibclk_nsk * 4); @@ -812,11 +822,12 @@ tc358768_write(priv, TC358768_DSI_HACT, hact); /* VSYNC polarity */ - if (!(mode->flags & DRM_MODE_FLAG_NVSYNC)) - tc358768_update_bits(priv, TC358768_CONFCTL, BIT(5), BIT(5)); + tc358768_update_bits(priv, TC358768_CONFCTL, BIT(5), + (mode->flags & DRM_MODE_FLAG_PVSYNC) ? BIT(5) : 0); + /* HSYNC polarity */ - if (mode->flags & DRM_MODE_FLAG_PHSYNC) - tc358768_update_bits(priv, TC358768_PP_MISC, BIT(0), BIT(0)); + tc358768_update_bits(priv, TC358768_PP_MISC, BIT(0), + (mode->flags & DRM_MODE_FLAG_PHSYNC) ? BIT(0) : 0); /* Start DSI Tx */ tc358768_write(priv, TC358768_DSI_START, 0x1); @@ -832,7 +843,7 @@ val |= TC358768_DSI_CONTROL_TXMD; - if (!(dsi_dev->mode_flags & MIPI_DSI_CLOCK_NON_CONTINUOUS)) + if (!(mode_flags & MIPI_DSI_CLOCK_NON_CONTINUOUS)) val |= TC358768_DSI_CONTROL_HSCKMD; if (dsi_dev->mode_flags & MIPI_DSI_MODE_EOT_PACKET) diff -Nru linux-5.10.197/drivers/gpu/drm/drm_connector.c linux-5.10.205/drivers/gpu/drm/drm_connector.c --- linux-5.10.197/drivers/gpu/drm/drm_connector.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/drm_connector.c 2023-12-20 14:44:42.000000000 +0000 @@ -64,6 +64,14 @@ * support can instead use e.g. drm_helper_hpd_irq_event(). */ +/* + * Global connector list for drm_connector_find_by_fwnode(). + * Note drm_connector_[un]register() first take connector->lock and then + * take the connector_list_lock. + */ +static DEFINE_MUTEX(connector_list_lock); +static LIST_HEAD(connector_list); + struct drm_conn_prop_enum_list { int type; const char *name; @@ -265,6 +273,7 @@ goto out_put_type_id; } + INIT_LIST_HEAD(&connector->global_connector_list_entry); INIT_LIST_HEAD(&connector->probed_modes); INIT_LIST_HEAD(&connector->modes); mutex_init(&connector->mutex); @@ -471,6 +480,8 @@ drm_mode_object_unregister(dev, &connector->base); kfree(connector->name); connector->name = NULL; + fwnode_handle_put(connector->fwnode); + connector->fwnode = NULL; spin_lock_irq(&dev->mode_config.connector_list_lock); list_del(&connector->head); dev->mode_config.num_connector--; @@ -532,6 +543,9 @@ /* Let userspace know we have a new connector */ drm_sysfs_hotplug_event(connector->dev); + mutex_lock(&connector_list_lock); + list_add_tail(&connector->global_connector_list_entry, &connector_list); + mutex_unlock(&connector_list_lock); goto unlock; err_debugfs: @@ -560,6 +574,10 @@ return; } + mutex_lock(&connector_list_lock); + list_del_init(&connector->global_connector_list_entry); + mutex_unlock(&connector_list_lock); + if (connector->funcs->early_unregister) connector->funcs->early_unregister(connector); @@ -2462,6 +2480,67 @@ return ret; } +/** + * drm_connector_find_by_fwnode - Find a connector based on the associated fwnode + * @fwnode: fwnode for which to find the matching drm_connector + * + * This functions looks up a drm_connector based on its associated fwnode. When + * a connector is found a reference to the connector is returned. The caller must + * call drm_connector_put() to release this reference when it is done with the + * connector. + * + * Returns: A reference to the found connector or an ERR_PTR(). + */ +struct drm_connector *drm_connector_find_by_fwnode(struct fwnode_handle *fwnode) +{ + struct drm_connector *connector, *found = ERR_PTR(-ENODEV); + + if (!fwnode) + return ERR_PTR(-ENODEV); + + mutex_lock(&connector_list_lock); + + list_for_each_entry(connector, &connector_list, global_connector_list_entry) { + if (connector->fwnode == fwnode || + (connector->fwnode && connector->fwnode->secondary == fwnode)) { + drm_connector_get(connector); + found = connector; + break; + } + } + + mutex_unlock(&connector_list_lock); + + return found; +} + +/** + * drm_connector_oob_hotplug_event - Report out-of-band hotplug event to connector + * @connector: connector to report the event on + * + * On some hardware a hotplug event notification may come from outside the display + * driver / device. An example of this is some USB Type-C setups where the hardware + * muxes the DisplayPort data and aux-lines but does not pass the altmode HPD + * status bit to the GPU's DP HPD pin. + * + * This function can be used to report these out-of-band events after obtaining + * a drm_connector reference through calling drm_connector_find_by_fwnode(). + */ +void drm_connector_oob_hotplug_event(struct fwnode_handle *connector_fwnode) +{ + struct drm_connector *connector; + + connector = drm_connector_find_by_fwnode(connector_fwnode); + if (IS_ERR(connector)) + return; + + if (connector->funcs->oob_hotplug_event) + connector->funcs->oob_hotplug_event(connector); + + drm_connector_put(connector); +} +EXPORT_SYMBOL(drm_connector_oob_hotplug_event); + /** * DOC: Tile group diff -Nru linux-5.10.197/drivers/gpu/drm/drm_crtc_internal.h linux-5.10.205/drivers/gpu/drm/drm_crtc_internal.h --- linux-5.10.197/drivers/gpu/drm/drm_crtc_internal.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/drm_crtc_internal.h 2023-12-20 14:44:42.000000000 +0000 @@ -57,6 +57,7 @@ struct edid; struct kref; struct work_struct; +struct fwnode_handle; /* drm_crtc.c */ int drm_mode_crtc_set_obj_prop(struct drm_mode_object *obj, @@ -182,6 +183,7 @@ int drm_connector_create_standard_properties(struct drm_device *dev); const char *drm_get_connector_force_name(enum drm_connector_force force); void drm_connector_free_work_fn(struct work_struct *work); +struct drm_connector *drm_connector_find_by_fwnode(struct fwnode_handle *fwnode); /* IOCTL */ int drm_connector_property_set_ioctl(struct drm_device *dev, diff -Nru linux-5.10.197/drivers/gpu/drm/drm_dp_mst_topology.c linux-5.10.205/drivers/gpu/drm/drm_dp_mst_topology.c --- linux-5.10.197/drivers/gpu/drm/drm_dp_mst_topology.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/drm_dp_mst_topology.c 2023-12-20 14:44:42.000000000 +0000 @@ -2612,14 +2612,14 @@ struct drm_dp_mst_branch *found_mstb; struct drm_dp_mst_port *port; + if (!mstb) + return NULL; + if (memcmp(mstb->guid, guid, 16) == 0) return mstb; list_for_each_entry(port, &mstb->ports, next) { - if (!port->mstb) - continue; - found_mstb = get_mst_branch_device_by_guid_helper(port->mstb, guid); if (found_mstb) diff -Nru linux-5.10.197/drivers/gpu/drm/drm_panel_orientation_quirks.c linux-5.10.205/drivers/gpu/drm/drm_panel_orientation_quirks.c --- linux-5.10.197/drivers/gpu/drm/drm_panel_orientation_quirks.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/drm_panel_orientation_quirks.c 2023-12-20 14:44:42.000000000 +0000 @@ -44,6 +44,14 @@ .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP, }; +static const struct drm_dmi_panel_orientation_data gpd_onemix2s = { + .width = 1200, + .height = 1920, + .bios_dates = (const char * const []){ "05/21/2018", "10/26/2018", + "03/04/2019", NULL }, + .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP, +}; + static const struct drm_dmi_panel_orientation_data gpd_pocket = { .width = 1200, .height = 1920, @@ -329,6 +337,14 @@ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "LTH17"), }, .driver_data = (void *)&lcd800x1280_rightside_up, + }, { /* One Mix 2S (generic strings, also match on bios date) */ + .matches = { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Default string"), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Default string"), + DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "Default string"), + DMI_EXACT_MATCH(DMI_BOARD_NAME, "Default string"), + }, + .driver_data = (void *)&gpd_onemix2s, }, {} }; diff -Nru linux-5.10.197/drivers/gpu/drm/drm_syncobj.c linux-5.10.205/drivers/gpu/drm/drm_syncobj.c --- linux-5.10.197/drivers/gpu/drm/drm_syncobj.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/drm_syncobj.c 2023-12-20 14:44:42.000000000 +0000 @@ -983,7 +983,8 @@ fence = drm_syncobj_fence_get(syncobjs[i]); if (!fence || dma_fence_chain_find_seqno(&fence, points[i])) { dma_fence_put(fence); - if (flags & DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT) { + if (flags & (DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT | + DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE)) { continue; } else { timeout = -EINVAL; diff -Nru linux-5.10.197/drivers/gpu/drm/drm_sysfs.c linux-5.10.205/drivers/gpu/drm/drm_sysfs.c --- linux-5.10.197/drivers/gpu/drm/drm_sysfs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/drm_sysfs.c 2023-12-20 14:44:42.000000000 +0000 @@ -10,6 +10,7 @@ * Copyright (c) 2003-2004 IBM Corp. */ +#include #include #include #include @@ -50,8 +51,45 @@ .name = "drm_minor" }; +static struct device_type drm_sysfs_device_connector = { + .name = "drm_connector", +}; + struct class *drm_class; +#ifdef CONFIG_ACPI +static bool drm_connector_acpi_bus_match(struct device *dev) +{ + return dev->type == &drm_sysfs_device_connector; +} + +static struct acpi_device *drm_connector_acpi_find_companion(struct device *dev) +{ + struct drm_connector *connector = to_drm_connector(dev); + + return to_acpi_device_node(connector->fwnode); +} + +static struct acpi_bus_type drm_connector_acpi_bus = { + .name = "drm_connector", + .match = drm_connector_acpi_bus_match, + .find_companion = drm_connector_acpi_find_companion, +}; + +static void drm_sysfs_acpi_register(void) +{ + register_acpi_bus_type(&drm_connector_acpi_bus); +} + +static void drm_sysfs_acpi_unregister(void) +{ + unregister_acpi_bus_type(&drm_connector_acpi_bus); +} +#else +static void drm_sysfs_acpi_register(void) { } +static void drm_sysfs_acpi_unregister(void) { } +#endif + static char *drm_devnode(struct device *dev, umode_t *mode) { return kasprintf(GFP_KERNEL, "dri/%s", dev_name(dev)); @@ -85,6 +123,8 @@ } drm_class->devnode = drm_devnode; + + drm_sysfs_acpi_register(); return 0; } @@ -97,11 +137,17 @@ { if (IS_ERR_OR_NULL(drm_class)) return; + drm_sysfs_acpi_unregister(); class_remove_file(drm_class, &class_attr_version.attr); class_destroy(drm_class); drm_class = NULL; } +static void drm_sysfs_release(struct device *dev) +{ + kfree(dev); +} + /* * Connector properties */ @@ -274,27 +320,47 @@ int drm_sysfs_connector_add(struct drm_connector *connector) { struct drm_device *dev = connector->dev; + struct device *kdev; + int r; if (connector->kdev) return 0; - connector->kdev = - device_create_with_groups(drm_class, dev->primary->kdev, 0, - connector, connector_dev_groups, - "card%d-%s", dev->primary->index, - connector->name); + kdev = kzalloc(sizeof(*kdev), GFP_KERNEL); + if (!kdev) + return -ENOMEM; + + device_initialize(kdev); + kdev->class = drm_class; + kdev->type = &drm_sysfs_device_connector; + kdev->parent = dev->primary->kdev; + kdev->groups = connector_dev_groups; + kdev->release = drm_sysfs_release; + dev_set_drvdata(kdev, connector); + + r = dev_set_name(kdev, "card%d-%s", dev->primary->index, connector->name); + if (r) + goto err_free; + DRM_DEBUG("adding \"%s\" to sysfs\n", connector->name); - if (IS_ERR(connector->kdev)) { - DRM_ERROR("failed to register connector device: %ld\n", PTR_ERR(connector->kdev)); - return PTR_ERR(connector->kdev); + r = device_add(kdev); + if (r) { + drm_err(dev, "failed to register connector device: %d\n", r); + goto err_free; } + connector->kdev = kdev; + if (connector->ddc) return sysfs_create_link(&connector->kdev->kobj, &connector->ddc->dev.kobj, "ddc"); return 0; + +err_free: + put_device(kdev); + return r; } void drm_sysfs_connector_remove(struct drm_connector *connector) @@ -375,11 +441,6 @@ } EXPORT_SYMBOL(drm_sysfs_connector_status_event); -static void drm_sysfs_release(struct device *dev) -{ - kfree(dev); -} - struct device *drm_sysfs_minor_alloc(struct drm_minor *minor) { const char *minor_str; diff -Nru linux-5.10.197/drivers/gpu/drm/i915/gem/i915_gem_mman.c linux-5.10.205/drivers/gpu/drm/i915/gem/i915_gem_mman.c --- linux-5.10.197/drivers/gpu/drm/i915/gem/i915_gem_mman.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/i915/gem/i915_gem_mman.c 2023-12-20 14:44:42.000000000 +0000 @@ -222,6 +222,7 @@ case 0: case -EAGAIN: case -ENOSPC: /* transient failure to evict? */ + case -ENOBUFS: /* temporarily out of fences? */ case -ERESTARTSYS: case -EINTR: case -EBUSY: diff -Nru linux-5.10.197/drivers/gpu/drm/mediatek/mtk_drm_crtc.c linux-5.10.205/drivers/gpu/drm/mediatek/mtk_drm_crtc.c --- linux-5.10.197/drivers/gpu/drm/mediatek/mtk_drm_crtc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/mediatek/mtk_drm_crtc.c 2023-12-20 14:44:42.000000000 +0000 @@ -320,6 +320,9 @@ unsigned int local_layer; plane_state = to_mtk_plane_state(plane->state); + + /* should not enable layer before crtc enabled */ + plane_state->pending.enable = false; comp = mtk_drm_ddp_comp_for_plane(crtc, plane, &local_layer); if (comp) mtk_ddp_comp_layer_config(comp, local_layer, @@ -579,6 +582,7 @@ { struct mtk_crtc_state *state = to_mtk_crtc_state(crtc->state); struct mtk_drm_crtc *mtk_crtc = to_mtk_crtc(crtc); + unsigned long flags; if (mtk_crtc->event && state->base.event) DRM_ERROR("new event while there is still a pending event\n"); @@ -586,7 +590,11 @@ if (state->base.event) { state->base.event->pipe = drm_crtc_index(crtc); WARN_ON(drm_crtc_vblank_get(crtc) != 0); + + spin_lock_irqsave(&crtc->dev->event_lock, flags); mtk_crtc->event = state->base.event; + spin_unlock_irqrestore(&crtc->dev->event_lock, flags); + state->base.event = NULL; } } diff -Nru linux-5.10.197/drivers/gpu/drm/mediatek/mtk_drm_gem.c linux-5.10.205/drivers/gpu/drm/mediatek/mtk_drm_gem.c --- linux-5.10.197/drivers/gpu/drm/mediatek/mtk_drm_gem.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/mediatek/mtk_drm_gem.c 2023-12-20 14:44:42.000000000 +0000 @@ -252,7 +252,7 @@ if (!mtk_gem->kvaddr) { kfree(sgt); kfree(mtk_gem->pages); - return -ENOMEM; + return NULL; } out: kfree(sgt); diff -Nru linux-5.10.197/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c linux-5.10.205/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c --- linux-5.10.197/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c 2023-12-20 14:44:42.000000000 +0000 @@ -147,6 +147,7 @@ const struct dpu_format *fmt = NULL; struct dpu_kms *dpu_kms = _dpu_plane_get_kms(plane); int src_width, src_height, dst_height, fps; + u64 plane_pixel_rate, plane_bit_rate; u64 plane_prefill_bw; u64 plane_bw; u32 hw_latency_lines; @@ -168,13 +169,12 @@ scale_factor = src_height > dst_height ? mult_frac(src_height, 1, dst_height) : 1; - plane_bw = - src_width * mode->vtotal * fps * fmt->bpp * - scale_factor; - - plane_prefill_bw = - src_width * hw_latency_lines * fps * fmt->bpp * - scale_factor * mode->vtotal; + plane_pixel_rate = src_width * mode->vtotal * fps; + plane_bit_rate = plane_pixel_rate * fmt->bpp; + + plane_bw = plane_bit_rate * scale_factor; + + plane_prefill_bw = plane_bw * hw_latency_lines; do_div(plane_prefill_bw, (vbp+vpw)); diff -Nru linux-5.10.197/drivers/gpu/drm/msm/dp/dp_ctrl.c linux-5.10.205/drivers/gpu/drm/msm/dp/dp_ctrl.c --- linux-5.10.197/drivers/gpu/drm/msm/dp/dp_ctrl.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/msm/dp/dp_ctrl.c 2023-12-20 14:44:42.000000000 +0000 @@ -1665,13 +1665,6 @@ return rc; while (--link_train_max_retries) { - rc = dp_ctrl_reinitialize_mainlink(ctrl); - if (rc) { - DRM_ERROR("Failed to reinitialize mainlink. rc=%d\n", - rc); - break; - } - training_step = DP_TRAINING_NONE; rc = dp_ctrl_setup_main_link(ctrl, &cr, &training_step); if (rc == 0) { @@ -1712,6 +1705,12 @@ break; /* lane == 1 already */ } } + + rc = dp_ctrl_reinitialize_mainlink(ctrl); + if (rc) { + DRM_ERROR("Failed to reinitialize mainlink. rc=%d\n", rc); + break; + } } if (ctrl->link->sink_request & DP_TEST_LINK_PHY_TEST_PATTERN) diff -Nru linux-5.10.197/drivers/gpu/drm/msm/dp/dp_panel.c linux-5.10.205/drivers/gpu/drm/msm/dp/dp_panel.c --- linux-5.10.197/drivers/gpu/drm/msm/dp/dp_panel.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/msm/dp/dp_panel.c 2023-12-20 14:44:42.000000000 +0000 @@ -264,26 +264,9 @@ static u8 dp_panel_get_edid_checksum(struct edid *edid) { - struct edid *last_block; - u8 *raw_edid; - bool is_edid_corrupt = false; + edid += edid->extensions; - if (!edid) { - DRM_ERROR("invalid edid input\n"); - return 0; - } - - raw_edid = (u8 *)edid; - raw_edid += (edid->extensions * EDID_LENGTH); - last_block = (struct edid *)raw_edid; - - /* block type extension */ - drm_edid_block_valid(raw_edid, 1, false, &is_edid_corrupt); - if (!is_edid_corrupt) - return last_block->checksum; - - DRM_ERROR("Invalid block, no checksum\n"); - return 0; + return edid->checksum; } void dp_panel_handle_sink_request(struct dp_panel *dp_panel) diff -Nru linux-5.10.197/drivers/gpu/drm/msm/dsi/dsi_host.c linux-5.10.205/drivers/gpu/drm/msm/dsi/dsi_host.c --- linux-5.10.197/drivers/gpu/drm/msm/dsi/dsi_host.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/msm/dsi/dsi_host.c 2023-12-20 14:44:42.000000000 +0000 @@ -1075,9 +1075,21 @@ static void dsi_wait4video_eng_busy(struct msm_dsi_host *msm_host) { + u32 data; + if (!(msm_host->mode_flags & MIPI_DSI_MODE_VIDEO)) return; + data = dsi_read(msm_host, REG_DSI_STATUS0); + + /* if video mode engine is not busy, its because + * either timing engine was not turned on or the + * DSI controller has finished transmitting the video + * data already, so no need to wait in those cases + */ + if (!(data & DSI_STATUS0_VIDEO_MODE_ENGINE_BUSY)) + return; + if (msm_host->power_on && msm_host->enabled) { dsi_wait4video_done(msm_host); /* delay 4 ms to skip BLLP */ diff -Nru linux-5.10.197/drivers/gpu/drm/panel/panel-arm-versatile.c linux-5.10.205/drivers/gpu/drm/panel/panel-arm-versatile.c --- linux-5.10.197/drivers/gpu/drm/panel/panel-arm-versatile.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/panel/panel-arm-versatile.c 2023-12-20 14:44:42.000000000 +0000 @@ -267,6 +267,8 @@ connector->display_info.bus_flags = vpanel->panel_type->bus_flags; mode = drm_mode_duplicate(connector->dev, &vpanel->panel_type->mode); + if (!mode) + return -ENOMEM; drm_mode_set_name(mode); mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED; diff -Nru linux-5.10.197/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c linux-5.10.205/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c --- linux-5.10.197/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c 2023-12-20 14:44:42.000000000 +0000 @@ -36,6 +36,7 @@ const struct panel_init_cmd *init_cmds; unsigned int lanes; bool discharge_on_disable; + bool lp11_before_reset; }; struct boe_panel { @@ -551,6 +552,10 @@ usleep_range(5000, 10000); + if (boe->desc->lp11_before_reset) { + mipi_dsi_dcs_nop(boe->dsi); + usleep_range(1000, 2000); + } gpiod_set_value(boe->enable_gpio, 1); usleep_range(1000, 2000); gpiod_set_value(boe->enable_gpio, 0); @@ -692,6 +697,7 @@ .mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE | MIPI_DSI_MODE_LPM, .init_cmds = auo_b101uan08_3_init_cmd, + .lp11_before_reset = true, }; static const struct drm_display_mode boe_tv105wum_nw0_default_mode = { @@ -719,6 +725,7 @@ .mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE | MIPI_DSI_MODE_LPM, .init_cmds = boe_init_cmd, + .lp11_before_reset = true, }; static int boe_panel_get_modes(struct drm_panel *panel, diff -Nru linux-5.10.197/drivers/gpu/drm/panel/panel-simple.c linux-5.10.205/drivers/gpu/drm/panel/panel-simple.c --- linux-5.10.197/drivers/gpu/drm/panel/panel-simple.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/panel/panel-simple.c 2023-12-20 14:44:42.000000000 +0000 @@ -2154,13 +2154,13 @@ static const struct display_timing innolux_g101ice_l01_timing = { .pixelclock = { 60400000, 71100000, 74700000 }, .hactive = { 1280, 1280, 1280 }, - .hfront_porch = { 41, 80, 100 }, - .hback_porch = { 40, 79, 99 }, - .hsync_len = { 1, 1, 1 }, + .hfront_porch = { 30, 60, 70 }, + .hback_porch = { 30, 60, 70 }, + .hsync_len = { 22, 40, 60 }, .vactive = { 800, 800, 800 }, - .vfront_porch = { 5, 11, 14 }, - .vback_porch = { 4, 11, 14 }, - .vsync_len = { 1, 1, 1 }, + .vfront_porch = { 3, 8, 14 }, + .vback_porch = { 3, 8, 14 }, + .vsync_len = { 4, 7, 12 }, .flags = DISPLAY_FLAGS_DE_HIGH, }; @@ -2177,6 +2177,7 @@ .disable = 200, }, .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, + .bus_flags = DRM_BUS_FLAG_DE_HIGH, .connector_type = DRM_MODE_CONNECTOR_LVDS, }; diff -Nru linux-5.10.197/drivers/gpu/drm/panel/panel-sitronix-st7703.c linux-5.10.205/drivers/gpu/drm/panel/panel-sitronix-st7703.c --- linux-5.10.197/drivers/gpu/drm/panel/panel-sitronix-st7703.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/panel/panel-sitronix-st7703.c 2023-12-20 14:44:42.000000000 +0000 @@ -428,29 +428,30 @@ return 0; dev_dbg(ctx->dev, "Resetting the panel\n"); - ret = regulator_enable(ctx->vcc); + gpiod_set_value_cansleep(ctx->reset_gpio, 1); + + ret = regulator_enable(ctx->iovcc); if (ret < 0) { - dev_err(ctx->dev, "Failed to enable vcc supply: %d\n", ret); + dev_err(ctx->dev, "Failed to enable iovcc supply: %d\n", ret); return ret; } - ret = regulator_enable(ctx->iovcc); + + ret = regulator_enable(ctx->vcc); if (ret < 0) { - dev_err(ctx->dev, "Failed to enable iovcc supply: %d\n", ret); - goto disable_vcc; + dev_err(ctx->dev, "Failed to enable vcc supply: %d\n", ret); + regulator_disable(ctx->iovcc); + return ret; } - gpiod_set_value_cansleep(ctx->reset_gpio, 1); - usleep_range(20, 40); + /* Give power supplies time to stabilize before deasserting reset. */ + usleep_range(10000, 20000); + gpiod_set_value_cansleep(ctx->reset_gpio, 0); - msleep(20); + usleep_range(15000, 20000); ctx->prepared = true; return 0; - -disable_vcc: - regulator_disable(ctx->vcc); - return ret; } static int st7703_get_modes(struct drm_panel *panel, diff -Nru linux-5.10.197/drivers/gpu/drm/panel/panel-tpo-tpg110.c linux-5.10.205/drivers/gpu/drm/panel/panel-tpo-tpg110.c --- linux-5.10.197/drivers/gpu/drm/panel/panel-tpo-tpg110.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/panel/panel-tpo-tpg110.c 2023-12-20 14:44:42.000000000 +0000 @@ -378,6 +378,8 @@ connector->display_info.bus_flags = tpg->panel_mode->bus_flags; mode = drm_mode_duplicate(connector->dev, &tpg->panel_mode->mode); + if (!mode) + return -ENOMEM; drm_mode_set_name(mode); mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED; diff -Nru linux-5.10.197/drivers/gpu/drm/radeon/evergreen.c linux-5.10.205/drivers/gpu/drm/radeon/evergreen.c --- linux-5.10.197/drivers/gpu/drm/radeon/evergreen.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/radeon/evergreen.c 2023-12-20 14:44:42.000000000 +0000 @@ -4819,14 +4819,15 @@ break; case 44: /* hdmi */ afmt_idx = src_data; - if (!(afmt_status[afmt_idx] & AFMT_AZ_FORMAT_WTRIG)) - DRM_DEBUG("IH: IH event w/o asserted irq bit?\n"); - if (afmt_idx > 5) { DRM_ERROR("Unhandled interrupt: %d %d\n", src_id, src_data); break; } + + if (!(afmt_status[afmt_idx] & AFMT_AZ_FORMAT_WTRIG)) + DRM_DEBUG("IH: IH event w/o asserted irq bit?\n"); + afmt_status[afmt_idx] &= ~AFMT_AZ_FORMAT_WTRIG; queue_hdmi = true; DRM_DEBUG("IH: HDMI%d\n", afmt_idx + 1); diff -Nru linux-5.10.197/drivers/gpu/drm/rockchip/cdn-dp-core.c linux-5.10.205/drivers/gpu/drm/rockchip/cdn-dp-core.c --- linux-5.10.197/drivers/gpu/drm/rockchip/cdn-dp-core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/rockchip/cdn-dp-core.c 2023-12-20 14:44:42.000000000 +0000 @@ -1145,6 +1145,7 @@ struct cdn_dp_device *dp; struct extcon_dev *extcon; struct phy *phy; + int ret; int i; dp = devm_kzalloc(dev, sizeof(*dp), GFP_KERNEL); @@ -1185,9 +1186,19 @@ mutex_init(&dp->lock); dev_set_drvdata(dev, dp); - cdn_dp_audio_codec_init(dp, dev); - - return component_add(dev, &cdn_dp_component_ops); + ret = cdn_dp_audio_codec_init(dp, dev); + if (ret) + return ret; + + ret = component_add(dev, &cdn_dp_component_ops); + if (ret) + goto err_audio_deinit; + + return 0; + +err_audio_deinit: + platform_device_unregister(dp->audio_pdev); + return ret; } static int cdn_dp_remove(struct platform_device *pdev) diff -Nru linux-5.10.197/drivers/gpu/drm/rockchip/rockchip_drm_gem.c linux-5.10.205/drivers/gpu/drm/rockchip/rockchip_drm_gem.c --- linux-5.10.197/drivers/gpu/drm/rockchip/rockchip_drm_gem.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/rockchip/rockchip_drm_gem.c 2023-12-20 14:44:42.000000000 +0000 @@ -38,7 +38,7 @@ ret = iommu_map_sgtable(private->domain, rk_obj->dma_addr, rk_obj->sgt, prot); - if (ret < rk_obj->base.size) { + if (ret < (ssize_t)rk_obj->base.size) { DRM_ERROR("failed to map buffer: size=%zd request_size=%zd\n", ret, rk_obj->base.size); ret = -ENOMEM; diff -Nru linux-5.10.197/drivers/gpu/drm/rockchip/rockchip_drm_vop.c linux-5.10.205/drivers/gpu/drm/rockchip/rockchip_drm_vop.c --- linux-5.10.197/drivers/gpu/drm/rockchip/rockchip_drm_vop.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/rockchip/rockchip_drm_vop.c 2023-12-20 14:44:42.000000000 +0000 @@ -248,14 +248,22 @@ VOP_REG_SET(vop, common, cfg_done, 1); } -static bool has_rb_swapped(uint32_t format) +static bool has_rb_swapped(uint32_t version, uint32_t format) { switch (format) { case DRM_FORMAT_XBGR8888: case DRM_FORMAT_ABGR8888: - case DRM_FORMAT_BGR888: case DRM_FORMAT_BGR565: return true; + /* + * full framework (IP version 3.x) only need rb swapped for RGB888 and + * little framework (IP version 2.x) only need rb swapped for BGR888, + * check for 3.x to also only rb swap BGR888 for unknown vop version + */ + case DRM_FORMAT_RGB888: + return VOP_MAJOR(version) == 3; + case DRM_FORMAT_BGR888: + return VOP_MAJOR(version) != 3; default: return false; } @@ -988,7 +996,7 @@ VOP_WIN_SET(vop, win, dsp_info, dsp_info); VOP_WIN_SET(vop, win, dsp_st, dsp_st); - rb_swap = has_rb_swapped(fb->format->format); + rb_swap = has_rb_swapped(vop->data->version, fb->format->format); VOP_WIN_SET(vop, win, rb_swap, rb_swap); /* @@ -1533,7 +1541,8 @@ if (WARN_ON(!crtc->state)) return NULL; - rockchip_state = kzalloc(sizeof(*rockchip_state), GFP_KERNEL); + rockchip_state = kmemdup(to_rockchip_crtc_state(crtc->state), + sizeof(*rockchip_state), GFP_KERNEL); if (!rockchip_state) return NULL; @@ -1558,7 +1567,10 @@ if (crtc->state) vop_crtc_destroy_state(crtc, crtc->state); - __drm_atomic_helper_crtc_reset(crtc, &crtc_state->base); + if (crtc_state) + __drm_atomic_helper_crtc_reset(crtc, &crtc_state->base); + else + __drm_atomic_helper_crtc_reset(crtc, NULL); } #ifdef CONFIG_DRM_ANALOGIX_DP diff -Nru linux-5.10.197/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c linux-5.10.205/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c --- linux-5.10.197/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c 2023-12-20 14:44:42.000000000 +0000 @@ -1627,7 +1627,7 @@ { VMW_DECLARE_CMD_VAR(*cmd, SVGA3dCmdSetTextureState); SVGA3dTextureState *last_state = (SVGA3dTextureState *) - ((unsigned long) header + header->size + sizeof(header)); + ((unsigned long) header + header->size + sizeof(*header)); SVGA3dTextureState *cur_state = (SVGA3dTextureState *) ((unsigned long) header + sizeof(*cmd)); struct vmw_resource *ctx; diff -Nru linux-5.10.197/drivers/hid/hid-asus.c linux-5.10.205/drivers/hid/hid-asus.c --- linux-5.10.197/drivers/hid/hid-asus.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/hid/hid-asus.c 2023-12-20 14:44:42.000000000 +0000 @@ -336,7 +336,7 @@ return 0; } -static int asus_kbd_set_report(struct hid_device *hdev, u8 *buf, size_t buf_size) +static int asus_kbd_set_report(struct hid_device *hdev, const u8 *buf, size_t buf_size) { unsigned char *dmabuf; int ret; @@ -355,7 +355,7 @@ static int asus_kbd_init(struct hid_device *hdev) { - u8 buf[] = { FEATURE_KBD_REPORT_ID, 0x41, 0x53, 0x55, 0x53, 0x20, 0x54, + const u8 buf[] = { FEATURE_KBD_REPORT_ID, 0x41, 0x53, 0x55, 0x53, 0x20, 0x54, 0x65, 0x63, 0x68, 0x2e, 0x49, 0x6e, 0x63, 0x2e, 0x00 }; int ret; @@ -369,7 +369,7 @@ static int asus_kbd_get_functions(struct hid_device *hdev, unsigned char *kbd_func) { - u8 buf[] = { FEATURE_KBD_REPORT_ID, 0x05, 0x20, 0x31, 0x00, 0x08 }; + const u8 buf[] = { FEATURE_KBD_REPORT_ID, 0x05, 0x20, 0x31, 0x00, 0x08 }; u8 *readbuf; int ret; @@ -901,6 +901,24 @@ return 0; } +static int __maybe_unused asus_resume(struct hid_device *hdev) { + struct asus_drvdata *drvdata = hid_get_drvdata(hdev); + int ret = 0; + + if (drvdata->kbd_backlight) { + const u8 buf[] = { FEATURE_KBD_REPORT_ID, 0xba, 0xc5, 0xc4, + drvdata->kbd_backlight->cdev.brightness }; + ret = asus_kbd_set_report(hdev, buf, sizeof(buf)); + if (ret < 0) { + hid_err(hdev, "Asus failed to set keyboard backlight: %d\n", ret); + goto asus_resume_err; + } + } + +asus_resume_err: + return ret; +} + static int __maybe_unused asus_reset_resume(struct hid_device *hdev) { struct asus_drvdata *drvdata = hid_get_drvdata(hdev); @@ -1177,6 +1195,7 @@ .input_configured = asus_input_configured, #ifdef CONFIG_PM .reset_resume = asus_reset_resume, + .resume = asus_resume, #endif .event = asus_event, .raw_event = asus_raw_event diff -Nru linux-5.10.197/drivers/hid/hid-core.c linux-5.10.205/drivers/hid/hid-core.c --- linux-5.10.197/drivers/hid/hid-core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/hid/hid-core.c 2023-12-20 14:44:42.000000000 +0000 @@ -702,15 +702,22 @@ * Free a device structure, all reports, and all fields. */ -static void hid_device_release(struct device *dev) +void hiddev_free(struct kref *ref) { - struct hid_device *hid = to_hid_device(dev); + struct hid_device *hid = container_of(ref, struct hid_device, ref); hid_close_report(hid); kfree(hid->dev_rdesc); kfree(hid); } +static void hid_device_release(struct device *dev) +{ + struct hid_device *hid = to_hid_device(dev); + + kref_put(&hid->ref, hiddev_free); +} + /* * Fetch a report description item from the data stream. We support long * items, though they are not used yet. @@ -2444,10 +2451,12 @@ hid_warn(hdev, "bad device descriptor (%d)\n", ret); } + hdev->id = atomic_inc_return(&id); + /* XXX hack, any other cleaner solution after the driver core * is converted to allow more than 20 bytes as the device name? */ dev_set_name(&hdev->dev, "%04X:%04X:%04X.%04X", hdev->bus, - hdev->vendor, hdev->product, atomic_inc_return(&id)); + hdev->vendor, hdev->product, hdev->id); hid_debug_register(hdev, dev_name(&hdev->dev)); ret = device_add(&hdev->dev); @@ -2490,6 +2499,7 @@ spin_lock_init(&hdev->debug_list_lock); sema_init(&hdev->driver_input_lock, 1); mutex_init(&hdev->ll_open_lock); + kref_init(&hdev->ref); return hdev; } diff -Nru linux-5.10.197/drivers/hid/hid-cp2112.c linux-5.10.205/drivers/hid/hid-cp2112.c --- linux-5.10.197/drivers/hid/hid-cp2112.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/hid/hid-cp2112.c 2023-12-20 14:44:42.000000000 +0000 @@ -1157,8 +1157,6 @@ struct gpio_chip *gc = irq_data_get_irq_chip_data(d); struct cp2112_device *dev = gpiochip_get_data(gc); - INIT_DELAYED_WORK(&dev->gpio_poll_worker, cp2112_gpio_poll_callback); - if (!dev->gpio_poll) { dev->gpio_poll = true; schedule_delayed_work(&dev->gpio_poll_worker, 0); @@ -1173,7 +1171,10 @@ struct gpio_chip *gc = irq_data_get_irq_chip_data(d); struct cp2112_device *dev = gpiochip_get_data(gc); - cancel_delayed_work_sync(&dev->gpio_poll_worker); + if (!dev->irq_mask) { + dev->gpio_poll = false; + cancel_delayed_work_sync(&dev->gpio_poll_worker); + } } static int cp2112_gpio_irq_type(struct irq_data *d, unsigned int type) @@ -1354,6 +1355,8 @@ girq->handler = handle_simple_irq; girq->threaded = true; + INIT_DELAYED_WORK(&dev->gpio_poll_worker, cp2112_gpio_poll_callback); + ret = gpiochip_add_data(&dev->gc, dev); if (ret < 0) { hid_err(hdev, "error registering gpio chip\n"); diff -Nru linux-5.10.197/drivers/hid/hid-debug.c linux-5.10.205/drivers/hid/hid-debug.c --- linux-5.10.197/drivers/hid/hid-debug.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/hid/hid-debug.c 2023-12-20 14:44:42.000000000 +0000 @@ -1082,6 +1082,7 @@ goto out; } list->hdev = (struct hid_device *) inode->i_private; + kref_get(&list->hdev->ref); file->private_data = list; mutex_init(&list->read_mutex); @@ -1174,6 +1175,8 @@ list_del(&list->node); spin_unlock_irqrestore(&list->hdev->debug_list_lock, flags); kfifo_free(&list->hid_debug_fifo); + + kref_put(&list->hdev->ref, hiddev_free); kfree(list); return 0; diff -Nru linux-5.10.197/drivers/hid/hid-glorious.c linux-5.10.205/drivers/hid/hid-glorious.c --- linux-5.10.197/drivers/hid/hid-glorious.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/hid/hid-glorious.c 2023-12-20 14:44:42.000000000 +0000 @@ -21,6 +21,10 @@ * Glorious Model O and O- specify the const flag in the consumer input * report descriptor, which leads to inputs being ignored. Fix this * by patching the descriptor. + * + * Glorious Model I incorrectly specifes the Usage Minimum for its + * keyboard HID report, causing keycodes to be misinterpreted. + * Fix this by setting Usage Minimum to 0 in that report. */ static __u8 *glorious_report_fixup(struct hid_device *hdev, __u8 *rdesc, unsigned int *rsize) @@ -32,6 +36,10 @@ rdesc[85] = rdesc[113] = rdesc[141] = \ HID_MAIN_ITEM_VARIABLE | HID_MAIN_ITEM_RELATIVE; } + if (*rsize == 156 && rdesc[41] == 1) { + hid_info(hdev, "patching Glorious Model I keyboard report descriptor\n"); + rdesc[41] = 0; + } return rdesc; } @@ -44,6 +52,8 @@ model = "Model O"; break; case USB_DEVICE_ID_GLORIOUS_MODEL_D: model = "Model D"; break; + case USB_DEVICE_ID_GLORIOUS_MODEL_I: + model = "Model I"; break; } snprintf(hdev->name, sizeof(hdev->name), "%s %s", "Glorious", model); @@ -66,10 +76,12 @@ } static const struct hid_device_id glorious_devices[] = { - { HID_USB_DEVICE(USB_VENDOR_ID_GLORIOUS, + { HID_USB_DEVICE(USB_VENDOR_ID_SINOWEALTH, USB_DEVICE_ID_GLORIOUS_MODEL_O) }, - { HID_USB_DEVICE(USB_VENDOR_ID_GLORIOUS, + { HID_USB_DEVICE(USB_VENDOR_ID_SINOWEALTH, USB_DEVICE_ID_GLORIOUS_MODEL_D) }, + { HID_USB_DEVICE(USB_VENDOR_ID_LAVIEW, + USB_DEVICE_ID_GLORIOUS_MODEL_I) }, { } }; MODULE_DEVICE_TABLE(hid, glorious_devices); diff -Nru linux-5.10.197/drivers/hid/hid-holtek-kbd.c linux-5.10.205/drivers/hid/hid-holtek-kbd.c --- linux-5.10.197/drivers/hid/hid-holtek-kbd.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/hid/hid-holtek-kbd.c 2023-12-20 14:44:42.000000000 +0000 @@ -130,6 +130,10 @@ return -ENODEV; boot_hid = usb_get_intfdata(boot_interface); + if (list_empty(&boot_hid->inputs)) { + hid_err(hid, "no inputs found\n"); + return -ENODEV; + } boot_hid_input = list_first_entry(&boot_hid->inputs, struct hid_input, list); diff -Nru linux-5.10.197/drivers/hid/hid-ids.h linux-5.10.205/drivers/hid/hid-ids.h --- linux-5.10.197/drivers/hid/hid-ids.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/hid/hid-ids.h 2023-12-20 14:44:42.000000000 +0000 @@ -345,6 +345,7 @@ #define USB_VENDOR_ID_DELL 0x413c #define USB_DEVICE_ID_DELL_PIXART_USB_OPTICAL_MOUSE 0x301a +#define USB_DEVICE_ID_DELL_PRO_WIRELESS_KM5221W 0x4503 #define USB_VENDOR_ID_DELORME 0x1163 #define USB_DEVICE_ID_DELORME_EARTHMATE 0x0100 @@ -470,10 +471,6 @@ #define USB_DEVICE_ID_GENERAL_TOUCH_WIN8_PIT_010A 0x010a #define USB_DEVICE_ID_GENERAL_TOUCH_WIN8_PIT_E100 0xe100 -#define USB_VENDOR_ID_GLORIOUS 0x258a -#define USB_DEVICE_ID_GLORIOUS_MODEL_D 0x0033 -#define USB_DEVICE_ID_GLORIOUS_MODEL_O 0x0036 - #define I2C_VENDOR_ID_GOODIX 0x27c6 #define I2C_DEVICE_ID_GOODIX_01F0 0x01f0 @@ -696,6 +693,9 @@ #define USB_VENDOR_ID_LABTEC 0x1020 #define USB_DEVICE_ID_LABTEC_WIRELESS_KEYBOARD 0x0006 +#define USB_VENDOR_ID_LAVIEW 0x22D4 +#define USB_DEVICE_ID_GLORIOUS_MODEL_I 0x1503 + #define USB_VENDOR_ID_LCPOWER 0x1241 #define USB_DEVICE_ID_LCPOWER_LC1000 0xf767 @@ -1067,6 +1067,10 @@ #define USB_VENDOR_ID_SIGMATEL 0x066F #define USB_DEVICE_ID_SIGMATEL_STMP3780 0x3780 +#define USB_VENDOR_ID_SINOWEALTH 0x258a +#define USB_DEVICE_ID_GLORIOUS_MODEL_D 0x0033 +#define USB_DEVICE_ID_GLORIOUS_MODEL_O 0x0036 + #define USB_VENDOR_ID_SIS_TOUCH 0x0457 #define USB_DEVICE_ID_SIS9200_TOUCH 0x9200 #define USB_DEVICE_ID_SIS817_TOUCH 0x0817 diff -Nru linux-5.10.197/drivers/hid/hid-lenovo.c linux-5.10.205/drivers/hid/hid-lenovo.c --- linux-5.10.197/drivers/hid/hid-lenovo.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/hid/hid-lenovo.c 2023-12-20 14:44:42.000000000 +0000 @@ -50,7 +50,12 @@ int select_right; int sensitivity; int press_speed; - u8 middlebutton_state; /* 0:Up, 1:Down (undecided), 2:Scrolling */ + /* 0: Up + * 1: Down (undecided) + * 2: Scrolling + * 3: Patched firmware, disable workaround + */ + u8 middlebutton_state; bool fn_lock; }; @@ -478,31 +483,49 @@ { struct lenovo_drvdata *cptkbd_data = hid_get_drvdata(hdev); - /* "wheel" scroll events */ - if (usage->type == EV_REL && (usage->code == REL_WHEEL || - usage->code == REL_HWHEEL)) { - /* Scroll events disable middle-click event */ - cptkbd_data->middlebutton_state = 2; - return 0; - } + if (cptkbd_data->middlebutton_state != 3) { + /* REL_X and REL_Y events during middle button pressed + * are only possible on patched, bug-free firmware + * so set middlebutton_state to 3 + * to never apply workaround anymore + */ + if (hdev->product == USB_DEVICE_ID_LENOVO_CUSBKBD && + cptkbd_data->middlebutton_state == 1 && + usage->type == EV_REL && + (usage->code == REL_X || usage->code == REL_Y)) { + cptkbd_data->middlebutton_state = 3; + /* send middle button press which was hold before */ + input_event(field->hidinput->input, + EV_KEY, BTN_MIDDLE, 1); + input_sync(field->hidinput->input); + } - /* Middle click events */ - if (usage->type == EV_KEY && usage->code == BTN_MIDDLE) { - if (value == 1) { - cptkbd_data->middlebutton_state = 1; - } else if (value == 0) { - if (cptkbd_data->middlebutton_state == 1) { - /* No scrolling inbetween, send middle-click */ - input_event(field->hidinput->input, - EV_KEY, BTN_MIDDLE, 1); - input_sync(field->hidinput->input); - input_event(field->hidinput->input, - EV_KEY, BTN_MIDDLE, 0); - input_sync(field->hidinput->input); + /* "wheel" scroll events */ + if (usage->type == EV_REL && (usage->code == REL_WHEEL || + usage->code == REL_HWHEEL)) { + /* Scroll events disable middle-click event */ + cptkbd_data->middlebutton_state = 2; + return 0; + } + + /* Middle click events */ + if (usage->type == EV_KEY && usage->code == BTN_MIDDLE) { + if (value == 1) { + cptkbd_data->middlebutton_state = 1; + } else if (value == 0) { + if (cptkbd_data->middlebutton_state == 1) { + /* No scrolling inbetween, send middle-click */ + input_event(field->hidinput->input, + EV_KEY, BTN_MIDDLE, 1); + input_sync(field->hidinput->input); + input_event(field->hidinput->input, + EV_KEY, BTN_MIDDLE, 0); + input_sync(field->hidinput->input); + } + cptkbd_data->middlebutton_state = 0; } - cptkbd_data->middlebutton_state = 0; + return 1; } - return 1; } return 0; diff -Nru linux-5.10.197/drivers/hid/hid-logitech-hidpp.c linux-5.10.205/drivers/hid/hid-logitech-hidpp.c --- linux-5.10.197/drivers/hid/hid-logitech-hidpp.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/hid/hid-logitech-hidpp.c 2023-12-20 14:44:42.000000000 +0000 @@ -31,11 +31,6 @@ MODULE_AUTHOR("Benjamin Tissoires "); MODULE_AUTHOR("Nestor Lopez Casado "); -static bool disable_raw_mode; -module_param(disable_raw_mode, bool, 0644); -MODULE_PARM_DESC(disable_raw_mode, - "Disable Raw mode reporting for touchpads and keep firmware gestures."); - static bool disable_tap_to_click; module_param(disable_tap_to_click, bool, 0644); MODULE_PARM_DESC(disable_tap_to_click, @@ -66,7 +61,7 @@ /* bits 2..20 are reserved for classes */ /* #define HIDPP_QUIRK_CONNECT_EVENTS BIT(21) disabled */ #define HIDPP_QUIRK_WTP_PHYSICAL_BUTTONS BIT(22) -#define HIDPP_QUIRK_NO_HIDINPUT BIT(23) +#define HIDPP_QUIRK_DELAYED_INIT BIT(23) #define HIDPP_QUIRK_FORCE_OUTPUT_REPORTS BIT(24) #define HIDPP_QUIRK_UNIFYING BIT(25) #define HIDPP_QUIRK_HI_RES_SCROLL_1P0 BIT(26) @@ -85,8 +80,6 @@ HIDPP_QUIRK_HI_RES_SCROLL_X2120 | \ HIDPP_QUIRK_HI_RES_SCROLL_X2121) -#define HIDPP_QUIRK_DELAYED_INIT HIDPP_QUIRK_NO_HIDINPUT - #define HIDPP_CAPABILITY_HIDPP10_BATTERY BIT(0) #define HIDPP_CAPABILITY_HIDPP20_BATTERY BIT(1) #define HIDPP_CAPABILITY_BATTERY_MILEAGE BIT(2) @@ -1495,15 +1488,14 @@ /* -------------------------------------------------------------------------- */ #define HIDPP_PAGE_WIRELESS_DEVICE_STATUS 0x1d4b -static int hidpp_set_wireless_feature_index(struct hidpp_device *hidpp) +static int hidpp_get_wireless_feature_index(struct hidpp_device *hidpp, u8 *feature_index) { u8 feature_type; int ret; ret = hidpp_root_get_feature(hidpp, HIDPP_PAGE_WIRELESS_DEVICE_STATUS, - &hidpp->wireless_feature_index, - &feature_type); + feature_index, &feature_type); return ret; } @@ -3673,6 +3665,13 @@ } } + if (hidpp->protocol_major >= 2) { + u8 feature_index; + + if (!hidpp_get_wireless_feature_index(hidpp, &feature_index)) + hidpp->wireless_feature_index = feature_index; + } + if (hidpp->name == hdev->name && hidpp->protocol_major >= 2) { name = hidpp_get_device_name(hidpp); if (name) { @@ -3707,7 +3706,7 @@ if (hidpp->quirks & HIDPP_QUIRK_HI_RES_SCROLL) hi_res_scroll_enable(hidpp); - if (!(hidpp->quirks & HIDPP_QUIRK_NO_HIDINPUT) || hidpp->delayed_input) + if (!(hidpp->quirks & HIDPP_QUIRK_DELAYED_INIT) || hidpp->delayed_input) /* if the input nodes are already created, we can stop now */ return; @@ -3810,7 +3809,6 @@ bool connected; unsigned int connect_mask = HID_CONNECT_DEFAULT; struct hidpp_ff_private_data data; - bool will_restart = false; /* report_fixup needs drvdata to be set before we call hid_parse */ hidpp = devm_kzalloc(&hdev->dev, sizeof(*hidpp), GFP_KERNEL); @@ -3851,11 +3849,6 @@ hidpp_application_equals(hdev, HID_GD_KEYBOARD)) hidpp->quirks |= HIDPP_QUIRK_HIDPP_CONSUMER_VENDOR_KEYS; - if (disable_raw_mode) { - hidpp->quirks &= ~HIDPP_QUIRK_CLASS_WTP; - hidpp->quirks &= ~HIDPP_QUIRK_NO_HIDINPUT; - } - if (hidpp->quirks & HIDPP_QUIRK_CLASS_WTP) { ret = wtp_allocate(hdev, id); if (ret) @@ -3866,10 +3859,6 @@ return ret; } - if (hidpp->quirks & HIDPP_QUIRK_DELAYED_INIT || - hidpp->quirks & HIDPP_QUIRK_UNIFYING) - will_restart = true; - INIT_WORK(&hidpp->work, delayed_work_cb); mutex_init(&hidpp->send_mutex); init_waitqueue_head(&hidpp->wait); @@ -3881,10 +3870,12 @@ hdev->name); /* - * Plain USB connections need to actually call start and open - * on the transport driver to allow incoming data. + * First call hid_hw_start(hdev, 0) to allow IO without connecting any + * hid subdrivers (hid-input, hidraw). This allows retrieving the dev's + * name and serial number and store these in hdev->name and hdev->uniq, + * before the hid-input and hidraw drivers expose these to userspace. */ - ret = hid_hw_start(hdev, will_restart ? 0 : connect_mask); + ret = hid_hw_start(hdev, 0); if (ret) { hid_err(hdev, "hw start failed\n"); goto hid_hw_start_fail; @@ -3917,15 +3908,6 @@ hidpp_overwrite_name(hdev); } - if (connected && hidpp->protocol_major >= 2) { - ret = hidpp_set_wireless_feature_index(hidpp); - if (ret == -ENOENT) - hidpp->wireless_feature_index = 0; - else if (ret) - goto hid_hw_init_fail; - ret = 0; - } - if (connected && (hidpp->quirks & HIDPP_QUIRK_CLASS_WTP)) { ret = wtp_get_config(hidpp); if (ret) @@ -3936,23 +3918,17 @@ goto hid_hw_init_fail; } - hidpp_connect_event(hidpp); - - if (will_restart) { - /* Reset the HID node state */ - hid_device_io_stop(hdev); - hid_hw_close(hdev); - hid_hw_stop(hdev); + schedule_work(&hidpp->work); + flush_work(&hidpp->work); - if (hidpp->quirks & HIDPP_QUIRK_NO_HIDINPUT) - connect_mask &= ~HID_CONNECT_HIDINPUT; + if (hidpp->quirks & HIDPP_QUIRK_DELAYED_INIT) + connect_mask &= ~HID_CONNECT_HIDINPUT; - /* Now export the actual inputs and hidraw nodes to the world */ - ret = hid_hw_start(hdev, connect_mask); - if (ret) { - hid_err(hdev, "%s:hid_hw_start returned error\n", __func__); - goto hid_hw_start_fail; - } + /* Now export the actual inputs and hidraw nodes to the world */ + ret = hid_connect(hdev, connect_mask); + if (ret) { + hid_err(hdev, "%s:hid_connect returned error %d\n", __func__, ret); + goto hid_hw_init_fail; } if (hidpp->quirks & HIDPP_QUIRK_CLASS_G920) { @@ -3963,6 +3939,11 @@ ret); } + /* + * This relies on logi_dj_ll_close() being a no-op so that DJ connection + * events will still be received. + */ + hid_hw_close(hdev); return ret; hid_hw_init_fail: diff -Nru linux-5.10.197/drivers/hid/hid-multitouch.c linux-5.10.205/drivers/hid/hid-multitouch.c --- linux-5.10.197/drivers/hid/hid-multitouch.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/hid/hid-multitouch.c 2023-12-20 14:44:42.000000000 +0000 @@ -1962,6 +1962,11 @@ MT_USB_DEVICE(USB_VENDOR_ID_HANVON_ALT, USB_DEVICE_ID_HANVON_ALT_MULTITOUCH) }, + /* HONOR GLO-GXXX panel */ + { .driver_data = MT_CLS_VTL, + HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8, + 0x347d, 0x7853) }, + /* Ilitek dual touch panel */ { .driver_data = MT_CLS_NSMU, MT_USB_DEVICE(USB_VENDOR_ID_ILITEK, @@ -2060,6 +2065,10 @@ /* Synaptics devices */ { .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT, HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8, + USB_VENDOR_ID_SYNAPTICS, 0xcd7e) }, + + { .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT, + HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8, USB_VENDOR_ID_SYNAPTICS, 0xce08) }, { .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT, diff -Nru linux-5.10.197/drivers/hid/hid-quirks.c linux-5.10.205/drivers/hid/hid-quirks.c --- linux-5.10.197/drivers/hid/hid-quirks.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/hid/hid-quirks.c 2023-12-20 14:44:42.000000000 +0000 @@ -33,6 +33,7 @@ { HID_USB_DEVICE(USB_VENDOR_ID_AKAI, USB_DEVICE_ID_AKAI_MPKMINI2), HID_QUIRK_NO_INIT_REPORTS }, { HID_USB_DEVICE(USB_VENDOR_ID_ALPS, USB_DEVICE_ID_IBM_GAMEPAD), HID_QUIRK_BADPAD }, { HID_USB_DEVICE(USB_VENDOR_ID_AMI, USB_DEVICE_ID_AMI_VIRT_KEYBOARD_AND_MOUSE), HID_QUIRK_ALWAYS_POLL }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_REVB_ANSI), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_2PORTKVM), HID_QUIRK_NOGET }, { HID_USB_DEVICE(USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVMC), HID_QUIRK_NOGET }, { HID_USB_DEVICE(USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVM), HID_QUIRK_NOGET }, @@ -66,6 +67,7 @@ { HID_USB_DEVICE(USB_VENDOR_ID_CORSAIR, USB_DEVICE_ID_CORSAIR_STRAFE), HID_QUIRK_NO_INIT_REPORTS | HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_CREATIVELABS, USB_DEVICE_ID_CREATIVE_SB_OMNI_SURROUND_51), HID_QUIRK_NOGET }, { HID_USB_DEVICE(USB_VENDOR_ID_DELL, USB_DEVICE_ID_DELL_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL }, + { HID_USB_DEVICE(USB_VENDOR_ID_DELL, USB_DEVICE_ID_DELL_PRO_WIRELESS_KM5221W), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC), HID_QUIRK_NOGET }, { HID_USB_DEVICE(USB_VENDOR_ID_DRACAL_RAPHNET, USB_DEVICE_ID_RAPHNET_2NES2SNES), HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_DRACAL_RAPHNET, USB_DEVICE_ID_RAPHNET_4NES4SNES), HID_QUIRK_MULTI_INPUT }, diff -Nru linux-5.10.197/drivers/hwmon/acpi_power_meter.c linux-5.10.205/drivers/hwmon/acpi_power_meter.c --- linux-5.10.197/drivers/hwmon/acpi_power_meter.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/hwmon/acpi_power_meter.c 2023-12-20 14:44:42.000000000 +0000 @@ -32,6 +32,7 @@ #define POWER_METER_CAN_NOTIFY (1 << 3) #define POWER_METER_IS_BATTERY (1 << 8) #define UNKNOWN_HYSTERESIS 0xFFFFFFFF +#define UNKNOWN_POWER 0xFFFFFFFF #define METER_NOTIFY_CONFIG 0x80 #define METER_NOTIFY_TRIP 0x81 @@ -343,6 +344,9 @@ update_meter(resource); mutex_unlock(&resource->lock); + if (resource->power == UNKNOWN_POWER) + return -ENODATA; + return sprintf(buf, "%llu\n", resource->power * 1000); } diff -Nru linux-5.10.197/drivers/hwmon/axi-fan-control.c linux-5.10.205/drivers/hwmon/axi-fan-control.c --- linux-5.10.197/drivers/hwmon/axi-fan-control.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/hwmon/axi-fan-control.c 2023-12-20 14:44:42.000000000 +0000 @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -23,6 +24,14 @@ #define ADI_REG_PWM_PERIOD 0x00c0 #define ADI_REG_TACH_MEASUR 0x00c4 #define ADI_REG_TEMPERATURE 0x00c8 +#define ADI_REG_TEMP_00_H 0x0100 +#define ADI_REG_TEMP_25_L 0x0104 +#define ADI_REG_TEMP_25_H 0x0108 +#define ADI_REG_TEMP_50_L 0x010c +#define ADI_REG_TEMP_50_H 0x0110 +#define ADI_REG_TEMP_75_L 0x0114 +#define ADI_REG_TEMP_75_H 0x0118 +#define ADI_REG_TEMP_100_L 0x011c #define ADI_REG_IRQ_MASK 0x0040 #define ADI_REG_IRQ_PENDING 0x0044 @@ -62,6 +71,39 @@ return ioread32(ctl->base + reg); } +/* + * The core calculates the temperature as: + * T = /raw * 509.3140064 / 65535) - 280.2308787 + */ +static ssize_t axi_fan_control_show(struct device *dev, struct device_attribute *da, char *buf) +{ + struct axi_fan_control_data *ctl = dev_get_drvdata(dev); + struct sensor_device_attribute *attr = to_sensor_dev_attr(da); + u32 temp = axi_ioread(attr->index, ctl); + + temp = DIV_ROUND_CLOSEST_ULL(temp * 509314ULL, 65535) - 280230; + + return sprintf(buf, "%u\n", temp); +} + +static ssize_t axi_fan_control_store(struct device *dev, struct device_attribute *da, + const char *buf, size_t count) +{ + struct axi_fan_control_data *ctl = dev_get_drvdata(dev); + struct sensor_device_attribute *attr = to_sensor_dev_attr(da); + u32 temp; + int ret; + + ret = kstrtou32(buf, 10, &temp); + if (ret) + return ret; + + temp = DIV_ROUND_CLOSEST_ULL((temp + 280230) * 65535ULL, 509314); + axi_iowrite(temp, attr->index, ctl); + + return count; +} + static long axi_fan_control_get_pwm_duty(const struct axi_fan_control_data *ctl) { u32 pwm_width = axi_ioread(ADI_REG_PWM_WIDTH, ctl); @@ -370,6 +412,36 @@ .info = axi_fan_control_info, }; +/* temperature threshold below which PWM should be 0% */ +static SENSOR_DEVICE_ATTR_RW(pwm1_auto_point1_temp_hyst, axi_fan_control, ADI_REG_TEMP_00_H); +/* temperature threshold above which PWM should be 25% */ +static SENSOR_DEVICE_ATTR_RW(pwm1_auto_point1_temp, axi_fan_control, ADI_REG_TEMP_25_L); +/* temperature threshold below which PWM should be 25% */ +static SENSOR_DEVICE_ATTR_RW(pwm1_auto_point2_temp_hyst, axi_fan_control, ADI_REG_TEMP_25_H); +/* temperature threshold above which PWM should be 50% */ +static SENSOR_DEVICE_ATTR_RW(pwm1_auto_point2_temp, axi_fan_control, ADI_REG_TEMP_50_L); +/* temperature threshold below which PWM should be 50% */ +static SENSOR_DEVICE_ATTR_RW(pwm1_auto_point3_temp_hyst, axi_fan_control, ADI_REG_TEMP_50_H); +/* temperature threshold above which PWM should be 75% */ +static SENSOR_DEVICE_ATTR_RW(pwm1_auto_point3_temp, axi_fan_control, ADI_REG_TEMP_75_L); +/* temperature threshold below which PWM should be 75% */ +static SENSOR_DEVICE_ATTR_RW(pwm1_auto_point4_temp_hyst, axi_fan_control, ADI_REG_TEMP_75_H); +/* temperature threshold above which PWM should be 100% */ +static SENSOR_DEVICE_ATTR_RW(pwm1_auto_point4_temp, axi_fan_control, ADI_REG_TEMP_100_L); + +static struct attribute *axi_fan_control_attrs[] = { + &sensor_dev_attr_pwm1_auto_point1_temp_hyst.dev_attr.attr, + &sensor_dev_attr_pwm1_auto_point1_temp.dev_attr.attr, + &sensor_dev_attr_pwm1_auto_point2_temp_hyst.dev_attr.attr, + &sensor_dev_attr_pwm1_auto_point2_temp.dev_attr.attr, + &sensor_dev_attr_pwm1_auto_point3_temp_hyst.dev_attr.attr, + &sensor_dev_attr_pwm1_auto_point3_temp.dev_attr.attr, + &sensor_dev_attr_pwm1_auto_point4_temp_hyst.dev_attr.attr, + &sensor_dev_attr_pwm1_auto_point4_temp.dev_attr.attr, + NULL, +}; +ATTRIBUTE_GROUPS(axi_fan_control); + static const u32 version_1_0_0 = ADI_AXI_PCORE_VER(1, 0, 'a'); static const struct of_device_id axi_fan_control_of_match[] = { @@ -423,6 +495,21 @@ return -ENODEV; } + ret = axi_fan_control_init(ctl, pdev->dev.of_node); + if (ret) { + dev_err(&pdev->dev, "Failed to initialize device\n"); + return ret; + } + + ctl->hdev = devm_hwmon_device_register_with_info(&pdev->dev, + name, + ctl, + &axi_chip_info, + axi_fan_control_groups); + + if (IS_ERR(ctl->hdev)) + return PTR_ERR(ctl->hdev); + ctl->irq = platform_get_irq(pdev, 0); if (ctl->irq < 0) return ctl->irq; @@ -436,19 +523,7 @@ return ret; } - ret = axi_fan_control_init(ctl, pdev->dev.of_node); - if (ret) { - dev_err(&pdev->dev, "Failed to initialize device\n"); - return ret; - } - - ctl->hdev = devm_hwmon_device_register_with_info(&pdev->dev, - name, - ctl, - &axi_chip_info, - NULL); - - return PTR_ERR_OR_ZERO(ctl->hdev); + return 0; } static struct platform_driver axi_fan_control_driver = { diff -Nru linux-5.10.197/drivers/hwmon/coretemp.c linux-5.10.205/drivers/hwmon/coretemp.c --- linux-5.10.197/drivers/hwmon/coretemp.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/hwmon/coretemp.c 2023-12-20 14:44:42.000000000 +0000 @@ -41,7 +41,7 @@ #define PKG_SYSFS_ATTR_NO 1 /* Sysfs attribute for package temp */ #define BASE_SYSFS_ATTR_NO 2 /* Sysfs Base attr no for coretemp */ #define NUM_REAL_CORES 128 /* Number of Real cores per cpu */ -#define CORETEMP_NAME_LENGTH 19 /* String Length of attrs */ +#define CORETEMP_NAME_LENGTH 28 /* String Length of attrs */ #define MAX_CORE_ATTRS 4 /* Maximum no of basic attrs */ #define TOTAL_ATTRS (MAX_CORE_ATTRS + 1) #define MAX_CORE_DATA (NUM_REAL_CORES + BASE_SYSFS_ATTR_NO) diff -Nru linux-5.10.197/drivers/i2c/busses/i2c-aspeed.c linux-5.10.205/drivers/i2c/busses/i2c-aspeed.c --- linux-5.10.197/drivers/i2c/busses/i2c-aspeed.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/i2c/busses/i2c-aspeed.c 2023-12-20 14:44:42.000000000 +0000 @@ -740,6 +740,8 @@ func_ctrl_reg_val = readl(bus->base + ASPEED_I2C_FUN_CTRL_REG); func_ctrl_reg_val |= ASPEED_I2CD_SLAVE_EN; writel(func_ctrl_reg_val, bus->base + ASPEED_I2C_FUN_CTRL_REG); + + bus->slave_state = ASPEED_I2C_SLAVE_INACTIVE; } static int aspeed_i2c_reg_slave(struct i2c_client *client) @@ -756,7 +758,6 @@ __aspeed_i2c_reg_slave(bus, client->addr); bus->slave = client; - bus->slave_state = ASPEED_I2C_SLAVE_INACTIVE; spin_unlock_irqrestore(&bus->lock, flags); return 0; diff -Nru linux-5.10.197/drivers/i2c/busses/i2c-designware-common.c linux-5.10.205/drivers/i2c/busses/i2c-designware-common.c --- linux-5.10.197/drivers/i2c/busses/i2c-designware-common.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/i2c/busses/i2c-designware-common.c 2023-12-20 14:44:42.000000000 +0000 @@ -63,7 +63,7 @@ { struct dw_i2c_dev *dev = context; - *val = readl_relaxed(dev->base + reg); + *val = readl(dev->base + reg); return 0; } @@ -72,7 +72,7 @@ { struct dw_i2c_dev *dev = context; - writel_relaxed(val, dev->base + reg); + writel(val, dev->base + reg); return 0; } @@ -81,7 +81,7 @@ { struct dw_i2c_dev *dev = context; - *val = swab32(readl_relaxed(dev->base + reg)); + *val = swab32(readl(dev->base + reg)); return 0; } @@ -90,7 +90,7 @@ { struct dw_i2c_dev *dev = context; - writel_relaxed(swab32(val), dev->base + reg); + writel(swab32(val), dev->base + reg); return 0; } @@ -99,8 +99,8 @@ { struct dw_i2c_dev *dev = context; - *val = readw_relaxed(dev->base + reg) | - (readw_relaxed(dev->base + reg + 2) << 16); + *val = readw(dev->base + reg) | + (readw(dev->base + reg + 2) << 16); return 0; } @@ -109,8 +109,8 @@ { struct dw_i2c_dev *dev = context; - writew_relaxed(val, dev->base + reg); - writew_relaxed(val >> 16, dev->base + reg + 2); + writew(val, dev->base + reg); + writew(val >> 16, dev->base + reg + 2); return 0; } diff -Nru linux-5.10.197/drivers/i2c/busses/i2c-designware-master.c linux-5.10.205/drivers/i2c/busses/i2c-designware-master.c --- linux-5.10.197/drivers/i2c/busses/i2c-designware-master.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/i2c/busses/i2c-designware-master.c 2023-12-20 14:44:42.000000000 +0000 @@ -362,10 +362,16 @@ /* * Because we don't know the buffer length in the - * I2C_FUNC_SMBUS_BLOCK_DATA case, we can't stop - * the transaction here. + * I2C_FUNC_SMBUS_BLOCK_DATA case, we can't stop the + * transaction here. Also disable the TX_EMPTY IRQ + * while waiting for the data length byte to avoid the + * bogus interrupts flood. */ - if (buf_len > 0 || flags & I2C_M_RECV_LEN) { + if (flags & I2C_M_RECV_LEN) { + dev->status |= STATUS_WRITE_IN_PROGRESS; + intr_mask &= ~DW_IC_INTR_TX_EMPTY; + break; + } else if (buf_len > 0) { /* more bytes to be written */ dev->status |= STATUS_WRITE_IN_PROGRESS; break; @@ -401,6 +407,13 @@ msgs[dev->msg_read_idx].len = len; msgs[dev->msg_read_idx].flags &= ~I2C_M_RECV_LEN; + /* + * Received buffer length, re-enable TX_EMPTY interrupt + * to resume the SMBUS transaction. + */ + regmap_update_bits(dev->map, DW_IC_INTR_MASK, DW_IC_INTR_TX_EMPTY, + DW_IC_INTR_TX_EMPTY); + return len; } diff -Nru linux-5.10.197/drivers/i2c/busses/i2c-i801.c linux-5.10.205/drivers/i2c/busses/i2c-i801.c --- linux-5.10.197/drivers/i2c/busses/i2c-i801.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/i2c/busses/i2c-i801.c 2023-12-20 14:44:42.000000000 +0000 @@ -735,15 +735,11 @@ return i801_check_post(priv, status); } - for (i = 1; i <= len; i++) { - if (i == len && read_write == I2C_SMBUS_READ) - smbcmd |= SMBHSTCNT_LAST_BYTE; - outb_p(smbcmd, SMBHSTCNT(priv)); - - if (i == 1) - outb_p(inb(SMBHSTCNT(priv)) | SMBHSTCNT_START, - SMBHSTCNT(priv)); + if (len == 1 && read_write == I2C_SMBUS_READ) + smbcmd |= SMBHSTCNT_LAST_BYTE; + outb_p(smbcmd | SMBHSTCNT_START, SMBHSTCNT(priv)); + for (i = 1; i <= len; i++) { status = i801_wait_byte_done(priv); if (status) goto exit; @@ -766,9 +762,12 @@ data->block[0] = len; } - /* Retrieve/store value in SMBBLKDAT */ - if (read_write == I2C_SMBUS_READ) + if (read_write == I2C_SMBUS_READ) { data->block[i] = inb_p(SMBBLKDAT(priv)); + if (i == len - 1) + outb_p(smbcmd | SMBHSTCNT_LAST_BYTE, SMBHSTCNT(priv)); + } + if (read_write == I2C_SMBUS_WRITE && i+1 <= len) outb_p(data->block[i+1], SMBBLKDAT(priv)); @@ -1907,6 +1906,7 @@ "SMBus I801 adapter at %04lx", priv->smba); err = i2c_add_adapter(&priv->adapter); if (err) { + platform_device_unregister(priv->tco_pdev); i801_acpi_remove(priv); return err; } diff -Nru linux-5.10.197/drivers/i2c/busses/i2c-npcm7xx.c linux-5.10.205/drivers/i2c/busses/i2c-npcm7xx.c --- linux-5.10.197/drivers/i2c/busses/i2c-npcm7xx.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/i2c/busses/i2c-npcm7xx.c 2023-12-20 14:44:42.000000000 +0000 @@ -675,6 +675,7 @@ { struct i2c_msg *msgs; int msgs_num; + bool do_complete = false; msgs = bus->msgs; msgs_num = bus->msgs_num; @@ -701,23 +702,17 @@ msgs[1].flags & I2C_M_RD) msgs[1].len = info; } - if (completion_done(&bus->cmd_complete) == false) - complete(&bus->cmd_complete); - break; - + do_complete = true; + break; case I2C_NACK_IND: /* MASTER transmit got a NACK before tx all bytes */ bus->cmd_err = -ENXIO; - if (bus->master_or_slave == I2C_MASTER) - complete(&bus->cmd_complete); - + do_complete = true; break; case I2C_BUS_ERR_IND: /* Bus error */ bus->cmd_err = -EAGAIN; - if (bus->master_or_slave == I2C_MASTER) - complete(&bus->cmd_complete); - + do_complete = true; break; case I2C_WAKE_UP_IND: /* I2C wake up */ @@ -731,6 +726,8 @@ if (bus->slave) bus->master_or_slave = I2C_SLAVE; #endif + if (do_complete) + complete(&bus->cmd_complete); } static u8 npcm_i2c_fifo_usage(struct npcm_i2c *bus) diff -Nru linux-5.10.197/drivers/i2c/busses/i2c-stm32f7.c linux-5.10.205/drivers/i2c/busses/i2c-stm32f7.c --- linux-5.10.197/drivers/i2c/busses/i2c-stm32f7.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/i2c/busses/i2c-stm32f7.c 2023-12-20 14:44:42.000000000 +0000 @@ -1042,9 +1042,10 @@ /* Configure PEC */ if ((flags & I2C_CLIENT_PEC) && f7_msg->size != I2C_SMBUS_QUICK) { cr1 |= STM32F7_I2C_CR1_PECEN; - cr2 |= STM32F7_I2C_CR2_PECBYTE; - if (!f7_msg->read_write) + if (!f7_msg->read_write) { + cr2 |= STM32F7_I2C_CR2_PECBYTE; f7_msg->count++; + } } else { cr1 &= ~STM32F7_I2C_CR1_PECEN; cr2 &= ~STM32F7_I2C_CR2_PECBYTE; @@ -1132,8 +1133,10 @@ f7_msg->stop = true; /* Add one byte for PEC if needed */ - if (cr1 & STM32F7_I2C_CR1_PECEN) + if (cr1 & STM32F7_I2C_CR1_PECEN) { + cr2 |= STM32F7_I2C_CR2_PECBYTE; f7_msg->count++; + } /* Set number of bytes to be transferred */ cr2 &= ~(STM32F7_I2C_CR2_NBYTES_MASK); diff -Nru linux-5.10.197/drivers/i2c/busses/i2c-sun6i-p2wi.c linux-5.10.205/drivers/i2c/busses/i2c-sun6i-p2wi.c --- linux-5.10.197/drivers/i2c/busses/i2c-sun6i-p2wi.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/i2c/busses/i2c-sun6i-p2wi.c 2023-12-20 14:44:42.000000000 +0000 @@ -201,6 +201,11 @@ return -EINVAL; } + if (clk_freq == 0) { + dev_err(dev, "clock-frequency is set to 0 in DT\n"); + return -EINVAL; + } + if (of_get_child_count(np) > 1) { dev_err(dev, "P2WI only supports one slave device\n"); return -EINVAL; diff -Nru linux-5.10.197/drivers/i2c/i2c-core.h linux-5.10.205/drivers/i2c/i2c-core.h --- linux-5.10.197/drivers/i2c/i2c-core.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/i2c/i2c-core.h 2023-12-20 14:44:42.000000000 +0000 @@ -29,7 +29,7 @@ */ static inline bool i2c_in_atomic_xfer_mode(void) { - return system_state > SYSTEM_RUNNING && irqs_disabled(); + return system_state > SYSTEM_RUNNING && !preemptible(); } static inline int __i2c_lock_bus_helper(struct i2c_adapter *adap) diff -Nru linux-5.10.197/drivers/i2c/i2c-mux.c linux-5.10.205/drivers/i2c/i2c-mux.c --- linux-5.10.197/drivers/i2c/i2c-mux.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/i2c/i2c-mux.c 2023-12-20 14:44:42.000000000 +0000 @@ -340,7 +340,7 @@ priv->adap.lock_ops = &i2c_parent_lock_ops; /* Sanity check on class */ - if (i2c_mux_parent_classes(parent) & class) + if (i2c_mux_parent_classes(parent) & class & ~I2C_CLASS_DEPRECATED) dev_err(&parent->dev, "Segment %d behind mux can't share classes with ancestors\n", chan_id); diff -Nru linux-5.10.197/drivers/i2c/muxes/i2c-demux-pinctrl.c linux-5.10.205/drivers/i2c/muxes/i2c-demux-pinctrl.c --- linux-5.10.197/drivers/i2c/muxes/i2c-demux-pinctrl.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/i2c/muxes/i2c-demux-pinctrl.c 2023-12-20 14:44:42.000000000 +0000 @@ -61,7 +61,7 @@ if (ret) goto err; - adap = of_find_i2c_adapter_by_node(priv->chan[new_chan].parent_np); + adap = of_get_i2c_adapter_by_node(priv->chan[new_chan].parent_np); if (!adap) { ret = -ENODEV; goto err_with_revert; @@ -243,6 +243,10 @@ props[i].name = devm_kstrdup(&pdev->dev, "status", GFP_KERNEL); props[i].value = devm_kstrdup(&pdev->dev, "ok", GFP_KERNEL); + if (!props[i].name || !props[i].value) { + err = -ENOMEM; + goto err_rollback; + } props[i].length = 3; of_changeset_init(&priv->chan[i].chgset); diff -Nru linux-5.10.197/drivers/i2c/muxes/i2c-mux-gpmux.c linux-5.10.205/drivers/i2c/muxes/i2c-mux-gpmux.c --- linux-5.10.197/drivers/i2c/muxes/i2c-mux-gpmux.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/i2c/muxes/i2c-mux-gpmux.c 2023-12-20 14:44:42.000000000 +0000 @@ -52,7 +52,7 @@ dev_err(dev, "Cannot parse i2c-parent\n"); return ERR_PTR(-ENODEV); } - parent = of_find_i2c_adapter_by_node(parent_np); + parent = of_get_i2c_adapter_by_node(parent_np); of_node_put(parent_np); if (!parent) return ERR_PTR(-EPROBE_DEFER); diff -Nru linux-5.10.197/drivers/i2c/muxes/i2c-mux-pinctrl.c linux-5.10.205/drivers/i2c/muxes/i2c-mux-pinctrl.c --- linux-5.10.197/drivers/i2c/muxes/i2c-mux-pinctrl.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/i2c/muxes/i2c-mux-pinctrl.c 2023-12-20 14:44:42.000000000 +0000 @@ -62,7 +62,7 @@ dev_err(dev, "Cannot parse i2c-parent\n"); return ERR_PTR(-ENODEV); } - parent = of_find_i2c_adapter_by_node(parent_np); + parent = of_get_i2c_adapter_by_node(parent_np); of_node_put(parent_np); if (!parent) return ERR_PTR(-EPROBE_DEFER); diff -Nru linux-5.10.197/drivers/i3c/master/i3c-master-cdns.c linux-5.10.205/drivers/i3c/master/i3c-master-cdns.c --- linux-5.10.197/drivers/i3c/master/i3c-master-cdns.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/i3c/master/i3c-master-cdns.c 2023-12-20 14:44:42.000000000 +0000 @@ -192,7 +192,7 @@ #define SLV_STATUS1_HJ_DIS BIT(18) #define SLV_STATUS1_MR_DIS BIT(17) #define SLV_STATUS1_PROT_ERR BIT(16) -#define SLV_STATUS1_DA(x) (((s) & GENMASK(15, 9)) >> 9) +#define SLV_STATUS1_DA(s) (((s) & GENMASK(15, 9)) >> 9) #define SLV_STATUS1_HAS_DA BIT(8) #define SLV_STATUS1_DDR_RX_FULL BIT(7) #define SLV_STATUS1_DDR_TX_FULL BIT(6) @@ -1622,13 +1622,13 @@ /* Device ID0 is reserved to describe this master. */ master->maxdevs = CONF_STATUS0_DEVS_NUM(val); master->free_rr_slots = GENMASK(master->maxdevs, 1); + master->caps.ibirfifodepth = CONF_STATUS0_IBIR_DEPTH(val); + master->caps.cmdrfifodepth = CONF_STATUS0_CMDR_DEPTH(val); val = readl(master->regs + CONF_STATUS1); master->caps.cmdfifodepth = CONF_STATUS1_CMD_DEPTH(val); master->caps.rxfifodepth = CONF_STATUS1_RX_DEPTH(val); master->caps.txfifodepth = CONF_STATUS1_TX_DEPTH(val); - master->caps.ibirfifodepth = CONF_STATUS0_IBIR_DEPTH(val); - master->caps.cmdrfifodepth = CONF_STATUS0_CMDR_DEPTH(val); spin_lock_init(&master->ibi.lock); master->ibi.num_slots = CONF_STATUS1_IBI_HW_RES(val); diff -Nru linux-5.10.197/drivers/i3c/master.c linux-5.10.205/drivers/i3c/master.c --- linux-5.10.197/drivers/i3c/master.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/i3c/master.c 2023-12-20 14:44:42.000000000 +0000 @@ -1509,9 +1509,11 @@ desc->dev->dev.of_node = desc->boardinfo->of_node; ret = device_register(&desc->dev->dev); - if (ret) + if (ret) { dev_err(&master->dev, "Failed to add I3C device (err = %d)\n", ret); + put_device(&desc->dev->dev); + } } } diff -Nru linux-5.10.197/drivers/iio/adc/exynos_adc.c linux-5.10.205/drivers/iio/adc/exynos_adc.c --- linux-5.10.197/drivers/iio/adc/exynos_adc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/iio/adc/exynos_adc.c 2023-12-20 14:44:42.000000000 +0000 @@ -821,16 +821,26 @@ } } + /* leave out any TS related code if unreachable */ + if (IS_REACHABLE(CONFIG_INPUT)) { + has_ts = of_property_read_bool(pdev->dev.of_node, + "has-touchscreen") || pdata; + } + irq = platform_get_irq(pdev, 0); if (irq < 0) return irq; info->irq = irq; - irq = platform_get_irq(pdev, 1); - if (irq == -EPROBE_DEFER) - return irq; - - info->tsirq = irq; + if (has_ts) { + irq = platform_get_irq(pdev, 1); + if (irq == -EPROBE_DEFER) + return irq; + + info->tsirq = irq; + } else { + info->tsirq = -1; + } info->dev = &pdev->dev; @@ -895,12 +905,6 @@ if (info->data->init_hw) info->data->init_hw(info); - /* leave out any TS related code if unreachable */ - if (IS_REACHABLE(CONFIG_INPUT)) { - has_ts = of_property_read_bool(pdev->dev.of_node, - "has-touchscreen") || pdata; - } - if (pdata) info->delay = pdata->delay; else diff -Nru linux-5.10.197/drivers/iio/adc/xilinx-xadc-core.c linux-5.10.205/drivers/iio/adc/xilinx-xadc-core.c --- linux-5.10.197/drivers/iio/adc/xilinx-xadc-core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/iio/adc/xilinx-xadc-core.c 2023-12-20 14:44:42.000000000 +0000 @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -585,15 +586,22 @@ const unsigned long *mask) { struct xadc *xadc = iio_priv(indio_dev); - unsigned int n; + size_t new_size, n; + void *data; n = bitmap_weight(mask, indio_dev->masklength); - kfree(xadc->data); - xadc->data = kcalloc(n, sizeof(*xadc->data), GFP_KERNEL); - if (!xadc->data) + if (check_mul_overflow(n, sizeof(*xadc->data), &new_size)) + return -ENOMEM; + + data = devm_krealloc(indio_dev->dev.parent, xadc->data, + new_size, GFP_KERNEL); + if (!data) return -ENOMEM; + memset(data, 0, new_size); + xadc->data = data; + return 0; } @@ -705,11 +713,12 @@ static struct iio_trigger *xadc_alloc_trigger(struct iio_dev *indio_dev, const char *name) { + struct device *dev = indio_dev->dev.parent; struct iio_trigger *trig; int ret; - trig = iio_trigger_alloc("%s%d-%s", indio_dev->name, - indio_dev->id, name); + trig = devm_iio_trigger_alloc(dev, "%s%d-%s", indio_dev->name, + indio_dev->id, name); if (trig == NULL) return ERR_PTR(-ENOMEM); @@ -717,15 +726,11 @@ trig->ops = &xadc_trigger_ops; iio_trigger_set_drvdata(trig, iio_priv(indio_dev)); - ret = iio_trigger_register(trig); + ret = devm_iio_trigger_register(dev, trig); if (ret) - goto error_free_trig; + return ERR_PTR(ret); return trig; - -error_free_trig: - iio_trigger_free(trig); - return ERR_PTR(ret); } static int xadc_power_adc_b(struct xadc *xadc, unsigned int seq_mode) @@ -1184,8 +1189,23 @@ return 0; } +static void xadc_clk_disable_unprepare(void *data) +{ + struct clk *clk = data; + + clk_disable_unprepare(clk); +} + +static void xadc_cancel_delayed_work(void *data) +{ + struct delayed_work *work = data; + + cancel_delayed_work_sync(work); +} + static int xadc_probe(struct platform_device *pdev) { + struct device *dev = &pdev->dev; const struct of_device_id *id; struct iio_dev *indio_dev; unsigned int bipolar_mask; @@ -1195,10 +1215,10 @@ int irq; int i; - if (!pdev->dev.of_node) + if (!dev->of_node) return -ENODEV; - id = of_match_node(xadc_of_match_table, pdev->dev.of_node); + id = of_match_node(xadc_of_match_table, dev->of_node); if (!id) return -EINVAL; @@ -1206,7 +1226,7 @@ if (irq <= 0) return -ENXIO; - indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*xadc)); + indio_dev = devm_iio_device_alloc(dev, sizeof(*xadc)); if (!indio_dev) return -ENOMEM; @@ -1226,39 +1246,40 @@ indio_dev->modes = INDIO_DIRECT_MODE; indio_dev->info = &xadc_info; - ret = xadc_parse_dt(indio_dev, pdev->dev.of_node, &conf0); + ret = xadc_parse_dt(indio_dev, dev->of_node, &conf0); if (ret) return ret; if (xadc->ops->flags & XADC_FLAGS_BUFFERED) { - ret = iio_triggered_buffer_setup(indio_dev, - &iio_pollfunc_store_time, &xadc_trigger_handler, - &xadc_buffer_ops); + ret = devm_iio_triggered_buffer_setup(dev, indio_dev, + &iio_pollfunc_store_time, + &xadc_trigger_handler, + &xadc_buffer_ops); if (ret) return ret; xadc->convst_trigger = xadc_alloc_trigger(indio_dev, "convst"); - if (IS_ERR(xadc->convst_trigger)) { - ret = PTR_ERR(xadc->convst_trigger); - goto err_triggered_buffer_cleanup; - } + if (IS_ERR(xadc->convst_trigger)) + return PTR_ERR(xadc->convst_trigger); + xadc->samplerate_trigger = xadc_alloc_trigger(indio_dev, "samplerate"); - if (IS_ERR(xadc->samplerate_trigger)) { - ret = PTR_ERR(xadc->samplerate_trigger); - goto err_free_convst_trigger; - } + if (IS_ERR(xadc->samplerate_trigger)) + return PTR_ERR(xadc->samplerate_trigger); } - xadc->clk = devm_clk_get(&pdev->dev, NULL); - if (IS_ERR(xadc->clk)) { - ret = PTR_ERR(xadc->clk); - goto err_free_samplerate_trigger; - } + xadc->clk = devm_clk_get(dev, NULL); + if (IS_ERR(xadc->clk)) + return PTR_ERR(xadc->clk); ret = clk_prepare_enable(xadc->clk); if (ret) - goto err_free_samplerate_trigger; + return ret; + + ret = devm_add_action_or_reset(dev, + xadc_clk_disable_unprepare, xadc->clk); + if (ret) + return ret; /* * Make sure not to exceed the maximum samplerate since otherwise the @@ -1267,22 +1288,28 @@ if (xadc->ops->flags & XADC_FLAGS_BUFFERED) { ret = xadc_read_samplerate(xadc); if (ret < 0) - goto err_free_samplerate_trigger; + return ret; + if (ret > XADC_MAX_SAMPLERATE) { ret = xadc_write_samplerate(xadc, XADC_MAX_SAMPLERATE); if (ret < 0) - goto err_free_samplerate_trigger; + return ret; } } - ret = request_irq(xadc->irq, xadc->ops->interrupt_handler, 0, - dev_name(&pdev->dev), indio_dev); + ret = devm_request_irq(dev, xadc->irq, xadc->ops->interrupt_handler, 0, + dev_name(dev), indio_dev); if (ret) - goto err_clk_disable_unprepare; + return ret; + + ret = devm_add_action_or_reset(dev, xadc_cancel_delayed_work, + &xadc->zynq_unmask_work); + if (ret) + return ret; ret = xadc->ops->setup(pdev, indio_dev, xadc->irq); if (ret) - goto err_free_irq; + return ret; for (i = 0; i < 16; i++) xadc_read_adc_reg(xadc, XADC_REG_THRESHOLD(i), @@ -1290,7 +1317,7 @@ ret = xadc_write_adc_reg(xadc, XADC_REG_CONF0, conf0); if (ret) - goto err_free_irq; + return ret; bipolar_mask = 0; for (i = 0; i < indio_dev->num_channels; i++) { @@ -1300,85 +1327,21 @@ ret = xadc_write_adc_reg(xadc, XADC_REG_INPUT_MODE(0), bipolar_mask); if (ret) - goto err_free_irq; + return ret; + ret = xadc_write_adc_reg(xadc, XADC_REG_INPUT_MODE(1), bipolar_mask >> 16); if (ret) - goto err_free_irq; - - /* Disable all alarms */ - ret = xadc_update_adc_reg(xadc, XADC_REG_CONF1, XADC_CONF1_ALARM_MASK, - XADC_CONF1_ALARM_MASK); - if (ret) - goto err_free_irq; - - /* Set thresholds to min/max */ - for (i = 0; i < 16; i++) { - /* - * Set max voltage threshold and both temperature thresholds to - * 0xffff, min voltage threshold to 0. - */ - if (i % 8 < 4 || i == 7) - xadc->threshold[i] = 0xffff; - else - xadc->threshold[i] = 0; - ret = xadc_write_adc_reg(xadc, XADC_REG_THRESHOLD(i), - xadc->threshold[i]); - if (ret) - goto err_free_irq; - } + return ret; /* Go to non-buffered mode */ xadc_postdisable(indio_dev); - ret = iio_device_register(indio_dev); - if (ret) - goto err_free_irq; - - platform_set_drvdata(pdev, indio_dev); - - return 0; - -err_free_irq: - free_irq(xadc->irq, indio_dev); - cancel_delayed_work_sync(&xadc->zynq_unmask_work); -err_clk_disable_unprepare: - clk_disable_unprepare(xadc->clk); -err_free_samplerate_trigger: - if (xadc->ops->flags & XADC_FLAGS_BUFFERED) - iio_trigger_free(xadc->samplerate_trigger); -err_free_convst_trigger: - if (xadc->ops->flags & XADC_FLAGS_BUFFERED) - iio_trigger_free(xadc->convst_trigger); -err_triggered_buffer_cleanup: - if (xadc->ops->flags & XADC_FLAGS_BUFFERED) - iio_triggered_buffer_cleanup(indio_dev); - - return ret; -} - -static int xadc_remove(struct platform_device *pdev) -{ - struct iio_dev *indio_dev = platform_get_drvdata(pdev); - struct xadc *xadc = iio_priv(indio_dev); - - iio_device_unregister(indio_dev); - if (xadc->ops->flags & XADC_FLAGS_BUFFERED) { - iio_trigger_free(xadc->samplerate_trigger); - iio_trigger_free(xadc->convst_trigger); - iio_triggered_buffer_cleanup(indio_dev); - } - free_irq(xadc->irq, indio_dev); - cancel_delayed_work_sync(&xadc->zynq_unmask_work); - clk_disable_unprepare(xadc->clk); - kfree(xadc->data); - - return 0; + return devm_iio_device_register(dev, indio_dev); } static struct platform_driver xadc_driver = { .probe = xadc_probe, - .remove = xadc_remove, .driver = { .name = "xadc", .of_match_table = xadc_of_match_table, diff -Nru linux-5.10.197/drivers/iio/pressure/bmp280-core.c linux-5.10.205/drivers/iio/pressure/bmp280-core.c --- linux-5.10.197/drivers/iio/pressure/bmp280-core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/iio/pressure/bmp280-core.c 2023-12-20 14:44:42.000000000 +0000 @@ -1112,7 +1112,7 @@ * however as it happens, the BMP085 shares the chip ID of BMP180 * so we look for an IRQ if we have that. */ - if (irq > 0 || (chip_id == BMP180_CHIP_ID)) { + if (irq > 0 && (chip_id == BMP180_CHIP_ID)) { ret = bmp085_fetch_eoc_irq(dev, name, irq, data); if (ret) return ret; diff -Nru linux-5.10.197/drivers/iio/pressure/dps310.c linux-5.10.205/drivers/iio/pressure/dps310.c --- linux-5.10.197/drivers/iio/pressure/dps310.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/iio/pressure/dps310.c 2023-12-20 14:44:42.000000000 +0000 @@ -57,8 +57,8 @@ #define DPS310_RESET_MAGIC 0x09 #define DPS310_COEF_BASE 0x10 -/* Make sure sleep time is <= 20ms for usleep_range */ -#define DPS310_POLL_SLEEP_US(t) min(20000, (t) / 8) +/* Make sure sleep time is <= 30ms for usleep_range */ +#define DPS310_POLL_SLEEP_US(t) min(30000, (t) / 8) /* Silently handle error in rate value here */ #define DPS310_POLL_TIMEOUT_US(rc) ((rc) <= 0 ? 1000000 : 1000000 / (rc)) @@ -402,8 +402,8 @@ if (rc) return rc; - /* Wait for device chip access: 2.5ms in specification */ - usleep_range(2500, 12000); + /* Wait for device chip access: 15ms in specification */ + usleep_range(15000, 55000); return 0; } diff -Nru linux-5.10.197/drivers/iio/pressure/ms5611_core.c linux-5.10.205/drivers/iio/pressure/ms5611_core.c --- linux-5.10.197/drivers/iio/pressure/ms5611_core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/iio/pressure/ms5611_core.c 2023-12-20 14:44:42.000000000 +0000 @@ -76,7 +76,7 @@ crc = (crc >> 12) & 0x000F; - return crc_orig != 0x0000 && crc == crc_orig; + return crc == crc_orig; } static int ms5611_read_prom(struct iio_dev *indio_dev) diff -Nru linux-5.10.197/drivers/infiniband/core/cma.c linux-5.10.205/drivers/infiniband/core/cma.c --- linux-5.10.197/drivers/infiniband/core/cma.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/infiniband/core/cma.c 2023-12-20 14:44:42.000000000 +0000 @@ -4723,7 +4723,7 @@ int err = 0; struct sockaddr *addr = (struct sockaddr *)&mc->addr; struct net_device *ndev = NULL; - struct ib_sa_multicast ib; + struct ib_sa_multicast ib = {}; enum ib_gid_type gid_type; bool send_only; diff -Nru linux-5.10.197/drivers/infiniband/core/cma_configfs.c linux-5.10.205/drivers/infiniband/core/cma_configfs.c --- linux-5.10.197/drivers/infiniband/core/cma_configfs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/infiniband/core/cma_configfs.c 2023-12-20 14:44:42.000000000 +0000 @@ -221,7 +221,7 @@ } for (i = 0; i < ports_num; i++) { - char port_str[10]; + char port_str[11]; ports[i].port_num = i + 1; snprintf(port_str, sizeof(port_str), "%u", i + 1); diff -Nru linux-5.10.197/drivers/infiniband/core/nldev.c linux-5.10.205/drivers/infiniband/core/nldev.c --- linux-5.10.197/drivers/infiniband/core/nldev.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/infiniband/core/nldev.c 2023-12-20 14:44:42.000000000 +0000 @@ -2148,6 +2148,7 @@ }, [RDMA_NLDEV_CMD_SYS_SET] = { .doit = nldev_set_sys_set_doit, + .flags = RDMA_NL_ADMIN_PERM, }, [RDMA_NLDEV_CMD_STAT_SET] = { .doit = nldev_stat_set_doit, diff -Nru linux-5.10.197/drivers/infiniband/core/uverbs_main.c linux-5.10.205/drivers/infiniband/core/uverbs_main.c --- linux-5.10.197/drivers/infiniband/core/uverbs_main.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/infiniband/core/uverbs_main.c 2023-12-20 14:44:42.000000000 +0000 @@ -535,7 +535,7 @@ if (hdr->in_words * 4 != count) return -EINVAL; - if (count < method_elm->req_size + sizeof(hdr)) { + if (count < method_elm->req_size + sizeof(*hdr)) { /* * rdma-core v18 and v19 have a bug where they send DESTROY_CQ * with a 16 byte write instead of 24. Old kernels didn't diff -Nru linux-5.10.197/drivers/infiniband/hw/bnxt_re/main.c linux-5.10.205/drivers/infiniband/hw/bnxt_re/main.c --- linux-5.10.197/drivers/infiniband/hw/bnxt_re/main.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/infiniband/hw/bnxt_re/main.c 2023-12-20 14:44:42.000000000 +0000 @@ -70,7 +70,7 @@ BNXT_RE_DESC "\n"; MODULE_AUTHOR("Eddie Wai "); -MODULE_DESCRIPTION(BNXT_RE_DESC " Driver"); +MODULE_DESCRIPTION(BNXT_RE_DESC); MODULE_LICENSE("Dual BSD/GPL"); /* globals */ diff -Nru linux-5.10.197/drivers/infiniband/hw/cxgb4/cm.c linux-5.10.205/drivers/infiniband/hw/cxgb4/cm.c --- linux-5.10.197/drivers/infiniband/hw/cxgb4/cm.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/infiniband/hw/cxgb4/cm.c 2023-12-20 14:44:42.000000000 +0000 @@ -1965,6 +1965,9 @@ int win; skb = get_skb(NULL, sizeof(*req), GFP_KERNEL); + if (!skb) + return -ENOMEM; + req = __skb_put_zero(skb, sizeof(*req)); req->op_compl = htonl(WR_OP_V(FW_OFLD_CONNECTION_WR)); req->len16_pkd = htonl(FW_WR_LEN16_V(DIV_ROUND_UP(sizeof(*req), 16))); diff -Nru linux-5.10.197/drivers/infiniband/hw/hfi1/efivar.c linux-5.10.205/drivers/infiniband/hw/hfi1/efivar.c --- linux-5.10.197/drivers/infiniband/hw/hfi1/efivar.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/infiniband/hw/hfi1/efivar.c 2023-12-20 14:44:42.000000000 +0000 @@ -152,7 +152,7 @@ unsigned long *size, void **return_data) { char prefix_name[64]; - char name[64]; + char name[128]; int result; int i; diff -Nru linux-5.10.197/drivers/infiniband/hw/hfi1/pcie.c linux-5.10.205/drivers/infiniband/hw/hfi1/pcie.c --- linux-5.10.197/drivers/infiniband/hw/hfi1/pcie.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/infiniband/hw/hfi1/pcie.c 2023-12-20 14:44:42.000000000 +0000 @@ -45,6 +45,7 @@ * */ +#include #include #include #include @@ -261,12 +262,6 @@ return speed; } -/* return the PCIe link speed from the given link status */ -static u32 extract_width(u16 linkstat) -{ - return (linkstat & PCI_EXP_LNKSTA_NLW) >> PCI_EXP_LNKSTA_NLW_SHIFT; -} - /* read the link status and set dd->{lbus_width,lbus_speed,lbus_info} */ static void update_lbus_info(struct hfi1_devdata *dd) { @@ -279,7 +274,7 @@ return; } - dd->lbus_width = extract_width(linkstat); + dd->lbus_width = FIELD_GET(PCI_EXP_LNKSTA_NLW, linkstat); dd->lbus_speed = extract_speed(linkstat); snprintf(dd->lbus_info, sizeof(dd->lbus_info), "PCIe,%uMHz,x%u", dd->lbus_speed, dd->lbus_width); diff -Nru linux-5.10.197/drivers/infiniband/hw/hns/hns_roce_hw_v2.c linux-5.10.205/drivers/infiniband/hw/hns/hns_roce_hw_v2.c --- linux-5.10.197/drivers/infiniband/hw/hns/hns_roce_hw_v2.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/infiniband/hw/hns/hns_roce_hw_v2.c 2023-12-20 14:44:42.000000000 +0000 @@ -247,7 +247,7 @@ struct hns_roce_dev *hr_dev = to_hr_dev(qp->ibqp.device); int mtu = ib_mtu_enum_to_int(qp->path_mtu); - if (len > qp->max_inline_data || len > mtu) { + if (mtu < 0 || len > qp->max_inline_data || len > mtu) { ibdev_err(&hr_dev->ib_dev, "invalid length of data, data len = %u, max inline len = %u, path mtu = %d.\n", len, qp->max_inline_data, mtu); diff -Nru linux-5.10.197/drivers/infiniband/hw/hns/hns_roce_qp.c linux-5.10.205/drivers/infiniband/hw/hns/hns_roce_qp.c --- linux-5.10.197/drivers/infiniband/hw/hns/hns_roce_qp.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/infiniband/hw/hns/hns_roce_qp.c 2023-12-20 14:44:42.000000000 +0000 @@ -906,7 +906,7 @@ { struct hns_roce_ib_create_qp_resp resp = {}; struct ib_device *ibdev = &hr_dev->ib_dev; - struct hns_roce_ib_create_qp ucmd; + struct hns_roce_ib_create_qp ucmd = {}; int ret; mutex_init(&hr_qp->mutex); diff -Nru linux-5.10.197/drivers/infiniband/hw/i40iw/i40iw_ctrl.c linux-5.10.205/drivers/infiniband/hw/i40iw/i40iw_ctrl.c --- linux-5.10.197/drivers/infiniband/hw/i40iw/i40iw_ctrl.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/infiniband/hw/i40iw/i40iw_ctrl.c 2023-12-20 14:44:42.000000000 +0000 @@ -3033,6 +3033,9 @@ u64 header; enum i40iw_page_size page_size; + if (!info->total_len && !info->all_memory) + return -EINVAL; + page_size = (info->page_size == 0x200000) ? I40IW_PAGE_SIZE_2M : I40IW_PAGE_SIZE_4K; cqp = dev->cqp; wqe = i40iw_sc_cqp_get_next_send_wqe(cqp, scratch); @@ -3091,6 +3094,9 @@ u8 addr_type; enum i40iw_page_size page_size; + if (!info->total_len && !info->all_memory) + return -EINVAL; + page_size = (info->page_size == 0x200000) ? I40IW_PAGE_SIZE_2M : I40IW_PAGE_SIZE_4K; if (info->access_rights & (I40IW_ACCESS_FLAGS_REMOTEREAD_ONLY | I40IW_ACCESS_FLAGS_REMOTEWRITE_ONLY)) diff -Nru linux-5.10.197/drivers/infiniband/hw/i40iw/i40iw_type.h linux-5.10.205/drivers/infiniband/hw/i40iw/i40iw_type.h --- linux-5.10.197/drivers/infiniband/hw/i40iw/i40iw_type.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/infiniband/hw/i40iw/i40iw_type.h 2023-12-20 14:44:42.000000000 +0000 @@ -786,6 +786,7 @@ bool use_hmc_fcn_index; u8 hmc_fcn_index; bool use_pf_rid; + bool all_memory; }; struct i40iw_reg_ns_stag_info { @@ -804,6 +805,7 @@ bool use_hmc_fcn_index; u8 hmc_fcn_index; bool use_pf_rid; + bool all_memory; }; struct i40iw_fast_reg_stag_info { diff -Nru linux-5.10.197/drivers/infiniband/hw/i40iw/i40iw_verbs.c linux-5.10.205/drivers/infiniband/hw/i40iw/i40iw_verbs.c --- linux-5.10.197/drivers/infiniband/hw/i40iw/i40iw_verbs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/infiniband/hw/i40iw/i40iw_verbs.c 2023-12-20 14:44:42.000000000 +0000 @@ -1494,7 +1494,8 @@ static int i40iw_hw_alloc_stag(struct i40iw_device *iwdev, struct i40iw_mr *iwmr) { struct i40iw_allocate_stag_info *info; - struct i40iw_pd *iwpd = to_iwpd(iwmr->ibmr.pd); + struct ib_pd *pd = iwmr->ibmr.pd; + struct i40iw_pd *iwpd = to_iwpd(pd); enum i40iw_status_code status; int err = 0; struct i40iw_cqp_request *cqp_request; @@ -1511,6 +1512,7 @@ info->stag_idx = iwmr->stag >> I40IW_CQPSQ_STAG_IDX_SHIFT; info->pd_id = iwpd->sc_pd.pd_id; info->total_len = iwmr->length; + info->all_memory = pd->flags & IB_PD_UNSAFE_GLOBAL_RKEY; info->remote_access = true; cqp_info->cqp_cmd = OP_ALLOC_STAG; cqp_info->post_sq = 1; @@ -1563,6 +1565,8 @@ iwmr->type = IW_MEMREG_TYPE_MEM; palloc = &iwpbl->pble_alloc; iwmr->page_cnt = max_num_sg; + /* Use system PAGE_SIZE as the sg page sizes are unknown at this point */ + iwmr->length = max_num_sg * PAGE_SIZE; mutex_lock(&iwdev->pbl_mutex); status = i40iw_get_pble(&iwdev->sc_dev, iwdev->pble_rsrc, palloc, iwmr->page_cnt); mutex_unlock(&iwdev->pbl_mutex); @@ -1659,7 +1663,8 @@ { struct i40iw_pbl *iwpbl = &iwmr->iwpbl; struct i40iw_reg_ns_stag_info *stag_info; - struct i40iw_pd *iwpd = to_iwpd(iwmr->ibmr.pd); + struct ib_pd *pd = iwmr->ibmr.pd; + struct i40iw_pd *iwpd = to_iwpd(pd); struct i40iw_pble_alloc *palloc = &iwpbl->pble_alloc; enum i40iw_status_code status; int err = 0; @@ -1679,6 +1684,7 @@ stag_info->total_len = iwmr->length; stag_info->access_rights = access; stag_info->pd_id = iwpd->sc_pd.pd_id; + stag_info->all_memory = pd->flags & IB_PD_UNSAFE_GLOBAL_RKEY; stag_info->addr_type = I40IW_ADDR_TYPE_VA_BASED; stag_info->page_size = iwmr->page_size; diff -Nru linux-5.10.197/drivers/infiniband/hw/mlx4/sysfs.c linux-5.10.205/drivers/infiniband/hw/mlx4/sysfs.c --- linux-5.10.197/drivers/infiniband/hw/mlx4/sysfs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/infiniband/hw/mlx4/sysfs.c 2023-12-20 14:44:42.000000000 +0000 @@ -221,7 +221,7 @@ static int add_port_entries(struct mlx4_ib_dev *device, int port_num) { int i; - char buff[11]; + char buff[12]; struct mlx4_ib_iov_port *port = NULL; int ret = 0 ; struct ib_port_attr attr; diff -Nru linux-5.10.197/drivers/infiniband/hw/mlx5/main.c linux-5.10.205/drivers/infiniband/hw/mlx5/main.c --- linux-5.10.197/drivers/infiniband/hw/mlx5/main.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/infiniband/hw/mlx5/main.c 2023-12-20 14:44:42.000000000 +0000 @@ -2069,7 +2069,7 @@ case MLX5_IB_MMAP_DEVICE_MEM: return "Device Memory"; default: - return NULL; + return "Unknown"; } } diff -Nru linux-5.10.197/drivers/infiniband/hw/mlx5/qp.c linux-5.10.205/drivers/infiniband/hw/mlx5/qp.c --- linux-5.10.197/drivers/infiniband/hw/mlx5/qp.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/infiniband/hw/mlx5/qp.c 2023-12-20 14:44:42.000000000 +0000 @@ -3714,6 +3714,30 @@ return tx_affinity; } +static int __mlx5_ib_qp_set_raw_qp_counter(struct mlx5_ib_qp *qp, u32 set_id, + struct mlx5_core_dev *mdev) +{ + struct mlx5_ib_raw_packet_qp *raw_packet_qp = &qp->raw_packet_qp; + struct mlx5_ib_rq *rq = &raw_packet_qp->rq; + u32 in[MLX5_ST_SZ_DW(modify_rq_in)] = {}; + void *rqc; + + if (!qp->rq.wqe_cnt) + return 0; + + MLX5_SET(modify_rq_in, in, rq_state, rq->state); + MLX5_SET(modify_rq_in, in, uid, to_mpd(qp->ibqp.pd)->uid); + + rqc = MLX5_ADDR_OF(modify_rq_in, in, ctx); + MLX5_SET(rqc, rqc, state, MLX5_RQC_STATE_RDY); + + MLX5_SET64(modify_rq_in, in, modify_bitmask, + MLX5_MODIFY_RQ_IN_MODIFY_BITMASK_RQ_COUNTER_SET_ID); + MLX5_SET(rqc, rqc, counter_set_id, set_id); + + return mlx5_core_modify_rq(mdev, rq->base.mqp.qpn, in); +} + static int __mlx5_ib_qp_set_counter(struct ib_qp *qp, struct rdma_counter *counter) { @@ -3729,6 +3753,9 @@ else set_id = mlx5_ib_get_counters_id(dev, mqp->port - 1); + if (mqp->type == IB_QPT_RAW_PACKET) + return __mlx5_ib_qp_set_raw_qp_counter(mqp, set_id, dev->mdev); + base = &mqp->trans_qp.base; MLX5_SET(rts2rts_qp_in, in, opcode, MLX5_CMD_OP_RTS2RTS_QP); MLX5_SET(rts2rts_qp_in, in, qpn, base->mqp.qpn); diff -Nru linux-5.10.197/drivers/infiniband/sw/siw/siw_cm.c linux-5.10.205/drivers/infiniband/sw/siw/siw_cm.c --- linux-5.10.197/drivers/infiniband/sw/siw/siw_cm.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/infiniband/sw/siw/siw_cm.c 2023-12-20 14:44:42.000000000 +0000 @@ -973,6 +973,7 @@ siw_cep_put(cep); new_cep->listen_cep = NULL; if (rv) { + siw_cancel_mpatimer(new_cep); siw_cep_set_free(new_cep); goto error; } @@ -1097,9 +1098,12 @@ /* * Socket close before MPA request received. */ - siw_dbg_cep(cep, "no mpareq: drop listener\n"); - siw_cep_put(cep->listen_cep); - cep->listen_cep = NULL; + if (cep->listen_cep) { + siw_dbg_cep(cep, + "no mpareq: drop listener\n"); + siw_cep_put(cep->listen_cep); + cep->listen_cep = NULL; + } } } release_cep = 1; @@ -1222,7 +1226,11 @@ if (!cep) goto out; - siw_dbg_cep(cep, "state: %d\n", cep->state); + siw_dbg_cep(cep, "cep state: %d, socket state %d\n", + cep->state, sk->sk_state); + + if (sk->sk_state != TCP_ESTABLISHED) + goto out; switch (cep->state) { case SIW_EPSTATE_RDMA_MODE: diff -Nru linux-5.10.197/drivers/infiniband/ulp/rtrs/rtrs-clt.c linux-5.10.205/drivers/infiniband/ulp/rtrs/rtrs-clt.c --- linux-5.10.197/drivers/infiniband/ulp/rtrs/rtrs-clt.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/infiniband/ulp/rtrs/rtrs-clt.c 2023-12-20 14:44:42.000000000 +0000 @@ -387,7 +387,7 @@ struct rtrs_clt_sess *sess; int err; - if (WARN_ON(!req->in_use)) + if (!req->in_use) return; if (WARN_ON(!req->con)) return; diff -Nru linux-5.10.197/drivers/infiniband/ulp/srp/ib_srp.c linux-5.10.205/drivers/infiniband/ulp/srp/ib_srp.c --- linux-5.10.197/drivers/infiniband/ulp/srp/ib_srp.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/infiniband/ulp/srp/ib_srp.c 2023-12-20 14:44:42.000000000 +0000 @@ -965,67 +965,52 @@ } } -static void srp_free_req_data(struct srp_target_port *target, - struct srp_rdma_ch *ch) +static int srp_exit_cmd_priv(struct Scsi_Host *shost, struct scsi_cmnd *cmd) { + struct srp_target_port *target = host_to_target(shost); struct srp_device *dev = target->srp_host->srp_dev; struct ib_device *ibdev = dev->dev; - struct srp_request *req; - int i; + struct srp_request *req = scsi_cmd_priv(cmd); - if (!ch->req_ring) - return; - - for (i = 0; i < target->req_ring_size; ++i) { - req = &ch->req_ring[i]; - if (dev->use_fast_reg) - kfree(req->fr_list); - if (req->indirect_dma_addr) { - ib_dma_unmap_single(ibdev, req->indirect_dma_addr, - target->indirect_size, - DMA_TO_DEVICE); - } - kfree(req->indirect_desc); + kfree(req->fr_list); + if (req->indirect_dma_addr) { + ib_dma_unmap_single(ibdev, req->indirect_dma_addr, + target->indirect_size, + DMA_TO_DEVICE); } + kfree(req->indirect_desc); - kfree(ch->req_ring); - ch->req_ring = NULL; + return 0; } -static int srp_alloc_req_data(struct srp_rdma_ch *ch) +static int srp_init_cmd_priv(struct Scsi_Host *shost, struct scsi_cmnd *cmd) { - struct srp_target_port *target = ch->target; + struct srp_target_port *target = host_to_target(shost); struct srp_device *srp_dev = target->srp_host->srp_dev; struct ib_device *ibdev = srp_dev->dev; - struct srp_request *req; + struct srp_request *req = scsi_cmd_priv(cmd); dma_addr_t dma_addr; - int i, ret = -ENOMEM; - - ch->req_ring = kcalloc(target->req_ring_size, sizeof(*ch->req_ring), - GFP_KERNEL); - if (!ch->req_ring) - goto out; - - for (i = 0; i < target->req_ring_size; ++i) { - req = &ch->req_ring[i]; - if (srp_dev->use_fast_reg) { - req->fr_list = kmalloc_array(target->mr_per_cmd, - sizeof(void *), GFP_KERNEL); - if (!req->fr_list) - goto out; - } - req->indirect_desc = kmalloc(target->indirect_size, GFP_KERNEL); - if (!req->indirect_desc) - goto out; + int ret = -ENOMEM; - dma_addr = ib_dma_map_single(ibdev, req->indirect_desc, - target->indirect_size, - DMA_TO_DEVICE); - if (ib_dma_mapping_error(ibdev, dma_addr)) + if (srp_dev->use_fast_reg) { + req->fr_list = kmalloc_array(target->mr_per_cmd, sizeof(void *), + GFP_KERNEL); + if (!req->fr_list) goto out; + } + req->indirect_desc = kmalloc(target->indirect_size, GFP_KERNEL); + if (!req->indirect_desc) + goto out; - req->indirect_dma_addr = dma_addr; + dma_addr = ib_dma_map_single(ibdev, req->indirect_desc, + target->indirect_size, + DMA_TO_DEVICE); + if (ib_dma_mapping_error(ibdev, dma_addr)) { + srp_exit_cmd_priv(shost, cmd); + goto out; } + + req->indirect_dma_addr = dma_addr; ret = 0; out: @@ -1067,10 +1052,6 @@ } cancel_work_sync(&target->tl_err_work); srp_rport_put(target->rport); - for (i = 0; i < target->ch_count; i++) { - ch = &target->ch[i]; - srp_free_req_data(target, ch); - } kfree(target->ch); target->ch = NULL; @@ -1289,22 +1270,32 @@ } } -static void srp_terminate_io(struct srp_rport *rport) +struct srp_terminate_context { + struct srp_target_port *srp_target; + int scsi_result; +}; + +static bool srp_terminate_cmd(struct scsi_cmnd *scmnd, void *context_ptr, + bool reserved) { - struct srp_target_port *target = rport->lld_data; - struct srp_rdma_ch *ch; - int i, j; + struct srp_terminate_context *context = context_ptr; + struct srp_target_port *target = context->srp_target; + u32 tag = blk_mq_unique_tag(scmnd->request); + struct srp_rdma_ch *ch = &target->ch[blk_mq_unique_tag_to_hwq(tag)]; + struct srp_request *req = scsi_cmd_priv(scmnd); - for (i = 0; i < target->ch_count; i++) { - ch = &target->ch[i]; + srp_finish_req(ch, req, NULL, context->scsi_result); - for (j = 0; j < target->req_ring_size; ++j) { - struct srp_request *req = &ch->req_ring[j]; + return true; +} - srp_finish_req(ch, req, NULL, - DID_TRANSPORT_FAILFAST << 16); - } - } +static void srp_terminate_io(struct srp_rport *rport) +{ + struct srp_target_port *target = rport->lld_data; + struct srp_terminate_context context = { .srp_target = target, + .scsi_result = DID_TRANSPORT_FAILFAST << 16 }; + + scsi_host_busy_iter(target->scsi_host, srp_terminate_cmd, &context); } /* Calculate maximum initiator to target information unit length. */ @@ -1360,13 +1351,12 @@ ch = &target->ch[i]; ret += srp_new_cm_id(ch); } - for (i = 0; i < target->ch_count; i++) { - ch = &target->ch[i]; - for (j = 0; j < target->req_ring_size; ++j) { - struct srp_request *req = &ch->req_ring[j]; + { + struct srp_terminate_context context = { + .srp_target = target, .scsi_result = DID_RESET << 16}; - srp_finish_req(ch, req, NULL, DID_RESET << 16); - } + scsi_host_busy_iter(target->scsi_host, srp_terminate_cmd, + &context); } for (i = 0; i < target->ch_count; i++) { ch = &target->ch[i]; @@ -1962,11 +1952,9 @@ spin_unlock_irqrestore(&ch->lock, flags); } else { scmnd = scsi_host_find_tag(target->scsi_host, rsp->tag); - if (scmnd && scmnd->host_scribble) { - req = (void *)scmnd->host_scribble; + if (scmnd) { + req = scsi_cmd_priv(scmnd); scmnd = srp_claim_req(ch, req, NULL, scmnd); - } else { - scmnd = NULL; } if (!scmnd) { shost_printk(KERN_ERR, target->scsi_host, @@ -1996,7 +1984,6 @@ srp_free_req(ch, req, scmnd, be32_to_cpu(rsp->req_lim_delta)); - scmnd->host_scribble = NULL; scmnd->scsi_done(scmnd); } } @@ -2164,13 +2151,12 @@ { struct srp_target_port *target = host_to_target(shost); struct srp_rdma_ch *ch; - struct srp_request *req; + struct srp_request *req = scsi_cmd_priv(scmnd); struct srp_iu *iu; struct srp_cmd *cmd; struct ib_device *dev; unsigned long flags; u32 tag; - u16 idx; int len, ret; scmnd->result = srp_chkready(target->rport); @@ -2180,10 +2166,6 @@ WARN_ON_ONCE(scmnd->request->tag < 0); tag = blk_mq_unique_tag(scmnd->request); ch = &target->ch[blk_mq_unique_tag_to_hwq(tag)]; - idx = blk_mq_unique_tag_to_tag(tag); - WARN_ONCE(idx >= target->req_ring_size, "%s: tag %#x: idx %d >= %d\n", - dev_name(&shost->shost_gendev), tag, idx, - target->req_ring_size); spin_lock_irqsave(&ch->lock, flags); iu = __srp_get_tx_iu(ch, SRP_IU_CMD); @@ -2192,13 +2174,10 @@ if (!iu) goto err; - req = &ch->req_ring[idx]; dev = target->srp_host->srp_dev->dev; ib_dma_sync_single_for_cpu(dev, iu->dma, ch->max_it_iu_len, DMA_TO_DEVICE); - scmnd->host_scribble = (void *) req; - cmd = iu->buf; memset(cmd, 0, sizeof *cmd); @@ -2799,16 +2778,13 @@ static int srp_abort(struct scsi_cmnd *scmnd) { struct srp_target_port *target = host_to_target(scmnd->device->host); - struct srp_request *req = (struct srp_request *) scmnd->host_scribble; + struct srp_request *req = scsi_cmd_priv(scmnd); u32 tag; u16 ch_idx; struct srp_rdma_ch *ch; - int ret; shost_printk(KERN_ERR, target->scsi_host, "SRP abort called\n"); - if (!req) - return SUCCESS; tag = blk_mq_unique_tag(scmnd->request); ch_idx = blk_mq_unique_tag_to_hwq(tag); if (WARN_ON_ONCE(ch_idx >= target->ch_count)) @@ -2819,19 +2795,14 @@ shost_printk(KERN_ERR, target->scsi_host, "Sending SRP abort for tag %#x\n", tag); if (srp_send_tsk_mgmt(ch, tag, scmnd->device->lun, - SRP_TSK_ABORT_TASK, NULL) == 0) - ret = SUCCESS; - else if (target->rport->state == SRP_RPORT_LOST) - ret = FAST_IO_FAIL; - else - ret = FAILED; - if (ret == SUCCESS) { + SRP_TSK_ABORT_TASK, NULL) == 0) { srp_free_req(ch, req, scmnd, 0); - scmnd->result = DID_ABORT << 16; - scmnd->scsi_done(scmnd); + return SUCCESS; } + if (target->rport->state == SRP_RPORT_LOST) + return FAST_IO_FAIL; - return ret; + return FAILED; } static int srp_reset_device(struct scsi_cmnd *scmnd) @@ -3075,6 +3046,8 @@ .target_alloc = srp_target_alloc, .slave_configure = srp_slave_configure, .info = srp_target_info, + .init_cmd_priv = srp_init_cmd_priv, + .exit_cmd_priv = srp_exit_cmd_priv, .queuecommand = srp_queuecommand, .change_queue_depth = srp_change_queue_depth, .eh_timed_out = srp_timed_out, @@ -3088,6 +3061,7 @@ .cmd_per_lun = SRP_DEFAULT_CMD_SQ_SIZE, .shost_attrs = srp_host_attrs, .track_queue_depth = 1, + .cmd_size = sizeof(struct srp_request), }; static int srp_sdev_count(struct Scsi_Host *host) @@ -3735,8 +3709,6 @@ if (ret) goto out; - target->req_ring_size = target->queue_size - SRP_TSK_MGMT_SQ_SIZE; - if (!srp_conn_unique(target->srp_host, target)) { if (target->using_rdma_cm) { shost_printk(KERN_INFO, target->scsi_host, @@ -3839,10 +3811,6 @@ if (ret) goto err_disconnect; - ret = srp_alloc_req_data(ch); - if (ret) - goto err_disconnect; - ret = srp_connect_ch(ch, max_iu_len, multich); if (ret) { char dst[64]; @@ -3861,7 +3829,6 @@ goto free_ch; } else { srp_free_ch_ib(target, ch); - srp_free_req_data(target, ch); target->ch_count = ch - target->ch; goto connected; } @@ -3922,7 +3889,6 @@ for (i = 0; i < target->ch_count; i++) { ch = &target->ch[i]; srp_free_ch_ib(target, ch); - srp_free_req_data(target, ch); } kfree(target->ch); diff -Nru linux-5.10.197/drivers/infiniband/ulp/srp/ib_srp.h linux-5.10.205/drivers/infiniband/ulp/srp/ib_srp.h --- linux-5.10.197/drivers/infiniband/ulp/srp/ib_srp.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/infiniband/ulp/srp/ib_srp.h 2023-12-20 14:44:42.000000000 +0000 @@ -176,7 +176,6 @@ struct srp_iu **tx_ring; struct srp_iu **rx_ring; - struct srp_request *req_ring; int comp_vector; u64 tsk_mgmt_tag; @@ -222,7 +221,6 @@ int mr_pool_size; int mr_per_cmd; int queue_size; - int req_ring_size; int comp_vector; int tl_retry_count; diff -Nru linux-5.10.197/drivers/input/joystick/xpad.c linux-5.10.205/drivers/input/joystick/xpad.c --- linux-5.10.197/drivers/input/joystick/xpad.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/input/joystick/xpad.c 2023-12-20 14:44:42.000000000 +0000 @@ -119,6 +119,7 @@ { 0x044f, 0x0f07, "Thrustmaster, Inc. Controller", 0, XTYPE_XBOX }, { 0x044f, 0x0f10, "Thrustmaster Modena GT Wheel", 0, XTYPE_XBOX }, { 0x044f, 0xb326, "Thrustmaster Gamepad GP XID", 0, XTYPE_XBOX360 }, + { 0x03f0, 0x0495, "HyperX Clutch Gladiate", 0, XTYPE_XBOXONE }, { 0x045e, 0x0202, "Microsoft X-Box pad v1 (US)", 0, XTYPE_XBOX }, { 0x045e, 0x0285, "Microsoft X-Box pad (Japan)", 0, XTYPE_XBOX }, { 0x045e, 0x0287, "Microsoft Xbox Controller S", 0, XTYPE_XBOX }, @@ -252,6 +253,7 @@ { 0x1038, 0x1430, "SteelSeries Stratus Duo", 0, XTYPE_XBOX360 }, { 0x1038, 0x1431, "SteelSeries Stratus Duo", 0, XTYPE_XBOX360 }, { 0x11c9, 0x55f0, "Nacon GC-100XF", 0, XTYPE_XBOX360 }, + { 0x11ff, 0x0511, "PXN V900", 0, XTYPE_XBOX360 }, { 0x1209, 0x2882, "Ardwiino Controller", 0, XTYPE_XBOX360 }, { 0x12ab, 0x0004, "Honey Bee Xbox360 dancepad", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX360 }, { 0x12ab, 0x0301, "PDP AFTERGLOW AX.1", 0, XTYPE_XBOX360 }, @@ -430,6 +432,7 @@ XPAD_XBOX360_VENDOR(0x0079), /* GPD Win 2 Controller */ XPAD_XBOX360_VENDOR(0x03eb), /* Wooting Keyboards (Legacy) */ XPAD_XBOX360_VENDOR(0x044f), /* Thrustmaster X-Box 360 controllers */ + XPAD_XBOXONE_VENDOR(0x03f0), /* HP HyperX Xbox One Controllers */ XPAD_XBOX360_VENDOR(0x045e), /* Microsoft X-Box 360 controllers */ XPAD_XBOXONE_VENDOR(0x045e), /* Microsoft X-Box One controllers */ XPAD_XBOX360_VENDOR(0x046d), /* Logitech X-Box 360 style controllers */ @@ -446,6 +449,7 @@ XPAD_XBOXONE_VENDOR(0x0f0d), /* Hori Controllers */ XPAD_XBOX360_VENDOR(0x1038), /* SteelSeries Controllers */ XPAD_XBOX360_VENDOR(0x11c9), /* Nacon GC100XF */ + XPAD_XBOX360_VENDOR(0x11ff), /* PXN V900 */ XPAD_XBOX360_VENDOR(0x1209), /* Ardwiino Controllers */ XPAD_XBOX360_VENDOR(0x12ab), /* X-Box 360 dance pads */ XPAD_XBOX360_VENDOR(0x1430), /* RedOctane X-Box 360 controllers */ diff -Nru linux-5.10.197/drivers/input/misc/powermate.c linux-5.10.205/drivers/input/misc/powermate.c --- linux-5.10.197/drivers/input/misc/powermate.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/input/misc/powermate.c 2023-12-20 14:44:42.000000000 +0000 @@ -425,6 +425,7 @@ pm->requires_update = 0; usb_kill_urb(pm->irq); input_unregister_device(pm->input); + usb_kill_urb(pm->config); usb_free_urb(pm->irq); usb_free_urb(pm->config); powermate_free_buffers(interface_to_usbdev(intf), pm); diff -Nru linux-5.10.197/drivers/input/mouse/elantech.c linux-5.10.205/drivers/input/mouse/elantech.c --- linux-5.10.197/drivers/input/mouse/elantech.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/input/mouse/elantech.c 2023-12-20 14:44:42.000000000 +0000 @@ -2112,6 +2112,7 @@ psmouse->protocol_handler = elantech_process_byte; psmouse->disconnect = elantech_disconnect; psmouse->reconnect = elantech_reconnect; + psmouse->fast_reconnect = NULL; psmouse->pktsize = info->hw_version > 1 ? 6 : 4; return 0; diff -Nru linux-5.10.197/drivers/input/mouse/synaptics.c linux-5.10.205/drivers/input/mouse/synaptics.c --- linux-5.10.197/drivers/input/mouse/synaptics.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/input/mouse/synaptics.c 2023-12-20 14:44:42.000000000 +0000 @@ -1619,6 +1619,7 @@ psmouse->set_rate = synaptics_set_rate; psmouse->disconnect = synaptics_disconnect; psmouse->reconnect = synaptics_reconnect; + psmouse->fast_reconnect = NULL; psmouse->cleanup = synaptics_reset; /* Synaptics can usually stay in sync without extra help */ psmouse->resync_time = 0; @@ -1748,6 +1749,7 @@ psmouse_matches_pnp_id(psmouse, topbuttonpad_pnp_ids) && !SYN_CAP_EXT_BUTTONS_STICK(info->ext_cap_10); const struct rmi_device_platform_data pdata = { + .reset_delay_ms = 30, .sensor_pdata = { .sensor_type = rmi_sensor_touchpad, .axis_align.flip_y = true, diff -Nru linux-5.10.197/drivers/input/rmi4/rmi_bus.c linux-5.10.205/drivers/input/rmi4/rmi_bus.c --- linux-5.10.197/drivers/input/rmi4/rmi_bus.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/input/rmi4/rmi_bus.c 2023-12-20 14:44:42.000000000 +0000 @@ -276,11 +276,11 @@ device_del(&fn->dev); of_node_put(fn->dev.of_node); - put_device(&fn->dev); for (i = 0; i < fn->num_of_irqs; i++) irq_dispose_mapping(fn->irq[i]); + put_device(&fn->dev); } /** diff -Nru linux-5.10.197/drivers/input/rmi4/rmi_smbus.c linux-5.10.205/drivers/input/rmi4/rmi_smbus.c --- linux-5.10.197/drivers/input/rmi4/rmi_smbus.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/input/rmi4/rmi_smbus.c 2023-12-20 14:44:42.000000000 +0000 @@ -235,12 +235,29 @@ static int rmi_smb_enable_smbus_mode(struct rmi_smb_xport *rmi_smb) { - int retval; + struct i2c_client *client = rmi_smb->client; + int smbus_version; + + /* + * psmouse driver resets the controller, we only need to wait + * to give the firmware chance to fully reinitialize. + */ + if (rmi_smb->xport.pdata.reset_delay_ms) + msleep(rmi_smb->xport.pdata.reset_delay_ms); /* we need to get the smbus version to activate the touchpad */ - retval = rmi_smb_get_version(rmi_smb); - if (retval < 0) - return retval; + smbus_version = rmi_smb_get_version(rmi_smb); + if (smbus_version < 0) + return smbus_version; + + rmi_dbg(RMI_DEBUG_XPORT, &client->dev, "Smbus version is %d", + smbus_version); + + if (smbus_version != 2 && smbus_version != 3) { + dev_err(&client->dev, "Unrecognized SMB version %d\n", + smbus_version); + return -ENODEV; + } return 0; } @@ -253,11 +270,10 @@ rmi_smb_clear_state(rmi_smb); /* - * we do not call the actual reset command, it has to be handled in - * PS/2 or there will be races between PS/2 and SMBus. - * PS/2 should ensure that a psmouse_reset is called before - * intializing the device and after it has been removed to be in a known - * state. + * We do not call the actual reset command, it has to be handled in + * PS/2 or there will be races between PS/2 and SMBus. PS/2 should + * ensure that a psmouse_reset is called before initializing the + * device and after it has been removed to be in a known state. */ return rmi_smb_enable_smbus_mode(rmi_smb); } @@ -273,7 +289,6 @@ { struct rmi_device_platform_data *pdata = dev_get_platdata(&client->dev); struct rmi_smb_xport *rmi_smb; - int smbus_version; int error; if (!pdata) { @@ -312,18 +327,9 @@ rmi_smb->xport.proto_name = "smb"; rmi_smb->xport.ops = &rmi_smb_ops; - smbus_version = rmi_smb_get_version(rmi_smb); - if (smbus_version < 0) - return smbus_version; - - rmi_dbg(RMI_DEBUG_XPORT, &client->dev, "Smbus version is %d", - smbus_version); - - if (smbus_version != 2 && smbus_version != 3) { - dev_err(&client->dev, "Unrecognized SMB version %d\n", - smbus_version); - return -ENODEV; - } + error = rmi_smb_enable_smbus_mode(rmi_smb); + if (error) + return error; i2c_set_clientdata(client, rmi_smb); diff -Nru linux-5.10.197/drivers/input/serio/i8042-acpipnpio.h linux-5.10.205/drivers/input/serio/i8042-acpipnpio.h --- linux-5.10.197/drivers/input/serio/i8042-acpipnpio.h 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/drivers/input/serio/i8042-acpipnpio.h 2023-12-20 14:44:42.000000000 +0000 @@ -0,0 +1,1605 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +#ifndef _I8042_ACPIPNPIO_H +#define _I8042_ACPIPNPIO_H + + +#ifdef CONFIG_X86 +#include +#endif + +/* + * Names. + */ + +#define I8042_KBD_PHYS_DESC "isa0060/serio0" +#define I8042_AUX_PHYS_DESC "isa0060/serio1" +#define I8042_MUX_PHYS_DESC "isa0060/serio%d" + +/* + * IRQs. + */ + +#if defined(__ia64__) +# define I8042_MAP_IRQ(x) isa_irq_to_vector((x)) +#else +# define I8042_MAP_IRQ(x) (x) +#endif + +#define I8042_KBD_IRQ i8042_kbd_irq +#define I8042_AUX_IRQ i8042_aux_irq + +static int i8042_kbd_irq; +static int i8042_aux_irq; + +/* + * Register numbers. + */ + +#define I8042_COMMAND_REG i8042_command_reg +#define I8042_STATUS_REG i8042_command_reg +#define I8042_DATA_REG i8042_data_reg + +static int i8042_command_reg = 0x64; +static int i8042_data_reg = 0x60; + + +static inline int i8042_read_data(void) +{ + return inb(I8042_DATA_REG); +} + +static inline int i8042_read_status(void) +{ + return inb(I8042_STATUS_REG); +} + +static inline void i8042_write_data(int val) +{ + outb(val, I8042_DATA_REG); +} + +static inline void i8042_write_command(int val) +{ + outb(val, I8042_COMMAND_REG); +} + +#ifdef CONFIG_X86 + +#include + +#define SERIO_QUIRK_NOKBD BIT(0) +#define SERIO_QUIRK_NOAUX BIT(1) +#define SERIO_QUIRK_NOMUX BIT(2) +#define SERIO_QUIRK_FORCEMUX BIT(3) +#define SERIO_QUIRK_UNLOCK BIT(4) +#define SERIO_QUIRK_PROBE_DEFER BIT(5) +#define SERIO_QUIRK_RESET_ALWAYS BIT(6) +#define SERIO_QUIRK_RESET_NEVER BIT(7) +#define SERIO_QUIRK_DIECT BIT(8) +#define SERIO_QUIRK_DUMBKBD BIT(9) +#define SERIO_QUIRK_NOLOOP BIT(10) +#define SERIO_QUIRK_NOTIMEOUT BIT(11) +#define SERIO_QUIRK_KBDRESET BIT(12) +#define SERIO_QUIRK_DRITEK BIT(13) +#define SERIO_QUIRK_NOPNP BIT(14) + +/* Quirk table for different mainboards. Options similar or identical to i8042 + * module parameters. + * ORDERING IS IMPORTANT! The first match will be apllied and the rest ignored. + * This allows entries to overwrite vendor wide quirks on a per device basis. + * Where this is irrelevant, entries are sorted case sensitive by DMI_SYS_VENDOR + * and/or DMI_BOARD_VENDOR to make it easier to avoid dublicate entries. + */ +static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = { + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ALIENWARE"), + DMI_MATCH(DMI_PRODUCT_NAME, "Sentia"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "X750LN"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOLOOP) + }, + { + /* Asus X450LCP */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "X450LCP"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_NEVER) + }, + { + /* ASUS ZenBook UX425UA */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "ZenBook UX425UA"), + }, + .driver_data = (void *)(SERIO_QUIRK_PROBE_DEFER | SERIO_QUIRK_RESET_NEVER) + }, + { + /* ASUS ZenBook UM325UA */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "ZenBook UX325UA_UM325UA"), + }, + .driver_data = (void *)(SERIO_QUIRK_PROBE_DEFER | SERIO_QUIRK_RESET_NEVER) + }, + /* + * On some Asus laptops, just running self tests cause problems. + */ + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_CHASSIS_TYPE, "10"), /* Notebook */ + }, + .driver_data = (void *)(SERIO_QUIRK_RESET_NEVER) + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_CHASSIS_TYPE, "31"), /* Convertible Notebook */ + }, + .driver_data = (void *)(SERIO_QUIRK_RESET_NEVER) + }, + { + /* ASUS P65UP5 - AUX LOOP command does not raise AUX IRQ */ + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), + DMI_MATCH(DMI_BOARD_NAME, "P/I-P65UP5"), + DMI_MATCH(DMI_BOARD_VERSION, "REV 2.X"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOLOOP) + }, + { + /* ASUS G1S */ + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer Inc."), + DMI_MATCH(DMI_BOARD_NAME, "G1S"), + DMI_MATCH(DMI_BOARD_VERSION, "1.0"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOLOOP) + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 1360"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Acer Aspire 5710 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5710"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Acer Aspire 7738 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 7738"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Acer Aspire 5536 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5536"), + DMI_MATCH(DMI_PRODUCT_VERSION, "0100"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* + * Acer Aspire 5738z + * Touchpad stops working in mux mode when dis- + re-enabled + * with the touchpad enable/disable toggle hotkey + */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5738"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Acer Aspire One 150 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "AOA150"), + }, + .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire A114-31"), + }, + .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire A314-31"), + }, + .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire A315-31"), + }, + .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire ES1-132"), + }, + .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire ES1-332"), + }, + .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire ES1-432"), + }, + .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate Spin B118-RN"), + }, + .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) + }, + /* + * Some Wistron based laptops need us to explicitly enable the 'Dritek + * keyboard extension' to make their extra keys start generating scancodes. + * Originally, this was just confined to older laptops, but a few Acer laptops + * have turned up in 2007 that also need this again. + */ + { + /* Acer Aspire 5100 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5100"), + }, + .driver_data = (void *)(SERIO_QUIRK_DRITEK) + }, + { + /* Acer Aspire 5610 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5610"), + }, + .driver_data = (void *)(SERIO_QUIRK_DRITEK) + }, + { + /* Acer Aspire 5630 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5630"), + }, + .driver_data = (void *)(SERIO_QUIRK_DRITEK) + }, + { + /* Acer Aspire 5650 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5650"), + }, + .driver_data = (void *)(SERIO_QUIRK_DRITEK) + }, + { + /* Acer Aspire 5680 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5680"), + }, + .driver_data = (void *)(SERIO_QUIRK_DRITEK) + }, + { + /* Acer Aspire 5720 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5720"), + }, + .driver_data = (void *)(SERIO_QUIRK_DRITEK) + }, + { + /* Acer Aspire 9110 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 9110"), + }, + .driver_data = (void *)(SERIO_QUIRK_DRITEK) + }, + { + /* Acer TravelMate 660 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 660"), + }, + .driver_data = (void *)(SERIO_QUIRK_DRITEK) + }, + { + /* Acer TravelMate 2490 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 2490"), + }, + .driver_data = (void *)(SERIO_QUIRK_DRITEK) + }, + { + /* Acer TravelMate 4280 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 4280"), + }, + .driver_data = (void *)(SERIO_QUIRK_DRITEK) + }, + { + /* Amoi M636/A737 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Amoi Electronics CO.,LTD."), + DMI_MATCH(DMI_PRODUCT_NAME, "M636/A737 platform"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ByteSpeed LLC"), + DMI_MATCH(DMI_PRODUCT_NAME, "ByteSpeed Laptop C15B"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOLOOP) + }, + { + /* Compal HEL80I */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "COMPAL"), + DMI_MATCH(DMI_PRODUCT_NAME, "HEL80I"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Compaq"), + DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant"), + DMI_MATCH(DMI_PRODUCT_VERSION, "8500"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOLOOP) + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Compaq"), + DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant"), + DMI_MATCH(DMI_PRODUCT_VERSION, "DL760"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOLOOP) + }, + { + /* Advent 4211 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "DIXONSXP"), + DMI_MATCH(DMI_PRODUCT_NAME, "Advent 4211"), + }, + .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) + }, + { + /* Dell Embedded Box PC 3000 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Embedded Box PC 3000"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOLOOP) + }, + { + /* Dell XPS M1530 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "XPS M1530"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Dell Vostro 1510 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Vostro1510"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Dell Vostro V13 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Vostro V13"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_NOTIMEOUT) + }, + { + /* Dell Vostro 1320 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Vostro 1320"), + }, + .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) + }, + { + /* Dell Vostro 1520 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Vostro 1520"), + }, + .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) + }, + { + /* Dell Vostro 1720 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Vostro 1720"), + }, + .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) + }, + { + /* Entroware Proteus */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Entroware"), + DMI_MATCH(DMI_PRODUCT_NAME, "Proteus"), + DMI_MATCH(DMI_PRODUCT_VERSION, "EL07R4"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS) + }, + /* + * Some Fujitsu notebooks are having trouble with touchpads if + * active multiplexing mode is activated. Luckily they don't have + * external PS/2 ports so we can safely disable it. + * ... apparently some Toshibas don't like MUX mode either and + * die horrible death on reboot. + */ + { + /* Fujitsu Lifebook P7010/P7010D */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), + DMI_MATCH(DMI_PRODUCT_NAME, "P7010"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Fujitsu Lifebook P5020D */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), + DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook P Series"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Fujitsu Lifebook S2000 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), + DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook S Series"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Fujitsu Lifebook S6230 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), + DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook S6230"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Fujitsu Lifebook T725 laptop */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), + DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK T725"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_NOTIMEOUT) + }, + { + /* Fujitsu Lifebook U745 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), + DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK U745"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Fujitsu T70H */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), + DMI_MATCH(DMI_PRODUCT_NAME, "FMVLT70H"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Fujitsu A544 laptop */ + /* https://bugzilla.redhat.com/show_bug.cgi?id=1111138 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), + DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK A544"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOTIMEOUT) + }, + { + /* Fujitsu AH544 laptop */ + /* https://bugzilla.kernel.org/show_bug.cgi?id=69731 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), + DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK AH544"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOTIMEOUT) + }, + { + /* Fujitsu U574 laptop */ + /* https://bugzilla.kernel.org/show_bug.cgi?id=69731 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), + DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK U574"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOTIMEOUT) + }, + { + /* Fujitsu UH554 laptop */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), + DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK UH544"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOTIMEOUT) + }, + { + /* Fujitsu Lifebook P7010 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), + DMI_MATCH(DMI_PRODUCT_NAME, "0000000000"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Fujitsu-Siemens Lifebook T3010 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), + DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK T3010"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Fujitsu-Siemens Lifebook E4010 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), + DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK E4010"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Fujitsu-Siemens Amilo Pro 2010 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), + DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Pro V2010"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Fujitsu-Siemens Amilo Pro 2030 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), + DMI_MATCH(DMI_PRODUCT_NAME, "AMILO PRO V2030"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Fujitsu Lifebook A574/H */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), + DMI_MATCH(DMI_PRODUCT_NAME, "FMVA0501PZ"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Fujitsu Lifebook E5411 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU CLIENT COMPUTING LIMITED"), + DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK E5411"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOAUX) + }, + { + /* Gigabyte M912 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"), + DMI_MATCH(DMI_PRODUCT_NAME, "M912"), + DMI_MATCH(DMI_PRODUCT_VERSION, "01"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOLOOP) + }, + { + /* Gigabyte Spring Peak - defines wrong chassis type */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"), + DMI_MATCH(DMI_PRODUCT_NAME, "Spring Peak"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOLOOP) + }, + { + /* Gigabyte T1005 - defines wrong chassis type ("Other") */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"), + DMI_MATCH(DMI_PRODUCT_NAME, "T1005"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOLOOP) + }, + { + /* Gigabyte T1005M/P - defines wrong chassis type ("Other") */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"), + DMI_MATCH(DMI_PRODUCT_NAME, "T1005M/P"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOLOOP) + }, + /* + * Some laptops need keyboard reset before probing for the trackpad to get + * it detected, initialised & finally work. + */ + { + /* Gigabyte P35 v2 - Elantech touchpad */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"), + DMI_MATCH(DMI_PRODUCT_NAME, "P35V2"), + }, + .driver_data = (void *)(SERIO_QUIRK_KBDRESET) + }, + { + /* Aorus branded Gigabyte X3 Plus - Elantech touchpad */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"), + DMI_MATCH(DMI_PRODUCT_NAME, "X3"), + }, + .driver_data = (void *)(SERIO_QUIRK_KBDRESET) + }, + { + /* Gigabyte P34 - Elantech touchpad */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"), + DMI_MATCH(DMI_PRODUCT_NAME, "P34"), + }, + .driver_data = (void *)(SERIO_QUIRK_KBDRESET) + }, + { + /* Gigabyte P57 - Elantech touchpad */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"), + DMI_MATCH(DMI_PRODUCT_NAME, "P57"), + }, + .driver_data = (void *)(SERIO_QUIRK_KBDRESET) + }, + { + /* Gericom Bellagio */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Gericom"), + DMI_MATCH(DMI_PRODUCT_NAME, "N34AS6"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Gigabyte M1022M netbook */ + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Gigabyte Technology Co.,Ltd."), + DMI_MATCH(DMI_BOARD_NAME, "M1022E"), + DMI_MATCH(DMI_BOARD_VERSION, "1.02"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOLOOP) + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), + DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion dv9700"), + DMI_MATCH(DMI_PRODUCT_VERSION, "Rev 1"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOLOOP) + }, + { + /* + * HP Pavilion DV4017EA - + * errors on MUX ports are reported without raising AUXDATA + * causing "spurious NAK" messages. + */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), + DMI_MATCH(DMI_PRODUCT_NAME, "Pavilion dv4000 (EA032EA#ABF)"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* + * HP Pavilion ZT1000 - + * like DV4017EA does not raise AUXERR for errors on MUX ports. + */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), + DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion Notebook PC"), + DMI_MATCH(DMI_PRODUCT_VERSION, "HP Pavilion Notebook ZT1000"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* + * HP Pavilion DV4270ca - + * like DV4017EA does not raise AUXERR for errors on MUX ports. + */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), + DMI_MATCH(DMI_PRODUCT_NAME, "Pavilion dv4000 (EH476UA#ABL)"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Newer HP Pavilion dv4 models */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), + DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion dv4 Notebook PC"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_NOTIMEOUT) + }, + { + /* IBM 2656 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "IBM"), + DMI_MATCH(DMI_PRODUCT_NAME, "2656"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Avatar AVIU-145A6 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Intel"), + DMI_MATCH(DMI_PRODUCT_NAME, "IC4I"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Intel MBO Desktop D845PESV */ + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Intel Corporation"), + DMI_MATCH(DMI_BOARD_NAME, "D845PESV"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOPNP) + }, + { + /* + * Intel NUC D54250WYK - does not have i8042 controller but + * declares PS/2 devices in DSDT. + */ + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Intel Corporation"), + DMI_MATCH(DMI_BOARD_NAME, "D54250WYK"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOPNP) + }, + { + /* Lenovo 3000 n100 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_NAME, "076804U"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Lenovo XiaoXin Air 12 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_NAME, "80UN"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Lenovo LaVie Z */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo LaVie Z"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Lenovo Ideapad U455 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_NAME, "20046"), + }, + .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) + }, + { + /* Lenovo ThinkPad L460 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad L460"), + }, + .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) + }, + { + /* Lenovo ThinkPad Twist S230u */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_NAME, "33474HU"), + }, + .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) + }, + { + /* LG Electronics X110 */ + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "LG Electronics Inc."), + DMI_MATCH(DMI_BOARD_NAME, "X110"), + }, + .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) + }, + { + /* Medion Akoya Mini E1210 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "MEDION"), + DMI_MATCH(DMI_PRODUCT_NAME, "E1210"), + }, + .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) + }, + { + /* Medion Akoya E1222 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "MEDION"), + DMI_MATCH(DMI_PRODUCT_NAME, "E122X"), + }, + .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) + }, + { + /* MSI Wind U-100 */ + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "MICRO-STAR INTERNATIONAL CO., LTD"), + DMI_MATCH(DMI_BOARD_NAME, "U-100"), + }, + .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS | SERIO_QUIRK_NOPNP) + }, + { + /* + * No data is coming from the touchscreen unless KBC + * is in legacy mode. + */ + /* Panasonic CF-29 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Matsushita"), + DMI_MATCH(DMI_PRODUCT_NAME, "CF-29"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Medion Akoya E7225 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Medion"), + DMI_MATCH(DMI_PRODUCT_NAME, "Akoya E7225"), + DMI_MATCH(DMI_PRODUCT_VERSION, "1.0"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOLOOP) + }, + { + /* Microsoft Virtual Machine */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Microsoft Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "Virtual Machine"), + DMI_MATCH(DMI_PRODUCT_VERSION, "VS2005R2"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOLOOP) + }, + { + /* Medion MAM 2070 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), + DMI_MATCH(DMI_PRODUCT_NAME, "MAM 2070"), + DMI_MATCH(DMI_PRODUCT_VERSION, "5a"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOLOOP) + }, + { + /* TUXEDO BU1406 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), + DMI_MATCH(DMI_PRODUCT_NAME, "N24_25BU"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Clevo P650RS, 650RP6, Sager NP8152-S, and others */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), + DMI_MATCH(DMI_PRODUCT_NAME, "P65xRP"), + }, + .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) + }, + { + /* OQO Model 01 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "OQO"), + DMI_MATCH(DMI_PRODUCT_NAME, "ZEPTO"), + DMI_MATCH(DMI_PRODUCT_VERSION, "00"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOLOOP) + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "PEGATRON CORPORATION"), + DMI_MATCH(DMI_PRODUCT_NAME, "C15B"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOLOOP) + }, + { + /* Acer Aspire 5 A515 */ + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "PK"), + DMI_MATCH(DMI_BOARD_NAME, "Grumpy_PK"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOPNP) + }, + { + /* ULI EV4873 - AUX LOOP does not work properly */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ULI"), + DMI_MATCH(DMI_PRODUCT_NAME, "EV4873"), + DMI_MATCH(DMI_PRODUCT_VERSION, "5a"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOLOOP) + }, + { + /* + * Arima-Rioworks HDAMB - + * AUX LOOP command does not raise AUX IRQ + */ + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "RIOWORKS"), + DMI_MATCH(DMI_BOARD_NAME, "HDAMB"), + DMI_MATCH(DMI_BOARD_VERSION, "Rev E"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOLOOP) + }, + { + /* Sharp Actius MM20 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "SHARP"), + DMI_MATCH(DMI_PRODUCT_NAME, "PC-MM20 Series"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* + * Sony Vaio FZ-240E - + * reset and GET ID commands issued via KBD port are + * sometimes being delivered to AUX3. + */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FZ240E"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* + * Most (all?) VAIOs do not have external PS/2 ports nor + * they implement active multiplexing properly, and + * MUX discovery usually messes up keyboard/touchpad. + */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), + DMI_MATCH(DMI_BOARD_NAME, "VAIO"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* Sony Vaio FS-115b */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FS115B"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + /* + * Sony Vaio VGN-CS series require MUX or the touch sensor + * buttons will disturb touchpad operation + */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "VGN-CS"), + }, + .driver_data = (void *)(SERIO_QUIRK_FORCEMUX) + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), + DMI_MATCH(DMI_PRODUCT_NAME, "Satellite P10"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), + DMI_MATCH(DMI_PRODUCT_NAME, "EQUIUM A110"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), + DMI_MATCH(DMI_PRODUCT_NAME, "SATELLITE C850D"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX) + }, + /* + * A lot of modern Clevo barebones have touchpad and/or keyboard issues + * after suspend fixable with nomux + reset + noloop + nopnp. Luckily, + * none of them have an external PS/2 port so this can safely be set for + * all of them. These two are based on a Clevo design, but have the + * board_name changed. + */ + { + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), + DMI_MATCH(DMI_BOARD_NAME, "AURA1501"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | + SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + }, + { + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), + DMI_MATCH(DMI_BOARD_NAME, "EDUBOOK1502"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | + SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + }, + { + /* Mivvy M310 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "VIOOO"), + DMI_MATCH(DMI_PRODUCT_NAME, "N10"), + }, + .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) + }, + /* + * Some laptops need keyboard reset before probing for the trackpad to get + * it detected, initialised & finally work. + */ + { + /* Schenker XMG C504 - Elantech touchpad */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "XMG"), + DMI_MATCH(DMI_PRODUCT_NAME, "C504"), + }, + .driver_data = (void *)(SERIO_QUIRK_KBDRESET) + }, + { + /* Blue FB5601 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "blue"), + DMI_MATCH(DMI_PRODUCT_NAME, "FB5601"), + DMI_MATCH(DMI_PRODUCT_VERSION, "M606"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOLOOP) + }, + /* + * A lot of modern Clevo barebones have touchpad and/or keyboard issues + * after suspend fixable with nomux + reset + noloop + nopnp. Luckily, + * none of them have an external PS/2 port so this can safely be set for + * all of them. + * Clevo barebones come with board_vendor and/or system_vendor set to + * either the very generic string "Notebook" and/or a different value + * for each individual reseller. The only somewhat universal way to + * identify them is by board_name. + */ + { + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71A"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | + SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + }, + { + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "LAPQC71B"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | + SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + }, + { + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "N140CU"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | + SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + }, + { + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "N141CU"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | + SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + }, + { + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "NH5xAx"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | + SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + }, + { + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | + SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + }, + /* + * At least one modern Clevo barebone has the touchpad connected both + * via PS/2 and i2c interface. This causes a race condition between the + * psmouse and i2c-hid driver. Since the full capability of the touchpad + * is available via the i2c interface and the device has no external + * PS/2 port, it is safe to just ignore all ps2 mouses here to avoid + * this issue. The known affected device is the + * TUXEDO InfinityBook S17 Gen6 / Clevo NS70MU which comes with one of + * the two different dmi strings below. NS50MU is not a typo! + */ + { + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "NS50MU"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOAUX | SERIO_QUIRK_NOMUX | + SERIO_QUIRK_RESET_ALWAYS | SERIO_QUIRK_NOLOOP | + SERIO_QUIRK_NOPNP) + }, + { + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "NS50_70MU"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOAUX | SERIO_QUIRK_NOMUX | + SERIO_QUIRK_RESET_ALWAYS | SERIO_QUIRK_NOLOOP | + SERIO_QUIRK_NOPNP) + }, + { + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "NJ50_70CU"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | + SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + }, + { + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "PB50_70DFx,DDx"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | + SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + }, + { + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "PCX0DX"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | + SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + }, + /* See comment on TUXEDO InfinityBook S17 Gen6 / Clevo NS70MU above */ + { + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "PD5x_7xPNP_PNR_PNN_PNT"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOAUX) + }, + { + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "X170SM"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | + SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + }, + { + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "X170KM-G"), + }, + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | + SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + }, + { } +}; + +#ifdef CONFIG_PNP +static const struct dmi_system_id i8042_dmi_laptop_table[] __initconst = { + { + .matches = { + DMI_MATCH(DMI_CHASSIS_TYPE, "8"), /* Portable */ + }, + }, + { + .matches = { + DMI_MATCH(DMI_CHASSIS_TYPE, "9"), /* Laptop */ + }, + }, + { + .matches = { + DMI_MATCH(DMI_CHASSIS_TYPE, "10"), /* Notebook */ + }, + }, + { + .matches = { + DMI_MATCH(DMI_CHASSIS_TYPE, "14"), /* Sub-Notebook */ + }, + }, + { } +}; +#endif + +#endif /* CONFIG_X86 */ + +#ifdef CONFIG_PNP +#include + +static bool i8042_pnp_kbd_registered; +static unsigned int i8042_pnp_kbd_devices; +static bool i8042_pnp_aux_registered; +static unsigned int i8042_pnp_aux_devices; + +static int i8042_pnp_command_reg; +static int i8042_pnp_data_reg; +static int i8042_pnp_kbd_irq; +static int i8042_pnp_aux_irq; + +static char i8042_pnp_kbd_name[32]; +static char i8042_pnp_aux_name[32]; + +static void i8042_pnp_id_to_string(struct pnp_id *id, char *dst, int dst_size) +{ + strlcpy(dst, "PNP:", dst_size); + + while (id) { + strlcat(dst, " ", dst_size); + strlcat(dst, id->id, dst_size); + id = id->next; + } +} + +static int i8042_pnp_kbd_probe(struct pnp_dev *dev, const struct pnp_device_id *did) +{ + if (pnp_port_valid(dev, 0) && pnp_port_len(dev, 0) == 1) + i8042_pnp_data_reg = pnp_port_start(dev,0); + + if (pnp_port_valid(dev, 1) && pnp_port_len(dev, 1) == 1) + i8042_pnp_command_reg = pnp_port_start(dev, 1); + + if (pnp_irq_valid(dev,0)) + i8042_pnp_kbd_irq = pnp_irq(dev, 0); + + strlcpy(i8042_pnp_kbd_name, did->id, sizeof(i8042_pnp_kbd_name)); + if (strlen(pnp_dev_name(dev))) { + strlcat(i8042_pnp_kbd_name, ":", sizeof(i8042_pnp_kbd_name)); + strlcat(i8042_pnp_kbd_name, pnp_dev_name(dev), sizeof(i8042_pnp_kbd_name)); + } + i8042_pnp_id_to_string(dev->id, i8042_kbd_firmware_id, + sizeof(i8042_kbd_firmware_id)); + i8042_kbd_fwnode = dev_fwnode(&dev->dev); + + /* Keyboard ports are always supposed to be wakeup-enabled */ + device_set_wakeup_enable(&dev->dev, true); + + i8042_pnp_kbd_devices++; + return 0; +} + +static int i8042_pnp_aux_probe(struct pnp_dev *dev, const struct pnp_device_id *did) +{ + if (pnp_port_valid(dev, 0) && pnp_port_len(dev, 0) == 1) + i8042_pnp_data_reg = pnp_port_start(dev,0); + + if (pnp_port_valid(dev, 1) && pnp_port_len(dev, 1) == 1) + i8042_pnp_command_reg = pnp_port_start(dev, 1); + + if (pnp_irq_valid(dev, 0)) + i8042_pnp_aux_irq = pnp_irq(dev, 0); + + strlcpy(i8042_pnp_aux_name, did->id, sizeof(i8042_pnp_aux_name)); + if (strlen(pnp_dev_name(dev))) { + strlcat(i8042_pnp_aux_name, ":", sizeof(i8042_pnp_aux_name)); + strlcat(i8042_pnp_aux_name, pnp_dev_name(dev), sizeof(i8042_pnp_aux_name)); + } + i8042_pnp_id_to_string(dev->id, i8042_aux_firmware_id, + sizeof(i8042_aux_firmware_id)); + + i8042_pnp_aux_devices++; + return 0; +} + +static const struct pnp_device_id pnp_kbd_devids[] = { + { .id = "PNP0300", .driver_data = 0 }, + { .id = "PNP0301", .driver_data = 0 }, + { .id = "PNP0302", .driver_data = 0 }, + { .id = "PNP0303", .driver_data = 0 }, + { .id = "PNP0304", .driver_data = 0 }, + { .id = "PNP0305", .driver_data = 0 }, + { .id = "PNP0306", .driver_data = 0 }, + { .id = "PNP0309", .driver_data = 0 }, + { .id = "PNP030a", .driver_data = 0 }, + { .id = "PNP030b", .driver_data = 0 }, + { .id = "PNP0320", .driver_data = 0 }, + { .id = "PNP0343", .driver_data = 0 }, + { .id = "PNP0344", .driver_data = 0 }, + { .id = "PNP0345", .driver_data = 0 }, + { .id = "CPQA0D7", .driver_data = 0 }, + { .id = "", }, +}; +MODULE_DEVICE_TABLE(pnp, pnp_kbd_devids); + +static struct pnp_driver i8042_pnp_kbd_driver = { + .name = "i8042 kbd", + .id_table = pnp_kbd_devids, + .probe = i8042_pnp_kbd_probe, + .driver = { + .probe_type = PROBE_FORCE_SYNCHRONOUS, + .suppress_bind_attrs = true, + }, +}; + +static const struct pnp_device_id pnp_aux_devids[] = { + { .id = "AUI0200", .driver_data = 0 }, + { .id = "FJC6000", .driver_data = 0 }, + { .id = "FJC6001", .driver_data = 0 }, + { .id = "PNP0f03", .driver_data = 0 }, + { .id = "PNP0f0b", .driver_data = 0 }, + { .id = "PNP0f0e", .driver_data = 0 }, + { .id = "PNP0f12", .driver_data = 0 }, + { .id = "PNP0f13", .driver_data = 0 }, + { .id = "PNP0f19", .driver_data = 0 }, + { .id = "PNP0f1c", .driver_data = 0 }, + { .id = "SYN0801", .driver_data = 0 }, + { .id = "", }, +}; +MODULE_DEVICE_TABLE(pnp, pnp_aux_devids); + +static struct pnp_driver i8042_pnp_aux_driver = { + .name = "i8042 aux", + .id_table = pnp_aux_devids, + .probe = i8042_pnp_aux_probe, + .driver = { + .probe_type = PROBE_FORCE_SYNCHRONOUS, + .suppress_bind_attrs = true, + }, +}; + +static void i8042_pnp_exit(void) +{ + if (i8042_pnp_kbd_registered) { + i8042_pnp_kbd_registered = false; + pnp_unregister_driver(&i8042_pnp_kbd_driver); + } + + if (i8042_pnp_aux_registered) { + i8042_pnp_aux_registered = false; + pnp_unregister_driver(&i8042_pnp_aux_driver); + } +} + +static int __init i8042_pnp_init(void) +{ + char kbd_irq_str[4] = { 0 }, aux_irq_str[4] = { 0 }; + bool pnp_data_busted = false; + int err; + + if (i8042_nopnp) { + pr_info("PNP detection disabled\n"); + return 0; + } + + err = pnp_register_driver(&i8042_pnp_kbd_driver); + if (!err) + i8042_pnp_kbd_registered = true; + + err = pnp_register_driver(&i8042_pnp_aux_driver); + if (!err) + i8042_pnp_aux_registered = true; + + if (!i8042_pnp_kbd_devices && !i8042_pnp_aux_devices) { + i8042_pnp_exit(); +#if defined(__ia64__) + return -ENODEV; +#else + pr_info("PNP: No PS/2 controller found.\n"); + if (x86_platform.legacy.i8042 != + X86_LEGACY_I8042_EXPECTED_PRESENT) + return -ENODEV; + pr_info("Probing ports directly.\n"); + return 0; +#endif + } + + if (i8042_pnp_kbd_devices) + snprintf(kbd_irq_str, sizeof(kbd_irq_str), + "%d", i8042_pnp_kbd_irq); + if (i8042_pnp_aux_devices) + snprintf(aux_irq_str, sizeof(aux_irq_str), + "%d", i8042_pnp_aux_irq); + + pr_info("PNP: PS/2 Controller [%s%s%s] at %#x,%#x irq %s%s%s\n", + i8042_pnp_kbd_name, (i8042_pnp_kbd_devices && i8042_pnp_aux_devices) ? "," : "", + i8042_pnp_aux_name, + i8042_pnp_data_reg, i8042_pnp_command_reg, + kbd_irq_str, (i8042_pnp_kbd_devices && i8042_pnp_aux_devices) ? "," : "", + aux_irq_str); + +#if defined(__ia64__) + if (!i8042_pnp_kbd_devices) + i8042_nokbd = true; + if (!i8042_pnp_aux_devices) + i8042_noaux = true; +#endif + + if (((i8042_pnp_data_reg & ~0xf) == (i8042_data_reg & ~0xf) && + i8042_pnp_data_reg != i8042_data_reg) || + !i8042_pnp_data_reg) { + pr_warn("PNP: PS/2 controller has invalid data port %#x; using default %#x\n", + i8042_pnp_data_reg, i8042_data_reg); + i8042_pnp_data_reg = i8042_data_reg; + pnp_data_busted = true; + } + + if (((i8042_pnp_command_reg & ~0xf) == (i8042_command_reg & ~0xf) && + i8042_pnp_command_reg != i8042_command_reg) || + !i8042_pnp_command_reg) { + pr_warn("PNP: PS/2 controller has invalid command port %#x; using default %#x\n", + i8042_pnp_command_reg, i8042_command_reg); + i8042_pnp_command_reg = i8042_command_reg; + pnp_data_busted = true; + } + + if (!i8042_nokbd && !i8042_pnp_kbd_irq) { + pr_warn("PNP: PS/2 controller doesn't have KBD irq; using default %d\n", + i8042_kbd_irq); + i8042_pnp_kbd_irq = i8042_kbd_irq; + pnp_data_busted = true; + } + + if (!i8042_noaux && !i8042_pnp_aux_irq) { + if (!pnp_data_busted && i8042_pnp_kbd_irq) { + pr_warn("PNP: PS/2 appears to have AUX port disabled, " + "if this is incorrect please boot with i8042.nopnp\n"); + i8042_noaux = true; + } else { + pr_warn("PNP: PS/2 controller doesn't have AUX irq; using default %d\n", + i8042_aux_irq); + i8042_pnp_aux_irq = i8042_aux_irq; + } + } + + i8042_data_reg = i8042_pnp_data_reg; + i8042_command_reg = i8042_pnp_command_reg; + i8042_kbd_irq = i8042_pnp_kbd_irq; + i8042_aux_irq = i8042_pnp_aux_irq; + +#ifdef CONFIG_X86 + i8042_bypass_aux_irq_test = !pnp_data_busted && + dmi_check_system(i8042_dmi_laptop_table); +#endif + + return 0; +} + +#else /* !CONFIG_PNP */ +static inline int i8042_pnp_init(void) { return 0; } +static inline void i8042_pnp_exit(void) { } +#endif /* CONFIG_PNP */ + + +#ifdef CONFIG_X86 +static void __init i8042_check_quirks(void) +{ + const struct dmi_system_id *device_quirk_info; + uintptr_t quirks; + + device_quirk_info = dmi_first_match(i8042_dmi_quirk_table); + if (!device_quirk_info) + return; + + quirks = (uintptr_t)device_quirk_info->driver_data; + + if (quirks & SERIO_QUIRK_NOKBD) + i8042_nokbd = true; + if (quirks & SERIO_QUIRK_NOAUX) + i8042_noaux = true; + if (quirks & SERIO_QUIRK_NOMUX) + i8042_nomux = true; + if (quirks & SERIO_QUIRK_FORCEMUX) + i8042_nomux = false; + if (quirks & SERIO_QUIRK_UNLOCK) + i8042_unlock = true; + if (quirks & SERIO_QUIRK_PROBE_DEFER) + i8042_probe_defer = true; + /* Honor module parameter when value is not default */ + if (i8042_reset == I8042_RESET_DEFAULT) { + if (quirks & SERIO_QUIRK_RESET_ALWAYS) + i8042_reset = I8042_RESET_ALWAYS; + if (quirks & SERIO_QUIRK_RESET_NEVER) + i8042_reset = I8042_RESET_NEVER; + } + if (quirks & SERIO_QUIRK_DIECT) + i8042_direct = true; + if (quirks & SERIO_QUIRK_DUMBKBD) + i8042_dumbkbd = true; + if (quirks & SERIO_QUIRK_NOLOOP) + i8042_noloop = true; + if (quirks & SERIO_QUIRK_NOTIMEOUT) + i8042_notimeout = true; + if (quirks & SERIO_QUIRK_KBDRESET) + i8042_kbdreset = true; + if (quirks & SERIO_QUIRK_DRITEK) + i8042_dritek = true; +#ifdef CONFIG_PNP + if (quirks & SERIO_QUIRK_NOPNP) + i8042_nopnp = true; +#endif +} +#else +static inline void i8042_check_quirks(void) {} +#endif + +static int __init i8042_platform_init(void) +{ + int retval; + +#ifdef CONFIG_X86 + u8 a20_on = 0xdf; + /* Just return if platform does not have i8042 controller */ + if (x86_platform.legacy.i8042 == X86_LEGACY_I8042_PLATFORM_ABSENT) + return -ENODEV; +#endif + +/* + * On ix86 platforms touching the i8042 data register region can do really + * bad things. Because of this the region is always reserved on ix86 boxes. + * + * if (!request_region(I8042_DATA_REG, 16, "i8042")) + * return -EBUSY; + */ + + i8042_kbd_irq = I8042_MAP_IRQ(1); + i8042_aux_irq = I8042_MAP_IRQ(12); + +#if defined(__ia64__) + i8042_reset = I8042_RESET_ALWAYS; +#endif + + i8042_check_quirks(); + + retval = i8042_pnp_init(); + if (retval) + return retval; + +#ifdef CONFIG_X86 + /* + * A20 was already enabled during early kernel init. But some buggy + * BIOSes (in MSI Laptops) require A20 to be enabled using 8042 to + * resume from S3. So we do it here and hope that nothing breaks. + */ + i8042_command(&a20_on, 0x10d1); + i8042_command(NULL, 0x00ff); /* Null command for SMM firmware */ +#endif /* CONFIG_X86 */ + + return retval; +} + +static inline void i8042_platform_exit(void) +{ + i8042_pnp_exit(); +} + +#endif /* _I8042_ACPIPNPIO_H */ diff -Nru linux-5.10.197/drivers/input/serio/i8042-x86ia64io.h linux-5.10.205/drivers/input/serio/i8042-x86ia64io.h --- linux-5.10.197/drivers/input/serio/i8042-x86ia64io.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/input/serio/i8042-x86ia64io.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,1590 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ -#ifndef _I8042_X86IA64IO_H -#define _I8042_X86IA64IO_H - - -#ifdef CONFIG_X86 -#include -#endif - -/* - * Names. - */ - -#define I8042_KBD_PHYS_DESC "isa0060/serio0" -#define I8042_AUX_PHYS_DESC "isa0060/serio1" -#define I8042_MUX_PHYS_DESC "isa0060/serio%d" - -/* - * IRQs. - */ - -#if defined(__ia64__) -# define I8042_MAP_IRQ(x) isa_irq_to_vector((x)) -#else -# define I8042_MAP_IRQ(x) (x) -#endif - -#define I8042_KBD_IRQ i8042_kbd_irq -#define I8042_AUX_IRQ i8042_aux_irq - -static int i8042_kbd_irq; -static int i8042_aux_irq; - -/* - * Register numbers. - */ - -#define I8042_COMMAND_REG i8042_command_reg -#define I8042_STATUS_REG i8042_command_reg -#define I8042_DATA_REG i8042_data_reg - -static int i8042_command_reg = 0x64; -static int i8042_data_reg = 0x60; - - -static inline int i8042_read_data(void) -{ - return inb(I8042_DATA_REG); -} - -static inline int i8042_read_status(void) -{ - return inb(I8042_STATUS_REG); -} - -static inline void i8042_write_data(int val) -{ - outb(val, I8042_DATA_REG); -} - -static inline void i8042_write_command(int val) -{ - outb(val, I8042_COMMAND_REG); -} - -#ifdef CONFIG_X86 - -#include - -#define SERIO_QUIRK_NOKBD BIT(0) -#define SERIO_QUIRK_NOAUX BIT(1) -#define SERIO_QUIRK_NOMUX BIT(2) -#define SERIO_QUIRK_FORCEMUX BIT(3) -#define SERIO_QUIRK_UNLOCK BIT(4) -#define SERIO_QUIRK_PROBE_DEFER BIT(5) -#define SERIO_QUIRK_RESET_ALWAYS BIT(6) -#define SERIO_QUIRK_RESET_NEVER BIT(7) -#define SERIO_QUIRK_DIECT BIT(8) -#define SERIO_QUIRK_DUMBKBD BIT(9) -#define SERIO_QUIRK_NOLOOP BIT(10) -#define SERIO_QUIRK_NOTIMEOUT BIT(11) -#define SERIO_QUIRK_KBDRESET BIT(12) -#define SERIO_QUIRK_DRITEK BIT(13) -#define SERIO_QUIRK_NOPNP BIT(14) - -/* Quirk table for different mainboards. Options similar or identical to i8042 - * module parameters. - * ORDERING IS IMPORTANT! The first match will be apllied and the rest ignored. - * This allows entries to overwrite vendor wide quirks on a per device basis. - * Where this is irrelevant, entries are sorted case sensitive by DMI_SYS_VENDOR - * and/or DMI_BOARD_VENDOR to make it easier to avoid dublicate entries. - */ -static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = { - { - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "ALIENWARE"), - DMI_MATCH(DMI_PRODUCT_NAME, "Sentia"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), - DMI_MATCH(DMI_PRODUCT_NAME, "X750LN"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOLOOP) - }, - { - /* Asus X450LCP */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), - DMI_MATCH(DMI_PRODUCT_NAME, "X450LCP"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_NEVER) - }, - { - /* ASUS ZenBook UX425UA */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), - DMI_MATCH(DMI_PRODUCT_NAME, "ZenBook UX425UA"), - }, - .driver_data = (void *)(SERIO_QUIRK_PROBE_DEFER | SERIO_QUIRK_RESET_NEVER) - }, - { - /* ASUS ZenBook UM325UA */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), - DMI_MATCH(DMI_PRODUCT_NAME, "ZenBook UX325UA_UM325UA"), - }, - .driver_data = (void *)(SERIO_QUIRK_PROBE_DEFER | SERIO_QUIRK_RESET_NEVER) - }, - /* - * On some Asus laptops, just running self tests cause problems. - */ - { - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), - DMI_MATCH(DMI_CHASSIS_TYPE, "10"), /* Notebook */ - }, - .driver_data = (void *)(SERIO_QUIRK_RESET_NEVER) - }, - { - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), - DMI_MATCH(DMI_CHASSIS_TYPE, "31"), /* Convertible Notebook */ - }, - .driver_data = (void *)(SERIO_QUIRK_RESET_NEVER) - }, - { - /* ASUS P65UP5 - AUX LOOP command does not raise AUX IRQ */ - .matches = { - DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), - DMI_MATCH(DMI_BOARD_NAME, "P/I-P65UP5"), - DMI_MATCH(DMI_BOARD_VERSION, "REV 2.X"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOLOOP) - }, - { - /* ASUS G1S */ - .matches = { - DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer Inc."), - DMI_MATCH(DMI_BOARD_NAME, "G1S"), - DMI_MATCH(DMI_BOARD_VERSION, "1.0"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOLOOP) - }, - { - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 1360"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Acer Aspire 5710 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5710"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Acer Aspire 7738 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 7738"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Acer Aspire 5536 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5536"), - DMI_MATCH(DMI_PRODUCT_VERSION, "0100"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* - * Acer Aspire 5738z - * Touchpad stops working in mux mode when dis- + re-enabled - * with the touchpad enable/disable toggle hotkey - */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5738"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Acer Aspire One 150 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "AOA150"), - }, - .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) - }, - { - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "Aspire A114-31"), - }, - .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) - }, - { - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "Aspire A314-31"), - }, - .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) - }, - { - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "Aspire A315-31"), - }, - .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) - }, - { - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "Aspire ES1-132"), - }, - .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) - }, - { - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "Aspire ES1-332"), - }, - .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) - }, - { - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "Aspire ES1-432"), - }, - .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) - }, - { - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate Spin B118-RN"), - }, - .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) - }, - /* - * Some Wistron based laptops need us to explicitly enable the 'Dritek - * keyboard extension' to make their extra keys start generating scancodes. - * Originally, this was just confined to older laptops, but a few Acer laptops - * have turned up in 2007 that also need this again. - */ - { - /* Acer Aspire 5100 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5100"), - }, - .driver_data = (void *)(SERIO_QUIRK_DRITEK) - }, - { - /* Acer Aspire 5610 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5610"), - }, - .driver_data = (void *)(SERIO_QUIRK_DRITEK) - }, - { - /* Acer Aspire 5630 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5630"), - }, - .driver_data = (void *)(SERIO_QUIRK_DRITEK) - }, - { - /* Acer Aspire 5650 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5650"), - }, - .driver_data = (void *)(SERIO_QUIRK_DRITEK) - }, - { - /* Acer Aspire 5680 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5680"), - }, - .driver_data = (void *)(SERIO_QUIRK_DRITEK) - }, - { - /* Acer Aspire 5720 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 5720"), - }, - .driver_data = (void *)(SERIO_QUIRK_DRITEK) - }, - { - /* Acer Aspire 9110 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 9110"), - }, - .driver_data = (void *)(SERIO_QUIRK_DRITEK) - }, - { - /* Acer TravelMate 660 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 660"), - }, - .driver_data = (void *)(SERIO_QUIRK_DRITEK) - }, - { - /* Acer TravelMate 2490 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 2490"), - }, - .driver_data = (void *)(SERIO_QUIRK_DRITEK) - }, - { - /* Acer TravelMate 4280 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Acer"), - DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 4280"), - }, - .driver_data = (void *)(SERIO_QUIRK_DRITEK) - }, - { - /* Amoi M636/A737 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Amoi Electronics CO.,LTD."), - DMI_MATCH(DMI_PRODUCT_NAME, "M636/A737 platform"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "ByteSpeed LLC"), - DMI_MATCH(DMI_PRODUCT_NAME, "ByteSpeed Laptop C15B"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOLOOP) - }, - { - /* Compal HEL80I */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "COMPAL"), - DMI_MATCH(DMI_PRODUCT_NAME, "HEL80I"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Compaq"), - DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant"), - DMI_MATCH(DMI_PRODUCT_VERSION, "8500"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOLOOP) - }, - { - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Compaq"), - DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant"), - DMI_MATCH(DMI_PRODUCT_VERSION, "DL760"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOLOOP) - }, - { - /* Advent 4211 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "DIXONSXP"), - DMI_MATCH(DMI_PRODUCT_NAME, "Advent 4211"), - }, - .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) - }, - { - /* Dell Embedded Box PC 3000 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), - DMI_MATCH(DMI_PRODUCT_NAME, "Embedded Box PC 3000"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOLOOP) - }, - { - /* Dell XPS M1530 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), - DMI_MATCH(DMI_PRODUCT_NAME, "XPS M1530"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Dell Vostro 1510 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), - DMI_MATCH(DMI_PRODUCT_NAME, "Vostro1510"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Dell Vostro V13 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), - DMI_MATCH(DMI_PRODUCT_NAME, "Vostro V13"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_NOTIMEOUT) - }, - { - /* Dell Vostro 1320 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), - DMI_MATCH(DMI_PRODUCT_NAME, "Vostro 1320"), - }, - .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) - }, - { - /* Dell Vostro 1520 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), - DMI_MATCH(DMI_PRODUCT_NAME, "Vostro 1520"), - }, - .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) - }, - { - /* Dell Vostro 1720 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), - DMI_MATCH(DMI_PRODUCT_NAME, "Vostro 1720"), - }, - .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) - }, - { - /* Entroware Proteus */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Entroware"), - DMI_MATCH(DMI_PRODUCT_NAME, "Proteus"), - DMI_MATCH(DMI_PRODUCT_VERSION, "EL07R4"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS) - }, - /* - * Some Fujitsu notebooks are having trouble with touchpads if - * active multiplexing mode is activated. Luckily they don't have - * external PS/2 ports so we can safely disable it. - * ... apparently some Toshibas don't like MUX mode either and - * die horrible death on reboot. - */ - { - /* Fujitsu Lifebook P7010/P7010D */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), - DMI_MATCH(DMI_PRODUCT_NAME, "P7010"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Fujitsu Lifebook P5020D */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), - DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook P Series"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Fujitsu Lifebook S2000 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), - DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook S Series"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Fujitsu Lifebook S6230 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), - DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook S6230"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Fujitsu Lifebook T725 laptop */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), - DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK T725"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_NOTIMEOUT) - }, - { - /* Fujitsu Lifebook U745 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), - DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK U745"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Fujitsu T70H */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), - DMI_MATCH(DMI_PRODUCT_NAME, "FMVLT70H"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Fujitsu A544 laptop */ - /* https://bugzilla.redhat.com/show_bug.cgi?id=1111138 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), - DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK A544"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOTIMEOUT) - }, - { - /* Fujitsu AH544 laptop */ - /* https://bugzilla.kernel.org/show_bug.cgi?id=69731 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), - DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK AH544"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOTIMEOUT) - }, - { - /* Fujitsu U574 laptop */ - /* https://bugzilla.kernel.org/show_bug.cgi?id=69731 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), - DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK U574"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOTIMEOUT) - }, - { - /* Fujitsu UH554 laptop */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), - DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK UH544"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOTIMEOUT) - }, - { - /* Fujitsu Lifebook P7010 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), - DMI_MATCH(DMI_PRODUCT_NAME, "0000000000"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Fujitsu-Siemens Lifebook T3010 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), - DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK T3010"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Fujitsu-Siemens Lifebook E4010 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), - DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK E4010"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Fujitsu-Siemens Amilo Pro 2010 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), - DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Pro V2010"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Fujitsu-Siemens Amilo Pro 2030 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), - DMI_MATCH(DMI_PRODUCT_NAME, "AMILO PRO V2030"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Fujitsu Lifebook A574/H */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), - DMI_MATCH(DMI_PRODUCT_NAME, "FMVA0501PZ"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Gigabyte M912 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"), - DMI_MATCH(DMI_PRODUCT_NAME, "M912"), - DMI_MATCH(DMI_PRODUCT_VERSION, "01"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOLOOP) - }, - { - /* Gigabyte Spring Peak - defines wrong chassis type */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"), - DMI_MATCH(DMI_PRODUCT_NAME, "Spring Peak"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOLOOP) - }, - { - /* Gigabyte T1005 - defines wrong chassis type ("Other") */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"), - DMI_MATCH(DMI_PRODUCT_NAME, "T1005"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOLOOP) - }, - { - /* Gigabyte T1005M/P - defines wrong chassis type ("Other") */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"), - DMI_MATCH(DMI_PRODUCT_NAME, "T1005M/P"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOLOOP) - }, - /* - * Some laptops need keyboard reset before probing for the trackpad to get - * it detected, initialised & finally work. - */ - { - /* Gigabyte P35 v2 - Elantech touchpad */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"), - DMI_MATCH(DMI_PRODUCT_NAME, "P35V2"), - }, - .driver_data = (void *)(SERIO_QUIRK_KBDRESET) - }, - { - /* Aorus branded Gigabyte X3 Plus - Elantech touchpad */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"), - DMI_MATCH(DMI_PRODUCT_NAME, "X3"), - }, - .driver_data = (void *)(SERIO_QUIRK_KBDRESET) - }, - { - /* Gigabyte P34 - Elantech touchpad */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"), - DMI_MATCH(DMI_PRODUCT_NAME, "P34"), - }, - .driver_data = (void *)(SERIO_QUIRK_KBDRESET) - }, - { - /* Gigabyte P57 - Elantech touchpad */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"), - DMI_MATCH(DMI_PRODUCT_NAME, "P57"), - }, - .driver_data = (void *)(SERIO_QUIRK_KBDRESET) - }, - { - /* Gericom Bellagio */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Gericom"), - DMI_MATCH(DMI_PRODUCT_NAME, "N34AS6"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Gigabyte M1022M netbook */ - .matches = { - DMI_MATCH(DMI_BOARD_VENDOR, "Gigabyte Technology Co.,Ltd."), - DMI_MATCH(DMI_BOARD_NAME, "M1022E"), - DMI_MATCH(DMI_BOARD_VERSION, "1.02"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOLOOP) - }, - { - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), - DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion dv9700"), - DMI_MATCH(DMI_PRODUCT_VERSION, "Rev 1"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOLOOP) - }, - { - /* - * HP Pavilion DV4017EA - - * errors on MUX ports are reported without raising AUXDATA - * causing "spurious NAK" messages. - */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), - DMI_MATCH(DMI_PRODUCT_NAME, "Pavilion dv4000 (EA032EA#ABF)"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* - * HP Pavilion ZT1000 - - * like DV4017EA does not raise AUXERR for errors on MUX ports. - */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), - DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion Notebook PC"), - DMI_MATCH(DMI_PRODUCT_VERSION, "HP Pavilion Notebook ZT1000"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* - * HP Pavilion DV4270ca - - * like DV4017EA does not raise AUXERR for errors on MUX ports. - */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), - DMI_MATCH(DMI_PRODUCT_NAME, "Pavilion dv4000 (EH476UA#ABL)"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Newer HP Pavilion dv4 models */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), - DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion dv4 Notebook PC"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_NOTIMEOUT) - }, - { - /* IBM 2656 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "IBM"), - DMI_MATCH(DMI_PRODUCT_NAME, "2656"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Avatar AVIU-145A6 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Intel"), - DMI_MATCH(DMI_PRODUCT_NAME, "IC4I"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Intel MBO Desktop D845PESV */ - .matches = { - DMI_MATCH(DMI_BOARD_VENDOR, "Intel Corporation"), - DMI_MATCH(DMI_BOARD_NAME, "D845PESV"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOPNP) - }, - { - /* - * Intel NUC D54250WYK - does not have i8042 controller but - * declares PS/2 devices in DSDT. - */ - .matches = { - DMI_MATCH(DMI_BOARD_VENDOR, "Intel Corporation"), - DMI_MATCH(DMI_BOARD_NAME, "D54250WYK"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOPNP) - }, - { - /* Lenovo 3000 n100 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), - DMI_MATCH(DMI_PRODUCT_NAME, "076804U"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Lenovo XiaoXin Air 12 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), - DMI_MATCH(DMI_PRODUCT_NAME, "80UN"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Lenovo LaVie Z */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), - DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo LaVie Z"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Lenovo Ideapad U455 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), - DMI_MATCH(DMI_PRODUCT_NAME, "20046"), - }, - .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) - }, - { - /* Lenovo ThinkPad L460 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), - DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad L460"), - }, - .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) - }, - { - /* Lenovo ThinkPad Twist S230u */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), - DMI_MATCH(DMI_PRODUCT_NAME, "33474HU"), - }, - .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) - }, - { - /* LG Electronics X110 */ - .matches = { - DMI_MATCH(DMI_BOARD_VENDOR, "LG Electronics Inc."), - DMI_MATCH(DMI_BOARD_NAME, "X110"), - }, - .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) - }, - { - /* Medion Akoya Mini E1210 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "MEDION"), - DMI_MATCH(DMI_PRODUCT_NAME, "E1210"), - }, - .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) - }, - { - /* Medion Akoya E1222 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "MEDION"), - DMI_MATCH(DMI_PRODUCT_NAME, "E122X"), - }, - .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) - }, - { - /* MSI Wind U-100 */ - .matches = { - DMI_MATCH(DMI_BOARD_VENDOR, "MICRO-STAR INTERNATIONAL CO., LTD"), - DMI_MATCH(DMI_BOARD_NAME, "U-100"), - }, - .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS | SERIO_QUIRK_NOPNP) - }, - { - /* - * No data is coming from the touchscreen unless KBC - * is in legacy mode. - */ - /* Panasonic CF-29 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Matsushita"), - DMI_MATCH(DMI_PRODUCT_NAME, "CF-29"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Medion Akoya E7225 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Medion"), - DMI_MATCH(DMI_PRODUCT_NAME, "Akoya E7225"), - DMI_MATCH(DMI_PRODUCT_VERSION, "1.0"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOLOOP) - }, - { - /* Microsoft Virtual Machine */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Microsoft Corporation"), - DMI_MATCH(DMI_PRODUCT_NAME, "Virtual Machine"), - DMI_MATCH(DMI_PRODUCT_VERSION, "VS2005R2"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOLOOP) - }, - { - /* Medion MAM 2070 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), - DMI_MATCH(DMI_PRODUCT_NAME, "MAM 2070"), - DMI_MATCH(DMI_PRODUCT_VERSION, "5a"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOLOOP) - }, - { - /* TUXEDO BU1406 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), - DMI_MATCH(DMI_PRODUCT_NAME, "N24_25BU"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Clevo P650RS, 650RP6, Sager NP8152-S, and others */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), - DMI_MATCH(DMI_PRODUCT_NAME, "P65xRP"), - }, - .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) - }, - { - /* OQO Model 01 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "OQO"), - DMI_MATCH(DMI_PRODUCT_NAME, "ZEPTO"), - DMI_MATCH(DMI_PRODUCT_VERSION, "00"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOLOOP) - }, - { - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "PEGATRON CORPORATION"), - DMI_MATCH(DMI_PRODUCT_NAME, "C15B"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOLOOP) - }, - { - /* Acer Aspire 5 A515 */ - .matches = { - DMI_MATCH(DMI_BOARD_VENDOR, "PK"), - DMI_MATCH(DMI_BOARD_NAME, "Grumpy_PK"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOPNP) - }, - { - /* ULI EV4873 - AUX LOOP does not work properly */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "ULI"), - DMI_MATCH(DMI_PRODUCT_NAME, "EV4873"), - DMI_MATCH(DMI_PRODUCT_VERSION, "5a"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOLOOP) - }, - { - /* - * Arima-Rioworks HDAMB - - * AUX LOOP command does not raise AUX IRQ - */ - .matches = { - DMI_MATCH(DMI_BOARD_VENDOR, "RIOWORKS"), - DMI_MATCH(DMI_BOARD_NAME, "HDAMB"), - DMI_MATCH(DMI_BOARD_VERSION, "Rev E"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOLOOP) - }, - { - /* Sharp Actius MM20 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "SHARP"), - DMI_MATCH(DMI_PRODUCT_NAME, "PC-MM20 Series"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* - * Sony Vaio FZ-240E - - * reset and GET ID commands issued via KBD port are - * sometimes being delivered to AUX3. - */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), - DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FZ240E"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* - * Most (all?) VAIOs do not have external PS/2 ports nor - * they implement active multiplexing properly, and - * MUX discovery usually messes up keyboard/touchpad. - */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), - DMI_MATCH(DMI_BOARD_NAME, "VAIO"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* Sony Vaio FS-115b */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), - DMI_MATCH(DMI_PRODUCT_NAME, "VGN-FS115B"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - /* - * Sony Vaio VGN-CS series require MUX or the touch sensor - * buttons will disturb touchpad operation - */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"), - DMI_MATCH(DMI_PRODUCT_NAME, "VGN-CS"), - }, - .driver_data = (void *)(SERIO_QUIRK_FORCEMUX) - }, - { - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), - DMI_MATCH(DMI_PRODUCT_NAME, "Satellite P10"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), - DMI_MATCH(DMI_PRODUCT_NAME, "EQUIUM A110"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - { - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), - DMI_MATCH(DMI_PRODUCT_NAME, "SATELLITE C850D"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX) - }, - /* - * A lot of modern Clevo barebones have touchpad and/or keyboard issues - * after suspend fixable with nomux + reset + noloop + nopnp. Luckily, - * none of them have an external PS/2 port so this can safely be set for - * all of them. These two are based on a Clevo design, but have the - * board_name changed. - */ - { - .matches = { - DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), - DMI_MATCH(DMI_BOARD_NAME, "AURA1501"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) - }, - { - .matches = { - DMI_MATCH(DMI_BOARD_VENDOR, "TUXEDO"), - DMI_MATCH(DMI_BOARD_NAME, "EDUBOOK1502"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) - }, - { - /* Mivvy M310 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "VIOOO"), - DMI_MATCH(DMI_PRODUCT_NAME, "N10"), - }, - .driver_data = (void *)(SERIO_QUIRK_RESET_ALWAYS) - }, - /* - * Some laptops need keyboard reset before probing for the trackpad to get - * it detected, initialised & finally work. - */ - { - /* Schenker XMG C504 - Elantech touchpad */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "XMG"), - DMI_MATCH(DMI_PRODUCT_NAME, "C504"), - }, - .driver_data = (void *)(SERIO_QUIRK_KBDRESET) - }, - { - /* Blue FB5601 */ - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "blue"), - DMI_MATCH(DMI_PRODUCT_NAME, "FB5601"), - DMI_MATCH(DMI_PRODUCT_VERSION, "M606"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOLOOP) - }, - /* - * A lot of modern Clevo barebones have touchpad and/or keyboard issues - * after suspend fixable with nomux + reset + noloop + nopnp. Luckily, - * none of them have an external PS/2 port so this can safely be set for - * all of them. - * Clevo barebones come with board_vendor and/or system_vendor set to - * either the very generic string "Notebook" and/or a different value - * for each individual reseller. The only somewhat universal way to - * identify them is by board_name. - */ - { - .matches = { - DMI_MATCH(DMI_BOARD_NAME, "LAPQC71A"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) - }, - { - .matches = { - DMI_MATCH(DMI_BOARD_NAME, "LAPQC71B"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) - }, - { - .matches = { - DMI_MATCH(DMI_BOARD_NAME, "N140CU"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) - }, - { - .matches = { - DMI_MATCH(DMI_BOARD_NAME, "N141CU"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) - }, - { - .matches = { - DMI_MATCH(DMI_BOARD_NAME, "NH5xAx"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) - }, - { - .matches = { - DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) - }, - /* - * At least one modern Clevo barebone has the touchpad connected both - * via PS/2 and i2c interface. This causes a race condition between the - * psmouse and i2c-hid driver. Since the full capability of the touchpad - * is available via the i2c interface and the device has no external - * PS/2 port, it is safe to just ignore all ps2 mouses here to avoid - * this issue. The known affected device is the - * TUXEDO InfinityBook S17 Gen6 / Clevo NS70MU which comes with one of - * the two different dmi strings below. NS50MU is not a typo! - */ - { - .matches = { - DMI_MATCH(DMI_BOARD_NAME, "NS50MU"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOAUX | SERIO_QUIRK_NOMUX | - SERIO_QUIRK_RESET_ALWAYS | SERIO_QUIRK_NOLOOP | - SERIO_QUIRK_NOPNP) - }, - { - .matches = { - DMI_MATCH(DMI_BOARD_NAME, "NS50_70MU"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOAUX | SERIO_QUIRK_NOMUX | - SERIO_QUIRK_RESET_ALWAYS | SERIO_QUIRK_NOLOOP | - SERIO_QUIRK_NOPNP) - }, - { - .matches = { - DMI_MATCH(DMI_BOARD_NAME, "NJ50_70CU"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) - }, - { - .matches = { - DMI_MATCH(DMI_BOARD_NAME, "PB50_70DFx,DDx"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) - }, - { - .matches = { - DMI_MATCH(DMI_BOARD_NAME, "PCX0DX"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) - }, - { - .matches = { - DMI_MATCH(DMI_BOARD_NAME, "X170SM"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) - }, - { - .matches = { - DMI_MATCH(DMI_BOARD_NAME, "X170KM-G"), - }, - .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | - SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) - }, - { } -}; - -#ifdef CONFIG_PNP -static const struct dmi_system_id i8042_dmi_laptop_table[] __initconst = { - { - .matches = { - DMI_MATCH(DMI_CHASSIS_TYPE, "8"), /* Portable */ - }, - }, - { - .matches = { - DMI_MATCH(DMI_CHASSIS_TYPE, "9"), /* Laptop */ - }, - }, - { - .matches = { - DMI_MATCH(DMI_CHASSIS_TYPE, "10"), /* Notebook */ - }, - }, - { - .matches = { - DMI_MATCH(DMI_CHASSIS_TYPE, "14"), /* Sub-Notebook */ - }, - }, - { } -}; -#endif - -#endif /* CONFIG_X86 */ - -#ifdef CONFIG_PNP -#include - -static bool i8042_pnp_kbd_registered; -static unsigned int i8042_pnp_kbd_devices; -static bool i8042_pnp_aux_registered; -static unsigned int i8042_pnp_aux_devices; - -static int i8042_pnp_command_reg; -static int i8042_pnp_data_reg; -static int i8042_pnp_kbd_irq; -static int i8042_pnp_aux_irq; - -static char i8042_pnp_kbd_name[32]; -static char i8042_pnp_aux_name[32]; - -static void i8042_pnp_id_to_string(struct pnp_id *id, char *dst, int dst_size) -{ - strlcpy(dst, "PNP:", dst_size); - - while (id) { - strlcat(dst, " ", dst_size); - strlcat(dst, id->id, dst_size); - id = id->next; - } -} - -static int i8042_pnp_kbd_probe(struct pnp_dev *dev, const struct pnp_device_id *did) -{ - if (pnp_port_valid(dev, 0) && pnp_port_len(dev, 0) == 1) - i8042_pnp_data_reg = pnp_port_start(dev,0); - - if (pnp_port_valid(dev, 1) && pnp_port_len(dev, 1) == 1) - i8042_pnp_command_reg = pnp_port_start(dev, 1); - - if (pnp_irq_valid(dev,0)) - i8042_pnp_kbd_irq = pnp_irq(dev, 0); - - strlcpy(i8042_pnp_kbd_name, did->id, sizeof(i8042_pnp_kbd_name)); - if (strlen(pnp_dev_name(dev))) { - strlcat(i8042_pnp_kbd_name, ":", sizeof(i8042_pnp_kbd_name)); - strlcat(i8042_pnp_kbd_name, pnp_dev_name(dev), sizeof(i8042_pnp_kbd_name)); - } - i8042_pnp_id_to_string(dev->id, i8042_kbd_firmware_id, - sizeof(i8042_kbd_firmware_id)); - i8042_kbd_fwnode = dev_fwnode(&dev->dev); - - /* Keyboard ports are always supposed to be wakeup-enabled */ - device_set_wakeup_enable(&dev->dev, true); - - i8042_pnp_kbd_devices++; - return 0; -} - -static int i8042_pnp_aux_probe(struct pnp_dev *dev, const struct pnp_device_id *did) -{ - if (pnp_port_valid(dev, 0) && pnp_port_len(dev, 0) == 1) - i8042_pnp_data_reg = pnp_port_start(dev,0); - - if (pnp_port_valid(dev, 1) && pnp_port_len(dev, 1) == 1) - i8042_pnp_command_reg = pnp_port_start(dev, 1); - - if (pnp_irq_valid(dev, 0)) - i8042_pnp_aux_irq = pnp_irq(dev, 0); - - strlcpy(i8042_pnp_aux_name, did->id, sizeof(i8042_pnp_aux_name)); - if (strlen(pnp_dev_name(dev))) { - strlcat(i8042_pnp_aux_name, ":", sizeof(i8042_pnp_aux_name)); - strlcat(i8042_pnp_aux_name, pnp_dev_name(dev), sizeof(i8042_pnp_aux_name)); - } - i8042_pnp_id_to_string(dev->id, i8042_aux_firmware_id, - sizeof(i8042_aux_firmware_id)); - - i8042_pnp_aux_devices++; - return 0; -} - -static const struct pnp_device_id pnp_kbd_devids[] = { - { .id = "PNP0300", .driver_data = 0 }, - { .id = "PNP0301", .driver_data = 0 }, - { .id = "PNP0302", .driver_data = 0 }, - { .id = "PNP0303", .driver_data = 0 }, - { .id = "PNP0304", .driver_data = 0 }, - { .id = "PNP0305", .driver_data = 0 }, - { .id = "PNP0306", .driver_data = 0 }, - { .id = "PNP0309", .driver_data = 0 }, - { .id = "PNP030a", .driver_data = 0 }, - { .id = "PNP030b", .driver_data = 0 }, - { .id = "PNP0320", .driver_data = 0 }, - { .id = "PNP0343", .driver_data = 0 }, - { .id = "PNP0344", .driver_data = 0 }, - { .id = "PNP0345", .driver_data = 0 }, - { .id = "CPQA0D7", .driver_data = 0 }, - { .id = "", }, -}; -MODULE_DEVICE_TABLE(pnp, pnp_kbd_devids); - -static struct pnp_driver i8042_pnp_kbd_driver = { - .name = "i8042 kbd", - .id_table = pnp_kbd_devids, - .probe = i8042_pnp_kbd_probe, - .driver = { - .probe_type = PROBE_FORCE_SYNCHRONOUS, - .suppress_bind_attrs = true, - }, -}; - -static const struct pnp_device_id pnp_aux_devids[] = { - { .id = "AUI0200", .driver_data = 0 }, - { .id = "FJC6000", .driver_data = 0 }, - { .id = "FJC6001", .driver_data = 0 }, - { .id = "PNP0f03", .driver_data = 0 }, - { .id = "PNP0f0b", .driver_data = 0 }, - { .id = "PNP0f0e", .driver_data = 0 }, - { .id = "PNP0f12", .driver_data = 0 }, - { .id = "PNP0f13", .driver_data = 0 }, - { .id = "PNP0f19", .driver_data = 0 }, - { .id = "PNP0f1c", .driver_data = 0 }, - { .id = "SYN0801", .driver_data = 0 }, - { .id = "", }, -}; -MODULE_DEVICE_TABLE(pnp, pnp_aux_devids); - -static struct pnp_driver i8042_pnp_aux_driver = { - .name = "i8042 aux", - .id_table = pnp_aux_devids, - .probe = i8042_pnp_aux_probe, - .driver = { - .probe_type = PROBE_FORCE_SYNCHRONOUS, - .suppress_bind_attrs = true, - }, -}; - -static void i8042_pnp_exit(void) -{ - if (i8042_pnp_kbd_registered) { - i8042_pnp_kbd_registered = false; - pnp_unregister_driver(&i8042_pnp_kbd_driver); - } - - if (i8042_pnp_aux_registered) { - i8042_pnp_aux_registered = false; - pnp_unregister_driver(&i8042_pnp_aux_driver); - } -} - -static int __init i8042_pnp_init(void) -{ - char kbd_irq_str[4] = { 0 }, aux_irq_str[4] = { 0 }; - bool pnp_data_busted = false; - int err; - - if (i8042_nopnp) { - pr_info("PNP detection disabled\n"); - return 0; - } - - err = pnp_register_driver(&i8042_pnp_kbd_driver); - if (!err) - i8042_pnp_kbd_registered = true; - - err = pnp_register_driver(&i8042_pnp_aux_driver); - if (!err) - i8042_pnp_aux_registered = true; - - if (!i8042_pnp_kbd_devices && !i8042_pnp_aux_devices) { - i8042_pnp_exit(); -#if defined(__ia64__) - return -ENODEV; -#else - pr_info("PNP: No PS/2 controller found.\n"); - if (x86_platform.legacy.i8042 != - X86_LEGACY_I8042_EXPECTED_PRESENT) - return -ENODEV; - pr_info("Probing ports directly.\n"); - return 0; -#endif - } - - if (i8042_pnp_kbd_devices) - snprintf(kbd_irq_str, sizeof(kbd_irq_str), - "%d", i8042_pnp_kbd_irq); - if (i8042_pnp_aux_devices) - snprintf(aux_irq_str, sizeof(aux_irq_str), - "%d", i8042_pnp_aux_irq); - - pr_info("PNP: PS/2 Controller [%s%s%s] at %#x,%#x irq %s%s%s\n", - i8042_pnp_kbd_name, (i8042_pnp_kbd_devices && i8042_pnp_aux_devices) ? "," : "", - i8042_pnp_aux_name, - i8042_pnp_data_reg, i8042_pnp_command_reg, - kbd_irq_str, (i8042_pnp_kbd_devices && i8042_pnp_aux_devices) ? "," : "", - aux_irq_str); - -#if defined(__ia64__) - if (!i8042_pnp_kbd_devices) - i8042_nokbd = true; - if (!i8042_pnp_aux_devices) - i8042_noaux = true; -#endif - - if (((i8042_pnp_data_reg & ~0xf) == (i8042_data_reg & ~0xf) && - i8042_pnp_data_reg != i8042_data_reg) || - !i8042_pnp_data_reg) { - pr_warn("PNP: PS/2 controller has invalid data port %#x; using default %#x\n", - i8042_pnp_data_reg, i8042_data_reg); - i8042_pnp_data_reg = i8042_data_reg; - pnp_data_busted = true; - } - - if (((i8042_pnp_command_reg & ~0xf) == (i8042_command_reg & ~0xf) && - i8042_pnp_command_reg != i8042_command_reg) || - !i8042_pnp_command_reg) { - pr_warn("PNP: PS/2 controller has invalid command port %#x; using default %#x\n", - i8042_pnp_command_reg, i8042_command_reg); - i8042_pnp_command_reg = i8042_command_reg; - pnp_data_busted = true; - } - - if (!i8042_nokbd && !i8042_pnp_kbd_irq) { - pr_warn("PNP: PS/2 controller doesn't have KBD irq; using default %d\n", - i8042_kbd_irq); - i8042_pnp_kbd_irq = i8042_kbd_irq; - pnp_data_busted = true; - } - - if (!i8042_noaux && !i8042_pnp_aux_irq) { - if (!pnp_data_busted && i8042_pnp_kbd_irq) { - pr_warn("PNP: PS/2 appears to have AUX port disabled, " - "if this is incorrect please boot with i8042.nopnp\n"); - i8042_noaux = true; - } else { - pr_warn("PNP: PS/2 controller doesn't have AUX irq; using default %d\n", - i8042_aux_irq); - i8042_pnp_aux_irq = i8042_aux_irq; - } - } - - i8042_data_reg = i8042_pnp_data_reg; - i8042_command_reg = i8042_pnp_command_reg; - i8042_kbd_irq = i8042_pnp_kbd_irq; - i8042_aux_irq = i8042_pnp_aux_irq; - -#ifdef CONFIG_X86 - i8042_bypass_aux_irq_test = !pnp_data_busted && - dmi_check_system(i8042_dmi_laptop_table); -#endif - - return 0; -} - -#else /* !CONFIG_PNP */ -static inline int i8042_pnp_init(void) { return 0; } -static inline void i8042_pnp_exit(void) { } -#endif /* CONFIG_PNP */ - - -#ifdef CONFIG_X86 -static void __init i8042_check_quirks(void) -{ - const struct dmi_system_id *device_quirk_info; - uintptr_t quirks; - - device_quirk_info = dmi_first_match(i8042_dmi_quirk_table); - if (!device_quirk_info) - return; - - quirks = (uintptr_t)device_quirk_info->driver_data; - - if (quirks & SERIO_QUIRK_NOKBD) - i8042_nokbd = true; - if (quirks & SERIO_QUIRK_NOAUX) - i8042_noaux = true; - if (quirks & SERIO_QUIRK_NOMUX) - i8042_nomux = true; - if (quirks & SERIO_QUIRK_FORCEMUX) - i8042_nomux = false; - if (quirks & SERIO_QUIRK_UNLOCK) - i8042_unlock = true; - if (quirks & SERIO_QUIRK_PROBE_DEFER) - i8042_probe_defer = true; - /* Honor module parameter when value is not default */ - if (i8042_reset == I8042_RESET_DEFAULT) { - if (quirks & SERIO_QUIRK_RESET_ALWAYS) - i8042_reset = I8042_RESET_ALWAYS; - if (quirks & SERIO_QUIRK_RESET_NEVER) - i8042_reset = I8042_RESET_NEVER; - } - if (quirks & SERIO_QUIRK_DIECT) - i8042_direct = true; - if (quirks & SERIO_QUIRK_DUMBKBD) - i8042_dumbkbd = true; - if (quirks & SERIO_QUIRK_NOLOOP) - i8042_noloop = true; - if (quirks & SERIO_QUIRK_NOTIMEOUT) - i8042_notimeout = true; - if (quirks & SERIO_QUIRK_KBDRESET) - i8042_kbdreset = true; - if (quirks & SERIO_QUIRK_DRITEK) - i8042_dritek = true; -#ifdef CONFIG_PNP - if (quirks & SERIO_QUIRK_NOPNP) - i8042_nopnp = true; -#endif -} -#else -static inline void i8042_check_quirks(void) {} -#endif - -static int __init i8042_platform_init(void) -{ - int retval; - -#ifdef CONFIG_X86 - u8 a20_on = 0xdf; - /* Just return if platform does not have i8042 controller */ - if (x86_platform.legacy.i8042 == X86_LEGACY_I8042_PLATFORM_ABSENT) - return -ENODEV; -#endif - -/* - * On ix86 platforms touching the i8042 data register region can do really - * bad things. Because of this the region is always reserved on ix86 boxes. - * - * if (!request_region(I8042_DATA_REG, 16, "i8042")) - * return -EBUSY; - */ - - i8042_kbd_irq = I8042_MAP_IRQ(1); - i8042_aux_irq = I8042_MAP_IRQ(12); - -#if defined(__ia64__) - i8042_reset = I8042_RESET_ALWAYS; -#endif - - i8042_check_quirks(); - - retval = i8042_pnp_init(); - if (retval) - return retval; - -#ifdef CONFIG_X86 - /* - * A20 was already enabled during early kernel init. But some buggy - * BIOSes (in MSI Laptops) require A20 to be enabled using 8042 to - * resume from S3. So we do it here and hope that nothing breaks. - */ - i8042_command(&a20_on, 0x10d1); - i8042_command(NULL, 0x00ff); /* Null command for SMM firmware */ -#endif /* CONFIG_X86 */ - - return retval; -} - -static inline void i8042_platform_exit(void) -{ - i8042_pnp_exit(); -} - -#endif /* _I8042_X86IA64IO_H */ diff -Nru linux-5.10.197/drivers/input/serio/i8042.h linux-5.10.205/drivers/input/serio/i8042.h --- linux-5.10.197/drivers/input/serio/i8042.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/input/serio/i8042.h 2023-12-20 14:44:42.000000000 +0000 @@ -20,7 +20,7 @@ #elif defined(CONFIG_SPARC) #include "i8042-sparcio.h" #elif defined(CONFIG_X86) || defined(CONFIG_IA64) -#include "i8042-x86ia64io.h" +#include "i8042-acpipnpio.h" #else #include "i8042-io.h" #endif diff -Nru linux-5.10.197/drivers/input/touchscreen/goodix.c linux-5.10.205/drivers/input/touchscreen/goodix.c --- linux-5.10.197/drivers/input/touchscreen/goodix.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/input/touchscreen/goodix.c 2023-12-20 14:44:42.000000000 +0000 @@ -820,6 +820,25 @@ dev_info(dev, "No ACPI GpioInt resource, assuming that the GPIO order is reset, int\n"); ts->irq_pin_access_method = IRQ_PIN_ACCESS_ACPI_GPIO; gpio_mapping = acpi_goodix_int_last_gpios; + } else if (ts->gpio_count == 1 && ts->gpio_int_idx == 0) { + /* + * On newer devices there is only 1 GpioInt resource and _PS0 + * does the whole reset sequence for us. + */ + acpi_device_fix_up_power(ACPI_COMPANION(dev)); + + /* + * Before the _PS0 call the int GPIO may have been in output + * mode and the call should have put the int GPIO in input mode, + * but the GPIO subsys cached state may still think it is + * in output mode, causing gpiochip_lock_as_irq() failure. + * + * Add a mapping for the int GPIO to make the + * gpiod_int = gpiod_get(..., GPIOD_IN) call succeed, + * which will explicitly set the direction to input. + */ + ts->irq_pin_access_method = IRQ_PIN_ACCESS_NONE; + gpio_mapping = acpi_goodix_int_first_gpios; } else { dev_warn(dev, "Unexpected ACPI resources: gpio_count %d, gpio_int_idx %d\n", ts->gpio_count, ts->gpio_int_idx); diff -Nru linux-5.10.197/drivers/interconnect/qcom/bcm-voter.c linux-5.10.205/drivers/interconnect/qcom/bcm-voter.c --- linux-5.10.197/drivers/interconnect/qcom/bcm-voter.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/interconnect/qcom/bcm-voter.c 2023-12-20 14:44:42.000000000 +0000 @@ -90,6 +90,11 @@ temp = agg_peak[bucket] * bcm->vote_scale; bcm->vote_y[bucket] = bcm_div(temp, bcm->aux_data.unit); + + if (bcm->enable_mask && (bcm->vote_x[bucket] || bcm->vote_y[bucket])) { + bcm->vote_x[bucket] = 0; + bcm->vote_y[bucket] = bcm->enable_mask; + } } if (bcm->keepalive && bcm->vote_x[QCOM_ICC_BUCKET_AMC] == 0 && diff -Nru linux-5.10.197/drivers/interconnect/qcom/icc-rpmh.h linux-5.10.205/drivers/interconnect/qcom/icc-rpmh.h --- linux-5.10.197/drivers/interconnect/qcom/icc-rpmh.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/interconnect/qcom/icc-rpmh.h 2023-12-20 14:44:42.000000000 +0000 @@ -81,6 +81,7 @@ * @vote_x: aggregated threshold values, represents sum_bw when @type is bw bcm * @vote_y: aggregated threshold values, represents peak_bw when @type is bw bcm * @vote_scale: scaling factor for vote_x and vote_y + * @enable_mask: optional mask to send as vote instead of vote_x/vote_y * @dirty: flag used to indicate whether the bcm needs to be committed * @keepalive: flag used to indicate whether a keepalive is required * @aux_data: auxiliary data used when calculating threshold values and @@ -97,6 +98,7 @@ u64 vote_x[QCOM_ICC_NUM_BUCKETS]; u64 vote_y[QCOM_ICC_NUM_BUCKETS]; u64 vote_scale; + u32 enable_mask; bool dirty; bool keepalive; struct bcm_db aux_data; diff -Nru linux-5.10.197/drivers/interconnect/qcom/sc7180.c linux-5.10.205/drivers/interconnect/qcom/sc7180.c --- linux-5.10.197/drivers/interconnect/qcom/sc7180.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/interconnect/qcom/sc7180.c 2023-12-20 14:44:42.000000000 +0000 @@ -153,30 +153,238 @@ DEFINE_QNODE(xs_qdss_stm, SC7180_SLAVE_QDSS_STM, 1, 4); DEFINE_QNODE(xs_sys_tcu_cfg, SC7180_SLAVE_TCU, 1, 8); -DEFINE_QBCM(bcm_acv, "ACV", false, &ebi); -DEFINE_QBCM(bcm_mc0, "MC0", true, &ebi); -DEFINE_QBCM(bcm_sh0, "SH0", true, &qns_llcc); -DEFINE_QBCM(bcm_mm0, "MM0", false, &qns_mem_noc_hf); -DEFINE_QBCM(bcm_ce0, "CE0", false, &qxm_crypto); -DEFINE_QBCM(bcm_cn0, "CN0", true, &qnm_snoc, &xm_qdss_dap, &qhs_a1_noc_cfg, &qhs_a2_noc_cfg, &qhs_ahb2phy0, &qhs_aop, &qhs_aoss, &qhs_boot_rom, &qhs_camera_cfg, &qhs_camera_nrt_throttle_cfg, &qhs_camera_rt_throttle_cfg, &qhs_clk_ctl, &qhs_cpr_cx, &qhs_cpr_mx, &qhs_crypto0_cfg, &qhs_dcc_cfg, &qhs_ddrss_cfg, &qhs_display_cfg, &qhs_display_rt_throttle_cfg, &qhs_display_throttle_cfg, &qhs_glm, &qhs_gpuss_cfg, &qhs_imem_cfg, &qhs_ipa, &qhs_mnoc_cfg, &qhs_mss_cfg, &qhs_npu_cfg, &qhs_npu_dma_throttle_cfg, &qhs_npu_dsp_throttle_cfg, &qhs_pimem_cfg, &qhs_prng, &qhs_qdss_cfg, &qhs_qm_cfg, &qhs_qm_mpu_cfg, &qhs_qup0, &qhs_qup1, &qhs_security, &qhs_snoc_cfg, &qhs_tcsr, &qhs_tlmm_1, &qhs_tlmm_2, &qhs_tlmm_3, &qhs_ufs_mem_cfg, &qhs_usb3, &qhs_venus_cfg, &qhs_venus_throttle_cfg, &qhs_vsense_ctrl_cfg, &srvc_cnoc); -DEFINE_QBCM(bcm_mm1, "MM1", false, &qxm_camnoc_hf0_uncomp, &qxm_camnoc_hf1_uncomp, &qxm_camnoc_sf_uncomp, &qhm_mnoc_cfg, &qxm_mdp0, &qxm_rot, &qxm_venus0, &qxm_venus_arm9); -DEFINE_QBCM(bcm_sh2, "SH2", false, &acm_sys_tcu); -DEFINE_QBCM(bcm_mm2, "MM2", false, &qns_mem_noc_sf); -DEFINE_QBCM(bcm_qup0, "QUP0", false, &qup_core_master_1, &qup_core_master_2); -DEFINE_QBCM(bcm_sh3, "SH3", false, &qnm_cmpnoc); -DEFINE_QBCM(bcm_sh4, "SH4", false, &acm_apps0); -DEFINE_QBCM(bcm_sn0, "SN0", true, &qns_gemnoc_sf); -DEFINE_QBCM(bcm_co0, "CO0", false, &qns_cdsp_gemnoc); -DEFINE_QBCM(bcm_sn1, "SN1", false, &qxs_imem); -DEFINE_QBCM(bcm_cn1, "CN1", false, &qhm_qspi, &xm_sdc2, &xm_emmc, &qhs_ahb2phy2, &qhs_emmc_cfg, &qhs_pdm, &qhs_qspi, &qhs_sdc2); -DEFINE_QBCM(bcm_sn2, "SN2", false, &qxm_pimem, &qns_gemnoc_gc); -DEFINE_QBCM(bcm_co2, "CO2", false, &qnm_npu); -DEFINE_QBCM(bcm_sn3, "SN3", false, &qxs_pimem); -DEFINE_QBCM(bcm_co3, "CO3", false, &qxm_npu_dsp); -DEFINE_QBCM(bcm_sn4, "SN4", false, &xs_qdss_stm); -DEFINE_QBCM(bcm_sn7, "SN7", false, &qnm_aggre1_noc); -DEFINE_QBCM(bcm_sn9, "SN9", false, &qnm_aggre2_noc); -DEFINE_QBCM(bcm_sn12, "SN12", false, &qnm_gemnoc); +static struct qcom_icc_bcm bcm_acv = { + .name = "ACV", + .enable_mask = BIT(3), + .keepalive = false, + .num_nodes = 1, + .nodes = { &ebi }, +}; + +static struct qcom_icc_bcm bcm_mc0 = { + .name = "MC0", + .keepalive = true, + .num_nodes = 1, + .nodes = { &ebi }, +}; + +static struct qcom_icc_bcm bcm_sh0 = { + .name = "SH0", + .keepalive = true, + .num_nodes = 1, + .nodes = { &qns_llcc }, +}; + +static struct qcom_icc_bcm bcm_mm0 = { + .name = "MM0", + .keepalive = false, + .num_nodes = 1, + .nodes = { &qns_mem_noc_hf }, +}; + +static struct qcom_icc_bcm bcm_ce0 = { + .name = "CE0", + .keepalive = false, + .num_nodes = 1, + .nodes = { &qxm_crypto }, +}; + +static struct qcom_icc_bcm bcm_cn0 = { + .name = "CN0", + .keepalive = true, + .num_nodes = 48, + .nodes = { &qnm_snoc, + &xm_qdss_dap, + &qhs_a1_noc_cfg, + &qhs_a2_noc_cfg, + &qhs_ahb2phy0, + &qhs_aop, + &qhs_aoss, + &qhs_boot_rom, + &qhs_camera_cfg, + &qhs_camera_nrt_throttle_cfg, + &qhs_camera_rt_throttle_cfg, + &qhs_clk_ctl, + &qhs_cpr_cx, + &qhs_cpr_mx, + &qhs_crypto0_cfg, + &qhs_dcc_cfg, + &qhs_ddrss_cfg, + &qhs_display_cfg, + &qhs_display_rt_throttle_cfg, + &qhs_display_throttle_cfg, + &qhs_glm, + &qhs_gpuss_cfg, + &qhs_imem_cfg, + &qhs_ipa, + &qhs_mnoc_cfg, + &qhs_mss_cfg, + &qhs_npu_cfg, + &qhs_npu_dma_throttle_cfg, + &qhs_npu_dsp_throttle_cfg, + &qhs_pimem_cfg, + &qhs_prng, + &qhs_qdss_cfg, + &qhs_qm_cfg, + &qhs_qm_mpu_cfg, + &qhs_qup0, + &qhs_qup1, + &qhs_security, + &qhs_snoc_cfg, + &qhs_tcsr, + &qhs_tlmm_1, + &qhs_tlmm_2, + &qhs_tlmm_3, + &qhs_ufs_mem_cfg, + &qhs_usb3, + &qhs_venus_cfg, + &qhs_venus_throttle_cfg, + &qhs_vsense_ctrl_cfg, + &srvc_cnoc + }, +}; + +static struct qcom_icc_bcm bcm_mm1 = { + .name = "MM1", + .keepalive = false, + .num_nodes = 8, + .nodes = { &qxm_camnoc_hf0_uncomp, + &qxm_camnoc_hf1_uncomp, + &qxm_camnoc_sf_uncomp, + &qhm_mnoc_cfg, + &qxm_mdp0, + &qxm_rot, + &qxm_venus0, + &qxm_venus_arm9 + }, +}; + +static struct qcom_icc_bcm bcm_sh2 = { + .name = "SH2", + .keepalive = false, + .num_nodes = 1, + .nodes = { &acm_sys_tcu }, +}; + +static struct qcom_icc_bcm bcm_mm2 = { + .name = "MM2", + .keepalive = false, + .num_nodes = 1, + .nodes = { &qns_mem_noc_sf }, +}; + +static struct qcom_icc_bcm bcm_qup0 = { + .name = "QUP0", + .keepalive = false, + .num_nodes = 2, + .nodes = { &qup_core_master_1, &qup_core_master_2 }, +}; + +static struct qcom_icc_bcm bcm_sh3 = { + .name = "SH3", + .keepalive = false, + .num_nodes = 1, + .nodes = { &qnm_cmpnoc }, +}; + +static struct qcom_icc_bcm bcm_sh4 = { + .name = "SH4", + .keepalive = false, + .num_nodes = 1, + .nodes = { &acm_apps0 }, +}; + +static struct qcom_icc_bcm bcm_sn0 = { + .name = "SN0", + .keepalive = true, + .num_nodes = 1, + .nodes = { &qns_gemnoc_sf }, +}; + +static struct qcom_icc_bcm bcm_co0 = { + .name = "CO0", + .keepalive = false, + .num_nodes = 1, + .nodes = { &qns_cdsp_gemnoc }, +}; + +static struct qcom_icc_bcm bcm_sn1 = { + .name = "SN1", + .keepalive = false, + .num_nodes = 1, + .nodes = { &qxs_imem }, +}; + +static struct qcom_icc_bcm bcm_cn1 = { + .name = "CN1", + .keepalive = false, + .num_nodes = 8, + .nodes = { &qhm_qspi, + &xm_sdc2, + &xm_emmc, + &qhs_ahb2phy2, + &qhs_emmc_cfg, + &qhs_pdm, + &qhs_qspi, + &qhs_sdc2 + }, +}; + +static struct qcom_icc_bcm bcm_sn2 = { + .name = "SN2", + .keepalive = false, + .num_nodes = 2, + .nodes = { &qxm_pimem, &qns_gemnoc_gc }, +}; + +static struct qcom_icc_bcm bcm_co2 = { + .name = "CO2", + .keepalive = false, + .num_nodes = 1, + .nodes = { &qnm_npu }, +}; + +static struct qcom_icc_bcm bcm_sn3 = { + .name = "SN3", + .keepalive = false, + .num_nodes = 1, + .nodes = { &qxs_pimem }, +}; + +static struct qcom_icc_bcm bcm_co3 = { + .name = "CO3", + .keepalive = false, + .num_nodes = 1, + .nodes = { &qxm_npu_dsp }, +}; + +static struct qcom_icc_bcm bcm_sn4 = { + .name = "SN4", + .keepalive = false, + .num_nodes = 1, + .nodes = { &xs_qdss_stm }, +}; + +static struct qcom_icc_bcm bcm_sn7 = { + .name = "SN7", + .keepalive = false, + .num_nodes = 1, + .nodes = { &qnm_aggre1_noc }, +}; + +static struct qcom_icc_bcm bcm_sn9 = { + .name = "SN9", + .keepalive = false, + .num_nodes = 1, + .nodes = { &qnm_aggre2_noc }, +}; + +static struct qcom_icc_bcm bcm_sn12 = { + .name = "SN12", + .keepalive = false, + .num_nodes = 1, + .nodes = { &qnm_gemnoc }, +}; static struct qcom_icc_bcm *aggre1_noc_bcms[] = { &bcm_cn1, diff -Nru linux-5.10.197/drivers/iommu/intel/iommu.c linux-5.10.205/drivers/iommu/intel/iommu.c --- linux-5.10.197/drivers/iommu/intel/iommu.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/iommu/intel/iommu.c 2023-12-20 14:44:42.000000000 +0000 @@ -6325,7 +6325,7 @@ ver = (dev->device >> 8) & 0xff; if (ver != 0x45 && ver != 0x46 && ver != 0x4c && ver != 0x4e && ver != 0x8a && ver != 0x98 && - ver != 0x9a && ver != 0xa7) + ver != 0x9a && ver != 0xa7 && ver != 0x7d) return; if (risky_device(dev)) diff -Nru linux-5.10.197/drivers/irqchip/irq-stm32-exti.c linux-5.10.205/drivers/irqchip/irq-stm32-exti.c --- linux-5.10.197/drivers/irqchip/irq-stm32-exti.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/irqchip/irq-stm32-exti.c 2023-12-20 14:44:42.000000000 +0000 @@ -403,6 +403,7 @@ .map = irq_map_generic_chip, .alloc = stm32_exti_alloc, .free = stm32_exti_free, + .xlate = irq_domain_xlate_twocell, }; static void stm32_irq_ack(struct irq_data *d) diff -Nru linux-5.10.197/drivers/leds/leds-pwm.c linux-5.10.205/drivers/leds/leds-pwm.c --- linux-5.10.197/drivers/leds/leds-pwm.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/leds/leds-pwm.c 2023-12-20 14:44:42.000000000 +0000 @@ -51,7 +51,7 @@ duty = led_dat->pwmstate.period - duty; led_dat->pwmstate.duty_cycle = duty; - led_dat->pwmstate.enabled = duty > 0; + led_dat->pwmstate.enabled = true; return pwm_apply_state(led_dat->pwm, &led_dat->pwmstate); } diff -Nru linux-5.10.197/drivers/leds/trigger/ledtrig-cpu.c linux-5.10.205/drivers/leds/trigger/ledtrig-cpu.c --- linux-5.10.197/drivers/leds/trigger/ledtrig-cpu.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/leds/trigger/ledtrig-cpu.c 2023-12-20 14:44:42.000000000 +0000 @@ -130,7 +130,7 @@ static int __init ledtrig_cpu_init(void) { - int cpu; + unsigned int cpu; int ret; /* Supports up to 9999 cpu cores */ @@ -152,7 +152,7 @@ if (cpu >= 8) continue; - snprintf(trig->name, MAX_NAME_LEN, "cpu%d", cpu); + snprintf(trig->name, MAX_NAME_LEN, "cpu%u", cpu); led_trigger_register_simple(trig->name, &trig->_trig); } diff -Nru linux-5.10.197/drivers/mcb/mcb-core.c linux-5.10.205/drivers/mcb/mcb-core.c --- linux-5.10.197/drivers/mcb/mcb-core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mcb/mcb-core.c 2023-12-20 14:44:42.000000000 +0000 @@ -248,6 +248,7 @@ return 0; out: + put_device(&dev->dev); return ret; } @@ -389,17 +390,13 @@ static int __mcb_bus_add_devices(struct device *dev, void *data) { - struct mcb_device *mdev = to_mcb_device(dev); int retval; - if (mdev->is_added) - return 0; - retval = device_attach(dev); - if (retval < 0) + if (retval < 0) { dev_err(dev, "Error adding device (%d)\n", retval); - - mdev->is_added = true; + return retval; + } return 0; } diff -Nru linux-5.10.197/drivers/mcb/mcb-lpc.c linux-5.10.205/drivers/mcb/mcb-lpc.c --- linux-5.10.197/drivers/mcb/mcb-lpc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mcb/mcb-lpc.c 2023-12-20 14:44:42.000000000 +0000 @@ -23,7 +23,7 @@ { struct resource *res; struct priv *priv; - int ret = 0; + int ret = 0, table_size; priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); if (!priv) @@ -58,16 +58,43 @@ ret = chameleon_parse_cells(priv->bus, priv->mem->start, priv->base); if (ret < 0) { - mcb_release_bus(priv->bus); - return ret; + goto out_mcb_bus; } - dev_dbg(&pdev->dev, "Found %d cells\n", ret); + table_size = ret; + + if (table_size < CHAM_HEADER_SIZE) { + /* Release the previous resources */ + devm_iounmap(&pdev->dev, priv->base); + devm_release_mem_region(&pdev->dev, priv->mem->start, resource_size(priv->mem)); + + /* Then, allocate it again with the actual chameleon table size */ + res = devm_request_mem_region(&pdev->dev, priv->mem->start, + table_size, + KBUILD_MODNAME); + if (!res) { + dev_err(&pdev->dev, "Failed to request PCI memory\n"); + ret = -EBUSY; + goto out_mcb_bus; + } + + priv->base = devm_ioremap(&pdev->dev, priv->mem->start, table_size); + if (!priv->base) { + dev_err(&pdev->dev, "Cannot ioremap\n"); + ret = -ENOMEM; + goto out_mcb_bus; + } + + platform_set_drvdata(pdev, priv); + } mcb_bus_add_devices(priv->bus); return 0; +out_mcb_bus: + mcb_release_bus(priv->bus); + return ret; } static int mcb_lpc_remove(struct platform_device *pdev) diff -Nru linux-5.10.197/drivers/mcb/mcb-parse.c linux-5.10.205/drivers/mcb/mcb-parse.c --- linux-5.10.197/drivers/mcb/mcb-parse.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mcb/mcb-parse.c 2023-12-20 14:44:42.000000000 +0000 @@ -99,8 +99,6 @@ mdev->mem.end = mdev->mem.start + size - 1; mdev->mem.flags = IORESOURCE_MEM; - mdev->is_added = false; - ret = mcb_device_register(bus, mdev); if (ret < 0) goto err; @@ -108,7 +106,7 @@ return 0; err: - put_device(&mdev->dev); + mcb_free_dev(mdev); return ret; } @@ -130,7 +128,7 @@ } } -static int chameleon_get_bar(char __iomem **base, phys_addr_t mapbase, +static int chameleon_get_bar(void __iomem **base, phys_addr_t mapbase, struct chameleon_bar **cb) { struct chameleon_bar *c; @@ -179,12 +177,13 @@ { struct chameleon_fpga_header *header; struct chameleon_bar *cb; - char __iomem *p = base; + void __iomem *p = base; int num_cells = 0; uint32_t dtype; int bar_count; int ret; u32 hsize; + u32 table_size; hsize = sizeof(struct chameleon_fpga_header); @@ -239,12 +238,16 @@ num_cells++; } - if (num_cells == 0) - num_cells = -EINVAL; + if (num_cells == 0) { + ret = -EINVAL; + goto free_bar; + } + table_size = p - base; + pr_debug("%d cell(s) found. Chameleon table size: 0x%04x bytes\n", num_cells, table_size); kfree(cb); kfree(header); - return num_cells; + return table_size; free_bar: kfree(cb); diff -Nru linux-5.10.197/drivers/md/bcache/bcache.h linux-5.10.205/drivers/md/bcache/bcache.h --- linux-5.10.197/drivers/md/bcache/bcache.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/md/bcache/bcache.h 2023-12-20 14:44:42.000000000 +0000 @@ -265,6 +265,7 @@ #define BCACHE_DEV_WB_RUNNING 3 #define BCACHE_DEV_RATE_DW_RUNNING 4 int nr_stripes; +#define BCH_MIN_STRIPE_SZ ((4 << 20) >> SECTOR_SHIFT) unsigned int stripe_size; atomic_t *stripe_sectors_dirty; unsigned long *full_dirty_stripes; diff -Nru linux-5.10.197/drivers/md/bcache/btree.c linux-5.10.205/drivers/md/bcache/btree.c --- linux-5.10.197/drivers/md/bcache/btree.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/md/bcache/btree.c 2023-12-20 14:44:42.000000000 +0000 @@ -974,6 +974,9 @@ * * The btree node will have either a read or a write lock held, depending on * level and op->lock. + * + * Note: Only error code or btree pointer will be returned, it is unncessary + * for callers to check NULL pointer. */ struct btree *bch_btree_node_get(struct cache_set *c, struct btree_op *op, struct bkey *k, int level, bool write, @@ -1085,6 +1088,10 @@ mutex_unlock(&b->c->bucket_lock); } +/* + * Only error code or btree pointer will be returned, it is unncessary for + * callers to check NULL pointer. + */ struct btree *__bch_btree_node_alloc(struct cache_set *c, struct btree_op *op, int level, bool wait, struct btree *parent) @@ -1342,7 +1349,7 @@ memset(new_nodes, 0, sizeof(new_nodes)); closure_init_stack(&cl); - while (nodes < GC_MERGE_NODES && !IS_ERR(r[nodes].b)) + while (nodes < GC_MERGE_NODES && !IS_ERR_OR_NULL(r[nodes].b)) keys += r[nodes++].keys; blocks = btree_default_blocks(b->c) * 2 / 3; @@ -1489,7 +1496,7 @@ bch_keylist_free(&keylist); for (i = 0; i < nodes; i++) - if (!IS_ERR(new_nodes[i])) { + if (!IS_ERR_OR_NULL(new_nodes[i])) { btree_node_free(new_nodes[i]); rw_unlock(true, new_nodes[i]); } @@ -1506,6 +1513,8 @@ return 0; n = btree_node_alloc_replacement(replace, NULL); + if (IS_ERR(n)) + return 0; /* recheck reserve after allocating replacement node */ if (btree_check_reserve(b, NULL)) { diff -Nru linux-5.10.197/drivers/md/bcache/super.c linux-5.10.205/drivers/md/bcache/super.c --- linux-5.10.197/drivers/md/bcache/super.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/md/bcache/super.c 2023-12-20 14:44:42.000000000 +0000 @@ -917,6 +917,8 @@ if (!d->stripe_size) d->stripe_size = 1 << 31; + else if (d->stripe_size < BCH_MIN_STRIPE_SZ) + d->stripe_size = roundup(BCH_MIN_STRIPE_SZ, d->stripe_size); n = DIV_ROUND_UP_ULL(sectors, d->stripe_size); if (!n || n > max_stripes) { @@ -2041,7 +2043,7 @@ c->root = bch_btree_node_get(c, NULL, k, j->btree_level, true, NULL); - if (IS_ERR_OR_NULL(c->root)) + if (IS_ERR(c->root)) goto err; list_del_init(&c->root->list); diff -Nru linux-5.10.197/drivers/md/bcache/sysfs.c linux-5.10.205/drivers/md/bcache/sysfs.c --- linux-5.10.197/drivers/md/bcache/sysfs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/md/bcache/sysfs.c 2023-12-20 14:44:42.000000000 +0000 @@ -1078,7 +1078,7 @@ sum += INITIAL_PRIO - cached[i]; if (n) - do_div(sum, n); + sum = div64_u64(sum, n); for (i = 0; i < ARRAY_SIZE(q); i++) q[i] = INITIAL_PRIO - cached[n * (i + 1) / diff -Nru linux-5.10.197/drivers/md/bcache/writeback.c linux-5.10.205/drivers/md/bcache/writeback.c --- linux-5.10.197/drivers/md/bcache/writeback.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/md/bcache/writeback.c 2023-12-20 14:44:42.000000000 +0000 @@ -857,7 +857,7 @@ int cur_idx, prev_idx, skip_nr; k = p = NULL; - cur_idx = prev_idx = 0; + prev_idx = 0; bch_btree_iter_init(&c->root->keys, &iter, NULL); k = bch_btree_iter_next_filter(&iter, &c->root->keys, bch_ptr_bad); @@ -921,24 +921,35 @@ void bch_sectors_dirty_init(struct bcache_device *d) { int i; + struct btree *b = NULL; struct bkey *k = NULL; struct btree_iter iter; struct sectors_dirty_init op; struct cache_set *c = d->c; struct bch_dirty_init_state state; +retry_lock: + b = c->root; + rw_lock(0, b, b->level); + if (b != c->root) { + rw_unlock(0, b); + goto retry_lock; + } + /* Just count root keys if no leaf node */ - rw_lock(0, c->root, c->root->level); if (c->root->level == 0) { bch_btree_op_init(&op.op, -1); op.inode = d->id; op.count = 0; for_each_key_filter(&c->root->keys, - k, &iter, bch_ptr_invalid) + k, &iter, bch_ptr_invalid) { + if (KEY_INODE(k) != op.inode) + continue; sectors_dirty_init_fn(&op.op, c->root, k); + } - rw_unlock(0, c->root); + rw_unlock(0, b); return; } @@ -958,23 +969,24 @@ if (atomic_read(&state.enough)) break; + atomic_inc(&state.started); state.infos[i].state = &state; state.infos[i].thread = kthread_run(bch_dirty_init_thread, &state.infos[i], "bch_dirtcnt[%d]", i); if (IS_ERR(state.infos[i].thread)) { pr_err("fails to run thread bch_dirty_init[%d]\n", i); + atomic_dec(&state.started); for (--i; i >= 0; i--) kthread_stop(state.infos[i].thread); goto out; } - atomic_inc(&state.started); } out: /* Must wait for all threads to stop. */ wait_event(state.wait, atomic_read(&state.started) == 0); - rw_unlock(0, c->root); + rw_unlock(0, b); } void bch_cached_dev_writeback_init(struct cached_dev *dc) diff -Nru linux-5.10.197/drivers/md/dm-delay.c linux-5.10.205/drivers/md/dm-delay.c --- linux-5.10.197/drivers/md/dm-delay.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/md/dm-delay.c 2023-12-20 14:44:42.000000000 +0000 @@ -30,7 +30,7 @@ struct workqueue_struct *kdelayd_wq; struct work_struct flush_expired_bios; struct list_head delayed_bios; - atomic_t may_delay; + bool may_delay; struct delay_class read; struct delay_class write; @@ -191,7 +191,7 @@ INIT_WORK(&dc->flush_expired_bios, flush_expired_bios); INIT_LIST_HEAD(&dc->delayed_bios); mutex_init(&dc->timer_lock); - atomic_set(&dc->may_delay, 1); + dc->may_delay = true; dc->argc = argc; ret = delay_class_ctr(ti, &dc->read, argv); @@ -245,7 +245,7 @@ struct dm_delay_info *delayed; unsigned long expires = 0; - if (!c->delay || !atomic_read(&dc->may_delay)) + if (!c->delay) return DM_MAPIO_REMAPPED; delayed = dm_per_bio_data(bio, sizeof(struct dm_delay_info)); @@ -254,6 +254,10 @@ delayed->expires = expires = jiffies + msecs_to_jiffies(c->delay); mutex_lock(&delayed_bios_lock); + if (unlikely(!dc->may_delay)) { + mutex_unlock(&delayed_bios_lock); + return DM_MAPIO_REMAPPED; + } c->ops++; list_add_tail(&delayed->list, &dc->delayed_bios); mutex_unlock(&delayed_bios_lock); @@ -267,7 +271,10 @@ { struct delay_c *dc = ti->private; - atomic_set(&dc->may_delay, 0); + mutex_lock(&delayed_bios_lock); + dc->may_delay = false; + mutex_unlock(&delayed_bios_lock); + del_timer_sync(&dc->delay_timer); flush_bios(flush_delayed_bios(dc, 1)); } @@ -276,7 +283,7 @@ { struct delay_c *dc = ti->private; - atomic_set(&dc->may_delay, 1); + dc->may_delay = true; } static int delay_map(struct dm_target *ti, struct bio *bio) diff -Nru linux-5.10.197/drivers/md/dm-verity-fec.c linux-5.10.205/drivers/md/dm-verity-fec.c --- linux-5.10.197/drivers/md/dm-verity-fec.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/md/dm-verity-fec.c 2023-12-20 14:44:42.000000000 +0000 @@ -24,7 +24,8 @@ */ static inline struct dm_verity_fec_io *fec_io(struct dm_verity_io *io) { - return (struct dm_verity_fec_io *) verity_io_digest_end(io->v, io); + return (struct dm_verity_fec_io *) + ((char *)io + io->v->ti->per_io_data_size - sizeof(struct dm_verity_fec_io)); } /* diff -Nru linux-5.10.197/drivers/md/dm-verity-target.c linux-5.10.205/drivers/md/dm-verity-target.c --- linux-5.10.197/drivers/md/dm-verity-target.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/md/dm-verity-target.c 2023-12-20 14:44:42.000000000 +0000 @@ -583,7 +583,9 @@ struct dm_verity_io *io = bio->bi_private; if (bio->bi_status && - (!verity_fec_is_enabled(io->v) || verity_is_system_shutting_down())) { + (!verity_fec_is_enabled(io->v) || + verity_is_system_shutting_down() || + (bio->bi_opf & REQ_RAHEAD))) { verity_finish_io(io, bio->bi_status); return; } diff -Nru linux-5.10.197/drivers/md/dm-verity.h linux-5.10.205/drivers/md/dm-verity.h --- linux-5.10.197/drivers/md/dm-verity.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/md/dm-verity.h 2023-12-20 14:44:42.000000000 +0000 @@ -111,12 +111,6 @@ return (u8 *)(io + 1) + v->ahash_reqsize + v->digest_size; } -static inline u8 *verity_io_digest_end(struct dm_verity *v, - struct dm_verity_io *io) -{ - return verity_io_want_digest(v, io) + v->digest_size; -} - extern int verity_for_bv_block(struct dm_verity *v, struct dm_verity_io *io, struct bvec_iter *iter, int (*process)(struct dm_verity *v, diff -Nru linux-5.10.197/drivers/md/dm-zoned-target.c linux-5.10.205/drivers/md/dm-zoned-target.c --- linux-5.10.197/drivers/md/dm-zoned-target.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/md/dm-zoned-target.c 2023-12-20 14:44:42.000000000 +0000 @@ -750,17 +750,16 @@ /* * Cleanup zoned device information. */ -static void dmz_put_zoned_device(struct dm_target *ti) +static void dmz_put_zoned_devices(struct dm_target *ti) { struct dmz_target *dmz = ti->private; int i; - for (i = 0; i < dmz->nr_ddevs; i++) { - if (dmz->ddev[i]) { + for (i = 0; i < dmz->nr_ddevs; i++) + if (dmz->ddev[i]) dm_put_device(ti, dmz->ddev[i]); - dmz->ddev[i] = NULL; - } - } + + kfree(dmz->ddev); } static int dmz_fixup_devices(struct dm_target *ti) @@ -951,7 +950,7 @@ err_meta: dmz_dtr_metadata(dmz->metadata); err_dev: - dmz_put_zoned_device(ti); + dmz_put_zoned_devices(ti); err: kfree(dmz->dev); kfree(dmz); @@ -982,7 +981,7 @@ bioset_exit(&dmz->bio_set); - dmz_put_zoned_device(ti); + dmz_put_zoned_devices(ti); mutex_destroy(&dmz->chunk_lock); diff -Nru linux-5.10.197/drivers/media/i2c/max9286.c linux-5.10.205/drivers/media/i2c/max9286.c --- linux-5.10.197/drivers/media/i2c/max9286.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/media/i2c/max9286.c 2023-12-20 14:44:42.000000000 +0000 @@ -1143,7 +1143,6 @@ i2c_mux_mask |= BIT(id); } - of_node_put(node); of_node_put(i2c_mux); /* Parse the endpoints */ @@ -1207,7 +1206,6 @@ priv->source_mask |= BIT(ep.port); priv->nsources++; } - of_node_put(node); priv->route_mask = priv->source_mask; diff -Nru linux-5.10.197/drivers/media/i2c/smiapp/smiapp-core.c linux-5.10.205/drivers/media/i2c/smiapp/smiapp-core.c --- linux-5.10.197/drivers/media/i2c/smiapp/smiapp-core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/media/i2c/smiapp/smiapp-core.c 2023-12-20 14:44:42.000000000 +0000 @@ -2647,7 +2647,7 @@ try_fmt->code = sensor->internal_csi_format->code; try_fmt->field = V4L2_FIELD_NONE; - if (ssd != sensor->pixel_array) + if (ssd == sensor->pixel_array) continue; try_comp = v4l2_subdev_get_try_compose(sd, fh->pad, i); diff -Nru linux-5.10.197/drivers/media/pci/bt8xx/bttv-driver.c linux-5.10.205/drivers/media/pci/bt8xx/bttv-driver.c --- linux-5.10.197/drivers/media/pci/bt8xx/bttv-driver.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/media/pci/bt8xx/bttv-driver.c 2023-12-20 14:44:42.000000000 +0000 @@ -4258,6 +4258,7 @@ /* free resources */ free_irq(btv->c.pci->irq,btv); + del_timer_sync(&btv->timeout); iounmap(btv->bt848_mmio); release_mem_region(pci_resource_start(btv->c.pci,0), pci_resource_len(btv->c.pci,0)); diff -Nru linux-5.10.197/drivers/media/pci/cobalt/cobalt-driver.c linux-5.10.205/drivers/media/pci/cobalt/cobalt-driver.c --- linux-5.10.197/drivers/media/pci/cobalt/cobalt-driver.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/media/pci/cobalt/cobalt-driver.c 2023-12-20 14:44:42.000000000 +0000 @@ -8,6 +8,7 @@ * All rights reserved. */ +#include #include #include #include @@ -210,17 +211,17 @@ pcie_capability_read_word(pci_dev, PCI_EXP_LNKSTA, &stat); cobalt_info("PCIe link capability 0x%08x: %s per lane and %u lanes\n", capa, get_link_speed(capa), - (capa & PCI_EXP_LNKCAP_MLW) >> 4); + FIELD_GET(PCI_EXP_LNKCAP_MLW, capa)); cobalt_info("PCIe link control 0x%04x\n", ctrl); cobalt_info("PCIe link status 0x%04x: %s per lane and %u lanes\n", stat, get_link_speed(stat), - (stat & PCI_EXP_LNKSTA_NLW) >> 4); + FIELD_GET(PCI_EXP_LNKSTA_NLW, stat)); /* Bus */ pcie_capability_read_dword(pci_bus_dev, PCI_EXP_LNKCAP, &capa); cobalt_info("PCIe bus link capability 0x%08x: %s per lane and %u lanes\n", capa, get_link_speed(capa), - (capa & PCI_EXP_LNKCAP_MLW) >> 4); + FIELD_GET(PCI_EXP_LNKCAP_MLW, capa)); /* Slot */ pcie_capability_read_dword(pci_dev, PCI_EXP_SLTCAP, &capa); @@ -239,7 +240,7 @@ if (!pci_is_pcie(pci_dev)) return 0; pcie_capability_read_word(pci_dev, PCI_EXP_LNKSTA, &link); - return (link & PCI_EXP_LNKSTA_NLW) >> 4; + return FIELD_GET(PCI_EXP_LNKSTA_NLW, link); } static unsigned pcie_bus_link_get_lanes(struct cobalt *cobalt) @@ -250,7 +251,7 @@ if (!pci_is_pcie(pci_dev)) return 0; pcie_capability_read_dword(pci_dev, PCI_EXP_LNKCAP, &link); - return (link & PCI_EXP_LNKCAP_MLW) >> 4; + return FIELD_GET(PCI_EXP_LNKCAP_MLW, link); } static void msi_config_show(struct cobalt *cobalt, struct pci_dev *pci_dev) diff -Nru linux-5.10.197/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c linux-5.10.205/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c --- linux-5.10.197/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c 2023-12-20 14:44:42.000000000 +0000 @@ -1455,6 +1455,7 @@ { struct mtk_jpeg_dev *jpeg = platform_get_drvdata(pdev); + cancel_delayed_work_sync(&jpeg->job_timeout_work); pm_runtime_disable(&pdev->dev); video_unregister_device(jpeg->vdev); video_device_release(jpeg->vdev); diff -Nru linux-5.10.197/drivers/media/platform/qcom/camss/camss-vfe.c linux-5.10.205/drivers/media/platform/qcom/camss/camss-vfe.c --- linux-5.10.197/drivers/media/platform/qcom/camss/camss-vfe.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/media/platform/qcom/camss/camss-vfe.c 2023-12-20 14:44:42.000000000 +0000 @@ -1282,7 +1282,7 @@ } else { ret = vfe_check_clock_rates(vfe); if (ret < 0) - goto error_pm_runtime_get; + goto error_pm_domain; } vfe->power_count++; diff -Nru linux-5.10.197/drivers/media/platform/qcom/venus/core.c linux-5.10.205/drivers/media/platform/qcom/venus/core.c --- linux-5.10.197/drivers/media/platform/qcom/venus/core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/media/platform/qcom/venus/core.c 2023-12-20 14:44:42.000000000 +0000 @@ -21,6 +21,7 @@ #include "core.h" #include "firmware.h" #include "pm_helpers.h" +#include "hfi_venus_io.h" static void venus_event_notify(struct venus_core *core, u32 event) { @@ -210,6 +211,15 @@ return ret; } +static void venus_assign_register_offsets(struct venus_core *core) +{ + core->vbif_base = core->base + VBIF_BASE; + core->cpu_base = core->base + CPU_BASE; + core->cpu_cs_base = core->base + CPU_CS_BASE; + core->cpu_ic_base = core->base + CPU_IC_BASE; + core->wrapper_base = core->base + WRAPPER_BASE; +} + static int venus_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; @@ -276,6 +286,8 @@ if (ret) goto err_core_put; + venus_assign_register_offsets(core); + ret = v4l2_device_register(dev, &core->v4l2_dev); if (ret) goto err_core_deinit; diff -Nru linux-5.10.197/drivers/media/platform/qcom/venus/core.h linux-5.10.205/drivers/media/platform/qcom/venus/core.h --- linux-5.10.197/drivers/media/platform/qcom/venus/core.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/media/platform/qcom/venus/core.h 2023-12-20 14:44:42.000000000 +0000 @@ -119,6 +119,11 @@ * struct venus_core - holds core parameters valid for all instances * * @base: IO memory base address + * @vbif_base IO memory vbif base address + * @cpu_base IO memory cpu base address + * @cpu_cs_base IO memory cpu_cs base address + * @cpu_ic_base IO memory cpu_ic base address + * @wrapper_base IO memory wrapper base address * @irq: Venus irq * @clks: an array of struct clk pointers * @vcodec0_clks: an array of vcodec0 struct clk pointers @@ -152,6 +157,11 @@ */ struct venus_core { void __iomem *base; + void __iomem *vbif_base; + void __iomem *cpu_base; + void __iomem *cpu_cs_base; + void __iomem *cpu_ic_base; + void __iomem *wrapper_base; int irq; struct clk *clks[VIDC_CLKS_NUM_MAX]; struct clk *vcodec0_clks[VIDC_VCODEC_CLKS_NUM_MAX]; @@ -416,6 +426,7 @@ #define IS_V1(core) ((core)->res->hfi_version == HFI_VERSION_1XX) #define IS_V3(core) ((core)->res->hfi_version == HFI_VERSION_3XX) #define IS_V4(core) ((core)->res->hfi_version == HFI_VERSION_4XX) +#define IS_V6(core) ((core)->res->hfi_version == HFI_VERSION_6XX) #define ctrl_to_inst(ctrl) \ container_of((ctrl)->handler, struct venus_inst, ctrl_handler) diff -Nru linux-5.10.197/drivers/media/platform/qcom/venus/firmware.c linux-5.10.205/drivers/media/platform/qcom/venus/firmware.c --- linux-5.10.197/drivers/media/platform/qcom/venus/firmware.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/media/platform/qcom/venus/firmware.c 2023-12-20 14:44:42.000000000 +0000 @@ -27,19 +27,19 @@ static void venus_reset_cpu(struct venus_core *core) { u32 fw_size = core->fw.mapped_mem_size; - void __iomem *base = core->base; + void __iomem *wrapper_base = core->wrapper_base; - writel(0, base + WRAPPER_FW_START_ADDR); - writel(fw_size, base + WRAPPER_FW_END_ADDR); - writel(0, base + WRAPPER_CPA_START_ADDR); - writel(fw_size, base + WRAPPER_CPA_END_ADDR); - writel(fw_size, base + WRAPPER_NONPIX_START_ADDR); - writel(fw_size, base + WRAPPER_NONPIX_END_ADDR); - writel(0x0, base + WRAPPER_CPU_CGC_DIS); - writel(0x0, base + WRAPPER_CPU_CLOCK_CONFIG); + writel(0, wrapper_base + WRAPPER_FW_START_ADDR); + writel(fw_size, wrapper_base + WRAPPER_FW_END_ADDR); + writel(0, wrapper_base + WRAPPER_CPA_START_ADDR); + writel(fw_size, wrapper_base + WRAPPER_CPA_END_ADDR); + writel(fw_size, wrapper_base + WRAPPER_NONPIX_START_ADDR); + writel(fw_size, wrapper_base + WRAPPER_NONPIX_END_ADDR); + writel(0x0, wrapper_base + WRAPPER_CPU_CGC_DIS); + writel(0x0, wrapper_base + WRAPPER_CPU_CLOCK_CONFIG); /* Bring ARM9 out of reset */ - writel(0, base + WRAPPER_A9SS_SW_RESET); + writel(0, wrapper_base + WRAPPER_A9SS_SW_RESET); } int venus_set_hw_state(struct venus_core *core, bool resume) @@ -56,7 +56,7 @@ if (resume) venus_reset_cpu(core); else - writel(1, core->base + WRAPPER_A9SS_SW_RESET); + writel(1, core->wrapper_base + WRAPPER_A9SS_SW_RESET); return 0; } @@ -159,12 +159,12 @@ size_t unmapped; u32 reg; struct device *dev = core->fw.dev; - void __iomem *base = core->base; + void __iomem *wrapper_base = core->wrapper_base; /* Assert the reset to ARM9 */ - reg = readl_relaxed(base + WRAPPER_A9SS_SW_RESET); + reg = readl_relaxed(wrapper_base + WRAPPER_A9SS_SW_RESET); reg |= WRAPPER_A9SS_SW_RESET_BIT; - writel_relaxed(reg, base + WRAPPER_A9SS_SW_RESET); + writel_relaxed(reg, wrapper_base + WRAPPER_A9SS_SW_RESET); /* Make sure reset is asserted before the mapping is removed */ mb(); diff -Nru linux-5.10.197/drivers/media/platform/qcom/venus/hfi_msgs.c linux-5.10.205/drivers/media/platform/qcom/venus/hfi_msgs.c --- linux-5.10.197/drivers/media/platform/qcom/venus/hfi_msgs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/media/platform/qcom/venus/hfi_msgs.c 2023-12-20 14:44:42.000000000 +0000 @@ -351,7 +351,7 @@ memcpy(&bufreq[idx], buf_req, sizeof(*bufreq)); idx++; - if (idx > HFI_BUFFER_TYPE_MAX) + if (idx >= HFI_BUFFER_TYPE_MAX) return HFI_ERR_SESSION_INVALID_PARAMETER; req_bytes -= sizeof(struct hfi_buffer_requirements); diff -Nru linux-5.10.197/drivers/media/platform/qcom/venus/hfi_parser.c linux-5.10.205/drivers/media/platform/qcom/venus/hfi_parser.c --- linux-5.10.197/drivers/media/platform/qcom/venus/hfi_parser.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/media/platform/qcom/venus/hfi_parser.c 2023-12-20 14:44:42.000000000 +0000 @@ -19,6 +19,9 @@ struct venus_caps *caps = core->caps, *cap; unsigned long bit; + if (hweight_long(core->dec_codecs) + hweight_long(core->enc_codecs) > MAX_CODEC_NUM) + return; + for_each_set_bit(bit, &core->dec_codecs, MAX_CODEC_NUM) { cap = &caps[core->codecs_count++]; cap->codec = BIT(bit); @@ -86,6 +89,9 @@ { const struct hfi_profile_level *pl = data; + if (cap->num_pl + num >= HFI_MAX_PROFILE_COUNT) + return; + memcpy(&cap->pl[cap->num_pl], pl, num * sizeof(*pl)); cap->num_pl += num; } @@ -111,6 +117,9 @@ { const struct hfi_capability *caps = data; + if (cap->num_caps + num >= MAX_CAP_ENTRIES) + return; + memcpy(&cap->caps[cap->num_caps], caps, num * sizeof(*caps)); cap->num_caps += num; } @@ -137,6 +146,9 @@ { const struct raw_formats *formats = fmts; + if (cap->num_fmts + num_fmts >= MAX_FMT_ENTRIES) + return; + memcpy(&cap->fmts[cap->num_fmts], formats, num_fmts * sizeof(*formats)); cap->num_fmts += num_fmts; } @@ -159,6 +171,9 @@ rawfmts[i].buftype = fmt->buffer_type; i++; + if (i >= MAX_FMT_ENTRIES) + return; + if (pinfo->num_planes > MAX_PLANES) break; diff -Nru linux-5.10.197/drivers/media/platform/qcom/venus/hfi_venus.c linux-5.10.205/drivers/media/platform/qcom/venus/hfi_venus.c --- linux-5.10.197/drivers/media/platform/qcom/venus/hfi_venus.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/media/platform/qcom/venus/hfi_venus.c 2023-12-20 14:44:42.000000000 +0000 @@ -206,6 +206,11 @@ new_wr_idx = wr_idx + dwords; wr_ptr = (u32 *)(queue->qmem.kva + (wr_idx << 2)); + + if (wr_ptr < (u32 *)queue->qmem.kva || + wr_ptr > (u32 *)(queue->qmem.kva + queue->qmem.size - sizeof(*wr_ptr))) + return -EINVAL; + if (new_wr_idx < qsize) { memcpy(wr_ptr, packet, dwords << 2); } else { @@ -273,6 +278,11 @@ } rd_ptr = (u32 *)(queue->qmem.kva + (rd_idx << 2)); + + if (rd_ptr < (u32 *)queue->qmem.kva || + rd_ptr > (u32 *)(queue->qmem.kva + queue->qmem.size - sizeof(*rd_ptr))) + return -EINVAL; + dwords = *rd_ptr >> 2; if (!dwords) return -EINVAL; @@ -345,16 +355,6 @@ dma_free_attrs(dev, mem->size, mem->kva, mem->da, mem->attrs); } -static void venus_writel(struct venus_hfi_device *hdev, u32 reg, u32 value) -{ - writel(value, hdev->core->base + reg); -} - -static u32 venus_readl(struct venus_hfi_device *hdev, u32 reg) -{ - return readl(hdev->core->base + reg); -} - static void venus_set_registers(struct venus_hfi_device *hdev) { const struct venus_resources *res = hdev->core->res; @@ -363,12 +363,14 @@ unsigned int i; for (i = 0; i < count; i++) - venus_writel(hdev, tbl[i].reg, tbl[i].value); + writel(tbl[i].value, hdev->core->base + tbl[i].reg); } static void venus_soft_int(struct venus_hfi_device *hdev) { - venus_writel(hdev, CPU_IC_SOFTINT, BIT(CPU_IC_SOFTINT_H2A_SHIFT)); + void __iomem *cpu_ic_base = hdev->core->cpu_ic_base; + + writel(BIT(CPU_IC_SOFTINT_H2A_SHIFT), cpu_ic_base + CPU_IC_SOFTINT); } static int venus_iface_cmdq_write_nolock(struct venus_hfi_device *hdev, @@ -439,16 +441,25 @@ { struct device *dev = hdev->core->dev; static const unsigned int max_tries = 100; - u32 ctrl_status = 0; + u32 ctrl_status = 0, mask_val; unsigned int count = 0; + void __iomem *cpu_cs_base = hdev->core->cpu_cs_base; + void __iomem *wrapper_base = hdev->core->wrapper_base; int ret = 0; - venus_writel(hdev, VIDC_CTRL_INIT, BIT(VIDC_CTRL_INIT_CTRL_SHIFT)); - venus_writel(hdev, WRAPPER_INTR_MASK, WRAPPER_INTR_MASK_A2HVCODEC_MASK); - venus_writel(hdev, CPU_CS_SCIACMDARG3, 1); + if (IS_V6(hdev->core)) { + mask_val = readl(wrapper_base + WRAPPER_INTR_MASK); + mask_val &= ~(WRAPPER_INTR_MASK_A2HWD_BASK_V6 | + WRAPPER_INTR_MASK_A2HCPU_MASK); + } else { + mask_val = WRAPPER_INTR_MASK_A2HVCODEC_MASK; + } + writel(mask_val, wrapper_base + WRAPPER_INTR_MASK); + writel(1, cpu_cs_base + CPU_CS_SCIACMDARG3); + writel(BIT(VIDC_CTRL_INIT_CTRL_SHIFT), cpu_cs_base + VIDC_CTRL_INIT); while (!ctrl_status && count < max_tries) { - ctrl_status = venus_readl(hdev, CPU_CS_SCIACMDARG0); + ctrl_status = readl(cpu_cs_base + CPU_CS_SCIACMDARG0); if ((ctrl_status & CPU_CS_SCIACMDARG0_ERROR_STATUS_MASK) == 4) { dev_err(dev, "invalid setting for UC_REGION\n"); ret = -EINVAL; @@ -462,15 +473,20 @@ if (count >= max_tries) ret = -ETIMEDOUT; + if (IS_V6(hdev->core)) + writel(0x0, cpu_cs_base + CPU_CS_X2RPMH_V6); + return ret; } static u32 venus_hwversion(struct venus_hfi_device *hdev) { struct device *dev = hdev->core->dev; - u32 ver = venus_readl(hdev, WRAPPER_HW_VERSION); + void __iomem *wrapper_base = hdev->core->wrapper_base; + u32 ver; u32 major, minor, step; + ver = readl(wrapper_base + WRAPPER_HW_VERSION); major = ver & WRAPPER_HW_VERSION_MAJOR_VERSION_MASK; major = major >> WRAPPER_HW_VERSION_MAJOR_VERSION_SHIFT; minor = ver & WRAPPER_HW_VERSION_MINOR_VERSION_MASK; @@ -485,6 +501,7 @@ static int venus_run(struct venus_hfi_device *hdev) { struct device *dev = hdev->core->dev; + void __iomem *cpu_cs_base = hdev->core->cpu_cs_base; int ret; /* @@ -493,12 +510,12 @@ */ venus_set_registers(hdev); - venus_writel(hdev, UC_REGION_ADDR, hdev->ifaceq_table.da); - venus_writel(hdev, UC_REGION_SIZE, SHARED_QSIZE); - venus_writel(hdev, CPU_CS_SCIACMDARG2, hdev->ifaceq_table.da); - venus_writel(hdev, CPU_CS_SCIACMDARG1, 0x01); + writel(hdev->ifaceq_table.da, cpu_cs_base + UC_REGION_ADDR); + writel(SHARED_QSIZE, cpu_cs_base + UC_REGION_SIZE); + writel(hdev->ifaceq_table.da, cpu_cs_base + CPU_CS_SCIACMDARG2); + writel(0x01, cpu_cs_base + CPU_CS_SCIACMDARG1); if (hdev->sfr.da) - venus_writel(hdev, SFR_ADDR, hdev->sfr.da); + writel(hdev->sfr.da, cpu_cs_base + SFR_ADDR); ret = venus_boot_core(hdev); if (ret) { @@ -513,17 +530,18 @@ static int venus_halt_axi(struct venus_hfi_device *hdev) { - void __iomem *base = hdev->core->base; + void __iomem *wrapper_base = hdev->core->wrapper_base; + void __iomem *vbif_base = hdev->core->vbif_base; struct device *dev = hdev->core->dev; u32 val; int ret; if (IS_V4(hdev->core)) { - val = venus_readl(hdev, WRAPPER_CPU_AXI_HALT); + val = readl(wrapper_base + WRAPPER_CPU_AXI_HALT); val |= WRAPPER_CPU_AXI_HALT_HALT; - venus_writel(hdev, WRAPPER_CPU_AXI_HALT, val); + writel(val, wrapper_base + WRAPPER_CPU_AXI_HALT); - ret = readl_poll_timeout(base + WRAPPER_CPU_AXI_HALT_STATUS, + ret = readl_poll_timeout(wrapper_base + WRAPPER_CPU_AXI_HALT_STATUS, val, val & WRAPPER_CPU_AXI_HALT_STATUS_IDLE, POLL_INTERVAL_US, @@ -537,12 +555,12 @@ } /* Halt AXI and AXI IMEM VBIF Access */ - val = venus_readl(hdev, VBIF_AXI_HALT_CTRL0); + val = readl(vbif_base + VBIF_AXI_HALT_CTRL0); val |= VBIF_AXI_HALT_CTRL0_HALT_REQ; - venus_writel(hdev, VBIF_AXI_HALT_CTRL0, val); + writel(val, vbif_base + VBIF_AXI_HALT_CTRL0); /* Request for AXI bus port halt */ - ret = readl_poll_timeout(base + VBIF_AXI_HALT_CTRL1, val, + ret = readl_poll_timeout(vbif_base + VBIF_AXI_HALT_CTRL1, val, val & VBIF_AXI_HALT_CTRL1_HALT_ACK, POLL_INTERVAL_US, VBIF_AXI_HALT_ACK_TIMEOUT_US); @@ -1035,19 +1053,21 @@ { struct venus_hfi_device *hdev = to_hfi_priv(core); u32 status; + void __iomem *cpu_cs_base = hdev->core->cpu_cs_base; + void __iomem *wrapper_base = hdev->core->wrapper_base; if (!hdev) return IRQ_NONE; - status = venus_readl(hdev, WRAPPER_INTR_STATUS); + status = readl(wrapper_base + WRAPPER_INTR_STATUS); if (status & WRAPPER_INTR_STATUS_A2H_MASK || status & WRAPPER_INTR_STATUS_A2HWD_MASK || status & CPU_CS_SCIACMDARG0_INIT_IDLE_MSG_MASK) hdev->irq_status = status; - venus_writel(hdev, CPU_CS_A2HSOFTINTCLR, 1); - venus_writel(hdev, WRAPPER_INTR_CLEAR, status); + writel(1, cpu_cs_base + CPU_CS_A2HSOFTINTCLR); + writel(status, wrapper_base + WRAPPER_INTR_CLEAR); return IRQ_WAKE_THREAD; } @@ -1380,6 +1400,7 @@ { struct venus_hfi_device *hdev = to_hfi_priv(core); struct device *dev = core->dev; + void __iomem *cpu_cs_base = hdev->core->cpu_cs_base; u32 ctrl_status; int ret; @@ -1414,7 +1435,7 @@ return -EINVAL; } - ctrl_status = venus_readl(hdev, CPU_CS_SCIACMDARG0); + ctrl_status = readl(cpu_cs_base + CPU_CS_SCIACMDARG0); if (!(ctrl_status & CPU_CS_SCIACMDARG0_PC_READY)) { mutex_unlock(&hdev->lock); return -EINVAL; @@ -1435,10 +1456,12 @@ static bool venus_cpu_and_video_core_idle(struct venus_hfi_device *hdev) { + void __iomem *wrapper_base = hdev->core->wrapper_base; + void __iomem *cpu_cs_base = hdev->core->cpu_cs_base; u32 ctrl_status, cpu_status; - cpu_status = venus_readl(hdev, WRAPPER_CPU_STATUS); - ctrl_status = venus_readl(hdev, CPU_CS_SCIACMDARG0); + cpu_status = readl(wrapper_base + WRAPPER_CPU_STATUS); + ctrl_status = readl(cpu_cs_base + CPU_CS_SCIACMDARG0); if (cpu_status & WRAPPER_CPU_STATUS_WFI && ctrl_status & CPU_CS_SCIACMDARG0_INIT_IDLE_MSG_MASK) @@ -1449,10 +1472,12 @@ static bool venus_cpu_idle_and_pc_ready(struct venus_hfi_device *hdev) { + void __iomem *wrapper_base = hdev->core->wrapper_base; + void __iomem *cpu_cs_base = hdev->core->cpu_cs_base; u32 ctrl_status, cpu_status; - cpu_status = venus_readl(hdev, WRAPPER_CPU_STATUS); - ctrl_status = venus_readl(hdev, CPU_CS_SCIACMDARG0); + cpu_status = readl(wrapper_base + WRAPPER_CPU_STATUS); + ctrl_status = readl(cpu_cs_base + CPU_CS_SCIACMDARG0); if (cpu_status & WRAPPER_CPU_STATUS_WFI && ctrl_status & CPU_CS_SCIACMDARG0_PC_READY) @@ -1465,6 +1490,7 @@ { struct venus_hfi_device *hdev = to_hfi_priv(core); struct device *dev = core->dev; + void __iomem *cpu_cs_base = hdev->core->cpu_cs_base; u32 ctrl_status; bool val; int ret; @@ -1481,7 +1507,7 @@ return -EINVAL; } - ctrl_status = venus_readl(hdev, CPU_CS_SCIACMDARG0); + ctrl_status = readl(cpu_cs_base + CPU_CS_SCIACMDARG0); if (ctrl_status & CPU_CS_SCIACMDARG0_PC_READY) goto power_off; diff -Nru linux-5.10.197/drivers/media/platform/qcom/venus/hfi_venus_io.h linux-5.10.205/drivers/media/platform/qcom/venus/hfi_venus_io.h --- linux-5.10.197/drivers/media/platform/qcom/venus/hfi_venus_io.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/media/platform/qcom/venus/hfi_venus_io.h 2023-12-20 14:44:42.000000000 +0000 @@ -8,27 +8,28 @@ #define VBIF_BASE 0x80000 -#define VBIF_AXI_HALT_CTRL0 (VBIF_BASE + 0x208) -#define VBIF_AXI_HALT_CTRL1 (VBIF_BASE + 0x20c) +#define VBIF_AXI_HALT_CTRL0 0x208 +#define VBIF_AXI_HALT_CTRL1 0x20c #define VBIF_AXI_HALT_CTRL0_HALT_REQ BIT(0) #define VBIF_AXI_HALT_CTRL1_HALT_ACK BIT(0) #define VBIF_AXI_HALT_ACK_TIMEOUT_US 500000 #define CPU_BASE 0xc0000 + #define CPU_CS_BASE (CPU_BASE + 0x12000) #define CPU_IC_BASE (CPU_BASE + 0x1f000) -#define CPU_CS_A2HSOFTINTCLR (CPU_CS_BASE + 0x1c) +#define CPU_CS_A2HSOFTINTCLR 0x1c -#define VIDC_CTRL_INIT (CPU_CS_BASE + 0x48) +#define VIDC_CTRL_INIT 0x48 #define VIDC_CTRL_INIT_RESERVED_BITS31_1_MASK 0xfffffffe #define VIDC_CTRL_INIT_RESERVED_BITS31_1_SHIFT 1 #define VIDC_CTRL_INIT_CTRL_MASK 0x1 #define VIDC_CTRL_INIT_CTRL_SHIFT 0 /* HFI control status */ -#define CPU_CS_SCIACMDARG0 (CPU_CS_BASE + 0x4c) +#define CPU_CS_SCIACMDARG0 0x4c #define CPU_CS_SCIACMDARG0_MASK 0xff #define CPU_CS_SCIACMDARG0_SHIFT 0x0 #define CPU_CS_SCIACMDARG0_ERROR_STATUS_MASK 0xfe @@ -39,42 +40,55 @@ #define CPU_CS_SCIACMDARG0_INIT_IDLE_MSG_MASK BIT(30) /* HFI queue table info */ -#define CPU_CS_SCIACMDARG1 (CPU_CS_BASE + 0x50) +#define CPU_CS_SCIACMDARG1 0x50 /* HFI queue table address */ -#define CPU_CS_SCIACMDARG2 (CPU_CS_BASE + 0x54) +#define CPU_CS_SCIACMDARG2 0x54 /* Venus cpu */ -#define CPU_CS_SCIACMDARG3 (CPU_CS_BASE + 0x58) - -#define SFR_ADDR (CPU_CS_BASE + 0x5c) -#define MMAP_ADDR (CPU_CS_BASE + 0x60) -#define UC_REGION_ADDR (CPU_CS_BASE + 0x64) -#define UC_REGION_SIZE (CPU_CS_BASE + 0x68) +#define CPU_CS_SCIACMDARG3 0x58 -#define CPU_IC_SOFTINT (CPU_IC_BASE + 0x18) +#define SFR_ADDR 0x5c +#define MMAP_ADDR 0x60 +#define UC_REGION_ADDR 0x64 +#define UC_REGION_SIZE 0x68 + +#define CPU_CS_H2XSOFTINTEN_V6 0x148 + +#define CPU_CS_X2RPMH_V6 0x168 +#define CPU_CS_X2RPMH_MASK0_BMSK_V6 0x1 +#define CPU_CS_X2RPMH_MASK0_SHFT_V6 0x0 +#define CPU_CS_X2RPMH_MASK1_BMSK_V6 0x2 +#define CPU_CS_X2RPMH_MASK1_SHFT_V6 0x1 +#define CPU_CS_X2RPMH_SWOVERRIDE_BMSK_V6 0x4 +#define CPU_CS_X2RPMH_SWOVERRIDE_SHFT_V6 0x3 + +/* Relative to CPU_IC_BASE */ +#define CPU_IC_SOFTINT 0x18 +#define CPU_IC_SOFTINT_V6 0x150 #define CPU_IC_SOFTINT_H2A_MASK 0x8000 #define CPU_IC_SOFTINT_H2A_SHIFT 0xf +#define CPU_IC_SOFTINT_H2A_SHIFT_V6 0x0 /* Venus wrapper */ #define WRAPPER_BASE 0x000e0000 -#define WRAPPER_HW_VERSION (WRAPPER_BASE + 0x00) +#define WRAPPER_HW_VERSION 0x00 #define WRAPPER_HW_VERSION_MAJOR_VERSION_MASK 0x78000000 #define WRAPPER_HW_VERSION_MAJOR_VERSION_SHIFT 28 #define WRAPPER_HW_VERSION_MINOR_VERSION_MASK 0xfff0000 #define WRAPPER_HW_VERSION_MINOR_VERSION_SHIFT 16 #define WRAPPER_HW_VERSION_STEP_VERSION_MASK 0xffff -#define WRAPPER_CLOCK_CONFIG (WRAPPER_BASE + 0x04) +#define WRAPPER_CLOCK_CONFIG 0x04 -#define WRAPPER_INTR_STATUS (WRAPPER_BASE + 0x0c) +#define WRAPPER_INTR_STATUS 0x0c #define WRAPPER_INTR_STATUS_A2HWD_MASK 0x10 #define WRAPPER_INTR_STATUS_A2HWD_SHIFT 0x4 #define WRAPPER_INTR_STATUS_A2H_MASK 0x4 #define WRAPPER_INTR_STATUS_A2H_SHIFT 0x2 -#define WRAPPER_INTR_MASK (WRAPPER_BASE + 0x10) +#define WRAPPER_INTR_MASK 0x10 #define WRAPPER_INTR_MASK_A2HWD_BASK 0x10 #define WRAPPER_INTR_MASK_A2HWD_SHIFT 0x4 #define WRAPPER_INTR_MASK_A2HVCODEC_MASK 0x8 @@ -82,41 +96,59 @@ #define WRAPPER_INTR_MASK_A2HCPU_MASK 0x4 #define WRAPPER_INTR_MASK_A2HCPU_SHIFT 0x2 -#define WRAPPER_INTR_CLEAR (WRAPPER_BASE + 0x14) +#define WRAPPER_INTR_STATUS_A2HWD_MASK_V6 0x8 +#define WRAPPER_INTR_MASK_A2HWD_BASK_V6 0x8 + +#define WRAPPER_INTR_CLEAR 0x14 #define WRAPPER_INTR_CLEAR_A2HWD_MASK 0x10 #define WRAPPER_INTR_CLEAR_A2HWD_SHIFT 0x4 #define WRAPPER_INTR_CLEAR_A2H_MASK 0x4 #define WRAPPER_INTR_CLEAR_A2H_SHIFT 0x2 -#define WRAPPER_POWER_STATUS (WRAPPER_BASE + 0x44) -#define WRAPPER_VDEC_VCODEC_POWER_CONTROL (WRAPPER_BASE + 0x48) -#define WRAPPER_VENC_VCODEC_POWER_CONTROL (WRAPPER_BASE + 0x4c) -#define WRAPPER_VDEC_VENC_AHB_BRIDGE_SYNC_RESET (WRAPPER_BASE + 0x64) +#define WRAPPER_POWER_STATUS 0x44 +#define WRAPPER_VDEC_VCODEC_POWER_CONTROL 0x48 +#define WRAPPER_VENC_VCODEC_POWER_CONTROL 0x4c +#define WRAPPER_DEBUG_BRIDGE_LPI_CONTROL_V6 0x54 +#define WRAPPER_DEBUG_BRIDGE_LPI_STATUS_V6 0x58 +#define WRAPPER_VDEC_VENC_AHB_BRIDGE_SYNC_RESET 0x64 -#define WRAPPER_CPU_CLOCK_CONFIG (WRAPPER_BASE + 0x2000) -#define WRAPPER_CPU_AXI_HALT (WRAPPER_BASE + 0x2008) +#define WRAPPER_CPU_CLOCK_CONFIG 0x2000 +#define WRAPPER_CPU_AXI_HALT 0x2008 #define WRAPPER_CPU_AXI_HALT_HALT BIT(16) -#define WRAPPER_CPU_AXI_HALT_STATUS (WRAPPER_BASE + 0x200c) +#define WRAPPER_CPU_AXI_HALT_STATUS 0x200c #define WRAPPER_CPU_AXI_HALT_STATUS_IDLE BIT(24) -#define WRAPPER_CPU_CGC_DIS (WRAPPER_BASE + 0x2010) -#define WRAPPER_CPU_STATUS (WRAPPER_BASE + 0x2014) +#define WRAPPER_CPU_CGC_DIS 0x2010 +#define WRAPPER_CPU_STATUS 0x2014 #define WRAPPER_CPU_STATUS_WFI BIT(0) -#define WRAPPER_SW_RESET (WRAPPER_BASE + 0x3000) -#define WRAPPER_CPA_START_ADDR (WRAPPER_BASE + 0x1020) -#define WRAPPER_CPA_END_ADDR (WRAPPER_BASE + 0x1024) -#define WRAPPER_FW_START_ADDR (WRAPPER_BASE + 0x1028) -#define WRAPPER_FW_END_ADDR (WRAPPER_BASE + 0x102C) -#define WRAPPER_NONPIX_START_ADDR (WRAPPER_BASE + 0x1030) -#define WRAPPER_NONPIX_END_ADDR (WRAPPER_BASE + 0x1034) -#define WRAPPER_A9SS_SW_RESET (WRAPPER_BASE + 0x3000) +#define WRAPPER_SW_RESET 0x3000 +#define WRAPPER_CPA_START_ADDR 0x1020 +#define WRAPPER_CPA_END_ADDR 0x1024 +#define WRAPPER_FW_START_ADDR 0x1028 +#define WRAPPER_FW_END_ADDR 0x102C +#define WRAPPER_NONPIX_START_ADDR 0x1030 +#define WRAPPER_NONPIX_END_ADDR 0x1034 +#define WRAPPER_A9SS_SW_RESET 0x3000 #define WRAPPER_A9SS_SW_RESET_BIT BIT(4) /* Venus 4xx */ -#define WRAPPER_VCODEC0_MMCC_POWER_STATUS (WRAPPER_BASE + 0x90) -#define WRAPPER_VCODEC0_MMCC_POWER_CONTROL (WRAPPER_BASE + 0x94) +#define WRAPPER_VCODEC0_MMCC_POWER_STATUS 0x90 +#define WRAPPER_VCODEC0_MMCC_POWER_CONTROL 0x94 + +#define WRAPPER_VCODEC1_MMCC_POWER_STATUS 0x110 +#define WRAPPER_VCODEC1_MMCC_POWER_CONTROL 0x114 -#define WRAPPER_VCODEC1_MMCC_POWER_STATUS (WRAPPER_BASE + 0x110) -#define WRAPPER_VCODEC1_MMCC_POWER_CONTROL (WRAPPER_BASE + 0x114) +/* Venus 6xx */ +#define WRAPPER_CORE_POWER_STATUS_V6 0x80 +#define WRAPPER_CORE_POWER_CONTROL_V6 0x84 + +/* Wrapper TZ 6xx */ +#define WRAPPER_TZ_BASE_V6 0x000c0000 +#define WRAPPER_TZ_CPU_STATUS_V6 0x10 + +/* Venus AON */ +#define AON_BASE_V6 0x000e0000 +#define AON_WRAPPER_MVP_NOC_LPI_CONTROL 0x00 +#define AON_WRAPPER_MVP_NOC_LPI_STATUS 0x04 #endif diff -Nru linux-5.10.197/drivers/media/platform/qcom/venus/pm_helpers.c linux-5.10.205/drivers/media/platform/qcom/venus/pm_helpers.c --- linux-5.10.197/drivers/media/platform/qcom/venus/pm_helpers.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/media/platform/qcom/venus/pm_helpers.c 2023-12-20 14:44:42.000000000 +0000 @@ -304,9 +304,9 @@ void __iomem *ctrl; if (session_type == VIDC_SESSION_TYPE_DEC) - ctrl = core->base + WRAPPER_VDEC_VCODEC_POWER_CONTROL; + ctrl = core->wrapper_base + WRAPPER_VDEC_VCODEC_POWER_CONTROL; else - ctrl = core->base + WRAPPER_VENC_VCODEC_POWER_CONTROL; + ctrl = core->wrapper_base + WRAPPER_VENC_VCODEC_POWER_CONTROL; if (enable) writel(0, ctrl); @@ -381,11 +381,11 @@ int ret; if (coreid == VIDC_CORE_ID_1) { - ctrl = core->base + WRAPPER_VCODEC0_MMCC_POWER_CONTROL; - stat = core->base + WRAPPER_VCODEC0_MMCC_POWER_STATUS; + ctrl = core->wrapper_base + WRAPPER_VCODEC0_MMCC_POWER_CONTROL; + stat = core->wrapper_base + WRAPPER_VCODEC0_MMCC_POWER_STATUS; } else { - ctrl = core->base + WRAPPER_VCODEC1_MMCC_POWER_CONTROL; - stat = core->base + WRAPPER_VCODEC1_MMCC_POWER_STATUS; + ctrl = core->wrapper_base + WRAPPER_VCODEC1_MMCC_POWER_CONTROL; + stat = core->wrapper_base + WRAPPER_VCODEC1_MMCC_POWER_STATUS; } if (enable) { diff -Nru linux-5.10.197/drivers/media/platform/s3c-camif/camif-capture.c linux-5.10.205/drivers/media/platform/s3c-camif/camif-capture.c --- linux-5.10.197/drivers/media/platform/s3c-camif/camif-capture.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/media/platform/s3c-camif/camif-capture.c 2023-12-20 14:44:42.000000000 +0000 @@ -1132,12 +1132,12 @@ ret = vb2_queue_init(q); if (ret) - goto err_vd_rel; + return ret; vp->pad.flags = MEDIA_PAD_FL_SINK; ret = media_entity_pads_init(&vfd->entity, 1, &vp->pad); if (ret) - goto err_vd_rel; + return ret; video_set_drvdata(vfd, vp); @@ -1170,8 +1170,6 @@ v4l2_ctrl_handler_free(&vp->ctrl_handler); err_me_cleanup: media_entity_cleanup(&vfd->entity); -err_vd_rel: - video_device_release(vfd); return ret; } diff -Nru linux-5.10.197/drivers/media/rc/imon.c linux-5.10.205/drivers/media/rc/imon.c --- linux-5.10.197/drivers/media/rc/imon.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/media/rc/imon.c 2023-12-20 14:44:42.000000000 +0000 @@ -2430,6 +2430,12 @@ goto fail; } + if (first_if->dev.driver != interface->dev.driver) { + dev_err(&interface->dev, "inconsistent driver matching\n"); + ret = -EINVAL; + goto fail; + } + if (ifnum == 0) { ictx = imon_init_intf0(interface, id); if (!ictx) { diff -Nru linux-5.10.197/drivers/media/rc/ir-sharp-decoder.c linux-5.10.205/drivers/media/rc/ir-sharp-decoder.c --- linux-5.10.197/drivers/media/rc/ir-sharp-decoder.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/media/rc/ir-sharp-decoder.c 2023-12-20 14:44:42.000000000 +0000 @@ -15,7 +15,9 @@ #define SHARP_UNIT 40 /* us */ #define SHARP_BIT_PULSE (8 * SHARP_UNIT) /* 320us */ #define SHARP_BIT_0_PERIOD (25 * SHARP_UNIT) /* 1ms (680us space) */ -#define SHARP_BIT_1_PERIOD (50 * SHARP_UNIT) /* 2ms (1680ms space) */ +#define SHARP_BIT_1_PERIOD (50 * SHARP_UNIT) /* 2ms (1680us space) */ +#define SHARP_BIT_0_SPACE (17 * SHARP_UNIT) /* 680us space */ +#define SHARP_BIT_1_SPACE (42 * SHARP_UNIT) /* 1680us space */ #define SHARP_ECHO_SPACE (1000 * SHARP_UNIT) /* 40 ms */ #define SHARP_TRAILER_SPACE (125 * SHARP_UNIT) /* 5 ms (even longer) */ @@ -168,8 +170,8 @@ .header_pulse = 0, .header_space = 0, .bit_pulse = SHARP_BIT_PULSE, - .bit_space[0] = SHARP_BIT_0_PERIOD, - .bit_space[1] = SHARP_BIT_1_PERIOD, + .bit_space[0] = SHARP_BIT_0_SPACE, + .bit_space[1] = SHARP_BIT_1_SPACE, .trailer_pulse = SHARP_BIT_PULSE, .trailer_space = SHARP_ECHO_SPACE, .msb_first = 1, diff -Nru linux-5.10.197/drivers/media/rc/lirc_dev.c linux-5.10.205/drivers/media/rc/lirc_dev.c --- linux-5.10.197/drivers/media/rc/lirc_dev.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/media/rc/lirc_dev.c 2023-12-20 14:44:42.000000000 +0000 @@ -286,7 +286,11 @@ if (ret < 0) goto out_kfree_raw; - count = ret; + /* drop trailing space */ + if (!(ret % 2)) + count = ret - 1; + else + count = ret; txbuf = kmalloc_array(count, sizeof(unsigned int), GFP_KERNEL); if (!txbuf) { diff -Nru linux-5.10.197/drivers/media/test-drivers/vidtv/vidtv_mux.c linux-5.10.205/drivers/media/test-drivers/vidtv/vidtv_mux.c --- linux-5.10.197/drivers/media/test-drivers/vidtv/vidtv_mux.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/media/test-drivers/vidtv/vidtv_mux.c 2023-12-20 14:44:42.000000000 +0000 @@ -504,13 +504,16 @@ m->priv = args->priv; m->network_id = args->network_id; m->network_name = kstrdup(args->network_name, GFP_KERNEL); + if (!m->network_name) + goto free_mux_buf; + m->timing.current_jiffies = get_jiffies_64(); if (args->channels) m->channels = args->channels; else if (vidtv_channels_init(m) < 0) - goto free_mux_buf; + goto free_mux_network_name; /* will alloc data for pmt_sections after initializing pat */ if (vidtv_channel_si_init(m) < 0) @@ -527,6 +530,8 @@ vidtv_channel_si_destroy(m); free_channels: vidtv_channels_destroy(m); +free_mux_network_name: + kfree(m->network_name); free_mux_buf: vfree(m->mux_buf); free_mux: diff -Nru linux-5.10.197/drivers/media/test-drivers/vidtv/vidtv_psi.c linux-5.10.205/drivers/media/test-drivers/vidtv/vidtv_psi.c --- linux-5.10.197/drivers/media/test-drivers/vidtv/vidtv_psi.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/media/test-drivers/vidtv/vidtv_psi.c 2023-12-20 14:44:42.000000000 +0000 @@ -308,16 +308,29 @@ desc->service_name_len = service_name_len; - if (service_name && service_name_len) + if (service_name && service_name_len) { desc->service_name = kstrdup(service_name, GFP_KERNEL); + if (!desc->service_name) + goto free_desc; + } desc->provider_name_len = provider_name_len; - if (provider_name && provider_name_len) + if (provider_name && provider_name_len) { desc->provider_name = kstrdup(provider_name, GFP_KERNEL); + if (!desc->provider_name) + goto free_desc_service_name; + } vidtv_psi_desc_chain(head, (struct vidtv_psi_desc *)desc); return desc; + +free_desc_service_name: + if (service_name && service_name_len) + kfree(desc->service_name); +free_desc: + kfree(desc); + return NULL; } struct vidtv_psi_desc_registration @@ -362,8 +375,13 @@ desc->length = network_name_len; - if (network_name && network_name_len) + if (network_name && network_name_len) { desc->network_name = kstrdup(network_name, GFP_KERNEL); + if (!desc->network_name) { + kfree(desc); + return NULL; + } + } vidtv_psi_desc_chain(head, (struct vidtv_psi_desc *)desc); return desc; @@ -449,15 +467,32 @@ iso_language_code = "eng"; desc->iso_language_code = kstrdup(iso_language_code, GFP_KERNEL); + if (!desc->iso_language_code) + goto free_desc; - if (event_name && event_name_len) + if (event_name && event_name_len) { desc->event_name = kstrdup(event_name, GFP_KERNEL); + if (!desc->event_name) + goto free_desc_language_code; + } - if (text && text_len) + if (text && text_len) { desc->text = kstrdup(text, GFP_KERNEL); + if (!desc->text) + goto free_desc_event_name; + } vidtv_psi_desc_chain(head, (struct vidtv_psi_desc *)desc); return desc; + +free_desc_event_name: + if (event_name && event_name_len) + kfree(desc->event_name); +free_desc_language_code: + kfree(desc->iso_language_code); +free_desc: + kfree(desc); + return NULL; } struct vidtv_psi_desc *vidtv_psi_desc_clone(struct vidtv_psi_desc *desc) diff -Nru linux-5.10.197/drivers/media/test-drivers/vivid/vivid-rds-gen.c linux-5.10.205/drivers/media/test-drivers/vivid/vivid-rds-gen.c --- linux-5.10.197/drivers/media/test-drivers/vivid/vivid-rds-gen.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/media/test-drivers/vivid/vivid-rds-gen.c 2023-12-20 14:44:42.000000000 +0000 @@ -145,7 +145,7 @@ rds->ta = alt; rds->ms = true; snprintf(rds->psname, sizeof(rds->psname), "%6d.%1d", - freq / 16, ((freq & 0xf) * 10) / 16); + (freq / 16) % 1000000, (((freq & 0xf) * 10) / 16) % 10); if (alt) strscpy(rds->radiotext, " The Radio Data System can switch between different Radio Texts ", diff -Nru linux-5.10.197/drivers/media/usb/dvb-usb-v2/af9035.c linux-5.10.205/drivers/media/usb/dvb-usb-v2/af9035.c --- linux-5.10.197/drivers/media/usb/dvb-usb-v2/af9035.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/media/usb/dvb-usb-v2/af9035.c 2023-12-20 14:44:42.000000000 +0000 @@ -322,8 +322,10 @@ ret = -EOPNOTSUPP; } else if ((msg[0].addr == state->af9033_i2c_addr[0]) || (msg[0].addr == state->af9033_i2c_addr[1])) { - if (msg[0].len < 3 || msg[1].len < 1) - return -EOPNOTSUPP; + if (msg[0].len < 3 || msg[1].len < 1) { + ret = -EOPNOTSUPP; + goto unlock; + } /* demod access via firmware interface */ reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | msg[0].buf[2]; @@ -383,8 +385,10 @@ ret = -EOPNOTSUPP; } else if ((msg[0].addr == state->af9033_i2c_addr[0]) || (msg[0].addr == state->af9033_i2c_addr[1])) { - if (msg[0].len < 3) - return -EOPNOTSUPP; + if (msg[0].len < 3) { + ret = -EOPNOTSUPP; + goto unlock; + } /* demod access via firmware interface */ reg = msg[0].buf[0] << 16 | msg[0].buf[1] << 8 | msg[0].buf[2]; @@ -459,6 +463,7 @@ ret = -EOPNOTSUPP; } +unlock: mutex_unlock(&d->i2c_mutex); if (ret < 0) diff -Nru linux-5.10.197/drivers/media/usb/gspca/cpia1.c linux-5.10.205/drivers/media/usb/gspca/cpia1.c --- linux-5.10.197/drivers/media/usb/gspca/cpia1.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/media/usb/gspca/cpia1.c 2023-12-20 14:44:42.000000000 +0000 @@ -18,6 +18,7 @@ #include #include +#include #include "gspca.h" @@ -1027,6 +1028,8 @@ sd->params.exposure.expMode = 2; sd->exposure_status = EXPOSURE_NORMAL; } + if (sd->params.exposure.gain >= BITS_PER_TYPE(currentexp)) + return -EINVAL; currentexp = currentexp << sd->params.exposure.gain; sd->params.exposure.gain = 0; /* round down current exposure to nearest value */ diff -Nru linux-5.10.197/drivers/mfd/dln2.c linux-5.10.205/drivers/mfd/dln2.c --- linux-5.10.197/drivers/mfd/dln2.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mfd/dln2.c 2023-12-20 14:44:42.000000000 +0000 @@ -836,7 +836,6 @@ dln2_stop_rx_urbs(dln2); out_free: - usb_put_dev(dln2->usb_dev); dln2_free(dln2); return ret; diff -Nru linux-5.10.197/drivers/mfd/mfd-core.c linux-5.10.205/drivers/mfd/mfd-core.c --- linux-5.10.197/drivers/mfd/mfd-core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mfd/mfd-core.c 2023-12-20 14:44:42.000000000 +0000 @@ -171,6 +171,7 @@ struct platform_device *pdev; struct device_node *np = NULL; struct mfd_of_node_entry *of_entry, *tmp; + bool disabled = false; int ret = -ENOMEM; int platform_id; int r; @@ -208,11 +209,10 @@ if (IS_ENABLED(CONFIG_OF) && parent->of_node && cell->of_compatible) { for_each_child_of_node(parent->of_node, np) { if (of_device_is_compatible(np, cell->of_compatible)) { - /* Ignore 'disabled' devices error free */ + /* Skip 'disabled' devices */ if (!of_device_is_available(np)) { - of_node_put(np); - ret = 0; - goto fail_alias; + disabled = true; + continue; } ret = mfd_match_of_node_to_dev(pdev, np, cell); @@ -222,10 +222,17 @@ if (ret) goto fail_alias; - break; + goto match; } } + if (disabled) { + /* Ignore 'disabled' devices error free */ + ret = 0; + goto fail_alias; + } + +match: if (!pdev->dev.of_node) pr_warn("%s: Failed to locate of_node [id: %d]\n", cell->name, platform_id); diff -Nru linux-5.10.197/drivers/misc/fastrpc.c linux-5.10.205/drivers/misc/fastrpc.c --- linux-5.10.197/drivers/misc/fastrpc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/misc/fastrpc.c 2023-12-20 14:44:42.000000000 +0000 @@ -993,11 +993,6 @@ if (err) goto bail; - /* Check the response from remote dsp */ - err = ctx->retval; - if (err) - goto bail; - if (ctx->nscalars) { /* make sure that all memory writes by DSP are seen by CPU */ dma_rmb(); @@ -1007,6 +1002,11 @@ goto bail; } + /* Check the response from remote dsp */ + err = ctx->retval; + if (err) + goto bail; + bail: if (err != -ERESTARTSYS && err != -ETIMEDOUT) { /* We are done with this compute context */ diff -Nru linux-5.10.197/drivers/misc/mei/client.c linux-5.10.205/drivers/misc/mei/client.c --- linux-5.10.197/drivers/misc/mei/client.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/misc/mei/client.c 2023-12-20 14:44:42.000000000 +0000 @@ -1969,7 +1969,7 @@ mei_hdr = mei_msg_hdr_init(cb); if (IS_ERR(mei_hdr)) { - rets = -PTR_ERR(mei_hdr); + rets = PTR_ERR(mei_hdr); mei_hdr = NULL; goto err; } @@ -1993,7 +1993,7 @@ hbuf_slots = mei_hbuf_empty_slots(dev); if (hbuf_slots < 0) { - rets = -EOVERFLOW; + buf_len = -EOVERFLOW; goto out; } diff -Nru linux-5.10.197/drivers/misc/pci_endpoint_test.c linux-5.10.205/drivers/misc/pci_endpoint_test.c --- linux-5.10.197/drivers/misc/pci_endpoint_test.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/misc/pci_endpoint_test.c 2023-12-20 14:44:42.000000000 +0000 @@ -70,6 +70,9 @@ #define PCI_DEVICE_ID_TI_J721E 0xb00d #define PCI_DEVICE_ID_TI_AM654 0xb00c +#define PCI_DEVICE_ID_TI_J7200 0xb00f +#define PCI_DEVICE_ID_TI_AM64 0xb010 +#define PCI_DEVICE_ID_TI_J721S2 0xb013 #define PCI_DEVICE_ID_LS1088A 0x80c0 #define is_am654_pci_dev(pdev) \ @@ -79,6 +82,7 @@ #define PCI_DEVICE_ID_RENESAS_R8A774B1 0x002b #define PCI_DEVICE_ID_RENESAS_R8A774C0 0x002d #define PCI_DEVICE_ID_RENESAS_R8A774E1 0x0025 +#define PCI_DEVICE_ID_RENESAS_R8A779F0 0x0031 static DEFINE_IDA(pci_endpoint_test_ida); @@ -993,9 +997,21 @@ { PCI_DEVICE(PCI_VENDOR_ID_RENESAS, PCI_DEVICE_ID_RENESAS_R8A774B1),}, { PCI_DEVICE(PCI_VENDOR_ID_RENESAS, PCI_DEVICE_ID_RENESAS_R8A774C0),}, { PCI_DEVICE(PCI_VENDOR_ID_RENESAS, PCI_DEVICE_ID_RENESAS_R8A774E1),}, + { PCI_DEVICE(PCI_VENDOR_ID_RENESAS, PCI_DEVICE_ID_RENESAS_R8A779F0), + .driver_data = (kernel_ulong_t)&default_data, + }, { PCI_DEVICE(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_J721E), .driver_data = (kernel_ulong_t)&j721e_data, }, + { PCI_DEVICE(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_J7200), + .driver_data = (kernel_ulong_t)&j721e_data, + }, + { PCI_DEVICE(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_AM64), + .driver_data = (kernel_ulong_t)&j721e_data, + }, + { PCI_DEVICE(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_J721S2), + .driver_data = (kernel_ulong_t)&j721e_data, + }, { } }; MODULE_DEVICE_TABLE(pci, pci_endpoint_test_tbl); diff -Nru linux-5.10.197/drivers/misc/ti-st/st_core.c linux-5.10.205/drivers/misc/ti-st/st_core.c --- linux-5.10.197/drivers/misc/ti-st/st_core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/misc/ti-st/st_core.c 2023-12-20 14:44:42.000000000 +0000 @@ -15,6 +15,7 @@ #include #include +#include extern void st_kim_recv(void *, const unsigned char *, long); void st_int_recv(void *, const unsigned char *, long); @@ -436,7 +437,7 @@ case ST_LL_AWAKE_TO_ASLEEP: pr_err("ST LL is illegal state(%ld)," "purging received skb.", st_ll_getstate(st_gdata)); - kfree_skb(skb); + dev_kfree_skb_irq(skb); break; case ST_LL_ASLEEP: skb_queue_tail(&st_gdata->tx_waitq, skb); @@ -445,7 +446,7 @@ default: pr_err("ST LL is illegal state(%ld)," "purging received skb.", st_ll_getstate(st_gdata)); - kfree_skb(skb); + dev_kfree_skb_irq(skb); break; } @@ -499,7 +500,7 @@ spin_unlock_irqrestore(&st_data->lock, flags); break; } - kfree_skb(skb); + dev_kfree_skb_irq(skb); spin_unlock_irqrestore(&st_data->lock, flags); } /* if wake-up is set in another context- restart sending */ diff -Nru linux-5.10.197/drivers/mmc/core/block.c linux-5.10.205/drivers/mmc/core/block.c --- linux-5.10.197/drivers/mmc/core/block.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mmc/core/block.c 2023-12-20 14:44:42.000000000 +0000 @@ -1418,6 +1418,8 @@ blk_mq_requeue_request(req, true); else __blk_mq_end_request(req, BLK_STS_OK); + } else if (mq->in_recovery) { + blk_mq_requeue_request(req, true); } else { blk_mq_end_request(req, BLK_STS_OK); } diff -Nru linux-5.10.197/drivers/mmc/core/core.c linux-5.10.205/drivers/mmc/core/core.c --- linux-5.10.197/drivers/mmc/core/core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mmc/core/core.c 2023-12-20 14:44:42.000000000 +0000 @@ -547,22 +547,27 @@ host->cqe_ops->cqe_recovery_start(host); memset(&cmd, 0, sizeof(cmd)); - cmd.opcode = MMC_STOP_TRANSMISSION, - cmd.flags = MMC_RSP_R1B | MMC_CMD_AC, + cmd.opcode = MMC_STOP_TRANSMISSION; + cmd.flags = MMC_RSP_R1B | MMC_CMD_AC; cmd.flags &= ~MMC_RSP_CRC; /* Ignore CRC */ - cmd.busy_timeout = MMC_CQE_RECOVERY_TIMEOUT, - mmc_wait_for_cmd(host, &cmd, 0); + cmd.busy_timeout = MMC_CQE_RECOVERY_TIMEOUT; + mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES); + + mmc_poll_for_busy(host->card, MMC_CQE_RECOVERY_TIMEOUT, MMC_BUSY_IO); memset(&cmd, 0, sizeof(cmd)); cmd.opcode = MMC_CMDQ_TASK_MGMT; cmd.arg = 1; /* Discard entire queue */ cmd.flags = MMC_RSP_R1B | MMC_CMD_AC; cmd.flags &= ~MMC_RSP_CRC; /* Ignore CRC */ - cmd.busy_timeout = MMC_CQE_RECOVERY_TIMEOUT, - err = mmc_wait_for_cmd(host, &cmd, 0); + cmd.busy_timeout = MMC_CQE_RECOVERY_TIMEOUT; + err = mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES); host->cqe_ops->cqe_recovery_finish(host); + if (err) + err = mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES); + mmc_retune_release(host); return err; diff -Nru linux-5.10.197/drivers/mmc/core/mmc_ops.c linux-5.10.205/drivers/mmc/core/mmc_ops.c --- linux-5.10.197/drivers/mmc/core/mmc_ops.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mmc/core/mmc_ops.c 2023-12-20 14:44:42.000000000 +0000 @@ -452,7 +452,7 @@ u32 status = 0; int err; - if (host->ops->card_busy) { + if (busy_cmd != MMC_BUSY_IO && host->ops->card_busy) { *busy = host->ops->card_busy(host); return 0; } @@ -473,6 +473,7 @@ err = R1_STATUS(status) ? -EIO : 0; break; case MMC_BUSY_HPI: + case MMC_BUSY_IO: break; default: err = -EINVAL; diff -Nru linux-5.10.197/drivers/mmc/core/mmc_ops.h linux-5.10.205/drivers/mmc/core/mmc_ops.h --- linux-5.10.197/drivers/mmc/core/mmc_ops.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mmc/core/mmc_ops.h 2023-12-20 14:44:42.000000000 +0000 @@ -14,6 +14,7 @@ MMC_BUSY_CMD6, MMC_BUSY_ERASE, MMC_BUSY_HPI, + MMC_BUSY_IO, }; struct mmc_host; diff -Nru linux-5.10.197/drivers/mmc/core/regulator.c linux-5.10.205/drivers/mmc/core/regulator.c --- linux-5.10.197/drivers/mmc/core/regulator.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mmc/core/regulator.c 2023-12-20 14:44:42.000000000 +0000 @@ -271,3 +271,44 @@ return 0; } EXPORT_SYMBOL_GPL(mmc_regulator_get_supply); + +/** + * mmc_regulator_enable_vqmmc - enable VQMMC regulator for a host + * @mmc: the host to regulate + * + * Returns 0 or errno. Enables the regulator for vqmmc. + * Keeps track of the enable status for ensuring that calls to + * regulator_enable/disable are balanced. + */ +int mmc_regulator_enable_vqmmc(struct mmc_host *mmc) +{ + int ret = 0; + + if (!IS_ERR(mmc->supply.vqmmc) && !mmc->vqmmc_enabled) { + ret = regulator_enable(mmc->supply.vqmmc); + if (ret < 0) + dev_err(mmc_dev(mmc), "enabling vqmmc regulator failed\n"); + else + mmc->vqmmc_enabled = true; + } + + return ret; +} +EXPORT_SYMBOL_GPL(mmc_regulator_enable_vqmmc); + +/** + * mmc_regulator_disable_vqmmc - disable VQMMC regulator for a host + * @mmc: the host to regulate + * + * Returns 0 or errno. Disables the regulator for vqmmc. + * Keeps track of the enable status for ensuring that calls to + * regulator_enable/disable are balanced. + */ +void mmc_regulator_disable_vqmmc(struct mmc_host *mmc) +{ + if (!IS_ERR(mmc->supply.vqmmc) && mmc->vqmmc_enabled) { + regulator_disable(mmc->supply.vqmmc); + mmc->vqmmc_enabled = false; + } +} +EXPORT_SYMBOL_GPL(mmc_regulator_disable_vqmmc); diff -Nru linux-5.10.197/drivers/mmc/core/sdio.c linux-5.10.205/drivers/mmc/core/sdio.c --- linux-5.10.197/drivers/mmc/core/sdio.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mmc/core/sdio.c 2023-12-20 14:44:42.000000000 +0000 @@ -1075,8 +1075,14 @@ } err = mmc_sdio_reinit_card(host); } else if (mmc_card_wake_sdio_irq(host)) { - /* We may have switched to 1-bit mode during suspend */ + /* + * We may have switched to 1-bit mode during suspend, + * need to hold retuning, because tuning only supprt + * 4-bit mode or 8 bit mode. + */ + mmc_retune_hold_now(host); err = sdio_enable_4bit_bus(host->card); + mmc_retune_release(host); } if (err) diff -Nru linux-5.10.197/drivers/mmc/host/cqhci.c linux-5.10.205/drivers/mmc/host/cqhci.c --- linux-5.10.197/drivers/mmc/host/cqhci.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mmc/host/cqhci.c 2023-12-20 14:44:42.000000000 +0000 @@ -890,8 +890,8 @@ ret = cqhci_tasks_cleared(cq_host); if (!ret) - pr_debug("%s: cqhci: Failed to clear tasks\n", - mmc_hostname(mmc)); + pr_warn("%s: cqhci: Failed to clear tasks\n", + mmc_hostname(mmc)); return ret; } @@ -924,7 +924,7 @@ ret = cqhci_halted(cq_host); if (!ret) - pr_debug("%s: cqhci: Failed to halt\n", mmc_hostname(mmc)); + pr_warn("%s: cqhci: Failed to halt\n", mmc_hostname(mmc)); return ret; } @@ -932,10 +932,10 @@ /* * After halting we expect to be able to use the command line. We interpret the * failure to halt to mean the data lines might still be in use (and the upper - * layers will need to send a STOP command), so we set the timeout based on a - * generous command timeout. + * layers will need to send a STOP command), however failing to halt complicates + * the recovery, so set a timeout that would reasonably allow I/O to complete. */ -#define CQHCI_START_HALT_TIMEOUT 5 +#define CQHCI_START_HALT_TIMEOUT 500 static void cqhci_recovery_start(struct mmc_host *mmc) { @@ -1023,28 +1023,28 @@ ok = cqhci_halt(mmc, CQHCI_FINISH_HALT_TIMEOUT); - if (!cqhci_clear_all_tasks(mmc, CQHCI_CLEAR_TIMEOUT)) - ok = false; - /* * The specification contradicts itself, by saying that tasks cannot be * cleared if CQHCI does not halt, but if CQHCI does not halt, it should * be disabled/re-enabled, but not to disable before clearing tasks. * Have a go anyway. */ - if (!ok) { - pr_debug("%s: cqhci: disable / re-enable\n", mmc_hostname(mmc)); - cqcfg = cqhci_readl(cq_host, CQHCI_CFG); - cqcfg &= ~CQHCI_ENABLE; - cqhci_writel(cq_host, cqcfg, CQHCI_CFG); - cqcfg |= CQHCI_ENABLE; - cqhci_writel(cq_host, cqcfg, CQHCI_CFG); - /* Be sure that there are no tasks */ - ok = cqhci_halt(mmc, CQHCI_FINISH_HALT_TIMEOUT); - if (!cqhci_clear_all_tasks(mmc, CQHCI_CLEAR_TIMEOUT)) - ok = false; - WARN_ON(!ok); - } + if (!cqhci_clear_all_tasks(mmc, CQHCI_CLEAR_TIMEOUT)) + ok = false; + + /* Disable to make sure tasks really are cleared */ + cqcfg = cqhci_readl(cq_host, CQHCI_CFG); + cqcfg &= ~CQHCI_ENABLE; + cqhci_writel(cq_host, cqcfg, CQHCI_CFG); + + cqcfg = cqhci_readl(cq_host, CQHCI_CFG); + cqcfg |= CQHCI_ENABLE; + cqhci_writel(cq_host, cqcfg, CQHCI_CFG); + + cqhci_halt(mmc, CQHCI_FINISH_HALT_TIMEOUT); + + if (!ok) + cqhci_clear_all_tasks(mmc, CQHCI_CLEAR_TIMEOUT); cqhci_recover_mrqs(cq_host); diff -Nru linux-5.10.197/drivers/mmc/host/meson-gx-mmc.c linux-5.10.205/drivers/mmc/host/meson-gx-mmc.c --- linux-5.10.197/drivers/mmc/host/meson-gx-mmc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mmc/host/meson-gx-mmc.c 2023-12-20 14:44:42.000000000 +0000 @@ -800,7 +800,6 @@ cmd_cfg |= FIELD_PREP(CMD_CFG_CMD_INDEX_MASK, cmd->opcode); cmd_cfg |= CMD_CFG_OWNER; /* owned by CPU */ - cmd_cfg |= CMD_CFG_ERROR; /* stop in case of error */ meson_mmc_set_response_bits(cmd, &cmd_cfg); diff -Nru linux-5.10.197/drivers/mmc/host/renesas_sdhi_core.c linux-5.10.205/drivers/mmc/host/renesas_sdhi_core.c --- linux-5.10.197/drivers/mmc/host/renesas_sdhi_core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mmc/host/renesas_sdhi_core.c 2023-12-20 14:44:42.000000000 +0000 @@ -556,20 +556,22 @@ { struct renesas_sdhi *priv = host_to_priv(host); - renesas_sdhi_reset_scc(host, priv); - renesas_sdhi_reset_hs400_mode(host, priv); - priv->needs_adjust_hs400 = false; - - sd_ctrl_write16(host, CTL_SD_CARD_CLK_CTL, CLK_CTL_SCLKEN | - sd_ctrl_read16(host, CTL_SD_CARD_CLK_CTL)); - - sd_scc_write32(host, priv, SH_MOBILE_SDHI_SCC_RVSCNTL, - ~SH_MOBILE_SDHI_SCC_RVSCNTL_RVSEN & - sd_scc_read32(host, priv, SH_MOBILE_SDHI_SCC_RVSCNTL)); + if (priv->scc_ctl) { + renesas_sdhi_reset_scc(host, priv); + renesas_sdhi_reset_hs400_mode(host, priv); + priv->needs_adjust_hs400 = false; + + sd_ctrl_write16(host, CTL_SD_CARD_CLK_CTL, CLK_CTL_SCLKEN | + sd_ctrl_read16(host, CTL_SD_CARD_CLK_CTL)); + + sd_scc_write32(host, priv, SH_MOBILE_SDHI_SCC_RVSCNTL, + ~SH_MOBILE_SDHI_SCC_RVSCNTL_RVSEN & + sd_scc_read32(host, priv, SH_MOBILE_SDHI_SCC_RVSCNTL)); + } if (host->pdata->flags & TMIO_MMC_MIN_RCAR2) sd_ctrl_write32_as_16_and_16(host, CTL_IRQ_MASK, - TMIO_MASK_INIT_RCAR2); + TMIO_MASK_ALL_RCAR2); } #define SH_MOBILE_SDHI_MIN_TAP_ROW 3 @@ -1010,11 +1012,10 @@ host->ops.start_signal_voltage_switch = renesas_sdhi_start_signal_voltage_switch; host->sdcard_irq_setbit_mask = TMIO_STAT_ALWAYS_SET_27; - - if (of_data && of_data->scc_offset) { - priv->scc_ctl = host->ctl + of_data->scc_offset; - host->reset = renesas_sdhi_reset; - } + host->sdcard_irq_mask_all = TMIO_MASK_ALL_RCAR2; + host->reset = renesas_sdhi_reset; + } else { + host->sdcard_irq_mask_all = TMIO_MASK_ALL; } /* Orginally registers were 16 bit apart, could be 32 or 64 nowadays */ @@ -1070,10 +1071,6 @@ quirks->hs400_calib_table + 1); } - ret = tmio_mmc_host_probe(host); - if (ret < 0) - goto edisclk; - /* Enable tuning iff we have an SCC and a supported mode */ if (of_data && of_data->scc_offset && (host->mmc->caps & MMC_CAP_UHS_SDR104 || @@ -1098,6 +1095,7 @@ if (!hit) dev_warn(&host->pdev->dev, "Unknown clock rate for tuning\n"); + priv->scc_ctl = host->ctl + of_data->scc_offset; host->check_retune = renesas_sdhi_check_scc_error; host->ops.execute_tuning = renesas_sdhi_execute_tuning; host->ops.prepare_hs400_tuning = renesas_sdhi_prepare_hs400_tuning; @@ -1105,6 +1103,8 @@ host->ops.hs400_complete = renesas_sdhi_hs400_complete; } + sd_ctrl_write32_as_16_and_16(host, CTL_IRQ_MASK, host->sdcard_irq_mask_all); + num_irqs = platform_irq_count(pdev); if (num_irqs < 0) { ret = num_irqs; @@ -1130,6 +1130,10 @@ goto eirq; } + ret = tmio_mmc_host_probe(host); + if (ret < 0) + goto edisclk; + dev_info(&pdev->dev, "%s base at %pa, max clock rate %u MHz\n", mmc_hostname(host->mmc), &res->start, host->mmc->f_max / 1000000); diff -Nru linux-5.10.197/drivers/mmc/host/sdhci-sprd.c linux-5.10.205/drivers/mmc/host/sdhci-sprd.c --- linux-5.10.197/drivers/mmc/host/sdhci-sprd.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mmc/host/sdhci-sprd.c 2023-12-20 14:44:42.000000000 +0000 @@ -392,12 +392,33 @@ mmc_request_done(host->mmc, mrq); } +static void sdhci_sprd_set_power(struct sdhci_host *host, unsigned char mode, + unsigned short vdd) +{ + struct mmc_host *mmc = host->mmc; + + switch (mode) { + case MMC_POWER_OFF: + mmc_regulator_set_ocr(host->mmc, mmc->supply.vmmc, 0); + + mmc_regulator_disable_vqmmc(mmc); + break; + case MMC_POWER_ON: + mmc_regulator_enable_vqmmc(mmc); + break; + case MMC_POWER_UP: + mmc_regulator_set_ocr(host->mmc, mmc->supply.vmmc, vdd); + break; + } +} + static struct sdhci_ops sdhci_sprd_ops = { .read_l = sdhci_sprd_readl, .write_l = sdhci_sprd_writel, .write_w = sdhci_sprd_writew, .write_b = sdhci_sprd_writeb, .set_clock = sdhci_sprd_set_clock, + .set_power = sdhci_sprd_set_power, .get_max_clock = sdhci_sprd_get_max_clock, .get_min_clock = sdhci_sprd_get_min_clock, .set_bus_width = sdhci_set_bus_width, @@ -663,6 +684,10 @@ host->caps1 &= ~(SDHCI_SUPPORT_SDR50 | SDHCI_SUPPORT_SDR104 | SDHCI_SUPPORT_DDR50); + ret = mmc_regulator_get_supply(host->mmc); + if (ret) + goto pm_runtime_disable; + ret = sdhci_setup_host(host); if (ret) goto pm_runtime_disable; diff -Nru linux-5.10.197/drivers/mmc/host/sdhci_am654.c linux-5.10.205/drivers/mmc/host/sdhci_am654.c --- linux-5.10.197/drivers/mmc/host/sdhci_am654.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mmc/host/sdhci_am654.c 2023-12-20 14:44:42.000000000 +0000 @@ -600,7 +600,7 @@ return 0; } - for (i = MMC_TIMING_MMC_HS; i <= MMC_TIMING_MMC_HS400; i++) { + for (i = MMC_TIMING_LEGACY; i <= MMC_TIMING_MMC_HS400; i++) { ret = device_property_read_u32(dev, td[i].otap_binding, &sdhci_am654->otap_del_sel[i]); diff -Nru linux-5.10.197/drivers/mmc/host/tmio_mmc.h linux-5.10.205/drivers/mmc/host/tmio_mmc.h --- linux-5.10.197/drivers/mmc/host/tmio_mmc.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mmc/host/tmio_mmc.h 2023-12-20 14:44:42.000000000 +0000 @@ -97,8 +97,8 @@ /* Define some IRQ masks */ /* This is the mask used at reset by the chip */ -#define TMIO_MASK_INIT_RCAR2 0x8b7f031d /* Initial value for R-Car Gen2+ */ #define TMIO_MASK_ALL 0x837f031d +#define TMIO_MASK_ALL_RCAR2 0x8b7f031d #define TMIO_MASK_READOP (TMIO_STAT_RXRDY | TMIO_STAT_DATAEND) #define TMIO_MASK_WRITEOP (TMIO_STAT_TXRQ | TMIO_STAT_DATAEND) #define TMIO_MASK_CMD (TMIO_STAT_CMDRESPEND | TMIO_STAT_CMDTIMEOUT | \ @@ -161,6 +161,7 @@ u32 sdio_irq_mask; unsigned int clk_cache; u32 sdcard_irq_setbit_mask; + u32 sdcard_irq_mask_all; spinlock_t lock; /* protect host private data */ unsigned long last_req_ts; diff -Nru linux-5.10.197/drivers/mmc/host/tmio_mmc_core.c linux-5.10.205/drivers/mmc/host/tmio_mmc_core.c --- linux-5.10.197/drivers/mmc/host/tmio_mmc_core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mmc/host/tmio_mmc_core.c 2023-12-20 14:44:42.000000000 +0000 @@ -1158,7 +1158,9 @@ tmio_mmc_reset(_host); _host->sdcard_irq_mask = sd_ctrl_read16_and_16_as_32(_host, CTL_IRQ_MASK); - tmio_mmc_disable_mmc_irqs(_host, TMIO_MASK_ALL); + if (!_host->sdcard_irq_mask_all) + _host->sdcard_irq_mask_all = TMIO_MASK_ALL; + tmio_mmc_disable_mmc_irqs(_host, _host->sdcard_irq_mask_all); if (_host->native_hotplug) tmio_mmc_enable_mmc_irqs(_host, @@ -1212,7 +1214,7 @@ cancel_work_sync(&host->done); cancel_delayed_work_sync(&host->delayed_reset_work); tmio_mmc_release_dma(host); - tmio_mmc_disable_mmc_irqs(host, TMIO_MASK_ALL); + tmio_mmc_disable_mmc_irqs(host, host->sdcard_irq_mask_all); if (host->native_hotplug) pm_runtime_put_noidle(&pdev->dev); @@ -1242,7 +1244,7 @@ { struct tmio_mmc_host *host = dev_get_drvdata(dev); - tmio_mmc_disable_mmc_irqs(host, TMIO_MASK_ALL); + tmio_mmc_disable_mmc_irqs(host, host->sdcard_irq_mask_all); if (host->clk_cache) host->set_clock(host, 0); diff -Nru linux-5.10.197/drivers/mmc/host/vub300.c linux-5.10.205/drivers/mmc/host/vub300.c --- linux-5.10.197/drivers/mmc/host/vub300.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mmc/host/vub300.c 2023-12-20 14:44:42.000000000 +0000 @@ -2311,6 +2311,7 @@ vub300->read_only = (0x0010 & vub300->system_port_status.port_flags) ? 1 : 0; } else { + retval = -EINVAL; goto error5; } usb_set_intfdata(interface, vub300); diff -Nru linux-5.10.197/drivers/mtd/chips/cfi_cmdset_0001.c linux-5.10.205/drivers/mtd/chips/cfi_cmdset_0001.c --- linux-5.10.197/drivers/mtd/chips/cfi_cmdset_0001.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mtd/chips/cfi_cmdset_0001.c 2023-12-20 14:44:42.000000000 +0000 @@ -420,9 +420,25 @@ extra_size = 0; /* Protection Register info */ - if (extp->NumProtectionFields) + if (extp->NumProtectionFields) { + struct cfi_intelext_otpinfo *otp = + (struct cfi_intelext_otpinfo *)&extp->extra[0]; + extra_size += (extp->NumProtectionFields - 1) * - sizeof(struct cfi_intelext_otpinfo); + sizeof(struct cfi_intelext_otpinfo); + + if (extp_size >= sizeof(*extp) + extra_size) { + int i; + + /* Do some byteswapping if necessary */ + for (i = 0; i < extp->NumProtectionFields - 1; i++) { + otp->ProtRegAddr = le32_to_cpu(otp->ProtRegAddr); + otp->FactGroups = le16_to_cpu(otp->FactGroups); + otp->UserGroups = le16_to_cpu(otp->UserGroups); + otp++; + } + } + } } if (extp->MinorVersion >= '1') { diff -Nru linux-5.10.197/drivers/mtd/maps/physmap-core.c linux-5.10.205/drivers/mtd/maps/physmap-core.c --- linux-5.10.197/drivers/mtd/maps/physmap-core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mtd/maps/physmap-core.c 2023-12-20 14:44:42.000000000 +0000 @@ -556,6 +556,17 @@ if (info->probe_type) { info->mtds[i] = do_map_probe(info->probe_type, &info->maps[i]); + + /* Fall back to mapping region as ROM */ + if (!info->mtds[i] && IS_ENABLED(CONFIG_MTD_ROM) && + strcmp(info->probe_type, "map_rom")) { + dev_warn(&dev->dev, + "map_probe() failed for type %s\n", + info->probe_type); + + info->mtds[i] = do_map_probe("map_rom", + &info->maps[i]); + } } else { int j; diff -Nru linux-5.10.197/drivers/mtd/nand/raw/arasan-nand-controller.c linux-5.10.205/drivers/mtd/nand/raw/arasan-nand-controller.c --- linux-5.10.197/drivers/mtd/nand/raw/arasan-nand-controller.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mtd/nand/raw/arasan-nand-controller.c 2023-12-20 14:44:42.000000000 +0000 @@ -451,6 +451,7 @@ struct mtd_info *mtd = nand_to_mtd(chip); unsigned int len = mtd->writesize + (oob_required ? mtd->oobsize : 0); dma_addr_t dma_addr; + u8 status; int ret; struct anfc_op nfc_op = { .pkt_reg = @@ -497,10 +498,21 @@ } /* Spare data is not protected */ - if (oob_required) + if (oob_required) { ret = nand_write_oob_std(chip, page); + if (ret) + return ret; + } + + /* Check write status on the chip side */ + ret = nand_status_op(chip, &status); + if (ret) + return ret; + + if (status & NAND_STATUS_FAIL) + return -EIO; - return ret; + return 0; } static int anfc_sel_write_page_hw_ecc(struct nand_chip *chip, const u8 *buf, diff -Nru linux-5.10.197/drivers/mtd/nand/raw/marvell_nand.c linux-5.10.205/drivers/mtd/nand/raw/marvell_nand.c --- linux-5.10.197/drivers/mtd/nand/raw/marvell_nand.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mtd/nand/raw/marvell_nand.c 2023-12-20 14:44:42.000000000 +0000 @@ -1148,6 +1148,7 @@ .ndcb[2] = NDCB2_ADDR5_PAGE(page), }; unsigned int oob_bytes = lt->spare_bytes + (raw ? lt->ecc_bytes : 0); + u8 status; int ret; /* NFCv2 needs more information about the operation being executed */ @@ -1181,7 +1182,18 @@ ret = marvell_nfc_wait_op(chip, PSEC_TO_MSEC(sdr->tPROG_max)); - return ret; + if (ret) + return ret; + + /* Check write status on the chip side */ + ret = nand_status_op(chip, &status); + if (ret) + return ret; + + if (status & NAND_STATUS_FAIL) + return -EIO; + + return 0; } static int marvell_nfc_hw_ecc_hmg_write_page_raw(struct nand_chip *chip, @@ -1610,6 +1622,7 @@ int data_len = lt->data_bytes; int spare_len = lt->spare_bytes; int chunk, ret; + u8 status; marvell_nfc_select_target(chip, chip->cur_cs); @@ -1646,6 +1659,14 @@ if (ret) return ret; + /* Check write status on the chip side */ + ret = nand_status_op(chip, &status); + if (ret) + return ret; + + if (status & NAND_STATUS_FAIL) + return -EIO; + return 0; } diff -Nru linux-5.10.197/drivers/mtd/nand/raw/qcom_nandc.c linux-5.10.205/drivers/mtd/nand/raw/qcom_nandc.c --- linux-5.10.197/drivers/mtd/nand/raw/qcom_nandc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mtd/nand/raw/qcom_nandc.c 2023-12-20 14:44:42.000000000 +0000 @@ -2996,7 +2996,7 @@ err_aon_clk: clk_disable_unprepare(nandc->core_clk); err_core_clk: - dma_unmap_resource(dev, res->start, resource_size(res), + dma_unmap_resource(dev, nandc->base_dma, resource_size(res), DMA_BIDIRECTIONAL, 0); return ret; } diff -Nru linux-5.10.197/drivers/mtd/nand/spi/micron.c linux-5.10.205/drivers/mtd/nand/spi/micron.c --- linux-5.10.197/drivers/mtd/nand/spi/micron.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mtd/nand/spi/micron.c 2023-12-20 14:44:42.000000000 +0000 @@ -12,7 +12,7 @@ #define SPINAND_MFR_MICRON 0x2c -#define MICRON_STATUS_ECC_MASK GENMASK(7, 4) +#define MICRON_STATUS_ECC_MASK GENMASK(6, 4) #define MICRON_STATUS_ECC_NO_BITFLIPS (0 << 4) #define MICRON_STATUS_ECC_1TO3_BITFLIPS (1 << 4) #define MICRON_STATUS_ECC_4TO6_BITFLIPS (3 << 4) diff -Nru linux-5.10.197/drivers/mtd/ubi/build.c linux-5.10.205/drivers/mtd/ubi/build.c --- linux-5.10.197/drivers/mtd/ubi/build.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/mtd/ubi/build.c 2023-12-20 14:44:42.000000000 +0000 @@ -889,6 +889,13 @@ return -EINVAL; } + /* UBI cannot work on flashes with zero erasesize. */ + if (!mtd->erasesize) { + pr_err("ubi: refuse attaching mtd%d - zero erasesize flash is not supported\n", + mtd->index); + return -EINVAL; + } + if (ubi_num == UBI_DEV_NUM_AUTO) { /* Search for an empty slot in the @ubi_devices array */ for (ubi_num = 0; ubi_num < UBI_MAX_DEVICES; ubi_num++) diff -Nru linux-5.10.197/drivers/net/arcnet/arcdevice.h linux-5.10.205/drivers/net/arcnet/arcdevice.h --- linux-5.10.197/drivers/net/arcnet/arcdevice.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/arcnet/arcdevice.h 2023-12-20 14:44:42.000000000 +0000 @@ -186,6 +186,8 @@ #define ARC_IS_5MBIT 1 /* card default speed is 5MBit */ #define ARC_CAN_10MBIT 2 /* card uses COM20022, supporting 10MBit, but default is 2.5MBit. */ +#define ARC_HAS_LED 4 /* card has software controlled LEDs */ +#define ARC_HAS_ROTARY 8 /* card has rotary encoder */ /* information needed to define an encapsulation driver */ struct ArcProto { diff -Nru linux-5.10.197/drivers/net/arcnet/com20020-pci.c linux-5.10.205/drivers/net/arcnet/com20020-pci.c --- linux-5.10.197/drivers/net/arcnet/com20020-pci.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/arcnet/com20020-pci.c 2023-12-20 14:44:42.000000000 +0000 @@ -127,6 +127,8 @@ int i, ioaddr, ret; struct resource *r; + ret = 0; + if (pci_enable_device(pdev)) return -EIO; @@ -142,6 +144,8 @@ priv->ci = ci; mm = &ci->misc_map; + pci_set_drvdata(pdev, priv); + INIT_LIST_HEAD(&priv->list_dev); if (mm->size) { @@ -164,7 +168,7 @@ dev = alloc_arcdev(device); if (!dev) { ret = -ENOMEM; - goto out_port; + break; } dev->dev_port = i; @@ -181,7 +185,7 @@ pr_err("IO region %xh-%xh already allocated\n", ioaddr, ioaddr + cm->size - 1); ret = -EBUSY; - goto out_port; + goto err_free_arcdev; } /* Dummy access after Reset @@ -209,76 +213,79 @@ if (!strncmp(ci->name, "EAE PLX-PCI FB2", 15)) lp->backplane = 1; - /* Get the dev_id from the PLX rotary coder */ - if (!strncmp(ci->name, "EAE PLX-PCI MA1", 15)) - dev_id_mask = 0x3; - dev->dev_id = (inb(priv->misc + ci->rotary) >> 4) & dev_id_mask; - - snprintf(dev->name, sizeof(dev->name), "arc%d-%d", dev->dev_id, i); + if (ci->flags & ARC_HAS_ROTARY) { + /* Get the dev_id from the PLX rotary coder */ + if (!strncmp(ci->name, "EAE PLX-PCI MA1", 15)) + dev_id_mask = 0x3; + dev->dev_id = (inb(priv->misc + ci->rotary) >> 4) & dev_id_mask; + snprintf(dev->name, sizeof(dev->name), "arc%d-%d", dev->dev_id, i); + } if (arcnet_inb(ioaddr, COM20020_REG_R_STATUS) == 0xFF) { pr_err("IO address %Xh is empty!\n", ioaddr); ret = -EIO; - goto out_port; + goto err_free_arcdev; } if (com20020_check(dev)) { ret = -EIO; - goto out_port; + goto err_free_arcdev; } + ret = com20020_found(dev, IRQF_SHARED); + if (ret) + goto err_free_arcdev; + card = devm_kzalloc(&pdev->dev, sizeof(struct com20020_dev), GFP_KERNEL); if (!card) { ret = -ENOMEM; - goto out_port; + goto err_free_arcdev; } card->index = i; card->pci_priv = priv; - card->tx_led.brightness_set = led_tx_set; - card->tx_led.default_trigger = devm_kasprintf(&pdev->dev, - GFP_KERNEL, "arc%d-%d-tx", - dev->dev_id, i); - card->tx_led.name = devm_kasprintf(&pdev->dev, GFP_KERNEL, - "pci:green:tx:%d-%d", - dev->dev_id, i); - - card->tx_led.dev = &dev->dev; - card->recon_led.brightness_set = led_recon_set; - card->recon_led.default_trigger = devm_kasprintf(&pdev->dev, - GFP_KERNEL, "arc%d-%d-recon", - dev->dev_id, i); - card->recon_led.name = devm_kasprintf(&pdev->dev, GFP_KERNEL, - "pci:red:recon:%d-%d", - dev->dev_id, i); - card->recon_led.dev = &dev->dev; - card->dev = dev; - ret = devm_led_classdev_register(&pdev->dev, &card->tx_led); - if (ret) - goto out_port; + if (ci->flags & ARC_HAS_LED) { + card->tx_led.brightness_set = led_tx_set; + card->tx_led.default_trigger = devm_kasprintf(&pdev->dev, + GFP_KERNEL, "arc%d-%d-tx", + dev->dev_id, i); + card->tx_led.name = devm_kasprintf(&pdev->dev, GFP_KERNEL, + "pci:green:tx:%d-%d", + dev->dev_id, i); + + card->tx_led.dev = &dev->dev; + card->recon_led.brightness_set = led_recon_set; + card->recon_led.default_trigger = devm_kasprintf(&pdev->dev, + GFP_KERNEL, "arc%d-%d-recon", + dev->dev_id, i); + card->recon_led.name = devm_kasprintf(&pdev->dev, GFP_KERNEL, + "pci:red:recon:%d-%d", + dev->dev_id, i); + card->recon_led.dev = &dev->dev; + + ret = devm_led_classdev_register(&pdev->dev, &card->tx_led); + if (ret) + goto err_free_arcdev; + + ret = devm_led_classdev_register(&pdev->dev, &card->recon_led); + if (ret) + goto err_free_arcdev; - ret = devm_led_classdev_register(&pdev->dev, &card->recon_led); - if (ret) - goto out_port; - - dev_set_drvdata(&dev->dev, card); - - ret = com20020_found(dev, IRQF_SHARED); - if (ret) - goto out_port; - - devm_arcnet_led_init(dev, dev->dev_id, i); + dev_set_drvdata(&dev->dev, card); + devm_arcnet_led_init(dev, dev->dev_id, i); + } + card->dev = dev; list_add(&card->list, &priv->list_dev); - } - - pci_set_drvdata(pdev, priv); + continue; - return 0; - -out_port: - com20020pci_remove(pdev); +err_free_arcdev: + free_arcdev(dev); + break; + } + if (ret) + com20020pci_remove(pdev); return ret; } @@ -325,7 +332,7 @@ }; static struct com20020_pci_card_info card_info_sohard = { - .name = "PLX-PCI", + .name = "SOHARD SH ARC-PCI", .devcount = 1, /* SOHARD needs PCI base addr 4 */ .chan_map_tbl = { @@ -360,7 +367,7 @@ }, }, .rotary = 0x0, - .flags = ARC_CAN_10MBIT, + .flags = ARC_HAS_ROTARY | ARC_HAS_LED | ARC_CAN_10MBIT, }; static struct com20020_pci_card_info card_info_eae_ma1 = { @@ -392,7 +399,7 @@ }, }, .rotary = 0x0, - .flags = ARC_CAN_10MBIT, + .flags = ARC_HAS_ROTARY | ARC_HAS_LED | ARC_CAN_10MBIT, }; static struct com20020_pci_card_info card_info_eae_fb2 = { @@ -417,7 +424,7 @@ }, }, .rotary = 0x0, - .flags = ARC_CAN_10MBIT, + .flags = ARC_HAS_ROTARY | ARC_HAS_LED | ARC_CAN_10MBIT, }; static const struct pci_device_id com20020pci_id_table[] = { diff -Nru linux-5.10.197/drivers/net/bonding/bond_main.c linux-5.10.205/drivers/net/bonding/bond_main.c --- linux-5.10.197/drivers/net/bonding/bond_main.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/bonding/bond_main.c 2023-12-20 14:44:42.000000000 +0000 @@ -1433,6 +1433,10 @@ static void bond_setup_by_slave(struct net_device *bond_dev, struct net_device *slave_dev) { + bool was_up = !!(bond_dev->flags & IFF_UP); + + dev_close(bond_dev); + bond_dev->header_ops = slave_dev->header_ops; bond_dev->type = slave_dev->type; @@ -1447,6 +1451,8 @@ bond_dev->flags &= ~(IFF_BROADCAST | IFF_MULTICAST); bond_dev->flags |= (IFF_POINTOPOINT | IFF_NOARP); } + if (was_up) + dev_open(bond_dev, NULL); } /* On bonding slaves other than the currently active slave, suppress diff -Nru linux-5.10.197/drivers/net/can/dev/dev.c linux-5.10.205/drivers/net/can/dev/dev.c --- linux-5.10.197/drivers/net/can/dev/dev.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/can/dev/dev.c 2023-12-20 14:44:42.000000000 +0000 @@ -578,7 +578,8 @@ struct can_frame *cf; int err; - BUG_ON(netif_carrier_ok(dev)); + if (netif_carrier_ok(dev)) + netdev_err(dev, "Attempt to restart for bus-off recovery, but carrier is OK?\n"); /* No synchronization needed because the device is bus-off and * no messages can come in or go out. @@ -602,11 +603,12 @@ priv->can_stats.restarts++; /* Now restart the device */ - err = priv->do_set_mode(dev, CAN_MODE_START); - netif_carrier_on(dev); - if (err) + err = priv->do_set_mode(dev, CAN_MODE_START); + if (err) { netdev_err(dev, "Error %d during restart", err); + netif_carrier_off(dev); + } } static void can_restart_work(struct work_struct *work) diff -Nru linux-5.10.197/drivers/net/dsa/bcm_sf2.c linux-5.10.205/drivers/net/dsa/bcm_sf2.c --- linux-5.10.197/drivers/net/dsa/bcm_sf2.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/dsa/bcm_sf2.c 2023-12-20 14:44:42.000000000 +0000 @@ -497,17 +497,16 @@ dn = of_find_compatible_node(NULL, NULL, "brcm,unimac-mdio"); priv->master_mii_bus = of_mdio_find_bus(dn); if (!priv->master_mii_bus) { - of_node_put(dn); - return -EPROBE_DEFER; + err = -EPROBE_DEFER; + goto err_of_node_put; } - get_device(&priv->master_mii_bus->dev); priv->master_mii_dn = dn; priv->slave_mii_bus = mdiobus_alloc(); if (!priv->slave_mii_bus) { - of_node_put(dn); - return -ENOMEM; + err = -ENOMEM; + goto err_put_master_mii_bus_dev; } priv->slave_mii_bus->priv = priv; @@ -564,11 +563,17 @@ } err = mdiobus_register(priv->slave_mii_bus); - if (err && dn) { - mdiobus_free(priv->slave_mii_bus); - of_node_put(dn); - } + if (err && dn) + goto err_free_slave_mii_bus; + + return 0; +err_free_slave_mii_bus: + mdiobus_free(priv->slave_mii_bus); +err_put_master_mii_bus_dev: + put_device(&priv->master_mii_bus->dev); +err_of_node_put: + of_node_put(dn); return err; } @@ -576,6 +581,7 @@ { mdiobus_unregister(priv->slave_mii_bus); mdiobus_free(priv->slave_mii_bus); + put_device(&priv->master_mii_bus->dev); of_node_put(priv->master_mii_dn); } diff -Nru linux-5.10.197/drivers/net/dsa/lan9303_mdio.c linux-5.10.205/drivers/net/dsa/lan9303_mdio.c --- linux-5.10.197/drivers/net/dsa/lan9303_mdio.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/dsa/lan9303_mdio.c 2023-12-20 14:44:42.000000000 +0000 @@ -32,7 +32,7 @@ struct lan9303_mdio *sw_dev = (struct lan9303_mdio *)ctx; reg <<= 2; /* reg num to offset */ - mutex_lock(&sw_dev->device->bus->mdio_lock); + mutex_lock_nested(&sw_dev->device->bus->mdio_lock, MDIO_MUTEX_NESTED); lan9303_mdio_real_write(sw_dev->device, reg, val & 0xffff); lan9303_mdio_real_write(sw_dev->device, reg + 2, (val >> 16) & 0xffff); mutex_unlock(&sw_dev->device->bus->mdio_lock); @@ -50,7 +50,7 @@ struct lan9303_mdio *sw_dev = (struct lan9303_mdio *)ctx; reg <<= 2; /* reg num to offset */ - mutex_lock(&sw_dev->device->bus->mdio_lock); + mutex_lock_nested(&sw_dev->device->bus->mdio_lock, MDIO_MUTEX_NESTED); *val = lan9303_mdio_real_read(sw_dev->device, reg); *val |= (lan9303_mdio_real_read(sw_dev->device, reg + 2) << 16); mutex_unlock(&sw_dev->device->bus->mdio_lock); diff -Nru linux-5.10.197/drivers/net/dsa/mv88e6xxx/chip.c linux-5.10.205/drivers/net/dsa/mv88e6xxx/chip.c --- linux-5.10.197/drivers/net/dsa/mv88e6xxx/chip.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/dsa/mv88e6xxx/chip.c 2023-12-20 14:44:42.000000000 +0000 @@ -2316,14 +2316,16 @@ * from the wrong location resulting in the switch booting * to wrong mode and inoperable. */ - mv88e6xxx_g1_wait_eeprom_done(chip); + if (chip->info->ops->get_eeprom) + mv88e6xxx_g2_eeprom_wait(chip); gpiod_set_value_cansleep(gpiod, 1); usleep_range(10000, 20000); gpiod_set_value_cansleep(gpiod, 0); usleep_range(10000, 20000); - mv88e6xxx_g1_wait_eeprom_done(chip); + if (chip->info->ops->get_eeprom) + mv88e6xxx_g2_eeprom_wait(chip); } } diff -Nru linux-5.10.197/drivers/net/dsa/mv88e6xxx/global1.c linux-5.10.205/drivers/net/dsa/mv88e6xxx/global1.c --- linux-5.10.197/drivers/net/dsa/mv88e6xxx/global1.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/dsa/mv88e6xxx/global1.c 2023-12-20 14:44:42.000000000 +0000 @@ -75,37 +75,6 @@ return mv88e6xxx_g1_wait_bit(chip, MV88E6XXX_G1_STS, bit, 1); } -void mv88e6xxx_g1_wait_eeprom_done(struct mv88e6xxx_chip *chip) -{ - const unsigned long timeout = jiffies + 1 * HZ; - u16 val; - int err; - - /* Wait up to 1 second for the switch to finish reading the - * EEPROM. - */ - while (time_before(jiffies, timeout)) { - err = mv88e6xxx_g1_read(chip, MV88E6XXX_G1_STS, &val); - if (err) { - dev_err(chip->dev, "Error reading status"); - return; - } - - /* If the switch is still resetting, it may not - * respond on the bus, and so MDIO read returns - * 0xffff. Differentiate between that, and waiting for - * the EEPROM to be done by bit 0 being set. - */ - if (val != 0xffff && - val & BIT(MV88E6XXX_G1_STS_IRQ_EEPROM_DONE)) - return; - - usleep_range(1000, 2000); - } - - dev_err(chip->dev, "Timeout waiting for EEPROM done"); -} - /* Offset 0x01: Switch MAC Address Register Bytes 0 & 1 * Offset 0x02: Switch MAC Address Register Bytes 2 & 3 * Offset 0x03: Switch MAC Address Register Bytes 4 & 5 diff -Nru linux-5.10.197/drivers/net/dsa/mv88e6xxx/global1.h linux-5.10.205/drivers/net/dsa/mv88e6xxx/global1.h --- linux-5.10.197/drivers/net/dsa/mv88e6xxx/global1.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/dsa/mv88e6xxx/global1.h 2023-12-20 14:44:42.000000000 +0000 @@ -278,7 +278,6 @@ int mv88e6185_g1_reset(struct mv88e6xxx_chip *chip); int mv88e6352_g1_reset(struct mv88e6xxx_chip *chip); int mv88e6250_g1_reset(struct mv88e6xxx_chip *chip); -void mv88e6xxx_g1_wait_eeprom_done(struct mv88e6xxx_chip *chip); int mv88e6185_g1_ppu_enable(struct mv88e6xxx_chip *chip); int mv88e6185_g1_ppu_disable(struct mv88e6xxx_chip *chip); diff -Nru linux-5.10.197/drivers/net/dsa/mv88e6xxx/global2.c linux-5.10.205/drivers/net/dsa/mv88e6xxx/global2.c --- linux-5.10.197/drivers/net/dsa/mv88e6xxx/global2.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/dsa/mv88e6xxx/global2.c 2023-12-20 14:44:42.000000000 +0000 @@ -323,7 +323,7 @@ * Offset 0x15: EEPROM Addr (for 8-bit data access) */ -static int mv88e6xxx_g2_eeprom_wait(struct mv88e6xxx_chip *chip) +int mv88e6xxx_g2_eeprom_wait(struct mv88e6xxx_chip *chip) { int bit = __bf_shf(MV88E6XXX_G2_EEPROM_CMD_BUSY); int err; diff -Nru linux-5.10.197/drivers/net/dsa/mv88e6xxx/global2.h linux-5.10.205/drivers/net/dsa/mv88e6xxx/global2.h --- linux-5.10.197/drivers/net/dsa/mv88e6xxx/global2.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/dsa/mv88e6xxx/global2.h 2023-12-20 14:44:42.000000000 +0000 @@ -349,6 +349,7 @@ int mv88e6xxx_g2_device_mapping_write(struct mv88e6xxx_chip *chip, int target, int port); +int mv88e6xxx_g2_eeprom_wait(struct mv88e6xxx_chip *chip); extern const struct mv88e6xxx_irq_ops mv88e6097_watchdog_ops; extern const struct mv88e6xxx_irq_ops mv88e6250_watchdog_ops; diff -Nru linux-5.10.197/drivers/net/ethernet/amazon/ena/ena_eth_com.c linux-5.10.205/drivers/net/ethernet/amazon/ena/ena_eth_com.c --- linux-5.10.197/drivers/net/ethernet/amazon/ena/ena_eth_com.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/amazon/ena/ena_eth_com.c 2023-12-20 14:44:42.000000000 +0000 @@ -316,9 +316,6 @@ * compare it to the stored version, just create the meta */ if (io_sq->disable_meta_caching) { - if (unlikely(!ena_tx_ctx->meta_valid)) - return -EINVAL; - *have_meta = true; return ena_com_create_meta(io_sq, ena_meta); } diff -Nru linux-5.10.197/drivers/net/ethernet/amazon/ena/ena_netdev.c linux-5.10.205/drivers/net/ethernet/amazon/ena/ena_netdev.c --- linux-5.10.197/drivers/net/ethernet/amazon/ena/ena_netdev.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/amazon/ena/ena_netdev.c 2023-12-20 14:44:42.000000000 +0000 @@ -77,6 +77,8 @@ struct ena_tx_buffer *tx_info); static int ena_create_io_tx_queues_in_range(struct ena_adapter *adapter, int first_index, int count); +static void ena_free_all_io_tx_resources_in_range(struct ena_adapter *adapter, + int first_index, int count); static void ena_tx_timeout(struct net_device *dev, unsigned int txqueue) { @@ -388,23 +390,22 @@ static int ena_setup_and_create_all_xdp_queues(struct ena_adapter *adapter) { + u32 xdp_first_ring = adapter->xdp_first_ring; + u32 xdp_num_queues = adapter->xdp_num_queues; int rc = 0; - rc = ena_setup_tx_resources_in_range(adapter, adapter->xdp_first_ring, - adapter->xdp_num_queues); + rc = ena_setup_tx_resources_in_range(adapter, xdp_first_ring, xdp_num_queues); if (rc) goto setup_err; - rc = ena_create_io_tx_queues_in_range(adapter, - adapter->xdp_first_ring, - adapter->xdp_num_queues); + rc = ena_create_io_tx_queues_in_range(adapter, xdp_first_ring, xdp_num_queues); if (rc) goto create_err; return 0; create_err: - ena_free_all_io_tx_resources(adapter); + ena_free_all_io_tx_resources_in_range(adapter, xdp_first_ring, xdp_num_queues); setup_err: return rc; } diff -Nru linux-5.10.197/drivers/net/ethernet/amd/xgbe/xgbe-drv.c linux-5.10.205/drivers/net/ethernet/amd/xgbe/xgbe-drv.c --- linux-5.10.197/drivers/net/ethernet/amd/xgbe/xgbe-drv.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/amd/xgbe/xgbe-drv.c 2023-12-20 14:44:42.000000000 +0000 @@ -682,10 +682,24 @@ static void xgbe_service_timer(struct timer_list *t) { struct xgbe_prv_data *pdata = from_timer(pdata, t, service_timer); + struct xgbe_channel *channel; + unsigned int i; queue_work(pdata->dev_workqueue, &pdata->service_work); mod_timer(&pdata->service_timer, jiffies + HZ); + + if (!pdata->tx_usecs) + return; + + for (i = 0; i < pdata->channel_count; i++) { + channel = pdata->channel[i]; + if (!channel->tx_ring || channel->tx_timer_active) + break; + channel->tx_timer_active = 1; + mod_timer(&channel->tx_timer, + jiffies + usecs_to_jiffies(pdata->tx_usecs)); + } } static void xgbe_init_timers(struct xgbe_prv_data *pdata) diff -Nru linux-5.10.197/drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c linux-5.10.205/drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c --- linux-5.10.197/drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c 2023-12-20 14:44:42.000000000 +0000 @@ -314,10 +314,15 @@ cmd->base.phy_address = pdata->phy.address; - cmd->base.autoneg = pdata->phy.autoneg; - cmd->base.speed = pdata->phy.speed; - cmd->base.duplex = pdata->phy.duplex; + if (netif_carrier_ok(netdev)) { + cmd->base.speed = pdata->phy.speed; + cmd->base.duplex = pdata->phy.duplex; + } else { + cmd->base.speed = SPEED_UNKNOWN; + cmd->base.duplex = DUPLEX_UNKNOWN; + } + cmd->base.autoneg = pdata->phy.autoneg; cmd->base.port = PORT_NONE; XGBE_LM_COPY(cmd, supported, lks, supported); diff -Nru linux-5.10.197/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c linux-5.10.205/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c --- linux-5.10.197/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c 2023-12-20 14:44:42.000000000 +0000 @@ -1178,7 +1178,19 @@ if (pdata->phy.duplex != DUPLEX_FULL) return -EINVAL; - xgbe_set_mode(pdata, mode); + /* Force the mode change for SFI in Fixed PHY config. + * Fixed PHY configs needs PLL to be enabled while doing mode set. + * When the SFP module isn't connected during boot, driver assumes + * AN is ON and attempts autonegotiation. However, if the connected + * SFP comes up in Fixed PHY config, the link will not come up as + * PLL isn't enabled while the initial mode set command is issued. + * So, force the mode change for SFI in Fixed PHY configuration to + * fix link issues. + */ + if (mode == XGBE_MODE_SFI) + xgbe_change_mode(pdata, mode); + else + xgbe_set_mode(pdata, mode); return 0; } diff -Nru linux-5.10.197/drivers/net/ethernet/aquantia/atlantic/aq_ring.c linux-5.10.205/drivers/net/ethernet/aquantia/atlantic/aq_ring.c --- linux-5.10.197/drivers/net/ethernet/aquantia/atlantic/aq_ring.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/aquantia/atlantic/aq_ring.c 2023-12-20 14:44:42.000000000 +0000 @@ -577,11 +577,14 @@ return; kfree(self->buff_ring); + self->buff_ring = NULL; - if (self->dx_ring) + if (self->dx_ring) { dma_free_coherent(aq_nic_get_dev(self->aq_nic), self->size * self->dx_size, self->dx_ring, self->dx_ring_pa); + self->dx_ring = NULL; + } } unsigned int aq_ring_fill_stats_data(struct aq_ring_s *self, u64 *data) diff -Nru linux-5.10.197/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c linux-5.10.205/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c --- linux-5.10.197/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c 2023-12-20 14:44:42.000000000 +0000 @@ -1924,8 +1924,7 @@ /* Skip VLAN tag if present */ if (ether_type == ETH_P_8021Q) { - struct vlan_ethhdr *vhdr = - (struct vlan_ethhdr *)skb->data; + struct vlan_ethhdr *vhdr = skb_vlan_eth_hdr(skb); ether_type = ntohs(vhdr->h_vlan_encapsulated_proto); } diff -Nru linux-5.10.197/drivers/net/ethernet/broadcom/bnxt/bnxt.c linux-5.10.205/drivers/net/ethernet/broadcom/bnxt/bnxt.c --- linux-5.10.197/drivers/net/ethernet/broadcom/bnxt/bnxt.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/broadcom/bnxt/bnxt.c 2023-12-20 14:44:42.000000000 +0000 @@ -2404,6 +2404,7 @@ struct rx_cmp_ext *rxcmp1; u32 cp_cons, tmp_raw_cons; u32 raw_cons = cpr->cp_raw_cons; + bool flush_xdp = false; u32 rx_pkts = 0; u8 event = 0; @@ -2438,6 +2439,8 @@ rx_pkts++; else if (rc == -EBUSY) /* partial completion */ break; + if (event & BNXT_REDIRECT_EVENT) + flush_xdp = true; } else if (unlikely(TX_CMP_TYPE(txcmp) == CMPL_BASE_TYPE_HWRM_DONE)) { bnxt_hwrm_handler(bp, txcmp); @@ -2457,6 +2460,8 @@ if (event & BNXT_AGG_EVENT) bnxt_db_write(bp, &rxr->rx_agg_db, rxr->rx_agg_prod); + if (flush_xdp) + xdp_do_flush(); if (!bnxt_has_work(bp, cpr) && rx_pkts < budget) { napi_complete_done(napi, rx_pkts); diff -Nru linux-5.10.197/drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c linux-5.10.205/drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c --- linux-5.10.197/drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c 2023-12-20 14:44:42.000000000 +0000 @@ -2061,6 +2061,7 @@ rhashtable_destroy(&tc_info->flow_table); free_tc_info: kfree(tc_info); + bp->tc_info = NULL; return rc; } diff -Nru linux-5.10.197/drivers/net/ethernet/broadcom/tg3.c linux-5.10.205/drivers/net/ethernet/broadcom/tg3.c --- linux-5.10.197/drivers/net/ethernet/broadcom/tg3.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/broadcom/tg3.c 2023-12-20 14:44:42.000000000 +0000 @@ -6864,7 +6864,7 @@ desc_idx, *post_ptr); drop_it_no_recycle: /* Other statistics kept track of by card. */ - tp->rx_dropped++; + tnapi->rx_dropped++; goto next_pkt; } @@ -7890,8 +7890,10 @@ segs = skb_gso_segment(skb, tp->dev->features & ~(NETIF_F_TSO | NETIF_F_TSO6)); - if (IS_ERR(segs) || !segs) + if (IS_ERR(segs) || !segs) { + tnapi->tx_dropped++; goto tg3_tso_bug_end; + } skb_list_walk_safe(segs, seg, next) { skb_mark_not_on_list(seg); @@ -8161,7 +8163,7 @@ drop: dev_kfree_skb_any(skb); drop_nofree: - tp->tx_dropped++; + tnapi->tx_dropped++; return NETDEV_TX_OK; } @@ -9340,7 +9342,7 @@ /* tp->lock is held. */ static int tg3_halt(struct tg3 *tp, int kind, bool silent) { - int err; + int err, i; tg3_stop_fw(tp); @@ -9361,6 +9363,13 @@ /* And make sure the next sample is new data */ memset(tp->hw_stats, 0, sizeof(struct tg3_hw_stats)); + + for (i = 0; i < TG3_IRQ_MAX_VECS; ++i) { + struct tg3_napi *tnapi = &tp->napi[i]; + + tnapi->rx_dropped = 0; + tnapi->tx_dropped = 0; + } } return err; @@ -11915,6 +11924,9 @@ { struct rtnl_link_stats64 *old_stats = &tp->net_stats_prev; struct tg3_hw_stats *hw_stats = tp->hw_stats; + unsigned long rx_dropped; + unsigned long tx_dropped; + int i; stats->rx_packets = old_stats->rx_packets + get_stat64(&hw_stats->rx_ucast_packets) + @@ -11961,8 +11973,26 @@ stats->rx_missed_errors = old_stats->rx_missed_errors + get_stat64(&hw_stats->rx_discards); - stats->rx_dropped = tp->rx_dropped; - stats->tx_dropped = tp->tx_dropped; + /* Aggregate per-queue counters. The per-queue counters are updated + * by a single writer, race-free. The result computed by this loop + * might not be 100% accurate (counters can be updated in the middle of + * the loop) but the next tg3_get_nstats() will recompute the current + * value so it is acceptable. + * + * Note that these counters wrap around at 4G on 32bit machines. + */ + rx_dropped = (unsigned long)(old_stats->rx_dropped); + tx_dropped = (unsigned long)(old_stats->tx_dropped); + + for (i = 0; i < tp->irq_cnt; i++) { + struct tg3_napi *tnapi = &tp->napi[i]; + + rx_dropped += tnapi->rx_dropped; + tx_dropped += tnapi->tx_dropped; + } + + stats->rx_dropped = rx_dropped; + stats->tx_dropped = tx_dropped; } static int tg3_get_regs_len(struct net_device *dev) @@ -18156,7 +18186,8 @@ if (netif_running(dev)) dev_close(dev); - tg3_power_down(tp); + if (system_state == SYSTEM_POWER_OFF) + tg3_power_down(tp); rtnl_unlock(); diff -Nru linux-5.10.197/drivers/net/ethernet/broadcom/tg3.h linux-5.10.205/drivers/net/ethernet/broadcom/tg3.h --- linux-5.10.197/drivers/net/ethernet/broadcom/tg3.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/broadcom/tg3.h 2023-12-20 14:44:42.000000000 +0000 @@ -3018,6 +3018,7 @@ u16 *rx_rcb_prod_idx; struct tg3_rx_prodring_set prodring; struct tg3_rx_buffer_desc *rx_rcb; + unsigned long rx_dropped; u32 tx_prod ____cacheline_aligned; u32 tx_cons; @@ -3026,6 +3027,7 @@ u32 prodmbox; struct tg3_tx_buffer_desc *tx_ring; struct tg3_tx_ring_info *tx_buffers; + unsigned long tx_dropped; dma_addr_t status_mapping; dma_addr_t rx_rcb_mapping; @@ -3219,8 +3221,6 @@ /* begin "everything else" cacheline(s) section */ - unsigned long rx_dropped; - unsigned long tx_dropped; struct rtnl_link_stats64 net_stats_prev; struct tg3_ethtool_stats estats_prev; diff -Nru linux-5.10.197/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c linux-5.10.205/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c --- linux-5.10.197/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c 2023-12-20 14:44:42.000000000 +0000 @@ -3846,6 +3846,8 @@ FW_PARAMS_PARAM_Z_V(FW_PARAMS_PARAM_DEV_PHYFW_DOWNLOAD)); ret = t4_set_params_timeout(adap, adap->mbox, adap->pf, 0, 1, ¶m, &val, 30000); + if (ret) + return ret; /* If we have version number support, then check to see that the new * firmware got loaded properly. diff -Nru linux-5.10.197/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c linux-5.10.205/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c --- linux-5.10.197/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c 2023-12-20 14:44:42.000000000 +0000 @@ -2259,7 +2259,7 @@ if (tp->snd_una != snd_una) { tp->snd_una = snd_una; - tp->rcv_tstamp = tcp_time_stamp(tp); + tp->rcv_tstamp = tcp_jiffies32; if (tp->snd_una == tp->snd_nxt && !csk_flag_nochk(csk, CSK_TX_FAILOVER)) csk_reset_flag(csk, CSK_TX_WAIT_IDLE); diff -Nru linux-5.10.197/drivers/net/ethernet/cortina/gemini.c linux-5.10.205/drivers/net/ethernet/cortina/gemini.c --- linux-5.10.197/drivers/net/ethernet/cortina/gemini.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/cortina/gemini.c 2023-12-20 14:44:42.000000000 +0000 @@ -433,8 +433,8 @@ .val = CONFIG0_MAXLEN_1536, }, { - .max_l3_len = 1542, - .val = CONFIG0_MAXLEN_1542, + .max_l3_len = 1548, + .val = CONFIG0_MAXLEN_1548, }, { .max_l3_len = 9212, @@ -1146,6 +1146,7 @@ dma_addr_t mapping; unsigned short mtu; void *buffer; + int ret; mtu = ETH_HLEN; mtu += netdev->mtu; @@ -1160,9 +1161,30 @@ word3 |= mtu; } - if (skb->ip_summed != CHECKSUM_NONE) { + if (skb->len >= ETH_FRAME_LEN) { + /* Hardware offloaded checksumming isn't working on frames + * bigger than 1514 bytes. A hypothesis about this is that the + * checksum buffer is only 1518 bytes, so when the frames get + * bigger they get truncated, or the last few bytes get + * overwritten by the FCS. + * + * Just use software checksumming and bypass on bigger frames. + */ + if (skb->ip_summed == CHECKSUM_PARTIAL) { + ret = skb_checksum_help(skb); + if (ret) + return ret; + } + word1 |= TSS_BYPASS_BIT; + } else if (skb->ip_summed == CHECKSUM_PARTIAL) { int tcp = 0; + /* We do not switch off the checksumming on non TCP/UDP + * frames: as is shown from tests, the checksumming engine + * is smart enough to see that a frame is not actually TCP + * or UDP and then just pass it through without any changes + * to the frame. + */ if (skb->protocol == htons(ETH_P_IP)) { word1 |= TSS_IP_CHKSUM_BIT; tcp = ip_hdr(skb)->protocol == IPPROTO_TCP; @@ -1979,15 +2001,6 @@ return 0; } -static netdev_features_t gmac_fix_features(struct net_device *netdev, - netdev_features_t features) -{ - if (netdev->mtu + ETH_HLEN + VLAN_HLEN > MTU_SIZE_BIT_MASK) - features &= ~GMAC_OFFLOAD_FEATURES; - - return features; -} - static int gmac_set_features(struct net_device *netdev, netdev_features_t features) { @@ -2205,7 +2218,6 @@ .ndo_set_mac_address = gmac_set_mac_address, .ndo_get_stats64 = gmac_get_stats64, .ndo_change_mtu = gmac_change_mtu, - .ndo_fix_features = gmac_fix_features, .ndo_set_features = gmac_set_features, }; @@ -2463,11 +2475,12 @@ netdev->hw_features = GMAC_OFFLOAD_FEATURES; netdev->features |= GMAC_OFFLOAD_FEATURES | NETIF_F_GRO; - /* We can handle jumbo frames up to 10236 bytes so, let's accept - * payloads of 10236 bytes minus VLAN and ethernet header + /* We can receive jumbo frames up to 10236 bytes but only + * transmit 2047 bytes so, let's accept payloads of 2047 + * bytes minus VLAN and ethernet header */ netdev->min_mtu = ETH_MIN_MTU; - netdev->max_mtu = 10236 - VLAN_ETH_HLEN; + netdev->max_mtu = MTU_SIZE_BIT_MASK - VLAN_ETH_HLEN; port->freeq_refill = 0; netif_napi_add(netdev, &port->napi, gmac_napi_poll, diff -Nru linux-5.10.197/drivers/net/ethernet/cortina/gemini.h linux-5.10.205/drivers/net/ethernet/cortina/gemini.h --- linux-5.10.197/drivers/net/ethernet/cortina/gemini.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/cortina/gemini.h 2023-12-20 14:44:42.000000000 +0000 @@ -502,7 +502,7 @@ #define SOF_BIT 0x80000000 #define EOF_BIT 0x40000000 #define EOFIE_BIT BIT(29) -#define MTU_SIZE_BIT_MASK 0x1fff +#define MTU_SIZE_BIT_MASK 0x7ff /* Max MTU 2047 bytes */ /* GMAC Tx Descriptor */ struct gmac_txdesc { @@ -787,7 +787,7 @@ #define CONFIG0_MAXLEN_1536 0 #define CONFIG0_MAXLEN_1518 1 #define CONFIG0_MAXLEN_1522 2 -#define CONFIG0_MAXLEN_1542 3 +#define CONFIG0_MAXLEN_1548 3 #define CONFIG0_MAXLEN_9k 4 /* 9212 */ #define CONFIG0_MAXLEN_10k 5 /* 10236 */ #define CONFIG0_MAXLEN_1518__6 6 diff -Nru linux-5.10.197/drivers/net/ethernet/emulex/benet/be_main.c linux-5.10.205/drivers/net/ethernet/emulex/benet/be_main.c --- linux-5.10.197/drivers/net/ethernet/emulex/benet/be_main.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/emulex/benet/be_main.c 2023-12-20 14:44:42.000000000 +0000 @@ -1125,7 +1125,7 @@ struct be_wrb_params *wrb_params) { - struct vlan_ethhdr *veh = (struct vlan_ethhdr *)skb->data; + struct vlan_ethhdr *veh = skb_vlan_eth_hdr(skb); unsigned int eth_hdr_len; struct iphdr *ip; diff -Nru linux-5.10.197/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c linux-5.10.205/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c --- linux-5.10.197/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c 2023-12-20 14:44:42.000000000 +0000 @@ -928,14 +928,12 @@ dma_addr_t addr; buffer_start = skb->data - dpaa2_eth_needed_headroom(skb); - - /* If there's enough room to align the FD address, do it. - * It will help hardware optimize accesses. - */ aligned_start = PTR_ALIGN(buffer_start - DPAA2_ETH_TX_BUF_ALIGN, DPAA2_ETH_TX_BUF_ALIGN); if (aligned_start >= skb->head) buffer_start = aligned_start; + else + return -ENOMEM; /* Store a backpointer to the skb at the beginning of the buffer * (in the private data area) such that we can release it @@ -4337,6 +4335,8 @@ if (err) goto err_dl_port_add; + net_dev->needed_headroom = DPAA2_ETH_SWA_SIZE + DPAA2_ETH_TX_BUF_ALIGN; + err = register_netdev(net_dev); if (err < 0) { dev_err(dev, "register_netdev() failed\n"); diff -Nru linux-5.10.197/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h linux-5.10.205/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h --- linux-5.10.197/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h 2023-12-20 14:44:42.000000000 +0000 @@ -664,7 +664,7 @@ static inline unsigned int dpaa2_eth_needed_headroom(struct sk_buff *skb) { - unsigned int headroom = DPAA2_ETH_SWA_SIZE; + unsigned int headroom = DPAA2_ETH_SWA_SIZE + DPAA2_ETH_TX_BUF_ALIGN; /* If we don't have an skb (e.g. XDP buffer), we only need space for * the software annotation area diff -Nru linux-5.10.197/drivers/net/ethernet/freescale/fec_main.c linux-5.10.205/drivers/net/ethernet/freescale/fec_main.c --- linux-5.10.197/drivers/net/ethernet/freescale/fec_main.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/freescale/fec_main.c 2023-12-20 14:44:42.000000000 +0000 @@ -3266,31 +3266,26 @@ return 0; } -static u16 fec_enet_get_raw_vlan_tci(struct sk_buff *skb) -{ - struct vlan_ethhdr *vhdr; - unsigned short vlan_TCI = 0; - - if (skb->protocol == htons(ETH_P_ALL)) { - vhdr = (struct vlan_ethhdr *)(skb->data); - vlan_TCI = ntohs(vhdr->h_vlan_TCI); - } - - return vlan_TCI; -} - static u16 fec_enet_select_queue(struct net_device *ndev, struct sk_buff *skb, struct net_device *sb_dev) { struct fec_enet_private *fep = netdev_priv(ndev); - u16 vlan_tag; + u16 vlan_tag = 0; if (!(fep->quirks & FEC_QUIRK_HAS_AVB)) return netdev_pick_tx(ndev, skb, NULL); - vlan_tag = fec_enet_get_raw_vlan_tci(skb); - if (!vlan_tag) + /* VLAN is present in the payload.*/ + if (eth_type_vlan(skb->protocol)) { + struct vlan_ethhdr *vhdr = skb_vlan_eth_hdr(skb); + + vlan_tag = ntohs(vhdr->h_vlan_TCI); + /* VLAN is present in the skb but not yet pushed in the payload.*/ + } else if (skb_vlan_tag_present(skb)) { + vlan_tag = skb->vlan_tci; + } else { return vlan_tag; + } return fec_enet_vlan_pri_to_queue[vlan_tag >> 13]; } diff -Nru linux-5.10.197/drivers/net/ethernet/google/gve/gve_main.c linux-5.10.205/drivers/net/ethernet/google/gve/gve_main.c --- linux-5.10.197/drivers/net/ethernet/google/gve/gve_main.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/google/gve/gve_main.c 2023-12-20 14:44:42.000000000 +0000 @@ -128,7 +128,7 @@ rx_stats_num = (GVE_RX_STATS_REPORT_NUM + NIC_RX_STATS_REPORT_NUM) * priv->rx_cfg.num_queues; priv->stats_report_len = struct_size(priv->stats_report, stats, - tx_stats_num + rx_stats_num); + size_add(tx_stats_num, rx_stats_num)); priv->stats_report = dma_alloc_coherent(&priv->pdev->dev, priv->stats_report_len, &priv->stats_report_bus, GFP_KERNEL); diff -Nru linux-5.10.197/drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c linux-5.10.205/drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c --- linux-5.10.197/drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c 2023-12-20 14:44:42.000000000 +0000 @@ -66,6 +66,27 @@ } } +static u32 hns_mac_link_anti_shake(struct mac_driver *mac_ctrl_drv) +{ +#define HNS_MAC_LINK_WAIT_TIME 5 +#define HNS_MAC_LINK_WAIT_CNT 40 + + u32 link_status = 0; + int i; + + if (!mac_ctrl_drv->get_link_status) + return link_status; + + for (i = 0; i < HNS_MAC_LINK_WAIT_CNT; i++) { + msleep(HNS_MAC_LINK_WAIT_TIME); + mac_ctrl_drv->get_link_status(mac_ctrl_drv, &link_status); + if (!link_status) + break; + } + + return link_status; +} + void hns_mac_get_link_status(struct hns_mac_cb *mac_cb, u32 *link_status) { struct mac_driver *mac_ctrl_drv; @@ -83,6 +104,14 @@ &sfp_prsnt); if (!ret) *link_status = *link_status && sfp_prsnt; + + /* for FIBER port, it may have a fake link up. + * when the link status changes from down to up, we need to do + * anti-shake. the anti-shake time is base on tests. + * only FIBER port need to do this. + */ + if (*link_status && !mac_cb->link) + *link_status = hns_mac_link_anti_shake(mac_ctrl_drv); } mac_cb->link = *link_status; diff -Nru linux-5.10.197/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c linux-5.10.205/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c --- linux-5.10.197/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c 2023-12-20 14:44:42.000000000 +0000 @@ -1002,7 +1002,7 @@ if (unlikely(rc < 0)) return rc; - vhdr = (struct vlan_ethhdr *)skb->data; + vhdr = skb_vlan_eth_hdr(skb); vhdr->h_vlan_TCI |= cpu_to_be16((skb->priority << VLAN_PRIO_SHIFT) & VLAN_PRIO_MASK); @@ -3974,7 +3974,7 @@ { struct hns3_nic_priv *priv = netdev_priv(netdev); struct hnae3_handle *h = priv->ae_handle; - u8 mac_addr_temp[ETH_ALEN]; + u8 mac_addr_temp[ETH_ALEN] = {0}; int ret = 0; if (h->ae_algo->ops->get_mac_addr) diff -Nru linux-5.10.197/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c linux-5.10.205/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c --- linux-5.10.197/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 2023-12-20 14:44:42.000000000 +0000 @@ -3125,8 +3125,13 @@ static void hclge_clear_event_cause(struct hclge_dev *hdev, u32 event_type, u32 regclr) { +#define HCLGE_IMP_RESET_DELAY 5 + switch (event_type) { case HCLGE_VECTOR0_EVENT_RST: + if (regclr == BIT(HCLGE_VECTOR0_IMPRESET_INT_B)) + mdelay(HCLGE_IMP_RESET_DELAY); + hclge_write_dev(&hdev->hw, HCLGE_MISC_RESET_STS_REG, regclr); break; case HCLGE_VECTOR0_EVENT_MBX: @@ -7850,7 +7855,7 @@ if (mac_type == HCLGE_MAC_ADDR_UC) { if (is_all_added) vport->overflow_promisc_flags &= ~HNAE3_OVERFLOW_UPE; - else + else if (hclge_is_umv_space_full(vport, true)) vport->overflow_promisc_flags |= HNAE3_OVERFLOW_UPE; } else { if (is_all_added) diff -Nru linux-5.10.197/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c linux-5.10.205/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c --- linux-5.10.197/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 2023-12-20 14:44:42.000000000 +0000 @@ -2363,8 +2363,18 @@ return HCLGEVF_VECTOR0_EVENT_OTHER; } +static void hclgevf_reset_timer(struct timer_list *t) +{ + struct hclgevf_dev *hdev = from_timer(hdev, t, reset_timer); + + hclgevf_clear_event_cause(hdev, HCLGEVF_VECTOR0_EVENT_RST); + hclgevf_reset_task_schedule(hdev); +} + static irqreturn_t hclgevf_misc_irq_handle(int irq, void *data) { +#define HCLGEVF_RESET_DELAY 5 + enum hclgevf_evt_cause event_cause; struct hclgevf_dev *hdev = data; u32 clearval; @@ -2376,7 +2386,8 @@ switch (event_cause) { case HCLGEVF_VECTOR0_EVENT_RST: - hclgevf_reset_task_schedule(hdev); + mod_timer(&hdev->reset_timer, + jiffies + msecs_to_jiffies(HCLGEVF_RESET_DELAY)); break; case HCLGEVF_VECTOR0_EVENT_MBX: hclgevf_mbx_handler(hdev); @@ -3269,6 +3280,7 @@ HCLGEVF_DRIVER_NAME); hclgevf_task_schedule(hdev, round_jiffies_relative(HZ)); + timer_setup(&hdev->reset_timer, hclgevf_reset_timer, 0); return 0; diff -Nru linux-5.10.197/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h linux-5.10.205/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h --- linux-5.10.197/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h 2023-12-20 14:44:42.000000000 +0000 @@ -274,6 +274,7 @@ enum hnae3_reset_type reset_level; unsigned long reset_pending; enum hnae3_reset_type reset_type; + struct timer_list reset_timer; #define HCLGEVF_RESET_REQUESTED 0 #define HCLGEVF_RESET_PENDING 1 diff -Nru linux-5.10.197/drivers/net/ethernet/intel/i40e/i40e_common.c linux-5.10.205/drivers/net/ethernet/intel/i40e/i40e_common.c --- linux-5.10.197/drivers/net/ethernet/intel/i40e/i40e_common.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/intel/i40e/i40e_common.c 2023-12-20 14:44:42.000000000 +0000 @@ -1339,7 +1339,7 @@ I40E_PFLAN_QALLOC_FIRSTQ_SHIFT; j = (val & I40E_PFLAN_QALLOC_LASTQ_MASK) >> I40E_PFLAN_QALLOC_LASTQ_SHIFT; - if (val & I40E_PFLAN_QALLOC_VALID_MASK) + if (val & I40E_PFLAN_QALLOC_VALID_MASK && j >= base_queue) num_queues = (j - base_queue) + 1; else num_queues = 0; @@ -1349,7 +1349,7 @@ I40E_PF_VT_PFALLOC_FIRSTVF_SHIFT; j = (val & I40E_PF_VT_PFALLOC_LASTVF_MASK) >> I40E_PF_VT_PFALLOC_LASTVF_SHIFT; - if (val & I40E_PF_VT_PFALLOC_VALID_MASK) + if (val & I40E_PF_VT_PFALLOC_VALID_MASK && j >= i) num_vfs = (j - i) + 1; else num_vfs = 0; diff -Nru linux-5.10.197/drivers/net/ethernet/intel/i40e/i40e_main.c linux-5.10.205/drivers/net/ethernet/intel/i40e/i40e_main.c --- linux-5.10.197/drivers/net/ethernet/intel/i40e/i40e_main.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/intel/i40e/i40e_main.c 2023-12-20 14:44:42.000000000 +0000 @@ -15480,7 +15480,7 @@ I40E_PRTGL_SAH_MFS_MASK) >> I40E_PRTGL_SAH_MFS_SHIFT; if (val < MAX_FRAME_SIZE_DEFAULT) dev_warn(&pdev->dev, "MFS for port %x has been set below the default: %x\n", - i, val); + pf->hw.port, val); /* Add a filter to drop all Flow control frames from any VSI from being * transmitted. By doing so we stop a malicious VF from sending out @@ -15601,11 +15601,15 @@ i40e_switch_branch_release(pf->veb[i]); } - /* Now we can shutdown the PF's VSI, just before we kill + /* Now we can shutdown the PF's VSIs, just before we kill * adminq and hmc. */ - if (pf->vsi[pf->lan_vsi]) - i40e_vsi_release(pf->vsi[pf->lan_vsi]); + for (i = pf->num_alloc_vsi; i--;) + if (pf->vsi[i]) { + i40e_vsi_close(pf->vsi[i]); + i40e_vsi_release(pf->vsi[i]); + pf->vsi[i] = NULL; + } i40e_cloud_filter_exit(pf); diff -Nru linux-5.10.197/drivers/net/ethernet/intel/i40e/i40e_txrx.c linux-5.10.205/drivers/net/ethernet/intel/i40e/i40e_txrx.c --- linux-5.10.197/drivers/net/ethernet/intel/i40e/i40e_txrx.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/intel/i40e/i40e_txrx.c 2023-12-20 14:44:42.000000000 +0000 @@ -2663,7 +2663,7 @@ return budget; } - if (vsi->back->flags & I40E_TXR_FLAGS_WB_ON_ITR) + if (q_vector->tx.ring[0].flags & I40E_TXR_FLAGS_WB_ON_ITR) q_vector->arm_wb_state = false; /* Exit the polling mode, but don't re-enable interrupts if stack might @@ -2879,7 +2879,7 @@ rc = skb_cow_head(skb, 0); if (rc < 0) return rc; - vhdr = (struct vlan_ethhdr *)skb->data; + vhdr = skb_vlan_eth_hdr(skb); vhdr->h_vlan_TCI = htons(tx_flags >> I40E_TX_FLAGS_VLAN_SHIFT); } else { diff -Nru linux-5.10.197/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c linux-5.10.205/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c --- linux-5.10.197/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c 2023-12-20 14:44:42.000000000 +0000 @@ -4332,9 +4332,6 @@ /* duplicate request, so just return success */ goto error_pvid; - i40e_vc_reset_vf(vf, true); - /* During reset the VF got a new VSI, so refresh a pointer. */ - vsi = pf->vsi[vf->lan_vsi_idx]; /* Locked once because multiple functions below iterate list */ spin_lock_bh(&vsi->mac_filter_hash_lock); @@ -4420,6 +4417,10 @@ */ vf->port_vlan_id = le16_to_cpu(vsi->info.pvid); + i40e_vc_reset_vf(vf, true); + /* During reset the VF got a new VSI, so refresh a pointer. */ + vsi = pf->vsi[vf->lan_vsi_idx]; + ret = i40e_config_vf_promiscuous_mode(vf, vsi->id, allmulti, alluni); if (ret) { dev_err(&pf->pdev->dev, "Unable to config vf promiscuous mode\n"); diff -Nru linux-5.10.197/drivers/net/ethernet/intel/ice/ice_lib.c linux-5.10.205/drivers/net/ethernet/intel/ice/ice_lib.c --- linux-5.10.197/drivers/net/ethernet/intel/ice/ice_lib.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/intel/ice/ice_lib.c 2023-12-20 14:44:42.000000000 +0000 @@ -931,8 +931,7 @@ ctxt->info.q_opt_rss = ((lut_type << ICE_AQ_VSI_Q_OPT_RSS_LUT_S) & ICE_AQ_VSI_Q_OPT_RSS_LUT_M) | - ((hash_type << ICE_AQ_VSI_Q_OPT_RSS_HASH_S) & - ICE_AQ_VSI_Q_OPT_RSS_HASH_M); + (hash_type & ICE_AQ_VSI_Q_OPT_RSS_HASH_M); } /** diff -Nru linux-5.10.197/drivers/net/ethernet/intel/ice/ice_main.c linux-5.10.205/drivers/net/ethernet/intel/ice/ice_main.c --- linux-5.10.197/drivers/net/ethernet/intel/ice/ice_main.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/intel/ice/ice_main.c 2023-12-20 14:44:42.000000000 +0000 @@ -6,6 +6,7 @@ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #include +#include #include "ice.h" #include "ice_base.h" #include "ice_lib.h" @@ -4025,6 +4026,20 @@ return -EINVAL; } + /* when under a kdump kernel initiate a reset before enabling the + * device in order to clear out any pending DMA transactions. These + * transactions can cause some systems to machine check when doing + * the pcim_enable_device() below. + */ + if (is_kdump_kernel()) { + pci_save_state(pdev); + pci_clear_master(pdev); + err = pcie_flr(pdev); + if (err) + return err; + pci_restore_state(pdev); + } + /* this driver uses devres, see * Documentation/driver-api/driver-model/devres.rst */ diff -Nru linux-5.10.197/drivers/net/ethernet/intel/igb/igb_ethtool.c linux-5.10.205/drivers/net/ethernet/intel/igb/igb_ethtool.c --- linux-5.10.197/drivers/net/ethernet/intel/igb/igb_ethtool.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/intel/igb/igb_ethtool.c 2023-12-20 14:44:42.000000000 +0000 @@ -2987,11 +2987,15 @@ if (err) goto err_out_w_lock; - igb_update_ethtool_nfc_entry(adapter, input, input->sw_idx); + err = igb_update_ethtool_nfc_entry(adapter, input, input->sw_idx); + if (err) + goto err_out_input_filter; spin_unlock(&adapter->nfc_lock); return 0; +err_out_input_filter: + igb_erase_filter(adapter, input); err_out_w_lock: spin_unlock(&adapter->nfc_lock); err_out: diff -Nru linux-5.10.197/drivers/net/ethernet/intel/igc/igc_ethtool.c linux-5.10.205/drivers/net/ethernet/intel/igc/igc_ethtool.c --- linux-5.10.197/drivers/net/ethernet/intel/igc/igc_ethtool.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/intel/igc/igc_ethtool.c 2023-12-20 14:44:42.000000000 +0000 @@ -1775,7 +1775,7 @@ struct igc_adapter *adapter = netdev_priv(netdev); struct net_device *dev = adapter->netdev; struct igc_hw *hw = &adapter->hw; - u32 advertising; + u16 advertised = 0; /* When adapter in resetting mode, autoneg/speed/duplex * cannot be changed @@ -1800,18 +1800,33 @@ while (test_and_set_bit(__IGC_RESETTING, &adapter->state)) usleep_range(1000, 2000); - ethtool_convert_link_mode_to_legacy_u32(&advertising, - cmd->link_modes.advertising); - /* Converting to legacy u32 drops ETHTOOL_LINK_MODE_2500baseT_Full_BIT. - * We have to check this and convert it to ADVERTISE_2500_FULL - * (aka ETHTOOL_LINK_MODE_2500baseX_Full_BIT) explicitly. - */ - if (ethtool_link_ksettings_test_link_mode(cmd, advertising, 2500baseT_Full)) - advertising |= ADVERTISE_2500_FULL; + if (ethtool_link_ksettings_test_link_mode(cmd, advertising, + 2500baseT_Full)) + advertised |= ADVERTISE_2500_FULL; + + if (ethtool_link_ksettings_test_link_mode(cmd, advertising, + 1000baseT_Full)) + advertised |= ADVERTISE_1000_FULL; + + if (ethtool_link_ksettings_test_link_mode(cmd, advertising, + 100baseT_Full)) + advertised |= ADVERTISE_100_FULL; + + if (ethtool_link_ksettings_test_link_mode(cmd, advertising, + 100baseT_Half)) + advertised |= ADVERTISE_100_HALF; + + if (ethtool_link_ksettings_test_link_mode(cmd, advertising, + 10baseT_Full)) + advertised |= ADVERTISE_10_FULL; + + if (ethtool_link_ksettings_test_link_mode(cmd, advertising, + 10baseT_Half)) + advertised |= ADVERTISE_10_HALF; if (cmd->base.autoneg == AUTONEG_ENABLE) { hw->mac.autoneg = 1; - hw->phy.autoneg_advertised = advertising; + hw->phy.autoneg_advertised = advertised; if (adapter->fc_autoneg) hw->fc.requested_mode = igc_fc_default; } else { diff -Nru linux-5.10.197/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c linux-5.10.205/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c --- linux-5.10.197/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c 2023-12-20 14:44:42.000000000 +0000 @@ -8707,7 +8707,7 @@ if (skb_cow_head(skb, 0)) goto out_drop; - vhdr = (struct vlan_ethhdr *)skb->data; + vhdr = skb_vlan_eth_hdr(skb); vhdr->h_vlan_TCI = htons(tx_flags >> IXGBE_TX_FLAGS_VLAN_SHIFT); } else { diff -Nru linux-5.10.197/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c linux-5.10.205/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c --- linux-5.10.197/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c 2023-12-20 14:44:42.000000000 +0000 @@ -28,6 +28,9 @@ struct vf_macvlans *mv_list; int num_vf_macvlans, i; + /* Initialize list of VF macvlans */ + INIT_LIST_HEAD(&adapter->vf_mvs.l); + num_vf_macvlans = hw->mac.num_rar_entries - (IXGBE_MAX_PF_MACVLANS + 1 + num_vfs); if (!num_vf_macvlans) @@ -36,8 +39,6 @@ mv_list = kcalloc(num_vf_macvlans, sizeof(struct vf_macvlans), GFP_KERNEL); if (mv_list) { - /* Initialize list of VF macvlans */ - INIT_LIST_HEAD(&adapter->vf_mvs.l); for (i = 0; i < num_vf_macvlans; i++) { mv_list[i].vf = -1; mv_list[i].free = true; diff -Nru linux-5.10.197/drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c linux-5.10.205/drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c --- linux-5.10.197/drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c 2023-12-20 14:44:42.000000000 +0000 @@ -254,9 +254,12 @@ if (is_otx2_lbkvf(pfvf->pdev)) return; + mutex_lock(&pfvf->mbox.lock); req = otx2_mbox_alloc_msg_cgx_cfg_pause_frm(&pfvf->mbox); - if (!req) + if (!req) { + mutex_unlock(&pfvf->mbox.lock); return; + } if (!otx2_sync_mbox_msg(&pfvf->mbox)) { rsp = (struct cgx_pause_frm_cfg *) @@ -264,6 +267,7 @@ pause->rx_pause = rsp->rx_pause; pause->tx_pause = rsp->tx_pause; } + mutex_unlock(&pfvf->mbox.lock); } static int otx2_set_pauseparam(struct net_device *netdev, diff -Nru linux-5.10.197/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c linux-5.10.205/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c --- linux-5.10.197/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c 2023-12-20 14:44:42.000000000 +0000 @@ -556,7 +556,9 @@ otx2_write64(pf, RVU_PF_VFPF_MBOX_INTX(1), intr); otx2_queue_work(mbox, pf->mbox_pfvf_wq, 64, vfs, intr, TYPE_PFVF); - vfs -= 64; + if (intr) + trace_otx2_msg_interrupt(mbox->mbox.pdev, "VF(s) to PF", intr); + vfs = 64; } intr = otx2_read64(pf, RVU_PF_VFPF_MBOX_INTX(0)); @@ -564,7 +566,8 @@ otx2_queue_work(mbox, pf->mbox_pfvf_wq, 0, vfs, intr, TYPE_PFVF); - trace_otx2_msg_interrupt(mbox->mbox.pdev, "VF(s) to PF", intr); + if (intr) + trace_otx2_msg_interrupt(mbox->mbox.pdev, "VF(s) to PF", intr); return IRQ_HANDLED; } diff -Nru linux-5.10.197/drivers/net/ethernet/marvell/sky2.h linux-5.10.205/drivers/net/ethernet/marvell/sky2.h --- linux-5.10.197/drivers/net/ethernet/marvell/sky2.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/marvell/sky2.h 2023-12-20 14:44:42.000000000 +0000 @@ -2195,7 +2195,7 @@ struct sk_buff *skb; dma_addr_t data_addr; DEFINE_DMA_UNMAP_LEN(data_size); - dma_addr_t frag_addr[ETH_JUMBO_MTU >> PAGE_SHIFT]; + dma_addr_t frag_addr[ETH_JUMBO_MTU >> PAGE_SHIFT ?: 1]; }; enum flow_control { diff -Nru linux-5.10.197/drivers/net/ethernet/mellanox/mlx5/core/devlink.c linux-5.10.205/drivers/net/ethernet/mellanox/mlx5/core/devlink.c --- linux-5.10.197/drivers/net/ethernet/mellanox/mlx5/core/devlink.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/mellanox/mlx5/core/devlink.c 2023-12-20 14:44:42.000000000 +0000 @@ -52,7 +52,7 @@ u32 running_fw, stored_fw; int err; - err = devlink_info_driver_name_put(req, DRIVER_NAME); + err = devlink_info_driver_name_put(req, KBUILD_MODNAME); if (err) return err; diff -Nru linux-5.10.197/drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c linux-5.10.205/drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c --- linux-5.10.197/drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c 2023-12-20 14:44:42.000000000 +0000 @@ -821,7 +821,7 @@ mlx5_core_dbg(tracer->dev, "FWTracer: ownership changed, current=(%d)\n", tracer->owner); if (tracer->owner) { - tracer->owner = false; + mlx5_fw_tracer_ownership_acquire(tracer); return; } diff -Nru linux-5.10.197/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c linux-5.10.205/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c --- linux-5.10.197/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c 2023-12-20 14:44:42.000000000 +0000 @@ -267,9 +267,6 @@ if (err) goto destroy_neigh_entry; - e->encap_size = ipv4_encap_size; - e->encap_header = encap_header; - if (!(nud_state & NUD_VALID)) { neigh_event_send(n, NULL); /* the encap entry will be made valid on neigh update event @@ -286,6 +283,8 @@ goto destroy_neigh_entry; } + e->encap_size = ipv4_encap_size; + e->encap_header = encap_header; e->flags |= MLX5_ENCAP_ENTRY_VALID; mlx5e_rep_queue_neigh_stats_work(netdev_priv(out_dev)); mlx5e_route_lookup_ipv4_put(route_dev, n); @@ -431,9 +430,6 @@ if (err) goto destroy_neigh_entry; - e->encap_size = ipv6_encap_size; - e->encap_header = encap_header; - if (!(nud_state & NUD_VALID)) { neigh_event_send(n, NULL); /* the encap entry will be made valid on neigh update event @@ -451,6 +447,8 @@ goto destroy_neigh_entry; } + e->encap_size = ipv6_encap_size; + e->encap_header = encap_header; e->flags |= MLX5_ENCAP_ENTRY_VALID; mlx5e_rep_queue_neigh_stats_work(netdev_priv(out_dev)); mlx5e_route_lookup_ipv6_put(route_dev, n); diff -Nru linux-5.10.197/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c linux-5.10.205/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c --- linux-5.10.197/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c 2023-12-20 14:44:42.000000000 +0000 @@ -40,9 +40,7 @@ { struct mlx5_core_dev *mdev = priv->mdev; - strlcpy(drvinfo->driver, DRIVER_NAME, sizeof(drvinfo->driver)); - strlcpy(drvinfo->version, DRIVER_VERSION, - sizeof(drvinfo->version)); + strlcpy(drvinfo->driver, KBUILD_MODNAME, sizeof(drvinfo->driver)); snprintf(drvinfo->fw_version, sizeof(drvinfo->fw_version), "%d.%d.%04d (%.16s)", fw_rev_maj(mdev), fw_rev_min(mdev), fw_rev_sub(mdev), diff -Nru linux-5.10.197/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c linux-5.10.205/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c --- linux-5.10.197/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 2023-12-20 14:44:42.000000000 +0000 @@ -61,14 +61,17 @@ { struct mlx5e_priv *priv = netdev_priv(dev); struct mlx5_core_dev *mdev = priv->mdev; + int count; strlcpy(drvinfo->driver, mlx5e_rep_driver_name, sizeof(drvinfo->driver)); - strlcpy(drvinfo->version, UTS_RELEASE, sizeof(drvinfo->version)); - snprintf(drvinfo->fw_version, sizeof(drvinfo->fw_version), - "%d.%d.%04d (%.16s)", - fw_rev_maj(mdev), fw_rev_min(mdev), - fw_rev_sub(mdev), mdev->board_id); + count = snprintf(drvinfo->fw_version, sizeof(drvinfo->fw_version), + "%d.%d.%04d (%.16s)", fw_rev_maj(mdev), + fw_rev_min(mdev), fw_rev_sub(mdev), mdev->board_id); + if (count == sizeof(drvinfo->fw_version)) + snprintf(drvinfo->fw_version, sizeof(drvinfo->fw_version), + "%d.%d.%04d", fw_rev_maj(mdev), + fw_rev_min(mdev), fw_rev_sub(mdev)); } static void mlx5e_uplink_rep_get_drvinfo(struct net_device *dev, diff -Nru linux-5.10.197/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ethtool.c linux-5.10.205/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ethtool.c --- linux-5.10.197/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ethtool.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ethtool.c 2023-12-20 14:44:42.000000000 +0000 @@ -39,7 +39,7 @@ struct mlx5e_priv *priv = mlx5i_epriv(dev); mlx5e_ethtool_get_drvinfo(priv, drvinfo); - strlcpy(drvinfo->driver, DRIVER_NAME "[ib_ipoib]", + strlcpy(drvinfo->driver, KBUILD_MODNAME "[ib_ipoib]", sizeof(drvinfo->driver)); } diff -Nru linux-5.10.197/drivers/net/ethernet/mellanox/mlx5/core/main.c linux-5.10.205/drivers/net/ethernet/mellanox/mlx5/core/main.c --- linux-5.10.197/drivers/net/ethernet/mellanox/mlx5/core/main.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/mellanox/mlx5/core/main.c 2023-12-20 14:44:42.000000000 +0000 @@ -77,7 +77,6 @@ MODULE_AUTHOR("Eli Cohen "); MODULE_DESCRIPTION("Mellanox 5th generation network adapters (ConnectX series) core driver"); MODULE_LICENSE("Dual BSD/GPL"); -MODULE_VERSION(DRIVER_VERSION); unsigned int mlx5_core_debug_mask; module_param_named(debug_mask, mlx5_core_debug_mask, uint, 0644); @@ -228,7 +227,7 @@ strncat(string, ",", remaining_size); remaining_size = max_t(int, 0, driver_ver_sz - strlen(string)); - strncat(string, DRIVER_NAME, remaining_size); + strncat(string, KBUILD_MODNAME, remaining_size); remaining_size = max_t(int, 0, driver_ver_sz - strlen(string)); strncat(string, ",", remaining_size); @@ -313,7 +312,7 @@ return -ENODEV; } - err = pci_request_regions(pdev, DRIVER_NAME); + err = pci_request_regions(pdev, KBUILD_MODNAME); if (err) dev_err(&pdev->dev, "Couldn't get PCI resources, aborting\n"); @@ -1620,7 +1619,7 @@ } static struct pci_driver mlx5_core_driver = { - .name = DRIVER_NAME, + .name = KBUILD_MODNAME, .id_table = mlx5_core_pci_table, .probe = init_one, .remove = remove_one, @@ -1646,6 +1645,9 @@ { int err; + WARN_ONCE(strcmp(MLX5_ADEV_NAME, KBUILD_MODNAME), + "mlx5_core name not in sync with kernel module name"); + get_random_bytes(&sw_owner_id, sizeof(sw_owner_id)); mlx5_core_verify_params(); diff -Nru linux-5.10.197/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h linux-5.10.205/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h --- linux-5.10.197/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h 2023-12-20 14:44:42.000000000 +0000 @@ -42,9 +42,6 @@ #include #include -#define DRIVER_NAME "mlx5_core" -#define DRIVER_VERSION "5.0-0" - extern uint mlx5_core_debug_mask; #define mlx5_core_dbg(__dev, format, ...) \ diff -Nru linux-5.10.197/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c linux-5.10.205/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c --- linux-5.10.197/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c 2023-12-20 14:44:42.000000000 +0000 @@ -251,7 +251,7 @@ * is 2^ACL_MAX_BF_LOG */ bf_bank_size = 1 << MLXSW_CORE_RES_GET(mlxsw_sp->core, ACL_MAX_BF_LOG); - bf = kzalloc(struct_size(bf, refcnt, bf_bank_size * num_erp_banks), + bf = kzalloc(struct_size(bf, refcnt, size_mul(bf_bank_size, num_erp_banks)), GFP_KERNEL); if (!bf) return ERR_PTR(-ENOMEM); diff -Nru linux-5.10.197/drivers/net/ethernet/mellanox/mlxsw/spectrum_nve_vxlan.c linux-5.10.205/drivers/net/ethernet/mellanox/mlxsw/spectrum_nve_vxlan.c --- linux-5.10.197/drivers/net/ethernet/mellanox/mlxsw/spectrum_nve_vxlan.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/mellanox/mlxsw/spectrum_nve_vxlan.c 2023-12-20 14:44:42.000000000 +0000 @@ -294,8 +294,8 @@ .fdb_clear_offload = mlxsw_sp_nve_vxlan_clear_offload, }; -static bool mlxsw_sp2_nve_vxlan_learning_set(struct mlxsw_sp *mlxsw_sp, - bool learning_en) +static int mlxsw_sp2_nve_vxlan_learning_set(struct mlxsw_sp *mlxsw_sp, + bool learning_en) { char tnpc_pl[MLXSW_REG_TNPC_LEN]; diff -Nru linux-5.10.197/drivers/net/ethernet/pensando/ionic/ionic_dev.h linux-5.10.205/drivers/net/ethernet/pensando/ionic/ionic_dev.h --- linux-5.10.197/drivers/net/ethernet/pensando/ionic/ionic_dev.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/pensando/ionic/ionic_dev.h 2023-12-20 14:44:42.000000000 +0000 @@ -191,7 +191,7 @@ void *cb_arg; }; -#define IONIC_QUEUE_NAME_MAX_SZ 32 +#define IONIC_QUEUE_NAME_MAX_SZ 16 struct ionic_queue { struct device *dev; diff -Nru linux-5.10.197/drivers/net/ethernet/pensando/ionic/ionic_lif.c linux-5.10.205/drivers/net/ethernet/pensando/ionic/ionic_lif.c --- linux-5.10.197/drivers/net/ethernet/pensando/ionic/ionic_lif.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/pensando/ionic/ionic_lif.c 2023-12-20 14:44:42.000000000 +0000 @@ -45,24 +45,24 @@ static void ionic_dim_work(struct work_struct *work) { struct dim *dim = container_of(work, struct dim, work); + struct ionic_intr_info *intr; struct dim_cq_moder cur_moder; struct ionic_qcq *qcq; + struct ionic_lif *lif; u32 new_coal; cur_moder = net_dim_get_rx_moderation(dim->mode, dim->profile_ix); qcq = container_of(dim, struct ionic_qcq, dim); - new_coal = ionic_coal_usec_to_hw(qcq->q.lif->ionic, cur_moder.usec); + lif = qcq->q.lif; + new_coal = ionic_coal_usec_to_hw(lif->ionic, cur_moder.usec); new_coal = new_coal ? new_coal : 1; - if (qcq->intr.dim_coal_hw != new_coal) { - unsigned int qi = qcq->cq.bound_q->index; - struct ionic_lif *lif = qcq->q.lif; - - qcq->intr.dim_coal_hw = new_coal; + intr = &qcq->intr; + if (intr->dim_coal_hw != new_coal) { + intr->dim_coal_hw = new_coal; ionic_intr_coal_init(lif->ionic->idev.intr_ctrl, - lif->rxqcqs[qi]->intr.index, - qcq->intr.dim_coal_hw); + intr->index, intr->dim_coal_hw); } dim->state = DIM_START_MEASURE; diff -Nru linux-5.10.197/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c linux-5.10.205/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c --- linux-5.10.197/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c 2023-12-20 14:44:42.000000000 +0000 @@ -1861,7 +1861,7 @@ if (protocol == cpu_to_be16(ETH_P_8021Q)) { - vh = (struct vlan_ethhdr *)skb->data; + vh = skb_vlan_eth_hdr(skb); protocol = vh->h_vlan_encapsulated_proto; flags = FLAGS_VLAN_TAGGED; diff -Nru linux-5.10.197/drivers/net/ethernet/qlogic/qed/qed_cxt.c linux-5.10.205/drivers/net/ethernet/qlogic/qed/qed_cxt.c --- linux-5.10.197/drivers/net/ethernet/qlogic/qed/qed_cxt.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/qlogic/qed/qed_cxt.c 2023-12-20 14:44:42.000000000 +0000 @@ -933,6 +933,7 @@ p_dma->virt_addr = NULL; } kfree(p_mngr->ilt_shadow); + p_mngr->ilt_shadow = NULL; } static int qed_ilt_blk_alloc(struct qed_hwfn *p_hwfn, diff -Nru linux-5.10.197/drivers/net/ethernet/qlogic/qed/qed_ll2.c linux-5.10.205/drivers/net/ethernet/qlogic/qed/qed_ll2.c --- linux-5.10.197/drivers/net/ethernet/qlogic/qed/qed_ll2.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/qlogic/qed/qed_ll2.c 2023-12-20 14:44:42.000000000 +0000 @@ -87,7 +87,10 @@ static int qed_ll2_alloc_buffer(struct qed_dev *cdev, u8 **data, dma_addr_t *phys_addr) { - *data = kmalloc(cdev->ll2->rx_size, GFP_ATOMIC); + size_t size = cdev->ll2->rx_size + NET_SKB_PAD + + SKB_DATA_ALIGN(sizeof(struct skb_shared_info)); + + *data = kmalloc(size, GFP_ATOMIC); if (!(*data)) { DP_INFO(cdev, "Failed to allocate LL2 buffer data\n"); return -ENOMEM; @@ -2541,7 +2544,7 @@ INIT_LIST_HEAD(&cdev->ll2->list); spin_lock_init(&cdev->ll2->lock); - cdev->ll2->rx_size = NET_SKB_PAD + ETH_HLEN + + cdev->ll2->rx_size = PRM_DMA_PAD_BYTES_NUM + ETH_HLEN + L1_CACHE_BYTES + params->mtu; /* Allocate memory for LL2. diff -Nru linux-5.10.197/drivers/net/ethernet/qlogic/qed/qed_ll2.h linux-5.10.205/drivers/net/ethernet/qlogic/qed/qed_ll2.h --- linux-5.10.197/drivers/net/ethernet/qlogic/qed/qed_ll2.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/qlogic/qed/qed_ll2.h 2023-12-20 14:44:42.000000000 +0000 @@ -111,9 +111,9 @@ enum core_tx_dest tx_dest; u8 tx_stats_en; bool main_func_queue; + struct qed_ll2_cbs cbs; struct qed_ll2_rx_queue rx_queue; struct qed_ll2_tx_queue tx_queue; - struct qed_ll2_cbs cbs; }; extern const struct qed_ll2_ops qed_ll2_ops_pass; diff -Nru linux-5.10.197/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c linux-5.10.205/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c --- linux-5.10.197/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c 2023-12-20 14:44:42.000000000 +0000 @@ -317,7 +317,7 @@ if (adapter->flags & QLCNIC_VLAN_FILTERING) { if (protocol == ETH_P_8021Q) { - vh = (struct vlan_ethhdr *)skb->data; + vh = skb_vlan_eth_hdr(skb); vlan_id = ntohs(vh->h_vlan_TCI); } else if (skb_vlan_tag_present(skb)) { vlan_id = skb_vlan_tag_get(skb); @@ -467,7 +467,7 @@ u32 producer = tx_ring->producer; if (protocol == ETH_P_8021Q) { - vh = (struct vlan_ethhdr *)skb->data; + vh = skb_vlan_eth_hdr(skb); flags = QLCNIC_FLAGS_VLAN_TAGGED; vlan_tci = ntohs(vh->h_vlan_TCI); protocol = ntohs(vh->h_vlan_encapsulated_proto); diff -Nru linux-5.10.197/drivers/net/ethernet/qualcomm/qca_debug.c linux-5.10.205/drivers/net/ethernet/qualcomm/qca_debug.c --- linux-5.10.197/drivers/net/ethernet/qualcomm/qca_debug.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/qualcomm/qca_debug.c 2023-12-20 14:44:42.000000000 +0000 @@ -30,6 +30,8 @@ #define QCASPI_MAX_REGS 0x20 +#define QCASPI_RX_MAX_FRAMES 4 + static const u16 qcaspi_spi_regs[] = { SPI_REG_BFR_SIZE, SPI_REG_WRBUF_SPC_AVA, @@ -249,31 +251,30 @@ { struct qcaspi *qca = netdev_priv(dev); - ring->rx_max_pending = 4; + ring->rx_max_pending = QCASPI_RX_MAX_FRAMES; ring->tx_max_pending = TX_RING_MAX_LEN; - ring->rx_pending = 4; + ring->rx_pending = QCASPI_RX_MAX_FRAMES; ring->tx_pending = qca->txr.count; } static int qcaspi_set_ringparam(struct net_device *dev, struct ethtool_ringparam *ring) { - const struct net_device_ops *ops = dev->netdev_ops; struct qcaspi *qca = netdev_priv(dev); - if ((ring->rx_pending) || + if (ring->rx_pending != QCASPI_RX_MAX_FRAMES || (ring->rx_mini_pending) || (ring->rx_jumbo_pending)) return -EINVAL; - if (netif_running(dev)) - ops->ndo_stop(dev); + if (qca->spi_thread) + kthread_park(qca->spi_thread); qca->txr.count = max_t(u32, ring->tx_pending, TX_RING_MIN_LEN); qca->txr.count = min_t(u16, qca->txr.count, TX_RING_MAX_LEN); - if (netif_running(dev)) - ops->ndo_open(dev); + if (qca->spi_thread) + kthread_unpark(qca->spi_thread); return 0; } diff -Nru linux-5.10.197/drivers/net/ethernet/qualcomm/qca_spi.c linux-5.10.205/drivers/net/ethernet/qualcomm/qca_spi.c --- linux-5.10.197/drivers/net/ethernet/qualcomm/qca_spi.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/qualcomm/qca_spi.c 2023-12-20 14:44:42.000000000 +0000 @@ -573,6 +573,18 @@ netdev_info(qca->net_dev, "SPI thread created\n"); while (!kthread_should_stop()) { set_current_state(TASK_INTERRUPTIBLE); + if (kthread_should_park()) { + netif_tx_disable(qca->net_dev); + netif_carrier_off(qca->net_dev); + qcaspi_flush_tx_ring(qca); + kthread_parkme(); + if (qca->sync == QCASPI_SYNC_READY) { + netif_carrier_on(qca->net_dev); + netif_wake_queue(qca->net_dev); + } + continue; + } + if ((qca->intr_req == qca->intr_svc) && !qca->txr.skb[qca->txr.head]) schedule(); @@ -601,11 +613,17 @@ if (intr_cause & SPI_INT_CPU_ON) { qcaspi_qca7k_sync(qca, QCASPI_EVENT_CPUON); + /* Frame decoding in progress */ + if (qca->frm_handle.state != qca->frm_handle.init) + qca->net_dev->stats.rx_dropped++; + + qcafrm_fsm_init_spi(&qca->frm_handle); + qca->stats.device_reset++; + /* not synced. */ if (qca->sync != QCASPI_SYNC_READY) continue; - qca->stats.device_reset++; netif_wake_queue(qca->net_dev); netif_carrier_on(qca->net_dev); } diff -Nru linux-5.10.197/drivers/net/ethernet/realtek/r8169_main.c linux-5.10.205/drivers/net/ethernet/realtek/r8169_main.c --- linux-5.10.197/drivers/net/ethernet/realtek/r8169_main.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/realtek/r8169_main.c 2023-12-20 14:44:42.000000000 +0000 @@ -205,6 +205,7 @@ /* No threshold before first PCI xfer */ #define RX_FIFO_THRESH (7 << RXCFG_FIFO_SHIFT) #define RX_EARLY_OFF (1 << 11) +#define RX_PAUSE_SLOT_ON (1 << 11) /* 8125b and later */ #define RXCFG_DMA_SHIFT 8 /* Unlimited maximum PCI burst. */ #define RX_DMA_BURST (7 << RXCFG_DMA_SHIFT) @@ -582,6 +583,8 @@ enum rtl_flag { RTL_FLAG_TASK_ENABLED = 0, RTL_FLAG_TASK_RESET_PENDING, + RTL_FLAG_TASK_RESET_NO_QUEUE_WAKE, + RTL_FLAG_TASK_TX_TIMEOUT, RTL_FLAG_MAX }; @@ -2316,9 +2319,13 @@ case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_52: RTL_W32(tp, RxConfig, RX128_INT_EN | RX_MULTI_EN | RX_DMA_BURST | RX_EARLY_OFF); break; - case RTL_GIGA_MAC_VER_60 ... RTL_GIGA_MAC_VER_63: + case RTL_GIGA_MAC_VER_61: RTL_W32(tp, RxConfig, RX_FETCH_DFLT_8125 | RX_DMA_BURST); break; + case RTL_GIGA_MAC_VER_63: + RTL_W32(tp, RxConfig, RX_FETCH_DFLT_8125 | RX_DMA_BURST | + RX_PAUSE_SLOT_ON); + break; default: RTL_W32(tp, RxConfig, RX128_INT_EN | RX_DMA_BURST); break; @@ -2577,6 +2584,8 @@ if (dev->flags & IFF_PROMISC) { rx_mode |= AcceptAllPhys; + } else if (!(dev->flags & IFF_MULTICAST)) { + rx_mode &= ~AcceptMulticast; } else if (netdev_mc_count(dev) > MC_FILTER_LIMIT || dev->flags & IFF_ALLMULTI || tp->mac_version == RTL_GIGA_MAC_VER_35) { @@ -4034,7 +4043,7 @@ { struct rtl8169_private *tp = netdev_priv(dev); - rtl_schedule_task(tp, RTL_FLAG_TASK_RESET_PENDING); + rtl_schedule_task(tp, RTL_FLAG_TASK_TX_TIMEOUT); } static int rtl8169_tx_map(struct rtl8169_private *tp, const u32 *opts, u32 len, @@ -4470,7 +4479,7 @@ struct sk_buff *skb = tp->tx_skb[entry].skb; u32 status; - status = le32_to_cpu(tp->TxDescArray[entry].opts1); + status = le32_to_cpu(READ_ONCE(tp->TxDescArray[entry].opts1)); if (status & DescOwn) break; @@ -4544,7 +4553,7 @@ dma_addr_t addr; u32 status; - status = le32_to_cpu(desc->opts1); + status = le32_to_cpu(READ_ONCE(desc->opts1)); if (status & DescOwn) break; @@ -4654,6 +4663,7 @@ { struct rtl8169_private *tp = container_of(work, struct rtl8169_private, wk.work); + int ret; rtnl_lock(); @@ -4661,9 +4671,21 @@ !test_bit(RTL_FLAG_TASK_ENABLED, tp->wk.flags)) goto out_unlock; + if (test_and_clear_bit(RTL_FLAG_TASK_TX_TIMEOUT, tp->wk.flags)) { + /* ASPM compatibility issues are a typical reason for tx timeouts */ + ret = pci_disable_link_state(tp->pci_dev, PCIE_LINK_STATE_L1 | + PCIE_LINK_STATE_L0S); + if (!ret) + netdev_warn_once(tp->dev, "ASPM disabled on Tx timeout\n"); + goto reset; + } + if (test_and_clear_bit(RTL_FLAG_TASK_RESET_PENDING, tp->wk.flags)) { +reset: rtl_reset_work(tp); netif_wake_queue(tp->dev); + } else if (test_and_clear_bit(RTL_FLAG_TASK_RESET_NO_QUEUE_WAKE, tp->wk.flags)) { + rtl_reset_work(tp); } out_unlock: rtnl_unlock(); @@ -4688,12 +4710,17 @@ static void r8169_phylink_handler(struct net_device *ndev) { struct rtl8169_private *tp = netdev_priv(ndev); + struct device *d = tp_to_dev(tp); if (netif_carrier_ok(ndev)) { rtl_link_chg_patch(tp); - pm_request_resume(&tp->pci_dev->dev); + pm_request_resume(d); + netif_wake_queue(tp->dev); } else { - pm_runtime_idle(&tp->pci_dev->dev); + /* In few cases rx is broken after link-down otherwise */ + if (rtl_is_8125(tp)) + rtl_schedule_task(tp, RTL_FLAG_TASK_RESET_NO_QUEUE_WAKE); + pm_runtime_idle(d); } if (net_ratelimit()) @@ -4762,7 +4789,7 @@ rtl8169_down(tp); rtl8169_rx_clear(tp); - cancel_work_sync(&tp->wk.work); + cancel_work(&tp->wk.work); free_irq(pci_irq_vector(pdev, 0), tp); @@ -5028,6 +5055,8 @@ if (pci_dev_run_wake(pdev)) pm_runtime_get_noresume(&pdev->dev); + cancel_work_sync(&tp->wk.work); + unregister_netdev(tp->dev); if (r8168_check_dash(tp)) diff -Nru linux-5.10.197/drivers/net/ethernet/renesas/ravb_main.c linux-5.10.205/drivers/net/ethernet/renesas/ravb_main.c --- linux-5.10.197/drivers/net/ethernet/renesas/ravb_main.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/renesas/ravb_main.c 2023-12-20 14:44:42.000000000 +0000 @@ -1383,13 +1383,13 @@ if (priv->chip_id == RCAR_GEN2) ravb_ptp_init(ndev, priv->pdev); - netif_tx_start_all_queues(ndev); - /* PHY control start */ error = ravb_phy_start(ndev); if (error) goto out_ptp_stop; + netif_tx_start_all_queues(ndev); + return 0; out_ptp_stop: @@ -1438,6 +1438,12 @@ struct net_device *ndev = priv->ndev; int error; + if (!rtnl_trylock()) { + usleep_range(1000, 2000); + schedule_work(&priv->work); + return; + } + netif_tx_stop_all_queues(ndev); /* Stop PTP Clock driver */ @@ -1470,7 +1476,7 @@ */ netdev_err(ndev, "%s: ravb_dmac_init() failed, error %d\n", __func__, error); - return; + goto out_unlock; } ravb_emac_init(ndev); @@ -1480,6 +1486,9 @@ ravb_ptp_init(ndev, priv->pdev); netif_tx_start_all_queues(ndev); + +out_unlock: + rtnl_unlock(); } /* Packet transmit function for Ethernet AVB */ @@ -1706,6 +1715,8 @@ of_phy_deregister_fixed_link(np); } + cancel_work_sync(&priv->work); + if (priv->chip_id != RCAR_GEN2) { free_irq(priv->tx_irqs[RAVB_NC], ndev); free_irq(priv->rx_irqs[RAVB_NC], ndev); @@ -2061,7 +2072,9 @@ ndev->hw_features = NETIF_F_RXCSUM; pm_runtime_enable(&pdev->dev); - pm_runtime_get_sync(&pdev->dev); + error = pm_runtime_resume_and_get(&pdev->dev); + if (error < 0) + goto out_rpm_disable; /* The Ether-specific entries in the device structure. */ ndev->base_addr = res->start; @@ -2236,6 +2249,7 @@ free_netdev(ndev); pm_runtime_put(&pdev->dev); +out_rpm_disable: pm_runtime_disable(&pdev->dev); return error; } @@ -2249,14 +2263,14 @@ if (priv->chip_id != RCAR_GEN2) ravb_ptp_stop(ndev); - dma_free_coherent(ndev->dev.parent, priv->desc_bat_size, priv->desc_bat, - priv->desc_bat_dma); /* Set reset mode */ ravb_write(ndev, CCC_OPC_RESET, CCC); unregister_netdev(ndev); netif_napi_del(&priv->napi[RAVB_NC]); netif_napi_del(&priv->napi[RAVB_BE]); ravb_mdio_release(priv); + dma_free_coherent(ndev->dev.parent, priv->desc_bat_size, priv->desc_bat, + priv->desc_bat_dma); pm_runtime_put_sync(&pdev->dev); pm_runtime_disable(&pdev->dev); free_netdev(ndev); diff -Nru linux-5.10.197/drivers/net/ethernet/sfc/tx_tso.c linux-5.10.205/drivers/net/ethernet/sfc/tx_tso.c --- linux-5.10.197/drivers/net/ethernet/sfc/tx_tso.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/sfc/tx_tso.c 2023-12-20 14:44:42.000000000 +0000 @@ -147,7 +147,7 @@ EFX_WARN_ON_ONCE_PARANOID(((struct ethhdr *)skb->data)->h_proto != protocol); if (protocol == htons(ETH_P_8021Q)) { - struct vlan_ethhdr *veh = (struct vlan_ethhdr *)skb->data; + struct vlan_ethhdr *veh = skb_vlan_eth_hdr(skb); protocol = veh->h_vlan_encapsulated_proto; } diff -Nru linux-5.10.197/drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c linux-5.10.205/drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c --- linux-5.10.197/drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c 2023-12-20 14:44:42.000000000 +0000 @@ -105,6 +105,7 @@ int (*parse_data)(struct stm32_dwmac *dwmac, struct device *dev); u32 syscfg_eth_mask; + bool clk_rx_enable_in_suspend; }; static int stm32_dwmac_init(struct plat_stmmacenet_data *plat_dat) @@ -122,7 +123,8 @@ if (ret) return ret; - if (!dwmac->dev->power.is_suspended) { + if (!dwmac->ops->clk_rx_enable_in_suspend || + !dwmac->dev->power.is_suspended) { ret = clk_prepare_enable(dwmac->clk_rx); if (ret) { clk_disable_unprepare(dwmac->clk_tx); @@ -515,7 +517,8 @@ .suspend = stm32mp1_suspend, .resume = stm32mp1_resume, .parse_data = stm32mp1_parse_data, - .syscfg_eth_mask = SYSCFG_MP1_ETH_MASK + .syscfg_eth_mask = SYSCFG_MP1_ETH_MASK, + .clk_rx_enable_in_suspend = true }; static const struct of_device_id stm32_dwmac_match[] = { diff -Nru linux-5.10.197/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h linux-5.10.205/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h --- linux-5.10.197/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h 2023-12-20 14:44:42.000000000 +0000 @@ -222,7 +222,7 @@ ((val) << XGMAC_PPS_MINIDX(x)) #define XGMAC_PPSCMD_START 0x2 #define XGMAC_PPSCMD_STOP 0x5 -#define XGMAC_PPSEN0 BIT(4) +#define XGMAC_PPSENx(x) BIT(4 + (x) * 8) #define XGMAC_PPSx_TARGET_TIME_SEC(x) (0x00000d80 + (x) * 0x10) #define XGMAC_PPSx_TARGET_TIME_NSEC(x) (0x00000d84 + (x) * 0x10) #define XGMAC_TRGTBUSY0 BIT(31) diff -Nru linux-5.10.197/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c linux-5.10.205/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c --- linux-5.10.197/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c 2023-12-20 14:44:42.000000000 +0000 @@ -1132,7 +1132,19 @@ val |= XGMAC_PPSCMDx(index, XGMAC_PPSCMD_START); val |= XGMAC_TRGTMODSELx(index, XGMAC_PPSCMD_START); - val |= XGMAC_PPSEN0; + + /* XGMAC Core has 4 PPS outputs at most. + * + * Prior XGMAC Core 3.20, Fixed mode or Flexible mode are selectable for + * PPS0 only via PPSEN0. PPS{1,2,3} are in Flexible mode by default, + * and can not be switched to Fixed mode, since PPSEN{1,2,3} are + * read-only reserved to 0. + * But we always set PPSEN{1,2,3} do not make things worse ;-) + * + * From XGMAC Core 3.20 and later, PPSEN{0,1,2,3} are writable and must + * be set, or the PPS outputs stay in Fixed PPS mode by default. + */ + val |= XGMAC_PPSENx(index); writel(cfg->start.tv_sec, ioaddr + XGMAC_PPSx_TARGET_TIME_SEC(index)); diff -Nru linux-5.10.197/drivers/net/ethernet/stmicro/stmmac/mmc_core.c linux-5.10.205/drivers/net/ethernet/stmicro/stmmac/mmc_core.c --- linux-5.10.197/drivers/net/ethernet/stmicro/stmmac/mmc_core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/stmicro/stmmac/mmc_core.c 2023-12-20 14:44:42.000000000 +0000 @@ -177,8 +177,10 @@ #define MMC_XGMAC_RX_DISCARD_OCT_GB 0x1b4 #define MMC_XGMAC_RX_ALIGN_ERR_PKT 0x1bc +#define MMC_XGMAC_TX_FPE_INTR_MASK 0x204 #define MMC_XGMAC_TX_FPE_FRAG 0x208 #define MMC_XGMAC_TX_HOLD_REQ 0x20c +#define MMC_XGMAC_RX_FPE_INTR_MASK 0x224 #define MMC_XGMAC_RX_PKT_ASSEMBLY_ERR 0x228 #define MMC_XGMAC_RX_PKT_SMD_ERR 0x22c #define MMC_XGMAC_RX_PKT_ASSEMBLY_OK 0x230 @@ -352,6 +354,8 @@ { writel(0x0, mmcaddr + MMC_RX_INTR_MASK); writel(0x0, mmcaddr + MMC_TX_INTR_MASK); + writel(MMC_DEFAULT_MASK, mmcaddr + MMC_XGMAC_TX_FPE_INTR_MASK); + writel(MMC_DEFAULT_MASK, mmcaddr + MMC_XGMAC_RX_FPE_INTR_MASK); writel(MMC_DEFAULT_MASK, mmcaddr + MMC_XGMAC_RX_IPC_INTR_MASK); } diff -Nru linux-5.10.197/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c linux-5.10.205/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c --- linux-5.10.197/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 2023-12-20 14:44:42.000000000 +0000 @@ -3660,13 +3660,10 @@ static void stmmac_rx_vlan(struct net_device *dev, struct sk_buff *skb) { - struct vlan_ethhdr *veth; - __be16 vlan_proto; + struct vlan_ethhdr *veth = skb_vlan_eth_hdr(skb); + __be16 vlan_proto = veth->h_vlan_proto; u16 vlanid; - veth = (struct vlan_ethhdr *)skb->data; - vlan_proto = veth->h_vlan_proto; - if ((vlan_proto == htons(ETH_P_8021Q) && dev->features & NETIF_F_HW_VLAN_CTAG_RX) || (vlan_proto == htons(ETH_P_8021AD) && @@ -3858,10 +3855,10 @@ len = 0; } +read_again: if (count >= limit) break; -read_again: buf1_len = 0; buf2_len = 0; entry = next_entry; @@ -5190,9 +5187,9 @@ /* MDIO bus Registration */ ret = stmmac_mdio_register(ndev); if (ret < 0) { - dev_err(priv->device, - "%s: MDIO bus (id: %d) registration failed", - __func__, priv->plat->bus_id); + dev_err_probe(priv->device, ret, + "%s: MDIO bus (id: %d) registration failed\n", + __func__, priv->plat->bus_id); goto error_mdio_register; } } diff -Nru linux-5.10.197/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c linux-5.10.205/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c --- linux-5.10.197/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c 2023-12-20 14:44:42.000000000 +0000 @@ -459,8 +459,12 @@ new_bus->parent = priv->device; err = of_mdiobus_register(new_bus, mdio_node); - if (err != 0) { - dev_err(dev, "Cannot register the MDIO bus\n"); + if (err == -ENODEV) { + err = 0; + dev_info(dev, "MDIO bus is disabled\n"); + goto bus_register_fail; + } else if (err) { + dev_err_probe(dev, err, "Cannot register the MDIO bus\n"); goto bus_register_fail; } diff -Nru linux-5.10.197/drivers/net/ethernet/ti/am65-cpsw-nuss.c linux-5.10.205/drivers/net/ethernet/ti/am65-cpsw-nuss.c --- linux-5.10.197/drivers/net/ethernet/ti/am65-cpsw-nuss.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/ti/am65-cpsw-nuss.c 2023-12-20 14:44:42.000000000 +0000 @@ -1496,6 +1496,7 @@ if (tx_chn->irq <= 0) { dev_err(dev, "Failed to get tx dma irq %d\n", tx_chn->irq); + ret = tx_chn->irq ?: -ENXIO; goto err; } diff -Nru linux-5.10.197/drivers/net/ethernet/toshiba/ps3_gelic_wireless.c linux-5.10.205/drivers/net/ethernet/toshiba/ps3_gelic_wireless.c --- linux-5.10.197/drivers/net/ethernet/toshiba/ps3_gelic_wireless.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/toshiba/ps3_gelic_wireless.c 2023-12-20 14:44:42.000000000 +0000 @@ -1217,7 +1217,7 @@ key_index = wl->current_key; if (!enc->length && (ext->ext_flags & IW_ENCODE_EXT_SET_TX_KEY)) { - /* reques to change default key index */ + /* request to change default key index */ pr_debug("%s: request to change default key to %d\n", __func__, key_index); wl->current_key = key_index; diff -Nru linux-5.10.197/drivers/net/ethernet/toshiba/spider_net.c linux-5.10.205/drivers/net/ethernet/toshiba/spider_net.c --- linux-5.10.197/drivers/net/ethernet/toshiba/spider_net.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/toshiba/spider_net.c 2023-12-20 14:44:42.000000000 +0000 @@ -2311,7 +2311,7 @@ struct spider_net_card *card; netdev = alloc_etherdev(struct_size(card, darray, - tx_descriptors + rx_descriptors)); + size_add(tx_descriptors, rx_descriptors))); if (!netdev) return NULL; diff -Nru linux-5.10.197/drivers/net/ethernet/xilinx/xilinx_axienet_main.c linux-5.10.205/drivers/net/ethernet/xilinx/xilinx_axienet_main.c --- linux-5.10.197/drivers/net/ethernet/xilinx/xilinx_axienet_main.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ethernet/xilinx/xilinx_axienet_main.c 2023-12-20 14:44:42.000000000 +0000 @@ -763,7 +763,7 @@ if (lp->features & XAE_FEATURE_FULL_TX_CSUM) { /* Tx Full Checksum Offload Enabled */ cur_p->app0 |= 2; - } else if (lp->features & XAE_FEATURE_PARTIAL_RX_CSUM) { + } else if (lp->features & XAE_FEATURE_PARTIAL_TX_CSUM) { csum_start_off = skb_transport_offset(skb); csum_index_off = csum_start_off + skb->csum_offset; /* Tx Partial Checksum Offload Enabled */ diff -Nru linux-5.10.197/drivers/net/gtp.c linux-5.10.205/drivers/net/gtp.c --- linux-5.10.197/drivers/net/gtp.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/gtp.c 2023-12-20 14:44:42.000000000 +0000 @@ -538,8 +538,9 @@ rt->dst.ops->update_pmtu(&rt->dst, NULL, skb, mtu, false); - if (!skb_is_gso(skb) && (iph->frag_off & htons(IP_DF)) && - mtu < ntohs(iph->tot_len)) { + if (iph->frag_off & htons(IP_DF) && + ((!skb_is_gso(skb) && skb->len > mtu) || + (skb_is_gso(skb) && !skb_gso_validate_network_len(skb, mtu)))) { netdev_dbg(dev, "packet too big, fragmentation needed\n"); icmp_ndo_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, htonl(mtu)); diff -Nru linux-5.10.197/drivers/net/hyperv/Kconfig linux-5.10.205/drivers/net/hyperv/Kconfig --- linux-5.10.197/drivers/net/hyperv/Kconfig 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/hyperv/Kconfig 2023-12-20 14:44:42.000000000 +0000 @@ -3,5 +3,6 @@ tristate "Microsoft Hyper-V virtual network driver" depends on HYPERV select UCS2_STRING + select NLS help Select this option to enable the Hyper-V virtual network driver. diff -Nru linux-5.10.197/drivers/net/hyperv/netvsc_drv.c linux-5.10.205/drivers/net/hyperv/netvsc_drv.c --- linux-5.10.197/drivers/net/hyperv/netvsc_drv.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/hyperv/netvsc_drv.c 2023-12-20 14:44:42.000000000 +0000 @@ -2217,9 +2217,6 @@ goto upper_link_failed; } - /* set slave flag before open to prevent IPv6 addrconf */ - vf_netdev->flags |= IFF_SLAVE; - schedule_delayed_work(&ndev_ctx->vf_takeover, VF_TAKEOVER_INT); call_netdevice_notifiers(NETDEV_JOIN, vf_netdev); @@ -2317,16 +2314,18 @@ return hv_get_drvdata(ndev_ctx->device_ctx); } - /* Fallback path to check synthetic vf with - * help of mac addr + /* Fallback path to check synthetic vf with help of mac addr. + * Because this function can be called before vf_netdev is + * initialized (NETDEV_POST_INIT) when its perm_addr has not been copied + * from dev_addr, also try to match to its dev_addr. + * Note: On Hyper-V and Azure, it's not possible to set a MAC address + * on a VF that matches to the MAC of a unrelated NETVSC device. */ list_for_each_entry(ndev_ctx, &netvsc_dev_list, list) { ndev = hv_get_drvdata(ndev_ctx->device_ctx); - if (ether_addr_equal(vf_netdev->perm_addr, ndev->perm_addr)) { - netdev_notice(vf_netdev, - "falling back to mac addr based matching\n"); + if (ether_addr_equal(vf_netdev->perm_addr, ndev->perm_addr) || + ether_addr_equal(vf_netdev->dev_addr, ndev->perm_addr)) return ndev; - } } netdev_notice(vf_netdev, @@ -2334,6 +2333,19 @@ return NULL; } +static int netvsc_prepare_bonding(struct net_device *vf_netdev) +{ + struct net_device *ndev; + + ndev = get_netvsc_byslot(vf_netdev); + if (!ndev) + return NOTIFY_DONE; + + /* set slave flag before open to prevent IPv6 addrconf */ + vf_netdev->flags |= IFF_SLAVE; + return NOTIFY_DONE; +} + static int netvsc_register_vf(struct net_device *vf_netdev) { struct net_device_context *net_device_ctx; @@ -2516,15 +2528,6 @@ goto devinfo_failed; } - nvdev = rndis_filter_device_add(dev, device_info); - if (IS_ERR(nvdev)) { - ret = PTR_ERR(nvdev); - netdev_err(net, "unable to add netvsc device (ret %d)\n", ret); - goto rndis_failed; - } - - memcpy(net->dev_addr, device_info->mac_adr, ETH_ALEN); - /* We must get rtnl lock before scheduling nvdev->subchan_work, * otherwise netvsc_subchan_work() can get rtnl lock first and wait * all subchannels to show up, but that may not happen because @@ -2532,9 +2535,23 @@ * -> ... -> device_add() -> ... -> __device_attach() can't get * the device lock, so all the subchannels can't be processed -- * finally netvsc_subchan_work() hangs forever. + * + * The rtnl lock also needs to be held before rndis_filter_device_add() + * which advertises nvsp_2_vsc_capability / sriov bit, and triggers + * VF NIC offering and registering. If VF NIC finished register_netdev() + * earlier it may cause name based config failure. */ rtnl_lock(); + nvdev = rndis_filter_device_add(dev, device_info); + if (IS_ERR(nvdev)) { + ret = PTR_ERR(nvdev); + netdev_err(net, "unable to add netvsc device (ret %d)\n", ret); + goto rndis_failed; + } + + memcpy(net->dev_addr, device_info->mac_adr, ETH_ALEN); + if (nvdev->num_chn > 1) schedule_work(&nvdev->subchan_work); @@ -2568,9 +2585,9 @@ return 0; register_failed: - rtnl_unlock(); rndis_filter_device_remove(dev, nvdev); rndis_failed: + rtnl_unlock(); netvsc_devinfo_put(device_info); devinfo_failed: free_percpu(net_device_ctx->vf_stats); @@ -2737,6 +2754,8 @@ return NOTIFY_DONE; switch (event) { + case NETDEV_POST_INIT: + return netvsc_prepare_bonding(event_dev); case NETDEV_REGISTER: return netvsc_register_vf(event_dev); case NETDEV_UNREGISTER: @@ -2771,12 +2790,17 @@ } netvsc_ring_bytes = ring_size * PAGE_SIZE; + register_netdevice_notifier(&netvsc_netdev_notifier); + ret = vmbus_driver_register(&netvsc_drv); if (ret) - return ret; + goto err_vmbus_reg; - register_netdevice_notifier(&netvsc_netdev_notifier); return 0; + +err_vmbus_reg: + unregister_netdevice_notifier(&netvsc_netdev_notifier); + return ret; } MODULE_LICENSE("GPL"); diff -Nru linux-5.10.197/drivers/net/ieee802154/adf7242.c linux-5.10.205/drivers/net/ieee802154/adf7242.c --- linux-5.10.197/drivers/net/ieee802154/adf7242.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ieee802154/adf7242.c 2023-12-20 14:44:42.000000000 +0000 @@ -1162,9 +1162,10 @@ static void adf7242_debugfs_init(struct adf7242_local *lp) { - char debugfs_dir_name[DNAME_INLINE_LEN + 1] = "adf7242-"; + char debugfs_dir_name[DNAME_INLINE_LEN + 1]; - strncat(debugfs_dir_name, dev_name(&lp->spi->dev), DNAME_INLINE_LEN); + snprintf(debugfs_dir_name, sizeof(debugfs_dir_name), + "adf7242-%s", dev_name(&lp->spi->dev)); lp->debugfs_root = debugfs_create_dir(debugfs_dir_name, NULL); diff -Nru linux-5.10.197/drivers/net/ieee802154/ca8210.c linux-5.10.205/drivers/net/ieee802154/ca8210.c --- linux-5.10.197/drivers/net/ieee802154/ca8210.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ieee802154/ca8210.c 2023-12-20 14:44:42.000000000 +0000 @@ -2783,7 +2783,6 @@ struct device_node *np = spi->dev.of_node; struct ca8210_priv *priv = spi_get_drvdata(spi); struct ca8210_platform_data *pdata = spi->dev.platform_data; - int ret = 0; if (!np) return -EFAULT; @@ -2800,18 +2799,8 @@ dev_crit(&spi->dev, "Failed to register external clk\n"); return PTR_ERR(priv->clk); } - ret = of_clk_add_provider(np, of_clk_src_simple_get, priv->clk); - if (ret) { - clk_unregister(priv->clk); - dev_crit( - &spi->dev, - "Failed to register external clock as clock provider\n" - ); - } else { - dev_info(&spi->dev, "External clock set as clock provider\n"); - } - return ret; + return of_clk_add_provider(np, of_clk_src_simple_get, priv->clk); } /** @@ -2823,8 +2812,8 @@ { struct ca8210_priv *priv = spi_get_drvdata(spi); - if (!priv->clk) - return + if (IS_ERR_OR_NULL(priv->clk)) + return; of_clk_del_provider(spi->dev.of_node); clk_unregister(priv->clk); diff -Nru linux-5.10.197/drivers/net/ipvlan/ipvlan_core.c linux-5.10.205/drivers/net/ipvlan/ipvlan_core.c --- linux-5.10.197/drivers/net/ipvlan/ipvlan_core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ipvlan/ipvlan_core.c 2023-12-20 14:44:42.000000000 +0000 @@ -412,7 +412,7 @@ return addr; } -static int ipvlan_process_v4_outbound(struct sk_buff *skb) +static noinline_for_stack int ipvlan_process_v4_outbound(struct sk_buff *skb) { const struct iphdr *ip4h = ip_hdr(skb); struct net_device *dev = skb->dev; @@ -442,25 +442,23 @@ err = ip_local_out(net, skb->sk, skb); if (unlikely(net_xmit_eval(err))) - dev->stats.tx_errors++; + DEV_STATS_INC(dev, tx_errors); else ret = NET_XMIT_SUCCESS; goto out; err: - dev->stats.tx_errors++; + DEV_STATS_INC(dev, tx_errors); kfree_skb(skb); out: return ret; } #if IS_ENABLED(CONFIG_IPV6) -static int ipvlan_process_v6_outbound(struct sk_buff *skb) + +static noinline_for_stack int +ipvlan_route_v6_outbound(struct net_device *dev, struct sk_buff *skb) { const struct ipv6hdr *ip6h = ipv6_hdr(skb); - struct net_device *dev = skb->dev; - struct net *net = dev_net(dev); - struct dst_entry *dst; - int err, ret = NET_XMIT_DROP; struct flowi6 fl6 = { .flowi6_oif = dev->ifindex, .daddr = ip6h->daddr, @@ -470,27 +468,38 @@ .flowi6_mark = skb->mark, .flowi6_proto = ip6h->nexthdr, }; + struct dst_entry *dst; + int err; - dst = ip6_route_output(net, NULL, &fl6); - if (dst->error) { - ret = dst->error; + dst = ip6_route_output(dev_net(dev), NULL, &fl6); + err = dst->error; + if (err) { dst_release(dst); - goto err; + return err; } skb_dst_set(skb, dst); + return 0; +} + +static int ipvlan_process_v6_outbound(struct sk_buff *skb) +{ + struct net_device *dev = skb->dev; + int err, ret = NET_XMIT_DROP; + + err = ipvlan_route_v6_outbound(dev, skb); + if (unlikely(err)) { + DEV_STATS_INC(dev, tx_errors); + kfree_skb(skb); + return err; + } memset(IP6CB(skb), 0, sizeof(*IP6CB(skb))); - err = ip6_local_out(net, skb->sk, skb); + err = ip6_local_out(dev_net(dev), skb->sk, skb); if (unlikely(net_xmit_eval(err))) - dev->stats.tx_errors++; + DEV_STATS_INC(dev, tx_errors); else ret = NET_XMIT_SUCCESS; - goto out; -err: - dev->stats.tx_errors++; - kfree_skb(skb); -out: return ret; } #else diff -Nru linux-5.10.197/drivers/net/ipvlan/ipvlan_main.c linux-5.10.205/drivers/net/ipvlan/ipvlan_main.c --- linux-5.10.197/drivers/net/ipvlan/ipvlan_main.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ipvlan/ipvlan_main.c 2023-12-20 14:44:42.000000000 +0000 @@ -322,6 +322,7 @@ s->rx_dropped = rx_errs; s->tx_dropped = tx_drps; } + s->tx_errors = DEV_STATS_READ(dev, tx_errors); } static int ipvlan_vlan_rx_add_vid(struct net_device *dev, __be16 proto, u16 vid) diff -Nru linux-5.10.197/drivers/net/macsec.c linux-5.10.205/drivers/net/macsec.c --- linux-5.10.197/drivers/net/macsec.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/macsec.c 2023-12-20 14:44:42.000000000 +0000 @@ -2414,6 +2414,7 @@ ctx.sa.assoc_num = assoc_num; ctx.sa.tx_sa = tx_sa; + ctx.sa.update_pn = !!prev_pn.full64; ctx.secy = secy; ret = macsec_offload(ops->mdo_upd_txsa, &ctx); @@ -2507,6 +2508,7 @@ ctx.sa.assoc_num = assoc_num; ctx.sa.rx_sa = rx_sa; + ctx.sa.update_pn = !!prev_pn.full64; ctx.secy = secy; ret = macsec_offload(ops->mdo_upd_rxsa, &ctx); @@ -3684,9 +3686,9 @@ dev_fetch_sw_netstats(s, dev->tstats); - s->rx_dropped = atomic_long_read(&dev->stats.__rx_dropped); - s->tx_dropped = atomic_long_read(&dev->stats.__tx_dropped); - s->rx_errors = atomic_long_read(&dev->stats.__rx_errors); + s->rx_dropped = DEV_STATS_READ(dev, rx_dropped); + s->tx_dropped = DEV_STATS_READ(dev, tx_dropped); + s->rx_errors = DEV_STATS_READ(dev, rx_errors); } static int macsec_get_iflink(const struct net_device *dev) diff -Nru linux-5.10.197/drivers/net/macvlan.c linux-5.10.205/drivers/net/macvlan.c --- linux-5.10.197/drivers/net/macvlan.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/macvlan.c 2023-12-20 14:44:42.000000000 +0000 @@ -765,7 +765,7 @@ if (dev->flags & IFF_UP) { if (change & IFF_ALLMULTI) dev_set_allmulti(lowerdev, dev->flags & IFF_ALLMULTI ? 1 : -1); - if (change & IFF_PROMISC) + if (!macvlan_passthru(vlan->port) && change & IFF_PROMISC) dev_set_promiscuity(lowerdev, dev->flags & IFF_PROMISC ? 1 : -1); diff -Nru linux-5.10.197/drivers/net/phy/mscc/mscc_macsec.c linux-5.10.205/drivers/net/phy/mscc/mscc_macsec.c --- linux-5.10.197/drivers/net/phy/mscc/mscc_macsec.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/phy/mscc/mscc_macsec.c 2023-12-20 14:44:42.000000000 +0000 @@ -880,6 +880,9 @@ { struct macsec_flow *flow; + if (ctx->sa.update_pn) + return -EINVAL; + flow = vsc8584_macsec_find_flow(ctx, MACSEC_INGR); if (IS_ERR(flow)) return PTR_ERR(flow); @@ -929,6 +932,9 @@ { struct macsec_flow *flow; + if (ctx->sa.update_pn) + return -EINVAL; + flow = vsc8584_macsec_find_flow(ctx, MACSEC_EGR); if (IS_ERR(flow)) return PTR_ERR(flow); diff -Nru linux-5.10.197/drivers/net/phy/phylink.c linux-5.10.205/drivers/net/phy/phylink.c --- linux-5.10.197/drivers/net/phy/phylink.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/phy/phylink.c 2023-12-20 14:44:42.000000000 +0000 @@ -838,6 +838,7 @@ pl->config = config; if (config->type == PHYLINK_NETDEV) { pl->netdev = to_net_dev(config->dev); + netif_carrier_off(pl->netdev); } else if (config->type == PHYLINK_DEV) { pl->dev = config->dev; } else { diff -Nru linux-5.10.197/drivers/net/ppp/ppp_synctty.c linux-5.10.205/drivers/net/ppp/ppp_synctty.c --- linux-5.10.197/drivers/net/ppp/ppp_synctty.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/ppp/ppp_synctty.c 2023-12-20 14:44:42.000000000 +0000 @@ -464,6 +464,10 @@ case PPPIOCSMRU: if (get_user(val, (int __user *) argp)) break; + if (val > U16_MAX) { + err = -EINVAL; + break; + } if (val < PPP_MRU) val = PPP_MRU; ap->mru = val; @@ -699,7 +703,7 @@ /* strip address/control field if present */ p = skb->data; - if (p[0] == PPP_ALLSTATIONS && p[1] == PPP_UI) { + if (skb->len >= 2 && p[0] == PPP_ALLSTATIONS && p[1] == PPP_UI) { /* chop off address/control */ if (skb->len < 3) goto err; diff -Nru linux-5.10.197/drivers/net/team/team.c linux-5.10.205/drivers/net/team/team.c --- linux-5.10.197/drivers/net/team/team.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/team/team.c 2023-12-20 14:44:42.000000000 +0000 @@ -284,8 +284,10 @@ return 0; inst_rollback: - for (i--; i >= 0; i--) + for (i--; i >= 0; i--) { __team_option_inst_del_option(team, dst_opts[i]); + list_del(&dst_opts[i]->list); + } i = option_count; alloc_rollback: @@ -2122,7 +2124,12 @@ static void team_setup_by_port(struct net_device *dev, struct net_device *port_dev) { - dev->header_ops = port_dev->header_ops; + struct team *team = netdev_priv(dev); + + if (port_dev->type == ARPHRD_ETHER) + dev->header_ops = team->header_ops_cache; + else + dev->header_ops = port_dev->header_ops; dev->type = port_dev->type; dev->hard_header_len = port_dev->hard_header_len; dev->needed_headroom = port_dev->needed_headroom; @@ -2169,8 +2176,11 @@ static void team_setup(struct net_device *dev) { + struct team *team = netdev_priv(dev); + ether_setup(dev); dev->max_mtu = ETH_MAX_MTU; + team->header_ops_cache = dev->header_ops; dev->netdev_ops = &team_netdev_ops; dev->ethtool_ops = &team_ethtool_ops; diff -Nru linux-5.10.197/drivers/net/thunderbolt.c linux-5.10.205/drivers/net/thunderbolt.c --- linux-5.10.197/drivers/net/thunderbolt.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/thunderbolt.c 2023-12-20 14:44:42.000000000 +0000 @@ -958,12 +958,11 @@ *tucso = ~csum_tcpudp_magic(ip_hdr(skb)->saddr, ip_hdr(skb)->daddr, 0, ip_hdr(skb)->protocol, 0); - } else if (skb_is_gso_v6(skb)) { + } else if (skb_is_gso(skb) && skb_is_gso_v6(skb)) { tucso = dest + ((void *)&(tcp_hdr(skb)->check) - data); *tucso = ~csum_ipv6_magic(&ipv6_hdr(skb)->saddr, &ipv6_hdr(skb)->daddr, 0, IPPROTO_TCP, 0); - return false; } else if (protocol == htons(ETH_P_IPV6)) { tucso = dest + skb_checksum_start_offset(skb) + skb->csum_offset; *tucso = ~csum_ipv6_magic(&ipv6_hdr(skb)->saddr, diff -Nru linux-5.10.197/drivers/net/tun.c linux-5.10.205/drivers/net/tun.c --- linux-5.10.197/drivers/net/tun.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/tun.c 2023-12-20 14:44:42.000000000 +0000 @@ -3064,10 +3064,11 @@ struct net *net = sock_net(&tfile->sk); struct tun_struct *tun; void __user* argp = (void __user*)arg; - unsigned int ifindex, carrier; + unsigned int carrier; struct ifreq ifr; kuid_t owner; kgid_t group; + int ifindex; int sndbuf; int vnet_hdr_sz; int le; @@ -3124,7 +3125,9 @@ ret = -EFAULT; if (copy_from_user(&ifindex, argp, sizeof(ifindex))) goto unlock; - + ret = -EINVAL; + if (ifindex < 0) + goto unlock; ret = 0; tfile->ifindex = ifindex; goto unlock; diff -Nru linux-5.10.197/drivers/net/usb/aqc111.c linux-5.10.205/drivers/net/usb/aqc111.c --- linux-5.10.197/drivers/net/usb/aqc111.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/usb/aqc111.c 2023-12-20 14:44:42.000000000 +0000 @@ -1079,17 +1079,17 @@ u16 pkt_count = 0; u64 desc_hdr = 0; u16 vlan_tag = 0; - u32 skb_len = 0; + u32 skb_len; if (!skb) goto err; - if (skb->len == 0) + skb_len = skb->len; + if (skb_len < sizeof(desc_hdr)) goto err; - skb_len = skb->len; /* RX Descriptor Header */ - skb_trim(skb, skb->len - sizeof(desc_hdr)); + skb_trim(skb, skb_len - sizeof(desc_hdr)); desc_hdr = le64_to_cpup((u64 *)skb_tail_pointer(skb)); /* Check these packets */ diff -Nru linux-5.10.197/drivers/net/usb/ax88179_178a.c linux-5.10.205/drivers/net/usb/ax88179_178a.c --- linux-5.10.197/drivers/net/usb/ax88179_178a.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/usb/ax88179_178a.c 2023-12-20 14:44:42.000000000 +0000 @@ -1700,11 +1700,11 @@ *tmp16 = AX_PHYPWR_RSTCTL_IPRL; ax88179_write_cmd(dev, AX_ACCESS_MAC, AX_PHYPWR_RSTCTL, 2, 2, tmp16); - msleep(200); + msleep(500); *tmp = AX_CLK_SELECT_ACS | AX_CLK_SELECT_BCS; ax88179_write_cmd(dev, AX_ACCESS_MAC, AX_CLK_SELECT, 1, 1, tmp); - msleep(100); + msleep(200); /* Ethernet PHY Auto Detach*/ ax88179_auto_detach(dev, 0); diff -Nru linux-5.10.197/drivers/net/usb/dm9601.c linux-5.10.205/drivers/net/usb/dm9601.c --- linux-5.10.197/drivers/net/usb/dm9601.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/usb/dm9601.c 2023-12-20 14:44:42.000000000 +0000 @@ -221,13 +221,18 @@ struct usbnet *dev = netdev_priv(netdev); __le16 res; + int err; if (phy_id) { netdev_dbg(dev->net, "Only internal phy supported\n"); return 0; } - dm_read_shared_word(dev, 1, loc, &res); + err = dm_read_shared_word(dev, 1, loc, &res); + if (err < 0) { + netdev_err(dev->net, "MDIO read error: %d\n", err); + return err; + } netdev_dbg(dev->net, "dm9601_mdio_read() phy_id=0x%02x, loc=0x%02x, returns=0x%04x\n", diff -Nru linux-5.10.197/drivers/net/usb/qmi_wwan.c linux-5.10.205/drivers/net/usb/qmi_wwan.c --- linux-5.10.197/drivers/net/usb/qmi_wwan.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/usb/qmi_wwan.c 2023-12-20 14:44:42.000000000 +0000 @@ -1225,6 +1225,7 @@ {QMI_FIXED_INTF(0x19d2, 0x0168, 4)}, {QMI_FIXED_INTF(0x19d2, 0x0176, 3)}, {QMI_FIXED_INTF(0x19d2, 0x0178, 3)}, + {QMI_FIXED_INTF(0x19d2, 0x0189, 4)}, /* ZTE MF290 */ {QMI_FIXED_INTF(0x19d2, 0x0191, 4)}, /* ZTE EuFi890 */ {QMI_FIXED_INTF(0x19d2, 0x0199, 1)}, /* ZTE MF820S */ {QMI_FIXED_INTF(0x19d2, 0x0200, 1)}, diff -Nru linux-5.10.197/drivers/net/usb/r8152.c linux-5.10.205/drivers/net/usb/r8152.c --- linux-5.10.197/drivers/net/usb/r8152.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/usb/r8152.c 2023-12-20 14:44:42.000000000 +0000 @@ -1042,7 +1042,7 @@ ret = usb_control_msg(tp->udev, usb_rcvctrlpipe(tp->udev, 0), RTL8152_REQ_GET_REGS, RTL8152_REQT_READ, - value, index, tmp, size, 500); + value, index, tmp, size, USB_CTRL_GET_TIMEOUT); if (ret < 0) memset(data, 0xff, size); else @@ -1065,7 +1065,7 @@ ret = usb_control_msg(tp->udev, usb_sndctrlpipe(tp->udev, 0), RTL8152_REQ_SET_REGS, RTL8152_REQT_WRITE, - value, index, tmp, size, 500); + value, index, tmp, size, USB_CTRL_SET_TIMEOUT); kfree(tmp); @@ -6615,7 +6615,8 @@ ret = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0), RTL8152_REQ_GET_REGS, RTL8152_REQT_READ, - PLA_TCR0, MCU_TYPE_PLA, tmp, sizeof(*tmp), 500); + PLA_TCR0, MCU_TYPE_PLA, tmp, sizeof(*tmp), + USB_CTRL_GET_TIMEOUT); if (ret > 0) ocp_data = (__le32_to_cpu(*tmp) >> 16) & VERSION_MASK; @@ -6824,6 +6825,10 @@ out1: tasklet_kill(&tp->tx_tl); + cancel_delayed_work_sync(&tp->hw_phy_work); + if (tp->rtl_ops.unload) + tp->rtl_ops.unload(tp); + rtl8152_release_firmware(tp); usb_set_intfdata(intf, NULL); out: free_netdev(netdev); diff -Nru linux-5.10.197/drivers/net/usb/smsc75xx.c linux-5.10.205/drivers/net/usb/smsc75xx.c --- linux-5.10.197/drivers/net/usb/smsc75xx.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/usb/smsc75xx.c 2023-12-20 14:44:42.000000000 +0000 @@ -90,7 +90,9 @@ ret = fn(dev, USB_VENDOR_REQUEST_READ_REGISTER, USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE, 0, index, &buf, 4); - if (unlikely(ret < 0)) { + if (unlikely(ret < 4)) { + ret = ret < 0 ? ret : -ENODATA; + netdev_warn(dev->net, "Failed to read reg index 0x%08x: %d\n", index, ret); return ret; diff -Nru linux-5.10.197/drivers/net/usb/smsc95xx.c linux-5.10.205/drivers/net/usb/smsc95xx.c --- linux-5.10.197/drivers/net/usb/smsc95xx.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/usb/smsc95xx.c 2023-12-20 14:44:42.000000000 +0000 @@ -86,7 +86,9 @@ ret = fn(dev, USB_VENDOR_REQUEST_READ_REGISTER, USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_DEVICE, 0, index, &buf, 4); - if (ret < 0) { + if (ret < 4) { + ret = ret < 0 ? ret : -ENODATA; + if (ret != -ENODEV) netdev_warn(dev->net, "Failed to read reg index 0x%08x: %d\n", index, ret); @@ -863,7 +865,7 @@ if (timeout >= 100) { netdev_warn(dev->net, "timeout waiting for completion of Lite Reset\n"); - return ret; + return -ETIMEDOUT; } ret = smsc95xx_write_reg(dev, PM_CTRL, PM_CTL_PHY_RST_); diff -Nru linux-5.10.197/drivers/net/wan/fsl_ucc_hdlc.c linux-5.10.205/drivers/net/wan/fsl_ucc_hdlc.c --- linux-5.10.197/drivers/net/wan/fsl_ucc_hdlc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/wan/fsl_ucc_hdlc.c 2023-12-20 14:44:42.000000000 +0000 @@ -34,6 +34,8 @@ #define TDM_PPPOHT_SLIC_MAXIN #define RX_BD_ERRORS (R_CD_S | R_OV_S | R_CR_S | R_AB_S | R_NO_S | R_LG_S) +static int uhdlc_close(struct net_device *dev); + static struct ucc_tdm_info utdm_primary_info = { .uf_info = { .tsa = 0, @@ -708,6 +710,7 @@ hdlc_device *hdlc = dev_to_hdlc(dev); struct ucc_hdlc_private *priv = hdlc->priv; struct ucc_tdm *utdm = priv->utdm; + int rc = 0; if (priv->hdlc_busy != 1) { if (request_irq(priv->ut_info->uf_info.irq, @@ -731,10 +734,13 @@ napi_enable(&priv->napi); netdev_reset_queue(dev); netif_start_queue(dev); - hdlc_open(dev); + + rc = hdlc_open(dev); + if (rc) + uhdlc_close(dev); } - return 0; + return rc; } static void uhdlc_memclean(struct ucc_hdlc_private *priv) @@ -824,6 +830,8 @@ netdev_reset_queue(dev); priv->hdlc_busy = 0; + hdlc_close(dev); + return 0; } diff -Nru linux-5.10.197/drivers/net/wireguard/device.c linux-5.10.205/drivers/net/wireguard/device.c --- linux-5.10.197/drivers/net/wireguard/device.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/wireguard/device.c 2023-12-20 14:44:42.000000000 +0000 @@ -193,7 +193,7 @@ */ while (skb_queue_len(&peer->staged_packet_queue) > MAX_STAGED_PACKETS) { dev_kfree_skb(__skb_dequeue(&peer->staged_packet_queue)); - ++dev->stats.tx_dropped; + DEV_STATS_INC(dev, tx_dropped); } skb_queue_splice_tail(&packets, &peer->staged_packet_queue); spin_unlock_bh(&peer->staged_packet_queue.lock); @@ -211,7 +211,7 @@ else if (skb->protocol == htons(ETH_P_IPV6)) icmpv6_ndo_send(skb, ICMPV6_DEST_UNREACH, ICMPV6_ADDR_UNREACH, 0); err: - ++dev->stats.tx_errors; + DEV_STATS_INC(dev, tx_errors); kfree_skb(skb); return ret; } diff -Nru linux-5.10.197/drivers/net/wireguard/receive.c linux-5.10.205/drivers/net/wireguard/receive.c --- linux-5.10.197/drivers/net/wireguard/receive.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/wireguard/receive.c 2023-12-20 14:44:42.000000000 +0000 @@ -423,20 +423,20 @@ net_dbg_skb_ratelimited("%s: Packet has unallowed src IP (%pISc) from peer %llu (%pISpfsc)\n", dev->name, skb, peer->internal_id, &peer->endpoint.addr); - ++dev->stats.rx_errors; - ++dev->stats.rx_frame_errors; + DEV_STATS_INC(dev, rx_errors); + DEV_STATS_INC(dev, rx_frame_errors); goto packet_processed; dishonest_packet_type: net_dbg_ratelimited("%s: Packet is neither ipv4 nor ipv6 from peer %llu (%pISpfsc)\n", dev->name, peer->internal_id, &peer->endpoint.addr); - ++dev->stats.rx_errors; - ++dev->stats.rx_frame_errors; + DEV_STATS_INC(dev, rx_errors); + DEV_STATS_INC(dev, rx_frame_errors); goto packet_processed; dishonest_packet_size: net_dbg_ratelimited("%s: Packet has incorrect size from peer %llu (%pISpfsc)\n", dev->name, peer->internal_id, &peer->endpoint.addr); - ++dev->stats.rx_errors; - ++dev->stats.rx_length_errors; + DEV_STATS_INC(dev, rx_errors); + DEV_STATS_INC(dev, rx_length_errors); goto packet_processed; packet_processed: dev_kfree_skb(skb); diff -Nru linux-5.10.197/drivers/net/wireguard/send.c linux-5.10.205/drivers/net/wireguard/send.c --- linux-5.10.197/drivers/net/wireguard/send.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/wireguard/send.c 2023-12-20 14:44:42.000000000 +0000 @@ -333,7 +333,8 @@ void wg_packet_purge_staged_packets(struct wg_peer *peer) { spin_lock_bh(&peer->staged_packet_queue.lock); - peer->device->dev->stats.tx_dropped += peer->staged_packet_queue.qlen; + DEV_STATS_ADD(peer->device->dev, tx_dropped, + peer->staged_packet_queue.qlen); __skb_queue_purge(&peer->staged_packet_queue); spin_unlock_bh(&peer->staged_packet_queue.lock); } diff -Nru linux-5.10.197/drivers/net/wireless/ath/ath10k/debug.c linux-5.10.205/drivers/net/wireless/ath/ath10k/debug.c --- linux-5.10.197/drivers/net/wireless/ath/ath10k/debug.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/wireless/ath/ath10k/debug.c 2023-12-20 14:44:42.000000000 +0000 @@ -1139,7 +1139,7 @@ u32 sset, u8 *data) { if (sset == ETH_SS_STATS) - memcpy(data, *ath10k_gstrings_stats, + memcpy(data, ath10k_gstrings_stats, sizeof(ath10k_gstrings_stats)); } diff -Nru linux-5.10.197/drivers/net/wireless/ath/ath10k/snoc.c linux-5.10.205/drivers/net/wireless/ath/ath10k/snoc.c --- linux-5.10.197/drivers/net/wireless/ath/ath10k/snoc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/wireless/ath/ath10k/snoc.c 2023-12-20 14:44:42.000000000 +0000 @@ -827,12 +827,20 @@ static inline void ath10k_snoc_irq_disable(struct ath10k *ar) { - ath10k_ce_disable_interrupts(ar); + struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar); + int id; + + for (id = 0; id < CE_COUNT_MAX; id++) + disable_irq(ar_snoc->ce_irqs[id].irq_line); } static inline void ath10k_snoc_irq_enable(struct ath10k *ar) { - ath10k_ce_enable_interrupts(ar); + struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar); + int id; + + for (id = 0; id < CE_COUNT_MAX; id++) + enable_irq(ar_snoc->ce_irqs[id].irq_line); } static void ath10k_snoc_rx_pipe_cleanup(struct ath10k_snoc_pipe *snoc_pipe) @@ -1048,6 +1056,8 @@ goto err_free_rri; } + ath10k_ce_enable_interrupts(ar); + return 0; err_free_rri: @@ -1209,8 +1219,8 @@ for (id = 0; id < CE_COUNT_MAX; id++) { ret = request_irq(ar_snoc->ce_irqs[id].irq_line, - ath10k_snoc_per_engine_handler, 0, - ce_name[id], ar); + ath10k_snoc_per_engine_handler, + IRQF_NO_AUTOEN, ce_name[id], ar); if (ret) { ath10k_err(ar, "failed to register IRQ handler for CE %d: %d\n", diff -Nru linux-5.10.197/drivers/net/wireless/ath/ath11k/dp_rx.c linux-5.10.205/drivers/net/wireless/ath/ath11k/dp_rx.c --- linux-5.10.197/drivers/net/wireless/ath/ath11k/dp_rx.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/wireless/ath/ath11k/dp_rx.c 2023-12-20 14:44:42.000000000 +0000 @@ -1578,14 +1578,20 @@ u8 pdev_id; pdev_id = FIELD_GET(HTT_T2H_PPDU_STATS_INFO_PDEV_ID, data->hdr); + + rcu_read_lock(); + ar = ath11k_mac_get_ar_by_pdev_id(ab, pdev_id); if (!ar) { ath11k_warn(ab, "invalid pdev id %d on htt pktlog\n", pdev_id); - return; + goto out; } trace_ath11k_htt_pktlog(ar, data->payload, hdr->size, ar->ab->pktlog_defs_checksum); + +out: + rcu_read_unlock(); } static void ath11k_htt_backpressure_event_handler(struct ath11k_base *ab, diff -Nru linux-5.10.197/drivers/net/wireless/ath/ath11k/wmi.c linux-5.10.205/drivers/net/wireless/ath/ath11k/wmi.c --- linux-5.10.197/drivers/net/wireless/ath/ath11k/wmi.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/wireless/ath/ath11k/wmi.c 2023-12-20 14:44:42.000000000 +0000 @@ -6355,6 +6355,8 @@ ev->detector_id, ev->segment_id, ev->timestamp, ev->is_chirp, ev->freq_offset, ev->sidx); + rcu_read_lock(); + ar = ath11k_mac_get_ar_by_pdev_id(ab, ev->pdev_id); if (!ar) { @@ -6372,6 +6374,8 @@ ieee80211_radar_detected(ar->hw); exit: + rcu_read_unlock(); + kfree(tb); } @@ -6401,15 +6405,19 @@ ath11k_dbg(ab, ATH11K_DBG_WMI, "pdev temperature ev temp %d pdev_id %d\n", ev->temp, ev->pdev_id); + rcu_read_lock(); + ar = ath11k_mac_get_ar_by_pdev_id(ab, ev->pdev_id); if (!ar) { ath11k_warn(ab, "invalid pdev id in pdev temperature ev %d", ev->pdev_id); - kfree(tb); - return; + goto exit; } ath11k_thermal_event_temperature(ar, ev->temp); +exit: + rcu_read_unlock(); + kfree(tb); } diff -Nru linux-5.10.197/drivers/net/wireless/ath/ath9k/debug.c linux-5.10.205/drivers/net/wireless/ath/ath9k/debug.c --- linux-5.10.197/drivers/net/wireless/ath/ath9k/debug.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/wireless/ath/ath9k/debug.c 2023-12-20 14:44:42.000000000 +0000 @@ -1284,7 +1284,7 @@ u32 sset, u8 *data) { if (sset == ETH_SS_STATS) - memcpy(data, *ath9k_gstrings_stats, + memcpy(data, ath9k_gstrings_stats, sizeof(ath9k_gstrings_stats)); } diff -Nru linux-5.10.197/drivers/net/wireless/ath/ath9k/htc_drv_debug.c linux-5.10.205/drivers/net/wireless/ath/ath9k/htc_drv_debug.c --- linux-5.10.197/drivers/net/wireless/ath/ath9k/htc_drv_debug.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/wireless/ath/ath9k/htc_drv_debug.c 2023-12-20 14:44:42.000000000 +0000 @@ -428,7 +428,7 @@ u32 sset, u8 *data) { if (sset == ETH_SS_STATS) - memcpy(data, *ath9k_htc_gstrings_stats, + memcpy(data, ath9k_htc_gstrings_stats, sizeof(ath9k_htc_gstrings_stats)); } diff -Nru linux-5.10.197/drivers/net/wireless/intel/iwlwifi/fw/error-dump.h linux-5.10.205/drivers/net/wireless/intel/iwlwifi/fw/error-dump.h --- linux-5.10.197/drivers/net/wireless/intel/iwlwifi/fw/error-dump.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/wireless/intel/iwlwifi/fw/error-dump.h 2023-12-20 14:44:42.000000000 +0000 @@ -334,9 +334,9 @@ struct iwl_fw_ini_error_dump_range { __le32 range_data_size; union { - __le32 internal_base_addr; - __le64 dram_base_addr; - __le32 page_num; + __le32 internal_base_addr __packed; + __le64 dram_base_addr __packed; + __le32 page_num __packed; struct iwl_fw_ini_fifo_hdr fifo_hdr; struct iwl_cmd_header fw_pkt_hdr; }; diff -Nru linux-5.10.197/drivers/net/wireless/intel/iwlwifi/mvm/tx.c linux-5.10.205/drivers/net/wireless/intel/iwlwifi/mvm/tx.c --- linux-5.10.197/drivers/net/wireless/intel/iwlwifi/mvm/tx.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/wireless/intel/iwlwifi/mvm/tx.c 2023-12-20 14:44:42.000000000 +0000 @@ -532,16 +532,20 @@ flags |= IWL_TX_FLAGS_ENCRYPT_DIS; /* - * For data packets rate info comes from the fw. Only - * set rate/antenna during connection establishment or in case - * no station is given. + * For data and mgmt packets rate info comes from the fw. Only + * set rate/antenna for injected frames with fixed rate, or + * when no sta is given. */ - if (!sta || !ieee80211_is_data(hdr->frame_control) || - mvmsta->sta_state < IEEE80211_STA_AUTHORIZED) { + if (unlikely(!sta || + info->control.flags & IEEE80211_TX_CTRL_RATE_INJECT)) { flags |= IWL_TX_FLAGS_CMD_RATE; rate_n_flags = iwl_mvm_get_tx_rate_n_flags(mvm, info, sta, hdr->frame_control); + } else if (!ieee80211_is_data(hdr->frame_control) || + mvmsta->sta_state < IEEE80211_STA_AUTHORIZED) { + /* These are important frames */ + flags |= IWL_TX_FLAGS_HIGH_PRI; } if (mvm->trans->trans_cfg->device_family >= diff -Nru linux-5.10.197/drivers/net/wireless/mac80211_hwsim.c linux-5.10.205/drivers/net/wireless/mac80211_hwsim.c --- linux-5.10.197/drivers/net/wireless/mac80211_hwsim.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/wireless/mac80211_hwsim.c 2023-12-20 14:44:42.000000000 +0000 @@ -2543,7 +2543,7 @@ u32 sset, u8 *data) { if (sset == ETH_SS_STATS) - memcpy(data, *mac80211_hwsim_gstrings_stats, + memcpy(data, mac80211_hwsim_gstrings_stats, sizeof(mac80211_hwsim_gstrings_stats)); } diff -Nru linux-5.10.197/drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c linux-5.10.205/drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c --- linux-5.10.197/drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c 2023-12-20 14:44:42.000000000 +0000 @@ -977,8 +977,8 @@ } } - tlv_buf_left -= (sizeof(*tlv_rxba) + tlv_len); - tmp = (u8 *)tlv_rxba + tlv_len + sizeof(*tlv_rxba); + tlv_buf_left -= (sizeof(tlv_rxba->header) + tlv_len); + tmp = (u8 *)tlv_rxba + sizeof(tlv_rxba->header) + tlv_len; tlv_rxba = (struct mwifiex_ie_types_rxba_sync *)tmp; } } diff -Nru linux-5.10.197/drivers/net/wireless/marvell/mwifiex/sta_rx.c linux-5.10.205/drivers/net/wireless/marvell/mwifiex/sta_rx.c --- linux-5.10.197/drivers/net/wireless/marvell/mwifiex/sta_rx.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/wireless/marvell/mwifiex/sta_rx.c 2023-12-20 14:44:42.000000000 +0000 @@ -98,7 +98,8 @@ rx_pkt_len = le16_to_cpu(local_rx_pd->rx_pkt_length); rx_pkt_hdr = (void *)local_rx_pd + rx_pkt_off; - if (sizeof(*rx_pkt_hdr) + rx_pkt_off > skb->len) { + if (sizeof(rx_pkt_hdr->eth803_hdr) + sizeof(rfc1042_header) + + rx_pkt_off > skb->len) { mwifiex_dbg(priv->adapter, ERROR, "wrong rx packet offset: len=%d, rx_pkt_off=%d\n", skb->len, rx_pkt_off); @@ -107,12 +108,13 @@ return -1; } - if ((!memcmp(&rx_pkt_hdr->rfc1042_hdr, bridge_tunnel_header, - sizeof(bridge_tunnel_header))) || - (!memcmp(&rx_pkt_hdr->rfc1042_hdr, rfc1042_header, - sizeof(rfc1042_header)) && - ntohs(rx_pkt_hdr->rfc1042_hdr.snap_type) != ETH_P_AARP && - ntohs(rx_pkt_hdr->rfc1042_hdr.snap_type) != ETH_P_IPX)) { + if (sizeof(*rx_pkt_hdr) + rx_pkt_off <= skb->len && + ((!memcmp(&rx_pkt_hdr->rfc1042_hdr, bridge_tunnel_header, + sizeof(bridge_tunnel_header))) || + (!memcmp(&rx_pkt_hdr->rfc1042_hdr, rfc1042_header, + sizeof(rfc1042_header)) && + ntohs(rx_pkt_hdr->rfc1042_hdr.snap_type) != ETH_P_AARP && + ntohs(rx_pkt_hdr->rfc1042_hdr.snap_type) != ETH_P_IPX))) { /* * Replace the 803 header and rfc1042 header (llc/snap) with an * EthernetII header, keep the src/dst and snap_type diff -Nru linux-5.10.197/drivers/net/wireless/mediatek/mt76/mt7603/core.c linux-5.10.205/drivers/net/wireless/mediatek/mt76/mt7603/core.c --- linux-5.10.197/drivers/net/wireless/mediatek/mt76/mt7603/core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/wireless/mediatek/mt76/mt7603/core.c 2023-12-20 14:44:42.000000000 +0000 @@ -42,11 +42,13 @@ } if (intr & MT_INT_RX_DONE(0)) { + dev->rx_pse_check = 0; mt7603_irq_disable(dev, MT_INT_RX_DONE(0)); napi_schedule(&dev->mt76.napi[0]); } if (intr & MT_INT_RX_DONE(1)) { + dev->rx_pse_check = 0; mt7603_irq_disable(dev, MT_INT_RX_DONE(1)); napi_schedule(&dev->mt76.napi[1]); } diff -Nru linux-5.10.197/drivers/net/wireless/mediatek/mt76/mt7603/mac.c linux-5.10.205/drivers/net/wireless/mediatek/mt76/mt7603/mac.c --- linux-5.10.197/drivers/net/wireless/mediatek/mt76/mt7603/mac.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/wireless/mediatek/mt76/mt7603/mac.c 2023-12-20 14:44:42.000000000 +0000 @@ -1535,20 +1535,29 @@ { u32 addr, val; - if (mt76_rr(dev, MT_MCU_DEBUG_RESET) & MT_MCU_DEBUG_RESET_QUEUES) - return true; - if (mt7603_rx_fifo_busy(dev)) - return false; + goto out; addr = mt7603_reg_map(dev, MT_CLIENT_BASE_PHYS_ADDR + MT_CLIENT_STATUS); mt76_wr(dev, addr, 3); val = mt76_rr(dev, addr) >> 16; - if (is_mt7628(dev) && (val & 0x4001) == 0x4001) - return true; + if (!(val & BIT(0))) + return false; + + if (is_mt7628(dev)) + val &= 0xa000; + else + val &= 0x8000; + if (!val) + return false; + +out: + if (mt76_rr(dev, MT_INT_SOURCE_CSR) & + (MT_INT_RX_DONE(0) | MT_INT_RX_DONE(1))) + return false; - return (val & 0x8001) == 0x8001 || (val & 0xe001) == 0xe001; + return true; } static bool diff -Nru linux-5.10.197/drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.c linux-5.10.205/drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.c --- linux-5.10.197/drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.c 2023-12-20 14:44:42.000000000 +0000 @@ -131,15 +131,8 @@ s8 *lna_2g, s8 *lna_5g, struct ieee80211_channel *chan) { - u16 val; u8 lna; - val = mt76x02_eeprom_get(dev, MT_EE_NIC_CONF_1); - if (val & MT_EE_NIC_CONF_1_LNA_EXT_2G) - *lna_2g = 0; - if (val & MT_EE_NIC_CONF_1_LNA_EXT_5G) - memset(lna_5g, 0, sizeof(s8) * 3); - if (chan->band == NL80211_BAND_2GHZ) lna = *lna_2g; else if (chan->hw_value <= 64) diff -Nru linux-5.10.197/drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c linux-5.10.205/drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c --- linux-5.10.197/drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c 2023-12-20 14:44:42.000000000 +0000 @@ -256,7 +256,8 @@ struct ieee80211_channel *chan = dev->mphy.chandef.chan; int channel = chan->hw_value; s8 lna_5g[3], lna_2g; - u8 lna; + bool use_lna; + u8 lna = 0; u16 val; if (chan->band == NL80211_BAND_2GHZ) @@ -275,7 +276,15 @@ dev->cal.rx.mcu_gain |= (lna_5g[1] & 0xff) << 16; dev->cal.rx.mcu_gain |= (lna_5g[2] & 0xff) << 24; - lna = mt76x02_get_lna_gain(dev, &lna_2g, lna_5g, chan); + val = mt76x02_eeprom_get(dev, MT_EE_NIC_CONF_1); + if (chan->band == NL80211_BAND_2GHZ) + use_lna = !(val & MT_EE_NIC_CONF_1_LNA_EXT_2G); + else + use_lna = !(val & MT_EE_NIC_CONF_1_LNA_EXT_5G); + + if (use_lna) + lna = mt76x02_get_lna_gain(dev, &lna_2g, lna_5g, chan); + dev->cal.rx.lna_gain = mt76x02_sign_extend(lna, 8); } EXPORT_SYMBOL_GPL(mt76x2_read_rx_gain); diff -Nru linux-5.10.197/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/dm.c linux-5.10.205/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/dm.c --- linux-5.10.197/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/dm.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/dm.c 2023-12-20 14:44:42.000000000 +0000 @@ -799,7 +799,7 @@ } if (rtlpriv->btcoexist.bt_edca_dl != 0) { - edca_be_ul = rtlpriv->btcoexist.bt_edca_dl; + edca_be_dl = rtlpriv->btcoexist.bt_edca_dl; bt_change_edca = true; } diff -Nru linux-5.10.197/drivers/net/wireless/realtek/rtlwifi/rtl8192c/dm_common.c linux-5.10.205/drivers/net/wireless/realtek/rtlwifi/rtl8192c/dm_common.c --- linux-5.10.197/drivers/net/wireless/realtek/rtlwifi/rtl8192c/dm_common.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/wireless/realtek/rtlwifi/rtl8192c/dm_common.c 2023-12-20 14:44:42.000000000 +0000 @@ -640,7 +640,7 @@ } if (rtlpriv->btcoexist.bt_edca_dl != 0) { - edca_be_ul = rtlpriv->btcoexist.bt_edca_dl; + edca_be_dl = rtlpriv->btcoexist.bt_edca_dl; bt_change_edca = true; } diff -Nru linux-5.10.197/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/dm.c linux-5.10.205/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/dm.c --- linux-5.10.197/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/dm.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/dm.c 2023-12-20 14:44:42.000000000 +0000 @@ -466,7 +466,7 @@ } if (rtlpriv->btcoexist.bt_edca_dl != 0) { - edca_be_ul = rtlpriv->btcoexist.bt_edca_dl; + edca_be_dl = rtlpriv->btcoexist.bt_edca_dl; bt_change_edca = true; } diff -Nru linux-5.10.197/drivers/net/wireless/realtek/rtw88/debug.c linux-5.10.205/drivers/net/wireless/realtek/rtw88/debug.c --- linux-5.10.197/drivers/net/wireless/realtek/rtw88/debug.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/wireless/realtek/rtw88/debug.c 2023-12-20 14:44:42.000000000 +0000 @@ -901,9 +901,9 @@ #define rtw_debugfs_add_core(name, mode, fopname, parent) \ do { \ rtw_debug_priv_ ##name.rtwdev = rtwdev; \ - if (!debugfs_create_file(#name, mode, \ + if (IS_ERR(debugfs_create_file(#name, mode, \ parent, &rtw_debug_priv_ ##name,\ - &file_ops_ ##fopname)) \ + &file_ops_ ##fopname))) \ pr_debug("Unable to initialize debugfs:%s\n", \ #name); \ } while (0) diff -Nru linux-5.10.197/drivers/net/xen-netback/interface.c linux-5.10.205/drivers/net/xen-netback/interface.c --- linux-5.10.197/drivers/net/xen-netback/interface.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/net/xen-netback/interface.c 2023-12-20 14:44:42.000000000 +0000 @@ -41,7 +41,6 @@ #include #include -#define XENVIF_QUEUE_LENGTH 32 #define XENVIF_NAPI_WEIGHT 64 /* Number of bytes allowed on the internal guest Rx queue. */ @@ -528,8 +527,6 @@ dev->features = dev->hw_features | NETIF_F_RXCSUM; dev->ethtool_ops = &xenvif_ethtool_ops; - dev->tx_queue_len = XENVIF_QUEUE_LENGTH; - dev->min_mtu = ETH_MIN_MTU; dev->max_mtu = ETH_MAX_MTU - VLAN_ETH_HLEN; diff -Nru linux-5.10.197/drivers/nvdimm/of_pmem.c linux-5.10.205/drivers/nvdimm/of_pmem.c --- linux-5.10.197/drivers/nvdimm/of_pmem.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/nvdimm/of_pmem.c 2023-12-20 14:44:42.000000000 +0000 @@ -30,7 +30,13 @@ if (!priv) return -ENOMEM; - priv->bus_desc.provider_name = kstrdup(pdev->name, GFP_KERNEL); + priv->bus_desc.provider_name = devm_kstrdup(&pdev->dev, pdev->name, + GFP_KERNEL); + if (!priv->bus_desc.provider_name) { + kfree(priv); + return -ENOMEM; + } + priv->bus_desc.module = THIS_MODULE; priv->bus_desc.of_node = np; diff -Nru linux-5.10.197/drivers/nvdimm/region_devs.c linux-5.10.205/drivers/nvdimm/region_devs.c --- linux-5.10.197/drivers/nvdimm/region_devs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/nvdimm/region_devs.c 2023-12-20 14:44:42.000000000 +0000 @@ -959,7 +959,8 @@ { unsigned int cpu, lane; - cpu = get_cpu(); + migrate_disable(); + cpu = smp_processor_id(); if (nd_region->num_lanes < nr_cpu_ids) { struct nd_percpu_lane *ndl_lock, *ndl_count; @@ -978,16 +979,15 @@ void nd_region_release_lane(struct nd_region *nd_region, unsigned int lane) { if (nd_region->num_lanes < nr_cpu_ids) { - unsigned int cpu = get_cpu(); + unsigned int cpu = smp_processor_id(); struct nd_percpu_lane *ndl_lock, *ndl_count; ndl_count = per_cpu_ptr(nd_region->lane, cpu); ndl_lock = per_cpu_ptr(nd_region->lane, lane); if (--ndl_count->count == 0) spin_unlock(&ndl_lock->lock); - put_cpu(); } - put_cpu(); + migrate_enable(); } EXPORT_SYMBOL(nd_region_release_lane); diff -Nru linux-5.10.197/drivers/nvme/host/pci.c linux-5.10.205/drivers/nvme/host/pci.c --- linux-5.10.197/drivers/nvme/host/pci.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/nvme/host/pci.c 2023-12-20 14:44:42.000000000 +0000 @@ -387,14 +387,6 @@ NVME_CTRL_PAGE_SIZE); } -static size_t nvme_pci_iod_alloc_size(void) -{ - size_t npages = max(nvme_pci_npages_prp(), nvme_pci_npages_sgl()); - - return sizeof(__le64 *) * npages + - sizeof(struct scatterlist) * NVME_MAX_SEGS; -} - static int nvme_admin_init_hctx(struct blk_mq_hw_ctx *hctx, void *data, unsigned int hctx_idx) { @@ -2557,6 +2549,22 @@ dma_pool_destroy(dev->prp_small_pool); } +static int nvme_pci_alloc_iod_mempool(struct nvme_dev *dev) +{ + size_t npages = max(nvme_pci_npages_prp(), nvme_pci_npages_sgl()); + size_t alloc_size = sizeof(__le64 *) * npages + + sizeof(struct scatterlist) * NVME_MAX_SEGS; + + WARN_ON_ONCE(alloc_size > PAGE_SIZE); + dev->iod_mempool = mempool_create_node(1, + mempool_kmalloc, mempool_kfree, + (void *)alloc_size, GFP_KERNEL, + dev_to_node(dev->dev)); + if (!dev->iod_mempool) + return -ENOMEM; + return 0; +} + static void nvme_free_tagset(struct nvme_dev *dev) { if (dev->tagset.tags) @@ -2564,6 +2572,7 @@ dev->ctrl.tagset = NULL; } +/* pairs with nvme_pci_alloc_dev */ static void nvme_pci_free_ctrl(struct nvme_ctrl *ctrl) { struct nvme_dev *dev = to_nvme_dev(ctrl); @@ -2840,32 +2849,6 @@ return 0; } -#ifdef CONFIG_ACPI -static bool nvme_acpi_storage_d3(struct pci_dev *dev) -{ - struct acpi_device *adev = ACPI_COMPANION(&dev->dev); - u8 val; - - /* - * Look for _DSD property specifying that the storage device on the port - * must use D3 to support deep platform power savings during - * suspend-to-idle. - */ - - if (!adev) - return false; - if (fwnode_property_read_u8(acpi_fwnode_handle(adev), "StorageD3Enable", - &val)) - return false; - return val == 1; -} -#else -static inline bool nvme_acpi_storage_d3(struct pci_dev *dev) -{ - return false; -} -#endif /* CONFIG_ACPI */ - static void nvme_async_probe(void *data, async_cookie_t cookie) { struct nvme_dev *dev = data; @@ -2875,20 +2858,20 @@ nvme_put_ctrl(&dev->ctrl); } -static int nvme_probe(struct pci_dev *pdev, const struct pci_device_id *id) +static struct nvme_dev *nvme_pci_alloc_dev(struct pci_dev *pdev, + const struct pci_device_id *id) { - int node, result = -ENOMEM; - struct nvme_dev *dev; unsigned long quirks = id->driver_data; - size_t alloc_size; - - node = dev_to_node(&pdev->dev); - if (node == NUMA_NO_NODE) - set_dev_node(&pdev->dev, first_memory_node); + int node = dev_to_node(&pdev->dev); + struct nvme_dev *dev; + int ret = -ENOMEM; dev = kzalloc_node(sizeof(*dev), GFP_KERNEL, node); if (!dev) - return -ENOMEM; + return ERR_PTR(-ENOMEM); + INIT_WORK(&dev->ctrl.reset_work, nvme_reset_work); + INIT_WORK(&dev->remove_work, nvme_remove_dead_ctrl_work); + mutex_init(&dev->shutdown_lock); dev->nr_write_queues = write_queues; dev->nr_poll_queues = poll_queues; @@ -2896,26 +2879,12 @@ dev->queues = kcalloc_node(dev->nr_allocated_queues, sizeof(struct nvme_queue), GFP_KERNEL, node); if (!dev->queues) - goto free; + goto out_free_dev; dev->dev = get_device(&pdev->dev); - pci_set_drvdata(pdev, dev); - - result = nvme_dev_map(dev); - if (result) - goto put_pci; - - INIT_WORK(&dev->ctrl.reset_work, nvme_reset_work); - INIT_WORK(&dev->remove_work, nvme_remove_dead_ctrl_work); - mutex_init(&dev->shutdown_lock); - - result = nvme_setup_prp_pools(dev); - if (result) - goto unmap; quirks |= check_vendor_combination_bug(pdev); - - if (!noacpi && nvme_acpi_storage_d3(pdev)) { + if (!noacpi && acpi_storage_d3(&pdev->dev)) { /* * Some systems use a bios work around to ask for D3 on * platforms that support kernel managed suspend. @@ -2924,46 +2893,54 @@ "platform quirk: setting simple suspend\n"); quirks |= NVME_QUIRK_SIMPLE_SUSPEND; } + ret = nvme_init_ctrl(&dev->ctrl, &pdev->dev, &nvme_pci_ctrl_ops, + quirks); + if (ret) + goto out_put_device; + return dev; - /* - * Double check that our mempool alloc size will cover the biggest - * command we support. - */ - alloc_size = nvme_pci_iod_alloc_size(); - WARN_ON_ONCE(alloc_size > PAGE_SIZE); +out_put_device: + put_device(dev->dev); + kfree(dev->queues); +out_free_dev: + kfree(dev); + return ERR_PTR(ret); +} - dev->iod_mempool = mempool_create_node(1, mempool_kmalloc, - mempool_kfree, - (void *) alloc_size, - GFP_KERNEL, node); - if (!dev->iod_mempool) { - result = -ENOMEM; - goto release_pools; - } +static int nvme_probe(struct pci_dev *pdev, const struct pci_device_id *id) +{ + struct nvme_dev *dev; + int result = -ENOMEM; - result = nvme_init_ctrl(&dev->ctrl, &pdev->dev, &nvme_pci_ctrl_ops, - quirks); + dev = nvme_pci_alloc_dev(pdev, id); + if (IS_ERR(dev)) + return PTR_ERR(dev); + + result = nvme_dev_map(dev); if (result) - goto release_mempool; + goto out_uninit_ctrl; + + result = nvme_setup_prp_pools(dev); + if (result) + goto out_dev_unmap; + + result = nvme_pci_alloc_iod_mempool(dev); + if (result) + goto out_release_prp_pools; dev_info(dev->ctrl.device, "pci function %s\n", dev_name(&pdev->dev)); + pci_set_drvdata(pdev, dev); nvme_reset_ctrl(&dev->ctrl); async_schedule(nvme_async_probe, dev); - return 0; - release_mempool: - mempool_destroy(dev->iod_mempool); - release_pools: +out_release_prp_pools: nvme_release_prp_pools(dev); - unmap: +out_dev_unmap: nvme_dev_unmap(dev); - put_pci: - put_device(dev->dev); - free: - kfree(dev->queues); - kfree(dev); +out_uninit_ctrl: + nvme_uninit_ctrl(&dev->ctrl); return result; } @@ -3204,7 +3181,8 @@ { PCI_VDEVICE(INTEL, 0x0a54), /* Intel P4500/P4600 */ .driver_data = NVME_QUIRK_STRIPE_SIZE | NVME_QUIRK_DEALLOCATE_ZEROES | - NVME_QUIRK_IGNORE_DEV_SUBNQN, }, + NVME_QUIRK_IGNORE_DEV_SUBNQN | + NVME_QUIRK_BOGUS_NID, }, { PCI_VDEVICE(INTEL, 0x0a55), /* Dell Express Flash P4600 */ .driver_data = NVME_QUIRK_STRIPE_SIZE | NVME_QUIRK_DEALLOCATE_ZEROES, }, diff -Nru linux-5.10.197/drivers/nvme/host/rdma.c linux-5.10.205/drivers/nvme/host/rdma.c --- linux-5.10.197/drivers/nvme/host/rdma.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/nvme/host/rdma.c 2023-12-20 14:44:42.000000000 +0000 @@ -644,6 +644,9 @@ static void nvme_rdma_stop_queue(struct nvme_rdma_queue *queue) { + if (!test_bit(NVME_RDMA_Q_ALLOCATED, &queue->flags)) + return; + mutex_lock(&queue->queue_lock); if (test_and_clear_bit(NVME_RDMA_Q_LIVE, &queue->flags)) __nvme_rdma_stop_queue(queue); diff -Nru linux-5.10.197/drivers/nvme/target/core.c linux-5.10.205/drivers/nvme/target/core.c --- linux-5.10.197/drivers/nvme/target/core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/nvme/target/core.c 2023-12-20 14:44:42.000000000 +0000 @@ -1189,19 +1189,19 @@ ctrl->cap |= NVMET_QUEUE_SIZE - 1; } -u16 nvmet_ctrl_find_get(const char *subsysnqn, const char *hostnqn, u16 cntlid, - struct nvmet_req *req, struct nvmet_ctrl **ret) +struct nvmet_ctrl *nvmet_ctrl_find_get(const char *subsysnqn, + const char *hostnqn, u16 cntlid, + struct nvmet_req *req) { + struct nvmet_ctrl *ctrl = NULL; struct nvmet_subsys *subsys; - struct nvmet_ctrl *ctrl; - u16 status = 0; subsys = nvmet_find_get_subsys(req->port, subsysnqn); if (!subsys) { pr_warn("connect request for invalid subsystem %s!\n", subsysnqn); req->cqe->result.u32 = IPO_IATTR_CONNECT_DATA(subsysnqn); - return NVME_SC_CONNECT_INVALID_PARAM | NVME_SC_DNR; + goto out; } mutex_lock(&subsys->lock); @@ -1214,20 +1214,21 @@ if (!kref_get_unless_zero(&ctrl->ref)) continue; - *ret = ctrl; - goto out; + /* ctrl found */ + goto found; } } + ctrl = NULL; /* ctrl not found */ pr_warn("could not find controller %d for subsys %s / host %s\n", cntlid, subsysnqn, hostnqn); req->cqe->result.u32 = IPO_IATTR_CONNECT_DATA(cntlid); - status = NVME_SC_CONNECT_INVALID_PARAM | NVME_SC_DNR; -out: +found: mutex_unlock(&subsys->lock); nvmet_subsys_put(subsys); - return status; +out: + return ctrl; } u16 nvmet_check_ctrl_status(struct nvmet_req *req, struct nvme_command *cmd) diff -Nru linux-5.10.197/drivers/nvme/target/fabrics-cmd.c linux-5.10.205/drivers/nvme/target/fabrics-cmd.c --- linux-5.10.197/drivers/nvme/target/fabrics-cmd.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/nvme/target/fabrics-cmd.c 2023-12-20 14:44:42.000000000 +0000 @@ -189,6 +189,8 @@ goto out; } + d->subsysnqn[NVMF_NQN_FIELD_LEN - 1] = '\0'; + d->hostnqn[NVMF_NQN_FIELD_LEN - 1] = '\0'; status = nvmet_alloc_ctrl(d->subsysnqn, d->hostnqn, req, le32_to_cpu(c->kato), &ctrl); if (status) { @@ -223,7 +225,7 @@ { struct nvmf_connect_command *c = &req->cmd->connect; struct nvmf_connect_data *d; - struct nvmet_ctrl *ctrl = NULL; + struct nvmet_ctrl *ctrl; u16 qid = le16_to_cpu(c->qid); u16 status = 0; @@ -250,11 +252,14 @@ goto out; } - status = nvmet_ctrl_find_get(d->subsysnqn, d->hostnqn, - le16_to_cpu(d->cntlid), - req, &ctrl); - if (status) + d->subsysnqn[NVMF_NQN_FIELD_LEN - 1] = '\0'; + d->hostnqn[NVMF_NQN_FIELD_LEN - 1] = '\0'; + ctrl = nvmet_ctrl_find_get(d->subsysnqn, d->hostnqn, + le16_to_cpu(d->cntlid), req); + if (!ctrl) { + status = NVME_SC_CONNECT_INVALID_PARAM | NVME_SC_DNR; goto out; + } if (unlikely(qid > ctrl->subsys->max_qid)) { pr_warn("invalid queue id (%d)\n", qid); diff -Nru linux-5.10.197/drivers/nvme/target/nvmet.h linux-5.10.205/drivers/nvme/target/nvmet.h --- linux-5.10.197/drivers/nvme/target/nvmet.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/nvme/target/nvmet.h 2023-12-20 14:44:42.000000000 +0000 @@ -430,8 +430,9 @@ void nvmet_update_cc(struct nvmet_ctrl *ctrl, u32 new); u16 nvmet_alloc_ctrl(const char *subsysnqn, const char *hostnqn, struct nvmet_req *req, u32 kato, struct nvmet_ctrl **ctrlp); -u16 nvmet_ctrl_find_get(const char *subsysnqn, const char *hostnqn, u16 cntlid, - struct nvmet_req *req, struct nvmet_ctrl **ret); +struct nvmet_ctrl *nvmet_ctrl_find_get(const char *subsysnqn, + const char *hostnqn, u16 cntlid, + struct nvmet_req *req); void nvmet_ctrl_put(struct nvmet_ctrl *ctrl); u16 nvmet_check_ctrl_status(struct nvmet_req *req, struct nvme_command *cmd); diff -Nru linux-5.10.197/drivers/nvme/target/tcp.c linux-5.10.205/drivers/nvme/target/tcp.c --- linux-5.10.197/drivers/nvme/target/tcp.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/nvme/target/tcp.c 2023-12-20 14:44:42.000000000 +0000 @@ -336,6 +336,7 @@ static void nvmet_tcp_socket_error(struct nvmet_tcp_queue *queue, int status) { + queue->rcv_state = NVMET_TCP_RECV_ERR; if (status == -EPIPE || status == -ECONNRESET) kernel_sock_shutdown(queue->sock, SHUT_RDWR); else @@ -882,15 +883,11 @@ iov.iov_len = sizeof(*icresp); ret = kernel_sendmsg(queue->sock, &msg, &iov, 1, iov.iov_len); if (ret < 0) - goto free_crypto; + return ret; /* queue removal will cleanup */ queue->state = NVMET_TCP_Q_LIVE; nvmet_prepare_receive_pdu(queue); return 0; -free_crypto: - if (queue->hdr_digest || queue->data_digest) - nvmet_tcp_free_crypto(queue); - return ret; } static void nvmet_tcp_handle_req_failure(struct nvmet_tcp_queue *queue, diff -Nru linux-5.10.197/drivers/nvmem/imx-ocotp.c linux-5.10.205/drivers/nvmem/imx-ocotp.c --- linux-5.10.197/drivers/nvmem/imx-ocotp.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/nvmem/imx-ocotp.c 2023-12-20 14:44:42.000000000 +0000 @@ -467,7 +467,7 @@ }; static const struct ocotp_params imx6sll_params = { - .nregs = 128, + .nregs = 80, .bank_address_words = 0, .set_timing = imx_ocotp_set_imx6_timing, .ctrl = IMX_OCOTP_BM_CTRL_DEFAULT, @@ -481,14 +481,14 @@ }; static const struct ocotp_params imx6ul_params = { - .nregs = 128, + .nregs = 144, .bank_address_words = 0, .set_timing = imx_ocotp_set_imx6_timing, .ctrl = IMX_OCOTP_BM_CTRL_DEFAULT, }; static const struct ocotp_params imx6ull_params = { - .nregs = 64, + .nregs = 80, .bank_address_words = 0, .set_timing = imx_ocotp_set_imx6_timing, .ctrl = IMX_OCOTP_BM_CTRL_DEFAULT, diff -Nru linux-5.10.197/drivers/of/base.c linux-5.10.205/drivers/of/base.c --- linux-5.10.197/drivers/of/base.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/of/base.c 2023-12-20 14:44:42.000000000 +0000 @@ -244,7 +244,7 @@ * @prev: Previous node or NULL to start iteration * of_node_put() will be called on it * - * Returns a node pointer with refcount incremented, use + * Return: A node pointer with refcount incremented, use * of_node_put() on it when done. */ struct device_node *of_find_all_nodes(struct device_node *prev) @@ -305,7 +305,7 @@ return (u32)phys_id == cpu; } -/** +/* * Checks if the given "prop_name" property holds the physical id of the * core/thread corresponding to the logical cpu 'cpu'. If 'thread' is not * NULL, local thread number within the core is returned in it. @@ -374,7 +374,7 @@ * before booting secondary cores. This function uses arch_match_cpu_phys_id * which can be overridden by architecture specific implementation. * - * Returns a node pointer for the logical cpu with refcount incremented, use + * Return: A node pointer for the logical cpu with refcount incremented, use * of_node_put() on it when done. Returns NULL if not found. */ struct device_node *of_get_cpu_node(int cpu, unsigned int *thread) @@ -394,8 +394,8 @@ * * @cpu_node: Pointer to the device_node for CPU. * - * Returns the logical CPU number of the given CPU device_node. - * Returns -ENODEV if the CPU is not found. + * Return: The logical CPU number of the given CPU device_node or -ENODEV if the + * CPU is not found. */ int of_cpu_node_to_id(struct device_node *cpu_node) { @@ -427,7 +427,7 @@ * bindings. This function check for both and returns the idle state node for * the requested index. * - * In case an idle state node is found at @index, the refcount is incremented + * Return: An idle state node if found at @index. The refcount is incremented * for it, so call of_node_put() on it when done. Returns NULL if not found. */ struct device_node *of_get_cpu_state_node(struct device_node *cpu_node, @@ -561,7 +561,7 @@ * of_machine_is_compatible - Test root of device tree for a given compatible value * @compat: compatible string to look for in root node's compatible property. * - * Returns a positive integer if the root node has the given value in its + * Return: A positive integer if the root node has the given value in its * compatible property. */ int of_machine_is_compatible(const char *compat) @@ -583,7 +583,7 @@ * * @device: Node to check for availability, with locks already held * - * Returns true if the status property is absent or set to "okay" or "ok", + * Return: True if the status property is absent or set to "okay" or "ok", * false otherwise */ static bool __of_device_is_available(const struct device_node *device) @@ -611,7 +611,7 @@ * * @device: Node to check for availability * - * Returns true if the status property is absent or set to "okay" or "ok", + * Return: True if the status property is absent or set to "okay" or "ok", * false otherwise */ bool of_device_is_available(const struct device_node *device) @@ -632,7 +632,7 @@ * * @device: Node to check for endianness * - * Returns true if the device has a "big-endian" property, or if the kernel + * Return: True if the device has a "big-endian" property, or if the kernel * was compiled for BE *and* the device has a "native-endian" property. * Returns false otherwise. * @@ -651,11 +651,11 @@ EXPORT_SYMBOL(of_device_is_big_endian); /** - * of_get_parent - Get a node's parent if any - * @node: Node to get parent + * of_get_parent - Get a node's parent if any + * @node: Node to get parent * - * Returns a node pointer with refcount incremented, use - * of_node_put() on it when done. + * Return: A node pointer with refcount incremented, use + * of_node_put() on it when done. */ struct device_node *of_get_parent(const struct device_node *node) { @@ -673,15 +673,15 @@ EXPORT_SYMBOL(of_get_parent); /** - * of_get_next_parent - Iterate to a node's parent - * @node: Node to get parent of + * of_get_next_parent - Iterate to a node's parent + * @node: Node to get parent of * - * This is like of_get_parent() except that it drops the - * refcount on the passed node, making it suitable for iterating - * through a node's parents. + * This is like of_get_parent() except that it drops the + * refcount on the passed node, making it suitable for iterating + * through a node's parents. * - * Returns a node pointer with refcount incremented, use - * of_node_put() on it when done. + * Return: A node pointer with refcount incremented, use + * of_node_put() on it when done. */ struct device_node *of_get_next_parent(struct device_node *node) { @@ -719,13 +719,13 @@ child = __of_get_next_child(parent, child)) /** - * of_get_next_child - Iterate a node childs - * @node: parent node - * @prev: previous child of the parent node, or NULL to get first - * - * Returns a node pointer with refcount incremented, use of_node_put() on - * it when done. Returns NULL when prev is the last child. Decrements the - * refcount of prev. + * of_get_next_child - Iterate a node childs + * @node: parent node + * @prev: previous child of the parent node, or NULL to get first + * + * Return: A node pointer with refcount incremented, use of_node_put() on + * it when done. Returns NULL when prev is the last child. Decrements the + * refcount of prev. */ struct device_node *of_get_next_child(const struct device_node *node, struct device_node *prev) @@ -741,12 +741,12 @@ EXPORT_SYMBOL(of_get_next_child); /** - * of_get_next_available_child - Find the next available child node - * @node: parent node - * @prev: previous child of the parent node, or NULL to get first + * of_get_next_available_child - Find the next available child node + * @node: parent node + * @prev: previous child of the parent node, or NULL to get first * - * This function is like of_get_next_child(), except that it - * automatically skips any disabled nodes (i.e. status = "disabled"). + * This function is like of_get_next_child(), except that it + * automatically skips any disabled nodes (i.e. status = "disabled"). */ struct device_node *of_get_next_available_child(const struct device_node *node, struct device_node *prev) @@ -772,12 +772,12 @@ EXPORT_SYMBOL(of_get_next_available_child); /** - * of_get_next_cpu_node - Iterate on cpu nodes - * @prev: previous child of the /cpus node, or NULL to get first + * of_get_next_cpu_node - Iterate on cpu nodes + * @prev: previous child of the /cpus node, or NULL to get first * - * Returns a cpu node pointer with refcount incremented, use of_node_put() - * on it when done. Returns NULL when prev is the last child. Decrements - * the refcount of prev. + * Return: A cpu node pointer with refcount incremented, use of_node_put() + * on it when done. Returns NULL when prev is the last child. Decrements + * the refcount of prev. */ struct device_node *of_get_next_cpu_node(struct device_node *prev) { @@ -816,7 +816,7 @@ * Lookup child node whose compatible property contains the given compatible * string. * - * Returns a node pointer with refcount incremented, use of_node_put() on it + * Return: a node pointer with refcount incremented, use of_node_put() on it * when done; or NULL if not found. */ struct device_node *of_get_compatible_child(const struct device_node *parent, @@ -834,15 +834,15 @@ EXPORT_SYMBOL(of_get_compatible_child); /** - * of_get_child_by_name - Find the child node by name for a given parent - * @node: parent node - * @name: child name to look for. - * - * This function looks for child node for given matching name - * - * Returns a node pointer if found, with refcount incremented, use - * of_node_put() on it when done. - * Returns NULL if node is not found. + * of_get_child_by_name - Find the child node by name for a given parent + * @node: parent node + * @name: child name to look for. + * + * This function looks for child node for given matching name + * + * Return: A node pointer if found, with refcount incremented, use + * of_node_put() on it when done. + * Returns NULL if node is not found. */ struct device_node *of_get_child_by_name(const struct device_node *node, const char *name) @@ -893,22 +893,22 @@ } /** - * of_find_node_opts_by_path - Find a node matching a full OF path - * @path: Either the full path to match, or if the path does not - * start with '/', the name of a property of the /aliases - * node (an alias). In the case of an alias, the node - * matching the alias' value will be returned. - * @opts: Address of a pointer into which to store the start of - * an options string appended to the end of the path with - * a ':' separator. - * - * Valid paths: - * /foo/bar Full path - * foo Valid alias - * foo/bar Valid alias + relative path + * of_find_node_opts_by_path - Find a node matching a full OF path + * @path: Either the full path to match, or if the path does not + * start with '/', the name of a property of the /aliases + * node (an alias). In the case of an alias, the node + * matching the alias' value will be returned. + * @opts: Address of a pointer into which to store the start of + * an options string appended to the end of the path with + * a ':' separator. + * + * Valid paths: + * * /foo/bar Full path + * * foo Valid alias + * * foo/bar Valid alias + relative path * - * Returns a node pointer with refcount incremented, use - * of_node_put() on it when done. + * Return: A node pointer with refcount incremented, use + * of_node_put() on it when done. */ struct device_node *of_find_node_opts_by_path(const char *path, const char **opts) { @@ -958,15 +958,15 @@ EXPORT_SYMBOL(of_find_node_opts_by_path); /** - * of_find_node_by_name - Find a node by its "name" property - * @from: The node to start searching from or NULL; the node + * of_find_node_by_name - Find a node by its "name" property + * @from: The node to start searching from or NULL; the node * you pass will not be searched, only the next one * will. Typically, you pass what the previous call * returned. of_node_put() will be called on @from. - * @name: The name string to match against + * @name: The name string to match against * - * Returns a node pointer with refcount incremented, use - * of_node_put() on it when done. + * Return: A node pointer with refcount incremented, use + * of_node_put() on it when done. */ struct device_node *of_find_node_by_name(struct device_node *from, const char *name) @@ -985,16 +985,16 @@ EXPORT_SYMBOL(of_find_node_by_name); /** - * of_find_node_by_type - Find a node by its "device_type" property - * @from: The node to start searching from, or NULL to start searching + * of_find_node_by_type - Find a node by its "device_type" property + * @from: The node to start searching from, or NULL to start searching * the entire device tree. The node you pass will not be * searched, only the next one will; typically, you pass * what the previous call returned. of_node_put() will be * called on from for you. - * @type: The type string to match against + * @type: The type string to match against * - * Returns a node pointer with refcount incremented, use - * of_node_put() on it when done. + * Return: A node pointer with refcount incremented, use + * of_node_put() on it when done. */ struct device_node *of_find_node_by_type(struct device_node *from, const char *type) @@ -1013,18 +1013,18 @@ EXPORT_SYMBOL(of_find_node_by_type); /** - * of_find_compatible_node - Find a node based on type and one of the + * of_find_compatible_node - Find a node based on type and one of the * tokens in its "compatible" property - * @from: The node to start searching from or NULL, the node - * you pass will not be searched, only the next one - * will; typically, you pass what the previous call - * returned. of_node_put() will be called on it - * @type: The type string to match "device_type" or NULL to ignore - * @compatible: The string to match to one of the tokens in the device - * "compatible" list. + * @from: The node to start searching from or NULL, the node + * you pass will not be searched, only the next one + * will; typically, you pass what the previous call + * returned. of_node_put() will be called on it + * @type: The type string to match "device_type" or NULL to ignore + * @compatible: The string to match to one of the tokens in the device + * "compatible" list. * - * Returns a node pointer with refcount incremented, use - * of_node_put() on it when done. + * Return: A node pointer with refcount incremented, use + * of_node_put() on it when done. */ struct device_node *of_find_compatible_node(struct device_node *from, const char *type, const char *compatible) @@ -1044,16 +1044,16 @@ EXPORT_SYMBOL(of_find_compatible_node); /** - * of_find_node_with_property - Find a node which has a property with - * the given name. - * @from: The node to start searching from or NULL, the node - * you pass will not be searched, only the next one - * will; typically, you pass what the previous call - * returned. of_node_put() will be called on it - * @prop_name: The name of the property to look for. + * of_find_node_with_property - Find a node which has a property with + * the given name. + * @from: The node to start searching from or NULL, the node + * you pass will not be searched, only the next one + * will; typically, you pass what the previous call + * returned. of_node_put() will be called on it + * @prop_name: The name of the property to look for. * - * Returns a node pointer with refcount incremented, use - * of_node_put() on it when done. + * Return: A node pointer with refcount incremented, use + * of_node_put() on it when done. */ struct device_node *of_find_node_with_property(struct device_node *from, const char *prop_name) @@ -1102,10 +1102,10 @@ /** * of_match_node - Tell if a device_node has a matching of_match structure - * @matches: array of of device match structures to search in - * @node: the of device structure to match against + * @matches: array of of device match structures to search in + * @node: the of device structure to match against * - * Low level utility function used by device matching. + * Low level utility function used by device matching. */ const struct of_device_id *of_match_node(const struct of_device_id *matches, const struct device_node *node) @@ -1121,17 +1121,17 @@ EXPORT_SYMBOL(of_match_node); /** - * of_find_matching_node_and_match - Find a node based on an of_device_id - * match table. - * @from: The node to start searching from or NULL, the node - * you pass will not be searched, only the next one - * will; typically, you pass what the previous call - * returned. of_node_put() will be called on it - * @matches: array of of device match structures to search in - * @match Updated to point at the matches entry which matched + * of_find_matching_node_and_match - Find a node based on an of_device_id + * match table. + * @from: The node to start searching from or NULL, the node + * you pass will not be searched, only the next one + * will; typically, you pass what the previous call + * returned. of_node_put() will be called on it + * @matches: array of of device match structures to search in + * @match: Updated to point at the matches entry which matched * - * Returns a node pointer with refcount incremented, use - * of_node_put() on it when done. + * Return: A node pointer with refcount incremented, use + * of_node_put() on it when done. */ struct device_node *of_find_matching_node_and_match(struct device_node *from, const struct of_device_id *matches, @@ -1170,7 +1170,7 @@ * It does this by stripping the manufacturer prefix (as delimited by a ',') * from the first entry in the compatible list property. * - * This routine returns 0 on success, <0 on failure. + * Return: This routine returns 0 on success, <0 on failure. */ int of_modalias_node(struct device_node *node, char *modalias, int len) { @@ -1190,7 +1190,7 @@ * of_find_node_by_phandle - Find a node given a phandle * @handle: phandle of the node to find * - * Returns a node pointer with refcount incremented, use + * Return: A node pointer with refcount incremented, use * of_node_put() on it when done. */ struct device_node *of_find_node_by_phandle(phandle handle) @@ -1431,7 +1431,7 @@ * @index: For properties holding a table of phandles, this is the index into * the table * - * Returns the device_node pointer with refcount incremented. Use + * Return: The device_node pointer with refcount incremented. Use * of_node_put() on it when done. */ struct device_node *of_parse_phandle(const struct device_node *np, @@ -1465,21 +1465,21 @@ * Caller is responsible to call of_node_put() on the returned out_args->np * pointer. * - * Example: + * Example:: * - * phandle1: node1 { + * phandle1: node1 { * #list-cells = <2>; - * } + * }; * - * phandle2: node2 { + * phandle2: node2 { * #list-cells = <1>; - * } + * }; * - * node3 { + * node3 { * list = <&phandle1 1 2 &phandle2 3>; - * } + * }; * - * To get a device_node of the `node2' node you may call this: + * To get a device_node of the ``node2`` node you may call this: * of_parse_phandle_with_args(node3, "list", "#list-cells", 1, &args); */ int of_parse_phandle_with_args(const struct device_node *np, const char *list_name, @@ -1517,29 +1517,29 @@ * Caller is responsible to call of_node_put() on the returned out_args->np * pointer. * - * Example: + * Example:: * - * phandle1: node1 { - * #list-cells = <2>; - * } + * phandle1: node1 { + * #list-cells = <2>; + * }; + * + * phandle2: node2 { + * #list-cells = <1>; + * }; + * + * phandle3: node3 { + * #list-cells = <1>; + * list-map = <0 &phandle2 3>, + * <1 &phandle2 2>, + * <2 &phandle1 5 1>; + * list-map-mask = <0x3>; + * }; + * + * node4 { + * list = <&phandle1 1 2 &phandle3 0>; + * }; * - * phandle2: node2 { - * #list-cells = <1>; - * } - * - * phandle3: node3 { - * #list-cells = <1>; - * list-map = <0 &phandle2 3>, - * <1 &phandle2 2>, - * <2 &phandle1 5 1>; - * list-map-mask = <0x3>; - * }; - * - * node4 { - * list = <&phandle1 1 2 &phandle3 0>; - * } - * - * To get a device_node of the `node2' node you may call this: + * To get a device_node of the ``node2`` node you may call this: * of_parse_phandle_with_args(node4, "list", "list", 1, &args); */ int of_parse_phandle_with_args_map(const struct device_node *np, @@ -1699,19 +1699,19 @@ * Caller is responsible to call of_node_put() on the returned out_args->np * pointer. * - * Example: + * Example:: * - * phandle1: node1 { - * } + * phandle1: node1 { + * }; * - * phandle2: node2 { - * } + * phandle2: node2 { + * }; * - * node3 { - * list = <&phandle1 0 2 &phandle2 2 3>; - * } + * node3 { + * list = <&phandle1 0 2 &phandle2 2 3>; + * }; * - * To get a device_node of the `node2' node you may call this: + * To get a device_node of the ``node2`` node you may call this: * of_parse_phandle_with_fixed_args(node3, "list", 2, 1, &args); */ int of_parse_phandle_with_fixed_args(const struct device_node *np, @@ -1731,7 +1731,7 @@ * @list_name: property name that contains a list * @cells_name: property name that specifies phandles' arguments count * - * Returns the number of phandle + argument tuples within a property. It + * Return: The number of phandle + argument tuples within a property. It * is a typical pattern to encode a list of phandle and variable * arguments into a single property. The number of arguments is encoded * by a property in the phandle-target node. For example, a gpios @@ -1779,6 +1779,8 @@ /** * __of_add_property - Add a property to a node without lock operations + * @np: Caller's Device Node + * @prob: Property to add */ int __of_add_property(struct device_node *np, struct property *prop) { @@ -1800,6 +1802,8 @@ /** * of_add_property - Add a property to a node + * @np: Caller's Device Node + * @prob: Property to add */ int of_add_property(struct device_node *np, struct property *prop) { @@ -1844,6 +1848,8 @@ /** * of_remove_property - Remove a property from a node. + * @np: Caller's Device Node + * @prob: Property to remove * * Note that we don't actually remove it, since we have given out * who-knows-how-many pointers to the data using get-property. @@ -1951,13 +1957,12 @@ /** * of_alias_scan - Scan all properties of the 'aliases' node + * @dt_alloc: An allocator that provides a virtual address to memory + * for storing the resulting tree * * The function scans all the properties of the 'aliases' node and populates * the global lookup table with the properties. It returns the * number of alias properties found, or an error code in case of failure. - * - * @dt_alloc: An allocator that provides a virtual address to memory - * for storing the resulting tree */ void of_alias_scan(void * (*dt_alloc)(u64 size, u64 align)) { @@ -2026,7 +2031,9 @@ * @stem: Alias stem of the given device_node * * The function travels the lookup table to get the alias id for the given - * device_node and alias stem. It returns the alias id if found. + * device_node and alias stem. + * + * Return: The alias id if found. */ int of_alias_get_id(struct device_node *np, const char *stem) { @@ -2130,13 +2137,14 @@ /** * of_console_check() - Test and setup console for DT setup - * @dn - Pointer to device node - * @name - Name to use for preferred console without index. ex. "ttyS" - * @index - Index to use for preferred console. + * @dn: Pointer to device node + * @name: Name to use for preferred console without index. ex. "ttyS" + * @index: Index to use for preferred console. * * Check if the given device node matches the stdout-path property in the - * /chosen node. If it does then register it as the preferred console and return - * TRUE. Otherwise return FALSE. + * /chosen node. If it does then register it as the preferred console. + * + * Return: TRUE if console successfully setup. Otherwise return FALSE. */ bool of_console_check(struct device_node *dn, char *name, int index) { @@ -2152,12 +2160,12 @@ EXPORT_SYMBOL_GPL(of_console_check); /** - * of_find_next_cache_node - Find a node's subsidiary cache - * @np: node of type "cpu" or "cache" + * of_find_next_cache_node - Find a node's subsidiary cache + * @np: node of type "cpu" or "cache" * - * Returns a node pointer with refcount incremented, use - * of_node_put() on it when done. Caller should hold a reference - * to np. + * Return: A node pointer with refcount incremented, use + * of_node_put() on it when done. Caller should hold a reference + * to np. */ struct device_node *of_find_next_cache_node(const struct device_node *np) { @@ -2187,7 +2195,7 @@ * * @cpu: cpu number(logical index) for which the last cache level is needed * - * Returns the the level at which the last cache is present. It is exactly + * Return: The the level at which the last cache is present. It is exactly * same as the total number of cache levels for the given logical cpu. */ int of_find_last_cache_level(unsigned int cpu) diff -Nru linux-5.10.197/drivers/of/dynamic.c linux-5.10.205/drivers/of/dynamic.c --- linux-5.10.197/drivers/of/dynamic.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/of/dynamic.c 2023-12-20 14:44:42.000000000 +0000 @@ -27,7 +27,7 @@ * @node: Node to inc refcount, NULL is supported to simplify writing of * callers * - * Returns node. + * Return: The node with refcount incremented. */ struct device_node *of_node_get(struct device_node *node) { @@ -103,8 +103,10 @@ * @arg - argument of the of notifier * * Returns the new state of a device based on the notifier used. - * Returns 0 on device going from enabled to disabled, 1 on device - * going from disabled to enabled and -1 on no change. + * + * Return: OF_RECONFIG_CHANGE_REMOVE on device going from enabled to + * disabled, OF_RECONFIG_CHANGE_ADD on device going from disabled to + * enabled and OF_RECONFIG_NO_CHANGE on no change. */ int of_reconfig_get_state_change(unsigned long action, struct of_reconfig_data *pr) { @@ -370,7 +372,8 @@ * property structure and the property name & contents. The property's * flags have the OF_DYNAMIC bit set so that we can differentiate between * dynamically allocated properties and not. - * Returns the newly allocated property or NULL on out of memory error. + * + * Return: The newly allocated property or NULL on out of memory error. */ struct property *__of_prop_dup(const struct property *prop, gfp_t allocflags) { @@ -413,7 +416,7 @@ * another node. The node data are dynamically allocated and all the node * flags have the OF_DYNAMIC & OF_DETACHED bits set. * - * Returns the newly allocated node or NULL on out of memory error. + * Return: The newly allocated node or NULL on out of memory error. */ struct device_node *__of_node_dup(const struct device_node *np, const char *full_name) @@ -764,7 +767,8 @@ * Any side-effects of live tree state changes are applied here on * success, like creation/destruction of devices and side-effects * like creation of sysfs properties and directories. - * Returns 0 on success, a negative error value in case of an error. + * + * Return: 0 on success, a negative error value in case of an error. * On error the partially applied effects are reverted. */ int of_changeset_apply(struct of_changeset *ocs) @@ -858,7 +862,8 @@ * was before the application. * Any side-effects like creation/destruction of devices and * removal of sysfs properties and directories are applied. - * Returns 0 on success, a negative error value in case of an error. + * + * Return: 0 on success, a negative error value in case of an error. */ int of_changeset_revert(struct of_changeset *ocs) { @@ -886,20 +891,21 @@ * + OF_RECONFIG_ADD_PROPERTY * + OF_RECONFIG_REMOVE_PROPERTY, * + OF_RECONFIG_UPDATE_PROPERTY - * Returns 0 on success, a negative error value in case of an error. + * + * Return: 0 on success, a negative error value in case of an error. */ int of_changeset_action(struct of_changeset *ocs, unsigned long action, struct device_node *np, struct property *prop) { struct of_changeset_entry *ce; + if (WARN_ON(action >= ARRAY_SIZE(action_names))) + return -EINVAL; + ce = kzalloc(sizeof(*ce), GFP_KERNEL); if (!ce) return -ENOMEM; - if (WARN_ON(action >= ARRAY_SIZE(action_names))) - return -EINVAL; - /* get a reference to the node */ ce->action = action; ce->np = of_node_get(np); diff -Nru linux-5.10.197/drivers/of/fdt.c linux-5.10.205/drivers/of/fdt.c --- linux-5.10.197/drivers/of/fdt.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/of/fdt.c 2023-12-20 14:44:42.000000000 +0000 @@ -282,7 +282,7 @@ * @dad: Parent struct device_node * @nodepp: The device_node tree created by the call * - * It returns the size of unflattened device tree or error code + * Return: The size of unflattened device tree or error code */ static int unflatten_dt_nodes(const void *blob, void *mem, @@ -349,11 +349,6 @@ /** * __unflatten_device_tree - create tree of device_nodes from flat blob - * - * unflattens a device-tree, creating the - * tree of struct device_node. It also fills the "name" and "type" - * pointers of the nodes so the normal device-tree walking functions - * can be used. * @blob: The blob to expand * @dad: Parent device node * @mynodes: The device_node tree created by the call @@ -361,7 +356,11 @@ * for the resulting tree * @detached: if true set OF_DETACHED on @mynodes * - * Returns NULL on failure or the memory chunk containing the unflattened + * unflattens a device-tree, creating the tree of struct device_node. It also + * fills the "name" and "type" pointers of the nodes so the normal device-tree + * walking functions can be used. + * + * Return: NULL on failure or the memory chunk containing the unflattened * device tree on success. */ void *__unflatten_device_tree(const void *blob, @@ -442,7 +441,7 @@ * pointers of the nodes so the normal device-tree walking functions * can be used. * - * Returns NULL on failure or the memory chunk containing the unflattened + * Return: NULL on failure or the memory chunk containing the unflattened * device tree on success. */ void *of_fdt_unflatten_tree(const unsigned long *blob, @@ -716,7 +715,7 @@ * @node: node to test * @compat: compatible string to compare with compatible list. * - * On match, returns a non-zero value with smaller values returned for more + * Return: a non-zero value on match with smaller values returned for more * specific compatible values. */ static int of_fdt_is_compatible(const void *blob, diff -Nru linux-5.10.197/drivers/of/irq.c linux-5.10.205/drivers/of/irq.c --- linux-5.10.197/drivers/of/irq.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/of/irq.c 2023-12-20 14:44:42.000000000 +0000 @@ -48,7 +48,7 @@ * of_irq_find_parent - Given a device node, find its interrupt parent node * @child: pointer to device node * - * Returns a pointer to the interrupt parent node, or NULL if the interrupt + * Return: A pointer to the interrupt parent node, or NULL if the interrupt * parent could not be determined. */ struct device_node *of_irq_find_parent(struct device_node *child) @@ -81,14 +81,14 @@ * @addr: address specifier (start of "reg" property of the device) in be32 format * @out_irq: structure of_phandle_args updated by this function * - * Returns 0 on success and a negative number on error - * * This function is a low-level interrupt tree walking function. It * can be used to do a partial walk with synthetized reg and interrupts * properties, for example when resolving PCI interrupts when no device * node exist for the parent. It takes an interrupt specifier structure as * input, walks the tree looking for any interrupt-map properties, translates * the specifier for each map, and then returns the translated map. + * + * Return: 0 on success and a negative number on error */ int of_irq_parse_raw(const __be32 *addr, struct of_phandle_args *out_irq) { @@ -380,7 +380,7 @@ * @dev: pointer to device tree node * @index: zero-based index of the IRQ * - * Returns Linux IRQ number on success, or 0 on the IRQ mapping failure, or + * Return: Linux IRQ number on success, or 0 on the IRQ mapping failure, or * -EPROBE_DEFER if the IRQ domain is not yet created, or error code in case * of any other failure. */ @@ -407,7 +407,7 @@ * @dev: pointer to device tree node * @name: IRQ name * - * Returns Linux IRQ number on success, or 0 on the IRQ mapping failure, or + * Return: Linux IRQ number on success, or 0 on the IRQ mapping failure, or * -EPROBE_DEFER if the IRQ domain is not yet created, or error code in case * of any other failure. */ @@ -447,7 +447,7 @@ * @res: array of resources to fill in * @nr_irqs: the number of IRQs (and upper bound for num of @res elements) * - * Returns the size of the filled in table (up to @nr_irqs). + * Return: The size of the filled in table (up to @nr_irqs). */ int of_irq_to_resource_table(struct device_node *dev, struct resource *res, int nr_irqs) @@ -602,7 +602,7 @@ * Walk up the device hierarchy looking for devices with a "msi-map" * property. If found, apply the mapping to @id_in. * - * Returns the mapped MSI ID. + * Return: The mapped MSI ID. */ u32 of_msi_map_id(struct device *dev, struct device_node *msi_np, u32 id_in) { diff -Nru linux-5.10.197/drivers/of/overlay.c linux-5.10.205/drivers/of/overlay.c --- linux-5.10.197/drivers/of/overlay.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/of/overlay.c 2023-12-20 14:44:42.000000000 +0000 @@ -296,7 +296,7 @@ * * Update of property in symbols node is not allowed. * - * Returns 0 on success, -ENOMEM if memory allocation failure, or -EINVAL if + * Return: 0 on success, -ENOMEM if memory allocation failure, or -EINVAL if * invalid @overlay. */ static int add_changeset_property(struct overlay_changeset *ovcs, @@ -401,7 +401,7 @@ * * NOTE_2: Multiple mods of created nodes not supported. * - * Returns 0 on success, -ENOMEM if memory allocation failure, or -EINVAL if + * Return: 0 on success, -ENOMEM if memory allocation failure, or -EINVAL if * invalid @overlay. */ static int add_changeset_node(struct overlay_changeset *ovcs, @@ -473,7 +473,7 @@ * * Do not allow symbols node to have any children. * - * Returns 0 on success, -ENOMEM if memory allocation failure, or -EINVAL if + * Return: 0 on success, -ENOMEM if memory allocation failure, or -EINVAL if * invalid @overlay_node. */ static int build_changeset_next_level(struct overlay_changeset *ovcs, @@ -604,7 +604,7 @@ * the same node or duplicate {add, delete, or update} properties entries * for the same property. * - * Returns 0 on success, or -EINVAL if duplicate changeset entry found. + * Return: 0 on success, or -EINVAL if duplicate changeset entry found. */ static int changeset_dup_entry_check(struct overlay_changeset *ovcs) { @@ -628,7 +628,7 @@ * any portions of the changeset that were successfully created will remain * in @ovcs->cset. * - * Returns 0 on success, -ENOMEM if memory allocation failure, or -EINVAL if + * Return: 0 on success, -ENOMEM if memory allocation failure, or -EINVAL if * invalid overlay in @ovcs->fragments[]. */ static int build_changeset(struct overlay_changeset *ovcs) @@ -724,7 +724,7 @@ * the top level of @tree. The relevant top level nodes are the fragment * nodes and the __symbols__ node. Any other top level node will be ignored. * - * Returns 0 on success, -ENOMEM if memory allocation failure, -EINVAL if error + * Return: 0 on success, -ENOMEM if memory allocation failure, -EINVAL if error * detected in @tree, or -ENOSPC if idr_alloc() error. */ static int init_overlay_changeset(struct overlay_changeset *ovcs, @@ -1179,7 +1179,7 @@ * If an error is returned by an overlay changeset post-remove notifier * then no further overlay changeset post-remove notifier will be called. * - * Returns 0 on success, or a negative error number. *ovcs_id is set to + * Return: 0 on success, or a negative error number. *ovcs_id is set to * zero after reverting the changeset, even if a subsequent error occurs. */ int of_overlay_remove(int *ovcs_id) @@ -1257,7 +1257,7 @@ * * Removes all overlays from the system in the correct order. * - * Returns 0 on success, or a negative error number + * Return: 0 on success, or a negative error number */ int of_overlay_remove_all(void) { diff -Nru linux-5.10.197/drivers/of/platform.c linux-5.10.205/drivers/of/platform.c --- linux-5.10.197/drivers/of/platform.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/of/platform.c 2023-12-20 14:44:42.000000000 +0000 @@ -44,7 +44,7 @@ * Takes a reference to the embedded struct device which needs to be dropped * after use. * - * Returns platform_device pointer, or NULL if not found + * Return: platform_device pointer, or NULL if not found */ struct platform_device *of_find_device_by_node(struct device_node *np) { @@ -160,7 +160,7 @@ * @platform_data: pointer to populate platform_data pointer with * @parent: Linux device model parent device. * - * Returns pointer to created platform device, or NULL if a device was not + * Return: Pointer to created platform device, or NULL if a device was not * registered. Unavailable devices will not get registered. */ static struct platform_device *of_platform_device_create_pdata( @@ -204,7 +204,7 @@ * @bus_id: name to assign device * @parent: Linux device model parent device. * - * Returns pointer to created platform device, or NULL if a device was not + * Return: Pointer to created platform device, or NULL if a device was not * registered. Unavailable devices will not get registered. */ struct platform_device *of_platform_device_create(struct device_node *np, @@ -463,7 +463,7 @@ * New board support should be using this function instead of * of_platform_bus_probe(). * - * Returns 0 on success, < 0 on failure. + * Return: 0 on success, < 0 on failure. */ int of_platform_populate(struct device_node *root, const struct of_device_id *matches, @@ -608,7 +608,7 @@ * Similar to of_platform_populate(), but will automatically call * of_platform_depopulate() when the device is unbound from the bus. * - * Returns 0 on success, < 0 on failure. + * Return: 0 on success, < 0 on failure. */ int devm_of_platform_populate(struct device *dev) { diff -Nru linux-5.10.197/drivers/of/property.c linux-5.10.205/drivers/of/property.c --- linux-5.10.197/drivers/of/property.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/of/property.c 2023-12-20 14:44:42.000000000 +0000 @@ -60,9 +60,11 @@ * @elem_size: size of the individual element * * Search for a property in a device node and count the number of elements of - * size elem_size in it. Returns number of elements on sucess, -EINVAL if the - * property does not exist or its length does not match a multiple of elem_size - * and -ENODATA if the property does not have a value. + * size elem_size in it. + * + * Return: The number of elements on sucess, -EINVAL if the property does not + * exist or its length does not match a multiple of elem_size and -ENODATA if + * the property does not have a value. */ int of_property_count_elems_of_size(const struct device_node *np, const char *propname, int elem_size) @@ -94,8 +96,9 @@ * @len: if !=NULL, actual length is written to here * * Search for a property in a device node and valid the requested size. - * Returns the property value on success, -EINVAL if the property does not - * exist, -ENODATA if property does not have a value, and -EOVERFLOW if the + * + * Return: The property value on success, -EINVAL if the property does not + * exist, -ENODATA if property does not have a value, and -EOVERFLOW if the * property data is too small or too large. * */ @@ -128,7 +131,9 @@ * @out_value: pointer to return value, modified only if no error. * * Search for a property in a device node and read nth 32-bit value from - * it. Returns 0 on success, -EINVAL if the property does not exist, + * it. + * + * Return: 0 on success, -EINVAL if the property does not exist, * -ENODATA if property does not have a value, and -EOVERFLOW if the * property data isn't large enough. * @@ -160,7 +165,9 @@ * @out_value: pointer to return value, modified only if no error. * * Search for a property in a device node and read nth 64-bit value from - * it. Returns 0 on success, -EINVAL if the property does not exist, + * it. + * + * Return: 0 on success, -EINVAL if the property does not exist, * -ENODATA if property does not have a value, and -EOVERFLOW if the * property data isn't large enough. * @@ -195,12 +202,14 @@ * sz_min will be read. * * Search for a property in a device node and read 8-bit value(s) from - * it. Returns number of elements read on success, -EINVAL if the property - * does not exist, -ENODATA if property does not have a value, and -EOVERFLOW - * if the property data is smaller than sz_min or longer than sz_max. + * it. * * dts entry of array should be like: - * property = /bits/ 8 <0x50 0x60 0x70>; + * ``property = /bits/ 8 <0x50 0x60 0x70>;`` + * + * Return: The number of elements read on success, -EINVAL if the property + * does not exist, -ENODATA if property does not have a value, and -EOVERFLOW + * if the property data is smaller than sz_min or longer than sz_max. * * The out_values is modified only if a valid u8 value can be decoded. */ @@ -243,12 +252,14 @@ * sz_min will be read. * * Search for a property in a device node and read 16-bit value(s) from - * it. Returns number of elements read on success, -EINVAL if the property - * does not exist, -ENODATA if property does not have a value, and -EOVERFLOW - * if the property data is smaller than sz_min or longer than sz_max. + * it. * * dts entry of array should be like: - * property = /bits/ 16 <0x5000 0x6000 0x7000>; + * ``property = /bits/ 16 <0x5000 0x6000 0x7000>;`` + * + * Return: The number of elements read on success, -EINVAL if the property + * does not exist, -ENODATA if property does not have a value, and -EOVERFLOW + * if the property data is smaller than sz_min or longer than sz_max. * * The out_values is modified only if a valid u16 value can be decoded. */ @@ -291,7 +302,9 @@ * sz_min will be read. * * Search for a property in a device node and read 32-bit value(s) from - * it. Returns number of elements read on success, -EINVAL if the property + * it. + * + * Return: The number of elements read on success, -EINVAL if the property * does not exist, -ENODATA if property does not have a value, and -EOVERFLOW * if the property data is smaller than sz_min or longer than sz_max. * @@ -330,7 +343,9 @@ * @out_value: pointer to return value, modified only if return value is 0. * * Search for a property in a device node and read a 64-bit value from - * it. Returns 0 on success, -EINVAL if the property does not exist, + * it. + * + * Return: 0 on success, -EINVAL if the property does not exist, * -ENODATA if property does not have a value, and -EOVERFLOW if the * property data isn't large enough. * @@ -365,7 +380,9 @@ * sz_min will be read. * * Search for a property in a device node and read 64-bit value(s) from - * it. Returns number of elements read on success, -EINVAL if the property + * it. + * + * Return: The number of elements read on success, -EINVAL if the property * does not exist, -ENODATA if property does not have a value, and -EOVERFLOW * if the property data is smaller than sz_min or longer than sz_max. * @@ -407,10 +424,11 @@ * return value is 0. * * Search for a property in a device tree node and retrieve a null - * terminated string value (pointer to data, not a copy). Returns 0 on - * success, -EINVAL if the property does not exist, -ENODATA if property - * does not have a value, and -EILSEQ if the string is not null-terminated - * within the length of the property data. + * terminated string value (pointer to data, not a copy). + * + * Return: 0 on success, -EINVAL if the property does not exist, -ENODATA if + * property does not have a value, and -EILSEQ if the string is not + * null-terminated within the length of the property data. * * The out_string pointer is modified only if a valid string can be decoded. */ @@ -774,7 +792,7 @@ * @node: pointer to a local endpoint device_node * * Return: Remote port node associated with remote endpoint node linked - * to @node. Use of_node_put() on it when done. + * to @node. Use of_node_put() on it when done. */ struct device_node *of_graph_get_remote_port(const struct device_node *node) { @@ -807,7 +825,7 @@ * @endpoint: identifier (value of reg property) of the endpoint node * * Return: Remote device node associated with remote endpoint node linked - * to @node. Use of_node_put() on it when done. + * to @node. Use of_node_put() on it when done. */ struct device_node *of_graph_get_remote_node(const struct device_node *node, u32 port, u32 endpoint) diff -Nru linux-5.10.197/drivers/parisc/iosapic.c linux-5.10.205/drivers/parisc/iosapic.c --- linux-5.10.197/drivers/parisc/iosapic.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/parisc/iosapic.c 2023-12-20 14:44:42.000000000 +0000 @@ -202,9 +202,9 @@ static DEFINE_SPINLOCK(iosapic_lock); -static inline void iosapic_eoi(void __iomem *addr, unsigned int data) +static inline void iosapic_eoi(__le32 __iomem *addr, __le32 data) { - __raw_writel(data, addr); + __raw_writel((__force u32)data, addr); } /* diff -Nru linux-5.10.197/drivers/parisc/iosapic_private.h linux-5.10.205/drivers/parisc/iosapic_private.h --- linux-5.10.197/drivers/parisc/iosapic_private.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/parisc/iosapic_private.h 2023-12-20 14:44:42.000000000 +0000 @@ -118,8 +118,8 @@ struct vector_info { struct iosapic_info *iosapic; /* I/O SAPIC this vector is on */ struct irt_entry *irte; /* IRT entry */ - u32 __iomem *eoi_addr; /* precalculate EOI reg address */ - u32 eoi_data; /* IA64: ? PA: swapped txn_data */ + __le32 __iomem *eoi_addr; /* precalculate EOI reg address */ + __le32 eoi_data; /* IA64: ? PA: swapped txn_data */ int txn_irq; /* virtual IRQ number for processor */ ulong txn_addr; /* IA64: id_eid PA: partial HPA */ u32 txn_data; /* CPU interrupt bit */ diff -Nru linux-5.10.197/drivers/parport/parport_pc.c linux-5.10.205/drivers/parport/parport_pc.c --- linux-5.10.197/drivers/parport/parport_pc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/parport/parport_pc.c 2023-12-20 14:44:42.000000000 +0000 @@ -2613,6 +2613,8 @@ netmos_9865, quatech_sppxp100, wch_ch382l, + brainboxes_uc146, + brainboxes_px203, }; @@ -2676,6 +2678,8 @@ /* netmos_9865 */ { 1, { { 0, -1 }, } }, /* quatech_sppxp100 */ { 1, { { 0, 1 }, } }, /* wch_ch382l */ { 1, { { 2, -1 }, } }, + /* brainboxes_uc146 */ { 1, { { 3, -1 }, } }, + /* brainboxes_px203 */ { 1, { { 0, -1 }, } }, }; static const struct pci_device_id parport_pc_pci_tbl[] = { @@ -2767,6 +2771,23 @@ PCI_ANY_ID, PCI_ANY_ID, 0, 0, quatech_sppxp100 }, /* WCH CH382L PCI-E single parallel port card */ { 0x1c00, 0x3050, 0x1c00, 0x3050, 0, 0, wch_ch382l }, + /* Brainboxes IX-500/550 */ + { PCI_VENDOR_ID_INTASHIELD, 0x402a, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, oxsemi_pcie_pport }, + /* Brainboxes UC-146/UC-157 */ + { PCI_VENDOR_ID_INTASHIELD, 0x0be1, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc146 }, + { PCI_VENDOR_ID_INTASHIELD, 0x0be2, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc146 }, + /* Brainboxes PX-146/PX-257 */ + { PCI_VENDOR_ID_INTASHIELD, 0x401c, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, oxsemi_pcie_pport }, + /* Brainboxes PX-203 */ + { PCI_VENDOR_ID_INTASHIELD, 0x4007, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_px203 }, + /* Brainboxes PX-475 */ + { PCI_VENDOR_ID_INTASHIELD, 0x401f, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, oxsemi_pcie_pport }, { 0, } /* terminate list */ }; MODULE_DEVICE_TABLE(pci, parport_pc_pci_tbl); diff -Nru linux-5.10.197/drivers/pci/controller/dwc/pci-exynos.c linux-5.10.205/drivers/pci/controller/dwc/pci-exynos.c --- linux-5.10.197/drivers/pci/controller/dwc/pci-exynos.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/pci/controller/dwc/pci-exynos.c 2023-12-20 14:44:42.000000000 +0000 @@ -503,7 +503,7 @@ return ret; } -static int __exit exynos_pcie_remove(struct platform_device *pdev) +static int exynos_pcie_remove(struct platform_device *pdev) { struct exynos_pcie *ep = platform_get_drvdata(pdev); @@ -522,7 +522,7 @@ }; static struct platform_driver exynos_pcie_driver = { - .remove = __exit_p(exynos_pcie_remove), + .remove = exynos_pcie_remove, .driver = { .name = "exynos-pcie", .of_match_table = exynos_pcie_of_match, diff -Nru linux-5.10.197/drivers/pci/controller/dwc/pci-keystone.c linux-5.10.205/drivers/pci/controller/dwc/pci-keystone.c --- linux-5.10.197/drivers/pci/controller/dwc/pci-keystone.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/pci/controller/dwc/pci-keystone.c 2023-12-20 14:44:42.000000000 +0000 @@ -865,8 +865,8 @@ return ks_pcie_handle_error_irq(ks_pcie); } -static int __init ks_pcie_add_pcie_port(struct keystone_pcie *ks_pcie, - struct platform_device *pdev) +static int ks_pcie_add_pcie_port(struct keystone_pcie *ks_pcie, + struct platform_device *pdev) { struct dw_pcie *pci = ks_pcie->pci; struct pcie_port *pp = &pci->pp; @@ -978,8 +978,8 @@ .get_features = &ks_pcie_am654_get_features, }; -static int __init ks_pcie_add_pcie_ep(struct keystone_pcie *ks_pcie, - struct platform_device *pdev) +static int ks_pcie_add_pcie_ep(struct keystone_pcie *ks_pcie, + struct platform_device *pdev) { int ret; struct dw_pcie_ep *ep; @@ -1142,7 +1142,7 @@ { }, }; -static int __init ks_pcie_probe(struct platform_device *pdev) +static int ks_pcie_probe(struct platform_device *pdev) { const struct dw_pcie_host_ops *host_ops; const struct dw_pcie_ep_ops *ep_ops; @@ -1338,7 +1338,7 @@ return ret; } -static int __exit ks_pcie_remove(struct platform_device *pdev) +static int ks_pcie_remove(struct platform_device *pdev) { struct keystone_pcie *ks_pcie = platform_get_drvdata(pdev); struct device_link **link = ks_pcie->link; @@ -1354,9 +1354,9 @@ return 0; } -static struct platform_driver ks_pcie_driver __refdata = { +static struct platform_driver ks_pcie_driver = { .probe = ks_pcie_probe, - .remove = __exit_p(ks_pcie_remove), + .remove = ks_pcie_remove, .driver = { .name = "keystone-pcie", .of_match_table = of_match_ptr(ks_pcie_of_match), diff -Nru linux-5.10.197/drivers/pci/controller/dwc/pcie-qcom.c linux-5.10.205/drivers/pci/controller/dwc/pcie-qcom.c --- linux-5.10.197/drivers/pci/controller/dwc/pcie-qcom.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/pci/controller/dwc/pcie-qcom.c 2023-12-20 14:44:42.000000000 +0000 @@ -771,8 +771,6 @@ return PTR_ERR(res->phy_ahb_reset); } - dw_pcie_dbi_ro_wr_dis(pci); - return 0; } diff -Nru linux-5.10.197/drivers/pci/controller/dwc/pcie-tegra194.c linux-5.10.205/drivers/pci/controller/dwc/pcie-tegra194.c --- linux-5.10.197/drivers/pci/controller/dwc/pcie-tegra194.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/pci/controller/dwc/pcie-tegra194.c 2023-12-20 14:44:42.000000000 +0000 @@ -7,6 +7,7 @@ * Author: Vidya Sagar */ +#include #include #include #include @@ -346,8 +347,7 @@ */ val = dw_pcie_readw_dbi(pci, pcie->pcie_cap_base + PCI_EXP_LNKSTA); if (val & PCI_EXP_LNKSTA_LBMS) { - current_link_width = (val & PCI_EXP_LNKSTA_NLW) >> - PCI_EXP_LNKSTA_NLW_SHIFT; + current_link_width = FIELD_GET(PCI_EXP_LNKSTA_NLW, val); if (pcie->init_link_width > current_link_width) { dev_warn(pci->dev, "PCIe link is bad, width reduced\n"); val = dw_pcie_readw_dbi(pci, pcie->pcie_cap_base + @@ -731,8 +731,7 @@ val_w = dw_pcie_readw_dbi(&pcie->pci, pcie->pcie_cap_base + PCI_EXP_LNKSTA); - pcie->init_link_width = (val_w & PCI_EXP_LNKSTA_NLW) >> - PCI_EXP_LNKSTA_NLW_SHIFT; + pcie->init_link_width = FIELD_GET(PCI_EXP_LNKSTA_NLW, val_w); val_w = dw_pcie_readw_dbi(&pcie->pci, pcie->pcie_cap_base + PCI_EXP_LNKCTL); @@ -885,7 +884,7 @@ /* Configure Max lane width from DT */ val = dw_pcie_readl_dbi(pci, pcie->pcie_cap_base + PCI_EXP_LNKCAP); val &= ~PCI_EXP_LNKCAP_MLW; - val |= (pcie->num_lanes << PCI_EXP_LNKSTA_NLW_SHIFT); + val |= FIELD_PREP(PCI_EXP_LNKCAP_MLW, pcie->num_lanes); dw_pcie_writel_dbi(pci, pcie->pcie_cap_base + PCI_EXP_LNKCAP, val); config_gen3_gen4_eq_presets(pcie); diff -Nru linux-5.10.197/drivers/pci/controller/pci-loongson.c linux-5.10.205/drivers/pci/controller/pci-loongson.c --- linux-5.10.197/drivers/pci/controller/pci-loongson.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/pci/controller/pci-loongson.c 2023-12-20 14:44:42.000000000 +0000 @@ -65,13 +65,49 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LOONGSON, DEV_LS7A_LPC, system_bus_quirk); +/* + * Some Loongson PCIe ports have hardware limitations on their Maximum Read + * Request Size. They can't handle anything larger than this. Sane + * firmware will set proper MRRS at boot, so we only need no_inc_mrrs for + * bridges. However, some MIPS Loongson firmware doesn't set MRRS properly, + * so we have to enforce maximum safe MRRS, which is 256 bytes. + */ +#ifdef CONFIG_MIPS +static void loongson_set_min_mrrs_quirk(struct pci_dev *pdev) +{ + struct pci_bus *bus = pdev->bus; + struct pci_dev *bridge; + static const struct pci_device_id bridge_devids[] = { + { PCI_VDEVICE(LOONGSON, DEV_LS2K_PCIE_PORT0) }, + { PCI_VDEVICE(LOONGSON, DEV_LS7A_PCIE_PORT0) }, + { PCI_VDEVICE(LOONGSON, DEV_LS7A_PCIE_PORT1) }, + { PCI_VDEVICE(LOONGSON, DEV_LS7A_PCIE_PORT2) }, + { PCI_VDEVICE(LOONGSON, DEV_LS7A_PCIE_PORT3) }, + { PCI_VDEVICE(LOONGSON, DEV_LS7A_PCIE_PORT4) }, + { PCI_VDEVICE(LOONGSON, DEV_LS7A_PCIE_PORT5) }, + { PCI_VDEVICE(LOONGSON, DEV_LS7A_PCIE_PORT6) }, + { 0, }, + }; + + /* look for the matching bridge */ + while (!pci_is_root_bus(bus)) { + bridge = bus->self; + bus = bus->parent; + + if (pci_match_id(bridge_devids, bridge)) { + if (pcie_get_readrq(pdev) > 256) { + pci_info(pdev, "limiting MRRS to 256\n"); + pcie_set_readrq(pdev, 256); + } + break; + } + } +} +DECLARE_PCI_FIXUP_ENABLE(PCI_ANY_ID, PCI_ANY_ID, loongson_set_min_mrrs_quirk); +#endif + static void loongson_mrrs_quirk(struct pci_dev *pdev) { - /* - * Some Loongson PCIe ports have h/w limitations of maximum read - * request size. They can't handle anything larger than this. So - * force this limit on any devices attached under these ports. - */ struct pci_host_bridge *bridge = pci_find_host_bridge(pdev->bus); bridge->no_inc_mrrs = 1; diff -Nru linux-5.10.197/drivers/pci/hotplug/acpiphp_glue.c linux-5.10.205/drivers/pci/hotplug/acpiphp_glue.c --- linux-5.10.197/drivers/pci/hotplug/acpiphp_glue.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/pci/hotplug/acpiphp_glue.c 2023-12-20 14:44:42.000000000 +0000 @@ -503,15 +503,12 @@ if (pass && dev->subordinate) { check_hotplug_bridge(slot, dev); pcibios_resource_survey_bus(dev->subordinate); - if (pci_is_root_bus(bus)) - __pci_bus_size_bridges(dev->subordinate, &add_list); + __pci_bus_size_bridges(dev->subordinate, + &add_list); } } } - if (pci_is_root_bus(bus)) - __pci_bus_assign_resources(bus, &add_list, NULL); - else - pci_assign_unassigned_bridge_resources(bus->self); + __pci_bus_assign_resources(bus, &add_list, NULL); } acpiphp_sanitize_bus(bus); diff -Nru linux-5.10.197/drivers/pci/pci-acpi.c linux-5.10.205/drivers/pci/pci-acpi.c --- linux-5.10.197/drivers/pci/pci-acpi.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/pci/pci-acpi.c 2023-12-20 14:44:42.000000000 +0000 @@ -909,7 +909,7 @@ { int acpi_state, d_max; - if (pdev->no_d3cold) + if (pdev->no_d3cold || !pdev->d3cold_allowed) d_max = ACPI_STATE_D3_HOT; else d_max = ACPI_STATE_D3_COLD; diff -Nru linux-5.10.197/drivers/pci/pci-sysfs.c linux-5.10.205/drivers/pci/pci-sysfs.c --- linux-5.10.197/drivers/pci/pci-sysfs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/pci/pci-sysfs.c 2023-12-20 14:44:42.000000000 +0000 @@ -500,10 +500,7 @@ return -EINVAL; pdev->d3cold_allowed = !!val; - if (pdev->d3cold_allowed) - pci_d3cold_enable(pdev); - else - pci_d3cold_disable(pdev); + pci_bridge_d3_update(pdev); pm_runtime_resume(dev); diff -Nru linux-5.10.197/drivers/pci/pcie/aspm.c linux-5.10.205/drivers/pci/pcie/aspm.c --- linux-5.10.197/drivers/pci/pcie/aspm.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/pci/pcie/aspm.c 2023-12-20 14:44:42.000000000 +0000 @@ -1250,6 +1250,8 @@ link->aspm_disable &= ~ASPM_STATE_L1; } else { link->aspm_disable |= state; + if (state & ASPM_STATE_L1) + link->aspm_disable |= ASPM_STATE_L1SS; } pcie_config_aspm_link(link, policy_to_aspm_state(link)); diff -Nru linux-5.10.197/drivers/pci/quirks.c linux-5.10.205/drivers/pci/quirks.c --- linux-5.10.197/drivers/pci/quirks.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/pci/quirks.c 2023-12-20 14:44:42.000000000 +0000 @@ -597,7 +597,7 @@ /* * In the AMD NL platform, this device ([1022:7912]) has a class code of * PCI_CLASS_SERIAL_USB_XHCI (0x0c0330), which means the xhci driver will - * claim it. + * claim it. The same applies on the VanGogh platform device ([1022:163a]). * * But the dwc3 driver is a more specific driver for this device, and we'd * prefer to use it instead of xhci. To prevent xhci from claiming the @@ -605,7 +605,7 @@ * defines as "USB device (not host controller)". The dwc3 driver can then * claim it based on its Vendor and Device ID. */ -static void quirk_amd_nl_class(struct pci_dev *pdev) +static void quirk_amd_dwc_class(struct pci_dev *pdev) { u32 class = pdev->class; @@ -615,7 +615,9 @@ class, pdev->class); } DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_NL_USB, - quirk_amd_nl_class); + quirk_amd_dwc_class); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VANGOGH_USB, + quirk_amd_dwc_class); /* * Synopsys USB 3.x host HAPS platform has a class code of diff -Nru linux-5.10.197/drivers/pcmcia/cs.c linux-5.10.205/drivers/pcmcia/cs.c --- linux-5.10.197/drivers/pcmcia/cs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/pcmcia/cs.c 2023-12-20 14:44:42.000000000 +0000 @@ -605,6 +605,7 @@ dev_warn(&skt->dev, "PCMCIA: unable to register socket\n"); skt->thread = NULL; complete(&skt->thread_done); + put_device(&skt->dev); return 0; } ret = pccard_sysfs_add_socket(&skt->dev); diff -Nru linux-5.10.197/drivers/pcmcia/ds.c linux-5.10.205/drivers/pcmcia/ds.c --- linux-5.10.197/drivers/pcmcia/ds.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/pcmcia/ds.c 2023-12-20 14:44:42.000000000 +0000 @@ -518,9 +518,6 @@ /* by default don't allow DMA */ p_dev->dma_mask = 0; p_dev->dev.dma_mask = &p_dev->dma_mask; - dev_set_name(&p_dev->dev, "%d.%d", p_dev->socket->sock, p_dev->device_no); - if (!dev_name(&p_dev->dev)) - goto err_free; p_dev->devname = kasprintf(GFP_KERNEL, "pcmcia%s", dev_name(&p_dev->dev)); if (!p_dev->devname) goto err_free; @@ -578,8 +575,15 @@ pcmcia_device_query(p_dev); - if (device_register(&p_dev->dev)) - goto err_unreg; + dev_set_name(&p_dev->dev, "%d.%d", p_dev->socket->sock, p_dev->device_no); + if (device_register(&p_dev->dev)) { + mutex_lock(&s->ops_mutex); + list_del(&p_dev->socket_device_list); + s->device_count--; + mutex_unlock(&s->ops_mutex); + put_device(&p_dev->dev); + return NULL; + } return p_dev; diff -Nru linux-5.10.197/drivers/perf/arm-cmn.c linux-5.10.205/drivers/perf/arm-cmn.c --- linux-5.10.197/drivers/perf/arm-cmn.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/perf/arm-cmn.c 2023-12-20 14:44:42.000000000 +0000 @@ -1177,7 +1177,7 @@ u64 delta; int i; - for (i = 0; i < CMN_DTM_NUM_COUNTERS; i++) { + for (i = 0; i < CMN_DT_NUM_COUNTERS; i++) { if (status & (1U << i)) { ret = IRQ_HANDLED; if (WARN_ON(!dtc->counters[i])) diff -Nru linux-5.10.197/drivers/phy/motorola/phy-mapphone-mdm6600.c linux-5.10.205/drivers/phy/motorola/phy-mapphone-mdm6600.c --- linux-5.10.197/drivers/phy/motorola/phy-mapphone-mdm6600.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/phy/motorola/phy-mapphone-mdm6600.c 2023-12-20 14:44:42.000000000 +0000 @@ -122,16 +122,10 @@ { struct phy_mdm6600 *ddata = phy_get_drvdata(x); struct gpio_desc *enable_gpio = ddata->ctrl_gpios[PHY_MDM6600_ENABLE]; - int error; if (!ddata->enabled) return -ENODEV; - error = pinctrl_pm_select_default_state(ddata->dev); - if (error) - dev_warn(ddata->dev, "%s: error with default_state: %i\n", - __func__, error); - gpiod_set_value_cansleep(enable_gpio, 1); /* Allow aggressive PM for USB, it's only needed for n_gsm port */ @@ -160,11 +154,6 @@ gpiod_set_value_cansleep(enable_gpio, 0); - error = pinctrl_pm_select_sleep_state(ddata->dev); - if (error) - dev_warn(ddata->dev, "%s: error with sleep_state: %i\n", - __func__, error); - return 0; } @@ -456,6 +445,7 @@ { struct gpio_desc *reset_gpio = ddata->ctrl_gpios[PHY_MDM6600_RESET]; + int error; ddata->enabled = false; phy_mdm6600_cmd(ddata, PHY_MDM6600_CMD_BP_SHUTDOWN_REQ); @@ -471,6 +461,17 @@ } else { dev_err(ddata->dev, "Timed out powering down\n"); } + + /* + * Keep reset gpio high with padconf internal pull-up resistor to + * prevent modem from waking up during deeper SoC idle states. The + * gpio bank lines can have glitches if not in the always-on wkup + * domain. + */ + error = pinctrl_pm_select_sleep_state(ddata->dev); + if (error) + dev_warn(ddata->dev, "%s: error with sleep_state: %i\n", + __func__, error); } static void phy_mdm6600_deferred_power_on(struct work_struct *work) @@ -571,12 +572,6 @@ ddata->dev = &pdev->dev; platform_set_drvdata(pdev, ddata); - /* Active state selected in phy_mdm6600_power_on() */ - error = pinctrl_pm_select_sleep_state(ddata->dev); - if (error) - dev_warn(ddata->dev, "%s: error with sleep_state: %i\n", - __func__, error); - error = phy_mdm6600_init_lines(ddata); if (error) return error; @@ -627,10 +622,12 @@ pm_runtime_put_autosuspend(ddata->dev); cleanup: - if (error < 0) + if (error < 0) { phy_mdm6600_device_power_off(ddata); - pm_runtime_disable(ddata->dev); - pm_runtime_dont_use_autosuspend(ddata->dev); + pm_runtime_disable(ddata->dev); + pm_runtime_dont_use_autosuspend(ddata->dev); + } + return error; } @@ -639,6 +636,7 @@ struct phy_mdm6600 *ddata = platform_get_drvdata(pdev); struct gpio_desc *reset_gpio = ddata->ctrl_gpios[PHY_MDM6600_RESET]; + pm_runtime_get_noresume(ddata->dev); pm_runtime_dont_use_autosuspend(ddata->dev); pm_runtime_put_sync(ddata->dev); pm_runtime_disable(ddata->dev); diff -Nru linux-5.10.197/drivers/pinctrl/core.c linux-5.10.205/drivers/pinctrl/core.c --- linux-5.10.197/drivers/pinctrl/core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/pinctrl/core.c 2023-12-20 14:44:42.000000000 +0000 @@ -1239,17 +1239,17 @@ static int pinctrl_commit_state(struct pinctrl *p, struct pinctrl_state *state) { struct pinctrl_setting *setting, *setting2; - struct pinctrl_state *old_state = p->state; + struct pinctrl_state *old_state = READ_ONCE(p->state); int ret; - if (p->state) { + if (old_state) { /* * For each pinmux setting in the old state, forget SW's record * of mux owner for that pingroup. Any pingroups which are * still owned by the new state will be re-acquired by the call * to pinmux_enable_setting() in the loop below. */ - list_for_each_entry(setting, &p->state->settings, node) { + list_for_each_entry(setting, &old_state->settings, node) { if (setting->type != PIN_MAP_TYPE_MUX_GROUP) continue; pinmux_disable_setting(setting); diff -Nru linux-5.10.197/drivers/pinctrl/renesas/Kconfig linux-5.10.205/drivers/pinctrl/renesas/Kconfig --- linux-5.10.197/drivers/pinctrl/renesas/Kconfig 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/pinctrl/renesas/Kconfig 2023-12-20 14:44:42.000000000 +0000 @@ -212,6 +212,7 @@ depends on OF depends on ARCH_RZN1 || COMPILE_TEST select GENERIC_PINCONF + select PINMUX help This selects pinctrl driver for Renesas RZ/N1 devices. diff -Nru linux-5.10.197/drivers/platform/mellanox/Kconfig linux-5.10.205/drivers/platform/mellanox/Kconfig --- linux-5.10.197/drivers/platform/mellanox/Kconfig 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/platform/mellanox/Kconfig 2023-12-20 14:44:42.000000000 +0000 @@ -48,6 +48,7 @@ tristate "Mellanox BlueField Firmware Boot Control driver" depends on ARM64 depends on ACPI + depends on NET help The Mellanox BlueField firmware implements functionality to request swapping the primary and alternate eMMC boot partition, diff -Nru linux-5.10.197/drivers/platform/mellanox/mlxbf-bootctl.c linux-5.10.205/drivers/platform/mellanox/mlxbf-bootctl.c --- linux-5.10.197/drivers/platform/mellanox/mlxbf-bootctl.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/platform/mellanox/mlxbf-bootctl.c 2023-12-20 14:44:42.000000000 +0000 @@ -17,6 +17,7 @@ #define MLXBF_BOOTCTL_SB_SECURE_MASK 0x03 #define MLXBF_BOOTCTL_SB_TEST_MASK 0x0c +#define MLXBF_BOOTCTL_SB_DEV_MASK BIT(4) #define MLXBF_SB_KEY_NUM 4 @@ -37,11 +38,18 @@ { MLXBF_BOOTCTL_NONE, "none" }, }; +enum { + MLXBF_BOOTCTL_SB_LIFECYCLE_PRODUCTION = 0, + MLXBF_BOOTCTL_SB_LIFECYCLE_GA_SECURE = 1, + MLXBF_BOOTCTL_SB_LIFECYCLE_GA_NON_SECURE = 2, + MLXBF_BOOTCTL_SB_LIFECYCLE_RMA = 3 +}; + static const char * const mlxbf_bootctl_lifecycle_states[] = { - [0] = "Production", - [1] = "GA Secured", - [2] = "GA Non-Secured", - [3] = "RMA", + [MLXBF_BOOTCTL_SB_LIFECYCLE_PRODUCTION] = "Production", + [MLXBF_BOOTCTL_SB_LIFECYCLE_GA_SECURE] = "GA Secured", + [MLXBF_BOOTCTL_SB_LIFECYCLE_GA_NON_SECURE] = "GA Non-Secured", + [MLXBF_BOOTCTL_SB_LIFECYCLE_RMA] = "RMA", }; /* ARM SMC call which is atomic and no need for lock. */ @@ -165,25 +173,30 @@ static ssize_t lifecycle_state_show(struct device *dev, struct device_attribute *attr, char *buf) { + int status_bits; + int use_dev_key; + int test_state; int lc_state; - lc_state = mlxbf_bootctl_smc(MLXBF_BOOTCTL_GET_TBB_FUSE_STATUS, - MLXBF_BOOTCTL_FUSE_STATUS_LIFECYCLE); - if (lc_state < 0) - return lc_state; - - lc_state &= - MLXBF_BOOTCTL_SB_TEST_MASK | MLXBF_BOOTCTL_SB_SECURE_MASK; + status_bits = mlxbf_bootctl_smc(MLXBF_BOOTCTL_GET_TBB_FUSE_STATUS, + MLXBF_BOOTCTL_FUSE_STATUS_LIFECYCLE); + if (status_bits < 0) + return status_bits; + + use_dev_key = status_bits & MLXBF_BOOTCTL_SB_DEV_MASK; + test_state = status_bits & MLXBF_BOOTCTL_SB_TEST_MASK; + lc_state = status_bits & MLXBF_BOOTCTL_SB_SECURE_MASK; /* * If the test bits are set, we specify that the current state may be * due to using the test bits. */ - if (lc_state & MLXBF_BOOTCTL_SB_TEST_MASK) { - lc_state &= MLXBF_BOOTCTL_SB_SECURE_MASK; - + if (test_state) { return sprintf(buf, "%s(test)\n", mlxbf_bootctl_lifecycle_states[lc_state]); + } else if (use_dev_key && + (lc_state == MLXBF_BOOTCTL_SB_LIFECYCLE_GA_SECURE)) { + return sprintf(buf, "Secured (development)\n"); } return sprintf(buf, "%s\n", mlxbf_bootctl_lifecycle_states[lc_state]); diff -Nru linux-5.10.197/drivers/platform/mellanox/mlxbf-tmfifo.c linux-5.10.205/drivers/platform/mellanox/mlxbf-tmfifo.c --- linux-5.10.197/drivers/platform/mellanox/mlxbf-tmfifo.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/platform/mellanox/mlxbf-tmfifo.c 2023-12-20 14:44:42.000000000 +0000 @@ -588,24 +588,25 @@ if (vring->cur_len + sizeof(u64) <= len) { /* The whole word. */ - if (!IS_VRING_DROP(vring)) { - if (is_rx) + if (is_rx) { + if (!IS_VRING_DROP(vring)) memcpy(addr + vring->cur_len, &data, sizeof(u64)); - else - memcpy(&data, addr + vring->cur_len, - sizeof(u64)); + } else { + memcpy(&data, addr + vring->cur_len, + sizeof(u64)); } vring->cur_len += sizeof(u64); } else { /* Leftover bytes. */ - if (!IS_VRING_DROP(vring)) { - if (is_rx) + if (is_rx) { + if (!IS_VRING_DROP(vring)) memcpy(addr + vring->cur_len, &data, len - vring->cur_len); - else - memcpy(&data, addr + vring->cur_len, - len - vring->cur_len); + } else { + data = 0; + memcpy(&data, addr + vring->cur_len, + len - vring->cur_len); } vring->cur_len = len; } diff -Nru linux-5.10.197/drivers/platform/x86/Kconfig linux-5.10.205/drivers/platform/x86/Kconfig --- linux-5.10.197/drivers/platform/x86/Kconfig 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/platform/x86/Kconfig 2023-12-20 14:44:42.000000000 +0000 @@ -243,6 +243,7 @@ depends on RFKILL || RFKILL = n depends on HOTPLUG_PCI depends on ACPI_VIDEO || ACPI_VIDEO = n + depends on SERIO_I8042 || SERIO_I8042 = n select INPUT_SPARSEKMAP select LEDS_CLASS select NEW_LEDS @@ -256,7 +257,6 @@ config ASUS_NB_WMI tristate "Asus Notebook WMI Driver" depends on ASUS_WMI - depends on SERIO_I8042 || SERIO_I8042 = n help This is a driver for newer Asus notebooks. It adds extra features like wireless radio and bluetooth control, leds, hotkeys, backlight... diff -Nru linux-5.10.197/drivers/platform/x86/asus-nb-wmi.c linux-5.10.205/drivers/platform/x86/asus-nb-wmi.c --- linux-5.10.197/drivers/platform/x86/asus-nb-wmi.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/platform/x86/asus-nb-wmi.c 2023-12-20 14:44:42.000000000 +0000 @@ -41,6 +41,10 @@ module_param(wapf, uint, 0444); MODULE_PARM_DESC(wapf, "WAPF value"); +static int tablet_mode_sw = -1; +module_param(tablet_mode_sw, uint, 0444); +MODULE_PARM_DESC(tablet_mode_sw, "Tablet mode detect: -1:auto 0:disable 1:kbd-dock 2:lid-flip"); + static struct quirk_entry *quirks; static bool asus_q500a_i8042_filter(unsigned char data, unsigned char str, @@ -111,7 +115,17 @@ }; static struct quirk_entry quirk_asus_use_kbd_dock_devid = { - .use_kbd_dock_devid = true, + .tablet_switch_mode = asus_wmi_kbd_dock_devid, +}; + +static struct quirk_entry quirk_asus_use_lid_flip_devid = { + .wmi_backlight_set_devstate = true, + .tablet_switch_mode = asus_wmi_lid_flip_devid, +}; + +static struct quirk_entry quirk_asus_tablet_mode = { + .wmi_backlight_set_devstate = true, + .tablet_switch_mode = asus_wmi_lid_flip_rog_devid, }; static int dmi_matched(const struct dmi_system_id *dmi) @@ -443,13 +457,39 @@ }, .driver_data = &quirk_asus_use_kbd_dock_devid, }, + { + .callback = dmi_matched, + .ident = "ASUS ZenBook Flip UX360", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + /* Match UX360* */ + DMI_MATCH(DMI_PRODUCT_NAME, "UX360"), + }, + .driver_data = &quirk_asus_use_lid_flip_devid, + }, + { + .callback = dmi_matched, + .ident = "ASUS TP200s / E205SA", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "E205SA"), + }, + .driver_data = &quirk_asus_use_lid_flip_devid, + }, + { + .callback = dmi_matched, + .ident = "ASUS ROG FLOW X13", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "GV301Q"), + }, + .driver_data = &quirk_asus_tablet_mode, + }, {}, }; static void asus_nb_wmi_quirks(struct asus_wmi_driver *driver) { - int ret; - quirks = &quirk_asus_unknown; dmi_check_system(asus_quirks); @@ -462,19 +502,16 @@ else wapf = quirks->wapf; - if (quirks->i8042_filter) { - ret = i8042_install_filter(quirks->i8042_filter); - if (ret) { - pr_warn("Unable to install key filter\n"); - return; - } - pr_info("Using i8042 filter function for receiving events\n"); - } + if (tablet_mode_sw != -1) + quirks->tablet_switch_mode = tablet_mode_sw; } static const struct key_entry asus_nb_wmi_keymap[] = { { KE_KEY, ASUS_WMI_BRN_DOWN, { KEY_BRIGHTNESSDOWN } }, { KE_KEY, ASUS_WMI_BRN_UP, { KEY_BRIGHTNESSUP } }, + { KE_KEY, 0x2a, { KEY_SELECTIVE_SCREENSHOT } }, + { KE_IGNORE, 0x2b, }, /* PrintScreen (also send via PS/2) on newer models */ + { KE_IGNORE, 0x2c, }, /* CapsLock (also send via PS/2) on newer models */ { KE_KEY, 0x30, { KEY_VOLUMEUP } }, { KE_KEY, 0x31, { KEY_VOLUMEDOWN } }, { KE_KEY, 0x32, { KEY_MUTE } }, @@ -538,6 +575,7 @@ { KE_KEY, 0xC5, { KEY_KBDILLUMDOWN } }, { KE_IGNORE, 0xC6, }, /* Ambient Light Sensor notification */ { KE_KEY, 0xFA, { KEY_PROG2 } }, /* Lid flip action */ + { KE_KEY, 0xBD, { KEY_PROG2 } }, /* Lid flip action on ROG xflow laptops */ { KE_END, 0}, }; diff -Nru linux-5.10.197/drivers/platform/x86/asus-wmi.c linux-5.10.205/drivers/platform/x86/asus-wmi.c --- linux-5.10.197/drivers/platform/x86/asus-wmi.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/platform/x86/asus-wmi.c 2023-12-20 14:44:42.000000000 +0000 @@ -63,6 +63,8 @@ #define NOTIFY_KBD_BRTTOGGLE 0xc7 #define NOTIFY_KBD_FBM 0x99 #define NOTIFY_KBD_TTP 0xae +#define NOTIFY_LID_FLIP 0xfa +#define NOTIFY_LID_FLIP_ROG 0xbd #define ASUS_WMI_FNLOCK_BIOS_DISABLED BIT(0) @@ -198,6 +200,10 @@ struct asus_rfkill gps; struct asus_rfkill uwb; + int tablet_switch_event_code; + u32 tablet_switch_dev_id; + bool tablet_switch_inverted; + enum fan_type fan_type; int fan_pwm_mode; int agfn_pwm; @@ -206,6 +212,9 @@ u8 fan_boost_mode_mask; u8 fan_boost_mode; + bool dgpu_disable_available; + bool dgpu_disable; + bool throttle_thermal_policy_available; u8 throttle_thermal_policy_mode; @@ -346,10 +355,35 @@ } /* Input **********************************************************************/ +static void asus_wmi_tablet_sw_report(struct asus_wmi *asus, bool value) +{ + input_report_switch(asus->inputdev, SW_TABLET_MODE, + asus->tablet_switch_inverted ? !value : value); + input_sync(asus->inputdev); +} + +static void asus_wmi_tablet_sw_init(struct asus_wmi *asus, u32 dev_id, int event_code) +{ + struct device *dev = &asus->platform_device->dev; + int result; + + result = asus_wmi_get_devstate_simple(asus, dev_id); + if (result >= 0) { + input_set_capability(asus->inputdev, EV_SW, SW_TABLET_MODE); + asus_wmi_tablet_sw_report(asus, result); + asus->tablet_switch_dev_id = dev_id; + asus->tablet_switch_event_code = event_code; + } else if (result == -ENODEV) { + dev_err(dev, "This device has tablet-mode-switch quirk but got ENODEV checking it. This is a bug."); + } else { + dev_err(dev, "Error checking for tablet-mode-switch: %d\n", result); + } +} static int asus_wmi_input_init(struct asus_wmi *asus) { - int err, result; + struct device *dev = &asus->platform_device->dev; + int err; asus->inputdev = input_allocate_device(); if (!asus->inputdev) @@ -358,21 +392,26 @@ asus->inputdev->name = asus->driver->input_name; asus->inputdev->phys = asus->driver->input_phys; asus->inputdev->id.bustype = BUS_HOST; - asus->inputdev->dev.parent = &asus->platform_device->dev; + asus->inputdev->dev.parent = dev; set_bit(EV_REP, asus->inputdev->evbit); err = sparse_keymap_setup(asus->inputdev, asus->driver->keymap, NULL); if (err) goto err_free_dev; - if (asus->driver->quirks->use_kbd_dock_devid) { - result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_KBD_DOCK); - if (result >= 0) { - input_set_capability(asus->inputdev, EV_SW, SW_TABLET_MODE); - input_report_switch(asus->inputdev, SW_TABLET_MODE, !result); - } else if (result != -ENODEV) { - pr_err("Error checking for keyboard-dock: %d\n", result); - } + switch (asus->driver->quirks->tablet_switch_mode) { + case asus_wmi_no_tablet_switch: + break; + case asus_wmi_kbd_dock_devid: + asus->tablet_switch_inverted = true; + asus_wmi_tablet_sw_init(asus, ASUS_WMI_DEVID_KBD_DOCK, NOTIFY_KBD_DOCK_CHANGE); + break; + case asus_wmi_lid_flip_devid: + asus_wmi_tablet_sw_init(asus, ASUS_WMI_DEVID_LID_FLIP, NOTIFY_LID_FLIP); + break; + case asus_wmi_lid_flip_rog_devid: + asus_wmi_tablet_sw_init(asus, ASUS_WMI_DEVID_LID_FLIP_ROG, NOTIFY_LID_FLIP_ROG); + break; } err = input_register_device(asus->inputdev); @@ -394,6 +433,107 @@ asus->inputdev = NULL; } +/* Tablet mode ****************************************************************/ + +static void asus_wmi_tablet_mode_get_state(struct asus_wmi *asus) +{ + int result; + + if (!asus->tablet_switch_dev_id) + return; + + result = asus_wmi_get_devstate_simple(asus, asus->tablet_switch_dev_id); + if (result >= 0) + asus_wmi_tablet_sw_report(asus, result); +} + +/* dGPU ********************************************************************/ +static int dgpu_disable_check_present(struct asus_wmi *asus) +{ + u32 result; + int err; + + asus->dgpu_disable_available = false; + + err = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_DGPU, &result); + if (err) { + if (err == -ENODEV) + return 0; + return err; + } + + if (result & ASUS_WMI_DSTS_PRESENCE_BIT) { + asus->dgpu_disable_available = true; + asus->dgpu_disable = result & ASUS_WMI_DSTS_STATUS_BIT; + } + + return 0; +} + +static int dgpu_disable_write(struct asus_wmi *asus) +{ + u32 retval; + u8 value; + int err; + + /* Don't rely on type conversion */ + value = asus->dgpu_disable ? 1 : 0; + + err = asus_wmi_set_devstate(ASUS_WMI_DEVID_DGPU, value, &retval); + if (err) { + pr_warn("Failed to set dgpu disable: %d\n", err); + return err; + } + + if (retval > 1 || retval < 0) { + pr_warn("Failed to set dgpu disable (retval): 0x%x\n", retval); + return -EIO; + } + + sysfs_notify(&asus->platform_device->dev.kobj, NULL, "dgpu_disable"); + + return 0; +} + +static ssize_t dgpu_disable_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct asus_wmi *asus = dev_get_drvdata(dev); + u8 mode = asus->dgpu_disable; + + return sysfs_emit(buf, "%d\n", mode); +} + +/* + * A user may be required to store the value twice, typcial store first, then + * rescan PCI bus to activate power, then store a second time to save correctly. + * The reason for this is that an extra code path in the ACPI is enabled when + * the device and bus are powered. + */ +static ssize_t dgpu_disable_store(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t count) +{ + bool disable; + int result; + + struct asus_wmi *asus = dev_get_drvdata(dev); + + result = kstrtobool(buf, &disable); + if (result) + return result; + + asus->dgpu_disable = disable; + + result = dgpu_disable_write(asus); + if (result) + return result; + + return count; +} + +static DEVICE_ATTR_RW(dgpu_disable); + /* Battery ********************************************************************/ /* The battery maximum charging percentage */ @@ -2074,9 +2214,7 @@ { unsigned int key_value = 1; bool autorelease = 1; - int result, orig_code; - - orig_code = code; + int orig_code = code; if (asus->driver->key_filter) { asus->driver->key_filter(asus->driver, &code, &key_value, @@ -2119,14 +2257,8 @@ return; } - if (asus->driver->quirks->use_kbd_dock_devid && code == NOTIFY_KBD_DOCK_CHANGE) { - result = asus_wmi_get_devstate_simple(asus, - ASUS_WMI_DEVID_KBD_DOCK); - if (result >= 0) { - input_report_switch(asus->inputdev, SW_TABLET_MODE, - !result); - input_sync(asus->inputdev); - } + if (code == asus->tablet_switch_event_code) { + asus_wmi_tablet_mode_get_state(asus); return; } @@ -2287,6 +2419,7 @@ &dev_attr_camera.attr, &dev_attr_cardr.attr, &dev_attr_touchpad.attr, + &dev_attr_dgpu_disable.attr, &dev_attr_lid_resume.attr, &dev_attr_als_enable.attr, &dev_attr_fan_boost_mode.attr, @@ -2312,6 +2445,8 @@ devid = ASUS_WMI_DEVID_LID_RESUME; else if (attr == &dev_attr_als_enable.attr) devid = ASUS_WMI_DEVID_ALS_ENABLE; + else if (attr == &dev_attr_dgpu_disable.attr) + ok = asus->dgpu_disable_available; else if (attr == &dev_attr_fan_boost_mode.attr) ok = asus->fan_boost_mode_available; else if (attr == &dev_attr_throttle_thermal_policy.attr) @@ -2571,6 +2706,10 @@ if (err) goto fail_platform; + err = dgpu_disable_check_present(asus); + if (err) + goto fail_dgpu_disable; + err = fan_boost_mode_check_present(asus); if (err) goto fail_fan_boost_mode; @@ -2647,6 +2786,12 @@ goto fail_wmi_handler; } + if (asus->driver->quirks->i8042_filter) { + err = i8042_install_filter(asus->driver->quirks->i8042_filter); + if (err) + pr_warn("Unable to install key filter - %d\n", err); + } + asus_wmi_battery_init(asus); asus_wmi_debugfs_init(asus); @@ -2667,6 +2812,7 @@ fail_sysfs: fail_throttle_thermal_policy: fail_fan_boost_mode: +fail_dgpu_disable: fail_platform: kfree(asus); return err; @@ -2677,6 +2823,8 @@ struct asus_wmi *asus; asus = platform_get_drvdata(device); + if (asus->driver->quirks->i8042_filter) + i8042_remove_filter(asus->driver->quirks->i8042_filter); wmi_remove_notify_handler(asus->driver->event_guid); asus_wmi_backlight_exit(asus); asus_wmi_input_exit(asus); @@ -2721,6 +2869,8 @@ if (asus_wmi_has_fnlock_key(asus)) asus_wmi_fnlock_update(asus); + + asus_wmi_tablet_mode_get_state(asus); return 0; } @@ -2759,6 +2909,8 @@ if (asus_wmi_has_fnlock_key(asus)) asus_wmi_fnlock_update(asus); + + asus_wmi_tablet_mode_get_state(asus); return 0; } diff -Nru linux-5.10.197/drivers/platform/x86/asus-wmi.h linux-5.10.205/drivers/platform/x86/asus-wmi.h --- linux-5.10.197/drivers/platform/x86/asus-wmi.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/platform/x86/asus-wmi.h 2023-12-20 14:44:42.000000000 +0000 @@ -18,13 +18,20 @@ #include #define ASUS_WMI_KEY_IGNORE (-1) -#define ASUS_WMI_BRN_DOWN 0x20 +#define ASUS_WMI_BRN_DOWN 0x2e #define ASUS_WMI_BRN_UP 0x2f struct module; struct key_entry; struct asus_wmi; +enum asus_wmi_tablet_switch_mode { + asus_wmi_no_tablet_switch, + asus_wmi_kbd_dock_devid, + asus_wmi_lid_flip_devid, + asus_wmi_lid_flip_rog_devid, +}; + struct quirk_entry { bool hotplug_wireless; bool scalar_panel_brightness; @@ -33,7 +40,7 @@ bool wmi_backlight_native; bool wmi_backlight_set_devstate; bool wmi_force_als_set; - bool use_kbd_dock_devid; + enum asus_wmi_tablet_switch_mode tablet_switch_mode; int wapf; /* * For machines with AMD graphic chips, it will send out WMI event diff -Nru linux-5.10.197/drivers/platform/x86/intel_scu_ipc.c linux-5.10.205/drivers/platform/x86/intel_scu_ipc.c --- linux-5.10.197/drivers/platform/x86/intel_scu_ipc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/platform/x86/intel_scu_ipc.c 2023-12-20 14:44:42.000000000 +0000 @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -232,19 +233,15 @@ /* Wait till scu status is busy */ static inline int busy_loop(struct intel_scu_ipc_dev *scu) { - unsigned long end = jiffies + IPC_TIMEOUT; - - do { - u32 status; - - status = ipc_read_status(scu); - if (!(status & IPC_STATUS_BUSY)) - return (status & IPC_STATUS_ERR) ? -EIO : 0; + u8 status; + int err; - usleep_range(50, 100); - } while (time_before(jiffies, end)); + err = readx_poll_timeout(ipc_read_status, scu, status, !(status & IPC_STATUS_BUSY), + 100, jiffies_to_usecs(IPC_TIMEOUT)); + if (err) + return err; - return -ETIMEDOUT; + return (status & IPC_STATUS_ERR) ? -EIO : 0; } /* Wait till ipc ioc interrupt is received or timeout in 10 HZ */ @@ -252,10 +249,12 @@ { int status; - if (!wait_for_completion_timeout(&scu->cmd_complete, IPC_TIMEOUT)) - return -ETIMEDOUT; + wait_for_completion_timeout(&scu->cmd_complete, IPC_TIMEOUT); status = ipc_read_status(scu); + if (status & IPC_STATUS_BUSY) + return -ETIMEDOUT; + if (status & IPC_STATUS_ERR) return -EIO; @@ -267,6 +266,24 @@ return scu->irq > 0 ? ipc_wait_for_interrupt(scu) : busy_loop(scu); } +static struct intel_scu_ipc_dev *intel_scu_ipc_get(struct intel_scu_ipc_dev *scu) +{ + u8 status; + + if (!scu) + scu = ipcdev; + if (!scu) + return ERR_PTR(-ENODEV); + + status = ipc_read_status(scu); + if (status & IPC_STATUS_BUSY) { + dev_dbg(&scu->dev, "device is busy\n"); + return ERR_PTR(-EBUSY); + } + + return scu; +} + /* Read/Write power control(PMIC in Langwell, MSIC in PenWell) registers */ static int pwr_reg_rdwr(struct intel_scu_ipc_dev *scu, u16 *addr, u8 *data, u32 count, u32 op, u32 id) @@ -280,11 +297,10 @@ memset(cbuf, 0, sizeof(cbuf)); mutex_lock(&ipclock); - if (!scu) - scu = ipcdev; - if (!scu) { + scu = intel_scu_ipc_get(scu); + if (IS_ERR(scu)) { mutex_unlock(&ipclock); - return -ENODEV; + return PTR_ERR(scu); } for (nc = 0; nc < count; nc++, offset += 2) { @@ -439,13 +455,12 @@ int err; mutex_lock(&ipclock); - if (!scu) - scu = ipcdev; - if (!scu) { + scu = intel_scu_ipc_get(scu); + if (IS_ERR(scu)) { mutex_unlock(&ipclock); - return -ENODEV; + return PTR_ERR(scu); } - scu = ipcdev; + cmdval = sub << 12 | cmd; ipc_command(scu, cmdval); err = intel_scu_ipc_check_status(scu); @@ -485,11 +500,10 @@ return -EINVAL; mutex_lock(&ipclock); - if (!scu) - scu = ipcdev; - if (!scu) { + scu = intel_scu_ipc_get(scu); + if (IS_ERR(scu)) { mutex_unlock(&ipclock); - return -ENODEV; + return PTR_ERR(scu); } memcpy(inbuf, in, inlen); diff -Nru linux-5.10.197/drivers/platform/x86/intel_telemetry_core.c linux-5.10.205/drivers/platform/x86/intel_telemetry_core.c --- linux-5.10.197/drivers/platform/x86/intel_telemetry_core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/platform/x86/intel_telemetry_core.c 2023-12-20 14:44:42.000000000 +0000 @@ -102,7 +102,7 @@ /** * telemetry_update_events() - Update telemetry Configuration * @pss_evtconfig: PSS related config. No change if num_evts = 0. - * @pss_evtconfig: IOSS related config. No change if num_evts = 0. + * @ioss_evtconfig: IOSS related config. No change if num_evts = 0. * * This API updates the IOSS & PSS Telemetry configuration. Old config * is overwritten. Call telemetry_reset_events when logging is over @@ -176,7 +176,7 @@ /** * telemetry_get_eventconfig() - Returns the pss and ioss events enabled * @pss_evtconfig: Pointer to PSS related configuration. - * @pss_evtconfig: Pointer to IOSS related configuration. + * @ioss_evtconfig: Pointer to IOSS related configuration. * @pss_len: Number of u32 elements allocated for pss_evtconfig array * @ioss_len: Number of u32 elements allocated for ioss_evtconfig array * diff -Nru linux-5.10.197/drivers/platform/x86/thinkpad_acpi.c linux-5.10.205/drivers/platform/x86/thinkpad_acpi.c --- linux-5.10.197/drivers/platform/x86/thinkpad_acpi.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/platform/x86/thinkpad_acpi.c 2023-12-20 14:44:42.000000000 +0000 @@ -9718,6 +9718,7 @@ * Individual addressing is broken on models that expose the * primary battery as BAT1. */ + TPACPI_Q_LNV('8', 'F', true), /* Thinkpad X120e */ TPACPI_Q_LNV('J', '7', true), /* B5400 */ TPACPI_Q_LNV('J', 'I', true), /* Thinkpad 11e */ TPACPI_Q_LNV3('R', '0', 'B', true), /* Thinkpad 11e gen 3 */ diff -Nru linux-5.10.197/drivers/platform/x86/touchscreen_dmi.c linux-5.10.205/drivers/platform/x86/touchscreen_dmi.c --- linux-5.10.197/drivers/platform/x86/touchscreen_dmi.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/platform/x86/touchscreen_dmi.c 2023-12-20 14:44:42.000000000 +0000 @@ -726,6 +726,21 @@ .properties = pipo_w11_props, }; +static const struct property_entry positivo_c4128b_props[] = { + PROPERTY_ENTRY_U32("touchscreen-min-x", 4), + PROPERTY_ENTRY_U32("touchscreen-min-y", 13), + PROPERTY_ENTRY_U32("touchscreen-size-x", 1915), + PROPERTY_ENTRY_U32("touchscreen-size-y", 1269), + PROPERTY_ENTRY_STRING("firmware-name", "gsl1680-positivo-c4128b.fw"), + PROPERTY_ENTRY_U32("silead,max-fingers", 10), + { } +}; + +static const struct ts_dmi_data positivo_c4128b_data = { + .acpi_name = "MSSL1680:00", + .properties = positivo_c4128b_props, +}; + static const struct property_entry pov_mobii_wintab_p800w_v20_props[] = { PROPERTY_ENTRY_U32("touchscreen-min-x", 32), PROPERTY_ENTRY_U32("touchscreen-min-y", 16), @@ -1390,6 +1405,14 @@ }, }, { + /* Positivo C4128B */ + .driver_data = (void *)&positivo_c4128b_data, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Positivo Tecnologia SA"), + DMI_MATCH(DMI_PRODUCT_NAME, "C4128B-1"), + }, + }, + { /* Point of View mobii wintab p800w (v2.0) */ .driver_data = (void *)&pov_mobii_wintab_p800w_v20_data, .matches = { diff -Nru linux-5.10.197/drivers/platform/x86/wmi.c linux-5.10.205/drivers/platform/x86/wmi.c --- linux-5.10.197/drivers/platform/x86/wmi.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/platform/x86/wmi.c 2023-12-20 14:44:42.000000000 +0000 @@ -185,7 +185,7 @@ static acpi_status wmi_method_enable(struct wmi_block *wblock, int enable) { - struct guid_block *block = NULL; + struct guid_block *block; char method[5]; acpi_status status; acpi_handle handle; @@ -259,8 +259,8 @@ acpi_status wmidev_evaluate_method(struct wmi_device *wdev, u8 instance, u32 method_id, const struct acpi_buffer *in, struct acpi_buffer *out) { - struct guid_block *block = NULL; - struct wmi_block *wblock = NULL; + struct guid_block *block; + struct wmi_block *wblock; acpi_handle handle; acpi_status status; struct acpi_object_list input; @@ -307,7 +307,7 @@ static acpi_status __query_block(struct wmi_block *wblock, u8 instance, struct acpi_buffer *out) { - struct guid_block *block = NULL; + struct guid_block *block; acpi_handle handle; acpi_status status, wc_status = AE_ERROR; struct acpi_object_list input; @@ -420,8 +420,8 @@ acpi_status wmi_set_block(const char *guid_string, u8 instance, const struct acpi_buffer *in) { - struct guid_block *block = NULL; struct wmi_block *wblock = NULL; + struct guid_block *block; acpi_handle handle; struct acpi_object_list input; union acpi_object params[2]; @@ -820,21 +820,13 @@ } static int wmi_char_open(struct inode *inode, struct file *filp) { - const char *driver_name = filp->f_path.dentry->d_iname; - struct wmi_block *wblock = NULL; - struct wmi_block *next = NULL; - - list_for_each_entry_safe(wblock, next, &wmi_block_list, list) { - if (!wblock->dev.dev.driver) - continue; - if (strcmp(driver_name, wblock->dev.dev.driver->name) == 0) { - filp->private_data = wblock; - break; - } - } + /* + * The miscdevice already stores a pointer to itself + * inside filp->private_data + */ + struct wmi_block *wblock = container_of(filp->private_data, struct wmi_block, char_dev); - if (!filp->private_data) - return -ENODEV; + filp->private_data = wblock; return nonseekable_open(inode, filp); } @@ -854,8 +846,8 @@ struct wmi_ioctl_buffer __user *input = (struct wmi_ioctl_buffer __user *) arg; struct wmi_block *wblock = filp->private_data; - struct wmi_ioctl_buffer *buf = NULL; - struct wmi_driver *wdriver = NULL; + struct wmi_ioctl_buffer *buf; + struct wmi_driver *wdriver; int ret; if (_IOC_TYPE(cmd) != WMI_IOC) @@ -1157,8 +1149,8 @@ struct wmi_block *wblock, *next; union acpi_object *obj; acpi_status status; - int retval = 0; u32 i, total; + int retval; status = acpi_evaluate_object(device->handle, "_WDG", NULL, &out); if (ACPI_FAILURE(status)) @@ -1169,8 +1161,8 @@ return -ENXIO; if (obj->type != ACPI_TYPE_BUFFER) { - retval = -ENXIO; - goto out_free_pointer; + kfree(obj); + return -ENXIO; } gblock = (const struct guid_block *)obj->buffer.pointer; @@ -1191,8 +1183,8 @@ wblock = kzalloc(sizeof(struct wmi_block), GFP_KERNEL); if (!wblock) { - retval = -ENOMEM; - break; + dev_err(wmi_bus_dev, "Failed to allocate %pUL\n", &gblock[i].guid); + continue; } wblock->acpi_device = device; @@ -1231,9 +1223,9 @@ } } -out_free_pointer: - kfree(out.pointer); - return retval; + kfree(obj); + + return 0; } /* diff -Nru linux-5.10.197/drivers/power/supply/ucs1002_power.c linux-5.10.205/drivers/power/supply/ucs1002_power.c --- linux-5.10.197/drivers/power/supply/ucs1002_power.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/power/supply/ucs1002_power.c 2023-12-20 14:44:42.000000000 +0000 @@ -384,7 +384,8 @@ case POWER_SUPPLY_PROP_USB_TYPE: return ucs1002_get_usb_type(info, val); case POWER_SUPPLY_PROP_HEALTH: - return val->intval = info->health; + val->intval = info->health; + return 0; case POWER_SUPPLY_PROP_PRESENT: val->intval = info->present; return 0; diff -Nru linux-5.10.197/drivers/ptp/ptp_chardev.c linux-5.10.205/drivers/ptp/ptp_chardev.c --- linux-5.10.197/drivers/ptp/ptp_chardev.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/ptp/ptp_chardev.c 2023-12-20 14:44:42.000000000 +0000 @@ -487,7 +487,8 @@ for (i = 0; i < cnt; i++) { event[i] = queue->buf[queue->head]; - queue->head = (queue->head + 1) % PTP_MAX_TIMESTAMPS; + /* Paired with READ_ONCE() in queue_cnt() */ + WRITE_ONCE(queue->head, (queue->head + 1) % PTP_MAX_TIMESTAMPS); } spin_unlock_irqrestore(&queue->lock, flags); diff -Nru linux-5.10.197/drivers/ptp/ptp_clock.c linux-5.10.205/drivers/ptp/ptp_clock.c --- linux-5.10.197/drivers/ptp/ptp_clock.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/ptp/ptp_clock.c 2023-12-20 14:44:42.000000000 +0000 @@ -55,10 +55,11 @@ dst->t.sec = seconds; dst->t.nsec = remainder; + /* Both WRITE_ONCE() are paired with READ_ONCE() in queue_cnt() */ if (!queue_free(queue)) - queue->head = (queue->head + 1) % PTP_MAX_TIMESTAMPS; + WRITE_ONCE(queue->head, (queue->head + 1) % PTP_MAX_TIMESTAMPS); - queue->tail = (queue->tail + 1) % PTP_MAX_TIMESTAMPS; + WRITE_ONCE(queue->tail, (queue->tail + 1) % PTP_MAX_TIMESTAMPS); spin_unlock_irqrestore(&queue->lock, flags); } diff -Nru linux-5.10.197/drivers/ptp/ptp_private.h linux-5.10.205/drivers/ptp/ptp_private.h --- linux-5.10.197/drivers/ptp/ptp_private.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/ptp/ptp_private.h 2023-12-20 14:44:42.000000000 +0000 @@ -55,9 +55,13 @@ * that a writer might concurrently increment the tail does not * matter, since the queue remains nonempty nonetheless. */ -static inline int queue_cnt(struct timestamp_event_queue *q) +static inline int queue_cnt(const struct timestamp_event_queue *q) { - int cnt = q->tail - q->head; + /* + * Paired with WRITE_ONCE() in enqueue_external_timestamp(), + * ptp_read(), extts_fifo_show(). + */ + int cnt = READ_ONCE(q->tail) - READ_ONCE(q->head); return cnt < 0 ? PTP_MAX_TIMESTAMPS + cnt : cnt; } diff -Nru linux-5.10.197/drivers/ptp/ptp_sysfs.c linux-5.10.205/drivers/ptp/ptp_sysfs.c --- linux-5.10.197/drivers/ptp/ptp_sysfs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/ptp/ptp_sysfs.c 2023-12-20 14:44:42.000000000 +0000 @@ -78,7 +78,8 @@ qcnt = queue_cnt(queue); if (qcnt) { event = queue->buf[queue->head]; - queue->head = (queue->head + 1) % PTP_MAX_TIMESTAMPS; + /* Paired with READ_ONCE() in queue_cnt() */ + WRITE_ONCE(queue->head, (queue->head + 1) % PTP_MAX_TIMESTAMPS); } spin_unlock_irqrestore(&queue->lock, flags); diff -Nru linux-5.10.197/drivers/pwm/pwm-brcmstb.c linux-5.10.205/drivers/pwm/pwm-brcmstb.c --- linux-5.10.197/drivers/pwm/pwm-brcmstb.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/pwm/pwm-brcmstb.c 2023-12-20 14:44:42.000000000 +0000 @@ -298,7 +298,7 @@ { struct brcmstb_pwm *p = dev_get_drvdata(dev); - clk_disable(p->clk); + clk_disable_unprepare(p->clk); return 0; } @@ -307,7 +307,7 @@ { struct brcmstb_pwm *p = dev_get_drvdata(dev); - clk_enable(p->clk); + clk_prepare_enable(p->clk); return 0; } diff -Nru linux-5.10.197/drivers/pwm/pwm-sti.c linux-5.10.205/drivers/pwm/pwm-sti.c --- linux-5.10.197/drivers/pwm/pwm-sti.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/pwm/pwm-sti.c 2023-12-20 14:44:42.000000000 +0000 @@ -79,6 +79,7 @@ unsigned int cpt_num_devs; unsigned int max_pwm_cnt; unsigned int max_prescale; + struct sti_cpt_ddata *ddata; }; struct sti_pwm_chip { @@ -314,7 +315,7 @@ { struct sti_pwm_chip *pc = to_sti_pwmchip(chip); struct sti_pwm_compat_data *cdata = pc->cdata; - struct sti_cpt_ddata *ddata = pwm_get_chip_data(pwm); + struct sti_cpt_ddata *ddata = &cdata->ddata[pwm->hwpwm]; struct device *dev = pc->dev; unsigned int effective_ticks; unsigned long long high, low; @@ -417,7 +418,7 @@ while (cpt_int_stat) { devicenum = ffs(cpt_int_stat) - 1; - ddata = pwm_get_chip_data(&pc->chip.pwms[devicenum]); + ddata = &pc->cdata->ddata[devicenum]; /* * Capture input: @@ -593,61 +594,55 @@ if (ret) return ret; - if (!cdata->pwm_num_devs) - goto skip_pwm; - - pc->pwm_clk = of_clk_get_by_name(dev->of_node, "pwm"); - if (IS_ERR(pc->pwm_clk)) { - dev_err(dev, "failed to get PWM clock\n"); - return PTR_ERR(pc->pwm_clk); - } + if (cdata->pwm_num_devs) { + pc->pwm_clk = of_clk_get_by_name(dev->of_node, "pwm"); + if (IS_ERR(pc->pwm_clk)) { + dev_err(dev, "failed to get PWM clock\n"); + return PTR_ERR(pc->pwm_clk); + } - ret = clk_prepare(pc->pwm_clk); - if (ret) { - dev_err(dev, "failed to prepare clock\n"); - return ret; + ret = clk_prepare(pc->pwm_clk); + if (ret) { + dev_err(dev, "failed to prepare clock\n"); + return ret; + } } -skip_pwm: - if (!cdata->cpt_num_devs) - goto skip_cpt; + if (cdata->cpt_num_devs) { + pc->cpt_clk = of_clk_get_by_name(dev->of_node, "capture"); + if (IS_ERR(pc->cpt_clk)) { + dev_err(dev, "failed to get PWM capture clock\n"); + return PTR_ERR(pc->cpt_clk); + } - pc->cpt_clk = of_clk_get_by_name(dev->of_node, "capture"); - if (IS_ERR(pc->cpt_clk)) { - dev_err(dev, "failed to get PWM capture clock\n"); - return PTR_ERR(pc->cpt_clk); - } + ret = clk_prepare(pc->cpt_clk); + if (ret) { + dev_err(dev, "failed to prepare clock\n"); + return ret; + } - ret = clk_prepare(pc->cpt_clk); - if (ret) { - dev_err(dev, "failed to prepare clock\n"); - return ret; + cdata->ddata = devm_kzalloc(dev, cdata->cpt_num_devs * sizeof(*cdata->ddata), GFP_KERNEL); + if (!cdata->ddata) + return -ENOMEM; } -skip_cpt: pc->chip.dev = dev; pc->chip.ops = &sti_pwm_ops; pc->chip.base = -1; pc->chip.npwm = pc->cdata->pwm_num_devs; - ret = pwmchip_add(&pc->chip); - if (ret < 0) { - clk_unprepare(pc->pwm_clk); - clk_unprepare(pc->cpt_clk); - return ret; - } - for (i = 0; i < cdata->cpt_num_devs; i++) { - struct sti_cpt_ddata *ddata; - - ddata = devm_kzalloc(dev, sizeof(*ddata), GFP_KERNEL); - if (!ddata) - return -ENOMEM; + struct sti_cpt_ddata *ddata = &cdata->ddata[i]; init_waitqueue_head(&ddata->wait); mutex_init(&ddata->lock); + } - pwm_set_chip_data(&pc->chip.pwms[i], ddata); + ret = pwmchip_add(&pc->chip); + if (ret < 0) { + clk_unprepare(pc->pwm_clk); + clk_unprepare(pc->cpt_clk); + return ret; } platform_set_drvdata(pdev, pc); diff -Nru linux-5.10.197/drivers/regulator/core.c linux-5.10.205/drivers/regulator/core.c --- linux-5.10.197/drivers/regulator/core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/regulator/core.c 2023-12-20 14:44:42.000000000 +0000 @@ -5483,15 +5483,11 @@ mutex_lock(®ulator_list_mutex); regulator_ena_gpio_free(rdev); mutex_unlock(®ulator_list_mutex); - put_device(&rdev->dev); - rdev = NULL; clean: if (dangling_of_gpiod) gpiod_put(config->ena_gpiod); - if (rdev && rdev->dev.of_node) - of_node_put(rdev->dev.of_node); - kfree(rdev); kfree(config); + put_device(&rdev->dev); rinse: if (dangling_cfg_gpiod) gpiod_put(cfg->ena_gpiod); diff -Nru linux-5.10.197/drivers/rpmsg/qcom_glink_native.c linux-5.10.205/drivers/rpmsg/qcom_glink_native.c --- linux-5.10.197/drivers/rpmsg/qcom_glink_native.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/rpmsg/qcom_glink_native.c 2023-12-20 14:44:42.000000000 +0000 @@ -1379,6 +1379,7 @@ struct glink_channel *channel = to_glink_channel(rpdev->ept); channel->rpdev = NULL; + kfree(rpdev->driver_override); kfree(rpdev); } @@ -1607,6 +1608,7 @@ /* Release qcom_glink_alloc_channel() reference */ kref_put(&channel->refcount, qcom_glink_channel_release); + kfree(rpdev->driver_override); kfree(rpdev); } diff -Nru linux-5.10.197/drivers/rpmsg/rpmsg_core.c linux-5.10.205/drivers/rpmsg/rpmsg_core.c --- linux-5.10.197/drivers/rpmsg/rpmsg_core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/rpmsg/rpmsg_core.c 2023-12-20 14:44:42.000000000 +0000 @@ -332,7 +332,8 @@ const char *buf, size_t sz) \ { \ struct rpmsg_device *rpdev = to_rpmsg_device(dev); \ - char *new, *old; \ + const char *old; \ + char *new; \ \ new = kstrndup(buf, sz, GFP_KERNEL); \ if (!new) \ @@ -525,24 +526,52 @@ .remove = rpmsg_dev_remove, }; -int rpmsg_register_device(struct rpmsg_device *rpdev) +/* + * A helper for registering rpmsg device with driver override and name. + * Drivers should not be using it, but instead rpmsg_register_device(). + */ +int rpmsg_register_device_override(struct rpmsg_device *rpdev, + const char *driver_override) { struct device *dev = &rpdev->dev; int ret; + if (driver_override) + strcpy(rpdev->id.name, driver_override); + dev_set_name(&rpdev->dev, "%s.%s.%d.%d", dev_name(dev->parent), rpdev->id.name, rpdev->src, rpdev->dst); rpdev->dev.bus = &rpmsg_bus; - ret = device_register(&rpdev->dev); + device_initialize(dev); + if (driver_override) { + ret = driver_set_override(dev, &rpdev->driver_override, + driver_override, + strlen(driver_override)); + if (ret) { + dev_err(dev, "device_set_override failed: %d\n", ret); + put_device(dev); + return ret; + } + } + + ret = device_add(dev); if (ret) { - dev_err(dev, "device_register failed: %d\n", ret); + dev_err(dev, "device_add failed: %d\n", ret); + kfree(rpdev->driver_override); + rpdev->driver_override = NULL; put_device(&rpdev->dev); } return ret; } +EXPORT_SYMBOL(rpmsg_register_device_override); + +int rpmsg_register_device(struct rpmsg_device *rpdev) +{ + return rpmsg_register_device_override(rpdev, NULL); +} EXPORT_SYMBOL(rpmsg_register_device); /* diff -Nru linux-5.10.197/drivers/rpmsg/rpmsg_internal.h linux-5.10.205/drivers/rpmsg/rpmsg_internal.h --- linux-5.10.197/drivers/rpmsg/rpmsg_internal.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/rpmsg/rpmsg_internal.h 2023-12-20 14:44:42.000000000 +0000 @@ -84,10 +84,7 @@ */ static inline int rpmsg_chrdev_register_device(struct rpmsg_device *rpdev) { - strcpy(rpdev->id.name, "rpmsg_chrdev"); - rpdev->driver_override = "rpmsg_chrdev"; - - return rpmsg_register_device(rpdev); + return rpmsg_register_device_override(rpdev, "rpmsg_ctrl"); } #endif diff -Nru linux-5.10.197/drivers/rtc/rtc-pcf85363.c linux-5.10.205/drivers/rtc/rtc-pcf85363.c --- linux-5.10.197/drivers/rtc/rtc-pcf85363.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/rtc/rtc-pcf85363.c 2023-12-20 14:44:42.000000000 +0000 @@ -407,7 +407,7 @@ if (client->irq > 0) { regmap_write(pcf85363->regmap, CTRL_FLAGS, 0); regmap_update_bits(pcf85363->regmap, CTRL_PIN_IO, - PIN_IO_INTA_OUT, PIN_IO_INTAPM); + PIN_IO_INTAPM, PIN_IO_INTA_OUT); ret = devm_request_threaded_irq(&client->dev, client->irq, NULL, pcf85363_rtc_handle_irq, IRQF_TRIGGER_LOW | IRQF_ONESHOT, diff -Nru linux-5.10.197/drivers/s390/block/dasd.c linux-5.10.205/drivers/s390/block/dasd.c --- linux-5.10.197/drivers/s390/block/dasd.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/s390/block/dasd.c 2023-12-20 14:44:42.000000000 +0000 @@ -737,18 +737,20 @@ * we count each request only once. */ device = cqr->startdev; - if (device->profile.data) { - counter = 1; /* request is not yet queued on the start device */ - list_for_each(l, &device->ccw_queue) - if (++counter >= 31) - break; - } + if (!device->profile.data) + return; + + spin_lock(get_ccwdev_lock(device->cdev)); + counter = 1; /* request is not yet queued on the start device */ + list_for_each(l, &device->ccw_queue) + if (++counter >= 31) + break; + spin_unlock(get_ccwdev_lock(device->cdev)); + spin_lock(&device->profile.lock); - if (device->profile.data) { - device->profile.data->dasd_io_nr_req[counter]++; - if (rq_data_dir(req) == READ) - device->profile.data->dasd_read_nr_req[counter]++; - } + device->profile.data->dasd_io_nr_req[counter]++; + if (rq_data_dir(req) == READ) + device->profile.data->dasd_read_nr_req[counter]++; spin_unlock(&device->profile.lock); } diff -Nru linux-5.10.197/drivers/s390/scsi/zfcp_aux.c linux-5.10.205/drivers/s390/scsi/zfcp_aux.c --- linux-5.10.197/drivers/s390/scsi/zfcp_aux.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/s390/scsi/zfcp_aux.c 2023-12-20 14:44:42.000000000 +0000 @@ -497,12 +497,12 @@ if (port) { put_device(&port->dev); retval = -EEXIST; - goto err_out; + goto err_put; } port = kzalloc(sizeof(struct zfcp_port), GFP_KERNEL); if (!port) - goto err_out; + goto err_put; rwlock_init(&port->unit_list_lock); INIT_LIST_HEAD(&port->unit_list); @@ -525,7 +525,7 @@ if (dev_set_name(&port->dev, "0x%016llx", (unsigned long long)wwpn)) { kfree(port); - goto err_out; + goto err_put; } retval = -EINVAL; @@ -542,7 +542,8 @@ return port; -err_out: +err_put: zfcp_ccw_adapter_put(adapter); +err_out: return ERR_PTR(retval); } diff -Nru linux-5.10.197/drivers/scsi/be2iscsi/be_main.c linux-5.10.205/drivers/scsi/be2iscsi/be_main.c --- linux-5.10.197/drivers/scsi/be2iscsi/be_main.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/scsi/be2iscsi/be_main.c 2023-12-20 14:44:42.000000000 +0000 @@ -2694,6 +2694,7 @@ kfree(pwrb_context->pwrb_handle_base); kfree(pwrb_context->pwrb_handle_basestd); } + kfree(phwi_ctxt->be_wrbq); return -ENOMEM; } diff -Nru linux-5.10.197/drivers/scsi/libfc/fc_lport.c linux-5.10.205/drivers/scsi/libfc/fc_lport.c --- linux-5.10.197/drivers/scsi/libfc/fc_lport.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/scsi/libfc/fc_lport.c 2023-12-20 14:44:42.000000000 +0000 @@ -238,6 +238,12 @@ } mutex_lock(&lport->disc.disc_mutex); lport->ptp_rdata = fc_rport_create(lport, remote_fid); + if (!lport->ptp_rdata) { + printk(KERN_WARNING "libfc: Failed to setup lport 0x%x\n", + lport->port_id); + mutex_unlock(&lport->disc.disc_mutex); + return; + } kref_get(&lport->ptp_rdata->kref); lport->ptp_rdata->ids.port_name = remote_wwpn; lport->ptp_rdata->ids.node_name = remote_wwnn; diff -Nru linux-5.10.197/drivers/scsi/megaraid/megaraid_sas_base.c linux-5.10.205/drivers/scsi/megaraid/megaraid_sas_base.c --- linux-5.10.197/drivers/scsi/megaraid/megaraid_sas_base.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/scsi/megaraid/megaraid_sas_base.c 2023-12-20 14:44:42.000000000 +0000 @@ -248,13 +248,13 @@ * Fusion registers could intermittently return all zeroes. * This behavior is transient in nature and subsequent reads will * return valid value. As a workaround in driver, retry readl for - * upto three times until a non-zero value is read. + * up to thirty times until a non-zero value is read. */ if (instance->adapter_type == AERO_SERIES) { do { ret_val = readl(addr); i++; - } while (ret_val == 0 && i < 3); + } while (ret_val == 0 && i < 30); return ret_val; } else { return readl(addr); diff -Nru linux-5.10.197/drivers/scsi/mpt3sas/mpt3sas_base.c linux-5.10.205/drivers/scsi/mpt3sas/mpt3sas_base.c --- linux-5.10.197/drivers/scsi/mpt3sas/mpt3sas_base.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/scsi/mpt3sas/mpt3sas_base.c 2023-12-20 14:44:42.000000000 +0000 @@ -216,8 +216,8 @@ for (i = 0 ; i < 30 ; i++) { ret_val = readl(addr); - if (ret_val == 0) - continue; + if (ret_val != 0) + break; } return ret_val; diff -Nru linux-5.10.197/drivers/scsi/mpt3sas/mpt3sas_scsih.c linux-5.10.205/drivers/scsi/mpt3sas/mpt3sas_scsih.c --- linux-5.10.197/drivers/scsi/mpt3sas/mpt3sas_scsih.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/scsi/mpt3sas/mpt3sas_scsih.c 2023-12-20 14:44:42.000000000 +0000 @@ -11624,8 +11624,10 @@ mpt3sas_ctl_init(hbas_to_enumerate); error = pci_register_driver(&mpt3sas_driver); - if (error) + if (error) { + mpt3sas_ctl_exit(hbas_to_enumerate); scsih_exit(); + } return error; } diff -Nru linux-5.10.197/drivers/scsi/pm8001/pm8001_hwi.c linux-5.10.205/drivers/scsi/pm8001/pm8001_hwi.c --- linux-5.10.197/drivers/scsi/pm8001/pm8001_hwi.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/scsi/pm8001/pm8001_hwi.c 2023-12-20 14:44:42.000000000 +0000 @@ -4344,7 +4344,7 @@ payload.sas_identify.dev_type = SAS_END_DEVICE; payload.sas_identify.initiator_bits = SAS_PROTOCOL_ALL; memcpy(payload.sas_identify.sas_addr, - pm8001_ha->sas_addr, SAS_ADDR_SIZE); + &pm8001_ha->phy[phy_id].dev_sas_addr, SAS_ADDR_SIZE); payload.sas_identify.phy_id = phy_id; ret = pm8001_mpi_build_cmd(pm8001_ha, circularQ, opcode, &payload, sizeof(payload), 0); diff -Nru linux-5.10.197/drivers/scsi/pm8001/pm80xx_hwi.c linux-5.10.205/drivers/scsi/pm8001/pm80xx_hwi.c --- linux-5.10.197/drivers/scsi/pm8001/pm80xx_hwi.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/scsi/pm8001/pm80xx_hwi.c 2023-12-20 14:44:42.000000000 +0000 @@ -3722,10 +3722,12 @@ (struct set_ctrl_cfg_resp *)(piomb + 4); u32 status = le32_to_cpu(pPayload->status); u32 err_qlfr_pgcd = le32_to_cpu(pPayload->err_qlfr_pgcd); + u32 tag = le32_to_cpu(pPayload->tag); pm8001_dbg(pm8001_ha, MSG, "SET CONTROLLER RESP: status 0x%x qlfr_pgcd 0x%x\n", status, err_qlfr_pgcd); + pm8001_tag_free(pm8001_ha, tag); return 0; } @@ -4741,7 +4743,7 @@ payload.sas_identify.dev_type = SAS_END_DEVICE; payload.sas_identify.initiator_bits = SAS_PROTOCOL_ALL; memcpy(payload.sas_identify.sas_addr, - &pm8001_ha->sas_addr, SAS_ADDR_SIZE); + &pm8001_ha->phy[phy_id].dev_sas_addr, SAS_ADDR_SIZE); payload.sas_identify.phy_id = phy_id; ret = pm8001_mpi_build_cmd(pm8001_ha, circularQ, opcode, &payload, sizeof(payload), 0); diff -Nru linux-5.10.197/drivers/scsi/qedf/qedf_io.c linux-5.10.205/drivers/scsi/qedf/qedf_io.c --- linux-5.10.197/drivers/scsi/qedf/qedf_io.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/scsi/qedf/qedf_io.c 2023-12-20 14:44:42.000000000 +0000 @@ -1924,6 +1924,7 @@ goto drop_rdata_kref; } + spin_lock_irqsave(&fcport->rport_lock, flags); if (!test_bit(QEDF_CMD_OUTSTANDING, &io_req->flags) || test_bit(QEDF_CMD_IN_CLEANUP, &io_req->flags) || test_bit(QEDF_CMD_IN_ABORT, &io_req->flags)) { @@ -1931,17 +1932,20 @@ "io_req xid=0x%x sc_cmd=%p already in cleanup or abort processing or already completed.\n", io_req->xid, io_req->sc_cmd); rc = 1; + spin_unlock_irqrestore(&fcport->rport_lock, flags); goto drop_rdata_kref; } + /* Set the command type to abort */ + io_req->cmd_type = QEDF_ABTS; + spin_unlock_irqrestore(&fcport->rport_lock, flags); + kref_get(&io_req->refcount); xid = io_req->xid; qedf->control_requests++; qedf->packet_aborts++; - /* Set the command type to abort */ - io_req->cmd_type = QEDF_ABTS; io_req->return_scsi_cmd_on_abts = return_scsi_cmd_on_abts; set_bit(QEDF_CMD_IN_ABORT, &io_req->flags); @@ -2230,7 +2234,9 @@ refcount, fcport, fcport->rdata->ids.port_id); /* Cleanup cmds re-use the same TID as the original I/O */ + spin_lock_irqsave(&fcport->rport_lock, flags); io_req->cmd_type = QEDF_CLEANUP; + spin_unlock_irqrestore(&fcport->rport_lock, flags); io_req->return_scsi_cmd_on_abts = return_scsi_cmd_on_abts; init_completion(&io_req->cleanup_done); diff -Nru linux-5.10.197/drivers/scsi/qedf/qedf_main.c linux-5.10.205/drivers/scsi/qedf/qedf_main.c --- linux-5.10.197/drivers/scsi/qedf/qedf_main.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/scsi/qedf/qedf_main.c 2023-12-20 14:44:42.000000000 +0000 @@ -2803,6 +2803,8 @@ struct qedf_ioreq *io_req; struct qedf_rport *fcport; u32 comp_type; + u8 io_comp_type; + unsigned long flags; comp_type = (cqe->cqe_data >> FCOE_CQE_CQE_TYPE_SHIFT) & FCOE_CQE_CQE_TYPE_MASK; @@ -2836,11 +2838,14 @@ return; } + spin_lock_irqsave(&fcport->rport_lock, flags); + io_comp_type = io_req->cmd_type; + spin_unlock_irqrestore(&fcport->rport_lock, flags); switch (comp_type) { case FCOE_GOOD_COMPLETION_CQE_TYPE: atomic_inc(&fcport->free_sqes); - switch (io_req->cmd_type) { + switch (io_comp_type) { case QEDF_SCSI_CMD: qedf_scsi_completion(qedf, cqe, io_req); break; diff -Nru linux-5.10.197/drivers/scsi/qla2xxx/qla_os.c linux-5.10.205/drivers/scsi/qla2xxx/qla_os.c --- linux-5.10.197/drivers/scsi/qla2xxx/qla_os.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/scsi/qla2xxx/qla_os.c 2023-12-20 14:44:42.000000000 +0000 @@ -839,7 +839,7 @@ uint16_t hwq; struct qla_qpair *qpair = NULL; - tag = blk_mq_unique_tag(cmd->request); + tag = blk_mq_unique_tag(scsi_cmd_to_rq(cmd)); hwq = blk_mq_unique_tag_to_hwq(tag); qpair = ha->queue_pair_map[hwq]; @@ -1714,8 +1714,16 @@ } spin_lock_irqsave(qp->qp_lock_ptr, *flags); - if (ret_cmd && blk_mq_request_started(cmd->request)) - sp->done(sp, res); + switch (sp->type) { + case SRB_SCSI_CMD: + if (ret_cmd && blk_mq_request_started(scsi_cmd_to_rq(cmd))) + sp->done(sp, res); + break; + default: + if (ret_cmd) + sp->done(sp, res); + break; + } } else { sp->done(sp, res); } diff -Nru linux-5.10.197/drivers/scsi/ufs/ufshcd.c linux-5.10.205/drivers/scsi/ufs/ufshcd.c --- linux-5.10.197/drivers/scsi/ufs/ufshcd.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/scsi/ufs/ufshcd.c 2023-12-20 14:44:42.000000000 +0000 @@ -3339,7 +3339,7 @@ */ ret = utf16s_to_utf8s(uc_str->uc, uc_str->len - QUERY_DESC_HDR_SIZE, - UTF16_BIG_ENDIAN, str, ascii_len); + UTF16_BIG_ENDIAN, str, ascii_len - 1); /* replace non-printable or non-ASCII characters with spaces */ for (i = 0; i < ret; i++) diff -Nru linux-5.10.197/drivers/soc/qcom/llcc-qcom.c linux-5.10.205/drivers/soc/qcom/llcc-qcom.c --- linux-5.10.197/drivers/soc/qcom/llcc-qcom.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/soc/qcom/llcc-qcom.c 2023-12-20 14:44:42.000000000 +0000 @@ -413,6 +413,9 @@ const struct llcc_slice_config *llcc_cfg; u32 sz; + if (!IS_ERR(drv_data)) + return -EBUSY; + drv_data = devm_kzalloc(dev, sizeof(*drv_data), GFP_KERNEL); if (!drv_data) { ret = -ENOMEM; diff -Nru linux-5.10.197/drivers/soundwire/stream.c linux-5.10.205/drivers/soundwire/stream.c --- linux-5.10.197/drivers/soundwire/stream.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/soundwire/stream.c 2023-12-20 14:44:42.000000000 +0000 @@ -724,14 +724,15 @@ * sdw_ml_sync_bank_switch: Multilink register bank switch * * @bus: SDW bus instance + * @multi_link: whether this is a multi-link stream with hardware-based sync * * Caller function should free the buffers on error */ -static int sdw_ml_sync_bank_switch(struct sdw_bus *bus) +static int sdw_ml_sync_bank_switch(struct sdw_bus *bus, bool multi_link) { unsigned long time_left; - if (!bus->multi_link) + if (!multi_link) return 0; /* Wait for completion of transfer */ @@ -827,7 +828,7 @@ bus->bank_switch_timeout = DEFAULT_BANK_SWITCH_TIMEOUT; /* Check if bank switch was successful */ - ret = sdw_ml_sync_bank_switch(bus); + ret = sdw_ml_sync_bank_switch(bus, multi_link); if (ret < 0) { dev_err(bus->dev, "multi link bank switch failed: %d\n", ret); diff -Nru linux-5.10.197/drivers/spi/Kconfig linux-5.10.205/drivers/spi/Kconfig --- linux-5.10.197/drivers/spi/Kconfig 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/spi/Kconfig 2023-12-20 14:44:42.000000000 +0000 @@ -949,6 +949,7 @@ config SPI_ZYNQ_QSPI tristate "Xilinx Zynq QSPI controller" depends on ARCH_ZYNQ || COMPILE_TEST + depends on SPI_MEM help This enables support for the Zynq Quad SPI controller in master mode. diff -Nru linux-5.10.197/drivers/spi/spi-npcm-fiu.c linux-5.10.205/drivers/spi/spi-npcm-fiu.c --- linux-5.10.197/drivers/spi/spi-npcm-fiu.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/spi/spi-npcm-fiu.c 2023-12-20 14:44:42.000000000 +0000 @@ -334,8 +334,9 @@ uma_cfg |= ilog2(op->cmd.buswidth); uma_cfg |= ilog2(op->addr.buswidth) << NPCM_FIU_UMA_CFG_ADBPCK_SHIFT; - uma_cfg |= ilog2(op->dummy.buswidth) - << NPCM_FIU_UMA_CFG_DBPCK_SHIFT; + if (op->dummy.nbytes) + uma_cfg |= ilog2(op->dummy.buswidth) + << NPCM_FIU_UMA_CFG_DBPCK_SHIFT; uma_cfg |= ilog2(op->data.buswidth) << NPCM_FIU_UMA_CFG_RDBPCK_SHIFT; uma_cfg |= op->dummy.nbytes << NPCM_FIU_UMA_CFG_DBSIZ_SHIFT; diff -Nru linux-5.10.197/drivers/spi/spi-nxp-fspi.c linux-5.10.205/drivers/spi/spi-nxp-fspi.c --- linux-5.10.197/drivers/spi/spi-nxp-fspi.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/spi/spi-nxp-fspi.c 2023-12-20 14:44:42.000000000 +0000 @@ -685,7 +685,7 @@ f->memmap_len = len > NXP_FSPI_MIN_IOMAP ? len : NXP_FSPI_MIN_IOMAP; - f->ahb_addr = ioremap_wc(f->memmap_phy + f->memmap_start, + f->ahb_addr = ioremap(f->memmap_phy + f->memmap_start, f->memmap_len); if (!f->ahb_addr) { @@ -950,6 +950,13 @@ fspi_writel(f, FSPI_AHBCR_PREF_EN | FSPI_AHBCR_RDADDROPT, base + FSPI_AHBCR); + /* Reset the FLSHxCR1 registers. */ + reg = FSPI_FLSHXCR1_TCSH(0x3) | FSPI_FLSHXCR1_TCSS(0x3); + fspi_writel(f, reg, base + FSPI_FLSHA1CR1); + fspi_writel(f, reg, base + FSPI_FLSHA2CR1); + fspi_writel(f, reg, base + FSPI_FLSHB1CR1); + fspi_writel(f, reg, base + FSPI_FLSHB2CR1); + /* AHB Read - Set lut sequence ID for all CS. */ fspi_writel(f, SEQID_LUT, base + FSPI_FLSHA1CR2); fspi_writel(f, SEQID_LUT, base + FSPI_FLSHA2CR2); diff -Nru linux-5.10.197/drivers/staging/gdm724x/gdm_lte.c linux-5.10.205/drivers/staging/gdm724x/gdm_lte.c --- linux-5.10.197/drivers/staging/gdm724x/gdm_lte.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/staging/gdm724x/gdm_lte.c 2023-12-20 14:44:42.000000000 +0000 @@ -350,7 +350,7 @@ /* Get ethernet protocol */ eth = (struct ethhdr *)skb->data; if (ntohs(eth->h_proto) == ETH_P_8021Q) { - vlan_eth = (struct vlan_ethhdr *)skb->data; + vlan_eth = skb_vlan_eth_hdr(skb); mac_proto = ntohs(vlan_eth->h_vlan_encapsulated_proto); network_data = skb->data + VLAN_ETH_HLEN; nic_type |= NIC_TYPE_F_VLAN; @@ -436,7 +436,7 @@ * driver based on the NIC mac */ if (nic_type & NIC_TYPE_F_VLAN) { - struct vlan_ethhdr *vlan_eth = (struct vlan_ethhdr *)skb->data; + struct vlan_ethhdr *vlan_eth = skb_vlan_eth_hdr(skb); nic->vlan_id = ntohs(vlan_eth->h_vlan_TCI) & VLAN_VID_MASK; data_buf = skb->data + (VLAN_ETH_HLEN - ETH_HLEN); diff -Nru linux-5.10.197/drivers/staging/media/sunxi/cedrus/cedrus_hw.c linux-5.10.205/drivers/staging/media/sunxi/cedrus/cedrus_hw.c --- linux-5.10.197/drivers/staging/media/sunxi/cedrus/cedrus_hw.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/staging/media/sunxi/cedrus/cedrus_hw.c 2023-12-20 14:44:42.000000000 +0000 @@ -145,12 +145,12 @@ { struct cedrus_dev *dev = dev_get_drvdata(device); - reset_control_assert(dev->rstc); - clk_disable_unprepare(dev->ram_clk); clk_disable_unprepare(dev->mod_clk); clk_disable_unprepare(dev->ahb_clk); + reset_control_assert(dev->rstc); + return 0; } @@ -159,11 +159,18 @@ struct cedrus_dev *dev = dev_get_drvdata(device); int ret; + ret = reset_control_reset(dev->rstc); + if (ret) { + dev_err(dev->dev, "Failed to apply reset\n"); + + return ret; + } + ret = clk_prepare_enable(dev->ahb_clk); if (ret) { dev_err(dev->dev, "Failed to enable AHB clock\n"); - return ret; + goto err_rst; } ret = clk_prepare_enable(dev->mod_clk); @@ -180,21 +187,14 @@ goto err_mod_clk; } - ret = reset_control_reset(dev->rstc); - if (ret) { - dev_err(dev->dev, "Failed to apply reset\n"); - - goto err_ram_clk; - } - return 0; -err_ram_clk: - clk_disable_unprepare(dev->ram_clk); err_mod_clk: clk_disable_unprepare(dev->mod_clk); err_ahb_clk: clk_disable_unprepare(dev->ahb_clk); +err_rst: + reset_control_assert(dev->rstc); return ret; } diff -Nru linux-5.10.197/drivers/target/target_core_device.c linux-5.10.205/drivers/target/target_core_device.c --- linux-5.10.197/drivers/target/target_core_device.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/target/target_core_device.c 2023-12-20 14:44:42.000000000 +0000 @@ -867,7 +867,6 @@ EXPORT_SYMBOL(target_to_linux_sector); struct devices_idr_iter { - struct config_item *prev_item; int (*fn)(struct se_device *dev, void *data); void *data; }; @@ -877,11 +876,9 @@ { struct devices_idr_iter *iter = data; struct se_device *dev = p; + struct config_item *item; int ret; - config_item_put(iter->prev_item); - iter->prev_item = NULL; - /* * We add the device early to the idr, so it can be used * by backend modules during configuration. We do not want @@ -891,12 +888,13 @@ if (!target_dev_configured(dev)) return 0; - iter->prev_item = config_item_get_unless_zero(&dev->dev_group.cg_item); - if (!iter->prev_item) + item = config_item_get_unless_zero(&dev->dev_group.cg_item); + if (!item) return 0; mutex_unlock(&device_mutex); ret = iter->fn(dev, iter->data); + config_item_put(item); mutex_lock(&device_mutex); return ret; @@ -919,7 +917,6 @@ mutex_lock(&device_mutex); ret = idr_for_each(&devices_idr, target_devices_idr_iter, &iter); mutex_unlock(&device_mutex); - config_item_put(iter.prev_item); return ret; } diff -Nru linux-5.10.197/drivers/tee/amdtee/core.c linux-5.10.205/drivers/tee/amdtee/core.c --- linux-5.10.197/drivers/tee/amdtee/core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/tee/amdtee/core.c 2023-12-20 14:44:42.000000000 +0000 @@ -217,12 +217,12 @@ return rc; } +/* mutex must be held by caller */ static void destroy_session(struct kref *ref) { struct amdtee_session *sess = container_of(ref, struct amdtee_session, refcount); - mutex_lock(&session_list_mutex); list_del(&sess->list_node); mutex_unlock(&session_list_mutex); kfree(sess); @@ -272,7 +272,8 @@ if (arg->ret != TEEC_SUCCESS) { pr_err("open_session failed %d\n", arg->ret); handle_unload_ta(ta_handle); - kref_put(&sess->refcount, destroy_session); + kref_put_mutex(&sess->refcount, destroy_session, + &session_list_mutex); goto out; } @@ -290,7 +291,8 @@ pr_err("reached maximum session count %d\n", TEE_NUM_SESSIONS); handle_close_session(ta_handle, session_info); handle_unload_ta(ta_handle); - kref_put(&sess->refcount, destroy_session); + kref_put_mutex(&sess->refcount, destroy_session, + &session_list_mutex); rc = -ENOMEM; goto out; } @@ -331,7 +333,7 @@ handle_close_session(ta_handle, session_info); handle_unload_ta(ta_handle); - kref_put(&sess->refcount, destroy_session); + kref_put_mutex(&sess->refcount, destroy_session, &session_list_mutex); return 0; } diff -Nru linux-5.10.197/drivers/tee/optee/device.c linux-5.10.205/drivers/tee/optee/device.c --- linux-5.10.197/drivers/tee/optee/device.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/tee/optee/device.c 2023-12-20 14:44:42.000000000 +0000 @@ -60,7 +60,16 @@ kfree(optee_device); } -static int optee_register_device(const uuid_t *device_uuid) +static ssize_t need_supplicant_show(struct device *dev, + struct device_attribute *attr, + char *buf) +{ + return 0; +} + +static DEVICE_ATTR_RO(need_supplicant); + +static int optee_register_device(const uuid_t *device_uuid, u32 func) { struct tee_client_device *optee_device = NULL; int rc; @@ -83,6 +92,10 @@ put_device(&optee_device->dev); } + if (func == PTA_CMD_GET_DEVICES_SUPP) + device_create_file(&optee_device->dev, + &dev_attr_need_supplicant); + return rc; } @@ -143,7 +156,7 @@ num_devices = shm_size / sizeof(uuid_t); for (idx = 0; idx < num_devices; idx++) { - rc = optee_register_device(&device_uuid[idx]); + rc = optee_register_device(&device_uuid[idx], func); if (rc) goto out_shm; } diff -Nru linux-5.10.197/drivers/thermal/thermal_core.c linux-5.10.205/drivers/thermal/thermal_core.c --- linux-5.10.197/drivers/thermal/thermal_core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/thermal/thermal_core.c 2023-12-20 14:44:42.000000000 +0000 @@ -879,7 +879,8 @@ if (result) goto release_ida; - sprintf(dev->attr_name, "cdev%d_trip_point", dev->id); + snprintf(dev->attr_name, sizeof(dev->attr_name), "cdev%d_trip_point", + dev->id); sysfs_attr_init(&dev->attr.attr); dev->attr.attr.name = dev->attr_name; dev->attr.attr.mode = 0444; @@ -888,7 +889,8 @@ if (result) goto remove_symbol_link; - sprintf(dev->weight_attr_name, "cdev%d_weight", dev->id); + snprintf(dev->weight_attr_name, sizeof(dev->weight_attr_name), + "cdev%d_weight", dev->id); sysfs_attr_init(&dev->weight_attr.attr); dev->weight_attr.attr.name = dev->weight_attr_name; dev->weight_attr.attr.mode = S_IWUSR | S_IRUGO; diff -Nru linux-5.10.197/drivers/thunderbolt/icm.c linux-5.10.205/drivers/thunderbolt/icm.c --- linux-5.10.197/drivers/thunderbolt/icm.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/thunderbolt/icm.c 2023-12-20 14:44:42.000000000 +0000 @@ -41,6 +41,7 @@ #define PHY_PORT_CS1_LINK_STATE_SHIFT 26 #define ICM_TIMEOUT 5000 /* ms */ +#define ICM_RETRIES 3 #define ICM_APPROVE_TIMEOUT 10000 /* ms */ #define ICM_MAX_LINK 4 @@ -280,10 +281,9 @@ static int icm_request(struct tb *tb, const void *request, size_t request_size, void *response, size_t response_size, size_t npackets, - unsigned int timeout_msec) + int retries, unsigned int timeout_msec) { struct icm *icm = tb_priv(tb); - int retries = 3; do { struct tb_cfg_request *req; @@ -394,7 +394,7 @@ return -ENOMEM; ret = icm_request(tb, &request, sizeof(request), switches, - sizeof(*switches), npackets, ICM_TIMEOUT); + sizeof(*switches), npackets, ICM_RETRIES, ICM_TIMEOUT); if (ret) goto err_free; @@ -447,7 +447,7 @@ memset(&reply, 0, sizeof(reply)); ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply), - 1, ICM_TIMEOUT); + 1, ICM_RETRIES, ICM_TIMEOUT); if (ret) return ret; @@ -472,7 +472,7 @@ memset(&reply, 0, sizeof(reply)); /* Use larger timeout as establishing tunnels can take some time */ ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply), - 1, ICM_APPROVE_TIMEOUT); + 1, ICM_RETRIES, ICM_APPROVE_TIMEOUT); if (ret) return ret; @@ -499,7 +499,7 @@ memset(&reply, 0, sizeof(reply)); ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply), - 1, ICM_TIMEOUT); + 1, ICM_RETRIES, ICM_TIMEOUT); if (ret) return ret; @@ -527,7 +527,7 @@ memset(&reply, 0, sizeof(reply)); ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply), - 1, ICM_TIMEOUT); + 1, ICM_RETRIES, ICM_TIMEOUT); if (ret) return ret; @@ -559,7 +559,7 @@ memset(&reply, 0, sizeof(reply)); ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply), - 1, ICM_TIMEOUT); + 1, ICM_RETRIES, ICM_TIMEOUT); if (ret) return ret; @@ -996,7 +996,7 @@ memset(&reply, 0, sizeof(reply)); ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply), - 1, 20000); + 1, 10, 2000); if (ret) return ret; @@ -1026,7 +1026,7 @@ memset(&reply, 0, sizeof(reply)); ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply), - 1, ICM_APPROVE_TIMEOUT); + 1, ICM_RETRIES, ICM_APPROVE_TIMEOUT); if (ret) return ret; @@ -1054,7 +1054,7 @@ memset(&reply, 0, sizeof(reply)); ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply), - 1, ICM_TIMEOUT); + 1, ICM_RETRIES, ICM_TIMEOUT); if (ret) return ret; @@ -1083,7 +1083,7 @@ memset(&reply, 0, sizeof(reply)); ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply), - 1, ICM_TIMEOUT); + 1, ICM_RETRIES, ICM_TIMEOUT); if (ret) return ret; @@ -1115,7 +1115,7 @@ memset(&reply, 0, sizeof(reply)); ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply), - 1, ICM_TIMEOUT); + 1, ICM_RETRIES, ICM_TIMEOUT); if (ret) return ret; @@ -1141,7 +1141,7 @@ memset(&reply, 0, sizeof(reply)); ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply), - 1, ICM_TIMEOUT); + 1, ICM_RETRIES, ICM_TIMEOUT); if (ret) return ret; @@ -1460,7 +1460,7 @@ memset(&reply, 0, sizeof(reply)); ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply), - 1, ICM_TIMEOUT); + 1, ICM_RETRIES, ICM_TIMEOUT); if (ret) return ret; @@ -1486,7 +1486,7 @@ memset(&reply, 0, sizeof(reply)); ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply), - 1, ICM_TIMEOUT); + 1, ICM_RETRIES, ICM_TIMEOUT); if (ret) return ret; @@ -1507,7 +1507,7 @@ memset(&reply, 0, sizeof(reply)); ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply), - 1, ICM_TIMEOUT); + 1, ICM_RETRIES, ICM_TIMEOUT); if (ret) return ret; @@ -1568,7 +1568,7 @@ memset(&reply, 0, sizeof(reply)); ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply), - 1, ICM_TIMEOUT); + 1, ICM_RETRIES, ICM_TIMEOUT); if (ret) return ret; @@ -1590,7 +1590,7 @@ memset(&reply, 0, sizeof(reply)); ret = icm_request(tb, &request, sizeof(request), &reply, sizeof(reply), - 1, 20000); + 1, ICM_RETRIES, 20000); if (ret) return ret; diff -Nru linux-5.10.197/drivers/thunderbolt/switch.c linux-5.10.205/drivers/thunderbolt/switch.c --- linux-5.10.197/drivers/thunderbolt/switch.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/thunderbolt/switch.c 2023-12-20 14:44:42.000000000 +0000 @@ -2303,6 +2303,13 @@ !tb_port_is_width_supported(down, 2)) return 0; + /* + * Both lanes need to be in CL0. Here we assume lane 0 already be in + * CL0 and check just for lane 1. + */ + if (tb_wait_for_port(down->dual_link_port, false) <= 0) + return -ENOTCONN; + ret = tb_port_lane_bonding_enable(up); if (ret) { tb_port_warn(up, "failed to enable lane bonding\n"); diff -Nru linux-5.10.197/drivers/tty/hvc/hvc_xen.c linux-5.10.205/drivers/tty/hvc/hvc_xen.c --- linux-5.10.197/drivers/tty/hvc/hvc_xen.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/tty/hvc/hvc_xen.c 2023-12-20 14:44:42.000000000 +0000 @@ -363,18 +363,21 @@ #ifdef CONFIG_HVC_XEN_FRONTEND static void xencons_disconnect_backend(struct xencons_info *info) { - if (info->irq > 0) - unbind_from_irqhandler(info->irq, NULL); - info->irq = 0; + if (info->hvc != NULL) + hvc_remove(info->hvc); + info->hvc = NULL; + if (info->irq > 0) { + evtchn_put(info->evtchn); + info->irq = 0; + info->evtchn = 0; + } + /* evtchn_put() will also close it so this is only an error path */ if (info->evtchn > 0) xenbus_free_evtchn(info->xbdev, info->evtchn); info->evtchn = 0; if (info->gntref > 0) gnttab_free_grant_references(info->gntref); info->gntref = 0; - if (info->hvc != NULL) - hvc_remove(info->hvc); - info->hvc = NULL; } static void xencons_free(struct xencons_info *info) @@ -538,10 +541,23 @@ if (dev->state == XenbusStateClosed) break; fallthrough; /* Missed the backend's CLOSING state */ - case XenbusStateClosing: + case XenbusStateClosing: { + struct xencons_info *info = dev_get_drvdata(&dev->dev);; + + /* + * Don't tear down the evtchn and grant ref before the other + * end has disconnected, but do stop userspace from trying + * to use the device before we allow the backend to close. + */ + if (info->hvc) { + hvc_remove(info->hvc); + info->hvc = NULL; + } + xenbus_frontend_closed(dev); break; } + } } static const struct xenbus_device_id xencons_ids[] = { @@ -572,7 +588,7 @@ ops = &dom0_hvc_ops; r = xen_initial_domain_console_init(); if (r < 0) - return r; + goto register_fe; info = vtermno_to_xencons(HVC_COOKIE); } else { ops = &domU_hvc_ops; @@ -581,7 +597,7 @@ else r = xen_pv_console_init(); if (r < 0) - return r; + goto register_fe; info = vtermno_to_xencons(HVC_COOKIE); info->irq = bind_evtchn_to_irq_lateeoi(info->evtchn); @@ -600,12 +616,13 @@ list_del(&info->list); spin_unlock_irqrestore(&xencons_lock, flags); if (info->irq) - unbind_from_irqhandler(info->irq, NULL); + evtchn_put(info->evtchn); kfree(info); return r; } r = 0; + register_fe: #ifdef CONFIG_HVC_XEN_FRONTEND r = xenbus_register_frontend(&xencons_driver); #endif diff -Nru linux-5.10.197/drivers/tty/n_gsm.c linux-5.10.205/drivers/tty/n_gsm.c --- linux-5.10.197/drivers/tty/n_gsm.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/tty/n_gsm.c 2023-12-20 14:44:42.000000000 +0000 @@ -235,6 +235,7 @@ struct gsm_dlci *dlci[NUM_DLCI]; int old_c_iflag; /* termios c_iflag value before attach */ bool constipated; /* Asked by remote to shut up */ + bool has_devices; /* Devices were registered */ spinlock_t tx_lock; unsigned int tx_bytes; /* TX data outstanding */ @@ -465,6 +466,68 @@ } /** + * gsm_register_devices - register all tty devices for a given mux index + * + * @driver: the tty driver that describes the tty devices + * @index: the mux number is used to calculate the minor numbers of the + * ttys for this mux and may differ from the position in the + * mux array. + */ +static int gsm_register_devices(struct tty_driver *driver, unsigned int index) +{ + struct device *dev; + int i; + unsigned int base; + + if (!driver || index >= MAX_MUX) + return -EINVAL; + + base = index * NUM_DLCI; /* first minor for this index */ + for (i = 1; i < NUM_DLCI; i++) { + /* Don't register device 0 - this is the control channel + * and not a usable tty interface + */ + dev = tty_register_device(gsm_tty_driver, base + i, NULL); + if (IS_ERR(dev)) { + if (debug & 8) + pr_info("%s failed to register device minor %u", + __func__, base + i); + for (i--; i >= 1; i--) + tty_unregister_device(gsm_tty_driver, base + i); + return PTR_ERR(dev); + } + } + + return 0; +} + +/** + * gsm_unregister_devices - unregister all tty devices for a given mux index + * + * @driver: the tty driver that describes the tty devices + * @index: the mux number is used to calculate the minor numbers of the + * ttys for this mux and may differ from the position in the + * mux array. + */ +static void gsm_unregister_devices(struct tty_driver *driver, + unsigned int index) +{ + int i; + unsigned int base; + + if (!driver || index >= MAX_MUX) + return; + + base = index * NUM_DLCI; /* first minor for this index */ + for (i = 1; i < NUM_DLCI; i++) { + /* Don't unregister device 0 - this is the control + * channel and not a usable tty interface + */ + tty_unregister_device(gsm_tty_driver, base + i); + } +} + +/** * gsm_print_packet - display a frame for debug * @hdr: header to print before decode * @addr: address EA from the frame @@ -2178,11 +2241,13 @@ del_timer_sync(&gsm->t2_timer); /* Free up any link layer users and finally the control channel */ + if (gsm->has_devices) { + gsm_unregister_devices(gsm_tty_driver, gsm->num); + gsm->has_devices = false; + } for (i = NUM_DLCI - 1; i >= 0; i--) - if (gsm->dlci[i]) { + if (gsm->dlci[i]) gsm_dlci_release(gsm->dlci[i]); - gsm->dlci[i] = NULL; - } mutex_unlock(&gsm->mutex); /* Now wipe the queues */ tty_ldisc_flush(gsm->tty); @@ -2203,15 +2268,21 @@ static int gsm_activate_mux(struct gsm_mux *gsm) { struct gsm_dlci *dlci; + int ret; if (gsm->encoding == 0) gsm->receive = gsm0_receive; else gsm->receive = gsm1_receive; + ret = gsm_register_devices(gsm_tty_driver, gsm->num); + if (ret) + return ret; + dlci = gsm_dlci_alloc(gsm, 0); if (dlci == NULL) return -ENOMEM; + gsm->has_devices = true; gsm->dead = false; /* Tty opens are now permissible */ return 0; } @@ -2477,39 +2548,14 @@ * will need moving to an ioctl path. */ -static int gsmld_attach_gsm(struct tty_struct *tty, struct gsm_mux *gsm) +static void gsmld_attach_gsm(struct tty_struct *tty, struct gsm_mux *gsm) { - unsigned int base; - int ret, i; - gsm->tty = tty_kref_get(tty); /* Turn off tty XON/XOFF handling to handle it explicitly. */ gsm->old_c_iflag = tty->termios.c_iflag; tty->termios.c_iflag &= (IXON | IXOFF); - ret = gsm_activate_mux(gsm); - if (ret != 0) - tty_kref_put(gsm->tty); - else { - /* Don't register device 0 - this is the control channel and not - a usable tty interface */ - base = mux_num_to_base(gsm); /* Base for this MUX */ - for (i = 1; i < NUM_DLCI; i++) { - struct device *dev; - - dev = tty_register_device(gsm_tty_driver, - base + i, NULL); - if (IS_ERR(dev)) { - for (i--; i >= 1; i--) - tty_unregister_device(gsm_tty_driver, - base + i); - return PTR_ERR(dev); - } - } - } - return ret; } - /** * gsmld_detach_gsm - stop doing 0710 mux * @tty: tty attached to the mux @@ -2520,12 +2566,7 @@ static void gsmld_detach_gsm(struct tty_struct *tty, struct gsm_mux *gsm) { - unsigned int base = mux_num_to_base(gsm); /* Base for this MUX */ - int i; - WARN_ON(tty != gsm->tty); - for (i = 1; i < NUM_DLCI; i++) - tty_unregister_device(gsm_tty_driver, base + i); /* Restore tty XON/XOFF handling. */ gsm->tty->termios.c_iflag = gsm->old_c_iflag; tty_kref_put(gsm->tty); @@ -2536,27 +2577,25 @@ char *fp, int count) { struct gsm_mux *gsm = tty->disc_data; - const unsigned char *dp; - char *f; - int i; char flags = TTY_NORMAL; if (debug & 4) print_hex_dump_bytes("gsmld_receive: ", DUMP_PREFIX_OFFSET, cp, count); - for (i = count, dp = cp, f = fp; i; i--, dp++) { - if (f) - flags = *f++; + for (; count; count--, cp++) { + if (fp) + flags = *fp++; switch (flags) { case TTY_NORMAL: - gsm->receive(gsm, *dp); + if (gsm->receive) + gsm->receive(gsm, *cp); break; case TTY_OVERRUN: case TTY_BREAK: case TTY_PARITY: case TTY_FRAME: - gsm_error(gsm, *dp, flags); + gsm_error(gsm, *cp, flags); break; default: WARN_ONCE(1, "%s: unknown flag %d\n", @@ -2621,7 +2660,6 @@ static int gsmld_open(struct tty_struct *tty) { struct gsm_mux *gsm; - int ret; if (tty->ops->write == NULL) return -EINVAL; @@ -2637,12 +2675,11 @@ /* Attach the initial passive connection */ gsm->encoding = 1; - ret = gsmld_attach_gsm(tty, gsm); - if (ret != 0) { - gsm_cleanup_mux(gsm, false); - mux_put(gsm); - } - return ret; + gsmld_attach_gsm(tty, gsm); + + timer_setup(&gsm->t2_timer, gsm_control_retransmit, 0); + + return 0; } /** diff -Nru linux-5.10.197/drivers/tty/serial/8250/8250_early.c linux-5.10.205/drivers/tty/serial/8250/8250_early.c --- linux-5.10.197/drivers/tty/serial/8250/8250_early.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/tty/serial/8250/8250_early.c 2023-12-20 14:44:42.000000000 +0000 @@ -199,6 +199,7 @@ OF_EARLYCON_DECLARE(omap8250, "ti,omap2-uart", early_omap8250_setup); OF_EARLYCON_DECLARE(omap8250, "ti,omap3-uart", early_omap8250_setup); OF_EARLYCON_DECLARE(omap8250, "ti,omap4-uart", early_omap8250_setup); +OF_EARLYCON_DECLARE(omap8250, "ti,am654-uart", early_omap8250_setup); #endif diff -Nru linux-5.10.197/drivers/tty/serial/8250/8250_omap.c linux-5.10.205/drivers/tty/serial/8250/8250_omap.c --- linux-5.10.197/drivers/tty/serial/8250/8250_omap.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/tty/serial/8250/8250_omap.c 2023-12-20 14:44:42.000000000 +0000 @@ -32,6 +32,7 @@ #include "8250.h" #define DEFAULT_CLK_SPEED 48000000 +#define OMAP_UART_REGSHIFT 2 #define UART_ERRATA_i202_MDR1_ACCESS (1 << 0) #define OMAP_UART_WER_HAS_TX_WAKEUP (1 << 1) @@ -109,6 +110,7 @@ #define UART_OMAP_RX_LVL 0x19 struct omap8250_priv { + void __iomem *membase; int line; u8 habit; u8 mdr1; @@ -152,9 +154,14 @@ static inline void omap_8250_rx_dma_flush(struct uart_8250_port *p) { } #endif -static u32 uart_read(struct uart_8250_port *up, u32 reg) +static u32 uart_read(struct omap8250_priv *priv, u32 reg) +{ + return readl(priv->membase + (reg << OMAP_UART_REGSHIFT)); +} + +static void uart_write(struct omap8250_priv *priv, u32 reg, u32 val) { - return readl(up->port.membase + (reg << up->port.regshift)); + writel(val, priv->membase + (reg << OMAP_UART_REGSHIFT)); } /* @@ -552,7 +559,7 @@ u32 mvr, scheme; u16 revision, major, minor; - mvr = uart_read(up, UART_OMAP_MVER); + mvr = uart_read(priv, UART_OMAP_MVER); /* Check revision register scheme */ scheme = mvr >> OMAP_UART_MVR_SCHEME_SHIFT; @@ -837,7 +844,7 @@ if (priv->habit & UART_HAS_RHR_IT_DIS) { reg = serial_in(p, UART_OMAP_IER2); reg &= ~UART_OMAP_IER2_RHR_IT_DIS; - serial_out(p, UART_OMAP_IER2, UART_OMAP_IER2_RHR_IT_DIS); + serial_out(p, UART_OMAP_IER2, reg); } dmaengine_tx_status(rxchan, cookie, &state); @@ -979,7 +986,7 @@ if (priv->habit & UART_HAS_RHR_IT_DIS) { reg = serial_in(p, UART_OMAP_IER2); reg |= UART_OMAP_IER2_RHR_IT_DIS; - serial_out(p, UART_OMAP_IER2, UART_OMAP_IER2_RHR_IT_DIS); + serial_out(p, UART_OMAP_IER2, reg); } dma_async_issue_pending(dma->rxchan); @@ -1202,10 +1209,12 @@ status = serial_port_in(port, UART_LSR); - if (priv->habit & UART_HAS_EFR2) - am654_8250_handle_rx_dma(up, iir, status); - else - status = omap_8250_handle_rx_dma(up, iir, status); + if ((iir & 0x3f) != UART_IIR_THRI) { + if (priv->habit & UART_HAS_EFR2) + am654_8250_handle_rx_dma(up, iir, status); + else + status = omap_8250_handle_rx_dma(up, iir, status); + } serial8250_modem_status(up); if (status & UART_LSR_THRE && up->dma->tx_err) { @@ -1336,7 +1345,7 @@ UPF_HARD_FLOW; up.port.private_data = priv; - up.port.regshift = 2; + up.port.regshift = OMAP_UART_REGSHIFT; up.port.fifosize = 64; up.tx_loadsz = 64; up.capabilities = UART_CAP_FIFO; @@ -1397,6 +1406,8 @@ DEFAULT_CLK_SPEED); } + priv->membase = membase; + priv->line = -ENODEV; priv->latency = PM_QOS_CPU_LATENCY_DEFAULT_VALUE; priv->calc_latency = PM_QOS_CPU_LATENCY_DEFAULT_VALUE; cpu_latency_qos_add_request(&priv->pm_qos_request, priv->latency); @@ -1404,6 +1415,8 @@ spin_lock_init(&priv->rx_dma_lock); + platform_set_drvdata(pdev, priv); + device_init_wakeup(&pdev->dev, true); pm_runtime_enable(&pdev->dev); pm_runtime_use_autosuspend(&pdev->dev); @@ -1465,7 +1478,6 @@ goto err; } priv->line = ret; - platform_set_drvdata(pdev, priv); pm_runtime_mark_last_busy(&pdev->dev); pm_runtime_put_autosuspend(&pdev->dev); return 0; @@ -1487,11 +1499,12 @@ if (err) return err; + serial8250_unregister_port(priv->line); + priv->line = -ENODEV; pm_runtime_dont_use_autosuspend(&pdev->dev); pm_runtime_put_sync(&pdev->dev); flush_work(&priv->qos_work); pm_runtime_disable(&pdev->dev); - serial8250_unregister_port(priv->line); cpu_latency_qos_remove_request(&priv->pm_qos_request); device_init_wakeup(&pdev->dev, false); return 0; @@ -1521,7 +1534,7 @@ { struct omap8250_priv *priv = dev_get_drvdata(dev); struct uart_8250_port *up = serial8250_get_port(priv->line); - int err; + int err = 0; serial8250_suspend_port(priv->line); @@ -1531,7 +1544,8 @@ if (!device_may_wakeup(dev)) priv->wer = 0; serial_out(up, UART_OMAP_WER, priv->wer); - err = pm_runtime_force_suspend(dev); + if (uart_console(&up->port) && console_suspend_enabled) + err = pm_runtime_force_suspend(dev); flush_work(&priv->qos_work); return err; @@ -1540,11 +1554,15 @@ static int omap8250_resume(struct device *dev) { struct omap8250_priv *priv = dev_get_drvdata(dev); + struct uart_8250_port *up = serial8250_get_port(priv->line); int err; - err = pm_runtime_force_resume(dev); - if (err) - return err; + if (uart_console(&up->port) && console_suspend_enabled) { + err = pm_runtime_force_resume(dev); + if (err) + return err; + } + serial8250_resume_port(priv->line); /* Paired with pm_runtime_resume_and_get() in omap8250_suspend() */ pm_runtime_mark_last_busy(dev); @@ -1577,7 +1595,6 @@ static int omap8250_soft_reset(struct device *dev) { struct omap8250_priv *priv = dev_get_drvdata(dev); - struct uart_8250_port *up = serial8250_get_port(priv->line); int timeout = 100; int sysc; int syss; @@ -1591,20 +1608,20 @@ * needing omap8250_soft_reset() quirk. Do it in two writes as * recommended in the comment for omap8250_update_scr(). */ - serial_out(up, UART_OMAP_SCR, OMAP_UART_SCR_DMAMODE_1); - serial_out(up, UART_OMAP_SCR, + uart_write(priv, UART_OMAP_SCR, OMAP_UART_SCR_DMAMODE_1); + uart_write(priv, UART_OMAP_SCR, OMAP_UART_SCR_DMAMODE_1 | OMAP_UART_SCR_DMAMODE_CTL); - sysc = serial_in(up, UART_OMAP_SYSC); + sysc = uart_read(priv, UART_OMAP_SYSC); /* softreset the UART */ sysc |= OMAP_UART_SYSC_SOFTRESET; - serial_out(up, UART_OMAP_SYSC, sysc); + uart_write(priv, UART_OMAP_SYSC, sysc); /* By experiments, 1us enough for reset complete on AM335x */ do { udelay(1); - syss = serial_in(up, UART_OMAP_SYSS); + syss = uart_read(priv, UART_OMAP_SYSS); } while (--timeout && !(syss & OMAP_UART_SYSS_RESETDONE)); if (!timeout) { @@ -1618,23 +1635,10 @@ static int omap8250_runtime_suspend(struct device *dev) { struct omap8250_priv *priv = dev_get_drvdata(dev); - struct uart_8250_port *up; - - /* In case runtime-pm tries this before we are setup */ - if (!priv) - return 0; + struct uart_8250_port *up = NULL; - up = serial8250_get_port(priv->line); - /* - * When using 'no_console_suspend', the console UART must not be - * suspended. Since driver suspend is managed by runtime suspend, - * preventing runtime suspend (by returning error) will keep device - * active during suspend. - */ - if (priv->is_suspending && !console_suspend_enabled) { - if (uart_console(&up->port)) - return -EBUSY; - } + if (priv->line >= 0) + up = serial8250_get_port(priv->line); if (priv->habit & UART_ERRATA_CLOCK_DISABLE) { int ret; @@ -1643,13 +1647,15 @@ if (ret) return ret; - /* Restore to UART mode after reset (for wakeup) */ - omap8250_update_mdr1(up, priv); - /* Restore wakeup enable register */ - serial_out(up, UART_OMAP_WER, priv->wer); + if (up) { + /* Restore to UART mode after reset (for wakeup) */ + omap8250_update_mdr1(up, priv); + /* Restore wakeup enable register */ + serial_out(up, UART_OMAP_WER, priv->wer); + } } - if (up->dma && up->dma->rxchan) + if (up && up->dma && up->dma->rxchan) omap_8250_rx_dma_flush(up); priv->latency = PM_QOS_CPU_LATENCY_DEFAULT_VALUE; @@ -1661,18 +1667,15 @@ static int omap8250_runtime_resume(struct device *dev) { struct omap8250_priv *priv = dev_get_drvdata(dev); - struct uart_8250_port *up; - - /* In case runtime-pm tries this before we are setup */ - if (!priv) - return 0; + struct uart_8250_port *up = NULL; - up = serial8250_get_port(priv->line); + if (priv->line >= 0) + up = serial8250_get_port(priv->line); - if (omap8250_lost_context(up)) + if (up && omap8250_lost_context(up)) omap8250_restore_regs(up); - if (up->dma && up->dma->rxchan && !(priv->habit & UART_HAS_EFR2)) + if (up && up->dma && up->dma->rxchan && !(priv->habit & UART_HAS_EFR2)) omap_8250_rx_dma(up); priv->latency = priv->calc_latency; diff -Nru linux-5.10.197/drivers/tty/serial/8250/8250_pci.c linux-5.10.205/drivers/tty/serial/8250/8250_pci.c --- linux-5.10.197/drivers/tty/serial/8250/8250_pci.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/tty/serial/8250/8250_pci.c 2023-12-20 14:44:42.000000000 +0000 @@ -5133,6 +5133,12 @@ pbn_b1_bt_1_115200 }, /* + * IntaShield IS-100 + */ + { PCI_VENDOR_ID_INTASHIELD, 0x0D60, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, + pbn_b2_1_115200 }, + /* * IntaShield IS-200 */ { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_IS200, @@ -5159,10 +5165,14 @@ PCI_ANY_ID, PCI_ANY_ID, 0, 0, pbn_b2_1_115200 }, + { PCI_VENDOR_ID_INTASHIELD, 0x0AA2, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b2_1_115200 }, /* - * Brainboxes UC-257 + * Brainboxes UC-253/UC-734 */ - { PCI_VENDOR_ID_INTASHIELD, 0x0861, + { PCI_VENDOR_ID_INTASHIELD, 0x0CA1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, pbn_b2_2_115200 }, @@ -5178,6 +5188,66 @@ PCI_CLASS_COMMUNICATION_MULTISERIAL << 8, 0xffff00, pbn_b2_4_115200 }, /* + * Brainboxes UP-189 + */ + { PCI_VENDOR_ID_INTASHIELD, 0x0AC1, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b2_2_115200 }, + { PCI_VENDOR_ID_INTASHIELD, 0x0AC2, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b2_2_115200 }, + { PCI_VENDOR_ID_INTASHIELD, 0x0AC3, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b2_2_115200 }, + /* + * Brainboxes UP-200 + */ + { PCI_VENDOR_ID_INTASHIELD, 0x0B21, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b2_2_115200 }, + { PCI_VENDOR_ID_INTASHIELD, 0x0B22, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b2_2_115200 }, + { PCI_VENDOR_ID_INTASHIELD, 0x0B23, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b2_2_115200 }, + /* + * Brainboxes UP-869 + */ + { PCI_VENDOR_ID_INTASHIELD, 0x0C01, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b2_2_115200 }, + { PCI_VENDOR_ID_INTASHIELD, 0x0C02, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b2_2_115200 }, + { PCI_VENDOR_ID_INTASHIELD, 0x0C03, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b2_2_115200 }, + /* + * Brainboxes UP-880 + */ + { PCI_VENDOR_ID_INTASHIELD, 0x0C21, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b2_2_115200 }, + { PCI_VENDOR_ID_INTASHIELD, 0x0C22, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b2_2_115200 }, + { PCI_VENDOR_ID_INTASHIELD, 0x0C23, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b2_2_115200 }, + /* * Brainboxes UC-268 */ { PCI_VENDOR_ID_INTASHIELD, 0x0841, @@ -5198,6 +5268,14 @@ PCI_ANY_ID, PCI_ANY_ID, 0, 0, pbn_b2_2_115200 }, + { PCI_VENDOR_ID_INTASHIELD, 0x08E2, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b2_2_115200 }, + { PCI_VENDOR_ID_INTASHIELD, 0x08E3, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b2_2_115200 }, /* * Brainboxes UC-310 */ @@ -5208,6 +5286,14 @@ /* * Brainboxes UC-313 */ + { PCI_VENDOR_ID_INTASHIELD, 0x08A1, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b2_2_115200 }, + { PCI_VENDOR_ID_INTASHIELD, 0x08A2, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b2_2_115200 }, { PCI_VENDOR_ID_INTASHIELD, 0x08A3, PCI_ANY_ID, PCI_ANY_ID, 0, 0, @@ -5222,6 +5308,10 @@ /* * Brainboxes UC-346 */ + { PCI_VENDOR_ID_INTASHIELD, 0x0B01, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b2_4_115200 }, { PCI_VENDOR_ID_INTASHIELD, 0x0B02, PCI_ANY_ID, PCI_ANY_ID, 0, 0, @@ -5233,6 +5323,10 @@ PCI_ANY_ID, PCI_ANY_ID, 0, 0, pbn_b2_2_115200 }, + { PCI_VENDOR_ID_INTASHIELD, 0x0A82, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b2_2_115200 }, { PCI_VENDOR_ID_INTASHIELD, 0x0A83, PCI_ANY_ID, PCI_ANY_ID, 0, 0, @@ -5245,12 +5339,34 @@ 0, 0, pbn_b2_4_115200 }, /* - * Brainboxes UC-420/431 + * Brainboxes UC-420 */ { PCI_VENDOR_ID_INTASHIELD, 0x0921, PCI_ANY_ID, PCI_ANY_ID, 0, 0, pbn_b2_4_115200 }, + /* + * Brainboxes UC-607 + */ + { PCI_VENDOR_ID_INTASHIELD, 0x09A1, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b2_2_115200 }, + { PCI_VENDOR_ID_INTASHIELD, 0x09A2, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b2_2_115200 }, + { PCI_VENDOR_ID_INTASHIELD, 0x09A3, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b2_2_115200 }, + /* + * Brainboxes UC-836 + */ + { PCI_VENDOR_ID_INTASHIELD, 0x0D41, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b2_4_115200 }, /* * Perle PCI-RAS cards */ diff -Nru linux-5.10.197/drivers/tty/serial/8250/8250_port.c linux-5.10.205/drivers/tty/serial/8250/8250_port.c --- linux-5.10.197/drivers/tty/serial/8250/8250_port.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/tty/serial/8250/8250_port.c 2023-12-20 14:44:42.000000000 +0000 @@ -1914,7 +1914,10 @@ skip_rx = true; if (status & (UART_LSR_DR | UART_LSR_BI) && !skip_rx) { - if (irqd_is_wakeup_set(irq_get_irq_data(port->irq))) + struct irq_data *d; + + d = irq_get_irq_data(port->irq); + if (d && irqd_is_wakeup_set(d)) pm_wakeup_event(tport->tty->dev, 0); if (!up->dma || handle_rx_dma(up, iir)) status = serial8250_rx_chars(up, status); diff -Nru linux-5.10.197/drivers/tty/serial/amba-pl011.c linux-5.10.205/drivers/tty/serial/amba-pl011.c --- linux-5.10.197/drivers/tty/serial/amba-pl011.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/tty/serial/amba-pl011.c 2023-12-20 14:44:42.000000000 +0000 @@ -222,17 +222,18 @@ /* Deals with DMA transactions */ -struct pl011_sgbuf { - struct scatterlist sg; - char *buf; +struct pl011_dmabuf { + dma_addr_t dma; + size_t len; + char *buf; }; struct pl011_dmarx_data { struct dma_chan *chan; struct completion complete; bool use_buf_b; - struct pl011_sgbuf sgbuf_a; - struct pl011_sgbuf sgbuf_b; + struct pl011_dmabuf dbuf_a; + struct pl011_dmabuf dbuf_b; dma_cookie_t cookie; bool running; struct timer_list timer; @@ -245,7 +246,8 @@ struct pl011_dmatx_data { struct dma_chan *chan; - struct scatterlist sg; + dma_addr_t dma; + size_t len; char *buf; bool queued; }; @@ -366,32 +368,24 @@ #define PL011_DMA_BUFFER_SIZE PAGE_SIZE -static int pl011_sgbuf_init(struct dma_chan *chan, struct pl011_sgbuf *sg, +static int pl011_dmabuf_init(struct dma_chan *chan, struct pl011_dmabuf *db, enum dma_data_direction dir) { - dma_addr_t dma_addr; - - sg->buf = dma_alloc_coherent(chan->device->dev, - PL011_DMA_BUFFER_SIZE, &dma_addr, GFP_KERNEL); - if (!sg->buf) + db->buf = dma_alloc_coherent(chan->device->dev, PL011_DMA_BUFFER_SIZE, + &db->dma, GFP_KERNEL); + if (!db->buf) return -ENOMEM; - - sg_init_table(&sg->sg, 1); - sg_set_page(&sg->sg, phys_to_page(dma_addr), - PL011_DMA_BUFFER_SIZE, offset_in_page(dma_addr)); - sg_dma_address(&sg->sg) = dma_addr; - sg_dma_len(&sg->sg) = PL011_DMA_BUFFER_SIZE; + db->len = PL011_DMA_BUFFER_SIZE; return 0; } -static void pl011_sgbuf_free(struct dma_chan *chan, struct pl011_sgbuf *sg, +static void pl011_dmabuf_free(struct dma_chan *chan, struct pl011_dmabuf *db, enum dma_data_direction dir) { - if (sg->buf) { + if (db->buf) { dma_free_coherent(chan->device->dev, - PL011_DMA_BUFFER_SIZE, sg->buf, - sg_dma_address(&sg->sg)); + PL011_DMA_BUFFER_SIZE, db->buf, db->dma); } } @@ -552,8 +546,8 @@ spin_lock_irqsave(&uap->port.lock, flags); if (uap->dmatx.queued) - dma_unmap_sg(dmatx->chan->device->dev, &dmatx->sg, 1, - DMA_TO_DEVICE); + dma_unmap_single(dmatx->chan->device->dev, dmatx->dma, + dmatx->len, DMA_TO_DEVICE); dmacr = uap->dmacr; uap->dmacr = dmacr & ~UART011_TXDMAE; @@ -639,18 +633,19 @@ memcpy(&dmatx->buf[first], &xmit->buf[0], second); } - dmatx->sg.length = count; - - if (dma_map_sg(dma_dev->dev, &dmatx->sg, 1, DMA_TO_DEVICE) != 1) { + dmatx->len = count; + dmatx->dma = dma_map_single(dma_dev->dev, dmatx->buf, count, + DMA_TO_DEVICE); + if (dmatx->dma == DMA_MAPPING_ERROR) { uap->dmatx.queued = false; dev_dbg(uap->port.dev, "unable to map TX DMA\n"); return -EBUSY; } - desc = dmaengine_prep_slave_sg(chan, &dmatx->sg, 1, DMA_MEM_TO_DEV, + desc = dmaengine_prep_slave_single(chan, dmatx->dma, dmatx->len, DMA_MEM_TO_DEV, DMA_PREP_INTERRUPT | DMA_CTRL_ACK); if (!desc) { - dma_unmap_sg(dma_dev->dev, &dmatx->sg, 1, DMA_TO_DEVICE); + dma_unmap_single(dma_dev->dev, dmatx->dma, dmatx->len, DMA_TO_DEVICE); uap->dmatx.queued = false; /* * If DMA cannot be used right now, we complete this @@ -814,8 +809,8 @@ dmaengine_terminate_async(uap->dmatx.chan); if (uap->dmatx.queued) { - dma_unmap_sg(uap->dmatx.chan->device->dev, &uap->dmatx.sg, 1, - DMA_TO_DEVICE); + dma_unmap_single(uap->dmatx.chan->device->dev, uap->dmatx.dma, + uap->dmatx.len, DMA_TO_DEVICE); uap->dmatx.queued = false; uap->dmacr &= ~UART011_TXDMAE; pl011_write(uap->dmacr, uap, REG_DMACR); @@ -829,15 +824,15 @@ struct dma_chan *rxchan = uap->dmarx.chan; struct pl011_dmarx_data *dmarx = &uap->dmarx; struct dma_async_tx_descriptor *desc; - struct pl011_sgbuf *sgbuf; + struct pl011_dmabuf *dbuf; if (!rxchan) return -EIO; /* Start the RX DMA job */ - sgbuf = uap->dmarx.use_buf_b ? - &uap->dmarx.sgbuf_b : &uap->dmarx.sgbuf_a; - desc = dmaengine_prep_slave_sg(rxchan, &sgbuf->sg, 1, + dbuf = uap->dmarx.use_buf_b ? + &uap->dmarx.dbuf_b : &uap->dmarx.dbuf_a; + desc = dmaengine_prep_slave_single(rxchan, dbuf->dma, dbuf->len, DMA_DEV_TO_MEM, DMA_PREP_INTERRUPT | DMA_CTRL_ACK); /* @@ -877,8 +872,8 @@ bool readfifo) { struct tty_port *port = &uap->port.state->port; - struct pl011_sgbuf *sgbuf = use_buf_b ? - &uap->dmarx.sgbuf_b : &uap->dmarx.sgbuf_a; + struct pl011_dmabuf *dbuf = use_buf_b ? + &uap->dmarx.dbuf_b : &uap->dmarx.dbuf_a; int dma_count = 0; u32 fifotaken = 0; /* only used for vdbg() */ @@ -887,7 +882,7 @@ if (uap->dmarx.poll_rate) { /* The data can be taken by polling */ - dmataken = sgbuf->sg.length - dmarx->last_residue; + dmataken = dbuf->len - dmarx->last_residue; /* Recalculate the pending size */ if (pending >= dmataken) pending -= dmataken; @@ -901,7 +896,7 @@ * Note that tty_insert_flip_buf() tries to take as many chars * as it can. */ - dma_count = tty_insert_flip_string(port, sgbuf->buf + dmataken, + dma_count = tty_insert_flip_string(port, dbuf->buf + dmataken, pending); uap->port.icount.rx += dma_count; @@ -912,7 +907,7 @@ /* Reset the last_residue for Rx DMA poll */ if (uap->dmarx.poll_rate) - dmarx->last_residue = sgbuf->sg.length; + dmarx->last_residue = dbuf->len; /* * Only continue with trying to read the FIFO if all DMA chars have @@ -949,8 +944,8 @@ { struct pl011_dmarx_data *dmarx = &uap->dmarx; struct dma_chan *rxchan = dmarx->chan; - struct pl011_sgbuf *sgbuf = dmarx->use_buf_b ? - &dmarx->sgbuf_b : &dmarx->sgbuf_a; + struct pl011_dmabuf *dbuf = dmarx->use_buf_b ? + &dmarx->dbuf_b : &dmarx->dbuf_a; size_t pending; struct dma_tx_state state; enum dma_status dmastat; @@ -972,7 +967,7 @@ pl011_write(uap->dmacr, uap, REG_DMACR); uap->dmarx.running = false; - pending = sgbuf->sg.length - state.residue; + pending = dbuf->len - state.residue; BUG_ON(pending > PL011_DMA_BUFFER_SIZE); /* Then we terminate the transfer - we now know our residue */ dmaengine_terminate_all(rxchan); @@ -999,8 +994,8 @@ struct pl011_dmarx_data *dmarx = &uap->dmarx; struct dma_chan *rxchan = dmarx->chan; bool lastbuf = dmarx->use_buf_b; - struct pl011_sgbuf *sgbuf = dmarx->use_buf_b ? - &dmarx->sgbuf_b : &dmarx->sgbuf_a; + struct pl011_dmabuf *dbuf = dmarx->use_buf_b ? + &dmarx->dbuf_b : &dmarx->dbuf_a; size_t pending; struct dma_tx_state state; int ret; @@ -1018,7 +1013,7 @@ * the DMA irq handler. So we check the residue here. */ rxchan->device->device_tx_status(rxchan, dmarx->cookie, &state); - pending = sgbuf->sg.length - state.residue; + pending = dbuf->len - state.residue; BUG_ON(pending > PL011_DMA_BUFFER_SIZE); /* Then we terminate the transfer - we now know our residue */ dmaengine_terminate_all(rxchan); @@ -1070,16 +1065,16 @@ unsigned long flags = 0; unsigned int dmataken = 0; unsigned int size = 0; - struct pl011_sgbuf *sgbuf; + struct pl011_dmabuf *dbuf; int dma_count; struct dma_tx_state state; - sgbuf = dmarx->use_buf_b ? &uap->dmarx.sgbuf_b : &uap->dmarx.sgbuf_a; + dbuf = dmarx->use_buf_b ? &uap->dmarx.dbuf_b : &uap->dmarx.dbuf_a; rxchan->device->device_tx_status(rxchan, dmarx->cookie, &state); if (likely(state.residue < dmarx->last_residue)) { - dmataken = sgbuf->sg.length - dmarx->last_residue; + dmataken = dbuf->len - dmarx->last_residue; size = dmarx->last_residue - state.residue; - dma_count = tty_insert_flip_string(port, sgbuf->buf + dmataken, + dma_count = tty_insert_flip_string(port, dbuf->buf + dmataken, size); if (dma_count == size) dmarx->last_residue = state.residue; @@ -1126,7 +1121,7 @@ return; } - sg_init_one(&uap->dmatx.sg, uap->dmatx.buf, PL011_DMA_BUFFER_SIZE); + uap->dmatx.len = PL011_DMA_BUFFER_SIZE; /* The DMA buffer is now the FIFO the TTY subsystem can use */ uap->port.fifosize = PL011_DMA_BUFFER_SIZE; @@ -1136,7 +1131,7 @@ goto skip_rx; /* Allocate and map DMA RX buffers */ - ret = pl011_sgbuf_init(uap->dmarx.chan, &uap->dmarx.sgbuf_a, + ret = pl011_dmabuf_init(uap->dmarx.chan, &uap->dmarx.dbuf_a, DMA_FROM_DEVICE); if (ret) { dev_err(uap->port.dev, "failed to init DMA %s: %d\n", @@ -1144,12 +1139,12 @@ goto skip_rx; } - ret = pl011_sgbuf_init(uap->dmarx.chan, &uap->dmarx.sgbuf_b, + ret = pl011_dmabuf_init(uap->dmarx.chan, &uap->dmarx.dbuf_b, DMA_FROM_DEVICE); if (ret) { dev_err(uap->port.dev, "failed to init DMA %s: %d\n", "RX buffer B", ret); - pl011_sgbuf_free(uap->dmarx.chan, &uap->dmarx.sgbuf_a, + pl011_dmabuf_free(uap->dmarx.chan, &uap->dmarx.dbuf_a, DMA_FROM_DEVICE); goto skip_rx; } @@ -1203,8 +1198,9 @@ /* In theory, this should already be done by pl011_dma_flush_buffer */ dmaengine_terminate_all(uap->dmatx.chan); if (uap->dmatx.queued) { - dma_unmap_sg(uap->dmatx.chan->device->dev, &uap->dmatx.sg, 1, - DMA_TO_DEVICE); + dma_unmap_single(uap->dmatx.chan->device->dev, + uap->dmatx.dma, uap->dmatx.len, + DMA_TO_DEVICE); uap->dmatx.queued = false; } @@ -1215,8 +1211,8 @@ if (uap->using_rx_dma) { dmaengine_terminate_all(uap->dmarx.chan); /* Clean up the RX DMA */ - pl011_sgbuf_free(uap->dmarx.chan, &uap->dmarx.sgbuf_a, DMA_FROM_DEVICE); - pl011_sgbuf_free(uap->dmarx.chan, &uap->dmarx.sgbuf_b, DMA_FROM_DEVICE); + pl011_dmabuf_free(uap->dmarx.chan, &uap->dmarx.dbuf_a, DMA_FROM_DEVICE); + pl011_dmabuf_free(uap->dmarx.chan, &uap->dmarx.dbuf_b, DMA_FROM_DEVICE); if (uap->dmarx.poll_rate) del_timer_sync(&uap->dmarx.timer); uap->using_rx_dma = false; diff -Nru linux-5.10.197/drivers/tty/serial/meson_uart.c linux-5.10.205/drivers/tty/serial/meson_uart.c --- linux-5.10.197/drivers/tty/serial/meson_uart.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/tty/serial/meson_uart.c 2023-12-20 14:44:42.000000000 +0000 @@ -370,10 +370,14 @@ else val |= AML_UART_STOP_BIT_1SB; - if (cflags & CRTSCTS) - val &= ~AML_UART_TWO_WIRE_EN; - else + if (cflags & CRTSCTS) { + if (port->flags & UPF_HARD_FLOW) + val &= ~AML_UART_TWO_WIRE_EN; + else + termios->c_cflag &= ~CRTSCTS; + } else { val |= AML_UART_TWO_WIRE_EN; + } writel(val, port->membase + AML_UART_CONTROL); @@ -726,15 +730,19 @@ static int meson_uart_probe(struct platform_device *pdev) { - struct resource *res_mem, *res_irq; + struct resource *res_mem; struct uart_port *port; + u32 fifosize = 64; /* Default is 64, 128 for EE UART_0 */ int ret = 0; - int id = -1; + int irq; + bool has_rtscts; if (pdev->dev.of_node) pdev->id = of_alias_get_id(pdev->dev.of_node, "serial"); if (pdev->id < 0) { + int id; + for (id = AML_UART_PORT_OFFSET; id < AML_UART_PORT_NUM; id++) { if (!meson_ports[id]) { pdev->id = id; @@ -750,9 +758,12 @@ if (!res_mem) return -ENODEV; - res_irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0); - if (!res_irq) - return -ENODEV; + irq = platform_get_irq(pdev, 0); + if (irq < 0) + return irq; + + of_property_read_u32(pdev->dev.of_node, "fifo-size", &fifosize); + has_rtscts = of_property_read_bool(pdev->dev.of_node, "uart-has-rtscts"); if (meson_ports[pdev->id]) { dev_err(&pdev->dev, "port %d already allocated\n", pdev->id); @@ -775,15 +786,17 @@ port->iotype = UPIO_MEM; port->mapbase = res_mem->start; port->mapsize = resource_size(res_mem); - port->irq = res_irq->start; + port->irq = irq; port->flags = UPF_BOOT_AUTOCONF | UPF_LOW_LATENCY; + if (has_rtscts) + port->flags |= UPF_HARD_FLOW; port->has_sysrq = IS_ENABLED(CONFIG_SERIAL_MESON_CONSOLE); port->dev = &pdev->dev; port->line = pdev->id; port->type = PORT_MESON; port->x_char = 0; port->ops = &meson_uart_ops; - port->fifosize = 64; + port->fifosize = fifosize; meson_ports[pdev->id] = port; platform_set_drvdata(pdev, port); diff -Nru linux-5.10.197/drivers/tty/serial/sc16is7xx.c linux-5.10.205/drivers/tty/serial/sc16is7xx.c --- linux-5.10.197/drivers/tty/serial/sc16is7xx.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/tty/serial/sc16is7xx.c 2023-12-20 14:44:42.000000000 +0000 @@ -694,6 +694,18 @@ case SC16IS7XX_IIR_RTOI_SRC: case SC16IS7XX_IIR_XOFFI_SRC: rxlen = sc16is7xx_port_read(port, SC16IS7XX_RXLVL_REG); + + /* + * There is a silicon bug that makes the chip report a + * time-out interrupt but no data in the FIFO. This is + * described in errata section 18.1.4. + * + * When this happens, read one byte from the FIFO to + * clear the interrupt. + */ + if (iir == SC16IS7XX_IIR_RTOI_SRC && !rxlen) + rxlen = 1; + if (rxlen) sc16is7xx_handle_rx(port, rxlen, iir); break; diff -Nru linux-5.10.197/drivers/tty/sysrq.c linux-5.10.205/drivers/tty/sysrq.c --- linux-5.10.197/drivers/tty/sysrq.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/tty/sysrq.c 2023-12-20 14:44:42.000000000 +0000 @@ -262,13 +262,14 @@ if (in_irq()) regs = get_irq_regs(); - pr_info("CPU%d:\n", smp_processor_id()); + pr_info("CPU%d:\n", get_cpu()); if (regs) show_regs(regs); else show_stack(NULL, NULL, KERN_INFO); schedule_work(&sysrq_showallcpus); + put_cpu(); } } diff -Nru linux-5.10.197/drivers/tty/tty_jobctrl.c linux-5.10.205/drivers/tty/tty_jobctrl.c --- linux-5.10.197/drivers/tty/tty_jobctrl.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/tty/tty_jobctrl.c 2023-12-20 14:44:42.000000000 +0000 @@ -291,12 +291,7 @@ return; } - spin_lock_irq(¤t->sighand->siglock); - put_pid(current->signal->tty_old_pgrp); - current->signal->tty_old_pgrp = NULL; - tty = tty_kref_get(current->signal->tty); - spin_unlock_irq(¤t->sighand->siglock); - + tty = get_current_tty(); if (tty) { unsigned long flags; @@ -311,6 +306,16 @@ tty_kref_put(tty); } + /* If tty->ctrl.pgrp is not NULL, it may be assigned to + * current->signal->tty_old_pgrp in a race condition, and + * cause pid memleak. Release current->signal->tty_old_pgrp + * after tty->ctrl.pgrp set to NULL. + */ + spin_lock_irq(¤t->sighand->siglock); + put_pid(current->signal->tty_old_pgrp); + current->signal->tty_old_pgrp = NULL; + spin_unlock_irq(¤t->sighand->siglock); + /* Now clear signal->tty under the lock */ read_lock(&tasklist_lock); session_clear_tty(task_session(current)); diff -Nru linux-5.10.197/drivers/tty/vcc.c linux-5.10.205/drivers/tty/vcc.c --- linux-5.10.197/drivers/tty/vcc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/tty/vcc.c 2023-12-20 14:44:42.000000000 +0000 @@ -587,18 +587,22 @@ return -ENOMEM; name = kstrdup(dev_name(&vdev->dev), GFP_KERNEL); + if (!name) { + rv = -ENOMEM; + goto free_port; + } rv = vio_driver_init(&port->vio, vdev, VDEV_CONSOLE_CON, vcc_versions, ARRAY_SIZE(vcc_versions), NULL, name); if (rv) - goto free_port; + goto free_name; port->vio.debug = vcc_dbg_vio; vcc_ldc_cfg.debug = vcc_dbg_ldc; rv = vio_ldc_alloc(&port->vio, &vcc_ldc_cfg, port); if (rv) - goto free_port; + goto free_name; spin_lock_init(&port->lock); @@ -632,6 +636,11 @@ goto unreg_tty; } port->domain = kstrdup(domain, GFP_KERNEL); + if (!port->domain) { + rv = -ENOMEM; + goto unreg_tty; + } + mdesc_release(hp); @@ -661,8 +670,9 @@ vcc_table_remove(port->index); free_ldc: vio_ldc_free(&port->vio); -free_port: +free_name: kfree(name); +free_port: kfree(port); return rv; diff -Nru linux-5.10.197/drivers/usb/core/config.c linux-5.10.205/drivers/usb/core/config.c --- linux-5.10.197/drivers/usb/core/config.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/core/config.c 2023-12-20 14:44:42.000000000 +0000 @@ -61,7 +61,7 @@ desc = (struct usb_ssp_isoc_ep_comp_descriptor *) buffer; if (desc->bDescriptorType != USB_DT_SSP_ISOC_ENDPOINT_COMP || size < USB_DT_SSP_ISOC_EP_COMP_SIZE) { - dev_warn(ddev, "Invalid SuperSpeedPlus isoc endpoint companion" + dev_notice(ddev, "Invalid SuperSpeedPlus isoc endpoint companion" "for config %d interface %d altsetting %d ep %d.\n", cfgno, inum, asnum, ep->desc.bEndpointAddress); return; @@ -83,7 +83,7 @@ if (desc->bDescriptorType != USB_DT_SS_ENDPOINT_COMP || size < USB_DT_SS_EP_COMP_SIZE) { - dev_warn(ddev, "No SuperSpeed endpoint companion for config %d " + dev_notice(ddev, "No SuperSpeed endpoint companion for config %d " " interface %d altsetting %d ep %d: " "using minimum values\n", cfgno, inum, asnum, ep->desc.bEndpointAddress); @@ -109,13 +109,13 @@ /* Check the various values */ if (usb_endpoint_xfer_control(&ep->desc) && desc->bMaxBurst != 0) { - dev_warn(ddev, "Control endpoint with bMaxBurst = %d in " + dev_notice(ddev, "Control endpoint with bMaxBurst = %d in " "config %d interface %d altsetting %d ep %d: " "setting to zero\n", desc->bMaxBurst, cfgno, inum, asnum, ep->desc.bEndpointAddress); ep->ss_ep_comp.bMaxBurst = 0; } else if (desc->bMaxBurst > 15) { - dev_warn(ddev, "Endpoint with bMaxBurst = %d in " + dev_notice(ddev, "Endpoint with bMaxBurst = %d in " "config %d interface %d altsetting %d ep %d: " "setting to 15\n", desc->bMaxBurst, cfgno, inum, asnum, ep->desc.bEndpointAddress); @@ -125,7 +125,7 @@ if ((usb_endpoint_xfer_control(&ep->desc) || usb_endpoint_xfer_int(&ep->desc)) && desc->bmAttributes != 0) { - dev_warn(ddev, "%s endpoint with bmAttributes = %d in " + dev_notice(ddev, "%s endpoint with bmAttributes = %d in " "config %d interface %d altsetting %d ep %d: " "setting to zero\n", usb_endpoint_xfer_control(&ep->desc) ? "Control" : "Bulk", @@ -134,7 +134,7 @@ ep->ss_ep_comp.bmAttributes = 0; } else if (usb_endpoint_xfer_bulk(&ep->desc) && desc->bmAttributes > 16) { - dev_warn(ddev, "Bulk endpoint with more than 65536 streams in " + dev_notice(ddev, "Bulk endpoint with more than 65536 streams in " "config %d interface %d altsetting %d ep %d: " "setting to max\n", cfgno, inum, asnum, ep->desc.bEndpointAddress); @@ -142,7 +142,7 @@ } else if (usb_endpoint_xfer_isoc(&ep->desc) && !USB_SS_SSP_ISOC_COMP(desc->bmAttributes) && USB_SS_MULT(desc->bmAttributes) > 3) { - dev_warn(ddev, "Isoc endpoint has Mult of %d in " + dev_notice(ddev, "Isoc endpoint has Mult of %d in " "config %d interface %d altsetting %d ep %d: " "setting to 3\n", USB_SS_MULT(desc->bmAttributes), @@ -160,7 +160,7 @@ else max_tx = 999999; if (le16_to_cpu(desc->wBytesPerInterval) > max_tx) { - dev_warn(ddev, "%s endpoint with wBytesPerInterval of %d in " + dev_notice(ddev, "%s endpoint with wBytesPerInterval of %d in " "config %d interface %d altsetting %d ep %d: " "setting to %d\n", usb_endpoint_xfer_isoc(&ep->desc) ? "Isoc" : "Int", @@ -273,7 +273,7 @@ else if (d->bLength >= USB_DT_ENDPOINT_SIZE) n = USB_DT_ENDPOINT_SIZE; else { - dev_warn(ddev, "config %d interface %d altsetting %d has an " + dev_notice(ddev, "config %d interface %d altsetting %d has an " "invalid endpoint descriptor of length %d, skipping\n", cfgno, inum, asnum, d->bLength); goto skip_to_next_endpoint_or_interface_descriptor; @@ -281,7 +281,7 @@ i = d->bEndpointAddress & ~USB_ENDPOINT_DIR_MASK; if (i >= 16 || i == 0) { - dev_warn(ddev, "config %d interface %d altsetting %d has an " + dev_notice(ddev, "config %d interface %d altsetting %d has an " "invalid endpoint with address 0x%X, skipping\n", cfgno, inum, asnum, d->bEndpointAddress); goto skip_to_next_endpoint_or_interface_descriptor; @@ -293,7 +293,7 @@ /* Check for duplicate endpoint addresses */ if (config_endpoint_is_duplicate(config, inum, asnum, d)) { - dev_warn(ddev, "config %d interface %d altsetting %d has a duplicate endpoint with address 0x%X, skipping\n", + dev_notice(ddev, "config %d interface %d altsetting %d has a duplicate endpoint with address 0x%X, skipping\n", cfgno, inum, asnum, d->bEndpointAddress); goto skip_to_next_endpoint_or_interface_descriptor; } @@ -301,7 +301,7 @@ /* Ignore some endpoints */ if (udev->quirks & USB_QUIRK_ENDPOINT_IGNORE) { if (usb_endpoint_is_ignored(udev, ifp, d)) { - dev_warn(ddev, "config %d interface %d altsetting %d has an ignored endpoint with address 0x%X, skipping\n", + dev_notice(ddev, "config %d interface %d altsetting %d has an ignored endpoint with address 0x%X, skipping\n", cfgno, inum, asnum, d->bEndpointAddress); goto skip_to_next_endpoint_or_interface_descriptor; @@ -378,7 +378,7 @@ } } if (d->bInterval < i || d->bInterval > j) { - dev_warn(ddev, "config %d interface %d altsetting %d " + dev_notice(ddev, "config %d interface %d altsetting %d " "endpoint 0x%X has an invalid bInterval %d, " "changing to %d\n", cfgno, inum, asnum, @@ -391,7 +391,7 @@ * them usable, we will try treating them as Interrupt endpoints. */ if (udev->speed == USB_SPEED_LOW && usb_endpoint_xfer_bulk(d)) { - dev_warn(ddev, "config %d interface %d altsetting %d " + dev_notice(ddev, "config %d interface %d altsetting %d " "endpoint 0x%X is Bulk; changing to Interrupt\n", cfgno, inum, asnum, d->bEndpointAddress); endpoint->desc.bmAttributes = USB_ENDPOINT_XFER_INT; @@ -408,7 +408,7 @@ */ maxp = le16_to_cpu(endpoint->desc.wMaxPacketSize); if (maxp == 0 && !(usb_endpoint_xfer_isoc(d) && asnum == 0)) { - dev_warn(ddev, "config %d interface %d altsetting %d endpoint 0x%X has invalid wMaxPacketSize 0\n", + dev_notice(ddev, "config %d interface %d altsetting %d endpoint 0x%X has invalid wMaxPacketSize 0\n", cfgno, inum, asnum, d->bEndpointAddress); } @@ -439,7 +439,7 @@ j = maxpacket_maxes[usb_endpoint_type(&endpoint->desc)]; if (maxp > j) { - dev_warn(ddev, "config %d interface %d altsetting %d endpoint 0x%X has invalid maxpacket %d, setting to %d\n", + dev_notice(ddev, "config %d interface %d altsetting %d endpoint 0x%X has invalid maxpacket %d, setting to %d\n", cfgno, inum, asnum, d->bEndpointAddress, maxp, j); maxp = j; endpoint->desc.wMaxPacketSize = cpu_to_le16(i | maxp); @@ -452,7 +452,7 @@ */ if (udev->speed == USB_SPEED_HIGH && usb_endpoint_xfer_bulk(d)) { if (maxp != 512) - dev_warn(ddev, "config %d interface %d altsetting %d " + dev_notice(ddev, "config %d interface %d altsetting %d " "bulk endpoint 0x%X has invalid maxpacket %d\n", cfgno, inum, asnum, d->bEndpointAddress, maxp); @@ -533,7 +533,7 @@ i < intfc->num_altsetting; (++i, ++alt)) { if (alt->desc.bAlternateSetting == asnum) { - dev_warn(ddev, "Duplicate descriptor for config %d " + dev_notice(ddev, "Duplicate descriptor for config %d " "interface %d altsetting %d, skipping\n", cfgno, inum, asnum); goto skip_to_next_interface_descriptor; @@ -559,7 +559,7 @@ num_ep = num_ep_orig = alt->desc.bNumEndpoints; alt->desc.bNumEndpoints = 0; /* Use as a counter */ if (num_ep > USB_MAXENDPOINTS) { - dev_warn(ddev, "too many endpoints for config %d interface %d " + dev_notice(ddev, "too many endpoints for config %d interface %d " "altsetting %d: %d, using maximum allowed: %d\n", cfgno, inum, asnum, num_ep, USB_MAXENDPOINTS); num_ep = USB_MAXENDPOINTS; @@ -590,7 +590,7 @@ } if (n != num_ep_orig) - dev_warn(ddev, "config %d interface %d altsetting %d has %d " + dev_notice(ddev, "config %d interface %d altsetting %d has %d " "endpoint descriptor%s, different from the interface " "descriptor's value: %d\n", cfgno, inum, asnum, n, plural(n), num_ep_orig); @@ -625,7 +625,7 @@ if (config->desc.bDescriptorType != USB_DT_CONFIG || config->desc.bLength < USB_DT_CONFIG_SIZE || config->desc.bLength > size) { - dev_err(ddev, "invalid descriptor for config index %d: " + dev_notice(ddev, "invalid descriptor for config index %d: " "type = 0x%X, length = %d\n", cfgidx, config->desc.bDescriptorType, config->desc.bLength); return -EINVAL; @@ -636,7 +636,7 @@ size -= config->desc.bLength; if (nintf > USB_MAXINTERFACES) { - dev_warn(ddev, "config %d has too many interfaces: %d, " + dev_notice(ddev, "config %d has too many interfaces: %d, " "using maximum allowed: %d\n", cfgno, nintf, USB_MAXINTERFACES); nintf = USB_MAXINTERFACES; @@ -650,7 +650,7 @@ (buffer2 += header->bLength, size2 -= header->bLength)) { if (size2 < sizeof(struct usb_descriptor_header)) { - dev_warn(ddev, "config %d descriptor has %d excess " + dev_notice(ddev, "config %d descriptor has %d excess " "byte%s, ignoring\n", cfgno, size2, plural(size2)); break; @@ -658,7 +658,7 @@ header = (struct usb_descriptor_header *) buffer2; if ((header->bLength > size2) || (header->bLength < 2)) { - dev_warn(ddev, "config %d has an invalid descriptor " + dev_notice(ddev, "config %d has an invalid descriptor " "of length %d, skipping remainder of the config\n", cfgno, header->bLength); break; @@ -670,7 +670,7 @@ d = (struct usb_interface_descriptor *) header; if (d->bLength < USB_DT_INTERFACE_SIZE) { - dev_warn(ddev, "config %d has an invalid " + dev_notice(ddev, "config %d has an invalid " "interface descriptor of length %d, " "skipping\n", cfgno, d->bLength); continue; @@ -680,7 +680,7 @@ if ((dev->quirks & USB_QUIRK_HONOR_BNUMINTERFACES) && n >= nintf_orig) { - dev_warn(ddev, "config %d has more interface " + dev_notice(ddev, "config %d has more interface " "descriptors, than it declares in " "bNumInterfaces, ignoring interface " "number: %d\n", cfgno, inum); @@ -688,7 +688,7 @@ } if (inum >= nintf_orig) - dev_warn(ddev, "config %d has an invalid " + dev_notice(ddev, "config %d has an invalid " "interface number: %d but max is %d\n", cfgno, inum, nintf_orig - 1); @@ -713,14 +713,14 @@ d = (struct usb_interface_assoc_descriptor *)header; if (d->bLength < USB_DT_INTERFACE_ASSOCIATION_SIZE) { - dev_warn(ddev, + dev_notice(ddev, "config %d has an invalid interface association descriptor of length %d, skipping\n", cfgno, d->bLength); continue; } if (iad_num == USB_MAXIADS) { - dev_warn(ddev, "found more Interface " + dev_notice(ddev, "found more Interface " "Association Descriptors " "than allocated for in " "configuration %d\n", cfgno); @@ -731,7 +731,7 @@ } else if (header->bDescriptorType == USB_DT_DEVICE || header->bDescriptorType == USB_DT_CONFIG) - dev_warn(ddev, "config %d contains an unexpected " + dev_notice(ddev, "config %d contains an unexpected " "descriptor of type 0x%X, skipping\n", cfgno, header->bDescriptorType); @@ -740,11 +740,11 @@ config->desc.wTotalLength = cpu_to_le16(buffer2 - buffer0); if (n != nintf) - dev_warn(ddev, "config %d has %d interface%s, different from " + dev_notice(ddev, "config %d has %d interface%s, different from " "the descriptor's value: %d\n", cfgno, n, plural(n), nintf_orig); else if (n == 0) - dev_warn(ddev, "config %d has no interfaces?\n", cfgno); + dev_notice(ddev, "config %d has no interfaces?\n", cfgno); config->desc.bNumInterfaces = nintf = n; /* Check for missing interface numbers */ @@ -754,7 +754,7 @@ break; } if (j >= nintf) - dev_warn(ddev, "config %d has no interface number " + dev_notice(ddev, "config %d has no interface number " "%d\n", cfgno, i); } @@ -762,7 +762,7 @@ for (i = 0; i < nintf; ++i) { j = nalts[i]; if (j > USB_MAXALTSETTING) { - dev_warn(ddev, "too many alternate settings for " + dev_notice(ddev, "too many alternate settings for " "config %d interface %d: %d, " "using maximum allowed: %d\n", cfgno, inums[i], j, USB_MAXALTSETTING); @@ -811,7 +811,7 @@ break; } if (n >= intfc->num_altsetting) - dev_warn(ddev, "config %d interface %d has no " + dev_notice(ddev, "config %d interface %d has no " "altsetting %d\n", cfgno, inums[i], j); } } @@ -868,7 +868,7 @@ int result; if (ncfg > USB_MAXCONFIG) { - dev_warn(ddev, "too many configurations: %d, " + dev_notice(ddev, "too many configurations: %d, " "using maximum allowed: %d\n", ncfg, USB_MAXCONFIG); dev->descriptor.bNumConfigurations = ncfg = USB_MAXCONFIG; } @@ -902,7 +902,7 @@ "descriptor/%s: %d\n", cfgno, "start", result); if (result != -EPIPE) goto err; - dev_err(ddev, "chopping to %d config(s)\n", cfgno); + dev_notice(ddev, "chopping to %d config(s)\n", cfgno); dev->descriptor.bNumConfigurations = cfgno; break; } else if (result < 4) { @@ -934,7 +934,7 @@ goto err; } if (result < length) { - dev_warn(ddev, "config index %d descriptor too short " + dev_notice(ddev, "config index %d descriptor too short " "(expected %i, got %i)\n", cfgno, length, result); length = result; } @@ -993,7 +993,7 @@ /* Get BOS descriptor */ ret = usb_get_descriptor(dev, USB_DT_BOS, 0, bos, USB_DT_BOS_SIZE); if (ret < USB_DT_BOS_SIZE || bos->bLength < USB_DT_BOS_SIZE) { - dev_err(ddev, "unable to get BOS descriptor or descriptor too short\n"); + dev_notice(ddev, "unable to get BOS descriptor or descriptor too short\n"); if (ret >= 0) ret = -ENOMSG; kfree(bos); @@ -1021,7 +1021,7 @@ ret = usb_get_descriptor(dev, USB_DT_BOS, 0, buffer, total_len); if (ret < total_len) { - dev_err(ddev, "unable to get BOS descriptor set\n"); + dev_notice(ddev, "unable to get BOS descriptor set\n"); if (ret >= 0) ret = -ENOMSG; goto err; @@ -1046,8 +1046,8 @@ } if (cap->bDescriptorType != USB_DT_DEVICE_CAPABILITY) { - dev_warn(ddev, "descriptor type invalid, skip\n"); - continue; + dev_notice(ddev, "descriptor type invalid, skip\n"); + goto skip_to_next_descriptor; } switch (cap_type) { @@ -1080,6 +1080,7 @@ break; } +skip_to_next_descriptor: total_len -= length; buffer += length; } diff -Nru linux-5.10.197/drivers/usb/core/hcd.c linux-5.10.205/drivers/usb/core/hcd.c --- linux-5.10.197/drivers/usb/core/hcd.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/core/hcd.c 2023-12-20 14:44:42.000000000 +0000 @@ -2745,6 +2745,7 @@ rhdev->rx_lanes = 1; rhdev->tx_lanes = 1; + rhdev->ssp_rate = USB_SSP_GEN_UNKNOWN; switch (hcd->speed) { case HCD_USB11: @@ -2762,8 +2763,11 @@ case HCD_USB32: rhdev->rx_lanes = 2; rhdev->tx_lanes = 2; - fallthrough; + rhdev->ssp_rate = USB_SSP_GEN_2x2; + rhdev->speed = USB_SPEED_SUPER_PLUS; + break; case HCD_USB31: + rhdev->ssp_rate = USB_SSP_GEN_2x1; rhdev->speed = USB_SPEED_SUPER_PLUS; break; default: diff -Nru linux-5.10.197/drivers/usb/core/hub.c linux-5.10.205/drivers/usb/core/hub.c --- linux-5.10.197/drivers/usb/core/hub.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/core/hub.c 2023-12-20 14:44:42.000000000 +0000 @@ -31,6 +31,7 @@ #include #include +#include #include #include @@ -149,6 +150,10 @@ if (udev->quirks & USB_QUIRK_NO_LPM) return 0; + /* Skip if the device BOS descriptor couldn't be read */ + if (!udev->bos) + return 0; + /* USB 2.1 (and greater) devices indicate LPM support through * their USB 2.0 Extended Capabilities BOS descriptor. */ @@ -325,6 +330,10 @@ if (!udev->lpm_capable || udev->speed < USB_SPEED_SUPER) return; + /* Skip if the device BOS descriptor couldn't be read */ + if (!udev->bos) + return; + hub = usb_hub_to_struct_hub(udev->parent); /* It doesn't take time to transition the roothub into U0, since it * doesn't have an upstream link. @@ -2441,6 +2450,8 @@ u16 wHubCharacteristics; bool removable = true; + dev_set_removable(&udev->dev, DEVICE_REMOVABLE_UNKNOWN); + if (!hdev) return; @@ -2452,11 +2463,11 @@ */ switch (hub->ports[udev->portnum - 1]->connect_type) { case USB_PORT_CONNECT_TYPE_HOT_PLUG: - udev->removable = USB_DEVICE_REMOVABLE; + dev_set_removable(&udev->dev, DEVICE_REMOVABLE); return; case USB_PORT_CONNECT_TYPE_HARD_WIRED: case USB_PORT_NOT_USED: - udev->removable = USB_DEVICE_FIXED; + dev_set_removable(&udev->dev, DEVICE_FIXED); return; default: break; @@ -2481,9 +2492,9 @@ } if (removable) - udev->removable = USB_DEVICE_REMOVABLE; + dev_set_removable(&udev->dev, DEVICE_REMOVABLE); else - udev->removable = USB_DEVICE_FIXED; + dev_set_removable(&udev->dev, DEVICE_FIXED); } @@ -2555,8 +2566,7 @@ device_enable_async_suspend(&udev->dev); /* check whether the hub or firmware marks this port as non-removable */ - if (udev->parent) - set_usb_port_removable(udev); + set_usb_port_removable(udev); /* Register the device. The device driver is responsible * for configuring the device and invoking the add-device @@ -2683,8 +2693,84 @@ return result; } +/** + * get_port_ssp_rate - Match the extended port status to SSP rate + * @hdev: The hub device + * @ext_portstatus: extended port status + * + * Match the extended port status speed id to the SuperSpeed Plus sublink speed + * capability attributes. Base on the number of connected lanes and speed, + * return the corresponding enum usb_ssp_rate. + */ +static enum usb_ssp_rate get_port_ssp_rate(struct usb_device *hdev, + u32 ext_portstatus) +{ + struct usb_ssp_cap_descriptor *ssp_cap = hdev->bos->ssp_cap; + u32 attr; + u8 speed_id; + u8 ssac; + u8 lanes; + int i; + + if (!ssp_cap) + goto out; + + speed_id = ext_portstatus & USB_EXT_PORT_STAT_RX_SPEED_ID; + lanes = USB_EXT_PORT_RX_LANES(ext_portstatus) + 1; + + ssac = le32_to_cpu(ssp_cap->bmAttributes) & + USB_SSP_SUBLINK_SPEED_ATTRIBS; + + for (i = 0; i <= ssac; i++) { + u8 ssid; + + attr = le32_to_cpu(ssp_cap->bmSublinkSpeedAttr[i]); + ssid = FIELD_GET(USB_SSP_SUBLINK_SPEED_SSID, attr); + if (speed_id == ssid) { + u16 mantissa; + u8 lse; + u8 type; + + /* + * Note: currently asymmetric lane types are only + * applicable for SSIC operate in SuperSpeed protocol + */ + type = FIELD_GET(USB_SSP_SUBLINK_SPEED_ST, attr); + if (type == USB_SSP_SUBLINK_SPEED_ST_ASYM_RX || + type == USB_SSP_SUBLINK_SPEED_ST_ASYM_TX) + goto out; + + if (FIELD_GET(USB_SSP_SUBLINK_SPEED_LP, attr) != + USB_SSP_SUBLINK_SPEED_LP_SSP) + goto out; + + lse = FIELD_GET(USB_SSP_SUBLINK_SPEED_LSE, attr); + mantissa = FIELD_GET(USB_SSP_SUBLINK_SPEED_LSM, attr); + + /* Convert to Gbps */ + for (; lse < USB_SSP_SUBLINK_SPEED_LSE_GBPS; lse++) + mantissa /= 1000; + + if (mantissa >= 10 && lanes == 1) + return USB_SSP_GEN_2x1; + + if (mantissa >= 10 && lanes == 2) + return USB_SSP_GEN_2x2; + + if (mantissa >= 5 && lanes == 2) + return USB_SSP_GEN_1x2; + + goto out; + } + } + +out: + return USB_SSP_GEN_UNKNOWN; +} + /* - * Return 1 if port speed is SuperSpeedPlus, 0 otherwise + * Return 1 if port speed is SuperSpeedPlus, 0 otherwise or if the + * capability couldn't be checked. * check it from the link protocol field of the current speed ID attribute. * current speed ID is got from ext port status request. Sublink speed attribute * table is returned with the hub BOS SSP device capability descriptor @@ -2694,8 +2780,12 @@ int ssa_count; u32 ss_attr; int i; - struct usb_ssp_cap_descriptor *ssp_cap = hdev->bos->ssp_cap; + struct usb_ssp_cap_descriptor *ssp_cap; + if (!hdev->bos) + return 0; + + ssp_cap = hdev->bos->ssp_cap; if (!ssp_cap) return 0; @@ -2865,9 +2955,11 @@ /* extended portstatus Rx and Tx lane count are zero based */ udev->rx_lanes = USB_EXT_PORT_RX_LANES(ext_portstatus) + 1; udev->tx_lanes = USB_EXT_PORT_TX_LANES(ext_portstatus) + 1; + udev->ssp_rate = get_port_ssp_rate(hub->hdev, ext_portstatus); } else { udev->rx_lanes = 1; udev->tx_lanes = 1; + udev->ssp_rate = USB_SSP_GEN_UNKNOWN; } if (hub_is_wusb(hub)) udev->speed = USB_SPEED_WIRELESS; @@ -4114,8 +4206,15 @@ enum usb3_link_state state) { int timeout, ret; - __u8 u1_mel = udev->bos->ss_cap->bU1devExitLat; - __le16 u2_mel = udev->bos->ss_cap->bU2DevExitLat; + __u8 u1_mel; + __le16 u2_mel; + + /* Skip if the device BOS descriptor couldn't be read */ + if (!udev->bos) + return; + + u1_mel = udev->bos->ss_cap->bU1devExitLat; + u2_mel = udev->bos->ss_cap->bU2DevExitLat; /* If the device says it doesn't have *any* exit latency to come out of * U1 or U2, it's probably lying. Assume it doesn't implement that link diff -Nru linux-5.10.197/drivers/usb/core/hub.h linux-5.10.205/drivers/usb/core/hub.h --- linux-5.10.197/drivers/usb/core/hub.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/core/hub.h 2023-12-20 14:44:42.000000000 +0000 @@ -141,7 +141,7 @@ { return (hdev->descriptor.bDeviceProtocol == USB_HUB_PR_SS && le16_to_cpu(hdev->descriptor.bcdUSB) >= 0x0310 && - hdev->bos->ssp_cap); + hdev->bos && hdev->bos->ssp_cap); } static inline unsigned hub_power_on_good_delay(struct usb_hub *hub) diff -Nru linux-5.10.197/drivers/usb/core/sysfs.c linux-5.10.205/drivers/usb/core/sysfs.c --- linux-5.10.197/drivers/usb/core/sysfs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/core/sysfs.c 2023-12-20 14:44:42.000000000 +0000 @@ -298,29 +298,6 @@ } static DEVICE_ATTR_RO(urbnum); -static ssize_t removable_show(struct device *dev, struct device_attribute *attr, - char *buf) -{ - struct usb_device *udev; - char *state; - - udev = to_usb_device(dev); - - switch (udev->removable) { - case USB_DEVICE_REMOVABLE: - state = "removable"; - break; - case USB_DEVICE_FIXED: - state = "fixed"; - break; - default: - state = "unknown"; - } - - return sprintf(buf, "%s\n", state); -} -static DEVICE_ATTR_RO(removable); - static ssize_t ltm_capable_show(struct device *dev, struct device_attribute *attr, char *buf) { @@ -825,7 +802,6 @@ &dev_attr_avoid_reset_quirk.attr, &dev_attr_authorized.attr, &dev_attr_remove.attr, - &dev_attr_removable.attr, &dev_attr_ltm_capable.attr, #ifdef CONFIG_OF &dev_attr_devspec.attr, diff -Nru linux-5.10.197/drivers/usb/dwc2/hcd.c linux-5.10.205/drivers/usb/dwc2/hcd.c --- linux-5.10.197/drivers/usb/dwc2/hcd.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/dwc2/hcd.c 2023-12-20 14:44:42.000000000 +0000 @@ -4684,8 +4684,8 @@ if (qh_allocated && qh->channel && qh->channel->qh == qh) qh->channel->qh = NULL; fail2: - spin_unlock_irqrestore(&hsotg->lock, flags); urb->hcpriv = NULL; + spin_unlock_irqrestore(&hsotg->lock, flags); kfree(qtd); fail1: if (qh_allocated) { diff -Nru linux-5.10.197/drivers/usb/dwc2/hcd_intr.c linux-5.10.205/drivers/usb/dwc2/hcd_intr.c --- linux-5.10.197/drivers/usb/dwc2/hcd_intr.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/dwc2/hcd_intr.c 2023-12-20 14:44:42.000000000 +0000 @@ -2045,15 +2045,17 @@ { struct dwc2_qtd *qtd; struct dwc2_host_chan *chan; - u32 hcint, hcintmsk; + u32 hcint, hcintraw, hcintmsk; chan = hsotg->hc_ptr_array[chnum]; - hcint = dwc2_readl(hsotg, HCINT(chnum)); + hcintraw = dwc2_readl(hsotg, HCINT(chnum)); hcintmsk = dwc2_readl(hsotg, HCINTMSK(chnum)); + hcint = hcintraw & hcintmsk; + dwc2_writel(hsotg, hcint, HCINT(chnum)); + if (!chan) { dev_err(hsotg->dev, "## hc_ptr_array for channel is NULL ##\n"); - dwc2_writel(hsotg, hcint, HCINT(chnum)); return; } @@ -2062,11 +2064,9 @@ chnum); dev_vdbg(hsotg->dev, " hcint 0x%08x, hcintmsk 0x%08x, hcint&hcintmsk 0x%08x\n", - hcint, hcintmsk, hcint & hcintmsk); + hcintraw, hcintmsk, hcint); } - dwc2_writel(hsotg, hcint, HCINT(chnum)); - /* * If we got an interrupt after someone called * dwc2_hcd_endpoint_disable() we don't want to crash below @@ -2076,8 +2076,7 @@ return; } - chan->hcint = hcint; - hcint &= hcintmsk; + chan->hcint = hcintraw; /* * If the channel was halted due to a dequeue, the qtd list might diff -Nru linux-5.10.197/drivers/usb/dwc3/core.c linux-5.10.205/drivers/usb/dwc3/core.c --- linux-5.10.197/drivers/usb/dwc3/core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/dwc3/core.c 2023-12-20 14:44:42.000000000 +0000 @@ -277,9 +277,46 @@ * XHCI driver will reset the host block. If dwc3 was configured for * host-only mode or current role is host, then we can return early. */ - if (dwc->dr_mode == USB_DR_MODE_HOST || dwc->current_dr_role == DWC3_GCTL_PRTCAP_HOST) + if (dwc->current_dr_role == DWC3_GCTL_PRTCAP_HOST) return 0; + /* + * If the dr_mode is host and the dwc->current_dr_role is not the + * corresponding DWC3_GCTL_PRTCAP_HOST, then the dwc3_core_init_mode + * isn't executed yet. Ensure the phy is ready before the controller + * updates the GCTL.PRTCAPDIR or other settings by soft-resetting + * the phy. + * + * Note: GUSB3PIPECTL[n] and GUSB2PHYCFG[n] are port settings where n + * is port index. If this is a multiport host, then we need to reset + * all active ports. + */ + if (dwc->dr_mode == USB_DR_MODE_HOST) { + u32 usb3_port; + u32 usb2_port; + + usb3_port = dwc3_readl(dwc->regs, DWC3_GUSB3PIPECTL(0)); + usb3_port |= DWC3_GUSB3PIPECTL_PHYSOFTRST; + dwc3_writel(dwc->regs, DWC3_GUSB3PIPECTL(0), usb3_port); + + usb2_port = dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0)); + usb2_port |= DWC3_GUSB2PHYCFG_PHYSOFTRST; + dwc3_writel(dwc->regs, DWC3_GUSB2PHYCFG(0), usb2_port); + + /* Small delay for phy reset assertion */ + usleep_range(1000, 2000); + + usb3_port &= ~DWC3_GUSB3PIPECTL_PHYSOFTRST; + dwc3_writel(dwc->regs, DWC3_GUSB3PIPECTL(0), usb3_port); + + usb2_port &= ~DWC3_GUSB2PHYCFG_PHYSOFTRST; + dwc3_writel(dwc->regs, DWC3_GUSB2PHYCFG(0), usb2_port); + + /* Wait for clock synchronization */ + msleep(50); + return 0; + } + reg = dwc3_readl(dwc->regs, DWC3_DCTL); reg |= DWC3_DCTL_CSFTRST; reg &= ~DWC3_DCTL_RUN_STOP; @@ -1590,6 +1627,8 @@ pm_runtime_put(dev); + dma_set_max_seg_size(dev, UINT_MAX); + return 0; err5: diff -Nru linux-5.10.197/drivers/usb/dwc3/drd.c linux-5.10.205/drivers/usb/dwc3/drd.c --- linux-5.10.197/drivers/usb/dwc3/drd.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/dwc3/drd.c 2023-12-20 14:44:42.000000000 +0000 @@ -547,6 +547,7 @@ dwc->role_switch_default_mode = USB_DR_MODE_PERIPHERAL; mode = DWC3_GCTL_PRTCAP_DEVICE; } + dwc3_set_mode(dwc, mode); dwc3_role_switch.fwnode = dev_fwnode(dwc->dev); dwc3_role_switch.set = dwc3_usb_role_switch_set; @@ -556,7 +557,6 @@ if (IS_ERR(dwc->role_sw)) return PTR_ERR(dwc->role_sw); - dwc3_set_mode(dwc, mode); return 0; } #else diff -Nru linux-5.10.197/drivers/usb/dwc3/dwc3-qcom.c linux-5.10.205/drivers/usb/dwc3/dwc3-qcom.c --- linux-5.10.197/drivers/usb/dwc3/dwc3-qcom.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/dwc3/dwc3-qcom.c 2023-12-20 14:44:42.000000000 +0000 @@ -492,7 +492,7 @@ irq_set_status_flags(irq, IRQ_NOAUTOEN); ret = devm_request_threaded_irq(qcom->dev, irq, NULL, qcom_dwc3_resume_irq, - IRQF_TRIGGER_HIGH | IRQF_ONESHOT, + IRQF_ONESHOT, "qcom_dwc3 HS", qcom); if (ret) { dev_err(qcom->dev, "hs_phy_irq failed: %d\n", ret); @@ -507,7 +507,7 @@ irq_set_status_flags(irq, IRQ_NOAUTOEN); ret = devm_request_threaded_irq(qcom->dev, irq, NULL, qcom_dwc3_resume_irq, - IRQF_TRIGGER_HIGH | IRQF_ONESHOT, + IRQF_ONESHOT, "qcom_dwc3 DP_HS", qcom); if (ret) { dev_err(qcom->dev, "dp_hs_phy_irq failed: %d\n", ret); @@ -522,7 +522,7 @@ irq_set_status_flags(irq, IRQ_NOAUTOEN); ret = devm_request_threaded_irq(qcom->dev, irq, NULL, qcom_dwc3_resume_irq, - IRQF_TRIGGER_HIGH | IRQF_ONESHOT, + IRQF_ONESHOT, "qcom_dwc3 DM_HS", qcom); if (ret) { dev_err(qcom->dev, "dm_hs_phy_irq failed: %d\n", ret); @@ -537,7 +537,7 @@ irq_set_status_flags(irq, IRQ_NOAUTOEN); ret = devm_request_threaded_irq(qcom->dev, irq, NULL, qcom_dwc3_resume_irq, - IRQF_TRIGGER_HIGH | IRQF_ONESHOT, + IRQF_ONESHOT, "qcom_dwc3 SS", qcom); if (ret) { dev_err(qcom->dev, "ss_phy_irq failed: %d\n", ret); @@ -690,6 +690,7 @@ if (!qcom->dwc3) { ret = -ENODEV; dev_err(dev, "failed to get dwc3 platform device\n"); + of_platform_depopulate(dev); } node_put: @@ -698,9 +699,9 @@ return ret; } -static struct platform_device * -dwc3_qcom_create_urs_usb_platdev(struct device *dev) +static struct platform_device *dwc3_qcom_create_urs_usb_platdev(struct device *dev) { + struct platform_device *urs_usb = NULL; struct fwnode_handle *fwh; struct acpi_device *adev; char name[8]; @@ -720,9 +721,26 @@ adev = to_acpi_device_node(fwh); if (!adev) - return NULL; + goto err_put_handle; + + urs_usb = acpi_create_platform_device(adev, NULL); + if (IS_ERR_OR_NULL(urs_usb)) + goto err_put_handle; + + return urs_usb; + +err_put_handle: + fwnode_handle_put(fwh); + + return urs_usb; +} + +static void dwc3_qcom_destroy_urs_usb_platdev(struct platform_device *urs_usb) +{ + struct fwnode_handle *fwh = urs_usb->dev.fwnode; - return acpi_create_platform_device(adev, NULL); + platform_device_unregister(urs_usb); + fwnode_handle_put(fwh); } static int dwc3_qcom_probe(struct platform_device *pdev) @@ -807,13 +825,13 @@ if (IS_ERR(qcom->qscratch_base)) { dev_err(dev, "failed to map qscratch, err=%d\n", ret); ret = PTR_ERR(qcom->qscratch_base); - goto clk_disable; + goto free_urs; } ret = dwc3_qcom_setup_irq(pdev); if (ret) { dev_err(dev, "failed to setup IRQs, err=%d\n", ret); - goto clk_disable; + goto free_urs; } /* @@ -832,7 +850,7 @@ if (ret) { dev_err(dev, "failed to register DWC3 Core, err=%d\n", ret); - goto depopulate; + goto free_urs; } ret = dwc3_qcom_interconnect_init(qcom); @@ -864,7 +882,11 @@ if (np) of_platform_depopulate(&pdev->dev); else - platform_device_put(pdev); + platform_device_del(qcom->dwc3); + platform_device_put(qcom->dwc3); +free_urs: + if (qcom->urs_usb) + dwc3_qcom_destroy_urs_usb_platdev(qcom->urs_usb); clk_disable: for (i = qcom->num_clocks - 1; i >= 0; i--) { clk_disable_unprepare(qcom->clks[i]); @@ -886,7 +908,11 @@ if (np) of_platform_depopulate(&pdev->dev); else - platform_device_put(pdev); + platform_device_del(qcom->dwc3); + platform_device_put(qcom->dwc3); + + if (qcom->urs_usb) + dwc3_qcom_destroy_urs_usb_platdev(qcom->urs_usb); for (i = qcom->num_clocks - 1; i >= 0; i--) { clk_disable_unprepare(qcom->clks[i]); diff -Nru linux-5.10.197/drivers/usb/gadget/function/f_hid.c linux-5.10.205/drivers/usb/gadget/function/f_hid.c --- linux-5.10.197/drivers/usb/gadget/function/f_hid.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/gadget/function/f_hid.c 2023-12-20 14:44:42.000000000 +0000 @@ -88,6 +88,7 @@ { struct f_hidg *hidg = container_of(dev, struct f_hidg, dev); + kfree(hidg->report_desc); kfree(hidg->set_report_buf); kfree(hidg); } @@ -1287,9 +1288,9 @@ hidg->report_length = opts->report_length; hidg->report_desc_length = opts->report_desc_length; if (opts->report_desc) { - hidg->report_desc = devm_kmemdup(&hidg->dev, opts->report_desc, - opts->report_desc_length, - GFP_KERNEL); + hidg->report_desc = kmemdup(opts->report_desc, + opts->report_desc_length, + GFP_KERNEL); if (!hidg->report_desc) { put_device(&hidg->dev); --opts->refcnt; diff -Nru linux-5.10.197/drivers/usb/gadget/function/f_ncm.c linux-5.10.205/drivers/usb/gadget/function/f_ncm.c --- linux-5.10.197/drivers/usb/gadget/function/f_ncm.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/gadget/function/f_ncm.c 2023-12-20 14:44:42.000000000 +0000 @@ -1180,7 +1180,8 @@ struct sk_buff_head *list) { struct f_ncm *ncm = func_to_ncm(&port->func); - __le16 *tmp = (void *) skb->data; + unsigned char *ntb_ptr = skb->data; + __le16 *tmp; unsigned index, index2; int ndp_index; unsigned dg_len, dg_len2; @@ -1193,6 +1194,10 @@ const struct ndp_parser_opts *opts = ncm->parser_opts; unsigned crc_len = ncm->is_crc ? sizeof(uint32_t) : 0; int dgram_counter; + int to_process = skb->len; + +parse_ntb: + tmp = (__le16 *)ntb_ptr; /* dwSignature */ if (get_unaligned_le32(tmp) != opts->nth_sign) { @@ -1239,7 +1244,7 @@ * walk through NDP * dwSignature */ - tmp = (void *)(skb->data + ndp_index); + tmp = (__le16 *)(ntb_ptr + ndp_index); if (get_unaligned_le32(tmp) != ncm->ndp_sign) { INFO(port->func.config->cdev, "Wrong NDP SIGN\n"); goto err; @@ -1296,11 +1301,11 @@ if (ncm->is_crc) { uint32_t crc, crc2; - crc = get_unaligned_le32(skb->data + + crc = get_unaligned_le32(ntb_ptr + index + dg_len - crc_len); crc2 = ~crc32_le(~0, - skb->data + index, + ntb_ptr + index, dg_len - crc_len); if (crc != crc2) { INFO(port->func.config->cdev, @@ -1327,7 +1332,7 @@ dg_len - crc_len); if (skb2 == NULL) goto err; - skb_put_data(skb2, skb->data + index, + skb_put_data(skb2, ntb_ptr + index, dg_len - crc_len); skb_queue_tail(list, skb2); @@ -1340,10 +1345,17 @@ } while (ndp_len > 2 * (opts->dgram_item_len * 2)); } while (ndp_index); - dev_consume_skb_any(skb); - VDBG(port->func.config->cdev, "Parsed NTB with %d frames\n", dgram_counter); + + to_process -= block_len; + if (to_process != 0) { + ntb_ptr = (unsigned char *)(ntb_ptr + block_len); + goto parse_ntb; + } + + dev_consume_skb_any(skb); + return 0; err: skb_queue_purge(list); @@ -1423,7 +1435,7 @@ struct usb_composite_dev *cdev = c->cdev; struct f_ncm *ncm = func_to_ncm(f); struct usb_string *us; - int status; + int status = 0; struct usb_ep *ep; struct f_ncm_opts *ncm_opts; @@ -1441,22 +1453,17 @@ f->os_desc_table[0].os_desc = &ncm_opts->ncm_os_desc; } - /* - * in drivers/usb/gadget/configfs.c:configfs_composite_bind() - * configurations are bound in sequence with list_for_each_entry, - * in each configuration its functions are bound in sequence - * with list_for_each_entry, so we assume no race condition - * with regard to ncm_opts->bound access - */ - if (!ncm_opts->bound) { - mutex_lock(&ncm_opts->lock); - gether_set_gadget(ncm_opts->net, cdev->gadget); + mutex_lock(&ncm_opts->lock); + gether_set_gadget(ncm_opts->net, cdev->gadget); + if (!ncm_opts->bound) status = gether_register_netdev(ncm_opts->net); - mutex_unlock(&ncm_opts->lock); - if (status) - goto fail; - ncm_opts->bound = true; - } + mutex_unlock(&ncm_opts->lock); + + if (status) + goto fail; + + ncm_opts->bound = true; + us = usb_gstrings_attach(cdev, ncm_strings, ARRAY_SIZE(ncm_string_defs)); if (IS_ERR(us)) { diff -Nru linux-5.10.197/drivers/usb/gadget/legacy/raw_gadget.c linux-5.10.205/drivers/usb/gadget/legacy/raw_gadget.c --- linux-5.10.197/drivers/usb/gadget/legacy/raw_gadget.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/gadget/legacy/raw_gadget.c 2023-12-20 14:44:42.000000000 +0000 @@ -662,12 +662,12 @@ if (WARN_ON(in && dev->ep0_out_pending)) { ret = -ENODEV; dev->state = STATE_DEV_FAILED; - goto out_done; + goto out_unlock; } if (WARN_ON(!in && dev->ep0_in_pending)) { ret = -ENODEV; dev->state = STATE_DEV_FAILED; - goto out_done; + goto out_unlock; } dev->req->buf = data; @@ -682,7 +682,7 @@ "fail, usb_ep_queue returned %d\n", ret); spin_lock_irqsave(&dev->lock, flags); dev->state = STATE_DEV_FAILED; - goto out_done; + goto out_queue_failed; } ret = wait_for_completion_interruptible(&dev->ep0_done); @@ -691,13 +691,16 @@ usb_ep_dequeue(dev->gadget->ep0, dev->req); wait_for_completion(&dev->ep0_done); spin_lock_irqsave(&dev->lock, flags); - goto out_done; + if (dev->ep0_status == -ECONNRESET) + dev->ep0_status = -EINTR; + goto out_interrupted; } spin_lock_irqsave(&dev->lock, flags); - ret = dev->ep0_status; -out_done: +out_interrupted: + ret = dev->ep0_status; +out_queue_failed: dev->ep0_urb_queued = false; out_unlock: spin_unlock_irqrestore(&dev->lock, flags); @@ -1059,7 +1062,7 @@ "fail, usb_ep_queue returned %d\n", ret); spin_lock_irqsave(&dev->lock, flags); dev->state = STATE_DEV_FAILED; - goto out_done; + goto out_queue_failed; } ret = wait_for_completion_interruptible(&done); @@ -1068,13 +1071,16 @@ usb_ep_dequeue(ep->ep, ep->req); wait_for_completion(&done); spin_lock_irqsave(&dev->lock, flags); - goto out_done; + if (ep->status == -ECONNRESET) + ep->status = -EINTR; + goto out_interrupted; } spin_lock_irqsave(&dev->lock, flags); - ret = ep->status; -out_done: +out_interrupted: + ret = ep->status; +out_queue_failed: ep->urb_queued = false; out_unlock: spin_unlock_irqrestore(&dev->lock, flags); diff -Nru linux-5.10.197/drivers/usb/gadget/udc/core.c linux-5.10.205/drivers/usb/gadget/udc/core.c --- linux-5.10.197/drivers/usb/gadget/udc/core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/gadget/udc/core.c 2023-12-20 14:44:42.000000000 +0000 @@ -1353,8 +1353,6 @@ dev_dbg(&udc->dev, "unregistering UDC driver [%s]\n", udc->driver->function); - kobject_uevent(&udc->dev.kobj, KOBJ_CHANGE); - usb_gadget_disconnect(udc->gadget); if (udc->gadget->irq) synchronize_irq(udc->gadget->irq); @@ -1363,6 +1361,8 @@ udc->driver = NULL; udc->gadget->dev.driver = NULL; + + kobject_uevent(&udc->dev.kobj, KOBJ_CHANGE); } /** diff -Nru linux-5.10.197/drivers/usb/gadget/udc/udc-xilinx.c linux-5.10.205/drivers/usb/gadget/udc/udc-xilinx.c --- linux-5.10.197/drivers/usb/gadget/udc/udc-xilinx.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/gadget/udc/udc-xilinx.c 2023-12-20 14:44:42.000000000 +0000 @@ -496,11 +496,13 @@ /* Get the Buffer address and copy the transmit data.*/ eprambase = (u32 __force *)(udc->addr + ep->rambase); if (ep->is_in) { - memcpy(eprambase, bufferptr, bytestosend); + memcpy_toio((void __iomem *)eprambase, bufferptr, + bytestosend); udc->write_fn(udc->addr, ep->offset + XUSB_EP_BUF0COUNT_OFFSET, bufferlen); } else { - memcpy(bufferptr, eprambase, bytestosend); + memcpy_toio((void __iomem *)bufferptr, eprambase, + bytestosend); } /* * Enable the buffer for transmission. @@ -514,11 +516,13 @@ eprambase = (u32 __force *)(udc->addr + ep->rambase + ep->ep_usb.maxpacket); if (ep->is_in) { - memcpy(eprambase, bufferptr, bytestosend); + memcpy_toio((void __iomem *)eprambase, bufferptr, + bytestosend); udc->write_fn(udc->addr, ep->offset + XUSB_EP_BUF1COUNT_OFFSET, bufferlen); } else { - memcpy(bufferptr, eprambase, bytestosend); + memcpy_toio((void __iomem *)bufferptr, eprambase, + bytestosend); } /* * Enable the buffer for transmission. @@ -1020,7 +1024,7 @@ udc->addr); length = req->usb_req.actual = min_t(u32, length, EP0_MAX_PACKET); - memcpy(corebuf, req->usb_req.buf, length); + memcpy_toio((void __iomem *)corebuf, req->usb_req.buf, length); udc->write_fn(udc->addr, XUSB_EP_BUF0COUNT_OFFSET, length); udc->write_fn(udc->addr, XUSB_BUFFREADY_OFFSET, 1); } else { @@ -1746,7 +1750,7 @@ /* Load up the chapter 9 command buffer.*/ ep0rambase = (u32 __force *) (udc->addr + XUSB_SETUP_PKT_ADDR_OFFSET); - memcpy(&setup, ep0rambase, 8); + memcpy_toio((void __iomem *)&setup, ep0rambase, 8); udc->setup = setup; udc->setup.wValue = cpu_to_le16(setup.wValue); @@ -1833,7 +1837,7 @@ (ep0->rambase << 2)); buffer = req->usb_req.buf + req->usb_req.actual; req->usb_req.actual = req->usb_req.actual + bytes_to_rx; - memcpy(buffer, ep0rambase, bytes_to_rx); + memcpy_toio((void __iomem *)buffer, ep0rambase, bytes_to_rx); if (req->usb_req.length == req->usb_req.actual) { /* Data transfer completed get ready for Status stage */ @@ -1909,7 +1913,7 @@ (ep0->rambase << 2)); buffer = req->usb_req.buf + req->usb_req.actual; req->usb_req.actual = req->usb_req.actual + length; - memcpy(ep0rambase, buffer, length); + memcpy_toio((void __iomem *)ep0rambase, buffer, length); } udc->write_fn(udc->addr, XUSB_EP_BUF0COUNT_OFFSET, count); udc->write_fn(udc->addr, XUSB_BUFFREADY_OFFSET, 1); diff -Nru linux-5.10.197/drivers/usb/host/xhci-hub.c linux-5.10.205/drivers/usb/host/xhci-hub.c --- linux-5.10.197/drivers/usb/host/xhci-hub.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/host/xhci-hub.c 2023-12-20 14:44:42.000000000 +0000 @@ -819,7 +819,7 @@ } static int xhci_handle_usb2_port_link_resume(struct xhci_port *port, - u32 *status, u32 portsc, + u32 portsc, unsigned long *flags) { struct xhci_bus_state *bus_state; @@ -834,11 +834,10 @@ wIndex = port->hcd_portnum; if ((portsc & PORT_RESET) || !(portsc & PORT_PE)) { - *status = 0xffffffff; return -EINVAL; } /* did port event handler already start resume timing? */ - if (!bus_state->resume_done[wIndex]) { + if (!port->resume_timestamp) { /* If not, maybe we are in a host initated resume? */ if (test_bit(wIndex, &bus_state->resuming_ports)) { /* Host initated resume doesn't time the resume @@ -855,28 +854,29 @@ msecs_to_jiffies(USB_RESUME_TIMEOUT); set_bit(wIndex, &bus_state->resuming_ports); - bus_state->resume_done[wIndex] = timeout; + port->resume_timestamp = timeout; mod_timer(&hcd->rh_timer, timeout); usb_hcd_start_port_resume(&hcd->self, wIndex); } /* Has resume been signalled for USB_RESUME_TIME yet? */ - } else if (time_after_eq(jiffies, bus_state->resume_done[wIndex])) { + } else if (time_after_eq(jiffies, port->resume_timestamp)) { int time_left; xhci_dbg(xhci, "resume USB2 port %d-%d\n", hcd->self.busnum, wIndex + 1); - bus_state->resume_done[wIndex] = 0; + port->resume_timestamp = 0; clear_bit(wIndex, &bus_state->resuming_ports); - set_bit(wIndex, &bus_state->rexit_ports); + reinit_completion(&port->rexit_done); + port->rexit_active = true; xhci_test_and_clear_bit(xhci, port, PORT_PLC); xhci_set_link_state(xhci, port, XDEV_U0); spin_unlock_irqrestore(&xhci->lock, *flags); time_left = wait_for_completion_timeout( - &bus_state->rexit_done[wIndex], + &port->rexit_done, msecs_to_jiffies(XHCI_MAX_REXIT_TIMEOUT_MS)); spin_lock_irqsave(&xhci->lock, *flags); @@ -885,7 +885,6 @@ wIndex + 1); if (!slot_id) { xhci_dbg(xhci, "slot_id is zero\n"); - *status = 0xffffffff; return -ENODEV; } xhci_ring_device(xhci, slot_id); @@ -894,22 +893,19 @@ xhci_warn(xhci, "Port resume timed out, port %d-%d: 0x%x\n", hcd->self.busnum, wIndex + 1, port_status); - *status |= USB_PORT_STAT_SUSPEND; - clear_bit(wIndex, &bus_state->rexit_ports); + /* + * keep rexit_active set if U0 transition failed so we + * know to report PORT_STAT_SUSPEND status back to + * usbcore. It will be cleared later once the port is + * out of RESUME/U3 state + */ } usb_hcd_end_port_resume(&hcd->self, wIndex); bus_state->port_c_suspend |= 1 << wIndex; bus_state->suspended_ports &= ~(1 << wIndex); - } else { - /* - * The resume has been signaling for less than - * USB_RESUME_TIME. Report the port status as SUSPEND, - * let the usbcore check port status again and clear - * resume signaling later. - */ - *status |= USB_PORT_STAT_SUSPEND; } + return 0; } @@ -961,19 +957,19 @@ *status |= USB_PORT_STAT_C_CONFIG_ERROR << 16; /* USB3 specific wPortStatus bits */ - if (portsc & PORT_POWER) { + if (portsc & PORT_POWER) *status |= USB_SS_PORT_STAT_POWER; - /* link state handling */ - if (link_state == XDEV_U0) - bus_state->suspended_ports &= ~(1 << portnum); - } - /* remote wake resume signaling complete */ - if (bus_state->port_remote_wakeup & (1 << portnum) && + /* no longer suspended or resuming */ + if (link_state != XDEV_U3 && link_state != XDEV_RESUME && link_state != XDEV_RECOVERY) { - bus_state->port_remote_wakeup &= ~(1 << portnum); - usb_hcd_end_port_resume(&hcd->self, portnum); + /* remote wake resume signaling complete */ + if (bus_state->port_remote_wakeup & (1 << portnum)) { + bus_state->port_remote_wakeup &= ~(1 << portnum); + usb_hcd_end_port_resume(&hcd->self, portnum); + } + bus_state->suspended_ports &= ~(1 << portnum); } xhci_hub_report_usb3_link_state(xhci, status, portsc); @@ -986,7 +982,7 @@ struct xhci_bus_state *bus_state; u32 link_state; u32 portnum; - int ret; + int err; bus_state = &port->rhub->bus_state; link_state = portsc & PORT_PLS_MASK; @@ -1002,23 +998,36 @@ if (link_state == XDEV_U2) *status |= USB_PORT_STAT_L1; if (link_state == XDEV_U0) { - if (bus_state->resume_done[portnum]) - usb_hcd_end_port_resume(&port->rhub->hcd->self, - portnum); - bus_state->resume_done[portnum] = 0; - clear_bit(portnum, &bus_state->resuming_ports); if (bus_state->suspended_ports & (1 << portnum)) { bus_state->suspended_ports &= ~(1 << portnum); bus_state->port_c_suspend |= 1 << portnum; } } if (link_state == XDEV_RESUME) { - ret = xhci_handle_usb2_port_link_resume(port, status, - portsc, flags); - if (ret) - return; + err = xhci_handle_usb2_port_link_resume(port, portsc, + flags); + if (err < 0) + *status = 0xffffffff; + else if (port->resume_timestamp || port->rexit_active) + *status |= USB_PORT_STAT_SUSPEND; } } + + /* + * Clear usb2 resume signalling variables if port is no longer suspended + * or resuming. Port either resumed to U0/U1/U2, disconnected, or in a + * error state. Resume related variables should be cleared in all those cases. + */ + if (link_state != XDEV_U3 && link_state != XDEV_RESUME) { + if (port->resume_timestamp || + test_bit(portnum, &bus_state->resuming_ports)) { + port->resume_timestamp = 0; + clear_bit(portnum, &bus_state->resuming_ports); + usb_hcd_end_port_resume(&port->rhub->hcd->self, portnum); + } + port->rexit_active = 0; + bus_state->suspended_ports &= ~(1 << portnum); + } } /* @@ -1073,18 +1082,6 @@ else xhci_get_usb2_port_status(port, &status, raw_port_status, flags); - /* - * Clear stale usb2 resume signalling variables in case port changed - * state during resume signalling. For example on error - */ - if ((bus_state->resume_done[wIndex] || - test_bit(wIndex, &bus_state->resuming_ports)) && - (raw_port_status & PORT_PLS_MASK) != XDEV_U3 && - (raw_port_status & PORT_PLS_MASK) != XDEV_RESUME) { - bus_state->resume_done[wIndex] = 0; - clear_bit(wIndex, &bus_state->resuming_ports); - usb_hcd_end_port_resume(&hcd->self, wIndex); - } if (bus_state->port_c_suspend & (1 << wIndex)) status |= USB_PORT_STAT_C_SUSPEND << 16; @@ -1108,11 +1105,14 @@ u16 test_mode = 0; struct xhci_hub *rhub; struct xhci_port **ports; + struct xhci_port *port; + int portnum1; rhub = xhci_get_rhub(hcd); ports = rhub->ports; max_ports = rhub->num_ports; bus_state = &rhub->bus_state; + portnum1 = wIndex & 0xff; spin_lock_irqsave(&xhci->lock, flags); switch (typeReq) { @@ -1146,10 +1146,12 @@ spin_unlock_irqrestore(&xhci->lock, flags); return retval; case GetPortStatus: - if (!wIndex || wIndex > max_ports) + if (!portnum1 || portnum1 > max_ports) goto error; + wIndex--; - temp = readl(ports[wIndex]->addr); + port = ports[portnum1 - 1]; + temp = readl(port->addr); if (temp == ~(u32)0) { xhci_hc_died(xhci); retval = -ENODEV; @@ -1162,7 +1164,7 @@ goto error; xhci_dbg(xhci, "Get port status %d-%d read: 0x%x, return 0x%x", - hcd->self.busnum, wIndex + 1, temp, status); + hcd->self.busnum, portnum1, temp, status); put_unaligned(cpu_to_le32(status), (__le32 *) buf); /* if USB 3.1 extended port status return additional 4 bytes */ @@ -1174,7 +1176,7 @@ retval = -EINVAL; break; } - port_li = readl(ports[wIndex]->addr + PORTLI); + port_li = readl(port->addr + PORTLI); status = xhci_get_ext_port_status(temp, port_li); put_unaligned_le32(status, &buf[4]); } @@ -1188,11 +1190,14 @@ test_mode = (wIndex & 0xff00) >> 8; /* The MSB of wIndex is the U1/U2 timeout */ timeout = (wIndex & 0xff00) >> 8; + wIndex &= 0xff; - if (!wIndex || wIndex > max_ports) + if (!portnum1 || portnum1 > max_ports) goto error; + + port = ports[portnum1 - 1]; wIndex--; - temp = readl(ports[wIndex]->addr); + temp = readl(port->addr); if (temp == ~(u32)0) { xhci_hc_died(xhci); retval = -ENODEV; @@ -1202,11 +1207,10 @@ /* FIXME: What new port features do we need to support? */ switch (wValue) { case USB_PORT_FEAT_SUSPEND: - temp = readl(ports[wIndex]->addr); + temp = readl(port->addr); if ((temp & PORT_PLS_MASK) != XDEV_U0) { /* Resume the port to U0 first */ - xhci_set_link_state(xhci, ports[wIndex], - XDEV_U0); + xhci_set_link_state(xhci, port, XDEV_U0); spin_unlock_irqrestore(&xhci->lock, flags); msleep(10); spin_lock_irqsave(&xhci->lock, flags); @@ -1215,16 +1219,16 @@ * a port unless the port reports that it is in the * enabled (PED = ‘1’,PLS < ‘3’) state. */ - temp = readl(ports[wIndex]->addr); + temp = readl(port->addr); if ((temp & PORT_PE) == 0 || (temp & PORT_RESET) || (temp & PORT_PLS_MASK) >= XDEV_U3) { xhci_warn(xhci, "USB core suspending port %d-%d not in U0/U1/U2\n", - hcd->self.busnum, wIndex + 1); + hcd->self.busnum, portnum1); goto error; } slot_id = xhci_find_slot_id_by_port(hcd, xhci, - wIndex + 1); + portnum1); if (!slot_id) { xhci_warn(xhci, "slot_id is zero\n"); goto error; @@ -1234,21 +1238,21 @@ xhci_stop_device(xhci, slot_id, 1); spin_lock_irqsave(&xhci->lock, flags); - xhci_set_link_state(xhci, ports[wIndex], XDEV_U3); + xhci_set_link_state(xhci, port, XDEV_U3); spin_unlock_irqrestore(&xhci->lock, flags); msleep(10); /* wait device to enter */ spin_lock_irqsave(&xhci->lock, flags); - temp = readl(ports[wIndex]->addr); + temp = readl(port->addr); bus_state->suspended_ports |= 1 << wIndex; break; case USB_PORT_FEAT_LINK_STATE: - temp = readl(ports[wIndex]->addr); + temp = readl(port->addr); /* Disable port */ if (link_state == USB_SS_PORT_LS_SS_DISABLED) { xhci_dbg(xhci, "Disable port %d-%d\n", - hcd->self.busnum, wIndex + 1); + hcd->self.busnum, portnum1); temp = xhci_port_state_to_neutral(temp); /* * Clear all change bits, so that we get a new @@ -1257,18 +1261,17 @@ temp |= PORT_CSC | PORT_PEC | PORT_WRC | PORT_OCC | PORT_RC | PORT_PLC | PORT_CEC; - writel(temp | PORT_PE, ports[wIndex]->addr); - temp = readl(ports[wIndex]->addr); + writel(temp | PORT_PE, port->addr); + temp = readl(port->addr); break; } /* Put link in RxDetect (enable port) */ if (link_state == USB_SS_PORT_LS_RX_DETECT) { xhci_dbg(xhci, "Enable port %d-%d\n", - hcd->self.busnum, wIndex + 1); - xhci_set_link_state(xhci, ports[wIndex], - link_state); - temp = readl(ports[wIndex]->addr); + hcd->self.busnum, portnum1); + xhci_set_link_state(xhci, port, link_state); + temp = readl(port->addr); break; } @@ -1298,11 +1301,10 @@ } xhci_dbg(xhci, "Enable compliance mode transition for port %d-%d\n", - hcd->self.busnum, wIndex + 1); - xhci_set_link_state(xhci, ports[wIndex], - link_state); + hcd->self.busnum, portnum1); + xhci_set_link_state(xhci, port, link_state); - temp = readl(ports[wIndex]->addr); + temp = readl(port->addr); break; } /* Port must be enabled */ @@ -1313,8 +1315,7 @@ /* Can't set port link state above '3' (U3) */ if (link_state > USB_SS_PORT_LS_U3) { xhci_warn(xhci, "Cannot set port %d-%d link state %d\n", - hcd->self.busnum, wIndex + 1, - link_state); + hcd->self.busnum, portnum1, link_state); goto error; } @@ -1336,30 +1337,29 @@ pls == XDEV_RESUME || pls == XDEV_RECOVERY) { wait_u0 = true; - reinit_completion(&bus_state->u3exit_done[wIndex]); + reinit_completion(&port->u3exit_done); } if (pls <= XDEV_U3) /* U1, U2, U3 */ - xhci_set_link_state(xhci, ports[wIndex], - USB_SS_PORT_LS_U0); + xhci_set_link_state(xhci, port, USB_SS_PORT_LS_U0); if (!wait_u0) { if (pls > XDEV_U3) goto error; break; } spin_unlock_irqrestore(&xhci->lock, flags); - if (!wait_for_completion_timeout(&bus_state->u3exit_done[wIndex], + if (!wait_for_completion_timeout(&port->u3exit_done, msecs_to_jiffies(500))) xhci_dbg(xhci, "missing U0 port change event for port %d-%d\n", - hcd->self.busnum, wIndex + 1); + hcd->self.busnum, portnum1); spin_lock_irqsave(&xhci->lock, flags); - temp = readl(ports[wIndex]->addr); + temp = readl(port->addr); break; } if (link_state == USB_SS_PORT_LS_U3) { int retries = 16; slot_id = xhci_find_slot_id_by_port(hcd, xhci, - wIndex + 1); + portnum1); if (slot_id) { /* unlock to execute stop endpoint * commands */ @@ -1368,16 +1368,16 @@ xhci_stop_device(xhci, slot_id, 1); spin_lock_irqsave(&xhci->lock, flags); } - xhci_set_link_state(xhci, ports[wIndex], USB_SS_PORT_LS_U3); + xhci_set_link_state(xhci, port, USB_SS_PORT_LS_U3); spin_unlock_irqrestore(&xhci->lock, flags); while (retries--) { usleep_range(4000, 8000); - temp = readl(ports[wIndex]->addr); + temp = readl(port->addr); if ((temp & PORT_PLS_MASK) == XDEV_U3) break; } spin_lock_irqsave(&xhci->lock, flags); - temp = readl(ports[wIndex]->addr); + temp = readl(port->addr); bus_state->suspended_ports |= 1 << wIndex; } break; @@ -1392,39 +1392,38 @@ break; case USB_PORT_FEAT_RESET: temp = (temp | PORT_RESET); - writel(temp, ports[wIndex]->addr); + writel(temp, port->addr); - temp = readl(ports[wIndex]->addr); + temp = readl(port->addr); xhci_dbg(xhci, "set port reset, actual port %d-%d status = 0x%x\n", - hcd->self.busnum, wIndex + 1, temp); + hcd->self.busnum, portnum1, temp); break; case USB_PORT_FEAT_REMOTE_WAKE_MASK: - xhci_set_remote_wake_mask(xhci, ports[wIndex], - wake_mask); - temp = readl(ports[wIndex]->addr); + xhci_set_remote_wake_mask(xhci, port, wake_mask); + temp = readl(port->addr); xhci_dbg(xhci, "set port remote wake mask, actual port %d-%d status = 0x%x\n", - hcd->self.busnum, wIndex + 1, temp); + hcd->self.busnum, portnum1, temp); break; case USB_PORT_FEAT_BH_PORT_RESET: temp |= PORT_WR; - writel(temp, ports[wIndex]->addr); - temp = readl(ports[wIndex]->addr); + writel(temp, port->addr); + temp = readl(port->addr); break; case USB_PORT_FEAT_U1_TIMEOUT: if (hcd->speed < HCD_USB3) goto error; - temp = readl(ports[wIndex]->addr + PORTPMSC); + temp = readl(port->addr + PORTPMSC); temp &= ~PORT_U1_TIMEOUT_MASK; temp |= PORT_U1_TIMEOUT(timeout); - writel(temp, ports[wIndex]->addr + PORTPMSC); + writel(temp, port->addr + PORTPMSC); break; case USB_PORT_FEAT_U2_TIMEOUT: if (hcd->speed < HCD_USB3) goto error; - temp = readl(ports[wIndex]->addr + PORTPMSC); + temp = readl(port->addr + PORTPMSC); temp &= ~PORT_U2_TIMEOUT_MASK; temp |= PORT_U2_TIMEOUT(timeout); - writel(temp, ports[wIndex]->addr + PORTPMSC); + writel(temp, port->addr + PORTPMSC); break; case USB_PORT_FEAT_TEST: /* 4.19.6 Port Test Modes (USB2 Test Mode) */ @@ -1440,13 +1439,16 @@ goto error; } /* unblock any posted writes */ - temp = readl(ports[wIndex]->addr); + temp = readl(port->addr); break; case ClearPortFeature: - if (!wIndex || wIndex > max_ports) + if (!portnum1 || portnum1 > max_ports) goto error; + + port = ports[portnum1 - 1]; + wIndex--; - temp = readl(ports[wIndex]->addr); + temp = readl(port->addr); if (temp == ~(u32)0) { xhci_hc_died(xhci); retval = -ENODEV; @@ -1456,7 +1458,7 @@ temp = xhci_port_state_to_neutral(temp); switch (wValue) { case USB_PORT_FEAT_SUSPEND: - temp = readl(ports[wIndex]->addr); + temp = readl(port->addr); xhci_dbg(xhci, "clear USB_PORT_FEAT_SUSPEND\n"); xhci_dbg(xhci, "PORTSC %04x\n", temp); if (temp & PORT_RESET) @@ -1467,20 +1469,18 @@ set_bit(wIndex, &bus_state->resuming_ports); usb_hcd_start_port_resume(&hcd->self, wIndex); - xhci_set_link_state(xhci, ports[wIndex], - XDEV_RESUME); + xhci_set_link_state(xhci, port, XDEV_RESUME); spin_unlock_irqrestore(&xhci->lock, flags); msleep(USB_RESUME_TIMEOUT); spin_lock_irqsave(&xhci->lock, flags); - xhci_set_link_state(xhci, ports[wIndex], - XDEV_U0); + xhci_set_link_state(xhci, port, XDEV_U0); clear_bit(wIndex, &bus_state->resuming_ports); usb_hcd_end_port_resume(&hcd->self, wIndex); } bus_state->port_c_suspend |= 1 << wIndex; slot_id = xhci_find_slot_id_by_port(hcd, xhci, - wIndex + 1); + portnum1); if (!slot_id) { xhci_dbg(xhci, "slot_id is zero\n"); goto error; @@ -1498,11 +1498,11 @@ case USB_PORT_FEAT_C_PORT_LINK_STATE: case USB_PORT_FEAT_C_PORT_CONFIG_ERROR: xhci_clear_port_change_bit(xhci, wValue, wIndex, - ports[wIndex]->addr, temp); + port->addr, temp); break; case USB_PORT_FEAT_ENABLE: xhci_disable_port(hcd, xhci, wIndex, - ports[wIndex]->addr, temp); + port->addr, temp); break; case USB_PORT_FEAT_POWER: xhci_set_port_power(xhci, hcd, wIndex, false, &flags); @@ -1586,8 +1586,8 @@ if ((temp & mask) != 0 || (bus_state->port_c_suspend & 1 << i) || - (bus_state->resume_done[i] && time_after_eq( - jiffies, bus_state->resume_done[i]))) { + (ports[i]->resume_timestamp && time_after_eq( + jiffies, ports[i]->resume_timestamp))) { buf[(i + 1) / 8] |= 1 << (i + 1) % 8; status = 1; } diff -Nru linux-5.10.197/drivers/usb/host/xhci-mem.c linux-5.10.205/drivers/usb/host/xhci-mem.c --- linux-5.10.197/drivers/usb/host/xhci-mem.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/host/xhci-mem.c 2023-12-20 14:44:42.000000000 +0000 @@ -2336,6 +2336,9 @@ xhci->hw_ports[i].addr = &xhci->op_regs->port_status_base + NUM_PORT_REGS * i; xhci->hw_ports[i].hw_portnum = i; + + init_completion(&xhci->hw_ports[i].rexit_done); + init_completion(&xhci->hw_ports[i].u3exit_done); } xhci->rh_bw = kcalloc_node(num_ports, sizeof(*xhci->rh_bw), flags, @@ -2603,13 +2606,6 @@ */ for (i = 0; i < MAX_HC_SLOTS; i++) xhci->devs[i] = NULL; - for (i = 0; i < USB_MAXCHILDREN; i++) { - xhci->usb2_rhub.bus_state.resume_done[i] = 0; - xhci->usb3_rhub.bus_state.resume_done[i] = 0; - /* Only the USB 2.0 completions will ever be used. */ - init_completion(&xhci->usb2_rhub.bus_state.rexit_done[i]); - init_completion(&xhci->usb3_rhub.bus_state.u3exit_done[i]); - } if (scratchpad_alloc(xhci, flags)) goto fail; diff -Nru linux-5.10.197/drivers/usb/host/xhci-pci.c linux-5.10.205/drivers/usb/host/xhci-pci.c --- linux-5.10.197/drivers/usb/host/xhci-pci.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/host/xhci-pci.c 2023-12-20 14:44:42.000000000 +0000 @@ -503,7 +503,9 @@ /* USB-2 and USB-3 roothubs initialized, allow runtime pm suspend */ pm_runtime_put_noidle(&dev->dev); - if (xhci->quirks & XHCI_DEFAULT_PM_RUNTIME_ALLOW) + if (pci_choose_state(dev, PMSG_SUSPEND) == PCI_D0) + pm_runtime_forbid(&dev->dev); + else if (xhci->quirks & XHCI_DEFAULT_PM_RUNTIME_ALLOW) pm_runtime_allow(&dev->dev); dma_set_max_seg_size(&dev->dev, UINT_MAX); diff -Nru linux-5.10.197/drivers/usb/host/xhci-plat.c linux-5.10.205/drivers/usb/host/xhci-plat.c --- linux-5.10.197/drivers/usb/host/xhci-plat.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/host/xhci-plat.c 2023-12-20 14:44:42.000000000 +0000 @@ -466,23 +466,38 @@ int ret; if (!device_may_wakeup(dev) && (xhci->quirks & XHCI_SUSPEND_RESUME_CLKS)) { - clk_prepare_enable(xhci->clk); - clk_prepare_enable(xhci->reg_clk); + ret = clk_prepare_enable(xhci->clk); + if (ret) + return ret; + + ret = clk_prepare_enable(xhci->reg_clk); + if (ret) { + clk_disable_unprepare(xhci->clk); + return ret; + } } ret = xhci_priv_resume_quirk(hcd); if (ret) - return ret; + goto disable_clks; ret = xhci_resume(xhci, 0); if (ret) - return ret; + goto disable_clks; pm_runtime_disable(dev); pm_runtime_set_active(dev); pm_runtime_enable(dev); return 0; + +disable_clks: + if (!device_may_wakeup(dev) && (xhci->quirks & XHCI_SUSPEND_RESUME_CLKS)) { + clk_disable_unprepare(xhci->clk); + clk_disable_unprepare(xhci->reg_clk); + } + + return ret; } static int __maybe_unused xhci_plat_runtime_suspend(struct device *dev) diff -Nru linux-5.10.197/drivers/usb/host/xhci-ring.c linux-5.10.205/drivers/usb/host/xhci-ring.c --- linux-5.10.197/drivers/usb/host/xhci-ring.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/host/xhci-ring.c 2023-12-20 14:44:42.000000000 +0000 @@ -742,7 +742,7 @@ static void xhci_unmap_td_bounce_buffer(struct xhci_hcd *xhci, struct xhci_ring *ring, struct xhci_td *td) { - struct device *dev = xhci_to_hcd(xhci)->self.controller; + struct device *dev = xhci_to_hcd(xhci)->self.sysdev; struct xhci_segment *seg = td->bounce_seg; struct urb *urb = td->urb; size_t len; @@ -869,6 +869,58 @@ } /* + * Fix up the ep ring first, so HW stops executing cancelled TDs. + * We have the xHCI lock, so nothing can modify this list until we drop it. + * We're also in the event handler, so we can't get re-interrupted if another + * Stop Endpoint command completes. + */ + +static int xhci_invalidate_cancelled_tds(struct xhci_virt_ep *ep, + struct xhci_dequeue_state *deq_state) +{ + struct xhci_hcd *xhci; + struct xhci_td *td = NULL; + struct xhci_td *tmp_td = NULL; + struct xhci_ring *ring; + u64 hw_deq; + + xhci = ep->xhci; + + list_for_each_entry_safe(td, tmp_td, &ep->cancelled_td_list, cancelled_td_list) { + xhci_dbg_trace(xhci, trace_xhci_dbg_cancel_urb, + "Removing canceled TD starting at 0x%llx (dma).", + (unsigned long long)xhci_trb_virt_to_dma( + td->start_seg, td->first_trb)); + list_del_init(&td->td_list); + ring = xhci_urb_to_transfer_ring(xhci, td->urb); + if (!ring) { + xhci_warn(xhci, "WARN Cancelled URB %p has invalid stream ID %u.\n", + td->urb, td->urb->stream_id); + continue; + } + /* + * If ring stopped on the TD we need to cancel, then we have to + * move the xHC endpoint ring dequeue pointer past this TD. + */ + hw_deq = xhci_get_hw_deq(xhci, ep->vdev, ep->ep_index, + td->urb->stream_id); + hw_deq &= ~0xf; + + if (trb_in_td(xhci, td->start_seg, td->first_trb, + td->last_trb, hw_deq, false)) { + xhci_find_new_dequeue_state(xhci, ep->vdev->slot_id, + ep->ep_index, + td->urb->stream_id, + td, deq_state); + } else { + td_to_noop(xhci, ring, td, false); + } + + } + return 0; +} + +/* * When we get a command completion for a Stop Endpoint Command, we need to * unlink any cancelled TDs from the ring. There are two ways to do that: * @@ -888,7 +940,6 @@ struct xhci_td *last_unlinked_td; struct xhci_ep_ctx *ep_ctx; struct xhci_virt_device *vdev; - u64 hw_deq; struct xhci_dequeue_state deq_state; if (unlikely(TRB_TO_SUSPEND_PORT(le32_to_cpu(trb->generic.field[3])))) { @@ -919,60 +970,7 @@ return; } - /* Fix up the ep ring first, so HW stops executing cancelled TDs. - * We have the xHCI lock, so nothing can modify this list until we drop - * it. We're also in the event handler, so we can't get re-interrupted - * if another Stop Endpoint command completes - */ - list_for_each_entry(cur_td, &ep->cancelled_td_list, cancelled_td_list) { - xhci_dbg_trace(xhci, trace_xhci_dbg_cancel_urb, - "Removing canceled TD starting at 0x%llx (dma).", - (unsigned long long)xhci_trb_virt_to_dma( - cur_td->start_seg, cur_td->first_trb)); - ep_ring = xhci_urb_to_transfer_ring(xhci, cur_td->urb); - if (!ep_ring) { - /* This shouldn't happen unless a driver is mucking - * with the stream ID after submission. This will - * leave the TD on the hardware ring, and the hardware - * will try to execute it, and may access a buffer - * that has already been freed. In the best case, the - * hardware will execute it, and the event handler will - * ignore the completion event for that TD, since it was - * removed from the td_list for that endpoint. In - * short, don't muck with the stream ID after - * submission. - */ - xhci_warn(xhci, "WARN Cancelled URB %p " - "has invalid stream ID %u.\n", - cur_td->urb, - cur_td->urb->stream_id); - goto remove_finished_td; - } - /* - * If we stopped on the TD we need to cancel, then we have to - * move the xHC endpoint ring dequeue pointer past this TD. - */ - hw_deq = xhci_get_hw_deq(xhci, vdev, ep_index, - cur_td->urb->stream_id); - hw_deq &= ~0xf; - - if (trb_in_td(xhci, cur_td->start_seg, cur_td->first_trb, - cur_td->last_trb, hw_deq, false)) { - xhci_find_new_dequeue_state(xhci, slot_id, ep_index, - cur_td->urb->stream_id, - cur_td, &deq_state); - } else { - td_to_noop(xhci, ep_ring, cur_td, false); - } - -remove_finished_td: - /* - * The event handler won't see a completion for this TD anymore, - * so remove it from the endpoint ring's TD list. Keep it in - * the cancelled TD list for URB completion later. - */ - list_del_init(&cur_td->td_list); - } + xhci_invalidate_cancelled_tds(ep, &deq_state); xhci_stop_watchdog_timer_in_irq(xhci, ep); @@ -1851,7 +1849,7 @@ goto cleanup; } else if (!test_bit(hcd_portnum, &bus_state->resuming_ports)) { xhci_dbg(xhci, "resume HS port %d\n", port_id); - bus_state->resume_done[hcd_portnum] = jiffies + + port->resume_timestamp = jiffies + msecs_to_jiffies(USB_RESUME_TIMEOUT); set_bit(hcd_portnum, &bus_state->resuming_ports); /* Do the rest in GetPortStatus after resume time delay. @@ -1860,7 +1858,7 @@ */ set_bit(HCD_FLAG_POLL_RH, &hcd->flags); mod_timer(&hcd->rh_timer, - bus_state->resume_done[hcd_portnum]); + port->resume_timestamp); usb_hcd_start_port_resume(&hcd->self, hcd_portnum); bogus_port_status = true; } @@ -1872,7 +1870,7 @@ (portsc & PORT_PLS_MASK) == XDEV_U1 || (portsc & PORT_PLS_MASK) == XDEV_U2)) { xhci_dbg(xhci, "resume SS port %d finished\n", port_id); - complete(&bus_state->u3exit_done[hcd_portnum]); + complete(&port->u3exit_done); /* We've just brought the device into U0/1/2 through either the * Resume state after a device remote wakeup, or through the * U3Exit state after a host-initiated resume. If it's a device @@ -1897,10 +1895,9 @@ * RExit to a disconnect state). If so, let the the driver know it's * out of the RExit state. */ - if (!DEV_SUPERSPEED_ANY(portsc) && hcd->speed < HCD_USB3 && - test_and_clear_bit(hcd_portnum, - &bus_state->rexit_ports)) { - complete(&bus_state->rexit_done[hcd_portnum]); + if (hcd->speed < HCD_USB3 && port->rexit_active) { + complete(&port->rexit_done); + port->rexit_active = false; bogus_port_status = true; goto cleanup; } @@ -3325,7 +3322,7 @@ static int xhci_align_td(struct xhci_hcd *xhci, struct urb *urb, u32 enqd_len, u32 *trb_buff_len, struct xhci_segment *seg) { - struct device *dev = xhci_to_hcd(xhci)->self.controller; + struct device *dev = xhci_to_hcd(xhci)->self.sysdev; unsigned int unalign; unsigned int max_pkt; u32 new_buff_len; diff -Nru linux-5.10.197/drivers/usb/host/xhci.h linux-5.10.205/drivers/usb/host/xhci.h --- linux-5.10.197/drivers/usb/host/xhci.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/host/xhci.h 2023-12-20 14:44:42.000000000 +0000 @@ -1699,13 +1699,8 @@ u32 port_c_suspend; u32 suspended_ports; u32 port_remote_wakeup; - unsigned long resume_done[USB_MAXCHILDREN]; /* which ports have started to resume */ unsigned long resuming_ports; - /* Which ports are waiting on RExit to U0 transition. */ - unsigned long rexit_ports; - struct completion rexit_done[USB_MAXCHILDREN]; - struct completion u3exit_done[USB_MAXCHILDREN]; }; @@ -1729,6 +1724,10 @@ struct xhci_hub *rhub; struct xhci_port_cap *port_cap; unsigned int lpm_incapable:1; + unsigned long resume_timestamp; + bool rexit_active; + struct completion rexit_done; + struct completion u3exit_done; }; struct xhci_hub { diff -Nru linux-5.10.197/drivers/usb/musb/musb_debugfs.c linux-5.10.205/drivers/usb/musb/musb_debugfs.c --- linux-5.10.197/drivers/usb/musb/musb_debugfs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/musb/musb_debugfs.c 2023-12-20 14:44:42.000000000 +0000 @@ -39,7 +39,7 @@ { "IntrUsbE", MUSB_INTRUSBE, 8 }, { "DevCtl", MUSB_DEVCTL, 8 }, { "VControl", 0x68, 32 }, - { "HWVers", 0x69, 16 }, + { "HWVers", MUSB_HWVERS, 16 }, { "LinkInfo", MUSB_LINKINFO, 8 }, { "VPLen", MUSB_VPLEN, 8 }, { "HS_EOF1", MUSB_HS_EOF1, 8 }, diff -Nru linux-5.10.197/drivers/usb/musb/musb_host.c linux-5.10.205/drivers/usb/musb/musb_host.c --- linux-5.10.197/drivers/usb/musb/musb_host.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/musb/musb_host.c 2023-12-20 14:44:42.000000000 +0000 @@ -321,10 +321,16 @@ musb_giveback(musb, urb, status); qh->is_ready = ready; + /* + * musb->lock had been unlocked in musb_giveback, so qh may + * be freed, need to get it again + */ + qh = musb_ep_get_qh(hw_ep, is_in); + /* reclaim resources (and bandwidth) ASAP; deschedule it, and * invalidate qh as soon as list_empty(&hep->urb_list) */ - if (list_empty(&qh->hep->urb_list)) { + if (qh && list_empty(&qh->hep->urb_list)) { struct list_head *head; struct dma_controller *dma = musb->dma_controller; @@ -2404,6 +2410,7 @@ * and its URB list has emptied, recycle this qh. */ if (ready && list_empty(&qh->hep->urb_list)) { + musb_ep_set_qh(qh->hw_ep, is_in, NULL); qh->hep->hcpriv = NULL; list_del(&qh->ring); kfree(qh); diff -Nru linux-5.10.197/drivers/usb/serial/option.c linux-5.10.205/drivers/usb/serial/option.c --- linux-5.10.197/drivers/usb/serial/option.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/serial/option.c 2023-12-20 14:44:42.000000000 +0000 @@ -203,6 +203,9 @@ #define DELL_PRODUCT_5829E_ESIM 0x81e4 #define DELL_PRODUCT_5829E 0x81e6 +#define DELL_PRODUCT_FM101R_ESIM 0x8213 +#define DELL_PRODUCT_FM101R 0x8215 + #define KYOCERA_VENDOR_ID 0x0c88 #define KYOCERA_PRODUCT_KPC650 0x17da #define KYOCERA_PRODUCT_KPC680 0x180a @@ -606,6 +609,8 @@ #define UNISOC_VENDOR_ID 0x1782 /* TOZED LT70-C based on UNISOC SL8563 uses UNISOC's vendor ID */ #define TOZED_PRODUCT_LT70C 0x4055 +/* Luat Air72*U series based on UNISOC UIS8910 uses UNISOC's vendor ID */ +#define LUAT_PRODUCT_AIR720U 0x4e00 /* Device flags */ @@ -1108,6 +1113,8 @@ .driver_info = RSVD(0) | RSVD(6) }, { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5829E_ESIM), .driver_info = RSVD(0) | RSVD(6) }, + { USB_DEVICE_INTERFACE_CLASS(DELL_VENDOR_ID, DELL_PRODUCT_FM101R, 0xff) }, + { USB_DEVICE_INTERFACE_CLASS(DELL_VENDOR_ID, DELL_PRODUCT_FM101R_ESIM, 0xff) }, { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_E100A) }, /* ADU-E100, ADU-310 */ { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_500A) }, { USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_620UW) }, @@ -1290,6 +1297,7 @@ .driver_info = NCTRL(0) | RSVD(3) }, { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1033, 0xff), /* Telit LE910C1-EUX (ECM) */ .driver_info = NCTRL(0) }, + { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1035, 0xff) }, /* Telit LE910C4-WWX (ECM) */ { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE922_USBCFG0), .driver_info = RSVD(0) | RSVD(1) | NCTRL(2) | RSVD(3) }, { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE922_USBCFG1), @@ -1540,7 +1548,8 @@ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0165, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0167, 0xff, 0xff, 0xff), .driver_info = RSVD(4) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0189, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0189, 0xff, 0xff, 0xff), + .driver_info = RSVD(4) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0191, 0xff, 0xff, 0xff), /* ZTE EuFi890 */ .driver_info = RSVD(4) }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0196, 0xff, 0xff, 0xff) }, @@ -2243,6 +2252,7 @@ .driver_info = RSVD(4) | RSVD(5) | RSVD(6) }, { USB_DEVICE(0x1782, 0x4d10) }, /* Fibocom L610 (AT mode) */ { USB_DEVICE_INTERFACE_CLASS(0x1782, 0x4d11, 0xff) }, /* Fibocom L610 (ECM/RNDIS mode) */ + { USB_DEVICE_AND_INTERFACE_INFO(0x2cb7, 0x0001, 0xff, 0xff, 0xff) }, /* Fibocom L716-EU (ECM/RNDIS mode) */ { USB_DEVICE(0x2cb7, 0x0104), /* Fibocom NL678 series */ .driver_info = RSVD(4) | RSVD(5) }, { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0105, 0xff), /* Fibocom NL678 series */ @@ -2262,8 +2272,10 @@ { USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1406, 0xff) }, /* GosunCn GM500 ECM/NCM */ { USB_DEVICE_AND_INTERFACE_INFO(OPPO_VENDOR_ID, OPPO_PRODUCT_R11, 0xff, 0xff, 0x30) }, { USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0xff, 0x30) }, + { USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0xff, 0x40) }, { USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0, 0) }, { USB_DEVICE_AND_INTERFACE_INFO(UNISOC_VENDOR_ID, TOZED_PRODUCT_LT70C, 0xff, 0, 0) }, + { USB_DEVICE_AND_INTERFACE_INFO(UNISOC_VENDOR_ID, LUAT_PRODUCT_AIR720U, 0xff, 0, 0) }, { } /* Terminating entry */ }; MODULE_DEVICE_TABLE(usb, option_ids); diff -Nru linux-5.10.197/drivers/usb/storage/unusual_cypress.h linux-5.10.205/drivers/usb/storage/unusual_cypress.h --- linux-5.10.197/drivers/usb/storage/unusual_cypress.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/storage/unusual_cypress.h 2023-12-20 14:44:42.000000000 +0000 @@ -19,7 +19,7 @@ "Cypress ISD-300LP", USB_SC_CYP_ATACB, USB_PR_DEVICE, NULL, 0), -UNUSUAL_DEV( 0x14cd, 0x6116, 0x0160, 0x0160, +UNUSUAL_DEV( 0x14cd, 0x6116, 0x0150, 0x0160, "Super Top", "USB 2.0 SATA BRIDGE", USB_SC_CYP_ATACB, USB_PR_DEVICE, NULL, 0), diff -Nru linux-5.10.197/drivers/usb/typec/altmodes/Kconfig linux-5.10.205/drivers/usb/typec/altmodes/Kconfig --- linux-5.10.197/drivers/usb/typec/altmodes/Kconfig 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/typec/altmodes/Kconfig 2023-12-20 14:44:42.000000000 +0000 @@ -4,6 +4,7 @@ config TYPEC_DP_ALTMODE tristate "DisplayPort Alternate Mode driver" + depends on DRM help DisplayPort USB Type-C Alternate Mode allows DisplayPort displays and adapters to be attached to the USB Type-C diff -Nru linux-5.10.197/drivers/usb/typec/altmodes/displayport.c linux-5.10.205/drivers/usb/typec/altmodes/displayport.c --- linux-5.10.197/drivers/usb/typec/altmodes/displayport.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/typec/altmodes/displayport.c 2023-12-20 14:44:42.000000000 +0000 @@ -11,8 +11,10 @@ #include #include #include +#include #include #include +#include #include "displayport.h" #define DP_HEADER(_dp, cmd) (VDO((_dp)->alt->svid, 1, cmd) | \ @@ -57,11 +59,13 @@ struct typec_displayport_data data; enum dp_state state; + bool hpd; struct mutex lock; /* device lock */ struct work_struct work; struct typec_altmode *alt; const struct typec_altmode *port; + struct fwnode_handle *connector_fwnode; }; static int dp_altmode_notify(struct dp_altmode *dp) @@ -122,6 +126,7 @@ static int dp_altmode_status_update(struct dp_altmode *dp) { bool configured = !!DP_CONF_GET_PIN_ASSIGN(dp->data.conf); + bool hpd = !!(dp->data.status & DP_STATUS_HPD_STATE); u8 con = DP_STATUS_CONNECTION(dp->data.status); int ret = 0; @@ -134,6 +139,11 @@ ret = dp_altmode_configure(dp, con); if (!ret) dp->state = DP_STATE_CONFIGURE; + } else { + if (dp->hpd != hpd) { + drm_connector_oob_hotplug_event(dp->connector_fwnode); + dp->hpd = hpd; + } } return ret; @@ -275,6 +285,11 @@ case CMD_EXIT_MODE: dp->data.status = 0; dp->data.conf = 0; + if (dp->hpd) { + drm_connector_oob_hotplug_event(dp->connector_fwnode); + dp->hpd = false; + sysfs_notify(&dp->alt->dev.kobj, "displayport", "hpd"); + } break; case DP_CMD_STATUS_UPDATE: dp->data.status = *vdo; @@ -526,6 +541,7 @@ int dp_altmode_probe(struct typec_altmode *alt) { const struct typec_altmode *port = typec_altmode_get_partner(alt); + struct fwnode_handle *fwnode; struct dp_altmode *dp; int ret; @@ -554,6 +570,11 @@ alt->desc = "DisplayPort"; alt->ops = &dp_altmode_ops; + fwnode = dev_fwnode(alt->dev.parent->parent); /* typec_port fwnode */ + dp->connector_fwnode = fwnode_find_reference(fwnode, "displayport", 0); + if (IS_ERR(dp->connector_fwnode)) + dp->connector_fwnode = NULL; + typec_altmode_set_drvdata(alt, dp); dp->state = DP_STATE_ENTER; @@ -569,6 +590,13 @@ sysfs_remove_group(&alt->dev.kobj, &dp_altmode_group); cancel_work_sync(&dp->work); + + if (dp->connector_fwnode) { + if (dp->hpd) + drm_connector_oob_hotplug_event(dp->connector_fwnode); + + fwnode_handle_put(dp->connector_fwnode); + } } EXPORT_SYMBOL_GPL(dp_altmode_remove); diff -Nru linux-5.10.197/drivers/usb/typec/class.c linux-5.10.205/drivers/usb/typec/class.c --- linux-5.10.197/drivers/usb/typec/class.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/typec/class.c 2023-12-20 14:44:42.000000000 +0000 @@ -194,7 +194,7 @@ if (!partner) return; - adev = &partner->adev; + adev = &altmode->adev; if (is_typec_plug(adev->dev.parent)) { struct typec_plug *plug = to_typec_plug(adev->dev.parent); @@ -424,7 +424,8 @@ { struct altmode *alt = to_altmode(to_typec_altmode(dev)); - typec_altmode_put_partner(alt); + if (!is_typec_port(dev->parent)) + typec_altmode_put_partner(alt); altmode_id_remove(alt->adev.dev.parent, alt->id); kfree(alt); diff -Nru linux-5.10.197/drivers/usb/usbip/stub_dev.c linux-5.10.205/drivers/usb/usbip/stub_dev.c --- linux-5.10.197/drivers/usb/usbip/stub_dev.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/usb/usbip/stub_dev.c 2023-12-20 14:44:42.000000000 +0000 @@ -462,8 +462,13 @@ /* release port */ rc = usb_hub_release_port(udev->parent, udev->portnum, (struct usb_dev_state *) udev); - if (rc) { - dev_dbg(&udev->dev, "unable to release port\n"); + /* + * NOTE: If a HUB disconnect triggered disconnect of the down stream + * device usb_hub_release_port will return -ENODEV so we can safely ignore + * that error here. + */ + if (rc && (rc != -ENODEV)) { + dev_dbg(&udev->dev, "unable to release port (%i)\n", rc); return; } diff -Nru linux-5.10.197/drivers/video/fbdev/Kconfig linux-5.10.205/drivers/video/fbdev/Kconfig --- linux-5.10.197/drivers/video/fbdev/Kconfig 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/video/fbdev/Kconfig 2023-12-20 14:44:42.000000000 +0000 @@ -2014,7 +2014,7 @@ config FB_SH7760 bool "SH7760/SH7763/SH7720/SH7721 LCDC support" - depends on FB && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \ + depends on FB=y && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \ || CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721) select FB_CFB_FILLRECT select FB_CFB_COPYAREA diff -Nru linux-5.10.197/drivers/video/fbdev/aty/atyfb_base.c linux-5.10.205/drivers/video/fbdev/aty/atyfb_base.c --- linux-5.10.197/drivers/video/fbdev/aty/atyfb_base.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/video/fbdev/aty/atyfb_base.c 2023-12-20 14:44:42.000000000 +0000 @@ -3440,11 +3440,15 @@ } info->fix.mmio_start = raddr; +#if defined(__i386__) || defined(__ia64__) /* * By using strong UC we force the MTRR to never have an * effect on the MMIO region on both non-PAT and PAT systems. */ par->ati_regbase = ioremap_uc(info->fix.mmio_start, 0x1000); +#else + par->ati_regbase = ioremap(info->fix.mmio_start, 0x1000); +#endif if (par->ati_regbase == NULL) return -ENOMEM; diff -Nru linux-5.10.197/drivers/video/fbdev/fsl-diu-fb.c linux-5.10.205/drivers/video/fbdev/fsl-diu-fb.c --- linux-5.10.197/drivers/video/fbdev/fsl-diu-fb.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/video/fbdev/fsl-diu-fb.c 2023-12-20 14:44:42.000000000 +0000 @@ -490,7 +490,7 @@ * Workaround for failed writing desc register of planes. * Needed with MPC5121 DIU rev 2.0 silicon. */ -void wr_reg_wa(u32 *reg, u32 val) +static void wr_reg_wa(u32 *reg, u32 val) { do { out_be32(reg, val); diff -Nru linux-5.10.197/drivers/video/fbdev/imsttfb.c linux-5.10.205/drivers/video/fbdev/imsttfb.c --- linux-5.10.197/drivers/video/fbdev/imsttfb.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/video/fbdev/imsttfb.c 2023-12-20 14:44:42.000000000 +0000 @@ -1489,8 +1489,8 @@ if (!request_mem_region(addr, size, "imsttfb")) { printk(KERN_ERR "imsttfb: Can't reserve memory region\n"); - framebuffer_release(info); - return -ENODEV; + ret = -ENODEV; + goto release_info; } switch (pdev->device) { @@ -1507,34 +1507,39 @@ printk(KERN_INFO "imsttfb: Device 0x%x unknown, " "contact maintainer.\n", pdev->device); ret = -ENODEV; - goto error; + goto release_mem_region; } info->fix.smem_start = addr; info->screen_base = (__u8 *)ioremap(addr, par->ramdac == IBM ? 0x400000 : 0x800000); if (!info->screen_base) - goto error; + goto release_mem_region; info->fix.mmio_start = addr + 0x800000; par->dc_regs = ioremap(addr + 0x800000, 0x1000); if (!par->dc_regs) - goto error; + goto unmap_screen_base; par->cmap_regs_phys = addr + 0x840000; par->cmap_regs = (__u8 *)ioremap(addr + 0x840000, 0x1000); if (!par->cmap_regs) - goto error; + goto unmap_dc_regs; info->pseudo_palette = par->palette; ret = init_imstt(info); - if (!ret) - pci_set_drvdata(pdev, info); - return ret; + if (ret) + goto unmap_cmap_regs; + + pci_set_drvdata(pdev, info); + return 0; -error: - if (par->dc_regs) - iounmap(par->dc_regs); - if (info->screen_base) - iounmap(info->screen_base); +unmap_cmap_regs: + iounmap(par->cmap_regs); +unmap_dc_regs: + iounmap(par->dc_regs); +unmap_screen_base: + iounmap(info->screen_base); +release_mem_region: release_mem_region(addr, size); +release_info: framebuffer_release(info); return ret; } diff -Nru linux-5.10.197/drivers/video/fbdev/sticore.h linux-5.10.205/drivers/video/fbdev/sticore.h --- linux-5.10.197/drivers/video/fbdev/sticore.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/video/fbdev/sticore.h 2023-12-20 14:44:42.000000000 +0000 @@ -231,7 +231,7 @@ u8 height; u8 font_type; /* language type */ u8 bytes_per_char; - u32 next_font; + s32 next_font; /* note: signed int */ u8 underline_height; u8 underline_pos; u8 res008[2]; diff -Nru linux-5.10.197/drivers/video/fbdev/uvesafb.c linux-5.10.205/drivers/video/fbdev/uvesafb.c --- linux-5.10.197/drivers/video/fbdev/uvesafb.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/video/fbdev/uvesafb.c 2023-12-20 14:44:42.000000000 +0000 @@ -1933,10 +1933,10 @@ } } - cn_del_callback(&uvesafb_cn_id); driver_remove_file(&uvesafb_driver.driver, &driver_attr_v86d); platform_device_unregister(uvesafb_device); platform_driver_unregister(&uvesafb_driver); + cn_del_callback(&uvesafb_cn_id); } module_exit(uvesafb_exit); diff -Nru linux-5.10.197/drivers/virtio/virtio_balloon.c linux-5.10.205/drivers/virtio/virtio_balloon.c --- linux-5.10.197/drivers/virtio/virtio_balloon.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/virtio/virtio_balloon.c 2023-12-20 14:44:42.000000000 +0000 @@ -402,7 +402,11 @@ virtio_cread_le(vb->vdev, struct virtio_balloon_config, num_pages, &num_pages); - target = num_pages; + /* + * Aligned up to guest page size to avoid inflating and deflating + * balloon endlessly. + */ + target = ALIGN(num_pages, VIRTIO_BALLOON_PAGES_PER_PAGE); return target - vb->num_pages; } diff -Nru linux-5.10.197/drivers/virtio/virtio_mmio.c linux-5.10.205/drivers/virtio/virtio_mmio.c --- linux-5.10.197/drivers/virtio/virtio_mmio.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/virtio/virtio_mmio.c 2023-12-20 14:44:42.000000000 +0000 @@ -596,14 +596,17 @@ spin_lock_init(&vm_dev->lock); vm_dev->base = devm_platform_ioremap_resource(pdev, 0); - if (IS_ERR(vm_dev->base)) - return PTR_ERR(vm_dev->base); + if (IS_ERR(vm_dev->base)) { + rc = PTR_ERR(vm_dev->base); + goto free_vm_dev; + } /* Check magic value */ magic = readl(vm_dev->base + VIRTIO_MMIO_MAGIC_VALUE); if (magic != ('v' | 'i' << 8 | 'r' << 16 | 't' << 24)) { dev_warn(&pdev->dev, "Wrong magic value 0x%08lx!\n", magic); - return -ENODEV; + rc = -ENODEV; + goto free_vm_dev; } /* Check device version */ @@ -611,7 +614,8 @@ if (vm_dev->version < 1 || vm_dev->version > 2) { dev_err(&pdev->dev, "Version %ld not supported!\n", vm_dev->version); - return -ENXIO; + rc = -ENXIO; + goto free_vm_dev; } vm_dev->vdev.id.device = readl(vm_dev->base + VIRTIO_MMIO_DEVICE_ID); @@ -620,7 +624,8 @@ * virtio-mmio device with an ID 0 is a (dummy) placeholder * with no function. End probing now with no error reported. */ - return -ENODEV; + rc = -ENODEV; + goto free_vm_dev; } vm_dev->vdev.id.vendor = readl(vm_dev->base + VIRTIO_MMIO_VENDOR_ID); @@ -650,6 +655,10 @@ put_device(&vm_dev->vdev.dev); return rc; + +free_vm_dev: + kfree(vm_dev); + return rc; } static int virtio_mmio_remove(struct platform_device *pdev) diff -Nru linux-5.10.197/drivers/watchdog/iTCO_wdt.c linux-5.10.205/drivers/watchdog/iTCO_wdt.c --- linux-5.10.197/drivers/watchdog/iTCO_wdt.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/watchdog/iTCO_wdt.c 2023-12-20 14:44:42.000000000 +0000 @@ -426,6 +426,20 @@ return time_left; } +/* Returns true if the watchdog was running */ +static bool iTCO_wdt_set_running(struct iTCO_wdt_private *p) +{ + u16 val; + + /* Bit 11: TCO Timer Halt -> 0 = The TCO timer is enabled */ + val = inw(TCO1_CNT(p)); + if (!(val & BIT(11))) { + set_bit(WDOG_HW_RUNNING, &p->wddev.status); + return true; + } + return false; +} + /* * Kernel Interfaces */ @@ -514,9 +528,6 @@ return -ENODEV; /* Cannot reset NO_REBOOT bit */ } - /* Set the NO_REBOOT bit to prevent later reboots, just for sure */ - p->update_no_reboot_bit(p->no_reboot_priv, true); - if (turn_SMI_watchdog_clear_off >= p->iTCO_version) { /* * Bit 13: TCO_EN -> 0 @@ -568,8 +579,13 @@ watchdog_set_drvdata(&p->wddev, p); platform_set_drvdata(pdev, p); - /* Make sure the watchdog is not running */ - iTCO_wdt_stop(&p->wddev); + if (!iTCO_wdt_set_running(p)) { + /* + * If the watchdog was not running set NO_REBOOT now to + * prevent later reboots. + */ + p->update_no_reboot_bit(p->no_reboot_priv, true); + } /* Check that the heartbeat value is within it's range; if not reset to the default */ diff -Nru linux-5.10.197/drivers/xen/events/events_base.c linux-5.10.205/drivers/xen/events/events_base.c --- linux-5.10.197/drivers/xen/events/events_base.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/xen/events/events_base.c 2023-12-20 14:44:42.000000000 +0000 @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -94,6 +95,7 @@ struct irq_info { struct list_head list; struct list_head eoi_list; + struct rcu_work rwork; short refcnt; short spurious_cnt; short type; /* type */ @@ -142,22 +144,12 @@ static DEFINE_MUTEX(irq_mapping_update_lock); /* - * Lock protecting event handling loop against removing event channels. - * Adding of event channels is no issue as the associated IRQ becomes active - * only after everything is setup (before request_[threaded_]irq() the handler - * can't be entered for an event, as the event channel will be unmasked only - * then). - */ -static DEFINE_RWLOCK(evtchn_rwlock); - -/* * Lock hierarchy: * * irq_mapping_update_lock - * evtchn_rwlock - * IRQ-desc lock - * percpu eoi_list_lock - * irq_info->lock + * IRQ-desc lock + * percpu eoi_list_lock + * irq_info->lock */ static LIST_HEAD(xen_irq_list_head); @@ -272,6 +264,22 @@ irq_set_chip_data(irq, info); } +static void delayed_free_irq(struct work_struct *work) +{ + struct irq_info *info = container_of(to_rcu_work(work), struct irq_info, + rwork); + unsigned int irq = info->irq; + + /* Remove the info pointer only now, with no potential users left. */ + set_info_for_irq(irq, NULL); + + kfree(info); + + /* Legacy IRQ descriptors are managed by the arch. */ + if (irq >= nr_legacy_irqs()) + irq_free_desc(irq); +} + /* Constructors for packed IRQ information. */ static int xen_irq_info_common_setup(struct irq_info *info, unsigned irq, @@ -543,7 +551,9 @@ spin_lock_irqsave(&eoi->eoi_list_lock, flags); - if (list_empty(&eoi->eoi_list)) { + elem = list_first_entry_or_null(&eoi->eoi_list, struct irq_info, + eoi_list); + if (!elem || info->eoi_time < elem->eoi_time) { list_add(&info->eoi_list, &eoi->eoi_list); mod_delayed_work_on(info->eoi_cpu, system_wq, &eoi->delayed, delay); @@ -606,33 +616,36 @@ eoi = container_of(to_delayed_work(work), struct lateeoi_work, delayed); - read_lock_irqsave(&evtchn_rwlock, flags); + rcu_read_lock(); while (true) { - spin_lock(&eoi->eoi_list_lock); + spin_lock_irqsave(&eoi->eoi_list_lock, flags); info = list_first_entry_or_null(&eoi->eoi_list, struct irq_info, eoi_list); - if (info == NULL || now < info->eoi_time) { - spin_unlock(&eoi->eoi_list_lock); + if (info == NULL) + break; + + if (now < info->eoi_time) { + mod_delayed_work_on(info->eoi_cpu, system_wq, + &eoi->delayed, + info->eoi_time - now); break; } list_del_init(&info->eoi_list); - spin_unlock(&eoi->eoi_list_lock); + spin_unlock_irqrestore(&eoi->eoi_list_lock, flags); info->eoi_time = 0; xen_irq_lateeoi_locked(info, false); } - if (info) - mod_delayed_work_on(info->eoi_cpu, system_wq, - &eoi->delayed, info->eoi_time - now); + spin_unlock_irqrestore(&eoi->eoi_list_lock, flags); - read_unlock_irqrestore(&evtchn_rwlock, flags); + rcu_read_unlock(); } static void xen_cpu_init_eoi(unsigned int cpu) @@ -647,16 +660,15 @@ void xen_irq_lateeoi(unsigned int irq, unsigned int eoi_flags) { struct irq_info *info; - unsigned long flags; - read_lock_irqsave(&evtchn_rwlock, flags); + rcu_read_lock(); info = info_for_irq(irq); if (info) xen_irq_lateeoi_locked(info, eoi_flags & XEN_EOI_FLAG_SPURIOUS); - read_unlock_irqrestore(&evtchn_rwlock, flags); + rcu_read_unlock(); } EXPORT_SYMBOL_GPL(xen_irq_lateeoi); @@ -675,6 +687,7 @@ info->type = IRQT_UNBOUND; info->refcnt = -1; + INIT_RCU_WORK(&info->rwork, delayed_free_irq); set_info_for_irq(irq, info); @@ -727,31 +740,18 @@ static void xen_free_irq(unsigned irq) { struct irq_info *info = info_for_irq(irq); - unsigned long flags; if (WARN_ON(!info)) return; - write_lock_irqsave(&evtchn_rwlock, flags); - if (!list_empty(&info->eoi_list)) lateeoi_list_del(info); list_del(&info->list); - set_info_for_irq(irq, NULL); - WARN_ON(info->refcnt > 0); - write_unlock_irqrestore(&evtchn_rwlock, flags); - - kfree(info); - - /* Legacy IRQ descriptors are managed by the arch. */ - if (irq < nr_legacy_irqs()) - return; - - irq_free_desc(irq); + queue_rcu_work(system_wq, &info->rwork); } static void xen_evtchn_close(evtchn_port_t port) @@ -1639,7 +1639,14 @@ int cpu = smp_processor_id(); struct evtchn_loop_ctrl ctrl = { 0 }; - read_lock(&evtchn_rwlock); + /* + * When closing an event channel the associated IRQ must not be freed + * until all cpus have left the event handling loop. This is ensured + * by taking the rcu_read_lock() while handling events, as freeing of + * the IRQ is handled via queue_rcu_work() _after_ closing the event + * channel. + */ + rcu_read_lock(); do { vcpu_info->evtchn_upcall_pending = 0; @@ -1652,7 +1659,7 @@ } while (vcpu_info->evtchn_upcall_pending); - read_unlock(&evtchn_rwlock); + rcu_read_unlock(); /* * Increment irq_epoch only now to defer EOIs only for diff -Nru linux-5.10.197/drivers/xen/swiotlb-xen.c linux-5.10.205/drivers/xen/swiotlb-xen.c --- linux-5.10.197/drivers/xen/swiotlb-xen.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/xen/swiotlb-xen.c 2023-12-20 14:44:42.000000000 +0000 @@ -579,4 +579,5 @@ .get_sgtable = dma_common_get_sgtable, .alloc_pages = dma_common_alloc_pages, .free_pages = dma_common_free_pages, + .max_mapping_size = swiotlb_max_mapping_size, }; diff -Nru linux-5.10.197/drivers/xen/xen-pciback/conf_space.c linux-5.10.205/drivers/xen/xen-pciback/conf_space.c --- linux-5.10.197/drivers/xen/xen-pciback/conf_space.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/xen/xen-pciback/conf_space.c 2023-12-20 14:44:42.000000000 +0000 @@ -288,12 +288,6 @@ u16 val; int ret = 0; - err = pci_read_config_word(dev, PCI_COMMAND, &val); - if (err) - return err; - if (!(val & PCI_COMMAND_INTX_DISABLE)) - ret |= INTERRUPT_TYPE_INTX; - /* * Do not trust dev->msi(x)_enabled here, as enabling could be done * bypassing the pci_*msi* functions, by the qemu. @@ -316,6 +310,19 @@ if (val & PCI_MSIX_FLAGS_ENABLE) ret |= INTERRUPT_TYPE_MSIX; } + + /* + * PCIe spec says device cannot use INTx if MSI/MSI-X is enabled, + * so check for INTx only when both are disabled. + */ + if (!ret) { + err = pci_read_config_word(dev, PCI_COMMAND, &val); + if (err) + return err; + if (!(val & PCI_COMMAND_INTX_DISABLE)) + ret |= INTERRUPT_TYPE_INTX; + } + return ret ?: INTERRUPT_TYPE_NONE; } diff -Nru linux-5.10.197/drivers/xen/xen-pciback/conf_space_capability.c linux-5.10.205/drivers/xen/xen-pciback/conf_space_capability.c --- linux-5.10.197/drivers/xen/xen-pciback/conf_space_capability.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/xen/xen-pciback/conf_space_capability.c 2023-12-20 14:44:42.000000000 +0000 @@ -236,10 +236,16 @@ return PCIBIOS_SET_FAILED; if (new_value & field_config->enable_bit) { - /* don't allow enabling together with other interrupt types */ + /* + * Don't allow enabling together with other interrupt type, but do + * allow enabling MSI(-X) while INTx is still active to please Linuxes + * MSI(-X) startup sequence. It is safe to do, as according to PCI + * spec, device with enabled MSI(-X) shouldn't use INTx. + */ int int_type = xen_pcibk_get_interrupt_type(dev); if (int_type == INTERRUPT_TYPE_NONE || + int_type == INTERRUPT_TYPE_INTX || int_type == field_config->int_type) goto write; return PCIBIOS_SET_FAILED; diff -Nru linux-5.10.197/drivers/xen/xen-pciback/conf_space_header.c linux-5.10.205/drivers/xen/xen-pciback/conf_space_header.c --- linux-5.10.197/drivers/xen/xen-pciback/conf_space_header.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/drivers/xen/xen-pciback/conf_space_header.c 2023-12-20 14:44:42.000000000 +0000 @@ -104,24 +104,9 @@ pci_clear_mwi(dev); } - if (dev_data && dev_data->allow_interrupt_control) { - if ((cmd->val ^ value) & PCI_COMMAND_INTX_DISABLE) { - if (value & PCI_COMMAND_INTX_DISABLE) { - pci_intx(dev, 0); - } else { - /* Do not allow enabling INTx together with MSI or MSI-X. */ - switch (xen_pcibk_get_interrupt_type(dev)) { - case INTERRUPT_TYPE_NONE: - pci_intx(dev, 1); - break; - case INTERRUPT_TYPE_INTX: - break; - default: - return PCIBIOS_SET_FAILED; - } - } - } - } + if (dev_data && dev_data->allow_interrupt_control && + ((cmd->val ^ value) & PCI_COMMAND_INTX_DISABLE)) + pci_intx(dev, !(value & PCI_COMMAND_INTX_DISABLE)); cmd->val = value; diff -Nru linux-5.10.197/fs/afs/dynroot.c linux-5.10.205/fs/afs/dynroot.c --- linux-5.10.197/fs/afs/dynroot.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/afs/dynroot.c 2023-12-20 14:44:42.000000000 +0000 @@ -131,8 +131,8 @@ ret = dns_query(net->net, "afsdb", name, len, "srv=1", NULL, NULL, false); - if (ret == -ENODATA) - ret = -EDESTADDRREQ; + if (ret == -ENODATA || ret == -ENOKEY) + ret = -ENOENT; return ret; } diff -Nru linux-5.10.197/fs/afs/internal.h linux-5.10.205/fs/afs/internal.h --- linux-5.10.197/fs/afs/internal.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/afs/internal.h 2023-12-20 14:44:42.000000000 +0000 @@ -546,6 +546,7 @@ }; struct afs_server_list { + struct rcu_head rcu; afs_volid_t vids[AFS_MAXTYPES]; /* Volume IDs */ refcount_t usage; unsigned char nr_servers; diff -Nru linux-5.10.197/fs/afs/rxrpc.c linux-5.10.205/fs/afs/rxrpc.c --- linux-5.10.197/fs/afs/rxrpc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/afs/rxrpc.c 2023-12-20 14:44:42.000000000 +0000 @@ -491,7 +491,7 @@ if (call->async) { if (cancel_work_sync(&call->async_work)) afs_put_call(call); - afs_put_call(call); + afs_set_call_complete(call, ret, 0); } ac->error = ret; diff -Nru linux-5.10.197/fs/afs/server_list.c linux-5.10.205/fs/afs/server_list.c --- linux-5.10.197/fs/afs/server_list.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/afs/server_list.c 2023-12-20 14:44:42.000000000 +0000 @@ -17,7 +17,7 @@ for (i = 0; i < slist->nr_servers; i++) afs_unuse_server(net, slist->servers[i].server, afs_server_trace_put_slist); - kfree(slist); + kfree_rcu(slist, rcu); } } diff -Nru linux-5.10.197/fs/afs/super.c linux-5.10.205/fs/afs/super.c --- linux-5.10.197/fs/afs/super.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/afs/super.c 2023-12-20 14:44:42.000000000 +0000 @@ -406,6 +406,8 @@ return PTR_ERR(volume); ctx->volume = volume; + if (volume->type != AFSVL_RWVOL) + ctx->flock_mode = afs_flock_mode_local; } return 0; diff -Nru linux-5.10.197/fs/afs/vl_rotate.c linux-5.10.205/fs/afs/vl_rotate.c --- linux-5.10.197/fs/afs/vl_rotate.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/afs/vl_rotate.c 2023-12-20 14:44:42.000000000 +0000 @@ -58,6 +58,12 @@ } /* Status load is ordered after lookup counter load */ + if (cell->dns_status == DNS_LOOKUP_GOT_NOT_FOUND) { + pr_warn("No record of cell %s\n", cell->name); + vc->error = -ENOENT; + return false; + } + if (cell->dns_source == DNS_RECORD_UNAVAILABLE) { vc->error = -EDESTADDRREQ; return false; @@ -285,6 +291,7 @@ */ static void afs_vl_dump_edestaddrreq(const struct afs_vl_cursor *vc) { + struct afs_cell *cell = vc->cell; static int count; int i; @@ -294,6 +301,9 @@ rcu_read_lock(); pr_notice("EDESTADDR occurred\n"); + pr_notice("CELL: %s err=%d\n", cell->name, cell->error); + pr_notice("DNS: src=%u st=%u lc=%x\n", + cell->dns_source, cell->dns_status, cell->dns_lookup_count); pr_notice("VC: ut=%lx ix=%u ni=%hu fl=%hx err=%hd\n", vc->untried, vc->index, vc->nr_iterations, vc->flags, vc->error); diff -Nru linux-5.10.197/fs/binfmt_elf_fdpic.c linux-5.10.205/fs/binfmt_elf_fdpic.c --- linux-5.10.197/fs/binfmt_elf_fdpic.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/binfmt_elf_fdpic.c 2023-12-20 14:44:42.000000000 +0000 @@ -345,10 +345,9 @@ /* there's now no turning back... the old userspace image is dead, * defunct, deceased, etc. */ + SET_PERSONALITY(exec_params.hdr); if (elf_check_fdpic(&exec_params.hdr)) - set_personality(PER_LINUX_FDPIC); - else - set_personality(PER_LINUX); + current->personality |= PER_LINUX_FDPIC; if (elf_read_implies_exec(&exec_params.hdr, executable_stack)) current->personality |= READ_IMPLIES_EXEC; diff -Nru linux-5.10.197/fs/btrfs/delalloc-space.c linux-5.10.205/fs/btrfs/delalloc-space.c --- linux-5.10.197/fs/btrfs/delalloc-space.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/btrfs/delalloc-space.c 2023-12-20 14:44:42.000000000 +0000 @@ -307,9 +307,6 @@ } else { if (current->journal_info) flush = BTRFS_RESERVE_FLUSH_LIMIT; - - if (btrfs_transaction_in_commit(fs_info)) - schedule_timeout(1); } num_bytes = ALIGN(num_bytes, fs_info->sectorsize); diff -Nru linux-5.10.197/fs/btrfs/extent-tree.c linux-5.10.205/fs/btrfs/extent-tree.c --- linux-5.10.197/fs/btrfs/extent-tree.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/btrfs/extent-tree.c 2023-12-20 14:44:42.000000000 +0000 @@ -1641,12 +1641,12 @@ parent = ref->parent; ref_root = ref->root; - if (node->ref_mod != 1) { + if (unlikely(node->ref_mod != 1)) { btrfs_err(trans->fs_info, - "btree block(%llu) has %d references rather than 1: action %d ref_root %llu parent %llu", + "btree block %llu has %d references rather than 1: action %d ref_root %llu parent %llu", node->bytenr, node->ref_mod, node->action, ref_root, parent); - return -EIO; + return -EUCLEAN; } if (node->action == BTRFS_ADD_DELAYED_REF && insert_reserved) { BUG_ON(!extent_op || !extent_op->update_flags); diff -Nru linux-5.10.197/fs/btrfs/extent_io.c linux-5.10.205/fs/btrfs/extent_io.c --- linux-5.10.197/fs/btrfs/extent_io.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/btrfs/extent_io.c 2023-12-20 14:44:42.000000000 +0000 @@ -5634,8 +5634,14 @@ char *dst = (char *)dstv; unsigned long i = start >> PAGE_SHIFT; - if (check_eb_range(eb, start, len)) + if (check_eb_range(eb, start, len)) { + /* + * Invalid range hit, reset the memory, so callers won't get + * some random garbage for their uninitialzed memory. + */ + memset(dstv, 0, len); return; + } offset = offset_in_page(start); diff -Nru linux-5.10.197/fs/btrfs/ioctl.c linux-5.10.205/fs/btrfs/ioctl.c --- linux-5.10.197/fs/btrfs/ioctl.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/btrfs/ioctl.c 2023-12-20 14:44:42.000000000 +0000 @@ -2104,7 +2104,7 @@ static noinline int copy_to_sk(struct btrfs_path *path, struct btrfs_key *key, struct btrfs_ioctl_search_key *sk, - size_t *buf_size, + u64 *buf_size, char __user *ubuf, unsigned long *sk_offset, int *num_found) @@ -2236,7 +2236,7 @@ static noinline int search_ioctl(struct inode *inode, struct btrfs_ioctl_search_key *sk, - size_t *buf_size, + u64 *buf_size, char __user *ubuf) { struct btrfs_fs_info *info = btrfs_sb(inode->i_sb); @@ -2306,7 +2306,7 @@ struct btrfs_ioctl_search_key sk; struct inode *inode; int ret; - size_t buf_size; + u64 buf_size; if (!capable(CAP_SYS_ADMIN)) return -EPERM; @@ -2340,8 +2340,8 @@ struct btrfs_ioctl_search_args_v2 args; struct inode *inode; int ret; - size_t buf_size; - const size_t buf_limit = SZ_16M; + u64 buf_size; + const u64 buf_limit = SZ_16M; if (!capable(CAP_SYS_ADMIN)) return -EPERM; @@ -3518,7 +3518,7 @@ static long btrfs_ioctl_space_info(struct btrfs_fs_info *fs_info, void __user *arg) { - struct btrfs_ioctl_space_args space_args; + struct btrfs_ioctl_space_args space_args = { 0 }; struct btrfs_ioctl_space_info space; struct btrfs_ioctl_space_info *dest; struct btrfs_ioctl_space_info *dest_orig; @@ -4858,7 +4858,7 @@ if (compat) { #if defined(CONFIG_64BIT) && defined(CONFIG_COMPAT) - struct btrfs_ioctl_send_args_32 args32; + struct btrfs_ioctl_send_args_32 args32 = { 0 }; ret = copy_from_user(&args32, argp, sizeof(args32)); if (ret) diff -Nru linux-5.10.197/fs/btrfs/ref-verify.c linux-5.10.205/fs/btrfs/ref-verify.c --- linux-5.10.197/fs/btrfs/ref-verify.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/btrfs/ref-verify.c 2023-12-20 14:44:42.000000000 +0000 @@ -804,6 +804,7 @@ dump_ref_action(fs_info, ra); kfree(ref); kfree(ra); + kfree(re); goto out_unlock; } else if (be->num_refs == 0) { btrfs_err(fs_info, @@ -813,6 +814,7 @@ dump_ref_action(fs_info, ra); kfree(ref); kfree(ra); + kfree(re); goto out_unlock; } diff -Nru linux-5.10.197/fs/btrfs/send.c linux-5.10.205/fs/btrfs/send.c --- linux-5.10.197/fs/btrfs/send.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/btrfs/send.c 2023-12-20 14:44:42.000000000 +0000 @@ -7303,7 +7303,7 @@ sctx->flags = arg->flags; sctx->send_filp = fget(arg->send_fd); - if (!sctx->send_filp) { + if (!sctx->send_filp || !(sctx->send_filp->f_mode & FMODE_WRITE)) { ret = -EBADF; goto out; } diff -Nru linux-5.10.197/fs/btrfs/super.c linux-5.10.205/fs/btrfs/super.c --- linux-5.10.197/fs/btrfs/super.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/btrfs/super.c 2023-12-20 14:44:42.000000000 +0000 @@ -2267,7 +2267,7 @@ * calculated f_bavail. */ if (!mixed && block_rsv->space_info->full && - total_free_meta - thresh < block_rsv->size) + (total_free_meta < thresh || total_free_meta - thresh < block_rsv->size)) buf->f_bavail = 0; buf->f_type = BTRFS_SUPER_MAGIC; diff -Nru linux-5.10.197/fs/btrfs/tree-log.c linux-5.10.205/fs/btrfs/tree-log.c --- linux-5.10.197/fs/btrfs/tree-log.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/btrfs/tree-log.c 2023-12-20 14:44:42.000000000 +0000 @@ -4337,7 +4337,7 @@ struct extent_buffer *leaf; int slot; int ins_nr = 0; - int start_slot; + int start_slot = 0; int ret; if (!(inode->flags & BTRFS_INODE_PREALLOC)) diff -Nru linux-5.10.197/fs/btrfs/volumes.c linux-5.10.205/fs/btrfs/volumes.c --- linux-5.10.197/fs/btrfs/volumes.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/btrfs/volumes.c 2023-12-20 14:44:42.000000000 +0000 @@ -2993,15 +2993,16 @@ read_unlock(&em_tree->lock); if (!em) { - btrfs_crit(fs_info, "unable to find logical %llu length %llu", + btrfs_crit(fs_info, + "unable to find chunk map for logical %llu length %llu", logical, length); return ERR_PTR(-EINVAL); } - if (em->start > logical || em->start + em->len < logical) { + if (em->start > logical || em->start + em->len <= logical) { btrfs_crit(fs_info, - "found a bad mapping, wanted %llu-%llu, found %llu-%llu", - logical, length, em->start, em->start + em->len); + "found a bad chunk map, wanted %llu-%llu, found %llu-%llu", + logical, logical + length, em->start, em->start + em->len); free_extent_map(em); return ERR_PTR(-EINVAL); } diff -Nru linux-5.10.197/fs/ceph/file.c linux-5.10.205/fs/ceph/file.c --- linux-5.10.197/fs/ceph/file.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/ceph/file.c 2023-12-20 14:44:42.000000000 +0000 @@ -2428,7 +2428,7 @@ ret = do_splice_direct(src_file, &src_off, dst_file, &dst_off, src_objlen, flags); /* Abort on short copies or on error */ - if (ret < src_objlen) { + if (ret < (long)src_objlen) { dout("Failed partial copy (%zd)\n", ret); goto out; } diff -Nru linux-5.10.197/fs/ceph/inode.c linux-5.10.205/fs/ceph/inode.c --- linux-5.10.197/fs/ceph/inode.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/ceph/inode.c 2023-12-20 14:44:42.000000000 +0000 @@ -635,9 +635,7 @@ ci->i_truncate_seq = truncate_seq; /* the MDS should have revoked these caps */ - WARN_ON_ONCE(issued & (CEPH_CAP_FILE_EXCL | - CEPH_CAP_FILE_RD | - CEPH_CAP_FILE_WR | + WARN_ON_ONCE(issued & (CEPH_CAP_FILE_RD | CEPH_CAP_FILE_LAZYIO)); /* * If we hold relevant caps, or in the case where we're diff -Nru linux-5.10.197/fs/cifs/cifs_spnego.c linux-5.10.205/fs/cifs/cifs_spnego.c --- linux-5.10.197/fs/cifs/cifs_spnego.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/cifs/cifs_spnego.c 2023-12-20 14:44:42.000000000 +0000 @@ -76,8 +76,8 @@ * strlen(";sec=ntlmsspi") */ #define MAX_MECH_STR_LEN 13 -/* strlen of "host=" */ -#define HOST_KEY_LEN 5 +/* strlen of ";host=" */ +#define HOST_KEY_LEN 6 /* strlen of ";ip4=" or ";ip6=" */ #define IP_KEY_LEN 5 diff -Nru linux-5.10.197/fs/cifs/cifsfs.c linux-5.10.205/fs/cifs/cifsfs.c --- linux-5.10.197/fs/cifs/cifsfs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/cifs/cifsfs.c 2023-12-20 14:44:42.000000000 +0000 @@ -1076,6 +1076,7 @@ const struct inode_operations cifs_symlink_inode_ops = { .get_link = cifs_get_link, + .setattr = cifs_setattr, .permission = cifs_permission, .listxattr = cifs_listxattr, }; @@ -1092,7 +1093,9 @@ unsigned int xid; int rc; - if (remap_flags & ~(REMAP_FILE_DEDUP | REMAP_FILE_ADVISORY)) + if (remap_flags & REMAP_FILE_DEDUP) + return -EOPNOTSUPP; + if (remap_flags & ~REMAP_FILE_ADVISORY) return -EINVAL; cifs_dbg(FYI, "clone range\n"); diff -Nru linux-5.10.197/fs/cifs/smb2ops.c linux-5.10.205/fs/cifs/smb2ops.c --- linux-5.10.197/fs/cifs/smb2ops.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/cifs/smb2ops.c 2023-12-20 14:44:42.000000000 +0000 @@ -2765,6 +2765,8 @@ (char **)&dfs_rsp, &dfs_rsp_size); } while (rc == -EAGAIN); + if (!rc && !dfs_rsp) + rc = -EIO; if (rc) { if ((rc != -ENOENT) && (rc != -EOPNOTSUPP)) cifs_tcon_dbg(VFS, "ioctl error in %s rc=%d\n", __func__, rc); diff -Nru linux-5.10.197/fs/cifs/smb2transport.c linux-5.10.205/fs/cifs/smb2transport.c --- linux-5.10.197/fs/cifs/smb2transport.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/cifs/smb2transport.c 2023-12-20 14:44:42.000000000 +0000 @@ -433,6 +433,8 @@ ptriplet->encryption.context, ses->smb3encryptionkey, SMB3_ENC_DEC_KEY_SIZE); + if (rc) + return rc; rc = generate_key(ses, ptriplet->decryption.label, ptriplet->decryption.context, ses->smb3decryptionkey, @@ -441,9 +443,6 @@ return rc; } - if (rc) - return rc; - #ifdef CONFIG_CIFS_DEBUG_DUMP_KEYS cifs_dbg(VFS, "%s: dumping generated AES session keys\n", __func__); /* diff -Nru linux-5.10.197/fs/cifs/smbdirect.c linux-5.10.205/fs/cifs/smbdirect.c --- linux-5.10.197/fs/cifs/smbdirect.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/cifs/smbdirect.c 2023-12-20 14:44:42.000000000 +0000 @@ -571,8 +571,13 @@ log_rdma_event(ERR, "rdma_resolve_addr() failed %i\n", rc); goto out; } - wait_for_completion_interruptible_timeout( + rc = wait_for_completion_interruptible_timeout( &info->ri_done, msecs_to_jiffies(RDMA_RESOLVE_TIMEOUT)); + /* e.g. if interrupted returns -ERESTARTSYS */ + if (rc < 0) { + log_rdma_event(ERR, "rdma_resolve_addr timeout rc: %i\n", rc); + goto out; + } rc = info->ri_rc; if (rc) { log_rdma_event(ERR, "rdma_resolve_addr() completed %i\n", rc); @@ -585,8 +590,13 @@ log_rdma_event(ERR, "rdma_resolve_route() failed %i\n", rc); goto out; } - wait_for_completion_interruptible_timeout( + rc = wait_for_completion_interruptible_timeout( &info->ri_done, msecs_to_jiffies(RDMA_RESOLVE_TIMEOUT)); + /* e.g. if interrupted returns -ERESTARTSYS */ + if (rc < 0) { + log_rdma_event(ERR, "rdma_resolve_addr timeout rc: %i\n", rc); + goto out; + } rc = info->ri_rc; if (rc) { log_rdma_event(ERR, "rdma_resolve_route() completed %i\n", rc); diff -Nru linux-5.10.197/fs/cifs/xattr.c linux-5.10.205/fs/cifs/xattr.c --- linux-5.10.197/fs/cifs/xattr.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/cifs/xattr.c 2023-12-20 14:44:42.000000000 +0000 @@ -157,10 +157,13 @@ if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_XATTR) goto out; - if (pTcon->ses->server->ops->set_EA) + if (pTcon->ses->server->ops->set_EA) { rc = pTcon->ses->server->ops->set_EA(xid, pTcon, full_path, name, value, (__u16)size, cifs_sb->local_nls, cifs_sb); + if (rc == 0) + inode_set_ctime_current(inode); + } break; case XATTR_CIFS_ACL: diff -Nru linux-5.10.197/fs/exfat/namei.c linux-5.10.205/fs/exfat/namei.c --- linux-5.10.197/fs/exfat/namei.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/exfat/namei.c 2023-12-20 14:44:42.000000000 +0000 @@ -330,14 +330,20 @@ if (exfat_check_max_dentries(inode)) return -ENOSPC; - /* we trust p_dir->size regardless of FAT type */ - if (exfat_find_last_cluster(sb, p_dir, &last_clu)) - return -EIO; - /* * Allocate new cluster to this directory */ - exfat_chain_set(&clu, last_clu + 1, 0, p_dir->flags); + if (ei->start_clu != EXFAT_EOF_CLUSTER) { + /* we trust p_dir->size regardless of FAT type */ + if (exfat_find_last_cluster(sb, p_dir, &last_clu)) + return -EIO; + + exfat_chain_set(&clu, last_clu + 1, 0, p_dir->flags); + } else { + /* This directory is empty */ + exfat_chain_set(&clu, EXFAT_EOF_CLUSTER, 0, + ALLOC_NO_FAT_CHAIN); + } /* allocate a cluster */ ret = exfat_alloc_cluster(inode, 1, &clu); @@ -347,6 +353,11 @@ if (exfat_zeroed_cluster(inode, clu.dir)) return -EIO; + if (ei->start_clu == EXFAT_EOF_CLUSTER) { + ei->start_clu = clu.dir; + p_dir->dir = clu.dir; + } + /* append to the FAT chain */ if (clu.flags != p_dir->flags) { /* no-fat-chain bit is disabled, @@ -644,7 +655,7 @@ info->type = exfat_get_entry_type(ep); info->attr = le16_to_cpu(ep->dentry.file.attr); info->size = le64_to_cpu(ep2->dentry.stream.valid_size); - if ((info->type == TYPE_FILE) && (info->size == 0)) { + if (info->size == 0) { info->flags = ALLOC_NO_FAT_CHAIN; info->start_clu = EXFAT_EOF_CLUSTER; } else { @@ -890,6 +901,9 @@ dentries_per_clu = sbi->dentries_per_clu; + if (p_dir->dir == EXFAT_EOF_CLUSTER) + return 0; + exfat_chain_dup(&clu, p_dir); while (clu.dir != EXFAT_EOF_CLUSTER) { @@ -1296,7 +1310,8 @@ } /* Free the clusters if new_inode is a dir(as if exfat_rmdir) */ - if (new_entry_type == TYPE_DIR) { + if (new_entry_type == TYPE_DIR && + new_ei->start_clu != EXFAT_EOF_CLUSTER) { /* new_ei, new_clu_to_free */ struct exfat_chain new_clu_to_free; diff -Nru linux-5.10.197/fs/ext4/acl.h linux-5.10.205/fs/ext4/acl.h --- linux-5.10.197/fs/ext4/acl.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/ext4/acl.h 2023-12-20 14:44:42.000000000 +0000 @@ -67,6 +67,11 @@ static inline int ext4_init_acl(handle_t *handle, struct inode *inode, struct inode *dir) { + /* usually, the umask is applied by posix_acl_create(), but if + ext4 ACL support is disabled at compile time, we need to do + it here, because posix_acl_create() will never be called */ + inode->i_mode &= ~current_umask(); + return 0; } #endif /* CONFIG_EXT4_FS_POSIX_ACL */ diff -Nru linux-5.10.197/fs/ext4/ext4.h linux-5.10.205/fs/ext4/ext4.h --- linux-5.10.197/fs/ext4/ext4.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/ext4/ext4.h 2023-12-20 14:44:42.000000000 +0000 @@ -1580,7 +1580,7 @@ struct task_struct *s_mmp_tsk; /* record the last minlen when FITRIM is called. */ - atomic_t s_last_trim_minblks; + unsigned long s_last_trim_minblks; /* Reference to checksum algorithm driver via cryptoapi */ struct crypto_shash *s_chksum_driver; diff -Nru linux-5.10.197/fs/ext4/extents.c linux-5.10.205/fs/ext4/extents.c --- linux-5.10.197/fs/ext4/extents.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/ext4/extents.c 2023-12-20 14:44:42.000000000 +0000 @@ -1003,6 +1003,11 @@ ix = curp->p_idx; } + if (unlikely(ix > EXT_MAX_INDEX(curp->p_hdr))) { + EXT4_ERROR_INODE(inode, "ix > EXT_MAX_INDEX!"); + return -EFSCORRUPTED; + } + len = EXT_LAST_INDEX(curp->p_hdr) - ix + 1; BUG_ON(len < 0); if (len > 0) { @@ -1012,11 +1017,6 @@ memmove(ix + 1, ix, len * sizeof(struct ext4_extent_idx)); } - if (unlikely(ix > EXT_MAX_INDEX(curp->p_hdr))) { - EXT4_ERROR_INODE(inode, "ix > EXT_MAX_INDEX!"); - return -EFSCORRUPTED; - } - ix->ei_block = cpu_to_le32(logical); ext4_idx_store_pblock(ix, ptr); le16_add_cpu(&curp->p_hdr->eh_entries, 1); diff -Nru linux-5.10.197/fs/ext4/extents_status.c linux-5.10.205/fs/ext4/extents_status.c --- linux-5.10.197/fs/ext4/extents_status.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/ext4/extents_status.c 2023-12-20 14:44:42.000000000 +0000 @@ -144,14 +144,17 @@ static struct kmem_cache *ext4_es_cachep; static struct kmem_cache *ext4_pending_cachep; -static int __es_insert_extent(struct inode *inode, struct extent_status *newes); +static int __es_insert_extent(struct inode *inode, struct extent_status *newes, + struct extent_status *prealloc); static int __es_remove_extent(struct inode *inode, ext4_lblk_t lblk, - ext4_lblk_t end, int *reserved); + ext4_lblk_t end, int *reserved, + struct extent_status *prealloc); static int es_reclaim_extents(struct ext4_inode_info *ei, int *nr_to_scan); static int __es_shrink(struct ext4_sb_info *sbi, int nr_to_scan, struct ext4_inode_info *locked_ei); -static void __revise_pending(struct inode *inode, ext4_lblk_t lblk, - ext4_lblk_t len); +static int __revise_pending(struct inode *inode, ext4_lblk_t lblk, + ext4_lblk_t len, + struct pending_reservation **prealloc); int __init ext4_init_es(void) { @@ -448,22 +451,49 @@ spin_unlock(&sbi->s_es_lock); } -static struct extent_status * -ext4_es_alloc_extent(struct inode *inode, ext4_lblk_t lblk, ext4_lblk_t len, - ext4_fsblk_t pblk) +static inline struct pending_reservation *__alloc_pending(bool nofail) +{ + if (!nofail) + return kmem_cache_alloc(ext4_pending_cachep, GFP_ATOMIC); + + return kmem_cache_zalloc(ext4_pending_cachep, GFP_KERNEL | __GFP_NOFAIL); +} + +static inline void __free_pending(struct pending_reservation *pr) +{ + kmem_cache_free(ext4_pending_cachep, pr); +} + +/* + * Returns true if we cannot fail to allocate memory for this extent_status + * entry and cannot reclaim it until its status changes. + */ +static inline bool ext4_es_must_keep(struct extent_status *es) +{ + /* fiemap, bigalloc, and seek_data/hole need to use it. */ + if (ext4_es_is_delayed(es)) + return true; + + return false; +} + +static inline struct extent_status *__es_alloc_extent(bool nofail) +{ + if (!nofail) + return kmem_cache_alloc(ext4_es_cachep, GFP_ATOMIC); + + return kmem_cache_zalloc(ext4_es_cachep, GFP_KERNEL | __GFP_NOFAIL); +} + +static void ext4_es_init_extent(struct inode *inode, struct extent_status *es, + ext4_lblk_t lblk, ext4_lblk_t len, ext4_fsblk_t pblk) { - struct extent_status *es; - es = kmem_cache_alloc(ext4_es_cachep, GFP_ATOMIC); - if (es == NULL) - return NULL; es->es_lblk = lblk; es->es_len = len; es->es_pblk = pblk; - /* - * We don't count delayed extent because we never try to reclaim them - */ - if (!ext4_es_is_delayed(es)) { + /* We never try to reclaim a must kept extent, so we don't count it. */ + if (!ext4_es_must_keep(es)) { if (!EXT4_I(inode)->i_es_shk_nr++) ext4_es_list_add(inode); percpu_counter_inc(&EXT4_SB(inode->i_sb)-> @@ -472,8 +502,11 @@ EXT4_I(inode)->i_es_all_nr++; percpu_counter_inc(&EXT4_SB(inode->i_sb)->s_es_stats.es_stats_all_cnt); +} - return es; +static inline void __es_free_extent(struct extent_status *es) +{ + kmem_cache_free(ext4_es_cachep, es); } static void ext4_es_free_extent(struct inode *inode, struct extent_status *es) @@ -481,8 +514,8 @@ EXT4_I(inode)->i_es_all_nr--; percpu_counter_dec(&EXT4_SB(inode->i_sb)->s_es_stats.es_stats_all_cnt); - /* Decrease the shrink counter when this es is not delayed */ - if (!ext4_es_is_delayed(es)) { + /* Decrease the shrink counter when we can reclaim the extent. */ + if (!ext4_es_must_keep(es)) { BUG_ON(EXT4_I(inode)->i_es_shk_nr == 0); if (!--EXT4_I(inode)->i_es_shk_nr) ext4_es_list_del(inode); @@ -490,7 +523,7 @@ s_es_stats.es_stats_shk_cnt); } - kmem_cache_free(ext4_es_cachep, es); + __es_free_extent(es); } /* @@ -752,7 +785,8 @@ } #endif -static int __es_insert_extent(struct inode *inode, struct extent_status *newes) +static int __es_insert_extent(struct inode *inode, struct extent_status *newes, + struct extent_status *prealloc) { struct ext4_es_tree *tree = &EXT4_I(inode)->i_es_tree; struct rb_node **p = &tree->root.rb_node; @@ -792,10 +826,15 @@ } } - es = ext4_es_alloc_extent(inode, newes->es_lblk, newes->es_len, - newes->es_pblk); + if (prealloc) + es = prealloc; + else + es = __es_alloc_extent(false); if (!es) return -ENOMEM; + ext4_es_init_extent(inode, es, newes->es_lblk, newes->es_len, + newes->es_pblk); + rb_link_node(&es->rb_node, parent, p); rb_insert_color(&es->rb_node, &tree->root); @@ -816,8 +855,12 @@ { struct extent_status newes; ext4_lblk_t end = lblk + len - 1; - int err = 0; + int err1 = 0, err2 = 0, err3 = 0; struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); + struct extent_status *es1 = NULL; + struct extent_status *es2 = NULL; + struct pending_reservation *pr = NULL; + bool revise_pending = false; if (EXT4_SB(inode->i_sb)->s_mount_state & EXT4_FC_REPLAY) return 0; @@ -845,29 +888,57 @@ ext4_es_insert_extent_check(inode, &newes); + revise_pending = sbi->s_cluster_ratio > 1 && + test_opt(inode->i_sb, DELALLOC) && + (status & (EXTENT_STATUS_WRITTEN | + EXTENT_STATUS_UNWRITTEN)); +retry: + if (err1 && !es1) + es1 = __es_alloc_extent(true); + if ((err1 || err2) && !es2) + es2 = __es_alloc_extent(true); + if ((err1 || err2 || err3) && revise_pending && !pr) + pr = __alloc_pending(true); write_lock(&EXT4_I(inode)->i_es_lock); - err = __es_remove_extent(inode, lblk, end, NULL); - if (err != 0) + + err1 = __es_remove_extent(inode, lblk, end, NULL, es1); + if (err1 != 0) goto error; -retry: - err = __es_insert_extent(inode, &newes); - if (err == -ENOMEM && __es_shrink(EXT4_SB(inode->i_sb), - 128, EXT4_I(inode))) - goto retry; - if (err == -ENOMEM && !ext4_es_is_delayed(&newes)) - err = 0; + /* Free preallocated extent if it didn't get used. */ + if (es1) { + if (!es1->es_len) + __es_free_extent(es1); + es1 = NULL; + } - if (sbi->s_cluster_ratio > 1 && test_opt(inode->i_sb, DELALLOC) && - (status & EXTENT_STATUS_WRITTEN || - status & EXTENT_STATUS_UNWRITTEN)) - __revise_pending(inode, lblk, len); + err2 = __es_insert_extent(inode, &newes, es2); + if (err2 == -ENOMEM && !ext4_es_must_keep(&newes)) + err2 = 0; + if (err2 != 0) + goto error; + /* Free preallocated extent if it didn't get used. */ + if (es2) { + if (!es2->es_len) + __es_free_extent(es2); + es2 = NULL; + } + if (revise_pending) { + err3 = __revise_pending(inode, lblk, len, &pr); + if (err3 != 0) + goto error; + if (pr) { + __free_pending(pr); + pr = NULL; + } + } error: write_unlock(&EXT4_I(inode)->i_es_lock); + if (err1 || err2 || err3) + goto retry; ext4_es_print_tree(inode); - - return err; + return 0; } /* @@ -900,7 +971,7 @@ es = __es_tree_search(&EXT4_I(inode)->i_es_tree.root, lblk); if (!es || es->es_lblk > end) - __es_insert_extent(inode, &newes); + __es_insert_extent(inode, &newes, NULL); write_unlock(&EXT4_I(inode)->i_es_lock); } @@ -1271,7 +1342,7 @@ rc->ndelonly--; node = rb_next(&pr->rb_node); rb_erase(&pr->rb_node, &tree->root); - kmem_cache_free(ext4_pending_cachep, pr); + __free_pending(pr); if (!node) break; pr = rb_entry(node, struct pending_reservation, @@ -1290,6 +1361,7 @@ * @lblk - first block in range * @end - last block in range * @reserved - number of cluster reservations released + * @prealloc - pre-allocated es to avoid memory allocation failures * * If @reserved is not NULL and delayed allocation is enabled, counts * block/cluster reservations freed by removing range and if bigalloc @@ -1297,7 +1369,8 @@ * error code on failure. */ static int __es_remove_extent(struct inode *inode, ext4_lblk_t lblk, - ext4_lblk_t end, int *reserved) + ext4_lblk_t end, int *reserved, + struct extent_status *prealloc) { struct ext4_es_tree *tree = &EXT4_I(inode)->i_es_tree; struct rb_node *node; @@ -1305,14 +1378,12 @@ struct extent_status orig_es; ext4_lblk_t len1, len2; ext4_fsblk_t block; - int err; + int err = 0; bool count_reserved = true; struct rsvd_count rc; if (reserved == NULL || !test_opt(inode->i_sb, DELALLOC)) count_reserved = false; -retry: - err = 0; es = __es_tree_search(&tree->root, lblk); if (!es) @@ -1346,14 +1417,13 @@ orig_es.es_len - len2; ext4_es_store_pblock_status(&newes, block, ext4_es_status(&orig_es)); - err = __es_insert_extent(inode, &newes); + err = __es_insert_extent(inode, &newes, prealloc); if (err) { + if (!ext4_es_must_keep(&newes)) + return 0; + es->es_lblk = orig_es.es_lblk; es->es_len = orig_es.es_len; - if ((err == -ENOMEM) && - __es_shrink(EXT4_SB(inode->i_sb), - 128, EXT4_I(inode))) - goto retry; goto out; } } else { @@ -1366,8 +1436,8 @@ } } if (count_reserved) - count_rsvd(inode, lblk, orig_es.es_len - len1 - len2, - &orig_es, &rc); + count_rsvd(inode, orig_es.es_lblk + len1, + orig_es.es_len - len1 - len2, &orig_es, &rc); goto out_get_reserved; } @@ -1433,6 +1503,7 @@ ext4_lblk_t end; int err = 0; int reserved = 0; + struct extent_status *es = NULL; if (EXT4_SB(inode->i_sb)->s_mount_state & EXT4_FC_REPLAY) return 0; @@ -1447,17 +1518,29 @@ end = lblk + len - 1; BUG_ON(end < lblk); +retry: + if (err && !es) + es = __es_alloc_extent(true); /* * ext4_clear_inode() depends on us taking i_es_lock unconditionally * so that we are sure __es_shrink() is done with the inode before it * is reclaimed. */ write_lock(&EXT4_I(inode)->i_es_lock); - err = __es_remove_extent(inode, lblk, end, &reserved); + err = __es_remove_extent(inode, lblk, end, &reserved, es); + /* Free preallocated extent if it didn't get used. */ + if (es) { + if (!es->es_len) + __es_free_extent(es); + es = NULL; + } write_unlock(&EXT4_I(inode)->i_es_lock); + if (err) + goto retry; + ext4_es_print_tree(inode); ext4_da_release_space(inode, reserved); - return err; + return 0; } static int __es_shrink(struct ext4_sb_info *sbi, int nr_to_scan, @@ -1704,11 +1787,8 @@ (*nr_to_scan)--; node = rb_next(&es->rb_node); - /* - * We can't reclaim delayed extent from status tree because - * fiemap, bigallic, and seek_data/hole need to use it. - */ - if (ext4_es_is_delayed(es)) + + if (ext4_es_must_keep(es)) goto next; if (ext4_es_is_referenced(es)) { ext4_es_clear_referenced(es); @@ -1772,7 +1852,7 @@ while (node) { es = rb_entry(node, struct extent_status, rb_node); node = rb_next(node); - if (!ext4_es_is_delayed(es)) { + if (!ext4_es_must_keep(es)) { rb_erase(&es->rb_node, &tree->root); ext4_es_free_extent(inode, es); } @@ -1859,11 +1939,13 @@ * * @inode - file containing the cluster * @lblk - logical block in the cluster to be added + * @prealloc - preallocated pending entry * * Returns 0 on successful insertion and -ENOMEM on failure. If the * pending reservation is already in the set, returns successfully. */ -static int __insert_pending(struct inode *inode, ext4_lblk_t lblk) +static int __insert_pending(struct inode *inode, ext4_lblk_t lblk, + struct pending_reservation **prealloc) { struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); struct ext4_pending_tree *tree = &EXT4_I(inode)->i_pending_tree; @@ -1889,10 +1971,15 @@ } } - pr = kmem_cache_alloc(ext4_pending_cachep, GFP_ATOMIC); - if (pr == NULL) { - ret = -ENOMEM; - goto out; + if (likely(*prealloc == NULL)) { + pr = __alloc_pending(false); + if (!pr) { + ret = -ENOMEM; + goto out; + } + } else { + pr = *prealloc; + *prealloc = NULL; } pr->lclu = lclu; @@ -1922,7 +2009,7 @@ if (pr != NULL) { tree = &EXT4_I(inode)->i_pending_tree; rb_erase(&pr->rb_node, &tree->root); - kmem_cache_free(ext4_pending_cachep, pr); + __free_pending(pr); } } @@ -1983,7 +2070,10 @@ bool allocated) { struct extent_status newes; - int err = 0; + int err1 = 0, err2 = 0, err3 = 0; + struct extent_status *es1 = NULL; + struct extent_status *es2 = NULL; + struct pending_reservation *pr = NULL; if (EXT4_SB(inode->i_sb)->s_mount_state & EXT4_FC_REPLAY) return 0; @@ -1998,29 +2088,52 @@ ext4_es_insert_extent_check(inode, &newes); +retry: + if (err1 && !es1) + es1 = __es_alloc_extent(true); + if ((err1 || err2) && !es2) + es2 = __es_alloc_extent(true); + if ((err1 || err2 || err3) && allocated && !pr) + pr = __alloc_pending(true); write_lock(&EXT4_I(inode)->i_es_lock); - err = __es_remove_extent(inode, lblk, lblk, NULL); - if (err != 0) - goto error; -retry: - err = __es_insert_extent(inode, &newes); - if (err == -ENOMEM && __es_shrink(EXT4_SB(inode->i_sb), - 128, EXT4_I(inode))) - goto retry; - if (err != 0) + err1 = __es_remove_extent(inode, lblk, lblk, NULL, es1); + if (err1 != 0) goto error; + /* Free preallocated extent if it didn't get used. */ + if (es1) { + if (!es1->es_len) + __es_free_extent(es1); + es1 = NULL; + } - if (allocated) - __insert_pending(inode, lblk); + err2 = __es_insert_extent(inode, &newes, es2); + if (err2 != 0) + goto error; + /* Free preallocated extent if it didn't get used. */ + if (es2) { + if (!es2->es_len) + __es_free_extent(es2); + es2 = NULL; + } + if (allocated) { + err3 = __insert_pending(inode, lblk, &pr); + if (err3 != 0) + goto error; + if (pr) { + __free_pending(pr); + pr = NULL; + } + } error: write_unlock(&EXT4_I(inode)->i_es_lock); + if (err1 || err2 || err3) + goto retry; ext4_es_print_tree(inode); ext4_print_pending_tree(inode); - - return err; + return 0; } /* @@ -2121,21 +2234,24 @@ * @inode - file containing the range * @lblk - logical block defining the start of range * @len - length of range in blocks + * @prealloc - preallocated pending entry * * Used after a newly allocated extent is added to the extents status tree. * Requires that the extents in the range have either written or unwritten * status. Must be called while holding i_es_lock. */ -static void __revise_pending(struct inode *inode, ext4_lblk_t lblk, - ext4_lblk_t len) +static int __revise_pending(struct inode *inode, ext4_lblk_t lblk, + ext4_lblk_t len, + struct pending_reservation **prealloc) { struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); ext4_lblk_t end = lblk + len - 1; ext4_lblk_t first, last; bool f_del = false, l_del = false; + int ret = 0; if (len == 0) - return; + return 0; /* * Two cases - block range within single cluster and block range @@ -2156,7 +2272,9 @@ f_del = __es_scan_range(inode, &ext4_es_is_delonly, first, lblk - 1); if (f_del) { - __insert_pending(inode, first); + ret = __insert_pending(inode, first, prealloc); + if (ret < 0) + goto out; } else { last = EXT4_LBLK_CMASK(sbi, end) + sbi->s_cluster_ratio - 1; @@ -2164,9 +2282,11 @@ l_del = __es_scan_range(inode, &ext4_es_is_delonly, end + 1, last); - if (l_del) - __insert_pending(inode, last); - else + if (l_del) { + ret = __insert_pending(inode, last, prealloc); + if (ret < 0) + goto out; + } else __remove_pending(inode, last); } } else { @@ -2174,18 +2294,24 @@ if (first != lblk) f_del = __es_scan_range(inode, &ext4_es_is_delonly, first, lblk - 1); - if (f_del) - __insert_pending(inode, first); - else + if (f_del) { + ret = __insert_pending(inode, first, prealloc); + if (ret < 0) + goto out; + } else __remove_pending(inode, first); last = EXT4_LBLK_CMASK(sbi, end) + sbi->s_cluster_ratio - 1; if (last != end) l_del = __es_scan_range(inode, &ext4_es_is_delonly, end + 1, last); - if (l_del) - __insert_pending(inode, last); - else + if (l_del) { + ret = __insert_pending(inode, last, prealloc); + if (ret < 0) + goto out; + } else __remove_pending(inode, last); } +out: + return ret; } diff -Nru linux-5.10.197/fs/ext4/mballoc.c linux-5.10.205/fs/ext4/mballoc.c --- linux-5.10.197/fs/ext4/mballoc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/ext4/mballoc.c 2023-12-20 14:44:42.000000000 +0000 @@ -16,6 +16,7 @@ #include #include #include +#include #include /* @@ -3514,8 +3515,7 @@ struct ext4_sb_info *sbi = EXT4_SB(ac->ac_sb); struct ext4_super_block *es = sbi->s_es; int bsbits, max; - ext4_lblk_t end; - loff_t size, start_off; + loff_t size, start_off, end; loff_t orig_size __maybe_unused; ext4_lblk_t start; struct ext4_inode_info *ei = EXT4_I(ac->ac_inode); @@ -3544,7 +3544,7 @@ /* first, let's learn actual file size * given current request is allocated */ - size = ac->ac_o_ex.fe_logical + EXT4_C2B(sbi, ac->ac_o_ex.fe_len); + size = extent_logical_end(sbi, &ac->ac_o_ex); size = size << bsbits; if (size < i_size_read(ac->ac_inode)) size = i_size_read(ac->ac_inode); @@ -3603,6 +3603,10 @@ start = max(start, rounddown(ac->ac_o_ex.fe_logical, (ext4_lblk_t)EXT4_BLOCKS_PER_GROUP(ac->ac_sb))); + /* avoid unnecessary preallocation that may trigger assertions */ + if (start + size > EXT_MAX_BLOCKS) + size = EXT_MAX_BLOCKS - start; + /* don't cover already allocated blocks in selected range */ if (ar->pleft && start <= ar->lleft) { size -= ar->lleft + 1 - start; @@ -3623,7 +3627,7 @@ /* check we don't cross already preallocated blocks */ rcu_read_lock(); list_for_each_entry_rcu(pa, &ei->i_prealloc_list, pa_inode_list) { - ext4_lblk_t pa_end; + loff_t pa_end; if (pa->pa_deleted) continue; @@ -3633,8 +3637,7 @@ continue; } - pa_end = pa->pa_lstart + EXT4_C2B(EXT4_SB(ac->ac_sb), - pa->pa_len); + pa_end = pa_logical_end(EXT4_SB(ac->ac_sb), pa); /* PA must not overlap original request */ BUG_ON(!(ac->ac_o_ex.fe_logical >= pa_end || @@ -3663,12 +3666,11 @@ /* XXX: extra loop to check we really don't overlap preallocations */ rcu_read_lock(); list_for_each_entry_rcu(pa, &ei->i_prealloc_list, pa_inode_list) { - ext4_lblk_t pa_end; + loff_t pa_end; spin_lock(&pa->pa_lock); if (pa->pa_deleted == 0) { - pa_end = pa->pa_lstart + EXT4_C2B(EXT4_SB(ac->ac_sb), - pa->pa_len); + pa_end = pa_logical_end(EXT4_SB(ac->ac_sb), pa); BUG_ON(!(start >= pa_end || end <= pa->pa_lstart)); } spin_unlock(&pa->pa_lock); @@ -3884,8 +3886,7 @@ /* all fields in this condition don't change, * so we can skip locking for them */ if (ac->ac_o_ex.fe_logical < pa->pa_lstart || - ac->ac_o_ex.fe_logical >= (pa->pa_lstart + - EXT4_C2B(sbi, pa->pa_len))) + ac->ac_o_ex.fe_logical >= pa_logical_end(sbi, pa)) continue; /* non-extent files can't have physical blocks past 2^32 */ @@ -4130,8 +4131,11 @@ pa = ac->ac_pa; if (ac->ac_b_ex.fe_len < ac->ac_g_ex.fe_len) { - int new_bex_start; - int new_bex_end; + struct ext4_free_extent ex = { + .fe_logical = ac->ac_g_ex.fe_logical, + .fe_len = ac->ac_g_ex.fe_len, + }; + loff_t orig_goal_end = extent_logical_end(sbi, &ex); /* we can't allocate as much as normalizer wants. * so, found space must get proper lstart @@ -4150,29 +4154,23 @@ * still cover original start * 3. Else, keep the best ex at start of original request. */ - new_bex_end = ac->ac_g_ex.fe_logical + - EXT4_C2B(sbi, ac->ac_g_ex.fe_len); - new_bex_start = new_bex_end - EXT4_C2B(sbi, ac->ac_b_ex.fe_len); - if (ac->ac_o_ex.fe_logical >= new_bex_start) - goto adjust_bex; + ex.fe_len = ac->ac_b_ex.fe_len; - new_bex_start = ac->ac_g_ex.fe_logical; - new_bex_end = - new_bex_start + EXT4_C2B(sbi, ac->ac_b_ex.fe_len); - if (ac->ac_o_ex.fe_logical < new_bex_end) + ex.fe_logical = orig_goal_end - EXT4_C2B(sbi, ex.fe_len); + if (ac->ac_o_ex.fe_logical >= ex.fe_logical) goto adjust_bex; - new_bex_start = ac->ac_o_ex.fe_logical; - new_bex_end = - new_bex_start + EXT4_C2B(sbi, ac->ac_b_ex.fe_len); + ex.fe_logical = ac->ac_g_ex.fe_logical; + if (ac->ac_o_ex.fe_logical < extent_logical_end(sbi, &ex)) + goto adjust_bex; + ex.fe_logical = ac->ac_o_ex.fe_logical; adjust_bex: - ac->ac_b_ex.fe_logical = new_bex_start; + ac->ac_b_ex.fe_logical = ex.fe_logical; BUG_ON(ac->ac_o_ex.fe_logical < ac->ac_b_ex.fe_logical); BUG_ON(ac->ac_o_ex.fe_len > ac->ac_b_ex.fe_len); - BUG_ON(new_bex_end > (ac->ac_g_ex.fe_logical + - EXT4_C2B(sbi, ac->ac_g_ex.fe_len))); + BUG_ON(extent_logical_end(sbi, &ex) > orig_goal_end); } /* preallocation can change ac_b_ex, thus we store actually @@ -4703,7 +4701,7 @@ if (unlikely(ac->ac_flags & EXT4_MB_HINT_GOAL_ONLY)) return; - size = ac->ac_o_ex.fe_logical + EXT4_C2B(sbi, ac->ac_o_ex.fe_len); + size = extent_logical_end(sbi, &ac->ac_o_ex); isize = (i_size_read(ac->ac_inode) + ac->ac_sb->s_blocksize - 1) >> bsbits; @@ -5859,19 +5857,19 @@ * @sb: super block for the file system * @start: starting block of the free extent in the alloc. group * @count: number of blocks to TRIM - * @group: alloc. group we are working with * @e4b: ext4 buddy for the group * * Trim "count" blocks starting at "start" in the "group". To assure that no * one will allocate those blocks, mark it as used in buddy bitmap. This must * be called with under the group lock. */ -static int ext4_trim_extent(struct super_block *sb, int start, int count, - ext4_group_t group, struct ext4_buddy *e4b) +static int ext4_trim_extent(struct super_block *sb, + int start, int count, struct ext4_buddy *e4b) __releases(bitlock) __acquires(bitlock) { struct ext4_free_extent ex; + ext4_group_t group = e4b->bd_group; int ret = 0; trace_ext4_trim_extent(sb, group, start, count); @@ -5894,6 +5892,71 @@ return ret; } +static ext4_grpblk_t ext4_last_grp_cluster(struct super_block *sb, + ext4_group_t grp) +{ + if (grp < ext4_get_groups_count(sb)) + return EXT4_CLUSTERS_PER_GROUP(sb) - 1; + return (ext4_blocks_count(EXT4_SB(sb)->s_es) - + ext4_group_first_block_no(sb, grp) - 1) >> + EXT4_CLUSTER_BITS(sb); +} + +static bool ext4_trim_interrupted(void) +{ + return fatal_signal_pending(current) || freezing(current); +} + +static int ext4_try_to_trim_range(struct super_block *sb, + struct ext4_buddy *e4b, ext4_grpblk_t start, + ext4_grpblk_t max, ext4_grpblk_t minblocks) +{ + ext4_grpblk_t next, count, free_count; + bool set_trimmed = false; + void *bitmap; + + bitmap = e4b->bd_bitmap; + if (start == 0 && max >= ext4_last_grp_cluster(sb, e4b->bd_group)) + set_trimmed = true; + start = max(e4b->bd_info->bb_first_free, start); + count = 0; + free_count = 0; + + while (start <= max) { + start = mb_find_next_zero_bit(bitmap, max + 1, start); + if (start > max) + break; + next = mb_find_next_bit(bitmap, max + 1, start); + + if ((next - start) >= minblocks) { + int ret = ext4_trim_extent(sb, start, next - start, e4b); + + if (ret && ret != -EOPNOTSUPP) + return count; + count += next - start; + } + free_count += next - start; + start = next + 1; + + if (ext4_trim_interrupted()) + return count; + + if (need_resched()) { + ext4_unlock_group(sb, e4b->bd_group); + cond_resched(); + ext4_lock_group(sb, e4b->bd_group); + } + + if ((e4b->bd_info->bb_free - free_count) < minblocks) + break; + } + + if (set_trimmed) + EXT4_MB_GRP_SET_TRIMMED(e4b->bd_info); + + return count; +} + /** * ext4_trim_all_free -- function to trim all free space in alloc. group * @sb: super block for file system @@ -5917,10 +5980,8 @@ ext4_grpblk_t start, ext4_grpblk_t max, ext4_grpblk_t minblocks) { - void *bitmap; - ext4_grpblk_t next, count = 0, free_count = 0; struct ext4_buddy e4b; - int ret = 0; + int ret; trace_ext4_trim_all_free(sb, group, start, max); @@ -5930,58 +5991,20 @@ ret, group); return ret; } - bitmap = e4b.bd_bitmap; ext4_lock_group(sb, group); - if (EXT4_MB_GRP_WAS_TRIMMED(e4b.bd_info) && - minblocks >= atomic_read(&EXT4_SB(sb)->s_last_trim_minblks)) - goto out; - - start = (e4b.bd_info->bb_first_free > start) ? - e4b.bd_info->bb_first_free : start; - - while (start <= max) { - start = mb_find_next_zero_bit(bitmap, max + 1, start); - if (start > max) - break; - next = mb_find_next_bit(bitmap, max + 1, start); - - if ((next - start) >= minblocks) { - ret = ext4_trim_extent(sb, start, - next - start, group, &e4b); - if (ret && ret != -EOPNOTSUPP) - break; - ret = 0; - count += next - start; - } - free_count += next - start; - start = next + 1; - - if (fatal_signal_pending(current)) { - count = -ERESTARTSYS; - break; - } - if (need_resched()) { - ext4_unlock_group(sb, group); - cond_resched(); - ext4_lock_group(sb, group); - } - - if ((e4b.bd_info->bb_free - free_count) < minblocks) - break; - } + if (!EXT4_MB_GRP_WAS_TRIMMED(e4b.bd_info) || + minblocks < EXT4_SB(sb)->s_last_trim_minblks) + ret = ext4_try_to_trim_range(sb, &e4b, start, max, minblocks); + else + ret = 0; - if (!ret) { - ret = count; - EXT4_MB_GRP_SET_TRIMMED(e4b.bd_info); - } -out: ext4_unlock_group(sb, group); ext4_mb_unload_buddy(&e4b); ext4_debug("trimmed %d blocks in the group %d\n", - count, group); + ret, group); return ret; } @@ -6026,7 +6049,7 @@ if (minlen > EXT4_CLUSTERS_PER_GROUP(sb)) goto out; } - if (end >= max_blks) + if (end >= max_blks - 1) end = max_blks - 1; if (end <= first_data_blk) goto out; @@ -6043,6 +6066,8 @@ end = EXT4_CLUSTERS_PER_GROUP(sb) - 1; for (group = first_group; group <= last_group; group++) { + if (ext4_trim_interrupted()) + break; grp = ext4_get_group_info(sb, group); if (!grp) continue; @@ -6061,10 +6086,9 @@ */ if (group == last_group) end = last_cluster; - if (grp->bb_free >= minlen) { cnt = ext4_trim_all_free(sb, group, first_cluster, - end, minlen); + end, minlen); if (cnt < 0) { ret = cnt; break; @@ -6080,7 +6104,7 @@ } if (!ret) - atomic_set(&EXT4_SB(sb)->s_last_trim_minblks, minlen); + EXT4_SB(sb)->s_last_trim_minblks = minlen; out: range->len = EXT4_C2B(EXT4_SB(sb), trimmed) << sb->s_blocksize_bits; @@ -6109,8 +6133,7 @@ ext4_lock_group(sb, group); - start = (e4b.bd_info->bb_first_free > start) ? - e4b.bd_info->bb_first_free : start; + start = max(e4b.bd_info->bb_first_free, start); if (end >= EXT4_CLUSTERS_PER_GROUP(sb)) end = EXT4_CLUSTERS_PER_GROUP(sb) - 1; diff -Nru linux-5.10.197/fs/ext4/mballoc.h linux-5.10.205/fs/ext4/mballoc.h --- linux-5.10.197/fs/ext4/mballoc.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/ext4/mballoc.h 2023-12-20 14:44:42.000000000 +0000 @@ -199,6 +199,20 @@ (fex->fe_start << EXT4_SB(sb)->s_cluster_bits); } +static inline loff_t extent_logical_end(struct ext4_sb_info *sbi, + struct ext4_free_extent *fex) +{ + /* Use loff_t to avoid end exceeding ext4_lblk_t max. */ + return (loff_t)fex->fe_logical + EXT4_C2B(sbi, fex->fe_len); +} + +static inline loff_t pa_logical_end(struct ext4_sb_info *sbi, + struct ext4_prealloc_space *pa) +{ + /* Use loff_t to avoid end exceeding ext4_lblk_t max. */ + return (loff_t)pa->pa_lstart + EXT4_C2B(sbi, pa->pa_len); +} + typedef int (*ext4_mballoc_query_range_fn)( struct super_block *sb, ext4_group_t agno, diff -Nru linux-5.10.197/fs/ext4/resize.c linux-5.10.205/fs/ext4/resize.c --- linux-5.10.197/fs/ext4/resize.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/ext4/resize.c 2023-12-20 14:44:42.000000000 +0000 @@ -554,13 +554,8 @@ if (meta_bg == 0 && !ext4_bg_has_super(sb, group)) goto handle_itb; - if (meta_bg == 1) { - ext4_group_t first_group; - first_group = ext4_meta_bg_first_group(sb, group); - if (first_group != group + 1 && - first_group != group + EXT4_DESC_PER_BLOCK(sb) - 1) - goto handle_itb; - } + if (meta_bg == 1) + goto handle_itb; block = start + ext4_bg_has_super(sb, group); /* Copy all of the GDT blocks into the backup in this group */ @@ -1543,6 +1538,8 @@ int gdb_num_end = ((group + flex_gd->count - 1) / EXT4_DESC_PER_BLOCK(sb)); int meta_bg = ext4_has_feature_meta_bg(sb); + sector_t padding_blocks = meta_bg ? 0 : sbi->s_sbh->b_blocknr - + ext4_group_first_block_no(sb, 0); sector_t old_gdb = 0; update_backups(sb, ext4_group_first_block_no(sb, 0), @@ -1554,8 +1551,8 @@ gdb_num); if (old_gdb == gdb_bh->b_blocknr) continue; - update_backups(sb, gdb_bh->b_blocknr, gdb_bh->b_data, - gdb_bh->b_size, meta_bg); + update_backups(sb, gdb_bh->b_blocknr - padding_blocks, + gdb_bh->b_data, gdb_bh->b_size, meta_bg); old_gdb = gdb_bh->b_blocknr; } } @@ -1916,9 +1913,7 @@ errout: ret = ext4_journal_stop(handle); - if (!err) - err = ret; - return ret; + return err ? err : ret; invalid_resize_inode: ext4_error(sb, "corrupted/inconsistent resize inode"); diff -Nru linux-5.10.197/fs/f2fs/compress.c linux-5.10.205/fs/f2fs/compress.c --- linux-5.10.197/fs/f2fs/compress.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/f2fs/compress.c 2023-12-20 14:44:42.000000000 +0000 @@ -1574,7 +1574,7 @@ int f2fs_init_page_array_cache(struct f2fs_sb_info *sbi) { dev_t dev = sbi->sb->s_bdev->bd_dev; - char slab_name[32]; + char slab_name[35]; sprintf(slab_name, "f2fs_page_array_entry-%u:%u", MAJOR(dev), MINOR(dev)); diff -Nru linux-5.10.197/fs/f2fs/file.c linux-5.10.205/fs/f2fs/file.c --- linux-5.10.197/fs/f2fs/file.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/f2fs/file.c 2023-12-20 14:44:42.000000000 +0000 @@ -3315,6 +3315,7 @@ return -EOPNOTSUPP; map.m_lblk = 0; + map.m_pblk = 0; map.m_next_pgofs = NULL; map.m_next_extent = &m_next_extent; map.m_seg_type = NO_CHECK_TYPE; diff -Nru linux-5.10.197/fs/f2fs/gc.c linux-5.10.205/fs/f2fs/gc.c --- linux-5.10.197/fs/f2fs/gc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/f2fs/gc.c 2023-12-20 14:44:42.000000000 +0000 @@ -1451,7 +1451,8 @@ if (phase == 3) { inode = f2fs_iget(sb, dni.ino); - if (IS_ERR(inode) || is_bad_inode(inode)) { + if (IS_ERR(inode) || is_bad_inode(inode) || + special_file(inode->i_mode)) { set_sbi_flag(sbi, SBI_NEED_FSCK); continue; } diff -Nru linux-5.10.197/fs/fuse/dax.c linux-5.10.205/fs/fuse/dax.c --- linux-5.10.197/fs/fuse/dax.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/fuse/dax.c 2023-12-20 14:44:42.000000000 +0000 @@ -1228,6 +1228,7 @@ if (fc->dax) { fuse_free_dax_mem_ranges(&fc->dax->free_ranges); kfree(fc->dax); + fc->dax = NULL; } } diff -Nru linux-5.10.197/fs/gfs2/inode.c linux-5.10.205/fs/gfs2/inode.c --- linux-5.10.197/fs/gfs2/inode.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/gfs2/inode.c 2023-12-20 14:44:42.000000000 +0000 @@ -1835,16 +1835,24 @@ int gfs2_permission(struct inode *inode, int mask) { + int may_not_block = mask & MAY_NOT_BLOCK; struct gfs2_inode *ip; struct gfs2_holder i_gh; + struct gfs2_glock *gl; int error; gfs2_holder_mark_uninitialized(&i_gh); ip = GFS2_I(inode); - if (gfs2_glock_is_locked_by_me(ip->i_gl) == NULL) { - if (mask & MAY_NOT_BLOCK) + gl = rcu_dereference_check(ip->i_gl, !may_not_block); + if (unlikely(!gl)) { + /* inode is getting torn down, must be RCU mode */ + WARN_ON_ONCE(!may_not_block); + return -ECHILD; + } + if (gfs2_glock_is_locked_by_me(gl) == NULL) { + if (may_not_block) return -ECHILD; - error = gfs2_glock_nq_init(ip->i_gl, LM_ST_SHARED, LM_FLAG_ANY, &i_gh); + error = gfs2_glock_nq_init(gl, LM_ST_SHARED, LM_FLAG_ANY, &i_gh); if (error) return error; } diff -Nru linux-5.10.197/fs/gfs2/quota.c linux-5.10.205/fs/gfs2/quota.c --- linux-5.10.197/fs/gfs2/quota.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/gfs2/quota.c 2023-12-20 14:44:42.000000000 +0000 @@ -431,6 +431,17 @@ (sync_gen && (qd->qd_sync_gen >= *sync_gen))) return 0; + /* + * If qd_change is 0 it means a pending quota change was negated. + * We should not sync it, but we still have a qd reference and slot + * reference taken by gfs2_quota_change -> do_qc that need to be put. + */ + if (!qd->qd_change && test_and_clear_bit(QDF_CHANGE, &qd->qd_flags)) { + slot_put(qd); + qd_put(qd); + return 0; + } + if (!lockref_get_not_dead(&qd->qd_lockref)) return 0; diff -Nru linux-5.10.197/fs/gfs2/super.c linux-5.10.205/fs/gfs2/super.c --- linux-5.10.197/fs/gfs2/super.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/gfs2/super.c 2023-12-20 14:44:42.000000000 +0000 @@ -1471,7 +1471,7 @@ wait_on_bit_io(&ip->i_flags, GIF_GLOP_PENDING, TASK_UNINTERRUPTIBLE); gfs2_glock_add_to_lru(ip->i_gl); gfs2_glock_put_eventually(ip->i_gl); - ip->i_gl = NULL; + rcu_assign_pointer(ip->i_gl, NULL); } } diff -Nru linux-5.10.197/fs/inode.c linux-5.10.205/fs/inode.c --- linux-5.10.197/fs/inode.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/inode.c 2023-12-20 14:44:42.000000000 +0000 @@ -2393,6 +2393,22 @@ EXPORT_SYMBOL(vfs_ioc_fssetxattr_check); /** + * inode_set_ctime_current - set the ctime to current_time + * @inode: inode + * + * Set the inode->i_ctime to the current value for the inode. Returns + * the current value that was assigned to i_ctime. + */ +struct timespec64 inode_set_ctime_current(struct inode *inode) +{ + struct timespec64 now = current_time(inode); + + inode_set_ctime(inode, now.tv_sec, now.tv_nsec); + return now; +} +EXPORT_SYMBOL(inode_set_ctime_current); + +/** * in_group_or_capable - check whether caller is CAP_FSETID privileged * @inode: inode to check * @gid: the new/current gid of @inode diff -Nru linux-5.10.197/fs/jbd2/recovery.c linux-5.10.205/fs/jbd2/recovery.c --- linux-5.10.197/fs/jbd2/recovery.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/jbd2/recovery.c 2023-12-20 14:44:42.000000000 +0000 @@ -287,6 +287,8 @@ journal_superblock_t * sb; struct recovery_info info; + errseq_t wb_err; + struct address_space *mapping; memset(&info, 0, sizeof(info)); sb = journal->j_superblock; @@ -304,6 +306,9 @@ return 0; } + wb_err = 0; + mapping = journal->j_fs_dev->bd_inode->i_mapping; + errseq_check_and_advance(&mapping->wb_err, &wb_err); err = do_one_pass(journal, &info, PASS_SCAN); if (!err) err = do_one_pass(journal, &info, PASS_REVOKE); @@ -324,6 +329,9 @@ err2 = sync_blockdev(journal->j_fs_dev); if (!err) err = err2; + err2 = errseq_check_and_advance(&mapping->wb_err, &wb_err); + if (!err) + err = err2; /* Make sure all replayed data is on permanent storage */ if (journal->j_flags & JBD2_BARRIER) { err2 = blkdev_issue_flush(journal->j_fs_dev, GFP_KERNEL); diff -Nru linux-5.10.197/fs/jfs/jfs_dmap.c linux-5.10.205/fs/jfs/jfs_dmap.c --- linux-5.10.197/fs/jfs/jfs_dmap.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/jfs/jfs_dmap.c 2023-12-20 14:44:42.000000000 +0000 @@ -87,7 +87,7 @@ static int dbExtend(struct inode *ip, s64 blkno, s64 nblocks, s64 addnblocks); static int dbFindBits(u32 word, int l2nb); static int dbFindCtl(struct bmap * bmp, int l2nb, int level, s64 * blkno); -static int dbFindLeaf(dmtree_t * tp, int l2nb, int *leafidx); +static int dbFindLeaf(dmtree_t *tp, int l2nb, int *leafidx, bool is_ctl); static int dbFreeBits(struct bmap * bmp, struct dmap * dp, s64 blkno, int nblocks); static int dbFreeDmap(struct bmap * bmp, struct dmap * dp, s64 blkno, @@ -180,7 +180,8 @@ bmp->db_nfree = le64_to_cpu(dbmp_le->dn_nfree); bmp->db_l2nbperpage = le32_to_cpu(dbmp_le->dn_l2nbperpage); - if (bmp->db_l2nbperpage > L2PSIZE - L2MINBLOCKSIZE) { + if (bmp->db_l2nbperpage > L2PSIZE - L2MINBLOCKSIZE || + bmp->db_l2nbperpage < 0) { err = -EINVAL; goto err_release_metapage; } @@ -194,6 +195,12 @@ bmp->db_maxlevel = le32_to_cpu(dbmp_le->dn_maxlevel); bmp->db_maxag = le32_to_cpu(dbmp_le->dn_maxag); bmp->db_agpref = le32_to_cpu(dbmp_le->dn_agpref); + if (bmp->db_maxag >= MAXAG || bmp->db_maxag < 0 || + bmp->db_agpref >= MAXAG || bmp->db_agpref < 0) { + err = -EINVAL; + goto err_release_metapage; + } + bmp->db_aglevel = le32_to_cpu(dbmp_le->dn_aglevel); bmp->db_agheight = le32_to_cpu(dbmp_le->dn_agheight); bmp->db_agwidth = le32_to_cpu(dbmp_le->dn_agwidth); @@ -1778,7 +1785,7 @@ * dbFindLeaf() returns the index of the leaf at which * free space was found. */ - rc = dbFindLeaf((dmtree_t *) dcp, l2nb, &leafidx); + rc = dbFindLeaf((dmtree_t *) dcp, l2nb, &leafidx, true); /* release the buffer. */ @@ -2025,7 +2032,7 @@ * free space. if sufficient free space is found, dbFindLeaf() * returns the index of the leaf at which free space was found. */ - if (dbFindLeaf((dmtree_t *) & dp->tree, l2nb, &leafidx)) + if (dbFindLeaf((dmtree_t *) &dp->tree, l2nb, &leafidx, false)) return -ENOSPC; if (leafidx < 0) @@ -2985,14 +2992,18 @@ * leafidx - return pointer to be set to the index of the leaf * describing at least l2nb free blocks if sufficient * free blocks are found. + * is_ctl - determines if the tree is of type ctl * * RETURN VALUES: * 0 - success * -ENOSPC - insufficient free blocks. */ -static int dbFindLeaf(dmtree_t * tp, int l2nb, int *leafidx) +static int dbFindLeaf(dmtree_t *tp, int l2nb, int *leafidx, bool is_ctl) { int ti, n = 0, k, x = 0; + int max_size; + + max_size = is_ctl ? CTLTREESIZE : TREESIZE; /* first check the root of the tree to see if there is * sufficient free space. @@ -3013,6 +3024,8 @@ /* sufficient free space found. move to the next * level (or quit if this is the last level). */ + if (x + n > max_size) + return -ENOSPC; if (l2nb <= tp->dmt_stree[x + n]) break; } diff -Nru linux-5.10.197/fs/jfs/jfs_imap.c linux-5.10.205/fs/jfs/jfs_imap.c --- linux-5.10.197/fs/jfs/jfs_imap.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/jfs/jfs_imap.c 2023-12-20 14:44:42.000000000 +0000 @@ -1322,7 +1322,7 @@ int diAlloc(struct inode *pip, bool dir, struct inode *ip) { int rc, ino, iagno, addext, extno, bitno, sword; - int nwords, rem, i, agno; + int nwords, rem, i, agno, dn_numag; u32 mask, inosmap, extsmap; struct inode *ipimap; struct metapage *mp; @@ -1358,6 +1358,9 @@ /* get the ag number of this iag */ agno = BLKTOAG(JFS_IP(pip)->agstart, JFS_SBI(pip->i_sb)); + dn_numag = JFS_SBI(pip->i_sb)->bmap->db_numag; + if (agno < 0 || agno > dn_numag) + return -EIO; if (atomic_read(&JFS_SBI(pip->i_sb)->bmap->db_active[agno])) { /* diff -Nru linux-5.10.197/fs/nfs/direct.c linux-5.10.205/fs/nfs/direct.c --- linux-5.10.197/fs/nfs/direct.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/nfs/direct.c 2023-12-20 14:44:42.000000000 +0000 @@ -525,7 +525,9 @@ kref_get(&head->wb_kref); } -static void nfs_direct_join_group(struct list_head *list, struct inode *inode) +static void nfs_direct_join_group(struct list_head *list, + struct nfs_commit_info *cinfo, + struct inode *inode) { struct nfs_page *req, *subreq; @@ -547,7 +549,7 @@ nfs_release_request(subreq); } } while ((subreq = subreq->wb_this_page) != req); - nfs_join_page_group(req, inode); + nfs_join_page_group(req, cinfo, inode); } } @@ -573,7 +575,7 @@ nfs_init_cinfo_from_dreq(&cinfo, dreq); nfs_direct_write_scan_commit_list(dreq->inode, &reqs, &cinfo); - nfs_direct_join_group(&reqs, dreq->inode); + nfs_direct_join_group(&reqs, &cinfo, dreq->inode); dreq->count = 0; dreq->max_count = 0; diff -Nru linux-5.10.197/fs/nfs/flexfilelayout/flexfilelayout.c linux-5.10.205/fs/nfs/flexfilelayout/flexfilelayout.c --- linux-5.10.197/fs/nfs/flexfilelayout/flexfilelayout.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/nfs/flexfilelayout/flexfilelayout.c 2023-12-20 14:44:42.000000000 +0000 @@ -1240,6 +1240,7 @@ case -EPFNOSUPPORT: case -EPROTONOSUPPORT: case -EOPNOTSUPP: + case -EINVAL: case -ECONNREFUSED: case -ECONNRESET: case -EHOSTDOWN: diff -Nru linux-5.10.197/fs/nfs/nfs4proc.c linux-5.10.205/fs/nfs/nfs4proc.c --- linux-5.10.197/fs/nfs/nfs4proc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/nfs/nfs4proc.c 2023-12-20 14:44:42.000000000 +0000 @@ -5508,7 +5508,7 @@ msg->rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_WRITE]; nfs4_init_sequence(&hdr->args.seq_args, &hdr->res.seq_res, 0, 0); - nfs4_state_protect_write(server->nfs_client, clnt, msg, hdr); + nfs4_state_protect_write(hdr->ds_clp ? hdr->ds_clp : server->nfs_client, clnt, msg, hdr); } static void nfs4_proc_commit_rpc_prepare(struct rpc_task *task, struct nfs_commit_data *data) @@ -5549,7 +5549,8 @@ data->res.server = server; msg->rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_COMMIT]; nfs4_init_sequence(&data->args.seq_args, &data->res.seq_res, 1, 0); - nfs4_state_protect(server->nfs_client, NFS_SP4_MACH_CRED_COMMIT, clnt, msg); + nfs4_state_protect(data->ds_clp ? data->ds_clp : server->nfs_client, + NFS_SP4_MACH_CRED_COMMIT, clnt, msg); } static int _nfs4_proc_commit(struct file *dst, struct nfs_commitargs *args, @@ -10408,7 +10409,9 @@ */ struct nfs_client *clp = NFS_SERVER(inode)->nfs_client; - nfs4_schedule_state_manager(clp); + set_bit(NFS4CLNT_RUN_MANAGER, &clp->cl_state); + clear_bit(NFS4CLNT_MANAGER_AVAILABLE, &clp->cl_state); + wake_up_var(&clp->cl_state); } static const struct inode_operations nfs4_dir_inode_operations = { diff -Nru linux-5.10.197/fs/nfs/nfs4state.c linux-5.10.205/fs/nfs/nfs4state.c --- linux-5.10.197/fs/nfs/nfs4state.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/nfs/nfs4state.c 2023-12-20 14:44:42.000000000 +0000 @@ -1212,17 +1212,23 @@ { struct task_struct *task; char buf[INET6_ADDRSTRLEN + sizeof("-manager") + 1]; - struct rpc_clnt *cl = clp->cl_rpcclient; - - while (cl != cl->cl_parent) - cl = cl->cl_parent; + struct rpc_clnt *clnt = clp->cl_rpcclient; + bool swapon = false; set_bit(NFS4CLNT_RUN_MANAGER, &clp->cl_state); - if (test_and_set_bit(NFS4CLNT_MANAGER_AVAILABLE, &clp->cl_state) != 0) { - wake_up_var(&clp->cl_state); - return; + + if (atomic_read(&clnt->cl_swapper)) { + swapon = !test_and_set_bit(NFS4CLNT_MANAGER_AVAILABLE, + &clp->cl_state); + if (!swapon) { + wake_up_var(&clp->cl_state); + return; + } } - set_bit(NFS4CLNT_MANAGER_RUNNING, &clp->cl_state); + + if (test_and_set_bit(NFS4CLNT_MANAGER_RUNNING, &clp->cl_state) != 0) + return; + __module_get(THIS_MODULE); refcount_inc(&clp->cl_count); @@ -1239,8 +1245,9 @@ __func__, PTR_ERR(task)); if (!nfs_client_init_is_complete(clp)) nfs_mark_client_ready(clp, PTR_ERR(task)); + if (swapon) + clear_bit(NFS4CLNT_MANAGER_AVAILABLE, &clp->cl_state); nfs4_clear_state_manager_bit(clp); - clear_bit(NFS4CLNT_MANAGER_AVAILABLE, &clp->cl_state); nfs_put_client(clp); module_put(THIS_MODULE); } @@ -2683,6 +2690,13 @@ nfs4_end_drain_session(clp); nfs4_clear_state_manager_bit(clp); + if (test_bit(NFS4CLNT_RUN_MANAGER, &clp->cl_state) && + !test_and_set_bit(NFS4CLNT_MANAGER_RUNNING, + &clp->cl_state)) { + memflags = memalloc_nofs_save(); + continue; + } + if (!test_and_set_bit(NFS4CLNT_RECALL_RUNNING, &clp->cl_state)) { if (test_and_clear_bit(NFS4CLNT_DELEGRETURN, &clp->cl_state)) { nfs_client_return_marked_delegations(clp); @@ -2721,22 +2735,25 @@ allow_signal(SIGKILL); again: - set_bit(NFS4CLNT_MANAGER_RUNNING, &clp->cl_state); nfs4_state_manager(clp); - if (atomic_read(&cl->cl_swapper)) { + + if (test_bit(NFS4CLNT_MANAGER_AVAILABLE, &clp->cl_state) && + !test_bit(NFS4CLNT_MANAGER_RUNNING, &clp->cl_state)) { wait_var_event_interruptible(&clp->cl_state, test_bit(NFS4CLNT_RUN_MANAGER, &clp->cl_state)); - if (atomic_read(&cl->cl_swapper) && - test_bit(NFS4CLNT_RUN_MANAGER, &clp->cl_state)) + if (!atomic_read(&cl->cl_swapper)) + clear_bit(NFS4CLNT_MANAGER_AVAILABLE, &clp->cl_state); + if (refcount_read(&clp->cl_count) > 1 && !signalled() && + !test_and_set_bit(NFS4CLNT_MANAGER_RUNNING, &clp->cl_state)) goto again; /* Either no longer a swapper, or were signalled */ + clear_bit(NFS4CLNT_MANAGER_AVAILABLE, &clp->cl_state); } - clear_bit(NFS4CLNT_MANAGER_AVAILABLE, &clp->cl_state); if (refcount_read(&clp->cl_count) > 1 && !signalled() && test_bit(NFS4CLNT_RUN_MANAGER, &clp->cl_state) && - !test_and_set_bit(NFS4CLNT_MANAGER_AVAILABLE, &clp->cl_state)) + !test_and_set_bit(NFS4CLNT_MANAGER_RUNNING, &clp->cl_state)) goto again; nfs_put_client(clp); diff -Nru linux-5.10.197/fs/nfs/pnfs.c linux-5.10.205/fs/nfs/pnfs.c --- linux-5.10.197/fs/nfs/pnfs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/nfs/pnfs.c 2023-12-20 14:44:42.000000000 +0000 @@ -2633,31 +2633,44 @@ return mode == 0; } -static int -pnfs_layout_return_unused_byserver(struct nfs_server *server, void *data) +static int pnfs_layout_return_unused_byserver(struct nfs_server *server, + void *data) { const struct pnfs_layout_range *range = data; + const struct cred *cred; struct pnfs_layout_hdr *lo; struct inode *inode; + nfs4_stateid stateid; + enum pnfs_iomode iomode; + restart: rcu_read_lock(); list_for_each_entry_rcu(lo, &server->layouts, plh_layouts) { - if (!pnfs_layout_can_be_returned(lo) || + inode = lo->plh_inode; + if (!inode || !pnfs_layout_can_be_returned(lo) || test_bit(NFS_LAYOUT_RETURN_REQUESTED, &lo->plh_flags)) continue; - inode = lo->plh_inode; spin_lock(&inode->i_lock); - if (!pnfs_should_return_unused_layout(lo, range)) { + if (!lo->plh_inode || + !pnfs_should_return_unused_layout(lo, range)) { spin_unlock(&inode->i_lock); continue; } + pnfs_get_layout_hdr(lo); + pnfs_set_plh_return_info(lo, range->iomode, 0); + if (pnfs_mark_matching_lsegs_return(lo, &lo->plh_return_segs, + range, 0) != 0 || + !pnfs_prepare_layoutreturn(lo, &stateid, &cred, &iomode)) { + spin_unlock(&inode->i_lock); + rcu_read_unlock(); + pnfs_put_layout_hdr(lo); + cond_resched(); + goto restart; + } spin_unlock(&inode->i_lock); - inode = pnfs_grab_inode_layout_hdr(lo); - if (!inode) - continue; rcu_read_unlock(); - pnfs_mark_layout_for_return(inode, range); - iput(inode); + pnfs_send_layoutreturn(lo, &stateid, &cred, iomode, false); + pnfs_put_layout_hdr(lo); cond_resched(); goto restart; } diff -Nru linux-5.10.197/fs/nfs/sysfs.c linux-5.10.205/fs/nfs/sysfs.c --- linux-5.10.197/fs/nfs/sysfs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/nfs/sysfs.c 2023-12-20 14:44:42.000000000 +0000 @@ -18,7 +18,7 @@ #include "sysfs.h" struct kobject *nfs_client_kobj; -static struct kset *nfs_client_kset; +static struct kset *nfs_kset; static void nfs_netns_object_release(struct kobject *kobj) { @@ -55,13 +55,13 @@ int nfs_sysfs_init(void) { - nfs_client_kset = kset_create_and_add("nfs", NULL, fs_kobj); - if (!nfs_client_kset) + nfs_kset = kset_create_and_add("nfs", NULL, fs_kobj); + if (!nfs_kset) return -ENOMEM; - nfs_client_kobj = nfs_netns_object_alloc("net", nfs_client_kset, NULL); + nfs_client_kobj = nfs_netns_object_alloc("net", nfs_kset, NULL); if (!nfs_client_kobj) { - kset_unregister(nfs_client_kset); - nfs_client_kset = NULL; + kset_unregister(nfs_kset); + nfs_kset = NULL; return -ENOMEM; } return 0; @@ -70,7 +70,7 @@ void nfs_sysfs_exit(void) { kobject_put(nfs_client_kobj); - kset_unregister(nfs_client_kset); + kset_unregister(nfs_kset); } static ssize_t nfs_netns_identifier_show(struct kobject *kobj, @@ -158,7 +158,7 @@ p = kzalloc(sizeof(*p), GFP_KERNEL); if (p) { p->net = net; - p->kobject.kset = nfs_client_kset; + p->kobject.kset = nfs_kset; if (kobject_init_and_add(&p->kobject, &nfs_netns_client_type, parent, "nfs_client") == 0) return p; diff -Nru linux-5.10.197/fs/nfs/write.c linux-5.10.205/fs/nfs/write.c --- linux-5.10.197/fs/nfs/write.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/nfs/write.c 2023-12-20 14:44:42.000000000 +0000 @@ -58,7 +58,8 @@ static const struct nfs_commit_completion_ops nfs_commit_completion_ops; static const struct nfs_rw_ops nfs_rw_write_ops; static void nfs_inode_remove_request(struct nfs_page *req); -static void nfs_clear_request_commit(struct nfs_page *req); +static void nfs_clear_request_commit(struct nfs_commit_info *cinfo, + struct nfs_page *req); static void nfs_init_cinfo_from_inode(struct nfs_commit_info *cinfo, struct inode *inode); static struct nfs_page * @@ -500,8 +501,8 @@ * the (former) group. All subrequests are removed from any write or commit * lists, unlinked from the group and destroyed. */ -void -nfs_join_page_group(struct nfs_page *head, struct inode *inode) +void nfs_join_page_group(struct nfs_page *head, struct nfs_commit_info *cinfo, + struct inode *inode) { struct nfs_page *subreq; struct nfs_page *destroy_list = NULL; @@ -531,7 +532,7 @@ * Commit list removal accounting is done after locks are dropped */ subreq = head; do { - nfs_clear_request_commit(subreq); + nfs_clear_request_commit(cinfo, subreq); subreq = subreq->wb_this_page; } while (subreq != head); @@ -565,8 +566,10 @@ { struct inode *inode = page_file_mapping(page)->host; struct nfs_page *head; + struct nfs_commit_info cinfo; int ret; + nfs_init_cinfo_from_inode(&cinfo, inode); /* * A reference is taken only on the head request which acts as a * reference to the whole page group - the group will not be destroyed @@ -583,7 +586,7 @@ return ERR_PTR(ret); } - nfs_join_page_group(head, inode); + nfs_join_page_group(head, &cinfo, inode); return head; } @@ -944,18 +947,16 @@ } /* Called holding the request lock on @req */ -static void -nfs_clear_request_commit(struct nfs_page *req) +static void nfs_clear_request_commit(struct nfs_commit_info *cinfo, + struct nfs_page *req) { if (test_bit(PG_CLEAN, &req->wb_flags)) { struct nfs_open_context *ctx = nfs_req_openctx(req); struct inode *inode = d_inode(ctx->dentry); - struct nfs_commit_info cinfo; - nfs_init_cinfo_from_inode(&cinfo, inode); mutex_lock(&NFS_I(inode)->commit_mutex); - if (!pnfs_clear_request_commit(req, &cinfo)) { - nfs_request_remove_commit_list(req, &cinfo); + if (!pnfs_clear_request_commit(req, cinfo)) { + nfs_request_remove_commit_list(req, cinfo); } mutex_unlock(&NFS_I(inode)->commit_mutex); nfs_clear_page_commit(req->wb_page); diff -Nru linux-5.10.197/fs/nfsd/nfs4state.c linux-5.10.205/fs/nfsd/nfs4state.c --- linux-5.10.197/fs/nfsd/nfs4state.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/nfsd/nfs4state.c 2023-12-20 14:44:42.000000000 +0000 @@ -2647,7 +2647,7 @@ /* XXX: alternatively, we could get/drop in seq start/stop */ drop_client(clp); - return 0; + return seq_release(inode, file); } static const struct file_operations client_states_fops = { diff -Nru linux-5.10.197/fs/nfsd/vfs.c linux-5.10.205/fs/nfsd/vfs.c --- linux-5.10.197/fs/nfsd/vfs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/nfsd/vfs.c 2023-12-20 14:44:42.000000000 +0000 @@ -1758,6 +1758,12 @@ if (!flen || isdotent(fname, flen) || !tlen || isdotent(tname, tlen)) goto out; + err = (rqstp->rq_vers == 2) ? nfserr_acces : nfserr_xdev; + if (ffhp->fh_export->ex_path.mnt != tfhp->fh_export->ex_path.mnt) + goto out; + if (ffhp->fh_export->ex_path.dentry != tfhp->fh_export->ex_path.dentry) + goto out; + retry: host_err = fh_want_write(ffhp); if (host_err) { @@ -1792,12 +1798,6 @@ if (ndentry == trap) goto out_dput_new; - host_err = -EXDEV; - if (ffhp->fh_export->ex_path.mnt != tfhp->fh_export->ex_path.mnt) - goto out_dput_new; - if (ffhp->fh_export->ex_path.dentry != tfhp->fh_export->ex_path.dentry) - goto out_dput_new; - if (nfsd_has_cached_files(ndentry)) { has_cached = true; goto out_dput_old; diff -Nru linux-5.10.197/fs/nilfs2/gcinode.c linux-5.10.205/fs/nilfs2/gcinode.c --- linux-5.10.197/fs/nilfs2/gcinode.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/nilfs2/gcinode.c 2023-12-20 14:44:42.000000000 +0000 @@ -73,10 +73,8 @@ struct the_nilfs *nilfs = inode->i_sb->s_fs_info; err = nilfs_dat_translate(nilfs->ns_dat, vbn, &pbn); - if (unlikely(err)) { /* -EIO, -ENOMEM, -ENOENT */ - brelse(bh); + if (unlikely(err)) /* -EIO, -ENOMEM, -ENOENT */ goto failed; - } } lock_buffer(bh); @@ -102,6 +100,8 @@ failed: unlock_page(bh->b_page); put_page(bh->b_page); + if (unlikely(err)) + brelse(bh); return err; } diff -Nru linux-5.10.197/fs/nilfs2/sufile.c linux-5.10.205/fs/nilfs2/sufile.c --- linux-5.10.197/fs/nilfs2/sufile.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/nilfs2/sufile.c 2023-12-20 14:44:42.000000000 +0000 @@ -501,15 +501,38 @@ down_write(&NILFS_MDT(sufile)->mi_sem); ret = nilfs_sufile_get_segment_usage_block(sufile, segnum, 0, &bh); - if (!ret) { - mark_buffer_dirty(bh); - nilfs_mdt_mark_dirty(sufile); - kaddr = kmap_atomic(bh->b_page); - su = nilfs_sufile_block_get_segment_usage(sufile, segnum, bh, kaddr); + if (ret) + goto out_sem; + + kaddr = kmap_atomic(bh->b_page); + su = nilfs_sufile_block_get_segment_usage(sufile, segnum, bh, kaddr); + if (unlikely(nilfs_segment_usage_error(su))) { + struct the_nilfs *nilfs = sufile->i_sb->s_fs_info; + + kunmap_atomic(kaddr); + brelse(bh); + if (nilfs_segment_is_active(nilfs, segnum)) { + nilfs_error(sufile->i_sb, + "active segment %llu is erroneous", + (unsigned long long)segnum); + } else { + /* + * Segments marked erroneous are never allocated by + * nilfs_sufile_alloc(); only active segments, ie, + * the segments indexed by ns_segnum or ns_nextnum, + * can be erroneous here. + */ + WARN_ON_ONCE(1); + } + ret = -EIO; + } else { nilfs_segment_usage_set_dirty(su); kunmap_atomic(kaddr); + mark_buffer_dirty(bh); + nilfs_mdt_mark_dirty(sufile); brelse(bh); } +out_sem: up_write(&NILFS_MDT(sufile)->mi_sem); return ret; } @@ -536,9 +559,14 @@ kaddr = kmap_atomic(bh->b_page); su = nilfs_sufile_block_get_segment_usage(sufile, segnum, bh, kaddr); - WARN_ON(nilfs_segment_usage_error(su)); - if (modtime) + if (modtime) { + /* + * Check segusage error and set su_lastmod only when updating + * this entry with a valid timestamp, not for cancellation. + */ + WARN_ON_ONCE(nilfs_segment_usage_error(su)); su->su_lastmod = cpu_to_le64(modtime); + } su->su_nblocks = cpu_to_le32(nblocks); kunmap_atomic(kaddr); diff -Nru linux-5.10.197/fs/nilfs2/the_nilfs.c linux-5.10.205/fs/nilfs2/the_nilfs.c --- linux-5.10.197/fs/nilfs2/the_nilfs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/nilfs2/the_nilfs.c 2023-12-20 14:44:42.000000000 +0000 @@ -717,7 +717,11 @@ goto failed_sbh; } nilfs_release_super_block(nilfs); - sb_set_blocksize(sb, blocksize); + if (!sb_set_blocksize(sb, blocksize)) { + nilfs_err(sb, "bad blocksize %d", blocksize); + err = -EINVAL; + goto out; + } err = nilfs_load_super_block(nilfs, sb, blocksize, &sbp); if (err) diff -Nru linux-5.10.197/fs/overlayfs/copy_up.c linux-5.10.205/fs/overlayfs/copy_up.c --- linux-5.10.197/fs/overlayfs/copy_up.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/overlayfs/copy_up.c 2023-12-20 14:44:42.000000000 +0000 @@ -243,7 +243,7 @@ { struct iattr attr = { .ia_valid = - ATTR_ATIME | ATTR_MTIME | ATTR_ATIME_SET | ATTR_MTIME_SET, + ATTR_ATIME | ATTR_MTIME | ATTR_ATIME_SET | ATTR_MTIME_SET | ATTR_CTIME, .ia_atime = stat->atime, .ia_mtime = stat->mtime, }; diff -Nru linux-5.10.197/fs/overlayfs/super.c linux-5.10.205/fs/overlayfs/super.c --- linux-5.10.197/fs/overlayfs/super.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/overlayfs/super.c 2023-12-20 14:44:42.000000000 +0000 @@ -2028,7 +2028,7 @@ sb->s_xattr = ovl_xattr_handlers; sb->s_fs_info = ofs; sb->s_flags |= SB_POSIXACL; - sb->s_iflags |= SB_I_SKIP_SYNC | SB_I_IMA_UNVERIFIABLE_SIGNATURE; + sb->s_iflags |= SB_I_SKIP_SYNC; err = -ENOMEM; root_dentry = ovl_get_root(sb, upperpath.dentry, oe); diff -Nru linux-5.10.197/fs/proc/proc_sysctl.c linux-5.10.205/fs/proc/proc_sysctl.c --- linux-5.10.197/fs/proc/proc_sysctl.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/proc/proc_sysctl.c 2023-12-20 14:44:42.000000000 +0000 @@ -1767,7 +1767,6 @@ {"hung_task_panic", "kernel.hung_task_panic" }, {"numa_zonelist_order", "vm.numa_zonelist_order" }, {"softlockup_all_cpu_backtrace", "kernel.softlockup_all_cpu_backtrace" }, - {"softlockup_panic", "kernel.softlockup_panic" }, { } }; diff -Nru linux-5.10.197/fs/proc/task_nommu.c linux-5.10.205/fs/proc/task_nommu.c --- linux-5.10.197/fs/proc/task_nommu.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/proc/task_nommu.c 2023-12-20 14:44:42.000000000 +0000 @@ -208,11 +208,16 @@ return ERR_PTR(-ESRCH); mm = priv->mm; - if (!mm || !mmget_not_zero(mm)) + if (!mm || !mmget_not_zero(mm)) { + put_task_struct(priv->task); + priv->task = NULL; return NULL; + } if (mmap_read_lock_killable(mm)) { mmput(mm); + put_task_struct(priv->task); + priv->task = NULL; return ERR_PTR(-EINTR); } @@ -221,23 +226,21 @@ if (n-- == 0) return p; - mmap_read_unlock(mm); - mmput(mm); return NULL; } -static void m_stop(struct seq_file *m, void *_vml) +static void m_stop(struct seq_file *m, void *v) { struct proc_maps_private *priv = m->private; + struct mm_struct *mm = priv->mm; - if (!IS_ERR_OR_NULL(_vml)) { - mmap_read_unlock(priv->mm); - mmput(priv->mm); - } - if (priv->task) { - put_task_struct(priv->task); - priv->task = NULL; - } + if (!priv->task) + return; + + mmap_read_unlock(mm); + mmput(mm); + put_task_struct(priv->task); + priv->task = NULL; } static void *m_next(struct seq_file *m, void *_p, loff_t *pos) diff -Nru linux-5.10.197/fs/pstore/platform.c linux-5.10.205/fs/pstore/platform.c --- linux-5.10.197/fs/pstore/platform.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/pstore/platform.c 2023-12-20 14:44:42.000000000 +0000 @@ -558,6 +558,8 @@ */ int pstore_register(struct pstore_info *psi) { + char *new_backend; + if (backend && strcmp(backend, psi->name)) { pr_warn("ignoring unexpected backend '%s'\n", psi->name); return -EPERM; @@ -577,11 +579,16 @@ return -EINVAL; } + new_backend = kstrdup(psi->name, GFP_KERNEL); + if (!new_backend) + return -ENOMEM; + mutex_lock(&psinfo_lock); if (psinfo) { pr_warn("backend '%s' already loaded: ignoring '%s'\n", psinfo->name, psi->name); mutex_unlock(&psinfo_lock); + kfree(new_backend); return -EBUSY; } @@ -614,7 +621,7 @@ * Update the module parameter backend, so it is visible * through /sys/module/pstore/parameters/backend */ - backend = kstrdup(psi->name, GFP_KERNEL); + backend = new_backend; pr_info("Registered %s as persistent store backend\n", psi->name); diff -Nru linux-5.10.197/fs/quota/dquot.c linux-5.10.205/fs/quota/dquot.c --- linux-5.10.197/fs/quota/dquot.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/fs/quota/dquot.c 2023-12-20 14:44:42.000000000 +0000 @@ -233,19 +233,18 @@ * All dquots are placed to the end of inuse_list when first created, and this * list is used for invalidate operation, which must look at every dquot. * - * When the last reference of a dquot will be dropped, the dquot will be - * added to releasing_dquots. We'd then queue work item which would call + * When the last reference of a dquot is dropped, the dquot is added to + * releasing_dquots. We'll then queue work item which will call * synchronize_srcu() and after that perform the final cleanup of all the - * dquots on the list. Both releasing_dquots and free_dquots use the - * dq_free list_head in the dquot struct. When a dquot is removed from - * releasing_dquots, a reference count is always subtracted, and if - * dq_count == 0 at that point, the dquot will be added to the free_dquots. + * dquots on the list. Each cleaned up dquot is moved to free_dquots list. + * Both releasing_dquots and free_dquots use the dq_free list_head in the dquot + * struct. * - * Unused dquots (dq_count == 0) are added to the free_dquots list when freed, - * and this list is searched whenever we need an available dquot. Dquots are - * removed from the list as soon as they are used again, and - * dqstats.free_dquots gives the number of dquots on the list. When - * dquot is invalidated it's completely released from memory. + * Unused and cleaned up dquots are in the free_dquots list and this list is + * searched whenever we need an available dquot. Dquots are removed from the + * list as soon as they are used again and dqstats.free_dquots gives the number + * of dquots on the list. When dquot is invalidated it's completely released + * from memory. * * Dirty dquots are added to the dqi_dirty_list of quota_info when mark * dirtied, and this list is searched when writing dirty dquots back to @@ -323,6 +322,7 @@ static inline void put_releasing_dquots(struct dquot *dquot) { list_add_tail(&dquot->dq_free, &releasing_dquots); + set_bit(DQ_RELEASING_B, &dquot->dq_flags); } static inline void remove_free_dquot(struct dquot *dquot) @@ -330,8 +330,10 @@ if (list_empty(&dquot->dq_free)) return; list_del_init(&dquot->dq_free); - if (!atomic_read(&dquot->dq_count)) + if (!test_bit(DQ_RELEASING_B, &dquot->dq_flags)) dqstats_dec(DQST_FREE_DQUOTS); + else + clear_bit(DQ_RELEASING_B, &dquot->dq_flags); } static inline void put_inuse(struct dquot *dquot) @@ -583,12 +585,6 @@ continue; /* Wait for dquot users */ if (atomic_read(&dquot->dq_count)) { - /* dquot in releasing_dquots, flush and retry */ - if (!list_empty(&dquot->dq_free)) { - spin_unlock(&dq_list_lock); - goto restart; - } - atomic_inc(&dquot->dq_count); spin_unlock(&dq_list_lock); /* @@ -608,6 +604,15 @@ goto restart; } /* + * The last user already dropped its reference but dquot didn't + * get fully cleaned up yet. Restart the scan which flushes the + * work cleaning up released dquots. + */ + if (test_bit(DQ_RELEASING_B, &dquot->dq_flags)) { + spin_unlock(&dq_list_lock); + goto restart; + } + /* * Quota now has no users and it has been written on last * dqput() */ @@ -698,6 +703,13 @@ dq_dirty); WARN_ON(!dquot_active(dquot)); + /* If the dquot is releasing we should not touch it */ + if (test_bit(DQ_RELEASING_B, &dquot->dq_flags)) { + spin_unlock(&dq_list_lock); + flush_delayed_work("a_release_work); + spin_lock(&dq_list_lock); + continue; + } /* Now we have active dquot from which someone is * holding reference so we can safely just increase @@ -811,18 +823,18 @@ /* Exchange the list head to avoid livelock. */ list_replace_init(&releasing_dquots, &rls_head); spin_unlock(&dq_list_lock); + synchronize_srcu(&dquot_srcu); restart: - synchronize_srcu(&dquot_srcu); spin_lock(&dq_list_lock); while (!list_empty(&rls_head)) { dquot = list_first_entry(&rls_head, struct dquot, dq_free); - /* Dquot got used again? */ - if (atomic_read(&dquot->dq_count) > 1) { - remove_free_dquot(dquot); - atomic_dec(&dquot->dq_count); - continue; - } + WARN_ON_ONCE(atomic_read(&dquot->dq_count)); + /* + * Note that DQ_RELEASING_B protects us from racing with + * invalidate_dquots() calls so we are safe to work with the + * dquot even after we drop dq_list_lock. + */ if (dquot_dirty(dquot)) { spin_unlock(&dq_list_lock); /* Commit dquot before releasing */ @@ -836,7 +848,6 @@ } /* Dquot is inactive and clean, now move it to free list */ remove_free_dquot(dquot); - atomic_dec(&dquot->dq_count); put_dquot_last(dquot); } spin_unlock(&dq_list_lock); @@ -877,6 +888,7 @@ BUG_ON(!list_empty(&dquot->dq_free)); #endif put_releasing_dquots(dquot); + atomic_dec(&dquot->dq_count); spin_unlock(&dq_list_lock); queue_delayed_work(system_unbound_wq, "a_release_work, 1); } @@ -965,7 +977,7 @@ dqstats_inc(DQST_LOOKUPS); } /* Wait for dq_lock - after this we know that either dquot_release() is - * already finished or it will be canceled due to dq_count > 1 test */ + * already finished or it will be canceled due to dq_count > 0 test */ wait_on_dquot(dquot); /* Read the dquot / allocate space in quota file */ if (!dquot_active(dquot)) { @@ -2386,6 +2398,20 @@ if (sb_has_quota_loaded(sb, type)) return -EBUSY; + /* + * Quota files should never be encrypted. They should be thought of as + * filesystem metadata, not user data. New-style internal quota files + * cannot be encrypted by users anyway, but old-style external quota + * files could potentially be incorrectly created in an encrypted + * directory, hence this explicit check. Some reasons why encrypted + * quota files don't work include: (1) some filesystems that support + * encryption don't handle it in their quota_read and quota_write, and + * (2) cleaning up encrypted quota files at unmount would need special + * consideration, as quota files are cleaned up later than user files. + */ + if (IS_ENCRYPTED(inode)) + return -EINVAL; + dqopt->files[type] = igrab(inode); if (!dqopt->files[type]) return -EIO; diff -Nru linux-5.10.197/include/asm-generic/qspinlock.h linux-5.10.205/include/asm-generic/qspinlock.h --- linux-5.10.197/include/asm-generic/qspinlock.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/asm-generic/qspinlock.h 2023-12-20 14:44:42.000000000 +0000 @@ -41,7 +41,7 @@ */ static __always_inline int queued_spin_value_unlocked(struct qspinlock lock) { - return !atomic_read(&lock.val); + return !lock.val.counter; } /** diff -Nru linux-5.10.197/include/drm/drm_connector.h linux-5.10.205/include/drm/drm_connector.h --- linux-5.10.197/include/drm/drm_connector.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/drm/drm_connector.h 2023-12-20 14:44:42.000000000 +0000 @@ -1030,6 +1030,14 @@ */ void (*atomic_print_state)(struct drm_printer *p, const struct drm_connector_state *state); + + /** + * @oob_hotplug_event: + * + * This will get called when a hotplug-event for a drm-connector + * has been received from a source outside the display driver / device. + */ + void (*oob_hotplug_event)(struct drm_connector *connector); }; /** @@ -1174,6 +1182,14 @@ struct device *kdev; /** @attr: sysfs attributes */ struct device_attribute *attr; + /** + * @fwnode: associated fwnode supplied by platform firmware + * + * Drivers can set this to associate a fwnode with a connector, drivers + * are expected to get a reference on the fwnode when setting this. + * drm_connector_cleanup() will call fwnode_handle_put() on this. + */ + struct fwnode_handle *fwnode; /** * @head: @@ -1185,6 +1201,14 @@ */ struct list_head head; + /** + * @global_connector_list_entry: + * + * Connector entry in the global connector-list, used by + * drm_connector_find_by_fwnode(). + */ + struct list_head global_connector_list_entry; + /** @base: base KMS object */ struct drm_mode_object base; @@ -1596,6 +1620,7 @@ DRM_CONNECTOR_UNREGISTERED; } +void drm_connector_oob_hotplug_event(struct fwnode_handle *connector_fwnode); const char *drm_get_connector_type_name(unsigned int connector_type); const char *drm_get_connector_status_name(enum drm_connector_status status); const char *drm_get_subpixel_order_name(enum subpixel_order order); diff -Nru linux-5.10.197/include/linux/acpi.h linux-5.10.205/include/linux/acpi.h --- linux-5.10.197/include/linux/acpi.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/acpi.h 2023-12-20 14:44:42.000000000 +0000 @@ -1001,6 +1001,7 @@ int acpi_subsys_runtime_suspend(struct device *dev); int acpi_subsys_runtime_resume(struct device *dev); int acpi_dev_pm_attach(struct device *dev, bool power_on); +bool acpi_storage_d3(struct device *dev); #else static inline int acpi_subsys_runtime_suspend(struct device *dev) { return 0; } static inline int acpi_subsys_runtime_resume(struct device *dev) { return 0; } @@ -1008,6 +1009,10 @@ { return 0; } +static inline bool acpi_storage_d3(struct device *dev) +{ + return false; +} #endif #if defined(CONFIG_ACPI) && defined(CONFIG_PM_SLEEP) diff -Nru linux-5.10.197/include/linux/bpf.h linux-5.10.205/include/linux/bpf.h --- linux-5.10.197/include/linux/bpf.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/bpf.h 2023-12-20 14:44:42.000000000 +0000 @@ -725,7 +725,7 @@ static inline struct bpf_trampoline *bpf_trampoline_get(u64 key, struct bpf_attach_target_info *tgt_info) { - return ERR_PTR(-EOPNOTSUPP); + return NULL; } static inline void bpf_trampoline_put(struct bpf_trampoline *tr) {} #define DEFINE_BPF_DISPATCHER(name) diff -Nru linux-5.10.197/include/linux/btf_ids.h linux-5.10.205/include/linux/btf_ids.h --- linux-5.10.197/include/linux/btf_ids.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/btf_ids.h 2023-12-20 14:44:42.000000000 +0000 @@ -38,7 +38,7 @@ ____BTF_ID(symbol) #define __ID(prefix) \ - __PASTE(prefix, __COUNTER__) + __PASTE(__PASTE(prefix, __COUNTER__), __LINE__) /* * The BTF_ID defines unique symbol for each ID pointing diff -Nru linux-5.10.197/include/linux/cgroup.h linux-5.10.205/include/linux/cgroup.h --- linux-5.10.197/include/linux/cgroup.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/cgroup.h 2023-12-20 14:44:42.000000000 +0000 @@ -451,6 +451,7 @@ extern spinlock_t css_set_lock; #define task_css_set_check(task, __c) \ rcu_dereference_check((task)->cgroups, \ + rcu_read_lock_sched_held() || \ lockdep_is_held(&cgroup_mutex) || \ lockdep_is_held(&css_set_lock) || \ ((task)->flags & PF_EXITING) || (__c)) @@ -779,11 +780,9 @@ cpuacct_charge(task, delta_exec); - rcu_read_lock(); cgrp = task_dfl_cgroup(task); if (cgroup_parent(cgrp)) __cgroup_account_cputime(cgrp, delta_exec); - rcu_read_unlock(); } static inline void cgroup_account_cputime_field(struct task_struct *task, diff -Nru linux-5.10.197/include/linux/clk-provider.h linux-5.10.205/include/linux/clk-provider.h --- linux-5.10.197/include/linux/clk-provider.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/clk-provider.h 2023-12-20 14:44:42.000000000 +0000 @@ -61,7 +61,7 @@ }; /** - * struct clk_duty - Struture encoding the duty cycle ratio of a clock + * struct clk_duty - Structure encoding the duty cycle ratio of a clock * * @num: Numerator of the duty cycle ratio * @den: Denominator of the duty cycle ratio @@ -116,7 +116,7 @@ * @restore_context: Restore the context of the clock after a restoration * of power. * - * @recalc_rate Recalculate the rate of this clock, by querying hardware. The + * @recalc_rate: Recalculate the rate of this clock, by querying hardware. The * parent rate is an input parameter. It is up to the caller to * ensure that the prepare_mutex is held across this call. * Returns the calculated rate. Optional, but recommended - if @@ -429,7 +429,7 @@ * clock with the clock framework * @dev: device that is registering this clock * @name: name of this clock - * @parent_name: name of clock's parent + * @parent_data: name of clock's parent * @flags: framework-specific flags * @fixed_rate: non-adjustable clock rate * @fixed_accuracy: non-adjustable clock accuracy @@ -439,6 +439,20 @@ __clk_hw_register_fixed_rate((dev), NULL, (name), NULL, NULL, \ (parent_data), NULL, (flags), \ (fixed_rate), (fixed_accuracy), 0) +/** + * clk_hw_register_fixed_rate_parent_accuracy - register fixed-rate clock with + * the clock framework + * @dev: device that is registering this clock + * @name: name of this clock + * @parent_data: name of clock's parent + * @flags: framework-specific flags + * @fixed_rate: non-adjustable clock rate + */ +#define clk_hw_register_fixed_rate_parent_accuracy(dev, name, parent_data, \ + flags, fixed_rate) \ + __clk_hw_register_fixed_rate((dev), NULL, (name), NULL, NULL, \ + (parent_data), (flags), (fixed_rate), 0, \ + CLK_FIXED_RATE_PARENT_ACCURACY) void clk_unregister_fixed_rate(struct clk *clk); void clk_hw_unregister_fixed_rate(struct clk_hw *hw); @@ -566,7 +580,7 @@ * Clock with an adjustable divider affecting its output frequency. Implements * .recalc_rate, .set_rate and .round_rate * - * Flags: + * @flags: * CLK_DIVIDER_ONE_BASED - by default the divisor is the value read from the * register plus one. If CLK_DIVIDER_ONE_BASED is set then the divider is * the raw value read from the register, with the value of zero considered @@ -858,6 +872,13 @@ (parent_names), NULL, NULL, (flags), (reg), \ (shift), (mask), (clk_mux_flags), (table), \ (lock)) +#define clk_hw_register_mux_table_parent_data(dev, name, parent_data, \ + num_parents, flags, reg, shift, mask, \ + clk_mux_flags, table, lock) \ + __clk_hw_register_mux((dev), NULL, (name), (num_parents), \ + NULL, NULL, (parent_data), (flags), (reg), \ + (shift), (mask), (clk_mux_flags), (table), \ + (lock)) #define clk_hw_register_mux(dev, name, parent_names, num_parents, flags, reg, \ shift, width, clk_mux_flags, lock) \ __clk_hw_register_mux((dev), NULL, (name), (num_parents), \ @@ -924,11 +945,12 @@ * @mwidth: width of the numerator bit field * @nshift: shift to the denominator bit field * @nwidth: width of the denominator bit field + * @approximation: clk driver's callback for calculating the divider clock * @lock: register lock * * Clock with adjustable fractional divider affecting its output frequency. * - * Flags: + * @flags: * CLK_FRAC_DIVIDER_ZERO_BASED - by default the numerator and denominator * is the value read from the register. If CLK_FRAC_DIVIDER_ZERO_BASED * is set then the numerator and denominator are both the value read @@ -981,7 +1003,7 @@ * Clock with an adjustable multiplier affecting its output frequency. * Implements .recalc_rate, .set_rate and .round_rate * - * Flags: + * @flags: * CLK_MULTIPLIER_ZERO_BYPASS - By default, the multiplier is the value read * from the register, with 0 being a valid value effectively * zeroing the output clock rate. If CLK_MULTIPLIER_ZERO_BYPASS is diff -Nru linux-5.10.197/include/linux/cpuhotplug.h linux-5.10.205/include/linux/cpuhotplug.h --- linux-5.10.197/include/linux/cpuhotplug.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/cpuhotplug.h 2023-12-20 14:44:42.000000000 +0000 @@ -144,10 +144,12 @@ /* Must be the last timer callback */ CPUHP_AP_DUMMY_TIMER_STARTING, CPUHP_AP_ARM_XEN_STARTING, + CPUHP_AP_ARM_XEN_RUNSTATE_STARTING, CPUHP_AP_ARM_CORESIGHT_STARTING, CPUHP_AP_ARM_CORESIGHT_CTI_STARTING, CPUHP_AP_ARM64_ISNDEP_STARTING, CPUHP_AP_SMPCFD_DYING, + CPUHP_AP_HRTIMERS_DYING, CPUHP_AP_X86_TBOOT_DYING, CPUHP_AP_ARM_CACHE_B15_RAC_DYING, CPUHP_AP_ONLINE, diff -Nru linux-5.10.197/include/linux/cred.h linux-5.10.205/include/linux/cred.h --- linux-5.10.197/include/linux/cred.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/cred.h 2023-12-20 14:44:42.000000000 +0000 @@ -109,7 +109,7 @@ * same context as task->real_cred. */ struct cred { - atomic_t usage; + atomic_long_t usage; #ifdef CONFIG_DEBUG_CREDENTIALS atomic_t subscribers; /* number of processes subscribed */ void *put_addr; @@ -227,7 +227,7 @@ */ static inline struct cred *get_new_cred(struct cred *cred) { - atomic_inc(&cred->usage); + atomic_long_inc(&cred->usage); return cred; } @@ -259,7 +259,7 @@ struct cred *nonconst_cred = (struct cred *) cred; if (!cred) return NULL; - if (!atomic_inc_not_zero(&nonconst_cred->usage)) + if (!atomic_long_inc_not_zero(&nonconst_cred->usage)) return NULL; validate_creds(cred); nonconst_cred->non_rcu = 0; @@ -283,7 +283,7 @@ if (cred) { validate_creds(cred); - if (atomic_dec_and_test(&(cred)->usage)) + if (atomic_long_dec_and_test(&(cred)->usage)) __put_cred(cred); } } diff -Nru linux-5.10.197/include/linux/device/driver.h linux-5.10.205/include/linux/device/driver.h --- linux-5.10.197/include/linux/device/driver.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/device/driver.h 2023-12-20 14:44:42.000000000 +0000 @@ -150,6 +150,8 @@ extern void driver_remove_file(struct device_driver *driver, const struct driver_attribute *attr); +int driver_set_override(struct device *dev, const char **override, + const char *s, size_t len); extern int __must_check driver_for_each_device(struct device_driver *drv, struct device *start, void *data, diff -Nru linux-5.10.197/include/linux/device.h linux-5.10.205/include/linux/device.h --- linux-5.10.197/include/linux/device.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/device.h 2023-12-20 14:44:42.000000000 +0000 @@ -349,6 +349,22 @@ }; /** + * enum device_removable - Whether the device is removable. The criteria for a + * device to be classified as removable is determined by its subsystem or bus. + * @DEVICE_REMOVABLE_NOT_SUPPORTED: This attribute is not supported for this + * device (default). + * @DEVICE_REMOVABLE_UNKNOWN: Device location is Unknown. + * @DEVICE_FIXED: Device is not removable by the user. + * @DEVICE_REMOVABLE: Device is removable by the user. + */ +enum device_removable { + DEVICE_REMOVABLE_NOT_SUPPORTED = 0, /* must be 0 */ + DEVICE_REMOVABLE_UNKNOWN, + DEVICE_FIXED, + DEVICE_REMOVABLE, +}; + +/** * struct dev_links_info - Device data related to device links. * @suppliers: List of links to supplier devices. * @consumers: List of links to consumer devices. @@ -435,6 +451,9 @@ * device (i.e. the bus driver that discovered the device). * @iommu_group: IOMMU group the device belongs to. * @iommu: Per device generic IOMMU runtime data + * @removable: Whether the device can be removed from the system. This + * should be set by the subsystem / bus driver that discovered + * the device. * * @offline_disabled: If set, the device is permanently online. * @offline: Set after successful invocation of bus type's .offline(). @@ -546,6 +565,8 @@ struct iommu_group *iommu_group; struct dev_iommu *iommu; + enum device_removable removable; + bool offline_disabled:1; bool offline:1; bool of_node_reused:1; @@ -781,6 +802,22 @@ return false; } +static inline void dev_set_removable(struct device *dev, + enum device_removable removable) +{ + dev->removable = removable; +} + +static inline bool dev_is_removable(struct device *dev) +{ + return dev->removable == DEVICE_REMOVABLE; +} + +static inline bool dev_removable_is_valid(struct device *dev) +{ + return dev->removable != DEVICE_REMOVABLE_NOT_SUPPORTED; +} + /* * High level routines for use by the bus drivers */ diff -Nru linux-5.10.197/include/linux/fs.h linux-5.10.205/include/linux/fs.h --- linux-5.10.197/include/linux/fs.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/fs.h 2023-12-20 14:44:42.000000000 +0000 @@ -1580,7 +1580,50 @@ inode->i_gid = make_kgid(inode->i_sb->s_user_ns, gid); } -extern struct timespec64 current_time(struct inode *inode); +struct timespec64 current_time(struct inode *inode); +struct timespec64 inode_set_ctime_current(struct inode *inode); + +/** + * inode_get_ctime - fetch the current ctime from the inode + * @inode: inode from which to fetch ctime + * + * Grab the current ctime from the inode and return it. + */ +static inline struct timespec64 inode_get_ctime(const struct inode *inode) +{ + return inode->i_ctime; +} + +/** + * inode_set_ctime_to_ts - set the ctime in the inode + * @inode: inode in which to set the ctime + * @ts: value to set in the ctime field + * + * Set the ctime in @inode to @ts + */ +static inline struct timespec64 inode_set_ctime_to_ts(struct inode *inode, + struct timespec64 ts) +{ + inode->i_ctime = ts; + return ts; +} + +/** + * inode_set_ctime - set the ctime in the inode + * @inode: inode in which to set the ctime + * @sec: tv_sec value to set + * @nsec: tv_nsec value to set + * + * Set the ctime in @inode to { @sec, @nsec } + */ +static inline struct timespec64 inode_set_ctime(struct inode *inode, + time64_t sec, long nsec) +{ + struct timespec64 ts = { .tv_sec = sec, + .tv_nsec = nsec }; + + return inode_set_ctime_to_ts(inode, ts); +} /* * Snapshotting support. diff -Nru linux-5.10.197/include/linux/hid.h linux-5.10.205/include/linux/hid.h --- linux-5.10.197/include/linux/hid.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/hid.h 2023-12-20 14:44:42.000000000 +0000 @@ -624,8 +624,13 @@ struct list_head debug_list; spinlock_t debug_list_lock; wait_queue_head_t debug_wait; + struct kref ref; + + unsigned int id; /* system unique id */ }; +void hiddev_free(struct kref *ref); + #define to_hid_device(pdev) \ container_of(pdev, struct hid_device, dev) diff -Nru linux-5.10.197/include/linux/hrtimer.h linux-5.10.205/include/linux/hrtimer.h --- linux-5.10.197/include/linux/hrtimer.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/hrtimer.h 2023-12-20 14:44:42.000000000 +0000 @@ -526,9 +526,9 @@ int hrtimers_prepare_cpu(unsigned int cpu); #ifdef CONFIG_HOTPLUG_CPU -int hrtimers_dead_cpu(unsigned int cpu); +int hrtimers_cpu_dying(unsigned int cpu); #else -#define hrtimers_dead_cpu NULL +#define hrtimers_cpu_dying NULL #endif #endif diff -Nru linux-5.10.197/include/linux/idr.h linux-5.10.205/include/linux/idr.h --- linux-5.10.197/include/linux/idr.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/idr.h 2023-12-20 14:44:42.000000000 +0000 @@ -200,7 +200,7 @@ */ #define idr_for_each_entry_ul(idr, entry, tmp, id) \ for (tmp = 0, id = 0; \ - tmp <= id && ((entry) = idr_get_next_ul(idr, &(id))) != NULL; \ + ((entry) = tmp <= id ? idr_get_next_ul(idr, &(id)) : NULL) != NULL; \ tmp = id, ++id) /** @@ -224,10 +224,12 @@ * @id: Entry ID. * * Continue to iterate over entries, continuing after the current position. + * After normal termination @entry is left with the value NULL. This + * is convenient for a "not found" value. */ #define idr_for_each_entry_continue_ul(idr, entry, tmp, id) \ for (tmp = id; \ - tmp <= id && ((entry) = idr_get_next_ul(idr, &(id))) != NULL; \ + ((entry) = tmp <= id ? idr_get_next_ul(idr, &(id)) : NULL) != NULL; \ tmp = id, ++id) /* diff -Nru linux-5.10.197/include/linux/if_team.h linux-5.10.205/include/linux/if_team.h --- linux-5.10.197/include/linux/if_team.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/if_team.h 2023-12-20 14:44:42.000000000 +0000 @@ -189,6 +189,8 @@ struct net_device *dev; /* associated netdevice */ struct team_pcpu_stats __percpu *pcpu_stats; + const struct header_ops *header_ops_cache; + struct mutex lock; /* used for overall locking, e.g. port lists write */ /* diff -Nru linux-5.10.197/include/linux/if_vlan.h linux-5.10.205/include/linux/if_vlan.h --- linux-5.10.197/include/linux/if_vlan.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/if_vlan.h 2023-12-20 14:44:42.000000000 +0000 @@ -60,6 +60,14 @@ return (struct vlan_ethhdr *)skb_mac_header(skb); } +/* Prefer this version in TX path, instead of + * skb_reset_mac_header() + vlan_eth_hdr() + */ +static inline struct vlan_ethhdr *skb_vlan_eth_hdr(const struct sk_buff *skb) +{ + return (struct vlan_ethhdr *)skb->data; +} + #define VLAN_PRIO_MASK 0xe000 /* Priority Code Point */ #define VLAN_PRIO_SHIFT 13 #define VLAN_CFI_MASK 0x1000 /* Canonical Format Indicator / Drop Eligible Indicator */ @@ -526,7 +534,7 @@ */ static inline int __vlan_get_tag(const struct sk_buff *skb, u16 *vlan_tci) { - struct vlan_ethhdr *veth = (struct vlan_ethhdr *)skb->data; + struct vlan_ethhdr *veth = skb_vlan_eth_hdr(skb); if (!eth_type_vlan(veth->h_vlan_proto)) return -EINVAL; @@ -727,7 +735,7 @@ if (unlikely(!pskb_may_pull(skb, VLAN_ETH_HLEN))) return false; - veh = (struct vlan_ethhdr *)skb->data; + veh = skb_vlan_eth_hdr(skb); protocol = veh->h_vlan_encapsulated_proto; } diff -Nru linux-5.10.197/include/linux/ioport.h linux-5.10.205/include/linux/ioport.h --- linux-5.10.197/include/linux/ioport.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/ioport.h 2023-12-20 14:44:42.000000000 +0000 @@ -307,6 +307,13 @@ struct resource *request_free_mem_region(struct resource *base, unsigned long size, const char *name); +static inline void irqresource_disabled(struct resource *res, u32 irq) +{ + res->start = irq; + res->end = irq; + res->flags = IORESOURCE_IRQ | IORESOURCE_DISABLED | IORESOURCE_UNSET; +} + #ifdef CONFIG_IO_STRICT_DEVMEM void revoke_devmem(struct resource *res); #else diff -Nru linux-5.10.197/include/linux/ipv6.h linux-5.10.205/include/linux/ipv6.h --- linux-5.10.197/include/linux/ipv6.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/ipv6.h 2023-12-20 14:44:42.000000000 +0000 @@ -32,6 +32,7 @@ __s32 max_addresses; __s32 accept_ra_defrtr; __s32 accept_ra_min_hop_limit; + __s32 accept_ra_min_lft; __s32 accept_ra_pinfo; __s32 ignore_routes_with_linkdown; #ifdef CONFIG_IPV6_ROUTER_PREF diff -Nru linux-5.10.197/include/linux/kasan.h linux-5.10.205/include/linux/kasan.h --- linux-5.10.197/include/linux/kasan.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/kasan.h 2023-12-20 14:44:42.000000000 +0000 @@ -234,10 +234,10 @@ unsigned long free_region_end) {} #endif -#ifdef CONFIG_KASAN_INLINE +#ifdef CONFIG_KASAN void kasan_non_canonical_hook(unsigned long addr); -#else /* CONFIG_KASAN_INLINE */ +#else /* CONFIG_KASAN */ static inline void kasan_non_canonical_hook(unsigned long addr) { } -#endif /* CONFIG_KASAN_INLINE */ +#endif /* CONFIG_KASAN */ #endif /* LINUX_KASAN_H */ diff -Nru linux-5.10.197/include/linux/libata.h linux-5.10.205/include/linux/libata.h --- linux-5.10.197/include/linux/libata.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/libata.h 2023-12-20 14:44:42.000000000 +0000 @@ -187,7 +187,7 @@ ATA_LFLAG_NO_LPM = (1 << 8), /* disable LPM on this link */ ATA_LFLAG_RST_ONCE = (1 << 9), /* limit recovery to one reset */ ATA_LFLAG_CHANGED = (1 << 10), /* LPM state changed on this link */ - ATA_LFLAG_NO_DB_DELAY = (1 << 11), /* no debounce delay on link resume */ + ATA_LFLAG_NO_DEBOUNCE_DELAY = (1 << 11), /* no debounce delay on link resume */ /* struct ata_port flags */ ATA_FLAG_SLAVE_POSS = (1 << 0), /* host supports slave dev */ @@ -297,7 +297,7 @@ * advised to wait only for the following duration before * doing SRST. */ - ATA_TMOUT_PMP_SRST_WAIT = 5000, + ATA_TMOUT_PMP_SRST_WAIT = 10000, /* When the LPM policy is set to ATA_LPM_MAX_POWER, there might * be a spurious PHY event, so ignore the first PHY event that diff -Nru linux-5.10.197/include/linux/lsm_hook_defs.h linux-5.10.205/include/linux/lsm_hook_defs.h --- linux-5.10.197/include/linux/lsm_hook_defs.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/lsm_hook_defs.h 2023-12-20 14:44:42.000000000 +0000 @@ -48,7 +48,7 @@ LSM_HOOK(int, 0, syslog, int type) LSM_HOOK(int, 0, settime, const struct timespec64 *ts, const struct timezone *tz) -LSM_HOOK(int, 0, vm_enough_memory, struct mm_struct *mm, long pages) +LSM_HOOK(int, 1, vm_enough_memory, struct mm_struct *mm, long pages) LSM_HOOK(int, 0, bprm_creds_for_exec, struct linux_binprm *bprm) LSM_HOOK(int, 0, bprm_creds_from_file, struct linux_binprm *bprm, struct file *file) LSM_HOOK(int, 0, bprm_check_security, struct linux_binprm *bprm) @@ -255,7 +255,7 @@ LSM_HOOK(void, LSM_RET_VOID, inode_invalidate_secctx, struct inode *inode) LSM_HOOK(int, 0, inode_notifysecctx, struct inode *inode, void *ctx, u32 ctxlen) LSM_HOOK(int, 0, inode_setsecctx, struct dentry *dentry, void *ctx, u32 ctxlen) -LSM_HOOK(int, 0, inode_getsecctx, struct inode *inode, void **ctx, +LSM_HOOK(int, -EOPNOTSUPP, inode_getsecctx, struct inode *inode, void **ctx, u32 *ctxlen) #if defined(CONFIG_SECURITY) && defined(CONFIG_WATCH_QUEUE) diff -Nru linux-5.10.197/include/linux/mcb.h linux-5.10.205/include/linux/mcb.h --- linux-5.10.197/include/linux/mcb.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/mcb.h 2023-12-20 14:44:42.000000000 +0000 @@ -63,7 +63,6 @@ struct mcb_device { struct device dev; struct mcb_bus *bus; - bool is_added; struct mcb_driver *driver; u16 id; int inst; diff -Nru linux-5.10.197/include/linux/mfd/core.h linux-5.10.205/include/linux/mfd/core.h --- linux-5.10.197/include/linux/mfd/core.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/mfd/core.h 2023-12-20 14:44:42.000000000 +0000 @@ -92,7 +92,7 @@ * (above) when matching OF nodes with devices that have identical * compatible strings */ - const u64 of_reg; + u64 of_reg; /* Set to 'true' to use 'of_reg' (above) - allows for of_reg=0 */ bool use_of_reg; diff -Nru linux-5.10.197/include/linux/mlx5/driver.h linux-5.10.205/include/linux/mlx5/driver.h --- linux-5.10.197/include/linux/mlx5/driver.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/mlx5/driver.h 2023-12-20 14:44:42.000000000 +0000 @@ -56,6 +56,8 @@ #include #include +#define MLX5_ADEV_NAME "mlx5_core" + enum { MLX5_BOARD_ID_LEN = 64, }; diff -Nru linux-5.10.197/include/linux/mmc/host.h linux-5.10.205/include/linux/mmc/host.h --- linux-5.10.197/include/linux/mmc/host.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/mmc/host.h 2023-12-20 14:44:42.000000000 +0000 @@ -405,6 +405,7 @@ unsigned int use_blk_mq:1; /* use blk-mq */ unsigned int retune_crc_disable:1; /* don't trigger retune upon crc */ unsigned int can_dma_map_merge:1; /* merging can be used */ + unsigned int vqmmc_enabled:1; /* vqmmc regulator is enabled */ int rescan_disable; /* disable card detection */ int rescan_entered; /* used with nonremovable devices */ @@ -546,6 +547,8 @@ #endif int mmc_regulator_get_supply(struct mmc_host *mmc); +int mmc_regulator_enable_vqmmc(struct mmc_host *mmc); +void mmc_regulator_disable_vqmmc(struct mmc_host *mmc); static inline int mmc_card_is_removable(struct mmc_host *host) { diff -Nru linux-5.10.197/include/linux/netdevice.h linux-5.10.205/include/linux/netdevice.h --- linux-5.10.197/include/linux/netdevice.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/netdevice.h 2023-12-20 14:44:42.000000000 +0000 @@ -3972,7 +3972,7 @@ return NET_RX_DROP; } - skb_scrub_packet(skb, true); + skb_scrub_packet(skb, !net_eq(dev_net(dev), dev_net(skb->dev))); skb->priority = 0; return 0; } @@ -5286,5 +5286,6 @@ #define DEV_STATS_INC(DEV, FIELD) atomic_long_inc(&(DEV)->stats.__##FIELD) #define DEV_STATS_ADD(DEV, FIELD, VAL) \ atomic_long_add((VAL), &(DEV)->stats.__##FIELD) +#define DEV_STATS_READ(DEV, FIELD) atomic_long_read(&(DEV)->stats.__##FIELD) #endif /* _LINUX_NETDEVICE_H */ diff -Nru linux-5.10.197/include/linux/netfilter/nf_conntrack_sctp.h linux-5.10.205/include/linux/netfilter/nf_conntrack_sctp.h --- linux-5.10.197/include/linux/netfilter/nf_conntrack_sctp.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/netfilter/nf_conntrack_sctp.h 2023-12-20 14:44:42.000000000 +0000 @@ -9,6 +9,7 @@ enum sctp_conntrack state; __be32 vtag[IP_CT_DIR_MAX]; + u8 init[IP_CT_DIR_MAX]; u8 last_dir; u8 flags; }; diff -Nru linux-5.10.197/include/linux/nfs_page.h linux-5.10.205/include/linux/nfs_page.h --- linux-5.10.197/include/linux/nfs_page.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/nfs_page.h 2023-12-20 14:44:42.000000000 +0000 @@ -145,7 +145,9 @@ extern void nfs_unlock_and_release_request(struct nfs_page *); extern struct nfs_page *nfs_page_group_lock_head(struct nfs_page *req); extern int nfs_page_group_lock_subrequests(struct nfs_page *head); -extern void nfs_join_page_group(struct nfs_page *head, struct inode *inode); +extern void nfs_join_page_group(struct nfs_page *head, + struct nfs_commit_info *cinfo, + struct inode *inode); extern int nfs_page_group_lock(struct nfs_page *); extern void nfs_page_group_unlock(struct nfs_page *); extern bool nfs_page_group_sync_on_bit(struct nfs_page *, unsigned int); diff -Nru linux-5.10.197/include/linux/of.h linux-5.10.205/include/linux/of.h --- linux-5.10.197/include/linux/of.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/of.h 2023-12-20 14:44:42.000000000 +0000 @@ -424,12 +424,14 @@ * @sz: number of array elements to read * * Search for a property in a device node and read 8-bit value(s) from - * it. Returns 0 on success, -EINVAL if the property does not exist, - * -ENODATA if property does not have a value, and -EOVERFLOW if the - * property data isn't large enough. + * it. * * dts entry of array should be like: - * property = /bits/ 8 <0x50 0x60 0x70>; + * ``property = /bits/ 8 <0x50 0x60 0x70>;`` + * + * Return: 0 on success, -EINVAL if the property does not exist, + * -ENODATA if property does not have a value, and -EOVERFLOW if the + * property data isn't large enough. * * The out_values is modified only if a valid u8 value can be decoded. */ @@ -454,12 +456,14 @@ * @sz: number of array elements to read * * Search for a property in a device node and read 16-bit value(s) from - * it. Returns 0 on success, -EINVAL if the property does not exist, - * -ENODATA if property does not have a value, and -EOVERFLOW if the - * property data isn't large enough. + * it. * * dts entry of array should be like: - * property = /bits/ 16 <0x5000 0x6000 0x7000>; + * ``property = /bits/ 16 <0x5000 0x6000 0x7000>;`` + * + * Return: 0 on success, -EINVAL if the property does not exist, + * -ENODATA if property does not have a value, and -EOVERFLOW if the + * property data isn't large enough. * * The out_values is modified only if a valid u16 value can be decoded. */ @@ -485,7 +489,9 @@ * @sz: number of array elements to read * * Search for a property in a device node and read 32-bit value(s) from - * it. Returns 0 on success, -EINVAL if the property does not exist, + * it. + * + * Return: 0 on success, -EINVAL if the property does not exist, * -ENODATA if property does not have a value, and -EOVERFLOW if the * property data isn't large enough. * @@ -513,7 +519,9 @@ * @sz: number of array elements to read * * Search for a property in a device node and read 64-bit value(s) from - * it. Returns 0 on success, -EINVAL if the property does not exist, + * it. + * + * Return: 0 on success, -EINVAL if the property does not exist, * -ENODATA if property does not have a value, and -EOVERFLOW if the * property data isn't large enough. * @@ -1063,7 +1071,9 @@ * @propname: name of the property to be searched. * * Search for a property in a device node and count the number of u8 elements - * in it. Returns number of elements on sucess, -EINVAL if the property does + * in it. + * + * Return: The number of elements on sucess, -EINVAL if the property does * not exist or its length does not match a multiple of u8 and -ENODATA if the * property does not have a value. */ @@ -1080,7 +1090,9 @@ * @propname: name of the property to be searched. * * Search for a property in a device node and count the number of u16 elements - * in it. Returns number of elements on sucess, -EINVAL if the property does + * in it. + * + * Return: The number of elements on sucess, -EINVAL if the property does * not exist or its length does not match a multiple of u16 and -ENODATA if the * property does not have a value. */ @@ -1097,7 +1109,9 @@ * @propname: name of the property to be searched. * * Search for a property in a device node and count the number of u32 elements - * in it. Returns number of elements on sucess, -EINVAL if the property does + * in it. + * + * Return: The number of elements on sucess, -EINVAL if the property does * not exist or its length does not match a multiple of u32 and -ENODATA if the * property does not have a value. */ @@ -1114,7 +1128,9 @@ * @propname: name of the property to be searched. * * Search for a property in a device node and count the number of u64 elements - * in it. Returns number of elements on sucess, -EINVAL if the property does + * in it. + * + * Return: The number of elements on sucess, -EINVAL if the property does * not exist or its length does not match a multiple of u64 and -ENODATA if the * property does not have a value. */ @@ -1135,7 +1151,7 @@ * Search for a property in a device tree node and retrieve a list of * terminated string values (pointer to data, not a copy) in that property. * - * If @out_strs is NULL, the number of strings in the property is returned. + * Return: If @out_strs is NULL, the number of strings in the property is returned. */ static inline int of_property_read_string_array(const struct device_node *np, const char *propname, const char **out_strs, @@ -1151,10 +1167,11 @@ * @propname: name of the property to be searched. * * Search for a property in a device tree node and retrieve the number of null - * terminated string contain in it. Returns the number of strings on - * success, -EINVAL if the property does not exist, -ENODATA if property - * does not have a value, and -EILSEQ if the string is not null-terminated - * within the length of the property data. + * terminated string contain in it. + * + * Return: The number of strings on success, -EINVAL if the property does not + * exist, -ENODATA if property does not have a value, and -EILSEQ if the string + * is not null-terminated within the length of the property data. */ static inline int of_property_count_strings(const struct device_node *np, const char *propname) @@ -1174,7 +1191,8 @@ * Search for a property in a device tree node and retrieve a null * terminated string value (pointer to data, not a copy) in the list of strings * contained in that property. - * Returns 0 on success, -EINVAL if the property does not exist, -ENODATA if + * + * Return: 0 on success, -EINVAL if the property does not exist, -ENODATA if * property does not have a value, and -EILSEQ if the string is not * null-terminated within the length of the property data. * @@ -1194,7 +1212,8 @@ * @propname: name of the property to be searched. * * Search for a property in a device node. - * Returns true if the property exists false otherwise. + * + * Return: true if the property exists false otherwise. */ static inline bool of_property_read_bool(const struct device_node *np, const char *propname) @@ -1440,7 +1459,7 @@ * of_device_is_system_power_controller - Tells if system-power-controller is found for device_node * @np: Pointer to the given device_node * - * return true if present false otherwise + * Return: true if present false otherwise */ static inline bool of_device_is_system_power_controller(const struct device_node *np) { diff -Nru linux-5.10.197/include/linux/overflow.h linux-5.10.205/include/linux/overflow.h --- linux-5.10.197/include/linux/overflow.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/overflow.h 2023-12-20 14:44:42.000000000 +0000 @@ -250,81 +250,94 @@ })) /** - * array_size() - Calculate size of 2-dimensional array. - * - * @a: dimension one - * @b: dimension two + * size_mul() - Calculate size_t multiplication with saturation at SIZE_MAX * - * Calculates size of 2-dimensional array: @a * @b. + * @factor1: first factor + * @factor2: second factor * - * Returns: number of bytes needed to represent the array or SIZE_MAX on - * overflow. + * Returns: calculate @factor1 * @factor2, both promoted to size_t, + * with any overflow causing the return value to be SIZE_MAX. The + * lvalue must be size_t to avoid implicit type conversion. */ -static inline __must_check size_t array_size(size_t a, size_t b) +static inline size_t __must_check size_mul(size_t factor1, size_t factor2) { size_t bytes; - if (check_mul_overflow(a, b, &bytes)) + if (check_mul_overflow(factor1, factor2, &bytes)) return SIZE_MAX; return bytes; } /** - * array3_size() - Calculate size of 3-dimensional array. + * size_add() - Calculate size_t addition with saturation at SIZE_MAX * - * @a: dimension one - * @b: dimension two - * @c: dimension three + * @addend1: first addend + * @addend2: second addend * - * Calculates size of 3-dimensional array: @a * @b * @c. - * - * Returns: number of bytes needed to represent the array or SIZE_MAX on - * overflow. + * Returns: calculate @addend1 + @addend2, both promoted to size_t, + * with any overflow causing the return value to be SIZE_MAX. The + * lvalue must be size_t to avoid implicit type conversion. */ -static inline __must_check size_t array3_size(size_t a, size_t b, size_t c) +static inline size_t __must_check size_add(size_t addend1, size_t addend2) { size_t bytes; - if (check_mul_overflow(a, b, &bytes)) - return SIZE_MAX; - if (check_mul_overflow(bytes, c, &bytes)) + if (check_add_overflow(addend1, addend2, &bytes)) return SIZE_MAX; return bytes; } -/* - * Compute a*b+c, returning SIZE_MAX on overflow. Internal helper for - * struct_size() below. +/** + * size_sub() - Calculate size_t subtraction with saturation at SIZE_MAX + * + * @minuend: value to subtract from + * @subtrahend: value to subtract from @minuend + * + * Returns: calculate @minuend - @subtrahend, both promoted to size_t, + * with any overflow causing the return value to be SIZE_MAX. For + * composition with the size_add() and size_mul() helpers, neither + * argument may be SIZE_MAX (or the result with be forced to SIZE_MAX). + * The lvalue must be size_t to avoid implicit type conversion. */ -static inline __must_check size_t __ab_c_size(size_t a, size_t b, size_t c) +static inline size_t __must_check size_sub(size_t minuend, size_t subtrahend) { size_t bytes; - if (check_mul_overflow(a, b, &bytes)) - return SIZE_MAX; - if (check_add_overflow(bytes, c, &bytes)) + if (minuend == SIZE_MAX || subtrahend == SIZE_MAX || + check_sub_overflow(minuend, subtrahend, &bytes)) return SIZE_MAX; return bytes; } /** - * struct_size() - Calculate size of structure with trailing array. - * @p: Pointer to the structure. - * @member: Name of the array member. - * @count: Number of elements in the array. + * array_size() - Calculate size of 2-dimensional array. * - * Calculates size of memory needed for structure @p followed by an - * array of @count number of @member elements. + * @a: dimension one + * @b: dimension two * - * Return: number of bytes needed or SIZE_MAX on overflow. + * Calculates size of 2-dimensional array: @a * @b. + * + * Returns: number of bytes needed to represent the array or SIZE_MAX on + * overflow. */ -#define struct_size(p, member, count) \ - __ab_c_size(count, \ - sizeof(*(p)->member) + __must_be_array((p)->member),\ - sizeof(*(p))) +#define array_size(a, b) size_mul(a, b) + +/** + * array3_size() - Calculate size of 3-dimensional array. + * + * @a: dimension one + * @b: dimension two + * @c: dimension three + * + * Calculates size of 3-dimensional array: @a * @b * @c. + * + * Returns: number of bytes needed to represent the array or SIZE_MAX on + * overflow. + */ +#define array3_size(a, b, c) size_mul(size_mul(a, b), c) /** * flex_array_size() - Calculate size of a flexible array member @@ -340,7 +353,22 @@ * Return: number of bytes needed or SIZE_MAX on overflow. */ #define flex_array_size(p, member, count) \ - array_size(count, \ - sizeof(*(p)->member) + __must_be_array((p)->member)) + size_mul(count, \ + sizeof(*(p)->member) + __must_be_array((p)->member)) + +/** + * struct_size() - Calculate size of structure with trailing flexible array. + * + * @p: Pointer to the structure. + * @member: Name of the array member. + * @count: Number of elements in the array. + * + * Calculates size of memory needed for structure @p followed by an + * array of @count number of @member elements. + * + * Return: number of bytes needed or SIZE_MAX on overflow. + */ +#define struct_size(p, member, count) \ + size_add(sizeof(*(p)), flex_array_size(p, member, count)) #endif /* __LINUX_OVERFLOW_H */ diff -Nru linux-5.10.197/include/linux/padata.h linux-5.10.205/include/linux/padata.h --- linux-5.10.197/include/linux/padata.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/padata.h 2023-12-20 14:44:42.000000000 +0000 @@ -12,6 +12,7 @@ #ifndef PADATA_H #define PADATA_H +#include #include #include #include @@ -96,7 +97,7 @@ struct padata_shell *ps; struct padata_list __percpu *reorder_list; struct padata_serial_queue __percpu *squeue; - atomic_t refcnt; + refcount_t refcnt; unsigned int seq_nr; unsigned int processed; int cpu; diff -Nru linux-5.10.197/include/linux/pci_ids.h linux-5.10.205/include/linux/pci_ids.h --- linux-5.10.197/include/linux/pci_ids.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/pci_ids.h 2023-12-20 14:44:42.000000000 +0000 @@ -555,6 +555,7 @@ #define PCI_DEVICE_ID_AMD_17H_M30H_DF_F3 0x1493 #define PCI_DEVICE_ID_AMD_17H_M60H_DF_F3 0x144b #define PCI_DEVICE_ID_AMD_17H_M70H_DF_F3 0x1443 +#define PCI_DEVICE_ID_AMD_VANGOGH_USB 0x163a #define PCI_DEVICE_ID_AMD_19H_DF_F3 0x1653 #define PCI_DEVICE_ID_AMD_CNB17H_F3 0x1703 #define PCI_DEVICE_ID_AMD_LANCE 0x2000 diff -Nru linux-5.10.197/include/linux/perf_event.h linux-5.10.205/include/linux/perf_event.h --- linux-5.10.197/include/linux/perf_event.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/perf_event.h 2023-12-20 14:44:42.000000000 +0000 @@ -659,6 +659,7 @@ /* The cumulative AND of all event_caps for events in this group. */ int group_caps; + unsigned int group_generation; struct perf_event *group_leader; struct pmu *pmu; void *pmu_private; @@ -743,6 +744,8 @@ struct pid_namespace *ns; u64 id; + atomic64_t lost_samples; + u64 (*clock)(void); perf_overflow_handler_t overflow_handler; void *overflow_handler_context; diff -Nru linux-5.10.197/include/linux/platform_data/x86/asus-wmi.h linux-5.10.205/include/linux/platform_data/x86/asus-wmi.h --- linux-5.10.197/include/linux/platform_data/x86/asus-wmi.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/platform_data/x86/asus-wmi.h 2023-12-20 14:44:42.000000000 +0000 @@ -62,6 +62,8 @@ /* Misc */ #define ASUS_WMI_DEVID_CAMERA 0x00060013 +#define ASUS_WMI_DEVID_LID_FLIP 0x00060062 +#define ASUS_WMI_DEVID_LID_FLIP_ROG 0x00060077 /* Storage */ #define ASUS_WMI_DEVID_CARDREADER 0x00080013 @@ -88,6 +90,9 @@ /* Keyboard dock */ #define ASUS_WMI_DEVID_KBD_DOCK 0x00120063 +/* dgpu on/off */ +#define ASUS_WMI_DEVID_DGPU 0x00090020 + /* DSTS masks */ #define ASUS_WMI_DSTS_STATUS_BIT 0x00000001 #define ASUS_WMI_DSTS_UNKNOWN_BIT 0x00000002 diff -Nru linux-5.10.197/include/linux/platform_data/x86/soc.h linux-5.10.205/include/linux/platform_data/x86/soc.h --- linux-5.10.197/include/linux/platform_data/x86/soc.h 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/include/linux/platform_data/x86/soc.h 2023-12-20 14:44:42.000000000 +0000 @@ -0,0 +1,65 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Helpers for Intel SoC model detection + * + * Copyright (c) 2019, Intel Corporation. + */ + +#ifndef __PLATFORM_DATA_X86_SOC_H +#define __PLATFORM_DATA_X86_SOC_H + +#if IS_ENABLED(CONFIG_X86) + +#include +#include + +#define SOC_INTEL_IS_CPU(soc, type) \ +static inline bool soc_intel_is_##soc(void) \ +{ \ + static const struct x86_cpu_id soc##_cpu_ids[] = { \ + X86_MATCH_INTEL_FAM6_MODEL(type, NULL), \ + {} \ + }; \ + const struct x86_cpu_id *id; \ + \ + id = x86_match_cpu(soc##_cpu_ids); \ + if (id) \ + return true; \ + return false; \ +} + +SOC_INTEL_IS_CPU(byt, ATOM_SILVERMONT); +SOC_INTEL_IS_CPU(cht, ATOM_AIRMONT); +SOC_INTEL_IS_CPU(apl, ATOM_GOLDMONT); +SOC_INTEL_IS_CPU(glk, ATOM_GOLDMONT_PLUS); +SOC_INTEL_IS_CPU(cml, KABYLAKE_L); + +#else /* IS_ENABLED(CONFIG_X86) */ + +static inline bool soc_intel_is_byt(void) +{ + return false; +} + +static inline bool soc_intel_is_cht(void) +{ + return false; +} + +static inline bool soc_intel_is_apl(void) +{ + return false; +} + +static inline bool soc_intel_is_glk(void) +{ + return false; +} + +static inline bool soc_intel_is_cml(void) +{ + return false; +} +#endif /* IS_ENABLED(CONFIG_X86) */ + +#endif /* __PLATFORM_DATA_X86_SOC_H */ diff -Nru linux-5.10.197/include/linux/platform_device.h linux-5.10.205/include/linux/platform_device.h --- linux-5.10.197/include/linux/platform_device.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/platform_device.h 2023-12-20 14:44:42.000000000 +0000 @@ -30,7 +30,11 @@ struct resource *resource; const struct platform_device_id *id_entry; - char *driver_override; /* Driver name to force a match */ + /* + * Driver name to force a match. Do not set directly, because core + * frees it. Use driver_set_override() to set or clear it. + */ + const char *driver_override; /* MFD cell pointer */ struct mfd_cell *mfd_cell; diff -Nru linux-5.10.197/include/linux/pwm.h linux-5.10.205/include/linux/pwm.h --- linux-5.10.197/include/linux/pwm.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/pwm.h 2023-12-20 14:44:42.000000000 +0000 @@ -44,8 +44,8 @@ }; enum { - PWMF_REQUESTED = 1 << 0, - PWMF_EXPORTED = 1 << 1, + PWMF_REQUESTED = 0, + PWMF_EXPORTED = 1, }; /* diff -Nru linux-5.10.197/include/linux/quota.h linux-5.10.205/include/linux/quota.h --- linux-5.10.197/include/linux/quota.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/quota.h 2023-12-20 14:44:42.000000000 +0000 @@ -285,7 +285,9 @@ #define DQ_FAKE_B 3 /* no limits only usage */ #define DQ_READ_B 4 /* dquot was read into memory */ #define DQ_ACTIVE_B 5 /* dquot is active (dquot_release not called) */ -#define DQ_LASTSET_B 6 /* Following 6 bits (see QIF_) are reserved\ +#define DQ_RELEASING_B 6 /* dquot is in releasing_dquots list waiting + * to be cleaned up */ +#define DQ_LASTSET_B 7 /* Following 6 bits (see QIF_) are reserved\ * for the mask of entries set via SETQUOTA\ * quotactl. They are set under dq_data_lock\ * and the quota format handling dquot can\ diff -Nru linux-5.10.197/include/linux/quotaops.h linux-5.10.205/include/linux/quotaops.h --- linux-5.10.197/include/linux/quotaops.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/quotaops.h 2023-12-20 14:44:42.000000000 +0000 @@ -56,7 +56,7 @@ { if (test_bit(DQ_MOD_B, &dquot->dq_flags)) return true; - if (atomic_read(&dquot->dq_count) > 1) + if (atomic_read(&dquot->dq_count) > 0) return true; return false; } diff -Nru linux-5.10.197/include/linux/rpmsg.h linux-5.10.205/include/linux/rpmsg.h --- linux-5.10.197/include/linux/rpmsg.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/rpmsg.h 2023-12-20 14:44:42.000000000 +0000 @@ -41,7 +41,9 @@ * rpmsg_device - device that belong to the rpmsg bus * @dev: the device struct * @id: device id (used to match between rpmsg drivers and devices) - * @driver_override: driver name to force a match + * @driver_override: driver name to force a match; do not set directly, + * because core frees it; use driver_set_override() to + * set or clear it. * @src: local address * @dst: destination address * @ept: the rpmsg endpoint of this channel @@ -50,7 +52,7 @@ struct rpmsg_device { struct device dev; struct rpmsg_device_id id; - char *driver_override; + const char *driver_override; u32 src; u32 dst; struct rpmsg_endpoint *ept; @@ -113,6 +115,8 @@ #if IS_ENABLED(CONFIG_RPMSG) +int rpmsg_register_device_override(struct rpmsg_device *rpdev, + const char *driver_override); int register_rpmsg_device(struct rpmsg_device *dev); void unregister_rpmsg_device(struct rpmsg_device *dev); int __register_rpmsg_driver(struct rpmsg_driver *drv, struct module *owner); @@ -137,6 +141,12 @@ #else +static inline int rpmsg_register_device_override(struct rpmsg_device *rpdev, + const char *driver_override) +{ + return -ENXIO; +} + static inline int register_rpmsg_device(struct rpmsg_device *dev) { return -ENXIO; diff -Nru linux-5.10.197/include/linux/seqlock.h linux-5.10.205/include/linux/seqlock.h --- linux-5.10.197/include/linux/seqlock.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/seqlock.h 2023-12-20 14:44:42.000000000 +0000 @@ -307,10 +307,10 @@ __seqprop_case((s), mutex, prop), \ __seqprop_case((s), ww_mutex, prop)) -#define __seqcount_ptr(s) __seqprop(s, ptr) -#define __seqcount_sequence(s) __seqprop(s, sequence) -#define __seqcount_lock_preemptible(s) __seqprop(s, preemptible) -#define __seqcount_assert_lock_held(s) __seqprop(s, assert) +#define seqprop_ptr(s) __seqprop(s, ptr) +#define seqprop_sequence(s) __seqprop(s, sequence) +#define seqprop_preemptible(s) __seqprop(s, preemptible) +#define seqprop_assert(s) __seqprop(s, assert) /** * __read_seqcount_begin() - begin a seqcount_t read section w/o barrier @@ -328,13 +328,13 @@ */ #define __read_seqcount_begin(s) \ ({ \ - unsigned seq; \ + unsigned __seq; \ \ - while ((seq = __seqcount_sequence(s)) & 1) \ + while ((__seq = seqprop_sequence(s)) & 1) \ cpu_relax(); \ \ kcsan_atomic_next(KCSAN_SEQLOCK_REGION_MAX); \ - seq; \ + __seq; \ }) /** @@ -345,10 +345,10 @@ */ #define raw_read_seqcount_begin(s) \ ({ \ - unsigned seq = __read_seqcount_begin(s); \ + unsigned _seq = __read_seqcount_begin(s); \ \ smp_rmb(); \ - seq; \ + _seq; \ }) /** @@ -359,7 +359,7 @@ */ #define read_seqcount_begin(s) \ ({ \ - seqcount_lockdep_reader_access(__seqcount_ptr(s)); \ + seqcount_lockdep_reader_access(seqprop_ptr(s)); \ raw_read_seqcount_begin(s); \ }) @@ -376,11 +376,11 @@ */ #define raw_read_seqcount(s) \ ({ \ - unsigned seq = __seqcount_sequence(s); \ + unsigned __seq = seqprop_sequence(s); \ \ smp_rmb(); \ kcsan_atomic_next(KCSAN_SEQLOCK_REGION_MAX); \ - seq; \ + __seq; \ }) /** @@ -425,9 +425,9 @@ * Return: true if a read section retry is required, else false */ #define __read_seqcount_retry(s, start) \ - __read_seqcount_t_retry(__seqcount_ptr(s), start) + do___read_seqcount_retry(seqprop_ptr(s), start) -static inline int __read_seqcount_t_retry(const seqcount_t *s, unsigned start) +static inline int do___read_seqcount_retry(const seqcount_t *s, unsigned start) { kcsan_atomic_next(0); return unlikely(READ_ONCE(s->sequence) != start); @@ -445,12 +445,12 @@ * Return: true if a read section retry is required, else false */ #define read_seqcount_retry(s, start) \ - read_seqcount_t_retry(__seqcount_ptr(s), start) + do_read_seqcount_retry(seqprop_ptr(s), start) -static inline int read_seqcount_t_retry(const seqcount_t *s, unsigned start) +static inline int do_read_seqcount_retry(const seqcount_t *s, unsigned start) { smp_rmb(); - return __read_seqcount_t_retry(s, start); + return do___read_seqcount_retry(s, start); } /** @@ -459,13 +459,13 @@ */ #define raw_write_seqcount_begin(s) \ do { \ - if (__seqcount_lock_preemptible(s)) \ + if (seqprop_preemptible(s)) \ preempt_disable(); \ \ - raw_write_seqcount_t_begin(__seqcount_ptr(s)); \ + do_raw_write_seqcount_begin(seqprop_ptr(s)); \ } while (0) -static inline void raw_write_seqcount_t_begin(seqcount_t *s) +static inline void do_raw_write_seqcount_begin(seqcount_t *s) { kcsan_nestable_atomic_begin(); s->sequence++; @@ -478,13 +478,13 @@ */ #define raw_write_seqcount_end(s) \ do { \ - raw_write_seqcount_t_end(__seqcount_ptr(s)); \ + do_raw_write_seqcount_end(seqprop_ptr(s)); \ \ - if (__seqcount_lock_preemptible(s)) \ + if (seqprop_preemptible(s)) \ preempt_enable(); \ } while (0) -static inline void raw_write_seqcount_t_end(seqcount_t *s) +static inline void do_raw_write_seqcount_end(seqcount_t *s) { smp_wmb(); s->sequence++; @@ -501,18 +501,18 @@ */ #define write_seqcount_begin_nested(s, subclass) \ do { \ - __seqcount_assert_lock_held(s); \ + seqprop_assert(s); \ \ - if (__seqcount_lock_preemptible(s)) \ + if (seqprop_preemptible(s)) \ preempt_disable(); \ \ - write_seqcount_t_begin_nested(__seqcount_ptr(s), subclass); \ + do_write_seqcount_begin_nested(seqprop_ptr(s), subclass); \ } while (0) -static inline void write_seqcount_t_begin_nested(seqcount_t *s, int subclass) +static inline void do_write_seqcount_begin_nested(seqcount_t *s, int subclass) { - raw_write_seqcount_t_begin(s); seqcount_acquire(&s->dep_map, subclass, 0, _RET_IP_); + do_raw_write_seqcount_begin(s); } /** @@ -528,17 +528,17 @@ */ #define write_seqcount_begin(s) \ do { \ - __seqcount_assert_lock_held(s); \ + seqprop_assert(s); \ \ - if (__seqcount_lock_preemptible(s)) \ + if (seqprop_preemptible(s)) \ preempt_disable(); \ \ - write_seqcount_t_begin(__seqcount_ptr(s)); \ + do_write_seqcount_begin(seqprop_ptr(s)); \ } while (0) -static inline void write_seqcount_t_begin(seqcount_t *s) +static inline void do_write_seqcount_begin(seqcount_t *s) { - write_seqcount_t_begin_nested(s, 0); + do_write_seqcount_begin_nested(s, 0); } /** @@ -549,16 +549,16 @@ */ #define write_seqcount_end(s) \ do { \ - write_seqcount_t_end(__seqcount_ptr(s)); \ + do_write_seqcount_end(seqprop_ptr(s)); \ \ - if (__seqcount_lock_preemptible(s)) \ + if (seqprop_preemptible(s)) \ preempt_enable(); \ } while (0) -static inline void write_seqcount_t_end(seqcount_t *s) +static inline void do_write_seqcount_end(seqcount_t *s) { seqcount_release(&s->dep_map, _RET_IP_); - raw_write_seqcount_t_end(s); + do_raw_write_seqcount_end(s); } /** @@ -603,9 +603,9 @@ * } */ #define raw_write_seqcount_barrier(s) \ - raw_write_seqcount_t_barrier(__seqcount_ptr(s)) + do_raw_write_seqcount_barrier(seqprop_ptr(s)) -static inline void raw_write_seqcount_t_barrier(seqcount_t *s) +static inline void do_raw_write_seqcount_barrier(seqcount_t *s) { kcsan_nestable_atomic_begin(); s->sequence++; @@ -623,9 +623,9 @@ * will complete successfully and see data older than this. */ #define write_seqcount_invalidate(s) \ - write_seqcount_t_invalidate(__seqcount_ptr(s)) + do_write_seqcount_invalidate(seqprop_ptr(s)) -static inline void write_seqcount_t_invalidate(seqcount_t *s) +static inline void do_write_seqcount_invalidate(seqcount_t *s) { smp_wmb(); kcsan_nestable_atomic_begin(); @@ -862,9 +862,9 @@ } /* - * For all seqlock_t write side functions, use write_seqcount_*t*_begin() - * instead of the generic write_seqcount_begin(). This way, no redundant - * lockdep_assert_held() checks are added. + * For all seqlock_t write side functions, use the the internal + * do_write_seqcount_begin() instead of generic write_seqcount_begin(). + * This way, no redundant lockdep_assert_held() checks are added. */ /** @@ -883,7 +883,7 @@ static inline void write_seqlock(seqlock_t *sl) { spin_lock(&sl->lock); - write_seqcount_t_begin(&sl->seqcount.seqcount); + do_write_seqcount_begin(&sl->seqcount.seqcount); } /** @@ -895,7 +895,7 @@ */ static inline void write_sequnlock(seqlock_t *sl) { - write_seqcount_t_end(&sl->seqcount.seqcount); + do_write_seqcount_end(&sl->seqcount.seqcount); spin_unlock(&sl->lock); } @@ -909,7 +909,7 @@ static inline void write_seqlock_bh(seqlock_t *sl) { spin_lock_bh(&sl->lock); - write_seqcount_t_begin(&sl->seqcount.seqcount); + do_write_seqcount_begin(&sl->seqcount.seqcount); } /** @@ -922,7 +922,7 @@ */ static inline void write_sequnlock_bh(seqlock_t *sl) { - write_seqcount_t_end(&sl->seqcount.seqcount); + do_write_seqcount_end(&sl->seqcount.seqcount); spin_unlock_bh(&sl->lock); } @@ -936,7 +936,7 @@ static inline void write_seqlock_irq(seqlock_t *sl) { spin_lock_irq(&sl->lock); - write_seqcount_t_begin(&sl->seqcount.seqcount); + do_write_seqcount_begin(&sl->seqcount.seqcount); } /** @@ -948,7 +948,7 @@ */ static inline void write_sequnlock_irq(seqlock_t *sl) { - write_seqcount_t_end(&sl->seqcount.seqcount); + do_write_seqcount_end(&sl->seqcount.seqcount); spin_unlock_irq(&sl->lock); } @@ -957,7 +957,7 @@ unsigned long flags; spin_lock_irqsave(&sl->lock, flags); - write_seqcount_t_begin(&sl->seqcount.seqcount); + do_write_seqcount_begin(&sl->seqcount.seqcount); return flags; } @@ -986,7 +986,7 @@ static inline void write_sequnlock_irqrestore(seqlock_t *sl, unsigned long flags) { - write_seqcount_t_end(&sl->seqcount.seqcount); + do_write_seqcount_end(&sl->seqcount.seqcount); spin_unlock_irqrestore(&sl->lock, flags); } diff -Nru linux-5.10.197/include/linux/sunrpc/clnt.h linux-5.10.205/include/linux/sunrpc/clnt.h --- linux-5.10.197/include/linux/sunrpc/clnt.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/sunrpc/clnt.h 2023-12-20 14:44:42.000000000 +0000 @@ -79,6 +79,7 @@ struct work_struct cl_work; }; const struct cred *cl_cred; + struct super_block *pipefs_sb; }; /* diff -Nru linux-5.10.197/include/linux/trace_events.h linux-5.10.205/include/linux/trace_events.h --- linux-5.10.197/include/linux/trace_events.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/trace_events.h 2023-12-20 14:44:42.000000000 +0000 @@ -369,6 +369,7 @@ EVENT_FILE_FL_TRIGGER_COND_BIT, EVENT_FILE_FL_PID_FILTER_BIT, EVENT_FILE_FL_WAS_ENABLED_BIT, + EVENT_FILE_FL_FREED_BIT, }; extern struct trace_event_file *trace_get_event_file(const char *instance, @@ -507,6 +508,7 @@ * TRIGGER_COND - When set, one or more triggers has an associated filter * PID_FILTER - When set, the event is filtered based on pid * WAS_ENABLED - Set when enabled to know to clear trace on module removal + * FREED - File descriptor is freed, all fields should be considered invalid */ enum { EVENT_FILE_FL_ENABLED = (1 << EVENT_FILE_FL_ENABLED_BIT), @@ -520,6 +522,7 @@ EVENT_FILE_FL_TRIGGER_COND = (1 << EVENT_FILE_FL_TRIGGER_COND_BIT), EVENT_FILE_FL_PID_FILTER = (1 << EVENT_FILE_FL_PID_FILTER_BIT), EVENT_FILE_FL_WAS_ENABLED = (1 << EVENT_FILE_FL_WAS_ENABLED_BIT), + EVENT_FILE_FL_FREED = (1 << EVENT_FILE_FL_FREED_BIT), }; struct trace_event_file { @@ -548,6 +551,7 @@ * caching and such. Which is mostly OK ;-) */ unsigned long flags; + atomic_t ref; /* ref count for opened files */ atomic_t sm_ref; /* soft-mode reference counter */ atomic_t tm_ref; /* trigger-mode reference counter */ }; diff -Nru linux-5.10.197/include/linux/usb.h linux-5.10.205/include/linux/usb.h --- linux-5.10.197/include/linux/usb.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/usb.h 2023-12-20 14:44:42.000000000 +0000 @@ -478,12 +478,6 @@ struct usb_tt; -enum usb_device_removable { - USB_DEVICE_REMOVABLE_UNKNOWN = 0, - USB_DEVICE_REMOVABLE, - USB_DEVICE_FIXED, -}; - enum usb_port_connect_type { USB_PORT_CONNECT_TYPE_UNKNOWN = 0, USB_PORT_CONNECT_TYPE_HOT_PLUG, @@ -565,6 +559,7 @@ * @speed: device speed: high/full/low (or error) * @rx_lanes: number of rx lanes in use, USB 3.2 adds dual-lane support * @tx_lanes: number of tx lanes in use, USB 3.2 adds dual-lane support + * @ssp_rate: SuperSpeed Plus phy signaling rate and lane count * @tt: Transaction Translator info; used with low/full speed dev, highspeed hub * @ttport: device port on that tt hub * @toggle: one bit for each endpoint, with ([0] = IN, [1] = OUT) endpoints @@ -642,6 +637,7 @@ enum usb_device_speed speed; unsigned int rx_lanes; unsigned int tx_lanes; + enum usb_ssp_rate ssp_rate; struct usb_tt *tt; int ttport; @@ -708,7 +704,6 @@ #endif struct wusb_dev *wusb_dev; int slot_id; - enum usb_device_removable removable; struct usb2_lpm_parameters l1_params; struct usb3_lpm_parameters u1_params; struct usb3_lpm_parameters u2_params; diff -Nru linux-5.10.197/include/linux/workqueue.h linux-5.10.205/include/linux/workqueue.h --- linux-5.10.197/include/linux/workqueue.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/linux/workqueue.h 2023-12-20 14:44:42.000000000 +0000 @@ -460,6 +460,7 @@ int execute_in_process_context(work_func_t fn, struct execute_work *); extern bool flush_work(struct work_struct *work); +extern bool cancel_work(struct work_struct *work); extern bool cancel_work_sync(struct work_struct *work); extern bool flush_delayed_work(struct delayed_work *dwork); diff -Nru linux-5.10.197/include/net/addrconf.h linux-5.10.205/include/net/addrconf.h --- linux-5.10.197/include/net/addrconf.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/net/addrconf.h 2023-12-20 14:44:42.000000000 +0000 @@ -31,17 +31,22 @@ __u8 length; __u8 prefix_len; + union __packed { + __u8 flags; + struct __packed { #if defined(__BIG_ENDIAN_BITFIELD) - __u8 onlink : 1, + __u8 onlink : 1, autoconf : 1, reserved : 6; #elif defined(__LITTLE_ENDIAN_BITFIELD) - __u8 reserved : 6, + __u8 reserved : 6, autoconf : 1, onlink : 1; #else #error "Please fix " #endif + }; + }; __be32 valid; __be32 prefered; __be32 reserved2; @@ -49,6 +54,9 @@ struct in6_addr prefix; }; +/* rfc4861 4.6.2: IPv6 PIO is 32 bytes in size */ +static_assert(sizeof(struct prefix_info) == 32); + #include #include #include diff -Nru linux-5.10.197/include/net/bluetooth/hci_core.h linux-5.10.205/include/net/bluetooth/hci_core.h --- linux-5.10.197/include/net/bluetooth/hci_core.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/net/bluetooth/hci_core.h 2023-12-20 14:44:42.000000000 +0000 @@ -287,7 +287,7 @@ struct list_head list; struct mutex lock; - char name[8]; + const char *name; unsigned long flags; __u16 id; __u8 bus; diff -Nru linux-5.10.197/include/net/bluetooth/hci_mon.h linux-5.10.205/include/net/bluetooth/hci_mon.h --- linux-5.10.197/include/net/bluetooth/hci_mon.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/net/bluetooth/hci_mon.h 2023-12-20 14:44:42.000000000 +0000 @@ -56,7 +56,7 @@ __u8 type; __u8 bus; bdaddr_t bdaddr; - char name[8]; + char name[8] __nonstring; } __packed; #define HCI_MON_NEW_INDEX_SIZE 16 diff -Nru linux-5.10.197/include/net/flow.h linux-5.10.205/include/net/flow.h --- linux-5.10.197/include/net/flow.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/net/flow.h 2023-12-20 14:44:42.000000000 +0000 @@ -39,8 +39,8 @@ #define FLOWI_FLAG_SKIP_NH_OIF 0x04 __u32 flowic_secid; kuid_t flowic_uid; - struct flowi_tunnel flowic_tun_key; __u32 flowic_multipath_hash; + struct flowi_tunnel flowic_tun_key; }; union flowi_uli { diff -Nru linux-5.10.197/include/net/genetlink.h linux-5.10.205/include/net/genetlink.h --- linux-5.10.197/include/net/genetlink.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/net/genetlink.h 2023-12-20 14:44:42.000000000 +0000 @@ -11,9 +11,12 @@ /** * struct genl_multicast_group - generic netlink multicast group * @name: name of the multicast group, names are per-family + * @cap_sys_admin: whether %CAP_SYS_ADMIN is required for binding */ struct genl_multicast_group { char name[GENL_NAMSIZ]; + u8 flags; + u8 cap_sys_admin:1; }; struct genl_ops; diff -Nru linux-5.10.197/include/net/if_inet6.h linux-5.10.205/include/net/if_inet6.h --- linux-5.10.197/include/net/if_inet6.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/net/if_inet6.h 2023-12-20 14:44:42.000000000 +0000 @@ -22,10 +22,6 @@ #define IF_RS_SENT 0x10 #define IF_READY 0x80000000 -/* prefix flags */ -#define IF_PREFIX_ONLINK 0x01 -#define IF_PREFIX_AUTOCONF 0x02 - enum { INET6_IFADDR_STATE_PREDAD, INET6_IFADDR_STATE_DAD, diff -Nru linux-5.10.197/include/net/ip_fib.h linux-5.10.205/include/net/ip_fib.h --- linux-5.10.197/include/net/ip_fib.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/net/ip_fib.h 2023-12-20 14:44:42.000000000 +0000 @@ -151,6 +151,7 @@ int fib_nhs; bool fib_nh_is_v6; bool nh_updated; + bool pfsrc_removed; struct nexthop *nh; struct rcu_head rcu; struct fib_nh fib_nh[]; diff -Nru linux-5.10.197/include/net/macsec.h linux-5.10.205/include/net/macsec.h --- linux-5.10.197/include/net/macsec.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/net/macsec.h 2023-12-20 14:44:42.000000000 +0000 @@ -240,6 +240,7 @@ struct macsec_secy *secy; struct macsec_rx_sc *rx_sc; struct { + bool update_pn; unsigned char assoc_num; u8 key[MACSEC_MAX_KEY_LEN]; union { diff -Nru linux-5.10.197/include/net/netfilter/ipv4/nf_reject.h linux-5.10.205/include/net/netfilter/ipv4/nf_reject.h --- linux-5.10.197/include/net/netfilter/ipv4/nf_reject.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/net/netfilter/ipv4/nf_reject.h 2023-12-20 14:44:42.000000000 +0000 @@ -8,8 +8,8 @@ #include void nf_send_unreach(struct sk_buff *skb_in, int code, int hook); -void nf_send_reset(struct net *net, struct sk_buff *oldskb, int hook); - +void nf_send_reset(struct net *net, struct sock *, struct sk_buff *oldskb, + int hook); const struct tcphdr *nf_reject_ip_tcphdr_get(struct sk_buff *oldskb, struct tcphdr *_oth, int hook); struct iphdr *nf_reject_iphdr_put(struct sk_buff *nskb, diff -Nru linux-5.10.197/include/net/netfilter/ipv6/nf_reject.h linux-5.10.205/include/net/netfilter/ipv6/nf_reject.h --- linux-5.10.197/include/net/netfilter/ipv6/nf_reject.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/net/netfilter/ipv6/nf_reject.h 2023-12-20 14:44:42.000000000 +0000 @@ -7,9 +7,8 @@ void nf_send_unreach6(struct net *net, struct sk_buff *skb_in, unsigned char code, unsigned int hooknum); - -void nf_send_reset6(struct net *net, struct sk_buff *oldskb, int hook); - +void nf_send_reset6(struct net *net, struct sock *sk, struct sk_buff *oldskb, + int hook); const struct tcphdr *nf_reject_ip6_tcphdr_get(struct sk_buff *oldskb, struct tcphdr *otcph, unsigned int *otcplen, int hook); diff -Nru linux-5.10.197/include/net/netfilter/nf_nat_redirect.h linux-5.10.205/include/net/netfilter/nf_nat_redirect.h --- linux-5.10.197/include/net/netfilter/nf_nat_redirect.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/net/netfilter/nf_nat_redirect.h 2023-12-20 14:44:42.000000000 +0000 @@ -6,8 +6,7 @@ #include unsigned int -nf_nat_redirect_ipv4(struct sk_buff *skb, - const struct nf_nat_ipv4_multi_range_compat *mr, +nf_nat_redirect_ipv4(struct sk_buff *skb, const struct nf_nat_range2 *range, unsigned int hooknum); unsigned int nf_nat_redirect_ipv6(struct sk_buff *skb, const struct nf_nat_range2 *range, diff -Nru linux-5.10.197/include/net/netfilter/nf_tables.h linux-5.10.205/include/net/netfilter/nf_tables.h --- linux-5.10.197/include/net/netfilter/nf_tables.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/net/netfilter/nf_tables.h 2023-12-20 14:44:42.000000000 +0000 @@ -28,6 +28,16 @@ struct xt_action_param xt; }; +static inline struct sock *nft_sk(const struct nft_pktinfo *pkt) +{ + return pkt->xt.state->sk; +} + +static inline unsigned int nft_thoff(const struct nft_pktinfo *pkt) +{ + return pkt->xt.thoff; +} + static inline struct net *nft_net(const struct nft_pktinfo *pkt) { return pkt->xt.state->net; @@ -373,7 +383,8 @@ const struct nft_set *set, const struct nft_set_elem *elem, unsigned int flags); - + void (*commit)(const struct nft_set *set); + void (*abort)(const struct nft_set *set); u64 (*privsize)(const struct nlattr * const nla[], const struct nft_set_desc *desc); bool (*estimate)(const struct nft_set_desc *desc, @@ -406,6 +417,7 @@ * * @list: table set list node * @bindings: list of set bindings + * @refs: internal refcounting for async set destruction * @table: table this set belongs to * @net: netnamespace this set belongs to * @name: name of the set @@ -427,6 +439,7 @@ * @expr: stateful expression * @ops: set ops * @flags: set flags + * @dead: set will be freed, never cleared * @genmask: generation mask * @klen: key length * @dlen: data length @@ -435,6 +448,7 @@ struct nft_set { struct list_head list; struct list_head bindings; + refcount_t refs; struct nft_table *table; possible_net_t net; char *name; @@ -454,9 +468,11 @@ u16 udlen; unsigned char *udata; struct nft_expr *expr; + struct list_head pending_update; /* runtime data below here */ const struct nft_set_ops *ops ____cacheline_aligned; - u16 flags:14, + u16 flags:13, + dead:1, genmask:2; u8 klen; u8 dlen; @@ -474,6 +490,11 @@ return (void *)set->data; } +static inline bool nft_set_gc_is_pending(const struct nft_set *s) +{ + return refcount_read(&s->refs) != 1; +} + static inline struct nft_set *nft_set_container_of(const void *priv) { return (void *)priv - offsetof(struct nft_set, data); @@ -690,62 +711,6 @@ void nf_tables_set_elem_destroy(const struct nft_ctx *ctx, const struct nft_set *set, void *elem); -/** - * struct nft_set_gc_batch_head - nf_tables set garbage collection batch - * - * @rcu: rcu head - * @set: set the elements belong to - * @cnt: count of elements - */ -struct nft_set_gc_batch_head { - struct rcu_head rcu; - const struct nft_set *set; - unsigned int cnt; -}; - -#define NFT_SET_GC_BATCH_SIZE ((PAGE_SIZE - \ - sizeof(struct nft_set_gc_batch_head)) / \ - sizeof(void *)) - -/** - * struct nft_set_gc_batch - nf_tables set garbage collection batch - * - * @head: GC batch head - * @elems: garbage collection elements - */ -struct nft_set_gc_batch { - struct nft_set_gc_batch_head head; - void *elems[NFT_SET_GC_BATCH_SIZE]; -}; - -struct nft_set_gc_batch *nft_set_gc_batch_alloc(const struct nft_set *set, - gfp_t gfp); -void nft_set_gc_batch_release(struct rcu_head *rcu); - -static inline void nft_set_gc_batch_complete(struct nft_set_gc_batch *gcb) -{ - if (gcb != NULL) - call_rcu(&gcb->head.rcu, nft_set_gc_batch_release); -} - -static inline struct nft_set_gc_batch * -nft_set_gc_batch_check(const struct nft_set *set, struct nft_set_gc_batch *gcb, - gfp_t gfp) -{ - if (gcb != NULL) { - if (gcb->head.cnt + 1 < ARRAY_SIZE(gcb->elems)) - return gcb; - nft_set_gc_batch_complete(gcb); - } - return nft_set_gc_batch_alloc(set, gfp); -} - -static inline void nft_set_gc_batch_add(struct nft_set_gc_batch *gcb, - void *elem) -{ - gcb->elems[gcb->head.cnt++] = elem; -} - struct nft_expr_ops; /** * struct nft_expr_type - nf_tables expression type @@ -1413,39 +1378,30 @@ #endif /* IS_ENABLED(CONFIG_NF_TABLES) */ -/* - * We use a free bit in the genmask field to indicate the element - * is busy, meaning it is currently being processed either by - * the netlink API or GC. - * - * Even though the genmask is only a single byte wide, this works - * because the extension structure if fully constant once initialized, - * so there are no non-atomic write accesses unless it is already - * marked busy. - */ -#define NFT_SET_ELEM_BUSY_MASK (1 << 2) +#define NFT_SET_ELEM_DEAD_MASK (1 << 2) #if defined(__LITTLE_ENDIAN_BITFIELD) -#define NFT_SET_ELEM_BUSY_BIT 2 +#define NFT_SET_ELEM_DEAD_BIT 2 #elif defined(__BIG_ENDIAN_BITFIELD) -#define NFT_SET_ELEM_BUSY_BIT (BITS_PER_LONG - BITS_PER_BYTE + 2) +#define NFT_SET_ELEM_DEAD_BIT (BITS_PER_LONG - BITS_PER_BYTE + 2) #else #error #endif -static inline int nft_set_elem_mark_busy(struct nft_set_ext *ext) +static inline void nft_set_elem_dead(struct nft_set_ext *ext) { unsigned long *word = (unsigned long *)ext; BUILD_BUG_ON(offsetof(struct nft_set_ext, genmask) != 0); - return test_and_set_bit(NFT_SET_ELEM_BUSY_BIT, word); + set_bit(NFT_SET_ELEM_DEAD_BIT, word); } -static inline void nft_set_elem_clear_busy(struct nft_set_ext *ext) +static inline int nft_set_elem_is_dead(const struct nft_set_ext *ext) { unsigned long *word = (unsigned long *)ext; - clear_bit(NFT_SET_ELEM_BUSY_BIT, word); + BUILD_BUG_ON(offsetof(struct nft_set_ext, genmask) != 0); + return test_bit(NFT_SET_ELEM_DEAD_BIT, word); } /** @@ -1523,13 +1479,10 @@ struct nft_trans_table { bool update; - bool enable; }; #define nft_trans_table_update(trans) \ (((struct nft_trans_table *)trans->data)->update) -#define nft_trans_table_enable(trans) \ - (((struct nft_trans_table *)trans->data)->enable) struct nft_trans_elem { struct nft_set *set; @@ -1573,6 +1526,35 @@ #define nft_trans_flowtable_flags(trans) \ (((struct nft_trans_flowtable *)trans->data)->flags) +#define NFT_TRANS_GC_BATCHCOUNT 256 + +struct nft_trans_gc { + struct list_head list; + struct net *net; + struct nft_set *set; + u32 seq; + u16 count; + void *priv[NFT_TRANS_GC_BATCHCOUNT]; + struct rcu_head rcu; +}; + +struct nft_trans_gc *nft_trans_gc_alloc(struct nft_set *set, + unsigned int gc_seq, gfp_t gfp); +void nft_trans_gc_destroy(struct nft_trans_gc *trans); + +struct nft_trans_gc *nft_trans_gc_queue_async(struct nft_trans_gc *gc, + unsigned int gc_seq, gfp_t gfp); +void nft_trans_gc_queue_async_done(struct nft_trans_gc *gc); + +struct nft_trans_gc *nft_trans_gc_queue_sync(struct nft_trans_gc *gc, gfp_t gfp); +void nft_trans_gc_queue_sync_done(struct nft_trans_gc *trans); + +void nft_trans_gc_elem_add(struct nft_trans_gc *gc, void *priv); + +void nft_setelem_data_deactivate(const struct net *net, + const struct nft_set *set, + struct nft_set_elem *elem); + int __init nft_chain_filter_init(void); void nft_chain_filter_fini(void); @@ -1593,6 +1575,7 @@ struct mutex commit_mutex; unsigned int base_seq; u8 validate_state; + unsigned int gc_seq; }; #endif /* _NET_NF_TABLES_H */ diff -Nru linux-5.10.197/include/net/netns/xfrm.h linux-5.10.205/include/net/netns/xfrm.h --- linux-5.10.197/include/net/netns/xfrm.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/net/netns/xfrm.h 2023-12-20 14:44:42.000000000 +0000 @@ -49,6 +49,7 @@ struct list_head policy_all; struct hlist_head *policy_byidx; unsigned int policy_idx_hmask; + unsigned int idx_generator; struct hlist_head policy_inexact[XFRM_POLICY_MAX]; struct xfrm_policy_hash policy_bydst[XFRM_POLICY_MAX]; unsigned int policy_count[XFRM_POLICY_MAX * 2]; diff -Nru linux-5.10.197/include/net/sock.h linux-5.10.205/include/net/sock.h --- linux-5.10.197/include/net/sock.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/net/sock.h 2023-12-20 14:44:42.000000000 +0000 @@ -1853,21 +1853,33 @@ /* sk_tx_queue_mapping accept only upto a 16-bit value */ if (WARN_ON_ONCE((unsigned short)tx_queue >= USHRT_MAX)) return; - sk->sk_tx_queue_mapping = tx_queue; + /* Paired with READ_ONCE() in sk_tx_queue_get() and + * other WRITE_ONCE() because socket lock might be not held. + */ + WRITE_ONCE(sk->sk_tx_queue_mapping, tx_queue); } #define NO_QUEUE_MAPPING USHRT_MAX static inline void sk_tx_queue_clear(struct sock *sk) { - sk->sk_tx_queue_mapping = NO_QUEUE_MAPPING; + /* Paired with READ_ONCE() in sk_tx_queue_get() and + * other WRITE_ONCE() because socket lock might be not held. + */ + WRITE_ONCE(sk->sk_tx_queue_mapping, NO_QUEUE_MAPPING); } static inline int sk_tx_queue_get(const struct sock *sk) { - if (sk && sk->sk_tx_queue_mapping != NO_QUEUE_MAPPING) - return sk->sk_tx_queue_mapping; + if (sk) { + /* Paired with WRITE_ONCE() in sk_tx_queue_clear() + * and sk_tx_queue_set(). + */ + int val = READ_ONCE(sk->sk_tx_queue_mapping); + if (val != NO_QUEUE_MAPPING) + return val; + } return -1; } @@ -2001,7 +2013,7 @@ if (ndst != dst) { rcu_assign_pointer(sk->sk_dst_cache, ndst); sk_tx_queue_clear(sk); - sk->sk_dst_pending_confirm = 0; + WRITE_ONCE(sk->sk_dst_pending_confirm, 0); } } } @@ -2018,7 +2030,7 @@ struct dst_entry *old_dst; sk_tx_queue_clear(sk); - sk->sk_dst_pending_confirm = 0; + WRITE_ONCE(sk->sk_dst_pending_confirm, 0); old_dst = rcu_dereference_protected(sk->sk_dst_cache, lockdep_sock_is_held(sk)); rcu_assign_pointer(sk->sk_dst_cache, dst); @@ -2031,7 +2043,7 @@ struct dst_entry *old_dst; sk_tx_queue_clear(sk); - sk->sk_dst_pending_confirm = 0; + WRITE_ONCE(sk->sk_dst_pending_confirm, 0); old_dst = xchg((__force struct dst_entry **)&sk->sk_dst_cache, dst); dst_release(old_dst); } diff -Nru linux-5.10.197/include/net/tcp.h linux-5.10.205/include/net/tcp.h --- linux-5.10.197/include/net/tcp.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/net/tcp.h 2023-12-20 14:44:42.000000000 +0000 @@ -141,6 +141,9 @@ #define TCP_RTO_MAX ((unsigned)(120*HZ)) #define TCP_RTO_MIN ((unsigned)(HZ/5)) #define TCP_TIMEOUT_MIN (2U) /* Min timeout for TCP timers in jiffies */ + +#define TCP_TIMEOUT_MIN_US (2*USEC_PER_MSEC) /* Min TCP timeout in microsecs */ + #define TCP_TIMEOUT_INIT ((unsigned)(1*HZ)) /* RFC6298 2.1 initial RTO value */ #define TCP_TIMEOUT_FALLBACK ((unsigned)(3*HZ)) /* RFC 1122 initial RTO value, now * used as a fallback RTO for the @@ -337,12 +340,14 @@ struct pipe_inode_info *pipe, size_t len, unsigned int flags); -static inline void tcp_dec_quickack_mode(struct sock *sk, - const unsigned int pkts) +static inline void tcp_dec_quickack_mode(struct sock *sk) { struct inet_connection_sock *icsk = inet_csk(sk); if (icsk->icsk_ack.quick) { + /* How many ACKs S/ACKing new data have we sent? */ + const unsigned int pkts = inet_csk_ack_scheduled(sk) ? 1 : 0; + if (pkts >= icsk->icsk_ack.quick) { icsk->icsk_ack.quick = 0; /* Leaving quickack mode we deflate ATO. */ @@ -771,7 +776,7 @@ } /* Convert a nsec timestamp into TCP TSval timestamp (ms based currently) */ -static inline u32 tcp_ns_to_ts(u64 ns) +static inline u64 tcp_ns_to_ts(u64 ns) { return div_u64(ns, NSEC_PER_SEC / TCP_TS_HZ); } diff -Nru linux-5.10.197/include/scsi/scsi_cmnd.h linux-5.10.205/include/scsi/scsi_cmnd.h --- linux-5.10.197/include/scsi/scsi_cmnd.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/scsi/scsi_cmnd.h 2023-12-20 14:44:42.000000000 +0000 @@ -144,6 +144,12 @@ unsigned int extra_len; /* length of alignment and padding */ }; +/* Variant of blk_mq_rq_from_pdu() that verifies the type of its argument. */ +static inline struct request *scsi_cmd_to_rq(struct scsi_cmnd *scmd) +{ + return blk_mq_rq_from_pdu(scmd); +} + /* * Return the driver private allocation behind the command. * Only works if cmd_size is set in the host template. diff -Nru linux-5.10.197/include/sound/soc-card.h linux-5.10.205/include/sound/soc-card.h --- linux-5.10.197/include/sound/soc-card.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/sound/soc-card.h 2023-12-20 14:44:42.000000000 +0000 @@ -40,6 +40,43 @@ void snd_soc_card_remove_dai_link(struct snd_soc_card *card, struct snd_soc_dai_link *dai_link); +#ifdef CONFIG_PCI +static inline void snd_soc_card_set_pci_ssid(struct snd_soc_card *card, + unsigned short vendor, + unsigned short device) +{ + card->pci_subsystem_vendor = vendor; + card->pci_subsystem_device = device; + card->pci_subsystem_set = true; +} + +static inline int snd_soc_card_get_pci_ssid(struct snd_soc_card *card, + unsigned short *vendor, + unsigned short *device) +{ + if (!card->pci_subsystem_set) + return -ENOENT; + + *vendor = card->pci_subsystem_vendor; + *device = card->pci_subsystem_device; + + return 0; +} +#else /* !CONFIG_PCI */ +static inline void snd_soc_card_set_pci_ssid(struct snd_soc_card *card, + unsigned short vendor, + unsigned short device) +{ +} + +static inline int snd_soc_card_get_pci_ssid(struct snd_soc_card *card, + unsigned short *vendor, + unsigned short *device) +{ + return -ENOENT; +} +#endif /* CONFIG_PCI */ + /* device driver data */ static inline void snd_soc_card_set_drvdata(struct snd_soc_card *card, void *data) diff -Nru linux-5.10.197/include/sound/soc.h linux-5.10.205/include/sound/soc.h --- linux-5.10.197/include/sound/soc.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/sound/soc.h 2023-12-20 14:44:42.000000000 +0000 @@ -977,6 +977,17 @@ #ifdef CONFIG_DMI char dmi_longname[80]; #endif /* CONFIG_DMI */ + +#ifdef CONFIG_PCI + /* + * PCI does not define 0 as invalid, so pci_subsystem_set indicates + * whether a value has been written to these fields. + */ + unsigned short pci_subsystem_vendor; + unsigned short pci_subsystem_device; + bool pci_subsystem_set; +#endif /* CONFIG_PCI */ + char topology_shortname[32]; struct device *dev; diff -Nru linux-5.10.197/include/trace/events/neigh.h linux-5.10.205/include/trace/events/neigh.h --- linux-5.10.197/include/trace/events/neigh.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/trace/events/neigh.h 2023-12-20 14:44:42.000000000 +0000 @@ -39,7 +39,6 @@ ), TP_fast_assign( - struct in6_addr *pin6; __be32 *p32; __entry->family = tbl->family; @@ -47,7 +46,6 @@ __entry->entries = atomic_read(&tbl->gc_entries); __entry->created = n != NULL; __entry->gc_exempt = exempt_from_gc; - pin6 = (struct in6_addr *)__entry->primary_key6; p32 = (__be32 *)__entry->primary_key4; if (tbl->family == AF_INET) @@ -57,6 +55,8 @@ #if IS_ENABLED(CONFIG_IPV6) if (tbl->family == AF_INET6) { + struct in6_addr *pin6; + pin6 = (struct in6_addr *)__entry->primary_key6; *pin6 = *(struct in6_addr *)pkey; } diff -Nru linux-5.10.197/include/uapi/linux/bpf.h linux-5.10.205/include/uapi/linux/bpf.h --- linux-5.10.197/include/uapi/linux/bpf.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/uapi/linux/bpf.h 2023-12-20 14:44:42.000000000 +0000 @@ -976,7 +976,9 @@ * performed again, if the helper is used in combination with * direct packet access. * Return - * 0 on success, or a negative error in case of failure. + * 0 on success, or a negative error in case of failure. Positive + * error indicates a potential drop or congestion in the target + * device. The particular positive error codes are not defined. * * u64 bpf_get_current_pid_tgid(void) * Return diff -Nru linux-5.10.197/include/uapi/linux/can/isotp.h linux-5.10.205/include/uapi/linux/can/isotp.h --- linux-5.10.197/include/uapi/linux/can/isotp.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/uapi/linux/can/isotp.h 2023-12-20 14:44:42.000000000 +0000 @@ -124,18 +124,19 @@ /* flags for isotp behaviour */ -#define CAN_ISOTP_LISTEN_MODE 0x001 /* listen only (do not send FC) */ -#define CAN_ISOTP_EXTEND_ADDR 0x002 /* enable extended addressing */ -#define CAN_ISOTP_TX_PADDING 0x004 /* enable CAN frame padding tx path */ -#define CAN_ISOTP_RX_PADDING 0x008 /* enable CAN frame padding rx path */ -#define CAN_ISOTP_CHK_PAD_LEN 0x010 /* check received CAN frame padding */ -#define CAN_ISOTP_CHK_PAD_DATA 0x020 /* check received CAN frame padding */ -#define CAN_ISOTP_HALF_DUPLEX 0x040 /* half duplex error state handling */ -#define CAN_ISOTP_FORCE_TXSTMIN 0x080 /* ignore stmin from received FC */ -#define CAN_ISOTP_FORCE_RXSTMIN 0x100 /* ignore CFs depending on rx stmin */ -#define CAN_ISOTP_RX_EXT_ADDR 0x200 /* different rx extended addressing */ -#define CAN_ISOTP_WAIT_TX_DONE 0x400 /* wait for tx completion */ -#define CAN_ISOTP_SF_BROADCAST 0x800 /* 1-to-N functional addressing */ +#define CAN_ISOTP_LISTEN_MODE 0x0001 /* listen only (do not send FC) */ +#define CAN_ISOTP_EXTEND_ADDR 0x0002 /* enable extended addressing */ +#define CAN_ISOTP_TX_PADDING 0x0004 /* enable CAN frame padding tx path */ +#define CAN_ISOTP_RX_PADDING 0x0008 /* enable CAN frame padding rx path */ +#define CAN_ISOTP_CHK_PAD_LEN 0x0010 /* check received CAN frame padding */ +#define CAN_ISOTP_CHK_PAD_DATA 0x0020 /* check received CAN frame padding */ +#define CAN_ISOTP_HALF_DUPLEX 0x0040 /* half duplex error state handling */ +#define CAN_ISOTP_FORCE_TXSTMIN 0x0080 /* ignore stmin from received FC */ +#define CAN_ISOTP_FORCE_RXSTMIN 0x0100 /* ignore CFs depending on rx stmin */ +#define CAN_ISOTP_RX_EXT_ADDR 0x0200 /* different rx extended addressing */ +#define CAN_ISOTP_WAIT_TX_DONE 0x0400 /* wait for tx completion */ +#define CAN_ISOTP_SF_BROADCAST 0x0800 /* 1-to-N functional addressing */ +#define CAN_ISOTP_CF_BROADCAST 0x1000 /* 1-to-N transmission w/o FC */ /* protocol machine default values */ diff -Nru linux-5.10.197/include/uapi/linux/gtp.h linux-5.10.205/include/uapi/linux/gtp.h --- linux-5.10.197/include/uapi/linux/gtp.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/uapi/linux/gtp.h 2023-12-20 14:44:42.000000000 +0000 @@ -32,6 +32,6 @@ GTPA_PAD, __GTPA_MAX, }; -#define GTPA_MAX (__GTPA_MAX + 1) +#define GTPA_MAX (__GTPA_MAX - 1) #endif /* _UAPI_LINUX_GTP_H_ */ diff -Nru linux-5.10.197/include/uapi/linux/ipv6.h linux-5.10.205/include/uapi/linux/ipv6.h --- linux-5.10.197/include/uapi/linux/ipv6.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/uapi/linux/ipv6.h 2023-12-20 14:44:42.000000000 +0000 @@ -192,6 +192,13 @@ DEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN, DEVCONF_NDISC_TCLASS, DEVCONF_RPL_SEG_ENABLED, + DEVCONF_RA_DEFRTR_METRIC, + DEVCONF_IOAM6_ENABLED, + DEVCONF_IOAM6_ID, + DEVCONF_IOAM6_ID_WIDE, + DEVCONF_NDISC_EVICT_NOCARRIER, + DEVCONF_ACCEPT_UNTRACKED_NA, + DEVCONF_ACCEPT_RA_MIN_LFT, DEVCONF_MAX }; diff -Nru linux-5.10.197/include/uapi/linux/netfilter/nf_tables.h linux-5.10.205/include/uapi/linux/netfilter/nf_tables.h --- linux-5.10.197/include/uapi/linux/netfilter/nf_tables.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/uapi/linux/netfilter/nf_tables.h 2023-12-20 14:44:42.000000000 +0000 @@ -165,6 +165,7 @@ enum nft_table_flags { NFT_TABLE_F_DORMANT = 0x1, }; +#define NFT_TABLE_F_MASK (NFT_TABLE_F_DORMANT) /** * enum nft_table_attributes - nf_tables table netlink attributes @@ -797,11 +798,13 @@ * @NFT_EXTHDR_OP_IPV6: match against ipv6 extension headers * @NFT_EXTHDR_OP_TCP: match against tcp options * @NFT_EXTHDR_OP_IPV4: match against ipv4 options + * @NFT_EXTHDR_OP_SCTP: match against sctp chunks */ enum nft_exthdr_op { NFT_EXTHDR_OP_IPV6, NFT_EXTHDR_OP_TCPOPT, NFT_EXTHDR_OP_IPV4, + NFT_EXTHDR_OP_SCTP, __NFT_EXTHDR_OP_MAX }; #define NFT_EXTHDR_OP_MAX (__NFT_EXTHDR_OP_MAX - 1) diff -Nru linux-5.10.197/include/uapi/linux/perf_event.h linux-5.10.205/include/uapi/linux/perf_event.h --- linux-5.10.197/include/uapi/linux/perf_event.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/include/uapi/linux/perf_event.h 2023-12-20 14:44:42.000000000 +0000 @@ -279,6 +279,7 @@ * { u64 time_enabled; } && PERF_FORMAT_TOTAL_TIME_ENABLED * { u64 time_running; } && PERF_FORMAT_TOTAL_TIME_RUNNING * { u64 id; } && PERF_FORMAT_ID + * { u64 lost; } && PERF_FORMAT_LOST * } && !PERF_FORMAT_GROUP * * { u64 nr; @@ -286,6 +287,7 @@ * { u64 time_running; } && PERF_FORMAT_TOTAL_TIME_RUNNING * { u64 value; * { u64 id; } && PERF_FORMAT_ID + * { u64 lost; } && PERF_FORMAT_LOST * } cntr[nr]; * } && PERF_FORMAT_GROUP * }; @@ -295,8 +297,9 @@ PERF_FORMAT_TOTAL_TIME_RUNNING = 1U << 1, PERF_FORMAT_ID = 1U << 2, PERF_FORMAT_GROUP = 1U << 3, + PERF_FORMAT_LOST = 1U << 4, - PERF_FORMAT_MAX = 1U << 4, /* non-ABI */ + PERF_FORMAT_MAX = 1U << 5, /* non-ABI */ }; #define PERF_ATTR_SIZE_VER0 64 /* sizeof first published struct */ diff -Nru linux-5.10.197/io_uring/io_uring.c linux-5.10.205/io_uring/io_uring.c --- linux-5.10.197/io_uring/io_uring.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/io_uring/io_uring.c 2023-12-20 14:44:42.000000000 +0000 @@ -3149,7 +3149,7 @@ */ const struct bio_vec *bvec = imu->bvec; - if (offset <= bvec->bv_len) { + if (offset < bvec->bv_len) { iov_iter_advance(iter, offset); } else { unsigned long seg_skip; @@ -8452,49 +8452,6 @@ return ret; } -static int io_sqe_file_register(struct io_ring_ctx *ctx, struct file *file, - int index) -{ -#if defined(CONFIG_UNIX) - struct sock *sock = ctx->ring_sock->sk; - struct sk_buff_head *head = &sock->sk_receive_queue; - struct sk_buff *skb; - - /* - * See if we can merge this file into an existing skb SCM_RIGHTS - * file set. If there's no room, fall back to allocating a new skb - * and filling it in. - */ - spin_lock_irq(&head->lock); - skb = skb_peek(head); - if (skb) { - struct scm_fp_list *fpl = UNIXCB(skb).fp; - - if (fpl->count < SCM_MAX_FD) { - __skb_unlink(skb, head); - spin_unlock_irq(&head->lock); - fpl->fp[fpl->count] = get_file(file); - unix_inflight(fpl->user, fpl->fp[fpl->count]); - fpl->count++; - spin_lock_irq(&head->lock); - __skb_queue_head(head, skb); - } else { - skb = NULL; - } - } - spin_unlock_irq(&head->lock); - - if (skb) { - fput(file); - return 0; - } - - return __io_sqe_files_scm(ctx, 1, index); -#else - return 0; -#endif -} - static int io_queue_rsrc_removal(struct io_rsrc_data *data, unsigned idx, struct io_rsrc_node *node, void *rsrc) { @@ -8552,12 +8509,6 @@ *io_get_tag_slot(ctx->file_data, slot_index) = 0; io_fixed_file_set(file_slot, file); - ret = io_sqe_file_register(ctx, file, slot_index); - if (ret) { - file_slot->file_ptr = 0; - goto err; - } - ret = 0; err: if (needs_switch) @@ -8671,12 +8622,6 @@ } *io_get_tag_slot(data, i) = tag; io_fixed_file_set(file_slot, file); - err = io_sqe_file_register(ctx, file, i); - if (err) { - file_slot->file_ptr = 0; - fput(file); - break; - } } } @@ -10238,7 +10183,7 @@ static void __io_uring_show_fdinfo(struct io_ring_ctx *ctx, struct seq_file *m) { - struct io_sq_data *sq = NULL; + int sq_pid = -1, sq_cpu = -1; bool has_lock; int i; @@ -10251,13 +10196,19 @@ has_lock = mutex_trylock(&ctx->uring_lock); if (has_lock && (ctx->flags & IORING_SETUP_SQPOLL)) { - sq = ctx->sq_data; - if (!sq->thread) - sq = NULL; + struct io_sq_data *sq = ctx->sq_data; + + if (mutex_trylock(&sq->lock)) { + if (sq->thread) { + sq_pid = task_pid_nr(sq->thread); + sq_cpu = task_cpu(sq->thread); + } + mutex_unlock(&sq->lock); + } } - seq_printf(m, "SqThread:\t%d\n", sq ? task_pid_nr(sq->thread) : -1); - seq_printf(m, "SqThreadCpu:\t%d\n", sq ? task_cpu(sq->thread) : -1); + seq_printf(m, "SqThread:\t%d\n", sq_pid); + seq_printf(m, "SqThreadCpu:\t%d\n", sq_cpu); seq_printf(m, "UserFiles:\t%u\n", ctx->nr_user_files); for (i = 0; has_lock && i < ctx->nr_user_files; i++) { struct file *f = io_file_from_index(ctx, i); diff -Nru linux-5.10.197/kernel/audit_watch.c linux-5.10.205/kernel/audit_watch.c --- linux-5.10.197/kernel/audit_watch.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/audit_watch.c 2023-12-20 14:44:42.000000000 +0000 @@ -527,11 +527,18 @@ unsigned long ino; dev_t dev; - exe_file = get_task_exe_file(tsk); + /* only do exe filtering if we are recording @current events/records */ + if (tsk != current) + return 0; + + if (!current->mm) + return 0; + exe_file = get_mm_exe_file(current->mm); if (!exe_file) return 0; ino = file_inode(exe_file)->i_ino; dev = file_inode(exe_file)->i_sb->s_dev; fput(exe_file); + return audit_mark_compare(mark, ino, dev); } diff -Nru linux-5.10.197/kernel/bpf/core.c linux-5.10.205/kernel/bpf/core.c --- linux-5.10.197/kernel/bpf/core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/bpf/core.c 2023-12-20 14:44:42.000000000 +0000 @@ -602,7 +602,11 @@ if (val < ksym->start) return -1; - if (val >= ksym->end) + /* Ensure that we detect return addresses as part of the program, when + * the final instruction is a call for a program part of the stack + * trace. Therefore, do val > ksym->end instead of val >= ksym->end. + */ + if (val > ksym->end) return 1; return 0; diff -Nru linux-5.10.197/kernel/bpf/queue_stack_maps.c linux-5.10.205/kernel/bpf/queue_stack_maps.c --- linux-5.10.197/kernel/bpf/queue_stack_maps.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/bpf/queue_stack_maps.c 2023-12-20 14:44:42.000000000 +0000 @@ -111,7 +111,12 @@ int err = 0; void *ptr; - raw_spin_lock_irqsave(&qs->lock, flags); + if (in_nmi()) { + if (!raw_spin_trylock_irqsave(&qs->lock, flags)) + return -EBUSY; + } else { + raw_spin_lock_irqsave(&qs->lock, flags); + } if (queue_stack_map_is_empty(qs)) { memset(value, 0, qs->map.value_size); @@ -141,7 +146,12 @@ void *ptr; u32 index; - raw_spin_lock_irqsave(&qs->lock, flags); + if (in_nmi()) { + if (!raw_spin_trylock_irqsave(&qs->lock, flags)) + return -EBUSY; + } else { + raw_spin_lock_irqsave(&qs->lock, flags); + } if (queue_stack_map_is_empty(qs)) { memset(value, 0, qs->map.value_size); @@ -206,7 +216,12 @@ if (flags & BPF_NOEXIST || flags > BPF_EXIST) return -EINVAL; - raw_spin_lock_irqsave(&qs->lock, irq_flags); + if (in_nmi()) { + if (!raw_spin_trylock_irqsave(&qs->lock, irq_flags)) + return -EBUSY; + } else { + raw_spin_lock_irqsave(&qs->lock, irq_flags); + } if (queue_stack_map_is_full(qs)) { if (!replace) { diff -Nru linux-5.10.197/kernel/bpf/verifier.c linux-5.10.205/kernel/bpf/verifier.c --- linux-5.10.197/kernel/bpf/verifier.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/bpf/verifier.c 2023-12-20 14:44:42.000000000 +0000 @@ -1841,7 +1841,12 @@ if (class == BPF_ALU || class == BPF_ALU64) { if (!(*reg_mask & dreg)) return 0; - if (opcode == BPF_MOV) { + if (opcode == BPF_END || opcode == BPF_NEG) { + /* sreg is reserved and unused + * dreg still need precision before this insn + */ + return 0; + } else if (opcode == BPF_MOV) { if (BPF_SRC(insn->code) == BPF_X) { /* dreg = sreg * dreg needs precision after this insn @@ -2534,7 +2539,7 @@ insn->imm != 0 && env->bpf_capable) { struct bpf_reg_state fake_reg = {}; - __mark_reg_known(&fake_reg, (u32)insn->imm); + __mark_reg_known(&fake_reg, insn->imm); fake_reg.type = SCALAR_VALUE; save_register_state(state, spi, &fake_reg, size); } else if (reg && is_spillable_regtype(reg->type)) { diff -Nru linux-5.10.197/kernel/cgroup/cgroup-v1.c linux-5.10.205/kernel/cgroup/cgroup-v1.c --- linux-5.10.197/kernel/cgroup/cgroup-v1.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/cgroup/cgroup-v1.c 2023-12-20 14:44:42.000000000 +0000 @@ -361,10 +361,9 @@ } css_task_iter_end(&it); length = n; - /* now sort & (if procs) strip out duplicates */ + /* now sort & strip out duplicates (tgids or recycled thread PIDs) */ sort(array, length, sizeof(pid_t), cmppid, NULL); - if (type == CGROUP_FILE_PROCS) - length = pidlist_uniq(array, length); + length = pidlist_uniq(array, length); l = cgroup_pidlist_find_create(cgrp, type); if (!l) { diff -Nru linux-5.10.197/kernel/cpu.c linux-5.10.205/kernel/cpu.c --- linux-5.10.197/kernel/cpu.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/cpu.c 2023-12-20 14:44:42.000000000 +0000 @@ -1595,7 +1595,7 @@ [CPUHP_HRTIMERS_PREPARE] = { .name = "hrtimers:prepare", .startup.single = hrtimers_prepare_cpu, - .teardown.single = hrtimers_dead_cpu, + .teardown.single = NULL, }, [CPUHP_SMPCFD_PREPARE] = { .name = "smpcfd:prepare", @@ -1662,6 +1662,12 @@ .startup.single = NULL, .teardown.single = smpcfd_dying_cpu, }, + [CPUHP_AP_HRTIMERS_DYING] = { + .name = "hrtimers:dying", + .startup.single = NULL, + .teardown.single = hrtimers_cpu_dying, + }, + /* Entry state on starting. Interrupts enabled from here on. Transient * state for synchronsization */ [CPUHP_AP_ONLINE] = { diff -Nru linux-5.10.197/kernel/cred.c linux-5.10.205/kernel/cred.c --- linux-5.10.197/kernel/cred.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/cred.c 2023-12-20 14:44:42.000000000 +0000 @@ -98,17 +98,17 @@ #ifdef CONFIG_DEBUG_CREDENTIALS if (cred->magic != CRED_MAGIC_DEAD || - atomic_read(&cred->usage) != 0 || + atomic_long_read(&cred->usage) != 0 || read_cred_subscribers(cred) != 0) panic("CRED: put_cred_rcu() sees %p with" - " mag %x, put %p, usage %d, subscr %d\n", + " mag %x, put %p, usage %ld, subscr %d\n", cred, cred->magic, cred->put_addr, - atomic_read(&cred->usage), + atomic_long_read(&cred->usage), read_cred_subscribers(cred)); #else - if (atomic_read(&cred->usage) != 0) - panic("CRED: put_cred_rcu() sees %p with usage %d\n", - cred, atomic_read(&cred->usage)); + if (atomic_long_read(&cred->usage) != 0) + panic("CRED: put_cred_rcu() sees %p with usage %ld\n", + cred, atomic_long_read(&cred->usage)); #endif security_cred_free(cred); @@ -131,11 +131,11 @@ */ void __put_cred(struct cred *cred) { - kdebug("__put_cred(%p{%d,%d})", cred, - atomic_read(&cred->usage), + kdebug("__put_cred(%p{%ld,%d})", cred, + atomic_long_read(&cred->usage), read_cred_subscribers(cred)); - BUG_ON(atomic_read(&cred->usage) != 0); + BUG_ON(atomic_long_read(&cred->usage) != 0); #ifdef CONFIG_DEBUG_CREDENTIALS BUG_ON(read_cred_subscribers(cred) != 0); cred->magic = CRED_MAGIC_DEAD; @@ -158,8 +158,8 @@ { struct cred *cred; - kdebug("exit_creds(%u,%p,%p,{%d,%d})", tsk->pid, tsk->real_cred, tsk->cred, - atomic_read(&tsk->cred->usage), + kdebug("exit_creds(%u,%p,%p,{%ld,%d})", tsk->pid, tsk->real_cred, tsk->cred, + atomic_long_read(&tsk->cred->usage), read_cred_subscribers(tsk->cred)); cred = (struct cred *) tsk->real_cred; @@ -218,7 +218,7 @@ if (!new) return NULL; - atomic_set(&new->usage, 1); + atomic_long_set(&new->usage, 1); #ifdef CONFIG_DEBUG_CREDENTIALS new->magic = CRED_MAGIC; #endif @@ -265,7 +265,7 @@ memcpy(new, old, sizeof(struct cred)); new->non_rcu = 0; - atomic_set(&new->usage, 1); + atomic_long_set(&new->usage, 1); set_cred_subscribers(new, 0); get_group_info(new->group_info); get_uid(new->user); @@ -348,8 +348,8 @@ p->real_cred = get_cred(p->cred); get_cred(p->cred); alter_cred_subscribers(p->cred, 2); - kdebug("share_creds(%p{%d,%d})", - p->cred, atomic_read(&p->cred->usage), + kdebug("share_creds(%p{%ld,%d})", + p->cred, atomic_long_read(&p->cred->usage), read_cred_subscribers(p->cred)); atomic_inc(&p->cred->user->processes); return 0; @@ -439,8 +439,8 @@ struct task_struct *task = current; const struct cred *old = task->real_cred; - kdebug("commit_creds(%p{%d,%d})", new, - atomic_read(&new->usage), + kdebug("commit_creds(%p{%ld,%d})", new, + atomic_long_read(&new->usage), read_cred_subscribers(new)); BUG_ON(task->cred != old); @@ -449,7 +449,7 @@ validate_creds(old); validate_creds(new); #endif - BUG_ON(atomic_read(&new->usage) < 1); + BUG_ON(atomic_long_read(&new->usage) < 1); get_cred(new); /* we will require a ref for the subj creds too */ @@ -522,14 +522,14 @@ */ void abort_creds(struct cred *new) { - kdebug("abort_creds(%p{%d,%d})", new, - atomic_read(&new->usage), + kdebug("abort_creds(%p{%ld,%d})", new, + atomic_long_read(&new->usage), read_cred_subscribers(new)); #ifdef CONFIG_DEBUG_CREDENTIALS BUG_ON(read_cred_subscribers(new) != 0); #endif - BUG_ON(atomic_read(&new->usage) < 1); + BUG_ON(atomic_long_read(&new->usage) < 1); put_cred(new); } EXPORT_SYMBOL(abort_creds); @@ -545,8 +545,8 @@ { const struct cred *old = current->cred; - kdebug("override_creds(%p{%d,%d})", new, - atomic_read(&new->usage), + kdebug("override_creds(%p{%ld,%d})", new, + atomic_long_read(&new->usage), read_cred_subscribers(new)); validate_creds(old); @@ -568,8 +568,8 @@ rcu_assign_pointer(current->cred, new); alter_cred_subscribers(old, -1); - kdebug("override_creds() = %p{%d,%d}", old, - atomic_read(&old->usage), + kdebug("override_creds() = %p{%ld,%d}", old, + atomic_long_read(&old->usage), read_cred_subscribers(old)); return old; } @@ -586,8 +586,8 @@ { const struct cred *override = current->cred; - kdebug("revert_creds(%p{%d,%d})", old, - atomic_read(&old->usage), + kdebug("revert_creds(%p{%ld,%d})", old, + atomic_long_read(&old->usage), read_cred_subscribers(old)); validate_creds(old); @@ -699,7 +699,7 @@ *new = *old; new->non_rcu = 0; - atomic_set(&new->usage, 1); + atomic_long_set(&new->usage, 1); set_cred_subscribers(new, 0); get_uid(new->user); get_user_ns(new->user_ns); @@ -809,8 +809,8 @@ cred == tsk->cred ? "[eff]" : ""); printk(KERN_ERR "CRED: ->magic=%x, put_addr=%p\n", cred->magic, cred->put_addr); - printk(KERN_ERR "CRED: ->usage=%d, subscr=%d\n", - atomic_read(&cred->usage), + printk(KERN_ERR "CRED: ->usage=%ld, subscr=%d\n", + atomic_long_read(&cred->usage), read_cred_subscribers(cred)); printk(KERN_ERR "CRED: ->*uid = { %d,%d,%d,%d }\n", from_kuid_munged(&init_user_ns, cred->uid), @@ -882,9 +882,9 @@ */ void validate_creds_for_do_exit(struct task_struct *tsk) { - kdebug("validate_creds_for_do_exit(%p,%p{%d,%d})", + kdebug("validate_creds_for_do_exit(%p,%p{%ld,%d})", tsk->real_cred, tsk->cred, - atomic_read(&tsk->cred->usage), + atomic_long_read(&tsk->cred->usage), read_cred_subscribers(tsk->cred)); __validate_process_creds(tsk, __FILE__, __LINE__); diff -Nru linux-5.10.197/kernel/debug/debug_core.c linux-5.10.205/kernel/debug/debug_core.c --- linux-5.10.197/kernel/debug/debug_core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/debug/debug_core.c 2023-12-20 14:44:42.000000000 +0000 @@ -1022,6 +1022,9 @@ if (panic_timeout) return; + debug_locks_off(); + console_flush_on_panic(CONSOLE_FLUSH_PENDING); + if (dbg_kdb_mode) kdb_printf("PANIC: %s\n", msg); diff -Nru linux-5.10.197/kernel/dma/debug.c linux-5.10.205/kernel/dma/debug.c --- linux-5.10.197/kernel/dma/debug.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/dma/debug.c 2023-12-20 14:44:42.000000000 +0000 @@ -606,15 +606,19 @@ return entry; } -static void __dma_entry_alloc_check_leak(void) +/* + * This should be called outside of free_entries_lock scope to avoid potential + * deadlocks with serial consoles that use DMA. + */ +static void __dma_entry_alloc_check_leak(u32 nr_entries) { - u32 tmp = nr_total_entries % nr_prealloc_entries; + u32 tmp = nr_entries % nr_prealloc_entries; /* Shout each time we tick over some multiple of the initial pool */ if (tmp < DMA_DEBUG_DYNAMIC_ENTRIES) { pr_info("dma_debug_entry pool grown to %u (%u00%%)\n", - nr_total_entries, - (nr_total_entries / nr_prealloc_entries)); + nr_entries, + (nr_entries / nr_prealloc_entries)); } } @@ -625,8 +629,10 @@ */ static struct dma_debug_entry *dma_entry_alloc(void) { + bool alloc_check_leak = false; struct dma_debug_entry *entry; unsigned long flags; + u32 nr_entries; spin_lock_irqsave(&free_entries_lock, flags); if (num_free_entries == 0) { @@ -636,13 +642,17 @@ pr_err("debugging out of memory - disabling\n"); return NULL; } - __dma_entry_alloc_check_leak(); + alloc_check_leak = true; + nr_entries = nr_total_entries; } entry = __dma_entry_alloc(); spin_unlock_irqrestore(&free_entries_lock, flags); + if (alloc_check_leak) + __dma_entry_alloc_check_leak(nr_entries); + #ifdef CONFIG_STACKTRACE entry->stack_len = stack_trace_save(entry->stack_entries, ARRAY_SIZE(entry->stack_entries), diff -Nru linux-5.10.197/kernel/events/core.c linux-5.10.205/kernel/events/core.c --- linux-5.10.197/kernel/events/core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/events/core.c 2023-12-20 14:44:42.000000000 +0000 @@ -1912,28 +1912,34 @@ PERF_EVENT_STATE_INACTIVE; } -static void __perf_event_read_size(struct perf_event *event, int nr_siblings) +static int __perf_event_read_size(u64 read_format, int nr_siblings) { int entry = sizeof(u64); /* value */ int size = 0; int nr = 1; - if (event->attr.read_format & PERF_FORMAT_TOTAL_TIME_ENABLED) + if (read_format & PERF_FORMAT_TOTAL_TIME_ENABLED) size += sizeof(u64); - if (event->attr.read_format & PERF_FORMAT_TOTAL_TIME_RUNNING) + if (read_format & PERF_FORMAT_TOTAL_TIME_RUNNING) size += sizeof(u64); - if (event->attr.read_format & PERF_FORMAT_ID) + if (read_format & PERF_FORMAT_ID) + entry += sizeof(u64); + + if (read_format & PERF_FORMAT_LOST) entry += sizeof(u64); - if (event->attr.read_format & PERF_FORMAT_GROUP) { + if (read_format & PERF_FORMAT_GROUP) { nr += nr_siblings; size += sizeof(u64); } - size += entry * nr; - event->read_size = size; + /* + * Since perf_event_validate_size() limits this to 16k and inhibits + * adding more siblings, this will never overflow. + */ + return size + nr * entry; } static void __perf_event_header_size(struct perf_event *event, u64 sample_type) @@ -1977,8 +1983,9 @@ */ static void perf_event__header_size(struct perf_event *event) { - __perf_event_read_size(event, - event->group_leader->nr_siblings); + event->read_size = + __perf_event_read_size(event->attr.read_format, + event->group_leader->nr_siblings); __perf_event_header_size(event, event->attr.sample_type); } @@ -2009,23 +2016,44 @@ event->id_header_size = size; } +/* + * Check that adding an event to the group does not result in anybody + * overflowing the 64k event limit imposed by the output buffer. + * + * Specifically, check that the read_size for the event does not exceed 16k, + * read_size being the one term that grows with groups size. Since read_size + * depends on per-event read_format, also (re)check the existing events. + * + * This leaves 48k for the constant size fields and things like callchains, + * branch stacks and register sets. + */ static bool perf_event_validate_size(struct perf_event *event) { - /* - * The values computed here will be over-written when we actually - * attach the event. - */ - __perf_event_read_size(event, event->group_leader->nr_siblings + 1); - __perf_event_header_size(event, event->attr.sample_type & ~PERF_SAMPLE_READ); - perf_event__id_header_size(event); + struct perf_event *sibling, *group_leader = event->group_leader; + + if (__perf_event_read_size(event->attr.read_format, + group_leader->nr_siblings + 1) > 16*1024) + return false; + + if (__perf_event_read_size(group_leader->attr.read_format, + group_leader->nr_siblings + 1) > 16*1024) + return false; /* - * Sum the lot; should not exceed the 64k limit we have on records. - * Conservative limit to allow for callchains and other variable fields. + * When creating a new group leader, group_leader->ctx is initialized + * after the size has been validated, but we cannot safely use + * for_each_sibling_event() until group_leader->ctx is set. A new group + * leader cannot have any siblings yet, so we can safely skip checking + * the non-existent siblings. */ - if (event->read_size + event->header_size + - event->id_header_size + sizeof(struct perf_event_header) >= 16*1024) - return false; + if (event == group_leader) + return true; + + for_each_sibling_event(sibling, group_leader) { + if (__perf_event_read_size(sibling->attr.read_format, + group_leader->nr_siblings + 1) > 16*1024) + return false; + } return true; } @@ -2053,6 +2081,7 @@ list_add_tail(&event->sibling_list, &group_leader->sibling_list); group_leader->nr_siblings++; + group_leader->group_generation++; perf_event__header_size(group_leader); @@ -2245,6 +2274,7 @@ if (leader != event) { list_del_init(&event->sibling_list); event->group_leader->nr_siblings--; + event->group_leader->group_generation++; goto out; } @@ -5222,7 +5252,7 @@ u64 read_format, u64 *values) { struct perf_event_context *ctx = leader->ctx; - struct perf_event *sub; + struct perf_event *sub, *parent; unsigned long flags; int n = 1; /* skip @nr */ int ret; @@ -5232,6 +5262,33 @@ return ret; raw_spin_lock_irqsave(&ctx->lock, flags); + /* + * Verify the grouping between the parent and child (inherited) + * events is still in tact. + * + * Specifically: + * - leader->ctx->lock pins leader->sibling_list + * - parent->child_mutex pins parent->child_list + * - parent->ctx->mutex pins parent->sibling_list + * + * Because parent->ctx != leader->ctx (and child_list nests inside + * ctx->mutex), group destruction is not atomic between children, also + * see perf_event_release_kernel(). Additionally, parent can grow the + * group. + * + * Therefore it is possible to have parent and child groups in a + * different configuration and summing over such a beast makes no sense + * what so ever. + * + * Reject this. + */ + parent = leader->parent; + if (parent && + (parent->group_generation != leader->group_generation || + parent->nr_siblings != leader->nr_siblings)) { + ret = -ECHILD; + goto unlock; + } /* * Since we co-schedule groups, {enabled,running} times of siblings @@ -5254,15 +5311,20 @@ values[n++] += perf_event_count(leader); if (read_format & PERF_FORMAT_ID) values[n++] = primary_event_id(leader); + if (read_format & PERF_FORMAT_LOST) + values[n++] = atomic64_read(&leader->lost_samples); for_each_sibling_event(sub, leader) { values[n++] += perf_event_count(sub); if (read_format & PERF_FORMAT_ID) values[n++] = primary_event_id(sub); + if (read_format & PERF_FORMAT_LOST) + values[n++] = atomic64_read(&sub->lost_samples); } +unlock: raw_spin_unlock_irqrestore(&ctx->lock, flags); - return 0; + return ret; } static int perf_read_group(struct perf_event *event, @@ -5281,10 +5343,6 @@ values[0] = 1 + leader->nr_siblings; - /* - * By locking the child_mutex of the leader we effectively - * lock the child list of all siblings.. XXX explain how. - */ mutex_lock(&leader->child_mutex); ret = __perf_read_group_add(leader, read_format, values); @@ -5315,7 +5373,7 @@ u64 read_format, char __user *buf) { u64 enabled, running; - u64 values[4]; + u64 values[5]; int n = 0; values[n++] = __perf_event_read_value(event, &enabled, &running); @@ -5325,6 +5383,8 @@ values[n++] = running; if (read_format & PERF_FORMAT_ID) values[n++] = primary_event_id(event); + if (read_format & PERF_FORMAT_LOST) + values[n++] = atomic64_read(&event->lost_samples); if (copy_to_user(buf, values, n * sizeof(u64))) return -EFAULT; @@ -6804,7 +6864,7 @@ u64 enabled, u64 running) { u64 read_format = event->attr.read_format; - u64 values[4]; + u64 values[5]; int n = 0; values[n++] = perf_event_count(event); @@ -6818,6 +6878,8 @@ } if (read_format & PERF_FORMAT_ID) values[n++] = primary_event_id(event); + if (read_format & PERF_FORMAT_LOST) + values[n++] = atomic64_read(&event->lost_samples); __output_copy(handle, values, n * sizeof(u64)); } @@ -6828,7 +6890,7 @@ { struct perf_event *leader = event->group_leader, *sub; u64 read_format = event->attr.read_format; - u64 values[5]; + u64 values[6]; int n = 0; values[n++] = 1 + leader->nr_siblings; @@ -6846,6 +6908,8 @@ values[n++] = perf_event_count(leader); if (read_format & PERF_FORMAT_ID) values[n++] = primary_event_id(leader); + if (read_format & PERF_FORMAT_LOST) + values[n++] = atomic64_read(&leader->lost_samples); __output_copy(handle, values, n * sizeof(u64)); @@ -6859,6 +6923,8 @@ values[n++] = perf_event_count(sub); if (read_format & PERF_FORMAT_ID) values[n++] = primary_event_id(sub); + if (read_format & PERF_FORMAT_LOST) + values[n++] = atomic64_read(&sub->lost_samples); __output_copy(handle, values, n * sizeof(u64)); } @@ -12820,6 +12886,8 @@ !perf_get_aux_event(child_ctr, leader)) return -EINVAL; } + if (leader) + leader->group_generation = parent_event->group_generation; return 0; } diff -Nru linux-5.10.197/kernel/events/ring_buffer.c linux-5.10.205/kernel/events/ring_buffer.c --- linux-5.10.197/kernel/events/ring_buffer.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/events/ring_buffer.c 2023-12-20 14:44:42.000000000 +0000 @@ -172,8 +172,10 @@ goto out; if (unlikely(rb->paused)) { - if (rb->nr_pages) + if (rb->nr_pages) { local_inc(&rb->lost); + atomic64_inc(&event->lost_samples); + } goto out; } @@ -254,6 +256,7 @@ fail: local_inc(&rb->lost); + atomic64_inc(&event->lost_samples); perf_output_put_handle(handle); out: rcu_read_unlock(); @@ -691,6 +694,12 @@ max_order--; } + /* + * kcalloc_node() is unable to allocate buffer if the size is larger + * than: PAGE_SIZE << MAX_ORDER; directly bail out in this case. + */ + if (get_order((unsigned long)nr_pages * sizeof(void *)) > MAX_ORDER) + return -ENOMEM; rb->aux_pages = kcalloc_node(nr_pages, sizeof(void *), GFP_KERNEL, node); if (!rb->aux_pages) diff -Nru linux-5.10.197/kernel/futex/core.c linux-5.10.205/kernel/futex/core.c --- linux-5.10.197/kernel/futex/core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/futex/core.c 2023-12-20 14:44:42.000000000 +0000 @@ -514,7 +514,17 @@ * but access_ok() should be faster than find_vma() */ if (!fshared) { - key->private.mm = mm; + /* + * On no-MMU, shared futexes are treated as private, therefore + * we must not include the current process in the key. Since + * there is only one address space, the address is a unique key + * on its own. + */ + if (IS_ENABLED(CONFIG_MMU)) + key->private.mm = mm; + else + key->private.mm = NULL; + key->private.address = address; return 0; } diff -Nru linux-5.10.197/kernel/irq/generic-chip.c linux-5.10.205/kernel/irq/generic-chip.c --- linux-5.10.197/kernel/irq/generic-chip.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/irq/generic-chip.c 2023-12-20 14:44:42.000000000 +0000 @@ -537,21 +537,34 @@ void irq_remove_generic_chip(struct irq_chip_generic *gc, u32 msk, unsigned int clr, unsigned int set) { - unsigned int i = gc->irq_base; + unsigned int i, virq; raw_spin_lock(&gc_lock); list_del(&gc->list); raw_spin_unlock(&gc_lock); - for (; msk; msk >>= 1, i++) { + for (i = 0; msk; msk >>= 1, i++) { if (!(msk & 0x01)) continue; + /* + * Interrupt domain based chips store the base hardware + * interrupt number in gc::irq_base. Otherwise gc::irq_base + * contains the base Linux interrupt number. + */ + if (gc->domain) { + virq = irq_find_mapping(gc->domain, gc->irq_base + i); + if (!virq) + continue; + } else { + virq = gc->irq_base + i; + } + /* Remove handler first. That will mask the irq line */ - irq_set_handler(i, NULL); - irq_set_chip(i, &no_irq_chip); - irq_set_chip_data(i, NULL); - irq_modify_status(i, clr, set); + irq_set_handler(virq, NULL); + irq_set_chip(virq, &no_irq_chip); + irq_set_chip_data(virq, NULL); + irq_modify_status(virq, clr, set); } } EXPORT_SYMBOL_GPL(irq_remove_generic_chip); diff -Nru linux-5.10.197/kernel/irq/matrix.c linux-5.10.205/kernel/irq/matrix.c --- linux-5.10.197/kernel/irq/matrix.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/irq/matrix.c 2023-12-20 14:44:42.000000000 +0000 @@ -466,16 +466,16 @@ } /** - * irq_matrix_allocated - Get the number of allocated irqs on the local cpu + * irq_matrix_allocated - Get the number of allocated non-managed irqs on the local CPU * @m: Pointer to the matrix to search * - * This returns number of allocated irqs + * This returns number of allocated non-managed interrupts. */ unsigned int irq_matrix_allocated(struct irq_matrix *m) { struct cpumap *cm = this_cpu_ptr(m->maps); - return cm->allocated; + return cm->allocated - cm->managed_allocated; } #ifdef CONFIG_GENERIC_IRQ_DEBUGFS diff -Nru linux-5.10.197/kernel/livepatch/core.c linux-5.10.205/kernel/livepatch/core.c --- linux-5.10.197/kernel/livepatch/core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/livepatch/core.c 2023-12-20 14:44:42.000000000 +0000 @@ -245,7 +245,7 @@ * symbols are exported and normal relas can be used instead. */ if (!sec_vmlinux && sym_vmlinux) { - pr_err("invalid access to vmlinux symbol '%s' from module-specific livepatch relocation section", + pr_err("invalid access to vmlinux symbol '%s' from module-specific livepatch relocation section\n", sym_name); return -EINVAL; } diff -Nru linux-5.10.197/kernel/locking/lockdep.c linux-5.10.205/kernel/locking/lockdep.c --- linux-5.10.197/kernel/locking/lockdep.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/locking/lockdep.c 2023-12-20 14:44:42.000000000 +0000 @@ -3357,7 +3357,8 @@ size = chain_block_size(curr); if (likely(size >= req)) { del_chain_block(0, size, chain_block_next(curr)); - add_chain_block(curr + req, size - req); + if (size > req) + add_chain_block(curr + req, size - req); return curr; } } diff -Nru linux-5.10.197/kernel/locking/test-ww_mutex.c linux-5.10.205/kernel/locking/test-ww_mutex.c --- linux-5.10.197/kernel/locking/test-ww_mutex.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/locking/test-ww_mutex.c 2023-12-20 14:44:42.000000000 +0000 @@ -426,7 +426,6 @@ } while (!time_after(jiffies, stress->timeout)); kfree(order); - kfree(stress); } struct reorder_lock { @@ -491,7 +490,6 @@ list_for_each_entry_safe(ll, ln, &locks, link) kfree(ll); kfree(order); - kfree(stress); } static void stress_one_work(struct work_struct *work) @@ -512,8 +510,6 @@ break; } } while (!time_after(jiffies, stress->timeout)); - - kfree(stress); } #define STRESS_INORDER BIT(0) @@ -524,15 +520,24 @@ static int stress(int nlocks, int nthreads, unsigned int flags) { struct ww_mutex *locks; - int n; + struct stress *stress_array; + int n, count; locks = kmalloc_array(nlocks, sizeof(*locks), GFP_KERNEL); if (!locks) return -ENOMEM; + stress_array = kmalloc_array(nthreads, sizeof(*stress_array), + GFP_KERNEL); + if (!stress_array) { + kfree(locks); + return -ENOMEM; + } + for (n = 0; n < nlocks; n++) ww_mutex_init(&locks[n], &ww_class); + count = 0; for (n = 0; nthreads; n++) { struct stress *stress; void (*fn)(struct work_struct *work); @@ -556,9 +561,7 @@ if (!fn) continue; - stress = kmalloc(sizeof(*stress), GFP_KERNEL); - if (!stress) - break; + stress = &stress_array[count++]; INIT_WORK(&stress->work, fn); stress->locks = locks; @@ -573,6 +576,7 @@ for (n = 0; n < nlocks; n++) ww_mutex_destroy(&locks[n]); + kfree(stress_array); kfree(locks); return 0; diff -Nru linux-5.10.197/kernel/padata.c linux-5.10.205/kernel/padata.c --- linux-5.10.197/kernel/padata.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/padata.c 2023-12-20 14:44:42.000000000 +0000 @@ -207,11 +207,11 @@ *cb_cpu = cpu; } - err = -EBUSY; + err = -EBUSY; if ((pinst->flags & PADATA_RESET)) goto out; - atomic_inc(&pd->refcnt); + refcount_inc(&pd->refcnt); padata->pd = pd; padata->cb_cpu = *cb_cpu; @@ -385,7 +385,7 @@ } local_bh_enable(); - if (atomic_sub_and_test(cnt, &pd->refcnt)) + if (refcount_sub_and_test(cnt, &pd->refcnt)) padata_free_pd(pd); } @@ -598,7 +598,7 @@ padata_init_reorder_list(pd); padata_init_squeues(pd); pd->seq_nr = -1; - atomic_set(&pd->refcnt, 1); + refcount_set(&pd->refcnt, 1); spin_lock_init(&pd->lock); pd->cpu = cpumask_first(pd->cpumask.pcpu); INIT_WORK(&pd->reorder_work, invoke_padata_reorder); @@ -672,7 +672,7 @@ synchronize_rcu(); list_for_each_entry_continue_reverse(ps, &pinst->pslist, list) - if (atomic_dec_and_test(&ps->opd->refcnt)) + if (refcount_dec_and_test(&ps->opd->refcnt)) padata_free_pd(ps->opd); pinst->flags &= ~PADATA_RESET; @@ -1107,12 +1107,16 @@ */ void padata_free_shell(struct padata_shell *ps) { + struct parallel_data *pd; + if (!ps) return; mutex_lock(&ps->pinst->lock); list_del(&ps->list); - padata_free_pd(rcu_dereference_protected(ps->pd, 1)); + pd = rcu_dereference_protected(ps->pd, 1); + if (refcount_dec_and_test(&pd->refcnt)) + padata_free_pd(pd); mutex_unlock(&ps->pinst->lock); kfree(ps); diff -Nru linux-5.10.197/kernel/power/snapshot.c linux-5.10.205/kernel/power/snapshot.c --- linux-5.10.197/kernel/power/snapshot.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/power/snapshot.c 2023-12-20 14:44:42.000000000 +0000 @@ -2372,8 +2372,9 @@ pbe->copy_page = tmp; } else { /* Copy of the page will be stored in normal memory */ - kaddr = safe_pages_list; - safe_pages_list = safe_pages_list->next; + kaddr = __get_safe_page(ca->gfp_mask); + if (!kaddr) + return ERR_PTR(-ENOMEM); pbe->copy_page = virt_to_page(kaddr); } pbe->next = highmem_pblist; @@ -2553,8 +2554,9 @@ return ERR_PTR(-ENOMEM); } pbe->orig_address = page_address(page); - pbe->address = safe_pages_list; - safe_pages_list = safe_pages_list->next; + pbe->address = __get_safe_page(ca->gfp_mask); + if (!pbe->address) + return ERR_PTR(-ENOMEM); pbe->next = restore_pblist; restore_pblist = pbe; return pbe->address; @@ -2585,8 +2587,6 @@ if (handle->cur > 1 && handle->cur > nr_meta_pages + nr_copy_pages) return 0; - handle->sync_read = 1; - if (!handle->cur) { if (!buffer) /* This makes the buffer be freed by swsusp_free() */ @@ -2622,7 +2622,6 @@ memory_bm_position_reset(&orig_bm); restore_pblist = NULL; handle->buffer = get_buffer(&orig_bm, &ca); - handle->sync_read = 0; if (IS_ERR(handle->buffer)) return PTR_ERR(handle->buffer); } @@ -2632,9 +2631,8 @@ handle->buffer = get_buffer(&orig_bm, &ca); if (IS_ERR(handle->buffer)) return PTR_ERR(handle->buffer); - if (handle->buffer != buffer) - handle->sync_read = 0; } + handle->sync_read = (handle->buffer == buffer); handle->cur++; return PAGE_SIZE; } diff -Nru linux-5.10.197/kernel/rcu/tree.c linux-5.10.205/kernel/rcu/tree.c --- linux-5.10.197/kernel/rcu/tree.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/rcu/tree.c 2023-12-20 14:44:42.000000000 +0000 @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -3547,6 +3548,14 @@ WRITE_ONCE(krcp->count, krcp->count + 1); + /* + * The kvfree_rcu() caller considers the pointer freed at this point + * and likely removes any references to it. Since the actual slab + * freeing (and kmemleak_free()) is deferred, tell kmemleak to ignore + * this object (no scanning or false positives reporting). + */ + kmemleak_ignore(ptr); + // Set timer to drain after KFREE_DRAIN_JIFFIES. if (rcu_scheduler_active == RCU_SCHEDULER_RUNNING && !krcp->monitor_todo) { diff -Nru linux-5.10.197/kernel/reboot.c linux-5.10.205/kernel/reboot.c --- linux-5.10.197/kernel/reboot.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/reboot.c 2023-12-20 14:44:42.000000000 +0000 @@ -64,6 +64,7 @@ void emergency_restart(void) { kmsg_dump(KMSG_DUMP_EMERG); + system_state = SYSTEM_RESTART; machine_emergency_restart(); } EXPORT_SYMBOL_GPL(emergency_restart); diff -Nru linux-5.10.197/kernel/sched/cpuacct.c linux-5.10.205/kernel/sched/cpuacct.c --- linux-5.10.197/kernel/sched/cpuacct.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/sched/cpuacct.c 2023-12-20 14:44:42.000000000 +0000 @@ -21,15 +21,11 @@ [CPUACCT_STAT_SYSTEM] = "system", }; -struct cpuacct_usage { - u64 usages[CPUACCT_STAT_NSTATS]; -}; - /* track CPU usage of a group of tasks and its child groups */ struct cpuacct { struct cgroup_subsys_state css; /* cpuusage holds pointer to a u64-type object on every CPU */ - struct cpuacct_usage __percpu *cpuusage; + u64 __percpu *cpuusage; struct kernel_cpustat __percpu *cpustat; }; @@ -49,7 +45,7 @@ return css_ca(ca->css.parent); } -static DEFINE_PER_CPU(struct cpuacct_usage, root_cpuacct_cpuusage); +static DEFINE_PER_CPU(u64, root_cpuacct_cpuusage); static struct cpuacct root_cpuacct = { .cpustat = &kernel_cpustat, .cpuusage = &root_cpuacct_cpuusage, @@ -68,7 +64,7 @@ if (!ca) goto out; - ca->cpuusage = alloc_percpu(struct cpuacct_usage); + ca->cpuusage = alloc_percpu(u64); if (!ca->cpuusage) goto out_free_ca; @@ -99,7 +95,8 @@ static u64 cpuacct_cpuusage_read(struct cpuacct *ca, int cpu, enum cpuacct_stat_index index) { - struct cpuacct_usage *cpuusage = per_cpu_ptr(ca->cpuusage, cpu); + u64 *cpuusage = per_cpu_ptr(ca->cpuusage, cpu); + u64 *cpustat = per_cpu_ptr(ca->cpustat, cpu)->cpustat; u64 data; /* @@ -115,14 +112,17 @@ raw_spin_lock_irq(&cpu_rq(cpu)->lock); #endif - if (index == CPUACCT_STAT_NSTATS) { - int i = 0; - - data = 0; - for (i = 0; i < CPUACCT_STAT_NSTATS; i++) - data += cpuusage->usages[i]; - } else { - data = cpuusage->usages[index]; + switch (index) { + case CPUACCT_STAT_USER: + data = cpustat[CPUTIME_USER] + cpustat[CPUTIME_NICE]; + break; + case CPUACCT_STAT_SYSTEM: + data = cpustat[CPUTIME_SYSTEM] + cpustat[CPUTIME_IRQ] + + cpustat[CPUTIME_SOFTIRQ]; + break; + case CPUACCT_STAT_NSTATS: + data = *cpuusage; + break; } #ifndef CONFIG_64BIT @@ -132,10 +132,14 @@ return data; } -static void cpuacct_cpuusage_write(struct cpuacct *ca, int cpu, u64 val) +static void cpuacct_cpuusage_write(struct cpuacct *ca, int cpu) { - struct cpuacct_usage *cpuusage = per_cpu_ptr(ca->cpuusage, cpu); - int i; + u64 *cpuusage = per_cpu_ptr(ca->cpuusage, cpu); + u64 *cpustat = per_cpu_ptr(ca->cpustat, cpu)->cpustat; + + /* Don't allow to reset global kernel_cpustat */ + if (ca == &root_cpuacct) + return; #ifndef CONFIG_64BIT /* @@ -143,9 +147,10 @@ */ raw_spin_lock_irq(&cpu_rq(cpu)->lock); #endif - - for (i = 0; i < CPUACCT_STAT_NSTATS; i++) - cpuusage->usages[i] = val; + *cpuusage = 0; + cpustat[CPUTIME_USER] = cpustat[CPUTIME_NICE] = 0; + cpustat[CPUTIME_SYSTEM] = cpustat[CPUTIME_IRQ] = 0; + cpustat[CPUTIME_SOFTIRQ] = 0; #ifndef CONFIG_64BIT raw_spin_unlock_irq(&cpu_rq(cpu)->lock); @@ -196,7 +201,7 @@ return -EINVAL; for_each_possible_cpu(cpu) - cpuacct_cpuusage_write(ca, cpu, 0); + cpuacct_cpuusage_write(ca, cpu); return 0; } @@ -243,25 +248,10 @@ seq_puts(m, "\n"); for_each_possible_cpu(cpu) { - struct cpuacct_usage *cpuusage = per_cpu_ptr(ca->cpuusage, cpu); - seq_printf(m, "%d", cpu); - - for (index = 0; index < CPUACCT_STAT_NSTATS; index++) { -#ifndef CONFIG_64BIT - /* - * Take rq->lock to make 64-bit read safe on 32-bit - * platforms. - */ - raw_spin_lock_irq(&cpu_rq(cpu)->lock); -#endif - - seq_printf(m, " %llu", cpuusage->usages[index]); - -#ifndef CONFIG_64BIT - raw_spin_unlock_irq(&cpu_rq(cpu)->lock); -#endif - } + for (index = 0; index < CPUACCT_STAT_NSTATS; index++) + seq_printf(m, " %llu", + cpuacct_cpuusage_read(ca, cpu, index)); seq_puts(m, "\n"); } return 0; @@ -338,19 +328,13 @@ */ void cpuacct_charge(struct task_struct *tsk, u64 cputime) { + unsigned int cpu = task_cpu(tsk); struct cpuacct *ca; - int index = CPUACCT_STAT_SYSTEM; - struct pt_regs *regs = get_irq_regs() ? : task_pt_regs(tsk); - if (regs && user_mode(regs)) - index = CPUACCT_STAT_USER; - - rcu_read_lock(); + lockdep_assert_held(&cpu_rq(cpu)->lock); for (ca = task_ca(tsk); ca; ca = parent_ca(ca)) - __this_cpu_add(ca->cpuusage->usages[index], cputime); - - rcu_read_unlock(); + *per_cpu_ptr(ca->cpuusage, cpu) += cputime; } /* diff -Nru linux-5.10.197/kernel/sched/fair.c linux-5.10.205/kernel/sched/fair.c --- linux-5.10.197/kernel/sched/fair.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/sched/fair.c 2023-12-20 14:44:42.000000000 +0000 @@ -3927,22 +3927,6 @@ return max(task_util(p), _task_util_est(p)); } -#ifdef CONFIG_UCLAMP_TASK -static inline unsigned long uclamp_task_util(struct task_struct *p, - unsigned long uclamp_min, - unsigned long uclamp_max) -{ - return clamp(task_util_est(p), uclamp_min, uclamp_max); -} -#else -static inline unsigned long uclamp_task_util(struct task_struct *p, - unsigned long uclamp_min, - unsigned long uclamp_max) -{ - return task_util_est(p); -} -#endif - static inline void util_est_enqueue(struct cfs_rq *cfs_rq, struct task_struct *p) { @@ -6842,7 +6826,7 @@ goto fail; sync_entity_load_avg(&p->se); - if (!uclamp_task_util(p, p_util_min, p_util_max)) + if (!task_util_est(p) && p_util_min == 0) goto unlock; for (; pd; pd = pd->next) { diff -Nru linux-5.10.197/kernel/time/hrtimer.c linux-5.10.205/kernel/time/hrtimer.c --- linux-5.10.197/kernel/time/hrtimer.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/time/hrtimer.c 2023-12-20 14:44:42.000000000 +0000 @@ -2114,29 +2114,22 @@ } } -int hrtimers_dead_cpu(unsigned int scpu) +int hrtimers_cpu_dying(unsigned int dying_cpu) { struct hrtimer_cpu_base *old_base, *new_base; - int i; + int i, ncpu = cpumask_first(cpu_active_mask); - BUG_ON(cpu_online(scpu)); - tick_cancel_sched_timer(scpu); + tick_cancel_sched_timer(dying_cpu); + + old_base = this_cpu_ptr(&hrtimer_bases); + new_base = &per_cpu(hrtimer_bases, ncpu); - /* - * this BH disable ensures that raise_softirq_irqoff() does - * not wakeup ksoftirqd (and acquire the pi-lock) while - * holding the cpu_base lock - */ - local_bh_disable(); - local_irq_disable(); - old_base = &per_cpu(hrtimer_bases, scpu); - new_base = this_cpu_ptr(&hrtimer_bases); /* * The caller is globally serialized and nobody else * takes two locks at once, deadlock is not possible. */ - raw_spin_lock(&new_base->lock); - raw_spin_lock_nested(&old_base->lock, SINGLE_DEPTH_NESTING); + raw_spin_lock(&old_base->lock); + raw_spin_lock_nested(&new_base->lock, SINGLE_DEPTH_NESTING); for (i = 0; i < HRTIMER_MAX_CLOCK_BASES; i++) { migrate_hrtimer_list(&old_base->clock_base[i], @@ -2147,15 +2140,13 @@ * The migration might have changed the first expiring softirq * timer on this CPU. Update it. */ - hrtimer_update_softirq_timer(new_base, false); + __hrtimer_get_next_event(new_base, HRTIMER_ACTIVE_SOFT); + /* Tell the other CPU to retrigger the next event */ + smp_call_function_single(ncpu, retrigger_next_event, NULL, 0); - raw_spin_unlock(&old_base->lock); raw_spin_unlock(&new_base->lock); + raw_spin_unlock(&old_base->lock); - /* Check, if we got expired work to do */ - __hrtimer_peek_ahead_timers(); - local_irq_enable(); - local_bh_enable(); return 0; } diff -Nru linux-5.10.197/kernel/trace/ring_buffer.c linux-5.10.205/kernel/trace/ring_buffer.c --- linux-5.10.197/kernel/trace/ring_buffer.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/trace/ring_buffer.c 2023-12-20 14:44:42.000000000 +0000 @@ -355,10 +355,11 @@ local_set(&bpage->commit, 0); } -/* - * Also stolen from mm/slob.c. Thanks to Mathieu Desnoyers for pointing - * this issue out. - */ +static __always_inline unsigned int rb_page_commit(struct buffer_page *bpage) +{ + return local_read(&bpage->page->commit); +} + static void free_buffer_page(struct buffer_page *bpage) { free_page((unsigned long)bpage->page); @@ -702,6 +703,9 @@ unsigned long cnt2, top2, bottom2; u64 val; + /* Any interruptions in this function should cause a failure */ + cnt = local_read(&t->cnt); + /* The cmpxchg always fails if it interrupted an update */ if (!__rb_time_read(t, &val, &cnt2)) return false; @@ -709,7 +713,6 @@ if (val != expect) return false; - cnt = local_read(&t->cnt); if ((cnt & 3) != cnt2) return false; @@ -1008,6 +1011,9 @@ if (full) { poll_wait(filp, &work->full_waiters, poll_table); work->full_waiters_pending = true; + if (!cpu_buffer->shortest_full || + cpu_buffer->shortest_full > full) + cpu_buffer->shortest_full = full; } else { poll_wait(filp, &work->waiters, poll_table); work->waiters_pending = true; @@ -1663,6 +1669,8 @@ free_buffer_page(bpage); } + free_page((unsigned long)cpu_buffer->free_page); + kfree(cpu_buffer); } @@ -1887,7 +1895,7 @@ * Increment overrun to account for the lost events. */ local_add(page_entries, &cpu_buffer->overrun); - local_sub(BUF_PAGE_SIZE, &cpu_buffer->entries_bytes); + local_sub(rb_page_commit(to_remove_page), &cpu_buffer->entries_bytes); local_inc(&cpu_buffer->pages_lost); } @@ -2080,6 +2088,8 @@ err = -ENOMEM; goto out_err; } + + cond_resched(); } get_online_cpus(); @@ -2235,11 +2245,6 @@ cpu_buffer->reader_page->read); } -static __always_inline unsigned rb_page_commit(struct buffer_page *bpage) -{ - return local_read(&bpage->page->commit); -} - static struct ring_buffer_event * rb_iter_head_event(struct ring_buffer_iter *iter) { @@ -2258,6 +2263,11 @@ */ commit = rb_page_commit(iter_head_page); smp_rmb(); + + /* An event needs to be at least 8 bytes in size */ + if (iter->head > commit - 8) + goto reset; + event = __rb_page_index(iter_head_page, iter->head); length = rb_event_length(event); @@ -2267,7 +2277,7 @@ */ barrier(); - if ((iter->head + length) > commit || length > BUF_MAX_DATA_SIZE) + if ((iter->head + length) > commit || length > BUF_PAGE_SIZE) /* Writer corrupted the read? */ goto reset; @@ -2380,7 +2390,7 @@ * the counters. */ local_add(entries, &cpu_buffer->overrun); - local_sub(BUF_PAGE_SIZE, &cpu_buffer->entries_bytes); + local_sub(rb_page_commit(next_page), &cpu_buffer->entries_bytes); local_inc(&cpu_buffer->pages_lost); /* @@ -2523,9 +2533,6 @@ event = __rb_page_index(tail_page, tail); - /* account for padding bytes */ - local_add(BUF_PAGE_SIZE - tail, &cpu_buffer->entries_bytes); - /* * Save the original length to the meta data. * This will be used by the reader to add lost event @@ -2539,7 +2546,8 @@ * write counter enough to allow another writer to slip * in on this page. * We put in a discarded commit instead, to make sure - * that this space is not used again. + * that this space is not used again, and this space will + * not be accounted into 'entries_bytes'. * * If we are less than the minimum size, we don't need to * worry about it. @@ -2564,6 +2572,9 @@ /* time delta must be non zero */ event->time_delta = 1; + /* account for padding bytes */ + local_add(BUF_PAGE_SIZE - tail, &cpu_buffer->entries_bytes); + /* Make sure the padding is visible before the tail_page->write update */ smp_wmb(); @@ -2896,23 +2907,20 @@ local_read(&bpage->write) & ~RB_WRITE_MASK; unsigned long event_length = rb_event_length(event); + /* + * For the before_stamp to be different than the write_stamp + * to make sure that the next event adds an absolute + * value and does not rely on the saved write stamp, which + * is now going to be bogus. + */ + rb_time_set(&cpu_buffer->before_stamp, 0); + /* Something came in, can't discard */ if (!rb_time_cmpxchg(&cpu_buffer->write_stamp, write_stamp, write_stamp - delta)) return 0; /* - * It's possible that the event time delta is zero - * (has the same time stamp as the previous event) - * in which case write_stamp and before_stamp could - * be the same. In such a case, force before_stamp - * to be different than write_stamp. It doesn't - * matter what it is, as long as its different. - */ - if (!delta) - rb_time_set(&cpu_buffer->before_stamp, 0); - - /* * If an event were to come in now, it would see that the * write_stamp and the before_stamp are different, and assume * that this event just added itself before updating @@ -3295,7 +3303,10 @@ * absolute timestamp. * Don't bother if this is the start of a new page (w == 0). */ - if (unlikely(!a_ok || !b_ok || (info->before != info->after && w))) { + if (!w) { + /* Use the sub-buffer timestamp */ + info->delta = 0; + } else if (unlikely(!a_ok || !b_ok || info->before != info->after)) { info->add_timestamp |= RB_ADD_STAMP_FORCE | RB_ADD_STAMP_EXTEND; info->length += RB_LEN_TIME_EXTEND; } else { @@ -3450,6 +3461,8 @@ if (ring_buffer_time_stamp_abs(cpu_buffer->buffer)) { add_ts_default = RB_ADD_STAMP_ABSOLUTE; info.length += RB_LEN_TIME_EXTEND; + if (info.length > BUF_MAX_DATA_SIZE) + goto out_fail; } else { add_ts_default = RB_ADD_STAMP_NONE; } @@ -3929,7 +3942,7 @@ EXPORT_SYMBOL_GPL(ring_buffer_oldest_event_ts); /** - * ring_buffer_bytes_cpu - get the number of bytes consumed in a cpu buffer + * ring_buffer_bytes_cpu - get the number of bytes unconsumed in a cpu buffer * @buffer: The ring buffer * @cpu: The per CPU buffer to read from. */ @@ -4437,6 +4450,7 @@ length = rb_event_length(event); cpu_buffer->reader_page->read += length; + cpu_buffer->read_bytes += length; } static void rb_advance_iter(struct ring_buffer_iter *iter) @@ -4829,7 +4843,8 @@ if (!iter) return NULL; - iter->event = kmalloc(BUF_MAX_DATA_SIZE, flags); + /* Holds the entire event: data and meta data */ + iter->event = kmalloc(BUF_PAGE_SIZE, flags); if (!iter->event) { kfree(iter); return NULL; @@ -5528,7 +5543,7 @@ } else { /* update the entry counter */ cpu_buffer->read += rb_page_entries(reader); - cpu_buffer->read_bytes += BUF_PAGE_SIZE; + cpu_buffer->read_bytes += rb_page_commit(reader); /* swap the pages */ rb_init_page(bpage); diff -Nru linux-5.10.197/kernel/trace/trace.c linux-5.10.205/kernel/trace/trace.c --- linux-5.10.197/kernel/trace/trace.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/trace/trace.c 2023-12-20 14:44:42.000000000 +0000 @@ -2287,13 +2287,7 @@ return global_trace.stop_count; } -/** - * tracing_start - quick start of the tracer - * - * If tracing is enabled but was stopped by tracing_stop, - * this will start the tracer back up. - */ -void tracing_start(void) +static void tracing_start_tr(struct trace_array *tr) { struct trace_buffer *buffer; unsigned long flags; @@ -2301,119 +2295,83 @@ if (tracing_disabled) return; - raw_spin_lock_irqsave(&global_trace.start_lock, flags); - if (--global_trace.stop_count) { - if (global_trace.stop_count < 0) { + raw_spin_lock_irqsave(&tr->start_lock, flags); + if (--tr->stop_count) { + if (WARN_ON_ONCE(tr->stop_count < 0)) { /* Someone screwed up their debugging */ - WARN_ON_ONCE(1); - global_trace.stop_count = 0; + tr->stop_count = 0; } goto out; } /* Prevent the buffers from switching */ - arch_spin_lock(&global_trace.max_lock); + arch_spin_lock(&tr->max_lock); - buffer = global_trace.array_buffer.buffer; + buffer = tr->array_buffer.buffer; if (buffer) ring_buffer_record_enable(buffer); #ifdef CONFIG_TRACER_MAX_TRACE - buffer = global_trace.max_buffer.buffer; + buffer = tr->max_buffer.buffer; if (buffer) ring_buffer_record_enable(buffer); #endif - arch_spin_unlock(&global_trace.max_lock); - - out: - raw_spin_unlock_irqrestore(&global_trace.start_lock, flags); -} - -static void tracing_start_tr(struct trace_array *tr) -{ - struct trace_buffer *buffer; - unsigned long flags; - - if (tracing_disabled) - return; - - /* If global, we need to also start the max tracer */ - if (tr->flags & TRACE_ARRAY_FL_GLOBAL) - return tracing_start(); - - raw_spin_lock_irqsave(&tr->start_lock, flags); - - if (--tr->stop_count) { - if (tr->stop_count < 0) { - /* Someone screwed up their debugging */ - WARN_ON_ONCE(1); - tr->stop_count = 0; - } - goto out; - } - - buffer = tr->array_buffer.buffer; - if (buffer) - ring_buffer_record_enable(buffer); + arch_spin_unlock(&tr->max_lock); out: raw_spin_unlock_irqrestore(&tr->start_lock, flags); } /** - * tracing_stop - quick stop of the tracer + * tracing_start - quick start of the tracer * - * Light weight way to stop tracing. Use in conjunction with - * tracing_start. + * If tracing is enabled but was stopped by tracing_stop, + * this will start the tracer back up. */ -void tracing_stop(void) +void tracing_start(void) + +{ + return tracing_start_tr(&global_trace); +} + +static void tracing_stop_tr(struct trace_array *tr) { struct trace_buffer *buffer; unsigned long flags; - raw_spin_lock_irqsave(&global_trace.start_lock, flags); - if (global_trace.stop_count++) + raw_spin_lock_irqsave(&tr->start_lock, flags); + if (tr->stop_count++) goto out; /* Prevent the buffers from switching */ - arch_spin_lock(&global_trace.max_lock); + arch_spin_lock(&tr->max_lock); - buffer = global_trace.array_buffer.buffer; + buffer = tr->array_buffer.buffer; if (buffer) ring_buffer_record_disable(buffer); #ifdef CONFIG_TRACER_MAX_TRACE - buffer = global_trace.max_buffer.buffer; + buffer = tr->max_buffer.buffer; if (buffer) ring_buffer_record_disable(buffer); #endif - arch_spin_unlock(&global_trace.max_lock); + arch_spin_unlock(&tr->max_lock); out: - raw_spin_unlock_irqrestore(&global_trace.start_lock, flags); + raw_spin_unlock_irqrestore(&tr->start_lock, flags); } -static void tracing_stop_tr(struct trace_array *tr) +/** + * tracing_stop - quick stop of the tracer + * + * Light weight way to stop tracing. Use in conjunction with + * tracing_start. + */ +void tracing_stop(void) { - struct trace_buffer *buffer; - unsigned long flags; - - /* If global, we need to also stop the max tracer */ - if (tr->flags & TRACE_ARRAY_FL_GLOBAL) - return tracing_stop(); - - raw_spin_lock_irqsave(&tr->start_lock, flags); - if (tr->stop_count++) - goto out; - - buffer = tr->array_buffer.buffer; - if (buffer) - ring_buffer_record_disable(buffer); - - out: - raw_spin_unlock_irqrestore(&tr->start_lock, flags); + return tracing_stop_tr(&global_trace); } static int trace_save_cmdline(struct task_struct *tsk) @@ -2687,8 +2645,11 @@ for_each_tracing_cpu(cpu) { page = alloc_pages_node(cpu_to_node(cpu), GFP_KERNEL | __GFP_NORETRY, 0); - if (!page) - goto failed; + /* This is just an optimization and can handle failures */ + if (!page) { + pr_err("Failed to allocate event buffer\n"); + break; + } event = page_address(page); memset(event, 0, sizeof(*event)); @@ -2702,10 +2663,6 @@ WARN_ON_ONCE(1); preempt_enable(); } - - return; - failed: - trace_buffered_event_disable(); } static void enable_trace_buffered_event(void *data) @@ -2740,11 +2697,9 @@ if (--trace_buffered_event_ref) return; - preempt_disable(); /* For each CPU, set the buffer as used. */ - smp_call_function_many(tracing_buffer_mask, - disable_trace_buffered_event, NULL, 1); - preempt_enable(); + on_each_cpu_mask(tracing_buffer_mask, disable_trace_buffered_event, + NULL, true); /* Wait for all current users to finish */ synchronize_rcu(); @@ -2753,17 +2708,19 @@ free_page((unsigned long)per_cpu(trace_buffered_event, cpu)); per_cpu(trace_buffered_event, cpu) = NULL; } + /* - * Make sure trace_buffered_event is NULL before clearing - * trace_buffered_event_cnt. + * Wait for all CPUs that potentially started checking if they can use + * their event buffer only after the previous synchronize_rcu() call and + * they still read a valid pointer from trace_buffered_event. It must be + * ensured they don't see cleared trace_buffered_event_cnt else they + * could wrongly decide to use the pointed-to buffer which is now freed. */ - smp_wmb(); + synchronize_rcu(); - preempt_disable(); - /* Do the work on each cpu */ - smp_call_function_many(tracing_buffer_mask, - enable_trace_buffered_event, NULL, 1); - preempt_enable(); + /* For each CPU, relinquish the buffer */ + on_each_cpu_mask(tracing_buffer_mask, enable_trace_buffered_event, NULL, + true); } static struct trace_buffer *temp_buffer; @@ -4559,6 +4516,48 @@ return 0; } +/* + * The private pointer of the inode is the trace_event_file. + * Update the tr ref count associated to it. + */ +int tracing_open_file_tr(struct inode *inode, struct file *filp) +{ + struct trace_event_file *file = inode->i_private; + int ret; + + ret = tracing_check_open_get_tr(file->tr); + if (ret) + return ret; + + mutex_lock(&event_mutex); + + /* Fail if the file is marked for removal */ + if (file->flags & EVENT_FILE_FL_FREED) { + trace_array_put(file->tr); + ret = -ENODEV; + } else { + event_file_get(file); + } + + mutex_unlock(&event_mutex); + if (ret) + return ret; + + filp->private_data = inode->i_private; + + return 0; +} + +int tracing_release_file_tr(struct inode *inode, struct file *filp) +{ + struct trace_event_file *file = inode->i_private; + + trace_array_put(file->tr); + event_file_put(file); + + return 0; +} + static int tracing_release(struct inode *inode, struct file *file) { struct trace_array *tr = inode->i_private; @@ -5853,6 +5852,15 @@ per_cpu_ptr(buf->data, cpu)->entries = val; } +static void update_buffer_entries(struct array_buffer *buf, int cpu) +{ + if (cpu == RING_BUFFER_ALL_CPUS) { + set_buffer_entries(buf, ring_buffer_size(buf->buffer, 0)); + } else { + per_cpu_ptr(buf->data, cpu)->entries = ring_buffer_size(buf->buffer, cpu); + } +} + #ifdef CONFIG_TRACER_MAX_TRACE /* resize @tr's buffer to the size of @size_tr's entries */ static int resize_buffer_duplicate_size(struct array_buffer *trace_buf, @@ -5897,13 +5905,15 @@ if (!tr->array_buffer.buffer) return 0; + /* Do not allow tracing while resizing ring buffer */ + tracing_stop_tr(tr); + ret = ring_buffer_resize(tr->array_buffer.buffer, size, cpu); if (ret < 0) - return ret; + goto out_start; #ifdef CONFIG_TRACER_MAX_TRACE - if (!(tr->flags & TRACE_ARRAY_FL_GLOBAL) || - !tr->current_trace->use_max_tr) + if (!tr->allocated_snapshot) goto out; ret = ring_buffer_resize(tr->max_buffer.buffer, size, cpu); @@ -5928,22 +5938,17 @@ WARN_ON(1); tracing_disabled = 1; } - return ret; + goto out_start; } - if (cpu == RING_BUFFER_ALL_CPUS) - set_buffer_entries(&tr->max_buffer, size); - else - per_cpu_ptr(tr->max_buffer.data, cpu)->entries = size; + update_buffer_entries(&tr->max_buffer, cpu); out: #endif /* CONFIG_TRACER_MAX_TRACE */ - if (cpu == RING_BUFFER_ALL_CPUS) - set_buffer_entries(&tr->array_buffer, size); - else - per_cpu_ptr(tr->array_buffer.data, cpu)->entries = size; - + update_buffer_entries(&tr->array_buffer, cpu); + out_start: + tracing_start_tr(tr); return ret; } diff -Nru linux-5.10.197/kernel/trace/trace.h linux-5.10.205/kernel/trace/trace.h --- linux-5.10.197/kernel/trace/trace.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/trace/trace.h 2023-12-20 14:44:42.000000000 +0000 @@ -730,6 +730,8 @@ void tracing_reset_all_online_cpus_unlocked(void); int tracing_open_generic(struct inode *inode, struct file *filp); int tracing_open_generic_tr(struct inode *inode, struct file *filp); +int tracing_open_file_tr(struct inode *inode, struct file *filp); +int tracing_release_file_tr(struct inode *inode, struct file *filp); bool tracing_is_disabled(void); bool tracer_tracing_is_on(struct trace_array *tr); void tracer_tracing_on(struct trace_array *tr); @@ -1782,6 +1784,9 @@ extern int unregister_event_command(struct event_command *cmd); extern int register_trigger_hist_enable_disable_cmds(void); +extern void event_file_get(struct trace_event_file *file); +extern void event_file_put(struct trace_event_file *file); + /** * struct event_trigger_ops - callbacks for trace event triggers * diff -Nru linux-5.10.197/kernel/trace/trace_events.c linux-5.10.205/kernel/trace/trace_events.c --- linux-5.10.197/kernel/trace/trace_events.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/trace/trace_events.c 2023-12-20 14:44:42.000000000 +0000 @@ -746,26 +746,38 @@ } } -static void remove_event_file_dir(struct trace_event_file *file) +void event_file_get(struct trace_event_file *file) { - struct dentry *dir = file->dir; - struct dentry *child; + atomic_inc(&file->ref); +} - if (dir) { - spin_lock(&dir->d_lock); /* probably unneeded */ - list_for_each_entry(child, &dir->d_subdirs, d_child) { - if (d_really_is_positive(child)) /* probably unneeded */ - d_inode(child)->i_private = NULL; - } - spin_unlock(&dir->d_lock); +void event_file_put(struct trace_event_file *file) +{ + if (WARN_ON_ONCE(!atomic_read(&file->ref))) { + if (file->flags & EVENT_FILE_FL_FREED) + kmem_cache_free(file_cachep, file); + return; + } - tracefs_remove(dir); + if (atomic_dec_and_test(&file->ref)) { + /* Count should only go to zero when it is freed */ + if (WARN_ON_ONCE(!(file->flags & EVENT_FILE_FL_FREED))) + return; + kmem_cache_free(file_cachep, file); } +} + +static void remove_event_file_dir(struct trace_event_file *file) +{ + struct dentry *dir = file->dir; + + tracefs_remove(dir); list_del(&file->list); remove_subsystem(file->system); free_event_filter(file->filter); - kmem_cache_free(file_cachep, file); + file->flags |= EVENT_FILE_FL_FREED; + event_file_put(file); } /* @@ -1138,7 +1150,7 @@ flags = file->flags; mutex_unlock(&event_mutex); - if (!file) + if (!file || flags & EVENT_FILE_FL_FREED) return -ENODEV; if (flags & EVENT_FILE_FL_ENABLED && @@ -1176,7 +1188,7 @@ ret = -ENODEV; mutex_lock(&event_mutex); file = event_file_data(filp); - if (likely(file)) + if (likely(file && !(file->flags & EVENT_FILE_FL_FREED))) ret = ftrace_event_enable_disable(file, val); mutex_unlock(&event_mutex); break; @@ -1445,7 +1457,7 @@ mutex_lock(&event_mutex); file = event_file_data(filp); - if (file) + if (file && !(file->flags & EVENT_FILE_FL_FREED)) print_event_filter(file, s); mutex_unlock(&event_mutex); @@ -1855,9 +1867,10 @@ }; static const struct file_operations ftrace_enable_fops = { - .open = tracing_open_generic, + .open = tracing_open_file_tr, .read = event_enable_read, .write = event_enable_write, + .release = tracing_release_file_tr, .llseek = default_llseek, }; @@ -1874,9 +1887,10 @@ }; static const struct file_operations ftrace_event_filter_fops = { - .open = tracing_open_generic, + .open = tracing_open_file_tr, .read = event_filter_read, .write = event_filter_write, + .release = tracing_release_file_tr, .llseek = default_llseek, }; @@ -2449,6 +2463,7 @@ update_event_printk(call, map[i]); } } + cond_resched(); } up_write(&trace_event_sem); } @@ -2479,6 +2494,7 @@ atomic_set(&file->tm_ref, 0); INIT_LIST_HEAD(&file->triggers); list_add(&file->list, &tr->events); + event_file_get(file); return file; } diff -Nru linux-5.10.197/kernel/trace/trace_events_filter.c linux-5.10.205/kernel/trace/trace_events_filter.c --- linux-5.10.197/kernel/trace/trace_events_filter.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/trace/trace_events_filter.c 2023-12-20 14:44:42.000000000 +0000 @@ -1893,6 +1893,9 @@ struct event_filter *filter = NULL; int err; + if (file->flags & EVENT_FILE_FL_FREED) + return -ENODEV; + if (!strcmp(strstrip(filter_string), "0")) { filter_disable(file); filter = event_filter(file); diff -Nru linux-5.10.197/kernel/trace/trace_events_inject.c linux-5.10.205/kernel/trace/trace_events_inject.c --- linux-5.10.197/kernel/trace/trace_events_inject.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/trace/trace_events_inject.c 2023-12-20 14:44:42.000000000 +0000 @@ -323,7 +323,8 @@ } const struct file_operations event_inject_fops = { - .open = tracing_open_generic, + .open = tracing_open_file_tr, .read = event_inject_read, .write = event_inject_write, + .release = tracing_release_file_tr, }; diff -Nru linux-5.10.197/kernel/trace/trace_kprobe.c linux-5.10.205/kernel/trace/trace_kprobe.c --- linux-5.10.197/kernel/trace/trace_kprobe.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/trace/trace_kprobe.c 2023-12-20 14:44:42.000000000 +0000 @@ -949,10 +949,10 @@ /** * __kprobe_event_gen_cmd_start - Generate a kprobe event command from arg list * @cmd: A pointer to the dynevent_cmd struct representing the new event + * @kretprobe: Is this a return probe? * @name: The name of the kprobe event * @loc: The location of the kprobe event - * @kretprobe: Is this a return probe? - * @args: Variable number of arg (pairs), one pair for each field + * @...: Variable number of arg (pairs), one pair for each field * * NOTE: Users normally won't want to call this function directly, but * rather use the kprobe_event_gen_cmd_start() wrapper, which automatically @@ -1025,7 +1025,7 @@ /** * __kprobe_event_add_fields - Add probe fields to a kprobe command from arg list * @cmd: A pointer to the dynevent_cmd struct representing the new event - * @args: Variable number of arg (pairs), one pair for each field + * @...: Variable number of arg (pairs), one pair for each field * * NOTE: Users normally won't want to call this function directly, but * rather use the kprobe_event_add_fields() wrapper, which diff -Nru linux-5.10.197/kernel/watchdog.c linux-5.10.205/kernel/watchdog.c --- linux-5.10.197/kernel/watchdog.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/watchdog.c 2023-12-20 14:44:42.000000000 +0000 @@ -176,6 +176,13 @@ static DEFINE_PER_CPU(unsigned long, hrtimer_interrupts_saved); static unsigned long soft_lockup_nmi_warn; +static int __init softlockup_panic_setup(char *str) +{ + softlockup_panic = simple_strtoul(str, NULL, 0); + return 1; +} +__setup("softlockup_panic=", softlockup_panic_setup); + static int __init nowatchdog_setup(char *str) { watchdog_user_enabled = 0; diff -Nru linux-5.10.197/kernel/workqueue.c linux-5.10.205/kernel/workqueue.c --- linux-5.10.197/kernel/workqueue.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/kernel/workqueue.c 2023-12-20 14:44:42.000000000 +0000 @@ -3240,6 +3240,15 @@ return ret; } +/* + * See cancel_delayed_work() + */ +bool cancel_work(struct work_struct *work) +{ + return __cancel_work(work, false); +} +EXPORT_SYMBOL(cancel_work); + /** * cancel_delayed_work - cancel a delayed work * @dwork: delayed_work to cancel @@ -5300,9 +5309,13 @@ list_for_each_entry(wq, &workqueues, list) { if (!(wq->flags & WQ_UNBOUND)) continue; + /* creating multiple pwqs breaks ordering guarantee */ - if (wq->flags & __WQ_ORDERED) - continue; + if (!list_empty(&wq->pwqs)) { + if (wq->flags & __WQ_ORDERED_EXPLICIT) + continue; + wq->flags &= ~__WQ_ORDERED; + } ctx = apply_wqattrs_prepare(wq, wq->unbound_attrs); if (!ctx) { diff -Nru linux-5.10.197/lib/Kconfig.debug linux-5.10.205/lib/Kconfig.debug --- linux-5.10.197/lib/Kconfig.debug 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/lib/Kconfig.debug 2023-12-20 14:44:42.000000000 +0000 @@ -1136,13 +1136,16 @@ config DEBUG_PREEMPT bool "Debug preemptible kernel" depends on DEBUG_KERNEL && PREEMPTION && TRACE_IRQFLAGS_SUPPORT - default y help If you say Y here then the kernel will use a debug variant of the commonly used smp_processor_id() function and will print warnings if kernel code uses it in a preemption-unsafe way. Also, the kernel will detect preemption count underflows. + This option has potential to introduce high runtime overhead, + depending on workload as it triggers debugging routines for each + this_cpu operation. It should only be used for debugging purposes. + menu "Lock Debugging (spinlocks, mutexes, etc...)" config LOCK_DEBUGGING_SUPPORT diff -Nru linux-5.10.197/lib/errname.c linux-5.10.205/lib/errname.c --- linux-5.10.197/lib/errname.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/lib/errname.c 2023-12-20 14:44:42.000000000 +0000 @@ -110,9 +110,6 @@ E(ENOSPC), E(ENOSR), E(ENOSTR), -#ifdef ENOSYM - E(ENOSYM), -#endif E(ENOSYS), E(ENOTBLK), E(ENOTCONN), @@ -143,9 +140,6 @@ #endif E(EREMOTE), E(EREMOTEIO), -#ifdef EREMOTERELEASE - E(EREMOTERELEASE), -#endif E(ERESTART), E(ERFKILL), E(EROFS), diff -Nru linux-5.10.197/lib/kobject.c linux-5.10.205/lib/kobject.c --- linux-5.10.197/lib/kobject.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/lib/kobject.c 2023-12-20 14:44:42.000000000 +0000 @@ -144,7 +144,7 @@ return length; } -static void fill_kobj_path(struct kobject *kobj, char *path, int length) +static int fill_kobj_path(struct kobject *kobj, char *path, int length) { struct kobject *parent; @@ -153,12 +153,16 @@ int cur = strlen(kobject_name(parent)); /* back up enough to print this name with '/' */ length -= cur; + if (length <= 0) + return -EINVAL; memcpy(path + length, kobject_name(parent), cur); *(path + --length) = '/'; } pr_debug("kobject: '%s' (%p): %s: path = '%s'\n", kobject_name(kobj), kobj, __func__, path); + + return 0; } /** @@ -173,13 +177,17 @@ char *path; int len; +retry: len = get_kobj_path_length(kobj); if (len == 0) return NULL; path = kzalloc(len, gfp_mask); if (!path) return NULL; - fill_kobj_path(kobj, path, len); + if (fill_kobj_path(kobj, path, len)) { + kfree(path); + goto retry; + } return path; } diff -Nru linux-5.10.197/lib/test_meminit.c linux-5.10.205/lib/test_meminit.c --- linux-5.10.197/lib/test_meminit.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/lib/test_meminit.c 2023-12-20 14:44:42.000000000 +0000 @@ -86,7 +86,7 @@ int failures = 0, num_tests = 0; int i; - for (i = 0; i <= MAX_ORDER; i++) + for (i = 0; i < MAX_ORDER; i++) num_tests += do_alloc_pages_order(i, &failures); REPORT_FAILURES_IN_FN(); diff -Nru linux-5.10.197/lib/test_overflow.c linux-5.10.205/lib/test_overflow.c --- linux-5.10.197/lib/test_overflow.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/lib/test_overflow.c 2023-12-20 14:44:42.000000000 +0000 @@ -588,12 +588,110 @@ return err; } +struct __test_flex_array { + unsigned long flags; + size_t count; + unsigned long data[]; +}; + +static int __init test_overflow_size_helpers(void) +{ + struct __test_flex_array *obj; + int count = 0; + int err = 0; + int var; + +#define check_one_size_helper(expected, func, args...) ({ \ + bool __failure = false; \ + size_t _r; \ + \ + _r = func(args); \ + if (_r != (expected)) { \ + pr_warn("expected " #func "(" #args ") " \ + "to return %zu but got %zu instead\n", \ + (size_t)(expected), _r); \ + __failure = true; \ + } \ + count++; \ + __failure; \ +}) + + var = 4; + err |= check_one_size_helper(20, size_mul, var++, 5); + err |= check_one_size_helper(20, size_mul, 4, var++); + err |= check_one_size_helper(0, size_mul, 0, 3); + err |= check_one_size_helper(0, size_mul, 3, 0); + err |= check_one_size_helper(6, size_mul, 2, 3); + err |= check_one_size_helper(SIZE_MAX, size_mul, SIZE_MAX, 1); + err |= check_one_size_helper(SIZE_MAX, size_mul, SIZE_MAX, 3); + err |= check_one_size_helper(SIZE_MAX, size_mul, SIZE_MAX, -3); + + var = 4; + err |= check_one_size_helper(9, size_add, var++, 5); + err |= check_one_size_helper(9, size_add, 4, var++); + err |= check_one_size_helper(9, size_add, 9, 0); + err |= check_one_size_helper(9, size_add, 0, 9); + err |= check_one_size_helper(5, size_add, 2, 3); + err |= check_one_size_helper(SIZE_MAX, size_add, SIZE_MAX, 1); + err |= check_one_size_helper(SIZE_MAX, size_add, SIZE_MAX, 3); + err |= check_one_size_helper(SIZE_MAX, size_add, SIZE_MAX, -3); + + var = 4; + err |= check_one_size_helper(1, size_sub, var--, 3); + err |= check_one_size_helper(1, size_sub, 4, var--); + err |= check_one_size_helper(1, size_sub, 3, 2); + err |= check_one_size_helper(9, size_sub, 9, 0); + err |= check_one_size_helper(SIZE_MAX, size_sub, 9, -3); + err |= check_one_size_helper(SIZE_MAX, size_sub, 0, 9); + err |= check_one_size_helper(SIZE_MAX, size_sub, 2, 3); + err |= check_one_size_helper(SIZE_MAX, size_sub, SIZE_MAX, 0); + err |= check_one_size_helper(SIZE_MAX, size_sub, SIZE_MAX, 10); + err |= check_one_size_helper(SIZE_MAX, size_sub, 0, SIZE_MAX); + err |= check_one_size_helper(SIZE_MAX, size_sub, 14, SIZE_MAX); + err |= check_one_size_helper(SIZE_MAX - 2, size_sub, SIZE_MAX - 1, 1); + err |= check_one_size_helper(SIZE_MAX - 4, size_sub, SIZE_MAX - 1, 3); + err |= check_one_size_helper(1, size_sub, SIZE_MAX - 1, -3); + + var = 4; + err |= check_one_size_helper(4 * sizeof(*obj->data), + flex_array_size, obj, data, var++); + err |= check_one_size_helper(5 * sizeof(*obj->data), + flex_array_size, obj, data, var++); + err |= check_one_size_helper(0, flex_array_size, obj, data, 0); + err |= check_one_size_helper(sizeof(*obj->data), + flex_array_size, obj, data, 1); + err |= check_one_size_helper(7 * sizeof(*obj->data), + flex_array_size, obj, data, 7); + err |= check_one_size_helper(SIZE_MAX, + flex_array_size, obj, data, -1); + err |= check_one_size_helper(SIZE_MAX, + flex_array_size, obj, data, SIZE_MAX - 4); + + var = 4; + err |= check_one_size_helper(sizeof(*obj) + (4 * sizeof(*obj->data)), + struct_size, obj, data, var++); + err |= check_one_size_helper(sizeof(*obj) + (5 * sizeof(*obj->data)), + struct_size, obj, data, var++); + err |= check_one_size_helper(sizeof(*obj), struct_size, obj, data, 0); + err |= check_one_size_helper(sizeof(*obj) + sizeof(*obj->data), + struct_size, obj, data, 1); + err |= check_one_size_helper(SIZE_MAX, + struct_size, obj, data, -3); + err |= check_one_size_helper(SIZE_MAX, + struct_size, obj, data, SIZE_MAX - 3); + + pr_info("%d overflow size helper tests finished\n", count); + + return err; +} + static int __init test_module_init(void) { int err = 0; err |= test_overflow_calculation(); err |= test_overflow_shift(); + err |= test_overflow_size_helpers(); err |= test_overflow_allocation(); if (err) { diff -Nru linux-5.10.197/mm/cma.c linux-5.10.205/mm/cma.c --- linux-5.10.197/mm/cma.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/mm/cma.c 2023-12-20 14:44:42.000000000 +0000 @@ -482,7 +482,7 @@ */ if (page) { for (i = 0; i < count; i++) - page_kasan_tag_reset(page + i); + page_kasan_tag_reset(nth_page(page, i)); } if (ret && !no_warn) { diff -Nru linux-5.10.197/mm/frame_vector.c linux-5.10.205/mm/frame_vector.c --- linux-5.10.197/mm/frame_vector.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/mm/frame_vector.c 2023-12-20 14:44:42.000000000 +0000 @@ -29,6 +29,10 @@ * different type underlying the specified range of virtual addresses. * When the function isn't able to map a single page, it returns error. * + * Note that get_vaddr_frames() cannot follow VM_IO mappings. It used + * to be able to do that, but that could (racily) return non-refcounted + * pfns. + * * This function takes care of grabbing mmap_lock as necessary. */ int get_vaddr_frames(unsigned long start, unsigned int nr_frames, @@ -77,8 +81,6 @@ goto out; } - /* This used to (racily) return non-refcounted pfns. Let people know */ - WARN_ONCE(1, "get_vaddr_frames() cannot follow VM_IO mapping"); vec->nr_frames = 0; out: diff -Nru linux-5.10.197/mm/kasan/report.c linux-5.10.205/mm/kasan/report.c --- linux-5.10.197/mm/kasan/report.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/mm/kasan/report.c 2023-12-20 14:44:42.000000000 +0000 @@ -560,9 +560,8 @@ return ret; } -#ifdef CONFIG_KASAN_INLINE /* - * With CONFIG_KASAN_INLINE, accesses to bogus pointers (outside the high + * With CONFIG_KASAN, accesses to bogus pointers (outside the high * canonical half of the address space) cause out-of-bounds shadow memory reads * before the actual access. For addresses in the low canonical half of the * address space, as well as most non-canonical addresses, that out-of-bounds @@ -598,4 +597,3 @@ pr_alert("KASAN: %s in range [0x%016lx-0x%016lx]\n", bug_type, orig_addr, orig_addr + KASAN_SHADOW_MASK); } -#endif diff -Nru linux-5.10.197/mm/memcontrol.c linux-5.10.205/mm/memcontrol.c --- linux-5.10.197/mm/memcontrol.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/mm/memcontrol.c 2023-12-20 14:44:42.000000000 +0000 @@ -2892,7 +2892,8 @@ * Moreover, it should not come from DMA buffer and is not readily * reclaimable. So those GFP bits should be masked off. */ -#define OBJCGS_CLEAR_MASK (__GFP_DMA | __GFP_RECLAIMABLE | __GFP_ACCOUNT) +#define OBJCGS_CLEAR_MASK (__GFP_DMA | __GFP_RECLAIMABLE | \ + __GFP_ACCOUNT | __GFP_NOFAIL) int memcg_alloc_page_obj_cgroups(struct page *page, struct kmem_cache *s, gfp_t gfp) diff -Nru linux-5.10.197/mm/memory_hotplug.c linux-5.10.205/mm/memory_hotplug.c --- linux-5.10.197/mm/memory_hotplug.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/mm/memory_hotplug.c 2023-12-20 14:44:42.000000000 +0000 @@ -1263,7 +1263,7 @@ head = compound_head(page); if (page_huge_active(head)) goto found; - skip = compound_nr(head) - (page - head); + skip = compound_nr(head) - (pfn - page_to_pfn(head)); pfn += skip - 1; } return -ENOENT; @@ -1279,6 +1279,8 @@ struct page *page, *head; int ret = 0; LIST_HEAD(source); + static DEFINE_RATELIMIT_STATE(migrate_rs, DEFAULT_RATELIMIT_INTERVAL, + DEFAULT_RATELIMIT_BURST); for (pfn = start_pfn; pfn < end_pfn; pfn++) { if (!pfn_valid(pfn)) @@ -1325,8 +1327,10 @@ page_is_file_lru(page)); } else { - pr_warn("failed to isolate pfn %lx\n", pfn); - dump_page(page, "isolation failed"); + if (__ratelimit(&migrate_rs)) { + pr_warn("failed to isolate pfn %lx\n", pfn); + dump_page(page, "isolation failed"); + } } put_page(page); } @@ -1355,9 +1359,11 @@ (unsigned long)&mtc, MIGRATE_SYNC, MR_MEMORY_HOTPLUG); if (ret) { list_for_each_entry(page, &source, lru) { - pr_warn("migrating pfn %lx failed ret:%d ", - page_to_pfn(page), ret); - dump_page(page, "migration failure"); + if (__ratelimit(&migrate_rs)) { + pr_warn("migrating pfn %lx failed ret:%d\n", + page_to_pfn(page), ret); + dump_page(page, "migration failure"); + } } putback_movable_pages(&source); } diff -Nru linux-5.10.197/mm/page_alloc.c linux-5.10.205/mm/page_alloc.c --- linux-5.10.197/mm/page_alloc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/mm/page_alloc.c 2023-12-20 14:44:42.000000000 +0000 @@ -8932,6 +8932,7 @@ next_page = page; current_buddy = page + size; } + page = next_page; if (set_page_guard(zone, current_buddy, high, migratetype)) continue; @@ -8939,7 +8940,6 @@ if (current_buddy != target) { add_to_free_list(current_buddy, zone, high, migratetype); set_buddy_order(current_buddy, high); - page = next_page; } } } diff -Nru linux-5.10.197/mm/readahead.c linux-5.10.205/mm/readahead.c --- linux-5.10.197/mm/readahead.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/mm/readahead.c 2023-12-20 14:44:42.000000000 +0000 @@ -625,7 +625,8 @@ */ ret = -EINVAL; if (!f.file->f_mapping || !f.file->f_mapping->a_ops || - !S_ISREG(file_inode(f.file)->i_mode)) + (!S_ISREG(file_inode(f.file)->i_mode) && + !S_ISBLK(file_inode(f.file)->i_mode))) goto out; ret = vfs_fadvise(f.file, offset, count, POSIX_FADV_WILLNEED); diff -Nru linux-5.10.197/net/9p/trans_fd.c linux-5.10.205/net/9p/trans_fd.c --- linux-5.10.197/net/9p/trans_fd.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/9p/trans_fd.c 2023-12-20 14:44:42.000000000 +0000 @@ -823,14 +823,21 @@ goto out_free_ts; if (!(ts->rd->f_mode & FMODE_READ)) goto out_put_rd; - /* prevent workers from hanging on IO when fd is a pipe */ - ts->rd->f_flags |= O_NONBLOCK; + /* Prevent workers from hanging on IO when fd is a pipe. + * It's technically possible for userspace or concurrent mounts to + * modify this flag concurrently, which will likely result in a + * broken filesystem. However, just having bad flags here should + * not crash the kernel or cause any other sort of bug, so mark this + * particular data race as intentional so that tooling (like KCSAN) + * can allow it and detect further problems. + */ + data_race(ts->rd->f_flags |= O_NONBLOCK); ts->wr = fget(wfd); if (!ts->wr) goto out_put_rd; if (!(ts->wr->f_mode & FMODE_WRITE)) goto out_put_wr; - ts->wr->f_flags |= O_NONBLOCK; + data_race(ts->wr->f_flags |= O_NONBLOCK); client->trans = ts; client->status = Connected; diff -Nru linux-5.10.197/net/appletalk/ddp.c linux-5.10.205/net/appletalk/ddp.c --- linux-5.10.197/net/appletalk/ddp.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/appletalk/ddp.c 2023-12-20 14:44:42.000000000 +0000 @@ -1811,15 +1811,14 @@ break; } case TIOCINQ: { - /* - * These two are safe on a single CPU system as only - * user tasks fiddle here - */ - struct sk_buff *skb = skb_peek(&sk->sk_receive_queue); + struct sk_buff *skb; long amount = 0; + spin_lock_irq(&sk->sk_receive_queue.lock); + skb = skb_peek(&sk->sk_receive_queue); if (skb) amount = skb->len - sizeof(struct ddpehdr); + spin_unlock_irq(&sk->sk_receive_queue.lock); rc = put_user(amount, (int __user *)argp); break; } diff -Nru linux-5.10.197/net/atm/ioctl.c linux-5.10.205/net/atm/ioctl.c --- linux-5.10.197/net/atm/ioctl.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/atm/ioctl.c 2023-12-20 14:44:42.000000000 +0000 @@ -73,14 +73,17 @@ case SIOCINQ: { struct sk_buff *skb; + int amount; if (sock->state != SS_CONNECTED) { error = -EINVAL; goto done; } + spin_lock_irq(&sk->sk_receive_queue.lock); skb = skb_peek(&sk->sk_receive_queue); - error = put_user(skb ? skb->len : 0, - (int __user *)argp) ? -EFAULT : 0; + amount = skb ? skb->len : 0; + spin_unlock_irq(&sk->sk_receive_queue.lock); + error = put_user(amount, (int __user *)argp) ? -EFAULT : 0; goto done; } case ATM_SETSC: diff -Nru linux-5.10.197/net/batman-adv/soft-interface.c linux-5.10.205/net/batman-adv/soft-interface.c --- linux-5.10.197/net/batman-adv/soft-interface.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/batman-adv/soft-interface.c 2023-12-20 14:44:42.000000000 +0000 @@ -454,7 +454,7 @@ if (!pskb_may_pull(skb, VLAN_ETH_HLEN)) goto dropped; - vhdr = (struct vlan_ethhdr *)skb->data; + vhdr = skb_vlan_eth_hdr(skb); /* drop batman-in-batman packets to prevent loops */ if (vhdr->h_vlan_encapsulated_proto != htons(ETH_P_BATMAN)) diff -Nru linux-5.10.197/net/bluetooth/hci_conn.c linux-5.10.205/net/bluetooth/hci_conn.c --- linux-5.10.197/net/bluetooth/hci_conn.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/bluetooth/hci_conn.c 2023-12-20 14:44:42.000000000 +0000 @@ -135,13 +135,11 @@ hdev->notify(hdev, HCI_NOTIFY_CONN_DEL); } - hci_conn_del_sysfs(conn); - debugfs_remove_recursive(conn->debugfs); - hci_dev_put(hdev); + hci_conn_del_sysfs(conn); - hci_conn_put(conn); + hci_dev_put(hdev); } static void le_scan_cleanup(struct work_struct *work) @@ -1249,6 +1247,15 @@ return ERR_PTR(-EOPNOTSUPP); } + /* Reject outgoing connection to device with same BD ADDR against + * CVE-2020-26555 + */ + if (!bacmp(&hdev->bdaddr, dst)) { + bt_dev_dbg(hdev, "Reject connection with same BD_ADDR %pMR\n", + dst); + return ERR_PTR(-ECONNREFUSED); + } + acl = hci_conn_hash_lookup_ba(hdev, ACL_LINK, dst); if (!acl) { acl = hci_conn_add(hdev, ACL_LINK, dst, HCI_ROLE_MASTER); @@ -1426,34 +1433,41 @@ if (!test_bit(HCI_CONN_AUTH, &conn->flags)) goto auth; - /* An authenticated FIPS approved combination key has sufficient - * security for security level 4. */ - if (conn->key_type == HCI_LK_AUTH_COMBINATION_P256 && - sec_level == BT_SECURITY_FIPS) - goto encrypt; - - /* An authenticated combination key has sufficient security for - security level 3. */ - if ((conn->key_type == HCI_LK_AUTH_COMBINATION_P192 || - conn->key_type == HCI_LK_AUTH_COMBINATION_P256) && - sec_level == BT_SECURITY_HIGH) - goto encrypt; - - /* An unauthenticated combination key has sufficient security for - security level 1 and 2. */ - if ((conn->key_type == HCI_LK_UNAUTH_COMBINATION_P192 || - conn->key_type == HCI_LK_UNAUTH_COMBINATION_P256) && - (sec_level == BT_SECURITY_MEDIUM || sec_level == BT_SECURITY_LOW)) - goto encrypt; - - /* A combination key has always sufficient security for the security - levels 1 or 2. High security level requires the combination key - is generated using maximum PIN code length (16). - For pre 2.1 units. */ - if (conn->key_type == HCI_LK_COMBINATION && - (sec_level == BT_SECURITY_MEDIUM || sec_level == BT_SECURITY_LOW || - conn->pin_length == 16)) - goto encrypt; + switch (conn->key_type) { + case HCI_LK_AUTH_COMBINATION_P256: + /* An authenticated FIPS approved combination key has + * sufficient security for security level 4 or lower. + */ + if (sec_level <= BT_SECURITY_FIPS) + goto encrypt; + break; + case HCI_LK_AUTH_COMBINATION_P192: + /* An authenticated combination key has sufficient security for + * security level 3 or lower. + */ + if (sec_level <= BT_SECURITY_HIGH) + goto encrypt; + break; + case HCI_LK_UNAUTH_COMBINATION_P192: + case HCI_LK_UNAUTH_COMBINATION_P256: + /* An unauthenticated combination key has sufficient security + * for security level 2 or lower. + */ + if (sec_level <= BT_SECURITY_MEDIUM) + goto encrypt; + break; + case HCI_LK_COMBINATION: + /* A combination key has always sufficient security for the + * security levels 2 or lower. High security level requires the + * combination key is generated using maximum PIN code length + * (16). For pre 2.1 units. + */ + if (sec_level <= BT_SECURITY_MEDIUM || conn->pin_length == 16) + goto encrypt; + break; + default: + break; + } auth: if (test_bit(HCI_CONN_ENCRYPT_PEND, &conn->flags)) diff -Nru linux-5.10.197/net/bluetooth/hci_core.c linux-5.10.205/net/bluetooth/hci_core.c --- linux-5.10.197/net/bluetooth/hci_core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/bluetooth/hci_core.c 2023-12-20 14:44:42.000000000 +0000 @@ -3734,7 +3734,11 @@ if (id < 0) return id; - snprintf(hdev->name, sizeof(hdev->name), "hci%d", id); + error = dev_set_name(&hdev->dev, "hci%u", id); + if (error) + return error; + + hdev->name = dev_name(&hdev->dev); hdev->id = id; BT_DBG("%p name %s bus %d", hdev, hdev->name, hdev->bus); @@ -3756,8 +3760,6 @@ if (!IS_ERR_OR_NULL(bt_debugfs)) hdev->debugfs = debugfs_create_dir(hdev->name, bt_debugfs); - dev_set_name(&hdev->dev, "%s", hdev->name); - error = device_add(&hdev->dev); if (error < 0) goto err_wqueue; diff -Nru linux-5.10.197/net/bluetooth/hci_event.c linux-5.10.205/net/bluetooth/hci_event.c --- linux-5.10.197/net/bluetooth/hci_event.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/bluetooth/hci_event.c 2023-12-20 14:44:42.000000000 +0000 @@ -25,6 +25,8 @@ /* Bluetooth HCI event handling. */ #include +#include +#include #include #include @@ -2701,6 +2703,16 @@ BT_DBG("%s bdaddr %pMR type 0x%x", hdev->name, &ev->bdaddr, ev->link_type); + /* Reject incoming connection from device with same BD ADDR against + * CVE-2020-26555 + */ + if (hdev && !bacmp(&hdev->bdaddr, &ev->bdaddr)) { + bt_dev_dbg(hdev, "Reject connection with same BD_ADDR %pMR\n", + &ev->bdaddr); + hci_reject_conn(hdev, &ev->bdaddr); + return; + } + mask |= hci_proto_connect_ind(hdev, &ev->bdaddr, ev->link_type, &flags); @@ -4065,6 +4077,15 @@ if (!conn) goto unlock; + /* Ignore NULL link key against CVE-2020-26555 */ + if (!crypto_memneq(ev->link_key, ZERO_KEY, HCI_LINK_KEY_SIZE)) { + bt_dev_dbg(hdev, "Ignore NULL link key (ZERO KEY) for %pMR", + &ev->bdaddr); + hci_disconnect(conn, HCI_ERROR_AUTH_FAILURE); + hci_conn_drop(conn); + goto unlock; + } + hci_conn_hold(conn); conn->disc_timeout = HCI_DISCONN_TIMEOUT; hci_conn_drop(conn); @@ -4569,8 +4590,8 @@ * available, then do not declare that OOB data is * present. */ - if (!memcmp(data->rand256, ZERO_KEY, 16) || - !memcmp(data->hash256, ZERO_KEY, 16)) + if (!crypto_memneq(data->rand256, ZERO_KEY, 16) || + !crypto_memneq(data->hash256, ZERO_KEY, 16)) return 0x00; return 0x02; @@ -4580,8 +4601,8 @@ * not supported by the hardware, then check that if * P-192 data values are present. */ - if (!memcmp(data->rand192, ZERO_KEY, 16) || - !memcmp(data->hash192, ZERO_KEY, 16)) + if (!crypto_memneq(data->rand192, ZERO_KEY, 16) || + !crypto_memneq(data->hash192, ZERO_KEY, 16)) return 0x00; return 0x01; @@ -4597,7 +4618,7 @@ hci_dev_lock(hdev); conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr); - if (!conn) + if (!conn || !hci_conn_ssp_enabled(conn)) goto unlock; hci_conn_hold(conn); @@ -4842,7 +4863,7 @@ hci_dev_lock(hdev); conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr); - if (!conn) + if (!conn || !hci_conn_ssp_enabled(conn)) goto unlock; /* Reset the authentication requirement to unknown */ diff -Nru linux-5.10.197/net/bluetooth/hci_sock.c linux-5.10.205/net/bluetooth/hci_sock.c --- linux-5.10.197/net/bluetooth/hci_sock.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/bluetooth/hci_sock.c 2023-12-20 14:44:42.000000000 +0000 @@ -438,7 +438,8 @@ ni->type = hdev->dev_type; ni->bus = hdev->bus; bacpy(&ni->bdaddr, &hdev->bdaddr); - memcpy(ni->name, hdev->name, 8); + memcpy_and_pad(ni->name, sizeof(ni->name), hdev->name, + strnlen(hdev->name, sizeof(ni->name)), '\0'); opcode = cpu_to_le16(HCI_MON_NEW_INDEX); break; diff -Nru linux-5.10.197/net/bluetooth/hci_sysfs.c linux-5.10.205/net/bluetooth/hci_sysfs.c --- linux-5.10.197/net/bluetooth/hci_sysfs.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/bluetooth/hci_sysfs.c 2023-12-20 14:44:42.000000000 +0000 @@ -33,7 +33,7 @@ { struct hci_dev *hdev = conn->hdev; - BT_DBG("conn %p", conn); + bt_dev_dbg(hdev, "conn %p", conn); conn->dev.type = &bt_link; conn->dev.class = bt_class; @@ -46,27 +46,30 @@ { struct hci_dev *hdev = conn->hdev; - BT_DBG("conn %p", conn); + bt_dev_dbg(hdev, "conn %p", conn); if (device_is_registered(&conn->dev)) return; dev_set_name(&conn->dev, "%s:%d", hdev->name, conn->handle); - if (device_add(&conn->dev) < 0) { + if (device_add(&conn->dev) < 0) bt_dev_err(hdev, "failed to register connection device"); - return; - } - - hci_dev_hold(hdev); } void hci_conn_del_sysfs(struct hci_conn *conn) { struct hci_dev *hdev = conn->hdev; - if (!device_is_registered(&conn->dev)) + bt_dev_dbg(hdev, "conn %p", conn); + + if (!device_is_registered(&conn->dev)) { + /* If device_add() has *not* succeeded, use *only* put_device() + * to drop the reference count. + */ + put_device(&conn->dev); return; + } while (1) { struct device *dev; @@ -78,9 +81,7 @@ put_device(dev); } - device_del(&conn->dev); - - hci_dev_put(hdev); + device_unregister(&conn->dev); } static void bt_host_release(struct device *dev) diff -Nru linux-5.10.197/net/bridge/br_forward.c linux-5.10.205/net/bridge/br_forward.c --- linux-5.10.197/net/bridge/br_forward.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/bridge/br_forward.c 2023-12-20 14:44:42.000000000 +0000 @@ -118,7 +118,7 @@ skb = skb_clone(skb, GFP_ATOMIC); if (!skb) { - dev->stats.tx_dropped++; + DEV_STATS_INC(dev, tx_dropped); return -ENOMEM; } @@ -255,7 +255,7 @@ skb = skb_copy(skb, GFP_ATOMIC); if (!skb) { - dev->stats.tx_dropped++; + DEV_STATS_INC(dev, tx_dropped); return; } diff -Nru linux-5.10.197/net/bridge/br_input.c linux-5.10.205/net/bridge/br_input.c --- linux-5.10.197/net/bridge/br_input.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/bridge/br_input.c 2023-12-20 14:44:42.000000000 +0000 @@ -145,12 +145,12 @@ if ((mdst && mdst->host_joined) || br_multicast_is_router(br)) { local_rcv = true; - br->dev->stats.multicast++; + DEV_STATS_INC(br->dev, multicast); } mcast_hit = true; } else { local_rcv = true; - br->dev->stats.multicast++; + DEV_STATS_INC(br->dev, multicast); } break; case BR_PKT_UNICAST: diff -Nru linux-5.10.197/net/bridge/netfilter/nf_conntrack_bridge.c linux-5.10.205/net/bridge/netfilter/nf_conntrack_bridge.c --- linux-5.10.197/net/bridge/netfilter/nf_conntrack_bridge.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/bridge/netfilter/nf_conntrack_bridge.c 2023-12-20 14:44:42.000000000 +0000 @@ -36,7 +36,7 @@ ktime_t tstamp = skb->tstamp; struct ip_frag_state state; struct iphdr *iph; - int err; + int err = 0; /* for offloaded checksums cleanup checksum before fragmentation */ if (skb->ip_summed == CHECKSUM_PARTIAL && diff -Nru linux-5.10.197/net/can/isotp.c linux-5.10.205/net/can/isotp.c --- linux-5.10.197/net/can/isotp.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/can/isotp.c 2023-12-20 14:44:42.000000000 +0000 @@ -14,7 +14,6 @@ * - use CAN_ISOTP_WAIT_TX_DONE flag to block the caller until the PDU is sent * - as we have static buffers the check whether the PDU fits into the buffer * is done at FF reception time (no support for sending 'wait frames') - * - take care of the tx-queue-len as traffic shaping is still on the TODO list * * Copyright (c) 2020 Volkswagen Group Electronic Research * All rights reserved. @@ -87,9 +86,9 @@ /* ISO 15765-2:2016 supports more than 4095 byte per ISO PDU as the FF_DL can * take full 32 bit values (4 Gbyte). We would need some good concept to handle * this between user space and kernel space. For now increase the static buffer - * to something about 8 kbyte to be able to test this new functionality. + * to something about 64 kbyte to be able to test this new functionality. */ -#define MAX_MSG_LENGTH 8200 +#define MAX_MSG_LENGTH 66000 /* N_PCI type values in bits 7-4 of N_PCI bytes */ #define N_PCI_SF 0x00 /* single frame */ @@ -105,18 +104,23 @@ #define FC_CONTENT_SZ 3 /* flow control content size in byte (FS/BS/STmin) */ #define ISOTP_CHECK_PADDING (CAN_ISOTP_CHK_PAD_LEN | CAN_ISOTP_CHK_PAD_DATA) +#define ISOTP_ALL_BC_FLAGS (CAN_ISOTP_SF_BROADCAST | CAN_ISOTP_CF_BROADCAST) /* Flow Status given in FC frame */ #define ISOTP_FC_CTS 0 /* clear to send */ #define ISOTP_FC_WT 1 /* wait */ #define ISOTP_FC_OVFLW 2 /* overflow */ +#define ISOTP_FC_TIMEOUT 1 /* 1 sec */ +#define ISOTP_ECHO_TIMEOUT 2 /* 2 secs */ + enum { ISOTP_IDLE = 0, ISOTP_WAIT_FIRST_FC, ISOTP_WAIT_FC, ISOTP_WAIT_DATA, - ISOTP_SENDING + ISOTP_SENDING, + ISOTP_SHUTDOWN, }; struct tpcon { @@ -137,13 +141,14 @@ canid_t rxid; ktime_t tx_gap; ktime_t lastrxcf_tstamp; - struct hrtimer rxtimer, txtimer; + struct hrtimer rxtimer, txtimer, txfrtimer; struct can_isotp_options opt; struct can_isotp_fc_options rxfc, txfc; struct can_isotp_ll_options ll; u32 frame_txtime; u32 force_tx_stmin; u32 force_rx_stmin; + u32 cfecho; /* consecutive frame echo tag */ struct tpcon rx, tx; struct list_head notifier; wait_queue_head_t wait; @@ -159,6 +164,17 @@ return (struct isotp_sock *)sk; } +static u32 isotp_bc_flags(struct isotp_sock *so) +{ + return so->opt.flags & ISOTP_ALL_BC_FLAGS; +} + +static bool isotp_register_rxid(struct isotp_sock *so) +{ + /* no broadcast modes => register rx_id for FC frame reception */ + return (isotp_bc_flags(so) == 0); +} + static enum hrtimer_restart isotp_rx_timer_handler(struct hrtimer *hrtimer) { struct isotp_sock *so = container_of(hrtimer, struct isotp_sock, @@ -228,8 +244,8 @@ can_send_ret = can_send(nskb, 1); if (can_send_ret) - pr_notice_once("can-isotp: %s: can_send_ret %d\n", - __func__, can_send_ret); + pr_notice_once("can-isotp: %s: can_send_ret %pe\n", + __func__, ERR_PTR(can_send_ret)); dev_put(dev); @@ -240,7 +256,8 @@ so->lastrxcf_tstamp = ktime_set(0, 0); /* start rx timeout watchdog */ - hrtimer_start(&so->rxtimer, ktime_set(1, 0), HRTIMER_MODE_REL_SOFT); + hrtimer_start(&so->rxtimer, ktime_set(ISOTP_FC_TIMEOUT, 0), + HRTIMER_MODE_REL_SOFT); return 0; } @@ -326,6 +343,8 @@ return 0; } +static void isotp_send_cframe(struct isotp_sock *so); + static int isotp_rcv_fc(struct isotp_sock *so, struct canfd_frame *cf, int ae) { struct sock *sk = &so->sk; @@ -380,14 +399,15 @@ case ISOTP_FC_CTS: so->tx.bs = 0; so->tx.state = ISOTP_SENDING; - /* start cyclic timer for sending CF frame */ - hrtimer_start(&so->txtimer, so->tx_gap, + /* send CF frame and enable echo timeout handling */ + hrtimer_start(&so->txtimer, ktime_set(ISOTP_ECHO_TIMEOUT, 0), HRTIMER_MODE_REL_SOFT); + isotp_send_cframe(so); break; case ISOTP_FC_WT: /* start timer to wait for next FC frame */ - hrtimer_start(&so->txtimer, ktime_set(1, 0), + hrtimer_start(&so->txtimer, ktime_set(ISOTP_FC_TIMEOUT, 0), HRTIMER_MODE_REL_SOFT); break; @@ -582,7 +602,7 @@ /* perform blocksize handling, if enabled */ if (!so->rxfc.bs || ++so->rx.bs < so->rxfc.bs) { /* start rx timeout watchdog */ - hrtimer_start(&so->rxtimer, ktime_set(1, 0), + hrtimer_start(&so->rxtimer, ktime_set(ISOTP_FC_TIMEOUT, 0), HRTIMER_MODE_REL_SOFT); return 0; } @@ -713,6 +733,63 @@ cf->data[0] = so->opt.ext_address; } +static void isotp_send_cframe(struct isotp_sock *so) +{ + struct sock *sk = &so->sk; + struct sk_buff *skb; + struct net_device *dev; + struct canfd_frame *cf; + int can_send_ret; + int ae = (so->opt.flags & CAN_ISOTP_EXTEND_ADDR) ? 1 : 0; + + dev = dev_get_by_index(sock_net(sk), so->ifindex); + if (!dev) + return; + + skb = alloc_skb(so->ll.mtu + sizeof(struct can_skb_priv), GFP_ATOMIC); + if (!skb) { + dev_put(dev); + return; + } + + can_skb_reserve(skb); + can_skb_prv(skb)->ifindex = dev->ifindex; + can_skb_prv(skb)->skbcnt = 0; + + cf = (struct canfd_frame *)skb->data; + skb_put_zero(skb, so->ll.mtu); + + /* create consecutive frame */ + isotp_fill_dataframe(cf, so, ae, 0); + + /* place consecutive frame N_PCI in appropriate index */ + cf->data[ae] = N_PCI_CF | so->tx.sn++; + so->tx.sn %= 16; + so->tx.bs++; + + cf->flags = so->ll.tx_flags; + + skb->dev = dev; + can_skb_set_owner(skb, sk); + + /* cfecho should have been zero'ed by init/isotp_rcv_echo() */ + if (so->cfecho) + pr_notice_once("can-isotp: cfecho is %08X != 0\n", so->cfecho); + + /* set consecutive frame echo tag */ + so->cfecho = *(u32 *)cf->data; + + /* send frame with local echo enabled */ + can_send_ret = can_send(skb, 1); + if (can_send_ret) { + pr_notice_once("can-isotp: %s: can_send_ret %pe\n", + __func__, ERR_PTR(can_send_ret)); + if (can_send_ret == -ENOBUFS) + pr_notice_once("can-isotp: tx queue is full\n"); + } + dev_put(dev); +} + static void isotp_create_fframe(struct canfd_frame *cf, struct isotp_sock *so, int ae) { @@ -746,143 +823,120 @@ cf->data[i] = so->tx.buf[so->tx.idx++]; so->tx.sn = 1; - so->tx.state = ISOTP_WAIT_FIRST_FC; } -static enum hrtimer_restart isotp_tx_timer_handler(struct hrtimer *hrtimer) +static void isotp_rcv_echo(struct sk_buff *skb, void *data) { - struct isotp_sock *so = container_of(hrtimer, struct isotp_sock, - txtimer); - struct sock *sk = &so->sk; - struct sk_buff *skb; - struct net_device *dev; - struct canfd_frame *cf; - enum hrtimer_restart restart = HRTIMER_NORESTART; - int can_send_ret; - int ae = (so->opt.flags & CAN_ISOTP_EXTEND_ADDR) ? 1 : 0; + struct sock *sk = (struct sock *)data; + struct isotp_sock *so = isotp_sk(sk); + struct canfd_frame *cf = (struct canfd_frame *)skb->data; - switch (so->tx.state) { - case ISOTP_WAIT_FC: - case ISOTP_WAIT_FIRST_FC: + /* only handle my own local echo CF/SF skb's (no FF!) */ + if (skb->sk != sk || so->cfecho != *(u32 *)cf->data) + return; - /* we did not get any flow control frame in time */ + /* cancel local echo timeout */ + hrtimer_cancel(&so->txtimer); - /* report 'communication error on send' */ - sk->sk_err = ECOMM; - if (!sock_flag(sk, SOCK_DEAD)) - sk->sk_error_report(sk); + /* local echo skb with consecutive frame has been consumed */ + so->cfecho = 0; - /* reset tx state */ + if (so->tx.idx >= so->tx.len) { + /* we are done */ so->tx.state = ISOTP_IDLE; wake_up_interruptible(&so->wait); - break; + return; + } - case ISOTP_SENDING: + if (so->txfc.bs && so->tx.bs >= so->txfc.bs) { + /* stop and wait for FC with timeout */ + so->tx.state = ISOTP_WAIT_FC; + hrtimer_start(&so->txtimer, ktime_set(ISOTP_FC_TIMEOUT, 0), + HRTIMER_MODE_REL_SOFT); + return; + } - /* push out the next segmented pdu */ - dev = dev_get_by_index(sock_net(sk), so->ifindex); - if (!dev) - break; + /* no gap between data frames needed => use burst mode */ + if (!so->tx_gap) { + /* enable echo timeout handling */ + hrtimer_start(&so->txtimer, ktime_set(ISOTP_ECHO_TIMEOUT, 0), + HRTIMER_MODE_REL_SOFT); + isotp_send_cframe(so); + return; + } -isotp_tx_burst: - skb = alloc_skb(so->ll.mtu + sizeof(struct can_skb_priv), - GFP_ATOMIC); - if (!skb) { - dev_put(dev); - break; - } + /* start timer to send next consecutive frame with correct delay */ + hrtimer_start(&so->txfrtimer, so->tx_gap, HRTIMER_MODE_REL_SOFT); +} - can_skb_reserve(skb); - can_skb_prv(skb)->ifindex = dev->ifindex; - can_skb_prv(skb)->skbcnt = 0; - - cf = (struct canfd_frame *)skb->data; - skb_put_zero(skb, so->ll.mtu); - - /* create consecutive frame */ - isotp_fill_dataframe(cf, so, ae, 0); - - /* place consecutive frame N_PCI in appropriate index */ - cf->data[ae] = N_PCI_CF | so->tx.sn++; - so->tx.sn %= 16; - so->tx.bs++; - - cf->flags = so->ll.tx_flags; - - skb->dev = dev; - can_skb_set_owner(skb, sk); - - can_send_ret = can_send(skb, 1); - if (can_send_ret) - pr_notice_once("can-isotp: %s: can_send_ret %d\n", - __func__, can_send_ret); - - if (so->tx.idx >= so->tx.len) { - /* we are done */ - so->tx.state = ISOTP_IDLE; - dev_put(dev); - wake_up_interruptible(&so->wait); - break; - } +static enum hrtimer_restart isotp_tx_timer_handler(struct hrtimer *hrtimer) +{ + struct isotp_sock *so = container_of(hrtimer, struct isotp_sock, + txtimer); + struct sock *sk = &so->sk; - if (so->txfc.bs && so->tx.bs >= so->txfc.bs) { - /* stop and wait for FC */ - so->tx.state = ISOTP_WAIT_FC; - dev_put(dev); - hrtimer_set_expires(&so->txtimer, - ktime_add(ktime_get(), - ktime_set(1, 0))); - restart = HRTIMER_RESTART; - break; - } + /* don't handle timeouts in IDLE or SHUTDOWN state */ + if (so->tx.state == ISOTP_IDLE || so->tx.state == ISOTP_SHUTDOWN) + return HRTIMER_NORESTART; + + /* we did not get any flow control or echo frame in time */ + + /* report 'communication error on send' */ + sk->sk_err = ECOMM; + if (!sock_flag(sk, SOCK_DEAD)) + sk->sk_error_report(sk); - /* no gap between data frames needed => use burst mode */ - if (!so->tx_gap) - goto isotp_tx_burst; + /* reset tx state */ + so->tx.state = ISOTP_IDLE; + wake_up_interruptible(&so->wait); - /* start timer to send next data frame with correct delay */ - dev_put(dev); - hrtimer_set_expires(&so->txtimer, - ktime_add(ktime_get(), so->tx_gap)); - restart = HRTIMER_RESTART; - break; + return HRTIMER_NORESTART; +} - default: - WARN_ON_ONCE(1); - } +static enum hrtimer_restart isotp_txfr_timer_handler(struct hrtimer *hrtimer) +{ + struct isotp_sock *so = container_of(hrtimer, struct isotp_sock, + txfrtimer); + + /* start echo timeout handling and cover below protocol error */ + hrtimer_start(&so->txtimer, ktime_set(ISOTP_ECHO_TIMEOUT, 0), + HRTIMER_MODE_REL_SOFT); + + /* cfecho should be consumed by isotp_rcv_echo() here */ + if (so->tx.state == ISOTP_SENDING && !so->cfecho) + isotp_send_cframe(so); - return restart; + return HRTIMER_NORESTART; } static int isotp_sendmsg(struct socket *sock, struct msghdr *msg, size_t size) { struct sock *sk = sock->sk; struct isotp_sock *so = isotp_sk(sk); - u32 old_state = so->tx.state; struct sk_buff *skb; struct net_device *dev; struct canfd_frame *cf; int ae = (so->opt.flags & CAN_ISOTP_EXTEND_ADDR) ? 1 : 0; int wait_tx_done = (so->opt.flags & CAN_ISOTP_WAIT_TX_DONE) ? 1 : 0; - s64 hrtimer_sec = 0; + s64 hrtimer_sec = ISOTP_ECHO_TIMEOUT; int off; int err; - if (!so->bound) + if (!so->bound || so->tx.state == ISOTP_SHUTDOWN) return -EADDRNOTAVAIL; - /* we do not support multiple buffers - for now */ - if (cmpxchg(&so->tx.state, ISOTP_IDLE, ISOTP_SENDING) != ISOTP_IDLE || - wq_has_sleeper(&so->wait)) { - if (msg->msg_flags & MSG_DONTWAIT) { - err = -EAGAIN; - goto err_out; - } + while (cmpxchg(&so->tx.state, ISOTP_IDLE, ISOTP_SENDING) != ISOTP_IDLE) { + /* we do not support multiple buffers - for now */ + if (msg->msg_flags & MSG_DONTWAIT) + return -EAGAIN; + + if (so->tx.state == ISOTP_SHUTDOWN) + return -EADDRNOTAVAIL; /* wait for complete transmission of current pdu */ err = wait_event_interruptible(so->wait, so->tx.state == ISOTP_IDLE); if (err) - goto err_out; + goto err_event_drop; } if (!size || size > MAX_MSG_LENGTH) { @@ -894,7 +948,7 @@ off = (so->tx.ll_dl > CAN_MAX_DLEN) ? 1 : 0; /* does the given data fit into a single frame for SF_BROADCAST? */ - if ((so->opt.flags & CAN_ISOTP_SF_BROADCAST) && + if ((isotp_bc_flags(so) == CAN_ISOTP_SF_BROADCAST) && (size > so->tx.ll_dl - SF_PCI_SZ4 - ae - off)) { err = -EINVAL; goto err_out_drop; @@ -927,6 +981,10 @@ cf = (struct canfd_frame *)skb->data; skb_put_zero(skb, so->ll.mtu); + /* cfecho should have been zero'ed by init / former isotp_rcv_echo() */ + if (so->cfecho) + pr_notice_once("can-isotp: uninit cfecho %08X\n", so->cfecho); + /* check for single frame transmission depending on TX_DL */ if (size <= so->tx.ll_dl - SF_PCI_SZ4 - ae - off) { /* The message size generally fits into a SingleFrame - good. @@ -952,22 +1010,40 @@ else cf->data[ae] |= size; - so->tx.state = ISOTP_IDLE; - wake_up_interruptible(&so->wait); - - /* don't enable wait queue for a single frame transmission */ - wait_tx_done = 0; + /* set CF echo tag for isotp_rcv_echo() (SF-mode) */ + so->cfecho = *(u32 *)cf->data; } else { - /* send first frame and wait for FC */ + /* send first frame */ isotp_create_fframe(cf, so, ae); - /* start timeout for FC */ - hrtimer_sec = 1; - hrtimer_start(&so->txtimer, ktime_set(hrtimer_sec, 0), - HRTIMER_MODE_REL_SOFT); + if (isotp_bc_flags(so) == CAN_ISOTP_CF_BROADCAST) { + /* set timer for FC-less operation (STmin = 0) */ + if (so->opt.flags & CAN_ISOTP_FORCE_TXSTMIN) + so->tx_gap = ktime_set(0, so->force_tx_stmin); + else + so->tx_gap = ktime_set(0, so->frame_txtime); + + /* disable wait for FCs due to activated block size */ + so->txfc.bs = 0; + + /* set CF echo tag for isotp_rcv_echo() (CF-mode) */ + so->cfecho = *(u32 *)cf->data; + } else { + /* standard flow control check */ + so->tx.state = ISOTP_WAIT_FIRST_FC; + + /* start timeout for FC */ + hrtimer_sec = ISOTP_FC_TIMEOUT; + + /* no CF echo tag for isotp_rcv_echo() (FF-mode) */ + so->cfecho = 0; + } } + hrtimer_start(&so->txtimer, ktime_set(hrtimer_sec, 0), + HRTIMER_MODE_REL_SOFT); + /* send the first or only CAN frame */ cf->flags = so->ll.tx_flags; @@ -976,19 +1052,23 @@ err = can_send(skb, 1); dev_put(dev); if (err) { - pr_notice_once("can-isotp: %s: can_send_ret %d\n", - __func__, err); + pr_notice_once("can-isotp: %s: can_send_ret %pe\n", + __func__, ERR_PTR(err)); /* no transmission -> no timeout monitoring */ - if (hrtimer_sec) - hrtimer_cancel(&so->txtimer); + hrtimer_cancel(&so->txtimer); + + /* reset consecutive frame echo tag */ + so->cfecho = 0; goto err_out_drop; } if (wait_tx_done) { /* wait for complete transmission of current pdu */ - wait_event_interruptible(so->wait, so->tx.state == ISOTP_IDLE); + err = wait_event_interruptible(so->wait, so->tx.state == ISOTP_IDLE); + if (err) + goto err_event_drop; err = sock_error(sk); if (err) @@ -997,13 +1077,15 @@ return size; +err_event_drop: + /* got signal: force tx state machine to be idle */ + so->tx.state = ISOTP_IDLE; + hrtimer_cancel(&so->txfrtimer); + hrtimer_cancel(&so->txtimer); err_out_drop: /* drop this PDU and unlock a potential wait queue */ - old_state = ISOTP_IDLE; -err_out: - so->tx.state = old_state; - if (so->tx.state == ISOTP_IDLE) - wake_up_interruptible(&so->wait); + so->tx.state = ISOTP_IDLE; + wake_up_interruptible(&so->wait); return err; } @@ -1067,7 +1149,13 @@ net = sock_net(sk); /* wait for complete transmission of current pdu */ - wait_event_interruptible(so->wait, so->tx.state == ISOTP_IDLE); + while (wait_event_interruptible(so->wait, so->tx.state == ISOTP_IDLE) == 0 && + cmpxchg(&so->tx.state, ISOTP_IDLE, ISOTP_SHUTDOWN) != ISOTP_IDLE) + ; + + /* force state machines to be idle also when a signal occurred */ + so->tx.state = ISOTP_SHUTDOWN; + so->rx.state = ISOTP_IDLE; spin_lock(&isotp_notifier_lock); while (isotp_busy_notifier == so) { @@ -1081,21 +1169,27 @@ lock_sock(sk); /* remove current filters & unregister */ - if (so->bound && (!(so->opt.flags & CAN_ISOTP_SF_BROADCAST))) { + if (so->bound) { if (so->ifindex) { struct net_device *dev; dev = dev_get_by_index(net, so->ifindex); if (dev) { - can_rx_unregister(net, dev, so->rxid, - SINGLE_MASK(so->rxid), - isotp_rcv, sk); + if (isotp_register_rxid(so)) + can_rx_unregister(net, dev, so->rxid, + SINGLE_MASK(so->rxid), + isotp_rcv, sk); + + can_rx_unregister(net, dev, so->txid, + SINGLE_MASK(so->txid), + isotp_rcv_echo, sk); dev_put(dev); synchronize_rcu(); } } } + hrtimer_cancel(&so->txfrtimer); hrtimer_cancel(&so->txtimer); hrtimer_cancel(&so->rxtimer); @@ -1119,26 +1213,38 @@ struct net *net = sock_net(sk); int ifindex; struct net_device *dev; - canid_t tx_id, rx_id; + canid_t tx_id = addr->can_addr.tp.tx_id; + canid_t rx_id = addr->can_addr.tp.rx_id; int err = 0; int notify_enetdown = 0; - int do_rx_reg = 1; if (len < ISOTP_MIN_NAMELEN) return -EINVAL; - /* sanitize tx/rx CAN identifiers */ - tx_id = addr->can_addr.tp.tx_id; + if (addr->can_family != AF_CAN) + return -EINVAL; + + /* sanitize tx CAN identifier */ if (tx_id & CAN_EFF_FLAG) tx_id &= (CAN_EFF_FLAG | CAN_EFF_MASK); else tx_id &= CAN_SFF_MASK; - rx_id = addr->can_addr.tp.rx_id; - if (rx_id & CAN_EFF_FLAG) - rx_id &= (CAN_EFF_FLAG | CAN_EFF_MASK); - else - rx_id &= CAN_SFF_MASK; + /* give feedback on wrong CAN-ID value */ + if (tx_id != addr->can_addr.tp.tx_id) + return -EINVAL; + + /* sanitize rx CAN identifier (if needed) */ + if (isotp_register_rxid(so)) { + if (rx_id & CAN_EFF_FLAG) + rx_id &= (CAN_EFF_FLAG | CAN_EFF_MASK); + else + rx_id &= CAN_SFF_MASK; + + /* give feedback on wrong CAN-ID value */ + if (rx_id != addr->can_addr.tp.rx_id) + return -EINVAL; + } if (!addr->can_ifindex) return -ENODEV; @@ -1150,12 +1256,8 @@ goto out; } - /* do not register frame reception for functional addressing */ - if (so->opt.flags & CAN_ISOTP_SF_BROADCAST) - do_rx_reg = 0; - - /* do not validate rx address for functional addressing */ - if (do_rx_reg && rx_id == tx_id) { + /* ensure different CAN IDs when the rx_id is to be registered */ + if (isotp_register_rxid(so) && rx_id == tx_id) { err = -EADDRNOTAVAIL; goto out; } @@ -1180,10 +1282,17 @@ ifindex = dev->ifindex; - if (do_rx_reg) + if (isotp_register_rxid(so)) can_rx_register(net, dev, rx_id, SINGLE_MASK(rx_id), isotp_rcv, sk, "isotp", sk); + /* no consecutive frame echo skb in flight */ + so->cfecho = 0; + + /* register for echo skb's */ + can_rx_register(net, dev, tx_id, SINGLE_MASK(tx_id), + isotp_rcv_echo, sk, "isotpe", sk); + dev_put(dev); /* switch to new settings */ @@ -1244,6 +1353,15 @@ if (!(so->opt.flags & CAN_ISOTP_RX_EXT_ADDR)) so->opt.rx_ext_address = so->opt.ext_address; + /* these broadcast flags are not allowed together */ + if (isotp_bc_flags(so) == ISOTP_ALL_BC_FLAGS) { + /* CAN_ISOTP_SF_BROADCAST is prioritized */ + so->opt.flags &= ~CAN_ISOTP_CF_BROADCAST; + + /* give user feedback on wrong config attempt */ + ret = -EINVAL; + } + /* check for frame_txtime changes (0 => no changes) */ if (so->opt.frame_txtime) { if (so->opt.frame_txtime == CAN_ISOTP_FRAME_TXTIME_ZERO) @@ -1394,10 +1512,16 @@ case NETDEV_UNREGISTER: lock_sock(sk); /* remove current filters & unregister */ - if (so->bound && (!(so->opt.flags & CAN_ISOTP_SF_BROADCAST))) - can_rx_unregister(dev_net(dev), dev, so->rxid, - SINGLE_MASK(so->rxid), - isotp_rcv, sk); + if (so->bound) { + if (isotp_register_rxid(so)) + can_rx_unregister(dev_net(dev), dev, so->rxid, + SINGLE_MASK(so->rxid), + isotp_rcv, sk); + + can_rx_unregister(dev_net(dev), dev, so->txid, + SINGLE_MASK(so->txid), + isotp_rcv_echo, sk); + } so->ifindex = 0; so->bound = 0; @@ -1470,6 +1594,8 @@ so->rxtimer.function = isotp_rx_timer_handler; hrtimer_init(&so->txtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_SOFT); so->txtimer.function = isotp_tx_timer_handler; + hrtimer_init(&so->txfrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_SOFT); + so->txfrtimer.function = isotp_txfr_timer_handler; init_waitqueue_head(&so->wait); spin_lock_init(&so->rx_lock); @@ -1550,7 +1676,7 @@ err = can_proto_register(&isotp_can_proto); if (err < 0) - pr_err("can: registration of isotp protocol failed\n"); + pr_err("can: registration of isotp protocol failed %pe\n", ERR_PTR(err)); else register_netdevice_notifier(&canisotp_notifier); diff -Nru linux-5.10.197/net/ceph/messenger.c linux-5.10.205/net/ceph/messenger.c --- linux-5.10.197/net/ceph/messenger.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ceph/messenger.c 2023-12-20 14:44:42.000000000 +0000 @@ -477,8 +477,8 @@ dout("connect %s\n", ceph_pr_addr(&con->peer_addr)); con_sock_state_connecting(con); - ret = sock->ops->connect(sock, (struct sockaddr *)&ss, sizeof(ss), - O_NONBLOCK); + ret = kernel_connect(sock, (struct sockaddr *)&ss, sizeof(ss), + O_NONBLOCK); if (ret == -EINPROGRESS) { dout("connect %s EINPROGRESS sk_state = %u\n", ceph_pr_addr(&con->peer_addr), diff -Nru linux-5.10.197/net/core/drop_monitor.c linux-5.10.205/net/core/drop_monitor.c --- linux-5.10.197/net/core/drop_monitor.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/core/drop_monitor.c 2023-12-20 14:44:42.000000000 +0000 @@ -183,7 +183,7 @@ } static const struct genl_multicast_group dropmon_mcgrps[] = { - { .name = "events", }, + { .name = "events", .cap_sys_admin = 1 }, }; static void send_dm_alert(struct work_struct *work) @@ -1616,11 +1616,13 @@ .cmd = NET_DM_CMD_START, .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, .doit = net_dm_cmd_trace, + .flags = GENL_ADMIN_PERM, }, { .cmd = NET_DM_CMD_STOP, .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, .doit = net_dm_cmd_trace, + .flags = GENL_ADMIN_PERM, }, { .cmd = NET_DM_CMD_CONFIG_GET, diff -Nru linux-5.10.197/net/core/filter.c linux-5.10.205/net/core/filter.c --- linux-5.10.197/net/core/filter.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/core/filter.c 2023-12-20 14:44:42.000000000 +0000 @@ -2595,6 +2595,22 @@ return 0; } +static void sk_msg_reset_curr(struct sk_msg *msg) +{ + u32 i = msg->sg.start; + u32 len = 0; + + do { + len += sk_msg_elem(msg, i)->length; + sk_msg_iter_var_next(i); + if (len >= msg->sg.size) + break; + } while (i != msg->sg.end); + + msg->sg.curr = i; + msg->sg.copybreak = 0; +} + static const struct bpf_func_proto bpf_msg_cork_bytes_proto = { .func = bpf_msg_cork_bytes, .gpl_only = false, @@ -2714,6 +2730,7 @@ msg->sg.end - shift + NR_MSG_FRAG_IDS : msg->sg.end - shift; out: + sk_msg_reset_curr(msg); msg->data = sg_virt(&msg->sg.data[first_sge]) + start - offset; msg->data_end = msg->data + bytes; return 0; @@ -2850,6 +2867,7 @@ msg->sg.data[new] = rsge; } + sk_msg_reset_curr(msg); sk_msg_compute_data_pointers(msg); return 0; } @@ -3018,6 +3036,7 @@ sk_mem_uncharge(msg->sk, len - pop); msg->sg.size -= (len - pop); + sk_msg_reset_curr(msg); sk_msg_compute_data_pointers(msg); return 0; } diff -Nru linux-5.10.197/net/core/neighbour.c linux-5.10.205/net/core/neighbour.c --- linux-5.10.197/net/core/neighbour.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/core/neighbour.c 2023-12-20 14:44:42.000000000 +0000 @@ -224,7 +224,8 @@ static int neigh_forced_gc(struct neigh_table *tbl) { - int max_clean = atomic_read(&tbl->gc_entries) - tbl->gc_thresh2; + int max_clean = atomic_read(&tbl->gc_entries) - + READ_ONCE(tbl->gc_thresh2); unsigned long tref = jiffies - 5 * HZ; struct neighbour *n, *tmp; int shrunk = 0; @@ -253,7 +254,7 @@ } } - tbl->last_flush = jiffies; + WRITE_ONCE(tbl->last_flush, jiffies); write_unlock_bh(&tbl->lock); @@ -409,17 +410,17 @@ { struct neighbour *n = NULL; unsigned long now = jiffies; - int entries; + int entries, gc_thresh3; if (exempt_from_gc) goto do_alloc; entries = atomic_inc_return(&tbl->gc_entries) - 1; - if (entries >= tbl->gc_thresh3 || - (entries >= tbl->gc_thresh2 && - time_after(now, tbl->last_flush + 5 * HZ))) { - if (!neigh_forced_gc(tbl) && - entries >= tbl->gc_thresh3) { + gc_thresh3 = READ_ONCE(tbl->gc_thresh3); + if (entries >= gc_thresh3 || + (entries >= READ_ONCE(tbl->gc_thresh2) && + time_after(now, READ_ONCE(tbl->last_flush) + 5 * HZ))) { + if (!neigh_forced_gc(tbl) && entries >= gc_thresh3) { net_info_ratelimited("%s: neighbor table overflow!\n", tbl->id); NEIGH_CACHE_STAT_INC(tbl, table_fulls); @@ -902,13 +903,14 @@ if (time_after(jiffies, tbl->last_rand + 300 * HZ)) { struct neigh_parms *p; - tbl->last_rand = jiffies; + + WRITE_ONCE(tbl->last_rand, jiffies); list_for_each_entry(p, &tbl->parms_list, list) p->reachable_time = neigh_rand_reach_time(NEIGH_VAR(p, BASE_REACHABLE_TIME)); } - if (atomic_read(&tbl->entries) < tbl->gc_thresh1) + if (atomic_read(&tbl->entries) < READ_ONCE(tbl->gc_thresh1)) goto out; for (i = 0 ; i < (1 << nht->hash_shift); i++) { @@ -935,7 +937,9 @@ (state == NUD_FAILED || !time_in_range_open(jiffies, n->used, n->used + NEIGH_VAR(n->parms, GC_STALETIME)))) { - *np = n->next; + rcu_assign_pointer(*np, + rcu_dereference_protected(n->next, + lockdep_is_held(&tbl->lock))); neigh_mark_dead(n); write_unlock(&n->lock); neigh_cleanup_and_release(n); @@ -2053,15 +2057,16 @@ ndtmsg->ndtm_pad2 = 0; if (nla_put_string(skb, NDTA_NAME, tbl->id) || - nla_put_msecs(skb, NDTA_GC_INTERVAL, tbl->gc_interval, NDTA_PAD) || - nla_put_u32(skb, NDTA_THRESH1, tbl->gc_thresh1) || - nla_put_u32(skb, NDTA_THRESH2, tbl->gc_thresh2) || - nla_put_u32(skb, NDTA_THRESH3, tbl->gc_thresh3)) + nla_put_msecs(skb, NDTA_GC_INTERVAL, READ_ONCE(tbl->gc_interval), + NDTA_PAD) || + nla_put_u32(skb, NDTA_THRESH1, READ_ONCE(tbl->gc_thresh1)) || + nla_put_u32(skb, NDTA_THRESH2, READ_ONCE(tbl->gc_thresh2)) || + nla_put_u32(skb, NDTA_THRESH3, READ_ONCE(tbl->gc_thresh3))) goto nla_put_failure; { unsigned long now = jiffies; - long flush_delta = now - tbl->last_flush; - long rand_delta = now - tbl->last_rand; + long flush_delta = now - READ_ONCE(tbl->last_flush); + long rand_delta = now - READ_ONCE(tbl->last_rand); struct neigh_hash_table *nht; struct ndt_config ndc = { .ndtc_key_len = tbl->key_len, @@ -2069,7 +2074,7 @@ .ndtc_entries = atomic_read(&tbl->entries), .ndtc_last_flush = jiffies_to_msecs(flush_delta), .ndtc_last_rand = jiffies_to_msecs(rand_delta), - .ndtc_proxy_qlen = tbl->proxy_queue.qlen, + .ndtc_proxy_qlen = READ_ONCE(tbl->proxy_queue.qlen), }; rcu_read_lock_bh(); @@ -2092,17 +2097,17 @@ struct neigh_statistics *st; st = per_cpu_ptr(tbl->stats, cpu); - ndst.ndts_allocs += st->allocs; - ndst.ndts_destroys += st->destroys; - ndst.ndts_hash_grows += st->hash_grows; - ndst.ndts_res_failed += st->res_failed; - ndst.ndts_lookups += st->lookups; - ndst.ndts_hits += st->hits; - ndst.ndts_rcv_probes_mcast += st->rcv_probes_mcast; - ndst.ndts_rcv_probes_ucast += st->rcv_probes_ucast; - ndst.ndts_periodic_gc_runs += st->periodic_gc_runs; - ndst.ndts_forced_gc_runs += st->forced_gc_runs; - ndst.ndts_table_fulls += st->table_fulls; + ndst.ndts_allocs += READ_ONCE(st->allocs); + ndst.ndts_destroys += READ_ONCE(st->destroys); + ndst.ndts_hash_grows += READ_ONCE(st->hash_grows); + ndst.ndts_res_failed += READ_ONCE(st->res_failed); + ndst.ndts_lookups += READ_ONCE(st->lookups); + ndst.ndts_hits += READ_ONCE(st->hits); + ndst.ndts_rcv_probes_mcast += READ_ONCE(st->rcv_probes_mcast); + ndst.ndts_rcv_probes_ucast += READ_ONCE(st->rcv_probes_ucast); + ndst.ndts_periodic_gc_runs += READ_ONCE(st->periodic_gc_runs); + ndst.ndts_forced_gc_runs += READ_ONCE(st->forced_gc_runs); + ndst.ndts_table_fulls += READ_ONCE(st->table_fulls); } if (nla_put_64bit(skb, NDTA_STATS, sizeof(ndst), &ndst, @@ -2326,16 +2331,16 @@ goto errout_tbl_lock; if (tb[NDTA_THRESH1]) - tbl->gc_thresh1 = nla_get_u32(tb[NDTA_THRESH1]); + WRITE_ONCE(tbl->gc_thresh1, nla_get_u32(tb[NDTA_THRESH1])); if (tb[NDTA_THRESH2]) - tbl->gc_thresh2 = nla_get_u32(tb[NDTA_THRESH2]); + WRITE_ONCE(tbl->gc_thresh2, nla_get_u32(tb[NDTA_THRESH2])); if (tb[NDTA_THRESH3]) - tbl->gc_thresh3 = nla_get_u32(tb[NDTA_THRESH3]); + WRITE_ONCE(tbl->gc_thresh3, nla_get_u32(tb[NDTA_THRESH3])); if (tb[NDTA_GC_INTERVAL]) - tbl->gc_interval = nla_get_msecs(tb[NDTA_GC_INTERVAL]); + WRITE_ONCE(tbl->gc_interval, nla_get_msecs(tb[NDTA_GC_INTERVAL])); err = 0; diff -Nru linux-5.10.197/net/core/pktgen.c linux-5.10.205/net/core/pktgen.c --- linux-5.10.197/net/core/pktgen.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/core/pktgen.c 2023-12-20 14:44:42.000000000 +0000 @@ -645,19 +645,19 @@ seq_puts(seq, " Flags: "); for (i = 0; i < NR_PKT_FLAGS; i++) { - if (i == F_FLOW_SEQ) + if (i == FLOW_SEQ_SHIFT) if (!pkt_dev->cflows) continue; - if (pkt_dev->flags & (1 << i)) + if (pkt_dev->flags & (1 << i)) { seq_printf(seq, "%s ", pkt_flag_names[i]); - else if (i == F_FLOW_SEQ) - seq_puts(seq, "FLOW_RND "); - #ifdef CONFIG_XFRM - if (i == F_IPSEC && pkt_dev->spi) - seq_printf(seq, "spi:%u", pkt_dev->spi); + if (i == IPSEC_SHIFT && pkt_dev->spi) + seq_printf(seq, "spi:%u ", pkt_dev->spi); #endif + } else if (i == FLOW_SEQ_SHIFT) { + seq_puts(seq, "FLOW_RND "); + } } seq_puts(seq, "\n"); diff -Nru linux-5.10.197/net/core/scm.c linux-5.10.205/net/core/scm.c --- linux-5.10.197/net/core/scm.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/core/scm.c 2023-12-20 14:44:42.000000000 +0000 @@ -26,6 +26,7 @@ #include #include #include +#include #include @@ -103,6 +104,11 @@ if (fd < 0 || !(file = fget_raw(fd))) return -EBADF; + /* don't allow io_uring files */ + if (io_uring_get_socket(file)) { + fput(file); + return -EINVAL; + } *fpp++ = file; fpl->count++; } diff -Nru linux-5.10.197/net/core/sock.c linux-5.10.205/net/core/sock.c --- linux-5.10.197/net/core/sock.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/core/sock.c 2023-12-20 14:44:42.000000000 +0000 @@ -532,7 +532,7 @@ if (dst && dst->obsolete && dst->ops->check(dst, cookie) == NULL) { sk_tx_queue_clear(sk); - sk->sk_dst_pending_confirm = 0; + WRITE_ONCE(sk->sk_dst_pending_confirm, 0); RCU_INIT_POINTER(sk->sk_dst_cache, NULL); dst_release(dst); return NULL; diff -Nru linux-5.10.197/net/dccp/ipv4.c linux-5.10.205/net/dccp/ipv4.c --- linux-5.10.197/net/dccp/ipv4.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/dccp/ipv4.c 2023-12-20 14:44:42.000000000 +0000 @@ -243,13 +243,8 @@ int err; struct net *net = dev_net(skb->dev); - /* For the first __dccp_basic_hdr_len() check, we only need dh->dccph_x, - * which is in byte 7 of the dccp header. - * Our caller (icmp_socket_deliver()) already pulled 8 bytes for us. - * - * Later on, we want to access the sequence number fields, which are - * beyond 8 bytes, so we have to pskb_may_pull() ourselves. - */ + if (!pskb_may_pull(skb, offset + sizeof(*dh))) + return -EINVAL; dh = (struct dccp_hdr *)(skb->data + offset); if (!pskb_may_pull(skb, offset + __dccp_basic_hdr_len(dh))) return -EINVAL; @@ -618,9 +613,6 @@ if (dccp_parse_options(sk, dreq, skb)) goto drop_and_free; - if (security_inet_conn_request(sk, skb, req)) - goto drop_and_free; - ireq = inet_rsk(req); sk_rcv_saddr_set(req_to_sk(req), ip_hdr(skb)->daddr); sk_daddr_set(req_to_sk(req), ip_hdr(skb)->saddr); @@ -628,6 +620,9 @@ ireq->ireq_family = AF_INET; ireq->ir_iif = sk->sk_bound_dev_if; + if (security_inet_conn_request(sk, skb, req)) + goto drop_and_free; + /* * Step 3: Process LISTEN state * diff -Nru linux-5.10.197/net/dccp/ipv6.c linux-5.10.205/net/dccp/ipv6.c --- linux-5.10.197/net/dccp/ipv6.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/dccp/ipv6.c 2023-12-20 14:44:42.000000000 +0000 @@ -76,13 +76,8 @@ __u64 seq; struct net *net = dev_net(skb->dev); - /* For the first __dccp_basic_hdr_len() check, we only need dh->dccph_x, - * which is in byte 7 of the dccp header. - * Our caller (icmpv6_notify()) already pulled 8 bytes for us. - * - * Later on, we want to access the sequence number fields, which are - * beyond 8 bytes, so we have to pskb_may_pull() ourselves. - */ + if (!pskb_may_pull(skb, offset + sizeof(*dh))) + return -EINVAL; dh = (struct dccp_hdr *)(skb->data + offset); if (!pskb_may_pull(skb, offset + __dccp_basic_hdr_len(dh))) return -EINVAL; @@ -354,15 +349,15 @@ if (dccp_parse_options(sk, dreq, skb)) goto drop_and_free; - if (security_inet_conn_request(sk, skb, req)) - goto drop_and_free; - ireq = inet_rsk(req); ireq->ir_v6_rmt_addr = ipv6_hdr(skb)->saddr; ireq->ir_v6_loc_addr = ipv6_hdr(skb)->daddr; ireq->ireq_family = AF_INET6; ireq->ir_mark = inet_request_mark(sk, skb); + if (security_inet_conn_request(sk, skb, req)) + goto drop_and_free; + if (ipv6_opt_accepted(sk, skb, IP6CB(skb)) || np->rxopt.bits.rxinfo || np->rxopt.bits.rxoinfo || np->rxopt.bits.rxhlim || np->rxopt.bits.rxohlim) { diff -Nru linux-5.10.197/net/hsr/hsr_forward.c linux-5.10.205/net/hsr/hsr_forward.c --- linux-5.10.197/net/hsr/hsr_forward.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/hsr/hsr_forward.c 2023-12-20 14:44:42.000000000 +0000 @@ -296,9 +296,7 @@ skb = skb_copy_expand(frame->skb_std, 0, skb_tailroom(frame->skb_std) + HSR_HLEN, GFP_ATOMIC); - prp_fill_rct(skb, frame, port); - - return skb; + return prp_fill_rct(skb, frame, port); } static void hsr_deliver_master(struct sk_buff *skb, struct net_device *dev, diff -Nru linux-5.10.197/net/ipv4/esp4.c linux-5.10.205/net/ipv4/esp4.c --- linux-5.10.197/net/ipv4/esp4.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv4/esp4.c 2023-12-20 14:44:42.000000000 +0000 @@ -741,7 +741,9 @@ skb->csum = csum_block_sub(skb->csum, csumdiff, skb->len - trimlen); } - pskb_trim(skb, skb->len - trimlen); + ret = pskb_trim(skb, skb->len - trimlen); + if (unlikely(ret)) + return ret; ret = nexthdr[1]; diff -Nru linux-5.10.197/net/ipv4/fib_semantics.c linux-5.10.205/net/ipv4/fib_semantics.c --- linux-5.10.197/net/ipv4/fib_semantics.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv4/fib_semantics.c 2023-12-20 14:44:42.000000000 +0000 @@ -1345,15 +1345,18 @@ unsigned char scope) { struct fib_nh *nh; + __be32 saddr; if (nhc->nhc_family != AF_INET) return inet_select_addr(nhc->nhc_dev, 0, scope); nh = container_of(nhc, struct fib_nh, nh_common); - nh->nh_saddr = inet_select_addr(nh->fib_nh_dev, nh->fib_nh_gw4, scope); - nh->nh_saddr_genid = atomic_read(&net->ipv4.dev_addr_genid); + saddr = inet_select_addr(nh->fib_nh_dev, nh->fib_nh_gw4, scope); - return nh->nh_saddr; + WRITE_ONCE(nh->nh_saddr, saddr); + WRITE_ONCE(nh->nh_saddr_genid, atomic_read(&net->ipv4.dev_addr_genid)); + + return saddr; } __be32 fib_result_prefsrc(struct net *net, struct fib_result *res) @@ -1367,8 +1370,9 @@ struct fib_nh *nh; nh = container_of(nhc, struct fib_nh, nh_common); - if (nh->nh_saddr_genid == atomic_read(&net->ipv4.dev_addr_genid)) - return nh->nh_saddr; + if (READ_ONCE(nh->nh_saddr_genid) == + atomic_read(&net->ipv4.dev_addr_genid)) + return READ_ONCE(nh->nh_saddr); } return fib_info_update_nhc_saddr(net, nhc, res->fi->fib_scope); @@ -1904,6 +1908,7 @@ continue; if (fi->fib_prefsrc == local) { fi->fib_flags |= RTNH_F_DEAD; + fi->pfsrc_removed = true; ret++; } } diff -Nru linux-5.10.197/net/ipv4/fib_trie.c linux-5.10.205/net/ipv4/fib_trie.c --- linux-5.10.197/net/ipv4/fib_trie.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv4/fib_trie.c 2023-12-20 14:44:42.000000000 +0000 @@ -1977,6 +1977,7 @@ int fib_table_flush(struct net *net, struct fib_table *tb, bool flush_all) { struct trie *t = (struct trie *)tb->tb_data; + struct nl_info info = { .nl_net = net }; struct key_vector *pn = t->kv; unsigned long cindex = 1; struct hlist_node *tmp; @@ -2039,6 +2040,9 @@ fib_notify_alias_delete(net, n->key, &n->leaf, fa, NULL); + if (fi->pfsrc_removed) + rtmsg_fib(RTM_DELROUTE, htonl(n->key), fa, + KEYLENGTH - fa->fa_slen, tb->tb_id, &info, 0); hlist_del_rcu(&fa->fa_list); fib_release_info(fa->fa_info); alias_free_mem_rcu(fa); diff -Nru linux-5.10.197/net/ipv4/igmp.c linux-5.10.205/net/ipv4/igmp.c --- linux-5.10.197/net/ipv4/igmp.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv4/igmp.c 2023-12-20 14:44:42.000000000 +0000 @@ -216,8 +216,10 @@ int tv = prandom_u32() % max_delay; im->tm_running = 1; - if (!mod_timer(&im->timer, jiffies+tv+2)) - refcount_inc(&im->refcnt); + if (refcount_inc_not_zero(&im->refcnt)) { + if (mod_timer(&im->timer, jiffies + tv + 2)) + ip_ma_put(im); + } } static void igmp_gq_start_timer(struct in_device *in_dev) diff -Nru linux-5.10.197/net/ipv4/ip_gre.c linux-5.10.205/net/ipv4/ip_gre.c --- linux-5.10.197/net/ipv4/ip_gre.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv4/ip_gre.c 2023-12-20 14:44:42.000000000 +0000 @@ -629,15 +629,18 @@ } if (dev->header_ops) { + int pull_len = tunnel->hlen + sizeof(struct iphdr); + if (skb_cow_head(skb, 0)) goto free_skb; tnl_params = (const struct iphdr *)skb->data; - /* Pull skb since ip_tunnel_xmit() needs skb->data pointing - * to gre header. - */ - skb_pull(skb, tunnel->hlen + sizeof(struct iphdr)); + if (!pskb_network_may_pull(skb, pull_len)) + goto free_skb; + + /* ip_tunnel_xmit() needs skb->data pointing to gre header. */ + skb_pull(skb, pull_len); skb_reset_mac_header(skb); if (skb->ip_summed == CHECKSUM_PARTIAL && diff -Nru linux-5.10.197/net/ipv4/netfilter/ipt_REJECT.c linux-5.10.205/net/ipv4/netfilter/ipt_REJECT.c --- linux-5.10.197/net/ipv4/netfilter/ipt_REJECT.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv4/netfilter/ipt_REJECT.c 2023-12-20 14:44:42.000000000 +0000 @@ -56,7 +56,8 @@ nf_send_unreach(skb, ICMP_PKT_FILTERED, hook); break; case IPT_TCP_RESET: - nf_send_reset(xt_net(par), skb, hook); + nf_send_reset(xt_net(par), par->state->sk, skb, hook); + break; case IPT_ICMP_ECHOREPLY: /* Doesn't happen. */ break; diff -Nru linux-5.10.197/net/ipv4/netfilter/nf_reject_ipv4.c linux-5.10.205/net/ipv4/netfilter/nf_reject_ipv4.c --- linux-5.10.197/net/ipv4/netfilter/nf_reject_ipv4.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv4/netfilter/nf_reject_ipv4.c 2023-12-20 14:44:42.000000000 +0000 @@ -112,7 +112,8 @@ } /* Send RST reply */ -void nf_send_reset(struct net *net, struct sk_buff *oldskb, int hook) +void nf_send_reset(struct net *net, struct sock *sk, struct sk_buff *oldskb, + int hook) { struct net_device *br_indev __maybe_unused; struct sk_buff *nskb; @@ -144,8 +145,7 @@ niph = nf_reject_iphdr_put(nskb, oldskb, IPPROTO_TCP, ip4_dst_hoplimit(skb_dst(nskb))); nf_reject_ip_tcphdr_put(nskb, oldskb, oth); - - if (ip_route_me_harder(net, nskb->sk, nskb, RTN_UNSPEC)) + if (ip_route_me_harder(net, sk, nskb, RTN_UNSPEC)) goto free_nskb; niph = ip_hdr(nskb); diff -Nru linux-5.10.197/net/ipv4/netfilter/nft_reject_ipv4.c linux-5.10.205/net/ipv4/netfilter/nft_reject_ipv4.c --- linux-5.10.197/net/ipv4/netfilter/nft_reject_ipv4.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv4/netfilter/nft_reject_ipv4.c 2023-12-20 14:44:42.000000000 +0000 @@ -27,7 +27,8 @@ nf_send_unreach(pkt->skb, priv->icmp_code, nft_hook(pkt)); break; case NFT_REJECT_TCP_RST: - nf_send_reset(nft_net(pkt), pkt->skb, nft_hook(pkt)); + nf_send_reset(nft_net(pkt), nft_sk(pkt), pkt->skb, + nft_hook(pkt)); break; default: break; diff -Nru linux-5.10.197/net/ipv4/route.c linux-5.10.205/net/ipv4/route.c --- linux-5.10.197/net/ipv4/route.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv4/route.c 2023-12-20 14:44:42.000000000 +0000 @@ -808,7 +808,7 @@ goto reject_redirect; } - n = __ipv4_neigh_lookup(rt->dst.dev, new_gw); + n = __ipv4_neigh_lookup(rt->dst.dev, (__force u32)new_gw); if (!n) n = neigh_create(&arp_tbl, &new_gw, rt->dst.dev); if (!IS_ERR(n)) { @@ -1240,6 +1240,7 @@ static void ipv4_send_dest_unreach(struct sk_buff *skb) { + struct net_device *dev; struct ip_options opt; int res; @@ -1257,7 +1258,8 @@ opt.optlen = ip_hdr(skb)->ihl * 4 - sizeof(struct iphdr); rcu_read_lock(); - res = __ip_options_compile(dev_net(skb->dev), &opt, skb, NULL); + dev = skb->dev ? skb->dev : skb_rtable(skb)->dst.dev; + res = __ip_options_compile(dev_net(dev), &opt, skb, NULL); rcu_read_unlock(); if (res) diff -Nru linux-5.10.197/net/ipv4/syncookies.c linux-5.10.205/net/ipv4/syncookies.c --- linux-5.10.197/net/ipv4/syncookies.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv4/syncookies.c 2023-12-20 14:44:42.000000000 +0000 @@ -43,7 +43,6 @@ * requested/supported by the syn/synack exchange. */ #define TSBITS 6 -#define TSMASK (((__u32)1 << TSBITS) - 1) static u32 cookie_hash(__be32 saddr, __be32 daddr, __be16 sport, __be16 dport, u32 count, int c) @@ -64,27 +63,22 @@ */ u64 cookie_init_timestamp(struct request_sock *req, u64 now) { - struct inet_request_sock *ireq; - u32 ts, ts_now = tcp_ns_to_ts(now); + const struct inet_request_sock *ireq = inet_rsk(req); + u64 ts, ts_now = tcp_ns_to_ts(now); u32 options = 0; - ireq = inet_rsk(req); - options = ireq->wscale_ok ? ireq->snd_wscale : TS_OPT_WSCALE_MASK; if (ireq->sack_ok) options |= TS_OPT_SACK; if (ireq->ecn_ok) options |= TS_OPT_ECN; - ts = ts_now & ~TSMASK; + ts = (ts_now >> TSBITS) << TSBITS; ts |= options; - if (ts > ts_now) { - ts >>= TSBITS; - ts--; - ts <<= TSBITS; - ts |= options; - } - return (u64)ts * (NSEC_PER_SEC / TCP_TS_HZ); + if (ts > ts_now) + ts -= (1UL << TSBITS); + + return ts * (NSEC_PER_SEC / TCP_TS_HZ); } diff -Nru linux-5.10.197/net/ipv4/tcp_input.c linux-5.10.205/net/ipv4/tcp_input.c --- linux-5.10.197/net/ipv4/tcp_input.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv4/tcp_input.c 2023-12-20 14:44:42.000000000 +0000 @@ -242,6 +242,19 @@ if (unlikely(len > icsk->icsk_ack.rcv_mss + MAX_TCP_OPTION_SPACE)) tcp_gro_dev_warn(sk, skb, len); + /* If the skb has a len of exactly 1*MSS and has the PSH bit + * set then it is likely the end of an application write. So + * more data may not be arriving soon, and yet the data sender + * may be waiting for an ACK if cwnd-bound or using TX zero + * copy. So we set ICSK_ACK_PUSHED here so that + * tcp_cleanup_rbuf() will send an ACK immediately if the app + * reads all of the data and is not ping-pong. If len > MSS + * then this logic does not matter (and does not hurt) because + * tcp_cleanup_rbuf() will always ACK immediately if the app + * reads data and there is more than an MSS of unACKed data. + */ + if (TCP_SKB_CB(skb)->tcp_flags & TCPHDR_PSH) + icsk->icsk_ack.pending |= ICSK_ACK_PUSHED; } else { /* Otherwise, we make more careful check taking into account, * that SACKs block is variable. @@ -2172,16 +2185,17 @@ * restore sanity to the SACK scoreboard. If the apparent reneging * persists until this RTO then we'll clear the SACK scoreboard. */ -static bool tcp_check_sack_reneging(struct sock *sk, int flag) +static bool tcp_check_sack_reneging(struct sock *sk, int *ack_flag) { - if (flag & FLAG_SACK_RENEGING && - flag & FLAG_SND_UNA_ADVANCED) { + if (*ack_flag & FLAG_SACK_RENEGING && + *ack_flag & FLAG_SND_UNA_ADVANCED) { struct tcp_sock *tp = tcp_sk(sk); unsigned long delay = max(usecs_to_jiffies(tp->srtt_us >> 4), msecs_to_jiffies(10)); inet_csk_reset_xmit_timer(sk, ICSK_TIME_RETRANS, delay, TCP_RTO_MAX); + *ack_flag &= ~FLAG_SET_XMIT_TIMER; return true; } return false; @@ -2937,7 +2951,7 @@ tp->prior_ssthresh = 0; /* B. In all the states check for reneging SACKs. */ - if (tcp_check_sack_reneging(sk, flag)) + if (tcp_check_sack_reneging(sk, ack_flag)) return; /* C. Check consistency of the current state. */ @@ -3758,8 +3772,12 @@ * then we can probably ignore it. */ if (before(ack, prior_snd_una)) { + u32 max_window; + + /* do not accept ACK for bytes we never sent. */ + max_window = min_t(u64, tp->max_window, tp->bytes_acked); /* RFC 5961 5.2 [Blind Data Injection Attack].[Mitigation] */ - if (before(ack, prior_snd_una - tp->max_window)) { + if (before(ack, prior_snd_una - max_window)) { if (!(flag & FLAG_NO_CHALLENGE_ACK)) tcp_send_challenge_ack(sk, skb); return -1; @@ -6335,22 +6353,23 @@ static void tcp_rcv_synrecv_state_fastopen(struct sock *sk) { + struct tcp_sock *tp = tcp_sk(sk); struct request_sock *req; /* If we are still handling the SYNACK RTO, see if timestamp ECR allows * undo. If peer SACKs triggered fast recovery, we can't undo here. */ - if (inet_csk(sk)->icsk_ca_state == TCP_CA_Loss) - tcp_try_undo_loss(sk, false); + if (inet_csk(sk)->icsk_ca_state == TCP_CA_Loss && !tp->packets_out) + tcp_try_undo_recovery(sk); /* Reset rtx states to prevent spurious retransmits_timed_out() */ - tcp_sk(sk)->retrans_stamp = 0; + tp->retrans_stamp = 0; inet_csk(sk)->icsk_retransmits = 0; /* Once we leave TCP_SYN_RECV or TCP_FIN_WAIT_1, * we no longer need req so release it. */ - req = rcu_dereference_protected(tcp_sk(sk)->fastopen_rsk, + req = rcu_dereference_protected(tp->fastopen_rsk, lockdep_sock_is_held(sk)); reqsk_fastopen_remove(sk, req, false); diff -Nru linux-5.10.197/net/ipv4/tcp_ipv4.c linux-5.10.205/net/ipv4/tcp_ipv4.c --- linux-5.10.197/net/ipv4/tcp_ipv4.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv4/tcp_ipv4.c 2023-12-20 14:44:42.000000000 +0000 @@ -1832,6 +1832,7 @@ #ifdef CONFIG_TLS_DEVICE tail->decrypted != skb->decrypted || #endif + !mptcp_skb_can_collapse(tail, skb) || thtail->doff != th->doff || memcmp(thtail + 1, th + 1, hdrlen - sizeof(*th))) goto no_coalesce; diff -Nru linux-5.10.197/net/ipv4/tcp_metrics.c linux-5.10.205/net/ipv4/tcp_metrics.c --- linux-5.10.197/net/ipv4/tcp_metrics.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv4/tcp_metrics.c 2023-12-20 14:44:42.000000000 +0000 @@ -470,11 +470,15 @@ u32 val, crtt = 0; /* cached RTT scaled by 8 */ sk_dst_confirm(sk); + /* ssthresh may have been reduced unnecessarily during. + * 3WHS. Restore it back to its initial default. + */ + tp->snd_ssthresh = TCP_INFINITE_SSTHRESH; if (!dst) goto reset; rcu_read_lock(); - tm = tcp_get_metrics(sk, dst, true); + tm = tcp_get_metrics(sk, dst, false); if (!tm) { rcu_read_unlock(); goto reset; @@ -489,11 +493,6 @@ tp->snd_ssthresh = val; if (tp->snd_ssthresh > tp->snd_cwnd_clamp) tp->snd_ssthresh = tp->snd_cwnd_clamp; - } else { - /* ssthresh may have been reduced unnecessarily during. - * 3WHS. Restore it back to its initial default. - */ - tp->snd_ssthresh = TCP_INFINITE_SSTHRESH; } val = tcp_metric_get(tm, TCP_METRIC_REORDERING); if (val && tp->reordering != val) @@ -908,7 +907,7 @@ match = net ? net_eq(tm_net(tm), net) : !refcount_read(&tm_net(tm)->count); if (match) { - *pp = tm->tcpm_next; + rcu_assign_pointer(*pp, tm->tcpm_next); kfree_rcu(tm, rcu_head); } else { pp = &tm->tcpm_next; @@ -949,7 +948,7 @@ if (addr_same(&tm->tcpm_daddr, &daddr) && (!src || addr_same(&tm->tcpm_saddr, &saddr)) && net_eq(tm_net(tm), net)) { - *pp = tm->tcpm_next; + rcu_assign_pointer(*pp, tm->tcpm_next); kfree_rcu(tm, rcu_head); found = true; } else { diff -Nru linux-5.10.197/net/ipv4/tcp_output.c linux-5.10.205/net/ipv4/tcp_output.c --- linux-5.10.197/net/ipv4/tcp_output.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv4/tcp_output.c 2023-12-20 14:44:42.000000000 +0000 @@ -177,8 +177,7 @@ } /* Account for an ACK we sent. */ -static inline void tcp_event_ack_sent(struct sock *sk, unsigned int pkts, - u32 rcv_nxt) +static inline void tcp_event_ack_sent(struct sock *sk, u32 rcv_nxt) { struct tcp_sock *tp = tcp_sk(sk); @@ -192,7 +191,7 @@ if (unlikely(rcv_nxt != tp->rcv_nxt)) return; /* Special ACK sent by DCTCP to reflect ECN */ - tcp_dec_quickack_mode(sk, pkts); + tcp_dec_quickack_mode(sk); inet_csk_clear_xmit_timer(sk, ICSK_TIME_DACK); } @@ -1321,7 +1320,7 @@ skb_set_hash_from_sk(skb, sk); refcount_add(skb->truesize, &sk->sk_wmem_alloc); - skb_set_dst_pending_confirm(skb, sk->sk_dst_pending_confirm); + skb_set_dst_pending_confirm(skb, READ_ONCE(sk->sk_dst_pending_confirm)); /* Build TCP header and checksum it. */ th = (struct tcphdr *)skb->data; @@ -1374,7 +1373,7 @@ sk, skb); if (likely(tcb->tcp_flags & TCPHDR_ACK)) - tcp_event_ack_sent(sk, tcp_skb_pcount(skb), rcv_nxt); + tcp_event_ack_sent(sk, rcv_nxt); if (skb->len != tcp_header_size) { tcp_event_data_sent(tp, sk); @@ -2483,6 +2482,18 @@ return true; } +static bool tcp_rtx_queue_empty_or_single_skb(const struct sock *sk) +{ + const struct rb_node *node = sk->tcp_rtx_queue.rb_node; + + /* No skb in the rtx queue. */ + if (!node) + return true; + + /* Only one skb in rtx queue. */ + return !node->rb_left && !node->rb_right; +} + /* TCP Small Queues : * Control number of packets in qdisc/devices to two packets / or ~1 ms. * (These limits are doubled for retransmits) @@ -2520,12 +2531,12 @@ limit += extra_bytes; } if (refcount_read(&sk->sk_wmem_alloc) > limit) { - /* Always send skb if rtx queue is empty. + /* Always send skb if rtx queue is empty or has one skb. * No need to wait for TX completion to call us back, * after softirq/tasklet schedule. * This helps when TX completions are delayed too much. */ - if (tcp_rtx_queue_empty(sk)) + if (tcp_rtx_queue_empty_or_single_skb(sk)) return false; set_bit(TSQ_THROTTLED, &sk->sk_tsq_flags); @@ -2728,7 +2739,7 @@ { struct inet_connection_sock *icsk = inet_csk(sk); struct tcp_sock *tp = tcp_sk(sk); - u32 timeout, rto_delta_us; + u32 timeout, timeout_us, rto_delta_us; int early_retrans; /* Don't do any loss probe on a Fast Open connection before 3WHS @@ -2752,11 +2763,12 @@ * sample is available then probe after TCP_TIMEOUT_INIT. */ if (tp->srtt_us) { - timeout = usecs_to_jiffies(tp->srtt_us >> 2); + timeout_us = tp->srtt_us >> 2; if (tp->packets_out == 1) - timeout += TCP_RTO_MIN; + timeout_us += tcp_rto_min_us(sk); else - timeout += TCP_TIMEOUT_MIN; + timeout_us += TCP_TIMEOUT_MIN_US; + timeout = usecs_to_jiffies(timeout_us); } else { timeout = TCP_TIMEOUT_INIT; } @@ -3159,7 +3171,13 @@ if (skb_still_in_host_queue(sk, skb)) return -EBUSY; +start: if (before(TCP_SKB_CB(skb)->seq, tp->snd_una)) { + if (unlikely(TCP_SKB_CB(skb)->tcp_flags & TCPHDR_SYN)) { + TCP_SKB_CB(skb)->tcp_flags &= ~TCPHDR_SYN; + TCP_SKB_CB(skb)->seq++; + goto start; + } if (unlikely(before(TCP_SKB_CB(skb)->end_seq, tp->snd_una))) { WARN_ON_ONCE(1); return -EINVAL; diff -Nru linux-5.10.197/net/ipv4/tcp_recovery.c linux-5.10.205/net/ipv4/tcp_recovery.c --- linux-5.10.197/net/ipv4/tcp_recovery.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv4/tcp_recovery.c 2023-12-20 14:44:42.000000000 +0000 @@ -109,7 +109,7 @@ tp->rack.advanced = 0; tcp_rack_detect_loss(sk, &timeout); if (timeout) { - timeout = usecs_to_jiffies(timeout) + TCP_TIMEOUT_MIN; + timeout = usecs_to_jiffies(timeout + TCP_TIMEOUT_MIN_US); inet_csk_reset_xmit_timer(sk, ICSK_TIME_REO_TIMEOUT, timeout, inet_csk(sk)->icsk_rto); } diff -Nru linux-5.10.197/net/ipv4/udp.c linux-5.10.205/net/ipv4/udp.c --- linux-5.10.197/net/ipv4/udp.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv4/udp.c 2023-12-20 14:44:42.000000000 +0000 @@ -2645,10 +2645,12 @@ case UDP_ENCAP_ESPINUDP_NON_IKE: #if IS_ENABLED(CONFIG_IPV6) if (sk->sk_family == AF_INET6) - up->encap_rcv = ipv6_stub->xfrm6_udp_encap_rcv; + WRITE_ONCE(up->encap_rcv, + ipv6_stub->xfrm6_udp_encap_rcv); else #endif - up->encap_rcv = xfrm4_udp_encap_rcv; + WRITE_ONCE(up->encap_rcv, + xfrm4_udp_encap_rcv); #endif fallthrough; case UDP_ENCAP_L2TPINUDP: diff -Nru linux-5.10.197/net/ipv6/addrconf.c linux-5.10.205/net/ipv6/addrconf.c --- linux-5.10.197/net/ipv6/addrconf.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv6/addrconf.c 2023-12-20 14:44:42.000000000 +0000 @@ -207,6 +207,7 @@ .accept_ra_defrtr = 1, .accept_ra_from_local = 0, .accept_ra_min_hop_limit= 1, + .accept_ra_min_lft = 0, .accept_ra_pinfo = 1, #ifdef CONFIG_IPV6_ROUTER_PREF .accept_ra_rtr_pref = 1, @@ -262,6 +263,7 @@ .accept_ra_defrtr = 1, .accept_ra_from_local = 0, .accept_ra_min_hop_limit= 1, + .accept_ra_min_lft = 0, .accept_ra_pinfo = 1, #ifdef CONFIG_IPV6_ROUTER_PREF .accept_ra_rtr_pref = 1, @@ -2724,6 +2726,9 @@ return; } + if (valid_lft != 0 && valid_lft < in6_dev->cnf.accept_ra_min_lft) + goto put; + /* * Two things going on here: * 1) Add routes for on-link prefixes @@ -5559,6 +5564,7 @@ array[DEVCONF_DISABLE_POLICY] = cnf->disable_policy; array[DEVCONF_NDISC_TCLASS] = cnf->ndisc_tclass; array[DEVCONF_RPL_SEG_ENABLED] = cnf->rpl_seg_enabled; + array[DEVCONF_ACCEPT_RA_MIN_LFT] = cnf->accept_ra_min_lft; } static inline size_t inet6_ifla6_size(void) @@ -6028,11 +6034,7 @@ pmsg->prefix_len = pinfo->prefix_len; pmsg->prefix_type = pinfo->type; pmsg->prefix_pad3 = 0; - pmsg->prefix_flags = 0; - if (pinfo->onlink) - pmsg->prefix_flags |= IF_PREFIX_ONLINK; - if (pinfo->autoconf) - pmsg->prefix_flags |= IF_PREFIX_AUTOCONF; + pmsg->prefix_flags = pinfo->flags; if (nla_put(skb, PREFIX_ADDRESS, sizeof(pinfo->prefix), &pinfo->prefix)) goto nla_put_failure; @@ -6715,6 +6717,13 @@ .maxlen = sizeof(int), .mode = 0644, .proc_handler = proc_dointvec, + }, + { + .procname = "accept_ra_min_lft", + .data = &ipv6_devconf.accept_ra_min_lft, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = proc_dointvec, }, { .procname = "accept_ra_pinfo", diff -Nru linux-5.10.197/net/ipv6/esp6.c linux-5.10.205/net/ipv6/esp6.c --- linux-5.10.197/net/ipv6/esp6.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv6/esp6.c 2023-12-20 14:44:42.000000000 +0000 @@ -776,7 +776,9 @@ skb->csum = csum_block_sub(skb->csum, csumdiff, skb->len - trimlen); } - pskb_trim(skb, skb->len - trimlen); + ret = pskb_trim(skb, skb->len - trimlen); + if (unlikely(ret)) + return ret; ret = nexthdr[1]; diff -Nru linux-5.10.197/net/ipv6/ip6_fib.c linux-5.10.205/net/ipv6/ip6_fib.c --- linux-5.10.197/net/ipv6/ip6_fib.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv6/ip6_fib.c 2023-12-20 14:44:42.000000000 +0000 @@ -1499,13 +1499,9 @@ if (!pn_leaf && !(pn->fn_flags & RTN_RTINFO)) { pn_leaf = fib6_find_prefix(info->nl_net, table, pn); -#if RT6_DEBUG >= 2 - if (!pn_leaf) { - WARN_ON(!pn_leaf); + if (!pn_leaf) pn_leaf = info->nl_net->ipv6.fib6_null_entry; - } -#endif fib6_info_hold(pn_leaf); rcu_assign_pointer(pn->leaf, pn_leaf); } diff -Nru linux-5.10.197/net/ipv6/ip6_output.c linux-5.10.205/net/ipv6/ip6_output.c --- linux-5.10.197/net/ipv6/ip6_output.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv6/ip6_output.c 2023-12-20 14:44:42.000000000 +0000 @@ -178,7 +178,13 @@ int err; skb_mark_not_on_list(segs); - err = ip6_fragment(net, sk, segs, ip6_finish_output2); + /* Last GSO segment can be smaller than gso_size (and MTU). + * Adding a fragment header would produce an "atomic fragment", + * which is considered harmful (RFC-8021). Avoid that. + */ + err = segs->len > mtu ? + ip6_fragment(net, sk, segs, ip6_finish_output2) : + ip6_finish_output2(net, sk, segs); if (err && ret == 0) ret = err; } diff -Nru linux-5.10.197/net/ipv6/ndisc.c linux-5.10.205/net/ipv6/ndisc.c --- linux-5.10.197/net/ipv6/ndisc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv6/ndisc.c 2023-12-20 14:44:42.000000000 +0000 @@ -1269,6 +1269,14 @@ goto skip_defrtr; } + lifetime = ntohs(ra_msg->icmph.icmp6_rt_lifetime); + if (lifetime != 0 && lifetime < in6_dev->cnf.accept_ra_min_lft) { + ND_PRINTK(2, info, + "RA: router lifetime (%ds) is too short: %s\n", + lifetime, skb->dev->name); + goto skip_defrtr; + } + /* Do not accept RA with source-addr found on local machine unless * accept_ra_from_local is set to true. */ @@ -1281,8 +1289,6 @@ goto skip_defrtr; } - lifetime = ntohs(ra_msg->icmph.icmp6_rt_lifetime); - #ifdef CONFIG_IPV6_ROUTER_PREF pref = ra_msg->icmph.icmp6_router_pref; /* 10b is handled as if it were 00b (medium) */ @@ -1453,6 +1459,9 @@ if (ri->prefix_len == 0 && !in6_dev->cnf.accept_ra_defrtr) continue; + if (ri->lifetime != 0 && + ntohl(ri->lifetime) < in6_dev->cnf.accept_ra_min_lft) + continue; if (ri->prefix_len < in6_dev->cnf.accept_ra_rt_info_min_plen) continue; if (ri->prefix_len > in6_dev->cnf.accept_ra_rt_info_max_plen) diff -Nru linux-5.10.197/net/ipv6/netfilter/ip6t_REJECT.c linux-5.10.205/net/ipv6/netfilter/ip6t_REJECT.c --- linux-5.10.197/net/ipv6/netfilter/ip6t_REJECT.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv6/netfilter/ip6t_REJECT.c 2023-12-20 14:44:42.000000000 +0000 @@ -61,7 +61,7 @@ /* Do nothing */ break; case IP6T_TCP_RESET: - nf_send_reset6(net, skb, xt_hooknum(par)); + nf_send_reset6(net, par->state->sk, skb, xt_hooknum(par)); break; case IP6T_ICMP6_POLICY_FAIL: nf_send_unreach6(net, skb, ICMPV6_POLICY_FAIL, xt_hooknum(par)); diff -Nru linux-5.10.197/net/ipv6/netfilter/nf_reject_ipv6.c linux-5.10.205/net/ipv6/netfilter/nf_reject_ipv6.c --- linux-5.10.197/net/ipv6/netfilter/nf_reject_ipv6.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv6/netfilter/nf_reject_ipv6.c 2023-12-20 14:44:42.000000000 +0000 @@ -141,7 +141,8 @@ return 0; } -void nf_send_reset6(struct net *net, struct sk_buff *oldskb, int hook) +void nf_send_reset6(struct net *net, struct sock *sk, struct sk_buff *oldskb, + int hook) { struct net_device *br_indev __maybe_unused; struct sk_buff *nskb; @@ -233,7 +234,7 @@ dev_queue_xmit(nskb); } else #endif - ip6_local_out(net, nskb->sk, nskb); + ip6_local_out(net, sk, nskb); } EXPORT_SYMBOL_GPL(nf_send_reset6); diff -Nru linux-5.10.197/net/ipv6/netfilter/nft_reject_ipv6.c linux-5.10.205/net/ipv6/netfilter/nft_reject_ipv6.c --- linux-5.10.197/net/ipv6/netfilter/nft_reject_ipv6.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv6/netfilter/nft_reject_ipv6.c 2023-12-20 14:44:42.000000000 +0000 @@ -28,7 +28,8 @@ nft_hook(pkt)); break; case NFT_REJECT_TCP_RST: - nf_send_reset6(nft_net(pkt), pkt->skb, nft_hook(pkt)); + nf_send_reset6(nft_net(pkt), nft_sk(pkt), pkt->skb, + nft_hook(pkt)); break; default: break; diff -Nru linux-5.10.197/net/ipv6/syncookies.c linux-5.10.205/net/ipv6/syncookies.c --- linux-5.10.197/net/ipv6/syncookies.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv6/syncookies.c 2023-12-20 14:44:42.000000000 +0000 @@ -180,14 +180,15 @@ treq = tcp_rsk(req); treq->tfo_listener = false; - if (security_inet_conn_request(sk, skb, req)) - goto out_free; - req->mss = mss; ireq->ir_rmt_port = th->source; ireq->ir_num = ntohs(th->dest); ireq->ir_v6_rmt_addr = ipv6_hdr(skb)->saddr; ireq->ir_v6_loc_addr = ipv6_hdr(skb)->daddr; + + if (security_inet_conn_request(sk, skb, req)) + goto out_free; + if (ipv6_opt_accepted(sk, skb, &TCP_SKB_CB(skb)->header.h6) || np->rxopt.bits.rxinfo || np->rxopt.bits.rxoinfo || np->rxopt.bits.rxhlim || np->rxopt.bits.rxohlim) { diff -Nru linux-5.10.197/net/ipv6/xfrm6_policy.c linux-5.10.205/net/ipv6/xfrm6_policy.c --- linux-5.10.197/net/ipv6/xfrm6_policy.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/ipv6/xfrm6_policy.c 2023-12-20 14:44:42.000000000 +0000 @@ -120,11 +120,11 @@ { struct xfrm_dst *xdst = (struct xfrm_dst *)dst; - if (likely(xdst->u.rt6.rt6i_idev)) - in6_dev_put(xdst->u.rt6.rt6i_idev); dst_destroy_metrics_generic(dst); if (xdst->u.rt6.rt6i_uncached_list) rt6_uncached_list_del(&xdst->u.rt6); + if (likely(xdst->u.rt6.rt6i_idev)) + in6_dev_put(xdst->u.rt6.rt6i_idev); xfrm_dst_destroy(xdst); } diff -Nru linux-5.10.197/net/l2tp/l2tp_ip6.c linux-5.10.205/net/l2tp/l2tp_ip6.c --- linux-5.10.197/net/l2tp/l2tp_ip6.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/l2tp/l2tp_ip6.c 2023-12-20 14:44:42.000000000 +0000 @@ -508,7 +508,6 @@ */ if (len > INT_MAX - transhdrlen) return -EMSGSIZE; - ulen = len + transhdrlen; /* Mirror BSD error message compatibility */ if (msg->msg_flags & MSG_OOB) @@ -629,6 +628,7 @@ back_from_confirm: lock_sock(sk); + ulen = len + skb_queue_empty(&sk->sk_write_queue) ? transhdrlen : 0; err = ip6_append_data(sk, ip_generic_getfrag, msg, ulen, transhdrlen, &ipc6, &fl6, (struct rt6_info *)dst, diff -Nru linux-5.10.197/net/llc/llc_input.c linux-5.10.205/net/llc/llc_input.c --- linux-5.10.197/net/llc/llc_input.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/llc/llc_input.c 2023-12-20 14:44:42.000000000 +0000 @@ -127,8 +127,14 @@ skb->transport_header += llc_len; skb_pull(skb, llc_len); if (skb->protocol == htons(ETH_P_802_2)) { - __be16 pdulen = eth_hdr(skb)->h_proto; - s32 data_size = ntohs(pdulen) - llc_len; + __be16 pdulen; + s32 data_size; + + if (skb->mac_len < ETH_HLEN) + return 0; + + pdulen = eth_hdr(skb)->h_proto; + data_size = ntohs(pdulen) - llc_len; if (data_size < 0 || !pskb_may_pull(skb, data_size)) diff -Nru linux-5.10.197/net/llc/llc_s_ac.c linux-5.10.205/net/llc/llc_s_ac.c --- linux-5.10.197/net/llc/llc_s_ac.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/llc/llc_s_ac.c 2023-12-20 14:44:42.000000000 +0000 @@ -153,6 +153,9 @@ int rc = 1; u32 data_size; + if (skb->mac_len < ETH_HLEN) + return 1; + llc_pdu_decode_sa(skb, mac_da); llc_pdu_decode_da(skb, mac_sa); llc_pdu_decode_ssap(skb, &dsap); diff -Nru linux-5.10.197/net/llc/llc_station.c linux-5.10.205/net/llc/llc_station.c --- linux-5.10.197/net/llc/llc_station.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/llc/llc_station.c 2023-12-20 14:44:42.000000000 +0000 @@ -77,6 +77,9 @@ u32 data_size; struct sk_buff *nskb; + if (skb->mac_len < ETH_HLEN) + goto out; + /* The test request command is type U (llc_len = 3) */ data_size = ntohs(eth_hdr(skb)->h_proto) - 3; nskb = llc_alloc_frame(NULL, skb->dev, LLC_PDU_TYPE_U, data_size); diff -Nru linux-5.10.197/net/mac80211/cfg.c linux-5.10.205/net/mac80211/cfg.c --- linux-5.10.197/net/mac80211/cfg.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/mac80211/cfg.c 2023-12-20 14:44:42.000000000 +0000 @@ -2726,6 +2726,10 @@ else *dbm = sdata->vif.bss_conf.txpower; + /* INT_MIN indicates no power level was set yet */ + if (*dbm == INT_MIN) + return -EINVAL; + return 0; } diff -Nru linux-5.10.197/net/mac80211/tx.c linux-5.10.205/net/mac80211/tx.c --- linux-5.10.197/net/mac80211/tx.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/mac80211/tx.c 2023-12-20 14:44:42.000000000 +0000 @@ -656,7 +656,8 @@ } if (unlikely(tx->key && tx->key->flags & KEY_FLAG_TAINTED && - !ieee80211_is_deauth(hdr->frame_control))) + !ieee80211_is_deauth(hdr->frame_control)) && + tx->skb->protocol != tx->sdata->control_port_protocol) return TX_DROP; if (!skip_hw && tx->key && diff -Nru linux-5.10.197/net/netfilter/ipset/ip_set_core.c linux-5.10.205/net/netfilter/ipset/ip_set_core.c --- linux-5.10.197/net/netfilter/ipset/ip_set_core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netfilter/ipset/ip_set_core.c 2023-12-20 14:44:42.000000000 +0000 @@ -61,6 +61,8 @@ ip_set_dereference((inst)->ip_set_list)[id] #define ip_set_ref_netlink(inst,id) \ rcu_dereference_raw((inst)->ip_set_list)[id] +#define ip_set_dereference_nfnl(p) \ + rcu_dereference_check(p, lockdep_nfnl_is_held(NFNL_SUBSYS_IPSET)) /* The set types are implemented in modules and registered set types * can be found in ip_set_type_list. Adding/deleting types is @@ -683,6 +685,14 @@ * a separate reference counter */ static void +__ip_set_get_netlink(struct ip_set *set) +{ + write_lock_bh(&ip_set_ref_lock); + set->ref_netlink++; + write_unlock_bh(&ip_set_ref_lock); +} + +static void __ip_set_put_netlink(struct ip_set *set) { write_lock_bh(&ip_set_ref_lock); @@ -700,15 +710,10 @@ static struct ip_set * ip_set_rcu_get(struct net *net, ip_set_id_t index) { - struct ip_set *set; struct ip_set_net *inst = ip_set_pernet(net); - rcu_read_lock(); - /* ip_set_list itself needs to be protected */ - set = rcu_dereference(inst->ip_set_list)[index]; - rcu_read_unlock(); - - return set; + /* ip_set_list and the set pointer need to be protected */ + return ip_set_dereference_nfnl(inst->ip_set_list)[index]; } static inline void @@ -1399,6 +1404,9 @@ ip_set(inst, to_id) = from; write_unlock_bh(&ip_set_ref_lock); + /* Make sure all readers of the old set pointers are completed. */ + synchronize_rcu(); + return 0; } @@ -1705,11 +1713,11 @@ do { if (retried) { - __ip_set_get(set); + __ip_set_get_netlink(set); nfnl_unlock(NFNL_SUBSYS_IPSET); cond_resched(); nfnl_lock(NFNL_SUBSYS_IPSET); - __ip_set_put(set); + __ip_set_put_netlink(set); } ip_set_lock(set); diff -Nru linux-5.10.197/net/netfilter/ipvs/ip_vs_sync.c linux-5.10.205/net/netfilter/ipvs/ip_vs_sync.c --- linux-5.10.197/net/netfilter/ipvs/ip_vs_sync.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netfilter/ipvs/ip_vs_sync.c 2023-12-20 14:44:42.000000000 +0000 @@ -1441,7 +1441,7 @@ sin.sin_addr.s_addr = addr; sin.sin_port = 0; - return sock->ops->bind(sock, (struct sockaddr*)&sin, sizeof(sin)); + return kernel_bind(sock, (struct sockaddr *)&sin, sizeof(sin)); } static void get_mcast_sockaddr(union ipvs_sockaddr *sa, int *salen, @@ -1507,8 +1507,8 @@ } get_mcast_sockaddr(&mcast_addr, &salen, &ipvs->mcfg, id); - result = sock->ops->connect(sock, (struct sockaddr *) &mcast_addr, - salen, 0); + result = kernel_connect(sock, (struct sockaddr *)&mcast_addr, + salen, 0); if (result < 0) { pr_err("Error connecting to the multicast addr\n"); goto error; @@ -1548,7 +1548,7 @@ get_mcast_sockaddr(&mcast_addr, &salen, &ipvs->bcfg, id); sock->sk->sk_bound_dev_if = dev->ifindex; - result = sock->ops->bind(sock, (struct sockaddr *)&mcast_addr, salen); + result = kernel_bind(sock, (struct sockaddr *)&mcast_addr, salen); if (result < 0) { pr_err("Error binding to the multicast addr\n"); goto error; diff -Nru linux-5.10.197/net/netfilter/nf_conntrack_proto_sctp.c linux-5.10.205/net/netfilter/nf_conntrack_proto_sctp.c --- linux-5.10.197/net/netfilter/nf_conntrack_proto_sctp.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netfilter/nf_conntrack_proto_sctp.c 2023-12-20 14:44:42.000000000 +0000 @@ -112,7 +112,7 @@ /* shutdown_ack */ {sSA, sCL, sCW, sCE, sES, sSA, sSA, sSA, sSA}, /* error */ {sCL, sCL, sCW, sCE, sES, sSS, sSR, sSA, sCL},/* Can't have Stale cookie*/ /* cookie_echo */ {sCL, sCL, sCE, sCE, sES, sSS, sSR, sSA, sCL},/* 5.2.4 - Big TODO */ -/* cookie_ack */ {sCL, sCL, sCW, sCE, sES, sSS, sSR, sSA, sCL},/* Can't come in orig dir */ +/* cookie_ack */ {sCL, sCL, sCW, sES, sES, sSS, sSR, sSA, sCL},/* Can't come in orig dir */ /* shutdown_comp*/ {sCL, sCL, sCW, sCE, sES, sSS, sSR, sCL, sCL}, /* heartbeat */ {sHS, sCL, sCW, sCE, sES, sSS, sSR, sSA, sHS}, /* heartbeat_ack*/ {sCL, sCL, sCW, sCE, sES, sSS, sSR, sSA, sHS}, @@ -126,7 +126,7 @@ /* shutdown */ {sIV, sCL, sCW, sCE, sSR, sSS, sSR, sSA, sIV}, /* shutdown_ack */ {sIV, sCL, sCW, sCE, sES, sSA, sSA, sSA, sIV}, /* error */ {sIV, sCL, sCW, sCL, sES, sSS, sSR, sSA, sIV}, -/* cookie_echo */ {sIV, sCL, sCW, sCE, sES, sSS, sSR, sSA, sIV},/* Can't come in reply dir */ +/* cookie_echo */ {sIV, sCL, sCE, sCE, sES, sSS, sSR, sSA, sIV},/* Can't come in reply dir */ /* cookie_ack */ {sIV, sCL, sCW, sES, sES, sSS, sSR, sSA, sIV}, /* shutdown_comp*/ {sIV, sCL, sCW, sCE, sES, sSS, sSR, sCL, sIV}, /* heartbeat */ {sIV, sCL, sCW, sCE, sES, sSS, sSR, sSA, sHS}, @@ -426,6 +426,9 @@ /* (D) vtag must be same as init_vtag as found in INIT_ACK */ if (sh->vtag != ct->proto.sctp.vtag[dir]) goto out_unlock; + } else if (sch->type == SCTP_CID_COOKIE_ACK) { + ct->proto.sctp.init[dir] = 0; + ct->proto.sctp.init[!dir] = 0; } else if (sch->type == SCTP_CID_HEARTBEAT) { if (ct->proto.sctp.vtag[dir] == 0) { pr_debug("Setting %d vtag %x for dir %d\n", sch->type, sh->vtag, dir); @@ -474,16 +477,18 @@ } /* If it is an INIT or an INIT ACK note down the vtag */ - if (sch->type == SCTP_CID_INIT || - sch->type == SCTP_CID_INIT_ACK) { - struct sctp_inithdr _inithdr, *ih; + if (sch->type == SCTP_CID_INIT) { + struct sctp_inithdr _ih, *ih; - ih = skb_header_pointer(skb, offset + sizeof(_sch), - sizeof(_inithdr), &_inithdr); - if (ih == NULL) + ih = skb_header_pointer(skb, offset + sizeof(_sch), sizeof(*ih), &_ih); + if (!ih) goto out_unlock; - pr_debug("Setting vtag %x for dir %d\n", - ih->init_tag, !dir); + + if (ct->proto.sctp.init[dir] && ct->proto.sctp.init[!dir]) + ct->proto.sctp.init[!dir] = 0; + ct->proto.sctp.init[dir] = 1; + + pr_debug("Setting vtag %x for dir %d\n", ih->init_tag, !dir); ct->proto.sctp.vtag[!dir] = ih->init_tag; /* don't renew timeout on init retransmit so @@ -494,6 +499,24 @@ old_state == SCTP_CONNTRACK_CLOSED && nf_ct_is_confirmed(ct)) ignore = true; + } else if (sch->type == SCTP_CID_INIT_ACK) { + struct sctp_inithdr _ih, *ih; + __be32 vtag; + + ih = skb_header_pointer(skb, offset + sizeof(_sch), sizeof(*ih), &_ih); + if (!ih) + goto out_unlock; + + vtag = ct->proto.sctp.vtag[!dir]; + if (!ct->proto.sctp.init[!dir] && vtag && vtag != ih->init_tag) + goto out_unlock; + /* collision */ + if (ct->proto.sctp.init[dir] && ct->proto.sctp.init[!dir] && + vtag != ih->init_tag) + goto out_unlock; + + pr_debug("Setting vtag %x for dir %d\n", ih->init_tag, !dir); + ct->proto.sctp.vtag[!dir] = ih->init_tag; } ct->proto.sctp.state = new_state; diff -Nru linux-5.10.197/net/netfilter/nf_nat_redirect.c linux-5.10.205/net/netfilter/nf_nat_redirect.c --- linux-5.10.197/net/netfilter/nf_nat_redirect.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netfilter/nf_nat_redirect.c 2023-12-20 14:44:42.000000000 +0000 @@ -10,6 +10,7 @@ #include #include +#include #include #include #include @@ -24,81 +25,104 @@ #include #include +static unsigned int +nf_nat_redirect(struct sk_buff *skb, const struct nf_nat_range2 *range, + const union nf_inet_addr *newdst) +{ + struct nf_nat_range2 newrange; + enum ip_conntrack_info ctinfo; + struct nf_conn *ct; + + ct = nf_ct_get(skb, &ctinfo); + + memset(&newrange, 0, sizeof(newrange)); + + newrange.flags = range->flags | NF_NAT_RANGE_MAP_IPS; + newrange.min_addr = *newdst; + newrange.max_addr = *newdst; + newrange.min_proto = range->min_proto; + newrange.max_proto = range->max_proto; + + return nf_nat_setup_info(ct, &newrange, NF_NAT_MANIP_DST); +} + unsigned int -nf_nat_redirect_ipv4(struct sk_buff *skb, - const struct nf_nat_ipv4_multi_range_compat *mr, +nf_nat_redirect_ipv4(struct sk_buff *skb, const struct nf_nat_range2 *range, unsigned int hooknum) { - struct nf_conn *ct; - enum ip_conntrack_info ctinfo; - __be32 newdst; - struct nf_nat_range2 newrange; + union nf_inet_addr newdst = {}; WARN_ON(hooknum != NF_INET_PRE_ROUTING && hooknum != NF_INET_LOCAL_OUT); - ct = nf_ct_get(skb, &ctinfo); - WARN_ON(!(ct && (ctinfo == IP_CT_NEW || ctinfo == IP_CT_RELATED))); - /* Local packets: make them go to loopback */ if (hooknum == NF_INET_LOCAL_OUT) { - newdst = htonl(0x7F000001); + newdst.ip = htonl(INADDR_LOOPBACK); } else { const struct in_device *indev; - newdst = 0; - indev = __in_dev_get_rcu(skb->dev); if (indev) { const struct in_ifaddr *ifa; ifa = rcu_dereference(indev->ifa_list); if (ifa) - newdst = ifa->ifa_local; + newdst.ip = ifa->ifa_local; } - if (!newdst) + if (!newdst.ip) return NF_DROP; } - /* Transfer from original range. */ - memset(&newrange.min_addr, 0, sizeof(newrange.min_addr)); - memset(&newrange.max_addr, 0, sizeof(newrange.max_addr)); - newrange.flags = mr->range[0].flags | NF_NAT_RANGE_MAP_IPS; - newrange.min_addr.ip = newdst; - newrange.max_addr.ip = newdst; - newrange.min_proto = mr->range[0].min; - newrange.max_proto = mr->range[0].max; - - /* Hand modified range to generic setup. */ - return nf_nat_setup_info(ct, &newrange, NF_NAT_MANIP_DST); + return nf_nat_redirect(skb, range, &newdst); } EXPORT_SYMBOL_GPL(nf_nat_redirect_ipv4); static const struct in6_addr loopback_addr = IN6ADDR_LOOPBACK_INIT; +static bool nf_nat_redirect_ipv6_usable(const struct inet6_ifaddr *ifa, unsigned int scope) +{ + unsigned int ifa_addr_type = ipv6_addr_type(&ifa->addr); + + if (ifa_addr_type & IPV6_ADDR_MAPPED) + return false; + + if ((ifa->flags & IFA_F_TENTATIVE) && (!(ifa->flags & IFA_F_OPTIMISTIC))) + return false; + + if (scope) { + unsigned int ifa_scope = ifa_addr_type & IPV6_ADDR_SCOPE_MASK; + + if (!(scope & ifa_scope)) + return false; + } + + return true; +} + unsigned int nf_nat_redirect_ipv6(struct sk_buff *skb, const struct nf_nat_range2 *range, unsigned int hooknum) { - struct nf_nat_range2 newrange; - struct in6_addr newdst; - enum ip_conntrack_info ctinfo; - struct nf_conn *ct; + union nf_inet_addr newdst = {}; - ct = nf_ct_get(skb, &ctinfo); if (hooknum == NF_INET_LOCAL_OUT) { - newdst = loopback_addr; + newdst.in6 = loopback_addr; } else { + unsigned int scope = ipv6_addr_scope(&ipv6_hdr(skb)->daddr); struct inet6_dev *idev; - struct inet6_ifaddr *ifa; bool addr = false; idev = __in6_dev_get(skb->dev); if (idev != NULL) { + const struct inet6_ifaddr *ifa; + read_lock_bh(&idev->lock); list_for_each_entry(ifa, &idev->addr_list, if_list) { - newdst = ifa->addr; + if (!nf_nat_redirect_ipv6_usable(ifa, scope)) + continue; + + newdst.in6 = ifa->addr; addr = true; break; } @@ -109,12 +133,6 @@ return NF_DROP; } - newrange.flags = range->flags | NF_NAT_RANGE_MAP_IPS; - newrange.min_addr.in6 = newdst; - newrange.max_addr.in6 = newdst; - newrange.min_proto = range->min_proto; - newrange.max_proto = range->max_proto; - - return nf_nat_setup_info(ct, &newrange, NF_NAT_MANIP_DST); + return nf_nat_redirect(skb, range, &newdst); } EXPORT_SYMBOL_GPL(nf_nat_redirect_ipv6); diff -Nru linux-5.10.197/net/netfilter/nf_tables_api.c linux-5.10.205/net/netfilter/nf_tables_api.c --- linux-5.10.197/net/netfilter/nf_tables_api.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netfilter/nf_tables_api.c 2023-12-20 14:44:42.000000000 +0000 @@ -32,7 +32,9 @@ static LIST_HEAD(nf_tables_objects); static LIST_HEAD(nf_tables_flowtables); static LIST_HEAD(nf_tables_destroy_list); +static LIST_HEAD(nf_tables_gc_list); static DEFINE_SPINLOCK(nf_tables_destroy_list_lock); +static DEFINE_SPINLOCK(nf_tables_gc_list_lock); static u64 table_handle; enum { @@ -124,6 +126,9 @@ static void nf_tables_trans_destroy_work(struct work_struct *w); static DECLARE_WORK(trans_destroy_work, nf_tables_trans_destroy_work); +static void nft_trans_gc_work(struct work_struct *work); +static DECLARE_WORK(trans_gc_work, nft_trans_gc_work); + static void nft_ctx_init(struct nft_ctx *ctx, struct net *net, const struct sk_buff *skb, @@ -298,12 +303,18 @@ } static void nft_netdev_unregister_hooks(struct net *net, - struct list_head *hook_list) + struct list_head *hook_list, + bool release_netdev) { - struct nft_hook *hook; + struct nft_hook *hook, *next; - list_for_each_entry(hook, hook_list, list) + list_for_each_entry_safe(hook, next, hook_list, list) { nf_unregister_net_hook(net, &hook->ops); + if (release_netdev) { + list_del(&hook->list); + kfree_rcu(hook, rcu); + } + } } static int nf_tables_register_hook(struct net *net, @@ -329,9 +340,10 @@ return nf_register_net_hook(net, &basechain->ops); } -static void nf_tables_unregister_hook(struct net *net, - const struct nft_table *table, - struct nft_chain *chain) +static void __nf_tables_unregister_hook(struct net *net, + const struct nft_table *table, + struct nft_chain *chain, + bool release_netdev) { struct nft_base_chain *basechain; const struct nf_hook_ops *ops; @@ -346,11 +358,19 @@ return basechain->type->ops_unregister(net, ops); if (nft_base_chain_netdev(table->family, basechain->ops.hooknum)) - nft_netdev_unregister_hooks(net, &basechain->hook_list); + nft_netdev_unregister_hooks(net, &basechain->hook_list, + release_netdev); else nf_unregister_net_hook(net, &basechain->ops); } +static void nf_tables_unregister_hook(struct net *net, + const struct nft_table *table, + struct nft_chain *chain) +{ + return __nf_tables_unregister_hook(net, table, chain, false); +} + static void nft_trans_commit_list_add_tail(struct net *net, struct nft_trans *trans) { struct nftables_pernet *nft_net; @@ -559,10 +579,6 @@ return 0; } -static void nft_setelem_data_deactivate(const struct net *net, - const struct nft_set *set, - struct nft_set_elem *elem); - static int nft_mapelem_deactivate(const struct nft_ctx *ctx, struct nft_set *set, const struct nft_set_iter *iter, @@ -847,7 +863,8 @@ goto nla_put_failure; if (nla_put_string(skb, NFTA_TABLE_NAME, table->name) || - nla_put_be32(skb, NFTA_TABLE_FLAGS, htonl(table->flags)) || + nla_put_be32(skb, NFTA_TABLE_FLAGS, + htonl(table->flags & NFT_TABLE_F_MASK)) || nla_put_be32(skb, NFTA_TABLE_USE, htonl(table->use)) || nla_put_be64(skb, NFTA_TABLE_HANDLE, cpu_to_be64(table->handle), NFTA_TABLE_PAD)) @@ -1055,14 +1072,22 @@ static void nf_tables_table_disable(struct net *net, struct nft_table *table) { + table->flags &= ~NFT_TABLE_F_DORMANT; nft_table_disable(net, table, 0); + table->flags |= NFT_TABLE_F_DORMANT; } +#define __NFT_TABLE_F_INTERNAL (NFT_TABLE_F_MASK + 1) +#define __NFT_TABLE_F_WAS_DORMANT (__NFT_TABLE_F_INTERNAL << 0) +#define __NFT_TABLE_F_WAS_AWAKEN (__NFT_TABLE_F_INTERNAL << 1) +#define __NFT_TABLE_F_UPDATE (__NFT_TABLE_F_WAS_DORMANT | \ + __NFT_TABLE_F_WAS_AWAKEN) + static int nf_tables_updtable(struct nft_ctx *ctx) { struct nft_trans *trans; u32 flags; - int ret = 0; + int ret; if (!ctx->nla[NFTA_TABLE_FLAGS]) return 0; @@ -1074,6 +1099,10 @@ if (flags == ctx->table->flags) return 0; + /* No dormant off/on/off/on games in single transaction */ + if (ctx->table->flags & __NFT_TABLE_F_UPDATE) + return -EINVAL; + trans = nft_trans_alloc(ctx, NFT_MSG_NEWTABLE, sizeof(struct nft_trans_table)); if (trans == NULL) @@ -1081,23 +1110,27 @@ if ((flags & NFT_TABLE_F_DORMANT) && !(ctx->table->flags & NFT_TABLE_F_DORMANT)) { - nft_trans_table_enable(trans) = false; + ctx->table->flags |= NFT_TABLE_F_DORMANT; + if (!(ctx->table->flags & __NFT_TABLE_F_UPDATE)) + ctx->table->flags |= __NFT_TABLE_F_WAS_AWAKEN; } else if (!(flags & NFT_TABLE_F_DORMANT) && ctx->table->flags & NFT_TABLE_F_DORMANT) { ctx->table->flags &= ~NFT_TABLE_F_DORMANT; - ret = nf_tables_table_enable(ctx->net, ctx->table); - if (ret >= 0) - nft_trans_table_enable(trans) = true; - else - ctx->table->flags |= NFT_TABLE_F_DORMANT; + if (!(ctx->table->flags & __NFT_TABLE_F_UPDATE)) { + ret = nf_tables_table_enable(ctx->net, ctx->table); + if (ret < 0) + goto err_register_hooks; + + ctx->table->flags |= __NFT_TABLE_F_WAS_DORMANT; + } } - if (ret < 0) - goto err; nft_trans_table_update(trans) = true; nft_trans_commit_list_add_tail(ctx->net, trans); + return 0; -err: + +err_register_hooks: nft_trans_destroy(trans); return ret; } @@ -1252,7 +1285,7 @@ if (!nft_is_active_next(ctx->net, chain)) continue; - if (nft_chain_is_bound(chain)) + if (nft_chain_binding(chain)) continue; ctx->chain = chain; @@ -1266,8 +1299,7 @@ if (!nft_is_active_next(ctx->net, set)) continue; - if (nft_set_is_anonymous(set) && - !list_empty(&set->bindings)) + if (nft_set_is_anonymous(set)) continue; err = nft_delset(ctx, set); @@ -1297,7 +1329,7 @@ if (!nft_is_active_next(ctx->net, chain)) continue; - if (nft_chain_is_bound(chain)) + if (nft_chain_binding(chain)) continue; ctx->chain = chain; @@ -2584,6 +2616,9 @@ return PTR_ERR(chain); } + if (nft_chain_binding(chain)) + return -EOPNOTSUPP; + if (nlh->nlmsg_flags & NLM_F_NONREC && chain->use > 0) return -EBUSY; @@ -3483,6 +3518,11 @@ } if (nlh->nlmsg_flags & NLM_F_REPLACE) { + if (nft_chain_binding(chain)) { + err = -EOPNOTSUPP; + goto err_destroy_flow_rule; + } + trans = nft_trans_rule_add(&ctx, NFT_MSG_NEWRULE, rule); if (trans == NULL) { err = -ENOMEM; @@ -3591,7 +3631,7 @@ NL_SET_BAD_ATTR(extack, nla[NFTA_RULE_CHAIN]); return PTR_ERR(chain); } - if (nft_chain_is_bound(chain)) + if (nft_chain_binding(chain)) return -EOPNOTSUPP; } @@ -3621,7 +3661,7 @@ list_for_each_entry(chain, &table->chains, list) { if (!nft_is_active_next(net, chain)) continue; - if (nft_chain_is_bound(chain)) + if (nft_chain_binding(chain)) continue; ctx.chain = chain; @@ -4474,6 +4514,7 @@ } INIT_LIST_HEAD(&set->bindings); + refcount_set(&set->refs, 1); set->table = table; write_pnet(&set->net, net); set->ops = ops; @@ -4509,6 +4550,7 @@ } set->handle = nf_tables_alloc_handle(table); + INIT_LIST_HEAD(&set->pending_update); err = nft_trans_set_add(&ctx, NFT_MSG_NEWSET, set); if (err < 0) @@ -4533,6 +4575,14 @@ return err; } +static void nft_set_put(struct nft_set *set) +{ + if (refcount_dec_and_test(&set->refs)) { + kfree(set->name); + kvfree(set); + } +} + static void nft_set_destroy(const struct nft_ctx *ctx, struct nft_set *set) { if (WARN_ON(set->use > 0)) @@ -4542,8 +4592,7 @@ nft_expr_destroy(ctx, set->expr); set->ops->destroy(ctx, set); - kfree(set->name); - kvfree(set); + nft_set_put(set); } static int nf_tables_delset(struct net *net, struct sock *nlsk, @@ -4928,8 +4977,12 @@ const struct nft_set_iter *iter, struct nft_set_elem *elem) { + const struct nft_set_ext *ext = nft_set_elem_ext(set, elem->priv); struct nft_set_dump_args *args; + if (nft_set_elem_expired(ext)) + return 0; + args = container_of(iter, struct nft_set_dump_args, iter); return nf_tables_fill_setelem(args->skb, set, elem); } @@ -5623,7 +5676,8 @@ goto err_elem_expr; } - ext->genmask = nft_genmask_cur(ctx->net) | NFT_SET_ELEM_BUSY_MASK; + ext->genmask = nft_genmask_cur(ctx->net); + err = set->ops->insert(ctx->net, set, &elem, &ext2); if (err) { if (err == -EEXIST) { @@ -5763,9 +5817,9 @@ nft_use_inc_restore(&(*nft_set_ext_obj(ext))->use); } -static void nft_setelem_data_deactivate(const struct net *net, - const struct nft_set *set, - struct nft_set_elem *elem) +void nft_setelem_data_deactivate(const struct net *net, + const struct nft_set *set, + struct nft_set_elem *elem) { const struct nft_set_ext *ext = nft_set_elem_ext(set, elem->priv); @@ -5907,8 +5961,10 @@ if (IS_ERR(set)) return PTR_ERR(set); - if (!list_empty(&set->bindings) && - (set->flags & (NFT_SET_CONSTANT | NFT_SET_ANONYMOUS))) + if (nft_set_is_anonymous(set)) + return -EOPNOTSUPP; + + if (!list_empty(&set->bindings) && (set->flags & NFT_SET_CONSTANT)) return -EBUSY; if (nla[NFTA_SET_ELEM_LIST_ELEMENTS] == NULL) { @@ -5931,29 +5987,6 @@ return err; } -void nft_set_gc_batch_release(struct rcu_head *rcu) -{ - struct nft_set_gc_batch *gcb; - unsigned int i; - - gcb = container_of(rcu, struct nft_set_gc_batch, head.rcu); - for (i = 0; i < gcb->head.cnt; i++) - nft_set_elem_destroy(gcb->head.set, gcb->elems[i], true); - kfree(gcb); -} - -struct nft_set_gc_batch *nft_set_gc_batch_alloc(const struct nft_set *set, - gfp_t gfp) -{ - struct nft_set_gc_batch *gcb; - - gcb = kzalloc(sizeof(*gcb), gfp); - if (gcb == NULL) - return gcb; - gcb->head.set = set; - return gcb; -} - /* * Stateful objects */ @@ -6829,13 +6862,25 @@ FLOW_BLOCK_UNBIND); } -static void nft_unregister_flowtable_net_hooks(struct net *net, - struct list_head *hook_list) +static void __nft_unregister_flowtable_net_hooks(struct net *net, + struct list_head *hook_list, + bool release_netdev) { - struct nft_hook *hook; + struct nft_hook *hook, *next; - list_for_each_entry(hook, hook_list, list) + list_for_each_entry_safe(hook, next, hook_list, list) { nf_unregister_net_hook(net, &hook->ops); + if (release_netdev) { + list_del(&hook->list); + kfree_rcu(hook, rcu); + } + } +} + +static void nft_unregister_flowtable_net_hooks(struct net *net, + struct list_head *hook_list) +{ + __nft_unregister_flowtable_net_hooks(net, hook_list, false); } static int nft_register_flowtable_net_hooks(struct net *net, @@ -7997,6 +8042,190 @@ list_del_rcu(&chain->list); } +static void nft_trans_gc_setelem_remove(struct nft_ctx *ctx, + struct nft_trans_gc *trans) +{ + void **priv = trans->priv; + unsigned int i; + + for (i = 0; i < trans->count; i++) { + struct nft_set_elem elem = { + .priv = priv[i], + }; + + nft_setelem_data_deactivate(ctx->net, trans->set, &elem); + trans->set->ops->remove(trans->net, trans->set, &elem); + } +} + +void nft_trans_gc_destroy(struct nft_trans_gc *trans) +{ + nft_set_put(trans->set); + put_net(trans->net); + kfree(trans); +} + +static void nft_trans_gc_trans_free(struct rcu_head *rcu) +{ + struct nft_set_elem elem = {}; + struct nft_trans_gc *trans; + struct nft_ctx ctx = {}; + unsigned int i; + + trans = container_of(rcu, struct nft_trans_gc, rcu); + ctx.net = read_pnet(&trans->set->net); + + for (i = 0; i < trans->count; i++) { + elem.priv = trans->priv[i]; + atomic_dec(&trans->set->nelems); + + nf_tables_set_elem_destroy(&ctx, trans->set, elem.priv); + } + + nft_trans_gc_destroy(trans); +} + +static bool nft_trans_gc_work_done(struct nft_trans_gc *trans) +{ + struct nftables_pernet *nft_net; + struct nft_ctx ctx = {}; + + nft_net = net_generic(trans->net, nf_tables_net_id); + + mutex_lock(&nft_net->commit_mutex); + + /* Check for race with transaction, otherwise this batch refers to + * stale objects that might not be there anymore. Skip transaction if + * set has been destroyed from control plane transaction in case gc + * worker loses race. + */ + if (READ_ONCE(nft_net->gc_seq) != trans->seq || trans->set->dead) { + mutex_unlock(&nft_net->commit_mutex); + return false; + } + + ctx.net = trans->net; + ctx.table = trans->set->table; + + nft_trans_gc_setelem_remove(&ctx, trans); + mutex_unlock(&nft_net->commit_mutex); + + return true; +} + +static void nft_trans_gc_work(struct work_struct *work) +{ + struct nft_trans_gc *trans, *next; + LIST_HEAD(trans_gc_list); + + spin_lock(&nf_tables_gc_list_lock); + list_splice_init(&nf_tables_gc_list, &trans_gc_list); + spin_unlock(&nf_tables_gc_list_lock); + + list_for_each_entry_safe(trans, next, &trans_gc_list, list) { + list_del(&trans->list); + if (!nft_trans_gc_work_done(trans)) { + nft_trans_gc_destroy(trans); + continue; + } + call_rcu(&trans->rcu, nft_trans_gc_trans_free); + } +} + +struct nft_trans_gc *nft_trans_gc_alloc(struct nft_set *set, + unsigned int gc_seq, gfp_t gfp) +{ + struct net *net = read_pnet(&set->net); + struct nft_trans_gc *trans; + + trans = kzalloc(sizeof(*trans), gfp); + if (!trans) + return NULL; + + trans->net = maybe_get_net(net); + if (!trans->net) { + kfree(trans); + return NULL; + } + + refcount_inc(&set->refs); + trans->set = set; + trans->seq = gc_seq; + + return trans; +} + +void nft_trans_gc_elem_add(struct nft_trans_gc *trans, void *priv) +{ + trans->priv[trans->count++] = priv; +} + +static void nft_trans_gc_queue_work(struct nft_trans_gc *trans) +{ + spin_lock(&nf_tables_gc_list_lock); + list_add_tail(&trans->list, &nf_tables_gc_list); + spin_unlock(&nf_tables_gc_list_lock); + + schedule_work(&trans_gc_work); +} + +static int nft_trans_gc_space(struct nft_trans_gc *trans) +{ + return NFT_TRANS_GC_BATCHCOUNT - trans->count; +} + +struct nft_trans_gc *nft_trans_gc_queue_async(struct nft_trans_gc *gc, + unsigned int gc_seq, gfp_t gfp) +{ + struct nft_set *set; + + if (nft_trans_gc_space(gc)) + return gc; + + set = gc->set; + nft_trans_gc_queue_work(gc); + + return nft_trans_gc_alloc(set, gc_seq, gfp); +} + +void nft_trans_gc_queue_async_done(struct nft_trans_gc *trans) +{ + if (trans->count == 0) { + nft_trans_gc_destroy(trans); + return; + } + + nft_trans_gc_queue_work(trans); +} + +struct nft_trans_gc *nft_trans_gc_queue_sync(struct nft_trans_gc *gc, gfp_t gfp) +{ + struct nft_set *set; + + if (WARN_ON_ONCE(!lockdep_commit_lock_is_held(gc->net))) + return NULL; + + if (nft_trans_gc_space(gc)) + return gc; + + set = gc->set; + call_rcu(&gc->rcu, nft_trans_gc_trans_free); + + return nft_trans_gc_alloc(set, 0, gfp); +} + +void nft_trans_gc_queue_sync_done(struct nft_trans_gc *trans) +{ + WARN_ON_ONCE(!lockdep_commit_lock_is_held(trans->net)); + + if (trans->count == 0) { + nft_trans_gc_destroy(trans); + return; + } + + call_rcu(&trans->rcu, nft_trans_gc_trans_free); +} + static void nf_tables_module_autoload_cleanup(struct net *net) { struct nftables_pernet *nft_net = net_generic(net, nf_tables_net_id); @@ -8141,13 +8370,45 @@ } } +static void nft_set_commit_update(struct list_head *set_update_list) +{ + struct nft_set *set, *next; + + list_for_each_entry_safe(set, next, set_update_list, pending_update) { + list_del_init(&set->pending_update); + + if (!set->ops->commit) + continue; + + set->ops->commit(set); + } +} + +static unsigned int nft_gc_seq_begin(struct nftables_pernet *nft_net) +{ + unsigned int gc_seq; + + /* Bump gc counter, it becomes odd, this is the busy mark. */ + gc_seq = READ_ONCE(nft_net->gc_seq); + WRITE_ONCE(nft_net->gc_seq, ++gc_seq); + + return gc_seq; +} + +static void nft_gc_seq_end(struct nftables_pernet *nft_net, unsigned int gc_seq) +{ + WRITE_ONCE(nft_net->gc_seq, ++gc_seq); +} + static int nf_tables_commit(struct net *net, struct sk_buff *skb) { struct nftables_pernet *nft_net = net_generic(net, nf_tables_net_id); struct nft_trans *trans, *next; + LIST_HEAD(set_update_list); struct nft_trans_elem *te; struct nft_chain *chain; struct nft_table *table; + unsigned int gc_seq; LIST_HEAD(adl); int err; @@ -8220,6 +8481,8 @@ while (++nft_net->base_seq == 0) ; + gc_seq = nft_gc_seq_begin(nft_net); + /* step 3. Start new generation, rules_gen_X now in use. */ net->nft.gencursor = nft_gencursor_next(net); @@ -8229,11 +8492,14 @@ switch (trans->msg_type) { case NFT_MSG_NEWTABLE: if (nft_trans_table_update(trans)) { - if (!nft_trans_table_enable(trans)) { - nf_tables_table_disable(net, - trans->ctx.table); - trans->ctx.table->flags |= NFT_TABLE_F_DORMANT; + if (!(trans->ctx.table->flags & __NFT_TABLE_F_UPDATE)) { + nft_trans_destroy(trans); + break; } + if (trans->ctx.table->flags & NFT_TABLE_F_DORMANT) + nf_tables_table_disable(net, trans->ctx.table); + + trans->ctx.table->flags &= ~__NFT_TABLE_F_UPDATE; } else { nft_clear(net, trans->ctx.table); } @@ -8299,6 +8565,7 @@ nft_trans_destroy(trans); break; case NFT_MSG_DELSET: + nft_trans_set(trans)->dead = 1; list_del_rcu(&nft_trans_set(trans)->list); nf_tables_set_notify(&trans->ctx, nft_trans_set(trans), NFT_MSG_DELSET, GFP_KERNEL); @@ -8310,6 +8577,11 @@ nf_tables_setelem_notify(&trans->ctx, te->set, &te->elem, NFT_MSG_NEWSETELEM, 0); + if (te->set->ops->commit && + list_empty(&te->set->pending_update)) { + list_add_tail(&te->set->pending_update, + &set_update_list); + } nft_trans_destroy(trans); break; case NFT_MSG_DELSETELEM: @@ -8321,6 +8593,11 @@ te->set->ops->remove(net, te->set, &te->elem); atomic_dec(&te->set->nelems); te->set->ndeact--; + if (te->set->ops->commit && + list_empty(&te->set->pending_update)) { + list_add_tail(&te->set->pending_update, + &set_update_list); + } break; case NFT_MSG_NEWOBJ: if (nft_trans_obj_update(trans)) { @@ -8381,9 +8658,13 @@ } } + nft_set_commit_update(&set_update_list); + nft_commit_notify(net, NETLINK_CB(skb).portid); nf_tables_gen_notify(net, skb, NFT_MSG_NEWGEN); nf_tables_commit_audit_log(&adl, nft_net->base_seq); + + nft_gc_seq_end(nft_net, gc_seq); nf_tables_commit_release(net); return 0; @@ -8437,10 +8718,25 @@ kfree(trans); } +static void nft_set_abort_update(struct list_head *set_update_list) +{ + struct nft_set *set, *next; + + list_for_each_entry_safe(set, next, set_update_list, pending_update) { + list_del_init(&set->pending_update); + + if (!set->ops->abort) + continue; + + set->ops->abort(set); + } +} + static int __nf_tables_abort(struct net *net, enum nfnl_abort_action action) { struct nftables_pernet *nft_net = net_generic(net, nf_tables_net_id); struct nft_trans *trans, *next; + LIST_HEAD(set_update_list); struct nft_trans_elem *te; if (action == NFNL_ABORT_VALIDATE && @@ -8452,11 +8748,17 @@ switch (trans->msg_type) { case NFT_MSG_NEWTABLE: if (nft_trans_table_update(trans)) { - if (nft_trans_table_enable(trans)) { - nf_tables_table_disable(net, - trans->ctx.table); + if (!(trans->ctx.table->flags & __NFT_TABLE_F_UPDATE)) { + nft_trans_destroy(trans); + break; + } + if (trans->ctx.table->flags & __NFT_TABLE_F_WAS_DORMANT) { + nf_tables_table_disable(net, trans->ctx.table); trans->ctx.table->flags |= NFT_TABLE_F_DORMANT; + } else if (trans->ctx.table->flags & __NFT_TABLE_F_WAS_AWAKEN) { + trans->ctx.table->flags &= ~NFT_TABLE_F_DORMANT; } + trans->ctx.table->flags &= ~__NFT_TABLE_F_UPDATE; nft_trans_destroy(trans); } else { list_del_rcu(&trans->ctx.table->list); @@ -8529,6 +8831,12 @@ te = (struct nft_trans_elem *)trans->data; te->set->ops->remove(net, te->set, &te->elem); atomic_dec(&te->set->nelems); + + if (te->set->ops->abort && + list_empty(&te->set->pending_update)) { + list_add_tail(&te->set->pending_update, + &set_update_list); + } break; case NFT_MSG_DELSETELEM: te = (struct nft_trans_elem *)trans->data; @@ -8537,6 +8845,11 @@ te->set->ops->activate(net, te->set, &te->elem); te->set->ndeact--; + if (te->set->ops->abort && + list_empty(&te->set->pending_update)) { + list_add_tail(&te->set->pending_update, + &set_update_list); + } nft_trans_destroy(trans); break; case NFT_MSG_NEWOBJ: @@ -8577,6 +8890,8 @@ } } + nft_set_abort_update(&set_update_list); + synchronize_rcu(); list_for_each_entry_safe_reverse(trans, next, @@ -8597,7 +8912,12 @@ enum nfnl_abort_action action) { struct nftables_pernet *nft_net = net_generic(net, nf_tables_net_id); - int ret = __nf_tables_abort(net, action); + unsigned int gc_seq; + int ret; + + gc_seq = nft_gc_seq_begin(nft_net); + ret = __nf_tables_abort(net, action); + nft_gc_seq_end(nft_net, gc_seq); mutex_unlock(&nft_net->commit_mutex); @@ -9207,16 +9527,25 @@ } EXPORT_SYMBOL_GPL(__nft_release_basechain); +static void __nft_release_hook(struct net *net, struct nft_table *table) +{ + struct nft_flowtable *flowtable; + struct nft_chain *chain; + + list_for_each_entry(chain, &table->chains, list) + __nf_tables_unregister_hook(net, table, chain, true); + list_for_each_entry(flowtable, &table->flowtables, list) + __nft_unregister_flowtable_net_hooks(net, &flowtable->hook_list, + true); +} + static void __nft_release_hooks(struct net *net) { struct nftables_pernet *nft_net = net_generic(net, nf_tables_net_id); struct nft_table *table; - struct nft_chain *chain; - list_for_each_entry(table, &nft_net->tables, list) { - list_for_each_entry(chain, &table->chains, list) - nf_tables_unregister_hook(net, table, chain); - } + list_for_each_entry(table, &nft_net->tables, list) + __nft_release_hook(net, table); } static void __nft_release_table(struct net *net, struct nft_table *table) @@ -9234,7 +9563,7 @@ ctx.family = table->family; ctx.table = table; list_for_each_entry(chain, &table->chains, list) { - if (nft_chain_is_bound(chain)) + if (nft_chain_binding(chain)) continue; ctx.chain = chain; @@ -9293,6 +9622,7 @@ mutex_init(&nft_net->commit_mutex); nft_net->base_seq = 1; nft_net->validate_state = NFT_VALIDATE_SKIP; + nft_net->gc_seq = 0; return 0; } @@ -9309,21 +9639,34 @@ static void __net_exit nf_tables_exit_net(struct net *net) { struct nftables_pernet *nft_net = net_generic(net, nf_tables_net_id); + unsigned int gc_seq; mutex_lock(&nft_net->commit_mutex); + + gc_seq = nft_gc_seq_begin(nft_net); + if (!list_empty(&nft_net->commit_list)) __nf_tables_abort(net, NFNL_ABORT_NONE); __nft_release_tables(net); + + nft_gc_seq_end(nft_net, gc_seq); + mutex_unlock(&nft_net->commit_mutex); WARN_ON_ONCE(!list_empty(&nft_net->tables)); WARN_ON_ONCE(!list_empty(&nft_net->module_list)); WARN_ON_ONCE(!list_empty(&nft_net->notify_list)); } +static void nf_tables_exit_batch(struct list_head *net_exit_list) +{ + flush_work(&trans_gc_work); +} + static struct pernet_operations nf_tables_net_ops = { .init = nf_tables_init_net, .pre_exit = nf_tables_pre_exit_net, .exit = nf_tables_exit_net, + .exit_batch = nf_tables_exit_batch, .id = &nf_tables_net_id, .size = sizeof(struct nftables_pernet), }; @@ -9388,6 +9731,7 @@ nft_chain_filter_fini(); nft_chain_route_fini(); unregister_pernet_subsys(&nf_tables_net_ops); + cancel_work_sync(&trans_gc_work); cancel_work_sync(&trans_destroy_work); rcu_barrier(); rhltable_destroy(&nft_objname_ht); diff -Nru linux-5.10.197/net/netfilter/nf_tables_core.c linux-5.10.205/net/netfilter/nf_tables_core.c --- linux-5.10.197/net/netfilter/nf_tables_core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netfilter/nf_tables_core.c 2023-12-20 14:44:42.000000000 +0000 @@ -125,7 +125,7 @@ else { if (!pkt->tprot_set) return false; - ptr = skb_network_header(skb) + pkt->xt.thoff; + ptr = skb_network_header(skb) + nft_thoff(pkt); } ptr += priv->offset; diff -Nru linux-5.10.197/net/netfilter/nf_tables_trace.c linux-5.10.205/net/netfilter/nf_tables_trace.c --- linux-5.10.197/net/netfilter/nf_tables_trace.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netfilter/nf_tables_trace.c 2023-12-20 14:44:42.000000000 +0000 @@ -113,17 +113,17 @@ int off = skb_network_offset(skb); unsigned int len, nh_end; - nh_end = pkt->tprot_set ? pkt->xt.thoff : skb->len; + nh_end = pkt->tprot_set ? nft_thoff(pkt) : skb->len; len = min_t(unsigned int, nh_end - skb_network_offset(skb), NFT_TRACETYPE_NETWORK_HSIZE); if (trace_fill_header(nlskb, NFTA_TRACE_NETWORK_HEADER, skb, off, len)) return -1; if (pkt->tprot_set) { - len = min_t(unsigned int, skb->len - pkt->xt.thoff, + len = min_t(unsigned int, skb->len - nft_thoff(pkt), NFT_TRACETYPE_TRANSPORT_HSIZE); if (trace_fill_header(nlskb, NFTA_TRACE_TRANSPORT_HEADER, skb, - pkt->xt.thoff, len)) + nft_thoff(pkt), len)) return -1; } diff -Nru linux-5.10.197/net/netfilter/nfnetlink_log.c linux-5.10.205/net/netfilter/nfnetlink_log.c --- linux-5.10.197/net/netfilter/nfnetlink_log.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netfilter/nfnetlink_log.c 2023-12-20 14:44:42.000000000 +0000 @@ -683,8 +683,8 @@ unsigned int plen = 0; struct nfnl_log_net *log = nfnl_log_pernet(net); const struct nfnl_ct_hook *nfnl_ct = NULL; + enum ip_conntrack_info ctinfo = 0; struct nf_conn *ct = NULL; - enum ip_conntrack_info ctinfo; if (li_user && li_user->type == NF_LOG_TYPE_ULOG) li = li_user; diff -Nru linux-5.10.197/net/netfilter/nft_exthdr.c linux-5.10.205/net/netfilter/nft_exthdr.c --- linux-5.10.197/net/netfilter/nft_exthdr.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netfilter/nft_exthdr.c 2023-12-20 14:44:42.000000000 +0000 @@ -10,8 +10,10 @@ #include #include #include +#include #include #include +#include #include struct nft_exthdr { @@ -33,6 +35,14 @@ return opt[offset + 1]; } +static int nft_skb_copy_to_reg(const struct sk_buff *skb, int offset, u32 *dest, unsigned int len) +{ + if (len % NFT_REG32_SIZE) + dest[len / NFT_REG32_SIZE] = 0; + + return skb_copy_bits(skb, offset, dest, len); +} + static void nft_exthdr_ipv6_eval(const struct nft_expr *expr, struct nft_regs *regs, const struct nft_pktinfo *pkt) @@ -54,8 +64,7 @@ } offset += priv->offset; - dest[priv->len / NFT_REG32_SIZE] = 0; - if (skb_copy_bits(pkt->skb, offset, dest, priv->len) < 0) + if (nft_skb_copy_to_reg(pkt->skb, offset, dest, priv->len) < 0) goto err; return; err: @@ -151,8 +160,7 @@ } offset += priv->offset; - dest[priv->len / NFT_REG32_SIZE] = 0; - if (skb_copy_bits(pkt->skb, offset, dest, priv->len) < 0) + if (nft_skb_copy_to_reg(pkt->skb, offset, dest, priv->len) < 0) goto err; return; err: @@ -168,7 +176,7 @@ if (!pkt->tprot_set || pkt->tprot != IPPROTO_TCP) return NULL; - tcph = skb_header_pointer(pkt->skb, pkt->xt.thoff, sizeof(*tcph), buffer); + tcph = skb_header_pointer(pkt->skb, nft_thoff(pkt), sizeof(*tcph), buffer); if (!tcph) return NULL; @@ -176,7 +184,7 @@ if (*tcphdr_len < sizeof(*tcph) || *tcphdr_len > len) return NULL; - return skb_header_pointer(pkt->skb, pkt->xt.thoff, *tcphdr_len, buffer); + return skb_header_pointer(pkt->skb, nft_thoff(pkt), *tcphdr_len, buffer); } static void nft_exthdr_tcp_eval(const struct nft_expr *expr, @@ -206,9 +214,10 @@ offset = i + priv->offset; if (priv->flags & NFT_EXTHDR_F_PRESENT) { - *dest = 1; + nft_reg_store8(dest, 1); } else { - dest[priv->len / NFT_REG32_SIZE] = 0; + if (priv->len % NFT_REG32_SIZE) + dest[priv->len / NFT_REG32_SIZE] = 0; memcpy(dest, opt + offset, priv->len); } @@ -234,9 +243,14 @@ tcph = nft_tcp_header_pointer(pkt, sizeof(buff), buff, &tcphdr_len); if (!tcph) - return; + goto err; + if (skb_ensure_writable(pkt->skb, nft_thoff(pkt) + tcphdr_len)) + goto err; + + tcph = (struct tcphdr *)(pkt->skb->data + nft_thoff(pkt)); opt = (u8 *)tcph; + for (i = sizeof(*tcph); i < tcphdr_len - 1; i += optl) { union { __be16 v16; @@ -249,16 +263,7 @@ continue; if (i + optl > tcphdr_len || priv->len + priv->offset > optl) - return; - - if (skb_ensure_writable(pkt->skb, - pkt->xt.thoff + i + priv->len)) - return; - - tcph = nft_tcp_header_pointer(pkt, sizeof(buff), buff, - &tcphdr_len); - if (!tcph) - return; + goto err; offset = i + priv->offset; @@ -301,6 +306,107 @@ return; } + return; +err: + regs->verdict.code = NFT_BREAK; +} + +static void nft_exthdr_tcp_strip_eval(const struct nft_expr *expr, + struct nft_regs *regs, + const struct nft_pktinfo *pkt) +{ + u8 buff[sizeof(struct tcphdr) + MAX_TCP_OPTION_SPACE]; + struct nft_exthdr *priv = nft_expr_priv(expr); + unsigned int i, tcphdr_len, optl; + struct tcphdr *tcph; + u8 *opt; + + tcph = nft_tcp_header_pointer(pkt, sizeof(buff), buff, &tcphdr_len); + if (!tcph) + goto err; + + if (skb_ensure_writable(pkt->skb, nft_thoff(pkt) + tcphdr_len)) + goto drop; + + tcph = (struct tcphdr *)(pkt->skb->data + nft_thoff(pkt)); + opt = (u8 *)tcph; + + for (i = sizeof(*tcph); i < tcphdr_len - 1; i += optl) { + unsigned int j; + + optl = optlen(opt, i); + if (priv->type != opt[i]) + continue; + + if (i + optl > tcphdr_len) + goto drop; + + for (j = 0; j < optl; ++j) { + u16 n = TCPOPT_NOP; + u16 o = opt[i+j]; + + if ((i + j) % 2 == 0) { + o <<= 8; + n <<= 8; + } + inet_proto_csum_replace2(&tcph->check, pkt->skb, htons(o), + htons(n), false); + } + memset(opt + i, TCPOPT_NOP, optl); + return; + } + + /* option not found, continue. This allows to do multiple + * option removals per rule. + */ + return; +err: + regs->verdict.code = NFT_BREAK; + return; +drop: + /* can't remove, no choice but to drop */ + regs->verdict.code = NF_DROP; +} + +static void nft_exthdr_sctp_eval(const struct nft_expr *expr, + struct nft_regs *regs, + const struct nft_pktinfo *pkt) +{ + unsigned int offset = nft_thoff(pkt) + sizeof(struct sctphdr); + struct nft_exthdr *priv = nft_expr_priv(expr); + u32 *dest = ®s->data[priv->dreg]; + const struct sctp_chunkhdr *sch; + struct sctp_chunkhdr _sch; + + if (pkt->tprot != IPPROTO_SCTP) + goto err; + + do { + sch = skb_header_pointer(pkt->skb, offset, sizeof(_sch), &_sch); + if (!sch || !sch->length) + break; + + if (sch->type == priv->type) { + if (priv->flags & NFT_EXTHDR_F_PRESENT) { + nft_reg_store8(dest, true); + return; + } + if (priv->offset + priv->len > ntohs(sch->length) || + offset + ntohs(sch->length) > pkt->skb->len) + break; + + if (nft_skb_copy_to_reg(pkt->skb, offset + priv->offset, + dest, priv->len) < 0) + break; + return; + } + offset += SCTP_PAD4(ntohs(sch->length)); + } while (offset < pkt->skb->len); +err: + if (priv->flags & NFT_EXTHDR_F_PRESENT) + nft_reg_store8(dest, false); + else + regs->verdict.code = NFT_BREAK; } static const struct nla_policy nft_exthdr_policy[NFTA_EXTHDR_MAX + 1] = { @@ -410,6 +516,28 @@ priv->len); } +static int nft_exthdr_tcp_strip_init(const struct nft_ctx *ctx, + const struct nft_expr *expr, + const struct nlattr * const tb[]) +{ + struct nft_exthdr *priv = nft_expr_priv(expr); + + if (tb[NFTA_EXTHDR_SREG] || + tb[NFTA_EXTHDR_DREG] || + tb[NFTA_EXTHDR_FLAGS] || + tb[NFTA_EXTHDR_OFFSET] || + tb[NFTA_EXTHDR_LEN]) + return -EINVAL; + + if (!tb[NFTA_EXTHDR_TYPE]) + return -EINVAL; + + priv->type = nla_get_u8(tb[NFTA_EXTHDR_TYPE]); + priv->op = NFT_EXTHDR_OP_TCPOPT; + + return 0; +} + static int nft_exthdr_ipv4_init(const struct nft_ctx *ctx, const struct nft_expr *expr, const struct nlattr * const tb[]) @@ -470,6 +598,13 @@ return nft_exthdr_dump_common(skb, priv); } +static int nft_exthdr_dump_strip(struct sk_buff *skb, const struct nft_expr *expr) +{ + const struct nft_exthdr *priv = nft_expr_priv(expr); + + return nft_exthdr_dump_common(skb, priv); +} + static const struct nft_expr_ops nft_exthdr_ipv6_ops = { .type = &nft_exthdr_type, .size = NFT_EXPR_SIZE(sizeof(struct nft_exthdr)), @@ -502,6 +637,22 @@ .dump = nft_exthdr_dump_set, }; +static const struct nft_expr_ops nft_exthdr_tcp_strip_ops = { + .type = &nft_exthdr_type, + .size = NFT_EXPR_SIZE(sizeof(struct nft_exthdr)), + .eval = nft_exthdr_tcp_strip_eval, + .init = nft_exthdr_tcp_strip_init, + .dump = nft_exthdr_dump_strip, +}; + +static const struct nft_expr_ops nft_exthdr_sctp_ops = { + .type = &nft_exthdr_type, + .size = NFT_EXPR_SIZE(sizeof(struct nft_exthdr)), + .eval = nft_exthdr_sctp_eval, + .init = nft_exthdr_init, + .dump = nft_exthdr_dump, +}; + static const struct nft_expr_ops * nft_exthdr_select_ops(const struct nft_ctx *ctx, const struct nlattr * const tb[]) @@ -521,7 +672,7 @@ return &nft_exthdr_tcp_set_ops; if (tb[NFTA_EXTHDR_DREG]) return &nft_exthdr_tcp_ops; - break; + return &nft_exthdr_tcp_strip_ops; case NFT_EXTHDR_OP_IPV6: if (tb[NFTA_EXTHDR_DREG]) return &nft_exthdr_ipv6_ops; @@ -532,6 +683,10 @@ return &nft_exthdr_ipv4_ops; } break; + case NFT_EXTHDR_OP_SCTP: + if (tb[NFTA_EXTHDR_DREG]) + return &nft_exthdr_sctp_ops; + break; } return ERR_PTR(-EOPNOTSUPP); diff -Nru linux-5.10.197/net/netfilter/nft_fib.c linux-5.10.205/net/netfilter/nft_fib.c --- linux-5.10.197/net/netfilter/nft_fib.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netfilter/nft_fib.c 2023-12-20 14:44:42.000000000 +0000 @@ -140,11 +140,15 @@ switch (priv->result) { case NFT_FIB_RESULT_OIF: index = dev ? dev->ifindex : 0; - *dreg = (priv->flags & NFTA_FIB_F_PRESENT) ? !!index : index; + if (priv->flags & NFTA_FIB_F_PRESENT) + nft_reg_store8(dreg, !!index); + else + *dreg = index; + break; case NFT_FIB_RESULT_OIFNAME: if (priv->flags & NFTA_FIB_F_PRESENT) - *dreg = !!dev; + nft_reg_store8(dreg, !!dev); else strncpy(reg, dev ? dev->name : "", IFNAMSIZ); break; diff -Nru linux-5.10.197/net/netfilter/nft_flow_offload.c linux-5.10.205/net/netfilter/nft_flow_offload.c --- linux-5.10.197/net/netfilter/nft_flow_offload.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netfilter/nft_flow_offload.c 2023-12-20 14:44:42.000000000 +0000 @@ -90,7 +90,7 @@ switch (ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.dst.protonum) { case IPPROTO_TCP: - tcph = skb_header_pointer(pkt->skb, pkt->xt.thoff, + tcph = skb_header_pointer(pkt->skb, nft_thoff(pkt), sizeof(_tcph), &_tcph); if (unlikely(!tcph || tcph->fin || tcph->rst)) goto out; diff -Nru linux-5.10.197/net/netfilter/nft_payload.c linux-5.10.205/net/netfilter/nft_payload.c --- linux-5.10.197/net/netfilter/nft_payload.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netfilter/nft_payload.c 2023-12-20 14:44:42.000000000 +0000 @@ -93,7 +93,7 @@ switch (priv->base) { case NFT_PAYLOAD_LL_HEADER: - if (!skb_mac_header_was_set(skb)) + if (!skb_mac_header_was_set(skb) || skb_mac_header_len(skb) == 0) goto err; if (skb_vlan_tag_present(skb)) { @@ -110,7 +110,7 @@ case NFT_PAYLOAD_TRANSPORT_HEADER: if (!pkt->tprot_set) goto err; - offset = pkt->xt.thoff; + offset = nft_thoff(pkt); break; default: BUG(); @@ -510,7 +510,7 @@ *l4csum_offset = offsetof(struct tcphdr, check); break; case IPPROTO_UDP: - if (!nft_payload_udp_checksum(skb, pkt->xt.thoff)) + if (!nft_payload_udp_checksum(skb, nft_thoff(pkt))) return -1; fallthrough; case IPPROTO_UDPLITE: @@ -523,7 +523,7 @@ return -1; } - *l4csum_offset += pkt->xt.thoff; + *l4csum_offset += nft_thoff(pkt); return 0; } @@ -615,7 +615,7 @@ case NFT_PAYLOAD_TRANSPORT_HEADER: if (!pkt->tprot_set) goto err; - offset = pkt->xt.thoff; + offset = nft_thoff(pkt); break; default: BUG(); @@ -646,7 +646,7 @@ if (priv->csum_type == NFT_PAYLOAD_CSUM_SCTP && pkt->tprot == IPPROTO_SCTP && skb->ip_summed != CHECKSUM_PARTIAL) { - if (nft_payload_csum_sctp(skb, pkt->xt.thoff)) + if (nft_payload_csum_sctp(skb, nft_thoff(pkt))) goto err; } diff -Nru linux-5.10.197/net/netfilter/nft_redir.c linux-5.10.205/net/netfilter/nft_redir.c --- linux-5.10.197/net/netfilter/nft_redir.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netfilter/nft_redir.c 2023-12-20 14:44:42.000000000 +0000 @@ -64,6 +64,8 @@ } else { priv->sreg_proto_max = priv->sreg_proto_min; } + + priv->flags |= NF_NAT_RANGE_PROTO_SPECIFIED; } if (tb[NFTA_REDIR_FLAGS]) { @@ -98,25 +100,37 @@ return -1; } -static void nft_redir_ipv4_eval(const struct nft_expr *expr, - struct nft_regs *regs, - const struct nft_pktinfo *pkt) +static void nft_redir_eval(const struct nft_expr *expr, + struct nft_regs *regs, + const struct nft_pktinfo *pkt) { - struct nft_redir *priv = nft_expr_priv(expr); - struct nf_nat_ipv4_multi_range_compat mr; + const struct nft_redir *priv = nft_expr_priv(expr); + struct nf_nat_range2 range; - memset(&mr, 0, sizeof(mr)); + memset(&range, 0, sizeof(range)); + range.flags = priv->flags; if (priv->sreg_proto_min) { - mr.range[0].min.all = (__force __be16)nft_reg_load16( - ®s->data[priv->sreg_proto_min]); - mr.range[0].max.all = (__force __be16)nft_reg_load16( - ®s->data[priv->sreg_proto_max]); - mr.range[0].flags |= NF_NAT_RANGE_PROTO_SPECIFIED; + range.min_proto.all = (__force __be16) + nft_reg_load16(®s->data[priv->sreg_proto_min]); + range.max_proto.all = (__force __be16) + nft_reg_load16(®s->data[priv->sreg_proto_max]); } - mr.range[0].flags |= priv->flags; - - regs->verdict.code = nf_nat_redirect_ipv4(pkt->skb, &mr, nft_hook(pkt)); + switch (nft_pf(pkt)) { + case NFPROTO_IPV4: + regs->verdict.code = nf_nat_redirect_ipv4(pkt->skb, &range, + nft_hook(pkt)); + break; +#ifdef CONFIG_NF_TABLES_IPV6 + case NFPROTO_IPV6: + regs->verdict.code = nf_nat_redirect_ipv6(pkt->skb, &range, + nft_hook(pkt)); + break; +#endif + default: + WARN_ON_ONCE(1); + break; + } } static void @@ -129,7 +143,7 @@ static const struct nft_expr_ops nft_redir_ipv4_ops = { .type = &nft_redir_ipv4_type, .size = NFT_EXPR_SIZE(sizeof(struct nft_redir)), - .eval = nft_redir_ipv4_eval, + .eval = nft_redir_eval, .init = nft_redir_init, .destroy = nft_redir_ipv4_destroy, .dump = nft_redir_dump, @@ -146,28 +160,6 @@ }; #ifdef CONFIG_NF_TABLES_IPV6 -static void nft_redir_ipv6_eval(const struct nft_expr *expr, - struct nft_regs *regs, - const struct nft_pktinfo *pkt) -{ - struct nft_redir *priv = nft_expr_priv(expr); - struct nf_nat_range2 range; - - memset(&range, 0, sizeof(range)); - if (priv->sreg_proto_min) { - range.min_proto.all = (__force __be16)nft_reg_load16( - ®s->data[priv->sreg_proto_min]); - range.max_proto.all = (__force __be16)nft_reg_load16( - ®s->data[priv->sreg_proto_max]); - range.flags |= NF_NAT_RANGE_PROTO_SPECIFIED; - } - - range.flags |= priv->flags; - - regs->verdict.code = - nf_nat_redirect_ipv6(pkt->skb, &range, nft_hook(pkt)); -} - static void nft_redir_ipv6_destroy(const struct nft_ctx *ctx, const struct nft_expr *expr) { @@ -178,7 +170,7 @@ static const struct nft_expr_ops nft_redir_ipv6_ops = { .type = &nft_redir_ipv6_type, .size = NFT_EXPR_SIZE(sizeof(struct nft_redir)), - .eval = nft_redir_ipv6_eval, + .eval = nft_redir_eval, .init = nft_redir_init, .destroy = nft_redir_ipv6_destroy, .dump = nft_redir_dump, @@ -196,20 +188,6 @@ #endif #ifdef CONFIG_NF_TABLES_INET -static void nft_redir_inet_eval(const struct nft_expr *expr, - struct nft_regs *regs, - const struct nft_pktinfo *pkt) -{ - switch (nft_pf(pkt)) { - case NFPROTO_IPV4: - return nft_redir_ipv4_eval(expr, regs, pkt); - case NFPROTO_IPV6: - return nft_redir_ipv6_eval(expr, regs, pkt); - } - - WARN_ON_ONCE(1); -} - static void nft_redir_inet_destroy(const struct nft_ctx *ctx, const struct nft_expr *expr) { @@ -220,7 +198,7 @@ static const struct nft_expr_ops nft_redir_inet_ops = { .type = &nft_redir_inet_type, .size = NFT_EXPR_SIZE(sizeof(struct nft_redir)), - .eval = nft_redir_inet_eval, + .eval = nft_redir_eval, .init = nft_redir_init, .destroy = nft_redir_inet_destroy, .dump = nft_redir_dump, diff -Nru linux-5.10.197/net/netfilter/nft_reject_inet.c linux-5.10.205/net/netfilter/nft_reject_inet.c --- linux-5.10.197/net/netfilter/nft_reject_inet.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netfilter/nft_reject_inet.c 2023-12-20 14:44:42.000000000 +0000 @@ -28,7 +28,8 @@ nft_hook(pkt)); break; case NFT_REJECT_TCP_RST: - nf_send_reset(nft_net(pkt), pkt->skb, nft_hook(pkt)); + nf_send_reset(nft_net(pkt), nft_sk(pkt), + pkt->skb, nft_hook(pkt)); break; case NFT_REJECT_ICMPX_UNREACH: nf_send_unreach(pkt->skb, @@ -44,7 +45,8 @@ priv->icmp_code, nft_hook(pkt)); break; case NFT_REJECT_TCP_RST: - nf_send_reset6(nft_net(pkt), pkt->skb, nft_hook(pkt)); + nf_send_reset6(nft_net(pkt), nft_sk(pkt), + pkt->skb, nft_hook(pkt)); break; case NFT_REJECT_ICMPX_UNREACH: nf_send_unreach6(nft_net(pkt), pkt->skb, diff -Nru linux-5.10.197/net/netfilter/nft_set_hash.c linux-5.10.205/net/netfilter/nft_set_hash.c --- linux-5.10.197/net/netfilter/nft_set_hash.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netfilter/nft_set_hash.c 2023-12-20 14:44:42.000000000 +0000 @@ -17,6 +17,9 @@ #include #include #include +#include + +extern unsigned int nf_tables_net_id; /* We target a hash table size of 4, element hint is 75% of final size */ #define NFT_RHASH_ELEMENT_HINT 3 @@ -59,6 +62,8 @@ if (memcmp(nft_set_ext_key(&he->ext), x->key, x->set->klen)) return 1; + if (nft_set_elem_is_dead(&he->ext)) + return 1; if (nft_set_elem_expired(&he->ext)) return 1; if (!nft_set_elem_active(&he->ext, x->genmask)) @@ -187,7 +192,6 @@ struct nft_rhash_elem *he = elem->priv; nft_set_elem_change_active(net, set, &he->ext); - nft_set_elem_clear_busy(&he->ext); } static bool nft_rhash_flush(const struct net *net, @@ -195,12 +199,9 @@ { struct nft_rhash_elem *he = priv; - if (!nft_set_elem_mark_busy(&he->ext) || - !nft_is_active(net, &he->ext)) { - nft_set_elem_change_active(net, set, &he->ext); - return true; - } - return false; + nft_set_elem_change_active(net, set, &he->ext); + + return true; } static void *nft_rhash_deactivate(const struct net *net, @@ -217,9 +218,8 @@ rcu_read_lock(); he = rhashtable_lookup(&priv->ht, &arg, nft_rhash_params); - if (he != NULL && - !nft_rhash_flush(net, set, he)) - he = NULL; + if (he) + nft_set_elem_change_active(net, set, &he->ext); rcu_read_unlock(); @@ -251,7 +251,9 @@ if (he == NULL) return false; - return rhashtable_remove_fast(&priv->ht, &he->node, nft_rhash_params) == 0; + nft_set_elem_dead(&he->ext); + + return true; } static void nft_rhash_walk(const struct nft_ctx *ctx, struct nft_set *set, @@ -277,8 +279,6 @@ if (iter->count < iter->skip) goto cont; - if (nft_set_elem_expired(&he->ext)) - goto cont; if (!nft_set_elem_active(&he->ext, iter->genmask)) goto cont; @@ -297,49 +297,75 @@ static void nft_rhash_gc(struct work_struct *work) { + struct nftables_pernet *nft_net; struct nft_set *set; struct nft_rhash_elem *he; struct nft_rhash *priv; - struct nft_set_gc_batch *gcb = NULL; struct rhashtable_iter hti; + struct nft_trans_gc *gc; + struct net *net; + u32 gc_seq; priv = container_of(work, struct nft_rhash, gc_work.work); set = nft_set_container_of(priv); + net = read_pnet(&set->net); + nft_net = net_generic(net, nf_tables_net_id); + gc_seq = READ_ONCE(nft_net->gc_seq); + + if (nft_set_gc_is_pending(set)) + goto done; + + gc = nft_trans_gc_alloc(set, gc_seq, GFP_KERNEL); + if (!gc) + goto done; rhashtable_walk_enter(&priv->ht, &hti); rhashtable_walk_start(&hti); while ((he = rhashtable_walk_next(&hti))) { if (IS_ERR(he)) { - if (PTR_ERR(he) != -EAGAIN) - break; - continue; + nft_trans_gc_destroy(gc); + gc = NULL; + goto try_later; } + /* Ruleset has been updated, try later. */ + if (READ_ONCE(nft_net->gc_seq) != gc_seq) { + nft_trans_gc_destroy(gc); + gc = NULL; + goto try_later; + } + + if (nft_set_elem_is_dead(&he->ext)) + goto dead_elem; + if (nft_set_ext_exists(&he->ext, NFT_SET_EXT_EXPR)) { struct nft_expr *expr = nft_set_ext_expr(&he->ext); if (expr->ops->gc && expr->ops->gc(read_pnet(&set->net), expr)) - goto gc; + goto needs_gc_run; } + if (!nft_set_elem_expired(&he->ext)) continue; -gc: - if (nft_set_elem_mark_busy(&he->ext)) - continue; +needs_gc_run: + nft_set_elem_dead(&he->ext); +dead_elem: + gc = nft_trans_gc_queue_async(gc, gc_seq, GFP_ATOMIC); + if (!gc) + goto try_later; - gcb = nft_set_gc_batch_check(set, gcb, GFP_ATOMIC); - if (gcb == NULL) - break; - rhashtable_remove_fast(&priv->ht, &he->node, nft_rhash_params); - atomic_dec(&set->nelems); - nft_set_gc_batch_add(gcb, he); + nft_trans_gc_elem_add(gc, he); } + +try_later: rhashtable_walk_stop(&hti); rhashtable_walk_exit(&hti); - nft_set_gc_batch_complete(gcb); + if (gc) + nft_trans_gc_queue_async_done(gc); +done: queue_delayed_work(system_power_efficient_wq, &priv->gc_work, nft_set_gc_interval(set)); } @@ -374,7 +400,7 @@ return err; INIT_DEFERRABLE_WORK(&priv->gc_work, nft_rhash_gc); - if (set->flags & NFT_SET_TIMEOUT) + if (set->flags & (NFT_SET_TIMEOUT | NFT_SET_EVAL)) nft_rhash_gc_init(set); return 0; @@ -402,7 +428,6 @@ }; cancel_delayed_work_sync(&priv->gc_work); - rcu_barrier(); rhashtable_free_and_destroy(&priv->ht, nft_rhash_elem_destroy, (void *)&rhash_ctx); } diff -Nru linux-5.10.197/net/netfilter/nft_set_pipapo.c linux-5.10.205/net/netfilter/nft_set_pipapo.c --- linux-5.10.197/net/netfilter/nft_set_pipapo.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netfilter/nft_set_pipapo.c 2023-12-20 14:44:42.000000000 +0000 @@ -566,8 +566,9 @@ goto out; if (last) { - if (nft_set_elem_expired(&f->mt[b].e->ext) || - (genmask && + if (nft_set_elem_expired(&f->mt[b].e->ext)) + goto next_match; + if ((genmask && !nft_set_elem_active(&f->mt[b].e->ext, genmask))) goto next_match; @@ -1536,15 +1537,32 @@ } } +static void nft_pipapo_gc_deactivate(struct net *net, struct nft_set *set, + struct nft_pipapo_elem *e) +{ + struct nft_set_elem elem = { + .priv = e, + }; + + nft_setelem_data_deactivate(net, set, &elem); +} + /** * pipapo_gc() - Drop expired entries from set, destroy start and end elements - * @set: nftables API set representation + * @_set: nftables API set representation * @m: Matching data */ -static void pipapo_gc(const struct nft_set *set, struct nft_pipapo_match *m) +static void pipapo_gc(const struct nft_set *_set, struct nft_pipapo_match *m) { + struct nft_set *set = (struct nft_set *) _set; struct nft_pipapo *priv = nft_set_priv(set); + struct net *net = read_pnet(&set->net); int rules_f0, first_rule = 0; + struct nft_trans_gc *gc; + + gc = nft_trans_gc_alloc(set, 0, GFP_KERNEL); + if (!gc) + return; while ((rules_f0 = pipapo_rules_same_key(m->f, first_rule))) { union nft_pipapo_map_bucket rulemap[NFT_PIPAPO_MAX_FIELDS]; @@ -1569,13 +1587,19 @@ f--; i--; e = f->mt[rulemap[i].to].e; - if (nft_set_elem_expired(&e->ext) && - !nft_set_elem_mark_busy(&e->ext)) { + /* synchronous gc never fails, there is no need to set on + * NFT_SET_ELEM_DEAD_BIT. + */ + if (nft_set_elem_expired(&e->ext)) { priv->dirty = true; - pipapo_drop(m, rulemap); - rcu_barrier(); - nft_set_elem_destroy(set, e, true); + gc = nft_trans_gc_queue_sync(gc, GFP_ATOMIC); + if (!gc) + return; + + nft_pipapo_gc_deactivate(net, set, e); + pipapo_drop(m, rulemap); + nft_trans_gc_elem_add(gc, e); /* And check again current first rule, which is now the * first we haven't checked. @@ -1585,7 +1609,10 @@ } } - priv->last_gc = jiffies; + if (gc) { + nft_trans_gc_queue_sync_done(gc); + priv->last_gc = jiffies; + } } /** @@ -1603,17 +1630,10 @@ } } -/** - * pipapo_reclaim_match - RCU callback to free fields from old matching data - * @rcu: RCU head - */ -static void pipapo_reclaim_match(struct rcu_head *rcu) +static void pipapo_free_match(struct nft_pipapo_match *m) { - struct nft_pipapo_match *m; int i; - m = container_of(rcu, struct nft_pipapo_match, rcu); - for_each_possible_cpu(i) kfree(*per_cpu_ptr(m->scratch, i)); @@ -1628,7 +1648,19 @@ } /** - * pipapo_commit() - Replace lookup data with current working copy + * pipapo_reclaim_match - RCU callback to free fields from old matching data + * @rcu: RCU head + */ +static void pipapo_reclaim_match(struct rcu_head *rcu) +{ + struct nft_pipapo_match *m; + + m = container_of(rcu, struct nft_pipapo_match, rcu); + pipapo_free_match(m); +} + +/** + * nft_pipapo_commit() - Replace lookup data with current working copy * @set: nftables API set representation * * While at it, check if we should perform garbage collection on the working @@ -1638,7 +1670,7 @@ * We also need to create a new working copy for subsequent insertions and * deletions. */ -static void pipapo_commit(const struct nft_set *set) +static void nft_pipapo_commit(const struct nft_set *set) { struct nft_pipapo *priv = nft_set_priv(set); struct nft_pipapo_match *new_clone, *old; @@ -1663,6 +1695,26 @@ priv->clone = new_clone; } +static void nft_pipapo_abort(const struct nft_set *set) +{ + struct nft_pipapo *priv = nft_set_priv(set); + struct nft_pipapo_match *new_clone, *m; + + if (!priv->dirty) + return; + + m = rcu_dereference(priv->match); + + new_clone = pipapo_clone(m); + if (IS_ERR(new_clone)) + return; + + priv->dirty = false; + + pipapo_free_match(priv->clone); + priv->clone = new_clone; +} + /** * nft_pipapo_activate() - Mark element reference as active given key, commit * @net: Network namespace @@ -1670,8 +1722,7 @@ * @elem: nftables API element representation containing key data * * On insertion, elements are added to a copy of the matching data currently - * in use for lookups, and not directly inserted into current lookup data, so - * we'll take care of that by calling pipapo_commit() here. Both + * in use for lookups, and not directly inserted into current lookup data. Both * nft_pipapo_insert() and nft_pipapo_activate() are called once for each * element, hence we can't purpose either one as a real commit operation. */ @@ -1679,16 +1730,9 @@ const struct nft_set *set, const struct nft_set_elem *elem) { - struct nft_pipapo_elem *e; - - e = pipapo_get(net, set, (const u8 *)elem->key.val.data, 0); - if (IS_ERR(e)) - return; + struct nft_pipapo_elem *e = elem->priv; nft_set_elem_change_active(net, set, &e->ext); - nft_set_elem_clear_busy(&e->ext); - - pipapo_commit(set); } /** @@ -1900,10 +1944,6 @@ data = (const u8 *)nft_set_ext_key(&e->ext); - e = pipapo_get(net, set, data, 0); - if (IS_ERR(e)) - return; - while ((rules_f0 = pipapo_rules_same_key(m->f, first_rule))) { union nft_pipapo_map_bucket rulemap[NFT_PIPAPO_MAX_FIELDS]; const u8 *match_start, *match_end; @@ -1938,7 +1978,6 @@ if (i == m->field_count) { priv->dirty = true; pipapo_drop(m, rulemap); - pipapo_commit(set); return; } @@ -1988,7 +2027,8 @@ goto cont; e = f->mt[r].e; - if (nft_set_elem_expired(&e->ext)) + + if (!nft_set_elem_active(&e->ext, iter->genmask)) goto cont; elem.priv = e; @@ -2245,6 +2285,8 @@ .init = nft_pipapo_init, .destroy = nft_pipapo_destroy, .gc_init = nft_pipapo_gc_init, + .commit = nft_pipapo_commit, + .abort = nft_pipapo_abort, .elemsize = offsetof(struct nft_pipapo_elem, ext), }, }; @@ -2267,6 +2309,8 @@ .init = nft_pipapo_init, .destroy = nft_pipapo_destroy, .gc_init = nft_pipapo_gc_init, + .commit = nft_pipapo_commit, + .abort = nft_pipapo_abort, .elemsize = offsetof(struct nft_pipapo_elem, ext), }, }; diff -Nru linux-5.10.197/net/netfilter/nft_set_rbtree.c linux-5.10.205/net/netfilter/nft_set_rbtree.c --- linux-5.10.197/net/netfilter/nft_set_rbtree.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netfilter/nft_set_rbtree.c 2023-12-20 14:44:42.000000000 +0000 @@ -14,6 +14,9 @@ #include #include #include +#include + +extern unsigned int nf_tables_net_id; struct nft_rbtree { struct rb_root root; @@ -46,6 +49,12 @@ set->klen); } +static bool nft_rbtree_elem_expired(const struct nft_rbtree_elem *rbe) +{ + return nft_set_elem_expired(&rbe->ext) || + nft_set_elem_is_dead(&rbe->ext); +} + static bool __nft_rbtree_lookup(const struct net *net, const struct nft_set *set, const u32 *key, const struct nft_set_ext **ext, unsigned int seq) @@ -80,7 +89,7 @@ continue; } - if (nft_set_elem_expired(&rbe->ext)) + if (nft_rbtree_elem_expired(rbe)) return false; if (nft_rbtree_interval_end(rbe)) { @@ -98,7 +107,7 @@ if (set->flags & NFT_SET_INTERVAL && interval != NULL && nft_set_elem_active(&interval->ext, genmask) && - !nft_set_elem_expired(&interval->ext) && + !nft_rbtree_elem_expired(interval) && nft_rbtree_interval_start(interval)) { *ext = &interval->ext; return true; @@ -214,19 +223,31 @@ return rbe; } -static int nft_rbtree_gc_elem(const struct nft_set *__set, - struct nft_rbtree *priv, - struct nft_rbtree_elem *rbe, - u8 genmask) +static void nft_rbtree_gc_remove(struct net *net, struct nft_set *set, + struct nft_rbtree *priv, + struct nft_rbtree_elem *rbe) +{ + struct nft_set_elem elem = { + .priv = rbe, + }; + + nft_setelem_data_deactivate(net, set, &elem); + rb_erase(&rbe->node, &priv->root); +} + +static const struct nft_rbtree_elem * +nft_rbtree_gc_elem(const struct nft_set *__set, struct nft_rbtree *priv, + struct nft_rbtree_elem *rbe, u8 genmask) { struct nft_set *set = (struct nft_set *)__set; struct rb_node *prev = rb_prev(&rbe->node); + struct net *net = read_pnet(&set->net); struct nft_rbtree_elem *rbe_prev; - struct nft_set_gc_batch *gcb; + struct nft_trans_gc *gc; - gcb = nft_set_gc_batch_check(set, NULL, GFP_ATOMIC); - if (!gcb) - return -ENOMEM; + gc = nft_trans_gc_alloc(set, 0, GFP_ATOMIC); + if (!gc) + return ERR_PTR(-ENOMEM); /* search for end interval coming before this element. * end intervals don't carry a timeout extension, they @@ -241,21 +262,33 @@ prev = rb_prev(prev); } + rbe_prev = NULL; if (prev) { rbe_prev = rb_entry(prev, struct nft_rbtree_elem, node); + nft_rbtree_gc_remove(net, set, priv, rbe_prev); - rb_erase(&rbe_prev->node, &priv->root); - atomic_dec(&set->nelems); - nft_set_gc_batch_add(gcb, rbe_prev); + /* There is always room in this trans gc for this element, + * memory allocation never actually happens, hence, the warning + * splat in such case. No need to set NFT_SET_ELEM_DEAD_BIT, + * this is synchronous gc which never fails. + */ + gc = nft_trans_gc_queue_sync(gc, GFP_ATOMIC); + if (WARN_ON_ONCE(!gc)) + return ERR_PTR(-ENOMEM); + + nft_trans_gc_elem_add(gc, rbe_prev); } - rb_erase(&rbe->node, &priv->root); - atomic_dec(&set->nelems); + nft_rbtree_gc_remove(net, set, priv, rbe); + gc = nft_trans_gc_queue_sync(gc, GFP_ATOMIC); + if (WARN_ON_ONCE(!gc)) + return ERR_PTR(-ENOMEM); - nft_set_gc_batch_add(gcb, rbe); - nft_set_gc_batch_complete(gcb); + nft_trans_gc_elem_add(gc, rbe); - return 0; + nft_trans_gc_queue_sync_done(gc); + + return rbe_prev; } static bool nft_rbtree_update_first(const struct nft_set *set, @@ -281,8 +314,9 @@ struct nft_rbtree_elem *rbe, *rbe_le = NULL, *rbe_ge = NULL; struct rb_node *node, *next, *parent, **p, *first = NULL; struct nft_rbtree *priv = nft_set_priv(set); + u8 cur_genmask = nft_genmask_cur(net); u8 genmask = nft_genmask_next(net); - int d, err; + int d; /* Descend the tree to search for an existing element greater than the * key value to insert that is greater than the new element. This is the @@ -326,11 +360,19 @@ if (!nft_set_elem_active(&rbe->ext, genmask)) continue; - /* perform garbage collection to avoid bogus overlap reports. */ - if (nft_set_elem_expired(&rbe->ext)) { - err = nft_rbtree_gc_elem(set, priv, rbe, genmask); - if (err < 0) - return err; + /* perform garbage collection to avoid bogus overlap reports + * but skip new elements in this transaction. + */ + if (nft_set_elem_expired(&rbe->ext) && + nft_set_elem_active(&rbe->ext, cur_genmask)) { + const struct nft_rbtree_elem *removed_end; + + removed_end = nft_rbtree_gc_elem(set, priv, rbe, genmask); + if (IS_ERR(removed_end)) + return PTR_ERR(removed_end); + + if (removed_end == rbe_le || removed_end == rbe_ge) + return -EAGAIN; continue; } @@ -451,11 +493,18 @@ struct nft_rbtree_elem *rbe = elem->priv; int err; - write_lock_bh(&priv->lock); - write_seqcount_begin(&priv->count); - err = __nft_rbtree_insert(net, set, rbe, ext); - write_seqcount_end(&priv->count); - write_unlock_bh(&priv->lock); + do { + if (fatal_signal_pending(current)) + return -EINTR; + + cond_resched(); + + write_lock_bh(&priv->lock); + write_seqcount_begin(&priv->count); + err = __nft_rbtree_insert(net, set, rbe, ext); + write_seqcount_end(&priv->count); + write_unlock_bh(&priv->lock); + } while (err == -EAGAIN); return err; } @@ -481,7 +530,6 @@ struct nft_rbtree_elem *rbe = elem->priv; nft_set_elem_change_active(net, set, &rbe->ext); - nft_set_elem_clear_busy(&rbe->ext); } static bool nft_rbtree_flush(const struct net *net, @@ -489,12 +537,9 @@ { struct nft_rbtree_elem *rbe = priv; - if (!nft_set_elem_mark_busy(&rbe->ext) || - !nft_is_active(net, &rbe->ext)) { - nft_set_elem_change_active(net, set, &rbe->ext); - return true; - } - return false; + nft_set_elem_change_active(net, set, &rbe->ext); + + return true; } static void *nft_rbtree_deactivate(const struct net *net, @@ -525,6 +570,8 @@ nft_rbtree_interval_end(this)) { parent = parent->rb_right; continue; + } else if (nft_set_elem_expired(&rbe->ext)) { + break; } else if (!nft_set_elem_active(&rbe->ext, genmask)) { parent = parent->rb_left; continue; @@ -551,8 +598,6 @@ if (iter->count < iter->skip) goto cont; - if (nft_set_elem_expired(&rbe->ext)) - goto cont; if (!nft_set_elem_active(&rbe->ext, iter->genmask)) goto cont; @@ -571,26 +616,42 @@ static void nft_rbtree_gc(struct work_struct *work) { - struct nft_rbtree_elem *rbe, *rbe_end = NULL, *rbe_prev = NULL; - struct nft_set_gc_batch *gcb = NULL; + struct nft_rbtree_elem *rbe, *rbe_end = NULL; + struct nftables_pernet *nft_net; struct nft_rbtree *priv; + struct nft_trans_gc *gc; struct rb_node *node; struct nft_set *set; + unsigned int gc_seq; struct net *net; - u8 genmask; priv = container_of(work, struct nft_rbtree, gc_work.work); set = nft_set_container_of(priv); net = read_pnet(&set->net); - genmask = nft_genmask_cur(net); + nft_net = net_generic(net, nf_tables_net_id); + gc_seq = READ_ONCE(nft_net->gc_seq); - write_lock_bh(&priv->lock); - write_seqcount_begin(&priv->count); + if (nft_set_gc_is_pending(set)) + goto done; + + gc = nft_trans_gc_alloc(set, gc_seq, GFP_KERNEL); + if (!gc) + goto done; + + read_lock_bh(&priv->lock); for (node = rb_first(&priv->root); node != NULL; node = rb_next(node)) { + + /* Ruleset has been updated, try later. */ + if (READ_ONCE(nft_net->gc_seq) != gc_seq) { + nft_trans_gc_destroy(gc); + gc = NULL; + goto try_later; + } + rbe = rb_entry(node, struct nft_rbtree_elem, node); - if (!nft_set_elem_active(&rbe->ext, genmask)) - continue; + if (nft_set_elem_is_dead(&rbe->ext)) + goto dead_elem; /* elements are reversed in the rbtree for historical reasons, * from highest to lowest value, that is why end element is @@ -603,40 +664,32 @@ if (!nft_set_elem_expired(&rbe->ext)) continue; - if (nft_set_elem_mark_busy(&rbe->ext)) { - rbe_end = NULL; + nft_set_elem_dead(&rbe->ext); + + if (!rbe_end) continue; - } - if (rbe_prev) { - rb_erase(&rbe_prev->node, &priv->root); - rbe_prev = NULL; - } - gcb = nft_set_gc_batch_check(set, gcb, GFP_ATOMIC); - if (!gcb) - break; + nft_set_elem_dead(&rbe_end->ext); - atomic_dec(&set->nelems); - nft_set_gc_batch_add(gcb, rbe); - rbe_prev = rbe; - - if (rbe_end) { - atomic_dec(&set->nelems); - nft_set_gc_batch_add(gcb, rbe_end); - rb_erase(&rbe_end->node, &priv->root); - rbe_end = NULL; - } - node = rb_next(node); - if (!node) - break; - } - if (rbe_prev) - rb_erase(&rbe_prev->node, &priv->root); - write_seqcount_end(&priv->count); - write_unlock_bh(&priv->lock); + gc = nft_trans_gc_queue_async(gc, gc_seq, GFP_ATOMIC); + if (!gc) + goto try_later; + + nft_trans_gc_elem_add(gc, rbe_end); + rbe_end = NULL; +dead_elem: + gc = nft_trans_gc_queue_async(gc, gc_seq, GFP_ATOMIC); + if (!gc) + goto try_later; - nft_set_gc_batch_complete(gcb); + nft_trans_gc_elem_add(gc, rbe); + } +try_later: + read_unlock_bh(&priv->lock); + if (gc) + nft_trans_gc_queue_async_done(gc); +done: queue_delayed_work(system_power_efficient_wq, &priv->gc_work, nft_set_gc_interval(set)); } diff -Nru linux-5.10.197/net/netfilter/nft_synproxy.c linux-5.10.205/net/netfilter/nft_synproxy.c --- linux-5.10.197/net/netfilter/nft_synproxy.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netfilter/nft_synproxy.c 2023-12-20 14:44:42.000000000 +0000 @@ -109,7 +109,7 @@ { struct synproxy_options opts = {}; struct sk_buff *skb = pkt->skb; - int thoff = pkt->xt.thoff; + int thoff = nft_thoff(pkt); const struct tcphdr *tcp; struct tcphdr _tcph; @@ -123,7 +123,7 @@ return; } - tcp = skb_header_pointer(skb, pkt->xt.thoff, + tcp = skb_header_pointer(skb, thoff, sizeof(struct tcphdr), &_tcph); if (!tcp) { diff -Nru linux-5.10.197/net/netfilter/nft_tproxy.c linux-5.10.205/net/netfilter/nft_tproxy.c --- linux-5.10.197/net/netfilter/nft_tproxy.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netfilter/nft_tproxy.c 2023-12-20 14:44:42.000000000 +0000 @@ -88,9 +88,9 @@ const struct nft_tproxy *priv = nft_expr_priv(expr); struct sk_buff *skb = pkt->skb; const struct ipv6hdr *iph = ipv6_hdr(skb); - struct in6_addr taddr; - int thoff = pkt->xt.thoff; + int thoff = nft_thoff(pkt); struct udphdr _hdr, *hp; + struct in6_addr taddr; __be16 tport = 0; struct sock *sk; int l4proto; diff -Nru linux-5.10.197/net/netfilter/xt_REDIRECT.c linux-5.10.205/net/netfilter/xt_REDIRECT.c --- linux-5.10.197/net/netfilter/xt_REDIRECT.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netfilter/xt_REDIRECT.c 2023-12-20 14:44:42.000000000 +0000 @@ -46,7 +46,6 @@ nf_ct_netns_put(par->net, par->family); } -/* FIXME: Take multiple ranges --RR */ static int redirect_tg4_check(const struct xt_tgchk_param *par) { const struct nf_nat_ipv4_multi_range_compat *mr = par->targinfo; @@ -65,7 +64,14 @@ static unsigned int redirect_tg4(struct sk_buff *skb, const struct xt_action_param *par) { - return nf_nat_redirect_ipv4(skb, par->targinfo, xt_hooknum(par)); + const struct nf_nat_ipv4_multi_range_compat *mr = par->targinfo; + struct nf_nat_range2 range = { + .flags = mr->range[0].flags, + .min_proto = mr->range[0].min, + .max_proto = mr->range[0].max, + }; + + return nf_nat_redirect_ipv4(skb, &range, xt_hooknum(par)); } static struct xt_target redirect_tg_reg[] __read_mostly = { diff -Nru linux-5.10.197/net/netfilter/xt_owner.c linux-5.10.205/net/netfilter/xt_owner.c --- linux-5.10.197/net/netfilter/xt_owner.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netfilter/xt_owner.c 2023-12-20 14:44:42.000000000 +0000 @@ -76,18 +76,23 @@ */ return false; - filp = sk->sk_socket->file; - if (filp == NULL) + read_lock_bh(&sk->sk_callback_lock); + filp = sk->sk_socket ? sk->sk_socket->file : NULL; + if (filp == NULL) { + read_unlock_bh(&sk->sk_callback_lock); return ((info->match ^ info->invert) & (XT_OWNER_UID | XT_OWNER_GID)) == 0; + } if (info->match & XT_OWNER_UID) { kuid_t uid_min = make_kuid(net->user_ns, info->uid_min); kuid_t uid_max = make_kuid(net->user_ns, info->uid_max); if ((uid_gte(filp->f_cred->fsuid, uid_min) && uid_lte(filp->f_cred->fsuid, uid_max)) ^ - !(info->invert & XT_OWNER_UID)) + !(info->invert & XT_OWNER_UID)) { + read_unlock_bh(&sk->sk_callback_lock); return false; + } } if (info->match & XT_OWNER_GID) { @@ -112,10 +117,13 @@ } } - if (match ^ !(info->invert & XT_OWNER_GID)) + if (match ^ !(info->invert & XT_OWNER_GID)) { + read_unlock_bh(&sk->sk_callback_lock); return false; + } } + read_unlock_bh(&sk->sk_callback_lock); return true; } diff -Nru linux-5.10.197/net/netfilter/xt_recent.c linux-5.10.205/net/netfilter/xt_recent.c --- linux-5.10.197/net/netfilter/xt_recent.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netfilter/xt_recent.c 2023-12-20 14:44:42.000000000 +0000 @@ -561,7 +561,7 @@ { struct recent_table *t = PDE_DATA(file_inode(file)); struct recent_entry *e; - char buf[sizeof("+b335:1d35:1e55:dead:c0de:1715:5afe:c0de")]; + char buf[sizeof("+b335:1d35:1e55:dead:c0de:1715:255.255.255.255")]; const char *c = buf; union nf_inet_addr addr = {}; u_int16_t family; diff -Nru linux-5.10.197/net/netlink/af_netlink.c linux-5.10.205/net/netlink/af_netlink.c --- linux-5.10.197/net/netlink/af_netlink.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netlink/af_netlink.c 2023-12-20 14:44:42.000000000 +0000 @@ -1021,7 +1021,6 @@ return -EINVAL; } - netlink_lock_table(); if (nlk->netlink_bind && groups) { int group; @@ -1033,13 +1032,14 @@ if (!err) continue; netlink_undo_bind(group, groups, sk); - goto unlock; + return err; } } /* No need for barriers here as we return to user-space without * using any of the bound attributes. */ + netlink_lock_table(); if (!bound) { err = nladdr->nl_pid ? netlink_insert(sk, nladdr->nl_pid) : diff -Nru linux-5.10.197/net/netlink/genetlink.c linux-5.10.205/net/netlink/genetlink.c --- linux-5.10.197/net/netlink/genetlink.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/netlink/genetlink.c 2023-12-20 14:44:42.000000000 +0000 @@ -1364,11 +1364,46 @@ .netnsok = true, }; +static int genl_bind(struct net *net, int group) +{ + const struct genl_family *family; + unsigned int id; + int ret = 0; + + genl_lock_all(); + + idr_for_each_entry(&genl_fam_idr, family, id) { + const struct genl_multicast_group *grp; + int i; + + if (family->n_mcgrps == 0) + continue; + + i = group - family->mcgrp_offset; + if (i < 0 || i >= family->n_mcgrps) + continue; + + grp = &family->mcgrps[i]; + if ((grp->flags & GENL_UNS_ADMIN_PERM) && + !ns_capable(net->user_ns, CAP_NET_ADMIN)) + ret = -EPERM; + if (grp->cap_sys_admin && + !ns_capable(net->user_ns, CAP_SYS_ADMIN)) + ret = -EPERM; + + break; + } + + genl_unlock_all(); + return ret; +} + static int __net_init genl_pernet_init(struct net *net) { struct netlink_kernel_cfg cfg = { .input = genl_rcv, .flags = NL_CFG_F_NONROOT_RECV, + .bind = genl_bind, }; /* we'll bump the group number right afterwards */ diff -Nru linux-5.10.197/net/nfc/llcp_core.c linux-5.10.205/net/nfc/llcp_core.c --- linux-5.10.197/net/nfc/llcp_core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/nfc/llcp_core.c 2023-12-20 14:44:42.000000000 +0000 @@ -205,17 +205,13 @@ if (tmp_sock->ssap == ssap && tmp_sock->dsap == dsap) { llcp_sock = tmp_sock; + sock_hold(&llcp_sock->sk); break; } } read_unlock(&local->sockets.lock); - if (llcp_sock == NULL) - return NULL; - - sock_hold(&llcp_sock->sk); - return llcp_sock; } @@ -348,7 +344,8 @@ static struct nfc_llcp_sock *nfc_llcp_sock_from_sn(struct nfc_llcp_local *local, - const u8 *sn, size_t sn_len) + const u8 *sn, size_t sn_len, + bool needref) { struct sock *sk; struct nfc_llcp_sock *llcp_sock, *tmp_sock; @@ -384,6 +381,8 @@ if (memcmp(sn, tmp_sock->service_name, sn_len) == 0) { llcp_sock = tmp_sock; + if (needref) + sock_hold(&llcp_sock->sk); break; } } @@ -425,7 +424,8 @@ * to this service name. */ if (nfc_llcp_sock_from_sn(local, sock->service_name, - sock->service_name_len) != NULL) { + sock->service_name_len, + false) != NULL) { mutex_unlock(&local->sdp_lock); return LLCP_SAP_MAX; @@ -833,16 +833,7 @@ static struct nfc_llcp_sock *nfc_llcp_sock_get_sn(struct nfc_llcp_local *local, const u8 *sn, size_t sn_len) { - struct nfc_llcp_sock *llcp_sock; - - llcp_sock = nfc_llcp_sock_from_sn(local, sn, sn_len); - - if (llcp_sock == NULL) - return NULL; - - sock_hold(&llcp_sock->sk); - - return llcp_sock; + return nfc_llcp_sock_from_sn(local, sn, sn_len, true); } static const u8 *nfc_llcp_connect_sn(const struct sk_buff *skb, size_t *sn_len) @@ -1307,7 +1298,8 @@ } llcp_sock = nfc_llcp_sock_from_sn(local, service_name, - service_name_len); + service_name_len, + true); if (!llcp_sock) { sap = 0; goto add_snl; @@ -1327,6 +1319,7 @@ if (sap == LLCP_SAP_MAX) { sap = 0; + nfc_llcp_sock_put(llcp_sock); goto add_snl; } @@ -1344,6 +1337,7 @@ pr_debug("%p %d\n", llcp_sock, sap); + nfc_llcp_sock_put(llcp_sock); add_snl: sdp = nfc_llcp_build_sdres_tlv(tid, sap); if (sdp == NULL) @@ -1646,7 +1640,9 @@ timer_setup(&local->sdreq_timer, nfc_llcp_sdreq_timer, 0); INIT_WORK(&local->sdreq_timeout_work, nfc_llcp_sdreq_timeout_work); + spin_lock(&llcp_devices_lock); list_add(&local->list, &llcp_devices); + spin_unlock(&llcp_devices_lock); return 0; } diff -Nru linux-5.10.197/net/nfc/nci/core.c linux-5.10.205/net/nfc/nci/core.c --- linux-5.10.197/net/nfc/nci/core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/nfc/nci/core.c 2023-12-20 14:44:42.000000000 +0000 @@ -894,6 +894,11 @@ return -EINVAL; } + if (protocol >= NFC_PROTO_MAX) { + pr_err("the requested nfc protocol is invalid\n"); + return -EINVAL; + } + if (!(nci_target->supported_protocols & (1 << protocol))) { pr_err("target does not support the requested protocol 0x%x\n", protocol); diff -Nru linux-5.10.197/net/nfc/nci/spi.c linux-5.10.205/net/nfc/nci/spi.c --- linux-5.10.197/net/nfc/nci/spi.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/nfc/nci/spi.c 2023-12-20 14:44:42.000000000 +0000 @@ -151,6 +151,8 @@ int ret; skb = nci_skb_alloc(nspi->ndev, 0, GFP_KERNEL); + if (!skb) + return -ENOMEM; /* add the NCI SPI header to the start of the buffer */ hdr = skb_push(skb, NCI_SPI_HDR_LEN); diff -Nru linux-5.10.197/net/packet/af_packet.c linux-5.10.205/net/packet/af_packet.c --- linux-5.10.197/net/packet/af_packet.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/packet/af_packet.c 2023-12-20 14:44:42.000000000 +0000 @@ -4248,7 +4248,7 @@ struct sock *sk = sock->sk; if (sk) - atomic_inc(&pkt_sk(sk)->mapped); + atomic_long_inc(&pkt_sk(sk)->mapped); } static void packet_mm_close(struct vm_area_struct *vma) @@ -4258,7 +4258,7 @@ struct sock *sk = sock->sk; if (sk) - atomic_dec(&pkt_sk(sk)->mapped); + atomic_long_dec(&pkt_sk(sk)->mapped); } static const struct vm_operations_struct packet_mmap_ops = { @@ -4353,7 +4353,7 @@ err = -EBUSY; if (!closing) { - if (atomic_read(&po->mapped)) + if (atomic_long_read(&po->mapped)) goto out; if (packet_read_pending(rb)) goto out; @@ -4456,7 +4456,7 @@ err = -EBUSY; mutex_lock(&po->pg_vec_lock); - if (closing || atomic_read(&po->mapped) == 0) { + if (closing || atomic_long_read(&po->mapped) == 0) { err = 0; spin_lock_bh(&rb_queue->lock); swap(rb->pg_vec, pg_vec); @@ -4474,9 +4474,9 @@ po->prot_hook.func = (po->rx_ring.pg_vec) ? tpacket_rcv : packet_rcv; skb_queue_purge(rb_queue); - if (atomic_read(&po->mapped)) - pr_err("packet_mmap: vma is busy: %d\n", - atomic_read(&po->mapped)); + if (atomic_long_read(&po->mapped)) + pr_err("packet_mmap: vma is busy: %ld\n", + atomic_long_read(&po->mapped)); } mutex_unlock(&po->pg_vec_lock); @@ -4554,7 +4554,7 @@ } } - atomic_inc(&po->mapped); + atomic_long_inc(&po->mapped); vma->vm_ops = &packet_mmap_ops; err = 0; diff -Nru linux-5.10.197/net/packet/internal.h linux-5.10.205/net/packet/internal.h --- linux-5.10.197/net/packet/internal.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/packet/internal.h 2023-12-20 14:44:42.000000000 +0000 @@ -126,7 +126,7 @@ __be16 num; struct packet_rollover *rollover; struct packet_mclist *mclist; - atomic_t mapped; + atomic_long_t mapped; enum tpacket_versions tp_version; unsigned int tp_hdrlen; unsigned int tp_reserve; diff -Nru linux-5.10.197/net/psample/psample.c linux-5.10.205/net/psample/psample.c --- linux-5.10.197/net/psample/psample.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/psample/psample.c 2023-12-20 14:44:42.000000000 +0000 @@ -30,7 +30,8 @@ static const struct genl_multicast_group psample_nl_mcgrps[] = { [PSAMPLE_NL_MCGRP_CONFIG] = { .name = PSAMPLE_NL_MCGRP_CONFIG_NAME }, - [PSAMPLE_NL_MCGRP_SAMPLE] = { .name = PSAMPLE_NL_MCGRP_SAMPLE_NAME }, + [PSAMPLE_NL_MCGRP_SAMPLE] = { .name = PSAMPLE_NL_MCGRP_SAMPLE_NAME, + .flags = GENL_UNS_ADMIN_PERM }, }; static struct genl_family psample_nl_family __ro_after_init; diff -Nru linux-5.10.197/net/rds/rdma_transport.c linux-5.10.205/net/rds/rdma_transport.c --- linux-5.10.197/net/rds/rdma_transport.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/rds/rdma_transport.c 2023-12-20 14:44:42.000000000 +0000 @@ -86,10 +86,12 @@ break; case RDMA_CM_EVENT_ADDR_RESOLVED: - rdma_set_service_type(cm_id, conn->c_tos); - /* XXX do we need to clean up if this fails? */ - ret = rdma_resolve_route(cm_id, + if (conn) { + rdma_set_service_type(cm_id, conn->c_tos); + /* XXX do we need to clean up if this fails? */ + ret = rdma_resolve_route(cm_id, RDS_RDMA_RESOLVE_TIMEOUT_MS); + } break; case RDMA_CM_EVENT_ROUTE_RESOLVED: diff -Nru linux-5.10.197/net/rds/tcp_connect.c linux-5.10.205/net/rds/tcp_connect.c --- linux-5.10.197/net/rds/tcp_connect.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/rds/tcp_connect.c 2023-12-20 14:44:42.000000000 +0000 @@ -141,7 +141,7 @@ addrlen = sizeof(sin); } - ret = sock->ops->bind(sock, addr, addrlen); + ret = kernel_bind(sock, addr, addrlen); if (ret) { rdsdebug("bind failed with %d at address %pI6c\n", ret, &conn->c_laddr); @@ -169,7 +169,7 @@ * own the socket */ rds_tcp_set_callbacks(sock, cp); - ret = sock->ops->connect(sock, addr, addrlen, O_NONBLOCK); + ret = kernel_connect(sock, addr, addrlen, O_NONBLOCK); rdsdebug("connect to address %pI6c returned %d\n", &conn->c_faddr, ret); if (ret == -EINPROGRESS) diff -Nru linux-5.10.197/net/rds/tcp_listen.c linux-5.10.205/net/rds/tcp_listen.c --- linux-5.10.197/net/rds/tcp_listen.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/rds/tcp_listen.c 2023-12-20 14:44:42.000000000 +0000 @@ -301,7 +301,7 @@ addr_len = sizeof(*sin); } - ret = sock->ops->bind(sock, (struct sockaddr *)&ss, addr_len); + ret = kernel_bind(sock, (struct sockaddr *)&ss, addr_len); if (ret < 0) { rdsdebug("could not bind %s listener socket: %d\n", isv6 ? "IPv6" : "IPv4", ret); diff -Nru linux-5.10.197/net/rfkill/rfkill-gpio.c linux-5.10.205/net/rfkill/rfkill-gpio.c --- linux-5.10.197/net/rfkill/rfkill-gpio.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/rfkill/rfkill-gpio.c 2023-12-20 14:44:42.000000000 +0000 @@ -98,13 +98,13 @@ rfkill->clk = devm_clk_get(&pdev->dev, NULL); - gpio = devm_gpiod_get_optional(&pdev->dev, "reset", GPIOD_OUT_LOW); + gpio = devm_gpiod_get_optional(&pdev->dev, "reset", GPIOD_ASIS); if (IS_ERR(gpio)) return PTR_ERR(gpio); rfkill->reset_gpio = gpio; - gpio = devm_gpiod_get_optional(&pdev->dev, "shutdown", GPIOD_OUT_LOW); + gpio = devm_gpiod_get_optional(&pdev->dev, "shutdown", GPIOD_ASIS); if (IS_ERR(gpio)) return PTR_ERR(gpio); diff -Nru linux-5.10.197/net/rose/af_rose.c linux-5.10.205/net/rose/af_rose.c --- linux-5.10.197/net/rose/af_rose.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/rose/af_rose.c 2023-12-20 14:44:42.000000000 +0000 @@ -1307,9 +1307,11 @@ case TIOCINQ: { struct sk_buff *skb; long amount = 0L; - /* These two are safe on a single CPU system as only user tasks fiddle here */ + + spin_lock_irq(&sk->sk_receive_queue.lock); if ((skb = skb_peek(&sk->sk_receive_queue)) != NULL) amount = skb->len; + spin_unlock_irq(&sk->sk_receive_queue.lock); return put_user(amount, (unsigned int __user *) argp); } diff -Nru linux-5.10.197/net/sched/cls_u32.c linux-5.10.205/net/sched/cls_u32.c --- linux-5.10.197/net/sched/cls_u32.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/sched/cls_u32.c 2023-12-20 14:44:42.000000000 +0000 @@ -364,7 +364,7 @@ idr_init(&root_ht->handle_idr); if (tp_c == NULL) { - tp_c = kzalloc(struct_size(tp_c, hlist->ht, 1), GFP_KERNEL); + tp_c = kzalloc(sizeof(*tp_c), GFP_KERNEL); if (tp_c == NULL) { kfree(root_ht); return -ENOBUFS; diff -Nru linux-5.10.197/net/sched/sch_hfsc.c linux-5.10.205/net/sched/sch_hfsc.c --- linux-5.10.197/net/sched/sch_hfsc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/sched/sch_hfsc.c 2023-12-20 14:44:42.000000000 +0000 @@ -903,6 +903,14 @@ cl->cl_flags |= HFSC_USC; } +static void +hfsc_upgrade_rt(struct hfsc_class *cl) +{ + cl->cl_fsc = cl->cl_rsc; + rtsc_init(&cl->cl_virtual, &cl->cl_fsc, cl->cl_vt, cl->cl_total); + cl->cl_flags |= HFSC_FSC; +} + static const struct nla_policy hfsc_policy[TCA_HFSC_MAX + 1] = { [TCA_HFSC_RSC] = { .len = sizeof(struct tc_service_curve) }, [TCA_HFSC_FSC] = { .len = sizeof(struct tc_service_curve) }, @@ -1012,10 +1020,6 @@ if (parent == NULL) return -ENOENT; } - if (!(parent->cl_flags & HFSC_FSC) && parent != &q->root) { - NL_SET_ERR_MSG(extack, "Invalid parent - parent class must have FSC"); - return -EINVAL; - } if (classid == 0 || TC_H_MAJ(classid ^ sch->handle) != 0) return -EINVAL; @@ -1068,6 +1072,12 @@ cl->cf_tree = RB_ROOT; sch_tree_lock(sch); + /* Check if the inner class is a misconfigured 'rt' */ + if (!(parent->cl_flags & HFSC_FSC) && parent != &q->root) { + NL_SET_ERR_MSG(extack, + "Forced curve change on parent 'rt' to 'sc'"); + hfsc_upgrade_rt(parent); + } qdisc_class_hash_insert(&q->clhash, &cl->cl_common); list_add_tail(&cl->siblings, &parent->children); if (parent->level == 0) diff -Nru linux-5.10.197/net/sctp/associola.c linux-5.10.205/net/sctp/associola.c --- linux-5.10.197/net/sctp/associola.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/sctp/associola.c 2023-12-20 14:44:42.000000000 +0000 @@ -1151,8 +1151,7 @@ /* Add any peer addresses from the new association. */ list_for_each_entry(trans, &new->peer.transport_addr_list, transports) - if (!sctp_assoc_lookup_paddr(asoc, &trans->ipaddr) && - !sctp_assoc_add_peer(asoc, &trans->ipaddr, + if (!sctp_assoc_add_peer(asoc, &trans->ipaddr, GFP_ATOMIC, trans->state)) return -ENOMEM; diff -Nru linux-5.10.197/net/sctp/socket.c linux-5.10.205/net/sctp/socket.c --- linux-5.10.197/net/sctp/socket.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/sctp/socket.c 2023-12-20 14:44:42.000000000 +0000 @@ -2452,6 +2452,7 @@ if (trans) { trans->hbinterval = msecs_to_jiffies(params->spp_hbinterval); + sctp_transport_reset_hb_timer(trans); } else if (asoc) { asoc->hbinterval = msecs_to_jiffies(params->spp_hbinterval); diff -Nru linux-5.10.197/net/smc/af_smc.c linux-5.10.205/net/smc/af_smc.c --- linux-5.10.197/net/smc/af_smc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/smc/af_smc.c 2023-12-20 14:44:42.000000000 +0000 @@ -143,7 +143,7 @@ if (!smc->use_fallback) { rc = smc_close_active(smc); - sock_set_flag(sk, SOCK_DEAD); + smc_sock_set_flag(sk, SOCK_DEAD); sk->sk_shutdown |= SHUTDOWN_MASK; } else { if (sk->sk_state != SMC_CLOSED) { @@ -396,8 +396,12 @@ struct smc_llc_qentry *qentry; int rc; - /* receive CONFIRM LINK request from server over RoCE fabric */ - qentry = smc_llc_wait(link->lgr, NULL, SMC_LLC_WAIT_TIME, + /* Receive CONFIRM LINK request from server over RoCE fabric. + * Increasing the client's timeout by twice as much as the server's + * timeout by default can temporarily avoid decline messages of + * both sides crossing or colliding + */ + qentry = smc_llc_wait(link->lgr, NULL, 2 * SMC_LLC_WAIT_TIME, SMC_LLC_CONFIRM_LINK); if (!qentry) { struct smc_clc_msg_decline dclc; @@ -1169,7 +1173,7 @@ if (new_clcsock) sock_release(new_clcsock); new_sk->sk_state = SMC_CLOSED; - sock_set_flag(new_sk, SOCK_DEAD); + smc_sock_set_flag(new_sk, SOCK_DEAD); sock_put(new_sk); /* final */ *new_smc = NULL; goto out; diff -Nru linux-5.10.197/net/smc/smc.h linux-5.10.205/net/smc/smc.h --- linux-5.10.197/net/smc/smc.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/smc/smc.h 2023-12-20 14:44:42.000000000 +0000 @@ -297,4 +297,9 @@ struct sock *smc_accept_dequeue(struct sock *parent, struct socket *new_sock); void smc_close_non_accepted(struct sock *sk); +static inline void smc_sock_set_flag(struct sock *sk, enum sock_flags flag) +{ + set_bit(flag, &sk->sk_flags); +} + #endif /* __SMC_H */ diff -Nru linux-5.10.197/net/smc/smc_cdc.c linux-5.10.205/net/smc/smc_cdc.c --- linux-5.10.197/net/smc/smc_cdc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/smc/smc_cdc.c 2023-12-20 14:44:42.000000000 +0000 @@ -28,13 +28,15 @@ { struct smc_cdc_tx_pend *cdcpend = (struct smc_cdc_tx_pend *)pnd_snd; struct smc_connection *conn = cdcpend->conn; + struct smc_buf_desc *sndbuf_desc; struct smc_sock *smc; int diff; + sndbuf_desc = conn->sndbuf_desc; smc = container_of(conn, struct smc_sock, conn); bh_lock_sock(&smc->sk); - if (!wc_status) { - diff = smc_curs_diff(cdcpend->conn->sndbuf_desc->len, + if (!wc_status && sndbuf_desc) { + diff = smc_curs_diff(sndbuf_desc->len, &cdcpend->conn->tx_curs_fin, &cdcpend->cursor); /* sndbuf_space is decreased in smc_sendmsg */ @@ -104,9 +106,6 @@ union smc_host_cursor cfed; int rc; - if (unlikely(!READ_ONCE(conn->sndbuf_desc))) - return -ENOBUFS; - smc_cdc_add_pending_send(conn, pend); conn->tx_cdc_seq++; @@ -370,7 +369,7 @@ smc->sk.sk_shutdown |= RCV_SHUTDOWN; if (smc->clcsock && smc->clcsock->sk) smc->clcsock->sk->sk_shutdown |= RCV_SHUTDOWN; - sock_set_flag(&smc->sk, SOCK_DONE); + smc_sock_set_flag(&smc->sk, SOCK_DONE); sock_hold(&smc->sk); /* sock_put in close_work */ if (!queue_work(smc_close_wq, &conn->close_work)) sock_put(&smc->sk); diff -Nru linux-5.10.197/net/smc/smc_close.c linux-5.10.205/net/smc/smc_close.c --- linux-5.10.197/net/smc/smc_close.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/smc/smc_close.c 2023-12-20 14:44:42.000000000 +0000 @@ -113,7 +113,8 @@ struct sock *sk = &smc->sk; release_sock(sk); - cancel_work_sync(&smc->conn.close_work); + if (cancel_work_sync(&smc->conn.close_work)) + sock_put(sk); cancel_delayed_work_sync(&smc->conn.tx_work); lock_sock(sk); } @@ -170,7 +171,7 @@ break; } - sock_set_flag(sk, SOCK_DEAD); + smc_sock_set_flag(sk, SOCK_DEAD); sk->sk_state_change(sk); if (release_clcsock) { diff -Nru linux-5.10.197/net/socket.c linux-5.10.205/net/socket.c --- linux-5.10.197/net/socket.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/socket.c 2023-12-20 14:44:42.000000000 +0000 @@ -655,6 +655,14 @@ return ret; } +static int __sock_sendmsg(struct socket *sock, struct msghdr *msg) +{ + int err = security_socket_sendmsg(sock, msg, + msg_data_left(msg)); + + return err ?: sock_sendmsg_nosec(sock, msg); +} + /** * sock_sendmsg - send a message through @sock * @sock: socket @@ -665,10 +673,19 @@ */ int sock_sendmsg(struct socket *sock, struct msghdr *msg) { - int err = security_socket_sendmsg(sock, msg, - msg_data_left(msg)); + struct sockaddr_storage *save_addr = (struct sockaddr_storage *)msg->msg_name; + struct sockaddr_storage address; + int ret; - return err ?: sock_sendmsg_nosec(sock, msg); + if (msg->msg_name) { + memcpy(&address, msg->msg_name, msg->msg_namelen); + msg->msg_name = &address; + } + + ret = __sock_sendmsg(sock, msg); + msg->msg_name = save_addr; + + return ret; } EXPORT_SYMBOL(sock_sendmsg); @@ -995,7 +1012,7 @@ if (sock->type == SOCK_SEQPACKET) msg.msg_flags |= MSG_EOR; - res = sock_sendmsg(sock, &msg); + res = __sock_sendmsg(sock, &msg); *from = msg.msg_iter; return res; } @@ -1983,7 +2000,7 @@ if (sock->file->f_flags & O_NONBLOCK) flags |= MSG_DONTWAIT; msg.msg_flags = flags; - err = sock_sendmsg(sock, &msg); + err = __sock_sendmsg(sock, &msg); out_put: fput_light(sock->file, fput_needed); @@ -2356,7 +2373,7 @@ err = sock_sendmsg_nosec(sock, msg_sys); goto out_freectl; } - err = sock_sendmsg(sock, msg_sys); + err = __sock_sendmsg(sock, msg_sys); /* * If this is sendmmsg() and sending to current destination address was * successful, remember it. @@ -3397,7 +3414,11 @@ int kernel_bind(struct socket *sock, struct sockaddr *addr, int addrlen) { - return sock->ops->bind(sock, addr, addrlen); + struct sockaddr_storage address; + + memcpy(&address, addr, addrlen); + + return sock->ops->bind(sock, (struct sockaddr *)&address, addrlen); } EXPORT_SYMBOL(kernel_bind); diff -Nru linux-5.10.197/net/sunrpc/clnt.c linux-5.10.205/net/sunrpc/clnt.c --- linux-5.10.197/net/sunrpc/clnt.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/sunrpc/clnt.c 2023-12-20 14:44:42.000000000 +0000 @@ -109,7 +109,8 @@ pipefs_sb = rpc_get_sb_net(net); if (pipefs_sb) { - __rpc_clnt_remove_pipedir(clnt); + if (pipefs_sb == clnt->pipefs_sb) + __rpc_clnt_remove_pipedir(clnt); rpc_put_sb_net(net); } } @@ -149,6 +150,8 @@ { struct dentry *dentry; + clnt->pipefs_sb = pipefs_sb; + if (clnt->cl_program->pipe_dir_name != NULL) { dentry = rpc_setup_pipedir_sb(pipefs_sb, clnt); if (IS_ERR(dentry)) @@ -2074,6 +2077,7 @@ task->tk_status = 0; switch (status) { case -ECONNREFUSED: + case -ECONNRESET: /* A positive refusal suggests a rebind is needed. */ if (RPC_IS_SOFTCONN(task)) break; @@ -2082,7 +2086,6 @@ goto out_retry; } fallthrough; - case -ECONNRESET: case -ECONNABORTED: case -ENETDOWN: case -ENETUNREACH: @@ -2354,8 +2357,7 @@ goto out_exit; } task->tk_action = call_encode; - if (status != -ECONNRESET && status != -ECONNABORTED) - rpc_check_timeout(task); + rpc_check_timeout(task); return; out_exit: rpc_call_rpcerror(task, status); @@ -2630,6 +2632,7 @@ case rpc_autherr_rejectedverf: case rpcsec_gsserr_credproblem: case rpcsec_gsserr_ctxproblem: + rpcauth_invalcred(task); if (!task->tk_cred_retry) break; task->tk_cred_retry--; diff -Nru linux-5.10.197/net/sunrpc/rpcb_clnt.c linux-5.10.205/net/sunrpc/rpcb_clnt.c --- linux-5.10.197/net/sunrpc/rpcb_clnt.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/sunrpc/rpcb_clnt.c 2023-12-20 14:44:42.000000000 +0000 @@ -743,6 +743,10 @@ child = rpcb_call_async(rpcb_clnt, map, proc); rpc_release_client(rpcb_clnt); + if (IS_ERR(child)) { + /* rpcb_map_release() has freed the arguments */ + return; + } xprt->stat.bind_count++; rpc_put_task(child); diff -Nru linux-5.10.197/net/tipc/crypto.c linux-5.10.205/net/tipc/crypto.c --- linux-5.10.197/net/tipc/crypto.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/tipc/crypto.c 2023-12-20 14:44:42.000000000 +0000 @@ -1445,14 +1445,14 @@ struct tipc_crypto *tx = tipc_net(net)->crypto_tx; struct tipc_key key; - spin_lock(&tx->lock); + spin_lock_bh(&tx->lock); key = tx->key; WARN_ON(!key.active || tx_key != key.active); /* Free the active key */ tipc_crypto_key_set_state(tx, key.passive, 0, key.pending); tipc_crypto_key_detach(tx->aead[key.active], &tx->lock); - spin_unlock(&tx->lock); + spin_unlock_bh(&tx->lock); pr_warn("%s: key is revoked\n", tx->name); return -EKEYREVOKED; diff -Nru linux-5.10.197/net/tipc/link.c linux-5.10.205/net/tipc/link.c --- linux-5.10.197/net/tipc/link.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/tipc/link.c 2023-12-20 14:44:42.000000000 +0000 @@ -1410,7 +1410,7 @@ p = (struct tipc_gap_ack_blks *)msg_data(hdr); sz = ntohs(p->len); /* Sanity check */ - if (sz == struct_size(p, gacks, p->ugack_cnt + p->bgack_cnt)) { + if (sz == struct_size(p, gacks, size_add(p->ugack_cnt, p->bgack_cnt))) { /* Good, check if the desired type exists */ if ((uc && p->ugack_cnt) || (!uc && p->bgack_cnt)) goto ok; @@ -1497,7 +1497,7 @@ __tipc_build_gap_ack_blks(ga, l, ga->bgack_cnt) : 0; /* Total len */ - len = struct_size(ga, gacks, ga->bgack_cnt + ga->ugack_cnt); + len = struct_size(ga, gacks, size_add(ga->bgack_cnt, ga->ugack_cnt)); ga->len = htons(len); return len; } diff -Nru linux-5.10.197/net/tipc/netlink.c linux-5.10.205/net/tipc/netlink.c --- linux-5.10.197/net/tipc/netlink.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/tipc/netlink.c 2023-12-20 14:44:42.000000000 +0000 @@ -88,7 +88,7 @@ const struct nla_policy tipc_nl_link_policy[TIPC_NLA_LINK_MAX + 1] = { [TIPC_NLA_LINK_UNSPEC] = { .type = NLA_UNSPEC }, - [TIPC_NLA_LINK_NAME] = { .type = NLA_STRING, + [TIPC_NLA_LINK_NAME] = { .type = NLA_NUL_STRING, .len = TIPC_MAX_LINK_NAME }, [TIPC_NLA_LINK_MTU] = { .type = NLA_U32 }, [TIPC_NLA_LINK_BROADCAST] = { .type = NLA_FLAG }, @@ -125,7 +125,7 @@ const struct nla_policy tipc_nl_bearer_policy[TIPC_NLA_BEARER_MAX + 1] = { [TIPC_NLA_BEARER_UNSPEC] = { .type = NLA_UNSPEC }, - [TIPC_NLA_BEARER_NAME] = { .type = NLA_STRING, + [TIPC_NLA_BEARER_NAME] = { .type = NLA_NUL_STRING, .len = TIPC_MAX_BEARER_NAME }, [TIPC_NLA_BEARER_PROP] = { .type = NLA_NESTED }, [TIPC_NLA_BEARER_DOMAIN] = { .type = NLA_U32 } diff -Nru linux-5.10.197/net/tipc/netlink_compat.c linux-5.10.205/net/tipc/netlink_compat.c --- linux-5.10.197/net/tipc/netlink_compat.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/tipc/netlink_compat.c 2023-12-20 14:44:42.000000000 +0000 @@ -101,6 +101,7 @@ return -EMSGSIZE; skb_put(skb, TLV_SPACE(len)); + memset(tlv, 0, TLV_SPACE(len)); tlv->tlv_type = htons(type); tlv->tlv_len = htons(TLV_LENGTH(len)); if (len && data) diff -Nru linux-5.10.197/net/vmw_vsock/virtio_transport_common.c linux-5.10.205/net/vmw_vsock/virtio_transport_common.c --- linux-5.10.197/net/vmw_vsock/virtio_transport_common.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/vmw_vsock/virtio_transport_common.c 2023-12-20 14:44:42.000000000 +0000 @@ -436,7 +436,7 @@ struct virtio_vsock_sock *vvs = vsk->trans; s64 bytes; - bytes = vvs->peer_buf_alloc - (vvs->tx_cnt - vvs->peer_fwd_cnt); + bytes = (s64)vvs->peer_buf_alloc - (vvs->tx_cnt - vvs->peer_fwd_cnt); if (bytes < 0) bytes = 0; diff -Nru linux-5.10.197/net/wireless/nl80211.c linux-5.10.205/net/wireless/nl80211.c --- linux-5.10.197/net/wireless/nl80211.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/wireless/nl80211.c 2023-12-20 14:44:42.000000000 +0000 @@ -7467,7 +7467,7 @@ struct cfg80211_registered_device *rdev = info->user_ptr[0]; struct net_device *dev = info->user_ptr[1]; struct wireless_dev *wdev = dev->ieee80211_ptr; - struct mesh_config cfg; + struct mesh_config cfg = {}; u32 mask; int err; diff -Nru linux-5.10.197/net/wireless/scan.c linux-5.10.205/net/wireless/scan.c --- linux-5.10.197/net/wireless/scan.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/wireless/scan.c 2023-12-20 14:44:42.000000000 +0000 @@ -875,6 +875,10 @@ !cfg80211_find_ssid_match(ap, request)) continue; + if (!is_broadcast_ether_addr(request->bssid) && + !ether_addr_equal(request->bssid, ap->bssid)) + continue; + if (!request->n_ssids && ap->multi_bss && !ap->transmitted_bssid) continue; diff -Nru linux-5.10.197/net/xfrm/xfrm_interface_core.c linux-5.10.205/net/xfrm/xfrm_interface_core.c --- linux-5.10.197/net/xfrm/xfrm_interface_core.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/xfrm/xfrm_interface_core.c 2023-12-20 14:44:42.000000000 +0000 @@ -274,8 +274,8 @@ skb->dev = dev; if (err) { - dev->stats.rx_errors++; - dev->stats.rx_dropped++; + DEV_STATS_INC(dev, rx_errors); + DEV_STATS_INC(dev, rx_dropped); return 0; } @@ -309,7 +309,6 @@ xfrmi_xmit2(struct sk_buff *skb, struct net_device *dev, struct flowi *fl) { struct xfrm_if *xi = netdev_priv(dev); - struct net_device_stats *stats = &xi->dev->stats; struct dst_entry *dst = skb_dst(skb); unsigned int length = skb->len; struct net_device *tdev; @@ -335,7 +334,7 @@ tdev = dst->dev; if (tdev == dev) { - stats->collisions++; + DEV_STATS_INC(dev, collisions); net_warn_ratelimited("%s: Local routing loop detected!\n", dev->name); goto tx_err_dst_release; @@ -378,13 +377,13 @@ tstats->tx_packets++; u64_stats_update_end(&tstats->syncp); } else { - stats->tx_errors++; - stats->tx_aborted_errors++; + DEV_STATS_INC(dev, tx_errors); + DEV_STATS_INC(dev, tx_aborted_errors); } return 0; tx_err_link_failure: - stats->tx_carrier_errors++; + DEV_STATS_INC(dev, tx_carrier_errors); dst_link_failure(skb); tx_err_dst_release: dst_release(dst); @@ -394,7 +393,6 @@ static netdev_tx_t xfrmi_xmit(struct sk_buff *skb, struct net_device *dev) { struct xfrm_if *xi = netdev_priv(dev); - struct net_device_stats *stats = &xi->dev->stats; struct dst_entry *dst = skb_dst(skb); struct flowi fl; int ret; @@ -411,7 +409,7 @@ dst = ip6_route_output(dev_net(dev), NULL, &fl.u.ip6); if (dst->error) { dst_release(dst); - stats->tx_carrier_errors++; + DEV_STATS_INC(dev, tx_carrier_errors); goto tx_err; } skb_dst_set(skb, dst); @@ -427,7 +425,7 @@ fl.u.ip4.flowi4_flags |= FLOWI_FLAG_ANYSRC; rt = __ip_route_output_key(dev_net(dev), &fl.u.ip4); if (IS_ERR(rt)) { - stats->tx_carrier_errors++; + DEV_STATS_INC(dev, tx_carrier_errors); goto tx_err; } skb_dst_set(skb, &rt->dst); @@ -446,8 +444,8 @@ return NETDEV_TX_OK; tx_err: - stats->tx_errors++; - stats->tx_dropped++; + DEV_STATS_INC(dev, tx_errors); + DEV_STATS_INC(dev, tx_dropped); kfree_skb(skb); return NETDEV_TX_OK; } diff -Nru linux-5.10.197/net/xfrm/xfrm_policy.c linux-5.10.205/net/xfrm/xfrm_policy.c --- linux-5.10.197/net/xfrm/xfrm_policy.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/net/xfrm/xfrm_policy.c 2023-12-20 14:44:42.000000000 +0000 @@ -1371,8 +1371,6 @@ * of an absolute inpredictability of ordering of rules. This will not pass. */ static u32 xfrm_gen_index(struct net *net, int dir, u32 index) { - static u32 idx_generator; - for (;;) { struct hlist_head *list; struct xfrm_policy *p; @@ -1380,8 +1378,8 @@ int found; if (!index) { - idx = (idx_generator | dir); - idx_generator += 8; + idx = (net->xfrm.idx_generator | dir); + net->xfrm.idx_generator += 8; } else { idx = index; index = 0; diff -Nru linux-5.10.197/scripts/checkstack.pl linux-5.10.205/scripts/checkstack.pl --- linux-5.10.197/scripts/checkstack.pl 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/checkstack.pl 2023-12-20 14:44:42.000000000 +0000 @@ -142,15 +142,11 @@ while (my $line = ) { if ($line =~ m/$funcre/) { $func = $1; - next if $line !~ m/^($xs*)/; + next if $line !~ m/^($x*)/; if ($total_size > $min_stack) { push @stack, "$intro$total_size\n"; } - - $addr = $1; - $addr =~ s/ /0/g; - $addr = "0x$addr"; - + $addr = "0x$1"; $intro = "$addr $func [$file]:"; my $padlen = 56 - length($intro); while ($padlen > 0) { diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm/am335x-guardian.dts linux-5.10.205/scripts/dtc/include-prefixes/arm/am335x-guardian.dts --- linux-5.10.197/scripts/dtc/include-prefixes/arm/am335x-guardian.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm/am335x-guardian.dts 2023-12-20 14:44:42.000000000 +0000 @@ -100,11 +100,12 @@ }; - pwm7: dmtimer-pwm { + guardian_beeper: pwm-7 { compatible = "ti,omap-dmtimer-pwm"; + #pwm-cells = <3>; ti,timers = <&timer7>; pinctrl-names = "default"; - pinctrl-0 = <&dmtimer7_pins>; + pinctrl-0 = <&guardian_beeper_pins>; ti,clock-source = <0x01>; }; @@ -343,9 +344,9 @@ >; }; - dmtimer7_pins: pinmux_dmtimer7_pins { + guardian_beeper_pins: pinmux_dmtimer7_pins { pinctrl-single,pins = < - AM33XX_IOPAD(0x968, PIN_OUTPUT | MUX_MODE5) + AM33XX_IOPAD(0x968, PIN_OUTPUT | MUX_MODE5) /* (E18) timer7 */ >; }; diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm/am3517-evm.dts linux-5.10.205/scripts/dtc/include-prefixes/arm/am3517-evm.dts --- linux-5.10.197/scripts/dtc/include-prefixes/arm/am3517-evm.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm/am3517-evm.dts 2023-12-20 14:44:42.000000000 +0000 @@ -150,7 +150,7 @@ enable-gpios = <&gpio6 22 GPIO_ACTIVE_HIGH>; /* gpio_182 */ }; - pwm11: dmtimer-pwm@11 { + pwm11: pwm-11 { compatible = "ti,omap-dmtimer-pwm"; pinctrl-names = "default"; pinctrl-0 = <&pwm_pins>; diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm/imx7s.dtsi linux-5.10.205/scripts/dtc/include-prefixes/arm/imx7s.dtsi --- linux-5.10.197/scripts/dtc/include-prefixes/arm/imx7s.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm/imx7s.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -437,7 +437,7 @@ }; gpt1: timer@302d0000 { - compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt"; + compatible = "fsl,imx7d-gpt", "fsl,imx6dl-gpt"; reg = <0x302d0000 0x10000>; interrupts = ; clocks = <&clks IMX7D_GPT1_ROOT_CLK>, @@ -446,7 +446,7 @@ }; gpt2: timer@302e0000 { - compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt"; + compatible = "fsl,imx7d-gpt", "fsl,imx6dl-gpt"; reg = <0x302e0000 0x10000>; interrupts = ; clocks = <&clks IMX7D_GPT2_ROOT_CLK>, @@ -456,7 +456,7 @@ }; gpt3: timer@302f0000 { - compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt"; + compatible = "fsl,imx7d-gpt", "fsl,imx6dl-gpt"; reg = <0x302f0000 0x10000>; interrupts = ; clocks = <&clks IMX7D_GPT3_ROOT_CLK>, @@ -466,7 +466,7 @@ }; gpt4: timer@30300000 { - compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt"; + compatible = "fsl,imx7d-gpt", "fsl,imx6dl-gpt"; reg = <0x30300000 0x10000>; interrupts = ; clocks = <&clks IMX7D_GPT4_ROOT_CLK>, diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm/logicpd-torpedo-baseboard.dtsi linux-5.10.205/scripts/dtc/include-prefixes/arm/logicpd-torpedo-baseboard.dtsi --- linux-5.10.197/scripts/dtc/include-prefixes/arm/logicpd-torpedo-baseboard.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm/logicpd-torpedo-baseboard.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -59,7 +59,7 @@ }; }; - pwm10: dmtimer-pwm { + pwm10: pwm-10 { compatible = "ti,omap-dmtimer-pwm"; pinctrl-names = "default"; pinctrl-0 = <&pwm_pins>; diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm/motorola-mapphone-common.dtsi linux-5.10.205/scripts/dtc/include-prefixes/arm/motorola-mapphone-common.dtsi --- linux-5.10.197/scripts/dtc/include-prefixes/arm/motorola-mapphone-common.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm/motorola-mapphone-common.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -156,7 +156,7 @@ dais = <&mcbsp2_port>, <&mcbsp3_port>; }; - pwm8: dmtimer-pwm-8 { + pwm8: pwm-8 { pinctrl-names = "default"; pinctrl-0 = <&vibrator_direction_pin>; @@ -166,7 +166,7 @@ ti,clock-source = <0x01>; }; - pwm9: dmtimer-pwm-9 { + pwm9: pwm-9 { pinctrl-names = "default"; pinctrl-0 = <&vibrator_enable_pin>; @@ -192,6 +192,29 @@ }; }; +&cpu_thermal { + polling-delay = <10000>; /* milliseconds */ +}; + +&cpu_alert0 { + temperature = <80000>; /* millicelsius */ +}; + +&cpu0 { + /* + * Note that the 1.2GiHz mode is enabled for all SoC variants for + * the Motorola Android Linux v3.0.8 based kernel. + */ + operating-points = < + /* kHz uV */ + 300000 1025000 + 600000 1200000 + 800000 1313000 + 1008000 1375000 + 1200000 1375000 + >; +}; + &dss { status = "okay"; }; @@ -384,7 +407,7 @@ #address-cells = <1>; #size-cells = <0>; wlcore: wlcore@2 { - compatible = "ti,wl1285", "ti,wl1283"; + compatible = "ti,wl1285"; reg = <2>; /* gpio_100 with gpmc_wait2 pad as wakeirq */ interrupts-extended = <&gpio4 4 IRQ_TYPE_LEVEL_HIGH>, @@ -716,12 +739,12 @@ /* Configure pwm clock source for timers 8 & 9 */ &timer8 { assigned-clocks = <&abe_clkctrl OMAP4_TIMER8_CLKCTRL 24>; - assigned-clock-parents = <&sys_clkin_ck>; + assigned-clock-parents = <&sys_32k_ck>; }; &timer9 { assigned-clocks = <&l4_per_clkctrl OMAP4_TIMER9_CLKCTRL 24>; - assigned-clock-parents = <&sys_clkin_ck>; + assigned-clock-parents = <&sys_32k_ck>; }; /* @@ -742,6 +765,7 @@ &uart3 { interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH &omap4_pmx_core 0x17c>; + overrun-throttle-ms = <500>; }; &uart4 { diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm/omap-gpmc-smsc911x.dtsi linux-5.10.205/scripts/dtc/include-prefixes/arm/omap-gpmc-smsc911x.dtsi --- linux-5.10.197/scripts/dtc/include-prefixes/arm/omap-gpmc-smsc911x.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm/omap-gpmc-smsc911x.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -8,9 +8,9 @@ / { vddvario: regulator-vddvario { - compatible = "regulator-fixed"; - regulator-name = "vddvario"; - regulator-always-on; + compatible = "regulator-fixed"; + regulator-name = "vddvario"; + regulator-always-on; }; vdd33a: regulator-vdd33a { diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm/omap-gpmc-smsc9221.dtsi linux-5.10.205/scripts/dtc/include-prefixes/arm/omap-gpmc-smsc9221.dtsi --- linux-5.10.197/scripts/dtc/include-prefixes/arm/omap-gpmc-smsc9221.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm/omap-gpmc-smsc9221.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -12,9 +12,9 @@ / { vddvario: regulator-vddvario { - compatible = "regulator-fixed"; - regulator-name = "vddvario"; - regulator-always-on; + compatible = "regulator-fixed"; + regulator-name = "vddvario"; + regulator-always-on; }; vdd33a: regulator-vdd33a { diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm/omap3-cm-t3517.dts linux-5.10.205/scripts/dtc/include-prefixes/arm/omap3-cm-t3517.dts --- linux-5.10.197/scripts/dtc/include-prefixes/arm/omap3-cm-t3517.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm/omap3-cm-t3517.dts 2023-12-20 14:44:42.000000000 +0000 @@ -11,12 +11,12 @@ model = "CompuLab CM-T3517"; compatible = "compulab,omap3-cm-t3517", "ti,am3517", "ti,omap3"; - vmmc: regulator-vmmc { - compatible = "regulator-fixed"; - regulator-name = "vmmc"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - }; + vmmc: regulator-vmmc { + compatible = "regulator-fixed"; + regulator-name = "vmmc"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; wl12xx_vmmc2: wl12xx_vmmc2 { compatible = "regulator-fixed"; diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm/omap3-cpu-thermal.dtsi linux-5.10.205/scripts/dtc/include-prefixes/arm/omap3-cpu-thermal.dtsi --- linux-5.10.197/scripts/dtc/include-prefixes/arm/omap3-cpu-thermal.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm/omap3-cpu-thermal.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -15,8 +15,7 @@ polling-delay = <1000>; /* milliseconds */ coefficients = <0 20000>; - /* sensor ID */ - thermal-sensors = <&bandgap 0>; + thermal-sensors = <&bandgap>; cpu_trips: trips { cpu_alert0: cpu_alert { diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm/omap3-gta04.dtsi linux-5.10.205/scripts/dtc/include-prefixes/arm/omap3-gta04.dtsi --- linux-5.10.197/scripts/dtc/include-prefixes/arm/omap3-gta04.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm/omap3-gta04.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -147,7 +147,7 @@ pinctrl-0 = <&backlight_pins>; }; - pwm11: dmtimer-pwm { + pwm11: pwm-11 { compatible = "ti,omap-dmtimer-pwm"; ti,timers = <&timer11>; #pwm-cells = <3>; @@ -332,7 +332,7 @@ OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0) /* dss_data22.dss_data22 */ OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0) /* dss_data23.dss_data23 */ >; - }; + }; gps_pins: pinmux_gps_pins { pinctrl-single,pins = < @@ -866,8 +866,8 @@ }; &hdqw1w { - pinctrl-names = "default"; - pinctrl-0 = <&hdq_pins>; + pinctrl-names = "default"; + pinctrl-0 = <&hdq_pins>; }; /* image signal processor within OMAP3 SoC */ diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm/omap3-ldp.dts linux-5.10.205/scripts/dtc/include-prefixes/arm/omap3-ldp.dts --- linux-5.10.197/scripts/dtc/include-prefixes/arm/omap3-ldp.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm/omap3-ldp.dts 2023-12-20 14:44:42.000000000 +0000 @@ -301,5 +301,5 @@ &vaux1 { /* Needed for ads7846 */ - regulator-name = "vcc"; + regulator-name = "vcc"; }; diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm/omap3-n900.dts linux-5.10.205/scripts/dtc/include-prefixes/arm/omap3-n900.dts --- linux-5.10.197/scripts/dtc/include-prefixes/arm/omap3-n900.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm/omap3-n900.dts 2023-12-20 14:44:42.000000000 +0000 @@ -156,7 +156,7 @@ io-channel-names = "temp", "bsi", "vbat"; }; - pwm9: dmtimer-pwm { + pwm9: pwm-9 { compatible = "ti,omap-dmtimer-pwm"; #pwm-cells = <3>; ti,timers = <&timer9>; @@ -236,27 +236,27 @@ pinctrl-single,pins = < /* address lines */ - OMAP3_CORE1_IOPAD(0x207a, PIN_OUTPUT | MUX_MODE0) /* gpmc_a1.gpmc_a1 */ - OMAP3_CORE1_IOPAD(0x207c, PIN_OUTPUT | MUX_MODE0) /* gpmc_a2.gpmc_a2 */ - OMAP3_CORE1_IOPAD(0x207e, PIN_OUTPUT | MUX_MODE0) /* gpmc_a3.gpmc_a3 */ + OMAP3_CORE1_IOPAD(0x207a, PIN_OUTPUT | MUX_MODE0) /* gpmc_a1.gpmc_a1 */ + OMAP3_CORE1_IOPAD(0x207c, PIN_OUTPUT | MUX_MODE0) /* gpmc_a2.gpmc_a2 */ + OMAP3_CORE1_IOPAD(0x207e, PIN_OUTPUT | MUX_MODE0) /* gpmc_a3.gpmc_a3 */ /* data lines, gpmc_d0..d7 not muxable according to TRM */ - OMAP3_CORE1_IOPAD(0x209e, PIN_INPUT | MUX_MODE0) /* gpmc_d8.gpmc_d8 */ - OMAP3_CORE1_IOPAD(0x20a0, PIN_INPUT | MUX_MODE0) /* gpmc_d9.gpmc_d9 */ - OMAP3_CORE1_IOPAD(0x20a2, PIN_INPUT | MUX_MODE0) /* gpmc_d10.gpmc_d10 */ - OMAP3_CORE1_IOPAD(0x20a4, PIN_INPUT | MUX_MODE0) /* gpmc_d11.gpmc_d11 */ - OMAP3_CORE1_IOPAD(0x20a6, PIN_INPUT | MUX_MODE0) /* gpmc_d12.gpmc_d12 */ - OMAP3_CORE1_IOPAD(0x20a8, PIN_INPUT | MUX_MODE0) /* gpmc_d13.gpmc_d13 */ - OMAP3_CORE1_IOPAD(0x20aa, PIN_INPUT | MUX_MODE0) /* gpmc_d14.gpmc_d14 */ - OMAP3_CORE1_IOPAD(0x20ac, PIN_INPUT | MUX_MODE0) /* gpmc_d15.gpmc_d15 */ + OMAP3_CORE1_IOPAD(0x209e, PIN_INPUT | MUX_MODE0) /* gpmc_d8.gpmc_d8 */ + OMAP3_CORE1_IOPAD(0x20a0, PIN_INPUT | MUX_MODE0) /* gpmc_d9.gpmc_d9 */ + OMAP3_CORE1_IOPAD(0x20a2, PIN_INPUT | MUX_MODE0) /* gpmc_d10.gpmc_d10 */ + OMAP3_CORE1_IOPAD(0x20a4, PIN_INPUT | MUX_MODE0) /* gpmc_d11.gpmc_d11 */ + OMAP3_CORE1_IOPAD(0x20a6, PIN_INPUT | MUX_MODE0) /* gpmc_d12.gpmc_d12 */ + OMAP3_CORE1_IOPAD(0x20a8, PIN_INPUT | MUX_MODE0) /* gpmc_d13.gpmc_d13 */ + OMAP3_CORE1_IOPAD(0x20aa, PIN_INPUT | MUX_MODE0) /* gpmc_d14.gpmc_d14 */ + OMAP3_CORE1_IOPAD(0x20ac, PIN_INPUT | MUX_MODE0) /* gpmc_d15.gpmc_d15 */ /* * gpmc_ncs0, gpmc_nadv_ale, gpmc_noe, gpmc_nwe, gpmc_wait0 not muxable * according to TRM. OneNAND seems to require PIN_INPUT on clock. */ - OMAP3_CORE1_IOPAD(0x20b0, PIN_OUTPUT | MUX_MODE0) /* gpmc_ncs1.gpmc_ncs1 */ - OMAP3_CORE1_IOPAD(0x20be, PIN_INPUT | MUX_MODE0) /* gpmc_clk.gpmc_clk */ - >; + OMAP3_CORE1_IOPAD(0x20b0, PIN_OUTPUT | MUX_MODE0) /* gpmc_ncs1.gpmc_ncs1 */ + OMAP3_CORE1_IOPAD(0x20be, PIN_INPUT | MUX_MODE0) /* gpmc_clk.gpmc_clk */ + >; }; i2c1_pins: pinmux_i2c1_pins { @@ -738,12 +738,12 @@ si4713: si4713@63 { compatible = "silabs,si4713"; - reg = <0x63>; + reg = <0x63>; - interrupts-extended = <&gpio2 21 IRQ_TYPE_EDGE_FALLING>; /* 53 */ - reset-gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>; /* 163 */ - vio-supply = <&vio>; - vdd-supply = <&vaux1>; + interrupts-extended = <&gpio2 21 IRQ_TYPE_EDGE_FALLING>; /* 53 */ + reset-gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>; /* 163 */ + vio-supply = <&vio>; + vdd-supply = <&vaux1>; }; bq24150a: bq24150a@6b { diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm/omap3-zoom3.dts linux-5.10.205/scripts/dtc/include-prefixes/arm/omap3-zoom3.dts --- linux-5.10.197/scripts/dtc/include-prefixes/arm/omap3-zoom3.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm/omap3-zoom3.dts 2023-12-20 14:44:42.000000000 +0000 @@ -23,9 +23,9 @@ }; vddvario: regulator-vddvario { - compatible = "regulator-fixed"; - regulator-name = "vddvario"; - regulator-always-on; + compatible = "regulator-fixed"; + regulator-name = "vddvario"; + regulator-always-on; }; vdd33a: regulator-vdd33a { @@ -84,28 +84,28 @@ uart1_pins: pinmux_uart1_pins { pinctrl-single,pins = < - OMAP3_CORE1_IOPAD(0x2180, PIN_INPUT | MUX_MODE0) /* uart1_cts.uart1_cts */ - OMAP3_CORE1_IOPAD(0x217e, PIN_OUTPUT | MUX_MODE0) /* uart1_rts.uart1_rts */ - OMAP3_CORE1_IOPAD(0x2182, WAKEUP_EN | PIN_INPUT | MUX_MODE0) /* uart1_rx.uart1_rx */ - OMAP3_CORE1_IOPAD(0x217c, PIN_OUTPUT | MUX_MODE0) /* uart1_tx.uart1_tx */ + OMAP3_CORE1_IOPAD(0x2180, PIN_INPUT | MUX_MODE0) /* uart1_cts.uart1_cts */ + OMAP3_CORE1_IOPAD(0x217e, PIN_OUTPUT | MUX_MODE0) /* uart1_rts.uart1_rts */ + OMAP3_CORE1_IOPAD(0x2182, WAKEUP_EN | PIN_INPUT | MUX_MODE0) /* uart1_rx.uart1_rx */ + OMAP3_CORE1_IOPAD(0x217c, PIN_OUTPUT | MUX_MODE0) /* uart1_tx.uart1_tx */ >; }; uart2_pins: pinmux_uart2_pins { pinctrl-single,pins = < - OMAP3_CORE1_IOPAD(0x2174, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_cts.uart2_cts */ - OMAP3_CORE1_IOPAD(0x2176, PIN_OUTPUT | MUX_MODE0) /* uart2_rts.uart2_rts */ - OMAP3_CORE1_IOPAD(0x217a, PIN_INPUT | MUX_MODE0) /* uart2_rx.uart2_rx */ - OMAP3_CORE1_IOPAD(0x2178, PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */ + OMAP3_CORE1_IOPAD(0x2174, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_cts.uart2_cts */ + OMAP3_CORE1_IOPAD(0x2176, PIN_OUTPUT | MUX_MODE0) /* uart2_rts.uart2_rts */ + OMAP3_CORE1_IOPAD(0x217a, PIN_INPUT | MUX_MODE0) /* uart2_rx.uart2_rx */ + OMAP3_CORE1_IOPAD(0x2178, PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */ >; }; uart3_pins: pinmux_uart3_pins { pinctrl-single,pins = < - OMAP3_CORE1_IOPAD(0x219a, PIN_INPUT_PULLDOWN | MUX_MODE0) /* uart3_cts_rctx.uart3_cts_rctx */ - OMAP3_CORE1_IOPAD(0x219c, PIN_OUTPUT | MUX_MODE0) /* uart3_rts_sd.uart3_rts_sd */ - OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */ - OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */ + OMAP3_CORE1_IOPAD(0x219a, PIN_INPUT_PULLDOWN | MUX_MODE0) /* uart3_cts_rctx.uart3_cts_rctx */ + OMAP3_CORE1_IOPAD(0x219c, PIN_OUTPUT | MUX_MODE0) /* uart3_rts_sd.uart3_rts_sd */ + OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */ + OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */ >; }; @@ -205,22 +205,22 @@ }; &uart1 { - pinctrl-names = "default"; - pinctrl-0 = <&uart1_pins>; + pinctrl-names = "default"; + pinctrl-0 = <&uart1_pins>; }; &uart2 { - pinctrl-names = "default"; - pinctrl-0 = <&uart2_pins>; + pinctrl-names = "default"; + pinctrl-0 = <&uart2_pins>; }; &uart3 { - pinctrl-names = "default"; - pinctrl-0 = <&uart3_pins>; + pinctrl-names = "default"; + pinctrl-0 = <&uart3_pins>; }; &uart4 { - status = "disabled"; + status = "disabled"; }; &usb_otg_hs { diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm/omap4-cpu-thermal.dtsi linux-5.10.205/scripts/dtc/include-prefixes/arm/omap4-cpu-thermal.dtsi --- linux-5.10.197/scripts/dtc/include-prefixes/arm/omap4-cpu-thermal.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm/omap4-cpu-thermal.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -15,21 +15,24 @@ polling-delay-passive = <250>; /* milliseconds */ polling-delay = <1000>; /* milliseconds */ - /* sensor ID */ - thermal-sensors = <&bandgap 0>; + /* + * See 44xx files for single sensor addressing, omap5 and dra7 need + * also sensor ID for addressing. + */ + thermal-sensors = <&bandgap 0>; cpu_trips: trips { - cpu_alert0: cpu_alert { - temperature = <100000>; /* millicelsius */ - hysteresis = <2000>; /* millicelsius */ - type = "passive"; - }; - cpu_crit: cpu_crit { - temperature = <125000>; /* millicelsius */ - hysteresis = <2000>; /* millicelsius */ - type = "critical"; - }; - }; + cpu_alert0: cpu_alert { + temperature = <100000>; /* millicelsius */ + hysteresis = <2000>; /* millicelsius */ + type = "passive"; + }; + cpu_crit: cpu_crit { + temperature = <125000>; /* millicelsius */ + hysteresis = <2000>; /* millicelsius */ + type = "critical"; + }; + }; cpu_cooling_maps: cooling-maps { map0 { diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm/omap443x.dtsi linux-5.10.205/scripts/dtc/include-prefixes/arm/omap443x.dtsi --- linux-5.10.197/scripts/dtc/include-prefixes/arm/omap443x.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm/omap443x.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -72,6 +72,7 @@ }; &cpu_thermal { + thermal-sensors = <&bandgap>; coefficients = <0 20000>; }; diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm/omap4460.dtsi linux-5.10.205/scripts/dtc/include-prefixes/arm/omap4460.dtsi --- linux-5.10.197/scripts/dtc/include-prefixes/arm/omap4460.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm/omap4460.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -89,6 +89,7 @@ }; &cpu_thermal { + thermal-sensors = <&bandgap>; coefficients = <348 (-9301)>; }; diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm/omap5-cm-t54.dts linux-5.10.205/scripts/dtc/include-prefixes/arm/omap5-cm-t54.dts --- linux-5.10.197/scripts/dtc/include-prefixes/arm/omap5-cm-t54.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm/omap5-cm-t54.dts 2023-12-20 14:44:42.000000000 +0000 @@ -84,36 +84,36 @@ }; lcd0: display { - compatible = "startek,startek-kd050c", "panel-dpi"; - label = "lcd"; + compatible = "startek,startek-kd050c", "panel-dpi"; + label = "lcd"; - pinctrl-names = "default"; - pinctrl-0 = <&lcd_pins>; + pinctrl-names = "default"; + pinctrl-0 = <&lcd_pins>; + + enable-gpios = <&gpio8 3 GPIO_ACTIVE_HIGH>; - enable-gpios = <&gpio8 3 GPIO_ACTIVE_HIGH>; + panel-timing { + clock-frequency = <33000000>; + hactive = <800>; + vactive = <480>; + hfront-porch = <40>; + hback-porch = <40>; + hsync-len = <43>; + vback-porch = <29>; + vfront-porch = <13>; + vsync-len = <3>; + hsync-active = <0>; + vsync-active = <0>; + de-active = <1>; + pixelclk-active = <1>; + }; - panel-timing { - clock-frequency = <33000000>; - hactive = <800>; - vactive = <480>; - hfront-porch = <40>; - hback-porch = <40>; - hsync-len = <43>; - vback-porch = <29>; - vfront-porch = <13>; - vsync-len = <3>; - hsync-active = <0>; - vsync-active = <0>; - de-active = <1>; - pixelclk-active = <1>; - }; - - port { - lcd_in: endpoint { - remote-endpoint = <&dpi_lcd_out>; - }; - }; - }; + port { + lcd_in: endpoint { + remote-endpoint = <&dpi_lcd_out>; + }; + }; + }; hdmi0: connector0 { compatible = "hdmi-connector"; @@ -644,8 +644,8 @@ }; &usb3 { - extcon = <&extcon_usb3>; - vbus-supply = <&smps10_out1_reg>; + extcon = <&extcon_usb3>; + vbus-supply = <&smps10_out1_reg>; }; &cpu0 { diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm/qcom-mdm9615.dtsi linux-5.10.205/scripts/dtc/include-prefixes/arm/qcom-mdm9615.dtsi --- linux-5.10.197/scripts/dtc/include-prefixes/arm/qcom-mdm9615.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm/qcom-mdm9615.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -82,14 +82,12 @@ }; }; - regulators { - vsdcc_fixed: vsdcc-regulator { - compatible = "regulator-fixed"; - regulator-name = "SDCC Power"; - regulator-min-microvolt = <2700000>; - regulator-max-microvolt = <2700000>; - regulator-always-on; - }; + vsdcc_fixed: vsdcc-regulator { + compatible = "regulator-fixed"; + regulator-name = "SDCC Power"; + regulator-min-microvolt = <2700000>; + regulator-max-microvolt = <2700000>; + regulator-always-on; }; soc: soc { diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm64/mediatek/mt7622-bananapi-bpi-r64.dts linux-5.10.205/scripts/dtc/include-prefixes/arm64/mediatek/mt7622-bananapi-bpi-r64.dts --- linux-5.10.197/scripts/dtc/include-prefixes/arm64/mediatek/mt7622-bananapi-bpi-r64.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm64/mediatek/mt7622-bananapi-bpi-r64.dts 2023-12-20 14:44:42.000000000 +0000 @@ -69,7 +69,7 @@ }; }; - memory { + memory@40000000 { reg = <0 0x40000000 0 0x40000000>; }; diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm64/mediatek/mt7622-rfb1.dts linux-5.10.205/scripts/dtc/include-prefixes/arm64/mediatek/mt7622-rfb1.dts --- linux-5.10.197/scripts/dtc/include-prefixes/arm64/mediatek/mt7622-rfb1.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm64/mediatek/mt7622-rfb1.dts 2023-12-20 14:44:42.000000000 +0000 @@ -55,7 +55,7 @@ }; }; - memory { + memory@40000000 { reg = <0 0x40000000 0 0x20000000>; }; diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm64/mediatek/mt8173-evb.dts linux-5.10.205/scripts/dtc/include-prefixes/arm64/mediatek/mt8173-evb.dts --- linux-5.10.197/scripts/dtc/include-prefixes/arm64/mediatek/mt8173-evb.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm64/mediatek/mt8173-evb.dts 2023-12-20 14:44:42.000000000 +0000 @@ -43,7 +43,7 @@ id-gpio = <&pio 16 GPIO_ACTIVE_HIGH>; }; - usb_p1_vbus: regulator@0 { + usb_p1_vbus: regulator-usb-p1 { compatible = "regulator-fixed"; regulator-name = "usb_vbus"; regulator-min-microvolt = <5000000>; @@ -52,7 +52,7 @@ enable-active-high; }; - usb_p0_vbus: regulator@1 { + usb_p0_vbus: regulator-usb-p0 { compatible = "regulator-fixed"; regulator-name = "vbus"; regulator-min-microvolt = <5000000>; diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm64/mediatek/mt8183-evb.dts linux-5.10.205/scripts/dtc/include-prefixes/arm64/mediatek/mt8183-evb.dts --- linux-5.10.197/scripts/dtc/include-prefixes/arm64/mediatek/mt8183-evb.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm64/mediatek/mt8183-evb.dts 2023-12-20 14:44:42.000000000 +0000 @@ -30,7 +30,7 @@ #address-cells = <2>; #size-cells = <2>; ranges; - scp_mem_reserved: scp_mem_region { + scp_mem_reserved: memory@50000000 { compatible = "shared-dma-pool"; reg = <0 0x50000000 0 0x2900000>; no-map; diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm64/mediatek/mt8183-kukui.dtsi linux-5.10.205/scripts/dtc/include-prefixes/arm64/mediatek/mt8183-kukui.dtsi --- linux-5.10.197/scripts/dtc/include-prefixes/arm64/mediatek/mt8183-kukui.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm64/mediatek/mt8183-kukui.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -95,7 +95,7 @@ #size-cells = <2>; ranges; - scp_mem_reserved: scp_mem_region { + scp_mem_reserved: memory@50000000 { compatible = "shared-dma-pool"; reg = <0 0x50000000 0 0x2900000>; no-map; diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm64/qcom/ipq6018.dtsi linux-5.10.205/scripts/dtc/include-prefixes/arm64/qcom/ipq6018.dtsi --- linux-5.10.197/scripts/dtc/include-prefixes/arm64/qcom/ipq6018.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm64/qcom/ipq6018.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -129,12 +129,6 @@ }; }; - tcsr_mutex: hwlock { - compatible = "qcom,tcsr-mutex"; - syscon = <&tcsr_mutex_regs 0 0x80>; - #hwlock-cells = <1>; - }; - pmuv8: pmu { compatible = "arm,cortex-a53-pmu"; interrupts = ; - hwlocks = <&tcsr_mutex 0>; + hwlocks = <&tcsr_mutex 3>; }; soc: soc { @@ -242,9 +236,10 @@ #reset-cells = <1>; }; - tcsr_mutex_regs: syscon@1905000 { - compatible = "syscon"; - reg = <0x0 0x01905000 0x0 0x8000>; + tcsr_mutex: hwlock@1905000 { + compatible = "qcom,ipq6018-tcsr-mutex", "qcom,tcsr-mutex"; + reg = <0x0 0x01905000 0x0 0x20000>; + #hwlock-cells = <1>; }; tcsr_q6: syscon@1945000 { diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm64/qcom/msm8916.dtsi linux-5.10.205/scripts/dtc/include-prefixes/arm64/qcom/msm8916.dtsi --- linux-5.10.197/scripts/dtc/include-prefixes/arm64/qcom/msm8916.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm64/qcom/msm8916.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -1175,7 +1175,7 @@ #size-cells = <1>; #iommu-cells = <1>; compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1"; - ranges = <0 0x01e20000 0x40000>; + ranges = <0 0x01e20000 0x20000>; reg = <0x01ef0000 0x3000>; clocks = <&gcc GCC_SMMU_CFG_CLK>, <&gcc GCC_APSS_TCU_CLK>; diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm64/qcom/sdm845-mtp.dts linux-5.10.205/scripts/dtc/include-prefixes/arm64/qcom/sdm845-mtp.dts --- linux-5.10.197/scripts/dtc/include-prefixes/arm64/qcom/sdm845-mtp.dts 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm64/qcom/sdm845-mtp.dts 2023-12-20 14:44:42.000000000 +0000 @@ -564,6 +564,8 @@ vdd-1.8-xo-supply = <&vreg_l7a_1p8>; vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; + + qcom,snoc-host-cap-8bit-quirk; }; /* PINCTRL - additions to nodes defined in sdm845.dtsi */ diff -Nru linux-5.10.197/scripts/dtc/include-prefixes/arm64/rockchip/rk3399.dtsi linux-5.10.205/scripts/dtc/include-prefixes/arm64/rockchip/rk3399.dtsi --- linux-5.10.197/scripts/dtc/include-prefixes/arm64/rockchip/rk3399.dtsi 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/dtc/include-prefixes/arm64/rockchip/rk3399.dtsi 2023-12-20 14:44:42.000000000 +0000 @@ -1022,7 +1022,9 @@ power-domain@RK3399_PD_VDU { reg = ; clocks = <&cru ACLK_VDU>, - <&cru HCLK_VDU>; + <&cru HCLK_VDU>, + <&cru SCLK_VDU_CA>, + <&cru SCLK_VDU_CORE>; pm_qos = <&qos_video_m1_r>, <&qos_video_m1_w>; }; @@ -1276,7 +1278,7 @@ vdec: video-codec@ff660000 { compatible = "rockchip,rk3399-vdec"; - reg = <0x0 0xff660000 0x0 0x400>; + reg = <0x0 0xff660000 0x0 0x480>; interrupts = ; clocks = <&cru ACLK_VDU>, <&cru HCLK_VDU>, <&cru SCLK_VDU_CA>, <&cru SCLK_VDU_CORE>; diff -Nru linux-5.10.197/scripts/gcc-plugins/randomize_layout_plugin.c linux-5.10.205/scripts/gcc-plugins/randomize_layout_plugin.c --- linux-5.10.197/scripts/gcc-plugins/randomize_layout_plugin.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/gcc-plugins/randomize_layout_plugin.c 2023-12-20 14:44:42.000000000 +0000 @@ -209,12 +209,14 @@ static void performance_shuffle(tree *newtree, unsigned long length, ranctx *prng_state) { - unsigned long i, x; + unsigned long i, x, index; struct partition_group size_group[length]; unsigned long num_groups = 0; unsigned long randnum; partition_struct(newtree, length, (struct partition_group *)&size_group, &num_groups); + + /* FIXME: this group shuffle is currently a no-op. */ for (i = num_groups - 1; i > 0; i--) { struct partition_group tmp; randnum = ranval(prng_state) % (i + 1); @@ -224,11 +226,14 @@ } for (x = 0; x < num_groups; x++) { - for (i = size_group[x].start + size_group[x].length - 1; i > size_group[x].start; i--) { + for (index = size_group[x].length - 1; index > 0; index--) { tree tmp; + + i = size_group[x].start + index; if (DECL_BIT_FIELD_TYPE(newtree[i])) continue; - randnum = ranval(prng_state) % (i + 1); + randnum = ranval(prng_state) % (index + 1); + randnum += size_group[x].start; // we could handle this case differently if desired if (DECL_BIT_FIELD_TYPE(newtree[randnum])) continue; diff -Nru linux-5.10.197/scripts/kconfig/symbol.c linux-5.10.205/scripts/kconfig/symbol.c --- linux-5.10.197/scripts/kconfig/symbol.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/kconfig/symbol.c 2023-12-20 14:44:42.000000000 +0000 @@ -123,9 +123,9 @@ static void sym_validate_range(struct symbol *sym) { struct property *prop; + struct symbol *range_sym; int base; long long val, val2; - char str[64]; switch (sym->type) { case S_INT: @@ -141,17 +141,15 @@ if (!prop) return; val = strtoll(sym->curr.val, NULL, base); - val2 = sym_get_range_val(prop->expr->left.sym, base); + range_sym = prop->expr->left.sym; + val2 = sym_get_range_val(range_sym, base); if (val >= val2) { - val2 = sym_get_range_val(prop->expr->right.sym, base); + range_sym = prop->expr->right.sym; + val2 = sym_get_range_val(range_sym, base); if (val <= val2) return; } - if (sym->type == S_INT) - sprintf(str, "%lld", val2); - else - sprintf(str, "0x%llx", val2); - sym->curr.val = xstrdup(str); + sym->curr.val = range_sym->curr.val; } static void sym_set_changed(struct symbol *sym) diff -Nru linux-5.10.197/scripts/mod/file2alias.c linux-5.10.205/scripts/mod/file2alias.c --- linux-5.10.197/scripts/mod/file2alias.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/mod/file2alias.c 2023-12-20 14:44:42.000000000 +0000 @@ -1326,13 +1326,13 @@ /* Looks like: tee:uuid */ static int do_tee_entry(const char *filename, void *symval, char *alias) { - DEF_FIELD(symval, tee_client_device_id, uuid); + DEF_FIELD_ADDR(symval, tee_client_device_id, uuid); sprintf(alias, "tee:%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x", - uuid.b[0], uuid.b[1], uuid.b[2], uuid.b[3], uuid.b[4], - uuid.b[5], uuid.b[6], uuid.b[7], uuid.b[8], uuid.b[9], - uuid.b[10], uuid.b[11], uuid.b[12], uuid.b[13], uuid.b[14], - uuid.b[15]); + uuid->b[0], uuid->b[1], uuid->b[2], uuid->b[3], uuid->b[4], + uuid->b[5], uuid->b[6], uuid->b[7], uuid->b[8], uuid->b[9], + uuid->b[10], uuid->b[11], uuid->b[12], uuid->b[13], uuid->b[14], + uuid->b[15]); add_wildcard(alias); return 1; @@ -1490,7 +1490,7 @@ /* First handle the "special" cases */ if (sym_is(name, namelen, "usb")) do_usb_table(symval, sym->st_size, mod); - if (sym_is(name, namelen, "of")) + else if (sym_is(name, namelen, "of")) do_of_table(symval, sym->st_size, mod); else if (sym_is(name, namelen, "pnp")) do_pnp_device_entry(symval, sym->st_size, mod); diff -Nru linux-5.10.197/scripts/sign-file.c linux-5.10.205/scripts/sign-file.c --- linux-5.10.197/scripts/sign-file.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/scripts/sign-file.c 2023-12-20 14:44:42.000000000 +0000 @@ -322,7 +322,7 @@ CMS_NOSMIMECAP | use_keyid | use_signed_attrs), "CMS_add1_signer"); - ERR(CMS_final(cms, bm, NULL, CMS_NOCERTS | CMS_BINARY) < 0, + ERR(CMS_final(cms, bm, NULL, CMS_NOCERTS | CMS_BINARY) != 1, "CMS_final"); #else @@ -341,10 +341,10 @@ b = BIO_new_file(sig_file_name, "wb"); ERR(!b, "%s", sig_file_name); #ifndef USE_PKCS7 - ERR(i2d_CMS_bio_stream(b, cms, NULL, 0) < 0, + ERR(i2d_CMS_bio_stream(b, cms, NULL, 0) != 1, "%s", sig_file_name); #else - ERR(i2d_PKCS7_bio(b, pkcs7) < 0, + ERR(i2d_PKCS7_bio(b, pkcs7) != 1, "%s", sig_file_name); #endif BIO_free(b); @@ -374,9 +374,9 @@ if (!raw_sig) { #ifndef USE_PKCS7 - ERR(i2d_CMS_bio_stream(bd, cms, NULL, 0) < 0, "%s", dest_name); + ERR(i2d_CMS_bio_stream(bd, cms, NULL, 0) != 1, "%s", dest_name); #else - ERR(i2d_PKCS7_bio(bd, pkcs7) < 0, "%s", dest_name); + ERR(i2d_PKCS7_bio(bd, pkcs7) != 1, "%s", dest_name); #endif } else { BIO *b; @@ -396,7 +396,7 @@ ERR(BIO_write(bd, &sig_info, sizeof(sig_info)) < 0, "%s", dest_name); ERR(BIO_write(bd, magic_number, sizeof(magic_number) - 1) < 0, "%s", dest_name); - ERR(BIO_free(bd) < 0, "%s", dest_name); + ERR(BIO_free(bd) != 1, "%s", dest_name); /* Finally, if we're signing in place, replace the original. */ if (replace_orig) diff -Nru linux-5.10.197/security/integrity/iint.c linux-5.10.205/security/integrity/iint.c --- linux-5.10.197/security/integrity/iint.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/security/integrity/iint.c 2023-12-20 14:44:42.000000000 +0000 @@ -66,9 +66,32 @@ return iint; } -static void iint_free(struct integrity_iint_cache *iint) +#define IMA_MAX_NESTING (FILESYSTEM_MAX_STACK_DEPTH+1) + +/* + * It is not clear that IMA should be nested at all, but as long is it measures + * files both on overlayfs and on underlying fs, we need to annotate the iint + * mutex to avoid lockdep false positives related to IMA + overlayfs. + * See ovl_lockdep_annotate_inode_mutex_key() for more details. + */ +static inline void iint_lockdep_annotate(struct integrity_iint_cache *iint, + struct inode *inode) +{ +#ifdef CONFIG_LOCKDEP + static struct lock_class_key iint_mutex_key[IMA_MAX_NESTING]; + + int depth = inode->i_sb->s_stack_depth; + + if (WARN_ON_ONCE(depth < 0 || depth >= IMA_MAX_NESTING)) + depth = 0; + + lockdep_set_class(&iint->mutex, &iint_mutex_key[depth]); +#endif +} + +static void iint_init_always(struct integrity_iint_cache *iint, + struct inode *inode) { - kfree(iint->ima_hash); iint->ima_hash = NULL; iint->version = 0; iint->flags = 0UL; @@ -80,6 +103,14 @@ iint->ima_creds_status = INTEGRITY_UNKNOWN; iint->evm_status = INTEGRITY_UNKNOWN; iint->measured_pcrs = 0; + mutex_init(&iint->mutex); + iint_lockdep_annotate(iint, inode); +} + +static void iint_free(struct integrity_iint_cache *iint) +{ + kfree(iint->ima_hash); + mutex_destroy(&iint->mutex); kmem_cache_free(iint_cache, iint); } @@ -112,6 +143,8 @@ if (!iint) return NULL; + iint_init_always(iint, inode); + write_lock(&integrity_iint_lock); p = &integrity_iint_tree.rb_node; @@ -161,25 +194,18 @@ iint_free(iint); } -static void init_once(void *foo) +static void iint_init_once(void *foo) { struct integrity_iint_cache *iint = foo; memset(iint, 0, sizeof(*iint)); - iint->ima_file_status = INTEGRITY_UNKNOWN; - iint->ima_mmap_status = INTEGRITY_UNKNOWN; - iint->ima_bprm_status = INTEGRITY_UNKNOWN; - iint->ima_read_status = INTEGRITY_UNKNOWN; - iint->ima_creds_status = INTEGRITY_UNKNOWN; - iint->evm_status = INTEGRITY_UNKNOWN; - mutex_init(&iint->mutex); } static int __init integrity_iintcache_init(void) { iint_cache = kmem_cache_create("iint_cache", sizeof(struct integrity_iint_cache), - 0, SLAB_PANIC, init_once); + 0, SLAB_PANIC, iint_init_once); return 0; } DEFINE_LSM(integrity) = { diff -Nru linux-5.10.197/security/integrity/ima/Kconfig linux-5.10.205/security/integrity/ima/Kconfig --- linux-5.10.197/security/integrity/ima/Kconfig 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/security/integrity/ima/Kconfig 2023-12-20 14:44:42.000000000 +0000 @@ -29,9 +29,11 @@ to learn more about IMA. If unsure, say N. +if IMA + config IMA_KEXEC bool "Enable carrying the IMA measurement list across a soft boot" - depends on IMA && TCG_TPM && HAVE_IMA_KEXEC + depends on TCG_TPM && HAVE_IMA_KEXEC default n help TPM PCRs are only reset on a hard reboot. In order to validate @@ -43,7 +45,6 @@ config IMA_MEASURE_PCR_IDX int - depends on IMA range 8 14 default 10 help @@ -53,7 +54,7 @@ config IMA_LSM_RULES bool - depends on IMA && AUDIT && (SECURITY_SELINUX || SECURITY_SMACK || SECURITY_APPARMOR) + depends on AUDIT && (SECURITY_SELINUX || SECURITY_SMACK || SECURITY_APPARMOR) default y help Disabling this option will disregard LSM based policy rules. @@ -61,7 +62,6 @@ choice prompt "Default template" default IMA_NG_TEMPLATE - depends on IMA help Select the default IMA measurement template. @@ -80,14 +80,12 @@ config IMA_DEFAULT_TEMPLATE string - depends on IMA default "ima-ng" if IMA_NG_TEMPLATE default "ima-sig" if IMA_SIG_TEMPLATE choice prompt "Default integrity hash algorithm" default IMA_DEFAULT_HASH_SHA1 - depends on IMA help Select the default hash algorithm used for the measurement list, integrity appraisal and audit log. The compiled default @@ -117,7 +115,6 @@ config IMA_DEFAULT_HASH string - depends on IMA default "sha1" if IMA_DEFAULT_HASH_SHA1 default "sha256" if IMA_DEFAULT_HASH_SHA256 default "sha512" if IMA_DEFAULT_HASH_SHA512 @@ -126,7 +123,6 @@ config IMA_WRITE_POLICY bool "Enable multiple writes to the IMA policy" - depends on IMA default n help IMA policy can now be updated multiple times. The new rules get @@ -137,7 +133,6 @@ config IMA_READ_POLICY bool "Enable reading back the current IMA policy" - depends on IMA default y if IMA_WRITE_POLICY default n if !IMA_WRITE_POLICY help @@ -147,7 +142,6 @@ config IMA_APPRAISE bool "Appraise integrity measurements" - depends on IMA default n help This option enables local measurement integrity appraisal. @@ -268,7 +262,7 @@ config IMA_BLACKLIST_KEYRING bool "Create IMA machine owner blacklist keyrings (EXPERIMENTAL)" depends on SYSTEM_TRUSTED_KEYRING - depends on IMA_TRUSTED_KEYRING + depends on INTEGRITY_TRUSTED_KEYRING default n help This option creates an IMA blacklist keyring, which contains all @@ -278,7 +272,7 @@ config IMA_LOAD_X509 bool "Load X509 certificate onto the '.ima' trusted keyring" - depends on IMA_TRUSTED_KEYRING + depends on INTEGRITY_TRUSTED_KEYRING default n help File signature verification is based on the public keys @@ -303,7 +297,6 @@ config IMA_MEASURE_ASYMMETRIC_KEYS bool - depends on IMA depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y default y @@ -319,3 +312,5 @@ help This option is selected by architectures to enable secure and/or trusted boot based on IMA runtime policies. + +endif diff -Nru linux-5.10.197/security/integrity/ima/ima_api.c linux-5.10.205/security/integrity/ima/ima_api.c --- linux-5.10.197/security/integrity/ima/ima_api.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/security/integrity/ima/ima_api.c 2023-12-20 14:44:42.000000000 +0000 @@ -212,6 +212,7 @@ { const char *audit_cause = "failed"; struct inode *inode = file_inode(file); + struct inode *real_inode = d_real_inode(file_dentry(file)); const char *filename = file->f_path.dentry->d_name.name; int result = 0; int length; @@ -262,6 +263,10 @@ iint->ima_hash = tmpbuf; memcpy(iint->ima_hash, &hash, length); iint->version = i_version; + if (real_inode != inode) { + iint->real_ino = real_inode->i_ino; + iint->real_dev = real_inode->i_sb->s_dev; + } /* Possibly temporary failure due to type of read (eg. O_DIRECT) */ if (!result) diff -Nru linux-5.10.197/security/integrity/ima/ima_main.c linux-5.10.205/security/integrity/ima/ima_main.c --- linux-5.10.197/security/integrity/ima/ima_main.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/security/integrity/ima/ima_main.c 2023-12-20 14:44:42.000000000 +0000 @@ -26,6 +26,7 @@ #include #include #include +#include #include "ima.h" @@ -197,7 +198,7 @@ u32 secid, char *buf, loff_t size, int mask, enum ima_hooks func) { - struct inode *inode = file_inode(file); + struct inode *backing_inode, *inode = file_inode(file); struct integrity_iint_cache *iint = NULL; struct ima_template_desc *template_desc = NULL; char *pathbuf = NULL; @@ -271,6 +272,19 @@ iint->measured_pcrs = 0; } + /* Detect and re-evaluate changes made to the backing file. */ + backing_inode = d_real_inode(file_dentry(file)); + if (backing_inode != inode && + (action & IMA_DO_MASK) && (iint->flags & IMA_DONE_MASK)) { + if (!IS_I_VERSION(backing_inode) || + backing_inode->i_sb->s_dev != iint->real_dev || + backing_inode->i_ino != iint->real_ino || + !inode_eq_iversion(backing_inode, iint->version)) { + iint->flags &= ~IMA_DONE_MASK; + iint->measured_pcrs = 0; + } + } + /* Determine if already appraised/measured based on bitmask * (IMA_MEASURE, IMA_MEASURED, IMA_XXXX_APPRAISE, IMA_XXXX_APPRAISED, * IMA_AUDIT, IMA_AUDITED) diff -Nru linux-5.10.197/security/integrity/integrity.h linux-5.10.205/security/integrity/integrity.h --- linux-5.10.197/security/integrity/integrity.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/security/integrity/integrity.h 2023-12-20 14:44:42.000000000 +0000 @@ -131,6 +131,8 @@ unsigned long flags; unsigned long measured_pcrs; unsigned long atomic_flags; + unsigned long real_ino; + dev_t real_dev; enum integrity_status ima_file_status:4; enum integrity_status ima_mmap_status:4; enum integrity_status ima_bprm_status:4; diff -Nru linux-5.10.197/security/smack/smack.h linux-5.10.205/security/smack/smack.h --- linux-5.10.197/security/smack/smack.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/security/smack/smack.h 2023-12-20 14:44:42.000000000 +0000 @@ -120,6 +120,7 @@ struct task_smack { struct smack_known *smk_task; /* label for access control */ struct smack_known *smk_forked; /* label when forked */ + struct smack_known *smk_transmuted;/* label when transmuted */ struct list_head smk_rules; /* per task access rules */ struct mutex smk_rules_lock; /* lock for the rules */ struct list_head smk_relabel; /* transit allowed labels */ diff -Nru linux-5.10.197/security/smack/smack_lsm.c linux-5.10.205/security/smack/smack_lsm.c --- linux-5.10.197/security/smack/smack_lsm.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/security/smack/smack_lsm.c 2023-12-20 14:44:42.000000000 +0000 @@ -972,8 +972,9 @@ const struct qstr *qstr, const char **name, void **value, size_t *len) { + struct task_smack *tsp = smack_cred(current_cred()); struct inode_smack *issp = smack_inode(inode); - struct smack_known *skp = smk_of_current(); + struct smack_known *skp = smk_of_task(tsp); struct smack_known *isp = smk_of_inode(inode); struct smack_known *dsp = smk_of_inode(dir); int may; @@ -982,20 +983,34 @@ *name = XATTR_SMACK_SUFFIX; if (value && len) { - rcu_read_lock(); - may = smk_access_entry(skp->smk_known, dsp->smk_known, - &skp->smk_rules); - rcu_read_unlock(); + /* + * If equal, transmuting already occurred in + * smack_dentry_create_files_as(). No need to check again. + */ + if (tsp->smk_task != tsp->smk_transmuted) { + rcu_read_lock(); + may = smk_access_entry(skp->smk_known, dsp->smk_known, + &skp->smk_rules); + rcu_read_unlock(); + } /* - * If the access rule allows transmutation and - * the directory requests transmutation then - * by all means transmute. + * In addition to having smk_task equal to smk_transmuted, + * if the access rule allows transmutation and the directory + * requests transmutation then by all means transmute. * Mark the inode as changed. */ - if (may > 0 && ((may & MAY_TRANSMUTE) != 0) && - smk_inode_transmutable(dir)) { - isp = dsp; + if ((tsp->smk_task == tsp->smk_transmuted) || + (may > 0 && ((may & MAY_TRANSMUTE) != 0) && + smk_inode_transmutable(dir))) { + /* + * The caller of smack_dentry_create_files_as() + * should have overridden the current cred, so the + * inode label was already set correctly in + * smack_inode_alloc_security(). + */ + if (tsp->smk_task != tsp->smk_transmuted) + isp = dsp; issp->smk_flags |= SMK_INODE_CHANGED; } @@ -1429,10 +1444,19 @@ struct super_block *sbp; struct inode *ip = (struct inode *)inode; struct smack_known *isp; + struct inode_smack *ispp; + size_t label_len; + char *label = NULL; - if (strcmp(name, XATTR_SMACK_SUFFIX) == 0) + if (strcmp(name, XATTR_SMACK_SUFFIX) == 0) { isp = smk_of_inode(inode); - else { + } else if (strcmp(name, XATTR_SMACK_TRANSMUTE) == 0) { + ispp = smack_inode(inode); + if (ispp->smk_flags & SMK_INODE_TRANSMUTE) + label = TRANS_TRUE; + else + label = ""; + } else { /* * The rest of the Smack xattrs are only on sockets. */ @@ -1454,13 +1478,18 @@ return -EOPNOTSUPP; } + if (!label) + label = isp->smk_known; + + label_len = strlen(label); + if (alloc) { - *buffer = kstrdup(isp->smk_known, GFP_KERNEL); + *buffer = kstrdup(label, GFP_KERNEL); if (*buffer == NULL) return -ENOMEM; } - return strlen(isp->smk_known); + return label_len; } @@ -4634,7 +4663,7 @@ /* * Get label from overlay inode and set it in create_sid */ - isp = smack_inode(d_inode(dentry->d_parent)); + isp = smack_inode(d_inode(dentry)); skp = isp->smk_inode; tsp->smk_task = skp; *new = new_creds; @@ -4685,8 +4714,10 @@ * providing access is transmuting use the containing * directory label instead of the process label. */ - if (may > 0 && (may & MAY_TRANSMUTE)) + if (may > 0 && (may & MAY_TRANSMUTE)) { ntsp->smk_task = isp->smk_inode; + ntsp->smk_transmuted = ntsp->smk_task; + } } return 0; } diff -Nru linux-5.10.197/sound/core/info.c linux-5.10.205/sound/core/info.c --- linux-5.10.197/sound/core/info.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/sound/core/info.c 2023-12-20 14:44:42.000000000 +0000 @@ -57,7 +57,7 @@ }; static int snd_info_version_init(void); -static void snd_info_disconnect(struct snd_info_entry *entry); +static void snd_info_clear_entries(struct snd_info_entry *entry); /* @@ -570,11 +570,16 @@ { if (!card) return; - mutex_lock(&info_mutex); + proc_remove(card->proc_root_link); - card->proc_root_link = NULL; if (card->proc_root) - snd_info_disconnect(card->proc_root); + proc_remove(card->proc_root->p); + + mutex_lock(&info_mutex); + if (card->proc_root) + snd_info_clear_entries(card->proc_root); + card->proc_root_link = NULL; + card->proc_root = NULL; mutex_unlock(&info_mutex); } @@ -746,15 +751,14 @@ } EXPORT_SYMBOL(snd_info_create_card_entry); -static void snd_info_disconnect(struct snd_info_entry *entry) +static void snd_info_clear_entries(struct snd_info_entry *entry) { struct snd_info_entry *p; if (!entry->p) return; list_for_each_entry(p, &entry->children, list) - snd_info_disconnect(p); - proc_remove(entry->p); + snd_info_clear_entries(p); entry->p = NULL; } @@ -771,8 +775,9 @@ if (!entry) return; if (entry->p) { + proc_remove(entry->p); mutex_lock(&info_mutex); - snd_info_disconnect(entry); + snd_info_clear_entries(entry); mutex_unlock(&info_mutex); } diff -Nru linux-5.10.197/sound/core/pcm.c linux-5.10.205/sound/core/pcm.c --- linux-5.10.197/sound/core/pcm.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/sound/core/pcm.c 2023-12-20 14:44:42.000000000 +0000 @@ -251,6 +251,7 @@ STATE(DRAINING), STATE(PAUSED), STATE(SUSPENDED), + STATE(DISCONNECTED), }; static const char * const snd_pcm_access_names[] = { diff -Nru linux-5.10.197/sound/hda/hdac_stream.c linux-5.10.205/sound/hda/hdac_stream.c --- linux-5.10.197/sound/hda/hdac_stream.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/sound/hda/hdac_stream.c 2023-12-20 14:44:42.000000000 +0000 @@ -320,8 +320,10 @@ struct hdac_stream *res = NULL; /* make a non-zero unique key for the substream */ - int key = (substream->pcm->device << 16) | (substream->number << 2) | - (substream->stream + 1); + int key = (substream->number << 2) | (substream->stream + 1); + + if (substream->pcm) + key |= (substream->pcm->device << 16); spin_lock_irq(&bus->reg_lock); list_for_each_entry(azx_dev, &bus->stream_list, list) { diff -Nru linux-5.10.197/sound/hda/intel-dsp-config.c linux-5.10.205/sound/hda/intel-dsp-config.c --- linux-5.10.197/sound/hda/intel-dsp-config.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/sound/hda/intel-dsp-config.c 2023-12-20 14:44:42.000000000 +0000 @@ -329,6 +329,12 @@ DMI_MATCH(DMI_SYS_VENDOR, "Google"), } }, + { + .ident = "Google firmware", + .matches = { + DMI_MATCH(DMI_BIOS_VERSION, "Google"), + } + }, {} } }, diff -Nru linux-5.10.197/sound/pci/hda/hda_intel.c linux-5.10.205/sound/pci/hda/hda_intel.c --- linux-5.10.197/sound/pci/hda/hda_intel.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/sound/pci/hda/hda_intel.c 2023-12-20 14:44:42.000000000 +0000 @@ -2271,12 +2271,15 @@ SND_PCI_QUIRK(0x8086, 0x2068, "Intel NUC7i3BNB", 0), /* https://bugzilla.kernel.org/show_bug.cgi?id=198611 */ SND_PCI_QUIRK(0x17aa, 0x2227, "Lenovo X1 Carbon 3rd Gen", 0), + SND_PCI_QUIRK(0x17aa, 0x316e, "Lenovo ThinkCentre M70q", 0), /* https://bugzilla.redhat.com/show_bug.cgi?id=1689623 */ SND_PCI_QUIRK(0x17aa, 0x367b, "Lenovo IdeaCentre B550", 0), /* https://bugzilla.redhat.com/show_bug.cgi?id=1572975 */ SND_PCI_QUIRK(0x17aa, 0x36a7, "Lenovo C50 All in one", 0), /* https://bugs.launchpad.net/bugs/1821663 */ SND_PCI_QUIRK(0x1631, 0xe017, "Packard Bell NEC IMEDIA 5204", 0), + /* KONTRON SinglePC may cause a stall at runtime resume */ + SND_PCI_QUIRK(0x1734, 0x1232, "KONTRON SinglePC", 0), {} }; #endif /* CONFIG_PM */ diff -Nru linux-5.10.197/sound/pci/hda/patch_hdmi.c linux-5.10.205/sound/pci/hda/patch_hdmi.c --- linux-5.10.197/sound/pci/hda/patch_hdmi.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/sound/pci/hda/patch_hdmi.c 2023-12-20 14:44:42.000000000 +0000 @@ -1967,6 +1967,8 @@ SND_PCI_QUIRK(0x103c, 0x871a, "HP", 1), SND_PCI_QUIRK(0x103c, 0x8711, "HP", 1), SND_PCI_QUIRK(0x103c, 0x8715, "HP", 1), + SND_PCI_QUIRK(0x1043, 0x86ae, "ASUS", 1), /* Z170 PRO */ + SND_PCI_QUIRK(0x1043, 0x86c7, "ASUS", 1), /* Z170M PLUS */ SND_PCI_QUIRK(0x1462, 0xec94, "MS-7C94", 1), {} }; diff -Nru linux-5.10.197/sound/pci/hda/patch_realtek.c linux-5.10.205/sound/pci/hda/patch_realtek.c --- linux-5.10.197/sound/pci/hda/patch_realtek.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/sound/pci/hda/patch_realtek.c 2023-12-20 14:44:42.000000000 +0000 @@ -1994,6 +1994,7 @@ ALC887_FIXUP_ASUS_AUDIO, ALC887_FIXUP_ASUS_HMIC, ALCS1200A_FIXUP_MIC_VREF, + ALC888VD_FIXUP_MIC_100VREF, }; static void alc889_fixup_coef(struct hda_codec *codec, @@ -2547,6 +2548,13 @@ {} } }, + [ALC888VD_FIXUP_MIC_100VREF] = { + .type = HDA_FIXUP_PINCTLS, + .v.pins = (const struct hda_pintbl[]) { + { 0x18, PIN_VREF100 }, /* headset mic */ + {} + } + }, }; static const struct snd_pci_quirk alc882_fixup_tbl[] = { @@ -2616,6 +2624,7 @@ SND_PCI_QUIRK(0x106b, 0x4a00, "Macbook 5,2", ALC889_FIXUP_MBA11_VREF), SND_PCI_QUIRK(0x1071, 0x8258, "Evesham Voyaeger", ALC882_FIXUP_EAPD), + SND_PCI_QUIRK(0x10ec, 0x12d8, "iBase Elo Touch", ALC888VD_FIXUP_MIC_100VREF), SND_PCI_QUIRK(0x13fe, 0x1009, "Advantech MIT-W101", ALC886_FIXUP_EAPD), SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte EP45-DS3/Z87X-UD3H", ALC889_FIXUP_FRONT_HP_NO_PRESENCE), SND_PCI_QUIRK(0x1458, 0xa0b8, "Gigabyte AZ370-Gaming", ALC1220_FIXUP_GB_DUAL_CODECS), @@ -3257,6 +3266,7 @@ case 0x10ec0230: case 0x10ec0236: case 0x10ec0256: + case 0x10ec0257: case 0x19e58326: alc_write_coef_idx(codec, 0x48, 0x0); alc_update_coef_idx(codec, 0x49, 0x0045, 0x0); @@ -3286,6 +3296,7 @@ case 0x10ec0230: case 0x10ec0236: case 0x10ec0256: + case 0x10ec0257: case 0x19e58326: alc_write_coef_idx(codec, 0x48, 0xd011); alc_update_coef_idx(codec, 0x49, 0x007f, 0x0045); @@ -6415,6 +6426,7 @@ case 0x10ec0236: case 0x10ec0255: case 0x10ec0256: + case 0x10ec0257: case 0x19e58326: alc_update_coef_idx(codec, 0x1b, 0x8000, 1 << 15); /* Reset HP JD */ alc_update_coef_idx(codec, 0x1b, 0x8000, 0 << 15); @@ -8974,6 +8986,7 @@ SND_PCI_QUIRK(0x103c, 0x83b9, "HP Spectre x360", ALC269_FIXUP_HP_MUTE_LED_MIC3), SND_PCI_QUIRK(0x103c, 0x841c, "HP Pavilion 15-CK0xx", ALC269_FIXUP_HP_MUTE_LED_MIC3), SND_PCI_QUIRK(0x103c, 0x8497, "HP Envy x360", ALC269_FIXUP_HP_MUTE_LED_MIC3), + SND_PCI_QUIRK(0x103c, 0x84ae, "HP 15-db0403ng", ALC236_FIXUP_HP_MUTE_LED_COEFBIT2), SND_PCI_QUIRK(0x103c, 0x84da, "HP OMEN dc0019-ur", ALC295_FIXUP_HP_OMEN), SND_PCI_QUIRK(0x103c, 0x84e7, "HP Pavilion 15", ALC269_FIXUP_HP_MUTE_LED_MIC3), SND_PCI_QUIRK(0x103c, 0x8519, "HP Spectre x360 15-df0xxx", ALC285_FIXUP_HP_SPECTRE_X360), @@ -9036,6 +9049,7 @@ SND_PCI_QUIRK(0x1043, 0x10a1, "ASUS UX391UA", ALC294_FIXUP_ASUS_SPK), SND_PCI_QUIRK(0x1043, 0x10c0, "ASUS X540SA", ALC256_FIXUP_ASUS_MIC), SND_PCI_QUIRK(0x1043, 0x10d0, "ASUS X540LA/X540LJ", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1043, 0x10d3, "ASUS K6500ZC", ALC294_FIXUP_ASUS_SPK), SND_PCI_QUIRK(0x1043, 0x115d, "Asus 1015E", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), SND_PCI_QUIRK(0x1043, 0x11c0, "ASUS X556UR", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1043, 0x125e, "ASUS Q524UQK", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE), @@ -9881,22 +9895,6 @@ {0x12, 0x90a60130}, {0x17, 0x90170110}, {0x21, 0x03211020}), - SND_HDA_PIN_QUIRK(0x10ec0295, 0x1028, "Dell", ALC269_FIXUP_DELL4_MIC_NO_PRESENCE, - {0x14, 0x90170110}, - {0x21, 0x04211020}), - SND_HDA_PIN_QUIRK(0x10ec0295, 0x1028, "Dell", ALC269_FIXUP_DELL4_MIC_NO_PRESENCE, - {0x14, 0x90170110}, - {0x21, 0x04211030}), - SND_HDA_PIN_QUIRK(0x10ec0295, 0x1028, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE, - ALC295_STANDARD_PINS, - {0x17, 0x21014020}, - {0x18, 0x21a19030}), - SND_HDA_PIN_QUIRK(0x10ec0295, 0x1028, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE, - ALC295_STANDARD_PINS, - {0x17, 0x21014040}, - {0x18, 0x21a19050}), - SND_HDA_PIN_QUIRK(0x10ec0295, 0x1028, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE, - ALC295_STANDARD_PINS), SND_HDA_PIN_QUIRK(0x10ec0298, 0x1028, "Dell", ALC298_FIXUP_DELL1_MIC_NO_PRESENCE, ALC298_STANDARD_PINS, {0x17, 0x90170110}), @@ -9940,6 +9938,9 @@ SND_HDA_PIN_QUIRK(0x10ec0289, 0x1028, "Dell", ALC269_FIXUP_DELL4_MIC_NO_PRESENCE, {0x19, 0x40000000}, {0x1b, 0x40000000}), + SND_HDA_PIN_QUIRK(0x10ec0295, 0x1028, "Dell", ALC269_FIXUP_DELL4_MIC_NO_PRESENCE, + {0x19, 0x40000000}, + {0x1b, 0x40000000}), SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, {0x19, 0x40000000}, {0x1a, 0x40000000}), @@ -11227,6 +11228,7 @@ SND_PCI_QUIRK(0x17aa, 0x32f7, "Lenovo ThinkCentre M90", ALC897_FIXUP_HEADSET_MIC_PIN), SND_PCI_QUIRK(0x17aa, 0x3321, "Lenovo ThinkCentre M70 Gen4", ALC897_FIXUP_HEADSET_MIC_PIN), SND_PCI_QUIRK(0x17aa, 0x331b, "Lenovo ThinkCentre M90 Gen4", ALC897_FIXUP_HEADSET_MIC_PIN), + SND_PCI_QUIRK(0x17aa, 0x3364, "Lenovo ThinkCentre M90 Gen5", ALC897_FIXUP_HEADSET_MIC_PIN), SND_PCI_QUIRK(0x17aa, 0x3742, "Lenovo TianYi510Pro-14IOB", ALC897_FIXUP_HEADSET_MIC_PIN2), SND_PCI_QUIRK(0x17aa, 0x38af, "Lenovo Ideapad Y550P", ALC662_FIXUP_IDEAPAD), SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Ideapad Y550", ALC662_FIXUP_IDEAPAD), diff -Nru linux-5.10.197/sound/soc/codecs/rt5645.c linux-5.10.205/sound/soc/codecs/rt5645.c --- linux-5.10.197/sound/soc/codecs/rt5645.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/sound/soc/codecs/rt5645.c 2023-12-20 14:44:42.000000000 +0000 @@ -3241,6 +3241,8 @@ RT5645_GP1_PIN_IRQ, RT5645_GP1_PIN_IRQ); regmap_update_bits(rt5645->regmap, RT5645_GEN_CTRL1, RT5645_DIG_GATE_CTRL, RT5645_DIG_GATE_CTRL); + regmap_update_bits(rt5645->regmap, RT5645_DEPOP_M1, + RT5645_HP_CB_MASK, RT5645_HP_CB_PU); } rt5645_irq(0, rt5645); diff -Nru linux-5.10.197/sound/soc/codecs/wm_adsp.c linux-5.10.205/sound/soc/codecs/wm_adsp.c --- linux-5.10.197/sound/soc/codecs/wm_adsp.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/sound/soc/codecs/wm_adsp.c 2023-12-20 14:44:42.000000000 +0000 @@ -3763,12 +3763,12 @@ ret = wm_adsp_buffer_read(buf, caps->region_defs[i].base_offset, ®ion->base_addr); if (ret < 0) - return ret; + goto err; ret = wm_adsp_buffer_read(buf, caps->region_defs[i].size_offset, &offset); if (ret < 0) - return ret; + goto err; region->cumulative_size = offset; @@ -3779,6 +3779,10 @@ } return 0; + +err: + kfree(buf->regions); + return ret; } static void wm_adsp_buffer_clear(struct wm_adsp_compr_buf *buf) diff -Nru linux-5.10.197/sound/soc/fsl/fsl_easrc.c linux-5.10.205/sound/soc/fsl/fsl_easrc.c --- linux-5.10.197/sound/soc/fsl/fsl_easrc.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/sound/soc/fsl/fsl_easrc.c 2023-12-20 14:44:42.000000000 +0000 @@ -1971,17 +1971,21 @@ &fsl_easrc_dai, 1); if (ret) { dev_err(dev, "failed to register ASoC DAI\n"); - return ret; + goto err_pm_disable; } ret = devm_snd_soc_register_component(dev, &fsl_asrc_component, NULL, 0); if (ret) { dev_err(&pdev->dev, "failed to register ASoC platform\n"); - return ret; + goto err_pm_disable; } return 0; + +err_pm_disable: + pm_runtime_disable(&pdev->dev); + return ret; } static int fsl_easrc_remove(struct platform_device *pdev) diff -Nru linux-5.10.197/sound/soc/fsl/imx-audmix.c linux-5.10.205/sound/soc/fsl/imx-audmix.c --- linux-5.10.197/sound/soc/fsl/imx-audmix.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/sound/soc/fsl/imx-audmix.c 2023-12-20 14:44:42.000000000 +0000 @@ -322,7 +322,7 @@ if (IS_ERR(priv->cpu_mclk)) { ret = PTR_ERR(priv->cpu_mclk); dev_err(&cpu_pdev->dev, "failed to get DAI mclk1: %d\n", ret); - return -EINVAL; + return ret; } priv->audmix_pdev = audmix_pdev; diff -Nru linux-5.10.197/sound/soc/fsl/mpc5200_dma.c linux-5.10.205/sound/soc/fsl/mpc5200_dma.c --- linux-5.10.197/sound/soc/fsl/mpc5200_dma.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/sound/soc/fsl/mpc5200_dma.c 2023-12-20 14:44:42.000000000 +0000 @@ -107,6 +107,9 @@ /** * psc_dma_trigger: start and stop the DMA transfer. + * @component: triggered component + * @substream: triggered substream + * @cmd: triggered command * * This function is called by ALSA to start, stop, pause, and resume the DMA * transfer of data. diff -Nru linux-5.10.197/sound/soc/generic/simple-card.c linux-5.10.205/sound/soc/generic/simple-card.c --- linux-5.10.197/sound/soc/generic/simple-card.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/sound/soc/generic/simple-card.c 2023-12-20 14:44:42.000000000 +0000 @@ -634,10 +634,12 @@ int dai_idx = 0; + ret = -EINVAL; + cinfo = dev->platform_data; if (!cinfo) { dev_err(dev, "no info for asoc-simple-card\n"); - return -EINVAL; + goto err; } if (!cinfo->name || @@ -646,7 +648,7 @@ !cinfo->platform || !cinfo->cpu_dai.name) { dev_err(dev, "insufficient asoc_simple_card_info settings\n"); - return -EINVAL; + goto err; } dai_props->cpu_dai = &priv->dais[dai_idx++]; diff -Nru linux-5.10.197/sound/soc/intel/common/soc-intel-quirks.h linux-5.10.205/sound/soc/intel/common/soc-intel-quirks.h --- linux-5.10.197/sound/soc/intel/common/soc-intel-quirks.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/sound/soc/intel/common/soc-intel-quirks.h 2023-12-20 14:44:42.000000000 +0000 @@ -9,34 +9,13 @@ #ifndef _SND_SOC_INTEL_QUIRKS_H #define _SND_SOC_INTEL_QUIRKS_H +#include + #if IS_ENABLED(CONFIG_X86) #include -#include -#include #include -#define SOC_INTEL_IS_CPU(soc, type) \ -static inline bool soc_intel_is_##soc(void) \ -{ \ - static const struct x86_cpu_id soc##_cpu_ids[] = { \ - X86_MATCH_INTEL_FAM6_MODEL(type, NULL), \ - {} \ - }; \ - const struct x86_cpu_id *id; \ - \ - id = x86_match_cpu(soc##_cpu_ids); \ - if (id) \ - return true; \ - return false; \ -} - -SOC_INTEL_IS_CPU(byt, ATOM_SILVERMONT); -SOC_INTEL_IS_CPU(cht, ATOM_AIRMONT); -SOC_INTEL_IS_CPU(apl, ATOM_GOLDMONT); -SOC_INTEL_IS_CPU(glk, ATOM_GOLDMONT_PLUS); -SOC_INTEL_IS_CPU(cml, KABYLAKE_L); - static inline bool soc_intel_is_byt_cr(struct platform_device *pdev) { /* @@ -114,30 +93,6 @@ return false; } -static inline bool soc_intel_is_byt(void) -{ - return false; -} - -static inline bool soc_intel_is_cht(void) -{ - return false; -} - -static inline bool soc_intel_is_apl(void) -{ - return false; -} - -static inline bool soc_intel_is_glk(void) -{ - return false; -} - -static inline bool soc_intel_is_cml(void) -{ - return false; -} #endif - #endif /* _SND_SOC_INTEL_QUIRKS_H */ +#endif /* _SND_SOC_INTEL_QUIRKS_H */ diff -Nru linux-5.10.197/sound/soc/intel/skylake/skl-sst-utils.c linux-5.10.205/sound/soc/intel/skylake/skl-sst-utils.c --- linux-5.10.197/sound/soc/intel/skylake/skl-sst-utils.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/sound/soc/intel/skylake/skl-sst-utils.c 2023-12-20 14:44:42.000000000 +0000 @@ -299,6 +299,7 @@ module->instance_id = devm_kzalloc(ctx->dev, size, GFP_KERNEL); if (!module->instance_id) { ret = -ENOMEM; + kfree(module); goto free_uuid_list; } diff -Nru linux-5.10.197/sound/soc/meson/axg-spdifin.c linux-5.10.205/sound/soc/meson/axg-spdifin.c --- linux-5.10.197/sound/soc/meson/axg-spdifin.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/sound/soc/meson/axg-spdifin.c 2023-12-20 14:44:42.000000000 +0000 @@ -112,34 +112,6 @@ return 0; } -static int axg_spdifin_startup(struct snd_pcm_substream *substream, - struct snd_soc_dai *dai) -{ - struct axg_spdifin *priv = snd_soc_dai_get_drvdata(dai); - int ret; - - ret = clk_prepare_enable(priv->refclk); - if (ret) { - dev_err(dai->dev, - "failed to enable spdifin reference clock\n"); - return ret; - } - - regmap_update_bits(priv->map, SPDIFIN_CTRL0, SPDIFIN_CTRL0_EN, - SPDIFIN_CTRL0_EN); - - return 0; -} - -static void axg_spdifin_shutdown(struct snd_pcm_substream *substream, - struct snd_soc_dai *dai) -{ - struct axg_spdifin *priv = snd_soc_dai_get_drvdata(dai); - - regmap_update_bits(priv->map, SPDIFIN_CTRL0, SPDIFIN_CTRL0_EN, 0); - clk_disable_unprepare(priv->refclk); -} - static void axg_spdifin_write_mode_param(struct regmap *map, int mode, unsigned int val, unsigned int num_per_reg, @@ -251,25 +223,38 @@ ret = axg_spdifin_sample_mode_config(dai, priv); if (ret) { dev_err(dai->dev, "mode configuration failed\n"); - clk_disable_unprepare(priv->pclk); - return ret; + goto pclk_err; } + ret = clk_prepare_enable(priv->refclk); + if (ret) { + dev_err(dai->dev, + "failed to enable spdifin reference clock\n"); + goto pclk_err; + } + + regmap_update_bits(priv->map, SPDIFIN_CTRL0, SPDIFIN_CTRL0_EN, + SPDIFIN_CTRL0_EN); + return 0; + +pclk_err: + clk_disable_unprepare(priv->pclk); + return ret; } static int axg_spdifin_dai_remove(struct snd_soc_dai *dai) { struct axg_spdifin *priv = snd_soc_dai_get_drvdata(dai); + regmap_update_bits(priv->map, SPDIFIN_CTRL0, SPDIFIN_CTRL0_EN, 0); + clk_disable_unprepare(priv->refclk); clk_disable_unprepare(priv->pclk); return 0; } static const struct snd_soc_dai_ops axg_spdifin_ops = { .prepare = axg_spdifin_prepare, - .startup = axg_spdifin_startup, - .shutdown = axg_spdifin_shutdown, }; static int axg_spdifin_iec958_info(struct snd_kcontrol *kcontrol, diff -Nru linux-5.10.197/sound/soc/pxa/pxa-ssp.c linux-5.10.205/sound/soc/pxa/pxa-ssp.c --- linux-5.10.197/sound/soc/pxa/pxa-ssp.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/sound/soc/pxa/pxa-ssp.c 2023-12-20 14:44:42.000000000 +0000 @@ -797,7 +797,7 @@ if (IS_ERR(priv->extclk)) { ret = PTR_ERR(priv->extclk); if (ret == -EPROBE_DEFER) - return ret; + goto err_priv; priv->extclk = NULL; } diff -Nru linux-5.10.197/sound/soc/sof/sof-pci-dev.c linux-5.10.205/sound/soc/sof/sof-pci-dev.c --- linux-5.10.197/sound/soc/sof/sof-pci-dev.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/sound/soc/sof/sof-pci-dev.c 2023-12-20 14:44:42.000000000 +0000 @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -31,17 +32,22 @@ module_param(tplg_path, charp, 0444); MODULE_PARM_DESC(tplg_path, "alternate path for SOF topology."); +static char *tplg_filename; +module_param(tplg_filename, charp, 0444); +MODULE_PARM_DESC(tplg_filename, "alternate filename for SOF topology."); + static int sof_pci_debug; module_param_named(sof_pci_debug, sof_pci_debug, int, 0444); MODULE_PARM_DESC(sof_pci_debug, "SOF PCI debug options (0x0 all off)"); -static const char *sof_override_tplg_name; +static const char *sof_dmi_override_tplg_name; +static bool sof_dmi_use_community_key; #define SOF_PCI_DISABLE_PM_RUNTIME BIT(0) static int sof_tplg_cb(const struct dmi_system_id *id) { - sof_override_tplg_name = id->driver_data; + sof_dmi_override_tplg_name = id->driver_data; return 1; } @@ -57,25 +63,44 @@ {} }; +/* all Up boards use the community key */ +static int up_use_community_key(const struct dmi_system_id *id) +{ + sof_dmi_use_community_key = true; + return 1; +} + +/* + * For ApolloLake Chromebooks we want to force the use of the Intel production key. + * All newer platforms use the community key + */ +static int chromebook_use_community_key(const struct dmi_system_id *id) +{ + if (!soc_intel_is_apl()) + sof_dmi_use_community_key = true; + return 1; +} + static const struct dmi_system_id community_key_platforms[] = { { - .ident = "Up Squared", + .ident = "Up boards", + .callback = up_use_community_key, .matches = { DMI_MATCH(DMI_SYS_VENDOR, "AAEON"), - DMI_MATCH(DMI_BOARD_NAME, "UP-APL01"), } }, { - .ident = "Up Extreme", + .ident = "Google Chromebooks", + .callback = chromebook_use_community_key, .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "AAEON"), - DMI_MATCH(DMI_BOARD_NAME, "UP-WHL01"), + DMI_MATCH(DMI_PRODUCT_FAMILY, "Google"), } }, { - .ident = "Google Chromebooks", + .ident = "Google firmware", + .callback = chromebook_use_community_key, .matches = { - DMI_MATCH(DMI_PRODUCT_FAMILY, "Google"), + DMI_MATCH(DMI_BIOS_VERSION, "Google"), } }, {}, @@ -379,7 +404,7 @@ "Module parameter used, changed fw path to %s\n", sof_pdata->fw_filename_prefix); - } else if (dmi_check_system(community_key_platforms)) { + } else if (dmi_check_system(community_key_platforms) && sof_dmi_use_community_key) { sof_pdata->fw_filename_prefix = devm_kasprintf(dev, GFP_KERNEL, "%s/%s", sof_pdata->desc->default_fw_path, @@ -399,9 +424,20 @@ sof_pdata->tplg_filename_prefix = sof_pdata->desc->default_tplg_path; - dmi_check_system(sof_tplg_table); - if (sof_override_tplg_name) - sof_pdata->tplg_filename = sof_override_tplg_name; + /* + * the topology filename will be provided in the machine descriptor, unless + * it is overridden by a module parameter or DMI quirk. + */ + if (tplg_filename) { + sof_pdata->tplg_filename = tplg_filename; + + dev_dbg(dev, "Module parameter used, changed tplg filename to %s\n", + sof_pdata->tplg_filename); + } else { + dmi_check_system(sof_tplg_table); + if (sof_dmi_override_tplg_name) + sof_pdata->tplg_filename = sof_dmi_override_tplg_name; + } #if IS_ENABLED(CONFIG_SND_SOC_SOF_PROBE_WORK_QUEUE) /* set callback to enable runtime_pm */ diff -Nru linux-5.10.197/sound/soc/ti/ams-delta.c linux-5.10.205/sound/soc/ti/ams-delta.c --- linux-5.10.197/sound/soc/ti/ams-delta.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/sound/soc/ti/ams-delta.c 2023-12-20 14:44:42.000000000 +0000 @@ -303,7 +303,7 @@ static void cx81801_close(struct tty_struct *tty) { struct snd_soc_component *component = tty->disc_data; - struct snd_soc_dapm_context *dapm = &component->card->dapm; + struct snd_soc_dapm_context *dapm; del_timer_sync(&cx81801_timer); @@ -315,6 +315,8 @@ v253_ops.close(tty); + dapm = &component->card->dapm; + /* Revert back to default audio input/output constellation */ snd_soc_dapm_mutex_lock(dapm); diff -Nru linux-5.10.197/sound/soc/ti/omap-mcbsp.c linux-5.10.205/sound/soc/ti/omap-mcbsp.c --- linux-5.10.197/sound/soc/ti/omap-mcbsp.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/sound/soc/ti/omap-mcbsp.c 2023-12-20 14:44:42.000000000 +0000 @@ -74,14 +74,16 @@ return -EINVAL; } - pm_runtime_put_sync(mcbsp->dev); + if (mcbsp->active) + pm_runtime_put_sync(mcbsp->dev); r = clk_set_parent(mcbsp->fclk, fck_src); if (r) dev_err(mcbsp->dev, "CLKS: could not clk_set_parent() to %s\n", src); - pm_runtime_get_sync(mcbsp->dev); + if (mcbsp->active) + pm_runtime_get_sync(mcbsp->dev); clk_put(fck_src); diff -Nru linux-5.10.197/tools/arch/parisc/include/uapi/asm/errno.h linux-5.10.205/tools/arch/parisc/include/uapi/asm/errno.h --- linux-5.10.197/tools/arch/parisc/include/uapi/asm/errno.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/arch/parisc/include/uapi/asm/errno.h 2023-12-20 14:44:42.000000000 +0000 @@ -75,7 +75,6 @@ /* We now return you to your regularly scheduled HPUX. */ -#define ENOSYM 215 /* symbol does not exist in executable */ #define ENOTSOCK 216 /* Socket operation on non-socket */ #define EDESTADDRREQ 217 /* Destination address required */ #define EMSGSIZE 218 /* Message too long */ @@ -101,7 +100,6 @@ #define ETIMEDOUT 238 /* Connection timed out */ #define ECONNREFUSED 239 /* Connection refused */ #define EREFUSED ECONNREFUSED /* for HP's NFS apparently */ -#define EREMOTERELEASE 240 /* Remote peer released connection */ #define EHOSTDOWN 241 /* Host is down */ #define EHOSTUNREACH 242 /* No route to host */ diff -Nru linux-5.10.197/tools/iio/iio_generic_buffer.c linux-5.10.205/tools/iio/iio_generic_buffer.c --- linux-5.10.197/tools/iio/iio_generic_buffer.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/iio/iio_generic_buffer.c 2023-12-20 14:44:42.000000000 +0000 @@ -49,12 +49,15 @@ * Has the side effect of filling the channels[i].location values used * in processing the buffer output. **/ -int size_from_channelarray(struct iio_channel_info *channels, int num_channels) +static unsigned int size_from_channelarray(struct iio_channel_info *channels, int num_channels) { - int bytes = 0; - int i = 0; + unsigned int bytes = 0; + int i = 0, max = 0; + unsigned int misalignment; while (i < num_channels) { + if (channels[i].bytes > max) + max = channels[i].bytes; if (bytes % channels[i].bytes == 0) channels[i].location = bytes; else @@ -64,11 +67,19 @@ bytes = channels[i].location + channels[i].bytes; i++; } + /* + * We want the data in next sample to also be properly aligned so + * we'll add padding at the end if needed. Adding padding only + * works for channel data which size is 2^n bytes. + */ + misalignment = bytes % max; + if (misalignment) + bytes += max - misalignment; return bytes; } -void print1byte(uint8_t input, struct iio_channel_info *info) +static void print1byte(uint8_t input, struct iio_channel_info *info) { /* * Shift before conversion to avoid sign extension @@ -85,7 +96,7 @@ } } -void print2byte(uint16_t input, struct iio_channel_info *info) +static void print2byte(uint16_t input, struct iio_channel_info *info) { /* First swap if incorrect endian */ if (info->be) @@ -108,7 +119,7 @@ } } -void print4byte(uint32_t input, struct iio_channel_info *info) +static void print4byte(uint32_t input, struct iio_channel_info *info) { /* First swap if incorrect endian */ if (info->be) @@ -131,7 +142,7 @@ } } -void print8byte(uint64_t input, struct iio_channel_info *info) +static void print8byte(uint64_t input, struct iio_channel_info *info) { /* First swap if incorrect endian */ if (info->be) @@ -167,9 +178,8 @@ * to fill the location offsets. * @num_channels: number of channels **/ -void process_scan(char *data, - struct iio_channel_info *channels, - int num_channels) +static void process_scan(char *data, struct iio_channel_info *channels, + int num_channels) { int k; @@ -238,7 +248,7 @@ return 0; } -void print_usage(void) +static void print_usage(void) { fprintf(stderr, "Usage: generic_buffer [options]...\n" "Capture, convert and output data from IIO device buffer\n" @@ -257,12 +267,12 @@ " -w Set delay between reads in us (event-less mode)\n"); } -enum autochan autochannels = AUTOCHANNELS_DISABLED; -char *dev_dir_name = NULL; -char *buf_dir_name = NULL; -bool current_trigger_set = false; +static enum autochan autochannels = AUTOCHANNELS_DISABLED; +static char *dev_dir_name = NULL; +static char *buf_dir_name = NULL; +static bool current_trigger_set = false; -void cleanup(void) +static void cleanup(void) { int ret; @@ -294,14 +304,14 @@ } } -void sig_handler(int signum) +static void sig_handler(int signum) { fprintf(stderr, "Caught signal %d\n", signum); cleanup(); exit(-signum); } -void register_cleanup(void) +static void register_cleanup(void) { struct sigaction sa = { .sa_handler = sig_handler }; const int signums[] = { SIGINT, SIGTERM, SIGABRT }; @@ -343,7 +353,7 @@ ssize_t read_size; int dev_num = -1, trig_num = -1; char *buffer_access = NULL; - int scan_size; + unsigned int scan_size; int noevents = 0; int notrigger = 0; char *dummy; @@ -613,7 +623,16 @@ } scan_size = size_from_channelarray(channels, num_channels); - data = malloc(scan_size * buf_len); + + size_t total_buf_len = scan_size * buf_len; + + if (scan_size > 0 && total_buf_len / scan_size != buf_len) { + ret = -EFAULT; + perror("Integer overflow happened when calculate scan_size * buf_len"); + goto error; + } + + data = malloc(total_buf_len); if (!data) { ret = -ENOMEM; goto error; diff -Nru linux-5.10.197/tools/include/linux/btf_ids.h linux-5.10.205/tools/include/linux/btf_ids.h --- linux-5.10.197/tools/include/linux/btf_ids.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/include/linux/btf_ids.h 2023-12-20 14:44:42.000000000 +0000 @@ -38,7 +38,7 @@ ____BTF_ID(symbol) #define __ID(prefix) \ - __PASTE(prefix, __COUNTER__) + __PASTE(__PASTE(prefix, __COUNTER__), __LINE__) /* * The BTF_ID defines unique symbol for each ID pointing diff -Nru linux-5.10.197/tools/include/uapi/linux/bpf.h linux-5.10.205/tools/include/uapi/linux/bpf.h --- linux-5.10.197/tools/include/uapi/linux/bpf.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/include/uapi/linux/bpf.h 2023-12-20 14:44:42.000000000 +0000 @@ -976,7 +976,9 @@ * performed again, if the helper is used in combination with * direct packet access. * Return - * 0 on success, or a negative error in case of failure. + * 0 on success, or a negative error in case of failure. Positive + * error indicates a potential drop or congestion in the target + * device. The particular positive error codes are not defined. * * u64 bpf_get_current_pid_tgid(void) * Return diff -Nru linux-5.10.197/tools/include/uapi/linux/perf_event.h linux-5.10.205/tools/include/uapi/linux/perf_event.h --- linux-5.10.197/tools/include/uapi/linux/perf_event.h 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/include/uapi/linux/perf_event.h 2023-12-20 14:44:42.000000000 +0000 @@ -279,6 +279,7 @@ * { u64 time_enabled; } && PERF_FORMAT_TOTAL_TIME_ENABLED * { u64 time_running; } && PERF_FORMAT_TOTAL_TIME_RUNNING * { u64 id; } && PERF_FORMAT_ID + * { u64 lost; } && PERF_FORMAT_LOST * } && !PERF_FORMAT_GROUP * * { u64 nr; @@ -286,6 +287,7 @@ * { u64 time_running; } && PERF_FORMAT_TOTAL_TIME_RUNNING * { u64 value; * { u64 id; } && PERF_FORMAT_ID + * { u64 lost; } && PERF_FORMAT_LOST * } cntr[nr]; * } && PERF_FORMAT_GROUP * }; @@ -295,8 +297,9 @@ PERF_FORMAT_TOTAL_TIME_RUNNING = 1U << 1, PERF_FORMAT_ID = 1U << 2, PERF_FORMAT_GROUP = 1U << 3, + PERF_FORMAT_LOST = 1U << 4, - PERF_FORMAT_MAX = 1U << 4, /* non-ABI */ + PERF_FORMAT_MAX = 1U << 5, /* non-ABI */ }; #define PERF_ATTR_SIZE_VER0 64 /* sizeof first published struct */ diff -Nru linux-5.10.197/tools/objtool/check.c linux-5.10.205/tools/objtool/check.c --- linux-5.10.197/tools/objtool/check.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/objtool/check.c 2023-12-20 14:44:42.000000000 +0000 @@ -2107,7 +2107,7 @@ if (!dest) return false; - if (dest->fentry) + if (dest->fentry || dest->embedded_insn) return true; } diff -Nru linux-5.10.197/tools/perf/util/Build linux-5.10.205/tools/perf/util/Build --- linux-5.10.197/tools/perf/util/Build 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/perf/util/Build 2023-12-20 14:44:42.000000000 +0000 @@ -253,6 +253,12 @@ else bison_flags += -w endif + +BISON_LT_381 := $(shell expr $(shell $(BISON) --version | grep bison | sed -e 's/.\+ \([0-9]\+\).\([0-9]\+\).\([0-9]\+\)/\1\2\3/g') \< 381) +ifeq ($(BISON_LT_381),1) + bison_flags += -DYYNOMEM=YYABORT +endif + CFLAGS_parse-events-bison.o += $(bison_flags) CFLAGS_pmu-bison.o += -DYYLTYPE_IS_TRIVIAL=0 $(bison_flags) CFLAGS_expr-bison.o += -DYYLTYPE_IS_TRIVIAL=0 $(bison_flags) diff -Nru linux-5.10.197/tools/perf/util/hist.c linux-5.10.205/tools/perf/util/hist.c --- linux-5.10.197/tools/perf/util/hist.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/perf/util/hist.c 2023-12-20 14:44:42.000000000 +0000 @@ -2624,8 +2624,6 @@ /* If we have branch cycles always annotate them. */ if (bs && bs->nr && entries[0].flags.cycles) { - int i; - bi = sample__resolve_bstack(sample, al); if (bi) { struct addr_map_symbol *prev = NULL; @@ -2640,7 +2638,7 @@ * Note that perf stores branches reversed from * program order! */ - for (i = bs->nr - 1; i >= 0; i--) { + for (int i = bs->nr - 1; i >= 0; i--) { addr_map_symbol__account_cycles(&bi[i].from, nonany_branch_mode ? NULL : prev, bi[i].flags.cycles); @@ -2649,6 +2647,12 @@ if (total_cycles) *total_cycles += bi[i].flags.cycles; } + for (unsigned int i = 0; i < bs->nr; i++) { + map__put(bi[i].to.ms.map); + maps__put(bi[i].to.ms.maps); + map__put(bi[i].from.ms.map); + maps__put(bi[i].from.ms.maps); + } free(bi); } } diff -Nru linux-5.10.197/tools/perf/util/machine.c linux-5.10.205/tools/perf/util/machine.c --- linux-5.10.197/tools/perf/util/machine.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/perf/util/machine.c 2023-12-20 14:44:42.000000000 +0000 @@ -2387,16 +2387,18 @@ save_lbr_cursor_node(thread, cursor, i); } - /* Add LBR ip from first entries.to */ - ip = entries[0].to; - flags = &entries[0].flags; - *branch_from = entries[0].from; - err = add_callchain_ip(thread, cursor, parent, - root_al, &cpumode, ip, - true, flags, NULL, - *branch_from); - if (err) - return err; + if (lbr_nr > 0) { + /* Add LBR ip from first entries.to */ + ip = entries[0].to; + flags = &entries[0].flags; + *branch_from = entries[0].from; + err = add_callchain_ip(thread, cursor, parent, + root_al, &cpumode, ip, + true, flags, NULL, + *branch_from); + if (err) + return err; + } return 0; } diff -Nru linux-5.10.197/tools/power/cpupower/Makefile linux-5.10.205/tools/power/cpupower/Makefile --- linux-5.10.197/tools/power/cpupower/Makefile 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/power/cpupower/Makefile 2023-12-20 14:44:42.000000000 +0000 @@ -270,14 +270,14 @@ $(MAKE) -C bench O=$(OUTPUT) clean -install-lib: +install-lib: libcpupower $(INSTALL) -d $(DESTDIR)${libdir} $(CP) $(OUTPUT)libcpupower.so* $(DESTDIR)${libdir}/ $(INSTALL) -d $(DESTDIR)${includedir} $(INSTALL_DATA) lib/cpufreq.h $(DESTDIR)${includedir}/cpufreq.h $(INSTALL_DATA) lib/cpuidle.h $(DESTDIR)${includedir}/cpuidle.h -install-tools: +install-tools: $(OUTPUT)cpupower $(INSTALL) -d $(DESTDIR)${bindir} $(INSTALL_PROGRAM) $(OUTPUT)cpupower $(DESTDIR)${bindir} $(INSTALL) -d $(DESTDIR)${bash_completion_dir} @@ -293,14 +293,14 @@ $(INSTALL_DATA) -D man/cpupower-info.1 $(DESTDIR)${mandir}/man1/cpupower-info.1 $(INSTALL_DATA) -D man/cpupower-monitor.1 $(DESTDIR)${mandir}/man1/cpupower-monitor.1 -install-gmo: +install-gmo: create-gmo $(INSTALL) -d $(DESTDIR)${localedir} for HLANG in $(LANGUAGES); do \ echo '$(INSTALL_DATA) -D $(OUTPUT)po/$$HLANG.gmo $(DESTDIR)${localedir}/$$HLANG/LC_MESSAGES/cpupower.mo'; \ $(INSTALL_DATA) -D $(OUTPUT)po/$$HLANG.gmo $(DESTDIR)${localedir}/$$HLANG/LC_MESSAGES/cpupower.mo; \ done; -install-bench: +install-bench: compile-bench @#DESTDIR must be set from outside to survive @sbindir=$(sbindir) bindir=$(bindir) docdir=$(docdir) confdir=$(confdir) $(MAKE) -C bench O=$(OUTPUT) install diff -Nru linux-5.10.197/tools/power/cpupower/bench/Makefile linux-5.10.205/tools/power/cpupower/bench/Makefile --- linux-5.10.197/tools/power/cpupower/bench/Makefile 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/power/cpupower/bench/Makefile 2023-12-20 14:44:42.000000000 +0000 @@ -27,7 +27,7 @@ all: $(OUTPUT)cpufreq-bench -install: +install: $(OUTPUT)cpufreq-bench mkdir -p $(DESTDIR)/$(sbindir) mkdir -p $(DESTDIR)/$(bindir) mkdir -p $(DESTDIR)/$(docdir) diff -Nru linux-5.10.197/tools/power/x86/turbostat/turbostat.c linux-5.10.205/tools/power/x86/turbostat/turbostat.c --- linux-5.10.197/tools/power/x86/turbostat/turbostat.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/power/x86/turbostat/turbostat.c 2023-12-20 14:44:42.000000000 +0000 @@ -1995,7 +1995,7 @@ if ((DO_BIC(BIC_CPU_c6) || soft_c1_residency_display(BIC_CPU_c6)) && !do_knl_cstates) { if (get_msr(cpu, MSR_CORE_C6_RESIDENCY, &c->c6)) return -7; - } else if (do_knl_cstates || soft_c1_residency_display(BIC_CPU_c6)) { + } else if (do_knl_cstates && soft_c1_residency_display(BIC_CPU_c6)) { if (get_msr(cpu, MSR_KNL_CORE_C6_RESIDENCY, &c->c6)) return -7; } diff -Nru linux-5.10.197/tools/testing/selftests/efivarfs/create-read.c linux-5.10.205/tools/testing/selftests/efivarfs/create-read.c --- linux-5.10.197/tools/testing/selftests/efivarfs/create-read.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/testing/selftests/efivarfs/create-read.c 2023-12-20 14:44:42.000000000 +0000 @@ -32,8 +32,10 @@ rc = read(fd, buf, sizeof(buf)); if (rc != 0) { fprintf(stderr, "Reading a new var should return EOF\n"); + close(fd); return EXIT_FAILURE; } + close(fd); return EXIT_SUCCESS; } diff -Nru linux-5.10.197/tools/testing/selftests/ftrace/test.d/instances/instance-event.tc linux-5.10.205/tools/testing/selftests/ftrace/test.d/instances/instance-event.tc --- linux-5.10.197/tools/testing/selftests/ftrace/test.d/instances/instance-event.tc 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/testing/selftests/ftrace/test.d/instances/instance-event.tc 2023-12-20 14:44:42.000000000 +0000 @@ -39,7 +39,7 @@ instance_set() { while :; do - echo 1 > foo/events/sched/sched_switch + echo 1 > foo/events/sched/sched_switch/enable done 2> /dev/null } diff -Nru linux-5.10.197/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_non_uniq_symbol.tc linux-5.10.205/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_non_uniq_symbol.tc --- linux-5.10.197/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_non_uniq_symbol.tc 1970-01-01 00:00:00.000000000 +0000 +++ linux-5.10.205/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_non_uniq_symbol.tc 2023-12-20 14:44:42.000000000 +0000 @@ -0,0 +1,13 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# description: Test failure of registering kprobe on non unique symbol +# requires: kprobe_events + +SYMBOL='name_show' + +# We skip this test on kernel where SYMBOL is unique or does not exist. +if [ "$(grep -c -E "[[:alnum:]]+ t ${SYMBOL}" /proc/kallsyms)" -le '1' ]; then + exit_unsupported +fi + +! echo "p:test_non_unique ${SYMBOL}" > kprobe_events diff -Nru linux-5.10.197/tools/testing/selftests/kselftest_deps.sh linux-5.10.205/tools/testing/selftests/kselftest_deps.sh --- linux-5.10.197/tools/testing/selftests/kselftest_deps.sh 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/testing/selftests/kselftest_deps.sh 2023-12-20 14:44:42.000000000 +0000 @@ -46,11 +46,11 @@ print_targets=0 while getopts "p" arg; do - case $arg in - p) + case $arg in + p) print_targets=1 shift;; - esac + esac done if [ $# -eq 0 ] @@ -92,6 +92,10 @@ # Get all TARGETS from selftests Makefile targets=$(egrep "^TARGETS +|^TARGETS =" Makefile | cut -d "=" -f2) +# Initially, in LDLIBS related lines, the dep checker needs +# to ignore lines containing the following strings: +filter="\$(VAR_LDLIBS)\|pkg-config\|PKG_CONFIG\|IOURING_EXTRA_LIBS" + # Single test case if [ $# -eq 2 ] then @@ -100,6 +104,8 @@ l1_test $test l2_test $test l3_test $test + l4_test $test + l5_test $test print_results $1 $2 exit $? @@ -113,7 +119,7 @@ # Append space at the end of the list to append more tests. l1_tests=$(grep -r --include=Makefile "^LDLIBS" | \ - grep -v "VAR_LDLIBS" | awk -F: '{print $1}') + grep -v "$filter" | awk -F: '{print $1}' | uniq) # Level 2: LDLIBS set dynamically. # @@ -126,7 +132,7 @@ # Append space at the end of the list to append more tests. l2_tests=$(grep -r --include=Makefile ": LDLIBS" | \ - grep -v "VAR_LDLIBS" | awk -F: '{print $1}') + grep -v "$filter" | awk -F: '{print $1}' | uniq) # Level 3 # gpio, memfd and others use pkg-config to find mount and fuse libs @@ -140,11 +146,32 @@ # VAR_LDLIBS := $(shell pkg-config fuse --libs 2>/dev/null) l3_tests=$(grep -r --include=Makefile "^VAR_LDLIBS" | \ - grep -v "pkg-config" | awk -F: '{print $1}') + grep -v "pkg-config\|PKG_CONFIG" | awk -F: '{print $1}' | uniq) -#echo $l1_tests -#echo $l2_1_tests -#echo $l3_tests +# Level 4 +# some tests may fall back to default using `|| echo -l` +# if pkg-config doesn't find the libs, instead of using VAR_LDLIBS +# as per level 3 checks. +# e.g: +# netfilter/Makefile +# LDLIBS += $(shell $(HOSTPKG_CONFIG) --libs libmnl 2>/dev/null || echo -lmnl) +l4_tests=$(grep -r --include=Makefile "^LDLIBS" | \ + grep "pkg-config\|PKG_CONFIG" | awk -F: '{print $1}' | uniq) + +# Level 5 +# some tests may use IOURING_EXTRA_LIBS to add extra libs to LDLIBS, +# which in turn may be defined in a sub-Makefile +# e.g.: +# mm/Makefile +# $(OUTPUT)/gup_longterm: LDLIBS += $(IOURING_EXTRA_LIBS) +l5_tests=$(grep -r --include=Makefile "LDLIBS +=.*\$(IOURING_EXTRA_LIBS)" | \ + awk -F: '{print $1}' | uniq) + +#echo l1_tests $l1_tests +#echo l2_tests $l2_tests +#echo l3_tests $l3_tests +#echo l4_tests $l4_tests +#echo l5_tests $l5_tests all_tests print_results $1 $2 @@ -166,24 +193,32 @@ for test in $l3_tests; do l3_test $test done + + for test in $l4_tests; do + l4_test $test + done + + for test in $l5_tests; do + l5_test $test + done } # Use same parsing used for l1_tests and pick libraries this time. l1_test() { test_libs=$(grep --include=Makefile "^LDLIBS" $test | \ - grep -v "VAR_LDLIBS" | \ + grep -v "$filter" | \ sed -e 's/\:/ /' | \ sed -e 's/+/ /' | cut -d "=" -f 2) check_libs $test $test_libs } -# Use same parsing used for l2__tests and pick libraries this time. +# Use same parsing used for l2_tests and pick libraries this time. l2_test() { test_libs=$(grep --include=Makefile ": LDLIBS" $test | \ - grep -v "VAR_LDLIBS" | \ + grep -v "$filter" | \ sed -e 's/\:/ /' | sed -e 's/+/ /' | \ cut -d "=" -f 2) @@ -198,6 +233,24 @@ check_libs $test $test_libs } + +l4_test() +{ + test_libs=$(grep --include=Makefile "^VAR_LDLIBS\|^LDLIBS" $test | \ + grep "\(pkg-config\|PKG_CONFIG\).*|| echo " | \ + sed -e 's/.*|| echo //' | sed -e 's/)$//') + + check_libs $test $test_libs +} + +l5_test() +{ + tests=$(find $(dirname "$test") -type f -name "*.mk") + test_libs=$(grep "^IOURING_EXTRA_LIBS +\?=" $tests | \ + cut -d "=" -f 2) + + check_libs $test $test_libs +} check_libs() { diff -Nru linux-5.10.197/tools/testing/selftests/net/ipsec.c linux-5.10.205/tools/testing/selftests/net/ipsec.c --- linux-5.10.197/tools/testing/selftests/net/ipsec.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/testing/selftests/net/ipsec.c 2023-12-20 14:44:42.000000000 +0000 @@ -2117,7 +2117,7 @@ int main(int argc, char **argv) { - unsigned int nr_process = 1; + long nr_process = 1; int route_sock = -1, ret = KSFT_SKIP; int test_desc_fd[2]; uint32_t route_seq; @@ -2138,7 +2138,7 @@ exit_usage(argv); } - if (nr_process > MAX_PROCESSES || !nr_process) { + if (nr_process > MAX_PROCESSES || nr_process < 1) { printk("nr_process should be between [1; %u]", MAX_PROCESSES); exit_usage(argv); diff -Nru linux-5.10.197/tools/testing/selftests/net/mptcp/mptcp_connect.c linux-5.10.205/tools/testing/selftests/net/mptcp/mptcp_connect.c --- linux-5.10.197/tools/testing/selftests/net/mptcp/mptcp_connect.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/testing/selftests/net/mptcp/mptcp_connect.c 2023-12-20 14:44:42.000000000 +0000 @@ -15,6 +15,7 @@ #include #include +#include #include #include #include @@ -734,15 +735,11 @@ static void init_rng(void) { - int fd = open("/dev/urandom", O_RDONLY); unsigned int foo; - if (fd > 0) { - int ret = read(fd, &foo, sizeof(foo)); - - if (ret < 0) - srand(fd + foo); - close(fd); + if (getrandom(&foo, sizeof(foo), 0) == -1) { + perror("getrandom"); + exit(1); } srand(foo); diff -Nru linux-5.10.197/tools/testing/selftests/net/tls.c linux-5.10.205/tools/testing/selftests/net/tls.c --- linux-5.10.197/tools/testing/selftests/net/tls.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/testing/selftests/net/tls.c 2023-12-20 14:44:42.000000000 +0000 @@ -384,11 +384,12 @@ msg.msg_iov = &vec; msg.msg_iovlen = 1; - EXPECT_EQ(sendmsg(self->cfd, &msg, 0), send_len); + EXPECT_EQ(sendmsg(self->fd, &msg, 0), send_len); } - while (recvs++ < sends) - EXPECT_NE(recv(self->fd, mem, send_len, 0), -1); + while (recvs++ < sends) { + EXPECT_NE(recv(self->cfd, mem, send_len, 0), -1); + } free(mem); } @@ -416,9 +417,9 @@ msg.msg_iov = vec; msg.msg_iovlen = iov_len; - EXPECT_EQ(sendmsg(self->cfd, &msg, 0), total_len); + EXPECT_EQ(sendmsg(self->fd, &msg, 0), total_len); buf = malloc(total_len); - EXPECT_NE(recv(self->fd, buf, total_len, 0), -1); + EXPECT_NE(recv(self->cfd, buf, total_len, 0), -1); for (i = 0; i < iov_len; i++) { EXPECT_EQ(memcmp(test_strs[i], buf + len_cmp, strlen(test_strs[i])), diff -Nru linux-5.10.197/tools/testing/selftests/pidfd/pidfd_fdinfo_test.c linux-5.10.205/tools/testing/selftests/pidfd/pidfd_fdinfo_test.c --- linux-5.10.197/tools/testing/selftests/pidfd/pidfd_fdinfo_test.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/testing/selftests/pidfd/pidfd_fdinfo_test.c 2023-12-20 14:44:42.000000000 +0000 @@ -62,7 +62,7 @@ break; case PIDFD_PASS: - ksft_test_result_pass("%s test: Passed\n"); + ksft_test_result_pass("%s test: Passed\n", test_name); break; default: diff -Nru linux-5.10.197/tools/testing/selftests/pidfd/pidfd_test.c linux-5.10.205/tools/testing/selftests/pidfd/pidfd_test.c --- linux-5.10.197/tools/testing/selftests/pidfd/pidfd_test.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/testing/selftests/pidfd/pidfd_test.c 2023-12-20 14:44:42.000000000 +0000 @@ -380,13 +380,13 @@ static void *test_pidfd_poll_exec_thread(void *priv) { - ksft_print_msg("Child Thread: starting. pid %d tid %d ; and sleeping\n", + ksft_print_msg("Child Thread: starting. pid %d tid %ld ; and sleeping\n", getpid(), syscall(SYS_gettid)); ksft_print_msg("Child Thread: doing exec of sleep\n"); execl("/bin/sleep", "sleep", str(CHILD_THREAD_MIN_WAIT), (char *)NULL); - ksft_print_msg("Child Thread: DONE. pid %d tid %d\n", + ksft_print_msg("Child Thread: DONE. pid %d tid %ld\n", getpid(), syscall(SYS_gettid)); return NULL; } @@ -426,7 +426,7 @@ { pthread_t t1; - ksft_print_msg("Child (pidfd): starting. pid %d tid %d\n", getpid(), + ksft_print_msg("Child (pidfd): starting. pid %d tid %ld\n", getpid(), syscall(SYS_gettid)); pthread_create(&t1, NULL, test_pidfd_poll_exec_thread, NULL); /* @@ -477,10 +477,10 @@ static void *test_pidfd_poll_leader_exit_thread(void *priv) { - ksft_print_msg("Child Thread: starting. pid %d tid %d ; and sleeping\n", + ksft_print_msg("Child Thread: starting. pid %d tid %ld ; and sleeping\n", getpid(), syscall(SYS_gettid)); sleep(CHILD_THREAD_MIN_WAIT); - ksft_print_msg("Child Thread: DONE. pid %d tid %d\n", getpid(), syscall(SYS_gettid)); + ksft_print_msg("Child Thread: DONE. pid %d tid %ld\n", getpid(), syscall(SYS_gettid)); return NULL; } @@ -489,7 +489,7 @@ { pthread_t t1, t2; - ksft_print_msg("Child: starting. pid %d tid %d\n", getpid(), syscall(SYS_gettid)); + ksft_print_msg("Child: starting. pid %d tid %ld\n", getpid(), syscall(SYS_gettid)); pthread_create(&t1, NULL, test_pidfd_poll_leader_exit_thread, NULL); pthread_create(&t2, NULL, test_pidfd_poll_leader_exit_thread, NULL); diff -Nru linux-5.10.197/tools/testing/selftests/resctrl/resctrl_tests.c linux-5.10.205/tools/testing/selftests/resctrl/resctrl_tests.c --- linux-5.10.197/tools/testing/selftests/resctrl/resctrl_tests.c 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/testing/selftests/resctrl/resctrl_tests.c 2023-12-20 14:44:42.000000000 +0000 @@ -132,9 +132,14 @@ detect_amd(); if (has_ben) { + if (argc - ben_ind >= BENCHMARK_ARGS) + ksft_exit_fail_msg("Too long benchmark command.\n"); + /* Extract benchmark command from command line. */ for (i = ben_ind; i < argc; i++) { benchmark_cmd[i - ben_ind] = benchmark_cmd_area[i]; + if (strlen(argv[i]) >= BENCHMARK_ARG_SIZE) + ksft_exit_fail_msg("Too long benchmark command argument.\n"); sprintf(benchmark_cmd[i - ben_ind], "%s", argv[i]); } benchmark_cmd[ben_count] = NULL; diff -Nru linux-5.10.197/tools/testing/selftests/vm/charge_reserved_hugetlb.sh linux-5.10.205/tools/testing/selftests/vm/charge_reserved_hugetlb.sh --- linux-5.10.197/tools/testing/selftests/vm/charge_reserved_hugetlb.sh 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/testing/selftests/vm/charge_reserved_hugetlb.sh 2023-12-20 14:44:42.000000000 +0000 @@ -21,19 +21,23 @@ reservation_usage_file=rsvd.current fi -cgroup_path=/dev/cgroup/memory -if [[ ! -e $cgroup_path ]]; then - mkdir -p $cgroup_path - if [[ $cgroup2 ]]; then +if [[ $cgroup2 ]]; then + cgroup_path=$(mount -t cgroup2 | head -1 | awk '{print $3}') + if [[ -z "$cgroup_path" ]]; then + cgroup_path=/dev/cgroup/memory mount -t cgroup2 none $cgroup_path - else + do_umount=1 + fi + echo "+hugetlb" >$cgroup_path/cgroup.subtree_control +else + cgroup_path=$(mount -t cgroup | grep ",hugetlb" | awk '{print $3}') + if [[ -z "$cgroup_path" ]]; then + cgroup_path=/dev/cgroup/memory mount -t cgroup memory,hugetlb $cgroup_path + do_umount=1 fi fi - -if [[ $cgroup2 ]]; then - echo "+hugetlb" >/dev/cgroup/memory/cgroup.subtree_control -fi +export cgroup_path function cleanup() { if [[ $cgroup2 ]]; then @@ -105,7 +109,7 @@ function wait_for_hugetlb_memory_to_get_depleted() { local cgroup="$1" - local path="/dev/cgroup/memory/$cgroup/hugetlb.${MB}MB.$reservation_usage_file" + local path="$cgroup_path/$cgroup/hugetlb.${MB}MB.$reservation_usage_file" # Wait for hugetlbfs memory to get depleted. while [ $(cat $path) != 0 ]; do echo Waiting for hugetlb memory to get depleted. @@ -118,7 +122,7 @@ local cgroup="$1" local size="$2" - local path="/dev/cgroup/memory/$cgroup/hugetlb.${MB}MB.$reservation_usage_file" + local path="$cgroup_path/$cgroup/hugetlb.${MB}MB.$reservation_usage_file" # Wait for hugetlbfs memory to get written. while [ $(cat $path) != $size ]; do echo Waiting for hugetlb memory reservation to reach size $size. @@ -131,7 +135,7 @@ local cgroup="$1" local size="$2" - local path="/dev/cgroup/memory/$cgroup/hugetlb.${MB}MB.$fault_usage_file" + local path="$cgroup_path/$cgroup/hugetlb.${MB}MB.$fault_usage_file" # Wait for hugetlbfs memory to get written. while [ $(cat $path) != $size ]; do echo Waiting for hugetlb memory to reach size $size. @@ -571,5 +575,7 @@ done # populate done # method -umount $cgroup_path -rmdir $cgroup_path +if [[ $do_umount ]]; then + umount $cgroup_path + rmdir $cgroup_path +fi diff -Nru linux-5.10.197/tools/testing/selftests/vm/hugetlb_reparenting_test.sh linux-5.10.205/tools/testing/selftests/vm/hugetlb_reparenting_test.sh --- linux-5.10.197/tools/testing/selftests/vm/hugetlb_reparenting_test.sh 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/testing/selftests/vm/hugetlb_reparenting_test.sh 2023-12-20 14:44:42.000000000 +0000 @@ -15,19 +15,24 @@ usage_file=current fi -CGROUP_ROOT='/dev/cgroup/memory' -MNT='/mnt/huge/' -if [[ ! -e $CGROUP_ROOT ]]; then - mkdir -p $CGROUP_ROOT - if [[ $cgroup2 ]]; then +if [[ $cgroup2 ]]; then + CGROUP_ROOT=$(mount -t cgroup2 | head -1 | awk '{print $3}') + if [[ -z "$CGROUP_ROOT" ]]; then + CGROUP_ROOT=/dev/cgroup/memory mount -t cgroup2 none $CGROUP_ROOT - sleep 1 - echo "+hugetlb +memory" >$CGROUP_ROOT/cgroup.subtree_control - else + do_umount=1 + fi + echo "+hugetlb +memory" >$CGROUP_ROOT/cgroup.subtree_control +else + CGROUP_ROOT=$(mount -t cgroup | grep ",hugetlb" | awk '{print $3}') + if [[ -z "$CGROUP_ROOT" ]]; then + CGROUP_ROOT=/dev/cgroup/memory mount -t cgroup memory,hugetlb $CGROUP_ROOT + do_umount=1 fi fi +MNT='/mnt/huge/' function get_machine_hugepage_size() { hpz=$(grep -i hugepagesize /proc/meminfo) diff -Nru linux-5.10.197/tools/testing/selftests/vm/write_hugetlb_memory.sh linux-5.10.205/tools/testing/selftests/vm/write_hugetlb_memory.sh --- linux-5.10.197/tools/testing/selftests/vm/write_hugetlb_memory.sh 2023-09-23 09:01:11.000000000 +0000 +++ linux-5.10.205/tools/testing/selftests/vm/write_hugetlb_memory.sh 2023-12-20 14:44:42.000000000 +0000 @@ -14,7 +14,7 @@ reserve=$9 echo "Putting task in cgroup '$cgroup'" -echo $$ > /dev/cgroup/memory/"$cgroup"/cgroup.procs +echo $$ > ${cgroup_path:-/dev/cgroup/memory}/"$cgroup"/cgroup.procs echo "Method is $method"