Version in base suite: 4.19.67-2+deb10u1 Version in overlay suite: 4.19.87-1 Base version: linux_4.19.87-1 Target version: linux_4.19.98-1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/l/linux/linux_4.19.87-1.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/l/linux/linux_4.19.98-1.dsc Documentation/ABI/testing/sysfs-bus-mei | 2 Documentation/admin-guide/kernel-parameters.txt | 24 Documentation/devicetree/bindings/clock/renesas,rcar-usb2-clock-sel.txt | 2 Documentation/devicetree/bindings/rtc/abracon,abx80x.txt | 2 Documentation/filesystems/proc.txt | 3 Documentation/hid/uhid.txt | 2 Makefile | 13 arch/arc/include/asm/cache.h | 2 arch/arc/mm/cache.c | 20 arch/arm/Kconfig.debug | 51 arch/arm/boot/compressed/libfdt_env.h | 4 arch/arm/boot/dts/am335x-pdu001.dts | 2 arch/arm/boot/dts/am437x-gp-evm.dts | 2 arch/arm/boot/dts/am43x-epos-evm.dts | 2 arch/arm/boot/dts/am571x-idk.dts | 2 arch/arm/boot/dts/arm-realview-pb1176.dts | 4 arch/arm/boot/dts/arm-realview-pb11mp.dts | 4 arch/arm/boot/dts/arm-realview-pbx.dtsi | 5 arch/arm/boot/dts/bcm-cygnus.dtsi | 4 arch/arm/boot/dts/bcm283x.dtsi | 2 arch/arm/boot/dts/bcm5301x.dtsi | 4 arch/arm/boot/dts/exynos3250.dtsi | 2 arch/arm/boot/dts/exynos5422-odroid-core.dtsi | 2 arch/arm/boot/dts/gemini-sq201.dts | 37 arch/arm/boot/dts/imx1-ads.dts | 1 arch/arm/boot/dts/imx1-apf9328.dts | 1 arch/arm/boot/dts/imx1.dtsi | 2 arch/arm/boot/dts/imx23-evk.dts | 1 arch/arm/boot/dts/imx23-olinuxino.dts | 1 arch/arm/boot/dts/imx23-sansa.dts | 1 arch/arm/boot/dts/imx23-stmp378x_devb.dts | 1 arch/arm/boot/dts/imx23-xfi3.dts | 1 arch/arm/boot/dts/imx23.dtsi | 2 arch/arm/boot/dts/imx25-eukrea-cpuimx25.dtsi | 1 arch/arm/boot/dts/imx25-karo-tx25.dts | 1 arch/arm/boot/dts/imx25-pdk.dts | 1 arch/arm/boot/dts/imx25.dtsi | 2 arch/arm/boot/dts/imx27-apf27.dts | 1 arch/arm/boot/dts/imx27-eukrea-cpuimx27.dtsi | 1 arch/arm/boot/dts/imx27-pdk.dts | 1 arch/arm/boot/dts/imx27-phytec-phycard-s-som.dtsi | 1 arch/arm/boot/dts/imx27-phytec-phycore-som.dtsi | 1 arch/arm/boot/dts/imx27.dtsi | 2 arch/arm/boot/dts/imx31-bug.dts | 1 arch/arm/boot/dts/imx31-lite.dts | 1 arch/arm/boot/dts/imx31.dtsi | 2 arch/arm/boot/dts/imx35-eukrea-cpuimx35.dtsi | 1 arch/arm/boot/dts/imx35-pdk.dts | 1 arch/arm/boot/dts/imx35.dtsi | 2 arch/arm/boot/dts/imx50-evk.dts | 1 arch/arm/boot/dts/imx50.dtsi | 2 arch/arm/boot/dts/imx51-apf51.dts | 1 arch/arm/boot/dts/imx51-babbage.dts | 1 arch/arm/boot/dts/imx51-digi-connectcore-som.dtsi | 1 arch/arm/boot/dts/imx51-eukrea-cpuimx51.dtsi | 1 arch/arm/boot/dts/imx51-ts4800.dts | 1 arch/arm/boot/dts/imx51-zii-rdu1.dts | 1 arch/arm/boot/dts/imx51-zii-scu2-mezz.dts | 1 arch/arm/boot/dts/imx51-zii-scu3-esb.dts | 1 arch/arm/boot/dts/imx51.dtsi | 2 arch/arm/boot/dts/imx53-ard.dts | 1 arch/arm/boot/dts/imx53-cx9020.dts | 1 arch/arm/boot/dts/imx53-m53.dtsi | 1 arch/arm/boot/dts/imx53-qsb-common.dtsi | 1 arch/arm/boot/dts/imx53-smd.dts | 1 arch/arm/boot/dts/imx53-tqma53.dtsi | 1 arch/arm/boot/dts/imx53-tx53.dtsi | 1 arch/arm/boot/dts/imx53-usbarmory.dts | 1 arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi | 8 arch/arm/boot/dts/imx53.dtsi | 2 arch/arm/boot/dts/imx6dl-icore-mipi.dts | 2 arch/arm/boot/dts/imx6q-dhcom-pdk2.dts | 2 arch/arm/boot/dts/imx6q-dhcom-som.dtsi | 2 arch/arm/boot/dts/imx6qdl-icore-1.5.dtsi | 34 arch/arm/boot/dts/imx6qdl-sabreauto.dtsi | 8 arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi | 5 arch/arm/boot/dts/imx6sl-evk.dts | 1 arch/arm/boot/dts/imx6sl-warp.dts | 1 arch/arm/boot/dts/imx6sl.dtsi | 2 arch/arm/boot/dts/imx6sll-evk.dts | 1 arch/arm/boot/dts/imx6sx-nitrogen6sx.dts | 1 arch/arm/boot/dts/imx6sx-sabreauto.dts | 1 arch/arm/boot/dts/imx6sx-sdb.dtsi | 1 arch/arm/boot/dts/imx6sx-softing-vining-2000.dts | 1 arch/arm/boot/dts/imx6sx-udoo-neo-basic.dts | 1 arch/arm/boot/dts/imx6sx-udoo-neo-extended.dts | 1 arch/arm/boot/dts/imx6sx-udoo-neo-full.dts | 1 arch/arm/boot/dts/imx6sx.dtsi | 2 arch/arm/boot/dts/imx6ul-14x14-evk.dtsi | 3 arch/arm/boot/dts/imx6ul-geam.dts | 1 arch/arm/boot/dts/imx6ul-isiot.dtsi | 1 arch/arm/boot/dts/imx6ul-litesom.dtsi | 1 arch/arm/boot/dts/imx6ul-opos6ul.dtsi | 1 arch/arm/boot/dts/imx6ul-pico-hobbit.dts | 1 arch/arm/boot/dts/imx6ul-tx6ul.dtsi | 1 arch/arm/boot/dts/imx6ul.dtsi | 8 arch/arm/boot/dts/imx6ull-colibri-nonwifi.dtsi | 1 arch/arm/boot/dts/imx6ull-colibri-wifi.dtsi | 1 arch/arm/boot/dts/imx7d-cl-som-imx7.dts | 3 arch/arm/boot/dts/imx7d-colibri-emmc.dtsi | 1 arch/arm/boot/dts/imx7d-colibri.dtsi | 1 arch/arm/boot/dts/imx7d-nitrogen7.dts | 1 arch/arm/boot/dts/imx7d-pico.dtsi | 1 arch/arm/boot/dts/imx7d-sdb.dts | 1 arch/arm/boot/dts/imx7s-colibri.dtsi | 5 arch/arm/boot/dts/imx7s-warp.dts | 1 arch/arm/boot/dts/imx7s.dtsi | 2 arch/arm/boot/dts/meson8.dtsi | 2 arch/arm/boot/dts/mmp2.dtsi | 2 arch/arm/boot/dts/omap3-pandora-common.dtsi | 36 arch/arm/boot/dts/omap3-tao3530.dtsi | 2 arch/arm/boot/dts/omap4-l4.dtsi | 4 arch/arm/boot/dts/pxa27x.dtsi | 2 arch/arm/boot/dts/pxa2xx.dtsi | 7 arch/arm/boot/dts/pxa3xx.dtsi | 2 arch/arm/boot/dts/r8a7790-lager.dts | 2 arch/arm/boot/dts/r8a7791-koelsch.dts | 2 arch/arm/boot/dts/r8a7791-porter.dts | 2 arch/arm/boot/dts/rk3288-rock2-som.dtsi | 2 arch/arm/boot/dts/rv1108.dtsi | 10 arch/arm/boot/dts/s3c6410-mini6410.dts | 4 arch/arm/boot/dts/s3c6410-smdk6410.dts | 4 arch/arm/boot/dts/sun4i-a10-inet9f-rev03.dts | 2 arch/arm/boot/dts/sun4i-a10-pcduino.dts | 2 arch/arm/boot/dts/sun4i-a10.dtsi | 2 arch/arm/boot/dts/sun5i-a10s.dtsi | 2 arch/arm/boot/dts/sun6i-a31.dtsi | 2 arch/arm/boot/dts/sun7i-a20.dtsi | 4 arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts | 1 arch/arm/boot/dts/sun8i-h3.dtsi | 8 arch/arm/boot/dts/sun8i-r16-bananapi-m2m.dts | 4 arch/arm/boot/dts/sun8i-v3s-licheepi-zero.dts | 4 arch/arm/boot/dts/sun8i-v3s.dtsi | 10 arch/arm/include/asm/uaccess.h | 18 arch/arm/lib/getuser.S | 11 arch/arm/lib/putuser.S | 20 arch/arm/mach-ks8695/board-acs5k.c | 2 arch/arm/mach-omap1/Makefile | 2 arch/arm/mach-omap1/id.c | 6 arch/arm/mach-omap1/include/mach/usb.h | 2 arch/arm/mach-omap2/id.c | 4 arch/arm/mach-omap2/pdata-quirks.c | 93 arch/arm/mach-tegra/reset-handler.S | 6 arch/arm/mach-vexpress/spc.c | 12 arch/arm/mm/proc-v7-bugs.c | 3 arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts | 2 arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi | 8 arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts | 4 arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 8 arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts | 8 arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts | 4 arch/arm64/boot/dts/arm/juno-base.dtsi | 1 arch/arm64/boot/dts/exynos/exynos5433.dtsi | 6 arch/arm64/boot/dts/exynos/exynos7.dtsi | 6 arch/arm64/boot/dts/marvell/armada-cp110.dtsi | 8 arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi | 2 arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi | 2 arch/arm64/boot/dts/renesas/r8a77995-draak.dts | 2 arch/arm64/boot/dts/xilinx/zynqmp-clk.dtsi | 4 arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts | 4 arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts | 10 arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts | 2 arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts | 2 arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 4 arch/arm64/include/asm/pgtable-prot.h | 5 arch/arm64/include/asm/pgtable.h | 10 arch/arm64/kernel/head.S | 26 arch/arm64/kernel/psci.c | 15 arch/arm64/kernel/smp.c | 6 arch/arm64/kvm/sys_regs.c | 5 arch/arm64/mm/fault.c | 2 arch/hexagon/include/asm/atomic.h | 8 arch/hexagon/include/asm/bitops.h | 8 arch/hexagon/include/asm/cmpxchg.h | 2 arch/hexagon/include/asm/futex.h | 6 arch/hexagon/include/asm/spinlock.h | 20 arch/hexagon/kernel/stacktrace.c | 4 arch/hexagon/kernel/vm_entry.S | 2 arch/microblaze/Makefile | 14 arch/microblaze/boot/Makefile | 23 arch/mips/Kconfig | 1 arch/mips/boot/compressed/Makefile | 3 arch/mips/cavium-octeon/executive/cvmx-cmd-queue.c | 2 arch/mips/cavium-octeon/octeon-platform.c | 2 arch/mips/include/asm/octeon/cvmx-pko.h | 2 arch/mips/include/asm/pgtable-64.h | 9 arch/mips/include/asm/thread_info.h | 20 arch/mips/kernel/cacheinfo.c | 27 arch/mips/net/ebpf_jit.c | 9 arch/nds32/kernel/setup.c | 3 arch/openrisc/kernel/entry.S | 2 arch/openrisc/kernel/head.S | 2 arch/parisc/include/asm/cmpxchg.h | 10 arch/parisc/kernel/drivers.c | 2 arch/powerpc/Makefile | 13 arch/powerpc/boot/dts/bamboo.dts | 4 arch/powerpc/boot/libfdt_env.h | 2 arch/powerpc/include/asm/cputable.h | 1 arch/powerpc/include/asm/kvm_ppc.h | 100 arch/powerpc/include/asm/reg.h | 2 arch/powerpc/include/asm/sfp-machine.h | 92 arch/powerpc/include/asm/spinlock.h | 5 arch/powerpc/include/asm/vdso_datapage.h | 2 arch/powerpc/kernel/Makefile | 4 arch/powerpc/kernel/asm-offsets.c | 2 arch/powerpc/kernel/cputable.c | 10 arch/powerpc/kernel/dbell.c | 6 arch/powerpc/kernel/exceptions-64s.S | 2 arch/powerpc/kernel/irq.c | 4 arch/powerpc/kernel/misc_64.S | 4 arch/powerpc/kernel/prom.c | 6 arch/powerpc/kernel/security.c | 21 arch/powerpc/kernel/time.c | 3 arch/powerpc/kernel/vdso32/gettimeofday.S | 7 arch/powerpc/kernel/vdso64/cacheflush.S | 4 arch/powerpc/kernel/vdso64/gettimeofday.S | 7 arch/powerpc/kvm/book3s_hv_rm_xics.c | 2 arch/powerpc/mm/fault.c | 17 arch/powerpc/mm/hash_utils_64.c | 10 arch/powerpc/mm/mem.c | 8 arch/powerpc/mm/ppc_mmu_32.c | 4 arch/powerpc/net/bpf_jit_comp64.c | 13 arch/powerpc/perf/isa207-common.c | 25 arch/powerpc/perf/isa207-common.h | 4 arch/powerpc/platforms/83xx/misc.c | 17 arch/powerpc/platforms/powernv/eeh-powernv.c | 8 arch/powerpc/platforms/powernv/pci-ioda.c | 4 arch/powerpc/platforms/powernv/pci.c | 21 arch/powerpc/platforms/powernv/smp.c | 2 arch/powerpc/platforms/pseries/cmm.c | 5 arch/powerpc/platforms/pseries/dlpar.c | 4 arch/powerpc/platforms/pseries/hotplug-memory.c | 1 arch/powerpc/platforms/pseries/hvconsole.c | 2 arch/powerpc/platforms/pseries/setup.c | 7 arch/powerpc/sysdev/xics/icp-native.c | 6 arch/powerpc/sysdev/xics/icp-opal.c | 6 arch/powerpc/sysdev/xive/common.c | 9 arch/powerpc/sysdev/xive/spapr.c | 12 arch/powerpc/tools/relocs_check.sh | 2 arch/powerpc/tools/unrel_branch_check.sh | 4 arch/powerpc/xmon/Makefile | 4 arch/powerpc/xmon/xmon.c | 2 arch/riscv/kernel/ftrace.c | 2 arch/s390/include/asm/pgalloc.h | 16 arch/s390/include/asm/pgtable.h | 4 arch/s390/include/asm/timex.h | 16 arch/s390/kernel/dis.c | 13 arch/s390/kernel/perf_cpum_sf.c | 39 arch/s390/kernel/smp.c | 85 arch/s390/kvm/kvm-s390.c | 17 arch/s390/mm/gup.c | 9 arch/s390/purgatory/Makefile | 6 arch/s390/purgatory/string.c | 3 arch/sh/include/cpu-sh4/cpu/sh7734.h | 2 arch/sparc/include/asm/io_64.h | 1 arch/sparc/net/bpf_jit_comp_64.c | 89 arch/um/Kconfig.debug | 1 arch/um/drivers/vector_user.c | 1 arch/x86/boot/compressed/head_64.S | 5 arch/x86/events/core.c | 9 arch/x86/events/intel/bts.c | 16 arch/x86/include/asm/crash.h | 2 arch/x86/include/asm/fixmap.h | 2 arch/x86/include/asm/syscall_wrapper.h | 23 arch/x86/kernel/apic/io_apic.c | 9 arch/x86/kernel/cpu/amd.c | 4 arch/x86/kernel/cpu/intel_rdt.c | 2 arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c | 4 arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 6 arch/x86/kernel/cpu/mcheck/mce.c | 32 arch/x86/kernel/cpu/mcheck/mce_amd.c | 40 arch/x86/kernel/cpu/mcheck/therm_throt.c | 2 arch/x86/kernel/kprobes/core.c | 6 arch/x86/kvm/cpuid.c | 5 arch/x86/kvm/vmx.c | 24 arch/x86/kvm/x86.c | 17 arch/x86/lib/x86-opcode-map.txt | 18 arch/x86/mm/fault.c | 2 arch/x86/mm/pgtable.c | 4 arch/x86/pci/fixup.c | 11 arch/x86/platform/efi/quirks.c | 6 arch/x86/xen/xen-asm_64.S | 2 arch/xtensa/mm/tlb.c | 4 block/blk-map.c | 2 block/blk-merge.c | 2 block/blk-mq-sysfs.c | 15 block/blk-settings.c | 2 block/compat_ioctl.c | 11 crypto/af_alg.c | 2 crypto/crypto_user.c | 41 crypto/ecc.c | 45 debian/changelog | 1358 + debian/config.defines.dump | 6 debian/config/amd64/config.cloud-amd64 | 19 debian/config/defines | 2 debian/config/kernelarch-mips/config.malta | 5 debian/control | 7050 +++++----- debian/control.md5sum | 4 debian/linux-headers-4.19.0-7-4kc-malta.postinst | 18 debian/linux-headers-4.19.0-7-5kc-malta.postinst | 18 debian/linux-headers-4.19.0-7-686-pae.postinst | 18 debian/linux-headers-4.19.0-7-686.postinst | 18 debian/linux-headers-4.19.0-7-alpha-generic.postinst | 18 debian/linux-headers-4.19.0-7-alpha-smp.postinst | 18 debian/linux-headers-4.19.0-7-amd64.postinst | 18 debian/linux-headers-4.19.0-7-arm64.postinst | 18 debian/linux-headers-4.19.0-7-armmp-lpae.postinst | 18 debian/linux-headers-4.19.0-7-armmp.postinst | 18 debian/linux-headers-4.19.0-7-cloud-amd64.postinst | 18 debian/linux-headers-4.19.0-7-itanium.postinst | 18 debian/linux-headers-4.19.0-7-loongson-3.postinst | 18 debian/linux-headers-4.19.0-7-m68k.postinst | 18 debian/linux-headers-4.19.0-7-marvell.postinst | 18 debian/linux-headers-4.19.0-7-mckinley.postinst | 18 debian/linux-headers-4.19.0-7-mips32r6.postinst | 18 debian/linux-headers-4.19.0-7-mips32r6el.postinst | 18 debian/linux-headers-4.19.0-7-mips64r6.postinst | 18 debian/linux-headers-4.19.0-7-mips64r6el.postinst | 18 debian/linux-headers-4.19.0-7-octeon.postinst | 18 debian/linux-headers-4.19.0-7-parisc-smp.postinst | 18 debian/linux-headers-4.19.0-7-parisc.postinst | 18 debian/linux-headers-4.19.0-7-parisc64-smp.postinst | 18 debian/linux-headers-4.19.0-7-powerpc-smp.postinst | 18 debian/linux-headers-4.19.0-7-powerpc.postinst | 18 debian/linux-headers-4.19.0-7-powerpc64.postinst | 18 debian/linux-headers-4.19.0-7-powerpc64le.postinst | 18 debian/linux-headers-4.19.0-7-powerpcspe.postinst | 18 debian/linux-headers-4.19.0-7-riscv64.postinst | 18 debian/linux-headers-4.19.0-7-rpi.postinst | 18 debian/linux-headers-4.19.0-7-rt-686-pae.postinst | 18 debian/linux-headers-4.19.0-7-rt-amd64.postinst | 18 debian/linux-headers-4.19.0-7-rt-arm64.postinst | 18 debian/linux-headers-4.19.0-7-rt-armmp.postinst | 18 debian/linux-headers-4.19.0-7-s390x.postinst | 18 debian/linux-headers-4.19.0-7-sh7751r.postinst | 18 debian/linux-headers-4.19.0-7-sh7785lcr.postinst | 18 debian/linux-headers-4.19.0-7-sparc64-smp.postinst | 18 debian/linux-headers-4.19.0-7-sparc64.postinst | 18 debian/linux-headers-4.19.0-8-4kc-malta.postinst | 18 debian/linux-headers-4.19.0-8-5kc-malta.postinst | 18 debian/linux-headers-4.19.0-8-686-pae.postinst | 18 debian/linux-headers-4.19.0-8-686.postinst | 18 debian/linux-headers-4.19.0-8-alpha-generic.postinst | 18 debian/linux-headers-4.19.0-8-alpha-smp.postinst | 18 debian/linux-headers-4.19.0-8-amd64.postinst | 18 debian/linux-headers-4.19.0-8-arm64.postinst | 18 debian/linux-headers-4.19.0-8-armmp-lpae.postinst | 18 debian/linux-headers-4.19.0-8-armmp.postinst | 18 debian/linux-headers-4.19.0-8-cloud-amd64.postinst | 18 debian/linux-headers-4.19.0-8-itanium.postinst | 18 debian/linux-headers-4.19.0-8-loongson-3.postinst | 18 debian/linux-headers-4.19.0-8-m68k.postinst | 18 debian/linux-headers-4.19.0-8-marvell.postinst | 18 debian/linux-headers-4.19.0-8-mckinley.postinst | 18 debian/linux-headers-4.19.0-8-mips32r6.postinst | 18 debian/linux-headers-4.19.0-8-mips32r6el.postinst | 18 debian/linux-headers-4.19.0-8-mips64r6.postinst | 18 debian/linux-headers-4.19.0-8-mips64r6el.postinst | 18 debian/linux-headers-4.19.0-8-octeon.postinst | 18 debian/linux-headers-4.19.0-8-parisc-smp.postinst | 18 debian/linux-headers-4.19.0-8-parisc.postinst | 18 debian/linux-headers-4.19.0-8-parisc64-smp.postinst | 18 debian/linux-headers-4.19.0-8-powerpc-smp.postinst | 18 debian/linux-headers-4.19.0-8-powerpc.postinst | 18 debian/linux-headers-4.19.0-8-powerpc64.postinst | 18 debian/linux-headers-4.19.0-8-powerpc64le.postinst | 18 debian/linux-headers-4.19.0-8-powerpcspe.postinst | 18 debian/linux-headers-4.19.0-8-riscv64.postinst | 18 debian/linux-headers-4.19.0-8-rpi.postinst | 18 debian/linux-headers-4.19.0-8-rt-686-pae.postinst | 18 debian/linux-headers-4.19.0-8-rt-amd64.postinst | 18 debian/linux-headers-4.19.0-8-rt-arm64.postinst | 18 debian/linux-headers-4.19.0-8-rt-armmp.postinst | 18 debian/linux-headers-4.19.0-8-s390x.postinst | 18 debian/linux-headers-4.19.0-8-sh7751r.postinst | 18 debian/linux-headers-4.19.0-8-sh7785lcr.postinst | 18 debian/linux-headers-4.19.0-8-sparc64-smp.postinst | 18 debian/linux-headers-4.19.0-8-sparc64.postinst | 18 debian/linux-image-4.19.0-7-4kc-malta-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-4kc-malta.postinst | 25 debian/linux-image-4.19.0-7-4kc-malta.postrm | 31 debian/linux-image-4.19.0-7-4kc-malta.preinst | 21 debian/linux-image-4.19.0-7-4kc-malta.prerm | 17 debian/linux-image-4.19.0-7-5kc-malta-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-5kc-malta.postinst | 25 debian/linux-image-4.19.0-7-5kc-malta.postrm | 31 debian/linux-image-4.19.0-7-5kc-malta.preinst | 21 debian/linux-image-4.19.0-7-5kc-malta.prerm | 17 debian/linux-image-4.19.0-7-686-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-686-pae-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-686-pae-unsigned.postinst | 25 debian/linux-image-4.19.0-7-686-pae-unsigned.postrm | 31 debian/linux-image-4.19.0-7-686-pae-unsigned.preinst | 21 debian/linux-image-4.19.0-7-686-pae-unsigned.prerm | 17 debian/linux-image-4.19.0-7-686-unsigned.postinst | 25 debian/linux-image-4.19.0-7-686-unsigned.postrm | 31 debian/linux-image-4.19.0-7-686-unsigned.preinst | 21 debian/linux-image-4.19.0-7-686-unsigned.prerm | 17 debian/linux-image-4.19.0-7-alpha-generic-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-alpha-generic.postinst | 25 debian/linux-image-4.19.0-7-alpha-generic.postrm | 31 debian/linux-image-4.19.0-7-alpha-generic.preinst | 21 debian/linux-image-4.19.0-7-alpha-generic.prerm | 17 debian/linux-image-4.19.0-7-alpha-smp-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-alpha-smp.postinst | 25 debian/linux-image-4.19.0-7-alpha-smp.postrm | 31 debian/linux-image-4.19.0-7-alpha-smp.preinst | 21 debian/linux-image-4.19.0-7-alpha-smp.prerm | 17 debian/linux-image-4.19.0-7-amd64-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-amd64-unsigned.postinst | 25 debian/linux-image-4.19.0-7-amd64-unsigned.postrm | 31 debian/linux-image-4.19.0-7-amd64-unsigned.preinst | 21 debian/linux-image-4.19.0-7-amd64-unsigned.prerm | 17 debian/linux-image-4.19.0-7-arm64-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-arm64-unsigned.postinst | 25 debian/linux-image-4.19.0-7-arm64-unsigned.postrm | 31 debian/linux-image-4.19.0-7-arm64-unsigned.preinst | 21 debian/linux-image-4.19.0-7-arm64-unsigned.prerm | 17 debian/linux-image-4.19.0-7-armmp-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-armmp-lpae-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-armmp-lpae.postinst | 25 debian/linux-image-4.19.0-7-armmp-lpae.postrm | 31 debian/linux-image-4.19.0-7-armmp-lpae.preinst | 21 debian/linux-image-4.19.0-7-armmp-lpae.prerm | 17 debian/linux-image-4.19.0-7-armmp.postinst | 25 debian/linux-image-4.19.0-7-armmp.postrm | 31 debian/linux-image-4.19.0-7-armmp.preinst | 21 debian/linux-image-4.19.0-7-armmp.prerm | 17 debian/linux-image-4.19.0-7-cloud-amd64-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-cloud-amd64-unsigned.postinst | 25 debian/linux-image-4.19.0-7-cloud-amd64-unsigned.postrm | 31 debian/linux-image-4.19.0-7-cloud-amd64-unsigned.preinst | 21 debian/linux-image-4.19.0-7-cloud-amd64-unsigned.prerm | 17 debian/linux-image-4.19.0-7-itanium-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-itanium.postinst | 25 debian/linux-image-4.19.0-7-itanium.postrm | 31 debian/linux-image-4.19.0-7-itanium.preinst | 21 debian/linux-image-4.19.0-7-itanium.prerm | 17 debian/linux-image-4.19.0-7-loongson-3-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-loongson-3.postinst | 25 debian/linux-image-4.19.0-7-loongson-3.postrm | 31 debian/linux-image-4.19.0-7-loongson-3.preinst | 21 debian/linux-image-4.19.0-7-loongson-3.prerm | 17 debian/linux-image-4.19.0-7-m68k-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-m68k.postinst | 25 debian/linux-image-4.19.0-7-m68k.postrm | 31 debian/linux-image-4.19.0-7-m68k.preinst | 21 debian/linux-image-4.19.0-7-m68k.prerm | 17 debian/linux-image-4.19.0-7-marvell-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-marvell.postinst | 25 debian/linux-image-4.19.0-7-marvell.postrm | 31 debian/linux-image-4.19.0-7-marvell.preinst | 21 debian/linux-image-4.19.0-7-marvell.prerm | 17 debian/linux-image-4.19.0-7-mckinley-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-mckinley.postinst | 25 debian/linux-image-4.19.0-7-mckinley.postrm | 31 debian/linux-image-4.19.0-7-mckinley.preinst | 21 debian/linux-image-4.19.0-7-mckinley.prerm | 17 debian/linux-image-4.19.0-7-mips32r6-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-mips32r6.postinst | 25 debian/linux-image-4.19.0-7-mips32r6.postrm | 31 debian/linux-image-4.19.0-7-mips32r6.preinst | 21 debian/linux-image-4.19.0-7-mips32r6.prerm | 17 debian/linux-image-4.19.0-7-mips32r6el-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-mips32r6el.postinst | 25 debian/linux-image-4.19.0-7-mips32r6el.postrm | 31 debian/linux-image-4.19.0-7-mips32r6el.preinst | 21 debian/linux-image-4.19.0-7-mips32r6el.prerm | 17 debian/linux-image-4.19.0-7-mips64r6-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-mips64r6.postinst | 25 debian/linux-image-4.19.0-7-mips64r6.postrm | 31 debian/linux-image-4.19.0-7-mips64r6.preinst | 21 debian/linux-image-4.19.0-7-mips64r6.prerm | 17 debian/linux-image-4.19.0-7-mips64r6el-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-mips64r6el.postinst | 25 debian/linux-image-4.19.0-7-mips64r6el.postrm | 31 debian/linux-image-4.19.0-7-mips64r6el.preinst | 21 debian/linux-image-4.19.0-7-mips64r6el.prerm | 17 debian/linux-image-4.19.0-7-octeon-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-octeon.postinst | 25 debian/linux-image-4.19.0-7-octeon.postrm | 31 debian/linux-image-4.19.0-7-octeon.preinst | 21 debian/linux-image-4.19.0-7-octeon.prerm | 17 debian/linux-image-4.19.0-7-parisc-smp.postinst | 25 debian/linux-image-4.19.0-7-parisc-smp.postrm | 31 debian/linux-image-4.19.0-7-parisc-smp.preinst | 21 debian/linux-image-4.19.0-7-parisc-smp.prerm | 17 debian/linux-image-4.19.0-7-parisc.postinst | 25 debian/linux-image-4.19.0-7-parisc.postrm | 31 debian/linux-image-4.19.0-7-parisc.preinst | 21 debian/linux-image-4.19.0-7-parisc.prerm | 17 debian/linux-image-4.19.0-7-parisc64-smp.postinst | 25 debian/linux-image-4.19.0-7-parisc64-smp.postrm | 31 debian/linux-image-4.19.0-7-parisc64-smp.preinst | 21 debian/linux-image-4.19.0-7-parisc64-smp.prerm | 17 debian/linux-image-4.19.0-7-powerpc-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-powerpc-smp-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-powerpc-smp.postinst | 25 debian/linux-image-4.19.0-7-powerpc-smp.postrm | 31 debian/linux-image-4.19.0-7-powerpc-smp.preinst | 21 debian/linux-image-4.19.0-7-powerpc-smp.prerm | 17 debian/linux-image-4.19.0-7-powerpc.postinst | 25 debian/linux-image-4.19.0-7-powerpc.postrm | 31 debian/linux-image-4.19.0-7-powerpc.preinst | 21 debian/linux-image-4.19.0-7-powerpc.prerm | 17 debian/linux-image-4.19.0-7-powerpc64-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-powerpc64.postinst | 25 debian/linux-image-4.19.0-7-powerpc64.postrm | 31 debian/linux-image-4.19.0-7-powerpc64.preinst | 21 debian/linux-image-4.19.0-7-powerpc64.prerm | 17 debian/linux-image-4.19.0-7-powerpc64le-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-powerpc64le.postinst | 25 debian/linux-image-4.19.0-7-powerpc64le.postrm | 31 debian/linux-image-4.19.0-7-powerpc64le.preinst | 21 debian/linux-image-4.19.0-7-powerpc64le.prerm | 17 debian/linux-image-4.19.0-7-powerpcspe-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-powerpcspe.postinst | 25 debian/linux-image-4.19.0-7-powerpcspe.postrm | 31 debian/linux-image-4.19.0-7-powerpcspe.preinst | 21 debian/linux-image-4.19.0-7-powerpcspe.prerm | 17 debian/linux-image-4.19.0-7-riscv64-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-riscv64.postinst | 25 debian/linux-image-4.19.0-7-riscv64.postrm | 31 debian/linux-image-4.19.0-7-riscv64.preinst | 21 debian/linux-image-4.19.0-7-riscv64.prerm | 17 debian/linux-image-4.19.0-7-rpi-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-rpi.postinst | 25 debian/linux-image-4.19.0-7-rpi.postrm | 31 debian/linux-image-4.19.0-7-rpi.preinst | 21 debian/linux-image-4.19.0-7-rpi.prerm | 17 debian/linux-image-4.19.0-7-rt-686-pae-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-rt-686-pae-unsigned.postinst | 25 debian/linux-image-4.19.0-7-rt-686-pae-unsigned.postrm | 31 debian/linux-image-4.19.0-7-rt-686-pae-unsigned.preinst | 21 debian/linux-image-4.19.0-7-rt-686-pae-unsigned.prerm | 17 debian/linux-image-4.19.0-7-rt-amd64-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-rt-amd64-unsigned.postinst | 25 debian/linux-image-4.19.0-7-rt-amd64-unsigned.postrm | 31 debian/linux-image-4.19.0-7-rt-amd64-unsigned.preinst | 21 debian/linux-image-4.19.0-7-rt-amd64-unsigned.prerm | 17 debian/linux-image-4.19.0-7-rt-arm64-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-rt-arm64-unsigned.postinst | 25 debian/linux-image-4.19.0-7-rt-arm64-unsigned.postrm | 31 debian/linux-image-4.19.0-7-rt-arm64-unsigned.preinst | 21 debian/linux-image-4.19.0-7-rt-arm64-unsigned.prerm | 17 debian/linux-image-4.19.0-7-rt-armmp-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-rt-armmp.postinst | 25 debian/linux-image-4.19.0-7-rt-armmp.postrm | 31 debian/linux-image-4.19.0-7-rt-armmp.preinst | 21 debian/linux-image-4.19.0-7-rt-armmp.prerm | 17 debian/linux-image-4.19.0-7-s390x-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-s390x.postinst | 25 debian/linux-image-4.19.0-7-s390x.postrm | 31 debian/linux-image-4.19.0-7-s390x.preinst | 21 debian/linux-image-4.19.0-7-s390x.prerm | 17 debian/linux-image-4.19.0-7-sh7751r-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-sh7751r.postinst | 25 debian/linux-image-4.19.0-7-sh7751r.postrm | 31 debian/linux-image-4.19.0-7-sh7751r.preinst | 21 debian/linux-image-4.19.0-7-sh7751r.prerm | 17 debian/linux-image-4.19.0-7-sh7785lcr-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-sh7785lcr.postinst | 25 debian/linux-image-4.19.0-7-sh7785lcr.postrm | 31 debian/linux-image-4.19.0-7-sh7785lcr.preinst | 21 debian/linux-image-4.19.0-7-sh7785lcr.prerm | 17 debian/linux-image-4.19.0-7-sparc64-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-sparc64-smp-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-7-sparc64-smp.postinst | 25 debian/linux-image-4.19.0-7-sparc64-smp.postrm | 31 debian/linux-image-4.19.0-7-sparc64-smp.preinst | 21 debian/linux-image-4.19.0-7-sparc64-smp.prerm | 17 debian/linux-image-4.19.0-7-sparc64.postinst | 25 debian/linux-image-4.19.0-7-sparc64.postrm | 31 debian/linux-image-4.19.0-7-sparc64.preinst | 21 debian/linux-image-4.19.0-7-sparc64.prerm | 17 debian/linux-image-4.19.0-8-4kc-malta-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-4kc-malta.postinst | 25 debian/linux-image-4.19.0-8-4kc-malta.postrm | 31 debian/linux-image-4.19.0-8-4kc-malta.preinst | 21 debian/linux-image-4.19.0-8-4kc-malta.prerm | 17 debian/linux-image-4.19.0-8-5kc-malta-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-5kc-malta.postinst | 25 debian/linux-image-4.19.0-8-5kc-malta.postrm | 31 debian/linux-image-4.19.0-8-5kc-malta.preinst | 21 debian/linux-image-4.19.0-8-5kc-malta.prerm | 17 debian/linux-image-4.19.0-8-686-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-686-pae-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-686-pae-unsigned.postinst | 25 debian/linux-image-4.19.0-8-686-pae-unsigned.postrm | 31 debian/linux-image-4.19.0-8-686-pae-unsigned.preinst | 21 debian/linux-image-4.19.0-8-686-pae-unsigned.prerm | 17 debian/linux-image-4.19.0-8-686-unsigned.postinst | 25 debian/linux-image-4.19.0-8-686-unsigned.postrm | 31 debian/linux-image-4.19.0-8-686-unsigned.preinst | 21 debian/linux-image-4.19.0-8-686-unsigned.prerm | 17 debian/linux-image-4.19.0-8-alpha-generic-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-alpha-generic.postinst | 25 debian/linux-image-4.19.0-8-alpha-generic.postrm | 31 debian/linux-image-4.19.0-8-alpha-generic.preinst | 21 debian/linux-image-4.19.0-8-alpha-generic.prerm | 17 debian/linux-image-4.19.0-8-alpha-smp-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-alpha-smp.postinst | 25 debian/linux-image-4.19.0-8-alpha-smp.postrm | 31 debian/linux-image-4.19.0-8-alpha-smp.preinst | 21 debian/linux-image-4.19.0-8-alpha-smp.prerm | 17 debian/linux-image-4.19.0-8-amd64-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-amd64-unsigned.postinst | 25 debian/linux-image-4.19.0-8-amd64-unsigned.postrm | 31 debian/linux-image-4.19.0-8-amd64-unsigned.preinst | 21 debian/linux-image-4.19.0-8-amd64-unsigned.prerm | 17 debian/linux-image-4.19.0-8-arm64-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-arm64-unsigned.postinst | 25 debian/linux-image-4.19.0-8-arm64-unsigned.postrm | 31 debian/linux-image-4.19.0-8-arm64-unsigned.preinst | 21 debian/linux-image-4.19.0-8-arm64-unsigned.prerm | 17 debian/linux-image-4.19.0-8-armmp-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-armmp-lpae-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-armmp-lpae.postinst | 25 debian/linux-image-4.19.0-8-armmp-lpae.postrm | 31 debian/linux-image-4.19.0-8-armmp-lpae.preinst | 21 debian/linux-image-4.19.0-8-armmp-lpae.prerm | 17 debian/linux-image-4.19.0-8-armmp.postinst | 25 debian/linux-image-4.19.0-8-armmp.postrm | 31 debian/linux-image-4.19.0-8-armmp.preinst | 21 debian/linux-image-4.19.0-8-armmp.prerm | 17 debian/linux-image-4.19.0-8-cloud-amd64-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-cloud-amd64-unsigned.postinst | 25 debian/linux-image-4.19.0-8-cloud-amd64-unsigned.postrm | 31 debian/linux-image-4.19.0-8-cloud-amd64-unsigned.preinst | 21 debian/linux-image-4.19.0-8-cloud-amd64-unsigned.prerm | 17 debian/linux-image-4.19.0-8-itanium-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-itanium.postinst | 25 debian/linux-image-4.19.0-8-itanium.postrm | 31 debian/linux-image-4.19.0-8-itanium.preinst | 21 debian/linux-image-4.19.0-8-itanium.prerm | 17 debian/linux-image-4.19.0-8-loongson-3-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-loongson-3.postinst | 25 debian/linux-image-4.19.0-8-loongson-3.postrm | 31 debian/linux-image-4.19.0-8-loongson-3.preinst | 21 debian/linux-image-4.19.0-8-loongson-3.prerm | 17 debian/linux-image-4.19.0-8-m68k-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-m68k.postinst | 25 debian/linux-image-4.19.0-8-m68k.postrm | 31 debian/linux-image-4.19.0-8-m68k.preinst | 21 debian/linux-image-4.19.0-8-m68k.prerm | 17 debian/linux-image-4.19.0-8-marvell-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-marvell.postinst | 25 debian/linux-image-4.19.0-8-marvell.postrm | 31 debian/linux-image-4.19.0-8-marvell.preinst | 21 debian/linux-image-4.19.0-8-marvell.prerm | 17 debian/linux-image-4.19.0-8-mckinley-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-mckinley.postinst | 25 debian/linux-image-4.19.0-8-mckinley.postrm | 31 debian/linux-image-4.19.0-8-mckinley.preinst | 21 debian/linux-image-4.19.0-8-mckinley.prerm | 17 debian/linux-image-4.19.0-8-mips32r6-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-mips32r6.postinst | 25 debian/linux-image-4.19.0-8-mips32r6.postrm | 31 debian/linux-image-4.19.0-8-mips32r6.preinst | 21 debian/linux-image-4.19.0-8-mips32r6.prerm | 17 debian/linux-image-4.19.0-8-mips32r6el-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-mips32r6el.postinst | 25 debian/linux-image-4.19.0-8-mips32r6el.postrm | 31 debian/linux-image-4.19.0-8-mips32r6el.preinst | 21 debian/linux-image-4.19.0-8-mips32r6el.prerm | 17 debian/linux-image-4.19.0-8-mips64r6-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-mips64r6.postinst | 25 debian/linux-image-4.19.0-8-mips64r6.postrm | 31 debian/linux-image-4.19.0-8-mips64r6.preinst | 21 debian/linux-image-4.19.0-8-mips64r6.prerm | 17 debian/linux-image-4.19.0-8-mips64r6el-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-mips64r6el.postinst | 25 debian/linux-image-4.19.0-8-mips64r6el.postrm | 31 debian/linux-image-4.19.0-8-mips64r6el.preinst | 21 debian/linux-image-4.19.0-8-mips64r6el.prerm | 17 debian/linux-image-4.19.0-8-octeon-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-octeon.postinst | 25 debian/linux-image-4.19.0-8-octeon.postrm | 31 debian/linux-image-4.19.0-8-octeon.preinst | 21 debian/linux-image-4.19.0-8-octeon.prerm | 17 debian/linux-image-4.19.0-8-parisc-smp.postinst | 25 debian/linux-image-4.19.0-8-parisc-smp.postrm | 31 debian/linux-image-4.19.0-8-parisc-smp.preinst | 21 debian/linux-image-4.19.0-8-parisc-smp.prerm | 17 debian/linux-image-4.19.0-8-parisc.postinst | 25 debian/linux-image-4.19.0-8-parisc.postrm | 31 debian/linux-image-4.19.0-8-parisc.preinst | 21 debian/linux-image-4.19.0-8-parisc.prerm | 17 debian/linux-image-4.19.0-8-parisc64-smp.postinst | 25 debian/linux-image-4.19.0-8-parisc64-smp.postrm | 31 debian/linux-image-4.19.0-8-parisc64-smp.preinst | 21 debian/linux-image-4.19.0-8-parisc64-smp.prerm | 17 debian/linux-image-4.19.0-8-powerpc-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-powerpc-smp-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-powerpc-smp.postinst | 25 debian/linux-image-4.19.0-8-powerpc-smp.postrm | 31 debian/linux-image-4.19.0-8-powerpc-smp.preinst | 21 debian/linux-image-4.19.0-8-powerpc-smp.prerm | 17 debian/linux-image-4.19.0-8-powerpc.postinst | 25 debian/linux-image-4.19.0-8-powerpc.postrm | 31 debian/linux-image-4.19.0-8-powerpc.preinst | 21 debian/linux-image-4.19.0-8-powerpc.prerm | 17 debian/linux-image-4.19.0-8-powerpc64-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-powerpc64.postinst | 25 debian/linux-image-4.19.0-8-powerpc64.postrm | 31 debian/linux-image-4.19.0-8-powerpc64.preinst | 21 debian/linux-image-4.19.0-8-powerpc64.prerm | 17 debian/linux-image-4.19.0-8-powerpc64le-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-powerpc64le.postinst | 25 debian/linux-image-4.19.0-8-powerpc64le.postrm | 31 debian/linux-image-4.19.0-8-powerpc64le.preinst | 21 debian/linux-image-4.19.0-8-powerpc64le.prerm | 17 debian/linux-image-4.19.0-8-powerpcspe-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-powerpcspe.postinst | 25 debian/linux-image-4.19.0-8-powerpcspe.postrm | 31 debian/linux-image-4.19.0-8-powerpcspe.preinst | 21 debian/linux-image-4.19.0-8-powerpcspe.prerm | 17 debian/linux-image-4.19.0-8-riscv64-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-riscv64.postinst | 25 debian/linux-image-4.19.0-8-riscv64.postrm | 31 debian/linux-image-4.19.0-8-riscv64.preinst | 21 debian/linux-image-4.19.0-8-riscv64.prerm | 17 debian/linux-image-4.19.0-8-rpi-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-rpi.postinst | 25 debian/linux-image-4.19.0-8-rpi.postrm | 31 debian/linux-image-4.19.0-8-rpi.preinst | 21 debian/linux-image-4.19.0-8-rpi.prerm | 17 debian/linux-image-4.19.0-8-rt-686-pae-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-rt-686-pae-unsigned.postinst | 25 debian/linux-image-4.19.0-8-rt-686-pae-unsigned.postrm | 31 debian/linux-image-4.19.0-8-rt-686-pae-unsigned.preinst | 21 debian/linux-image-4.19.0-8-rt-686-pae-unsigned.prerm | 17 debian/linux-image-4.19.0-8-rt-amd64-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-rt-amd64-unsigned.postinst | 25 debian/linux-image-4.19.0-8-rt-amd64-unsigned.postrm | 31 debian/linux-image-4.19.0-8-rt-amd64-unsigned.preinst | 21 debian/linux-image-4.19.0-8-rt-amd64-unsigned.prerm | 17 debian/linux-image-4.19.0-8-rt-arm64-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-rt-arm64-unsigned.postinst | 25 debian/linux-image-4.19.0-8-rt-arm64-unsigned.postrm | 31 debian/linux-image-4.19.0-8-rt-arm64-unsigned.preinst | 21 debian/linux-image-4.19.0-8-rt-arm64-unsigned.prerm | 17 debian/linux-image-4.19.0-8-rt-armmp-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-rt-armmp.postinst | 25 debian/linux-image-4.19.0-8-rt-armmp.postrm | 31 debian/linux-image-4.19.0-8-rt-armmp.preinst | 21 debian/linux-image-4.19.0-8-rt-armmp.prerm | 17 debian/linux-image-4.19.0-8-s390x-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-s390x.postinst | 25 debian/linux-image-4.19.0-8-s390x.postrm | 31 debian/linux-image-4.19.0-8-s390x.preinst | 21 debian/linux-image-4.19.0-8-s390x.prerm | 17 debian/linux-image-4.19.0-8-sh7751r-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-sh7751r.postinst | 25 debian/linux-image-4.19.0-8-sh7751r.postrm | 31 debian/linux-image-4.19.0-8-sh7751r.preinst | 21 debian/linux-image-4.19.0-8-sh7751r.prerm | 17 debian/linux-image-4.19.0-8-sh7785lcr-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-sh7785lcr.postinst | 25 debian/linux-image-4.19.0-8-sh7785lcr.postrm | 31 debian/linux-image-4.19.0-8-sh7785lcr.preinst | 21 debian/linux-image-4.19.0-8-sh7785lcr.prerm | 17 debian/linux-image-4.19.0-8-sparc64-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-sparc64-smp-dbg.lintian-overrides | 15 debian/linux-image-4.19.0-8-sparc64-smp.postinst | 25 debian/linux-image-4.19.0-8-sparc64-smp.postrm | 31 debian/linux-image-4.19.0-8-sparc64-smp.preinst | 21 debian/linux-image-4.19.0-8-sparc64-smp.prerm | 17 debian/linux-image-4.19.0-8-sparc64.postinst | 25 debian/linux-image-4.19.0-8-sparc64.postrm | 31 debian/linux-image-4.19.0-8-sparc64.preinst | 21 debian/linux-image-4.19.0-8-sparc64.prerm | 17 debian/patches-rt/0001-ARM-at91-add-TCB-registers-definitions.patch | 6 debian/patches-rt/0002-clocksource-drivers-Add-a-new-driver-for-the-Atmel-A.patch | 6 debian/patches-rt/0003-clocksource-drivers-timer-atmel-tcb-add-clockevent-d.patch | 6 debian/patches-rt/0004-clocksource-drivers-atmel-pit-make-option-silent.patch | 6 debian/patches-rt/0005-ARM-at91-Implement-clocksource-selection.patch | 6 debian/patches-rt/0006-ARM-configs-at91-use-new-TCB-timer-driver.patch | 6 debian/patches-rt/0007-ARM-configs-at91-unselect-PIT.patch | 6 debian/patches-rt/0008-irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch | 20 debian/patches-rt/0009-kthread-convert-worker-lock-to-raw-spinlock.patch | 6 debian/patches-rt/0010-crypto-caam-qi-simplify-CGR-allocation-freeing.patch | 6 debian/patches-rt/0011-sched-fair-Robustify-CFS-bandwidth-timer-locking.patch | 27 debian/patches-rt/0012-arm-Convert-arm-boot_lock-to-raw.patch | 6 debian/patches-rt/0013-x86-ioapic-Don-t-let-setaffinity-unmask-threaded-EOI.patch | 35 debian/patches-rt/0014-cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch | 6 debian/patches-rt/0015-fscache-initialize-cookie-hash-table-raw-spinlocks.patch | 6 debian/patches-rt/0016-Drivers-hv-vmbus-include-header-for-get_irq_regs.patch | 6 debian/patches-rt/0017-percpu-include-irqflags.h-for-raw_local_irq_save.patch | 6 debian/patches-rt/0018-efi-Allow-efi-runtime.patch | 6 debian/patches-rt/0019-x86-efi-drop-task_lock-from-efi_switch_mm.patch | 6 debian/patches-rt/0020-arm64-KVM-compute_layout-before-altenates-are-applie.patch | 6 debian/patches-rt/0021-of-allocate-free-phandle-cache-outside-of-the-devtre.patch | 8 debian/patches-rt/0022-mm-kasan-make-quarantine_lock-a-raw_spinlock_t.patch | 6 debian/patches-rt/0023-EXP-rcu-Revert-expedited-GP-parallelization-cleverne.patch | 6 debian/patches-rt/0024-kmemleak-Turn-kmemleak_lock-to-raw-spinlock-on-RT.patch | 6 debian/patches-rt/0025-NFSv4-replace-seqcount_t-with-a-seqlock_t.patch | 18 debian/patches-rt/0026-kernel-sched-Provide-a-pointer-to-the-valid-CPU-mask.patch | 54 debian/patches-rt/0027-kernel-sched-core-add-migrate_disable.patch | 10 debian/patches-rt/0028-sched-migrate_disable-Add-export_symbol_gpl-for-__mi.patch | 8 debian/patches-rt/0029-arm-at91-do-not-disable-enable-clocks-in-a-row.patch | 6 debian/patches-rt/0030-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch | 6 debian/patches-rt/0031-timekeeping-Split-jiffies-seqlock.patch | 10 debian/patches-rt/0032-signal-Revert-ptrace-preempt-magic.patch | 10 debian/patches-rt/0033-net-sched-Use-msleep-instead-of-yield.patch | 10 debian/patches-rt/0034-dm-rq-remove-BUG_ON-irqs_disabled-check.patch | 6 debian/patches-rt/0035-usb-do-no-disable-interrupts-in-giveback.patch | 6 debian/patches-rt/0036-rt-Provide-PREEMPT_RT_BASE-config-switch.patch | 6 debian/patches-rt/0037-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch | 8 debian/patches-rt/0038-jump-label-disable-if-stop_machine-is-used.patch | 6 debian/patches-rt/0039-kconfig-Disable-config-options-which-are-not-RT-comp.patch | 6 debian/patches-rt/0040-lockdep-disable-self-test.patch | 6 debian/patches-rt/0041-mm-Allow-only-slub-on-RT.patch | 6 debian/patches-rt/0042-locking-Disable-spin-on-owner-for-RT.patch | 6 debian/patches-rt/0043-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch | 6 debian/patches-rt/0044-rcu-make-RCU_BOOST-default-on-RT.patch | 6 debian/patches-rt/0045-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch | 6 debian/patches-rt/0046-net-core-disable-NET_RX_BUSY_POLL.patch | 6 debian/patches-rt/0047-arm-disable-NEON-in-kernel-mode.patch | 6 debian/patches-rt/0048-powerpc-Use-generic-rwsem-on-RT.patch | 6 debian/patches-rt/0049-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch | 6 debian/patches-rt/0050-powerpc-Disable-highmem-on-RT.patch | 6 debian/patches-rt/0051-mips-Disable-highmem-on-RT.patch | 10 debian/patches-rt/0052-x86-Use-generic-rwsem_spinlocks-on-rt.patch | 8 debian/patches-rt/0053-leds-trigger-disable-CPU-trigger-on-RT.patch | 6 debian/patches-rt/0054-cpufreq-drop-K8-s-driver-from-beeing-selected.patch | 6 debian/patches-rt/0055-md-disable-bcache.patch | 6 debian/patches-rt/0056-efi-Disable-runtime-services-on-RT.patch | 6 debian/patches-rt/0057-printk-Add-a-printk-kill-switch.patch | 10 debian/patches-rt/0058-printk-Add-force_early_printk-boot-param-to-help-wit.patch | 8 debian/patches-rt/0059-preempt-Provide-preempt_-_-no-rt-variants.patch | 6 debian/patches-rt/0060-futex-workaround-migrate_disable-enable-in-different.patch | 14 debian/patches-rt/0061-rt-Add-local-irq-locks.patch | 6 debian/patches-rt/0062-locallock-provide-get-put-_locked_ptr-variants.patch | 6 debian/patches-rt/0063-mm-scatterlist-Do-not-disable-irqs-on-RT.patch | 6 debian/patches-rt/0064-signal-x86-Delay-calling-signals-in-atomic.patch | 12 debian/patches-rt/0065-x86-signal-delay-calling-signals-on-32bit.patch | 6 debian/patches-rt/0066-buffer_head-Replace-bh_uptodate_lock-for-rt.patch | 6 debian/patches-rt/0067-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch | 8 debian/patches-rt/0068-list_bl-Make-list-head-locking-RT-safe.patch | 6 debian/patches-rt/0069-list_bl-fixup-bogus-lockdep-warning.patch | 6 debian/patches-rt/0070-genirq-Disable-irqpoll-on-rt.patch | 6 debian/patches-rt/0071-genirq-Force-interrupt-thread-on-RT.patch | 6 debian/patches-rt/0072-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch | 14 debian/patches-rt/0073-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch | 24 debian/patches-rt/0074-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch | 6 debian/patches-rt/0075-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch | 6 debian/patches-rt/0076-mm-page_alloc-rt-friendly-per-cpu-pages.patch | 40 debian/patches-rt/0077-mm-swap-Convert-to-percpu-locked.patch | 12 debian/patches-rt/0078-mm-perform-lru_add_drain_all-remotely.patch | 6 debian/patches-rt/0079-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch | 8 debian/patches-rt/0080-ARM-Initialize-split-page-table-locks-for-vector-pag.patch | 6 debian/patches-rt/0081-mm-Enable-SLUB-for-RT.patch | 6 debian/patches-rt/0082-slub-Enable-irqs-for-__GFP_WAIT.patch | 6 debian/patches-rt/0083-slub-Disable-SLUB_CPU_PARTIAL.patch | 6 debian/patches-rt/0084-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch | 8 debian/patches-rt/0085-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch | 22 debian/patches-rt/0086-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch | 8 debian/patches-rt/0087-x86-mm-pat-disable-preemption-__split_large_page-aft.patch | 6 debian/patches-rt/0088-radix-tree-use-local-locks.patch | 10 debian/patches-rt/0089-timers-Prepare-for-full-preemption.patch | 8 debian/patches-rt/0090-x86-kvm-Require-const-tsc-for-RT.patch | 10 debian/patches-rt/0091-pci-switchtec-Don-t-use-completion-s-wait-queue.patch | 6 debian/patches-rt/0092-wait.h-include-atomic.h.patch | 6 debian/patches-rt/0093-work-simple-Simple-work-queue-implemenation.patch | 6 debian/patches-rt/0094-work-simple-drop-a-shit-statement-in-SWORK_EVENT_PEN.patch | 6 debian/patches-rt/0095-completion-Use-simple-wait-queues.patch | 12 debian/patches-rt/0096-fs-aio-simple-simple-work.patch | 6 debian/patches-rt/0097-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch | 6 debian/patches-rt/0098-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch | 6 debian/patches-rt/0099-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch | 30 debian/patches-rt/0100-hrtimers-Prepare-full-preemption.patch | 18 debian/patches-rt/0101-hrtimer-by-timers-by-default-into-the-softirq-contex.patch | 24 debian/patches-rt/0102-sched-fair-Make-the-hrtimers-non-hard-again.patch | 10 debian/patches-rt/0103-hrtimer-Move-schedule_work-call-to-helper-thread.patch | 8 debian/patches-rt/0104-hrtimer-move-state-change-before-hrtimer_cancel-in-d.patch | 10 debian/patches-rt/0105-posix-timers-Thread-posix-cpu-timers-on-rt.patch | 10 debian/patches-rt/0106-sched-Move-task_struct-cleanup-to-RCU.patch | 18 debian/patches-rt/0107-sched-Limit-the-number-of-task-migrations-per-batch.patch | 8 debian/patches-rt/0108-sched-Move-mmdrop-to-RCU-on-RT.patch | 22 debian/patches-rt/0109-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch | 12 debian/patches-rt/0110-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch | 12 debian/patches-rt/0111-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch | 10 debian/patches-rt/0112-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch | 6 debian/patches-rt/0113-sched-Disable-TTWU_QUEUE-on-RT.patch | 6 debian/patches-rt/0114-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch | 8 debian/patches-rt/0115-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch | 14 debian/patches-rt/0116-hotplug-Lightweight-get-online-cpus.patch | 20 debian/patches-rt/0117-trace-Add-migrate-disabled-counter-to-tracing-output.patch | 12 debian/patches-rt/0118-lockdep-Make-it-RT-aware.patch | 6 debian/patches-rt/0119-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch | 6 debian/patches-rt/0120-softirq-Check-preemption-after-reenabling-interrupts.patch | 20 debian/patches-rt/0121-softirq-Disable-softirq-stacks-for-RT.patch | 12 debian/patches-rt/0122-softirq-Split-softirq-locks.patch | 10 debian/patches-rt/0123-net-core-use-local_bh_disable-in-netif_rx_ni.patch | 10 debian/patches-rt/0124-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch | 6 debian/patches-rt/0125-softirq-split-timer-softirqs-out-of-ksoftirqd.patch | 6 debian/patches-rt/0126-softirq-Avoid-local_softirq_pending-messages-if-ksof.patch | 6 debian/patches-rt/0127-softirq-Avoid-local_softirq_pending-messages-if-task.patch | 6 debian/patches-rt/0128-rtmutex-trylock-is-okay-on-RT.patch | 6 debian/patches-rt/0129-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch | 6 debian/patches-rt/0130-rtmutex-Handle-the-various-new-futex-race-conditions.patch | 20 debian/patches-rt/0131-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch | 6 debian/patches-rt/0132-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch | 10 debian/patches-rt/0133-pid.h-include-atomic.h.patch | 6 debian/patches-rt/0134-arm-include-definition-for-cpumask_t.patch | 6 debian/patches-rt/0135-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch | 6 debian/patches-rt/0136-rtmutex-Add-rtmutex_lock_killable.patch | 6 debian/patches-rt/0137-rtmutex-Make-lock_killable-work.patch | 6 debian/patches-rt/0138-spinlock-Split-the-lock-types-header.patch | 6 debian/patches-rt/0139-rtmutex-Avoid-include-hell.patch | 6 debian/patches-rt/0140-rbtree-don-t-include-the-rcu-header.patch | 6 debian/patches-rt/0141-rtmutex-Provide-rt_mutex_slowlock_locked.patch | 6 debian/patches-rt/0142-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch | 6 debian/patches-rt/0143-rtmutex-add-sleeping-lock-implementation.patch | 22 debian/patches-rt/0144-rtmutex-add-mutex-implementation-based-on-rtmutex.patch | 6 debian/patches-rt/0145-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch | 6 debian/patches-rt/0146-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch | 6 debian/patches-rt/0147-rtmutex-rwlock-preserve-state-like-a-sleeping-lock.patch | 6 debian/patches-rt/0148-rtmutex-wire-up-RT-s-locking.patch | 6 debian/patches-rt/0149-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch | 6 debian/patches-rt/0150-kconfig-Add-PREEMPT_RT_FULL.patch | 8 debian/patches-rt/0151-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch | 6 debian/patches-rt/0152-locking-rt-mutex-Flush-block-plug-on-__down_read.patch | 6 debian/patches-rt/0153-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch | 6 debian/patches-rt/0154-ptrace-fix-ptrace-vs-tasklist_lock-race.patch | 8 debian/patches-rt/0155-rtmutex-annotate-sleeping-lock-context.patch | 10 debian/patches-rt/0156-sched-migrate_disable-fallback-to-preempt_disable-in.patch | 12 debian/patches-rt/0157-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch | 6 debian/patches-rt/0158-rcu-Frob-softirq-test.patch | 6 debian/patches-rt/0159-rcu-Merge-RCU-bh-into-RCU-preempt.patch | 6 debian/patches-rt/0160-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch | 6 debian/patches-rt/0161-rcu-Eliminate-softirq-processing-from-rcutree.patch | 6 debian/patches-rt/0162-srcu-use-cpu_online-instead-custom-check.patch | 6 debian/patches-rt/0163-srcu-replace-local_irqsave-with-a-locallock.patch | 6 debian/patches-rt/0164-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch | 6 debian/patches-rt/0165-tty-serial-omap-Make-the-locking-RT-aware.patch | 6 debian/patches-rt/0166-tty-serial-pl011-Make-the-locking-work-on-RT.patch | 12 debian/patches-rt/0167-tty-serial-pl011-explicitly-initialize-the-flags-var.patch | 10 debian/patches-rt/0168-rt-Improve-the-serial-console-PASS_LIMIT.patch | 8 debian/patches-rt/0169-tty-serial-8250-don-t-take-the-trylock-during-oops.patch | 6 debian/patches-rt/0170-locking-percpu-rwsem-Remove-preempt_disable-variants.patch | 8 debian/patches-rt/0171-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch | 6 debian/patches-rt/0172-fs-dcache-bring-back-explicit-INIT_HLIST_BL_HEAD-ini.patch | 6 debian/patches-rt/0173-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch | 6 debian/patches-rt/0174-squashfs-make-use-of-local-lock-in-multi_cpu-decompr.patch | 6 debian/patches-rt/0175-thermal-Defer-thermal-wakups-to-threads.patch | 6 debian/patches-rt/0176-x86-fpu-Disable-preemption-around-local_bh_disable.patch | 6 debian/patches-rt/0177-fs-epoll-Do-not-disable-preemption-on-RT.patch | 6 debian/patches-rt/0178-mm-vmalloc-Another-preempt-disable-region-which-suck.patch | 6 debian/patches-rt/0179-block-mq-use-cpu_light.patch | 6 debian/patches-rt/0180-block-mq-do-not-invoke-preempt_disable.patch | 6 debian/patches-rt/0181-block-mq-don-t-complete-requests-via-IPI.patch | 8 debian/patches-rt/0182-md-raid5-Make-raid5_percpu-handling-RT-aware.patch | 8 debian/patches-rt/0183-rt-Introduce-cpu_chill.patch | 10 debian/patches-rt/0184-hrtimer-Don-t-lose-state-in-cpu_chill.patch | 10 debian/patches-rt/0185-hrtimer-cpu_chill-save-task-state-in-saved_state.patch | 10 debian/patches-rt/0186-block-blk-mq-move-blk_queue_usage_counter_release-in.patch | 14 debian/patches-rt/0187-block-Use-cpu_chill-for-retry-loops.patch | 6 debian/patches-rt/0188-fs-dcache-Use-cpu_chill-in-trylock-loops.patch | 8 debian/patches-rt/0189-net-Use-cpu_chill-instead-of-cpu_relax.patch | 12 debian/patches-rt/0190-fs-dcache-use-swait_queue-instead-of-waitqueue.patch | 10 debian/patches-rt/0191-workqueue-Use-normal-rcu.patch | 36 debian/patches-rt/0192-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch | 14 debian/patches-rt/0193-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch | 8 debian/patches-rt/0194-sched-Distangle-worker-accounting-from-rqlock.patch | 10 debian/patches-rt/0195-debugobjects-Make-RT-aware.patch | 6 debian/patches-rt/0196-seqlock-Prevent-rt-starvation.patch | 8 debian/patches-rt/0197-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch | 6 debian/patches-rt/0198-net-Use-skbufhead-with-raw-lock.patch | 32 debian/patches-rt/0199-net-move-xmit_recursion-to-per-task-variable-on-RT.patch | 45 debian/patches-rt/0200-net-provide-a-way-to-delegate-processing-a-softirq-t.patch | 10 debian/patches-rt/0201-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch | 10 debian/patches-rt/0202-net-Qdisc-use-a-seqlock-instead-seqcount.patch | 10 debian/patches-rt/0203-net-add-back-the-missing-serialization-in-ip_send_un.patch | 8 debian/patches-rt/0204-net-add-a-lock-around-icmp_sk.patch | 8 debian/patches-rt/0205-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch | 14 debian/patches-rt/0206-irqwork-push-most-work-into-softirq-context.patch | 8 debian/patches-rt/0207-printk-Make-rt-aware.patch | 10 debian/patches-rt/0208-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch | 12 debian/patches-rt/0209-printk-Drop-the-logbuf_lock-more-often.patch | 16 debian/patches-rt/0210-ARM-enable-irq-in-translation-section-permission-fau.patch | 6 debian/patches-rt/0211-genirq-update-irq_set_irqchip_state-documentation.patch | 6 debian/patches-rt/0212-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch | 6 debian/patches-rt/0213-arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch | 6 debian/patches-rt/0214-kgdb-serial-Short-term-workaround.patch | 6 debian/patches-rt/0215-sysfs-Add-sys-kernel-realtime-entry.patch | 6 debian/patches-rt/0216-mm-rt-kmap_atomic-scheduling.patch | 6 debian/patches-rt/0217-x86-highmem-Add-a-already-used-pte-check.patch | 6 debian/patches-rt/0218-arm-highmem-Flush-tlb-on-unmap.patch | 6 debian/patches-rt/0219-arm-Enable-highmem-for-rt.patch | 6 debian/patches-rt/0220-scsi-fcoe-Make-RT-aware.patch | 6 debian/patches-rt/0221-x86-crypto-Reduce-preempt-disabled-regions.patch | 6 debian/patches-rt/0222-crypto-Reduce-preempt-disabled-regions-more-algos.patch | 6 debian/patches-rt/0223-crypto-limit-more-FPU-enabled-sections.patch | 6 debian/patches-rt/0224-crypto-scompress-serialize-RT-percpu-scratch-buffer-.patch | 6 debian/patches-rt/0225-crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch | 6 debian/patches-rt/0226-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch | 8 debian/patches-rt/0227-x86-stackprotector-Avoid-random-pool-on-rt.patch | 6 debian/patches-rt/0228-random-Make-it-work-on-rt.patch | 10 debian/patches-rt/0229-cpu-hotplug-Implement-CPU-pinning.patch | 14 debian/patches-rt/0230-sched-Allow-pinned-user-tasks-to-be-awakened-to-the-.patch | 8 debian/patches-rt/0231-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch | 14 debian/patches-rt/0232-net-Remove-preemption-disabling-in-netif_rx.patch | 12 debian/patches-rt/0233-net-Another-local_irq_disable-kmalloc-headache.patch | 6 debian/patches-rt/0234-net-core-protect-users-of-napi_alloc_cache-against-r.patch | 6 debian/patches-rt/0235-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch | 6 debian/patches-rt/0236-net-Add-a-mutex-around-devnet_rename_seq.patch | 20 debian/patches-rt/0237-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch | 6 debian/patches-rt/0238-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch | 6 debian/patches-rt/0239-sched-Add-support-for-lazy-preemption.patch | 38 debian/patches-rt/0240-ftrace-Fix-trace-header-alignment.patch | 8 debian/patches-rt/0241-x86-Support-for-lazy-preemption.patch | 10 debian/patches-rt/0242-x86-lazy-preempt-properly-check-against-preempt-mask.patch | 6 debian/patches-rt/0243-x86-lazy-preempt-use-proper-return-label-on-32bit-x8.patch | 6 debian/patches-rt/0244-arm-Add-support-for-lazy-preemption.patch | 16 debian/patches-rt/0245-powerpc-Add-support-for-lazy-preemption.patch | 24 debian/patches-rt/0246-arch-arm64-Add-lazy-preempt-support.patch | 10 debian/patches-rt/0247-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch | 6 debian/patches-rt/0248-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch | 6 debian/patches-rt/0249-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch | 6 debian/patches-rt/0250-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch | 6 debian/patches-rt/0251-tpm_tis-fix-stall-after-iowrite-s.patch | 6 debian/patches-rt/0252-watchdog-prevent-deferral-of-watchdogd-wakeup-on-RT.patch | 18 debian/patches-rt/0253-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch | 6 debian/patches-rt/0254-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch | 6 debian/patches-rt/0255-drm-i915-disable-tracing-on-RT.patch | 6 debian/patches-rt/0256-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch | 6 debian/patches-rt/0257-cgroups-use-simple-wait-in-css_release.patch | 6 debian/patches-rt/0258-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch | 6 debian/patches-rt/0259-apparmor-use-a-locallock-instead-preempt_disable.patch | 6 debian/patches-rt/0260-workqueue-Prevent-deadlock-stall-on-RT.patch | 10 debian/patches-rt/0261-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch | 30 debian/patches-rt/0262-Add-localversion-for-RT-release.patch | 6 debian/patches-rt/0263-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch | 6 debian/patches-rt/0264-powerpc-reshuffle-TIF-bits.patch | 16 debian/patches-rt/0265-tty-sysrq-Convert-show_lock-to-raw_spinlock_t.patch | 6 debian/patches-rt/0266-drm-i915-Don-t-disable-interrupts-independently-of-t.patch | 6 debian/patches-rt/0267-sched-completion-Fix-a-lockup-in-wait_for_completion.patch | 6 debian/patches-rt/0268-kthread-add-a-global-worker-thread.patch | 14 debian/patches-rt/0269-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch | 6 debian/patches-rt/0270-genirq-Handle-missing-work_struct-in-irq_set_affinit.patch | 6 debian/patches-rt/0271-arm-imx6-cpuidle-Use-raw_spinlock_t.patch | 6 debian/patches-rt/0272-rcu-Don-t-allow-to-change-rcu_normal_after_boot-on-R.patch | 6 debian/patches-rt/0273-pci-switchtec-fix-stream_open.cocci-warnings.patch | 6 debian/patches-rt/0274-sched-core-Drop-a-preempt_disable_rt-statement.patch | 8 debian/patches-rt/0275-timers-Redo-the-notification-of-canceling-timers-on-.patch | 20 debian/patches-rt/0276-Revert-futex-Ensure-lock-unlock-symetry-versus-pi_lo.patch | 10 debian/patches-rt/0277-Revert-futex-Fix-bug-on-when-a-requeued-RT-task-time.patch | 6 debian/patches-rt/0278-Revert-rtmutex-Handle-the-various-new-futex-race-con.patch | 20 debian/patches-rt/0279-Revert-futex-workaround-migrate_disable-enable-in-di.patch | 14 debian/patches-rt/0280-futex-Make-the-futex_hash_bucket-lock-raw.patch | 64 debian/patches-rt/0281-futex-Delay-deallocation-of-pi_state.patch | 34 debian/patches-rt/0282-mm-zswap-Do-not-disable-preemption-in-zswap_frontswa.patch | 6 debian/patches-rt/0283-revert-aio.patch | 6 debian/patches-rt/0284-fs-aio-simple-simple-work.patch | 6 debian/patches-rt/0285-revert-thermal.patch | 6 debian/patches-rt/0286-thermal-Defer-thermal-wakups-to-threads.patch | 6 debian/patches-rt/0287-revert-block.patch | 14 debian/patches-rt/0288-block-blk-mq-move-blk_queue_usage_counter_release-in.patch | 12 debian/patches-rt/0289-workqueue-rework.patch | 131 debian/patches-rt/0290-Linux-4.19.82-rt30-REBASE.patch | 16 debian/patches-rt/0290-Linux-4.19.94-rt38-REBASE.patch | 20 debian/patches-rt/series | 2 debian/patches/bugfix/all/libertas-fix-two-buffer-overflows-at-parsing-bss-descriptor.patch | 64 debian/patches/bugfix/all/random-try-to-actively-add-entropy-rather-than-passi.patch | 143 debian/patches/bugfix/all/wimax-i2400-fix-memory-leak-in-i2400m_op_rfkill_sw_toggle.patch | 37 debian/patches/bugfix/all/wimax-i2400-fix-memory-leak.patch | 27 debian/patches/bugfix/arm64/huawei-taishan/0006-scsi-hisi_sas-Use-block-layer-tag-instead-for-IPTT.patch | 48 debian/patches/bugfix/arm64/huawei-taishan/0013-scsi-hisi_sas-Relocate-some-codes-to-avoid-an-unused.patch | 10 debian/patches/bugfix/arm64/huawei-taishan/0027-RDMA-hns-Fix-the-bug-with-updating-rq-head-pointer-w.patch | 49 debian/patches/bugfix/arm64/huawei-taishan/0028-RDMA-hns-Bugfix-for-the-scene-without-receiver-queue.patch | 29 debian/patches/bugfix/powerpc/powerpc-fix-mcpu-options-for-spe-only-compiler.patch | 12 debian/patches/features/all/aufs4/aufs4-base.patch | 148 debian/patches/features/all/aufs4/aufs4-mmap.patch | 153 debian/patches/features/all/aufs4/aufs4-standalone.patch | 259 debian/patches/series | 8 debian/rules.gen | 610 debian/tests/control | 2 drivers/acpi/acpi_lpss.c | 7 drivers/acpi/apei/ghes.c | 32 drivers/acpi/bus.c | 2 drivers/acpi/button.c | 11 drivers/acpi/device_pm.c | 12 drivers/acpi/osl.c | 28 drivers/acpi/sysfs.c | 6 drivers/android/binder_alloc.c | 30 drivers/ata/ahci_brcm.c | 140 drivers/ata/ahci_mvebu.c | 68 drivers/ata/libahci_platform.c | 6 drivers/ata/libata-core.c | 27 drivers/ata/sata_fsl.c | 2 drivers/ata/sata_mv.c | 2 drivers/ata/sata_nv.c | 2 drivers/base/platform.c | 3 drivers/block/drbd/drbd_main.c | 1 drivers/block/drbd/drbd_nl.c | 43 drivers/block/drbd/drbd_receiver.c | 52 drivers/block/drbd/drbd_state.c | 6 drivers/block/drbd/drbd_state.h | 5 drivers/block/loop.c | 26 drivers/block/nbd.c | 6 drivers/block/rsxx/core.c | 2 drivers/block/xen-blkback/blkback.c | 2 drivers/block/xen-blkback/xenbus.c | 10 drivers/block/xen-blkfront.c | 4 drivers/bluetooth/btusb.c | 3 drivers/bluetooth/hci_bcm.c | 22 drivers/bus/ti-sysc.c | 41 drivers/cdrom/cdrom.c | 12 drivers/char/hw_random/omap-rng.c | 9 drivers/char/hw_random/omap3-rom-rng.c | 3 drivers/char/hw_random/stm32-rng.c | 8 drivers/char/ipmi/ipmi_msghandler.c | 23 drivers/char/lp.c | 4 drivers/char/ppdev.c | 16 drivers/char/tpm/tpm2-cmd.c | 4 drivers/clk/at91/clk-generated.c | 28 drivers/clk/at91/clk-main.c | 7 drivers/clk/at91/sckc.c | 20 drivers/clk/clk-gpio.c | 2 drivers/clk/clk-stm32mp1.c | 28 drivers/clk/clk.c | 10 drivers/clk/mediatek/clk-cpumux.c | 8 drivers/clk/mediatek/clk-mt7622.c | 4 drivers/clk/meson/gxbb.c | 9 drivers/clk/meson/meson8b.c | 2 drivers/clk/pxa/clk-pxa27x.c | 1 drivers/clk/qcom/clk-rcg2.c | 2 drivers/clk/qcom/common.c | 3 drivers/clk/qcom/gcc-msm8998.c | 44 drivers/clk/qcom/gcc-sdm845.c | 7 drivers/clk/renesas/r8a77990-cpg-mssr.c | 4 drivers/clk/renesas/r8a77995-cpg-mssr.c | 4 drivers/clk/renesas/rcar-gen3-cpg.c | 16 drivers/clk/rockchip/clk-rk3188.c | 8 drivers/clk/rockchip/clk-rk3328.c | 2 drivers/clk/samsung/clk-exynos5420.c | 8 drivers/clk/samsung/clk-exynos5433.c | 14 drivers/clk/sprd/common.c | 2 drivers/clk/sunxi-ng/ccu-sun50i-a64.c | 2 drivers/clk/sunxi-ng/ccu-sun8i-h3.c | 2 drivers/clk/sunxi-ng/ccu-sun9i-a80.c | 2 drivers/clk/sunxi/clk-sunxi.c | 4 drivers/clk/ti/clk-dra7-atl.c | 6 drivers/clk/ti/clkctrl.c | 5 drivers/clocksource/asm9260_timer.c | 4 drivers/clocksource/timer-fttmr010.c | 73 drivers/clocksource/timer-mediatek.c | 10 drivers/clocksource/timer-of.c | 2 drivers/cpufreq/cpufreq.c | 7 drivers/cpufreq/imx6q-cpufreq.c | 52 drivers/cpufreq/powernv-cpufreq.c | 17 drivers/cpuidle/driver.c | 15 drivers/crypto/amcc/crypto4xx_core.c | 6 drivers/crypto/atmel-aes.c | 71 drivers/crypto/atmel-authenc.h | 2 drivers/crypto/atmel-sha.c | 2 drivers/crypto/bcm/cipher.c | 6 drivers/crypto/ccp/ccp-dmaengine.c | 1 drivers/crypto/chelsio/chtls/chtls.h | 5 drivers/crypto/chelsio/chtls/chtls_main.c | 50 drivers/crypto/mxc-scc.c | 12 drivers/crypto/stm32/stm32-hash.c | 2 drivers/crypto/sunxi-ss/sun4i-ss-cipher.c | 22 drivers/crypto/sunxi-ss/sun4i-ss-hash.c | 12 drivers/crypto/virtio/virtio_crypto_algs.c | 21 drivers/crypto/vmx/Makefile | 6 drivers/devfreq/devfreq.c | 42 drivers/dma-buf/sync_file.c | 2 drivers/dma/coh901318.c | 5 drivers/dma/dw/core.c | 2 drivers/dma/dw/platform.c | 6 drivers/dma/dw/regs.h | 4 drivers/dma/ioat/dma.c | 3 drivers/dma/k3dma.c | 12 drivers/dma/stm32-dma.c | 20 drivers/dma/xilinx/xilinx_dma.c | 1 drivers/edac/ghes_edac.c | 10 drivers/extcon/extcon-max8997.c | 10 drivers/extcon/extcon-sm5502.c | 4 drivers/extcon/extcon-sm5502.h | 2 drivers/firewire/net.c | 6 drivers/firmware/arm_scmi/bus.c | 8 drivers/firmware/arm_sdei.c | 6 drivers/firmware/efi/libstub/gop.c | 80 drivers/firmware/qcom_scm-64.c | 2 drivers/firmware/raspberrypi.c | 35 drivers/fsi/fsi-core.c | 31 drivers/gpio/gpio-mpc8xxx.c | 4 drivers/gpio/gpio-pca953x.c | 2 drivers/gpio/gpio-raspberrypi-exp.c | 1 drivers/gpio/gpio-zynq.c | 8 drivers/gpio/gpiolib-acpi.c | 66 drivers/gpio/gpiolib.c | 13 drivers/gpu/drm/amd/amdgpu/amdgpu_test.c | 2 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 12 drivers/gpu/drm/amd/amdgpu/df_v3_6.c | 36 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 22 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 3 drivers/gpu/drm/amd/amdgpu/si_ih.c | 3 drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c | 5 drivers/gpu/drm/amd/display/dc/core/dc_link.c | 4 drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 1 drivers/gpu/drm/arm/malidp_mw.c | 2 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 2 drivers/gpu/drm/bridge/analogix-anx78xx.c | 8 drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 12 drivers/gpu/drm/drm_dp_mst_topology.c | 8 drivers/gpu/drm/drm_fb_helper.c | 7 drivers/gpu/drm/drm_property.c | 2 drivers/gpu/drm/drm_vblank.c | 6 drivers/gpu/drm/exynos/exynos_drm_gsc.c | 1 drivers/gpu/drm/gma500/oaktrail_crtc.c | 2 drivers/gpu/drm/i810/i810_dma.c | 4 drivers/gpu/drm/i915/i915_gem_context.c | 13 drivers/gpu/drm/i915/intel_lrc.c | 9 drivers/gpu/drm/i915/selftests/i915_random.h | 1 drivers/gpu/drm/meson/meson_venc_cvbs.c | 48 drivers/gpu/drm/msm/msm_debugfs.c | 6 drivers/gpu/drm/msm/msm_gpu.c | 1 drivers/gpu/drm/nouveau/nouveau_connector.h | 110 drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.c | 2 drivers/gpu/drm/nouveau/nvkm/subdev/bar/nv50.c | 2 drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c | 2 drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c | 1 drivers/gpu/drm/panel/panel-sitronix-st7789v.c | 1 drivers/gpu/drm/radeon/r100.c | 4 drivers/gpu/drm/radeon/r200.c | 4 drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c | 2 drivers/gpu/drm/sun4i/sun4i_tcon.c | 15 drivers/gpu/drm/sun4i/sun4i_tcon.h | 1 drivers/gpu/drm/tegra/sor.c | 5 drivers/gpu/drm/ttm/ttm_page_alloc.c | 8 drivers/gpu/host1x/hw/hw_host1x06_uclass.h | 2 drivers/gpu/host1x/job.c | 11 drivers/gpu/ipu-v3/ipu-pre.c | 6 drivers/hid/hid-core.c | 61 drivers/hid/hid-ids.h | 1 drivers/hid/hid-input.c | 16 drivers/hid/hid-logitech-hidpp.c | 3 drivers/hid/hid-quirks.c | 1 drivers/hid/hid-rmi.c | 3 drivers/hid/hidraw.c | 7 drivers/hid/i2c-hid/i2c-hid-core.c | 12 drivers/hid/intel-ish-hid/ishtp-hid.c | 2 drivers/hid/uhid.c | 5 drivers/hid/usbhid/hiddev.c | 97 drivers/hwmon/pmbus/ibm-cffps.c | 10 drivers/hwtracing/coresight/coresight-etm4x-sysfs.c | 21 drivers/hwtracing/intel_th/core.c | 8 drivers/hwtracing/intel_th/pci.c | 20 drivers/i2c/busses/i2c-imx.c | 3 drivers/i2c/i2c-core-base.c | 13 drivers/i2c/i2c-core-of.c | 4 drivers/iio/adc/dln2-adc.c | 20 drivers/iio/adc/max1027.c | 8 drivers/iio/adc/max9611.c | 16 drivers/iio/dac/Kconfig | 4 drivers/iio/dac/ad5446.c | 6 drivers/iio/humidity/hdc100x.c | 2 drivers/iio/imu/adis16480.c | 7 drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 66 drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h | 16 drivers/iio/industrialio-buffer.c | 6 drivers/iio/light/bh1750.c | 4 drivers/infiniband/core/cma.c | 1 drivers/infiniband/hw/bnxt_re/ib_verbs.c | 6 drivers/infiniband/hw/bnxt_re/qplib_fp.c | 12 drivers/infiniband/hw/bnxt_re/qplib_sp.c | 5 drivers/infiniband/hw/cxgb4/cm.c | 3 drivers/infiniband/hw/hfi1/chip.c | 47 drivers/infiniband/hw/hfi1/vnic_sdma.c | 15 drivers/infiniband/hw/hns/hns_roce_hem.h | 2 drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 15 drivers/infiniband/hw/hns/hns_roce_mr.c | 4 drivers/infiniband/hw/hns/hns_roce_qp.c | 3 drivers/infiniband/hw/mlx4/main.c | 9 drivers/infiniband/hw/mlx4/sysfs.c | 12 drivers/infiniband/hw/mlx5/main.c | 13 drivers/infiniband/hw/mlx5/mr.c | 2 drivers/infiniband/hw/qedr/qedr_iw_cm.c | 2 drivers/infiniband/hw/qedr/verbs.c | 12 drivers/infiniband/hw/qib/qib_sdma.c | 4 drivers/infiniband/hw/qib/qib_sysfs.c | 6 drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c | 2 drivers/infiniband/sw/rxe/rxe_hw_counters.c | 2 drivers/infiniband/sw/rxe/rxe_recv.c | 2 drivers/infiniband/sw/rxe/rxe_req.c | 6 drivers/infiniband/sw/rxe/rxe_resp.c | 7 drivers/infiniband/sw/rxe/rxe_verbs.h | 6 drivers/infiniband/ulp/iser/iscsi_iser.c | 1 drivers/infiniband/ulp/srp/ib_srp.c | 1 drivers/infiniband/ulp/srpt/ib_srpt.c | 24 drivers/input/evdev.c | 14 drivers/input/input.c | 26 drivers/input/joystick/psxpad-spi.c | 2 drivers/input/misc/uinput.c | 14 drivers/input/mouse/synaptics.c | 1 drivers/input/rmi4/rmi_f34v7.c | 3 drivers/input/rmi4/rmi_smbus.c | 2 drivers/input/serio/gscps2.c | 4 drivers/input/serio/hp_sdc.c | 4 drivers/input/touchscreen/atmel_mxt_ts.c | 4 drivers/input/touchscreen/cyttsp4_core.c | 7 drivers/input/touchscreen/goodix.c | 9 drivers/iommu/amd_iommu.c | 30 drivers/iommu/iommu.c | 1 drivers/iommu/iova.c | 2 drivers/iommu/mtk_iommu.c | 2 drivers/iommu/rockchip-iommu.c | 7 drivers/iommu/tegra-smmu.c | 11 drivers/irqchip/Kconfig | 4 drivers/irqchip/irq-bcm7038-l1.c | 4 drivers/irqchip/irq-ingenic.c | 15 drivers/isdn/gigaset/usb-gigaset.c | 23 drivers/leds/leds-lm3692x.c | 13 drivers/leds/trigger/ledtrig-netdev.c | 5 drivers/mailbox/imx-mailbox.c | 4 drivers/mailbox/mailbox-test.c | 14 drivers/mailbox/stm32-ipcc.c | 37 drivers/md/bcache/alloc.c | 5 drivers/md/bcache/bcache.h | 2 drivers/md/bcache/btree.c | 2 drivers/md/bcache/debug.c | 3 drivers/md/bcache/super.c | 54 drivers/md/bcache/writeback.c | 3 drivers/md/dm-flakey.c | 33 drivers/md/dm-mpath.c | 37 drivers/md/dm-raid.c | 3 drivers/md/dm-snap-persistent.c | 2 drivers/md/dm-writecache.c | 3 drivers/md/dm-zoned-metadata.c | 29 drivers/md/dm-zoned-reclaim.c | 8 drivers/md/dm-zoned-target.c | 54 drivers/md/dm-zoned.h | 2 drivers/md/md-bitmap.c | 2 drivers/md/md-linear.c | 5 drivers/md/md-multipath.c | 5 drivers/md/md.c | 11 drivers/md/md.h | 4 drivers/md/persistent-data/dm-btree-remove.c | 8 drivers/md/raid0.c | 9 drivers/md/raid1.c | 7 drivers/md/raid10.c | 5 drivers/md/raid5.c | 6 drivers/media/cec/cec-adap.c | 47 drivers/media/i2c/ov2659.c | 18 drivers/media/i2c/ov6650.c | 114 drivers/media/i2c/smiapp/smiapp-core.c | 12 drivers/media/pci/cx88/cx88-video.c | 11 drivers/media/platform/am437x/am437x-vpfe.c | 4 drivers/media/platform/atmel/atmel-isc.c | 12 drivers/media/platform/cadence/cdns-csi2rx.c | 2 drivers/media/platform/coda/coda-common.c | 26 drivers/media/platform/coda/coda.h | 3 drivers/media/platform/exynos4-is/fimc-isp-video.c | 2 drivers/media/platform/qcom/venus/core.c | 9 drivers/media/platform/qcom/venus/hfi_venus.c | 6 drivers/media/platform/qcom/venus/vdec.c | 3 drivers/media/platform/qcom/venus/venc.c | 3 drivers/media/platform/rcar-vin/rcar-v4l2.c | 3 drivers/media/platform/rcar_drif.c | 1 drivers/media/platform/sti/bdisp/bdisp-v4l2.c | 3 drivers/media/platform/stm32/stm32-dcmi.c | 23 drivers/media/platform/ti-vpe/vpdma.h | 1 drivers/media/platform/ti-vpe/vpe.c | 52 drivers/media/platform/vimc/vimc-common.c | 2 drivers/media/platform/vimc/vimc-core.c | 7 drivers/media/radio/radio-wl1273.c | 3 drivers/media/radio/si470x/radio-si470x-i2c.c | 2 drivers/media/spi/cxd2880-spi.c | 1 drivers/media/usb/b2c2/flexcop-usb.c | 10 drivers/media/usb/dvb-usb/af9005.c | 5 drivers/media/usb/pulse8-cec/pulse8-cec.c | 19 drivers/media/usb/pvrusb2/pvrusb2-v4l2.c | 9 drivers/media/usb/stkwebcam/stk-webcam.c | 6 drivers/media/usb/uvc/uvc_driver.c | 54 drivers/media/usb/zr364xx/zr364xx.c | 3 drivers/media/v4l2-core/v4l2-ctrls.c | 1 drivers/media/v4l2-core/v4l2-ioctl.c | 33 drivers/memory/omap-gpmc.c | 1 drivers/message/fusion/mptctl.c | 213 drivers/misc/altera-stapl/altera.c | 3 drivers/misc/enclosure.c | 3 drivers/misc/mei/bus.c | 9 drivers/misc/mei/hw-me-regs.h | 1 drivers/misc/mei/pci-me.c | 1 drivers/mmc/core/block.c | 157 drivers/mmc/core/queue.c | 9 drivers/mmc/host/meson-gx-mmc.c | 73 drivers/mmc/host/mtk-sd.c | 2 drivers/mmc/host/omap_hsmmc.c | 30 drivers/mmc/host/sdhci-msm.c | 28 drivers/mmc/host/sdhci-of-esdhc.c | 7 drivers/mmc/host/sdhci-pci-core.c | 10 drivers/mmc/host/sdhci.c | 11 drivers/mmc/host/sdhci.h | 2 drivers/mmc/host/tmio_mmc_core.c | 2 drivers/mtd/devices/mchp23k256.c | 20 drivers/mtd/devices/spear_smi.c | 38 drivers/mtd/mtdcore.h | 2 drivers/mtd/mtdpart.c | 35 drivers/mtd/nand/onenand/omap2.c | 3 drivers/mtd/nand/raw/atmel/nand-controller.c | 2 drivers/mtd/nand/raw/atmel/pmecc.c | 21 drivers/mtd/nand/raw/sunxi_nand.c | 2 drivers/mtd/spi-nor/spi-nor.c | 6 drivers/mtd/ubi/build.c | 2 drivers/mtd/ubi/kapi.c | 2 drivers/net/Kconfig | 4 drivers/net/bonding/bond_main.c | 3 drivers/net/can/c_can/c_can.c | 26 drivers/net/can/flexcan.c | 10 drivers/net/can/mscan/mscan.c | 21 drivers/net/can/rx-offload.c | 96 drivers/net/can/slcan.c | 1 drivers/net/can/spi/mcp251x.c | 2 drivers/net/can/usb/gs_usb.c | 4 drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c | 2 drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c | 8 drivers/net/can/usb/peak_usb/pcan_usb.c | 15 drivers/net/can/usb/ucan.c | 2 drivers/net/can/xilinx_can.c | 2 drivers/net/dsa/Kconfig | 1 drivers/net/dsa/bcm_sf2.c | 7 drivers/net/dsa/mv88e6xxx/chip.c | 21 drivers/net/dsa/mv88e6xxx/global1.c | 5 drivers/net/dsa/mv88e6xxx/global1.h | 1 drivers/net/ethernet/amazon/ena/ena_netdev.c | 10 drivers/net/ethernet/aquantia/atlantic/aq_cfg.h | 4 drivers/net/ethernet/aquantia/atlantic/aq_nic.c | 2 drivers/net/ethernet/atheros/atl1e/atl1e_main.c | 4 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 2 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 12 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c | 16 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.h | 1 drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c | 12 drivers/net/ethernet/broadcom/bnxt/bnxt.c | 57 drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 116 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.h | 4 drivers/net/ethernet/broadcom/genet/bcmgenet.c | 7 drivers/net/ethernet/broadcom/genet/bcmmii.c | 33 drivers/net/ethernet/cadence/macb.h | 6 drivers/net/ethernet/cadence/macb_main.c | 19 drivers/net/ethernet/cadence/macb_ptp.c | 5 drivers/net/ethernet/cavium/thunder/thunder_bgx.c | 2 drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c | 4 drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c | 6 drivers/net/ethernet/cirrus/ep93xx_eth.c | 5 drivers/net/ethernet/cortina/gemini.c | 2 drivers/net/ethernet/freescale/fec_main.c | 13 drivers/net/ethernet/hisilicon/hip04_eth.c | 2 drivers/net/ethernet/hisilicon/hns/hns_enet.c | 4 drivers/net/ethernet/hisilicon/hns3/hnae3.c | 26 drivers/net/ethernet/hisilicon/hns3/hnae3.h | 2 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 14 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c | 2 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h | 2 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c | 7 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h | 1 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c | 2 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 7 drivers/net/ethernet/huawei/hinic/hinic_main.c | 7 drivers/net/ethernet/huawei/hinic/hinic_rx.c | 2 drivers/net/ethernet/intel/e100.c | 4 drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 10 drivers/net/ethernet/intel/i40e/i40e_main.c | 10 drivers/net/ethernet/intel/ice/ice_adminq_cmd.h | 6 drivers/net/ethernet/intel/ice/ice_controlq.c | 2 drivers/net/ethernet/intel/ice/ice_controlq.h | 5 drivers/net/ethernet/intel/ice/ice_switch.c | 3 drivers/net/ethernet/intel/ice/ice_txrx.c | 3 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 3 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 4 drivers/net/ethernet/mellanox/mlx4/main.c | 11 drivers/net/ethernet/mellanox/mlx5/core/en/port_buffer.c | 27 drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c | 2 drivers/net/ethernet/mellanox/mlx5/core/main.c | 8 drivers/net/ethernet/mellanox/mlx5/core/qp.c | 4 drivers/net/ethernet/mellanox/mlxfw/mlxfw_mfa2.c | 7 drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 13 drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c | 37 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c | 78 drivers/net/ethernet/mscc/ocelot.h | 2 drivers/net/ethernet/qlogic/qede/qede_filter.c | 2 drivers/net/ethernet/qlogic/qede/qede_main.c | 4 drivers/net/ethernet/qlogic/qla3xxx.c | 8 drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c | 5 drivers/net/ethernet/renesas/ravb.h | 1 drivers/net/ethernet/renesas/ravb_main.c | 19 drivers/net/ethernet/renesas/sh_eth.c | 38 drivers/net/ethernet/sfc/ef10.c | 29 drivers/net/ethernet/stmicro/stmmac/common.h | 5 drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c | 14 drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 3 drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c | 6 drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h | 2 drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c | 3 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 20 drivers/net/ethernet/ti/cpsw.c | 2 drivers/net/ethernet/ti/cpsw_ale.c | 2 drivers/net/ethernet/ti/cpts.c | 8 drivers/net/fjes/fjes_main.c | 3 drivers/net/gtp.c | 116 drivers/net/hamradio/6pack.c | 4 drivers/net/hamradio/mkiss.c | 4 drivers/net/hyperv/hyperv_net.h | 3 drivers/net/hyperv/netvsc_drv.c | 4 drivers/net/hyperv/rndis_filter.c | 12 drivers/net/macvlan.c | 6 drivers/net/phy/dp83867.c | 15 drivers/net/phy/phy_device.c | 4 drivers/net/slip/slip.c | 1 drivers/net/tun.c | 4 drivers/net/usb/lan78xx.c | 13 drivers/net/usb/r8152.c | 3 drivers/net/vxlan.c | 17 drivers/net/wan/fsl_ucc_hdlc.c | 3 drivers/net/wireless/ath/ar5523/ar5523.c | 3 drivers/net/wireless/ath/ath10k/coredump.c | 11 drivers/net/wireless/ath/ath10k/mac.c | 26 drivers/net/wireless/ath/ath10k/pci.c | 9 drivers/net/wireless/ath/ath10k/txrx.c | 2 drivers/net/wireless/ath/ath10k/usb.c | 1 drivers/net/wireless/ath/ath6kl/cfg80211.c | 4 drivers/net/wireless/ath/ath9k/htc_drv_txrx.c | 23 drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 10 drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c | 5 drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 29 drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h | 9 drivers/net/wireless/intel/iwlwifi/cfg/22000.c | 1 drivers/net/wireless/intel/iwlwifi/dvm/led.c | 3 drivers/net/wireless/intel/iwlwifi/dvm/main.c | 17 drivers/net/wireless/intel/iwlwifi/fw/dbg.c | 1 drivers/net/wireless/intel/iwlwifi/iwl-eeprom-parse.c | 19 drivers/net/wireless/intel/iwlwifi/iwl-eeprom-parse.h | 5 drivers/net/wireless/intel/iwlwifi/iwl-prph.h | 7 drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 4 drivers/net/wireless/intel/iwlwifi/mvm/led.c | 3 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 15 drivers/net/wireless/intel/iwlwifi/mvm/rx.c | 3 drivers/net/wireless/intel/iwlwifi/mvm/sta.c | 10 drivers/net/wireless/intel/iwlwifi/mvm/utils.c | 14 drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c | 36 drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 2 drivers/net/wireless/intel/iwlwifi/pcie/trans.c | 34 drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c | 44 drivers/net/wireless/intel/iwlwifi/pcie/tx.c | 10 drivers/net/wireless/marvell/libertas/if_sdio.c | 5 drivers/net/wireless/marvell/mwifiex/debugfs.c | 14 drivers/net/wireless/marvell/mwifiex/main.c | 6 drivers/net/wireless/marvell/mwifiex/pcie.c | 9 drivers/net/wireless/marvell/mwifiex/scan.c | 18 drivers/net/wireless/marvell/mwifiex/sta_ioctl.c | 13 drivers/net/wireless/marvell/mwifiex/tdls.c | 70 drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c | 3 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h | 1 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c | 1 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 4 drivers/net/wireless/realtek/rtlwifi/regd.c | 2 drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c | 2 drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c | 9 drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c | 1 drivers/net/wireless/realtek/rtlwifi/rtl8192de/trx.c | 25 drivers/net/wireless/realtek/rtlwifi/rtl8192de/trx.h | 2 drivers/net/wireless/realtek/rtlwifi/usb.c | 5 drivers/net/wireless/rsi/rsi_91x_mgmt.c | 1 drivers/net/wireless/st/cw1200/fwio.c | 6 drivers/nfc/nxp-nci/i2c.c | 6 drivers/nfc/pn533/usb.c | 2 drivers/nvdimm/btt.c | 8 drivers/nvme/host/core.c | 51 drivers/nvme/host/fc.c | 32 drivers/nvme/host/nvme.h | 3 drivers/nvme/target/fcloop.c | 1 drivers/nvmem/imx-ocotp.c | 4 drivers/of/overlay.c | 37 drivers/of/unittest.c | 4 drivers/parport/share.c | 21 drivers/pci/controller/dwc/pcie-designware-host.c | 11 drivers/pci/controller/pcie-rcar.c | 6 drivers/pci/hotplug/acpiphp_glue.c | 12 drivers/pci/hotplug/pciehp.h | 2 drivers/pci/hotplug/pciehp_ctrl.c | 6 drivers/pci/hotplug/pciehp_hpc.c | 2 drivers/pci/hotplug/rpaphp_core.c | 38 drivers/pci/msi.c | 24 drivers/pci/pci-driver.c | 17 drivers/pci/pcie/ptm.c | 2 drivers/pci/quirks.c | 22 drivers/pci/switch/switchtec.c | 4 drivers/phy/motorola/phy-cpcap-usb.c | 35 drivers/phy/qualcomm/phy-qcom-usb-hs.c | 7 drivers/phy/renesas/phy-rcar-gen3-usb2.c | 5 drivers/pinctrl/devicetree.c | 25 drivers/pinctrl/intel/pinctrl-baytrail.c | 81 drivers/pinctrl/intel/pinctrl-cherryview.c | 24 drivers/pinctrl/intel/pinctrl-lewisburg.c | 171 drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 6 drivers/pinctrl/pinctrl-amd.c | 3 drivers/pinctrl/pinctrl-xway.c | 39 drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c | 23 drivers/pinctrl/samsung/pinctrl-exynos.c | 14 drivers/pinctrl/samsung/pinctrl-s3c24xx.c | 6 drivers/pinctrl/samsung/pinctrl-s3c64xx.c | 6 drivers/pinctrl/samsung/pinctrl-samsung.c | 10 drivers/pinctrl/sh-pfc/pfc-r8a77990.c | 2 drivers/pinctrl/sh-pfc/pfc-sh7264.c | 9 drivers/pinctrl/sh-pfc/pfc-sh7734.c | 20 drivers/pinctrl/stm32/pinctrl-stm32.c | 26 drivers/pinctrl/ti/pinctrl-ti-iodelay.c | 2 drivers/platform/x86/asus-wmi.c | 8 drivers/platform/x86/gpd-pocket-fan.c | 25 drivers/platform/x86/hp-wmi.c | 12 drivers/platform/x86/mlx-platform.c | 4 drivers/platform/x86/pmc_atom.c | 8 drivers/power/avs/smartreflex.c | 3 drivers/power/supply/cpcap-battery.c | 11 drivers/ptp/ptp_clock.c | 35 drivers/ptp/ptp_private.h | 2 drivers/pwm/core.c | 1 drivers/pwm/pwm-bcm-iproc.c | 1 drivers/pwm/pwm-berlin.c | 1 drivers/pwm/pwm-clps711x.c | 4 drivers/pwm/pwm-pca9685.c | 1 drivers/pwm/pwm-samsung.c | 1 drivers/regulator/88pm800-regulator.c | 305 drivers/regulator/88pm800.c | 305 drivers/regulator/Makefile | 2 drivers/regulator/ab8500.c | 17 drivers/regulator/core.c | 4 drivers/regulator/max8907-regulator.c | 15 drivers/regulator/palmas-regulator.c | 5 drivers/regulator/rn5t618-regulator.c | 1 drivers/regulator/tps65910-regulator.c | 4 drivers/reset/core.c | 1 drivers/rpmsg/qcom_glink_native.c | 53 drivers/rpmsg/qcom_glink_smem.c | 2 drivers/rtc/interface.c | 19 drivers/rtc/rtc-brcmstb-waketimer.c | 1 drivers/rtc/rtc-max77686.c | 2 drivers/rtc/rtc-max8997.c | 2 drivers/rtc/rtc-msm6242.c | 3 drivers/rtc/rtc-mt6397.c | 47 drivers/rtc/rtc-s3c.c | 6 drivers/s390/block/dasd_eckd.c | 28 drivers/s390/cio/device_ops.c | 2 drivers/s390/crypto/ap_queue.c | 23 drivers/s390/crypto/zcrypt_error.h | 2 drivers/s390/net/qeth_l2_main.c | 4 drivers/s390/scsi/zfcp_dbf.c | 8 drivers/s390/scsi/zfcp_erp.c | 3 drivers/s390/scsi/zfcp_fsf.c | 7 drivers/scsi/NCR5380.c | 6 drivers/scsi/atari_scsi.c | 6 drivers/scsi/bfa/bfad_attr.c | 4 drivers/scsi/bnx2i/bnx2i_iscsi.c | 2 drivers/scsi/csiostor/csio_init.c | 2 drivers/scsi/csiostor/csio_lnode.c | 15 drivers/scsi/cxgbi/libcxgbi.c | 3 drivers/scsi/esas2r/esas2r_flash.c | 1 drivers/scsi/fnic/vnic_dev.c | 20 drivers/scsi/hisi_sas/hisi_sas.h | 2 drivers/scsi/hisi_sas/hisi_sas_main.c | 23 drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 4 drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 4 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 16 drivers/scsi/iscsi_tcp.c | 8 drivers/scsi/libiscsi.c | 4 drivers/scsi/libsas/sas_discover.c | 11 drivers/scsi/libsas/sas_expander.c | 29 drivers/scsi/lpfc/lpfc.h | 9 drivers/scsi/lpfc/lpfc_attr.c | 21 drivers/scsi/lpfc/lpfc_bsg.c | 21 drivers/scsi/lpfc/lpfc_els.c | 6 drivers/scsi/lpfc/lpfc_hbadisc.c | 9 drivers/scsi/lpfc/lpfc_init.c | 10 drivers/scsi/lpfc/lpfc_mbox.c | 6 drivers/scsi/lpfc/lpfc_nportdisc.c | 4 drivers/scsi/lpfc/lpfc_nvme.c | 4 drivers/scsi/lpfc/lpfc_scsi.c | 18 drivers/scsi/lpfc/lpfc_sli.c | 31 drivers/scsi/mac_scsi.c | 2 drivers/scsi/mpt3sas/mpt3sas_ctl.c | 3 drivers/scsi/pm8001/pm80xx_hwi.c | 2 drivers/scsi/qedf/qedf_els.c | 16 drivers/scsi/qla2xxx/qla_attr.c | 5 drivers/scsi/qla2xxx/qla_bsg.c | 15 drivers/scsi/qla2xxx/qla_gs.c | 2 drivers/scsi/qla2xxx/qla_init.c | 44 drivers/scsi/qla2xxx/qla_iocb.c | 6 drivers/scsi/qla2xxx/qla_isr.c | 16 drivers/scsi/qla2xxx/qla_mbx.c | 7 drivers/scsi/qla2xxx/qla_mid.c | 11 drivers/scsi/qla2xxx/qla_nvme.c | 17 drivers/scsi/qla2xxx/qla_os.c | 9 drivers/scsi/qla2xxx/qla_target.c | 13 drivers/scsi/qla2xxx/tcm_qla2xxx.c | 48 drivers/scsi/qla2xxx/tcm_qla2xxx.h | 3 drivers/scsi/qla4xxx/ql4_mbx.c | 3 drivers/scsi/qla4xxx/ql4_os.c | 1 drivers/scsi/scsi_debug.c | 5 drivers/scsi/scsi_trace.c | 114 drivers/scsi/sd.c | 18 drivers/scsi/sun3_scsi.c | 4 drivers/scsi/ufs/ufshcd.c | 21 drivers/scsi/zorro_esp.c | 11 drivers/slimbus/qcom-ngd-ctrl.c | 5 drivers/soc/Makefile | 2 drivers/soc/renesas/r8a77970-sysc.c | 4 drivers/soc/renesas/r8a77980-sysc.c | 10 drivers/soc/renesas/r8a77990-sysc.c | 23 drivers/soundwire/intel.c | 10 drivers/spi/spi-atmel.c | 16 drivers/spi/spi-cavium-thunderx.c | 2 drivers/spi/spi-fsl-spi.c | 7 drivers/spi/spi-img-spfi.c | 2 drivers/spi/spi-pxa2xx.c | 6 drivers/spi/spi-sprd-adi.c | 3 drivers/spi/spi-st-ssc4.c | 3 drivers/spi/spi-tegra20-slink.c | 5 drivers/spi/spi-ti-qspi.c | 6 drivers/spi/spidev.c | 3 drivers/staging/comedi/drivers/adv_pci1710.c | 4 drivers/staging/comedi/drivers/gsc_hpdi.c | 10 drivers/staging/erofs/xattr.c | 2 drivers/staging/fbtft/fbtft-core.c | 2 drivers/staging/iio/addac/adt7316-i2c.c | 2 drivers/staging/rtl8188eu/core/rtw_xmit.c | 4 drivers/staging/rtl8188eu/os_dep/usb_intf.c | 3 drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 5 drivers/staging/rtl8192u/r8192U_core.c | 17 drivers/staging/rtl8712/usb_intf.c | 2 drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 7 drivers/staging/vt6656/device.h | 1 drivers/staging/vt6656/main_usb.c | 1 drivers/staging/vt6656/wcmd.c | 1 drivers/target/iscsi/iscsi_target.c | 10 drivers/target/iscsi/iscsi_target_auth.c | 2 drivers/target/target_core_fabric_lib.c | 2 drivers/target/target_core_user.c | 2 drivers/thermal/thermal_core.c | 4 drivers/thunderbolt/switch.c | 54 drivers/tty/hvc/hvc_vio.c | 16 drivers/tty/n_hdlc.c | 4 drivers/tty/n_r3964.c | 2 drivers/tty/n_tty.c | 8 drivers/tty/serdev/core.c | 10 drivers/tty/serial/8250/8250_core.c | 26 drivers/tty/serial/8250/8250_fsl.c | 23 drivers/tty/serial/8250/8250_of.c | 5 drivers/tty/serial/amba-pl011.c | 6 drivers/tty/serial/atmel_serial.c | 43 drivers/tty/serial/fsl_lpuart.c | 4 drivers/tty/serial/ifx6x60.c | 3 drivers/tty/serial/imx.c | 4 drivers/tty/serial/max310x.c | 7 drivers/tty/serial/msm_serial.c | 19 drivers/tty/serial/pch_uart.c | 5 drivers/tty/serial/qcom_geni_serial.c | 56 drivers/tty/serial/serial_core.c | 3 drivers/tty/serial/sh-sci.c | 2 drivers/tty/tty_ldisc.c | 7 drivers/tty/vt/keyboard.c | 2 drivers/tty/vt/vc_screen.c | 3 drivers/usb/atm/ueagle-atm.c | 18 drivers/usb/chipidea/host.c | 4 drivers/usb/core/config.c | 82 drivers/usb/core/devio.c | 15 drivers/usb/core/hub.c | 8 drivers/usb/core/urb.c | 1 drivers/usb/dwc2/core.c | 2 drivers/usb/dwc3/core.c | 3 drivers/usb/dwc3/debug.h | 29 drivers/usb/dwc3/debugfs.c | 19 drivers/usb/dwc3/dwc3-pci.c | 6 drivers/usb/dwc3/ep0.c | 8 drivers/usb/dwc3/gadget.c | 9 drivers/usb/gadget/configfs.c | 1 drivers/usb/gadget/function/f_ecm.c | 6 drivers/usb/gadget/function/f_rndis.c | 1 drivers/usb/gadget/function/u_serial.c | 2 drivers/usb/gadget/udc/dummy_hcd.c | 10 drivers/usb/gadget/udc/pch_udc.c | 1 drivers/usb/host/ehci-omap.c | 7 drivers/usb/host/ehci-q.c | 13 drivers/usb/host/xhci-hub.c | 16 drivers/usb/host/xhci-mem.c | 4 drivers/usb/host/xhci-pci.c | 13 drivers/usb/host/xhci-ring.c | 6 drivers/usb/host/xhci.c | 9 drivers/usb/host/xhci.h | 1 drivers/usb/misc/adutux.c | 2 drivers/usb/misc/idmouse.c | 2 drivers/usb/mon/mon_bin.c | 32 drivers/usb/mtu3/mtu3_qmu.c | 2 drivers/usb/musb/musb_core.c | 11 drivers/usb/musb/musbhsdma.c | 2 drivers/usb/renesas_usbhs/common.h | 3 drivers/usb/renesas_usbhs/mod_gadget.c | 12 drivers/usb/roles/class.c | 2 drivers/usb/serial/ch341.c | 6 drivers/usb/serial/f81534.c | 20 drivers/usb/serial/ftdi_sio.c | 3 drivers/usb/serial/ftdi_sio_ids.h | 7 drivers/usb/serial/io_edgeport.c | 26 drivers/usb/serial/keyspan.c | 4 drivers/usb/serial/opticon.c | 2 drivers/usb/serial/option.c | 16 drivers/usb/serial/quatech2.c | 6 drivers/usb/serial/usb-serial-simple.c | 2 drivers/usb/serial/usb-serial.c | 3 drivers/usb/serial/usb-wwan.h | 1 drivers/usb/serial/usb_wwan.c | 4 drivers/usb/storage/uas.c | 10 drivers/usb/typec/class.c | 6 drivers/usb/usbip/usbip_common.c | 3 drivers/usb/usbip/vhci_rx.c | 13 drivers/vfio/pci/vfio_pci_intrs.c | 2 drivers/vfio/vfio_iommu_spapr_tce.c | 10 drivers/vhost/vsock.c | 4 drivers/video/hdmi.c | 8 drivers/virtio/virtio_balloon.c | 11 drivers/watchdog/aspeed_wdt.c | 16 drivers/watchdog/meson_gxbb_wdt.c | 4 drivers/watchdog/sama5d4_wdt.c | 4 drivers/watchdog/watchdog_dev.c | 70 drivers/xen/Kconfig | 3 drivers/xen/balloon.c | 3 drivers/xen/pvcalls-front.c | 4 drivers/xen/xen-pciback/pci_stub.c | 3 firmware/Makefile | 2 fs/afs/dynroot.c | 3 fs/afs/server.c | 21 fs/afs/super.c | 2 fs/autofs/expire.c | 5 fs/block_dev.c | 37 fs/btrfs/async-thread.c | 56 fs/btrfs/ctree.c | 2 fs/btrfs/ctree.h | 2 fs/btrfs/delayed-inode.c | 13 fs/btrfs/delayed-ref.c | 3 fs/btrfs/dev-replace.c | 21 fs/btrfs/disk-io.c | 9 fs/btrfs/extent-tree.c | 14 fs/btrfs/extent_io.c | 18 fs/btrfs/extent_io.h | 4 fs/btrfs/file-item.c | 7 fs/btrfs/file.c | 7 fs/btrfs/free-space-cache.c | 6 fs/btrfs/inode.c | 94 fs/btrfs/ioctl.c | 10 fs/btrfs/qgroup.c | 10 fs/btrfs/reada.c | 10 fs/btrfs/relocation.c | 1 fs/btrfs/root-tree.c | 10 fs/btrfs/scrub.c | 3 fs/btrfs/send.c | 31 fs/btrfs/tests/free-space-tree-tests.c | 4 fs/btrfs/tests/qgroup-tests.c | 4 fs/btrfs/tree-log.c | 52 fs/btrfs/uuid-tree.c | 2 fs/btrfs/volumes.c | 13 fs/btrfs/volumes.h | 1 fs/ceph/super.c | 11 fs/char_dev.c | 2 fs/cifs/cifs_debug.c | 5 fs/cifs/file.c | 14 fs/cifs/smb2file.c | 2 fs/cifs/smb2misc.c | 66 fs/cifs/smb2pdu.c | 57 fs/cifs/smb2proto.h | 3 fs/cifs/smbdirect.c | 8 fs/cifs/transport.c | 7 fs/compat_ioctl.c | 3 fs/dlm/lockspace.c | 1 fs/dlm/member.c | 2 fs/dlm/memory.c | 9 fs/dlm/user.c | 3 fs/drop_caches.c | 2 fs/exofs/super.c | 37 fs/exportfs/expfs.c | 31 fs/ext2/inode.c | 7 fs/ext4/dir.c | 5 fs/ext4/inode.c | 60 fs/ext4/namei.c | 43 fs/ext4/super.c | 21 fs/f2fs/data.c | 2 fs/f2fs/dir.c | 18 fs/f2fs/f2fs.h | 23 fs/f2fs/file.c | 6 fs/f2fs/gc.c | 10 fs/f2fs/inode.c | 6 fs/f2fs/namei.c | 15 fs/f2fs/segment.c | 4 fs/fuse/dir.c | 27 fs/fuse/fuse_i.h | 2 fs/gfs2/bmap.c | 2 fs/gfs2/log.c | 8 fs/gfs2/log.h | 1 fs/gfs2/lops.c | 5 fs/gfs2/trans.c | 2 fs/inode.c | 7 fs/iomap.c | 53 fs/jbd2/commit.c | 4 fs/kernfs/dir.c | 5 fs/lockd/clnt4xdr.c | 22 fs/lockd/clntxdr.c | 22 fs/locks.c | 2 fs/nfs/nfs2xdr.c | 2 fs/nfs/nfs4proc.c | 4 fs/nfsd/nfs4recover.c | 17 fs/nfsd/nfs4state.c | 15 fs/nfsd/vfs.c | 17 fs/notify/fsnotify.c | 1 fs/ocfs2/acl.c | 4 fs/ocfs2/journal.c | 14 fs/ocfs2/quota_global.c | 2 fs/overlayfs/dir.c | 2 fs/overlayfs/inode.c | 8 fs/proc/task_mmu.c | 2 fs/pstore/ram.c | 13 fs/quota/dquot.c | 41 fs/readdir.c | 40 fs/reiserfs/inode.c | 12 fs/reiserfs/namei.c | 7 fs/reiserfs/reiserfs.h | 2 fs/reiserfs/super.c | 2 fs/reiserfs/xattr.c | 27 fs/reiserfs/xattr_acl.c | 4 fs/splice.c | 17 fs/ubifs/sb.c | 13 fs/ubifs/tnc_commit.c | 34 fs/userfaultfd.c | 18 fs/xfs/libxfs/xfs_bmap.c | 2 fs/xfs/libxfs/xfs_symlink_remote.c | 14 fs/xfs/scrub/common.h | 9 fs/xfs/xfs_bmap_util.c | 6 fs/xfs/xfs_buf.c | 3 fs/xfs/xfs_ioctl32.c | 40 fs/xfs/xfs_log.c | 2 fs/xfs/xfs_rtalloc.c | 4 fs/xfs/xfs_symlink.c | 33 include/drm/drm_dp_mst_helper.h | 2 include/dt-bindings/clock/rk3328-cru.h | 2 include/dt-bindings/power/r8a77970-sysc.h | 6 include/dt-bindings/power/r8a77980-sysc.h | 6 include/dt-bindings/reset/amlogic,meson8b-reset.h | 6 include/linux/acpi.h | 2 include/linux/ahci_platform.h | 2 include/linux/atalk.h | 2 include/linux/avf/virtchnl.h | 4 include/linux/blkdev.h | 8 include/linux/blktrace_api.h | 8 include/linux/can/dev.h | 34 include/linux/cpufreq.h | 11 include/linux/dma-mapping.h | 3 include/linux/dmaengine.h | 5 include/linux/genalloc.h | 13 include/linux/gpio/consumer.h | 2 include/linux/hrtimer.h | 14 include/linux/huge_mm.h | 13 include/linux/idr.h | 2 include/linux/if_ether.h | 8 include/linux/ipmi_smi.h | 12 include/linux/jbd2.h | 4 include/linux/kernfs.h | 1 include/linux/kprobes.h | 3 include/linux/libata.h | 1 include/linux/libfdt_env.h | 3 include/linux/lsm_hooks.h | 8 include/linux/memory_hotplug.h | 18 include/linux/mfd/rk808.h | 2 include/linux/miscdevice.h | 1 include/linux/mod_devicetable.h | 4 include/linux/mtd/mtd.h | 2 include/linux/netdevice.h | 11 include/linux/nvme-fc-driver.h | 4 include/linux/platform_data/dma-dw.h | 6 include/linux/poll.h | 4 include/linux/posix-clock.h | 19 include/linux/qcom_scm.h | 3 include/linux/quota.h | 2 include/linux/quotaops.h | 10 include/linux/rculist_nulls.h | 37 include/linux/regulator/ab8500.h | 3 include/linux/regulator/consumer.h | 2 include/linux/reset-controller.h | 2 include/linux/sched/cpufreq.h | 3 include/linux/sched/task.h | 2 include/linux/security.h | 28 include/linux/serial_8250.h | 4 include/linux/serial_core.h | 37 include/linux/skbuff.h | 6 include/linux/swap.h | 6 include/linux/time.h | 13 include/linux/tnum.h | 2 include/linux/trace_events.h | 2 include/linux/tty.h | 7 include/math-emu/soft-fp.h | 2 include/net/cfg80211.h | 11 include/net/dst.h | 15 include/net/dst_ops.h | 3 include/net/fq_impl.h | 4 include/net/inet_hashtables.h | 12 include/net/ip.h | 5 include/net/neighbour.h | 2 include/net/sctp/sctp.h | 5 include/net/sctp/structs.h | 3 include/net/sock.h | 7 include/net/tcp.h | 29 include/net/xfrm.h | 1 include/scsi/iscsi_proto.h | 1 include/trace/events/preemptirq.h | 8 include/trace/events/rpcrdma.h | 28 include/trace/events/wbt.h | 12 include/uapi/linux/cec-funcs.h | 6 include/uapi/linux/cec.h | 4 include/uapi/linux/input.h | 1 include/uapi/linux/netfilter/xt_sctp.h | 6 init/main.c | 1 kernel/audit_tree.c | 27 kernel/audit_watch.c | 2 kernel/bpf/btf.c | 82 kernel/bpf/cpumap.c | 13 kernel/bpf/stackmap.c | 7 kernel/bpf/syscall.c | 6 kernel/bpf/tnum.c | 9 kernel/bpf/verifier.c | 22 kernel/capability.c | 22 kernel/cgroup/pids.c | 11 kernel/cred.c | 6 kernel/dma/debug.c | 1 kernel/events/core.c | 2 kernel/exit.c | 12 kernel/fork.c | 5 kernel/kprobes.c | 67 kernel/locking/spinlock_debug.c | 32 kernel/module.c | 2 kernel/power/snapshot.c | 9 kernel/ptrace.c | 15 kernel/sched/core.c | 3 kernel/sched/cpufreq.c | 18 kernel/sched/cpufreq_schedutil.c | 8 kernel/sched/fair.c | 34 kernel/seccomp.c | 4 kernel/sysctl.c | 2 kernel/taskstats.c | 30 kernel/time/hrtimer.c | 11 kernel/time/posix-clock.c | 31 kernel/time/tick-sched.c | 14 kernel/trace/ftrace.c | 6 kernel/trace/trace.c | 10 kernel/trace/trace_events.c | 42 kernel/trace/trace_events_filter.c | 2 kernel/trace/trace_events_hist.c | 45 kernel/trace/trace_kprobe.c | 27 kernel/trace/trace_sched_wakeup.c | 4 kernel/trace/trace_stack.c | 5 kernel/trace/tracing_map.c | 4 kernel/workqueue.c | 38 lib/genalloc.c | 25 lib/idr.c | 31 lib/radix-tree.c | 2 lib/raid6/unroll.awk | 2 mm/huge_memory.c | 50 mm/internal.h | 10 mm/memblock.c | 7 mm/memory.c | 4 mm/migrate.c | 23 mm/mmap.c | 6 mm/page-writeback.c | 4 mm/page_alloc.c | 29 mm/shmem.c | 9 mm/slab_common.c | 3 mm/vmstat.c | 7 mm/zsmalloc.c | 5 net/8021q/vlan.h | 1 net/8021q/vlan_dev.c | 3 net/8021q/vlan_netlink.c | 19 net/appletalk/aarp.c | 15 net/appletalk/ddp.c | 21 net/batman-adv/distributed-arp-table.c | 4 net/bluetooth/hci_conn.c | 12 net/bluetooth/hci_core.c | 13 net/bluetooth/hci_request.c | 9 net/bluetooth/l2cap_core.c | 4 net/bridge/br_device.c | 6 net/bridge/br_netfilter_hooks.c | 3 net/bridge/br_nf_core.c | 3 net/bridge/netfilter/ebt_dnat.c | 19 net/bridge/netfilter/ebtables.c | 33 net/core/dev.c | 275 net/core/ethtool.c | 16 net/core/filter.c | 1 net/core/flow_dissector.c | 5 net/core/neighbour.c | 17 net/core/net_namespace.c | 3 net/core/sock.c | 2 net/core/sysctl_net_core.c | 2 net/dccp/feat.c | 7 net/decnet/dn_dev.c | 2 net/decnet/dn_route.c | 6 net/dsa/tag_qca.c | 3 net/ethernet/eth.c | 7 net/hsr/hsr_device.c | 2 net/ipv4/devinet.c | 5 net/ipv4/gre_demux.c | 2 net/ipv4/icmp.c | 11 net/ipv4/inet_connection_sock.c | 2 net/ipv4/inet_diag.c | 3 net/ipv4/inet_hashtables.c | 19 net/ipv4/inetpeer.c | 12 net/ipv4/ip_gre.c | 33 net/ipv4/ip_output.c | 13 net/ipv4/ip_tunnel.c | 10 net/ipv4/ip_vti.c | 2 net/ipv4/netfilter/arp_tables.c | 46 net/ipv4/route.c | 9 net/ipv4/tcp.c | 10 net/ipv4/tcp_diag.c | 2 net/ipv4/tcp_input.c | 18 net/ipv4/tcp_ipv4.c | 10 net/ipv4/tcp_minisocks.c | 7 net/ipv4/tcp_output.c | 18 net/ipv4/tcp_timer.c | 16 net/ipv4/udp.c | 2 net/ipv4/xfrm4_policy.c | 5 net/ipv6/addrconf.c | 19 net/ipv6/inet6_connection_sock.c | 2 net/ipv6/inet6_hashtables.c | 3 net/ipv6/ip6_gre.c | 38 net/ipv6/ip6_tunnel.c | 4 net/ipv6/ip6_vti.c | 2 net/ipv6/route.c | 22 net/ipv6/sit.c | 2 net/ipv6/tcp_ipv6.c | 3 net/ipv6/xfrm6_policy.c | 5 net/llc/llc_station.c | 4 net/mac80211/cfg.c | 58 net/mac80211/sta_info.c | 7 net/mac80211/status.c | 3 net/netfilter/ipset/ip_set_bitmap_gen.h | 2 net/netfilter/ipset/ip_set_core.c | 3 net/netfilter/ipvs/ip_vs_xmit.c | 2 net/netfilter/nf_conntrack_netlink.c | 3 net/netfilter/nf_conntrack_proto_dccp.c | 3 net/netfilter/nf_conntrack_proto_sctp.c | 3 net/netfilter/nf_nat_sip.c | 39 net/netfilter/nf_queue.c | 2 net/netfilter/nf_tables_api.c | 73 net/netfilter/nft_bitwise.c | 4 net/netfilter/nft_cmp.c | 6 net/netfilter/nft_range.c | 10 net/netfilter/nft_set_rbtree.c | 21 net/netfilter/nft_tproxy.c | 4 net/netfilter/nft_tunnel.c | 2 net/nfc/nci/uart.c | 2 net/openvswitch/conntrack.c | 11 net/openvswitch/datapath.c | 17 net/packet/af_packet.c | 3 net/psample/psample.c | 2 net/qrtr/tun.c | 5 net/rfkill/core.c | 16 net/rxrpc/peer_event.c | 3 net/sched/sch_cake.c | 7 net/sched/sch_fq.c | 6 net/sched/sch_mq.c | 4 net/sched/sch_mqprio.c | 7 net/sched/sch_multiq.c | 2 net/sched/sch_prio.c | 12 net/sctp/associola.c | 1 net/sctp/chunk.c | 6 net/sctp/endpointola.c | 1 net/sctp/input.c | 4 net/sctp/output.c | 22 net/sctp/protocol.c | 5 net/sctp/sm_sideeffect.c | 28 net/sctp/sm_statefuns.c | 4 net/sctp/socket.c | 3 net/sctp/transport.c | 5 net/smc/smc_cdc.c | 7 net/smc/smc_cdc.h | 45 net/smc/smc_core.c | 4 net/smc/smc_tx.c | 20 net/smc/smc_wr.c | 4 net/socket.c | 5 net/sunrpc/cache.c | 6 net/sunrpc/xprtrdma/rpc_rdma.c | 4 net/sunrpc/xprtrdma/verbs.c | 2 net/tipc/core.c | 29 net/tipc/link.c | 2 net/tipc/netlink_compat.c | 15 net/unix/af_unix.c | 19 net/vmw_vsock/af_vsock.c | 7 net/wireless/nl80211.c | 1 net/wireless/rdev-ops.h | 4 net/wireless/sme.c | 6 net/wireless/util.c | 47 net/x25/af_x25.c | 18 net/xfrm/xfrm_input.c | 3 net/xfrm/xfrm_interface.c | 134 net/xfrm/xfrm_state.c | 2 samples/bpf/Makefile | 1 samples/bpf/syscall_tp_kern.c | 18 samples/bpf/trace_event_user.c | 4 samples/pktgen/functions.sh | 17 samples/vfio-mdev/mtty.c | 26 scripts/Makefile.lib | 1 scripts/dtc/include-prefixes/arm/am335x-pdu001.dts | 2 scripts/dtc/include-prefixes/arm/am437x-gp-evm.dts | 2 scripts/dtc/include-prefixes/arm/am43x-epos-evm.dts | 2 scripts/dtc/include-prefixes/arm/am571x-idk.dts | 2 scripts/dtc/include-prefixes/arm/arm-realview-pb1176.dts | 4 scripts/dtc/include-prefixes/arm/arm-realview-pb11mp.dts | 4 scripts/dtc/include-prefixes/arm/arm-realview-pbx.dtsi | 5 scripts/dtc/include-prefixes/arm/bcm-cygnus.dtsi | 4 scripts/dtc/include-prefixes/arm/bcm283x.dtsi | 2 scripts/dtc/include-prefixes/arm/bcm5301x.dtsi | 4 scripts/dtc/include-prefixes/arm/exynos3250.dtsi | 2 scripts/dtc/include-prefixes/arm/exynos5422-odroid-core.dtsi | 2 scripts/dtc/include-prefixes/arm/gemini-sq201.dts | 37 scripts/dtc/include-prefixes/arm/imx1-ads.dts | 1 scripts/dtc/include-prefixes/arm/imx1-apf9328.dts | 1 scripts/dtc/include-prefixes/arm/imx1.dtsi | 2 scripts/dtc/include-prefixes/arm/imx23-evk.dts | 1 scripts/dtc/include-prefixes/arm/imx23-olinuxino.dts | 1 scripts/dtc/include-prefixes/arm/imx23-sansa.dts | 1 scripts/dtc/include-prefixes/arm/imx23-stmp378x_devb.dts | 1 scripts/dtc/include-prefixes/arm/imx23-xfi3.dts | 1 scripts/dtc/include-prefixes/arm/imx23.dtsi | 2 scripts/dtc/include-prefixes/arm/imx25-eukrea-cpuimx25.dtsi | 1 scripts/dtc/include-prefixes/arm/imx25-karo-tx25.dts | 1 scripts/dtc/include-prefixes/arm/imx25-pdk.dts | 1 scripts/dtc/include-prefixes/arm/imx25.dtsi | 2 scripts/dtc/include-prefixes/arm/imx27-apf27.dts | 1 scripts/dtc/include-prefixes/arm/imx27-eukrea-cpuimx27.dtsi | 1 scripts/dtc/include-prefixes/arm/imx27-pdk.dts | 1 scripts/dtc/include-prefixes/arm/imx27-phytec-phycard-s-som.dtsi | 1 scripts/dtc/include-prefixes/arm/imx27-phytec-phycore-som.dtsi | 1 scripts/dtc/include-prefixes/arm/imx27.dtsi | 2 scripts/dtc/include-prefixes/arm/imx31-bug.dts | 1 scripts/dtc/include-prefixes/arm/imx31-lite.dts | 1 scripts/dtc/include-prefixes/arm/imx31.dtsi | 2 scripts/dtc/include-prefixes/arm/imx35-eukrea-cpuimx35.dtsi | 1 scripts/dtc/include-prefixes/arm/imx35-pdk.dts | 1 scripts/dtc/include-prefixes/arm/imx35.dtsi | 2 scripts/dtc/include-prefixes/arm/imx50-evk.dts | 1 scripts/dtc/include-prefixes/arm/imx50.dtsi | 2 scripts/dtc/include-prefixes/arm/imx51-apf51.dts | 1 scripts/dtc/include-prefixes/arm/imx51-babbage.dts | 1 scripts/dtc/include-prefixes/arm/imx51-digi-connectcore-som.dtsi | 1 scripts/dtc/include-prefixes/arm/imx51-eukrea-cpuimx51.dtsi | 1 scripts/dtc/include-prefixes/arm/imx51-ts4800.dts | 1 scripts/dtc/include-prefixes/arm/imx51-zii-rdu1.dts | 1 scripts/dtc/include-prefixes/arm/imx51-zii-scu2-mezz.dts | 1 scripts/dtc/include-prefixes/arm/imx51-zii-scu3-esb.dts | 1 scripts/dtc/include-prefixes/arm/imx51.dtsi | 2 scripts/dtc/include-prefixes/arm/imx53-ard.dts | 1 scripts/dtc/include-prefixes/arm/imx53-cx9020.dts | 1 scripts/dtc/include-prefixes/arm/imx53-m53.dtsi | 1 scripts/dtc/include-prefixes/arm/imx53-qsb-common.dtsi | 1 scripts/dtc/include-prefixes/arm/imx53-smd.dts | 1 scripts/dtc/include-prefixes/arm/imx53-tqma53.dtsi | 1 scripts/dtc/include-prefixes/arm/imx53-tx53.dtsi | 1 scripts/dtc/include-prefixes/arm/imx53-usbarmory.dts | 1 scripts/dtc/include-prefixes/arm/imx53-voipac-dmm-668.dtsi | 8 scripts/dtc/include-prefixes/arm/imx53.dtsi | 2 scripts/dtc/include-prefixes/arm/imx6dl-icore-mipi.dts | 2 scripts/dtc/include-prefixes/arm/imx6q-dhcom-pdk2.dts | 2 scripts/dtc/include-prefixes/arm/imx6q-dhcom-som.dtsi | 2 scripts/dtc/include-prefixes/arm/imx6qdl-icore-1.5.dtsi | 34 scripts/dtc/include-prefixes/arm/imx6qdl-sabreauto.dtsi | 8 scripts/dtc/include-prefixes/arm/imx6qdl-zii-rdu2.dtsi | 5 scripts/dtc/include-prefixes/arm/imx6sl-evk.dts | 1 scripts/dtc/include-prefixes/arm/imx6sl-warp.dts | 1 scripts/dtc/include-prefixes/arm/imx6sl.dtsi | 2 scripts/dtc/include-prefixes/arm/imx6sll-evk.dts | 1 scripts/dtc/include-prefixes/arm/imx6sx-nitrogen6sx.dts | 1 scripts/dtc/include-prefixes/arm/imx6sx-sabreauto.dts | 1 scripts/dtc/include-prefixes/arm/imx6sx-sdb.dtsi | 1 scripts/dtc/include-prefixes/arm/imx6sx-softing-vining-2000.dts | 1 scripts/dtc/include-prefixes/arm/imx6sx-udoo-neo-basic.dts | 1 scripts/dtc/include-prefixes/arm/imx6sx-udoo-neo-extended.dts | 1 scripts/dtc/include-prefixes/arm/imx6sx-udoo-neo-full.dts | 1 scripts/dtc/include-prefixes/arm/imx6sx.dtsi | 2 scripts/dtc/include-prefixes/arm/imx6ul-14x14-evk.dtsi | 3 scripts/dtc/include-prefixes/arm/imx6ul-geam.dts | 1 scripts/dtc/include-prefixes/arm/imx6ul-isiot.dtsi | 1 scripts/dtc/include-prefixes/arm/imx6ul-litesom.dtsi | 1 scripts/dtc/include-prefixes/arm/imx6ul-opos6ul.dtsi | 1 scripts/dtc/include-prefixes/arm/imx6ul-pico-hobbit.dts | 1 scripts/dtc/include-prefixes/arm/imx6ul-tx6ul.dtsi | 1 scripts/dtc/include-prefixes/arm/imx6ul.dtsi | 8 scripts/dtc/include-prefixes/arm/imx6ull-colibri-nonwifi.dtsi | 1 scripts/dtc/include-prefixes/arm/imx6ull-colibri-wifi.dtsi | 1 scripts/dtc/include-prefixes/arm/imx7d-cl-som-imx7.dts | 3 scripts/dtc/include-prefixes/arm/imx7d-colibri-emmc.dtsi | 1 scripts/dtc/include-prefixes/arm/imx7d-colibri.dtsi | 1 scripts/dtc/include-prefixes/arm/imx7d-nitrogen7.dts | 1 scripts/dtc/include-prefixes/arm/imx7d-pico.dtsi | 1 scripts/dtc/include-prefixes/arm/imx7d-sdb.dts | 1 scripts/dtc/include-prefixes/arm/imx7s-colibri.dtsi | 5 scripts/dtc/include-prefixes/arm/imx7s-warp.dts | 1 scripts/dtc/include-prefixes/arm/imx7s.dtsi | 2 scripts/dtc/include-prefixes/arm/meson8.dtsi | 2 scripts/dtc/include-prefixes/arm/mmp2.dtsi | 2 scripts/dtc/include-prefixes/arm/omap3-pandora-common.dtsi | 36 scripts/dtc/include-prefixes/arm/omap3-tao3530.dtsi | 2 scripts/dtc/include-prefixes/arm/omap4-l4.dtsi | 4 scripts/dtc/include-prefixes/arm/pxa27x.dtsi | 2 scripts/dtc/include-prefixes/arm/pxa2xx.dtsi | 7 scripts/dtc/include-prefixes/arm/pxa3xx.dtsi | 2 scripts/dtc/include-prefixes/arm/r8a7790-lager.dts | 2 scripts/dtc/include-prefixes/arm/r8a7791-koelsch.dts | 2 scripts/dtc/include-prefixes/arm/r8a7791-porter.dts | 2 scripts/dtc/include-prefixes/arm/rk3288-rock2-som.dtsi | 2 scripts/dtc/include-prefixes/arm/rv1108.dtsi | 10 scripts/dtc/include-prefixes/arm/s3c6410-mini6410.dts | 4 scripts/dtc/include-prefixes/arm/s3c6410-smdk6410.dts | 4 scripts/dtc/include-prefixes/arm/sun4i-a10-inet9f-rev03.dts | 2 scripts/dtc/include-prefixes/arm/sun4i-a10-pcduino.dts | 2 scripts/dtc/include-prefixes/arm/sun4i-a10.dtsi | 2 scripts/dtc/include-prefixes/arm/sun5i-a10s.dtsi | 2 scripts/dtc/include-prefixes/arm/sun6i-a31.dtsi | 2 scripts/dtc/include-prefixes/arm/sun7i-a20.dtsi | 4 scripts/dtc/include-prefixes/arm/sun8i-a83t-tbs-a711.dts | 1 scripts/dtc/include-prefixes/arm/sun8i-h3.dtsi | 8 scripts/dtc/include-prefixes/arm/sun8i-r16-bananapi-m2m.dts | 4 scripts/dtc/include-prefixes/arm/sun8i-v3s-licheepi-zero.dts | 4 scripts/dtc/include-prefixes/arm/sun8i-v3s.dtsi | 10 scripts/dtc/include-prefixes/arm64/allwinner/sun50i-a64-olinuxino.dts | 2 scripts/dtc/include-prefixes/arm64/altera/socfpga_stratix10.dtsi | 8 scripts/dtc/include-prefixes/arm64/amlogic/meson-gxbb-nanopi-k2.dts | 4 scripts/dtc/include-prefixes/arm64/amlogic/meson-gxbb-odroidc2.dts | 8 scripts/dtc/include-prefixes/arm64/amlogic/meson-gxl-s905x-khadas-vim.dts | 8 scripts/dtc/include-prefixes/arm64/amlogic/meson-gxl-s905x-libretech-cc.dts | 4 scripts/dtc/include-prefixes/arm64/arm/juno-base.dtsi | 1 scripts/dtc/include-prefixes/arm64/exynos/exynos5433.dtsi | 6 scripts/dtc/include-prefixes/arm64/exynos/exynos7.dtsi | 6 scripts/dtc/include-prefixes/arm64/marvell/armada-cp110.dtsi | 8 scripts/dtc/include-prefixes/arm64/nvidia/tegra210-p2597.dtsi | 2 scripts/dtc/include-prefixes/arm64/qcom/apq8096-db820c.dtsi | 2 scripts/dtc/include-prefixes/arm64/renesas/r8a77995-draak.dts | 2 scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-clk.dtsi | 4 scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-zcu100-revC.dts | 4 scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-zcu102-revA.dts | 10 scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-zcu106-revA.dts | 2 scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-zcu111-revA.dts | 2 scripts/dtc/include-prefixes/arm64/xilinx/zynqmp.dtsi | 4 scripts/dtc/include-prefixes/dt-bindings/clock/rk3328-cru.h | 2 scripts/dtc/include-prefixes/dt-bindings/power/r8a77970-sysc.h | 6 scripts/dtc/include-prefixes/dt-bindings/power/r8a77980-sysc.h | 6 scripts/dtc/include-prefixes/dt-bindings/reset/amlogic,meson8b-reset.h | 6 scripts/dtc/include-prefixes/powerpc/bamboo.dts | 4 scripts/gdb/linux/symbols.py | 3 scripts/kallsyms.c | 2 scripts/kconfig/expr.c | 7 scripts/mod/modpost.c | 12 security/apparmor/apparmorfs.c | 3 security/apparmor/capability.c | 14 security/apparmor/domain.c | 80 security/apparmor/include/capability.h | 2 security/apparmor/ipc.c | 3 security/apparmor/label.c | 12 security/apparmor/lsm.c | 4 security/apparmor/policy.c | 4 security/apparmor/resource.c | 2 security/commoncap.c | 17 security/security.c | 14 security/selinux/hooks.c | 18 security/smack/smack_access.c | 2 sound/core/compress_offload.c | 2 sound/core/oss/linear.c | 2 sound/core/oss/mulaw.c | 2 sound/core/oss/route.c | 2 sound/core/pcm_lib.c | 8 sound/core/pcm_native.c | 4 sound/core/seq/seq_timer.c | 14 sound/core/timer.c | 10 sound/firewire/dice/dice-extension.c | 5 sound/firewire/motu/motu-proc.c | 2 sound/isa/cs423x/cs4236.c | 3 sound/pci/hda/hda_bind.c | 4 sound/pci/hda/hda_controller.c | 2 sound/pci/hda/hda_intel.c | 3 sound/pci/hda/patch_ca0132.c | 23 sound/pci/hda/patch_conexant.c | 1 sound/pci/hda/patch_realtek.c | 76 sound/pci/ice1712/ice1724.c | 9 sound/soc/codecs/max98090.c | 8 sound/soc/codecs/max98090.h | 1 sound/soc/codecs/max9867.c | 72 sound/soc/codecs/max9867.h | 2 sound/soc/codecs/msm8916-wcd-analog.c | 24 sound/soc/codecs/msm8916-wcd-digital.c | 6 sound/soc/codecs/nau8540.c | 2 sound/soc/codecs/rt5645.c | 20 sound/soc/codecs/rt5677.c | 1 sound/soc/codecs/wm2200.c | 5 sound/soc/codecs/wm5100.c | 2 sound/soc/codecs/wm8904.c | 1 sound/soc/codecs/wm8962.c | 4 sound/soc/intel/boards/bytcr_rt5640.c | 18 sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c | 3 sound/soc/kirkwood/kirkwood-i2s.c | 11 sound/soc/samsung/i2s.c | 8 sound/soc/sh/rcar/core.c | 12 sound/soc/sh/rcar/dvc.c | 8 sound/soc/soc-core.c | 2 sound/soc/soc-jack.c | 3 sound/soc/soc-topology.c | 8 sound/soc/stm/stm32_i2s.c | 29 sound/soc/stm/stm32_sai.c | 11 sound/soc/stm/stm32_sai_sub.c | 12 sound/soc/stm/stm32_spdifrx.c | 36 sound/usb/card.h | 1 sound/usb/pcm.c | 27 sound/usb/quirks-table.h | 3 sound/usb/quirks.c | 12 sound/usb/usbaudio.h | 3 tools/bpf/bpftool/btf_dumper.c | 6 tools/lib/bpf/libbpf.c | 16 tools/lib/bpf/libbpf_errno.c | 1 tools/lib/subcmd/Makefile | 4 tools/lib/traceevent/Makefile | 1 tools/lib/traceevent/parse-filter.c | 9 tools/objtool/arch/x86/lib/x86-opcode-map.txt | 18 tools/perf/builtin-report.c | 12 tools/perf/builtin-script.c | 4 tools/perf/pmu-events/jevents.c | 13 tools/perf/tests/bp_signal.c | 15 tools/perf/tests/task-exit.c | 1 tools/perf/util/dwarf-aux.c | 80 tools/perf/util/dwarf-aux.h | 3 tools/perf/util/hist.h | 4 tools/perf/util/machine.c | 2 tools/perf/util/parse-events.c | 26 tools/perf/util/perf_regs.h | 2 tools/perf/util/probe-finder.c | 77 tools/perf/util/strbuf.c | 1 tools/power/cpupower/utils/idle_monitor/hsw_ext_idle.c | 1 tools/testing/selftests/bpf/cgroup_helpers.c | 2 tools/testing/selftests/bpf/test_sockmap.c | 9 tools/testing/selftests/firmware/fw_lib.sh | 6 tools/testing/selftests/ftrace/test.d/kprobe/multiple_kprobes.tc | 6 tools/testing/selftests/kvm/lib/assert.c | 4 tools/testing/selftests/net/forwarding/router_bridge_vlan.sh | 2 tools/testing/selftests/net/rtnetlink.sh | 21 tools/testing/selftests/powerpc/ptrace/core-pkey.c | 5 tools/testing/selftests/powerpc/ptrace/ptrace-gpr.c | 2 tools/testing/selftests/powerpc/ptrace/ptrace-tm-gpr.c | 4 tools/testing/selftests/powerpc/ptrace/ptrace-tm-spd-tar.c | 2 tools/testing/selftests/powerpc/ptrace/ptrace-tm-spd-vsx.c | 3 tools/testing/selftests/powerpc/ptrace/ptrace-tm-spr.c | 2 tools/testing/selftests/powerpc/ptrace/ptrace-tm-tar.c | 2 tools/testing/selftests/powerpc/ptrace/ptrace-tm-vsx.c | 3 tools/testing/selftests/rseq/param_test.c | 18 tools/testing/selftests/rseq/settings | 1 tools/vm/page-types.c | 2 virt/kvm/arm/vgic/vgic-v3.c | 6 virt/kvm/kvm_main.c | 2 2464 files changed, 25013 insertions(+), 16613 deletions(-) diff -Nru linux-4.19.87/Documentation/ABI/testing/sysfs-bus-mei linux-4.19.98/Documentation/ABI/testing/sysfs-bus-mei --- linux-4.19.87/Documentation/ABI/testing/sysfs-bus-mei 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/Documentation/ABI/testing/sysfs-bus-mei 2020-01-23 07:21:39.000000000 +0000 @@ -4,7 +4,7 @@ Contact: Samuel Ortiz linux-mei@linux.intel.com Description: Stores the same MODALIAS value emitted by uevent - Format: mei::: + Format: mei::: What: /sys/bus/mei/devices/.../name Date: May 2015 diff -Nru linux-4.19.87/Documentation/admin-guide/kernel-parameters.txt linux-4.19.98/Documentation/admin-guide/kernel-parameters.txt --- linux-4.19.87/Documentation/admin-guide/kernel-parameters.txt 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/Documentation/admin-guide/kernel-parameters.txt 2020-01-23 07:21:39.000000000 +0000 @@ -113,7 +113,7 @@ the GPE dispatcher. This facility can be used to prevent such uncontrolled GPE floodings. - Format: + Format: acpi_no_auto_serialize [HW,ACPI] Disable auto-serialization of AML methods @@ -4941,13 +4941,13 @@ Flags is a set of characters, each corresponding to a common usb-storage quirk flag as follows: a = SANE_SENSE (collect more than 18 bytes - of sense data); + of sense data, not on uas); b = BAD_SENSE (don't collect more than 18 - bytes of sense data); + bytes of sense data, not on uas); c = FIX_CAPACITY (decrease the reported device capacity by one sector); d = NO_READ_DISC_INFO (don't use - READ_DISC_INFO command); + READ_DISC_INFO command, not on uas); e = NO_READ_CAPACITY_16 (don't use READ_CAPACITY_16 command); f = NO_REPORT_OPCODES (don't use report opcodes @@ -4962,17 +4962,18 @@ j = NO_REPORT_LUNS (don't use report luns command, uas only); l = NOT_LOCKABLE (don't try to lock and - unlock ejectable media); + unlock ejectable media, not on uas); m = MAX_SECTORS_64 (don't transfer more - than 64 sectors = 32 KB at a time); + than 64 sectors = 32 KB at a time, + not on uas); n = INITIAL_READ10 (force a retry of the - initial READ(10) command); + initial READ(10) command, not on uas); o = CAPACITY_OK (accept the capacity - reported by the device); + reported by the device, not on uas); p = WRITE_CACHE (the device cache is ON - by default); + by default, not on uas); r = IGNORE_RESIDUE (the device reports - bogus residue values); + bogus residue values, not on uas); s = SINGLE_LUN (the device has only one Logical Unit); t = NO_ATA_1X (don't allow ATA(12) and ATA(16) @@ -4981,7 +4982,8 @@ w = NO_WP_DETECT (don't test whether the medium is write-protected). y = ALWAYS_SYNC (issue a SYNCHRONIZE_CACHE - even if the device claims no cache) + even if the device claims no cache, + not on uas) Example: quirks=0419:aaf5:rl,0421:0433:rc user_debug= [KNL,ARM] diff -Nru linux-4.19.87/Documentation/devicetree/bindings/clock/renesas,rcar-usb2-clock-sel.txt linux-4.19.98/Documentation/devicetree/bindings/clock/renesas,rcar-usb2-clock-sel.txt --- linux-4.19.87/Documentation/devicetree/bindings/clock/renesas,rcar-usb2-clock-sel.txt 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/Documentation/devicetree/bindings/clock/renesas,rcar-usb2-clock-sel.txt 2020-01-23 07:21:39.000000000 +0000 @@ -46,7 +46,7 @@ Example (R-Car H3): usb2_clksel: clock-controller@e6590630 { - compatible = "renesas,r8a77950-rcar-usb2-clock-sel", + compatible = "renesas,r8a7795-rcar-usb2-clock-sel", "renesas,rcar-gen3-usb2-clock-sel"; reg = <0 0xe6590630 0 0x02>; clocks = <&cpg CPG_MOD 703>, <&usb_extal>, <&usb_xtal>; diff -Nru linux-4.19.87/Documentation/devicetree/bindings/rtc/abracon,abx80x.txt linux-4.19.98/Documentation/devicetree/bindings/rtc/abracon,abx80x.txt --- linux-4.19.87/Documentation/devicetree/bindings/rtc/abracon,abx80x.txt 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/Documentation/devicetree/bindings/rtc/abracon,abx80x.txt 2020-01-23 07:21:39.000000000 +0000 @@ -27,4 +27,4 @@ - "abracon,tc-diode": should be "standard" (0.6V) or "schottky" (0.3V) - "abracon,tc-resistor": should be <0>, <3>, <6> or <11>. 0 disables the output - resistor, the other values are in ohm. + resistor, the other values are in kOhm. diff -Nru linux-4.19.87/Documentation/filesystems/proc.txt linux-4.19.98/Documentation/filesystems/proc.txt --- linux-4.19.87/Documentation/filesystems/proc.txt 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/Documentation/filesystems/proc.txt 2020-01-23 07:21:39.000000000 +0000 @@ -425,6 +425,7 @@ KernelPageSize: 4 kB MMUPageSize: 4 kB Locked: 0 kB +THPeligible: 0 VmFlags: rd ex mr mw me dw the first of these lines shows the same information as is displayed for the @@ -462,6 +463,8 @@ "SwapPss" shows proportional swap share of this mapping. Unlike "Swap", this does not take into account swapped out page of underlying shmem objects. "Locked" indicates whether the mapping is locked in memory or not. +"THPeligible" indicates whether the mapping is eligible for THP pages - 1 if +true, 0 otherwise. "VmFlags" field deserves a separate description. This member represents the kernel flags associated with the particular virtual memory area in two letter encoded diff -Nru linux-4.19.87/Documentation/hid/uhid.txt linux-4.19.98/Documentation/hid/uhid.txt --- linux-4.19.87/Documentation/hid/uhid.txt 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/Documentation/hid/uhid.txt 2020-01-23 07:21:39.000000000 +0000 @@ -160,7 +160,7 @@ UHID_OUTPUT: This is sent if the HID device driver wants to send raw data to the I/O device on the interrupt channel. You should read the payload and forward it to - the device. The payload is of type "struct uhid_data_req". + the device. The payload is of type "struct uhid_output_req". This may be received even though you haven't received UHID_OPEN, yet. UHID_GET_REPORT: diff -Nru linux-4.19.87/Makefile linux-4.19.98/Makefile --- linux-4.19.87/Makefile 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/Makefile 2020-01-23 07:21:39.000000000 +0000 @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 4 PATCHLEVEL = 19 -SUBLEVEL = 87 +SUBLEVEL = 98 EXTRAVERSION = NAME = "People's Front" @@ -1507,9 +1507,6 @@ # We are always building modules KBUILD_MODULES := 1 -PHONY += crmodverdir -crmodverdir: - $(cmd_crmodverdir) PHONY += $(objtree)/Module.symvers $(objtree)/Module.symvers: @@ -1521,7 +1518,7 @@ module-dirs := $(addprefix _module_,$(KBUILD_EXTMOD)) PHONY += $(module-dirs) modules -$(module-dirs): crmodverdir $(objtree)/Module.symvers +$(module-dirs): prepare $(objtree)/Module.symvers $(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@) modules: $(module-dirs) @@ -1562,7 +1559,8 @@ # Dummies... PHONY += prepare scripts -prepare: ; +prepare: + $(cmd_crmodverdir) scripts: ; endif # KBUILD_EXTMOD @@ -1689,17 +1687,14 @@ # Modules /: prepare scripts FORCE - $(cmd_crmodverdir) $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ $(build)=$(build-dir) # Make sure the latest headers are built for Documentation Documentation/ samples/: headers_install %/: prepare scripts FORCE - $(cmd_crmodverdir) $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ $(build)=$(build-dir) %.ko: prepare scripts FORCE - $(cmd_crmodverdir) $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ $(build)=$(build-dir) $(@:.ko=.o) $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost diff -Nru linux-4.19.87/arch/arc/include/asm/cache.h linux-4.19.98/arch/arc/include/asm/cache.h --- linux-4.19.87/arch/arc/include/asm/cache.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arc/include/asm/cache.h 2020-01-23 07:21:39.000000000 +0000 @@ -124,7 +124,9 @@ /* IO coherency related Auxiliary registers */ #define ARC_REG_IO_COH_ENABLE 0x500 +#define ARC_IO_COH_ENABLE_BIT BIT(0) #define ARC_REG_IO_COH_PARTIAL 0x501 +#define ARC_IO_COH_PARTIAL_BIT BIT(0) #define ARC_REG_IO_COH_AP0_BASE 0x508 #define ARC_REG_IO_COH_AP0_SIZE 0x509 diff -Nru linux-4.19.87/arch/arc/mm/cache.c linux-4.19.98/arch/arc/mm/cache.c --- linux-4.19.87/arch/arc/mm/cache.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arc/mm/cache.c 2020-01-23 07:21:39.000000000 +0000 @@ -1145,6 +1145,20 @@ unsigned int ioc_base, mem_sz; /* + * If IOC was already enabled (due to bootloader) it technically needs to + * be reconfigured with aperture base,size corresponding to Linux memory map + * which will certainly be different than uboot's. But disabling and + * reenabling IOC when DMA might be potentially active is tricky business. + * To avoid random memory issues later, just panic here and ask user to + * upgrade bootloader to one which doesn't enable IOC + */ + if (read_aux_reg(ARC_REG_IO_COH_ENABLE) & ARC_IO_COH_ENABLE_BIT) + panic("IOC already enabled, please upgrade bootloader!\n"); + + if (!ioc_enable) + return; + + /* * As for today we don't support both IOC and ZONE_HIGHMEM enabled * simultaneously. This happens because as of today IOC aperture covers * only ZONE_NORMAL (low mem) and any dma transactions outside this @@ -1187,8 +1201,8 @@ panic("IOC Aperture start must be aligned to the size of the aperture"); write_aux_reg(ARC_REG_IO_COH_AP0_BASE, ioc_base >> 12); - write_aux_reg(ARC_REG_IO_COH_PARTIAL, 1); - write_aux_reg(ARC_REG_IO_COH_ENABLE, 1); + write_aux_reg(ARC_REG_IO_COH_PARTIAL, ARC_IO_COH_PARTIAL_BIT); + write_aux_reg(ARC_REG_IO_COH_ENABLE, ARC_IO_COH_ENABLE_BIT); /* Re-enable L1 dcache */ __dc_enable(); @@ -1265,7 +1279,7 @@ if (is_isa_arcv2() && l2_line_sz && !slc_enable) arc_slc_disable(); - if (is_isa_arcv2() && ioc_enable) + if (is_isa_arcv2() && ioc_exists) arc_ioc_setup(); if (is_isa_arcv2() && l2_line_sz && slc_enable) { diff -Nru linux-4.19.87/arch/arm/Kconfig.debug linux-4.19.98/arch/arm/Kconfig.debug --- linux-4.19.87/arch/arm/Kconfig.debug 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/Kconfig.debug 2020-01-23 07:21:39.000000000 +0000 @@ -1079,14 +1079,21 @@ Say Y here if you want kernel low-level debugging support on SOCFPGA(Cyclone 5 and Arria 5) based platforms. - config DEBUG_SOCFPGA_UART1 + config DEBUG_SOCFPGA_ARRIA10_UART1 depends on ARCH_SOCFPGA - bool "Use SOCFPGA UART1 for low-level debug" + bool "Use SOCFPGA Arria10 UART1 for low-level debug" select DEBUG_UART_8250 help Say Y here if you want kernel low-level debugging support on SOCFPGA(Arria 10) based platforms. + config DEBUG_SOCFPGA_CYCLONE5_UART1 + depends on ARCH_SOCFPGA + bool "Use SOCFPGA Cyclone 5 UART1 for low-level debug" + select DEBUG_UART_8250 + help + Say Y here if you want kernel low-level debugging support + on SOCFPGA(Cyclone 5 and Arria 5) based platforms. config DEBUG_SUN9I_UART0 bool "Kernel low-level debugging messages via sun9i UART0" @@ -1432,21 +1439,21 @@ depends on ARCH_OMAP2PLUS config DEBUG_IMX_UART_PORT - int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \ - DEBUG_IMX25_UART || \ - DEBUG_IMX21_IMX27_UART || \ - DEBUG_IMX31_UART || \ - DEBUG_IMX35_UART || \ - DEBUG_IMX50_UART || \ - DEBUG_IMX51_UART || \ - DEBUG_IMX53_UART || \ - DEBUG_IMX6Q_UART || \ - DEBUG_IMX6SL_UART || \ - DEBUG_IMX6SX_UART || \ - DEBUG_IMX6UL_UART || \ - DEBUG_IMX7D_UART + int "i.MX Debug UART Port Selection" + depends on DEBUG_IMX1_UART || \ + DEBUG_IMX25_UART || \ + DEBUG_IMX21_IMX27_UART || \ + DEBUG_IMX31_UART || \ + DEBUG_IMX35_UART || \ + DEBUG_IMX50_UART || \ + DEBUG_IMX51_UART || \ + DEBUG_IMX53_UART || \ + DEBUG_IMX6Q_UART || \ + DEBUG_IMX6SL_UART || \ + DEBUG_IMX6SX_UART || \ + DEBUG_IMX6UL_UART || \ + DEBUG_IMX7D_UART default 1 - depends on ARCH_MXC help Choose UART port on which kernel low-level debug messages should be output. @@ -1647,7 +1654,8 @@ default 0xfe800000 if ARCH_IOP32X default 0xff690000 if DEBUG_RK32_UART2 default 0xffc02000 if DEBUG_SOCFPGA_UART0 - default 0xffc02100 if DEBUG_SOCFPGA_UART1 + default 0xffc02100 if DEBUG_SOCFPGA_ARRIA10_UART1 + default 0xffc03000 if DEBUG_SOCFPGA_CYCLONE5_UART1 default 0xffd82340 if ARCH_IOP13XX default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0 default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2 @@ -1754,7 +1762,8 @@ default 0xfeb30c00 if DEBUG_KEYSTONE_UART0 default 0xfeb31000 if DEBUG_KEYSTONE_UART1 default 0xfec02000 if DEBUG_SOCFPGA_UART0 - default 0xfec02100 if DEBUG_SOCFPGA_UART1 + default 0xfec02100 if DEBUG_SOCFPGA_ARRIA10_UART1 + default 0xfec03000 if DEBUG_SOCFPGA_CYCLONE5_UART1 default 0xfec12000 if (DEBUG_MVEBU_UART0 || DEBUG_MVEBU_UART0_ALTERNATE) && ARCH_MVEBU default 0xfec12100 if DEBUG_MVEBU_UART1_ALTERNATE default 0xfec10000 if DEBUG_SIRFATLAS7_UART0 @@ -1803,9 +1812,9 @@ depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250 depends on DEBUG_UART_8250_SHIFT >= 2 default y if DEBUG_PICOXCELL_UART || \ - DEBUG_SOCFPGA_UART0 || DEBUG_SOCFPGA_UART1 || \ - DEBUG_KEYSTONE_UART0 || DEBUG_KEYSTONE_UART1 || \ - DEBUG_ALPINE_UART0 || \ + DEBUG_SOCFPGA_UART0 || DEBUG_SOCFPGA_ARRIA10_UART1 || \ + DEBUG_SOCFPGA_CYCLONE5_UART1 || DEBUG_KEYSTONE_UART0 || \ + DEBUG_KEYSTONE_UART1 || DEBUG_ALPINE_UART0 || \ DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \ DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_BCM_IPROC_UART3 || \ DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2 diff -Nru linux-4.19.87/arch/arm/boot/compressed/libfdt_env.h linux-4.19.98/arch/arm/boot/compressed/libfdt_env.h --- linux-4.19.87/arch/arm/boot/compressed/libfdt_env.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/compressed/libfdt_env.h 2020-01-23 07:21:39.000000000 +0000 @@ -2,11 +2,13 @@ #ifndef _ARM_LIBFDT_ENV_H #define _ARM_LIBFDT_ENV_H +#include #include #include #include -#define INT_MAX ((int)(~0U>>1)) +#define INT32_MAX S32_MAX +#define UINT32_MAX U32_MAX typedef __be16 fdt16_t; typedef __be32 fdt32_t; diff -Nru linux-4.19.87/arch/arm/boot/dts/am335x-pdu001.dts linux-4.19.98/arch/arm/boot/dts/am335x-pdu001.dts --- linux-4.19.87/arch/arm/boot/dts/am335x-pdu001.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/am335x-pdu001.dts 2020-01-23 07:21:39.000000000 +0000 @@ -577,7 +577,7 @@ bus-width = <4>; pinctrl-names = "default"; pinctrl-0 = <&mmc2_pins>; - cd-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>; + cd-gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>; }; &sham { diff -Nru linux-4.19.87/arch/arm/boot/dts/am437x-gp-evm.dts linux-4.19.98/arch/arm/boot/dts/am437x-gp-evm.dts --- linux-4.19.87/arch/arm/boot/dts/am437x-gp-evm.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/am437x-gp-evm.dts 2020-01-23 07:21:39.000000000 +0000 @@ -83,7 +83,7 @@ }; lcd0: display { - compatible = "osddisplays,osd057T0559-34ts", "panel-dpi"; + compatible = "osddisplays,osd070t1718-19ts", "panel-dpi"; label = "lcd"; backlight = <&lcd_bl>; diff -Nru linux-4.19.87/arch/arm/boot/dts/am43x-epos-evm.dts linux-4.19.98/arch/arm/boot/dts/am43x-epos-evm.dts --- linux-4.19.87/arch/arm/boot/dts/am43x-epos-evm.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/am43x-epos-evm.dts 2020-01-23 07:21:39.000000000 +0000 @@ -45,7 +45,7 @@ }; lcd0: display { - compatible = "osddisplays,osd057T0559-34ts", "panel-dpi"; + compatible = "osddisplays,osd070t1718-19ts", "panel-dpi"; label = "lcd"; backlight = <&lcd_bl>; diff -Nru linux-4.19.87/arch/arm/boot/dts/am571x-idk.dts linux-4.19.98/arch/arm/boot/dts/am571x-idk.dts --- linux-4.19.87/arch/arm/boot/dts/am571x-idk.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/am571x-idk.dts 2020-01-23 07:21:39.000000000 +0000 @@ -90,7 +90,7 @@ &pcie1_rc { status = "okay"; - gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>; + gpios = <&gpio5 18 GPIO_ACTIVE_HIGH>; }; &pcie1_ep { diff -Nru linux-4.19.87/arch/arm/boot/dts/arm-realview-pb1176.dts linux-4.19.98/arch/arm/boot/dts/arm-realview-pb1176.dts --- linux-4.19.87/arch/arm/boot/dts/arm-realview-pb1176.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/arm-realview-pb1176.dts 2020-01-23 07:21:39.000000000 +0000 @@ -45,7 +45,7 @@ }; /* The voltage to the MMC card is hardwired at 3.3V */ - vmmc: fixedregulator@0 { + vmmc: regulator-vmmc { compatible = "regulator-fixed"; regulator-name = "vmmc"; regulator-min-microvolt = <3300000>; @@ -53,7 +53,7 @@ regulator-boot-on; }; - veth: fixedregulator@0 { + veth: regulator-veth { compatible = "regulator-fixed"; regulator-name = "veth"; regulator-min-microvolt = <3300000>; diff -Nru linux-4.19.87/arch/arm/boot/dts/arm-realview-pb11mp.dts linux-4.19.98/arch/arm/boot/dts/arm-realview-pb11mp.dts --- linux-4.19.87/arch/arm/boot/dts/arm-realview-pb11mp.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/arm-realview-pb11mp.dts 2020-01-23 07:21:39.000000000 +0000 @@ -145,7 +145,7 @@ }; /* The voltage to the MMC card is hardwired at 3.3V */ - vmmc: fixedregulator@0 { + vmmc: regulator-vmmc { compatible = "regulator-fixed"; regulator-name = "vmmc"; regulator-min-microvolt = <3300000>; @@ -153,7 +153,7 @@ regulator-boot-on; }; - veth: fixedregulator@0 { + veth: regulator-veth { compatible = "regulator-fixed"; regulator-name = "veth"; regulator-min-microvolt = <3300000>; diff -Nru linux-4.19.87/arch/arm/boot/dts/arm-realview-pbx.dtsi linux-4.19.98/arch/arm/boot/dts/arm-realview-pbx.dtsi --- linux-4.19.87/arch/arm/boot/dts/arm-realview-pbx.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/arm-realview-pbx.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -44,7 +44,7 @@ }; /* The voltage to the MMC card is hardwired at 3.3V */ - vmmc: fixedregulator@0 { + vmmc: regulator-vmmc { compatible = "regulator-fixed"; regulator-name = "vmmc"; regulator-min-microvolt = <3300000>; @@ -52,7 +52,7 @@ regulator-boot-on; }; - veth: fixedregulator@0 { + veth: regulator-veth { compatible = "regulator-fixed"; regulator-name = "veth"; regulator-min-microvolt = <3300000>; @@ -567,4 +567,3 @@ }; }; }; - diff -Nru linux-4.19.87/arch/arm/boot/dts/bcm-cygnus.dtsi linux-4.19.98/arch/arm/boot/dts/bcm-cygnus.dtsi --- linux-4.19.87/arch/arm/boot/dts/bcm-cygnus.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/bcm-cygnus.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -169,8 +169,8 @@ mdio: mdio@18002000 { compatible = "brcm,iproc-mdio"; reg = <0x18002000 0x8>; - #size-cells = <1>; - #address-cells = <0>; + #size-cells = <0>; + #address-cells = <1>; status = "disabled"; gphy0: ethernet-phy@0 { diff -Nru linux-4.19.87/arch/arm/boot/dts/bcm283x.dtsi linux-4.19.98/arch/arm/boot/dts/bcm283x.dtsi --- linux-4.19.87/arch/arm/boot/dts/bcm283x.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/bcm283x.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -39,7 +39,7 @@ trips { cpu-crit { - temperature = <80000>; + temperature = <90000>; hysteresis = <0>; type = "critical"; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/bcm5301x.dtsi linux-4.19.98/arch/arm/boot/dts/bcm5301x.dtsi --- linux-4.19.87/arch/arm/boot/dts/bcm5301x.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/bcm5301x.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -350,8 +350,8 @@ mdio: mdio@18003000 { compatible = "brcm,iproc-mdio"; reg = <0x18003000 0x8>; - #size-cells = <1>; - #address-cells = <0>; + #size-cells = <0>; + #address-cells = <1>; }; mdio-bus-mux { diff -Nru linux-4.19.87/arch/arm/boot/dts/exynos3250.dtsi linux-4.19.98/arch/arm/boot/dts/exynos3250.dtsi --- linux-4.19.87/arch/arm/boot/dts/exynos3250.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/exynos3250.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -360,7 +360,7 @@ }; hsotg: hsotg@12480000 { - compatible = "snps,dwc2"; + compatible = "samsung,s3c6400-hsotg", "snps,dwc2"; reg = <0x12480000 0x20000>; interrupts = ; clocks = <&cmu CLK_USBOTG>; diff -Nru linux-4.19.87/arch/arm/boot/dts/exynos5422-odroid-core.dtsi linux-4.19.98/arch/arm/boot/dts/exynos5422-odroid-core.dtsi --- linux-4.19.87/arch/arm/boot/dts/exynos5422-odroid-core.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/exynos5422-odroid-core.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -224,7 +224,7 @@ ldo13_reg: LDO13 { regulator-name = "vddq_mmc2"; - regulator-min-microvolt = <2800000>; + regulator-min-microvolt = <1800000>; regulator-max-microvolt = <2800000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/gemini-sq201.dts linux-4.19.98/arch/arm/boot/dts/gemini-sq201.dts --- linux-4.19.87/arch/arm/boot/dts/gemini-sq201.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/gemini-sq201.dts 2020-01-23 07:21:39.000000000 +0000 @@ -20,7 +20,7 @@ }; chosen { - bootargs = "console=ttyS0,115200n8"; + bootargs = "console=ttyS0,115200n8 root=/dev/mtdblock2 rw rootfstype=squashfs,jffs2 rootwait"; stdout-path = &uart0; }; @@ -138,37 +138,10 @@ /* 16MB of flash */ reg = <0x30000000 0x01000000>; - partition@0 { - label = "RedBoot"; - reg = <0x00000000 0x00120000>; - read-only; - }; - partition@120000 { - label = "Kernel"; - reg = <0x00120000 0x00200000>; - }; - partition@320000 { - label = "Ramdisk"; - reg = <0x00320000 0x00600000>; - }; - partition@920000 { - label = "Application"; - reg = <0x00920000 0x00600000>; - }; - partition@f20000 { - label = "VCTL"; - reg = <0x00f20000 0x00020000>; - read-only; - }; - partition@f40000 { - label = "CurConf"; - reg = <0x00f40000 0x000a0000>; - read-only; - }; - partition@fe0000 { - label = "FIS directory"; - reg = <0x00fe0000 0x00020000>; - read-only; + partitions { + compatible = "redboot-fis"; + /* Eraseblock at 0xfe0000 */ + fis-index-block = <0x1fc>; }; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx1-ads.dts linux-4.19.98/arch/arm/boot/dts/imx1-ads.dts --- linux-4.19.87/arch/arm/boot/dts/imx1-ads.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx1-ads.dts 2020-01-23 07:21:39.000000000 +0000 @@ -21,6 +21,7 @@ }; memory@8000000 { + device_type = "memory"; reg = <0x08000000 0x04000000>; }; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx1-apf9328.dts linux-4.19.98/arch/arm/boot/dts/imx1-apf9328.dts --- linux-4.19.87/arch/arm/boot/dts/imx1-apf9328.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx1-apf9328.dts 2020-01-23 07:21:39.000000000 +0000 @@ -21,6 +21,7 @@ }; memory@8000000 { + device_type = "memory"; reg = <0x08000000 0x00800000>; }; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx1.dtsi linux-4.19.98/arch/arm/boot/dts/imx1.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx1.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx1.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -15,10 +15,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { gpio0 = &gpio1; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx23-evk.dts linux-4.19.98/arch/arm/boot/dts/imx23-evk.dts --- linux-4.19.87/arch/arm/boot/dts/imx23-evk.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx23-evk.dts 2020-01-23 07:21:39.000000000 +0000 @@ -10,6 +10,7 @@ compatible = "fsl,imx23-evk", "fsl,imx23"; memory@40000000 { + device_type = "memory"; reg = <0x40000000 0x08000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx23-olinuxino.dts linux-4.19.98/arch/arm/boot/dts/imx23-olinuxino.dts --- linux-4.19.87/arch/arm/boot/dts/imx23-olinuxino.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx23-olinuxino.dts 2020-01-23 07:21:39.000000000 +0000 @@ -20,6 +20,7 @@ compatible = "olimex,imx23-olinuxino", "fsl,imx23"; memory@40000000 { + device_type = "memory"; reg = <0x40000000 0x04000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx23-sansa.dts linux-4.19.98/arch/arm/boot/dts/imx23-sansa.dts --- linux-4.19.87/arch/arm/boot/dts/imx23-sansa.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx23-sansa.dts 2020-01-23 07:21:39.000000000 +0000 @@ -50,6 +50,7 @@ compatible = "sandisk,sansa_fuze_plus", "fsl,imx23"; memory@40000000 { + device_type = "memory"; reg = <0x40000000 0x04000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx23-stmp378x_devb.dts linux-4.19.98/arch/arm/boot/dts/imx23-stmp378x_devb.dts --- linux-4.19.87/arch/arm/boot/dts/imx23-stmp378x_devb.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx23-stmp378x_devb.dts 2020-01-23 07:21:39.000000000 +0000 @@ -17,6 +17,7 @@ compatible = "fsl,stmp378x-devb", "fsl,imx23"; memory@40000000 { + device_type = "memory"; reg = <0x40000000 0x04000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx23-xfi3.dts linux-4.19.98/arch/arm/boot/dts/imx23-xfi3.dts --- linux-4.19.87/arch/arm/boot/dts/imx23-xfi3.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx23-xfi3.dts 2020-01-23 07:21:39.000000000 +0000 @@ -49,6 +49,7 @@ compatible = "creative,x-fi3", "fsl,imx23"; memory@40000000 { + device_type = "memory"; reg = <0x40000000 0x04000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx23.dtsi linux-4.19.98/arch/arm/boot/dts/imx23.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx23.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx23.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -13,10 +13,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { gpio0 = &gpio0; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx25-eukrea-cpuimx25.dtsi linux-4.19.98/arch/arm/boot/dts/imx25-eukrea-cpuimx25.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx25-eukrea-cpuimx25.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx25-eukrea-cpuimx25.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -18,6 +18,7 @@ compatible = "eukrea,cpuimx25", "fsl,imx25"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x4000000>; /* 64M */ }; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx25-karo-tx25.dts linux-4.19.98/arch/arm/boot/dts/imx25-karo-tx25.dts --- linux-4.19.87/arch/arm/boot/dts/imx25-karo-tx25.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx25-karo-tx25.dts 2020-01-23 07:21:39.000000000 +0000 @@ -37,6 +37,7 @@ }; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x02000000 0x90000000 0x02000000>; }; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx25-pdk.dts linux-4.19.98/arch/arm/boot/dts/imx25-pdk.dts --- linux-4.19.87/arch/arm/boot/dts/imx25-pdk.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx25-pdk.dts 2020-01-23 07:21:39.000000000 +0000 @@ -12,6 +12,7 @@ compatible = "fsl,imx25-pdk", "fsl,imx25"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x4000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx25.dtsi linux-4.19.98/arch/arm/boot/dts/imx25.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx25.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx25.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -12,10 +12,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { ethernet0 = &fec; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx27-apf27.dts linux-4.19.98/arch/arm/boot/dts/imx27-apf27.dts --- linux-4.19.87/arch/arm/boot/dts/imx27-apf27.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx27-apf27.dts 2020-01-23 07:21:39.000000000 +0000 @@ -20,6 +20,7 @@ compatible = "armadeus,imx27-apf27", "fsl,imx27"; memory@a0000000 { + device_type = "memory"; reg = <0xa0000000 0x04000000>; }; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx27-eukrea-cpuimx27.dtsi linux-4.19.98/arch/arm/boot/dts/imx27-eukrea-cpuimx27.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx27-eukrea-cpuimx27.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx27-eukrea-cpuimx27.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -17,6 +17,7 @@ compatible = "eukrea,cpuimx27", "fsl,imx27"; memory@a0000000 { + device_type = "memory"; reg = <0xa0000000 0x04000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx27-pdk.dts linux-4.19.98/arch/arm/boot/dts/imx27-pdk.dts --- linux-4.19.87/arch/arm/boot/dts/imx27-pdk.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx27-pdk.dts 2020-01-23 07:21:39.000000000 +0000 @@ -10,6 +10,7 @@ compatible = "fsl,imx27-pdk", "fsl,imx27"; memory@a0000000 { + device_type = "memory"; reg = <0xa0000000 0x08000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx27-phytec-phycard-s-som.dtsi linux-4.19.98/arch/arm/boot/dts/imx27-phytec-phycard-s-som.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx27-phytec-phycard-s-som.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx27-phytec-phycard-s-som.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -18,6 +18,7 @@ compatible = "phytec,imx27-pca100", "fsl,imx27"; memory@a0000000 { + device_type = "memory"; reg = <0xa0000000 0x08000000>; /* 128MB */ }; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx27-phytec-phycore-som.dtsi linux-4.19.98/arch/arm/boot/dts/imx27-phytec-phycore-som.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx27-phytec-phycore-som.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx27-phytec-phycore-som.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -17,6 +17,7 @@ compatible = "phytec,imx27-pcm038", "fsl,imx27"; memory@a0000000 { + device_type = "memory"; reg = <0xa0000000 0x08000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx27.dtsi linux-4.19.98/arch/arm/boot/dts/imx27.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx27.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx27.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -16,10 +16,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { ethernet0 = &fec; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx31-bug.dts linux-4.19.98/arch/arm/boot/dts/imx31-bug.dts --- linux-4.19.87/arch/arm/boot/dts/imx31-bug.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx31-bug.dts 2020-01-23 07:21:39.000000000 +0000 @@ -17,6 +17,7 @@ compatible = "buglabs,imx31-bug", "fsl,imx31"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x8000000>; /* 128M */ }; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx31-lite.dts linux-4.19.98/arch/arm/boot/dts/imx31-lite.dts --- linux-4.19.87/arch/arm/boot/dts/imx31-lite.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx31-lite.dts 2020-01-23 07:21:39.000000000 +0000 @@ -18,6 +18,7 @@ }; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x8000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx31.dtsi linux-4.19.98/arch/arm/boot/dts/imx31.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx31.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx31.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -10,10 +10,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { gpio0 = &gpio1; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx35-eukrea-cpuimx35.dtsi linux-4.19.98/arch/arm/boot/dts/imx35-eukrea-cpuimx35.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx35-eukrea-cpuimx35.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx35-eukrea-cpuimx35.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -18,6 +18,7 @@ compatible = "eukrea,cpuimx35", "fsl,imx35"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x8000000>; /* 128M */ }; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx35-pdk.dts linux-4.19.98/arch/arm/boot/dts/imx35-pdk.dts --- linux-4.19.87/arch/arm/boot/dts/imx35-pdk.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx35-pdk.dts 2020-01-23 07:21:39.000000000 +0000 @@ -11,6 +11,7 @@ compatible = "fsl,imx35-pdk", "fsl,imx35"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x8000000>, <0x90000000 0x8000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx35.dtsi linux-4.19.98/arch/arm/boot/dts/imx35.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx35.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx35.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -13,10 +13,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { ethernet0 = &fec; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx50-evk.dts linux-4.19.98/arch/arm/boot/dts/imx50-evk.dts --- linux-4.19.87/arch/arm/boot/dts/imx50-evk.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx50-evk.dts 2020-01-23 07:21:39.000000000 +0000 @@ -12,6 +12,7 @@ compatible = "fsl,imx50-evk", "fsl,imx50"; memory@70000000 { + device_type = "memory"; reg = <0x70000000 0x80000000>; }; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx50.dtsi linux-4.19.98/arch/arm/boot/dts/imx50.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx50.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx50.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -22,10 +22,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { ethernet0 = &fec; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx51-apf51.dts linux-4.19.98/arch/arm/boot/dts/imx51-apf51.dts --- linux-4.19.87/arch/arm/boot/dts/imx51-apf51.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx51-apf51.dts 2020-01-23 07:21:39.000000000 +0000 @@ -22,6 +22,7 @@ compatible = "armadeus,imx51-apf51", "fsl,imx51"; memory@90000000 { + device_type = "memory"; reg = <0x90000000 0x20000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx51-babbage.dts linux-4.19.98/arch/arm/boot/dts/imx51-babbage.dts --- linux-4.19.87/arch/arm/boot/dts/imx51-babbage.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx51-babbage.dts 2020-01-23 07:21:39.000000000 +0000 @@ -15,6 +15,7 @@ }; memory@90000000 { + device_type = "memory"; reg = <0x90000000 0x20000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx51-digi-connectcore-som.dtsi linux-4.19.98/arch/arm/boot/dts/imx51-digi-connectcore-som.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx51-digi-connectcore-som.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx51-digi-connectcore-som.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -17,6 +17,7 @@ compatible = "digi,connectcore-ccxmx51-som", "fsl,imx51"; memory@90000000 { + device_type = "memory"; reg = <0x90000000 0x08000000>; }; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx51-eukrea-cpuimx51.dtsi linux-4.19.98/arch/arm/boot/dts/imx51-eukrea-cpuimx51.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx51-eukrea-cpuimx51.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx51-eukrea-cpuimx51.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -23,6 +23,7 @@ compatible = "eukrea,cpuimx51", "fsl,imx51"; memory@90000000 { + device_type = "memory"; reg = <0x90000000 0x10000000>; /* 256M */ }; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx51-ts4800.dts linux-4.19.98/arch/arm/boot/dts/imx51-ts4800.dts --- linux-4.19.87/arch/arm/boot/dts/imx51-ts4800.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx51-ts4800.dts 2020-01-23 07:21:39.000000000 +0000 @@ -18,6 +18,7 @@ }; memory@90000000 { + device_type = "memory"; reg = <0x90000000 0x10000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx51-zii-rdu1.dts linux-4.19.98/arch/arm/boot/dts/imx51-zii-rdu1.dts --- linux-4.19.87/arch/arm/boot/dts/imx51-zii-rdu1.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx51-zii-rdu1.dts 2020-01-23 07:21:39.000000000 +0000 @@ -53,6 +53,7 @@ /* Will be filled by the bootloader */ memory@90000000 { + device_type = "memory"; reg = <0x90000000 0>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx51-zii-scu2-mezz.dts linux-4.19.98/arch/arm/boot/dts/imx51-zii-scu2-mezz.dts --- linux-4.19.87/arch/arm/boot/dts/imx51-zii-scu2-mezz.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx51-zii-scu2-mezz.dts 2020-01-23 07:21:39.000000000 +0000 @@ -18,6 +18,7 @@ /* Will be filled by the bootloader */ memory@90000000 { + device_type = "memory"; reg = <0x90000000 0>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx51-zii-scu3-esb.dts linux-4.19.98/arch/arm/boot/dts/imx51-zii-scu3-esb.dts --- linux-4.19.87/arch/arm/boot/dts/imx51-zii-scu3-esb.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx51-zii-scu3-esb.dts 2020-01-23 07:21:39.000000000 +0000 @@ -18,6 +18,7 @@ /* Will be filled by the bootloader */ memory@90000000 { + device_type = "memory"; reg = <0x90000000 0>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx51.dtsi linux-4.19.98/arch/arm/boot/dts/imx51.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx51.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx51.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -16,10 +16,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { ethernet0 = &fec; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx53-ard.dts linux-4.19.98/arch/arm/boot/dts/imx53-ard.dts --- linux-4.19.87/arch/arm/boot/dts/imx53-ard.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx53-ard.dts 2020-01-23 07:21:39.000000000 +0000 @@ -19,6 +19,7 @@ compatible = "fsl,imx53-ard", "fsl,imx53"; memory@70000000 { + device_type = "memory"; reg = <0x70000000 0x40000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx53-cx9020.dts linux-4.19.98/arch/arm/boot/dts/imx53-cx9020.dts --- linux-4.19.87/arch/arm/boot/dts/imx53-cx9020.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx53-cx9020.dts 2020-01-23 07:21:39.000000000 +0000 @@ -22,6 +22,7 @@ }; memory@70000000 { + device_type = "memory"; reg = <0x70000000 0x20000000>, <0xb0000000 0x20000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx53-m53.dtsi linux-4.19.98/arch/arm/boot/dts/imx53-m53.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx53-m53.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx53-m53.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -16,6 +16,7 @@ compatible = "aries,imx53-m53", "denx,imx53-m53", "fsl,imx53"; memory@70000000 { + device_type = "memory"; reg = <0x70000000 0x20000000>, <0xb0000000 0x20000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx53-qsb-common.dtsi linux-4.19.98/arch/arm/boot/dts/imx53-qsb-common.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx53-qsb-common.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx53-qsb-common.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -11,6 +11,7 @@ }; memory@70000000 { + device_type = "memory"; reg = <0x70000000 0x20000000>, <0xb0000000 0x20000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx53-smd.dts linux-4.19.98/arch/arm/boot/dts/imx53-smd.dts --- linux-4.19.87/arch/arm/boot/dts/imx53-smd.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx53-smd.dts 2020-01-23 07:21:39.000000000 +0000 @@ -12,6 +12,7 @@ compatible = "fsl,imx53-smd", "fsl,imx53"; memory@70000000 { + device_type = "memory"; reg = <0x70000000 0x40000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx53-tqma53.dtsi linux-4.19.98/arch/arm/boot/dts/imx53-tqma53.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx53-tqma53.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx53-tqma53.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -17,6 +17,7 @@ compatible = "tq,tqma53", "fsl,imx53"; memory@70000000 { + device_type = "memory"; reg = <0x70000000 0x40000000>; /* Up to 1GiB */ }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx53-tx53.dtsi linux-4.19.98/arch/arm/boot/dts/imx53-tx53.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx53-tx53.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx53-tx53.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -51,6 +51,7 @@ /* Will be filled by the bootloader */ memory@70000000 { + device_type = "memory"; reg = <0x70000000 0>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx53-usbarmory.dts linux-4.19.98/arch/arm/boot/dts/imx53-usbarmory.dts --- linux-4.19.87/arch/arm/boot/dts/imx53-usbarmory.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx53-usbarmory.dts 2020-01-23 07:21:39.000000000 +0000 @@ -58,6 +58,7 @@ }; memory@70000000 { + device_type = "memory"; reg = <0x70000000 0x20000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi linux-4.19.98/arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -17,12 +17,8 @@ memory@70000000 { device_type = "memory"; - reg = <0x70000000 0x20000000>; - }; - - memory@b0000000 { - device_type = "memory"; - reg = <0xb0000000 0x20000000>; + reg = <0x70000000 0x20000000>, + <0xb0000000 0x20000000>; }; regulators { diff -Nru linux-4.19.87/arch/arm/boot/dts/imx53.dtsi linux-4.19.98/arch/arm/boot/dts/imx53.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx53.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx53.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -23,10 +23,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { ethernet0 = &fec; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6dl-icore-mipi.dts linux-4.19.98/arch/arm/boot/dts/imx6dl-icore-mipi.dts --- linux-4.19.87/arch/arm/boot/dts/imx6dl-icore-mipi.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6dl-icore-mipi.dts 2020-01-23 07:21:39.000000000 +0000 @@ -8,7 +8,7 @@ /dts-v1/; #include "imx6dl.dtsi" -#include "imx6qdl-icore.dtsi" +#include "imx6qdl-icore-1.5.dtsi" / { model = "Engicam i.CoreM6 DualLite/Solo MIPI Starter Kit"; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6q-dhcom-pdk2.dts linux-4.19.98/arch/arm/boot/dts/imx6q-dhcom-pdk2.dts --- linux-4.19.87/arch/arm/boot/dts/imx6q-dhcom-pdk2.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6q-dhcom-pdk2.dts 2020-01-23 07:21:39.000000000 +0000 @@ -55,7 +55,7 @@ #sound-dai-cells = <0>; clocks = <&clk_ext_audio_codec>; VDDA-supply = <®_3p3v>; - VDDIO-supply = <®_3p3v>; + VDDIO-supply = <&sw2_reg>; }; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6q-dhcom-som.dtsi linux-4.19.98/arch/arm/boot/dts/imx6q-dhcom-som.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx6q-dhcom-som.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6q-dhcom-som.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -205,7 +205,7 @@ }; rtc@56 { - compatible = "rv3029c2"; + compatible = "microcrystal,rv3029"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_rtc_hw300>; reg = <0x56>; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6qdl-icore-1.5.dtsi linux-4.19.98/arch/arm/boot/dts/imx6qdl-icore-1.5.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx6qdl-icore-1.5.dtsi 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6qdl-icore-1.5.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -0,0 +1,34 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2018 Jacopo Mondi + */ + +#include "imx6qdl-icore.dtsi" + +&iomuxc { + pinctrl_enet: enetgrp { + fsl,pins = < + MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN 0x1b0b0 + MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0b0 + MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN 0x1b0b0 + MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1 0x1b0b0 + MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0 0x1b0b0 + MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1 0x1b0b0 + MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0 0x1b0b0 + MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0 + MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 + MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x1b0b0 + >; + }; +}; + +&fec { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_enet>; + phy-reset-gpios = <&gpio7 12 GPIO_ACTIVE_LOW>; + clocks = <&clks IMX6QDL_CLK_ENET>, + <&clks IMX6QDL_CLK_ENET>, + <&clks IMX6QDL_CLK_ENET_REF>; + phy-mode = "rmii"; + status = "okay"; +}; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi linux-4.19.98/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -177,6 +177,8 @@ accelerometer@1c { compatible = "fsl,mma8451"; reg = <0x1c>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_mma8451_int>; interrupt-parent = <&gpio6>; interrupts = <31 IRQ_TYPE_LEVEL_LOW>; }; @@ -522,6 +524,12 @@ >; }; + pinctrl_mma8451_int: mma8451intgrp { + fsl,pins = < + MX6QDL_PAD_EIM_BCLK__GPIO6_IO31 0xb0b1 + >; + }; + pinctrl_pwm3: pwm1grp { fsl,pins = < MX6QDL_PAD_SD4_DAT1__PWM3_OUT 0x1b0b1 diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi linux-4.19.98/arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -609,13 +609,14 @@ }; touchscreen@2a { - compatible = "eeti,egalax_ts"; + compatible = "eeti,exc3000"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_ts>; reg = <0x2a>; interrupt-parent = <&gpio1>; interrupts = <8 IRQ_TYPE_LEVEL_LOW>; - wakeup-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>; + touchscreen-inverted-x; + touchscreen-swapped-x-y; status = "disabled"; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6sl-evk.dts linux-4.19.98/arch/arm/boot/dts/imx6sl-evk.dts --- linux-4.19.87/arch/arm/boot/dts/imx6sl-evk.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6sl-evk.dts 2020-01-23 07:21:39.000000000 +0000 @@ -17,6 +17,7 @@ }; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x40000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6sl-warp.dts linux-4.19.98/arch/arm/boot/dts/imx6sl-warp.dts --- linux-4.19.87/arch/arm/boot/dts/imx6sl-warp.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6sl-warp.dts 2020-01-23 07:21:39.000000000 +0000 @@ -55,6 +55,7 @@ compatible = "warp,imx6sl-warp", "fsl,imx6sl"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x20000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6sl.dtsi linux-4.19.98/arch/arm/boot/dts/imx6sl.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx6sl.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6sl.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -13,10 +13,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { ethernet0 = &fec; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6sll-evk.dts linux-4.19.98/arch/arm/boot/dts/imx6sll-evk.dts --- linux-4.19.87/arch/arm/boot/dts/imx6sll-evk.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6sll-evk.dts 2020-01-23 07:21:39.000000000 +0000 @@ -20,6 +20,7 @@ }; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x80000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6sx-nitrogen6sx.dts linux-4.19.98/arch/arm/boot/dts/imx6sx-nitrogen6sx.dts --- linux-4.19.87/arch/arm/boot/dts/imx6sx-nitrogen6sx.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6sx-nitrogen6sx.dts 2020-01-23 07:21:39.000000000 +0000 @@ -12,6 +12,7 @@ compatible = "boundary,imx6sx-nitrogen6sx", "fsl,imx6sx"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x40000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6sx-sabreauto.dts linux-4.19.98/arch/arm/boot/dts/imx6sx-sabreauto.dts --- linux-4.19.87/arch/arm/boot/dts/imx6sx-sabreauto.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6sx-sabreauto.dts 2020-01-23 07:21:39.000000000 +0000 @@ -11,6 +11,7 @@ compatible = "fsl,imx6sx-sabreauto", "fsl,imx6sx"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x80000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6sx-sdb.dtsi linux-4.19.98/arch/arm/boot/dts/imx6sx-sdb.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx6sx-sdb.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6sx-sdb.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -21,6 +21,7 @@ }; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x40000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6sx-softing-vining-2000.dts linux-4.19.98/arch/arm/boot/dts/imx6sx-softing-vining-2000.dts --- linux-4.19.87/arch/arm/boot/dts/imx6sx-softing-vining-2000.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6sx-softing-vining-2000.dts 2020-01-23 07:21:39.000000000 +0000 @@ -21,6 +21,7 @@ }; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x40000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6sx-udoo-neo-basic.dts linux-4.19.98/arch/arm/boot/dts/imx6sx-udoo-neo-basic.dts --- linux-4.19.87/arch/arm/boot/dts/imx6sx-udoo-neo-basic.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6sx-udoo-neo-basic.dts 2020-01-23 07:21:39.000000000 +0000 @@ -49,6 +49,7 @@ compatible = "udoo,neobasic", "fsl,imx6sx"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x20000000>; }; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6sx-udoo-neo-extended.dts linux-4.19.98/arch/arm/boot/dts/imx6sx-udoo-neo-extended.dts --- linux-4.19.87/arch/arm/boot/dts/imx6sx-udoo-neo-extended.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6sx-udoo-neo-extended.dts 2020-01-23 07:21:39.000000000 +0000 @@ -49,6 +49,7 @@ compatible = "udoo,neoextended", "fsl,imx6sx"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x40000000>; }; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6sx-udoo-neo-full.dts linux-4.19.98/arch/arm/boot/dts/imx6sx-udoo-neo-full.dts --- linux-4.19.87/arch/arm/boot/dts/imx6sx-udoo-neo-full.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6sx-udoo-neo-full.dts 2020-01-23 07:21:39.000000000 +0000 @@ -49,6 +49,7 @@ compatible = "udoo,neofull", "fsl,imx6sx"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x40000000>; }; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6sx.dtsi linux-4.19.98/arch/arm/boot/dts/imx6sx.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx6sx.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6sx.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -15,10 +15,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { can0 = &flexcan1; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6ul-14x14-evk.dtsi linux-4.19.98/arch/arm/boot/dts/imx6ul-14x14-evk.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx6ul-14x14-evk.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6ul-14x14-evk.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -12,6 +12,7 @@ }; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x20000000>; }; @@ -174,7 +175,7 @@ flash0: n25q256a@0 { #address-cells = <1>; #size-cells = <1>; - compatible = "micron,n25q256a"; + compatible = "micron,n25q256a", "jedec,spi-nor"; spi-max-frequency = <29000000>; reg = <0>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6ul-geam.dts linux-4.19.98/arch/arm/boot/dts/imx6ul-geam.dts --- linux-4.19.87/arch/arm/boot/dts/imx6ul-geam.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6ul-geam.dts 2020-01-23 07:21:39.000000000 +0000 @@ -51,6 +51,7 @@ compatible = "engicam,imx6ul-geam", "fsl,imx6ul"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x08000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6ul-isiot.dtsi linux-4.19.98/arch/arm/boot/dts/imx6ul-isiot.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx6ul-isiot.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6ul-isiot.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -46,6 +46,7 @@ / { memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x20000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6ul-litesom.dtsi linux-4.19.98/arch/arm/boot/dts/imx6ul-litesom.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx6ul-litesom.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6ul-litesom.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -48,6 +48,7 @@ compatible = "grinn,imx6ul-litesom", "fsl,imx6ul"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x20000000>; }; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6ul-opos6ul.dtsi linux-4.19.98/arch/arm/boot/dts/imx6ul-opos6ul.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx6ul-opos6ul.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6ul-opos6ul.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -49,6 +49,7 @@ / { memory@80000000 { + device_type = "memory"; reg = <0x80000000 0>; /* will be filled by U-Boot */ }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6ul-pico-hobbit.dts linux-4.19.98/arch/arm/boot/dts/imx6ul-pico-hobbit.dts --- linux-4.19.87/arch/arm/boot/dts/imx6ul-pico-hobbit.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6ul-pico-hobbit.dts 2020-01-23 07:21:39.000000000 +0000 @@ -53,6 +53,7 @@ /* Will be filled by the bootloader */ memory@80000000 { + device_type = "memory"; reg = <0x80000000 0>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6ul-tx6ul.dtsi linux-4.19.98/arch/arm/boot/dts/imx6ul-tx6ul.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx6ul-tx6ul.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6ul-tx6ul.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -71,6 +71,7 @@ }; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0>; /* will be filled by U-Boot */ }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6ul.dtsi linux-4.19.98/arch/arm/boot/dts/imx6ul.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx6ul.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6ul.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -15,10 +15,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { ethernet0 = &fec1; @@ -89,6 +87,8 @@ "pll1_sys"; arm-supply = <®_arm>; soc-supply = <®_soc>; + nvmem-cells = <&cpu_speed_grade>; + nvmem-cell-names = "speed_grade"; }; }; @@ -932,6 +932,10 @@ tempmon_temp_grade: temp-grade@20 { reg = <0x20 4>; }; + + cpu_speed_grade: speed-grade@10 { + reg = <0x10 4>; + }; }; lcdif: lcdif@21c8000 { diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6ull-colibri-nonwifi.dtsi linux-4.19.98/arch/arm/boot/dts/imx6ull-colibri-nonwifi.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx6ull-colibri-nonwifi.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6ull-colibri-nonwifi.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -7,6 +7,7 @@ / { memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x10000000>; }; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx6ull-colibri-wifi.dtsi linux-4.19.98/arch/arm/boot/dts/imx6ull-colibri-wifi.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx6ull-colibri-wifi.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx6ull-colibri-wifi.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -7,6 +7,7 @@ / { memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x20000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx7d-cl-som-imx7.dts linux-4.19.98/arch/arm/boot/dts/imx7d-cl-som-imx7.dts --- linux-4.19.87/arch/arm/boot/dts/imx7d-cl-som-imx7.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx7d-cl-som-imx7.dts 2020-01-23 07:21:39.000000000 +0000 @@ -19,6 +19,7 @@ compatible = "compulab,cl-som-imx7", "fsl,imx7d"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x10000000>; /* 256 MB - minimal configuration */ }; @@ -284,4 +285,4 @@ MX7D_PAD_LPSR_GPIO1_IO05__GPIO1_IO5 0x14 /* OTG PWREN */ >; }; -}; \ No newline at end of file +}; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx7d-colibri-emmc.dtsi linux-4.19.98/arch/arm/boot/dts/imx7d-colibri-emmc.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx7d-colibri-emmc.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx7d-colibri-emmc.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -8,6 +8,7 @@ / { memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x40000000>; }; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx7d-colibri.dtsi linux-4.19.98/arch/arm/boot/dts/imx7d-colibri.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx7d-colibri.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx7d-colibri.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -45,6 +45,7 @@ / { memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x20000000>; }; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx7d-nitrogen7.dts linux-4.19.98/arch/arm/boot/dts/imx7d-nitrogen7.dts --- linux-4.19.87/arch/arm/boot/dts/imx7d-nitrogen7.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx7d-nitrogen7.dts 2020-01-23 07:21:39.000000000 +0000 @@ -12,6 +12,7 @@ compatible = "boundary,imx7d-nitrogen7", "fsl,imx7d"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x40000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx7d-pico.dtsi linux-4.19.98/arch/arm/boot/dts/imx7d-pico.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx7d-pico.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx7d-pico.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -49,6 +49,7 @@ compatible = "technexion,imx7d-pico", "fsl,imx7d"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x80000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx7d-sdb.dts linux-4.19.98/arch/arm/boot/dts/imx7d-sdb.dts --- linux-4.19.87/arch/arm/boot/dts/imx7d-sdb.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx7d-sdb.dts 2020-01-23 07:21:39.000000000 +0000 @@ -15,6 +15,7 @@ }; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x80000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx7s-colibri.dtsi linux-4.19.98/arch/arm/boot/dts/imx7s-colibri.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx7s-colibri.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx7s-colibri.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -45,6 +45,11 @@ / { memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x10000000>; }; }; + +&gpmi { + status = "okay"; +}; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx7s-warp.dts linux-4.19.98/arch/arm/boot/dts/imx7s-warp.dts --- linux-4.19.87/arch/arm/boot/dts/imx7s-warp.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx7s-warp.dts 2020-01-23 07:21:39.000000000 +0000 @@ -51,6 +51,7 @@ compatible = "warp,imx7s-warp", "fsl,imx7s"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x20000000>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/imx7s.dtsi linux-4.19.98/arch/arm/boot/dts/imx7s.dtsi --- linux-4.19.87/arch/arm/boot/dts/imx7s.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/imx7s.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -17,10 +17,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { gpio0 = &gpio1; diff -Nru linux-4.19.87/arch/arm/boot/dts/meson8.dtsi linux-4.19.98/arch/arm/boot/dts/meson8.dtsi --- linux-4.19.87/arch/arm/boot/dts/meson8.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/meson8.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -139,7 +139,7 @@ &aobus { pmu: pmu@e0 { compatible = "amlogic,meson8-pmu", "syscon"; - reg = <0xe0 0x8>; + reg = <0xe0 0x18>; }; pinctrl_aobus: pinctrl@84 { diff -Nru linux-4.19.87/arch/arm/boot/dts/mmp2.dtsi linux-4.19.98/arch/arm/boot/dts/mmp2.dtsi --- linux-4.19.87/arch/arm/boot/dts/mmp2.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/mmp2.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -180,7 +180,7 @@ clocks = <&soc_clocks MMP2_CLK_GPIO>; resets = <&soc_clocks MMP2_CLK_GPIO>; interrupt-controller; - #interrupt-cells = <1>; + #interrupt-cells = <2>; ranges; gcb0: gpio@d4019000 { diff -Nru linux-4.19.87/arch/arm/boot/dts/omap3-pandora-common.dtsi linux-4.19.98/arch/arm/boot/dts/omap3-pandora-common.dtsi --- linux-4.19.87/arch/arm/boot/dts/omap3-pandora-common.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/omap3-pandora-common.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -229,6 +229,17 @@ gpio = <&gpio6 4 GPIO_ACTIVE_HIGH>; /* GPIO_164 */ }; + /* wl1251 wifi+bt module */ + wlan_en: fixed-regulator-wg7210_en { + compatible = "regulator-fixed"; + regulator-name = "vwlan"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + startup-delay-us = <50000>; + enable-active-high; + gpio = <&gpio1 23 GPIO_ACTIVE_HIGH>; + }; + /* wg7210 (wifi+bt module) 32k clock buffer */ wg7210_32k: fixed-regulator-wg7210_32k { compatible = "regulator-fixed"; @@ -525,9 +536,30 @@ /*wp-gpios = <&gpio4 31 GPIO_ACTIVE_HIGH>;*/ /* GPIO_127 */ }; -/* mmc3 is probed using pdata-quirks to pass wl1251 card data */ &mmc3 { - status = "disabled"; + vmmc-supply = <&wlan_en>; + + bus-width = <4>; + non-removable; + ti,non-removable; + cap-power-off-card; + + pinctrl-names = "default"; + pinctrl-0 = <&mmc3_pins>; + + #address-cells = <1>; + #size-cells = <0>; + + wlan: wifi@1 { + compatible = "ti,wl1251"; + + reg = <1>; + + interrupt-parent = <&gpio1>; + interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; /* GPIO_21 */ + + ti,wl1251-has-eeprom; + }; }; /* bluetooth*/ diff -Nru linux-4.19.87/arch/arm/boot/dts/omap3-tao3530.dtsi linux-4.19.98/arch/arm/boot/dts/omap3-tao3530.dtsi --- linux-4.19.87/arch/arm/boot/dts/omap3-tao3530.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/omap3-tao3530.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -225,7 +225,7 @@ pinctrl-0 = <&mmc1_pins>; vmmc-supply = <&vmmc1>; vqmmc-supply = <&vsim>; - cd-gpios = <&twl_gpio 0 GPIO_ACTIVE_HIGH>; + cd-gpios = <&twl_gpio 0 GPIO_ACTIVE_LOW>; bus-width = <8>; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/omap4-l4.dtsi linux-4.19.98/arch/arm/boot/dts/omap4-l4.dtsi --- linux-4.19.87/arch/arm/boot/dts/omap4-l4.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/omap4-l4.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -196,12 +196,12 @@ clock-names = "fck"; #address-cells = <1>; #size-cells = <1>; - ranges = <0x0 0x58000 0x4000>; + ranges = <0x0 0x58000 0x5000>; hsi: hsi@0 { compatible = "ti,omap4-hsi"; reg = <0x0 0x4000>, - <0x4a05c000 0x1000>; + <0x5000 0x1000>; reg-names = "sys", "gdd"; clocks = <&l3_init_clkctrl OMAP4_HSI_CLKCTRL 0>; diff -Nru linux-4.19.87/arch/arm/boot/dts/pxa27x.dtsi linux-4.19.98/arch/arm/boot/dts/pxa27x.dtsi --- linux-4.19.87/arch/arm/boot/dts/pxa27x.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/pxa27x.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -35,7 +35,7 @@ clocks = <&clks CLK_NONE>; }; - pxa27x_ohci: usb@4c000000 { + usb0: usb@4c000000 { compatible = "marvell,pxa-ohci"; reg = <0x4c000000 0x10000>; interrupts = <3>; diff -Nru linux-4.19.87/arch/arm/boot/dts/pxa2xx.dtsi linux-4.19.98/arch/arm/boot/dts/pxa2xx.dtsi --- linux-4.19.87/arch/arm/boot/dts/pxa2xx.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/pxa2xx.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -117,13 +117,6 @@ status = "disabled"; }; - usb0: ohci@4c000000 { - compatible = "marvell,pxa-ohci"; - reg = <0x4c000000 0x10000>; - interrupts = <3>; - status = "disabled"; - }; - mmc0: mmc@41100000 { compatible = "marvell,pxa-mmc"; reg = <0x41100000 0x1000>; diff -Nru linux-4.19.87/arch/arm/boot/dts/pxa3xx.dtsi linux-4.19.98/arch/arm/boot/dts/pxa3xx.dtsi --- linux-4.19.87/arch/arm/boot/dts/pxa3xx.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/pxa3xx.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -204,7 +204,7 @@ status = "disabled"; }; - pxa3xx_ohci: usb@4c000000 { + usb0: usb@4c000000 { compatible = "marvell,pxa-ohci"; reg = <0x4c000000 0x10000>; interrupts = <3>; diff -Nru linux-4.19.87/arch/arm/boot/dts/r8a7790-lager.dts linux-4.19.98/arch/arm/boot/dts/r8a7790-lager.dts --- linux-4.19.87/arch/arm/boot/dts/r8a7790-lager.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/r8a7790-lager.dts 2020-01-23 07:21:39.000000000 +0000 @@ -489,8 +489,6 @@ }; &lvds1 { - status = "okay"; - ports { port@1 { lvds_connector: endpoint { diff -Nru linux-4.19.87/arch/arm/boot/dts/r8a7791-koelsch.dts linux-4.19.98/arch/arm/boot/dts/r8a7791-koelsch.dts --- linux-4.19.87/arch/arm/boot/dts/r8a7791-koelsch.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/r8a7791-koelsch.dts 2020-01-23 07:21:39.000000000 +0000 @@ -479,8 +479,6 @@ }; &lvds0 { - status = "okay"; - ports { port@1 { lvds_connector: endpoint { diff -Nru linux-4.19.87/arch/arm/boot/dts/r8a7791-porter.dts linux-4.19.98/arch/arm/boot/dts/r8a7791-porter.dts --- linux-4.19.87/arch/arm/boot/dts/r8a7791-porter.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/r8a7791-porter.dts 2020-01-23 07:21:39.000000000 +0000 @@ -482,8 +482,6 @@ }; &lvds0 { - status = "okay"; - ports { port@1 { lvds_connector: endpoint { diff -Nru linux-4.19.87/arch/arm/boot/dts/rk3288-rock2-som.dtsi linux-4.19.98/arch/arm/boot/dts/rk3288-rock2-som.dtsi --- linux-4.19.87/arch/arm/boot/dts/rk3288-rock2-som.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/rk3288-rock2-som.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -25,7 +25,7 @@ vcc_flash: flash-regulator { compatible = "regulator-fixed"; - regulator-name = "vcc_sys"; + regulator-name = "vcc_flash"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; startup-delay-us = <150>; diff -Nru linux-4.19.87/arch/arm/boot/dts/rv1108.dtsi linux-4.19.98/arch/arm/boot/dts/rv1108.dtsi --- linux-4.19.87/arch/arm/boot/dts/rv1108.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/rv1108.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -66,7 +66,7 @@ arm-pmu { compatible = "arm,cortex-a7-pmu"; - interrupts = ; + interrupts = ; }; timer { @@ -541,7 +541,7 @@ compatible = "rockchip,gpio-bank"; reg = <0x20030000 0x100>; interrupts = ; - clocks = <&xin24m>; + clocks = <&cru PCLK_GPIO0_PMU>; gpio-controller; #gpio-cells = <2>; @@ -554,7 +554,7 @@ compatible = "rockchip,gpio-bank"; reg = <0x10310000 0x100>; interrupts = ; - clocks = <&xin24m>; + clocks = <&cru PCLK_GPIO1>; gpio-controller; #gpio-cells = <2>; @@ -567,7 +567,7 @@ compatible = "rockchip,gpio-bank"; reg = <0x10320000 0x100>; interrupts = ; - clocks = <&xin24m>; + clocks = <&cru PCLK_GPIO2>; gpio-controller; #gpio-cells = <2>; @@ -580,7 +580,7 @@ compatible = "rockchip,gpio-bank"; reg = <0x10330000 0x100>; interrupts = ; - clocks = <&xin24m>; + clocks = <&cru PCLK_GPIO3>; gpio-controller; #gpio-cells = <2>; diff -Nru linux-4.19.87/arch/arm/boot/dts/s3c6410-mini6410.dts linux-4.19.98/arch/arm/boot/dts/s3c6410-mini6410.dts --- linux-4.19.87/arch/arm/boot/dts/s3c6410-mini6410.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/s3c6410-mini6410.dts 2020-01-23 07:21:39.000000000 +0000 @@ -165,6 +165,10 @@ }; }; +&clocks { + clocks = <&fin_pll>; +}; + &sdhci0 { pinctrl-names = "default"; pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>; diff -Nru linux-4.19.87/arch/arm/boot/dts/s3c6410-smdk6410.dts linux-4.19.98/arch/arm/boot/dts/s3c6410-smdk6410.dts --- linux-4.19.87/arch/arm/boot/dts/s3c6410-smdk6410.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/s3c6410-smdk6410.dts 2020-01-23 07:21:39.000000000 +0000 @@ -69,6 +69,10 @@ }; }; +&clocks { + clocks = <&fin_pll>; +}; + &sdhci0 { pinctrl-names = "default"; pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>; diff -Nru linux-4.19.87/arch/arm/boot/dts/sun4i-a10-inet9f-rev03.dts linux-4.19.98/arch/arm/boot/dts/sun4i-a10-inet9f-rev03.dts --- linux-4.19.87/arch/arm/boot/dts/sun4i-a10-inet9f-rev03.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/sun4i-a10-inet9f-rev03.dts 2020-01-23 07:21:39.000000000 +0000 @@ -63,8 +63,6 @@ compatible = "gpio-keys-polled"; pinctrl-names = "default"; pinctrl-0 = <&key_pins_inet9f>; - #address-cells = <1>; - #size-cells = <0>; poll-interval = <20>; left-joystick-left { diff -Nru linux-4.19.87/arch/arm/boot/dts/sun4i-a10-pcduino.dts linux-4.19.98/arch/arm/boot/dts/sun4i-a10-pcduino.dts --- linux-4.19.87/arch/arm/boot/dts/sun4i-a10-pcduino.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/sun4i-a10-pcduino.dts 2020-01-23 07:21:39.000000000 +0000 @@ -76,8 +76,6 @@ gpio-keys { compatible = "gpio-keys"; - #address-cells = <1>; - #size-cells = <0>; back { label = "Key Back"; diff -Nru linux-4.19.87/arch/arm/boot/dts/sun4i-a10.dtsi linux-4.19.98/arch/arm/boot/dts/sun4i-a10.dtsi --- linux-4.19.87/arch/arm/boot/dts/sun4i-a10.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/sun4i-a10.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -530,8 +530,6 @@ }; hdmi_out: port@1 { - #address-cells = <1>; - #size-cells = <0>; reg = <1>; }; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/sun5i-a10s.dtsi linux-4.19.98/arch/arm/boot/dts/sun5i-a10s.dtsi --- linux-4.19.87/arch/arm/boot/dts/sun5i-a10s.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/sun5i-a10s.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -104,8 +104,6 @@ }; hdmi_out: port@1 { - #address-cells = <1>; - #size-cells = <0>; reg = <1>; }; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/sun6i-a31.dtsi linux-4.19.98/arch/arm/boot/dts/sun6i-a31.dtsi --- linux-4.19.87/arch/arm/boot/dts/sun6i-a31.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/sun6i-a31.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -201,7 +201,7 @@ }; pmu { - compatible = "arm,cortex-a7-pmu", "arm,cortex-a15-pmu"; + compatible = "arm,cortex-a7-pmu"; interrupts = , , , diff -Nru linux-4.19.87/arch/arm/boot/dts/sun7i-a20.dtsi linux-4.19.98/arch/arm/boot/dts/sun7i-a20.dtsi --- linux-4.19.87/arch/arm/boot/dts/sun7i-a20.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/sun7i-a20.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -183,7 +183,7 @@ }; pmu { - compatible = "arm,cortex-a7-pmu", "arm,cortex-a15-pmu"; + compatible = "arm,cortex-a7-pmu"; interrupts = , ; }; @@ -639,8 +639,6 @@ }; hdmi_out: port@1 { - #address-cells = <1>; - #size-cells = <0>; reg = <1>; }; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts linux-4.19.98/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts --- linux-4.19.87/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts 2020-01-23 07:21:39.000000000 +0000 @@ -171,6 +171,7 @@ vqmmc-supply = <®_dldo1>; non-removable; wakeup-source; + keep-power-in-suspend; status = "okay"; brcmf: wifi@1 { diff -Nru linux-4.19.87/arch/arm/boot/dts/sun8i-h3.dtsi linux-4.19.98/arch/arm/boot/dts/sun8i-h3.dtsi --- linux-4.19.87/arch/arm/boot/dts/sun8i-h3.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/sun8i-h3.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -47,19 +47,19 @@ compatible = "operating-points-v2"; opp-shared; - opp@648000000 { + opp-648000000 { opp-hz = /bits/ 64 <648000000>; opp-microvolt = <1040000 1040000 1300000>; clock-latency-ns = <244144>; /* 8 32k periods */ }; - opp@816000000 { + opp-816000000 { opp-hz = /bits/ 64 <816000000>; opp-microvolt = <1100000 1100000 1300000>; clock-latency-ns = <244144>; /* 8 32k periods */ }; - opp@1008000000 { + opp-1008000000 { opp-hz = /bits/ 64 <1008000000>; opp-microvolt = <1200000 1200000 1300000>; clock-latency-ns = <244144>; /* 8 32k periods */ @@ -122,7 +122,7 @@ soc { system-control@1c00000 { compatible = "allwinner,sun8i-h3-system-control"; - reg = <0x01c00000 0x30>; + reg = <0x01c00000 0x1000>; #address-cells = <1>; #size-cells = <1>; ranges; diff -Nru linux-4.19.87/arch/arm/boot/dts/sun8i-r16-bananapi-m2m.dts linux-4.19.98/arch/arm/boot/dts/sun8i-r16-bananapi-m2m.dts --- linux-4.19.87/arch/arm/boot/dts/sun8i-r16-bananapi-m2m.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/sun8i-r16-bananapi-m2m.dts 2020-01-23 07:21:39.000000000 +0000 @@ -103,13 +103,13 @@ }; &cpu0_opp_table { - opp@1104000000 { + opp-1104000000 { opp-hz = /bits/ 64 <1104000000>; opp-microvolt = <1320000>; clock-latency-ns = <244144>; /* 8 32k periods */ }; - opp@1200000000 { + opp-1200000000 { opp-hz = /bits/ 64 <1200000000>; opp-microvolt = <1320000>; clock-latency-ns = <244144>; /* 8 32k periods */ diff -Nru linux-4.19.87/arch/arm/boot/dts/sun8i-v3s-licheepi-zero.dts linux-4.19.98/arch/arm/boot/dts/sun8i-v3s-licheepi-zero.dts --- linux-4.19.87/arch/arm/boot/dts/sun8i-v3s-licheepi-zero.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/sun8i-v3s-licheepi-zero.dts 2020-01-23 07:21:39.000000000 +0000 @@ -78,7 +78,7 @@ }; &mmc0 { - pinctrl-0 = <&mmc0_pins_a>; + pinctrl-0 = <&mmc0_pins>; pinctrl-names = "default"; broken-cd; bus-width = <4>; @@ -87,7 +87,7 @@ }; &uart0 { - pinctrl-0 = <&uart0_pins_a>; + pinctrl-0 = <&uart0_pb_pins>; pinctrl-names = "default"; status = "okay"; }; diff -Nru linux-4.19.87/arch/arm/boot/dts/sun8i-v3s.dtsi linux-4.19.98/arch/arm/boot/dts/sun8i-v3s.dtsi --- linux-4.19.87/arch/arm/boot/dts/sun8i-v3s.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/boot/dts/sun8i-v3s.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -292,17 +292,17 @@ interrupt-controller; #interrupt-cells = <3>; - i2c0_pins: i2c0 { + i2c0_pins: i2c0-pins { pins = "PB6", "PB7"; function = "i2c0"; }; - uart0_pins_a: uart0@0 { + uart0_pb_pins: uart0-pb-pins { pins = "PB8", "PB9"; function = "uart0"; }; - mmc0_pins_a: mmc0@0 { + mmc0_pins: mmc0-pins { pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; function = "mmc0"; @@ -310,7 +310,7 @@ bias-pull-up; }; - mmc1_pins: mmc1 { + mmc1_pins: mmc1-pins { pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5"; function = "mmc1"; @@ -318,7 +318,7 @@ bias-pull-up; }; - spi0_pins: spi0 { + spi0_pins: spi0-pins { pins = "PC0", "PC1", "PC2", "PC3"; function = "spi0"; }; diff -Nru linux-4.19.87/arch/arm/include/asm/uaccess.h linux-4.19.98/arch/arm/include/asm/uaccess.h --- linux-4.19.87/arch/arm/include/asm/uaccess.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/include/asm/uaccess.h 2020-01-23 07:21:39.000000000 +0000 @@ -349,6 +349,13 @@ #define __get_user_asm_byte(x, addr, err) \ __get_user_asm(x, addr, err, ldrb) +#if __LINUX_ARM_ARCH__ >= 6 + +#define __get_user_asm_half(x, addr, err) \ + __get_user_asm(x, addr, err, ldrh) + +#else + #ifndef __ARMEB__ #define __get_user_asm_half(x, __gu_addr, err) \ ({ \ @@ -367,6 +374,8 @@ }) #endif +#endif /* __LINUX_ARM_ARCH__ >= 6 */ + #define __get_user_asm_word(x, addr, err) \ __get_user_asm(x, addr, err, ldr) #endif @@ -442,6 +451,13 @@ #define __put_user_asm_byte(x, __pu_addr, err) \ __put_user_asm(x, __pu_addr, err, strb) +#if __LINUX_ARM_ARCH__ >= 6 + +#define __put_user_asm_half(x, __pu_addr, err) \ + __put_user_asm(x, __pu_addr, err, strh) + +#else + #ifndef __ARMEB__ #define __put_user_asm_half(x, __pu_addr, err) \ ({ \ @@ -458,6 +474,8 @@ }) #endif +#endif /* __LINUX_ARM_ARCH__ >= 6 */ + #define __put_user_asm_word(x, __pu_addr, err) \ __put_user_asm(x, __pu_addr, err, str) diff -Nru linux-4.19.87/arch/arm/lib/getuser.S linux-4.19.98/arch/arm/lib/getuser.S --- linux-4.19.87/arch/arm/lib/getuser.S 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/lib/getuser.S 2020-01-23 07:21:39.000000000 +0000 @@ -42,6 +42,12 @@ ENTRY(__get_user_2) check_uaccess r0, 2, r1, r2, __get_user_bad +#if __LINUX_ARM_ARCH__ >= 6 + +2: TUSER(ldrh) r2, [r0] + +#else + #ifdef CONFIG_CPU_USE_DOMAINS rb .req ip 2: ldrbt r2, [r0], #1 @@ -56,6 +62,9 @@ #else orr r2, rb, r2, lsl #8 #endif + +#endif /* __LINUX_ARM_ARCH__ >= 6 */ + mov r0, #0 ret lr ENDPROC(__get_user_2) @@ -145,7 +154,9 @@ .pushsection __ex_table, "a" .long 1b, __get_user_bad .long 2b, __get_user_bad +#if __LINUX_ARM_ARCH__ < 6 .long 3b, __get_user_bad +#endif .long 4b, __get_user_bad .long 5b, __get_user_bad8 .long 6b, __get_user_bad8 diff -Nru linux-4.19.87/arch/arm/lib/putuser.S linux-4.19.98/arch/arm/lib/putuser.S --- linux-4.19.87/arch/arm/lib/putuser.S 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/lib/putuser.S 2020-01-23 07:21:39.000000000 +0000 @@ -41,16 +41,13 @@ ENTRY(__put_user_2) check_uaccess r0, 2, r1, ip, __put_user_bad - mov ip, r2, lsr #8 -#ifdef CONFIG_THUMB2_KERNEL -#ifndef __ARMEB__ -2: TUSER(strb) r2, [r0] -3: TUSER(strb) ip, [r0, #1] +#if __LINUX_ARM_ARCH__ >= 6 + +2: TUSER(strh) r2, [r0] + #else -2: TUSER(strb) ip, [r0] -3: TUSER(strb) r2, [r0, #1] -#endif -#else /* !CONFIG_THUMB2_KERNEL */ + + mov ip, r2, lsr #8 #ifndef __ARMEB__ 2: TUSER(strb) r2, [r0], #1 3: TUSER(strb) ip, [r0] @@ -58,7 +55,8 @@ 2: TUSER(strb) ip, [r0], #1 3: TUSER(strb) r2, [r0] #endif -#endif /* CONFIG_THUMB2_KERNEL */ + +#endif /* __LINUX_ARM_ARCH__ >= 6 */ mov r0, #0 ret lr ENDPROC(__put_user_2) @@ -91,7 +89,9 @@ .pushsection __ex_table, "a" .long 1b, __put_user_bad .long 2b, __put_user_bad +#if __LINUX_ARM_ARCH__ < 6 .long 3b, __put_user_bad +#endif .long 4b, __put_user_bad .long 5b, __put_user_bad .long 6b, __put_user_bad diff -Nru linux-4.19.87/arch/arm/mach-ks8695/board-acs5k.c linux-4.19.98/arch/arm/mach-ks8695/board-acs5k.c --- linux-4.19.87/arch/arm/mach-ks8695/board-acs5k.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/mach-ks8695/board-acs5k.c 2020-01-23 07:21:39.000000000 +0000 @@ -100,7 +100,7 @@ }, }; -static void acs5k_i2c_init(void) +static void __init acs5k_i2c_init(void) { /* The gpio interface */ gpiod_add_lookup_table(&acs5k_i2c_gpiod_table); diff -Nru linux-4.19.87/arch/arm/mach-omap1/Makefile linux-4.19.98/arch/arm/mach-omap1/Makefile --- linux-4.19.87/arch/arm/mach-omap1/Makefile 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/mach-omap1/Makefile 2020-01-23 07:21:39.000000000 +0000 @@ -25,7 +25,7 @@ led-y := leds.o -usb-fs-$(CONFIG_USB) := usb.o +usb-fs-$(CONFIG_USB_SUPPORT) := usb.o obj-y += $(usb-fs-m) $(usb-fs-y) # Specific board support diff -Nru linux-4.19.87/arch/arm/mach-omap1/id.c linux-4.19.98/arch/arm/mach-omap1/id.c --- linux-4.19.87/arch/arm/mach-omap1/id.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/mach-omap1/id.c 2020-01-23 07:21:39.000000000 +0000 @@ -200,10 +200,10 @@ printk(KERN_INFO "Unknown OMAP cpu type: 0x%02x\n", cpu_type); } - printk(KERN_INFO "OMAP%04x", omap_revision >> 16); + pr_info("OMAP%04x", omap_revision >> 16); if ((omap_revision >> 8) & 0xff) - printk(KERN_INFO "%x", (omap_revision >> 8) & 0xff); - printk(KERN_INFO " revision %i handled as %02xxx id: %08x%08x\n", + pr_cont("%x", (omap_revision >> 8) & 0xff); + pr_cont(" revision %i handled as %02xxx id: %08x%08x\n", die_rev, omap_revision & 0xff, system_serial_low, system_serial_high); } diff -Nru linux-4.19.87/arch/arm/mach-omap1/include/mach/usb.h linux-4.19.98/arch/arm/mach-omap1/include/mach/usb.h --- linux-4.19.87/arch/arm/mach-omap1/include/mach/usb.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/mach-omap1/include/mach/usb.h 2020-01-23 07:21:39.000000000 +0000 @@ -11,7 +11,7 @@ #include -#if IS_ENABLED(CONFIG_USB) +#if IS_ENABLED(CONFIG_USB_SUPPORT) void omap1_usb_init(struct omap_usb_config *pdata); #else static inline void omap1_usb_init(struct omap_usb_config *pdata) diff -Nru linux-4.19.87/arch/arm/mach-omap2/id.c linux-4.19.98/arch/arm/mach-omap2/id.c --- linux-4.19.87/arch/arm/mach-omap2/id.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/mach-omap2/id.c 2020-01-23 07:21:39.000000000 +0000 @@ -199,8 +199,8 @@ pr_info("%s", soc_name); if ((omap_rev() >> 8) & 0x0f) - pr_info("%s", soc_rev); - pr_info("\n"); + pr_cont("%s", soc_rev); + pr_cont("\n"); } #define OMAP3_SHOW_FEATURE(feat) \ diff -Nru linux-4.19.87/arch/arm/mach-omap2/pdata-quirks.c linux-4.19.98/arch/arm/mach-omap2/pdata-quirks.c --- linux-4.19.87/arch/arm/mach-omap2/pdata-quirks.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/mach-omap2/pdata-quirks.c 2020-01-23 07:21:39.000000000 +0000 @@ -305,108 +305,15 @@ } /* omap3pandora legacy devices */ -#define PANDORA_WIFI_IRQ_GPIO 21 -#define PANDORA_WIFI_NRESET_GPIO 23 static struct platform_device pandora_backlight = { .name = "pandora-backlight", .id = -1, }; -static struct regulator_consumer_supply pandora_vmmc3_supply[] = { - REGULATOR_SUPPLY("vmmc", "omap_hsmmc.2"), -}; - -static struct regulator_init_data pandora_vmmc3 = { - .constraints = { - .valid_ops_mask = REGULATOR_CHANGE_STATUS, - }, - .num_consumer_supplies = ARRAY_SIZE(pandora_vmmc3_supply), - .consumer_supplies = pandora_vmmc3_supply, -}; - -static struct fixed_voltage_config pandora_vwlan = { - .supply_name = "vwlan", - .microvolts = 1800000, /* 1.8V */ - .gpio = PANDORA_WIFI_NRESET_GPIO, - .startup_delay = 50000, /* 50ms */ - .enable_high = 1, - .init_data = &pandora_vmmc3, -}; - -static struct platform_device pandora_vwlan_device = { - .name = "reg-fixed-voltage", - .id = 1, - .dev = { - .platform_data = &pandora_vwlan, - }, -}; - -static void pandora_wl1251_init_card(struct mmc_card *card) -{ - /* - * We have TI wl1251 attached to MMC3. Pass this information to - * SDIO core because it can't be probed by normal methods. - */ - if (card->type == MMC_TYPE_SDIO || card->type == MMC_TYPE_SD_COMBO) { - card->quirks |= MMC_QUIRK_NONSTD_SDIO; - card->cccr.wide_bus = 1; - card->cis.vendor = 0x104c; - card->cis.device = 0x9066; - card->cis.blksize = 512; - card->cis.max_dtr = 24000000; - card->ocr = 0x80; - } -} - -static struct omap2_hsmmc_info pandora_mmc3[] = { - { - .mmc = 3, - .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_POWER_OFF_CARD, - .gpio_cd = -EINVAL, - .gpio_wp = -EINVAL, - .init_card = pandora_wl1251_init_card, - }, - {} /* Terminator */ -}; - -static void __init pandora_wl1251_init(void) -{ - struct wl1251_platform_data pandora_wl1251_pdata; - int ret; - - memset(&pandora_wl1251_pdata, 0, sizeof(pandora_wl1251_pdata)); - - pandora_wl1251_pdata.power_gpio = -1; - - ret = gpio_request_one(PANDORA_WIFI_IRQ_GPIO, GPIOF_IN, "wl1251 irq"); - if (ret < 0) - goto fail; - - pandora_wl1251_pdata.irq = gpio_to_irq(PANDORA_WIFI_IRQ_GPIO); - if (pandora_wl1251_pdata.irq < 0) - goto fail_irq; - - pandora_wl1251_pdata.use_eeprom = true; - ret = wl1251_set_platform_data(&pandora_wl1251_pdata); - if (ret < 0) - goto fail_irq; - - return; - -fail_irq: - gpio_free(PANDORA_WIFI_IRQ_GPIO); -fail: - pr_err("wl1251 board initialisation failed\n"); -} - static void __init omap3_pandora_legacy_init(void) { platform_device_register(&pandora_backlight); - platform_device_register(&pandora_vwlan_device); - omap_hsmmc_init(pandora_mmc3); - omap_hsmmc_late_init(pandora_mmc3); - pandora_wl1251_init(); } #endif /* CONFIG_ARCH_OMAP3 */ diff -Nru linux-4.19.87/arch/arm/mach-tegra/reset-handler.S linux-4.19.98/arch/arm/mach-tegra/reset-handler.S --- linux-4.19.87/arch/arm/mach-tegra/reset-handler.S 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/mach-tegra/reset-handler.S 2020-01-23 07:21:39.000000000 +0000 @@ -56,16 +56,16 @@ cmp r6, #TEGRA20 beq 1f @ Yes /* Clear the flow controller flags for this CPU. */ - cpu_to_csr_reg r1, r0 + cpu_to_csr_reg r3, r0 mov32 r2, TEGRA_FLOW_CTRL_BASE - ldr r1, [r2, r1] + ldr r1, [r2, r3] /* Clear event & intr flag */ orr r1, r1, \ #FLOW_CTRL_CSR_INTR_FLAG | FLOW_CTRL_CSR_EVENT_FLAG movw r0, #0x3FFD @ enable, cluster_switch, immed, bitmaps @ & ext flags for CPU power mgnt bic r1, r1, r0 - str r1, [r2] + str r1, [r2, r3] 1: mov32 r9, 0xc09 diff -Nru linux-4.19.87/arch/arm/mach-vexpress/spc.c linux-4.19.98/arch/arm/mach-vexpress/spc.c --- linux-4.19.87/arch/arm/mach-vexpress/spc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/mach-vexpress/spc.c 2020-01-23 07:21:39.000000000 +0000 @@ -551,8 +551,9 @@ static int __init ve_spc_clk_init(void) { - int cpu; + int cpu, cluster; struct clk *clk; + bool init_opp_table[MAX_CLUSTERS] = { false }; if (!info) return 0; /* Continue only if SPC is initialised */ @@ -578,8 +579,17 @@ continue; } + cluster = topology_physical_package_id(cpu_dev->id); + if (init_opp_table[cluster]) + continue; + if (ve_init_opp_table(cpu_dev)) pr_warn("failed to initialise cpu%d opp table\n", cpu); + else if (dev_pm_opp_set_sharing_cpus(cpu_dev, + topology_core_cpumask(cpu_dev->id))) + pr_warn("failed to mark OPPs shared for cpu%d\n", cpu); + else + init_opp_table[cluster] = true; } platform_device_register_simple("vexpress-spc-cpufreq", -1, NULL, 0); diff -Nru linux-4.19.87/arch/arm/mm/proc-v7-bugs.c linux-4.19.98/arch/arm/mm/proc-v7-bugs.c --- linux-4.19.87/arch/arm/mm/proc-v7-bugs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm/mm/proc-v7-bugs.c 2020-01-23 07:21:39.000000000 +0000 @@ -65,6 +65,9 @@ break; #ifdef CONFIG_ARM_PSCI + case ARM_CPU_PART_BRAHMA_B53: + /* Requires no workaround */ + break; default: /* Other ARM CPUs require no workaround */ if (read_cpuid_implementor() == ARM_CPU_IMP_ARM) diff -Nru linux-4.19.87/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts linux-4.19.98/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts --- linux-4.19.87/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts 2020-01-23 07:21:39.000000000 +0000 @@ -77,7 +77,7 @@ &mmc1 { pinctrl-names = "default"; pinctrl-0 = <&mmc1_pins>; - vmmc-supply = <®_aldo2>; + vmmc-supply = <®_dcdc1>; vqmmc-supply = <®_dldo4>; mmc-pwrseq = <&wifi_pwrseq>; bus-width = <4>; diff -Nru linux-4.19.87/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi linux-4.19.98/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi --- linux-4.19.87/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -59,10 +59,10 @@ pmu { compatible = "arm,armv8-pmuv3"; - interrupts = <0 120 8>, - <0 121 8>, - <0 122 8>, - <0 123 8>; + interrupts = <0 170 4>, + <0 171 4>, + <0 172 4>, + <0 173 4>; interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, diff -Nru linux-4.19.87/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts linux-4.19.98/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts --- linux-4.19.87/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts 2020-01-23 07:21:39.000000000 +0000 @@ -191,7 +191,7 @@ pinctrl-names = "default"; }; -&pinctrl_aobus { +&gpio_ao { gpio-line-names = "UART TX", "UART RX", "Power Control", "Power Key In", "VCCK En", "CON1 Header Pin31", "I2S Header Pin6", "IR In", "I2S Header Pin7", @@ -201,7 +201,7 @@ ""; }; -&pinctrl_periphs { +&gpio { gpio-line-names = /* Bank GPIOZ */ "Eth MDIO", "Eth MDC", "Eth RGMII RX Clk", "Eth RX DV", "Eth RX D0", "Eth RX D1", "Eth RX D2", diff -Nru linux-4.19.87/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts linux-4.19.98/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts --- linux-4.19.87/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts 2020-01-23 07:21:39.000000000 +0000 @@ -187,7 +187,7 @@ pinctrl-names = "default"; }; -&pinctrl_aobus { +&gpio_ao { gpio-line-names = "UART TX", "UART RX", "VCCK En", "TF 3V3/1V8 En", "USB HUB nRESET", "USB OTG Power En", "J7 Header Pin2", "IR In", "J7 Header Pin4", @@ -197,7 +197,7 @@ ""; }; -&pinctrl_periphs { +&gpio { gpio-line-names = /* Bank GPIOZ */ "Eth MDIO", "Eth MDC", "Eth RGMII RX Clk", "Eth RX DV", "Eth RX D0", "Eth RX D1", "Eth RX D2", @@ -293,7 +293,7 @@ }; &usb0_phy { - status = "okay"; + status = "disabled"; phy-supply = <&usb_otg_pwr>; }; @@ -303,7 +303,7 @@ }; &usb0 { - status = "okay"; + status = "disabled"; }; &usb1 { diff -Nru linux-4.19.87/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts linux-4.19.98/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts --- linux-4.19.87/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts 2020-01-23 07:21:39.000000000 +0000 @@ -33,11 +33,9 @@ gpio-keys-polled { compatible = "gpio-keys-polled"; - #address-cells = <1>; - #size-cells = <0>; poll-interval = <100>; - button@0 { + power-button { label = "power"; linux,code = ; gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; @@ -112,7 +110,7 @@ linux,rc-map-name = "rc-geekbox"; }; -&pinctrl_aobus { +&gpio_ao { gpio-line-names = "UART TX", "UART RX", "Power Key In", @@ -127,7 +125,7 @@ ""; }; -&pinctrl_periphs { +&gpio { gpio-line-names = /* Bank GPIOZ */ "", "", "", "", "", "", "", "", "", "", "", "", "", "", diff -Nru linux-4.19.87/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts linux-4.19.98/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts --- linux-4.19.87/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts 2020-01-23 07:21:39.000000000 +0000 @@ -163,7 +163,7 @@ }; }; -&pinctrl_aobus { +&gpio_ao { gpio-line-names = "UART TX", "UART RX", "Blue LED", @@ -178,7 +178,7 @@ "7J1 Header Pin15"; }; -&pinctrl_periphs { +&gpio { gpio-line-names = /* Bank GPIOZ */ "", "", "", "", "", "", "", "", "", "", "", "", "", "", diff -Nru linux-4.19.87/arch/arm64/boot/dts/arm/juno-base.dtsi linux-4.19.98/arch/arm64/boot/dts/arm/juno-base.dtsi --- linux-4.19.87/arch/arm64/boot/dts/arm/juno-base.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/boot/dts/arm/juno-base.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -6,7 +6,6 @@ /* * Devices shared by all Juno boards */ - dma-ranges = <0 0 0 0 0x100 0>; memtimer: timer@2a810000 { compatible = "arm,armv7-timer-mem"; diff -Nru linux-4.19.87/arch/arm64/boot/dts/exynos/exynos5433.dtsi linux-4.19.98/arch/arm64/boot/dts/exynos/exynos5433.dtsi --- linux-4.19.87/arch/arm64/boot/dts/exynos/exynos5433.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/boot/dts/exynos/exynos5433.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -18,8 +18,8 @@ / { compatible = "samsung,exynos5433"; - #address-cells = <1>; - #size-cells = <1>; + #address-cells = <2>; + #size-cells = <2>; interrupt-parent = <&gic>; @@ -235,7 +235,7 @@ compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; - ranges; + ranges = <0x0 0x0 0x0 0x18000000>; arm_a53_pmu { compatible = "arm,cortex-a53-pmu", "arm,armv8-pmuv3"; diff -Nru linux-4.19.87/arch/arm64/boot/dts/exynos/exynos7.dtsi linux-4.19.98/arch/arm64/boot/dts/exynos/exynos7.dtsi --- linux-4.19.87/arch/arm64/boot/dts/exynos/exynos7.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/boot/dts/exynos/exynos7.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -12,8 +12,8 @@ / { compatible = "samsung,exynos7"; interrupt-parent = <&gic>; - #address-cells = <1>; - #size-cells = <1>; + #address-cells = <2>; + #size-cells = <2>; aliases { pinctrl0 = &pinctrl_alive; @@ -70,7 +70,7 @@ compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; - ranges; + ranges = <0 0 0 0x18000000>; chipid@10000000 { compatible = "samsung,exynos4210-chipid"; diff -Nru linux-4.19.87/arch/arm64/boot/dts/marvell/armada-cp110.dtsi linux-4.19.98/arch/arm64/boot/dts/marvell/armada-cp110.dtsi --- linux-4.19.87/arch/arm64/boot/dts/marvell/armada-cp110.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/boot/dts/marvell/armada-cp110.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -359,10 +359,10 @@ CP110_LABEL(nand_controller): nand@720000 { /* - * Due to the limitation of the pins available - * this controller is only usable on the CPM - * for A7K and on the CPS for A8K. - */ + * Due to the limitation of the pins available + * this controller is only usable on the CPM + * for A7K and on the CPS for A8K. + */ compatible = "marvell,armada-8k-nand-controller", "marvell,armada370-nand-controller"; reg = <0x720000 0x54>; diff -Nru linux-4.19.87/arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi linux-4.19.98/arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi --- linux-4.19.87/arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -1589,7 +1589,7 @@ regulator-name = "VDD_HDMI_5V0"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; - gpio = <&exp1 12 GPIO_ACTIVE_LOW>; + gpio = <&exp1 12 GPIO_ACTIVE_HIGH>; enable-active-high; vin-supply = <&vdd_5v0_sys>; }; diff -Nru linux-4.19.87/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi linux-4.19.98/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi --- linux-4.19.87/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -580,6 +580,8 @@ l21 { regulator-min-microvolt = <2950000>; regulator-max-microvolt = <2950000>; + regulator-allow-set-load; + regulator-system-load = <200000>; }; l22 { regulator-min-microvolt = <3300000>; diff -Nru linux-4.19.87/arch/arm64/boot/dts/renesas/r8a77995-draak.dts linux-4.19.98/arch/arm64/boot/dts/renesas/r8a77995-draak.dts --- linux-4.19.87/arch/arm64/boot/dts/renesas/r8a77995-draak.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/boot/dts/renesas/r8a77995-draak.dts 2020-01-23 07:21:39.000000000 +0000 @@ -188,7 +188,7 @@ compatible = "adi,adv7180cp"; reg = <0x20>; - port { + ports { #address-cells = <1>; #size-cells = <0>; diff -Nru linux-4.19.87/arch/arm64/boot/dts/xilinx/zynqmp-clk.dtsi linux-4.19.98/arch/arm64/boot/dts/xilinx/zynqmp-clk.dtsi --- linux-4.19.87/arch/arm64/boot/dts/xilinx/zynqmp-clk.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/boot/dts/xilinx/zynqmp-clk.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -58,13 +58,13 @@ clock-accuracy = <100>; }; - dpdma_clk: dpdma_clk { + dpdma_clk: dpdma-clk { compatible = "fixed-clock"; #clock-cells = <0x0>; clock-frequency = <533000000>; }; - drm_clock: drm_clock { + drm_clock: drm-clock { compatible = "fixed-clock"; #clock-cells = <0x0>; clock-frequency = <262750000>; diff -Nru linux-4.19.87/arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts linux-4.19.98/arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts --- linux-4.19.87/arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts 2020-01-23 07:21:39.000000000 +0000 @@ -82,7 +82,7 @@ linux,default-trigger = "bluetooth-power"; }; - vbus_det { /* U5 USB5744 VBUS detection via MIO25 */ + vbus-det { /* U5 USB5744 VBUS detection via MIO25 */ label = "vbus_det"; gpios = <&gpio 25 GPIO_ACTIVE_HIGH>; default-state = "on"; @@ -98,7 +98,7 @@ regulator-boot-on; }; - sdio_pwrseq: sdio_pwrseq { + sdio_pwrseq: sdio-pwrseq { compatible = "mmc-pwrseq-simple"; reset-gpios = <&gpio 7 GPIO_ACTIVE_LOW>; /* WIFI_EN */ post-power-on-delay-ms = <10>; diff -Nru linux-4.19.87/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts linux-4.19.98/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts --- linux-4.19.87/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts 2020-01-23 07:21:39.000000000 +0000 @@ -53,7 +53,7 @@ leds { compatible = "gpio-leds"; - heartbeat_led { + heartbeat-led { label = "heartbeat"; gpios = <&gpio 23 GPIO_ACTIVE_HIGH>; linux,default-trigger = "heartbeat"; @@ -139,25 +139,25 @@ * 7, 10 - 17 - not connected */ - gtr_sel0 { + gtr-sel0 { gpio-hog; gpios = <0 0>; output-low; /* PCIE = 0, DP = 1 */ line-name = "sel0"; }; - gtr_sel1 { + gtr-sel1 { gpio-hog; gpios = <1 0>; output-high; /* PCIE = 0, DP = 1 */ line-name = "sel1"; }; - gtr_sel2 { + gtr-sel2 { gpio-hog; gpios = <2 0>; output-high; /* PCIE = 0, USB0 = 1 */ line-name = "sel2"; }; - gtr_sel3 { + gtr-sel3 { gpio-hog; gpios = <3 0>; output-high; /* PCIE = 0, SATA = 1 */ diff -Nru linux-4.19.87/arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts linux-4.19.98/arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts --- linux-4.19.87/arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts 2020-01-23 07:21:39.000000000 +0000 @@ -53,7 +53,7 @@ leds { compatible = "gpio-leds"; - heartbeat_led { + heartbeat-led { label = "heartbeat"; gpios = <&gpio 23 GPIO_ACTIVE_HIGH>; linux,default-trigger = "heartbeat"; diff -Nru linux-4.19.87/arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts linux-4.19.98/arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts --- linux-4.19.87/arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts 2020-01-23 07:21:39.000000000 +0000 @@ -53,7 +53,7 @@ leds { compatible = "gpio-leds"; - heartbeat_led { + heartbeat-led { label = "heartbeat"; gpios = <&gpio 23 GPIO_ACTIVE_HIGH>; linux,default-trigger = "heartbeat"; diff -Nru linux-4.19.87/arch/arm64/boot/dts/xilinx/zynqmp.dtsi linux-4.19.98/arch/arm64/boot/dts/xilinx/zynqmp.dtsi --- linux-4.19.87/arch/arm64/boot/dts/xilinx/zynqmp.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/boot/dts/xilinx/zynqmp.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -71,7 +71,7 @@ }; }; - cpu_opp_table: cpu_opp_table { + cpu_opp_table: cpu-opp-table { compatible = "operating-points-v2"; opp-shared; opp00 { @@ -124,7 +124,7 @@ <1 10 0xf08>; }; - amba_apu: amba_apu@0 { + amba_apu: amba-apu@0 { compatible = "simple-bus"; #address-cells = <2>; #size-cells = <1>; diff -Nru linux-4.19.87/arch/arm64/include/asm/pgtable-prot.h linux-4.19.98/arch/arm64/include/asm/pgtable-prot.h --- linux-4.19.87/arch/arm64/include/asm/pgtable-prot.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/include/asm/pgtable-prot.h 2020-01-23 07:21:39.000000000 +0000 @@ -96,13 +96,12 @@ #define PAGE_SHARED_EXEC __pgprot(_PAGE_DEFAULT | PTE_USER | PTE_RDONLY | PTE_NG | PTE_PXN | PTE_WRITE) #define PAGE_READONLY __pgprot(_PAGE_DEFAULT | PTE_USER | PTE_RDONLY | PTE_NG | PTE_PXN | PTE_UXN) #define PAGE_READONLY_EXEC __pgprot(_PAGE_DEFAULT | PTE_USER | PTE_RDONLY | PTE_NG | PTE_PXN) -#define PAGE_EXECONLY __pgprot(_PAGE_DEFAULT | PTE_RDONLY | PTE_NG | PTE_PXN) #define __P000 PAGE_NONE #define __P001 PAGE_READONLY #define __P010 PAGE_READONLY #define __P011 PAGE_READONLY -#define __P100 PAGE_EXECONLY +#define __P100 PAGE_READONLY_EXEC #define __P101 PAGE_READONLY_EXEC #define __P110 PAGE_READONLY_EXEC #define __P111 PAGE_READONLY_EXEC @@ -111,7 +110,7 @@ #define __S001 PAGE_READONLY #define __S010 PAGE_SHARED #define __S011 PAGE_SHARED -#define __S100 PAGE_EXECONLY +#define __S100 PAGE_READONLY_EXEC #define __S101 PAGE_READONLY_EXEC #define __S110 PAGE_SHARED_EXEC #define __S111 PAGE_SHARED_EXEC diff -Nru linux-4.19.87/arch/arm64/include/asm/pgtable.h linux-4.19.98/arch/arm64/include/asm/pgtable.h --- linux-4.19.87/arch/arm64/include/asm/pgtable.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/include/asm/pgtable.h 2020-01-23 07:21:39.000000000 +0000 @@ -105,12 +105,8 @@ #define pte_dirty(pte) (pte_sw_dirty(pte) || pte_hw_dirty(pte)) #define pte_valid(pte) (!!(pte_val(pte) & PTE_VALID)) -/* - * Execute-only user mappings do not have the PTE_USER bit set. All valid - * kernel mappings have the PTE_UXN bit set. - */ #define pte_valid_not_user(pte) \ - ((pte_val(pte) & (PTE_VALID | PTE_USER | PTE_UXN)) == (PTE_VALID | PTE_UXN)) + ((pte_val(pte) & (PTE_VALID | PTE_USER)) == PTE_VALID) #define pte_valid_young(pte) \ ((pte_val(pte) & (PTE_VALID | PTE_AF)) == (PTE_VALID | PTE_AF)) #define pte_valid_user(pte) \ @@ -126,8 +122,8 @@ /* * p??_access_permitted() is true for valid user mappings (subject to the - * write permission check) other than user execute-only which do not have the - * PTE_USER bit set. PROT_NONE mappings do not have the PTE_VALID bit set. + * write permission check). PROT_NONE mappings do not have the PTE_VALID bit + * set. */ #define pte_access_permitted(pte, write) \ (pte_valid_user(pte) && (!(write) || pte_write(pte))) diff -Nru linux-4.19.87/arch/arm64/kernel/head.S linux-4.19.98/arch/arm64/kernel/head.S --- linux-4.19.87/arch/arm64/kernel/head.S 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/kernel/head.S 2020-01-23 07:21:39.000000000 +0000 @@ -703,6 +703,7 @@ /* * Common entry point for secondary CPUs. */ + bl __cpu_secondary_check52bitva bl __cpu_setup // initialise processor bl __enable_mmu ldr x8, =__secondary_switched @@ -779,6 +780,31 @@ ret ENDPROC(__enable_mmu) +ENTRY(__cpu_secondary_check52bitva) +#ifdef CONFIG_ARM64_52BIT_VA + ldr_l x0, vabits_user + cmp x0, #52 + b.ne 2f + + mrs_s x0, SYS_ID_AA64MMFR2_EL1 + and x0, x0, #(0xf << ID_AA64MMFR2_LVA_SHIFT) + cbnz x0, 2f + + adr_l x0, va52mismatch + mov w1, #1 + strb w1, [x0] + dmb sy + dc ivac, x0 // Invalidate potentially stale cache line + + update_early_cpu_boot_status CPU_STUCK_IN_KERNEL, x0, x1 +1: wfe + wfi + b 1b + +#endif +2: ret +ENDPROC(__cpu_secondary_check52bitva) + __no_granule_support: /* Indicate that this CPU can't boot and is stuck in the kernel */ update_early_cpu_boot_status CPU_STUCK_IN_KERNEL, x1, x2 diff -Nru linux-4.19.87/arch/arm64/kernel/psci.c linux-4.19.98/arch/arm64/kernel/psci.c --- linux-4.19.87/arch/arm64/kernel/psci.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/kernel/psci.c 2020-01-23 07:21:39.000000000 +0000 @@ -84,7 +84,8 @@ static int cpu_psci_cpu_kill(unsigned int cpu) { - int err, i; + int err; + unsigned long start, end; if (!psci_ops.affinity_info) return 0; @@ -94,16 +95,18 @@ * while it is dying. So, try again a few times. */ - for (i = 0; i < 10; i++) { + start = jiffies; + end = start + msecs_to_jiffies(100); + do { err = psci_ops.affinity_info(cpu_logical_map(cpu), 0); if (err == PSCI_0_2_AFFINITY_LEVEL_OFF) { - pr_info("CPU%d killed.\n", cpu); + pr_info("CPU%d killed (polled %d ms)\n", cpu, + jiffies_to_msecs(jiffies - start)); return 0; } - msleep(10); - pr_info("Retrying again to check for CPU kill\n"); - } + usleep_range(100, 1000); + } while (time_before(jiffies, end)); pr_warn("CPU%d may not have shut down cleanly (AFFINITY_INFO reports %d)\n", cpu, err); diff -Nru linux-4.19.87/arch/arm64/kernel/smp.c linux-4.19.98/arch/arm64/kernel/smp.c --- linux-4.19.87/arch/arm64/kernel/smp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/kernel/smp.c 2020-01-23 07:21:39.000000000 +0000 @@ -108,6 +108,7 @@ } static DECLARE_COMPLETION(cpu_running); +bool va52mismatch __ro_after_init; int __cpu_up(unsigned int cpu, struct task_struct *idle) { @@ -137,10 +138,15 @@ if (!cpu_online(cpu)) { pr_crit("CPU%u: failed to come online\n", cpu); + + if (IS_ENABLED(CONFIG_ARM64_52BIT_VA) && va52mismatch) + pr_crit("CPU%u: does not support 52-bit VAs\n", cpu); + ret = -EIO; } } else { pr_err("CPU%u: failed to boot: %d\n", cpu, ret); + return ret; } secondary_data.task = NULL; diff -Nru linux-4.19.87/arch/arm64/kvm/sys_regs.c linux-4.19.98/arch/arm64/kvm/sys_regs.c --- linux-4.19.87/arch/arm64/kvm/sys_regs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/kvm/sys_regs.c 2020-01-23 07:21:39.000000000 +0000 @@ -2174,8 +2174,11 @@ if ((id & KVM_REG_ARM_COPROC_MASK) != KVM_REG_ARM64_SYSREG) return NULL; + if (!index_to_params(id, ¶ms)) + return NULL; + table = get_target_table(vcpu->arch.target, true, &num); - r = find_reg_by_id(id, ¶ms, table, num); + r = find_reg(¶ms, table, num); if (!r) r = find_reg(¶ms, sys_reg_descs, ARRAY_SIZE(sys_reg_descs)); diff -Nru linux-4.19.87/arch/arm64/mm/fault.c linux-4.19.98/arch/arm64/mm/fault.c --- linux-4.19.87/arch/arm64/mm/fault.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/arm64/mm/fault.c 2020-01-23 07:21:39.000000000 +0000 @@ -428,7 +428,7 @@ struct mm_struct *mm; struct siginfo si; vm_fault_t fault, major = 0; - unsigned long vm_flags = VM_READ | VM_WRITE; + unsigned long vm_flags = VM_READ | VM_WRITE | VM_EXEC; unsigned int mm_flags = FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE; if (notify_page_fault(regs, esr)) diff -Nru linux-4.19.87/arch/hexagon/include/asm/atomic.h linux-4.19.98/arch/hexagon/include/asm/atomic.h --- linux-4.19.87/arch/hexagon/include/asm/atomic.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/hexagon/include/asm/atomic.h 2020-01-23 07:21:39.000000000 +0000 @@ -105,7 +105,7 @@ "1: %0 = memw_locked(%1);\n" \ " %0 = "#op "(%0,%2);\n" \ " memw_locked(%1,P3)=%0;\n" \ - " if !P3 jump 1b;\n" \ + " if (!P3) jump 1b;\n" \ : "=&r" (output) \ : "r" (&v->counter), "r" (i) \ : "memory", "p3" \ @@ -121,7 +121,7 @@ "1: %0 = memw_locked(%1);\n" \ " %0 = "#op "(%0,%2);\n" \ " memw_locked(%1,P3)=%0;\n" \ - " if !P3 jump 1b;\n" \ + " if (!P3) jump 1b;\n" \ : "=&r" (output) \ : "r" (&v->counter), "r" (i) \ : "memory", "p3" \ @@ -138,7 +138,7 @@ "1: %0 = memw_locked(%2);\n" \ " %1 = "#op "(%0,%3);\n" \ " memw_locked(%2,P3)=%1;\n" \ - " if !P3 jump 1b;\n" \ + " if (!P3) jump 1b;\n" \ : "=&r" (output), "=&r" (val) \ : "r" (&v->counter), "r" (i) \ : "memory", "p3" \ @@ -187,7 +187,7 @@ " }" " memw_locked(%2, p3) = %1;" " {" - " if !p3 jump 1b;" + " if (!p3) jump 1b;" " }" "2:" : "=&r" (__oldval), "=&r" (tmp) diff -Nru linux-4.19.87/arch/hexagon/include/asm/bitops.h linux-4.19.98/arch/hexagon/include/asm/bitops.h --- linux-4.19.87/arch/hexagon/include/asm/bitops.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/hexagon/include/asm/bitops.h 2020-01-23 07:21:39.000000000 +0000 @@ -52,7 +52,7 @@ "1: R12 = memw_locked(R10);\n" " { P0 = tstbit(R12,R11); R12 = clrbit(R12,R11); }\n" " memw_locked(R10,P1) = R12;\n" - " {if !P1 jump 1b; %0 = mux(P0,#1,#0);}\n" + " {if (!P1) jump 1b; %0 = mux(P0,#1,#0);}\n" : "=&r" (oldval) : "r" (addr), "r" (nr) : "r10", "r11", "r12", "p0", "p1", "memory" @@ -76,7 +76,7 @@ "1: R12 = memw_locked(R10);\n" " { P0 = tstbit(R12,R11); R12 = setbit(R12,R11); }\n" " memw_locked(R10,P1) = R12;\n" - " {if !P1 jump 1b; %0 = mux(P0,#1,#0);}\n" + " {if (!P1) jump 1b; %0 = mux(P0,#1,#0);}\n" : "=&r" (oldval) : "r" (addr), "r" (nr) : "r10", "r11", "r12", "p0", "p1", "memory" @@ -102,7 +102,7 @@ "1: R12 = memw_locked(R10);\n" " { P0 = tstbit(R12,R11); R12 = togglebit(R12,R11); }\n" " memw_locked(R10,P1) = R12;\n" - " {if !P1 jump 1b; %0 = mux(P0,#1,#0);}\n" + " {if (!P1) jump 1b; %0 = mux(P0,#1,#0);}\n" : "=&r" (oldval) : "r" (addr), "r" (nr) : "r10", "r11", "r12", "p0", "p1", "memory" @@ -237,7 +237,7 @@ int r; asm("{ P0 = cmp.eq(%1,#0); %0 = ct0(%1);}\n" - "{ if P0 %0 = #0; if !P0 %0 = add(%0,#1);}\n" + "{ if (P0) %0 = #0; if (!P0) %0 = add(%0,#1);}\n" : "=&r" (r) : "r" (x) : "p0"); diff -Nru linux-4.19.87/arch/hexagon/include/asm/cmpxchg.h linux-4.19.98/arch/hexagon/include/asm/cmpxchg.h --- linux-4.19.87/arch/hexagon/include/asm/cmpxchg.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/hexagon/include/asm/cmpxchg.h 2020-01-23 07:21:39.000000000 +0000 @@ -44,7 +44,7 @@ __asm__ __volatile__ ( "1: %0 = memw_locked(%1);\n" /* load into retval */ " memw_locked(%1,P0) = %2;\n" /* store into memory */ - " if !P0 jump 1b;\n" + " if (!P0) jump 1b;\n" : "=&r" (retval) : "r" (ptr), "r" (x) : "memory", "p0" diff -Nru linux-4.19.87/arch/hexagon/include/asm/futex.h linux-4.19.98/arch/hexagon/include/asm/futex.h --- linux-4.19.87/arch/hexagon/include/asm/futex.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/hexagon/include/asm/futex.h 2020-01-23 07:21:39.000000000 +0000 @@ -16,7 +16,7 @@ /* For example: %1 = %4 */ \ insn \ "2: memw_locked(%3,p2) = %1;\n" \ - " if !p2 jump 1b;\n" \ + " if (!p2) jump 1b;\n" \ " %1 = #0;\n" \ "3:\n" \ ".section .fixup,\"ax\"\n" \ @@ -84,10 +84,10 @@ "1: %1 = memw_locked(%3)\n" " {\n" " p2 = cmp.eq(%1,%4)\n" - " if !p2.new jump:NT 3f\n" + " if (!p2.new) jump:NT 3f\n" " }\n" "2: memw_locked(%3,p2) = %5\n" - " if !p2 jump 1b\n" + " if (!p2) jump 1b\n" "3:\n" ".section .fixup,\"ax\"\n" "4: %0 = #%6\n" diff -Nru linux-4.19.87/arch/hexagon/include/asm/spinlock.h linux-4.19.98/arch/hexagon/include/asm/spinlock.h --- linux-4.19.87/arch/hexagon/include/asm/spinlock.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/hexagon/include/asm/spinlock.h 2020-01-23 07:21:39.000000000 +0000 @@ -44,9 +44,9 @@ __asm__ __volatile__( "1: R6 = memw_locked(%0);\n" " { P3 = cmp.ge(R6,#0); R6 = add(R6,#1);}\n" - " { if !P3 jump 1b; }\n" + " { if (!P3) jump 1b; }\n" " memw_locked(%0,P3) = R6;\n" - " { if !P3 jump 1b; }\n" + " { if (!P3) jump 1b; }\n" : : "r" (&lock->lock) : "memory", "r6", "p3" @@ -60,7 +60,7 @@ "1: R6 = memw_locked(%0);\n" " R6 = add(R6,#-1);\n" " memw_locked(%0,P3) = R6\n" - " if !P3 jump 1b;\n" + " if (!P3) jump 1b;\n" : : "r" (&lock->lock) : "memory", "r6", "p3" @@ -75,7 +75,7 @@ __asm__ __volatile__( " R6 = memw_locked(%1);\n" " { %0 = #0; P3 = cmp.ge(R6,#0); R6 = add(R6,#1);}\n" - " { if !P3 jump 1f; }\n" + " { if (!P3) jump 1f; }\n" " memw_locked(%1,P3) = R6;\n" " { %0 = P3 }\n" "1:\n" @@ -92,9 +92,9 @@ __asm__ __volatile__( "1: R6 = memw_locked(%0)\n" " { P3 = cmp.eq(R6,#0); R6 = #-1;}\n" - " { if !P3 jump 1b; }\n" + " { if (!P3) jump 1b; }\n" " memw_locked(%0,P3) = R6;\n" - " { if !P3 jump 1b; }\n" + " { if (!P3) jump 1b; }\n" : : "r" (&lock->lock) : "memory", "r6", "p3" @@ -108,7 +108,7 @@ __asm__ __volatile__( " R6 = memw_locked(%1)\n" " { %0 = #0; P3 = cmp.eq(R6,#0); R6 = #-1;}\n" - " { if !P3 jump 1f; }\n" + " { if (!P3) jump 1f; }\n" " memw_locked(%1,P3) = R6;\n" " %0 = P3;\n" "1:\n" @@ -131,9 +131,9 @@ __asm__ __volatile__( "1: R6 = memw_locked(%0);\n" " P3 = cmp.eq(R6,#0);\n" - " { if !P3 jump 1b; R6 = #1; }\n" + " { if (!P3) jump 1b; R6 = #1; }\n" " memw_locked(%0,P3) = R6;\n" - " { if !P3 jump 1b; }\n" + " { if (!P3) jump 1b; }\n" : : "r" (&lock->lock) : "memory", "r6", "p3" @@ -153,7 +153,7 @@ __asm__ __volatile__( " R6 = memw_locked(%1);\n" " P3 = cmp.eq(R6,#0);\n" - " { if !P3 jump 1f; R6 = #1; %0 = #0; }\n" + " { if (!P3) jump 1f; R6 = #1; %0 = #0; }\n" " memw_locked(%1,P3) = R6;\n" " %0 = P3;\n" "1:\n" diff -Nru linux-4.19.87/arch/hexagon/kernel/stacktrace.c linux-4.19.98/arch/hexagon/kernel/stacktrace.c --- linux-4.19.87/arch/hexagon/kernel/stacktrace.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/hexagon/kernel/stacktrace.c 2020-01-23 07:21:39.000000000 +0000 @@ -24,8 +24,6 @@ #include #include -register unsigned long current_frame_pointer asm("r30"); - struct stackframe { unsigned long fp; unsigned long rets; @@ -43,7 +41,7 @@ low = (unsigned long)task_stack_page(current); high = low + THREAD_SIZE; - fp = current_frame_pointer; + fp = (unsigned long)__builtin_frame_address(0); while (fp >= low && fp <= (high - sizeof(*frame))) { frame = (struct stackframe *)fp; diff -Nru linux-4.19.87/arch/hexagon/kernel/vm_entry.S linux-4.19.98/arch/hexagon/kernel/vm_entry.S --- linux-4.19.87/arch/hexagon/kernel/vm_entry.S 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/hexagon/kernel/vm_entry.S 2020-01-23 07:21:39.000000000 +0000 @@ -382,7 +382,7 @@ R26.L = #LO(do_work_pending); R0 = #VM_INT_DISABLE; } - if P0 jump check_work_pending + if (P0) jump check_work_pending { R0 = R25; callr R24 diff -Nru linux-4.19.87/arch/microblaze/Makefile linux-4.19.98/arch/microblaze/Makefile --- linux-4.19.87/arch/microblaze/Makefile 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/microblaze/Makefile 2020-01-23 07:21:39.000000000 +0000 @@ -83,19 +83,21 @@ linux.bin linux.bin.gz linux.bin.ub: vmlinux $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ + @echo 'Kernel: $(boot)/$@ is ready' ' (#'`cat .version`')' simpleImage.%: vmlinux - $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ + $(Q)$(MAKE) $(build)=$(boot) $(addprefix $(boot)/$@., ub unstrip strip) + @echo 'Kernel: $(boot)/$@ is ready' ' (#'`cat .version`')' define archhelp echo '* linux.bin - Create raw binary' echo ' linux.bin.gz - Create compressed raw binary' echo ' linux.bin.ub - Create U-Boot wrapped raw binary' - echo ' simpleImage.
- ELF image with $(arch)/boot/dts/
.dts linked in' - echo ' - stripped elf with fdt blob' - echo ' simpleImage.
.unstrip - full ELF image with fdt blob' - echo ' *_defconfig - Select default config from arch/microblaze/configs' - echo '' + echo ' simpleImage.
- Create the following images with
.dtb linked in' + echo ' simpleImage.
: raw image' + echo ' simpleImage.
.ub : raw image with U-Boot header' + echo ' simpleImage.
.unstrip: ELF (identical to vmlinux)' + echo ' simpleImage.
.strip : stripped ELF' echo ' Targets with
embed a device tree blob inside the image' echo ' These targets support board with firmware that does not' echo ' support passing a device tree directly. Replace
with the' diff -Nru linux-4.19.87/arch/microblaze/boot/Makefile linux-4.19.98/arch/microblaze/boot/Makefile --- linux-4.19.87/arch/microblaze/boot/Makefile 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/microblaze/boot/Makefile 2020-01-23 07:21:39.000000000 +0000 @@ -3,38 +3,33 @@ # arch/microblaze/boot/Makefile # -targets := linux.bin linux.bin.gz linux.bin.ub simpleImage.% +targets := linux.bin linux.bin.gz linux.bin.ub simpleImage.* OBJCOPYFLAGS := -R .note -R .comment -R .note.gnu.build-id -O binary $(obj)/linux.bin: vmlinux FORCE $(call if_changed,objcopy) - @echo 'Kernel: $@ is ready' ' (#'`cat .version`')' $(obj)/linux.bin.ub: $(obj)/linux.bin FORCE $(call if_changed,uimage) - @echo 'Kernel: $@ is ready' ' (#'`cat .version`')' $(obj)/linux.bin.gz: $(obj)/linux.bin FORCE $(call if_changed,gzip) - @echo 'Kernel: $@ is ready' ' (#'`cat .version`')' - -quiet_cmd_cp = CP $< $@$2 - cmd_cp = cat $< >$@$2 || (rm -f $@ && echo false) quiet_cmd_strip = STRIP $< $@$2 cmd_strip = $(STRIP) -K microblaze_start -K _end -K __log_buf \ -K _fdt_start $< -o $@$2 UIMAGE_LOADADDR = $(CONFIG_KERNEL_BASE_ADDR) -UIMAGE_IN = $@ -UIMAGE_OUT = $@.ub -$(obj)/simpleImage.%: vmlinux FORCE - $(call if_changed,cp,.unstrip) +$(obj)/simpleImage.$(DTB): vmlinux FORCE $(call if_changed,objcopy) + +$(obj)/simpleImage.$(DTB).ub: $(obj)/simpleImage.$(DTB) FORCE $(call if_changed,uimage) - $(call if_changed,strip,.strip) - @echo 'Kernel: $(UIMAGE_OUT) is ready' ' (#'`cat .version`')' -clean-files += simpleImage.*.unstrip linux.bin.ub +$(obj)/simpleImage.$(DTB).unstrip: vmlinux FORCE + $(call if_changed,shipped) + +$(obj)/simpleImage.$(DTB).strip: vmlinux FORCE + $(call if_changed,strip) diff -Nru linux-4.19.87/arch/mips/Kconfig linux-4.19.98/arch/mips/Kconfig --- linux-4.19.87/arch/mips/Kconfig 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/mips/Kconfig 2020-01-23 07:21:39.000000000 +0000 @@ -806,6 +806,7 @@ select SYS_SUPPORTS_BIG_ENDIAN select SYS_SUPPORTS_HIGHMEM select SYS_SUPPORTS_LITTLE_ENDIAN + select ZONE_DMA32 if 64BIT config SIBYTE_SENTOSA bool "Sibyte BCM91250E-Sentosa" diff -Nru linux-4.19.87/arch/mips/boot/compressed/Makefile linux-4.19.98/arch/mips/boot/compressed/Makefile --- linux-4.19.87/arch/mips/boot/compressed/Makefile 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/mips/boot/compressed/Makefile 2020-01-23 07:21:39.000000000 +0000 @@ -29,6 +29,9 @@ -DBOOT_HEAP_SIZE=$(BOOT_HEAP_SIZE) \ -DKERNEL_ENTRY=$(VMLINUX_ENTRY_ADDRESS) +# Prevents link failures: __sanitizer_cov_trace_pc() is not linked in. +KCOV_INSTRUMENT := n + # decompressor objects (linked with vmlinuz) vmlinuzobjs-y := $(obj)/head.o $(obj)/decompress.o $(obj)/string.o diff -Nru linux-4.19.87/arch/mips/cavium-octeon/executive/cvmx-cmd-queue.c linux-4.19.98/arch/mips/cavium-octeon/executive/cvmx-cmd-queue.c --- linux-4.19.87/arch/mips/cavium-octeon/executive/cvmx-cmd-queue.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/mips/cavium-octeon/executive/cvmx-cmd-queue.c 2020-01-23 07:21:39.000000000 +0000 @@ -266,7 +266,7 @@ } else { union cvmx_pko_mem_debug8 debug8; debug8.u64 = cvmx_read_csr(CVMX_PKO_MEM_DEBUG8); - return debug8.cn58xx.doorbell; + return debug8.cn50xx.doorbell; } case CVMX_CMD_QUEUE_ZIP: case CVMX_CMD_QUEUE_DFA: diff -Nru linux-4.19.87/arch/mips/cavium-octeon/octeon-platform.c linux-4.19.98/arch/mips/cavium-octeon/octeon-platform.c --- linux-4.19.87/arch/mips/cavium-octeon/octeon-platform.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/mips/cavium-octeon/octeon-platform.c 2020-01-23 07:21:39.000000000 +0000 @@ -501,7 +501,7 @@ if (phy_addr >= 256 && alt_phy > 0) { const struct fdt_property *phy_prop; struct fdt_property *alt_prop; - u32 phy_handle_name; + fdt32_t phy_handle_name; /* Use the alt phy node instead.*/ phy_prop = fdt_get_property(initial_boot_params, eth, "phy-handle", NULL); diff -Nru linux-4.19.87/arch/mips/include/asm/octeon/cvmx-pko.h linux-4.19.98/arch/mips/include/asm/octeon/cvmx-pko.h --- linux-4.19.87/arch/mips/include/asm/octeon/cvmx-pko.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/mips/include/asm/octeon/cvmx-pko.h 2020-01-23 07:21:39.000000000 +0000 @@ -611,7 +611,7 @@ pko_reg_read_idx.s.index = cvmx_pko_get_base_queue(port_num); cvmx_write_csr(CVMX_PKO_REG_READ_IDX, pko_reg_read_idx.u64); debug8.u64 = cvmx_read_csr(CVMX_PKO_MEM_DEBUG8); - status->doorbell = debug8.cn58xx.doorbell; + status->doorbell = debug8.cn50xx.doorbell; } } diff -Nru linux-4.19.87/arch/mips/include/asm/pgtable-64.h linux-4.19.98/arch/mips/include/asm/pgtable-64.h --- linux-4.19.87/arch/mips/include/asm/pgtable-64.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/mips/include/asm/pgtable-64.h 2020-01-23 07:21:39.000000000 +0000 @@ -18,10 +18,12 @@ #include #define __ARCH_USE_5LEVEL_HACK -#if defined(CONFIG_PAGE_SIZE_64KB) && !defined(CONFIG_MIPS_VA_BITS_48) +#if CONFIG_PGTABLE_LEVELS == 2 #include -#elif !(defined(CONFIG_PAGE_SIZE_4KB) && defined(CONFIG_MIPS_VA_BITS_48)) +#elif CONFIG_PGTABLE_LEVELS == 3 #include +#else +#include #endif /* @@ -216,6 +218,9 @@ return pgd_val(pgd); } +#define pgd_phys(pgd) virt_to_phys((void *)pgd_val(pgd)) +#define pgd_page(pgd) (pfn_to_page(pgd_phys(pgd) >> PAGE_SHIFT)) + static inline pud_t *pud_offset(pgd_t *pgd, unsigned long address) { return (pud_t *)pgd_page_vaddr(*pgd) + pud_index(address); diff -Nru linux-4.19.87/arch/mips/include/asm/thread_info.h linux-4.19.98/arch/mips/include/asm/thread_info.h --- linux-4.19.87/arch/mips/include/asm/thread_info.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/mips/include/asm/thread_info.h 2020-01-23 07:21:39.000000000 +0000 @@ -49,8 +49,26 @@ .addr_limit = KERNEL_DS, \ } -/* How to get the thread information struct from C. */ +/* + * A pointer to the struct thread_info for the currently executing thread is + * held in register $28/$gp. + * + * We declare __current_thread_info as a global register variable rather than a + * local register variable within current_thread_info() because clang doesn't + * support explicit local register variables. + * + * When building the VDSO we take care not to declare the global register + * variable because this causes GCC to not preserve the value of $28/$gp in + * functions that change its value (which is common in the PIC VDSO when + * accessing the GOT). Since the VDSO shouldn't be accessing + * __current_thread_info anyway we declare it extern in order to cause a link + * failure if it's referenced. + */ +#ifdef __VDSO__ +extern struct thread_info *__current_thread_info; +#else register struct thread_info *__current_thread_info __asm__("$28"); +#endif static inline struct thread_info *current_thread_info(void) { diff -Nru linux-4.19.87/arch/mips/kernel/cacheinfo.c linux-4.19.98/arch/mips/kernel/cacheinfo.c --- linux-4.19.87/arch/mips/kernel/cacheinfo.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/mips/kernel/cacheinfo.c 2020-01-23 07:21:39.000000000 +0000 @@ -61,6 +61,25 @@ return 0; } +static void fill_cpumask_siblings(int cpu, cpumask_t *cpu_map) +{ + int cpu1; + + for_each_possible_cpu(cpu1) + if (cpus_are_siblings(cpu, cpu1)) + cpumask_set_cpu(cpu1, cpu_map); +} + +static void fill_cpumask_cluster(int cpu, cpumask_t *cpu_map) +{ + int cpu1; + int cluster = cpu_cluster(&cpu_data[cpu]); + + for_each_possible_cpu(cpu1) + if (cpu_cluster(&cpu_data[cpu1]) == cluster) + cpumask_set_cpu(cpu1, cpu_map); +} + static int __populate_cache_leaves(unsigned int cpu) { struct cpuinfo_mips *c = ¤t_cpu_data; @@ -68,14 +87,20 @@ struct cacheinfo *this_leaf = this_cpu_ci->info_list; if (c->icache.waysize) { + /* L1 caches are per core */ + fill_cpumask_siblings(cpu, &this_leaf->shared_cpu_map); populate_cache(dcache, this_leaf, 1, CACHE_TYPE_DATA); + fill_cpumask_siblings(cpu, &this_leaf->shared_cpu_map); populate_cache(icache, this_leaf, 1, CACHE_TYPE_INST); } else { populate_cache(dcache, this_leaf, 1, CACHE_TYPE_UNIFIED); } - if (c->scache.waysize) + if (c->scache.waysize) { + /* L2 cache is per cluster */ + fill_cpumask_cluster(cpu, &this_leaf->shared_cpu_map); populate_cache(scache, this_leaf, 2, CACHE_TYPE_UNIFIED); + } if (c->tcache.waysize) populate_cache(tcache, this_leaf, 3, CACHE_TYPE_UNIFIED); diff -Nru linux-4.19.87/arch/mips/net/ebpf_jit.c linux-4.19.98/arch/mips/net/ebpf_jit.c --- linux-4.19.87/arch/mips/net/ebpf_jit.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/mips/net/ebpf_jit.c 2020-01-23 07:21:39.000000000 +0000 @@ -586,6 +586,7 @@ static int emit_bpf_tail_call(struct jit_ctx *ctx, int this_idx) { int off, b_off; + int tcc_reg; ctx->flags |= EBPF_SEEN_TC; /* @@ -598,14 +599,14 @@ b_off = b_imm(this_idx + 1, ctx); emit_instr(ctx, bne, MIPS_R_AT, MIPS_R_ZERO, b_off); /* - * if (--TCC < 0) + * if (TCC-- < 0) * goto out; */ /* Delay slot */ - emit_instr(ctx, daddiu, MIPS_R_T5, - (ctx->flags & EBPF_TCC_IN_V1) ? MIPS_R_V1 : MIPS_R_S4, -1); + tcc_reg = (ctx->flags & EBPF_TCC_IN_V1) ? MIPS_R_V1 : MIPS_R_S4; + emit_instr(ctx, daddiu, MIPS_R_T5, tcc_reg, -1); b_off = b_imm(this_idx + 1, ctx); - emit_instr(ctx, bltz, MIPS_R_T5, b_off); + emit_instr(ctx, bltz, tcc_reg, b_off); /* * prog = array->ptrs[index]; * if (prog == NULL) diff -Nru linux-4.19.87/arch/nds32/kernel/setup.c linux-4.19.98/arch/nds32/kernel/setup.c --- linux-4.19.87/arch/nds32/kernel/setup.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/nds32/kernel/setup.c 2020-01-23 07:21:39.000000000 +0000 @@ -71,8 +71,9 @@ "div", "mac", "l2c", - "dx_regs", + "fpu_dp", "v2", + "dx_regs", NULL, }; diff -Nru linux-4.19.87/arch/openrisc/kernel/entry.S linux-4.19.98/arch/openrisc/kernel/entry.S --- linux-4.19.87/arch/openrisc/kernel/entry.S 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/openrisc/kernel/entry.S 2020-01-23 07:21:39.000000000 +0000 @@ -240,7 +240,7 @@ * occured. in fact they never do. if you need them use * values saved on stack (for SPR_EPC, SPR_ESR) or content * of r4 (for SPR_EEAR). for details look at EXCEPTION_HANDLE() - * in 'arch/or32/kernel/head.S' + * in 'arch/openrisc/kernel/head.S' */ /* =====================================================[ exceptions] === */ diff -Nru linux-4.19.87/arch/openrisc/kernel/head.S linux-4.19.98/arch/openrisc/kernel/head.S --- linux-4.19.87/arch/openrisc/kernel/head.S 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/openrisc/kernel/head.S 2020-01-23 07:21:39.000000000 +0000 @@ -1728,7 +1728,7 @@ /* * .data section should be page aligned - * (look into arch/or32/kernel/vmlinux.lds) + * (look into arch/openrisc/kernel/vmlinux.lds.S) */ .section .data,"aw" .align 8192 diff -Nru linux-4.19.87/arch/parisc/include/asm/cmpxchg.h linux-4.19.98/arch/parisc/include/asm/cmpxchg.h --- linux-4.19.87/arch/parisc/include/asm/cmpxchg.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/parisc/include/asm/cmpxchg.h 2020-01-23 07:21:39.000000000 +0000 @@ -44,8 +44,14 @@ ** if (((unsigned long)p & 0xf) == 0) ** return __ldcw(p); */ -#define xchg(ptr, x) \ - ((__typeof__(*(ptr)))__xchg((unsigned long)(x), (ptr), sizeof(*(ptr)))) +#define xchg(ptr, x) \ +({ \ + __typeof__(*(ptr)) __ret; \ + __typeof__(*(ptr)) _x_ = (x); \ + __ret = (__typeof__(*(ptr))) \ + __xchg((unsigned long)_x_, (ptr), sizeof(*(ptr))); \ + __ret; \ +}) /* bug catcher for when unsupported size is used - won't link */ extern void __cmpxchg_called_with_bad_pointer(void); diff -Nru linux-4.19.87/arch/parisc/kernel/drivers.c linux-4.19.98/arch/parisc/kernel/drivers.c --- linux-4.19.87/arch/parisc/kernel/drivers.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/parisc/kernel/drivers.c 2020-01-23 07:21:39.000000000 +0000 @@ -789,7 +789,7 @@ static void walk_native_bus(unsigned long io_io_low, unsigned long io_io_high, struct device *parent); -static void walk_lower_bus(struct parisc_device *dev) +static void __init walk_lower_bus(struct parisc_device *dev) { unsigned long io_io_low, io_io_high; diff -Nru linux-4.19.87/arch/powerpc/Makefile linux-4.19.98/arch/powerpc/Makefile --- linux-4.19.87/arch/powerpc/Makefile 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/Makefile 2020-01-23 07:21:39.000000000 +0000 @@ -90,11 +90,13 @@ endif ifdef CONFIG_PPC64 +ifndef CONFIG_CC_IS_CLANG cflags-$(CONFIG_CPU_BIG_ENDIAN) += $(call cc-option,-mabi=elfv1) cflags-$(CONFIG_CPU_BIG_ENDIAN) += $(call cc-option,-mcall-aixdesc) aflags-$(CONFIG_CPU_BIG_ENDIAN) += $(call cc-option,-mabi=elfv1) aflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -mabi=elfv2 endif +endif ifneq ($(cc-name),clang) cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -mno-strict-align @@ -134,6 +136,7 @@ endif CFLAGS-$(CONFIG_PPC64) := $(call cc-option,-mtraceback=no) +ifndef CONFIG_CC_IS_CLANG ifdef CONFIG_CPU_LITTLE_ENDIAN CFLAGS-$(CONFIG_PPC64) += $(call cc-option,-mabi=elfv2,$(call cc-option,-mcall-aixdesc)) AFLAGS-$(CONFIG_PPC64) += $(call cc-option,-mabi=elfv2) @@ -142,10 +145,18 @@ CFLAGS-$(CONFIG_PPC64) += $(call cc-option,-mcall-aixdesc) AFLAGS-$(CONFIG_PPC64) += $(call cc-option,-mabi=elfv1) endif +endif CFLAGS-$(CONFIG_PPC64) += $(call cc-option,-mcmodel=medium,$(call cc-option,-mminimal-toc)) CFLAGS-$(CONFIG_PPC64) += $(call cc-option,-mno-pointers-to-nested-functions) -CFLAGS-$(CONFIG_PPC32) := -ffixed-r2 $(MULTIPLEWORD) +# Clang unconditionally reserves r2 on ppc32 and does not support the flag +# https://bugs.llvm.org/show_bug.cgi?id=39555 +CFLAGS-$(CONFIG_PPC32) := $(call cc-option, -ffixed-r2) + +# Clang doesn't support -mmultiple / -mno-multiple +# https://bugs.llvm.org/show_bug.cgi?id=39556 +CFLAGS-$(CONFIG_PPC32) += $(call cc-option, $(MULTIPLEWORD)) + CFLAGS-$(CONFIG_PPC32) += $(call cc-option,-mno-readonly-in-sdata) ifdef CONFIG_PPC_BOOK3S_64 diff -Nru linux-4.19.87/arch/powerpc/boot/dts/bamboo.dts linux-4.19.98/arch/powerpc/boot/dts/bamboo.dts --- linux-4.19.87/arch/powerpc/boot/dts/bamboo.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/boot/dts/bamboo.dts 2020-01-23 07:21:39.000000000 +0000 @@ -268,8 +268,10 @@ /* Outbound ranges, one memory and one IO, * later cannot be changed. Chip supports a second * IO range but we don't use it for now + * The chip also supports a larger memory range but + * it's not naturally aligned, so our code will break */ - ranges = <0x02000000 0x00000000 0xa0000000 0x00000000 0xa0000000 0x00000000 0x40000000 + ranges = <0x02000000 0x00000000 0xa0000000 0x00000000 0xa0000000 0x00000000 0x20000000 0x02000000 0x00000000 0x00000000 0x00000000 0xe0000000 0x00000000 0x00100000 0x01000000 0x00000000 0x00000000 0x00000000 0xe8000000 0x00000000 0x00010000>; diff -Nru linux-4.19.87/arch/powerpc/boot/libfdt_env.h linux-4.19.98/arch/powerpc/boot/libfdt_env.h --- linux-4.19.87/arch/powerpc/boot/libfdt_env.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/boot/libfdt_env.h 2020-01-23 07:21:39.000000000 +0000 @@ -6,6 +6,8 @@ #include #define INT_MAX ((int)(~0U>>1)) +#define UINT32_MAX ((u32)~0U) +#define INT32_MAX ((s32)(UINT32_MAX >> 1)) #include "of.h" diff -Nru linux-4.19.87/arch/powerpc/include/asm/cputable.h linux-4.19.98/arch/powerpc/include/asm/cputable.h --- linux-4.19.87/arch/powerpc/include/asm/cputable.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/include/asm/cputable.h 2020-01-23 07:21:39.000000000 +0000 @@ -44,6 +44,7 @@ extern int machine_check_e200(struct pt_regs *regs); extern int machine_check_47x(struct pt_regs *regs); int machine_check_8xx(struct pt_regs *regs); +int machine_check_83xx(struct pt_regs *regs); extern void cpu_down_flush_e500v2(void); extern void cpu_down_flush_e500mc(void); diff -Nru linux-4.19.87/arch/powerpc/include/asm/kvm_ppc.h linux-4.19.98/arch/powerpc/include/asm/kvm_ppc.h --- linux-4.19.87/arch/powerpc/include/asm/kvm_ppc.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/include/asm/kvm_ppc.h 2020-01-23 07:21:39.000000000 +0000 @@ -458,9 +458,100 @@ return xirr; } -static inline void kvmppc_set_host_ipi(int cpu, u8 host_ipi) +/* + * To avoid the need to unnecessarily exit fully to the host kernel, an IPI to + * a CPU thread that's running/napping inside of a guest is by default regarded + * as a request to wake the CPU (if needed) and continue execution within the + * guest, potentially to process new state like externally-generated + * interrupts or IPIs sent from within the guest itself (e.g. H_PROD/H_IPI). + * + * To force an exit to the host kernel, kvmppc_set_host_ipi() must be called + * prior to issuing the IPI to set the corresponding 'host_ipi' flag in the + * target CPU's PACA. To avoid unnecessary exits to the host, this flag should + * be immediately cleared via kvmppc_clear_host_ipi() by the IPI handler on + * the receiving side prior to processing the IPI work. + * + * NOTE: + * + * We currently issue an smp_mb() at the beginning of kvmppc_set_host_ipi(). + * This is to guard against sequences such as the following: + * + * CPU + * X: smp_muxed_ipi_set_message(): + * X: smp_mb() + * X: message[RESCHEDULE] = 1 + * X: doorbell_global_ipi(42): + * X: kvmppc_set_host_ipi(42) + * X: ppc_msgsnd_sync()/smp_mb() + * X: ppc_msgsnd() -> 42 + * 42: doorbell_exception(): // from CPU X + * 42: ppc_msgsync() + * 105: smp_muxed_ipi_set_message(): + * 105: smb_mb() + * // STORE DEFERRED DUE TO RE-ORDERING + * --105: message[CALL_FUNCTION] = 1 + * | 105: doorbell_global_ipi(42): + * | 105: kvmppc_set_host_ipi(42) + * | 42: kvmppc_clear_host_ipi(42) + * | 42: smp_ipi_demux_relaxed() + * | 42: // returns to executing guest + * | // RE-ORDERED STORE COMPLETES + * ->105: message[CALL_FUNCTION] = 1 + * 105: ppc_msgsnd_sync()/smp_mb() + * 105: ppc_msgsnd() -> 42 + * 42: local_paca->kvm_hstate.host_ipi == 0 // IPI ignored + * 105: // hangs waiting on 42 to process messages/call_single_queue + * + * We also issue an smp_mb() at the end of kvmppc_clear_host_ipi(). This is + * to guard against sequences such as the following (as well as to create + * a read-side pairing with the barrier in kvmppc_set_host_ipi()): + * + * CPU + * X: smp_muxed_ipi_set_message(): + * X: smp_mb() + * X: message[RESCHEDULE] = 1 + * X: doorbell_global_ipi(42): + * X: kvmppc_set_host_ipi(42) + * X: ppc_msgsnd_sync()/smp_mb() + * X: ppc_msgsnd() -> 42 + * 42: doorbell_exception(): // from CPU X + * 42: ppc_msgsync() + * // STORE DEFERRED DUE TO RE-ORDERING + * -- 42: kvmppc_clear_host_ipi(42) + * | 42: smp_ipi_demux_relaxed() + * | 105: smp_muxed_ipi_set_message(): + * | 105: smb_mb() + * | 105: message[CALL_FUNCTION] = 1 + * | 105: doorbell_global_ipi(42): + * | 105: kvmppc_set_host_ipi(42) + * | // RE-ORDERED STORE COMPLETES + * -> 42: kvmppc_clear_host_ipi(42) + * 42: // returns to executing guest + * 105: ppc_msgsnd_sync()/smp_mb() + * 105: ppc_msgsnd() -> 42 + * 42: local_paca->kvm_hstate.host_ipi == 0 // IPI ignored + * 105: // hangs waiting on 42 to process messages/call_single_queue + */ +static inline void kvmppc_set_host_ipi(int cpu) { - paca_ptrs[cpu]->kvm_hstate.host_ipi = host_ipi; + /* + * order stores of IPI messages vs. setting of host_ipi flag + * + * pairs with the barrier in kvmppc_clear_host_ipi() + */ + smp_mb(); + paca_ptrs[cpu]->kvm_hstate.host_ipi = 1; +} + +static inline void kvmppc_clear_host_ipi(int cpu) +{ + paca_ptrs[cpu]->kvm_hstate.host_ipi = 0; + /* + * order clearing of host_ipi flag vs. processing of IPI messages + * + * pairs with the barrier in kvmppc_set_host_ipi() + */ + smp_mb(); } static inline void kvmppc_fast_vcpu_kick(struct kvm_vcpu *vcpu) @@ -489,7 +580,10 @@ return 0; } -static inline void kvmppc_set_host_ipi(int cpu, u8 host_ipi) +static inline void kvmppc_set_host_ipi(int cpu) +{} + +static inline void kvmppc_clear_host_ipi(int cpu) {} static inline void kvmppc_fast_vcpu_kick(struct kvm_vcpu *vcpu) diff -Nru linux-4.19.87/arch/powerpc/include/asm/reg.h linux-4.19.98/arch/powerpc/include/asm/reg.h --- linux-4.19.87/arch/powerpc/include/asm/reg.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/include/asm/reg.h 2020-01-23 07:21:39.000000000 +0000 @@ -768,6 +768,8 @@ #define SRR1_PROGTRAP 0x00020000 /* Trap */ #define SRR1_PROGADDR 0x00010000 /* SRR0 contains subsequent addr */ +#define SRR1_MCE_MCP 0x00080000 /* Machine check signal caused interrupt */ + #define SPRN_HSRR0 0x13A /* Save/Restore Register 0 */ #define SPRN_HSRR1 0x13B /* Save/Restore Register 1 */ #define HSRR1_DENORM 0x00100000 /* Denorm exception */ diff -Nru linux-4.19.87/arch/powerpc/include/asm/sfp-machine.h linux-4.19.98/arch/powerpc/include/asm/sfp-machine.h --- linux-4.19.87/arch/powerpc/include/asm/sfp-machine.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/include/asm/sfp-machine.h 2020-01-23 07:21:39.000000000 +0000 @@ -213,30 +213,18 @@ * respectively. The result is placed in HIGH_SUM and LOW_SUM. Overflow * (i.e. carry out) is not stored anywhere, and is lost. */ -#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ +#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ do { \ if (__builtin_constant_p (bh) && (bh) == 0) \ - __asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{aze|addze} %0,%2" \ - : "=r" ((USItype)(sh)), \ - "=&r" ((USItype)(sl)) \ - : "%r" ((USItype)(ah)), \ - "%r" ((USItype)(al)), \ - "rI" ((USItype)(bl))); \ - else if (__builtin_constant_p (bh) && (bh) ==~(USItype) 0) \ - __asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{ame|addme} %0,%2" \ - : "=r" ((USItype)(sh)), \ - "=&r" ((USItype)(sl)) \ - : "%r" ((USItype)(ah)), \ - "%r" ((USItype)(al)), \ - "rI" ((USItype)(bl))); \ + __asm__ ("add%I4c %1,%3,%4\n\taddze %0,%2" \ + : "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl));\ + else if (__builtin_constant_p (bh) && (bh) == ~(USItype) 0) \ + __asm__ ("add%I4c %1,%3,%4\n\taddme %0,%2" \ + : "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl));\ else \ - __asm__ ("{a%I5|add%I5c} %1,%4,%5\n\t{ae|adde} %0,%2,%3" \ - : "=r" ((USItype)(sh)), \ - "=&r" ((USItype)(sl)) \ - : "%r" ((USItype)(ah)), \ - "r" ((USItype)(bh)), \ - "%r" ((USItype)(al)), \ - "rI" ((USItype)(bl))); \ + __asm__ ("add%I5c %1,%4,%5\n\tadde %0,%2,%3" \ + : "=r" (sh), "=&r" (sl) \ + : "%r" (ah), "r" (bh), "%r" (al), "rI" (bl)); \ } while (0) /* sub_ddmmss is used in op-2.h and udivmodti4.c and should be equivalent to @@ -248,44 +236,24 @@ * and LOW_DIFFERENCE. Overflow (i.e. carry out) is not stored anywhere, * and is lost. */ -#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ +#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ do { \ if (__builtin_constant_p (ah) && (ah) == 0) \ - __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{sfze|subfze} %0,%2" \ - : "=r" ((USItype)(sh)), \ - "=&r" ((USItype)(sl)) \ - : "r" ((USItype)(bh)), \ - "rI" ((USItype)(al)), \ - "r" ((USItype)(bl))); \ - else if (__builtin_constant_p (ah) && (ah) ==~(USItype) 0) \ - __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{sfme|subfme} %0,%2" \ - : "=r" ((USItype)(sh)), \ - "=&r" ((USItype)(sl)) \ - : "r" ((USItype)(bh)), \ - "rI" ((USItype)(al)), \ - "r" ((USItype)(bl))); \ + __asm__ ("subf%I3c %1,%4,%3\n\tsubfze %0,%2" \ + : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl));\ + else if (__builtin_constant_p (ah) && (ah) == ~(USItype) 0) \ + __asm__ ("subf%I3c %1,%4,%3\n\tsubfme %0,%2" \ + : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl));\ else if (__builtin_constant_p (bh) && (bh) == 0) \ - __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{ame|addme} %0,%2" \ - : "=r" ((USItype)(sh)), \ - "=&r" ((USItype)(sl)) \ - : "r" ((USItype)(ah)), \ - "rI" ((USItype)(al)), \ - "r" ((USItype)(bl))); \ - else if (__builtin_constant_p (bh) && (bh) ==~(USItype) 0) \ - __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{aze|addze} %0,%2" \ - : "=r" ((USItype)(sh)), \ - "=&r" ((USItype)(sl)) \ - : "r" ((USItype)(ah)), \ - "rI" ((USItype)(al)), \ - "r" ((USItype)(bl))); \ + __asm__ ("subf%I3c %1,%4,%3\n\taddme %0,%2" \ + : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl));\ + else if (__builtin_constant_p (bh) && (bh) == ~(USItype) 0) \ + __asm__ ("subf%I3c %1,%4,%3\n\taddze %0,%2" \ + : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl));\ else \ - __asm__ ("{sf%I4|subf%I4c} %1,%5,%4\n\t{sfe|subfe} %0,%3,%2" \ - : "=r" ((USItype)(sh)), \ - "=&r" ((USItype)(sl)) \ - : "r" ((USItype)(ah)), \ - "r" ((USItype)(bh)), \ - "rI" ((USItype)(al)), \ - "r" ((USItype)(bl))); \ + __asm__ ("subf%I4c %1,%5,%4\n\tsubfe %0,%3,%2" \ + : "=r" (sh), "=&r" (sl) \ + : "r" (ah), "r" (bh), "rI" (al), "r" (bl)); \ } while (0) /* asm fragments for mul and div */ @@ -294,13 +262,10 @@ * UWtype integers MULTIPLER and MULTIPLICAND, and generates a two UWtype * word product in HIGH_PROD and LOW_PROD. */ -#define umul_ppmm(ph, pl, m0, m1) \ +#define umul_ppmm(ph, pl, m0, m1) \ do { \ USItype __m0 = (m0), __m1 = (m1); \ - __asm__ ("mulhwu %0,%1,%2" \ - : "=r" ((USItype)(ph)) \ - : "%r" (__m0), \ - "r" (__m1)); \ + __asm__ ("mulhwu %0,%1,%2" : "=r" (ph) : "%r" (m0), "r" (m1)); \ (pl) = __m0 * __m1; \ } while (0) @@ -312,9 +277,10 @@ * significant bit of DENOMINATOR must be 1, then the pre-processor symbol * UDIV_NEEDS_NORMALIZATION is defined to 1. */ -#define udiv_qrnnd(q, r, n1, n0, d) \ +#define udiv_qrnnd(q, r, n1, n0, d) \ do { \ - UWtype __d1, __d0, __q1, __q0, __r1, __r0, __m; \ + UWtype __d1, __d0, __q1, __q0; \ + UWtype __r1, __r0, __m; \ __d1 = __ll_highpart (d); \ __d0 = __ll_lowpart (d); \ \ @@ -325,7 +291,7 @@ if (__r1 < __m) \ { \ __q1--, __r1 += (d); \ - if (__r1 >= (d)) /* we didn't get carry when adding to __r1 */ \ + if (__r1 >= (d)) /* i.e. we didn't get carry when adding to __r1 */\ if (__r1 < __m) \ __q1--, __r1 += (d); \ } \ diff -Nru linux-4.19.87/arch/powerpc/include/asm/spinlock.h linux-4.19.98/arch/powerpc/include/asm/spinlock.h --- linux-4.19.87/arch/powerpc/include/asm/spinlock.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/include/asm/spinlock.h 2020-01-23 07:21:39.000000000 +0000 @@ -19,6 +19,7 @@ * * (the type definitions are in asm/spinlock_types.h) */ +#include #include #ifdef CONFIG_PPC64 #include @@ -53,10 +54,12 @@ #endif #ifdef CONFIG_PPC_PSERIES +DECLARE_STATIC_KEY_FALSE(shared_processor); + #define vcpu_is_preempted vcpu_is_preempted static inline bool vcpu_is_preempted(int cpu) { - if (!firmware_has_feature(FW_FEATURE_SPLPAR)) + if (!static_branch_unlikely(&shared_processor)) return false; return !!(be32_to_cpu(lppaca_of(cpu).yield_count) & 1); } diff -Nru linux-4.19.87/arch/powerpc/include/asm/vdso_datapage.h linux-4.19.98/arch/powerpc/include/asm/vdso_datapage.h --- linux-4.19.87/arch/powerpc/include/asm/vdso_datapage.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/include/asm/vdso_datapage.h 2020-01-23 07:21:39.000000000 +0000 @@ -86,6 +86,7 @@ __s32 wtom_clock_nsec; /* Wall to monotonic clock nsec */ __s64 wtom_clock_sec; /* Wall to monotonic clock sec */ struct timespec stamp_xtime; /* xtime as at tb_orig_stamp */ + __u32 hrtimer_res; /* hrtimer resolution */ __u32 syscall_map_64[SYSCALL_MAP_SIZE]; /* map of syscalls */ __u32 syscall_map_32[SYSCALL_MAP_SIZE]; /* map of syscalls */ }; @@ -107,6 +108,7 @@ __s32 wtom_clock_nsec; struct timespec stamp_xtime; /* xtime as at tb_orig_stamp */ __u32 stamp_sec_fraction; /* fractional seconds of stamp_xtime */ + __u32 hrtimer_res; /* hrtimer resolution */ __u32 syscall_map_32[SYSCALL_MAP_SIZE]; /* map of syscalls */ __u32 dcache_block_size; /* L1 d-cache block size */ __u32 icache_block_size; /* L1 i-cache block size */ diff -Nru linux-4.19.87/arch/powerpc/kernel/Makefile linux-4.19.98/arch/powerpc/kernel/Makefile --- linux-4.19.87/arch/powerpc/kernel/Makefile 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/kernel/Makefile 2020-01-23 07:21:39.000000000 +0000 @@ -5,8 +5,8 @@ CFLAGS_ptrace.o += -DUTS_MACHINE='"$(UTS_MACHINE)"' -# Disable clang warning for using setjmp without setjmp.h header -CFLAGS_crash.o += $(call cc-disable-warning, builtin-requires-header) +# Avoid clang warnings around longjmp/setjmp declarations +CFLAGS_crash.o += -ffreestanding subdir-ccflags-$(CONFIG_PPC_WERROR) := -Werror diff -Nru linux-4.19.87/arch/powerpc/kernel/asm-offsets.c linux-4.19.98/arch/powerpc/kernel/asm-offsets.c --- linux-4.19.87/arch/powerpc/kernel/asm-offsets.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/kernel/asm-offsets.c 2020-01-23 07:21:39.000000000 +0000 @@ -379,6 +379,7 @@ OFFSET(WTOM_CLOCK_NSEC, vdso_data, wtom_clock_nsec); OFFSET(STAMP_XTIME, vdso_data, stamp_xtime); OFFSET(STAMP_SEC_FRAC, vdso_data, stamp_sec_fraction); + OFFSET(CLOCK_HRTIMER_RES, vdso_data, hrtimer_res); OFFSET(CFG_ICACHE_BLOCKSZ, vdso_data, icache_block_size); OFFSET(CFG_DCACHE_BLOCKSZ, vdso_data, dcache_block_size); OFFSET(CFG_ICACHE_LOGBLOCKSZ, vdso_data, icache_log_block_size); @@ -409,7 +410,6 @@ DEFINE(CLOCK_REALTIME_COARSE, CLOCK_REALTIME_COARSE); DEFINE(CLOCK_MONOTONIC_COARSE, CLOCK_MONOTONIC_COARSE); DEFINE(NSEC_PER_SEC, NSEC_PER_SEC); - DEFINE(CLOCK_REALTIME_RES, MONOTONIC_RES_NSEC); #ifdef CONFIG_BUG DEFINE(BUG_ENTRY_SIZE, sizeof(struct bug_entry)); diff -Nru linux-4.19.87/arch/powerpc/kernel/cputable.c linux-4.19.98/arch/powerpc/kernel/cputable.c --- linux-4.19.87/arch/powerpc/kernel/cputable.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/kernel/cputable.c 2020-01-23 07:21:39.000000000 +0000 @@ -1141,6 +1141,7 @@ .machine_check = machine_check_generic, .platform = "ppc603", }, +#ifdef CONFIG_PPC_83xx { /* e300c1 (a 603e core, plus some) on 83xx */ .pvr_mask = 0x7fff0000, .pvr_value = 0x00830000, @@ -1151,7 +1152,7 @@ .icache_bsize = 32, .dcache_bsize = 32, .cpu_setup = __setup_cpu_603, - .machine_check = machine_check_generic, + .machine_check = machine_check_83xx, .platform = "ppc603", }, { /* e300c2 (an e300c1 core, plus some, minus FPU) on 83xx */ @@ -1165,7 +1166,7 @@ .icache_bsize = 32, .dcache_bsize = 32, .cpu_setup = __setup_cpu_603, - .machine_check = machine_check_generic, + .machine_check = machine_check_83xx, .platform = "ppc603", }, { /* e300c3 (e300c1, plus one IU, half cache size) on 83xx */ @@ -1179,7 +1180,7 @@ .icache_bsize = 32, .dcache_bsize = 32, .cpu_setup = __setup_cpu_603, - .machine_check = machine_check_generic, + .machine_check = machine_check_83xx, .num_pmcs = 4, .oprofile_cpu_type = "ppc/e300", .oprofile_type = PPC_OPROFILE_FSL_EMB, @@ -1196,12 +1197,13 @@ .icache_bsize = 32, .dcache_bsize = 32, .cpu_setup = __setup_cpu_603, - .machine_check = machine_check_generic, + .machine_check = machine_check_83xx, .num_pmcs = 4, .oprofile_cpu_type = "ppc/e300", .oprofile_type = PPC_OPROFILE_FSL_EMB, .platform = "ppc603", }, +#endif { /* default match, we assume split I/D cache & TB (non-601)... */ .pvr_mask = 0x00000000, .pvr_value = 0x00000000, diff -Nru linux-4.19.87/arch/powerpc/kernel/dbell.c linux-4.19.98/arch/powerpc/kernel/dbell.c --- linux-4.19.87/arch/powerpc/kernel/dbell.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/kernel/dbell.c 2020-01-23 07:21:39.000000000 +0000 @@ -36,7 +36,7 @@ { u32 tag = get_hard_smp_processor_id(cpu); - kvmppc_set_host_ipi(cpu, 1); + kvmppc_set_host_ipi(cpu); /* Order previous accesses vs. msgsnd, which is treated as a store */ ppc_msgsnd_sync(); ppc_msgsnd(PPC_DBELL_MSGTYPE, 0, tag); @@ -51,7 +51,7 @@ { u32 tag = cpu_thread_in_core(cpu); - kvmppc_set_host_ipi(cpu, 1); + kvmppc_set_host_ipi(cpu); /* Order previous accesses vs. msgsnd, which is treated as a store */ ppc_msgsnd_sync(); ppc_msgsnd(PPC_DBELL_MSGTYPE, 0, tag); @@ -86,7 +86,7 @@ may_hard_irq_enable(); - kvmppc_set_host_ipi(smp_processor_id(), 0); + kvmppc_clear_host_ipi(smp_processor_id()); __this_cpu_inc(irq_stat.doorbell_irqs); smp_ipi_demux_relaxed(); /* already performed the barrier */ diff -Nru linux-4.19.87/arch/powerpc/kernel/exceptions-64s.S linux-4.19.98/arch/powerpc/kernel/exceptions-64s.S --- linux-4.19.87/arch/powerpc/kernel/exceptions-64s.S 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/kernel/exceptions-64s.S 2020-01-23 07:21:39.000000000 +0000 @@ -1123,7 +1123,7 @@ EXCEPTION_PROLOG_COMMON_2(PACA_EXGEN) EXCEPTION_PROLOG_COMMON_3(0xe60) addi r3,r1,STACK_FRAME_OVERHEAD - BRANCH_LINK_TO_FAR(hmi_exception_realmode) /* Function call ABI */ + BRANCH_LINK_TO_FAR(DOTSYM(hmi_exception_realmode)) /* Function call ABI */ cmpdi cr0,r3,0 /* Windup the stack. */ diff -Nru linux-4.19.87/arch/powerpc/kernel/irq.c linux-4.19.98/arch/powerpc/kernel/irq.c --- linux-4.19.87/arch/powerpc/kernel/irq.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/kernel/irq.c 2020-01-23 07:21:39.000000000 +0000 @@ -634,8 +634,6 @@ trace_irq_entry(regs); - check_stack_overflow(); - /* * Query the platform PIC for the interrupt & ack it. * @@ -667,6 +665,8 @@ irqtp = hardirq_ctx[raw_smp_processor_id()]; sirqtp = softirq_ctx[raw_smp_processor_id()]; + check_stack_overflow(); + /* Already there ? */ if (unlikely(curtp == irqtp || curtp == sirqtp)) { __do_irq(regs); diff -Nru linux-4.19.87/arch/powerpc/kernel/misc_64.S linux-4.19.98/arch/powerpc/kernel/misc_64.S --- linux-4.19.87/arch/powerpc/kernel/misc_64.S 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/kernel/misc_64.S 2020-01-23 07:21:39.000000000 +0000 @@ -87,7 +87,7 @@ subf r8,r6,r4 /* compute length */ add r8,r8,r5 /* ensure we get enough */ lwz r9,DCACHEL1LOGBLOCKSIZE(r10) /* Get log-2 of cache block size */ - srw. r8,r8,r9 /* compute line count */ + srd. r8,r8,r9 /* compute line count */ beqlr /* nothing to do? */ mtctr r8 1: dcbst 0,r6 @@ -103,7 +103,7 @@ subf r8,r6,r4 /* compute length */ add r8,r8,r5 lwz r9,ICACHEL1LOGBLOCKSIZE(r10) /* Get log-2 of Icache block size */ - srw. r8,r8,r9 /* compute line count */ + srd. r8,r8,r9 /* compute line count */ beqlr /* nothing to do? */ mtctr r8 2: icbi 0,r6 diff -Nru linux-4.19.87/arch/powerpc/kernel/prom.c linux-4.19.98/arch/powerpc/kernel/prom.c --- linux-4.19.87/arch/powerpc/kernel/prom.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/kernel/prom.c 2020-01-23 07:21:39.000000000 +0000 @@ -129,7 +129,7 @@ p = __va(memblock_alloc(size, PAGE_SIZE)); memcpy(p, initial_boot_params, size); initial_boot_params = p; - DBG("Moved device tree to 0x%p\n", p); + DBG("Moved device tree to 0x%px\n", p); } DBG("<- move_device_tree\n"); @@ -689,7 +689,7 @@ { phys_addr_t limit; - DBG(" -> early_init_devtree(%p)\n", params); + DBG(" -> early_init_devtree(%px)\n", params); /* Too early to BUG_ON(), do it by hand */ if (!early_init_dt_verify(params)) @@ -749,7 +749,7 @@ memblock_allow_resize(); memblock_dump_all(); - DBG("Phys. mem: %llx\n", memblock_phys_mem_size()); + DBG("Phys. mem: %llx\n", (unsigned long long)memblock_phys_mem_size()); /* We may need to relocate the flat tree, do it now. * FIXME .. and the initrd too? */ diff -Nru linux-4.19.87/arch/powerpc/kernel/security.c linux-4.19.98/arch/powerpc/kernel/security.c --- linux-4.19.87/arch/powerpc/kernel/security.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/kernel/security.c 2020-01-23 07:21:39.000000000 +0000 @@ -134,32 +134,33 @@ thread_priv = security_ftr_enabled(SEC_FTR_L1D_THREAD_PRIV); - if (rfi_flush || thread_priv) { + if (rfi_flush) { struct seq_buf s; seq_buf_init(&s, buf, PAGE_SIZE - 1); - seq_buf_printf(&s, "Mitigation: "); - - if (rfi_flush) - seq_buf_printf(&s, "RFI Flush"); - - if (rfi_flush && thread_priv) - seq_buf_printf(&s, ", "); - + seq_buf_printf(&s, "Mitigation: RFI Flush"); if (thread_priv) - seq_buf_printf(&s, "L1D private per thread"); + seq_buf_printf(&s, ", L1D private per thread"); seq_buf_printf(&s, "\n"); return s.len; } + if (thread_priv) + return sprintf(buf, "Vulnerable: L1D private per thread\n"); + if (!security_ftr_enabled(SEC_FTR_L1D_FLUSH_HV) && !security_ftr_enabled(SEC_FTR_L1D_FLUSH_PR)) return sprintf(buf, "Not affected\n"); return sprintf(buf, "Vulnerable\n"); } + +ssize_t cpu_show_l1tf(struct device *dev, struct device_attribute *attr, char *buf) +{ + return cpu_show_meltdown(dev, attr, buf); +} #endif ssize_t cpu_show_spectre_v1(struct device *dev, struct device_attribute *attr, char *buf) diff -Nru linux-4.19.87/arch/powerpc/kernel/time.c linux-4.19.98/arch/powerpc/kernel/time.c --- linux-4.19.87/arch/powerpc/kernel/time.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/kernel/time.c 2020-01-23 07:21:39.000000000 +0000 @@ -235,7 +235,7 @@ * Accumulate stolen time by scanning the dispatch trace log. * Called on entry from user mode. */ -void accumulate_stolen_time(void) +void notrace accumulate_stolen_time(void) { u64 sst, ust; unsigned long save_irq_soft_mask = irq_soft_mask_return(); @@ -929,6 +929,7 @@ vdso_data->wtom_clock_nsec = tk->wall_to_monotonic.tv_nsec; vdso_data->stamp_xtime = xt; vdso_data->stamp_sec_fraction = frac_sec; + vdso_data->hrtimer_res = hrtimer_resolution; smp_wmb(); ++(vdso_data->tb_update_count); } diff -Nru linux-4.19.87/arch/powerpc/kernel/vdso32/gettimeofday.S linux-4.19.98/arch/powerpc/kernel/vdso32/gettimeofday.S --- linux-4.19.87/arch/powerpc/kernel/vdso32/gettimeofday.S 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/kernel/vdso32/gettimeofday.S 2020-01-23 07:21:39.000000000 +0000 @@ -160,12 +160,15 @@ cror cr0*4+eq,cr0*4+eq,cr1*4+eq bne cr0,99f + mflr r12 + .cfi_register lr,r12 + bl __get_datapage@local /* get data page */ + lwz r5, CLOCK_HRTIMER_RES(r3) + mtlr r12 li r3,0 cmpli cr0,r4,0 crclr cr0*4+so beqlr - lis r5,CLOCK_REALTIME_RES@h - ori r5,r5,CLOCK_REALTIME_RES@l stw r3,TSPC32_TV_SEC(r4) stw r5,TSPC32_TV_NSEC(r4) blr diff -Nru linux-4.19.87/arch/powerpc/kernel/vdso64/cacheflush.S linux-4.19.98/arch/powerpc/kernel/vdso64/cacheflush.S --- linux-4.19.87/arch/powerpc/kernel/vdso64/cacheflush.S 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/kernel/vdso64/cacheflush.S 2020-01-23 07:21:39.000000000 +0000 @@ -39,7 +39,7 @@ subf r8,r6,r4 /* compute length */ add r8,r8,r5 /* ensure we get enough */ lwz r9,CFG_DCACHE_LOGBLOCKSZ(r10) - srw. r8,r8,r9 /* compute line count */ + srd. r8,r8,r9 /* compute line count */ crclr cr0*4+so beqlr /* nothing to do? */ mtctr r8 @@ -56,7 +56,7 @@ subf r8,r6,r4 /* compute length */ add r8,r8,r5 lwz r9,CFG_ICACHE_LOGBLOCKSZ(r10) - srw. r8,r8,r9 /* compute line count */ + srd. r8,r8,r9 /* compute line count */ crclr cr0*4+so beqlr /* nothing to do? */ mtctr r8 diff -Nru linux-4.19.87/arch/powerpc/kernel/vdso64/gettimeofday.S linux-4.19.98/arch/powerpc/kernel/vdso64/gettimeofday.S --- linux-4.19.87/arch/powerpc/kernel/vdso64/gettimeofday.S 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/kernel/vdso64/gettimeofday.S 2020-01-23 07:21:39.000000000 +0000 @@ -190,12 +190,15 @@ cror cr0*4+eq,cr0*4+eq,cr1*4+eq bne cr0,99f + mflr r12 + .cfi_register lr,r12 + bl V_LOCAL_FUNC(__get_datapage) + lwz r5, CLOCK_HRTIMER_RES(r3) + mtlr r12 li r3,0 cmpldi cr0,r4,0 crclr cr0*4+so beqlr - lis r5,CLOCK_REALTIME_RES@h - ori r5,r5,CLOCK_REALTIME_RES@l std r3,TSPC64_TV_SEC(r4) std r5,TSPC64_TV_NSEC(r4) blr diff -Nru linux-4.19.87/arch/powerpc/kvm/book3s_hv_rm_xics.c linux-4.19.98/arch/powerpc/kvm/book3s_hv_rm_xics.c --- linux-4.19.87/arch/powerpc/kvm/book3s_hv_rm_xics.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/kvm/book3s_hv_rm_xics.c 2020-01-23 07:21:39.000000000 +0000 @@ -61,7 +61,7 @@ hcpu = hcore << threads_shift; kvmppc_host_rm_ops_hv->rm_core[hcore].rm_data = vcpu; smp_muxed_ipi_set_message(hcpu, PPC_MSG_RM_HOST_ACTION); - kvmppc_set_host_ipi(hcpu, 1); + kvmppc_set_host_ipi(hcpu); smp_mb(); kvmhv_rm_send_ipi(hcpu); } diff -Nru linux-4.19.87/arch/powerpc/mm/fault.c linux-4.19.98/arch/powerpc/mm/fault.c --- linux-4.19.87/arch/powerpc/mm/fault.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/mm/fault.c 2020-01-23 07:21:39.000000000 +0000 @@ -633,21 +633,22 @@ switch (TRAP(regs)) { case 0x300: case 0x380: - printk(KERN_ALERT "Unable to handle kernel paging request for " - "data at address 0x%08lx\n", regs->dar); + pr_alert("BUG: %s at 0x%08lx\n", + regs->dar < PAGE_SIZE ? "Kernel NULL pointer dereference" : + "Unable to handle kernel data access", regs->dar); break; case 0x400: case 0x480: - printk(KERN_ALERT "Unable to handle kernel paging request for " - "instruction fetch\n"); + pr_alert("BUG: Unable to handle kernel instruction fetch%s", + regs->nip < PAGE_SIZE ? " (NULL pointer?)\n" : "\n"); break; case 0x600: - printk(KERN_ALERT "Unable to handle kernel paging request for " - "unaligned access at address 0x%08lx\n", regs->dar); + pr_alert("BUG: Unable to handle kernel unaligned access at 0x%08lx\n", + regs->dar); break; default: - printk(KERN_ALERT "Unable to handle kernel paging request for " - "unknown fault\n"); + pr_alert("BUG: Unable to handle unknown paging fault at 0x%08lx\n", + regs->dar); break; } printk(KERN_ALERT "Faulting instruction address: 0x%08lx\n", diff -Nru linux-4.19.87/arch/powerpc/mm/hash_utils_64.c linux-4.19.98/arch/powerpc/mm/hash_utils_64.c --- linux-4.19.87/arch/powerpc/mm/hash_utils_64.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/mm/hash_utils_64.c 2020-01-23 07:21:39.000000000 +0000 @@ -296,10 +296,18 @@ ret = mmu_hash_ops.hpte_insert(hpteg, vpn, paddr, tprot, HPTE_V_BOLTED, psize, psize, ssize); - + if (ret == -1) { + /* Try to remove a non bolted entry */ + ret = mmu_hash_ops.hpte_remove(hpteg); + if (ret != -1) + ret = mmu_hash_ops.hpte_insert(hpteg, vpn, paddr, tprot, + HPTE_V_BOLTED, psize, psize, + ssize); + } if (ret < 0) break; + cond_resched(); #ifdef CONFIG_DEBUG_PAGEALLOC if (debug_pagealloc_enabled() && (paddr >> PAGE_SHIFT) < linear_map_hash_count) diff -Nru linux-4.19.87/arch/powerpc/mm/mem.c linux-4.19.98/arch/powerpc/mm/mem.c --- linux-4.19.87/arch/powerpc/mm/mem.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/mm/mem.c 2020-01-23 07:21:39.000000000 +0000 @@ -344,6 +344,14 @@ BUILD_BUG_ON(MMU_PAGE_COUNT > 16); #ifdef CONFIG_SWIOTLB + /* + * Some platforms (e.g. 85xx) limit DMA-able memory way below + * 4G. We force memblock to bottom-up mode to ensure that the + * memory allocated in swiotlb_init() is DMA-able. + * As it's the last memblock allocation, no need to reset it + * back to to-down. + */ + memblock_set_bottom_up(true); swiotlb_init(0); #endif diff -Nru linux-4.19.87/arch/powerpc/mm/ppc_mmu_32.c linux-4.19.98/arch/powerpc/mm/ppc_mmu_32.c --- linux-4.19.87/arch/powerpc/mm/ppc_mmu_32.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/mm/ppc_mmu_32.c 2020-01-23 07:21:39.000000000 +0000 @@ -52,7 +52,7 @@ phys_addr_t v_block_mapped(unsigned long va) { int b; - for (b = 0; b < 4; ++b) + for (b = 0; b < ARRAY_SIZE(bat_addrs); ++b) if (va >= bat_addrs[b].start && va < bat_addrs[b].limit) return bat_addrs[b].phys + (va - bat_addrs[b].start); return 0; @@ -64,7 +64,7 @@ unsigned long p_block_mapped(phys_addr_t pa) { int b; - for (b = 0; b < 4; ++b) + for (b = 0; b < ARRAY_SIZE(bat_addrs); ++b) if (pa >= bat_addrs[b].phys && pa < (bat_addrs[b].limit-bat_addrs[b].start) +bat_addrs[b].phys) diff -Nru linux-4.19.87/arch/powerpc/net/bpf_jit_comp64.c linux-4.19.98/arch/powerpc/net/bpf_jit_comp64.c --- linux-4.19.87/arch/powerpc/net/bpf_jit_comp64.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/net/bpf_jit_comp64.c 2020-01-23 07:21:39.000000000 +0000 @@ -950,6 +950,19 @@ } /* + * If we have seen a tail call, we need a second pass. + * This is because bpf_jit_emit_common_epilogue() is called + * from bpf_jit_emit_tail_call() with a not yet stable ctx->seen. + */ + if (cgctx.seen & SEEN_TAILCALL) { + cgctx.idx = 0; + if (bpf_jit_build_body(fp, 0, &cgctx, addrs, false)) { + fp = org_fp; + goto out_addrs; + } + } + + /* * Pretend to build prologue, given the features we've seen. This will * update ctgtx.idx as it pretends to output instructions, then we can * calculate total size from idx. diff -Nru linux-4.19.87/arch/powerpc/perf/isa207-common.c linux-4.19.98/arch/powerpc/perf/isa207-common.c --- linux-4.19.87/arch/powerpc/perf/isa207-common.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/perf/isa207-common.c 2020-01-23 07:21:39.000000000 +0000 @@ -148,6 +148,14 @@ return true; } +static unsigned int dc_ic_rld_quad_l1_sel(u64 event) +{ + unsigned int cache; + + cache = (event >> EVENT_CACHE_SEL_SHIFT) & MMCR1_DC_IC_QUAL_MASK; + return cache; +} + static inline u64 isa207_find_source(u64 idx, u32 sub_idx) { u64 ret = PERF_MEM_NA; @@ -288,10 +296,10 @@ * have a cache selector of zero. The bank selector (bit 3) is * irrelevant, as long as the rest of the value is 0. */ - if (cache & 0x7) + if (!cpu_has_feature(CPU_FTR_ARCH_300) && (cache & 0x7)) return -1; - } else if (event & EVENT_IS_L1) { + } else if (cpu_has_feature(CPU_FTR_ARCH_300) || (event & EVENT_IS_L1)) { mask |= CNST_L1_QUAL_MASK; value |= CNST_L1_QUAL_VAL(cache); } @@ -394,11 +402,14 @@ /* In continuous sampling mode, update SDAR on TLB miss */ mmcra_sdar_mode(event[i], &mmcra); - if (event[i] & EVENT_IS_L1) { - cache = event[i] >> EVENT_CACHE_SEL_SHIFT; - mmcr1 |= (cache & 1) << MMCR1_IC_QUAL_SHIFT; - cache >>= 1; - mmcr1 |= (cache & 1) << MMCR1_DC_QUAL_SHIFT; + if (cpu_has_feature(CPU_FTR_ARCH_300)) { + cache = dc_ic_rld_quad_l1_sel(event[i]); + mmcr1 |= (cache) << MMCR1_DC_IC_QUAL_SHIFT; + } else { + if (event[i] & EVENT_IS_L1) { + cache = dc_ic_rld_quad_l1_sel(event[i]); + mmcr1 |= (cache) << MMCR1_DC_IC_QUAL_SHIFT; + } } if (is_event_marked(event[i])) { diff -Nru linux-4.19.87/arch/powerpc/perf/isa207-common.h linux-4.19.98/arch/powerpc/perf/isa207-common.h --- linux-4.19.87/arch/powerpc/perf/isa207-common.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/perf/isa207-common.h 2020-01-23 07:21:39.000000000 +0000 @@ -163,8 +163,8 @@ #define MMCR1_COMBINE_SHIFT(pmc) (35 - ((pmc) - 1)) #define MMCR1_PMCSEL_SHIFT(pmc) (24 - (((pmc) - 1)) * 8) #define MMCR1_FAB_SHIFT 36 -#define MMCR1_DC_QUAL_SHIFT 47 -#define MMCR1_IC_QUAL_SHIFT 46 +#define MMCR1_DC_IC_QUAL_MASK 0x3 +#define MMCR1_DC_IC_QUAL_SHIFT 46 /* MMCR1 Combine bits macro for power9 */ #define p9_MMCR1_COMBINE_SHIFT(pmc) (38 - ((pmc - 1) * 2)) diff -Nru linux-4.19.87/arch/powerpc/platforms/83xx/misc.c linux-4.19.98/arch/powerpc/platforms/83xx/misc.c --- linux-4.19.87/arch/powerpc/platforms/83xx/misc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/platforms/83xx/misc.c 2020-01-23 07:21:39.000000000 +0000 @@ -14,6 +14,7 @@ #include #include +#include #include #include #include @@ -150,3 +151,19 @@ mpc83xx_setup_pci(); } + +int machine_check_83xx(struct pt_regs *regs) +{ + u32 mask = 1 << (31 - IPIC_MCP_WDT); + + if (!(regs->msr & SRR1_MCE_MCP) || !(ipic_get_mcp_status() & mask)) + return machine_check_generic(regs); + ipic_clear_mcp_status(mask); + + if (debugger_fault_handler(regs)) + return 1; + + die("Watchdog NMI Reset", regs, 0); + + return 1; +} diff -Nru linux-4.19.87/arch/powerpc/platforms/powernv/eeh-powernv.c linux-4.19.98/arch/powerpc/platforms/powernv/eeh-powernv.c --- linux-4.19.87/arch/powerpc/platforms/powernv/eeh-powernv.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/platforms/powernv/eeh-powernv.c 2020-01-23 07:21:39.000000000 +0000 @@ -578,8 +578,8 @@ static int pnv_eeh_get_phb_state(struct eeh_pe *pe) { struct pnv_phb *phb = pe->phb->private_data; - u8 fstate; - __be16 pcierr; + u8 fstate = 0; + __be16 pcierr = 0; s64 rc; int result = 0; @@ -617,8 +617,8 @@ static int pnv_eeh_get_pe_state(struct eeh_pe *pe) { struct pnv_phb *phb = pe->phb->private_data; - u8 fstate; - __be16 pcierr; + u8 fstate = 0; + __be16 pcierr = 0; s64 rc; int result; diff -Nru linux-4.19.87/arch/powerpc/platforms/powernv/pci-ioda.c linux-4.19.98/arch/powerpc/platforms/powernv/pci-ioda.c --- linux-4.19.87/arch/powerpc/platforms/powernv/pci-ioda.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/platforms/powernv/pci-ioda.c 2020-01-23 07:21:39.000000000 +0000 @@ -605,8 +605,8 @@ static int pnv_ioda_get_pe_state(struct pnv_phb *phb, int pe_no) { struct pnv_ioda_pe *slave, *pe; - u8 fstate, state; - __be16 pcierr; + u8 fstate = 0, state; + __be16 pcierr = 0; s64 rc; /* Sanity check on PE number */ diff -Nru linux-4.19.87/arch/powerpc/platforms/powernv/pci.c linux-4.19.98/arch/powerpc/platforms/powernv/pci.c --- linux-4.19.87/arch/powerpc/platforms/powernv/pci.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/platforms/powernv/pci.c 2020-01-23 07:21:39.000000000 +0000 @@ -602,8 +602,8 @@ static void pnv_pci_config_check_eeh(struct pci_dn *pdn) { struct pnv_phb *phb = pdn->phb->private_data; - u8 fstate; - __be16 pcierr; + u8 fstate = 0; + __be16 pcierr = 0; unsigned int pe_no; s64 rc; @@ -1095,6 +1095,23 @@ if (!firmware_has_feature(FW_FEATURE_OPAL)) return; +#ifdef CONFIG_PCIEPORTBUS + /* + * On PowerNV PCIe devices are (currently) managed in cooperation + * with firmware. This isn't *strictly* required, but there's enough + * assumptions baked into both firmware and the platform code that + * it's unwise to allow the portbus services to be used. + * + * We need to fix this eventually, but for now set this flag to disable + * the portbus driver. The AER service isn't required since that AER + * events are handled via EEH. The pciehp hotplug driver can't work + * without kernel changes (and portbus binding breaks pnv_php). The + * other services also require some thinking about how we're going + * to integrate them. + */ + pcie_ports_disabled = true; +#endif + /* Look for IODA IO-Hubs. */ for_each_compatible_node(np, NULL, "ibm,ioda-hub") { pnv_pci_init_ioda_hub(np); diff -Nru linux-4.19.87/arch/powerpc/platforms/powernv/smp.c linux-4.19.98/arch/powerpc/platforms/powernv/smp.c --- linux-4.19.87/arch/powerpc/platforms/powernv/smp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/platforms/powernv/smp.c 2020-01-23 07:21:39.000000000 +0000 @@ -223,7 +223,7 @@ * for coming online, which are handled via * generic_check_cpu_restart() calls. */ - kvmppc_set_host_ipi(cpu, 0); + kvmppc_clear_host_ipi(cpu); srr1 = pnv_cpu_offline(cpu); diff -Nru linux-4.19.87/arch/powerpc/platforms/pseries/cmm.c linux-4.19.98/arch/powerpc/platforms/pseries/cmm.c --- linux-4.19.87/arch/powerpc/platforms/pseries/cmm.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/platforms/pseries/cmm.c 2020-01-23 07:21:39.000000000 +0000 @@ -425,6 +425,10 @@ .dev_name = "cmm", }; +static void cmm_release_device(struct device *dev) +{ +} + /** * cmm_sysfs_register - Register with sysfs * @@ -440,6 +444,7 @@ dev->id = 0; dev->bus = &cmm_subsys; + dev->release = cmm_release_device; if ((rc = device_register(dev))) goto subsys_unregister; diff -Nru linux-4.19.87/arch/powerpc/platforms/pseries/dlpar.c linux-4.19.98/arch/powerpc/platforms/pseries/dlpar.c --- linux-4.19.87/arch/powerpc/platforms/pseries/dlpar.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/platforms/pseries/dlpar.c 2020-01-23 07:21:39.000000000 +0000 @@ -63,6 +63,10 @@ name = (char *)ccwa + be32_to_cpu(ccwa->name_offset); prop->name = kstrdup(name, GFP_KERNEL); + if (!prop->name) { + dlpar_free_cc_property(prop); + return NULL; + } prop->length = be32_to_cpu(ccwa->prop_length); value = (char *)ccwa + be32_to_cpu(ccwa->prop_offset); diff -Nru linux-4.19.87/arch/powerpc/platforms/pseries/hotplug-memory.c linux-4.19.98/arch/powerpc/platforms/pseries/hotplug-memory.c --- linux-4.19.87/arch/powerpc/platforms/pseries/hotplug-memory.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/platforms/pseries/hotplug-memory.c 2020-01-23 07:21:39.000000000 +0000 @@ -202,6 +202,7 @@ aa_index = find_aa_index(dr_node, ala_prop, lmb_assoc); + of_node_put(dr_node); dlpar_free_cc_nodes(lmb_node); if (aa_index < 0) { diff -Nru linux-4.19.87/arch/powerpc/platforms/pseries/hvconsole.c linux-4.19.98/arch/powerpc/platforms/pseries/hvconsole.c --- linux-4.19.87/arch/powerpc/platforms/pseries/hvconsole.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/platforms/pseries/hvconsole.c 2020-01-23 07:21:39.000000000 +0000 @@ -62,7 +62,7 @@ * @vtermno: The vtermno or unit_address of the adapter from which the data * originated. * @buf: The character buffer that contains the character data to send to - * firmware. + * firmware. Must be at least 16 bytes, even if count is less than 16. * @count: Send this number of characters. */ int hvc_put_chars(uint32_t vtermno, const char *buf, int count) diff -Nru linux-4.19.87/arch/powerpc/platforms/pseries/setup.c linux-4.19.98/arch/powerpc/platforms/pseries/setup.c --- linux-4.19.87/arch/powerpc/platforms/pseries/setup.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/platforms/pseries/setup.c 2020-01-23 07:21:39.000000000 +0000 @@ -75,6 +75,9 @@ #include "pseries.h" #include "../../../../drivers/pci/pci.h" +DEFINE_STATIC_KEY_FALSE(shared_processor); +EXPORT_SYMBOL_GPL(shared_processor); + int CMO_PrPSP = -1; int CMO_SecPSP = -1; unsigned long CMO_PageSize = (ASM_CONST(1) << IOMMU_PAGE_SHIFT_4K); @@ -761,6 +764,10 @@ if (firmware_has_feature(FW_FEATURE_LPAR)) { vpa_init(boot_cpuid); + + if (lppaca_shared_proc(get_lppaca())) + static_branch_enable(&shared_processor); + ppc_md.power_save = pseries_lpar_idle; ppc_md.enable_pmcs = pseries_lpar_enable_pmcs; #ifdef CONFIG_PCI_IOV diff -Nru linux-4.19.87/arch/powerpc/sysdev/xics/icp-native.c linux-4.19.98/arch/powerpc/sysdev/xics/icp-native.c --- linux-4.19.87/arch/powerpc/sysdev/xics/icp-native.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/sysdev/xics/icp-native.c 2020-01-23 07:21:39.000000000 +0000 @@ -145,7 +145,7 @@ static void icp_native_cause_ipi(int cpu) { - kvmppc_set_host_ipi(cpu, 1); + kvmppc_set_host_ipi(cpu); icp_native_set_qirr(cpu, IPI_PRIORITY); } @@ -184,7 +184,7 @@ if (vec == XICS_IPI) { /* Clear pending IPI */ int cpu = smp_processor_id(); - kvmppc_set_host_ipi(cpu, 0); + kvmppc_clear_host_ipi(cpu); icp_native_set_qirr(cpu, 0xff); } else { pr_err("XICS: hw interrupt 0x%x to offline cpu, disabling\n", @@ -205,7 +205,7 @@ { int cpu = smp_processor_id(); - kvmppc_set_host_ipi(cpu, 0); + kvmppc_clear_host_ipi(cpu); icp_native_set_qirr(cpu, 0xff); return smp_ipi_demux(); diff -Nru linux-4.19.87/arch/powerpc/sysdev/xics/icp-opal.c linux-4.19.98/arch/powerpc/sysdev/xics/icp-opal.c --- linux-4.19.87/arch/powerpc/sysdev/xics/icp-opal.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/sysdev/xics/icp-opal.c 2020-01-23 07:21:39.000000000 +0000 @@ -130,7 +130,7 @@ { int hw_cpu = get_hard_smp_processor_id(cpu); - kvmppc_set_host_ipi(cpu, 1); + kvmppc_set_host_ipi(cpu); opal_int_set_mfrr(hw_cpu, IPI_PRIORITY); } @@ -138,7 +138,7 @@ { int cpu = smp_processor_id(); - kvmppc_set_host_ipi(cpu, 0); + kvmppc_clear_host_ipi(cpu); opal_int_set_mfrr(get_hard_smp_processor_id(cpu), 0xff); return smp_ipi_demux(); @@ -161,7 +161,7 @@ if (vec == XICS_IPI) { /* Clear pending IPI */ int cpu = smp_processor_id(); - kvmppc_set_host_ipi(cpu, 0); + kvmppc_clear_host_ipi(cpu); opal_int_set_mfrr(get_hard_smp_processor_id(cpu), 0xff); } else { pr_err("XICS: hw interrupt 0x%x to offline cpu, " diff -Nru linux-4.19.87/arch/powerpc/sysdev/xive/common.c linux-4.19.98/arch/powerpc/sysdev/xive/common.c --- linux-4.19.87/arch/powerpc/sysdev/xive/common.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/sysdev/xive/common.c 2020-01-23 07:21:39.000000000 +0000 @@ -968,6 +968,15 @@ xd->target = XIVE_INVALID_TARGET; irq_set_handler_data(virq, xd); + /* + * Turn OFF by default the interrupt being mapped. A side + * effect of this check is the mapping the ESB page of the + * interrupt in the Linux address space. This prevents page + * fault issues in the crash handler which masks all + * interrupts. + */ + xive_esb_read(xd, XIVE_ESB_SET_PQ_01); + return 0; } diff -Nru linux-4.19.87/arch/powerpc/sysdev/xive/spapr.c linux-4.19.98/arch/powerpc/sysdev/xive/spapr.c --- linux-4.19.87/arch/powerpc/sysdev/xive/spapr.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/sysdev/xive/spapr.c 2020-01-23 07:21:39.000000000 +0000 @@ -359,20 +359,28 @@ data->esb_shift = esb_shift; data->trig_page = trig_page; + data->hw_irq = hw_irq; + /* * No chip-id for the sPAPR backend. This has an impact how we * pick a target. See xive_pick_irq_target(). */ data->src_chip = XIVE_INVALID_CHIP_ID; + /* + * When the H_INT_ESB flag is set, the H_INT_ESB hcall should + * be used for interrupt management. Skip the remapping of the + * ESB pages which are not available. + */ + if (data->flags & XIVE_IRQ_FLAG_H_INT_ESB) + return 0; + data->eoi_mmio = ioremap(data->eoi_page, 1u << data->esb_shift); if (!data->eoi_mmio) { pr_err("Failed to map EOI page for irq 0x%x\n", hw_irq); return -ENOMEM; } - data->hw_irq = hw_irq; - /* Full function page supports trigger */ if (flags & XIVE_SRC_TRIGGER) { data->trig_mmio = data->eoi_mmio; diff -Nru linux-4.19.87/arch/powerpc/tools/relocs_check.sh linux-4.19.98/arch/powerpc/tools/relocs_check.sh --- linux-4.19.87/arch/powerpc/tools/relocs_check.sh 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/tools/relocs_check.sh 2020-01-23 07:21:39.000000000 +0000 @@ -23,7 +23,7 @@ vmlinux="$2" bad_relocs=$( -"$objdump" -R "$vmlinux" | +$objdump -R "$vmlinux" | # Only look at relocation lines. grep -E '\:' | awk '{print $1}' ) BRANCHES=$( -"$objdump" -R "$vmlinux" -D --start-address=0xc000000000000000 \ +$objdump -R "$vmlinux" -D --start-address=0xc000000000000000 \ --stop-address=${end_intr} | grep -e "^c[0-9a-f]*:[[:space:]]*\([0-9a-f][0-9a-f][[:space:]]\)\{4\}[[:space:]]*b" | grep -v '\<__start_initialization_multiplatform>' | diff -Nru linux-4.19.87/arch/powerpc/xmon/Makefile linux-4.19.98/arch/powerpc/xmon/Makefile --- linux-4.19.87/arch/powerpc/xmon/Makefile 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/xmon/Makefile 2020-01-23 07:21:39.000000000 +0000 @@ -1,8 +1,8 @@ # SPDX-License-Identifier: GPL-2.0 # Makefile for xmon -# Disable clang warning for using setjmp without setjmp.h header -subdir-ccflags-y := $(call cc-disable-warning, builtin-requires-header) +# Avoid clang warnings around longjmp/setjmp declarations +subdir-ccflags-y := -ffreestanding subdir-ccflags-$(CONFIG_PPC_WERROR) += -Werror diff -Nru linux-4.19.87/arch/powerpc/xmon/xmon.c linux-4.19.98/arch/powerpc/xmon/xmon.c --- linux-4.19.87/arch/powerpc/xmon/xmon.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/powerpc/xmon/xmon.c 2020-01-23 07:21:39.000000000 +0000 @@ -3493,7 +3493,7 @@ printf("sr0-15 ="); for (i = 0; i < 16; ++i) - printf(" %x", mfsrin(i)); + printf(" %x", mfsrin(i << 28)); printf("\n"); } #endif diff -Nru linux-4.19.87/arch/riscv/kernel/ftrace.c linux-4.19.98/arch/riscv/kernel/ftrace.c --- linux-4.19.87/arch/riscv/kernel/ftrace.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/riscv/kernel/ftrace.c 2020-01-23 07:21:39.000000000 +0000 @@ -142,7 +142,7 @@ */ old = *parent; - if (function_graph_enter(old, self_addr, frame_pointer, parent)) + if (!function_graph_enter(old, self_addr, frame_pointer, parent)) *parent = return_hooker; } diff -Nru linux-4.19.87/arch/s390/include/asm/pgalloc.h linux-4.19.98/arch/s390/include/asm/pgalloc.h --- linux-4.19.87/arch/s390/include/asm/pgalloc.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/s390/include/asm/pgalloc.h 2020-01-23 07:21:39.000000000 +0000 @@ -56,7 +56,12 @@ crst_table_init(table, _REGION2_ENTRY_EMPTY); return (p4d_t *) table; } -#define p4d_free(mm, p4d) crst_table_free(mm, (unsigned long *) p4d) + +static inline void p4d_free(struct mm_struct *mm, p4d_t *p4d) +{ + if (!mm_p4d_folded(mm)) + crst_table_free(mm, (unsigned long *) p4d); +} static inline pud_t *pud_alloc_one(struct mm_struct *mm, unsigned long address) { @@ -65,7 +70,12 @@ crst_table_init(table, _REGION3_ENTRY_EMPTY); return (pud_t *) table; } -#define pud_free(mm, pud) crst_table_free(mm, (unsigned long *) pud) + +static inline void pud_free(struct mm_struct *mm, pud_t *pud) +{ + if (!mm_pud_folded(mm)) + crst_table_free(mm, (unsigned long *) pud); +} static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long vmaddr) { @@ -83,6 +93,8 @@ static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) { + if (mm_pmd_folded(mm)) + return; pgtable_pmd_page_dtor(virt_to_page(pmd)); crst_table_free(mm, (unsigned long *) pmd); } diff -Nru linux-4.19.87/arch/s390/include/asm/pgtable.h linux-4.19.98/arch/s390/include/asm/pgtable.h --- linux-4.19.87/arch/s390/include/asm/pgtable.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/s390/include/asm/pgtable.h 2020-01-23 07:21:39.000000000 +0000 @@ -1150,8 +1150,6 @@ static inline void set_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t entry) { - if (!MACHINE_HAS_NX) - pte_val(entry) &= ~_PAGE_NOEXEC; if (pte_present(entry)) pte_val(entry) &= ~_PAGE_UNUSED; if (mm_has_pgste(mm)) @@ -1168,6 +1166,8 @@ { pte_t __pte; pte_val(__pte) = physpage + pgprot_val(pgprot); + if (!MACHINE_HAS_NX) + pte_val(__pte) &= ~_PAGE_NOEXEC; return pte_mkyoung(__pte); } diff -Nru linux-4.19.87/arch/s390/include/asm/timex.h linux-4.19.98/arch/s390/include/asm/timex.h --- linux-4.19.87/arch/s390/include/asm/timex.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/s390/include/asm/timex.h 2020-01-23 07:21:39.000000000 +0000 @@ -10,8 +10,9 @@ #ifndef _ASM_S390_TIMEX_H #define _ASM_S390_TIMEX_H -#include +#include #include +#include /* The value of the TOD clock for 1.1.1970. */ #define TOD_UNIX_EPOCH 0x7d91048bca000000ULL @@ -186,15 +187,18 @@ /** * get_clock_monotonic - returns current time in clock rate units * - * The caller must ensure that preemption is disabled. * The clock and tod_clock_base get changed via stop_machine. - * Therefore preemption must be disabled when calling this - * function, otherwise the returned value is not guaranteed to - * be monotonic. + * Therefore preemption must be disabled, otherwise the returned + * value is not guaranteed to be monotonic. */ static inline unsigned long long get_tod_clock_monotonic(void) { - return get_tod_clock() - *(unsigned long long *) &tod_clock_base[1]; + unsigned long long tod; + + preempt_disable_notrace(); + tod = get_tod_clock() - *(unsigned long long *) &tod_clock_base[1]; + preempt_enable_notrace(); + return tod; } /** diff -Nru linux-4.19.87/arch/s390/kernel/dis.c linux-4.19.98/arch/s390/kernel/dis.c --- linux-4.19.87/arch/s390/kernel/dis.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/s390/kernel/dis.c 2020-01-23 07:21:39.000000000 +0000 @@ -462,10 +462,11 @@ ptr += sprintf(ptr, "%%c%i", value); else if (operand->flags & OPERAND_VR) ptr += sprintf(ptr, "%%v%i", value); - else if (operand->flags & OPERAND_PCREL) - ptr += sprintf(ptr, "%lx", (signed int) value - + addr); - else if (operand->flags & OPERAND_SIGNED) + else if (operand->flags & OPERAND_PCREL) { + void *pcrel = (void *)((int)value + addr); + + ptr += sprintf(ptr, "%px", pcrel); + } else if (operand->flags & OPERAND_SIGNED) ptr += sprintf(ptr, "%i", value); else ptr += sprintf(ptr, "%u", value); @@ -537,7 +538,7 @@ else *ptr++ = ' '; addr = regs->psw.addr + start - 32; - ptr += sprintf(ptr, "%016lx: ", addr); + ptr += sprintf(ptr, "%px: ", (void *)addr); if (start + opsize >= end) break; for (i = 0; i < opsize; i++) @@ -565,7 +566,7 @@ opsize = insn_length(*code); if (opsize > len) break; - ptr += sprintf(ptr, "%p: ", code); + ptr += sprintf(ptr, "%px: ", code); for (i = 0; i < opsize; i++) ptr += sprintf(ptr, "%02x", code[i]); *ptr++ = '\t'; diff -Nru linux-4.19.87/arch/s390/kernel/perf_cpum_sf.c linux-4.19.98/arch/s390/kernel/perf_cpum_sf.c --- linux-4.19.87/arch/s390/kernel/perf_cpum_sf.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/s390/kernel/perf_cpum_sf.c 2020-01-23 07:21:39.000000000 +0000 @@ -193,7 +193,7 @@ unsigned long num_sdb, gfp_t gfp_flags) { int i, rc; - unsigned long *new, *tail; + unsigned long *new, *tail, *tail_prev = NULL; if (!sfb->sdbt || !sfb->tail) return -EINVAL; @@ -232,6 +232,7 @@ sfb->num_sdbt++; /* Link current page to tail of chain */ *tail = (unsigned long)(void *) new + 1; + tail_prev = tail; tail = new; } @@ -241,10 +242,22 @@ * issue, a new realloc call (if required) might succeed. */ rc = alloc_sample_data_block(tail, gfp_flags); - if (rc) + if (rc) { + /* Undo last SDBT. An SDBT with no SDB at its first + * entry but with an SDBT entry instead can not be + * handled by the interrupt handler code. + * Avoid this situation. + */ + if (tail_prev) { + sfb->num_sdbt--; + free_page((unsigned long) new); + tail = tail_prev; + } break; + } sfb->num_sdb++; tail++; + tail_prev = new = NULL; /* Allocated at least one SBD */ } /* Link sampling buffer to its origin */ @@ -1248,18 +1261,28 @@ */ if (flush_all && done) break; - - /* If an event overflow happened, discard samples by - * processing any remaining sample-data-blocks. - */ - if (event_overflow) - flush_all = 1; } /* Account sample overflows in the event hardware structure */ if (sampl_overflow) OVERFLOW_REG(hwc) = DIV_ROUND_UP(OVERFLOW_REG(hwc) + sampl_overflow, 1 + num_sdb); + + /* Perf_event_overflow() and perf_event_account_interrupt() limit + * the interrupt rate to an upper limit. Roughly 1000 samples per + * task tick. + * Hitting this limit results in a large number + * of throttled REF_REPORT_THROTTLE entries and the samples + * are dropped. + * Slightly increase the interval to avoid hitting this limit. + */ + if (event_overflow) { + SAMPL_RATE(hwc) += DIV_ROUND_UP(SAMPL_RATE(hwc), 10); + debug_sprintf_event(sfdbg, 1, "%s: rate adjustment %ld\n", + __func__, + DIV_ROUND_UP(SAMPL_RATE(hwc), 10)); + } + if (sampl_overflow || event_overflow) debug_sprintf_event(sfdbg, 4, "hw_perf_event_update: " "overflow stats: sample=%llu event=%llu\n", diff -Nru linux-4.19.87/arch/s390/kernel/smp.c linux-4.19.98/arch/s390/kernel/smp.c --- linux-4.19.87/arch/s390/kernel/smp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/s390/kernel/smp.c 2020-01-23 07:21:39.000000000 +0000 @@ -261,9 +261,12 @@ lc->spinlock_index = 0; lc->percpu_offset = __per_cpu_offset[cpu]; lc->kernel_asce = S390_lowcore.kernel_asce; + lc->user_asce = S390_lowcore.kernel_asce; lc->machine_flags = S390_lowcore.machine_flags; lc->user_timer = lc->system_timer = lc->steal_timer = 0; __ctl_store(lc->cregs_save_area, 0, 15); + lc->cregs_save_area[1] = lc->kernel_asce; + lc->cregs_save_area[7] = lc->vdso_asce; save_access_regs((unsigned int *) lc->access_regs_save_area); memcpy(lc->stfle_fac_list, S390_lowcore.stfle_fac_list, sizeof(lc->stfle_fac_list)); @@ -712,39 +715,67 @@ static int smp_add_present_cpu(int cpu); -static int __smp_rescan_cpus(struct sclp_core_info *info, int sysfs_add) +static int smp_add_core(struct sclp_core_entry *core, cpumask_t *avail, + bool configured, bool early) { struct pcpu *pcpu; - cpumask_t avail; - int cpu, nr, i, j; + int cpu, nr, i; u16 address; nr = 0; - cpumask_xor(&avail, cpu_possible_mask, cpu_present_mask); - cpu = cpumask_first(&avail); - for (i = 0; (i < info->combined) && (cpu < nr_cpu_ids); i++) { - if (sclp.has_core_type && info->core[i].type != boot_core_type) + if (sclp.has_core_type && core->type != boot_core_type) + return nr; + cpu = cpumask_first(avail); + address = core->core_id << smp_cpu_mt_shift; + for (i = 0; (i <= smp_cpu_mtid) && (cpu < nr_cpu_ids); i++) { + if (pcpu_find_address(cpu_present_mask, address + i)) continue; - address = info->core[i].core_id << smp_cpu_mt_shift; - for (j = 0; j <= smp_cpu_mtid; j++) { - if (pcpu_find_address(cpu_present_mask, address + j)) - continue; - pcpu = pcpu_devices + cpu; - pcpu->address = address + j; - pcpu->state = - (cpu >= info->configured*(smp_cpu_mtid + 1)) ? - CPU_STATE_STANDBY : CPU_STATE_CONFIGURED; - smp_cpu_set_polarization(cpu, POLARIZATION_UNKNOWN); - set_cpu_present(cpu, true); - if (sysfs_add && smp_add_present_cpu(cpu) != 0) - set_cpu_present(cpu, false); - else - nr++; - cpu = cpumask_next(cpu, &avail); - if (cpu >= nr_cpu_ids) + pcpu = pcpu_devices + cpu; + pcpu->address = address + i; + if (configured) + pcpu->state = CPU_STATE_CONFIGURED; + else + pcpu->state = CPU_STATE_STANDBY; + smp_cpu_set_polarization(cpu, POLARIZATION_UNKNOWN); + set_cpu_present(cpu, true); + if (!early && smp_add_present_cpu(cpu) != 0) + set_cpu_present(cpu, false); + else + nr++; + cpumask_clear_cpu(cpu, avail); + cpu = cpumask_next(cpu, avail); + } + return nr; +} + +static int __smp_rescan_cpus(struct sclp_core_info *info, bool early) +{ + struct sclp_core_entry *core; + cpumask_t avail; + bool configured; + u16 core_id; + int nr, i; + + nr = 0; + cpumask_xor(&avail, cpu_possible_mask, cpu_present_mask); + /* + * Add IPL core first (which got logical CPU number 0) to make sure + * that all SMT threads get subsequent logical CPU numbers. + */ + if (early) { + core_id = pcpu_devices[0].address >> smp_cpu_mt_shift; + for (i = 0; i < info->configured; i++) { + core = &info->core[i]; + if (core->core_id == core_id) { + nr += smp_add_core(core, &avail, true, early); break; + } } } + for (i = 0; i < info->combined; i++) { + configured = i < info->configured; + nr += smp_add_core(&info->core[i], &avail, configured, early); + } return nr; } @@ -790,7 +821,7 @@ /* Add CPUs present at boot */ get_online_cpus(); - __smp_rescan_cpus(info, 0); + __smp_rescan_cpus(info, true); put_online_cpus(); memblock_free_early((unsigned long)info, sizeof(*info)); } @@ -810,6 +841,8 @@ restore_access_regs(S390_lowcore.access_regs_save_area); __ctl_load(S390_lowcore.cregs_save_area, 0, 15); __load_psw_mask(PSW_KERNEL_BITS | PSW_MASK_DAT); + set_cpu_flag(CIF_ASCE_PRIMARY); + set_cpu_flag(CIF_ASCE_SECONDARY); cpu_init(); preempt_disable(); init_cpu_timer(); @@ -1140,7 +1173,7 @@ smp_get_core_info(info, 0); get_online_cpus(); mutex_lock(&smp_cpu_state_mutex); - nr = __smp_rescan_cpus(info, 1); + nr = __smp_rescan_cpus(info, false); mutex_unlock(&smp_cpu_state_mutex); put_online_cpus(); kfree(info); diff -Nru linux-4.19.87/arch/s390/kvm/kvm-s390.c linux-4.19.98/arch/s390/kvm/kvm-s390.c --- linux-4.19.87/arch/s390/kvm/kvm-s390.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/s390/kvm/kvm-s390.c 2020-01-23 07:21:39.000000000 +0000 @@ -416,19 +416,30 @@ int kvm_arch_init(void *opaque) { + int rc; + kvm_s390_dbf = debug_register("kvm-trace", 32, 1, 7 * sizeof(long)); if (!kvm_s390_dbf) return -ENOMEM; if (debug_register_view(kvm_s390_dbf, &debug_sprintf_view)) { - debug_unregister(kvm_s390_dbf); - return -ENOMEM; + rc = -ENOMEM; + goto out_debug_unreg; } kvm_s390_cpu_feat_init(); /* Register floating interrupt controller interface. */ - return kvm_register_device_ops(&kvm_flic_ops, KVM_DEV_TYPE_FLIC); + rc = kvm_register_device_ops(&kvm_flic_ops, KVM_DEV_TYPE_FLIC); + if (rc) { + pr_err("Failed to register FLIC rc=%d\n", rc); + goto out_debug_unreg; + } + return 0; + +out_debug_unreg: + debug_unregister(kvm_s390_dbf); + return rc; } void kvm_arch_exit(void) diff -Nru linux-4.19.87/arch/s390/mm/gup.c linux-4.19.98/arch/s390/mm/gup.c --- linux-4.19.87/arch/s390/mm/gup.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/s390/mm/gup.c 2020-01-23 07:21:39.000000000 +0000 @@ -39,7 +39,8 @@ VM_BUG_ON(!pfn_valid(pte_pfn(pte))); page = pte_page(pte); head = compound_head(page); - if (!page_cache_get_speculative(head)) + if (unlikely(WARN_ON_ONCE(page_ref_count(head) < 0) + || !page_cache_get_speculative(head))) return 0; if (unlikely(pte_val(pte) != pte_val(*ptep))) { put_page(head); @@ -77,7 +78,8 @@ refs++; } while (addr += PAGE_SIZE, addr != end); - if (!page_cache_add_speculative(head, refs)) { + if (unlikely(WARN_ON_ONCE(page_ref_count(head) < 0) + || !page_cache_add_speculative(head, refs))) { *nr -= refs; return 0; } @@ -151,7 +153,8 @@ refs++; } while (addr += PAGE_SIZE, addr != end); - if (!page_cache_add_speculative(head, refs)) { + if (unlikely(WARN_ON_ONCE(page_ref_count(head) < 0) + || !page_cache_add_speculative(head, refs))) { *nr -= refs; return 0; } diff -Nru linux-4.19.87/arch/s390/purgatory/Makefile linux-4.19.98/arch/s390/purgatory/Makefile --- linux-4.19.87/arch/s390/purgatory/Makefile 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/s390/purgatory/Makefile 2020-01-23 07:21:39.000000000 +0000 @@ -13,8 +13,10 @@ $(obj)/mem.o: $(srctree)/arch/s390/lib/mem.S FORCE $(call if_changed_rule,as_o_S) -$(obj)/string.o: $(srctree)/arch/s390/lib/string.c FORCE - $(call if_changed_rule,cc_o_c) +KCOV_INSTRUMENT := n +GCOV_PROFILE := n +UBSAN_SANITIZE := n +KASAN_SANITIZE := n LDFLAGS_purgatory.ro := -e purgatory_start -r --no-undefined -nostdlib LDFLAGS_purgatory.ro += -z nodefaultlib diff -Nru linux-4.19.87/arch/s390/purgatory/string.c linux-4.19.98/arch/s390/purgatory/string.c --- linux-4.19.87/arch/s390/purgatory/string.c 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/arch/s390/purgatory/string.c 2020-01-23 07:21:39.000000000 +0000 @@ -0,0 +1,3 @@ +// SPDX-License-Identifier: GPL-2.0 +#define __HAVE_ARCH_MEMCMP /* arch function */ +#include "../lib/string.c" diff -Nru linux-4.19.87/arch/sh/include/cpu-sh4/cpu/sh7734.h linux-4.19.98/arch/sh/include/cpu-sh4/cpu/sh7734.h --- linux-4.19.87/arch/sh/include/cpu-sh4/cpu/sh7734.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/sh/include/cpu-sh4/cpu/sh7734.h 2020-01-23 07:21:39.000000000 +0000 @@ -134,7 +134,7 @@ GPIO_FN_EX_WAIT1, GPIO_FN_SD1_DAT0_A, GPIO_FN_DREQ2, GPIO_FN_CAN1_TX_C, GPIO_FN_ET0_LINK_C, GPIO_FN_ET0_ETXD5_A, GPIO_FN_EX_WAIT0, GPIO_FN_TCLK1_B, - GPIO_FN_RD_WR, GPIO_FN_TCLK0, + GPIO_FN_RD_WR, GPIO_FN_TCLK0, GPIO_FN_CAN_CLK_B, GPIO_FN_ET0_ETXD4, GPIO_FN_EX_CS5, GPIO_FN_SD1_CMD_A, GPIO_FN_ATADIR, GPIO_FN_QSSL_B, GPIO_FN_ET0_ETXD3_A, GPIO_FN_EX_CS4, GPIO_FN_SD1_WP_A, GPIO_FN_ATAWR, GPIO_FN_QMI_QIO1_B, diff -Nru linux-4.19.87/arch/sparc/include/asm/io_64.h linux-4.19.98/arch/sparc/include/asm/io_64.h --- linux-4.19.87/arch/sparc/include/asm/io_64.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/sparc/include/asm/io_64.h 2020-01-23 07:21:39.000000000 +0000 @@ -409,6 +409,7 @@ } #define ioremap_nocache(X,Y) ioremap((X),(Y)) +#define ioremap_uc(X,Y) ioremap((X),(Y)) #define ioremap_wc(X,Y) ioremap((X),(Y)) #define ioremap_wt(X,Y) ioremap((X),(Y)) diff -Nru linux-4.19.87/arch/sparc/net/bpf_jit_comp_64.c linux-4.19.98/arch/sparc/net/bpf_jit_comp_64.c --- linux-4.19.87/arch/sparc/net/bpf_jit_comp_64.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/sparc/net/bpf_jit_comp_64.c 2020-01-23 07:21:39.000000000 +0000 @@ -1270,6 +1270,9 @@ const u8 tmp2 = bpf2sparc[TMP_REG_2]; u32 opcode = 0, rs2; + if (insn->dst_reg == BPF_REG_FP) + ctx->saw_frame_pointer = true; + ctx->tmp_2_used = true; emit_loadimm(imm, tmp2, ctx); @@ -1308,6 +1311,9 @@ const u8 tmp = bpf2sparc[TMP_REG_1]; u32 opcode = 0, rs2; + if (insn->dst_reg == BPF_REG_FP) + ctx->saw_frame_pointer = true; + switch (BPF_SIZE(code)) { case BPF_W: opcode = ST32; @@ -1340,6 +1346,9 @@ const u8 tmp2 = bpf2sparc[TMP_REG_2]; const u8 tmp3 = bpf2sparc[TMP_REG_3]; + if (insn->dst_reg == BPF_REG_FP) + ctx->saw_frame_pointer = true; + ctx->tmp_1_used = true; ctx->tmp_2_used = true; ctx->tmp_3_used = true; @@ -1360,6 +1369,9 @@ const u8 tmp2 = bpf2sparc[TMP_REG_2]; const u8 tmp3 = bpf2sparc[TMP_REG_3]; + if (insn->dst_reg == BPF_REG_FP) + ctx->saw_frame_pointer = true; + ctx->tmp_1_used = true; ctx->tmp_2_used = true; ctx->tmp_3_used = true; @@ -1425,12 +1437,12 @@ struct bpf_prog *tmp, *orig_prog = prog; struct sparc64_jit_data *jit_data; struct bpf_binary_header *header; + u32 prev_image_size, image_size; bool tmp_blinded = false; bool extra_pass = false; struct jit_ctx ctx; - u32 image_size; u8 *image_ptr; - int pass; + int pass, i; if (!prog->jit_requested) return orig_prog; @@ -1461,61 +1473,82 @@ header = jit_data->header; extra_pass = true; image_size = sizeof(u32) * ctx.idx; + prev_image_size = image_size; + pass = 1; goto skip_init_ctx; } memset(&ctx, 0, sizeof(ctx)); ctx.prog = prog; - ctx.offset = kcalloc(prog->len, sizeof(unsigned int), GFP_KERNEL); + ctx.offset = kmalloc_array(prog->len, sizeof(unsigned int), GFP_KERNEL); if (ctx.offset == NULL) { prog = orig_prog; goto out_off; } - /* Fake pass to detect features used, and get an accurate assessment - * of what the final image size will be. + /* Longest sequence emitted is for bswap32, 12 instructions. Pre-cook + * the offset array so that we converge faster. */ - if (build_body(&ctx)) { - prog = orig_prog; - goto out_off; - } - build_prologue(&ctx); - build_epilogue(&ctx); + for (i = 0; i < prog->len; i++) + ctx.offset[i] = i * (12 * 4); - /* Now we know the actual image size. */ - image_size = sizeof(u32) * ctx.idx; - header = bpf_jit_binary_alloc(image_size, &image_ptr, - sizeof(u32), jit_fill_hole); - if (header == NULL) { - prog = orig_prog; - goto out_off; - } - - ctx.image = (u32 *)image_ptr; -skip_init_ctx: - for (pass = 1; pass < 3; pass++) { + prev_image_size = ~0U; + for (pass = 1; pass < 40; pass++) { ctx.idx = 0; build_prologue(&ctx); - if (build_body(&ctx)) { - bpf_jit_binary_free(header); prog = orig_prog; goto out_off; } - build_epilogue(&ctx); if (bpf_jit_enable > 1) - pr_info("Pass %d: shrink = %d, seen = [%c%c%c%c%c%c]\n", pass, - image_size - (ctx.idx * 4), + pr_info("Pass %d: size = %u, seen = [%c%c%c%c%c%c]\n", pass, + ctx.idx * 4, ctx.tmp_1_used ? '1' : ' ', ctx.tmp_2_used ? '2' : ' ', ctx.tmp_3_used ? '3' : ' ', ctx.saw_frame_pointer ? 'F' : ' ', ctx.saw_call ? 'C' : ' ', ctx.saw_tail_call ? 'T' : ' '); + + if (ctx.idx * 4 == prev_image_size) + break; + prev_image_size = ctx.idx * 4; + cond_resched(); + } + + /* Now we know the actual image size. */ + image_size = sizeof(u32) * ctx.idx; + header = bpf_jit_binary_alloc(image_size, &image_ptr, + sizeof(u32), jit_fill_hole); + if (header == NULL) { + prog = orig_prog; + goto out_off; + } + + ctx.image = (u32 *)image_ptr; +skip_init_ctx: + ctx.idx = 0; + + build_prologue(&ctx); + + if (build_body(&ctx)) { + bpf_jit_binary_free(header); + prog = orig_prog; + goto out_off; + } + + build_epilogue(&ctx); + + if (ctx.idx * 4 != prev_image_size) { + pr_err("bpf_jit: Failed to converge, prev_size=%u size=%d\n", + prev_image_size, ctx.idx * 4); + bpf_jit_binary_free(header); + prog = orig_prog; + goto out_off; } if (bpf_jit_enable > 1) diff -Nru linux-4.19.87/arch/um/Kconfig.debug linux-4.19.98/arch/um/Kconfig.debug --- linux-4.19.87/arch/um/Kconfig.debug 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/um/Kconfig.debug 2020-01-23 07:21:39.000000000 +0000 @@ -16,6 +16,7 @@ config GCOV bool "Enable gcov support" depends on DEBUG_INFO + depends on !KCOV help This option allows developers to retrieve coverage data from a UML session. diff -Nru linux-4.19.87/arch/um/drivers/vector_user.c linux-4.19.98/arch/um/drivers/vector_user.c --- linux-4.19.87/arch/um/drivers/vector_user.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/um/drivers/vector_user.c 2020-01-23 07:21:39.000000000 +0000 @@ -30,6 +30,7 @@ #include #include #include +#include #include "vector_user.h" #define ID_GRE 0 diff -Nru linux-4.19.87/arch/x86/boot/compressed/head_64.S linux-4.19.98/arch/x86/boot/compressed/head_64.S --- linux-4.19.87/arch/x86/boot/compressed/head_64.S 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/boot/compressed/head_64.S 2020-01-23 07:21:39.000000000 +0000 @@ -244,6 +244,11 @@ leal efi32_config(%ebp), %eax movl %eax, efi_config(%ebp) + /* Disable paging */ + movl %cr0, %eax + btrl $X86_CR0_PG_BIT, %eax + movl %eax, %cr0 + jmp startup_32 ENDPROC(efi32_stub_entry) #endif diff -Nru linux-4.19.87/arch/x86/events/core.c linux-4.19.98/arch/x86/events/core.c --- linux-4.19.87/arch/x86/events/core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/events/core.c 2020-01-23 07:21:39.000000000 +0000 @@ -375,7 +375,7 @@ * LBR and BTS are still mutually exclusive. */ if (x86_pmu.lbr_pt_coexist && what == x86_lbr_exclusive_pt) - return 0; + goto out; if (!atomic_inc_not_zero(&x86_pmu.lbr_exclusive[what])) { mutex_lock(&pmc_reserve_mutex); @@ -387,6 +387,7 @@ mutex_unlock(&pmc_reserve_mutex); } +out: atomic_inc(&active_events); return 0; @@ -397,11 +398,15 @@ void x86_del_exclusive(unsigned int what) { + atomic_dec(&active_events); + + /* + * See the comment in x86_add_exclusive(). + */ if (x86_pmu.lbr_pt_coexist && what == x86_lbr_exclusive_pt) return; atomic_dec(&x86_pmu.lbr_exclusive[what]); - atomic_dec(&active_events); } int x86_setup_perfctr(struct perf_event *event) diff -Nru linux-4.19.87/arch/x86/events/intel/bts.c linux-4.19.98/arch/x86/events/intel/bts.c --- linux-4.19.87/arch/x86/events/intel/bts.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/events/intel/bts.c 2020-01-23 07:21:39.000000000 +0000 @@ -71,9 +71,17 @@ static struct pmu bts_pmu; +static int buf_nr_pages(struct page *page) +{ + if (!PagePrivate(page)) + return 1; + + return 1 << page_private(page); +} + static size_t buf_size(struct page *page) { - return 1 << (PAGE_SHIFT + page_private(page)); + return buf_nr_pages(page) * PAGE_SIZE; } static void * @@ -91,9 +99,7 @@ /* count all the high order buffers */ for (pg = 0, nbuf = 0; pg < nr_pages;) { page = virt_to_page(pages[pg]); - if (WARN_ON_ONCE(!PagePrivate(page) && nr_pages > 1)) - return NULL; - pg += 1 << page_private(page); + pg += buf_nr_pages(page); nbuf++; } @@ -117,7 +123,7 @@ unsigned int __nr_pages; page = virt_to_page(pages[pg]); - __nr_pages = PagePrivate(page) ? 1 << page_private(page) : 1; + __nr_pages = buf_nr_pages(page); buf->buf[nbuf].page = page; buf->buf[nbuf].offset = offset; buf->buf[nbuf].displacement = (pad ? BTS_RECORD_SIZE - pad : 0); diff -Nru linux-4.19.87/arch/x86/include/asm/crash.h linux-4.19.98/arch/x86/include/asm/crash.h --- linux-4.19.87/arch/x86/include/asm/crash.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/include/asm/crash.h 2020-01-23 07:21:39.000000000 +0000 @@ -2,6 +2,8 @@ #ifndef _ASM_X86_CRASH_H #define _ASM_X86_CRASH_H +struct kimage; + int crash_load_segments(struct kimage *image); int crash_copy_backup_region(struct kimage *image); int crash_setup_memmap_entries(struct kimage *image, diff -Nru linux-4.19.87/arch/x86/include/asm/fixmap.h linux-4.19.98/arch/x86/include/asm/fixmap.h --- linux-4.19.87/arch/x86/include/asm/fixmap.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/include/asm/fixmap.h 2020-01-23 07:21:39.000000000 +0000 @@ -159,7 +159,7 @@ extern pte_t *pkmap_page_table; void __native_set_fixmap(enum fixed_addresses idx, pte_t pte); -void native_set_fixmap(enum fixed_addresses idx, +void native_set_fixmap(unsigned /* enum fixed_addresses */ idx, phys_addr_t phys, pgprot_t flags); #ifndef CONFIG_PARAVIRT diff -Nru linux-4.19.87/arch/x86/include/asm/syscall_wrapper.h linux-4.19.98/arch/x86/include/asm/syscall_wrapper.h --- linux-4.19.87/arch/x86/include/asm/syscall_wrapper.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/include/asm/syscall_wrapper.h 2020-01-23 07:21:39.000000000 +0000 @@ -48,12 +48,13 @@ * To keep the naming coherent, re-define SYSCALL_DEFINE0 to create an alias * named __ia32_sys_*() */ -#define SYSCALL_DEFINE0(sname) \ - SYSCALL_METADATA(_##sname, 0); \ - asmlinkage long __x64_sys_##sname(void); \ - ALLOW_ERROR_INJECTION(__x64_sys_##sname, ERRNO); \ - SYSCALL_ALIAS(__ia32_sys_##sname, __x64_sys_##sname); \ - asmlinkage long __x64_sys_##sname(void) + +#define SYSCALL_DEFINE0(sname) \ + SYSCALL_METADATA(_##sname, 0); \ + asmlinkage long __x64_sys_##sname(const struct pt_regs *__unused);\ + ALLOW_ERROR_INJECTION(__x64_sys_##sname, ERRNO); \ + SYSCALL_ALIAS(__ia32_sys_##sname, __x64_sys_##sname); \ + asmlinkage long __x64_sys_##sname(const struct pt_regs *__unused) #define COND_SYSCALL(name) \ cond_syscall(__x64_sys_##name); \ @@ -181,11 +182,11 @@ * macros to work correctly. */ #ifndef SYSCALL_DEFINE0 -#define SYSCALL_DEFINE0(sname) \ - SYSCALL_METADATA(_##sname, 0); \ - asmlinkage long __x64_sys_##sname(void); \ - ALLOW_ERROR_INJECTION(__x64_sys_##sname, ERRNO); \ - asmlinkage long __x64_sys_##sname(void) +#define SYSCALL_DEFINE0(sname) \ + SYSCALL_METADATA(_##sname, 0); \ + asmlinkage long __x64_sys_##sname(const struct pt_regs *__unused);\ + ALLOW_ERROR_INJECTION(__x64_sys_##sname, ERRNO); \ + asmlinkage long __x64_sys_##sname(const struct pt_regs *__unused) #endif #ifndef COND_SYSCALL diff -Nru linux-4.19.87/arch/x86/kernel/apic/io_apic.c linux-4.19.98/arch/x86/kernel/apic/io_apic.c --- linux-4.19.87/arch/x86/kernel/apic/io_apic.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/kernel/apic/io_apic.c 2020-01-23 07:21:39.000000000 +0000 @@ -1724,9 +1724,10 @@ static inline bool ioapic_irqd_mask(struct irq_data *data) { - /* If we are moving the irq we need to mask it */ + /* If we are moving the IRQ we need to mask it */ if (unlikely(irqd_is_setaffinity_pending(data))) { - mask_ioapic_irq(data); + if (!irqd_irq_masked(data)) + mask_ioapic_irq(data); return true; } return false; @@ -1763,7 +1764,9 @@ */ if (!io_apic_level_ack_pending(data->chip_data)) irq_move_masked_irq(data); - unmask_ioapic_irq(data); + /* If the IRQ is masked in the core, leave it: */ + if (!irqd_irq_masked(data)) + unmask_ioapic_irq(data); } } #else diff -Nru linux-4.19.87/arch/x86/kernel/cpu/amd.c linux-4.19.98/arch/x86/kernel/cpu/amd.c --- linux-4.19.87/arch/x86/kernel/cpu/amd.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/kernel/cpu/amd.c 2020-01-23 07:21:39.000000000 +0000 @@ -609,9 +609,9 @@ return; clear_all: - clear_cpu_cap(c, X86_FEATURE_SME); + setup_clear_cpu_cap(X86_FEATURE_SME); clear_sev: - clear_cpu_cap(c, X86_FEATURE_SEV); + setup_clear_cpu_cap(X86_FEATURE_SEV); } } diff -Nru linux-4.19.87/arch/x86/kernel/cpu/intel_rdt.c linux-4.19.98/arch/x86/kernel/cpu/intel_rdt.c --- linux-4.19.87/arch/x86/kernel/cpu/intel_rdt.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/kernel/cpu/intel_rdt.c 2020-01-23 07:21:39.000000000 +0000 @@ -595,7 +595,7 @@ if (static_branch_unlikely(&rdt_mon_enable_key)) rmdir_mondata_subdir_allrdtgrp(r, d->id); list_del(&d->list); - if (is_mbm_enabled()) + if (r->mon_capable && is_mbm_enabled()) cancel_delayed_work(&d->mbm_over); if (is_llc_occupancy_enabled() && has_busy_rmid(r, d)) { /* diff -Nru linux-4.19.87/arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c linux-4.19.98/arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c --- linux-4.19.87/arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c 2020-01-23 07:21:39.000000000 +0000 @@ -459,6 +459,10 @@ int ret = 0; rdtgrp = rdtgroup_kn_lock_live(of->kn); + if (!rdtgrp) { + ret = -ENOENT; + goto out; + } md.priv = of->kn->priv; resid = md.u.rid; diff -Nru linux-4.19.87/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c linux-4.19.98/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c --- linux-4.19.87/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c 2020-01-23 07:21:39.000000000 +0000 @@ -1749,9 +1749,6 @@ struct rdt_domain *d; int cpu; - if (!zalloc_cpumask_var(&cpu_mask, GFP_KERNEL)) - return -ENOMEM; - if (level == RDT_RESOURCE_L3) update = l3_qos_cfg_update; else if (level == RDT_RESOURCE_L2) @@ -1759,6 +1756,9 @@ else return -EINVAL; + if (!zalloc_cpumask_var(&cpu_mask, GFP_KERNEL)) + return -ENOMEM; + r_l = &rdt_resources_all[level]; list_for_each_entry(d, &r_l->domains, list) { /* Pick one CPU from each domain instance to update MSR */ diff -Nru linux-4.19.87/arch/x86/kernel/cpu/mcheck/mce.c linux-4.19.98/arch/x86/kernel/cpu/mcheck/mce.c --- linux-4.19.87/arch/x86/kernel/cpu/mcheck/mce.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/kernel/cpu/mcheck/mce.c 2020-01-23 07:21:39.000000000 +0000 @@ -812,8 +812,8 @@ if (quirk_no_way_out) quirk_no_way_out(i, m, regs); + m->bank = i; if (mce_severity(m, mca_cfg.tolerant, &tmp, true) >= MCE_PANIC_SEVERITY) { - m->bank = i; mce_read_aux(m, i); *msg = tmp; return 1; @@ -1631,36 +1631,6 @@ if (c->x86 == 0x15 && c->x86_model <= 0xf) mce_flags.overflow_recov = 1; - /* - * Turn off MC4_MISC thresholding banks on those models since - * they're not supported there. - */ - if (c->x86 == 0x15 && - (c->x86_model >= 0x10 && c->x86_model <= 0x1f)) { - int i; - u64 hwcr; - bool need_toggle; - u32 msrs[] = { - 0x00000413, /* MC4_MISC0 */ - 0xc0000408, /* MC4_MISC1 */ - }; - - rdmsrl(MSR_K7_HWCR, hwcr); - - /* McStatusWrEn has to be set */ - need_toggle = !(hwcr & BIT(18)); - - if (need_toggle) - wrmsrl(MSR_K7_HWCR, hwcr | BIT(18)); - - /* Clear CntP bit safely */ - for (i = 0; i < ARRAY_SIZE(msrs); i++) - msr_clear_bit(msrs[i], 62); - - /* restore old settings */ - if (need_toggle) - wrmsrl(MSR_K7_HWCR, hwcr); - } } if (c->x86_vendor == X86_VENDOR_INTEL) { diff -Nru linux-4.19.87/arch/x86/kernel/cpu/mcheck/mce_amd.c linux-4.19.98/arch/x86/kernel/cpu/mcheck/mce_amd.c --- linux-4.19.87/arch/x86/kernel/cpu/mcheck/mce_amd.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/kernel/cpu/mcheck/mce_amd.c 2020-01-23 07:21:39.000000000 +0000 @@ -228,10 +228,10 @@ } /* Return early if this bank was already initialized. */ - if (smca_banks[bank].hwid) + if (smca_banks[bank].hwid && smca_banks[bank].hwid->hwid_mcatype != 0) return; - if (rdmsr_safe_on_cpu(cpu, MSR_AMD64_SMCA_MCx_IPID(bank), &low, &high)) { + if (rdmsr_safe(MSR_AMD64_SMCA_MCx_IPID(bank), &low, &high)) { pr_warn("Failed to read MCA_IPID for bank %d\n", bank); return; } @@ -545,6 +545,40 @@ return offset; } +/* + * Turn off MC4_MISC thresholding banks on all family 0x15 models since + * they're not supported there. + */ +void disable_err_thresholding(struct cpuinfo_x86 *c) +{ + int i; + u64 hwcr; + bool need_toggle; + u32 msrs[] = { + 0x00000413, /* MC4_MISC0 */ + 0xc0000408, /* MC4_MISC1 */ + }; + + if (c->x86 != 0x15) + return; + + rdmsrl(MSR_K7_HWCR, hwcr); + + /* McStatusWrEn has to be set */ + need_toggle = !(hwcr & BIT(18)); + + if (need_toggle) + wrmsrl(MSR_K7_HWCR, hwcr | BIT(18)); + + /* Clear CntP bit safely */ + for (i = 0; i < ARRAY_SIZE(msrs); i++) + msr_clear_bit(msrs[i], 62); + + /* restore old settings */ + if (need_toggle) + wrmsrl(MSR_K7_HWCR, hwcr); +} + /* cpu init entry point, called from mce.c with preempt off */ void mce_amd_feature_init(struct cpuinfo_x86 *c) { @@ -552,6 +586,8 @@ unsigned int bank, block, cpu = smp_processor_id(); int offset = -1; + disable_err_thresholding(c); + for (bank = 0; bank < mca_cfg.banks; ++bank) { if (mce_flags.smca) smca_configure(bank, cpu); diff -Nru linux-4.19.87/arch/x86/kernel/cpu/mcheck/therm_throt.c linux-4.19.98/arch/x86/kernel/cpu/mcheck/therm_throt.c --- linux-4.19.87/arch/x86/kernel/cpu/mcheck/therm_throt.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/kernel/cpu/mcheck/therm_throt.c 2020-01-23 07:21:39.000000000 +0000 @@ -185,7 +185,7 @@ /* if we just entered the thermal event */ if (new_event) { if (event == THERMAL_THROTTLING_EVENT) - pr_crit("CPU%d: %s temperature above threshold, cpu clock throttled (total events = %lu)\n", + pr_warn("CPU%d: %s temperature above threshold, cpu clock throttled (total events = %lu)\n", this_cpu, level == CORE_LEVEL ? "Core" : "Package", state->count); diff -Nru linux-4.19.87/arch/x86/kernel/kprobes/core.c linux-4.19.98/arch/x86/kernel/kprobes/core.c --- linux-4.19.87/arch/x86/kernel/kprobes/core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/kernel/kprobes/core.c 2020-01-23 07:21:39.000000000 +0000 @@ -1140,6 +1140,12 @@ is_in_entry_trampoline_section; } +int __init arch_populate_kprobe_blacklist(void) +{ + return kprobe_add_area_blacklist((unsigned long)__entry_text_start, + (unsigned long)__entry_text_end); +} + int __init arch_init_kprobes(void) { return 0; diff -Nru linux-4.19.87/arch/x86/kvm/cpuid.c linux-4.19.98/arch/x86/kvm/cpuid.c --- linux-4.19.87/arch/x86/kvm/cpuid.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/kvm/cpuid.c 2020-01-23 07:21:39.000000000 +0000 @@ -420,7 +420,7 @@ r = -E2BIG; - if (*nent >= maxnent) + if (WARN_ON(*nent >= maxnent)) goto out; do_cpuid_1_ent(entry, function, index); @@ -729,6 +729,9 @@ static int do_cpuid_ent(struct kvm_cpuid_entry2 *entry, u32 func, u32 idx, int *nent, int maxnent, unsigned int type) { + if (*nent >= maxnent) + return -E2BIG; + if (type == KVM_GET_EMULATED_CPUID) return __do_cpuid_ent_emulated(entry, func, idx, nent, maxnent); diff -Nru linux-4.19.87/arch/x86/kvm/vmx.c linux-4.19.98/arch/x86/kvm/vmx.c --- linux-4.19.87/arch/x86/kvm/vmx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/kvm/vmx.c 2020-01-23 07:21:39.000000000 +0000 @@ -3404,9 +3404,6 @@ index = __find_msr_index(vmx, MSR_CSTAR); if (index >= 0) move_msr_up(vmx, index, save_nmsrs++); - index = __find_msr_index(vmx, MSR_TSC_AUX); - if (index >= 0 && guest_cpuid_has(&vmx->vcpu, X86_FEATURE_RDTSCP)) - move_msr_up(vmx, index, save_nmsrs++); /* * MSR_STAR is only needed on long mode guests, and only * if efer.sce is enabled. @@ -3419,6 +3416,9 @@ index = __find_msr_index(vmx, MSR_EFER); if (index >= 0 && update_transition_efer(vmx, index)) move_msr_up(vmx, index, save_nmsrs++); + index = __find_msr_index(vmx, MSR_TSC_AUX); + if (index >= 0 && guest_cpuid_has(&vmx->vcpu, X86_FEATURE_RDTSCP)) + move_msr_up(vmx, index, save_nmsrs++); vmx->save_nmsrs = save_nmsrs; vmx->guest_msrs_dirty = true; @@ -11013,10 +11013,6 @@ vmx->loaded_vmcs = vmcs; vmx_vcpu_load(vcpu, cpu); put_cpu(); - - vm_entry_controls_reset_shadow(vmx); - vm_exit_controls_reset_shadow(vmx); - vmx_segment_cache_clear(vmx); } /* @@ -12694,9 +12690,6 @@ if (likely(!evaluate_pending_interrupts) && kvm_vcpu_apicv_active(vcpu)) evaluate_pending_interrupts |= vmx_has_apicv_interrupt(vcpu); - if (from_vmentry && check_vmentry_postreqs(vcpu, vmcs12, exit_qual)) - return EXIT_REASON_INVALID_STATE; - enter_guest_mode(vcpu); if (!(vmcs12->vm_entry_controls & VM_ENTRY_LOAD_DEBUG_CONTROLS)) @@ -12706,6 +12699,7 @@ vmx->nested.vmcs01_guest_bndcfgs = vmcs_read64(GUEST_BNDCFGS); vmx_switch_vmcs(vcpu, &vmx->nested.vmcs02); + vmx_segment_cache_clear(vmx); if (vmcs12->cpu_based_vm_exec_control & CPU_BASED_USE_TSC_OFFSETING) vcpu->arch.tsc_offset += vmcs12->tsc_offset; @@ -12839,6 +12833,13 @@ */ skip_emulated_instruction(vcpu); + ret = check_vmentry_postreqs(vcpu, vmcs12, &exit_qual); + if (ret) { + nested_vmx_entry_failure(vcpu, vmcs12, + EXIT_REASON_INVALID_STATE, exit_qual); + return 1; + } + /* * We're finally done with prerequisite checking, and can start with * the nested entry. @@ -13529,6 +13530,9 @@ } vmx_switch_vmcs(vcpu, &vmx->vmcs01); + vm_entry_controls_reset_shadow(vmx); + vm_exit_controls_reset_shadow(vmx); + vmx_segment_cache_clear(vmx); /* Update any VMCS fields that might have changed while L2 ran */ vmcs_write32(VM_EXIT_MSR_LOAD_COUNT, vmx->msr_autoload.host.nr); diff -Nru linux-4.19.87/arch/x86/kvm/x86.c linux-4.19.98/arch/x86/kvm/x86.c --- linux-4.19.87/arch/x86/kvm/x86.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/kvm/x86.c 2020-01-23 07:21:39.000000000 +0000 @@ -290,13 +290,14 @@ struct kvm_shared_msrs *smsr = per_cpu_ptr(shared_msrs, cpu); int err; - if (((value ^ smsr->values[slot].curr) & mask) == 0) + value = (value & mask) | (smsr->values[slot].host & ~mask); + if (value == smsr->values[slot].curr) return 0; - smsr->values[slot].curr = value; err = wrmsrl_safe(shared_msrs_global.msrs[slot], value); if (err) return 1; + smsr->values[slot].curr = value; if (!smsr->registered) { smsr->urn.on_user_return = kvm_on_user_return; user_return_notifier_register(&smsr->urn); @@ -1173,10 +1174,15 @@ * If TSX is disabled on the system, guests are also mitigated against * TAA and clear CPU buffer mitigation is not required for guests. */ - if (boot_cpu_has_bug(X86_BUG_TAA) && boot_cpu_has(X86_FEATURE_RTM) && - (data & ARCH_CAP_TSX_CTRL_MSR)) + if (!boot_cpu_has(X86_FEATURE_RTM)) + data &= ~ARCH_CAP_TAA_NO; + else if (!boot_cpu_has_bug(X86_BUG_TAA)) + data |= ARCH_CAP_TAA_NO; + else if (data & ARCH_CAP_TSX_CTRL_MSR) data &= ~ARCH_CAP_MDS_NO; + /* KVM does not emulate MSR_IA32_TSX_CTRL. */ + data &= ~ARCH_CAP_TSX_CTRL_MSR; return data; } @@ -4111,6 +4117,7 @@ case KVM_SET_NESTED_STATE: { struct kvm_nested_state __user *user_kvm_nested_state = argp; struct kvm_nested_state kvm_state; + int idx; r = -EINVAL; if (!kvm_x86_ops->set_nested_state) @@ -4132,7 +4139,9 @@ if (kvm_state.flags == KVM_STATE_NESTED_RUN_PENDING) break; + idx = srcu_read_lock(&vcpu->kvm->srcu); r = kvm_x86_ops->set_nested_state(vcpu, user_kvm_nested_state, &kvm_state); + srcu_read_unlock(&vcpu->kvm->srcu, idx); break; } default: diff -Nru linux-4.19.87/arch/x86/lib/x86-opcode-map.txt linux-4.19.98/arch/x86/lib/x86-opcode-map.txt --- linux-4.19.87/arch/x86/lib/x86-opcode-map.txt 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/lib/x86-opcode-map.txt 2020-01-23 07:21:39.000000000 +0000 @@ -333,7 +333,7 @@ 06: CLTS 07: SYSRET (o64) 08: INVD -09: WBINVD +09: WBINVD | WBNOINVD (F3) 0a: 0b: UD2 (1B) 0c: @@ -364,7 +364,7 @@ # a ModR/M byte. 1a: BNDCL Gv,Ev (F3) | BNDCU Gv,Ev (F2) | BNDMOV Gv,Ev (66) | BNDLDX Gv,Ev 1b: BNDCN Gv,Ev (F2) | BNDMOV Ev,Gv (66) | BNDMK Gv,Ev (F3) | BNDSTX Ev,Gv -1c: +1c: Grp20 (1A),(1C) 1d: 1e: 1f: NOP Ev @@ -792,6 +792,8 @@ f5: BZHI Gy,Ey,By (v) | PEXT Gy,By,Ey (F3),(v) | PDEP Gy,By,Ey (F2),(v) f6: ADCX Gy,Ey (66) | ADOX Gy,Ey (F3) | MULX By,Gy,rDX,Ey (F2),(v) f7: BEXTR Gy,Ey,By (v) | SHLX Gy,Ey,By (66),(v) | SARX Gy,Ey,By (F3),(v) | SHRX Gy,Ey,By (F2),(v) +f8: MOVDIR64B Gv,Mdqq (66) | ENQCMD Gv,Mdqq (F2) | ENQCMDS Gv,Mdqq (F3) +f9: MOVDIRI My,Gy EndTable Table: 3-byte opcode 2 (0x0f 0x3a) @@ -943,9 +945,9 @@ EndTable GrpTable: Grp7 -0: SGDT Ms | VMCALL (001),(11B) | VMLAUNCH (010),(11B) | VMRESUME (011),(11B) | VMXOFF (100),(11B) -1: SIDT Ms | MONITOR (000),(11B) | MWAIT (001),(11B) | CLAC (010),(11B) | STAC (011),(11B) -2: LGDT Ms | XGETBV (000),(11B) | XSETBV (001),(11B) | VMFUNC (100),(11B) | XEND (101)(11B) | XTEST (110)(11B) +0: SGDT Ms | VMCALL (001),(11B) | VMLAUNCH (010),(11B) | VMRESUME (011),(11B) | VMXOFF (100),(11B) | PCONFIG (101),(11B) | ENCLV (000),(11B) +1: SIDT Ms | MONITOR (000),(11B) | MWAIT (001),(11B) | CLAC (010),(11B) | STAC (011),(11B) | ENCLS (111),(11B) +2: LGDT Ms | XGETBV (000),(11B) | XSETBV (001),(11B) | VMFUNC (100),(11B) | XEND (101)(11B) | XTEST (110)(11B) | ENCLU (111),(11B) 3: LIDT Ms 4: SMSW Mw/Rv 5: rdpkru (110),(11B) | wrpkru (111),(11B) @@ -1020,7 +1022,7 @@ 3: vstmxcsr Md (v1) | WRGSBASE Ry (F3),(11B) 4: XSAVE | ptwrite Ey (F3),(11B) 5: XRSTOR | lfence (11B) -6: XSAVEOPT | clwb (66) | mfence (11B) +6: XSAVEOPT | clwb (66) | mfence (11B) | TPAUSE Rd (66),(11B) | UMONITOR Rv (F3),(11B) | UMWAIT Rd (F2),(11B) 7: clflush | clflushopt (66) | sfence (11B) EndTable @@ -1051,6 +1053,10 @@ 6: vscatterpf1qps/d Wx (66),(ev) EndTable +GrpTable: Grp20 +0: cldemote Mb +EndTable + # AMD's Prefetch Group GrpTable: GrpP 0: PREFETCH diff -Nru linux-4.19.87/arch/x86/mm/fault.c linux-4.19.98/arch/x86/mm/fault.c --- linux-4.19.87/arch/x86/mm/fault.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/mm/fault.c 2020-01-23 07:21:39.000000000 +0000 @@ -281,7 +281,7 @@ return; for (address = VMALLOC_START & PMD_MASK; - address >= TASK_SIZE_MAX && address < FIXADDR_TOP; + address >= TASK_SIZE_MAX && address < VMALLOC_END; address += PMD_SIZE) { struct page *page; diff -Nru linux-4.19.87/arch/x86/mm/pgtable.c linux-4.19.98/arch/x86/mm/pgtable.c --- linux-4.19.87/arch/x86/mm/pgtable.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/mm/pgtable.c 2020-01-23 07:21:39.000000000 +0000 @@ -660,8 +660,8 @@ fixmaps_set++; } -void native_set_fixmap(enum fixed_addresses idx, phys_addr_t phys, - pgprot_t flags) +void native_set_fixmap(unsigned /* enum fixed_addresses */ idx, + phys_addr_t phys, pgprot_t flags) { /* Sanitize 'prot' against any unsupported bits: */ pgprot_val(flags) &= __default_kernel_pte_mask; diff -Nru linux-4.19.87/arch/x86/pci/fixup.c linux-4.19.98/arch/x86/pci/fixup.c --- linux-4.19.87/arch/x86/pci/fixup.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/pci/fixup.c 2020-01-23 07:21:39.000000000 +0000 @@ -589,6 +589,17 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 0x7808, pci_fixup_amd_ehci_pme); /* + * Device [1022:7914] + * When in D0, PME# doesn't get asserted when plugging USB 2.0 device. + */ +static void pci_fixup_amd_fch_xhci_pme(struct pci_dev *dev) +{ + dev_info(&dev->dev, "PME# does not work under D0, disabling it\n"); + dev->pme_support &= ~(PCI_PM_CAP_PME_D0 >> PCI_PM_CAP_PME_SHIFT); +} +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, 0x7914, pci_fixup_amd_fch_xhci_pme); + +/* * Apple MacBook Pro: Avoid [mem 0x7fa00000-0x7fbfffff] * * Using the [mem 0x7fa00000-0x7fbfffff] region, e.g., by assigning it to diff -Nru linux-4.19.87/arch/x86/platform/efi/quirks.c linux-4.19.98/arch/x86/platform/efi/quirks.c --- linux-4.19.87/arch/x86/platform/efi/quirks.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/platform/efi/quirks.c 2020-01-23 07:21:39.000000000 +0000 @@ -259,10 +259,6 @@ return; } - /* No need to reserve regions that will never be freed. */ - if (md.attribute & EFI_MEMORY_RUNTIME) - return; - size += addr % EFI_PAGE_SIZE; size = round_up(size, EFI_PAGE_SIZE); addr = round_down(addr, EFI_PAGE_SIZE); @@ -292,6 +288,8 @@ early_memunmap(new, new_size); efi_memmap_install(new_phys, num_entries); + e820__range_update(addr, size, E820_TYPE_RAM, E820_TYPE_RESERVED); + e820__update_table(e820_table); } /* diff -Nru linux-4.19.87/arch/x86/xen/xen-asm_64.S linux-4.19.98/arch/x86/xen/xen-asm_64.S --- linux-4.19.87/arch/x86/xen/xen-asm_64.S 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/x86/xen/xen-asm_64.S 2020-01-23 07:21:39.000000000 +0000 @@ -12,6 +12,7 @@ #include #include #include +#include #include @@ -24,6 +25,7 @@ pop %r11 jmp \name END(xen_\name) +_ASM_NOKPROBE(xen_\name) .endm xen_pv_trap divide_error diff -Nru linux-4.19.87/arch/xtensa/mm/tlb.c linux-4.19.98/arch/xtensa/mm/tlb.c --- linux-4.19.87/arch/xtensa/mm/tlb.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/arch/xtensa/mm/tlb.c 2020-01-23 07:21:39.000000000 +0000 @@ -216,6 +216,8 @@ unsigned tlbidx = w | (e << PAGE_SHIFT); unsigned r0 = dtlb ? read_dtlb_virtual(tlbidx) : read_itlb_virtual(tlbidx); + unsigned r1 = dtlb ? + read_dtlb_translation(tlbidx) : read_itlb_translation(tlbidx); unsigned vpn = (r0 & PAGE_MASK) | (e << PAGE_SHIFT); unsigned pte = get_pte_for_vaddr(vpn); unsigned mm_asid = (get_rasid_register() >> 8) & ASID_MASK; @@ -231,8 +233,6 @@ } if (tlb_asid == mm_asid) { - unsigned r1 = dtlb ? read_dtlb_translation(tlbidx) : - read_itlb_translation(tlbidx); if ((pte ^ r1) & PAGE_MASK) { pr_err("%cTLB: way: %u, entry: %u, mapping: %08x->%08x, PTE: %08x\n", dtlb ? 'D' : 'I', w, e, r0, r1, pte); diff -Nru linux-4.19.87/block/blk-map.c linux-4.19.98/block/blk-map.c --- linux-4.19.87/block/blk-map.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/block/blk-map.c 2020-01-23 07:21:39.000000000 +0000 @@ -145,7 +145,7 @@ return 0; unmap_rq: - __blk_rq_unmap_user(bio); + blk_rq_unmap_user(bio); fail: rq->bio = NULL; return ret; diff -Nru linux-4.19.87/block/blk-merge.c linux-4.19.98/block/blk-merge.c --- linux-4.19.87/block/blk-merge.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/block/blk-merge.c 2020-01-23 07:21:39.000000000 +0000 @@ -774,7 +774,7 @@ req->__data_len += blk_rq_bytes(next); - if (req_op(req) != REQ_OP_DISCARD) + if (!blk_discard_mergable(req)) elv_merge_requests(q, req, next); /* diff -Nru linux-4.19.87/block/blk-mq-sysfs.c linux-4.19.98/block/blk-mq-sysfs.c --- linux-4.19.87/block/blk-mq-sysfs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/block/blk-mq-sysfs.c 2020-01-23 07:21:39.000000000 +0000 @@ -151,20 +151,25 @@ static ssize_t blk_mq_hw_sysfs_cpus_show(struct blk_mq_hw_ctx *hctx, char *page) { + const size_t size = PAGE_SIZE - 1; unsigned int i, first = 1; - ssize_t ret = 0; + int ret = 0, pos = 0; for_each_cpu(i, hctx->cpumask) { if (first) - ret += sprintf(ret + page, "%u", i); + ret = snprintf(pos + page, size - pos, "%u", i); else - ret += sprintf(ret + page, ", %u", i); + ret = snprintf(pos + page, size - pos, ", %u", i); + + if (ret >= size - pos) + break; first = 0; + pos += ret; } - ret += sprintf(ret + page, "\n"); - return ret; + ret = snprintf(pos + page, size + 1 - pos, "\n"); + return pos + ret; } static struct attribute *default_ctx_attrs[] = { diff -Nru linux-4.19.87/block/blk-settings.c linux-4.19.98/block/blk-settings.c --- linux-4.19.87/block/blk-settings.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/block/blk-settings.c 2020-01-23 07:21:39.000000000 +0000 @@ -379,7 +379,7 @@ * storage device can address. The default of 512 covers most * hardware. **/ -void blk_queue_logical_block_size(struct request_queue *q, unsigned short size) +void blk_queue_logical_block_size(struct request_queue *q, unsigned int size) { q->limits.logical_block_size = size; diff -Nru linux-4.19.87/block/compat_ioctl.c linux-4.19.98/block/compat_ioctl.c --- linux-4.19.87/block/compat_ioctl.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/block/compat_ioctl.c 2020-01-23 07:21:39.000000000 +0000 @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -354,6 +355,8 @@ * but we call blkdev_ioctl, which gets the lock for us */ case BLKRRPART: + case BLKREPORTZONE: + case BLKRESETZONE: return blkdev_ioctl(bdev, mode, cmd, (unsigned long)compat_ptr(arg)); case BLKBSZSET_32: @@ -401,6 +404,14 @@ case BLKTRACETEARDOWN: /* compatible */ ret = blk_trace_ioctl(bdev, cmd, compat_ptr(arg)); return ret; + case IOC_PR_REGISTER: + case IOC_PR_RESERVE: + case IOC_PR_RELEASE: + case IOC_PR_PREEMPT: + case IOC_PR_PREEMPT_ABORT: + case IOC_PR_CLEAR: + return blkdev_ioctl(bdev, mode, cmd, + (unsigned long)compat_ptr(arg)); default: if (disk->fops->compat_ioctl) ret = disk->fops->compat_ioctl(bdev, mode, cmd, arg); diff -Nru linux-4.19.87/crypto/af_alg.c linux-4.19.98/crypto/af_alg.c --- linux-4.19.87/crypto/af_alg.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/crypto/af_alg.c 2020-01-23 07:21:39.000000000 +0000 @@ -1058,7 +1058,7 @@ af_alg_free_resources(areq); sock_put(sk); - iocb->ki_complete(iocb, err ? err : resultlen, 0); + iocb->ki_complete(iocb, err ? err : (int)resultlen, 0); } EXPORT_SYMBOL_GPL(af_alg_async_cb); diff -Nru linux-4.19.87/crypto/crypto_user.c linux-4.19.98/crypto/crypto_user.c --- linux-4.19.87/crypto/crypto_user.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/crypto/crypto_user.c 2020-01-23 07:21:39.000000000 +0000 @@ -288,38 +288,43 @@ drop_alg: crypto_mod_put(alg); - if (err) + if (err) { + kfree_skb(skb); return err; + } return nlmsg_unicast(crypto_nlsk, skb, NETLINK_CB(in_skb).portid); } static int crypto_dump_report(struct sk_buff *skb, struct netlink_callback *cb) { - struct crypto_alg *alg; + const size_t start_pos = cb->args[0]; + size_t pos = 0; struct crypto_dump_info info; - int err; - - if (cb->args[0]) - goto out; - - cb->args[0] = 1; + struct crypto_alg *alg; + int res; info.in_skb = cb->skb; info.out_skb = skb; info.nlmsg_seq = cb->nlh->nlmsg_seq; info.nlmsg_flags = NLM_F_MULTI; + down_read(&crypto_alg_sem); list_for_each_entry(alg, &crypto_alg_list, cra_list) { - err = crypto_report_alg(alg, &info); - if (err) - goto out_err; + if (pos >= start_pos) { + res = crypto_report_alg(alg, &info); + if (res == -EMSGSIZE) + break; + if (res) + goto out; + } + pos++; } - + cb->args[0] = pos; + res = skb->len; out: - return skb->len; -out_err: - return err; + up_read(&crypto_alg_sem); + return res; } static int crypto_dump_report_done(struct netlink_callback *cb) @@ -503,7 +508,7 @@ if ((type == (CRYPTO_MSG_GETALG - CRYPTO_MSG_BASE) && (nlh->nlmsg_flags & NLM_F_DUMP))) { struct crypto_alg *alg; - u16 dump_alloc = 0; + unsigned long dump_alloc = 0; if (link->dump == NULL) return -EINVAL; @@ -511,16 +516,16 @@ down_read(&crypto_alg_sem); list_for_each_entry(alg, &crypto_alg_list, cra_list) dump_alloc += CRYPTO_REPORT_MAXSIZE; + up_read(&crypto_alg_sem); { struct netlink_dump_control c = { .dump = link->dump, .done = link->done, - .min_dump_alloc = dump_alloc, + .min_dump_alloc = min(dump_alloc, 65535UL), }; err = netlink_dump_start(crypto_nlsk, skb, nlh, &c); } - up_read(&crypto_alg_sem); return err; } diff -Nru linux-4.19.87/crypto/ecc.c linux-4.19.98/crypto/ecc.c --- linux-4.19.87/crypto/ecc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/crypto/ecc.c 2020-01-23 07:21:39.000000000 +0000 @@ -906,36 +906,50 @@ static inline void ecc_swap_digits(const u64 *in, u64 *out, unsigned int ndigits) { + const __be64 *src = (__force __be64 *)in; int i; for (i = 0; i < ndigits; i++) - out[i] = __swab64(in[ndigits - 1 - i]); + out[i] = be64_to_cpu(src[ndigits - 1 - i]); } -int ecc_is_key_valid(unsigned int curve_id, unsigned int ndigits, - const u64 *private_key, unsigned int private_key_len) +static int __ecc_is_key_valid(const struct ecc_curve *curve, + const u64 *private_key, unsigned int ndigits) { - int nbytes; - const struct ecc_curve *curve = ecc_get_curve(curve_id); + u64 one[ECC_MAX_DIGITS] = { 1, }; + u64 res[ECC_MAX_DIGITS]; if (!private_key) return -EINVAL; - nbytes = ndigits << ECC_DIGITS_TO_BYTES_SHIFT; - - if (private_key_len != nbytes) + if (curve->g.ndigits != ndigits) return -EINVAL; - if (vli_is_zero(private_key, ndigits)) + /* Make sure the private key is in the range [2, n-3]. */ + if (vli_cmp(one, private_key, ndigits) != -1) return -EINVAL; - - /* Make sure the private key is in the range [1, n-1]. */ - if (vli_cmp(curve->n, private_key, ndigits) != 1) + vli_sub(res, curve->n, one, ndigits); + vli_sub(res, res, one, ndigits); + if (vli_cmp(res, private_key, ndigits) != 1) return -EINVAL; return 0; } +int ecc_is_key_valid(unsigned int curve_id, unsigned int ndigits, + const u64 *private_key, unsigned int private_key_len) +{ + int nbytes; + const struct ecc_curve *curve = ecc_get_curve(curve_id); + + nbytes = ndigits << ECC_DIGITS_TO_BYTES_SHIFT; + + if (private_key_len != nbytes) + return -EINVAL; + + return __ecc_is_key_valid(curve, private_key, ndigits); +} + /* * ECC private keys are generated using the method of extra random bits, * equivalent to that described in FIPS 186-4, Appendix B.4.1. @@ -979,11 +993,8 @@ if (err) return err; - if (vli_is_zero(priv, ndigits)) - return -EINVAL; - - /* Make sure the private key is in the range [1, n-1]. */ - if (vli_cmp(curve->n, priv, ndigits) != 1) + /* Make sure the private key is in the valid range. */ + if (__ecc_is_key_valid(curve, priv, ndigits)) return -EINVAL; ecc_swap_digits(priv, privkey, ndigits); diff -Nru linux-4.19.87/debian/changelog linux-4.19.98/debian/changelog --- linux-4.19.87/debian/changelog 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/changelog 2020-01-26 20:01:13.000000000 +0000 @@ -1,3 +1,1361 @@ +linux (4.19.98-1) buster; urgency=medium + + * New upstream stable update: + https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.19.88 + - [arm64] clk: meson: gxbb: let sar_adc_clk_div set the parent clock rate + - ASoC: compress: fix unsigned integer overflow check + - reset: Fix memory leak in reset_control_array_put() + - [armhf] clk: samsung: exynos5433: Fix error paths + - [armel/marvell,armhf] ASoC: kirkwood: fix external clock probe defer + - [armel/marvell,armhf] ASoC: kirkwood: fix device remove ordering + - [armhf] clk: samsung: exynos5420: Preserve PLL configuration during + suspend/resume + - [x86] pinctrl: cherryview: Allocate IRQ chip dynamic + - [armhf] dts: imx6qdl-sabreauto: Fix storm of accelerometer interrupts + - reset: fix reset_control_ops kerneldoc comment + - [armhf,arm64] clk: sunxi: Fix operator precedence in sunxi_divs_clk_setup + - [armhf] clk: sunxi-ng: a80: fix the zero'ing of bits 16 and 18 + - [armhf] dts: sun8i-a83t-tbs-a711: Fix WiFi resume from suspend + - [ppc64el] bpf: Fix tail call implementation + - idr: Fix integer overflow in idr_for_each_entry + - idr: Fix idr_alloc_u32 on 32-bit systems + - [x86] resctrl: Prevent NULL pointer dereference when reading mondata + - [armhf] clk: ti: dra7-atl-clock: Remove ti_clk_add_alias call + - [armhf] clk: ti: clkctrl: Fix failed to enable error with double udelay + timeout + - bridge: ebtables: don't crash when using dnat target in output chains + - can: peak_usb: report bus recovery as well + - can: rx-offload: can_rx_offload_queue_tail(): fix error handling, avoid + skb mem leak + - can: rx-offload: can_rx_offload_offload_one(): do not increase the + skb_queue beyond skb_queue_len_max + - can: rx-offload: can_rx_offload_offload_one(): increment rx_fifo_errors + on queue overflow or OOM + - can: rx-offload: can_rx_offload_offload_one(): use ERR_PTR() to + propagate error value in case of errors + - can: rx-offload: can_rx_offload_irq_offload_timestamp(): continue on + error + - can: rx-offload: can_rx_offload_irq_offload_fifo(): continue on error + - [armhf] can: flexcan: increase error counters if skb enqueueing via + can_rx_offload_queue_sorted() fails + - [arm64] watchdog: meson: Fix the wrong value of left time + - ceph: return -EINVAL if given fsc mount option on kernel w/o support + - net/fq_impl: Switch to kvmalloc() for memory allocation + - mac80211: fix station inactive_time shortly after boot + - block: drbd: remove a stray unlock in __drbd_send_protocol() + - scsi: target/tcmu: Fix queue_cmd_ring() declaration + - scsi: lpfc: Fix kernel Oops due to null pring pointers + - scsi: lpfc: Fix dif and first burst use in write commands + - tracing: Lock event_mutex before synth_event_mutex + - [armhf] dts: imx*: Fix memory node duplication + - [armhf] dts: Fix hsi gdd range for omap4 + - [arm64] mm: Prevent mismatched 52-bit VA support + - [arm64] smp: Handle errors reported by the firmware + - [armhf] bus: ti-sysc: Check for no-reset and no-idle flags at the child + level + - [arm64] RDMA/hns: Fix the bug while use multi-hop of pbl + - [x86] RDMA/vmw_pvrdma: Use atomic memory allocation in create AH + - [armhf] PM / AVS: SmartReflex: NULL check before some freeing functions + is not needed + - xfs: zero length symlinks are not valid + - ACPI / LPSS: Ignore acpi_device_fix_up_power() return value + - scsi: lpfc: Enable Management features for IF_TYPE=6 + - scsi: qla2xxx: Fix NPIV handling for FC-NVMe + - scsi: qla2xxx: Fix for FC-NVMe discovery for NPIV port + - nvme: provide fallback for discard alloc failure + - [s390x] zcrypt: make sysfs reset attribute trigger queue reset + - crypto: user - support incremental algorithm dumps + - mwifiex: fix potential NULL dereference and use after free + - mwifiex: debugfs: correct histogram spacing, formatting + - brcmfmac: set F2 watermark to 256 for 4373 + - brcmfmac: set SDIO F1 MesBusyCtrl for CYW4373 + - rtl818x: fix potential use after free + - bcache: do not check if debug dentry is ERR or NULL explicitly on remove + - bcache: do not mark writeback_running too early + - xfs: require both realtime inodes to mount + - nvme: fix kernel paging oops + - ubifs: Fix default compression selection in ubifs + - ubi: Put MTD device after it is not used + - ubi: Do not drop UBI device reference before using + - iwlwifi: move iwl_nvm_check_version() into dvm + - iwlwifi: mvm: force TCM re-evaluation on TCM resume + - iwlwifi: pcie: fix erroneous print + - iwlwifi: pcie: set cmd_len in the correct place + - [armhf,arm64] gpio: pca953x: Fix AI overflow on PCAL6524 + - gpiolib: Fix return value of gpio_to_desc() stub if !GPIOLIB + - [x86] kvm: vmx: Set IA32_TSC_AUX for legacy mode guests + - [x86] Revert "KVM: nVMX: reset cache/shadows when switching loaded VMCS" + - [x86] Revert "KVM: nVMX: move check_vmentry_postreqs() call to + nested_vmx_enter_non_root_mode()" + - VSOCK: bind to random port for VMADDR_PORT_ANY + - [amd64] mmc: meson-gx: make sure the descriptor is stopped on errors + - [armhf] mtd: rawnand: sunxi: Write pageprog related opcodes to WCMD_SET + - [armhf] usb: ehci-omap: Fix deferred probe for phy handling + - btrfs: Check for missing device before bio submission in btrfs_map_bio + - btrfs: fix ncopies raid_attr for RAID56 + - btrfs: dev-replace: set result code of cancel by status of scrub + - Btrfs: allow clear_extent_dirty() to receive a cached extent state + record + - btrfs: only track ref_heads in delayed_ref_updates + - [x86] HID: intel-ish-hid: fixes incorrect error handling + - serial: 8250: Rate limit serial port rx interrupts during input overruns + - [x86] kprobes/xen: blacklist non-attachable xen interrupt functions + - xen/pciback: Check dev_data before using it + - kprobes: Blacklist symbols in arch-defined prohibited area + - [amd64] kprobes: Show x86-64 specific blacklisted symbols correctly + - [armhf] memory: omap-gpmc: Get the header of the enum + - net/mlx5: Continue driver initialization despite debugfs failure + - netfilter: nf_nat_sip: fix RTP/RTCP source port translations + - exofs_mount(): fix leaks on failure exits + - bnxt_en: Return linux standard errors in bnxt_ethtool.c + - bnxt_en: Save ring statistics before reset. + - bnxt_en: query force speeds before disabling autoneg mode. + - [s390x] KVM: unregister debug feature on failing arch init + - dm flakey: Properly corrupt multi-page bios. + - gfs2: take jdata unstuff into account in do_grow + - dm raid: fix false -EBUSY when handling check/repair message + - xfs: Align compat attrlist_by_handle with native implementation. + - xfs: Fix bulkstat compat ioctls on x32 userspace. + - IB/qib: Fix an error code in qib_sdma_verbs_send() + - vxlan: Fix error path in __vxlan_dev_create() + - [ppc64el] xmon: fix dump_segments() + - drivers/regulator: fix a missing check of return value + - Bluetooth: hci_bcm: Handle specific unknown packets after firmware + loading + - RDMA/srp: Propagate ib_post_send() failures to the SCSI mid-layer + - scsi: qla2xxx: deadlock by configfs_depend_item + - scsi: csiostor: fix incorrect dma device in case of vport + - brcmfmac: Fix access point mode + - ath6kl: Only use match sets when firmware supports it + - ath6kl: Fix off by one error in scan completion + - [ppc64el] perf: Fix unit_sel/cache_sel checks + - [ppc64el] prom: fix early DEBUG messages + - [ppc64el] mm: Make NULL pointer deferences explicit on bad page faults. + - [ppc64el] vfio/spapr_tce: Get rid of possible infinite loop + - [ppc64el] powernv/eeh/npu: Fix uninitialized variables in + opal_pci_eeh_freeze_status + - drbd: ignore "all zero" peer volume sizes in handshake + - drbd: reject attach of unsuitable uuids even if connected + - drbd: do not block when adjusting "disk-options" while IO is frozen + - drbd: fix print_st_err()'s prototype to match the definition + - IB/rxe: Make counters thread safe + - bpf/cpumap: make sure frame_size for build_skb is aligned if headroom + isn't + - [armhf] regulator: tps65910: fix a missing check of return value + - [ppc64el] powerpc/pseries: Fix node leak in + update_lmb_associativity_index() + - net/netlink_compat: Fix a missing check of nla_parse_nested + - net/net_namespace: Check the return value of register_pernet_subsys() + - f2fs: fix block address for __check_sit_bitmap + - f2fs: fix to dirty inode synchronously + - [armhf] net: dsa: bcm_sf2: Propagate error value from mdio_write + - atl1e: checking the status of atl1e_write_phy_reg + - tipc: fix a missing check of genlmsg_put + - net: marvell: fix a missing check of acpi_match_device + - ocfs2: clear journal dirty flag after shutdown journal + - vmscan: return NODE_RECLAIM_NOSCAN in node_reclaim() when CONFIG_NUMA is + n + - mm/page_alloc.c: free order-0 pages through PCP in page_frag_free() + - mm/page_alloc.c: use a single function to free page + - mm/page_alloc.c: deduplicate __memblock_free_early() and memblock_free() + - netfilter: nf_tables: fix a missing check of nla_put_failure + - xprtrdma: Prevent leak of rpcrdma_rep objects + - infiniband/qedr: Potential null ptr dereference of qp + - lib/genalloc.c: fix allocation of aligned buffer from non-aligned chunk + - lib/genalloc.c: use vzalloc_node() to allocate the bitmap + - drivers/base/platform.c: kmemleak ignore a known leak + - lib/genalloc.c: include vmalloc.h + - mtd: Check add_mtd_device() ret code + - tipc: fix memory leak in tipc_nl_compat_publ_dump + - net/core/neighbour: tell kmemleak about hash tables + - [armhf,arm64] ata: ahci: mvebu: do Armada 38x configuration only on + relevant SoCs + - PCI/MSI: Return -ENOSPC from pci_alloc_irq_vectors_affinity() + - net/core/neighbour: fix kmemleak minimal reference count for hash tables + - serial: 8250: Fix serial8250 initialization crash + - [armhf] gpu: ipu-v3: pre: don't trigger update if buffer address doesn't + change + - sfc: suppress duplicate nvmem partition types in efx_ef10_mtd_probe + - ip_tunnel: Make none-tunnel-dst tunnel port work with lwtunnel + - decnet: fix DN_IFREQ_SIZE + - net/smc: prevent races between smc_lgr_terminate() and smc_conn_free() + - net/smc: don't wait for send buffer space when data was already sent + - mm/hotplug: invalid PFNs from pfn_to_online_page() + - xfs: end sync buffer I/O properly on shutdown error + - net/smc: fix sender_free computation + - blktrace: Show requests without sector + - net/smc: fix byte_order for rx_curs_confirmed + - tipc: fix skb may be leaky in tipc_link_input + - sfc: initialise found bitmap in efx_ef10_mtd_probe + - geneve: change NET_UDP_TUNNEL dependency to select + - net: fix possible overflow in __sk_mem_raise_allocated() + - net: ip_gre: do not report erspan_ver for gre or gretap + - net: ip6_gre: do not report erspan_ver for ip6gre or ip6gretap + - sctp: don't compare hb_timer expire date before starting it + - bpf: decrease usercnt if bpf_map_new_fd() fails in + bpf_map_get_fd_by_id() + - mmc: core: align max segment size with logical block size + - net: dev: Use unsigned integer as an argument to left-shift + - kvm: properly check debugfs dentry before using it + - bpf: drop refcount if bpf_map_new_fd() fails in map_create() + - [arm64] net: hns3: Change fw error code NOT_EXEC to NOT_SUPPORTED + - [arm64] net: hns3: fix PFC not setting problem for DCB module + - [arm64] net: hns3: fix an issue for hclgevf_ae_get_hdev + - [arm64] net: hns3: fix an issue for hns3_update_new_int_gl + - [x86] iommu/amd: Fix NULL dereference bug in match_hid_uid + - apparmor: delete the dentry in aafs_remove() to avoid a leak + - scsi: libsas: Support SATA PHY connection rate unmatch fixing during + discovery + - ACPI / APEI: Don't wait to serialise with oops messages when panic()ing + - ACPI / APEI: Switch estatus pool to use vmalloc memory + - [arm64] scsi: hisi_sas: shutdown axi bus to avoid exception CQ returned + - scsi: libsas: Check SMP PHY control function result + - [arm64] RDMA/hns: Fix the bug with updating rq head pointer when flush cqe + - [arm64] RDMA/hns: Bugfix for the scene without receiver queue + - [arm64] RDMA/hns: Fix the state of rereg mr + - [arm64] RDMA/hns: Use GFP_ATOMIC in hns_roce_v2_modify_qp + - ASoC: rt5645: Headphone Jack sense inverts on the LattePanda board + - [ppc64el] pseries/dlpar: Fix a missing check in dlpar_parse_cc_property() + (CVE-2019-12614) + - xdp: fix cpumap redirect SKB creation bug + - mtd: Remove a debug trace in mtdpart.c + - [s390x] mm, gup: add missing refcount overflow checks on s390 + - [armhf,arm64] usb: dwc2: use a longer core rest timeout in + dwc2_core_reset() + - staging: rtl8192e: fix potential use after free + - staging: rtl8723bs: Drop ACPI device ids + - staging: rtl8723bs: Add 024c:0525 to the list of SDIO device-ids + - USB: serial: ftdi_sio: add device IDs for U-Blox C099-F9P + - [x86] mei: bus: prefix device names on bus with the bus name + - [x86] mei: me: add comet point V device id + - thunderbolt: Power cycle the router if NVM authentication fails + - xfrm: Fix memleak on xfrm state destroy + - media: v4l2-ctrl: fix flags for DO_WHITE_BALANCE + - [arm64] net: macb: fix error format in dev_err() + - pwm: Clear chip_data in pwm_put() + - macvlan: schedule bc_work even if error + - net: psample: fix skb_over_panic + - openvswitch: fix flow command message size + - sctp: Fix memory leak in sctp_sf_do_5_2_4_dupcook + - slip: Fix use-after-free Read in slip_open + - openvswitch: drop unneeded BUG_ON() in ovs_flow_cmd_build_info() + - openvswitch: remove another BUG_ON() + - tipc: fix link name length check + - sctp: cache netns in sctp_ep_common + - net: sched: fix `tc -s class show` no bstats on class with nolock + subqueues + - [arm64] net: macb: add missed tasklet_kill + - ext4: add more paranoia checking in ext4_expand_extra_isize handling + (CVE-2019-19767) + - [arm64] net: macb: Fix SUBNS increment and increase resolution + - [arm64] net: macb driver, check for SKBTX_HW_TSTAMP + - mtd: spi-nor: cast to u64 to avoid uint overflows + - tcp: exit if nothing to retransmit on RTO timeout + - HID: core: check whether Usage Page item is after Usage ID items + - [x86] platform: hp-wmi: Fix ACPI errors caused by too small buffer + - [x86] platform: hp-wmi: Fix ACPI errors caused by passing 0 as input size + https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.19.89 + - rsi: release skb if rsi_prepare_beacon fails (CVE-2019-19071) + - [arm64] tegra: Fix 'active-low' warning for Jetson TX1 regulator + - usb: gadget: u_serial: add missing port entry locking + - [arm64] tty: serial: msm_serial: Fix flow control + - [armhf,arm64] serial: pl011: Fix DMA ->flush_buffer() + - serial: serial_core: Perform NULL checks for break_ctl ops + - autofs: fix a leak in autofs_expire_indirect() + - [arm64] RDMA/hns: Correct the value of HNS_ROCE_HEM_CHUNK_LEN + - iwlwifi: pcie: don't consider IV len in A-MSDU + - exportfs_decode_fh(): negative pinned may become positive without the + parent locked + - audit_get_nd(): don't unlock parent too early + - xfrm: release device reference for invalid state + - sched/core: Avoid spurious lock dependencies + - perf/core: Consistently fail fork on allocation failures + - ALSA: pcm: Fix stream lock usage in snd_pcm_period_elapsed() + - [armhf,arm64] drm/sun4i: tcon: Set min division of TCON0_DCLK to 1. + - rsxx: add missed destroy_workqueue calls in remove + - i2c: core: fix use after free in of_i2c_notify + - serial: core: Allow processing sysrq at port unlock time + - cxgb4vf: fix memleak in mac_hlist initialization + - iwlwifi: mvm: synchronize TID queue removal + - iwlwifi: trans: Clear persistence bit when starting the FW + - iwlwifi: mvm: Send non offchannel traffic via AP sta + - [armhf] 8813/1: Make aligned 2-byte getuser()/putuser() atomic on ARMv6+ + - audit: Embed key into chunk + - netfilter: nf_tables: don't use position attribute on rule replacement + - net/mlx5: Release resource on error flow + - [arm64] clk: sunxi-ng: a64: Fix gate bit of DSI DPHY + - ice: Fix NVM mask defines + - dlm: fix possible call to kfree() for non-initialized pointer + - [armhf] dts: exynos: Fix LDO13 min values on Odroid XU3/XU4/HC1 + - [armhf,arm64] rtc: max77686: Fix the returned value in case of error in + 'max77686_rtc_read_time()' + - i40e: don't restart nway if autoneg not supported + - virtchnl: Fix off by one error + - [armhf] clk: rockchip: fix rk3188 sclk_smc gate data + - [armhf] clk: rockchip: fix rk3188 sclk_mac_lbtest parameter ordering + - [armhf] dts: rockchip: Fix rk3288-rock2 vcc_flash name + - dlm: fix missing idr_destroy for recover_idr + - [armhf,arm64] net: dsa: mv88e6xxx: Work around mv886e6161 SERDES missing + MII_PHYSID2 + - [s390x] scsi: zfcp: update kernel message for invalid FCP_CMND length, + it's not the CDB + - [s390x] scsi: zfcp: drop default switch case which might paper over + missing case + - [armhf] bus: ti-sysc: Fix getting optional clocks in clock_roles + - [armhf] dts: imx6: RDU2: fix eGalax touchscreen node + - crypto: ecc - check for invalid values in the key verification test + - crypto: bcm - fix normal/non key hash algorithm failure + - [arm64] dts: zynqmp: Fix node names which contain "_" + - [arm64] pinctrl: qcom: ssbi-gpio: fix gpio-hog related boot issues + - [arm*] firmware: raspberrypi: Fix firmware calls with large buffers + - mm/vmstat.c: fix NUMA statistics updates + - [arm64] clk: rockchip: fix I2S1 clock gate register for rk3328 + - [arm64] clk: rockchip: fix ID of 8ch clock of I2S1 for rk3328 + - sctp: count sk_wmem_alloc by skb truesize in sctp_packet_transmit + - regulator: Fix return value of _set_load() stub + - USB: serial: f81534: fix reading old/new IC config + - xfs: extent shifting doesn't fully invalidate page cache + - net-next/hinic:fix a bug in set mac address + - net-next/hinic: fix a bug in rx data flow + - ice: Fix return value from NAPI poll + - ice: Fix possible NULL pointer de-reference + - iomap: FUA is wrong for DIO O_DSYNC writes into unwritten extents + - iomap: sub-block dio needs to zeroout beyond EOF + - iomap: dio data corruption and spurious errors when pipes fill + - iomap: readpages doesn't zero page tail beyond EOF + - iw_cxgb4: only reconnect with MPAv1 if the peer aborts + - [mips*/octeon] octeon-platform: fix typing + - net/smc: use after free fix in smc_wr_tx_put_slot() + - [armhf] dts: exynos: Use Samsung SoC specific compatible for DWC2 module + - media: pulse8-cec: return 0 when invalidating the logical address + - media: cec: report Vendor ID after initialization + - iwlwifi: fix cfg structs for 22000 with different RF modules + - net/ipv6: re-do dad when interface has IFF_NOARP flag change + - [x86] dmaengine: dw-dmac: implement dma protection control setting + - [armhf,arm64] usb: dwc3: debugfs: Properly print/set link state for HS + - [armhf,arm64] usb: dwc3: don't log probe deferrals; but do log other + error codes + - ACPI: fix acpi_find_child_device() invocation in acpi_preset_companion() + - f2fs: fix to account preflush command for noflush_merge mode + - f2fs: fix count of seg_freed to make sec_freed correct + - f2fs: change segment to section in f2fs_ioc_gc_range + - [armhf] dts: rockchip: Fix the PMU interrupt number for rv1108 + - [armhf] dts: rockchip: Assign the proper GPIO clocks for rv1108 + - f2fs: fix to allow node segment for GC by ioctl path + - nvme: Free ctrl device name on init failure + - dma-mapping: fix return type of dma_set_max_seg_size() + - [armhf] serial: imx: fix error handling in console_setup + - [armhf] i2c: imx: don't print error message on probe defer + - [arm64] clk: meson: Fix GXL HDMI PLL fractional bits width + - [armhf,arm64] gpu: host1x: Fix syncpoint ID field size on Tegra186 + - lockd: fix decoding of TEST results + - sctp: increase sk_wmem_alloc when head->truesize is increased + - [x86] iommu/amd: Fix line-break in error log reporting + - [armhf] dts: sun8i: a23/a33: Fix OPP DTC warnings + - [armhf] dts: sun8i: v3s: Change pinctrl nodes to avoid warning + - nfsd: fix a warning in __cld_pipe_upcall() + - bpf: btf: implement btf_name_valid_identifier() + - bpf: btf: check name validity for various types + - [armhf] OMAP1/2: fix SoC name printing + - [arm64] dts: meson-gxl-libretech-cc: fix GPIO lines names + - [arm64] dts: meson-gxbb-nanopi-k2: fix GPIO lines names + - [arm64] dts: meson-gxbb-odroidc2: fix GPIO lines names + - [arm64] dts: meson-gxl-khadas-vim: fix GPIO lines names + - net/x25: fix called/calling length calculation in x25_parse_address_block + - net/x25: fix null_x25_address handling + - tcp: make tcp_space() aware of socket backlog + - tcp: fix off-by-one bug on aborting window-probing socket + - tcp: fix SNMP under-estimation on failed retransmission + - tcp: fix SNMP TCP timeout under-estimation + - kbuild: fix single target build for external module + - mtd: fix mtd_oobavail() incoherent returned value + - [arm64] clk: meson: meson8b: fix the offset of vid_pll_dco's N value + - [armhf,arm64] clk: sunxi-ng: h3/h5: Fix CSI_MCLK parent + - [arm64] clk: qcom: Fix MSM8998 resets + - dlm: fix invalid cluster name warning + - net/mlx4_core: Fix return codes of unsupported operations + - pstore/ram: Avoid NULL deref in ftrace merging failure path + - [mips*/octeon] cvmx_pko_mem_debug8: use oldest forward compatible + definition + - nfsd: Return EPERM, not EACCES, in some SETATTR cases + - media: uvcvideo: Abstract streaming object lifetime + - [armhf] dts: sun8i: h3: Fix the system-control register range + - tty: Don't block on IO when ldisc change is pending + - media: stkwebcam: Bugfix for wrong return values + - sctp: frag_point sanity check + - IB/hfi1: Ignore LNI errors before DC8051 transitions to Polling state + - IB/hfi1: Close VNIC sdma_progress sleep window + - mlx4: Use snprintf instead of complicated strcpy + - [armhf] dts: sunxi: Fix PMU compatible strings + - [armhf] dts: am335x-pdu001: Fix polarity of card detection input + - net: aquantia: fix RSS table and key sizes + - sched/fair: Scale bandwidth quota and period without losing quota/period + ratio precision + - fuse: verify nlink + - fuse: verify attributes + - [x86] ALSA: hda/realtek - Enable internal speaker of ASUS UX431FLC + - [x86] ALSA: hda/realtek - Enable the headset-mic on a Xiaomi's laptop + - [x86] ALSA: hda/realtek - Dell headphone has noise on unmute for ALC236 + - ALSA: pcm: oss: Avoid potential buffer overflows + - [x86] ALSA: hda - Add mute led support for HP ProBook 645 G4 + - [x86] Input: synaptics - switch another X1 Carbon 6 to RMI/SMbus + - [x86] Input: synaptics-rmi4 - re-enable IRQs in f34v7_do_reflash + - [x86] Input: synaptics-rmi4 - don't increment rmiaddr for SMBus transfers + - [x86] Input: goodix - add upside-down quirk for Teclast X89 tablet + - Input: Fix memory leak in psxpad_spi_probe + - [i386] mm: Sync only to VMALLOC_END in vmalloc_sync_all() + - [x86] PCI: Avoid AMD FCH XHCI USB PME# from D0 defect + - xfrm interface: fix memory leak on creation + - xfrm interface: avoid corruption on changelink + - xfrm interface: fix list corruption for x-netns + - xfrm interface: fix management of phydev + - CIFS: Fix NULL-pointer dereference in smb2_push_mandatory_locks + - CIFS: Fix SMB2 oplock break processing + - tty: vt: keyboard: reject invalid keycodes + - can: slcan: Fix use-after-free Read in slcan_open + - kernfs: fix ino wrap-around detection + - jbd2: Fix possible overflow in jbd2_log_space_left() + - [arm64] drm/msm: fix memleak on release + - [i386] drm/i810: Prevent underflow in ioctl + - [armhf,arm64] KVM: vgic: Don't rely on the wrong pending table + - [x86] KVM: do not modify masked bits of shared MSRs + - [x86] KVM: fix presentation of TSX feature in ARCH_CAPABILITIES + - [x86] KVM: Grab KVM's srcu lock when setting nested state + - crypto: af_alg - cast ki_complete ternary op to int + - [x86] crypto: ccp - fix uninitialized list head + - crypto: ecdh - fix big endian bug in ECC library + - crypto: user - fix memory leak in crypto_report (CVE-2019-19062) + - mwifiex: update set_mac_address logic + - can: ucan: fix non-atomic allocation in completion handler + - RDMA/qib: Validate ->show()/store() callbacks before calling them + - iomap: Fix pipe page leakage during splicing + - thermal: Fix deadlock in thermal thermal_zone_device_check + - vcs: prevent write access to vcsu devices (CVE-2019-19252) + - binder: Fix race between mmap() and binder_alloc_print_pages() + - binder: Handle start==NULL in binder_update_page_range() + - ALSA: hda - Fix pending unsol events at shutdown + - perf script: Fix invalid LBR/binary mismatch error + - splice: don't read more than available pipe space + - iomap: partially revert 4721a601099 (simulated directio short read on + EFAULT) + - xfs: add missing error check in xfs_prepare_shift() + - ASoC: rsnd: fixup MIX kctrl registration + - [x86] KVM: fix out-of-bounds write in KVM_GET_EMULATED_CPUID + (CVE-2019-19332) + - net: qrtr: fix memort leak in qrtr_tun_write_iter (CVE-2019-19079) + - appletalk: Fix potential NULL pointer dereference in + unregister_snap_client (CVE-2019-19227) + - appletalk: Set error code if register_snap_client failed + https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.19.90 + - usb: gadget: configfs: Fix missing spin_lock_init() + - [x86] usb: gadget: pch_udc: fix use after free + - scsi: qla2xxx: Fix driver unload hang + - [arm64] media: venus: remove invalid compat_ioctl32 handler + - USB: uas: honor flag to avoid CAPACITY16 + - USB: uas: heed CAPACITY_HEURISTICS + - usb: Allow USB device to be warm reset in suspended state + - staging: rtl8188eu: fix interface sanity check + - staging: rtl8712: fix interface sanity check + - staging: gigaset: fix general protection fault on probe + - staging: gigaset: fix illegal free on probe errors + - staging: gigaset: add endpoint-type sanity check + - usb: xhci: only set D3hot for pci device + - xhci: Fix memory leak in xhci_add_in_port() + - xhci: Increase STS_HALT timeout in xhci_suspend() + - xhci: handle some XHCI_TRUST_TX_LENGTH quirks cases as default behaviour. + - [armhf] dts: pandora-common: define wl1251 as child node of mmc3 + - [x86] iio: imu: inv_mpu6050: fix temperature reporting using bad unit + - USB: atm: ueagle-atm: add missing endpoint check + - USB: idmouse: fix interface sanity checks + - USB: serial: io_edgeport: fix epic endpoint lookup + - usb: roles: fix a potential use after free + - USB: adutux: fix interface sanity check + - usb: core: urb: fix URB structure initialization function + - usb: mon: Fix a deadlock in usbmon between mmap and read + - tpm: add check after commands attribs tab allocation + - virtio-balloon: fix managed page counts when migrating pages between + zones + - [armhf,arm64] usb: dwc3: gadget: Fix logical condition + - [armhf,arm64] usb: dwc3: ep0: Clear started flag on completion + - btrfs: check page->mapping when loading free space cache + - btrfs: use refcount_inc_not_zero in kill_all_nodes + - Btrfs: fix metadata space leak on fixup worker failure to set range as + delalloc + - Btrfs: fix negative subv_writers counter and data space leak after + buffered write + - btrfs: Avoid getting stuck during cyclic writebacks + - btrfs: Remove btrfs_bio::flags member + - Btrfs: send, skip backreference walking for extents with many references + - btrfs: record all roots for rename exchange on a subvol + - rtlwifi: rtl8192de: Fix missing code to retrieve RX buffer address + - rtlwifi: rtl8192de: Fix missing callback that tests for hw release of + buffer + - rtlwifi: rtl8192de: Fix missing enable interrupt flag + - ovl: fix corner case of non-unique st_dev;st_ino + - ovl: relax WARN_ON() on rename to self + - [armhf] hwrng: omap - Fix RNG wait loop timeout + - dm writecache: handle REQ_FUA + - dm zoned: reduce overhead of backing device checks + - workqueue: Fix spurious sanity check failures in destroy_workqueue() + - workqueue: Fix pwq ref leak in rescuer_thread() + - ASoC: rt5645: Fixed buddy jack support. + - ASoC: rt5645: Fixed typo for buddy jack support. + - ASoC: Jack: Fix NULL pointer dereference in snd_soc_jack_report + - md: improve handling of bio with REQ_PREFLUSH in md_flush_request() + - blk-mq: avoid sysfs buffer overflow with too many CPU cores + - cgroup: pids: use atomic64_t for pids->limit + - ar5523: check NULL before memcpy() in ar5523_cmd() + - [s390x] mm: properly clear _PAGE_NOEXEC bit when it is not supported + - media: cec.h: CEC_OP_REC_FLAG_ values were swapped + - cpuidle: Do not unset the driver if it is there already + - erofs: zero out when listxattr is called with no xattr + - [x86] intel_th: Fix a double put_device() in error path + - [x86] intel_th: pci: Add Ice Lake CPU support + - [x86] intel_th: pci: Add Tiger Lake CPU support + - PM / devfreq: Lock devfreq in trans_stat_show + - [ppc64el] cpufreq: powernv: fix stack bloat and hard limit on number of + CPUs + - ACPI / hotplug / PCI: Allocate resources directly under the non-hotplug + bridge + - ACPI: OSL: only free map once in osl.c + - ACPI: bus: Fix NULL pointer check in acpi_bus_get_private_data() + - ACPI: PM: Avoid attaching ACPI PM domain to certain devices + - [arm64] pinctrl: armada-37xx: Fix irq mask access in + armada_37xx_irq_set_type() + - [armhf] pinctrl: samsung: Add of_node_put() before return in error path + - [armhf] pinctrl: samsung: Fix device node refcount leaks in Exynos wakeup + controller init + - [armhf] pinctrl: samsung: Fix device node refcount leaks in init code + - [armhf] mmc: host: omap_hsmmc: add code for special init of wl1251 to get + rid of pandora_wl1251_init_card + - [armhf] dts: omap3-tao3530: Fix incorrect MMC card detection GPIO + polarity + - ppdev: fix PPGETTIME/PPSETTIME ioctls + - [ppc64el] Allow 64bit VDSO __kernel_sync_dicache to work across ranges + >4GB + - [ppc64el] xive: Prevent page fault issues in the machine crash handler + - [ppc64el] Allow flush_icache_range to work across ranges >4GB + - [ppc64el] xive: Skip ioremap() of ESB pages for LSI interrupts + - video/hdmi: Fix AVI bar unpack + - quota: Check that quota is not dirty before release + - ext2: check err when partial != NULL + - quota: fix livelock in dquot_writeback_dquots + - ext4: Fix credit estimate for final inode freeing + - reiserfs: fix extended attributes on the root directory + - block: fix single range discard merge + - [s390x] scsi: zfcp: trace channel log even for FCP command responses + - scsi: qla2xxx: Fix DMA unmap leak + - scsi: qla2xxx: Fix hang in fcport delete path + - scsi: qla2xxx: Fix session lookup in qlt_abort_work() + - scsi: qla2xxx: Fix qla24xx_process_bidir_cmd() + - scsi: qla2xxx: Always check the qla2x00_wait_for_hba_online() return value + - scsi: qla2xxx: Fix message indicating vectors used by driver + - scsi: qla2xxx: Fix SRB leak on switch command timeout + - xhci: make sure interrupts are restored to correct state + - usb: typec: fix use after free in typec_register_port() + - [armhf] omap: pdata-quirks: remove openpandora quirks for mmc3 and wl1251 + - scsi: lpfc: Cap NPIV vports to 256 + - scsi: lpfc: Correct code setting non existent bits in sli4 ABORT WQE + - scsi: lpfc: Correct topology type reporting on G7 adapters + - sch_cake: Correctly update parent qlen when splitting GSO packets + - net/smc: do not wait under send_lock + - [arm64] net: hns3: clear pci private data when unload hns3 driver + - [arm64] net: hns3: change hnae3_register_ae_dev() to int + - [arm64] net: hns3: Check variable is valid before assigning it to another + - [arm64] scsi: hisi_sas: send primitive NOTIFY to SSP situation only + - [arm64] scsi: hisi_sas: Reject setting programmed minimum linkrate > 1.5G + - [x86] MCE/AMD: Turn off MC4_MISC thresholding on all family 0x15 models + - [x86] MCE/AMD: Carve out the MC4_MISC thresholding quirk + - ath10k: fix fw crash by moving chip reset after napi disabled + - [ppc64el] Fix vDSO clock_getres() + - ext4: work around deleting a file with i_nlink == 0 safely + (CVE-2019-19447) + - mm/shmem.c: cast the type of unmap_start to u64 + - rtc: disable uie before setting time and enable after + - splice: only read in as much information as there is pipe buffer space + - ext4: fix a bug in ext4_wait_for_tail_page_commit + - [armhf,arm64] mfd: rk808: Fix RK818 ID template + - mm, thp, proc: report THP eligibility for each vma + - [s390x] smp,vdso: fix ASCE handling + - blk-mq: make sure that line break can be printed + - workqueue: Fix missing kfree(rescuer) in destroy_workqueue() + - perf callchain: Fix segfault in thread__resolve_callchain_sample() + - gre: refetch erspan header from skb->data after pskb_may_pull() + - sunrpc: fix crash when cache_head become valid before update + - net/mlx5e: Fix SFF 8472 eeprom length + - leds: trigger: netdev: fix handling on interface rename + - gfs2: fix glock reference problem in gfs2_trans_remove_revoke + - of: overlay: add_changeset_property() memory leak + - kernel/module.c: wakeup processes in module_wq on module unload + - cifs: Fix potential softlockups while refreshing DFS cache + - [x86] gpiolib: acpi: Add Terra Pad 1061 to the + run_edge_events_on_boot_blacklist + - raid5: need to set STRIPE_HANDLE for batch head + - scsi: qla2xxx: Change discovery state before PLOGI + - [x86] iio: imu: mpu6050: add missing available scan masks + - idr: Fix idr_get_next_ul race with idr_remove + - of: unittest: fix memory leak in attach_node_and_children + https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.19.91 + - inet: protect against too small mtu values. + - mqprio: Fix out-of-bounds access in mqprio_dump + - net: bridge: deny dev_set_mac_address() when unregistering + - net: dsa: fix flow dissection on Tx path + - net: ethernet: ti: cpsw: fix extra rx interrupt + - net: sched: fix dump qlen for sch_mq/sch_mqprio with NOLOCK subqueues + - [arm64] net: thunderx: start phy before starting autonegotiation + - openvswitch: support asymmetric conntrack + - tcp: md5: fix potential overestimation of TCP option space + - tipc: fix ordering of tipc module init and exit routine + - net/mlx5e: Query global pause state before setting prio2buffer + - tcp: fix rejected syncookies due to stale timestamps + - tcp: tighten acceptance of ACKs not matching a child socket + - tcp: Protect accesses to .ts_recent_stamp with {READ,WRITE}_ONCE() + - [arm64] Revert "arm64: preempt: Fix big-endian when checking preempt + count in assembly" + - mmc: block: Make card_busy_detect() a bit more generic + - mmc: block: Add CMD13 polling for MMC IOCTLS with R1B response + - PCI/PM: Always return devices to D0 when thawing + - PCI: pciehp: Avoid returning prematurely from sysfs requests + - [x86] PCI: Fix Intel ACS quirk UPDCR register address + - PCI/MSI: Fix incorrect MSI-X masking on resume + - [arm64] PCI: Apply Cavium ACS quirk to ThunderX2 and ThunderX3 + - [arm64] rpmsg: glink: Set tail pointer to 0 at end of FIFO + - [arm64] rpmsg: glink: Fix reuse intents memory leak issue + - [arm64] rpmsg: glink: Fix use after free in open_ack TIMEOUT case + - [arm64] rpmsg: glink: Put an extra reference during cleanup + - [arm64] rpmsg: glink: Fix rpmsg_register_device err handling + - [arm64] rpmsg: glink: Don't send pending rx_done during remove + - [arm64] rpmsg: glink: Free pending deferred work on remove + - cifs: smbd: Return -EAGAIN when transport is reconnecting + - cifs: smbd: Add messages on RDMA session destroy and reconnection + - cifs: smbd: Return -EINVAL when the number of iovs exceeds + SMBDIRECT_MAX_SGE + - cifs: Don't display RDMA transport on reconnect + - CIFS: Respect O_SYNC and O_DIRECT flags during reconnect + - CIFS: Close open handle after interrupted close + - [armhf] tegra: Fix FLOW_CTLR_HALT register clobbering by tegra_resume() + - vfio/pci: call irq_bypass_unregister_producer() before freeing irq + - dma-buf: Fix memory leak in sync_file_merge() + - [arm64] drm: meson: venc: cvbs: fix CVBS mode matching + - dm mpath: remove harmful bio-based optimization + - dm btree: increase rebalance threshold in __rebalance2() + - scsi: iscsi: Fix a potential deadlock in the timeout handler + - scsi: qla2xxx: Change discovery state before PLOGI + - drm/radeon: fix r1xx/r2xx register checker for POT textures + - xhci: fix USB3 device initiated resume race with roothub autosuspend + https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.19.92 + - af_packet: set defaule value for tmo + - [amd64] fjes: fix missed check in fjes_acpi_add + - [arm64] net: hisilicon: Fix a BUG trigered by wrong bytes_compl + - net: qlogic: Fix error paths in ql_alloc_large_buffers() + - net: usb: lan78xx: Fix suspend/resume PHY register access error + - qede: Disable hardware gro when xdp prog is installed + - qede: Fix multicast mac configuration + - sctp: fully initialize v4 addr in some functions + - btrfs: don't double lock the subvol_sem for rename exchange + - btrfs: do not call synchronize_srcu() in inode_tree_del + - Btrfs: fix missing data checksums after replaying a log tree + - btrfs: send: remove WARN_ON for readonly mount + - btrfs: abort transaction after failed inode updates in create_subvol + - btrfs: skip log replay on orphaned roots + - btrfs: do not leak reloc root if we fail to read the fs root + - btrfs: handle ENOENT in btrfs_uuid_tree_iterate + - Btrfs: fix removal logic of the tree mod log that leads to + use-after-free issues + - ALSA: pcm: Avoid possible info leaks from PCM stream buffers + - ALSA: hda/ca0132 - Keep power on during processing DSP response + - ALSA: hda/ca0132 - Avoid endless loop + - ALSA: hda/ca0132 - Fix work handling in delayed HP detection + - [arm64,armhf] drm/panel: Add missing drm_panel_init() in panel drivers + - drm/amdgpu: grab the id mgr lock while accessing passid_mapping + - spi: Add call to spi_slave_abort() function when spidev driver is + released + - [x86] staging: rtl8192u: fix multiple memory leaks on error path + - staging: rtl8188eu: fix possible null dereference + - rtlwifi: prevent memory leak in rtl_usb_probe (CVE-2019-19063) + - libertas: fix a potential NULL pointer dereference + - ath10k: fix backtrace on coredump + - IB/iser: bound protection_sg size by data_sg size + - [arm64] media: venus: core: Fix msm8996 frequency table + - ath10k: fix offchannel tx failure when no ath10k_mac_tx_frm_has_freq + - pinctrl: devicetree: Avoid taking direct reference to device name string + - [amd64] drm/amdkfd: fix a potential NULL pointer dereference + - [arm64] media: venus: Fix occasionally failures to suspend + - [armhf] hwrng: omap3-rom - Call clk_disable_unprepare() on exit only if + not idled + - media: flexcop-usb: fix NULL-ptr deref in flexcop_usb_transfer_init() + - [arm64,armhf] drm/bridge: dw-hdmi: Refuse DDC/CI transfers on the + internal I2C controller + - block: Fix writeback throttling W=1 compiler warnings + - mwifiex: pcie: Fix memory leak in mwifiex_pcie_init_evt_ring + (CVE-2019-19057) + - drm/drm_vblank: Change EINVAL by the correct errno + - media: cx88: Fix some error handling path in 'cx8800_initdev()' + - [armhf] media: ti-vpe: vpe: Fix Motion Vector vpdma stride + - [armhf] media: ti-vpe: vpe: fix a v4l2-compliance warning about invalid + pixel format + - [armhf] media: ti-vpe: vpe: fix a v4l2-compliance failure about frame + sequence number + - [armhf] media: ti-vpe: vpe: Make sure YUYV is set as default format + - [armhf] media: ti-vpe: vpe: fix a v4l2-compliance failure causing a + kernel panic + - [armhf] media: ti-vpe: vpe: ensure buffers are cleaned up properly in + abort cases + - [armhf] media: ti-vpe: vpe: fix a v4l2-compliance failure about invalid + sizeimage + - [x86] syscalls/x86: Use the correct function type in SYSCALL_DEFINE0 + - [x86] mm: Use the correct function type for native_set_fixmap() + - ath10k: Correct error handling of dma_map_single() + - [arm64,armhf] drm/bridge: dw-hdmi: Restore audio when setting a mode + - perf report: Add warning when libunwind not compiled in + - usb: usbfs: Suppress problematic bind and unbind uevents. + - Bluetooth: missed cpu_to_le16 conversion in hci_init4_req + - Bluetooth: Workaround directed advertising bug in Broadcom controllers + - Bluetooth: hci_core: fix init for HCI_USER_CHANNEL + - [x86] mce: Lower throttling MCE messages' priority to warning + - [x86] drm/gma500: fix memory disclosures due to uninitialized bytes + - rtl8xxxu: fix RTL8723BU connection failure issue after warm reboot + - ipmi: Don't allow device module unload when in use + - [x86] ioapic: Prevent inconsistent state when moving an interrupt + - md/bitmap: avoid race window between md_bitmap_resize and + bitmap_file_clear_bit + - [arm64] psci: Reduce the waiting time for cpu_psci_cpu_kill() + - i40e: initialize ITRN registers with correct values + - net: phy: dp83867: enable robust auto-mdix + - [arm64,armhf] drm/tegra: sor: Use correct SOR index on Tegra210 + - ACPI: button: Add DMI quirk for Medion Akoya E2215T + - RDMA/qedr: Fix memory leak in user qp and mr + - [arm64,armhf] gpu: host1x: Allocate gather copy for host1x + - [arm64,armhf] net: dsa: LAN9303: select REGMAP when LAN9303 enable + - [arm64] phy: qcom-usb-hs: Fix extcon double register after power cycle + - [s390x] time: ensure get_clock_monotonic() returns monotonic values + - [s390x] mm: add mm_pxd_folded() checks to pxd_free() + - [arm64] net: hns3: add struct netdev_queue debug info for TX timeout + - libata: Ensure ata_port probe has completed before detach + - loop: fix no-unmap write-zeroes request behavior + - Bluetooth: Fix advertising duplicated flags + - pinctrl: amd: fix __iomem annotation in amd_gpio_irq_handler() + - ixgbe: protect TX timestamping from API misuse + - media: rcar_drif: fix a memory disclosure (CVE-2019-18786) + - media: v4l2-core: fix touch support in v4l_g_fmt + - rfkill: allocate static minor + - bnx2x: Fix PF-VF communication over multi-cos queues. + - ALSA: timer: Limit max amount of slave instances + - rtlwifi: fix memory leak in rtl92c_set_fw_rsvdpagepkt() + - perf probe: Fix to find range-only function instance + - perf probe: Fix to list probe event with correct line number + - perf jevents: Fix resource leak in process_mapfile() and main() + - perf probe: Walk function lines in lexical blocks + - perf probe: Fix to probe an inline function which has no entry pc + - perf probe: Fix to show ranges of variables in functions without + entry_pc + - perf probe: Fix to show inlined function callsite without entry_pc + - perf probe: Fix to probe a function which has no entry pc + - perf tools: Splice events onto evlist even on error + - perf parse: If pmu configuration fails free terms + - perf probe: Skip overlapped location on searching variables + - perf probe: Return a better scope DIE if there is no best scope + - perf probe: Fix to show calling lines of inlined functions + - perf probe: Skip end-of-sequence and non statement lines + - perf probe: Filter out instances except for inlined subroutine and + subprogram + - ath10k: fix get invalid tx rate for Mesh metric + - media: pvrusb2: Fix oops on tear-down when radio support is not present + - ice: delay less + - [amd64] spi: pxa2xx: Add missed security checks + - ASoC: rt5677: Mark reg RT5677_PWR_ANLG2 as volatile + - iio: dac: ad5446: Add support for new AD5600 DAC + - [x86] ASoC: Intel: kbl_rt5663_rt5514_max98927: Add dmic format + constraint + - [s390x] disassembler: don't hide instruction addresses + - nvme: Discard workaround for non-conformant devices + - parport: load lowlevel driver if ports not found + - bcache: fix static checker warning in bcache_device_free() + - cpufreq: Register drivers only after CPU devices have been registered + - tracing: use kvcalloc for tgid_map array allocation + - tracing/kprobe: Check whether the non-suffixed symbol is notrace + - bcache: fix deadlock in bcache_allocator + - iwlwifi: mvm: fix unaligned read of rx_pkt_status + - [arm64] spi: tegra20-slink: add missed clk_unprepare + - tun: fix data-race in gro_normal_list() + - crypto: virtio - deal with unsupported input sizes + - btrfs: don't prematurely free work in end_workqueue_fn() + - btrfs: don't prematurely free work in run_ordered_work() + - [x86] ASoC: Intel: bytcr_rt5640: Update quirk for Acer Switch 10 SW5-012 + 2-in-1 + - [x86] insn: Add some Intel instructions to the opcode map + - brcmfmac: remove monitor interface when detaching + - iwlwifi: check kasprintf() return value + - [armhf] net: ethernet: ti: ale: clean ale tbl on init and intf restart + - [armhf] crypto: sun4i-ss - Fix 64-bit size_t warnings + - [armhf] crypto: sun4i-ss - Fix 64-bit size_t warnings on sun4i-ss-hash.c + - mac80211: consider QoS Null frames for STA_NULLFUNC_ACKED + - net: phy: initialise phydev speed and duplex sanely + - btrfs: don't prematurely free work in reada_start_machine_worker() + - btrfs: don't prematurely free work in scrub_missing_raid56_worker() + - Revert "mmc: sdhci: Fix incorrect switch to HS mode" + - can: kvaser_usb: kvaser_usb_leaf: Fix some info-leaks to USB devices + (CVE-2019-19947) + - usb: xhci: Fix build warning seen with CONFIG_PM=n + - [s390x] ftrace: fix endless recursion in function_graph tracer + - btrfs: return error pointer from alloc_test_extent_buffer + - usbip: Fix receive error in vhci-hcd when using scatter-gather + - usbip: Fix error path of vhci_recv_ret_submit() + - cpufreq: Avoid leaving stale IRQ work items during CPU offline + - [x86] intel_th: pci: Add Comet Lake PCH-V support + - [x86] intel_th: pci: Add Elkhart Lake SOC support + - [x86] platform/x86: hp-wmi: Make buffer for HPWMI_FEATURE2_QUERY 128 + bytes + - [x86] staging: comedi: gsc_hpdi: check dma_alloc_coherent() return value + - ext4: fix ext4_empty_dir() for directories with holes (CVE-2019-19037) + - ext4: check for directory entries too close to block end + - ext4: unlock on error in ext4_expand_extra_isize() + - [arm64] KVM: Ensure 'params' is initialised when looking up sys register + - [x86] MCE/AMD: Do not use rdmsr_safe_on_cpu() in smca_configure() + - [x86] MCE/AMD: Allow Reserved types to be overwritten in smca_banks[] + - [powerpc*] irq: fix stack overflow verification + - [arm64] mmc: sdhci-msm: Correct the offset and value for DDR_CONFIG + register + - mmc: sdhci: Update the tuning failed messages to pr_debug level + - mmc: sdhci: Workaround broken command queuing on Intel GLK + - mmc: sdhci: Add a quirk for broken command queuing + - nbd: fix shutdown and recv work deadlock + - perf probe: Fix to show function entry line as probe-able + https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.19.93 + - scsi: lpfc: Fix discovery failures when target device connectivity + bounces + - scsi: mpt3sas: Fix clear pending bit in ioctl status + - scsi: lpfc: Fix locking on mailbox command completion + - Input: atmel_mxt_ts - disable IRQ across suspend + - f2fs: fix to update time in lazytime mode + - [arm64,armhf] iommu: rockchip: Free domain on .domain_free + - [arm64,armhf] iommu/tegra-smmu: Fix page tables in > 4 GiB memory + - scsi: target: compare full CHAP_A Algorithm strings + - scsi: lpfc: Fix SLI3 hba in loop mode not discovering devices + - scsi: csiostor: Don't enable IRQs too early + - [arm64] scsi: hisi_sas: Replace in_softirq() check in + hisi_sas_task_exec() + - [ppc64el] pseries: Mark accumulate_stolen_time() as notrace + - [ppc64el] pseries: Don't fail hash page table insert for bolted mapping + - clocksource/drivers/timer-of: Use unique device name instead of timer + - [ppc64el] security/book3s64: Report L1TF status in sysfs + - [ppc64el] book3s64/hash: Add cond_resched to avoid soft lockup warning + - ext4: update direct I/O read lock pattern for IOCB_NOWAIT + - ext4: iomap that extends beyond EOF should be marked dirty + - jbd2: Fix statistics for the number of logged blocks + - scsi: tracing: Fix handling of TRANSFER LENGTH == 0 for READ(6) and + WRITE(6) + - scsi: lpfc: Fix duplicate unreg_rpi error in port offline flow + - f2fs: fix to update dir's i_pino during cross_rename + - [arm64] clk: qcom: Allow constant ratio freq tables for rcg + - clk: clk-gpio: propagate rate change to parent + - fs/quota: handle overflows of sysctl fs.quota.* and report as unsigned + long + - scsi: lpfc: fix: Coverity: lpfc_cmpl_els_rsp(): Null pointer + dereferences + - [ppc64el] PCI: rpaphp: Fix up pointer to first drc-info entry + - scsi: ufs: fix potential bug which ends in system hang + - [ppc64el] PCI: rpaphp: Don't rely on firmware feature to imply drc-info + support + - [ppc64el] PCI: rpaphp: Annotate and correctly byte swap DRC properties + - [ppc64el] PCI: rpaphp: Correctly match ibm, my-drc-index to drc-name + when using drc-info + - [ppc64el] powerpc/security: Fix wrong message when RFI Flush is disable + - bcache: at least try to shrink 1 node in bch_mca_scan() + - HID: quirks: Add quirk for HP MSU1465 PIXART OEM mouse + - HID: logitech-hidpp: Silence intermittent get_battery_capacity errors + - [armhf] 8937/1: spectre-v2: remove Brahma-B53 from hardening + - libnvdimm/btt: fix variable 'rc' set but not used + - HID: Improve Windows Precision Touchpad detection. + - HID: rmi: Check that the RMI_STARTED bit is set before unregistering the + RMI transport device + - watchdog: Fix the race between the release of watchdog_core_data and + cdev + - scsi: pm80xx: Fix for SATA device discovery + - scsi: ufs: Fix error handing during hibern8 enter + - scsi: scsi_debug: num_tgts must be >= 0 + - scsi: iscsi: Don't send data to unbound connection + - scsi: target: iscsi: Wait for all commands to finish before freeing a + session + - apparmor: fix unsigned len comparison with less than zero + - scripts/kallsyms: fix definitely-lost memory leak + - cdrom: respect device capabilities during opening action + - perf script: Fix brstackinsn for AUXTRACE + - perf regs: Make perf_reg_name() return "unknown" instead of NULL + - [s390x] zcrypt: handle new reply code FILTERED_BY_HYPERVISOR + - [s390x] cpum_sf: Check for SDBT and SDB consistency + - ocfs2: fix passing zero to 'PTR_ERR' warning + - kernel: sysctl: make drop_caches write-only + - userfaultfd: require CAP_SYS_PTRACE for UFFD_FEATURE_EVENT_FORK + - [x86] mce: Fix possibly incorrect severity calculation on AMD + - net, sysctl: Fix compiler warning when only cBPF is present + - netfilter: nf_queue: enqueue skbs with NULL dst + - ALSA: hda - Downgrade error message for single-cmd fallback + - bonding: fix active-backup transition after link failure + - perf strbuf: Remove redundant va_end() in strbuf_addv() + - Make filldir[64]() verify the directory entry filename is valid + (CVE-2019-10220) + - filldir[64]: remove WARN_ON_ONCE() for bad directory entries + (CVE-2019-10220) + - netfilter: ebtables: compat: reject all padding in matches/watchers + - 6pack,mkiss: fix possible deadlock + - netfilter: bridge: make sure to pull arp header in br_nf_forward_arp() + - inetpeer: fix data-race in inet_putpeer / inet_putpeer + - net: add a READ_ONCE() in skb_peek_tail() + - net: icmp: fix data-race in cmp_global_allow() + - hrtimer: Annotate lockless access to timer->state + - net: ena: fix napi handler misbehavior when the napi budget is zero + - net/mlxfw: Fix out-of-memory error in mfa2 flash burning + - [arm64,armhf] net: stmmac: dwmac-meson8b: Fix the RGMII TX delay on + Meson8b/8m2 SoCs + - ptp: fix the race between the release of ptp_clock and cdev + - tcp: Fix highest_sack and highest_sack_seq + - udp: fix integer overflow while computing available space in sk_rcvbuf + - vhost/vsock: accept only packets with the right dst_cid + - net: add bool confirm_neigh parameter for dst_ops.update_pmtu + - ip6_gre: do not confirm neighbor when do pmtu update + - gtp: do not confirm neighbor when do pmtu update + - net/dst: add new function skb_dst_update_pmtu_no_confirm + - tunnel: do not confirm neighbor when do pmtu update + - vti: do not confirm neighbor when do pmtu update + - sit: do not confirm neighbor when do pmtu update + - net/dst: do not confirm neighbor for vxlan and geneve pmtu update + - gtp: do not allow adding duplicate tid and ms_addr pdp context + - [arm64,armhf] net: marvell: mvpp2: phylink requires the link interrupt + - tcp/dccp: fix possible race __inet_lookup_established() + - tcp: do not send empty skb from tcp_write_xmit() + - gtp: fix wrong condition in gtp_genl_dump_pdp() + - gtp: fix an use-after-free in ipv4_pdp_find() + - gtp: avoid zero size hashtable + - [arm64,armhf] pinctrl: baytrail: Really serialize all register accesses + https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.19.94 + - nvme_fc: add module to ops template to allow module references + - nvme-fc: fix double-free scenarios on hw queues + - drm/amdgpu: add check before enabling/disabling broadcast mode + - drm/amdgpu: add cache flush workaround to gfx8 emit_fence + - PM / devfreq: Fix devfreq_notifier_call returning errno + - PM / devfreq: Set scaling_max_freq to max on OPP notifier error + - PM / devfreq: Don't fail devfreq_dev_release if not in list + - afs: Fix afs_find_server lookups for ipv4 peers + - afs: Fix SELinux setting security label on /afs + - RDMA/cma: add missed unregister_pernet_subsys in init failure + - rxe: correctly calculate iCRC for unaligned payloads + - scsi: lpfc: Fix memory leak on lpfc_bsg_write_ebuf_set func + - scsi: qla2xxx: Drop superfluous INIT_WORK of del_work + - scsi: qla2xxx: Don't call qlt_async_event twice + - scsi: qla2xxx: Fix PLOGI payload and ELS IOCB dump length + - scsi: qla2xxx: Configure local loop for N2N target + - scsi: qla2xxx: Send Notify ACK after N2N PLOGI + - scsi: qla2xxx: Ignore PORT UPDATE after N2N PLOGI + - scsi: iscsi: qla4xxx: fix double free in probe + - scsi: libsas: stop discovering if oob mode is disconnected + (CVE-2019-19965) + - drm/nouveau: Move the declaration of struct nouveau_conn_atom up a bit + - usb: gadget: fix wrong endpoint desc + - net: make socket read/write_iter() honor IOCB_NOWAIT + - afs: Fix creation calls in the dynamic root to fail with EOPNOTSUPP + - md: raid1: check rdev before reference in raid1_sync_request func + - [s390x] cpum_sf: Adjust sampling interval to avoid hitting sample limits + - [s390x] cpum_sf: Avoid SBD overflow condition in irq handler + - IB/mlx4: Follow mirror sequence of device add during device removal + - IB/mlx5: Fix steering rule of drop and count + - xen-blkback: prevent premature module unload + - xen/balloon: fix ballooned page accounting without hotplug enabled + - PM / hibernate: memory_bm_find_bit(): Tighten node optimisation + - ALSA: hda/realtek - Add Bass Speaker and fixed dac for bass speaker + - ALSA: hda/realtek - Enable the bass speaker of ASUS UX431FLC + - ALSA: hda - fixup for the bass speaker on Lenovo Carbon X1 7th gen + - xfs: fix mount failure crash on invalid iclog memory access + - taskstats: fix data-race + - drm: limit to INT_MAX in create_blob ioctl + - netfilter: nft_tproxy: Fix port selector on Big Endian + - ALSA: ice1724: Fix sleep-in-atomic in Infrasonic Quartet support code + - ALSA: usb-audio: fix set_format altsetting sanity check + - ALSA: usb-audio: set the interface format after resume on Dell WD19 + - ALSA: hda/realtek - Add headset Mic no shutup for ALC283 + - [arm64,armhf] drm/sun4i: hdmi: Remove duplicate cleanup calls + - [mips*] Avoid VDSO ABI breakage due to global register variable + - media: pulse8-cec: fix lost cec_transmit_attempt_done() call + - media: cec: CEC 2.0-only bcast messages were ignored + - media: cec: avoid decrementing transmit_queue_sz if it is 0 + - media: cec: check 'transmit_in_progress', not 'transmitting' + - mm/zsmalloc.c: fix the migrated zspage statistics. + - memcg: account security cred as well to kmemcg + - mm: move_pages: return valid node id in status if the page is already on + the target node + - [x86,arm64] pstore/ram: Write new dumps to start of recycled zones + - locks: print unsigned ino in /proc/locks + - compat_ioctl: block: handle Persistent Reservations + - compat_ioctl: block: handle BLKREPORTZONE/BLKRESETZONE + - ata: libahci_platform: Export again ahci_platform_able_phys() + - libata: Fix retrieving of active qcs + - gpiolib: fix up emulated open drain outputs + - tracing: Fix lock inversion in trace_event_enable_tgid_record() + - tracing: Avoid memory leak in process_system_preds() + - tracing: Have the histogram compare functions convert to u64 first + - tracing: Fix endianness bug in histogram trigger + - apparmor: fix aa_xattrs_match() may sleep while holding a RCU lock + - [i386] ALSA: cs4236: fix error return comparison of an unsigned integer + - ALSA: firewire-motu: Correct a typo in the clock proc string + - exit: panic before exit_mm() on global init exit + - [arm64] Revert support for execute-only user mappings + - ftrace: Avoid potential division by zero in function profiler + - [arm64] drm/msm: include linux/sched/task.h + - PM / devfreq: Check NULL governor in available_governors_show + - nfsd4: fix up replay_matches_cache() + - [x86,arm64] HID: i2c-hid: Reset ALPS touchpads on resume + - ACPI: sysfs: Change ACPI_MASKABLE_GPE_MAX to 0x100 + - xfs: don't check for AG deadlock for realtime files in bunmapi + - [x86] platform/x86: pmc_atom: Add Siemens CONNECT X300 to + critclk_systems DMI table + - Bluetooth: btusb: fix PM leak in error case of setup + - Bluetooth: delete a stray unlock + - Bluetooth: Fix memory leak in hci_connect_le_scan + - media: flexcop-usb: ensure -EIO is returned on error condition + - media: usb: fix memory leak in af9005_identify_state (CVE-2019-18809) + - [arm64] dts: meson: odroid-c2: Disable usb_otg bus to avoid power failed + warning + - [arm64] tty: serial: msm_serial: Fix lockup for sysrq and oops + - fix compat handling of FICLONERANGE, FIDEDUPERANGE and FS_IOC_FIEMAP + - bdev: Factor out bdev revalidation into a common helper + - bdev: Refresh bdev size for disks without partitioning + - scsi: qedf: Do not retry ELS request if qedf_alloc_cmd fails + - drm/mst: Fix MST sideband up-reply failure handling + - [ppc64el] pseries/hvconsole: Fix stack overread via udbg + - [ppc64el] KVM: PPC: Book3S HV: use smp_mb() when setting/clearing + host_ipi flag + - rxrpc: Fix possible NULL pointer access in ICMP handling + - tcp: annotate tp->rcv_nxt lockless reads + - net: core: limit nested device depth + - ath9k_htc: Modify byte order for an error message + - ath9k_htc: Discard undersized packets + - xfs: periodically yield scrub threads to the scheduler + - net: add annotations on hh->hh_len lockless accesses + - ubifs: ubifs_tnc_start_commit: Fix OOB in layout_in_gaps + - [s390x] smp: fix physical to logical CPU map for SMT + - xen/blkback: Avoid unmapping unmapped grant pages + - [x86] perf/x86/intel/bts: Fix the use of page_private() + https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.19.95 + - bpf: Fix passing modified ctx to ld/abs/ind instruction + - regulator: fix use after free issue + - ASoC: max98090: fix possible race conditions + - netfilter: ctnetlink: netns exit must wait for callbacks + - mwifiex: Fix heap overflow in mmwifiex_process_tdls_action_frame() + (CVE-2019-14901) + - [x86] efi: Update e820 with reserved EFI boot services data to fix kexec + breakage + - [x86] ASoC: Intel: bytcr_rt5640: Update quirk for Teclast X89 + - efi/gop: Return EFI_NOT_FOUND if there are no usable GOPs + - efi/gop: Return EFI_SUCCESS if a usable GOP was found + - efi/gop: Fix memory leak in __gop_query32/64() + - netfilter: uapi: Avoid undefined left-shift in xt_sctp.h + - netfilter: nft_set_rbtree: bogus lookup/get on consecutive elements in + named sets + - netfilter: nf_tables: validate NFT_SET_ELEM_INTERVAL_END + - netfilter: nf_tables: validate NFT_DATA_VALUE after nft_data_init() + - [arm64] spi: spi-cavium-thunderx: Add missing pci_release_regions() + - ASoC: topology: Check return value for soc_tplg_pcm_create() + - bnxt_en: Return error if FW returns more data than dump length + - [mips*] bpf, mips: Limit to 33 tail calls + - [armhf] spi: spi-ti-qspi: Fix a bug when accessing non default CS + - [powerpc*] Ensure that swiotlb buffer is allocated from low memory + - btrfs: Fix error messages in qgroup_rescan_init + - bpf: Clear skb->tstamp in bpf_redirect when necessary + - bnx2x: Do not handle requests from VFs after parity + - bnx2x: Fix logic to get total no. of PFs per engine + - cxgb4: Fix kernel panic while accessing sge_info + - net: usb: lan78xx: Fix error message format specifier + - rfkill: Fix incorrect check to avoid NULL pointer dereference + - iommu/iova: Init the struct iova to fix the possible memleak + - [x86] perf/x86/intel: Fix PT PMI handling + - fs: avoid softlockups in s_inodes iterators + - [arm64,armhf] net: stmmac: Do not accept invalid MTU values + - [arm64,armhf] net: stmmac: xgmac: Clear previous RX buffer size + - [arm64,armhf] net: stmmac: RX buffer size must be 16 byte aligned + - [arm64,armhf] net: stmmac: Always arm TX Timer at end of transmission + start + - [s390x] dasd/cio: Interpret ccw_device_get_mdc return value correctly + - [s390x] dasd: fix memleak in path handling error case + - block: fix memleak when __blk_rq_map_user_iov() is failed + - llc2: Fix return statement of llc_stat_ev_rx_null_dsap_xid_c (and + _test_c) + - [x86] hv_netvsc: Fix unwanted rx_table reset + - [powerpc*] vcpu: Assume dedicated processors as non-preempt + - [powerpc*] spinlocks: Include correct header for static key + - [armhf] cpufreq: imx6q: read OCOTP through nvmem for imx6ul/imx6ull + - gtp: fix bad unlock balance in gtp_encap_enable_socket + - macvlan: do not assume mac_header is set in macvlan_broadcast() + - [arm64,armhf] net: dsa: mv88e6xxx: Preserve priority when setting CPU + port. + - [arm64,armhf] net: stmmac: dwmac-sun8i: Allow all RGMII modes + - [arm64,armhf] net: stmmac: dwmac-sunxi: Allow all RGMII modes + - net: usb: lan78xx: fix possible skb leak + - pkt_sched: fq: do not accept silly TCA_FQ_QUANTUM + - sch_cake: avoid possible divide by zero in cake_enqueue() + - sctp: free cmd->obj.chunk for the unprocessed SCTP_CMD_REPLY + - tcp: fix "old stuff" D-SACK causing SACK to be treated as D-SACK + - vxlan: fix tos value before xmit + - vlan: fix memory leak in vlan_dev_set_egress_priority + - vlan: vlan_changelink() should propagate errors + - net: sch_prio: When ungrafting, replace with FIFO + - [arm64,armhf] usb: dwc3: gadget: Fix request complete check + - USB: core: fix check for duplicate endpoints + - USB: serial: option: add Telit ME910G1 0x110a composition + - usb: missing parentheses in USE_NEW_SCHEME + https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.19.96 + - chardev: Avoid potential use-after-free in 'chrdev_open()' + - i2c: fix bus recovery stop mode timing + - [arm64,armhf] usb: chipidea: host: Disable port power only if previously + enabled + - ALSA: usb-audio: Apply the sample rate quirk for Bose Companion 5 + - ALSA: hda/realtek - Add new codec supported for ALCS1200A + - ALSA: hda/realtek - Set EAPD control to default for ALC222 + - [x86] ALSA: hda/realtek - Add quirk for the bass speaker on Lenovo Yoga + X1 7th gen + - kernel/trace: Fix do not unregister tracepoints when register + sched_migrate_task fail + - tracing: Have stack tracer compile when MCOUNT_INSN_SIZE is not defined + - tracing: Change offset type to s32 in preempt/irq tracepoints + - HID: Fix slab-out-of-bounds read in hid_field_extract + - HID: uhid: Fix returning EPOLLOUT from uhid_char_poll + - HID: hid-input: clear unmapped usages + - Input: add safety guards to input_set_keycode() + - [arm64,armhf] drm/sun4i: tcon: Set RGB DCLK min. divider based on + hardware model + - drm/fb-helper: Round up bits_per_pixel if possible + - drm/dp_mst: correct the shifting in DP_REMOTE_I2C_READ + - can: kvaser_usb: fix interface sanity check + - can: gs_usb: gs_usb_probe(): use descriptors of current altsetting + - can: can_dropped_invalid_skb(): ensure an initialized headroom in + outgoing CAN sk_buffs + - gpiolib: acpi: Turn dmi_system_id table into a generic quirk table + - gpiolib: acpi: Add honor_wakeup module-option + quirk mechanism + - [x86] staging: vt6656: set usb_set_intfdata on driver fail. + - USB: serial: option: add ZLP support for 0x1bc7/0x9010 + - [arm64,armhf] usb: musb: fix idling for suspend after disconnect + interrupt + - [arm64,armhf] usb: musb: Disable pullup at init + - [arm64,armhf] usb: musb: dma: Correct parameter passed to IRQ handler + - [x86] staging: comedi: adv_pci1710: fix AI channels 16-31 for PCI-1713 + - staging: rtl8188eu: Add device code for TP-Link TL-WN727N v5.21 + - serdev: Don't claim unsupported ACPI serial devices + - tty: link tty and port before configuring it as console + - tty: always relink the port + - mwifiex: fix possible heap overflow in mwifiex_process_country_ie() + (CVE-2019-14895) + - mwifiex: pcie: Fix memory leak in mwifiex_pcie_alloc_cmdrsp_buf + (CVE-2019-19056) + - scsi: bfa: release allocated memory in case of error (CVE-2019-19066) + - rtl8xxxu: prevent leaking urb (CVE-2019-19068) + - ath10k: fix memory leak (CVE-2019-19078) + - HID: hiddev: fix mess in hiddev_open() + - USB: Fix: Don't skip endpoint descriptors with maxpacket=0 + - netfilter: arp_tables: init netns pointer in xt_tgchk_param struct + - netfilter: conntrack: dccp, sctp: handle null timeout argument + - netfilter: ipset: avoid null deref when IPSET_ATTR_LINENO is present + - [x86] drm/i915/gen9: Clear residual context state on context switch + (CVE-2019-14615) + https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.19.97 + - hidraw: Return EPOLLOUT from hidraw_poll + - HID: hidraw: Fix returning EPOLLOUT from hidraw_poll + - HID: hidraw, uhid: Always report EPOLLOUT + - cfg80211/mac80211: make ieee80211_send_layer2_update a public function + - mac80211: Do not send Layer 2 Update frame before authorization + (CVE-2019-5108) + - f2fs: Move err variable to function scope in f2fs_fill_dentries() + - f2fs: check memory boundary by insane namelen + - f2fs: check if file namelen exceeds max value (CVE-2019-9445) + - media: usb:zr364xx:Fix KASAN:null-ptr-deref Read in + zr364xx_vidioc_querycap (CVE-2019-15217) + - iwlwifi: dbg_ini: fix memory leak in alloc_sgtable (CVE-2019-19058) + - iwlwifi: pcie: fix memory leaks in iwl_pcie_ctxt_info_gen3_init + (CVE-2019-19059) + - RDMA: Fix goto target to release the allocated memory (CVE-2019-19077) + - dccp: Fix memleak in __feat_register_sp (CVE-2019-20096) + - [x86] drm/i915: Fix use-after-free when destroying GEM context + - ASoC: soc-core: Set dpcm_playback / dpcm_capture + - [armhf] mtd: onenand: omap2: Pass correct flags for prep_dma_memcpy + - [arm64] gpio: zynq: Fix for bug in zynq_gpio_restore_context API + - iommu: Remove device link to group on failure + - gpio: Fix error message on out-of-range GPIO in lookup table + - [s390x] qeth: fix false reporting of VNIC CHAR config failure + - [s390x] qeth: Fix vnicc_is_in_use if rx_bcast not set + - cifs: Adjust indentation in smb2_open_file + - afs: Fix missing cell comparison in afs_test_super() + - drm/ttm: fix start page for huge page check in ttm_put_pages() + (CVE-2019-19927) + - drm/ttm: fix incrementing the page pointer for huge pages + (CVE-2019-19927) + - btrfs: simplify inode locking for RWF_NOWAIT + - RDMA/mlx5: Return proper error value + - RDMA/srpt: Report the SCSI residual to the initiator + - scsi: enclosure: Fix stale device oops with hot replug + - scsi: sd: Clear sdkp->protection_type if disk is reformatted without PI + - [x86] platform/x86: asus-wmi: Fix keyboard brightness cannot be set to 0 + - [x86] platform/x86: GPD pocket fan: Use default values when wrong + modparams are given + - xprtrdma: Fix completion wait during device removal + - crypto: virtio - implement missing support for output IVs + - NFSv2: Fix a typo in encode_sattr() + - NFSv4.x: Drop the slot if nfs4_delegreturn_prepare waits for + layoutreturn + - mei: fix modalias documentation + - [armhf] clk: samsung: exynos5420: Preserve CPU clocks configuration + during suspend/resume + - [armhf] pinctl: ti: iodelay: fix error checking on + pinctrl_count_index_with_args call + - [x86] pinctrl: lewisburg: Update pin list according to v1.1v6 + - scsi: sd: enable compat ioctls for sed-opal + - af_unix: add compat_ioctl support + - compat_ioctl: handle SIOCOUTQNSD + - [arm64,armhf] PCI: dwc: Fix find_next_bit() usage + - PCI/PTM: Remove spurious "d" from granularity message + - [powerpc*] powernv: Disable native PCIe port management + - [armhf] tty: serial: imx: use the sg count from dma_map_sg + - [i386] tty: serial: pch_uart: correct usage of dma_unmap_sg + - mtd: spi-nor: fix silent truncation in spi_nor_read() + - mtd: spi-nor: fix silent truncation in spi_nor_read_raw() + - rtlwifi: Remove unnecessary NULL check in rtl_regd_init + - f2fs: fix potential overflow + - scsi: libcxgbi: fix NULL pointer dereference in cxgbi_device_destroy() + - [mips*] cacheinfo: report shared CPU map + - [arm64] drm/arm/mali: make malidp_mw_connector_helper_funcs static + - [arm64] dmaengine: k3dma: Avoid null pointer traversal + - [amd64] ioat: ioat_alloc_ring() failure handling. + - ocfs2: call journal flush to mark journal as empty after journal + recovery when mount + https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.19.98 + - clk: Don't try to enable critical clocks if prepare failed + - iio: buffer: align the size of scan bytes to size of the largest element + - USB: serial: simple: Add Motorola Solutions TETRA MTP3xxx and MTP85xx + - USB: serial: option: Add support for Quectel RM500Q + - USB: serial: opticon: fix control-message timeouts + - USB: serial: option: add support for Quectel RM500Q in QDL mode + - USB: serial: suppress driver bind attributes + - USB: serial: ch341: handle unbound port at reset_resume + - USB: serial: io_edgeport: handle unbound ports on URB completion + - USB: serial: io_edgeport: add missing active-port sanity check + - USB: serial: keyspan: handle unbound ports + - USB: serial: quatech2: handle unbound ports + - [x86] scsi: fnic: fix invalid stack access + - scsi: mptfusion: Fix double fetch bug in ioctl + - [armhf] dts: imx6q-dhcom: Fix SGTL5000 VDDIO regulator connection + - ALSA: dice: fix fallback from protocol extension into limited + functionality + - ALSA: seq: Fix racy access for queue timer in proc read + - ALSA: usb-audio: fix sync-ep altsetting sanity check + - [arm64] dts: allwinner: a64: olinuxino: Fix SDIO supply regulator + - block: fix an integer overflow in logical block size + - [armhf] dts: am571x-idk: Fix gpios property to have the correct gpio + number + - LSM: generalize flag passing to security_capable + - ptrace: reintroduce usage of subjective credentials in ptrace_has_cap() + - usb: core: hub: Improved device recognition on remote wakeup + - [x86] resctrl: Fix an imbalance in domain_remove_cpu() + - [x86] CPU/AMD: Ensure clearing of SME/SEV features is maintained + - [amd64] x86/efistub: Disable paging at mixed mode entry + - [x86] resctrl: Fix potential memory leak + - perf hists: Fix variable name's inconsistency in hists__for_each() macro + - perf report: Fix incorrectly added dimensions as switch perf data file + - mm/shmem.c: thp, shmem: fix conflict of above-47bit hint address and PMD + alignment + - mm: memcg/slab: call flush_memcg_workqueue() only if memcg workqueue is + valid + - btrfs: rework arguments of btrfs_unlink_subvol + - btrfs: fix invalid removal of root ref + - btrfs: do not delete mismatched root refs + - btrfs: fix memory leak in qgroup accounting + - mm/page-writeback.c: avoid potential division by zero in + wb_min_max_ratio() + - [armhf] dts: imx6qdl: Add Engicam i.Core 1.5 MX6 + - [armhf] dts: imx6q-icore-mipi: Use 1.5 version of i.Core MX6DL + - [arm64,armhf] net: stmmac: 16KB buffer must be 16 byte aligned + - [arm64,armhf] net: stmmac: Enable 16KB buffer size + - mm/huge_memory.c: make __thp_get_unmapped_area static + - mm/huge_memory.c: thp: fix conflict of above-47bit hint address and PMD + alignment + - bpf: Fix incorrect verifier simulation of ARSH under ALU32 + - cfg80211: fix deadlocks in autodisconnect work + - cfg80211: fix memory leak in cfg80211_cqm_rssi_update + - cfg80211: fix page refcount issue in A-MSDU decap + - netfilter: fix a use-after-free in mtype_destroy() + - netfilter: arp_tables: init netns pointer in xt_tgdtor_param struct + - netfilter: nft_tunnel: fix null-attribute check + - netfilter: nf_tables: remove WARN and add NLA_STRING upper limits + - netfilter: nf_tables: store transaction list locally while requesting + module + - netfilter: nf_tables: fix flowtable list del corruption + - NFC: pn533: fix bulk-message timeout + - batman-adv: Fix DAT candidate selection on little endian systems + - macvlan: use skb_reset_mac_header() in macvlan_queue_xmit() + - [x86] hv_netvsc: Fix memory leak when removing rndis device + - [arm64] net: hns: fix soft lockup when there is not enough memory + - net: usb: lan78xx: limit size of local TSO packets + - ptp: free ptp device pin descriptors properly + - r8152: add missing endpoint sanity check + - tcp: fix marked lost packets not being retransmitted + - xen/blkfront: Adjust indentation in xlvbd_alloc_gendisk + - tcp: refine rule to allow EPOLLOUT generation under mem pressure + - [arm64] dts: meson-gxl-s905x-khadas-vim: fix gpio-keys-polled node + - cfg80211: check for set_wiphy_params + - tick/sched: Annotate lockless access to last_jiffies_update + - drm/nouveau/bar/nv50: check bar1 vmm return value + - drm/nouveau/bar/gf100: ensure BAR is mapped + - drm/nouveau/mmu: qualify vmm during dtor + - reiserfs: fix handling of -EOPNOTSUPP in reiserfs_for_each_xattr + - scsi: esas2r: unlock on error in esas2r_nvram_read_direct() + - scsi: qla4xxx: fix double free bug + - scsi: bnx2i: fix potential use after free + - scsi: target: core: Fix a pr_debug() argument + - scsi: qla2xxx: Fix qla2x00_request_irqs() for MSI + - scsi: qla2xxx: fix rports not being mark as lost in sync fabric scan + - scsi: core: scsi_trace: Use get_unaligned_be*() + - perf probe: Fix wrong address verification + + [ Joe Richey ] + * [cloud-amd64] tpm: Enable TPM drivers for Cloud (Closes: #946237) + + [ Salvatore Bonaccorso ] + * Refresh powerpc-fix-mcpu-options-for-spe-only-compiler.patch (Context + changes in 4.19.88) + * Drop 0027-RDMA-hns-Fix-the-bug-with-updating-rq-head-pointer-w.patch + * Drop 0028-RDMA-hns-Bugfix-for-the-scene-without-receiver-queue.patch + * [rt] Refresh 0199-net-move-xmit_recursion-to-per-task-variable-on-RT.patch + (Context changes in 4.19.88) + * [rt] Update to 4.19.90-rt35: + - Update "workqueue: rework" for workqueue changes in 4.19.90 + * [rt] Drop 0245-Revert-arm64-preempt-Fix-big-endian-when-checking-pr.patch + * Refresh 0013-scsi-hisi_sas-Relocate-some-codes-to-avoid-an-unused.patch + for context changes in 4.19.93. + * [rt] Refresh + 0253-watchdog-prevent-deferral-of-watchdogd-wakeup-on-RT.patch (Context + changes in 4.19.93) + * [rt] Refresh 0199-net-move-xmit_recursion-to-per-task-variable-on-RT.patch + (Context changes in 4.19.97) + + [ Ben Hutchings ] + * [rt] Update to 4.19.94-rt38: + - Refresh "x86/ioapic: Don't let setaffinity unmask threaded EOI interrupt + too early" which was partly included in 4.19.92 + * aufs: Update support patchset to aufs4.19.63+ 20200113; no functional + changes + * Bump ABI to 8 + * libertas: Fix two buffer overflows at parsing bss descriptor + (CVE-2019-14896, CVE-2019-14897) + * wimax: i2400: fix memory leak (CVE-2019-19051) + * wimax: i2400: Fix memory leak in i2400m_op_rfkill_sw_toggle + (CVE-2019-19051) + * [amd64/cloud-amd64] hwrandom: Enable HW_RANDOM_VIRTIO (Closes: #914511) + + [ Noah Meyerhans ] + * random: try to actively add entropy rather than passively wait for it + (Closes: #948519) + + [ Aurelien Jarno ] + * [mips*/malta] Enable POWER_RESET_PIIX4_POWEROFF. + + -- Salvatore Bonaccorso Sun, 26 Jan 2020 21:01:13 +0100 + linux (4.19.87-1) buster; urgency=medium * New upstream stable update: diff -Nru linux-4.19.87/debian/config/amd64/config.cloud-amd64 linux-4.19.98/debian/config/amd64/config.cloud-amd64 --- linux-4.19.87/debian/config/amd64/config.cloud-amd64 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/config/amd64/config.cloud-amd64 2020-01-26 13:26:48.000000000 +0000 @@ -175,7 +175,10 @@ ## ## file: drivers/char/hw_random/Kconfig ## -# CONFIG_HW_RANDOM is not set +# CONFIG_HW_RANDOM_INTEL is not set +# CONFIG_HW_RANDOM_AMD is not set +# CONFIG_HW_RANDOM_GEODE is not set +# CONFIG_HW_RANDOM_VIA is not set ## ## file: drivers/char/ipmi/Kconfig @@ -185,7 +188,19 @@ ## ## file: drivers/char/tpm/Kconfig ## -# CONFIG_TCG_TPM is not set +CONFIG_TCG_TPM=m +# CONFIG_HW_RANDOM_TPM is not set +CONFIG_TCG_TIS=m +# CONFIG_TCG_TIS_SPI is not set +# CONFIG_TCG_TIS_I2C_ATMEL is not set +# CONFIG_TCG_TIS_I2C_INFINEON is not set +# CONFIG_TCG_TIS_I2C_NUVOTON is not set +# CONFIG_TCG_NSC is not set +# CONFIG_TCG_ATMEL is not set +# CONFIG_TCG_INFINEON is not set +CONFIG_TCG_XEN=m +CONFIG_TCG_CRB=m +CONFIG_TCG_VTPM_PROXY=m ## ## file: drivers/char/xillybus/Kconfig diff -Nru linux-4.19.87/debian/config/defines linux-4.19.98/debian/config/defines --- linux-4.19.87/debian/config/defines 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/config/defines 2020-01-26 13:26:48.000000000 +0000 @@ -1,5 +1,5 @@ [abi] -abiname: 7 +abiname: 8 ignore-changes: __cpuhp_* bpf_analyzer diff -Nru linux-4.19.87/debian/config/kernelarch-mips/config.malta linux-4.19.98/debian/config/kernelarch-mips/config.malta --- linux-4.19.87/debian/config/kernelarch-mips/config.malta 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/config/kernelarch-mips/config.malta 2020-01-26 13:26:48.000000000 +0000 @@ -306,6 +306,11 @@ # CONFIG_PCIEPORTBUS is not set ## +### file: drivers/power/reset/Kconfig +## +CONFIG_POWER_RESET_PIIX4_POWEROFF=y + +## ## file: drivers/rtc/Kconfig ## CONFIG_RTC_DRV_DS1307=m diff -Nru linux-4.19.87/debian/config.defines.dump linux-4.19.98/debian/config.defines.dump --- linux-4.19.87/debian/config.defines.dump 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/config.defines.dump 2020-01-26 20:01:13.000000000 +0000 @@ -8,7 +8,7 @@ (dp4 Vabiname p5 -V7 +V8 p6 sVignore-changes p7 @@ -2949,7 +2949,7 @@ (dp1579 Vsource p1580 -V4.19.87-1 +V4.19.98-1 p1581 sVupstream p1582 @@ -2961,6 +2961,6 @@ p1585 sVabiname p1586 -V4.19.0-7 +V4.19.0-8 p1587 ss. \ No newline at end of file diff -Nru linux-4.19.87/debian/control linux-4.19.98/debian/control --- linux-4.19.87/debian/control 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/control 2020-01-26 20:01:13.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-4.19.0-7 +Package: linux-support-4.19.0-8 Architecture: all Section: devel Depends: ${python3:Depends}, ${misc:Depends} @@ -187,7 +187,7 @@ appropriate version for the running kernel. Build-Profiles: -Package: linux-bootwrapper-4.19.0-7 +Package: linux-bootwrapper-4.19.0-8 Architecture: powerpc powerpcspe ppc64 Depends: ${shlibs:Depends}, ${misc:Depends} Description: Boot wrapper tools for Linux 4.19 on PowerPC @@ -211,26 +211,26 @@ Build-Profiles: Multi-Arch: foreign -Package: linux-headers-4.19.0-7-common +Package: linux-headers-4.19.0-8-common Architecture: all Depends: ${misc:Depends} -Description: Common header files for Linux 4.19.0-7 +Description: Common header files for Linux 4.19.0-8 This package provides the common kernel header files for Linux kernel - version 4.19.0-7, generally used for building out-of-tree kernel modules. + version 4.19.0-8, generally used for building out-of-tree kernel modules. To obtain a complete set of headers you also need to install the - linux-headers-4.19.0-7-(flavour) package, matching the flavour of the + linux-headers-4.19.0-8-(flavour) package, matching the flavour of the kernel you intend the build for. Build-Profiles: Multi-Arch: foreign -Package: linux-headers-4.19.0-7-common-rt +Package: linux-headers-4.19.0-8-common-rt Architecture: all Depends: ${misc:Depends} -Description: Common header files for Linux 4.19.0-7-rt +Description: Common header files for Linux 4.19.0-8-rt This package provides the common kernel header files for Linux kernel - version 4.19.0-7 with the PREEMPT_RT featureset, generally used for + version 4.19.0-8 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-4.19.0-7-(flavour) package, + you also need to install the linux-headers-4.19.0-8-(flavour) package, matching the flavour of the kernel you intend the build for. Build-Profiles: Multi-Arch: foreign @@ -246,18 +246,18 @@ libraries. Multi-Arch: same -Package: linux-headers-4.19.0-7-all +Package: linux-headers-4.19.0-8-all Architecture: alpha amd64 arm64 armel armhf hppa i386 ia64 m68k mips mips64 mips64el mips64r6 mips64r6el mipsel mipsr6 mipsr6el powerpc powerpcspe ppc64 ppc64el riscv64 s390x sh4 sparc64 -Depends: linux-headers-4.19.0-7-all-${kernel:Arch} (= ${binary:Version}), ${misc:Depends} +Depends: linux-headers-4.19.0-8-all-${kernel:Arch} (= ${binary:Version}), ${misc:Depends} Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: linux-headers-4.19.0-7-all-alpha +Package: linux-headers-4.19.0-8-all-alpha Architecture: alpha -Depends: ${misc:Depends}, linux-headers-4.19.0-7-alpha-generic (= ${binary:Version}), linux-headers-4.19.0-7-alpha-smp (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-alpha-generic (= ${binary:Version}), linux-headers-4.19.0-8-alpha-smp (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree @@ -277,7 +277,7 @@ Build-Profiles: Multi-Arch: same -Package: kernel-image-4.19.0-7-alpha-generic-di +Package: kernel-image-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard @@ -287,511 +287,511 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: nic-modules-4.19.0-7-alpha-generic-di +Package: nic-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di, nic-shared-modules-4.19.0-7-alpha-generic-di, i2c-modules-4.19.0-7-alpha-generic-di, crc-modules-4.19.0-7-alpha-generic-di, zlib-modules-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di, nic-shared-modules-4.19.0-8-alpha-generic-di, i2c-modules-4.19.0-8-alpha-generic-di, crc-modules-4.19.0-8-alpha-generic-di, zlib-modules-4.19.0-8-alpha-generic-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: nic-wireless-modules-4.19.0-7-alpha-generic-di +Package: nic-wireless-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di, nic-shared-modules-4.19.0-7-alpha-generic-di, usb-modules-4.19.0-7-alpha-generic-di, pcmcia-modules-4.19.0-7-alpha-generic-di, crc-modules-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di, nic-shared-modules-4.19.0-8-alpha-generic-di, usb-modules-4.19.0-8-alpha-generic-di, pcmcia-modules-4.19.0-8-alpha-generic-di, crc-modules-4.19.0-8-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: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-alpha-generic-di +Package: nic-shared-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: serial-modules-4.19.0-7-alpha-generic-di +Package: serial-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: serial-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di, pcmcia-modules-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di, pcmcia-modules-4.19.0-8-alpha-generic-di Description: Serial drivers This package contains serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: usb-serial-modules-4.19.0-7-alpha-generic-di +Package: usb-serial-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di, usb-modules-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di, usb-modules-4.19.0-8-alpha-generic-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: ppp-modules-4.19.0-7-alpha-generic-di +Package: ppp-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di, serial-modules-4.19.0-7-alpha-generic-di, zlib-modules-4.19.0-7-alpha-generic-di, crc-modules-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di, serial-modules-4.19.0-8-alpha-generic-di, zlib-modules-4.19.0-8-alpha-generic-di, crc-modules-4.19.0-8-alpha-generic-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: pata-modules-4.19.0-7-alpha-generic-di +Package: pata-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di, ata-modules-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di, ata-modules-4.19.0-8-alpha-generic-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: cdrom-core-modules-4.19.0-7-alpha-generic-di +Package: cdrom-core-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di, scsi-core-modules-4.19.0-7-alpha-generic-di, isofs-modules-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di, scsi-core-modules-4.19.0-8-alpha-generic-di, isofs-modules-4.19.0-8-alpha-generic-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: scsi-core-modules-4.19.0-7-alpha-generic-di +Package: scsi-core-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: scsi-modules-4.19.0-7-alpha-generic-di +Package: scsi-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di, scsi-core-modules-4.19.0-7-alpha-generic-di, cdrom-core-modules-4.19.0-7-alpha-generic-di, ata-modules-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di, scsi-core-modules-4.19.0-8-alpha-generic-di, cdrom-core-modules-4.19.0-8-alpha-generic-di, ata-modules-4.19.0-8-alpha-generic-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: scsi-nic-modules-4.19.0-7-alpha-generic-di +Package: scsi-nic-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-4.19.0-7-alpha-generic-di, nic-modules-4.19.0-7-alpha-generic-di +Depends: scsi-modules-4.19.0-8-alpha-generic-di, nic-modules-4.19.0-8-alpha-generic-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: loop-modules-4.19.0-7-alpha-generic-di +Package: loop-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: btrfs-modules-4.19.0-7-alpha-generic-di +Package: btrfs-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di, crc-modules-4.19.0-7-alpha-generic-di, zlib-modules-4.19.0-7-alpha-generic-di, compress-modules-4.19.0-7-alpha-generic-di, md-modules-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di, crc-modules-4.19.0-8-alpha-generic-di, zlib-modules-4.19.0-8-alpha-generic-di, compress-modules-4.19.0-8-alpha-generic-di, md-modules-4.19.0-8-alpha-generic-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: ext4-modules-4.19.0-7-alpha-generic-di +Package: ext4-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di, crc-modules-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di, crc-modules-4.19.0-8-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: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: isofs-modules-4.19.0-7-alpha-generic-di +Package: isofs-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: jfs-modules-4.19.0-7-alpha-generic-di +Package: jfs-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: xfs-modules-4.19.0-7-alpha-generic-di +Package: xfs-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di, crc-modules-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di, crc-modules-4.19.0-8-alpha-generic-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: fat-modules-4.19.0-7-alpha-generic-di +Package: fat-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: md-modules-4.19.0-7-alpha-generic-di +Package: md-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di, crc-modules-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di, crc-modules-4.19.0-8-alpha-generic-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: multipath-modules-4.19.0-7-alpha-generic-di +Package: multipath-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di, md-modules-4.19.0-7-alpha-generic-di, scsi-core-modules-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di, md-modules-4.19.0-8-alpha-generic-di, scsi-core-modules-4.19.0-8-alpha-generic-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: usb-modules-4.19.0-7-alpha-generic-di +Package: usb-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: usb-storage-modules-4.19.0-7-alpha-generic-di +Package: usb-storage-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di, scsi-core-modules-4.19.0-7-alpha-generic-di, usb-modules-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di, scsi-core-modules-4.19.0-8-alpha-generic-di, usb-modules-4.19.0-8-alpha-generic-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: fb-modules-4.19.0-7-alpha-generic-di +Package: fb-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di, i2c-modules-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di, i2c-modules-4.19.0-8-alpha-generic-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: input-modules-4.19.0-7-alpha-generic-di +Package: input-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di, usb-modules-4.19.0-7-alpha-generic-di, i2c-modules-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di, usb-modules-4.19.0-8-alpha-generic-di, i2c-modules-4.19.0-8-alpha-generic-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: event-modules-4.19.0-7-alpha-generic-di +Package: event-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: mouse-modules-4.19.0-7-alpha-generic-di +Package: mouse-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di, event-modules-4.19.0-7-alpha-generic-di, input-modules-4.19.0-7-alpha-generic-di, usb-modules-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di, event-modules-4.19.0-8-alpha-generic-di, input-modules-4.19.0-8-alpha-generic-di, usb-modules-4.19.0-8-alpha-generic-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: nic-pcmcia-modules-4.19.0-7-alpha-generic-di +Package: nic-pcmcia-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: nic-pcmcia-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di, nic-shared-modules-4.19.0-7-alpha-generic-di, nic-wireless-modules-4.19.0-7-alpha-generic-di, pcmcia-modules-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di, nic-shared-modules-4.19.0-8-alpha-generic-di, nic-wireless-modules-4.19.0-8-alpha-generic-di, pcmcia-modules-4.19.0-8-alpha-generic-di Description: Common PCMCIA NIC drivers This package contains common PCMCIA NIC drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: pcmcia-modules-4.19.0-7-alpha-generic-di +Package: pcmcia-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: pcmcia-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di Description: Common PCMCIA drivers This package contains common PCMCIA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: nic-usb-modules-4.19.0-7-alpha-generic-di +Package: nic-usb-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di, nic-shared-modules-4.19.0-7-alpha-generic-di, nic-wireless-modules-4.19.0-7-alpha-generic-di, usb-modules-4.19.0-7-alpha-generic-di, crc-modules-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di, nic-shared-modules-4.19.0-8-alpha-generic-di, nic-wireless-modules-4.19.0-8-alpha-generic-di, usb-modules-4.19.0-8-alpha-generic-di, crc-modules-4.19.0-8-alpha-generic-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: sata-modules-4.19.0-7-alpha-generic-di +Package: sata-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di, scsi-core-modules-4.19.0-7-alpha-generic-di, ata-modules-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di, scsi-core-modules-4.19.0-8-alpha-generic-di, ata-modules-4.19.0-8-alpha-generic-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: i2c-modules-4.19.0-7-alpha-generic-di +Package: i2c-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: crc-modules-4.19.0-7-alpha-generic-di +Package: crc-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: crypto-modules-4.19.0-7-alpha-generic-di +Package: crypto-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-alpha-generic-di +Package: crypto-dm-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di, md-modules-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di, md-modules-4.19.0-8-alpha-generic-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: ata-modules-4.19.0-7-alpha-generic-di +Package: ata-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di, scsi-core-modules-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di, scsi-core-modules-4.19.0-8-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: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: nbd-modules-4.19.0-7-alpha-generic-di +Package: nbd-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: squashfs-modules-4.19.0-7-alpha-generic-di +Package: squashfs-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di, compress-modules-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di, compress-modules-4.19.0-8-alpha-generic-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: zlib-modules-4.19.0-7-alpha-generic-di +Package: zlib-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: zlib-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di Description: zlib modules This package contains zlib modules. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: compress-modules-4.19.0-7-alpha-generic-di +Package: compress-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: fuse-modules-4.19.0-7-alpha-generic-di +Package: fuse-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: srm-modules-4.19.0-7-alpha-generic-di +Package: srm-modules-4.19.0-8-alpha-generic-di Architecture: alpha Section: debian-installer Priority: standard Provides: srm-modules -Depends: kernel-image-4.19.0-7-alpha-generic-di +Depends: kernel-image-4.19.0-8-alpha-generic-di Description: SRM modules This package contains the srm_env module which provides access to the SRM environment. Build-Profiles: -Kernel-Version: 4.19.0-7-alpha-generic +Kernel-Version: 4.19.0-8-alpha-generic Package-Type: udeb -Package: linux-image-4.19.0-7-alpha-generic +Package: linux-image-4.19.0-8-alpha-generic Architecture: alpha -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [alpha] | linux-initramfs-tool [alpha] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [alpha] | linux-initramfs-tool [alpha] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [alpha] Suggests: linux-doc-4.19, debian-kernel-handbook, aboot [alpha], fdutils [alpha] Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -800,31 +800,31 @@ extended kernel start address (Wildfire, Titan, Marvel). Build-Profiles: -Package: linux-headers-4.19.0-7-alpha-generic +Package: linux-headers-4.19.0-8-alpha-generic Architecture: alpha -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-alpha-generic +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-alpha-generic This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-alpha-generic, generally used for building + Linux kernel 4.19.0-8-alpha-generic, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-alpha-generic, and can be used for + /usr/src/linux-headers-4.19.0-8-alpha-generic, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-alpha-generic package. + linux-image-4.19.0-8-alpha-generic package. Build-Profiles: -Package: linux-image-4.19.0-7-alpha-generic-dbg +Package: linux-image-4.19.0-8-alpha-generic-dbg Architecture: alpha Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-alpha-generic +Description: Debug symbols for linux-image-4.19.0-8-alpha-generic This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-alpha-generic. + modules in linux-image-4.19.0-8-alpha-generic. Build-Profiles: -Package: linux-image-4.19.0-7-alpha-smp +Package: linux-image-4.19.0-8-alpha-smp Architecture: alpha -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [alpha] | linux-initramfs-tool [alpha] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [alpha] | linux-initramfs-tool [alpha] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [alpha] Suggests: linux-doc-4.19, debian-kernel-handbook, aboot [alpha], fdutils [alpha] Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -833,38 +833,38 @@ extended kernel start address (Wildfire, Titan, Marvel). Build-Profiles: -Package: linux-headers-4.19.0-7-alpha-smp +Package: linux-headers-4.19.0-8-alpha-smp Architecture: alpha -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-alpha-smp +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-alpha-smp This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-alpha-smp, generally used for building out-of-tree + Linux kernel 4.19.0-8-alpha-smp, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-alpha-smp, and can be used for building + /usr/src/linux-headers-4.19.0-8-alpha-smp, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-alpha-smp package. + linux-image-4.19.0-8-alpha-smp package. Build-Profiles: -Package: linux-image-4.19.0-7-alpha-smp-dbg +Package: linux-image-4.19.0-8-alpha-smp-dbg Architecture: alpha Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-alpha-smp +Description: Debug symbols for linux-image-4.19.0-8-alpha-smp This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-alpha-smp. + modules in linux-image-4.19.0-8-alpha-smp. Build-Profiles: -Package: linux-headers-4.19.0-7-all-amd64 +Package: linux-headers-4.19.0-8-all-amd64 Architecture: amd64 -Depends: ${misc:Depends}, linux-headers-4.19.0-7-amd64 (= ${binary:Version}), linux-headers-4.19.0-7-cloud-amd64 (= ${binary:Version}), linux-headers-4.19.0-7-rt-amd64 (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-amd64 (= ${binary:Version}), linux-headers-4.19.0-8-cloud-amd64 (= ${binary:Version}), linux-headers-4.19.0-8-rt-amd64 (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: kernel-image-4.19.0-7-amd64-di +Package: kernel-image-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: standard @@ -874,614 +874,614 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: nic-modules-4.19.0-7-amd64-di +Package: nic-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-4.19.0-7-amd64-di, nic-shared-modules-4.19.0-7-amd64-di, i2c-modules-4.19.0-7-amd64-di, crc-modules-4.19.0-7-amd64-di, mtd-core-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, nic-shared-modules-4.19.0-8-amd64-di, i2c-modules-4.19.0-8-amd64-di, crc-modules-4.19.0-8-amd64-di, mtd-core-modules-4.19.0-8-amd64-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: nic-wireless-modules-4.19.0-7-amd64-di +Package: nic-wireless-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-4.19.0-7-amd64-di, nic-shared-modules-4.19.0-7-amd64-di, usb-modules-4.19.0-7-amd64-di, mmc-core-modules-4.19.0-7-amd64-di, pcmcia-modules-4.19.0-7-amd64-di, crc-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, nic-shared-modules-4.19.0-8-amd64-di, usb-modules-4.19.0-8-amd64-di, mmc-core-modules-4.19.0-8-amd64-di, pcmcia-modules-4.19.0-8-amd64-di, crc-modules-4.19.0-8-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: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-amd64-di +Package: nic-shared-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: serial-modules-4.19.0-7-amd64-di +Package: serial-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: serial-modules -Depends: kernel-image-4.19.0-7-amd64-di, pcmcia-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, pcmcia-modules-4.19.0-8-amd64-di Description: Serial drivers This package contains serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: usb-serial-modules-4.19.0-7-amd64-di +Package: usb-serial-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-4.19.0-7-amd64-di, usb-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, usb-modules-4.19.0-8-amd64-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: ppp-modules-4.19.0-7-amd64-di +Package: ppp-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-4.19.0-7-amd64-di, serial-modules-4.19.0-7-amd64-di, crc-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, serial-modules-4.19.0-8-amd64-di, crc-modules-4.19.0-8-amd64-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: pata-modules-4.19.0-7-amd64-di +Package: pata-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-4.19.0-7-amd64-di, ata-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, ata-modules-4.19.0-8-amd64-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: cdrom-core-modules-4.19.0-7-amd64-di +Package: cdrom-core-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-4.19.0-7-amd64-di, scsi-core-modules-4.19.0-7-amd64-di, isofs-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, scsi-core-modules-4.19.0-8-amd64-di, isofs-modules-4.19.0-8-amd64-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: firewire-core-modules-4.19.0-7-amd64-di +Package: firewire-core-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: firewire-core-modules -Depends: kernel-image-4.19.0-7-amd64-di, scsi-core-modules-4.19.0-7-amd64-di, crc-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, scsi-core-modules-4.19.0-8-amd64-di, crc-modules-4.19.0-8-amd64-di Description: Core FireWire drivers This package contains core FireWire drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: scsi-core-modules-4.19.0-7-amd64-di +Package: scsi-core-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: scsi-modules-4.19.0-7-amd64-di +Package: scsi-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-4.19.0-7-amd64-di, scsi-core-modules-4.19.0-7-amd64-di, cdrom-core-modules-4.19.0-7-amd64-di, ata-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, scsi-core-modules-4.19.0-8-amd64-di, cdrom-core-modules-4.19.0-8-amd64-di, ata-modules-4.19.0-8-amd64-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: scsi-nic-modules-4.19.0-7-amd64-di +Package: scsi-nic-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-4.19.0-7-amd64-di, nic-modules-4.19.0-7-amd64-di +Depends: scsi-modules-4.19.0-8-amd64-di, nic-modules-4.19.0-8-amd64-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: loop-modules-4.19.0-7-amd64-di +Package: loop-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: btrfs-modules-4.19.0-7-amd64-di +Package: btrfs-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-amd64-di, crc-modules-4.19.0-7-amd64-di, compress-modules-4.19.0-7-amd64-di, md-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, crc-modules-4.19.0-8-amd64-di, compress-modules-4.19.0-8-amd64-di, md-modules-4.19.0-8-amd64-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: ext4-modules-4.19.0-7-amd64-di +Package: ext4-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-amd64-di, crc-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, crc-modules-4.19.0-8-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: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: isofs-modules-4.19.0-7-amd64-di +Package: isofs-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: jfs-modules-4.19.0-7-amd64-di +Package: jfs-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: xfs-modules-4.19.0-7-amd64-di +Package: xfs-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-4.19.0-7-amd64-di, crc-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, crc-modules-4.19.0-8-amd64-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: fat-modules-4.19.0-7-amd64-di +Package: fat-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: fat-modules -Depends: kernel-image-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: md-modules-4.19.0-7-amd64-di +Package: md-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-amd64-di, crc-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, crc-modules-4.19.0-8-amd64-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: multipath-modules-4.19.0-7-amd64-di +Package: multipath-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-amd64-di, md-modules-4.19.0-7-amd64-di, scsi-core-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, md-modules-4.19.0-8-amd64-di, scsi-core-modules-4.19.0-8-amd64-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: usb-modules-4.19.0-7-amd64-di +Package: usb-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: usb-storage-modules-4.19.0-7-amd64-di +Package: usb-storage-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-4.19.0-7-amd64-di, scsi-core-modules-4.19.0-7-amd64-di, usb-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, scsi-core-modules-4.19.0-8-amd64-di, usb-modules-4.19.0-8-amd64-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: pcmcia-storage-modules-4.19.0-7-amd64-di +Package: pcmcia-storage-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: pcmcia-storage-modules -Depends: kernel-image-4.19.0-7-amd64-di, cdrom-core-modules-4.19.0-7-amd64-di, pcmcia-modules-4.19.0-7-amd64-di, ata-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, cdrom-core-modules-4.19.0-8-amd64-di, pcmcia-modules-4.19.0-8-amd64-di, ata-modules-4.19.0-8-amd64-di Description: PCMCIA storage drivers This package contains PCMCIA storage drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: fb-modules-4.19.0-7-amd64-di +Package: fb-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-4.19.0-7-amd64-di, i2c-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, i2c-modules-4.19.0-8-amd64-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: input-modules-4.19.0-7-amd64-di +Package: input-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-4.19.0-7-amd64-di, usb-modules-4.19.0-7-amd64-di, i2c-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, usb-modules-4.19.0-8-amd64-di, i2c-modules-4.19.0-8-amd64-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: event-modules-4.19.0-7-amd64-di +Package: event-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: mouse-modules-4.19.0-7-amd64-di +Package: mouse-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-4.19.0-7-amd64-di, event-modules-4.19.0-7-amd64-di, input-modules-4.19.0-7-amd64-di, usb-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, event-modules-4.19.0-8-amd64-di, input-modules-4.19.0-8-amd64-di, usb-modules-4.19.0-8-amd64-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: nic-pcmcia-modules-4.19.0-7-amd64-di +Package: nic-pcmcia-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: nic-pcmcia-modules -Depends: kernel-image-4.19.0-7-amd64-di, nic-shared-modules-4.19.0-7-amd64-di, nic-wireless-modules-4.19.0-7-amd64-di, pcmcia-modules-4.19.0-7-amd64-di, mmc-core-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, nic-shared-modules-4.19.0-8-amd64-di, nic-wireless-modules-4.19.0-8-amd64-di, pcmcia-modules-4.19.0-8-amd64-di, mmc-core-modules-4.19.0-8-amd64-di Description: Common PCMCIA NIC drivers This package contains common PCMCIA NIC drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: pcmcia-modules-4.19.0-7-amd64-di +Package: pcmcia-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: pcmcia-modules -Depends: kernel-image-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di Description: Common PCMCIA drivers This package contains common PCMCIA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: nic-usb-modules-4.19.0-7-amd64-di +Package: nic-usb-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-4.19.0-7-amd64-di, nic-shared-modules-4.19.0-7-amd64-di, nic-wireless-modules-4.19.0-7-amd64-di, usb-modules-4.19.0-7-amd64-di, crc-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, nic-shared-modules-4.19.0-8-amd64-di, nic-wireless-modules-4.19.0-8-amd64-di, usb-modules-4.19.0-8-amd64-di, crc-modules-4.19.0-8-amd64-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: sata-modules-4.19.0-7-amd64-di +Package: sata-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-4.19.0-7-amd64-di, scsi-core-modules-4.19.0-7-amd64-di, ata-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, scsi-core-modules-4.19.0-8-amd64-di, ata-modules-4.19.0-8-amd64-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: acpi-modules-4.19.0-7-amd64-di +Package: acpi-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: acpi-modules -Depends: kernel-image-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di Description: ACPI support modules This package contains kernel modules for ACPI. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: i2c-modules-4.19.0-7-amd64-di +Package: i2c-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: crc-modules-4.19.0-7-amd64-di +Package: crc-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: crypto-modules-4.19.0-7-amd64-di +Package: crypto-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-amd64-di +Package: crypto-dm-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-amd64-di, md-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, md-modules-4.19.0-8-amd64-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: efi-modules-4.19.0-7-amd64-di +Package: efi-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: efi-modules -Depends: kernel-image-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di Description: EFI modules This package contains EFI modules. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: ata-modules-4.19.0-7-amd64-di +Package: ata-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-4.19.0-7-amd64-di, scsi-core-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, scsi-core-modules-4.19.0-8-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: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: mmc-core-modules-4.19.0-7-amd64-di +Package: mmc-core-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: mmc-core-modules -Depends: kernel-image-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di Description: MMC/SD/SDIO core modules This package contains core modules for MMC/SD/SDIO support. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: mmc-modules-4.19.0-7-amd64-di +Package: mmc-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: mmc-modules -Depends: kernel-image-4.19.0-7-amd64-di, mmc-core-modules-4.19.0-7-amd64-di, usb-modules-4.19.0-7-amd64-di, crc-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, mmc-core-modules-4.19.0-8-amd64-di, usb-modules-4.19.0-8-amd64-di, crc-modules-4.19.0-8-amd64-di Description: MMC/SD card modules This package contains modules needed to support MMC (multimedia) and SD cards. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: nbd-modules-4.19.0-7-amd64-di +Package: nbd-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: squashfs-modules-4.19.0-7-amd64-di +Package: squashfs-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-amd64-di, compress-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, compress-modules-4.19.0-8-amd64-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: speakup-modules-4.19.0-7-amd64-di +Package: speakup-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: speakup-modules -Depends: kernel-image-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di Description: speakup modules This package contains speakup modules. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: uinput-modules-4.19.0-7-amd64-di +Package: uinput-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: uinput-modules -Depends: kernel-image-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di Description: uinput support This package contains the uinput module. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: sound-modules-4.19.0-7-amd64-di +Package: sound-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: sound-modules -Depends: kernel-image-4.19.0-7-amd64-di, i2c-modules-4.19.0-7-amd64-di, usb-modules-4.19.0-7-amd64-di, pcmcia-modules-4.19.0-7-amd64-di, firewire-core-modules-4.19.0-7-amd64-di, crc-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, i2c-modules-4.19.0-8-amd64-di, usb-modules-4.19.0-8-amd64-di, pcmcia-modules-4.19.0-8-amd64-di, firewire-core-modules-4.19.0-8-amd64-di, crc-modules-4.19.0-8-amd64-di Description: sound support This package contains sound modules. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: compress-modules-4.19.0-7-amd64-di +Package: compress-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: udf-modules-4.19.0-7-amd64-di +Package: udf-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-amd64-di, crc-modules-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di, crc-modules-4.19.0-8-amd64-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: fuse-modules-4.19.0-7-amd64-di +Package: fuse-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb -Package: mtd-core-modules-4.19.0-7-amd64-di +Package: mtd-core-modules-4.19.0-8-amd64-di Architecture: amd64 Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-4.19.0-7-amd64-di +Depends: kernel-image-4.19.0-8-amd64-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 4.19.0-7-amd64 +Kernel-Version: 4.19.0-8-amd64 Package-Type: udeb Package: linux-image-amd64-signed-template @@ -1492,84 +1492,84 @@ service. Build-Profiles: -Package: linux-image-4.19.0-7-amd64-unsigned +Package: linux-image-4.19.0-8-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, ${kernel:Recommends}, apparmor [amd64] Suggests: linux-doc-4.19, debian-kernel-handbook, grub-pc [amd64] | grub-efi-amd64 [amd64] | extlinux [amd64] -Replaces: linux-image-4.19.0-7-amd64 +Replaces: linux-image-4.19.0-8-amd64 Breaks: xserver-xorg-input-vmmouse (<< 1:13.0.99) [amd64], initramfs-tools (<< 0.120+deb8u2) -Conflicts: linux-image-4.19.0-7-amd64 +Conflicts: linux-image-4.19.0-8-amd64 Description: Linux 4.19 for 64-bit PCs The Linux kernel 4.19 and modules for use on PCs with AMD64, Intel 64 or VIA Nano processors. Build-Profiles: -Package: linux-headers-4.19.0-7-amd64 +Package: linux-headers-4.19.0-8-amd64 Architecture: amd64 -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-x86 -Description: Header files for Linux 4.19.0-7-amd64 +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-x86 +Description: Header files for Linux 4.19.0-8-amd64 This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-amd64, generally used for building out-of-tree + Linux kernel 4.19.0-8-amd64, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-amd64, and can be used for building + /usr/src/linux-headers-4.19.0-8-amd64, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-amd64 package. + linux-image-4.19.0-8-amd64 package. Build-Profiles: -Package: linux-image-4.19.0-7-amd64-dbg +Package: linux-image-4.19.0-8-amd64-dbg Architecture: amd64 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-amd64 +Description: Debug symbols for linux-image-4.19.0-8-amd64 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-amd64. + modules in linux-image-4.19.0-8-amd64. Build-Profiles: -Package: linux-image-4.19.0-7-cloud-amd64-unsigned +Package: linux-image-4.19.0-8-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, ${kernel:Recommends}, apparmor [amd64] Suggests: linux-doc-4.19, debian-kernel-handbook, grub-pc [amd64] | grub-efi-amd64 [amd64] | extlinux [amd64] -Replaces: linux-image-4.19.0-7-cloud-amd64 +Replaces: linux-image-4.19.0-8-cloud-amd64 Breaks: xserver-xorg-input-vmmouse (<< 1:13.0.99) [amd64], initramfs-tools (<< 0.120+deb8u2) -Conflicts: linux-image-4.19.0-7-cloud-amd64 +Conflicts: linux-image-4.19.0-8-cloud-amd64 Description: Linux 4.19 for x86-64 cloud The Linux kernel 4.19 and modules for use on Amazon EC2, Google Compute Engine and Microsoft Azure cloud platforms. Build-Profiles: -Package: linux-headers-4.19.0-7-cloud-amd64 +Package: linux-headers-4.19.0-8-cloud-amd64 Architecture: amd64 -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-x86 -Description: Header files for Linux 4.19.0-7-cloud-amd64 +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-x86 +Description: Header files for Linux 4.19.0-8-cloud-amd64 This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-cloud-amd64, generally used for building out-of-tree + Linux kernel 4.19.0-8-cloud-amd64, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-cloud-amd64, and can be used for building + /usr/src/linux-headers-4.19.0-8-cloud-amd64, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-cloud-amd64 package. + linux-image-4.19.0-8-cloud-amd64 package. Build-Profiles: -Package: linux-image-4.19.0-7-cloud-amd64-dbg +Package: linux-image-4.19.0-8-cloud-amd64-dbg Architecture: amd64 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-cloud-amd64 +Description: Debug symbols for linux-image-4.19.0-8-cloud-amd64 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-cloud-amd64. + modules in linux-image-4.19.0-8-cloud-amd64. Build-Profiles: -Package: linux-image-4.19.0-7-rt-amd64-unsigned +Package: linux-image-4.19.0-8-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, ${kernel:Recommends}, apparmor [amd64] Suggests: linux-doc-4.19, debian-kernel-handbook, grub-pc [amd64] | grub-efi-amd64 [amd64] | extlinux [amd64] -Replaces: linux-image-4.19.0-7-rt-amd64 +Replaces: linux-image-4.19.0-8-rt-amd64 Breaks: xserver-xorg-input-vmmouse (<< 1:13.0.99) [amd64], initramfs-tools (<< 0.120+deb8u2) -Conflicts: linux-image-4.19.0-7-rt-amd64 +Conflicts: linux-image-4.19.0-8-rt-amd64 Description: Linux 4.19 for 64-bit PCs, PREEMPT_RT The Linux kernel 4.19 and modules for use on PCs with AMD64, Intel 64 or VIA Nano processors. @@ -1577,38 +1577,38 @@ This kernel includes the PREEMPT_RT realtime patch set. Build-Profiles: -Package: linux-headers-4.19.0-7-rt-amd64 +Package: linux-headers-4.19.0-8-rt-amd64 Architecture: amd64 -Depends: linux-headers-4.19.0-7-common-rt (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-x86 -Description: Header files for Linux 4.19.0-7-rt-amd64 +Depends: linux-headers-4.19.0-8-common-rt (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-x86 +Description: Header files for Linux 4.19.0-8-rt-amd64 This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-rt-amd64, generally used for building out-of-tree + Linux kernel 4.19.0-8-rt-amd64, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-rt-amd64, and can be used for building + /usr/src/linux-headers-4.19.0-8-rt-amd64, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-rt-amd64 package. + linux-image-4.19.0-8-rt-amd64 package. Build-Profiles: -Package: linux-image-4.19.0-7-rt-amd64-dbg +Package: linux-image-4.19.0-8-rt-amd64-dbg Architecture: amd64 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-rt-amd64 +Description: Debug symbols for linux-image-4.19.0-8-rt-amd64 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-rt-amd64. + modules in linux-image-4.19.0-8-rt-amd64. Build-Profiles: -Package: linux-headers-4.19.0-7-all-arm64 +Package: linux-headers-4.19.0-8-all-arm64 Architecture: arm64 -Depends: ${misc:Depends}, linux-headers-4.19.0-7-arm64 (= ${binary:Version}), linux-headers-4.19.0-7-rt-arm64 (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-arm64 (= ${binary:Version}), linux-headers-4.19.0-8-rt-arm64 (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: kernel-image-4.19.0-7-arm64-di +Package: kernel-image-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: standard @@ -1618,494 +1618,494 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: nic-modules-4.19.0-7-arm64-di +Package: nic-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-4.19.0-7-arm64-di, nic-shared-modules-4.19.0-7-arm64-di, i2c-modules-4.19.0-7-arm64-di, crc-modules-4.19.0-7-arm64-di, mtd-core-modules-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di, nic-shared-modules-4.19.0-8-arm64-di, i2c-modules-4.19.0-8-arm64-di, crc-modules-4.19.0-8-arm64-di, mtd-core-modules-4.19.0-8-arm64-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: nic-wireless-modules-4.19.0-7-arm64-di +Package: nic-wireless-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-4.19.0-7-arm64-di, nic-shared-modules-4.19.0-7-arm64-di, usb-modules-4.19.0-7-arm64-di, crc-modules-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di, nic-shared-modules-4.19.0-8-arm64-di, usb-modules-4.19.0-8-arm64-di, crc-modules-4.19.0-8-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: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-arm64-di +Package: nic-shared-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: usb-serial-modules-4.19.0-7-arm64-di +Package: usb-serial-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-4.19.0-7-arm64-di, usb-modules-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di, usb-modules-4.19.0-8-arm64-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: ppp-modules-4.19.0-7-arm64-di +Package: ppp-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-4.19.0-7-arm64-di, crc-modules-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di, crc-modules-4.19.0-8-arm64-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: cdrom-core-modules-4.19.0-7-arm64-di +Package: cdrom-core-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-4.19.0-7-arm64-di, scsi-core-modules-4.19.0-7-arm64-di, isofs-modules-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di, scsi-core-modules-4.19.0-8-arm64-di, isofs-modules-4.19.0-8-arm64-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: scsi-core-modules-4.19.0-7-arm64-di +Package: scsi-core-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: scsi-modules-4.19.0-7-arm64-di +Package: scsi-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-4.19.0-7-arm64-di, scsi-core-modules-4.19.0-7-arm64-di, cdrom-core-modules-4.19.0-7-arm64-di, ata-modules-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di, scsi-core-modules-4.19.0-8-arm64-di, cdrom-core-modules-4.19.0-8-arm64-di, ata-modules-4.19.0-8-arm64-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: scsi-nic-modules-4.19.0-7-arm64-di +Package: scsi-nic-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-4.19.0-7-arm64-di, nic-modules-4.19.0-7-arm64-di +Depends: scsi-modules-4.19.0-8-arm64-di, nic-modules-4.19.0-8-arm64-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: loop-modules-4.19.0-7-arm64-di +Package: loop-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: btrfs-modules-4.19.0-7-arm64-di +Package: btrfs-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-arm64-di, crc-modules-4.19.0-7-arm64-di, compress-modules-4.19.0-7-arm64-di, md-modules-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di, crc-modules-4.19.0-8-arm64-di, compress-modules-4.19.0-8-arm64-di, md-modules-4.19.0-8-arm64-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: ext4-modules-4.19.0-7-arm64-di +Package: ext4-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-arm64-di, crc-modules-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di, crc-modules-4.19.0-8-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: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: isofs-modules-4.19.0-7-arm64-di +Package: isofs-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: jfs-modules-4.19.0-7-arm64-di +Package: jfs-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: xfs-modules-4.19.0-7-arm64-di +Package: xfs-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-4.19.0-7-arm64-di, crc-modules-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di, crc-modules-4.19.0-8-arm64-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: fat-modules-4.19.0-7-arm64-di +Package: fat-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: md-modules-4.19.0-7-arm64-di +Package: md-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-arm64-di, crc-modules-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di, crc-modules-4.19.0-8-arm64-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: multipath-modules-4.19.0-7-arm64-di +Package: multipath-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-arm64-di, md-modules-4.19.0-7-arm64-di, scsi-core-modules-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di, md-modules-4.19.0-8-arm64-di, scsi-core-modules-4.19.0-8-arm64-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: usb-modules-4.19.0-7-arm64-di +Package: usb-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: usb-storage-modules-4.19.0-7-arm64-di +Package: usb-storage-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-4.19.0-7-arm64-di, scsi-core-modules-4.19.0-7-arm64-di, usb-modules-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di, scsi-core-modules-4.19.0-8-arm64-di, usb-modules-4.19.0-8-arm64-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: fb-modules-4.19.0-7-arm64-di +Package: fb-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-4.19.0-7-arm64-di, i2c-modules-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di, i2c-modules-4.19.0-8-arm64-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: input-modules-4.19.0-7-arm64-di +Package: input-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-4.19.0-7-arm64-di, usb-modules-4.19.0-7-arm64-di, i2c-modules-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di, usb-modules-4.19.0-8-arm64-di, i2c-modules-4.19.0-8-arm64-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: event-modules-4.19.0-7-arm64-di +Package: event-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: nic-usb-modules-4.19.0-7-arm64-di +Package: nic-usb-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-4.19.0-7-arm64-di, nic-shared-modules-4.19.0-7-arm64-di, nic-wireless-modules-4.19.0-7-arm64-di, usb-modules-4.19.0-7-arm64-di, crc-modules-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di, nic-shared-modules-4.19.0-8-arm64-di, nic-wireless-modules-4.19.0-8-arm64-di, usb-modules-4.19.0-8-arm64-di, crc-modules-4.19.0-8-arm64-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: sata-modules-4.19.0-7-arm64-di +Package: sata-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-4.19.0-7-arm64-di, scsi-core-modules-4.19.0-7-arm64-di, ata-modules-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di, scsi-core-modules-4.19.0-8-arm64-di, ata-modules-4.19.0-8-arm64-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: i2c-modules-4.19.0-7-arm64-di +Package: i2c-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: crc-modules-4.19.0-7-arm64-di +Package: crc-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: crypto-modules-4.19.0-7-arm64-di +Package: crypto-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-arm64-di +Package: crypto-dm-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-arm64-di, md-modules-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di, md-modules-4.19.0-8-arm64-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: efi-modules-4.19.0-7-arm64-di +Package: efi-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: efi-modules -Depends: kernel-image-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di Description: EFI modules This package contains EFI modules. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: ata-modules-4.19.0-7-arm64-di +Package: ata-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-4.19.0-7-arm64-di, scsi-core-modules-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di, scsi-core-modules-4.19.0-8-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: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: mmc-modules-4.19.0-7-arm64-di +Package: mmc-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: mmc-modules -Depends: kernel-image-4.19.0-7-arm64-di, usb-modules-4.19.0-7-arm64-di, crc-modules-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di, usb-modules-4.19.0-8-arm64-di, crc-modules-4.19.0-8-arm64-di Description: MMC/SD card modules This package contains modules needed to support MMC (multimedia) and SD cards. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: nbd-modules-4.19.0-7-arm64-di +Package: nbd-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: squashfs-modules-4.19.0-7-arm64-di +Package: squashfs-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-arm64-di, compress-modules-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di, compress-modules-4.19.0-8-arm64-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: uinput-modules-4.19.0-7-arm64-di +Package: uinput-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: uinput-modules -Depends: kernel-image-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di Description: uinput support This package contains the uinput module. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: compress-modules-4.19.0-7-arm64-di +Package: compress-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: leds-modules-4.19.0-7-arm64-di +Package: leds-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: leds-modules -Depends: kernel-image-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di Description: LED modules This package contains LED modules. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: udf-modules-4.19.0-7-arm64-di +Package: udf-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-arm64-di, crc-modules-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di, crc-modules-4.19.0-8-arm64-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: fuse-modules-4.19.0-7-arm64-di +Package: fuse-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb -Package: mtd-core-modules-4.19.0-7-arm64-di +Package: mtd-core-modules-4.19.0-8-arm64-di Architecture: arm64 Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-4.19.0-7-arm64-di +Depends: kernel-image-4.19.0-8-arm64-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 4.19.0-7-arm64 +Kernel-Version: 4.19.0-8-arm64 Package-Type: udeb Package: linux-image-arm64-signed-template @@ -2116,86 +2116,86 @@ service. Build-Profiles: -Package: linux-image-4.19.0-7-arm64-unsigned +Package: linux-image-4.19.0-8-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, ${kernel:Recommends}, apparmor [arm64] Suggests: linux-doc-4.19, debian-kernel-handbook -Replaces: linux-image-4.19.0-7-arm64 +Replaces: linux-image-4.19.0-8-arm64 Breaks: libmozjs185-1.0 [arm64], libmozjs-24-0 (<< 24.2.0-5.1~) [arm64], initramfs-tools (<< 0.120+deb8u2) -Conflicts: linux-image-4.19.0-7-arm64 +Conflicts: linux-image-4.19.0-8-arm64 Description: Linux 4.19 for 64-bit ARMv8 machines The Linux kernel 4.19 and modules for use on 64-bit ARMv8 machines. Build-Profiles: -Package: linux-headers-4.19.0-7-arm64 +Package: linux-headers-4.19.0-8-arm64 Architecture: arm64 -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-arm64 +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-arm64 This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-arm64, generally used for building out-of-tree + Linux kernel 4.19.0-8-arm64, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-arm64, and can be used for building + /usr/src/linux-headers-4.19.0-8-arm64, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-arm64 package. + linux-image-4.19.0-8-arm64 package. Build-Profiles: -Package: linux-image-4.19.0-7-arm64-dbg +Package: linux-image-4.19.0-8-arm64-dbg Architecture: arm64 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-arm64 +Description: Debug symbols for linux-image-4.19.0-8-arm64 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-arm64. + modules in linux-image-4.19.0-8-arm64. Build-Profiles: -Package: linux-image-4.19.0-7-rt-arm64-unsigned +Package: linux-image-4.19.0-8-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, ${kernel:Recommends}, apparmor [arm64] Suggests: linux-doc-4.19, debian-kernel-handbook -Replaces: linux-image-4.19.0-7-rt-arm64 +Replaces: linux-image-4.19.0-8-rt-arm64 Breaks: libmozjs185-1.0 [arm64], libmozjs-24-0 (<< 24.2.0-5.1~) [arm64], initramfs-tools (<< 0.120+deb8u2) -Conflicts: linux-image-4.19.0-7-rt-arm64 +Conflicts: linux-image-4.19.0-8-rt-arm64 Description: Linux 4.19 for 64-bit ARMv8 machines, PREEMPT_RT The Linux kernel 4.19 and modules for use on 64-bit ARMv8 machines. . This kernel includes the PREEMPT_RT realtime patch set. Build-Profiles: -Package: linux-headers-4.19.0-7-rt-arm64 +Package: linux-headers-4.19.0-8-rt-arm64 Architecture: arm64 -Depends: linux-headers-4.19.0-7-common-rt (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-rt-arm64 +Depends: linux-headers-4.19.0-8-common-rt (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-rt-arm64 This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-rt-arm64, generally used for building out-of-tree + Linux kernel 4.19.0-8-rt-arm64, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-rt-arm64, and can be used for building + /usr/src/linux-headers-4.19.0-8-rt-arm64, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-rt-arm64 package. + linux-image-4.19.0-8-rt-arm64 package. Build-Profiles: -Package: linux-image-4.19.0-7-rt-arm64-dbg +Package: linux-image-4.19.0-8-rt-arm64-dbg Architecture: arm64 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-rt-arm64 +Description: Debug symbols for linux-image-4.19.0-8-rt-arm64 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-rt-arm64. + modules in linux-image-4.19.0-8-rt-arm64. Build-Profiles: -Package: linux-headers-4.19.0-7-all-armel +Package: linux-headers-4.19.0-8-all-armel Architecture: armel -Depends: ${misc:Depends}, linux-headers-4.19.0-7-marvell (= ${binary:Version}), linux-headers-4.19.0-7-rpi (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-marvell (= ${binary:Version}), linux-headers-4.19.0-8-rpi (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: kernel-image-4.19.0-7-marvell-di +Package: kernel-image-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: standard @@ -2205,497 +2205,497 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: nic-modules-4.19.0-7-marvell-di +Package: nic-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-4.19.0-7-marvell-di, nic-shared-modules-4.19.0-7-marvell-di, crc-modules-4.19.0-7-marvell-di, zlib-modules-4.19.0-7-marvell-di, mtd-core-modules-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di, nic-shared-modules-4.19.0-8-marvell-di, crc-modules-4.19.0-8-marvell-di, zlib-modules-4.19.0-8-marvell-di, mtd-core-modules-4.19.0-8-marvell-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-marvell-di +Package: nic-shared-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: usb-serial-modules-4.19.0-7-marvell-di +Package: usb-serial-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-4.19.0-7-marvell-di, usb-modules-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di, usb-modules-4.19.0-8-marvell-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: ppp-modules-4.19.0-7-marvell-di +Package: ppp-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-4.19.0-7-marvell-di, zlib-modules-4.19.0-7-marvell-di, crc-modules-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di, zlib-modules-4.19.0-8-marvell-di, crc-modules-4.19.0-8-marvell-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: cdrom-core-modules-4.19.0-7-marvell-di +Package: cdrom-core-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-4.19.0-7-marvell-di, scsi-core-modules-4.19.0-7-marvell-di, isofs-modules-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di, scsi-core-modules-4.19.0-8-marvell-di, isofs-modules-4.19.0-8-marvell-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: scsi-core-modules-4.19.0-7-marvell-di +Package: scsi-core-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: loop-modules-4.19.0-7-marvell-di +Package: loop-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: ipv6-modules-4.19.0-7-marvell-di +Package: ipv6-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: ipv6-modules -Depends: kernel-image-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di Description: IPv6 driver This package contains the IPv6 driver for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: btrfs-modules-4.19.0-7-marvell-di +Package: btrfs-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-marvell-di, crc-modules-4.19.0-7-marvell-di, zlib-modules-4.19.0-7-marvell-di, compress-modules-4.19.0-7-marvell-di, md-modules-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di, crc-modules-4.19.0-8-marvell-di, zlib-modules-4.19.0-8-marvell-di, compress-modules-4.19.0-8-marvell-di, md-modules-4.19.0-8-marvell-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: ext4-modules-4.19.0-7-marvell-di +Package: ext4-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-marvell-di, crc-modules-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di, crc-modules-4.19.0-8-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: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: isofs-modules-4.19.0-7-marvell-di +Package: isofs-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: jffs2-modules-4.19.0-7-marvell-di +Package: jffs2-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: jffs2-modules -Depends: kernel-image-4.19.0-7-marvell-di, zlib-modules-4.19.0-7-marvell-di, compress-modules-4.19.0-7-marvell-di, mtd-modules-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di, zlib-modules-4.19.0-8-marvell-di, compress-modules-4.19.0-8-marvell-di, mtd-modules-4.19.0-8-marvell-di Description: JFFS2 filesystem support This package contains the JFFS2 filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: jfs-modules-4.19.0-7-marvell-di +Package: jfs-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: fat-modules-4.19.0-7-marvell-di +Package: fat-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: minix-modules-4.19.0-7-marvell-di +Package: minix-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: minix-modules -Depends: kernel-image-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di Description: Minix filesystem support This package contains the Minix filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: md-modules-4.19.0-7-marvell-di +Package: md-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-marvell-di, crc-modules-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di, crc-modules-4.19.0-8-marvell-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: multipath-modules-4.19.0-7-marvell-di +Package: multipath-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-marvell-di, md-modules-4.19.0-7-marvell-di, scsi-core-modules-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di, md-modules-4.19.0-8-marvell-di, scsi-core-modules-4.19.0-8-marvell-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: usb-modules-4.19.0-7-marvell-di +Package: usb-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: usb-storage-modules-4.19.0-7-marvell-di +Package: usb-storage-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-4.19.0-7-marvell-di, scsi-core-modules-4.19.0-7-marvell-di, usb-modules-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di, scsi-core-modules-4.19.0-8-marvell-di, usb-modules-4.19.0-8-marvell-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: fb-modules-4.19.0-7-marvell-di +Package: fb-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-4.19.0-7-marvell-di, usb-modules-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di, usb-modules-4.19.0-8-marvell-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: input-modules-4.19.0-7-marvell-di +Package: input-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-4.19.0-7-marvell-di, usb-modules-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di, usb-modules-4.19.0-8-marvell-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: event-modules-4.19.0-7-marvell-di +Package: event-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: mouse-modules-4.19.0-7-marvell-di +Package: mouse-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-4.19.0-7-marvell-di, event-modules-4.19.0-7-marvell-di, input-modules-4.19.0-7-marvell-di, usb-modules-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di, event-modules-4.19.0-8-marvell-di, input-modules-4.19.0-8-marvell-di, usb-modules-4.19.0-8-marvell-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: nic-usb-modules-4.19.0-7-marvell-di +Package: nic-usb-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-4.19.0-7-marvell-di, nic-shared-modules-4.19.0-7-marvell-di, usb-modules-4.19.0-7-marvell-di, crc-modules-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di, nic-shared-modules-4.19.0-8-marvell-di, usb-modules-4.19.0-8-marvell-di, crc-modules-4.19.0-8-marvell-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: sata-modules-4.19.0-7-marvell-di +Package: sata-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-4.19.0-7-marvell-di, scsi-core-modules-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di, scsi-core-modules-4.19.0-8-marvell-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: crc-modules-4.19.0-7-marvell-di +Package: crc-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: crypto-modules-4.19.0-7-marvell-di +Package: crypto-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-marvell-di +Package: crypto-dm-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-marvell-di, md-modules-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di, md-modules-4.19.0-8-marvell-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: mmc-core-modules-4.19.0-7-marvell-di +Package: mmc-core-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: mmc-core-modules -Depends: kernel-image-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di Description: MMC/SD/SDIO core modules This package contains core modules for MMC/SD/SDIO support. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: mmc-modules-4.19.0-7-marvell-di +Package: mmc-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: mmc-modules -Depends: kernel-image-4.19.0-7-marvell-di, mmc-core-modules-4.19.0-7-marvell-di, usb-modules-4.19.0-7-marvell-di, crc-modules-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di, mmc-core-modules-4.19.0-8-marvell-di, usb-modules-4.19.0-8-marvell-di, crc-modules-4.19.0-8-marvell-di Description: MMC/SD card modules This package contains modules needed to support MMC (multimedia) and SD cards. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: nbd-modules-4.19.0-7-marvell-di +Package: nbd-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: squashfs-modules-4.19.0-7-marvell-di +Package: squashfs-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-marvell-di, compress-modules-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di, compress-modules-4.19.0-8-marvell-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: uinput-modules-4.19.0-7-marvell-di +Package: uinput-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: uinput-modules -Depends: kernel-image-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di Description: uinput support This package contains the uinput module. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: zlib-modules-4.19.0-7-marvell-di +Package: zlib-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: zlib-modules -Depends: kernel-image-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di Description: zlib modules This package contains zlib modules. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: compress-modules-4.19.0-7-marvell-di +Package: compress-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: leds-modules-4.19.0-7-marvell-di +Package: leds-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: leds-modules -Depends: kernel-image-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di Description: LED modules This package contains LED modules. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: udf-modules-4.19.0-7-marvell-di +Package: udf-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-marvell-di, crc-modules-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di, crc-modules-4.19.0-8-marvell-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: fuse-modules-4.19.0-7-marvell-di +Package: fuse-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: mtd-modules-4.19.0-7-marvell-di +Package: mtd-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: mtd-modules -Depends: kernel-image-4.19.0-7-marvell-di, mtd-core-modules-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di, mtd-core-modules-4.19.0-8-marvell-di Description: MTD driver modules This package contains MTD driver modules. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: mtd-core-modules-4.19.0-7-marvell-di +Package: mtd-core-modules-4.19.0-8-marvell-di Architecture: armel Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-4.19.0-7-marvell-di +Depends: kernel-image-4.19.0-8-marvell-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 4.19.0-7-marvell +Kernel-Version: 4.19.0-8-marvell Package-Type: udeb -Package: linux-image-4.19.0-7-marvell +Package: linux-image-4.19.0-8-marvell Architecture: armel -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [armel] | linux-initramfs-tool [armel] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [armel] | linux-initramfs-tool [armel] Recommends: firmware-linux-free, ${kernel:Recommends}, u-boot-tools [armel], apparmor [armel] Suggests: linux-doc-4.19, debian-kernel-handbook Breaks: flash-kernel (<< 3.57~) [armel], initramfs-tools (<< 0.120+deb8u2) @@ -2704,31 +2704,31 @@ based systems (https://wiki.debian.org/ArmEabiPort#Supported_hardware). Build-Profiles: -Package: linux-headers-4.19.0-7-marvell +Package: linux-headers-4.19.0-8-marvell Architecture: armel -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-arm -Description: Header files for Linux 4.19.0-7-marvell +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-arm +Description: Header files for Linux 4.19.0-8-marvell This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-marvell, generally used for building out-of-tree + Linux kernel 4.19.0-8-marvell, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-marvell, and can be used for building + /usr/src/linux-headers-4.19.0-8-marvell, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-marvell package. + linux-image-4.19.0-8-marvell package. Build-Profiles: -Package: linux-image-4.19.0-7-marvell-dbg +Package: linux-image-4.19.0-8-marvell-dbg Architecture: armel Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-marvell +Description: Debug symbols for linux-image-4.19.0-8-marvell This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-marvell. + modules in linux-image-4.19.0-8-marvell. Build-Profiles: -Package: linux-image-4.19.0-7-rpi +Package: linux-image-4.19.0-8-rpi Architecture: armel -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [armel] | linux-initramfs-tool [armel] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [armel] | linux-initramfs-tool [armel] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [armel] Suggests: linux-doc-4.19, debian-kernel-handbook Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -2737,38 +2737,38 @@ Zero based systems. Build-Profiles: -Package: linux-headers-4.19.0-7-rpi +Package: linux-headers-4.19.0-8-rpi Architecture: armel -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-arm -Description: Header files for Linux 4.19.0-7-rpi +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-arm +Description: Header files for Linux 4.19.0-8-rpi This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-rpi, generally used for building out-of-tree kernel + Linux kernel 4.19.0-8-rpi, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-rpi, and can be used for building modules - that load into the kernel provided by the linux-image-4.19.0-7-rpi + /usr/src/linux-headers-4.19.0-8-rpi, and can be used for building modules + that load into the kernel provided by the linux-image-4.19.0-8-rpi package. Build-Profiles: -Package: linux-image-4.19.0-7-rpi-dbg +Package: linux-image-4.19.0-8-rpi-dbg Architecture: armel Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-rpi +Description: Debug symbols for linux-image-4.19.0-8-rpi This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-rpi. + modules in linux-image-4.19.0-8-rpi. Build-Profiles: -Package: linux-headers-4.19.0-7-all-armhf +Package: linux-headers-4.19.0-8-all-armhf Architecture: armhf -Depends: ${misc:Depends}, linux-headers-4.19.0-7-armmp (= ${binary:Version}), linux-headers-4.19.0-7-armmp-lpae (= ${binary:Version}), linux-headers-4.19.0-7-rt-armmp (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-armmp (= ${binary:Version}), linux-headers-4.19.0-8-armmp-lpae (= ${binary:Version}), linux-headers-4.19.0-8-rt-armmp (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: kernel-image-4.19.0-7-armmp-di +Package: kernel-image-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: standard @@ -2778,511 +2778,511 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: nic-modules-4.19.0-7-armmp-di +Package: nic-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-4.19.0-7-armmp-di, nic-shared-modules-4.19.0-7-armmp-di, i2c-modules-4.19.0-7-armmp-di, crc-modules-4.19.0-7-armmp-di, zlib-modules-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di, nic-shared-modules-4.19.0-8-armmp-di, i2c-modules-4.19.0-8-armmp-di, crc-modules-4.19.0-8-armmp-di, zlib-modules-4.19.0-8-armmp-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: nic-wireless-modules-4.19.0-7-armmp-di +Package: nic-wireless-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-4.19.0-7-armmp-di, nic-shared-modules-4.19.0-7-armmp-di, usb-modules-4.19.0-7-armmp-di, crc-modules-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di, nic-shared-modules-4.19.0-8-armmp-di, usb-modules-4.19.0-8-armmp-di, crc-modules-4.19.0-8-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: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-armmp-di +Package: nic-shared-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: usb-serial-modules-4.19.0-7-armmp-di +Package: usb-serial-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-4.19.0-7-armmp-di, usb-modules-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di, usb-modules-4.19.0-8-armmp-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: ppp-modules-4.19.0-7-armmp-di +Package: ppp-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-4.19.0-7-armmp-di, zlib-modules-4.19.0-7-armmp-di, crc-modules-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di, zlib-modules-4.19.0-8-armmp-di, crc-modules-4.19.0-8-armmp-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: pata-modules-4.19.0-7-armmp-di +Package: pata-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: pata-modules -Depends: kernel-image-4.19.0-7-armmp-di, ata-modules-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di, ata-modules-4.19.0-8-armmp-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: cdrom-core-modules-4.19.0-7-armmp-di +Package: cdrom-core-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-4.19.0-7-armmp-di, scsi-core-modules-4.19.0-7-armmp-di, isofs-modules-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di, scsi-core-modules-4.19.0-8-armmp-di, isofs-modules-4.19.0-8-armmp-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: scsi-core-modules-4.19.0-7-armmp-di +Package: scsi-core-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: scsi-modules-4.19.0-7-armmp-di +Package: scsi-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-4.19.0-7-armmp-di, scsi-core-modules-4.19.0-7-armmp-di, cdrom-core-modules-4.19.0-7-armmp-di, ata-modules-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di, scsi-core-modules-4.19.0-8-armmp-di, cdrom-core-modules-4.19.0-8-armmp-di, ata-modules-4.19.0-8-armmp-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: scsi-nic-modules-4.19.0-7-armmp-di +Package: scsi-nic-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-4.19.0-7-armmp-di, nic-modules-4.19.0-7-armmp-di +Depends: scsi-modules-4.19.0-8-armmp-di, nic-modules-4.19.0-8-armmp-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: loop-modules-4.19.0-7-armmp-di +Package: loop-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: btrfs-modules-4.19.0-7-armmp-di +Package: btrfs-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-armmp-di, crc-modules-4.19.0-7-armmp-di, zlib-modules-4.19.0-7-armmp-di, compress-modules-4.19.0-7-armmp-di, md-modules-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di, crc-modules-4.19.0-8-armmp-di, zlib-modules-4.19.0-8-armmp-di, compress-modules-4.19.0-8-armmp-di, md-modules-4.19.0-8-armmp-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: ext4-modules-4.19.0-7-armmp-di +Package: ext4-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-armmp-di, crc-modules-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di, crc-modules-4.19.0-8-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: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: isofs-modules-4.19.0-7-armmp-di +Package: isofs-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: jfs-modules-4.19.0-7-armmp-di +Package: jfs-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: fat-modules-4.19.0-7-armmp-di +Package: fat-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: md-modules-4.19.0-7-armmp-di +Package: md-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-armmp-di, crc-modules-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di, crc-modules-4.19.0-8-armmp-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: multipath-modules-4.19.0-7-armmp-di +Package: multipath-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-armmp-di, md-modules-4.19.0-7-armmp-di, scsi-core-modules-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di, md-modules-4.19.0-8-armmp-di, scsi-core-modules-4.19.0-8-armmp-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: usb-modules-4.19.0-7-armmp-di +Package: usb-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: usb-storage-modules-4.19.0-7-armmp-di +Package: usb-storage-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-4.19.0-7-armmp-di, scsi-core-modules-4.19.0-7-armmp-di, usb-modules-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di, scsi-core-modules-4.19.0-8-armmp-di, usb-modules-4.19.0-8-armmp-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: fb-modules-4.19.0-7-armmp-di +Package: fb-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-4.19.0-7-armmp-di, i2c-modules-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di, i2c-modules-4.19.0-8-armmp-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: input-modules-4.19.0-7-armmp-di +Package: input-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-4.19.0-7-armmp-di, usb-modules-4.19.0-7-armmp-di, i2c-modules-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di, usb-modules-4.19.0-8-armmp-di, i2c-modules-4.19.0-8-armmp-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: event-modules-4.19.0-7-armmp-di +Package: event-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: nic-usb-modules-4.19.0-7-armmp-di +Package: nic-usb-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-4.19.0-7-armmp-di, nic-shared-modules-4.19.0-7-armmp-di, nic-wireless-modules-4.19.0-7-armmp-di, usb-modules-4.19.0-7-armmp-di, crc-modules-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di, nic-shared-modules-4.19.0-8-armmp-di, nic-wireless-modules-4.19.0-8-armmp-di, usb-modules-4.19.0-8-armmp-di, crc-modules-4.19.0-8-armmp-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: sata-modules-4.19.0-7-armmp-di +Package: sata-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-4.19.0-7-armmp-di, scsi-core-modules-4.19.0-7-armmp-di, ata-modules-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di, scsi-core-modules-4.19.0-8-armmp-di, ata-modules-4.19.0-8-armmp-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: i2c-modules-4.19.0-7-armmp-di +Package: i2c-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: crc-modules-4.19.0-7-armmp-di +Package: crc-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: crypto-modules-4.19.0-7-armmp-di +Package: crypto-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-armmp-di +Package: crypto-dm-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-armmp-di, md-modules-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di, md-modules-4.19.0-8-armmp-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: efi-modules-4.19.0-7-armmp-di +Package: efi-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: efi-modules -Depends: kernel-image-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di Description: EFI modules This package contains EFI modules. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: ata-modules-4.19.0-7-armmp-di +Package: ata-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-4.19.0-7-armmp-di, scsi-core-modules-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di, scsi-core-modules-4.19.0-8-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: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: mmc-modules-4.19.0-7-armmp-di +Package: mmc-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: mmc-modules -Depends: kernel-image-4.19.0-7-armmp-di, usb-modules-4.19.0-7-armmp-di, crc-modules-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di, usb-modules-4.19.0-8-armmp-di, crc-modules-4.19.0-8-armmp-di Description: MMC/SD card modules This package contains modules needed to support MMC (multimedia) and SD cards. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: nbd-modules-4.19.0-7-armmp-di +Package: nbd-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: squashfs-modules-4.19.0-7-armmp-di +Package: squashfs-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-armmp-di, compress-modules-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di, compress-modules-4.19.0-8-armmp-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: uinput-modules-4.19.0-7-armmp-di +Package: uinput-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: uinput-modules -Depends: kernel-image-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di Description: uinput support This package contains the uinput module. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: zlib-modules-4.19.0-7-armmp-di +Package: zlib-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: zlib-modules -Depends: kernel-image-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di Description: zlib modules This package contains zlib modules. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: compress-modules-4.19.0-7-armmp-di +Package: compress-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: leds-modules-4.19.0-7-armmp-di +Package: leds-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: leds-modules -Depends: kernel-image-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di Description: LED modules This package contains LED modules. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: udf-modules-4.19.0-7-armmp-di +Package: udf-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-armmp-di, crc-modules-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di, crc-modules-4.19.0-8-armmp-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: fuse-modules-4.19.0-7-armmp-di +Package: fuse-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: mtd-modules-4.19.0-7-armmp-di +Package: mtd-modules-4.19.0-8-armmp-di Architecture: armhf Section: debian-installer Priority: optional Provides: mtd-modules -Depends: kernel-image-4.19.0-7-armmp-di +Depends: kernel-image-4.19.0-8-armmp-di Description: MTD driver modules This package contains MTD driver modules. Build-Profiles: -Kernel-Version: 4.19.0-7-armmp +Kernel-Version: 4.19.0-8-armmp Package-Type: udeb -Package: linux-image-4.19.0-7-armmp +Package: linux-image-4.19.0-8-armmp Architecture: armhf -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [armhf] | linux-initramfs-tool [armhf] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [armhf] | linux-initramfs-tool [armhf] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [armhf] Suggests: linux-doc-4.19, debian-kernel-handbook Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -3292,31 +3292,31 @@ platforms. Build-Profiles: -Package: linux-headers-4.19.0-7-armmp +Package: linux-headers-4.19.0-8-armmp Architecture: armhf -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-arm -Description: Header files for Linux 4.19.0-7-armmp +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-arm +Description: Header files for Linux 4.19.0-8-armmp This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-armmp, generally used for building out-of-tree + Linux kernel 4.19.0-8-armmp, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-armmp, and can be used for building + /usr/src/linux-headers-4.19.0-8-armmp, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-armmp package. + linux-image-4.19.0-8-armmp package. Build-Profiles: -Package: linux-image-4.19.0-7-armmp-dbg +Package: linux-image-4.19.0-8-armmp-dbg Architecture: armhf Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-armmp +Description: Debug symbols for linux-image-4.19.0-8-armmp This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-armmp. + modules in linux-image-4.19.0-8-armmp. Build-Profiles: -Package: linux-image-4.19.0-7-armmp-lpae +Package: linux-image-4.19.0-8-armmp-lpae Architecture: armhf -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [armhf] | linux-initramfs-tool [armhf] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [armhf] | linux-initramfs-tool [armhf] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [armhf] Suggests: linux-doc-4.19, debian-kernel-handbook Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -3326,31 +3326,31 @@ details of supported platforms.. Build-Profiles: -Package: linux-headers-4.19.0-7-armmp-lpae +Package: linux-headers-4.19.0-8-armmp-lpae Architecture: armhf -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-arm -Description: Header files for Linux 4.19.0-7-armmp-lpae +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-arm +Description: Header files for Linux 4.19.0-8-armmp-lpae This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-armmp-lpae, generally used for building out-of-tree + Linux kernel 4.19.0-8-armmp-lpae, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-armmp-lpae, and can be used for building + /usr/src/linux-headers-4.19.0-8-armmp-lpae, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-armmp-lpae package. + linux-image-4.19.0-8-armmp-lpae package. Build-Profiles: -Package: linux-image-4.19.0-7-armmp-lpae-dbg +Package: linux-image-4.19.0-8-armmp-lpae-dbg Architecture: armhf Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-armmp-lpae +Description: Debug symbols for linux-image-4.19.0-8-armmp-lpae This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-armmp-lpae. + modules in linux-image-4.19.0-8-armmp-lpae. Build-Profiles: -Package: linux-image-4.19.0-7-rt-armmp +Package: linux-image-4.19.0-8-rt-armmp Architecture: armhf -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [armhf] | linux-initramfs-tool [armhf] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [armhf] | linux-initramfs-tool [armhf] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [armhf] Suggests: linux-doc-4.19, debian-kernel-handbook Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -3362,38 +3362,38 @@ This kernel includes the PREEMPT_RT realtime patch set. Build-Profiles: -Package: linux-headers-4.19.0-7-rt-armmp +Package: linux-headers-4.19.0-8-rt-armmp Architecture: armhf -Depends: linux-headers-4.19.0-7-common-rt (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-arm -Description: Header files for Linux 4.19.0-7-rt-armmp +Depends: linux-headers-4.19.0-8-common-rt (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-arm +Description: Header files for Linux 4.19.0-8-rt-armmp This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-rt-armmp, generally used for building out-of-tree + Linux kernel 4.19.0-8-rt-armmp, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-rt-armmp, and can be used for building + /usr/src/linux-headers-4.19.0-8-rt-armmp, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-rt-armmp package. + linux-image-4.19.0-8-rt-armmp package. Build-Profiles: -Package: linux-image-4.19.0-7-rt-armmp-dbg +Package: linux-image-4.19.0-8-rt-armmp-dbg Architecture: armhf Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-rt-armmp +Description: Debug symbols for linux-image-4.19.0-8-rt-armmp This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-rt-armmp. + modules in linux-image-4.19.0-8-rt-armmp. Build-Profiles: -Package: linux-headers-4.19.0-7-all-hppa +Package: linux-headers-4.19.0-8-all-hppa Architecture: hppa -Depends: ${misc:Depends}, linux-headers-4.19.0-7-parisc (= ${binary:Version}), linux-headers-4.19.0-7-parisc-smp (= ${binary:Version}), linux-headers-4.19.0-7-parisc64-smp (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-parisc (= ${binary:Version}), linux-headers-4.19.0-8-parisc-smp (= ${binary:Version}), linux-headers-4.19.0-8-parisc64-smp (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: kernel-image-4.19.0-7-parisc-di +Package: kernel-image-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: standard @@ -3403,423 +3403,423 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: nic-modules-4.19.0-7-parisc-di +Package: nic-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-4.19.0-7-parisc-di, nic-shared-modules-4.19.0-7-parisc-di, crc-modules-4.19.0-7-parisc-di, zlib-modules-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di, nic-shared-modules-4.19.0-8-parisc-di, crc-modules-4.19.0-8-parisc-di, zlib-modules-4.19.0-8-parisc-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-parisc-di +Package: nic-shared-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: serial-modules-4.19.0-7-parisc-di +Package: serial-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: serial-modules -Depends: kernel-image-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di Description: Serial drivers This package contains serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: usb-serial-modules-4.19.0-7-parisc-di +Package: usb-serial-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-4.19.0-7-parisc-di, usb-modules-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di, usb-modules-4.19.0-8-parisc-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: ppp-modules-4.19.0-7-parisc-di +Package: ppp-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-4.19.0-7-parisc-di, serial-modules-4.19.0-7-parisc-di, zlib-modules-4.19.0-7-parisc-di, crc-modules-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di, serial-modules-4.19.0-8-parisc-di, zlib-modules-4.19.0-8-parisc-di, crc-modules-4.19.0-8-parisc-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: pata-modules-4.19.0-7-parisc-di +Package: pata-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-4.19.0-7-parisc-di, ata-modules-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di, ata-modules-4.19.0-8-parisc-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: cdrom-core-modules-4.19.0-7-parisc-di +Package: cdrom-core-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-4.19.0-7-parisc-di, scsi-core-modules-4.19.0-7-parisc-di, isofs-modules-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di, scsi-core-modules-4.19.0-8-parisc-di, isofs-modules-4.19.0-8-parisc-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: scsi-core-modules-4.19.0-7-parisc-di +Package: scsi-core-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: scsi-modules-4.19.0-7-parisc-di +Package: scsi-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-4.19.0-7-parisc-di, scsi-core-modules-4.19.0-7-parisc-di, cdrom-core-modules-4.19.0-7-parisc-di, ata-modules-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di, scsi-core-modules-4.19.0-8-parisc-di, cdrom-core-modules-4.19.0-8-parisc-di, ata-modules-4.19.0-8-parisc-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: loop-modules-4.19.0-7-parisc-di +Package: loop-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: btrfs-modules-4.19.0-7-parisc-di +Package: btrfs-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-parisc-di, crc-modules-4.19.0-7-parisc-di, zlib-modules-4.19.0-7-parisc-di, compress-modules-4.19.0-7-parisc-di, md-modules-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di, crc-modules-4.19.0-8-parisc-di, zlib-modules-4.19.0-8-parisc-di, compress-modules-4.19.0-8-parisc-di, md-modules-4.19.0-8-parisc-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: ext4-modules-4.19.0-7-parisc-di +Package: ext4-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-parisc-di, crc-modules-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di, crc-modules-4.19.0-8-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: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: isofs-modules-4.19.0-7-parisc-di +Package: isofs-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: jfs-modules-4.19.0-7-parisc-di +Package: jfs-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: xfs-modules-4.19.0-7-parisc-di +Package: xfs-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-4.19.0-7-parisc-di, crc-modules-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di, crc-modules-4.19.0-8-parisc-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: fat-modules-4.19.0-7-parisc-di +Package: fat-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: md-modules-4.19.0-7-parisc-di +Package: md-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-parisc-di, crc-modules-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di, crc-modules-4.19.0-8-parisc-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: multipath-modules-4.19.0-7-parisc-di +Package: multipath-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-parisc-di, md-modules-4.19.0-7-parisc-di, scsi-core-modules-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di, md-modules-4.19.0-8-parisc-di, scsi-core-modules-4.19.0-8-parisc-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: usb-modules-4.19.0-7-parisc-di +Package: usb-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: usb-storage-modules-4.19.0-7-parisc-di +Package: usb-storage-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-4.19.0-7-parisc-di, scsi-core-modules-4.19.0-7-parisc-di, usb-modules-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di, scsi-core-modules-4.19.0-8-parisc-di, usb-modules-4.19.0-8-parisc-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: input-modules-4.19.0-7-parisc-di +Package: input-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-4.19.0-7-parisc-di, usb-modules-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di, usb-modules-4.19.0-8-parisc-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: event-modules-4.19.0-7-parisc-di +Package: event-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: mouse-modules-4.19.0-7-parisc-di +Package: mouse-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-4.19.0-7-parisc-di, event-modules-4.19.0-7-parisc-di, input-modules-4.19.0-7-parisc-di, usb-modules-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di, event-modules-4.19.0-8-parisc-di, input-modules-4.19.0-8-parisc-di, usb-modules-4.19.0-8-parisc-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: nic-usb-modules-4.19.0-7-parisc-di +Package: nic-usb-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-4.19.0-7-parisc-di, nic-shared-modules-4.19.0-7-parisc-di, usb-modules-4.19.0-7-parisc-di, crc-modules-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di, nic-shared-modules-4.19.0-8-parisc-di, usb-modules-4.19.0-8-parisc-di, crc-modules-4.19.0-8-parisc-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: sata-modules-4.19.0-7-parisc-di +Package: sata-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-4.19.0-7-parisc-di, scsi-core-modules-4.19.0-7-parisc-di, ata-modules-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di, scsi-core-modules-4.19.0-8-parisc-di, ata-modules-4.19.0-8-parisc-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: crc-modules-4.19.0-7-parisc-di +Package: crc-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: crypto-modules-4.19.0-7-parisc-di +Package: crypto-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-parisc-di +Package: crypto-dm-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-parisc-di, md-modules-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di, md-modules-4.19.0-8-parisc-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: ata-modules-4.19.0-7-parisc-di +Package: ata-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-4.19.0-7-parisc-di, scsi-core-modules-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di, scsi-core-modules-4.19.0-8-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: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: nbd-modules-4.19.0-7-parisc-di +Package: nbd-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: squashfs-modules-4.19.0-7-parisc-di +Package: squashfs-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-parisc-di, compress-modules-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di, compress-modules-4.19.0-8-parisc-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: zlib-modules-4.19.0-7-parisc-di +Package: zlib-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: zlib-modules -Depends: kernel-image-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di Description: zlib modules This package contains zlib modules. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: compress-modules-4.19.0-7-parisc-di +Package: compress-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: fuse-modules-4.19.0-7-parisc-di +Package: fuse-modules-4.19.0-8-parisc-di Architecture: hppa Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-parisc-di +Depends: kernel-image-4.19.0-8-parisc-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc +Kernel-Version: 4.19.0-8-parisc Package-Type: udeb -Package: kernel-image-4.19.0-7-parisc64-smp-di +Package: kernel-image-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: standard @@ -3829,437 +3829,437 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: nic-modules-4.19.0-7-parisc64-smp-di +Package: nic-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di, nic-shared-modules-4.19.0-7-parisc64-smp-di, crc-modules-4.19.0-7-parisc64-smp-di, zlib-modules-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di, nic-shared-modules-4.19.0-8-parisc64-smp-di, crc-modules-4.19.0-8-parisc64-smp-di, zlib-modules-4.19.0-8-parisc64-smp-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-parisc64-smp-di +Package: nic-shared-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-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: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: serial-modules-4.19.0-7-parisc64-smp-di +Package: serial-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: optional Provides: serial-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di Description: Serial drivers This package contains serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: usb-serial-modules-4.19.0-7-parisc64-smp-di +Package: usb-serial-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di, usb-modules-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di, usb-modules-4.19.0-8-parisc64-smp-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: ppp-modules-4.19.0-7-parisc64-smp-di +Package: ppp-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di, serial-modules-4.19.0-7-parisc64-smp-di, zlib-modules-4.19.0-7-parisc64-smp-di, crc-modules-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di, serial-modules-4.19.0-8-parisc64-smp-di, zlib-modules-4.19.0-8-parisc64-smp-di, crc-modules-4.19.0-8-parisc64-smp-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: pata-modules-4.19.0-7-parisc64-smp-di +Package: pata-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di, ata-modules-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di, ata-modules-4.19.0-8-parisc64-smp-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: cdrom-core-modules-4.19.0-7-parisc64-smp-di +Package: cdrom-core-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di, scsi-core-modules-4.19.0-7-parisc64-smp-di, isofs-modules-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di, scsi-core-modules-4.19.0-8-parisc64-smp-di, isofs-modules-4.19.0-8-parisc64-smp-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: scsi-core-modules-4.19.0-7-parisc64-smp-di +Package: scsi-core-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: scsi-modules-4.19.0-7-parisc64-smp-di +Package: scsi-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di, scsi-core-modules-4.19.0-7-parisc64-smp-di, cdrom-core-modules-4.19.0-7-parisc64-smp-di, ata-modules-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di, scsi-core-modules-4.19.0-8-parisc64-smp-di, cdrom-core-modules-4.19.0-8-parisc64-smp-di, ata-modules-4.19.0-8-parisc64-smp-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: loop-modules-4.19.0-7-parisc64-smp-di +Package: loop-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: btrfs-modules-4.19.0-7-parisc64-smp-di +Package: btrfs-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di, crc-modules-4.19.0-7-parisc64-smp-di, zlib-modules-4.19.0-7-parisc64-smp-di, compress-modules-4.19.0-7-parisc64-smp-di, md-modules-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di, crc-modules-4.19.0-8-parisc64-smp-di, zlib-modules-4.19.0-8-parisc64-smp-di, compress-modules-4.19.0-8-parisc64-smp-di, md-modules-4.19.0-8-parisc64-smp-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: ext4-modules-4.19.0-7-parisc64-smp-di +Package: ext4-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di, crc-modules-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di, crc-modules-4.19.0-8-parisc64-smp-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: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: isofs-modules-4.19.0-7-parisc64-smp-di +Package: isofs-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: jfs-modules-4.19.0-7-parisc64-smp-di +Package: jfs-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: xfs-modules-4.19.0-7-parisc64-smp-di +Package: xfs-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di, crc-modules-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di, crc-modules-4.19.0-8-parisc64-smp-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: fat-modules-4.19.0-7-parisc64-smp-di +Package: fat-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: md-modules-4.19.0-7-parisc64-smp-di +Package: md-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di, crc-modules-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di, crc-modules-4.19.0-8-parisc64-smp-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: multipath-modules-4.19.0-7-parisc64-smp-di +Package: multipath-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di, md-modules-4.19.0-7-parisc64-smp-di, scsi-core-modules-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di, md-modules-4.19.0-8-parisc64-smp-di, scsi-core-modules-4.19.0-8-parisc64-smp-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: usb-modules-4.19.0-7-parisc64-smp-di +Package: usb-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: usb-storage-modules-4.19.0-7-parisc64-smp-di +Package: usb-storage-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di, scsi-core-modules-4.19.0-7-parisc64-smp-di, usb-modules-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di, scsi-core-modules-4.19.0-8-parisc64-smp-di, usb-modules-4.19.0-8-parisc64-smp-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: fb-modules-4.19.0-7-parisc64-smp-di +Package: fb-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: standard Provides: fb-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: input-modules-4.19.0-7-parisc64-smp-di +Package: input-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di, usb-modules-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di, usb-modules-4.19.0-8-parisc64-smp-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: event-modules-4.19.0-7-parisc64-smp-di +Package: event-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: mouse-modules-4.19.0-7-parisc64-smp-di +Package: mouse-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di, event-modules-4.19.0-7-parisc64-smp-di, input-modules-4.19.0-7-parisc64-smp-di, usb-modules-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di, event-modules-4.19.0-8-parisc64-smp-di, input-modules-4.19.0-8-parisc64-smp-di, usb-modules-4.19.0-8-parisc64-smp-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: nic-usb-modules-4.19.0-7-parisc64-smp-di +Package: nic-usb-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di, nic-shared-modules-4.19.0-7-parisc64-smp-di, usb-modules-4.19.0-7-parisc64-smp-di, crc-modules-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di, nic-shared-modules-4.19.0-8-parisc64-smp-di, usb-modules-4.19.0-8-parisc64-smp-di, crc-modules-4.19.0-8-parisc64-smp-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: sata-modules-4.19.0-7-parisc64-smp-di +Package: sata-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di, scsi-core-modules-4.19.0-7-parisc64-smp-di, ata-modules-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di, scsi-core-modules-4.19.0-8-parisc64-smp-di, ata-modules-4.19.0-8-parisc64-smp-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: crc-modules-4.19.0-7-parisc64-smp-di +Package: crc-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: crypto-modules-4.19.0-7-parisc64-smp-di +Package: crypto-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-parisc64-smp-di +Package: crypto-dm-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di, md-modules-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di, md-modules-4.19.0-8-parisc64-smp-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: ata-modules-4.19.0-7-parisc64-smp-di +Package: ata-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di, scsi-core-modules-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di, scsi-core-modules-4.19.0-8-parisc64-smp-di Description: ATA disk modules This package contains core ATA disk modules used by both PATA and SATA disk drivers. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: nbd-modules-4.19.0-7-parisc64-smp-di +Package: nbd-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: squashfs-modules-4.19.0-7-parisc64-smp-di +Package: squashfs-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di, compress-modules-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di, compress-modules-4.19.0-8-parisc64-smp-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: zlib-modules-4.19.0-7-parisc64-smp-di +Package: zlib-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: optional Provides: zlib-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di Description: zlib modules This package contains zlib modules. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: compress-modules-4.19.0-7-parisc64-smp-di +Package: compress-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: fuse-modules-4.19.0-7-parisc64-smp-di +Package: fuse-modules-4.19.0-8-parisc64-smp-di Architecture: hppa Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-parisc64-smp-di +Depends: kernel-image-4.19.0-8-parisc64-smp-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-parisc64-smp +Kernel-Version: 4.19.0-8-parisc64-smp Package-Type: udeb -Package: linux-image-4.19.0-7-parisc +Package: linux-image-4.19.0-8-parisc Architecture: hppa -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [hppa] | linux-initramfs-tool [hppa] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [hppa] | linux-initramfs-tool [hppa] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [hppa] Suggests: linux-doc-4.19, debian-kernel-handbook, palo [hppa] Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -4268,21 +4268,21 @@ with max 4 GB RAM. Build-Profiles: -Package: linux-headers-4.19.0-7-parisc +Package: linux-headers-4.19.0-8-parisc Architecture: hppa -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8, binutils-hppa64-linux-gnu, gcc-8-hppa64-linux-gnu -Description: Header files for Linux 4.19.0-7-parisc +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8, binutils-hppa64-linux-gnu, gcc-8-hppa64-linux-gnu +Description: Header files for Linux 4.19.0-8-parisc This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-parisc, generally used for building out-of-tree + Linux kernel 4.19.0-8-parisc, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-parisc, and can be used for building + /usr/src/linux-headers-4.19.0-8-parisc, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-parisc package. + linux-image-4.19.0-8-parisc package. Build-Profiles: -Package: linux-image-4.19.0-7-parisc-smp +Package: linux-image-4.19.0-8-parisc-smp Architecture: hppa -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [hppa] | linux-initramfs-tool [hppa] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [hppa] | linux-initramfs-tool [hppa] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [hppa] Suggests: linux-doc-4.19, debian-kernel-handbook, palo [hppa] Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -4291,21 +4291,21 @@ with max 4 GB RAM. Build-Profiles: -Package: linux-headers-4.19.0-7-parisc-smp +Package: linux-headers-4.19.0-8-parisc-smp Architecture: hppa -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8, binutils-hppa64-linux-gnu, gcc-8-hppa64-linux-gnu -Description: Header files for Linux 4.19.0-7-parisc-smp +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8, binutils-hppa64-linux-gnu, gcc-8-hppa64-linux-gnu +Description: Header files for Linux 4.19.0-8-parisc-smp This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-parisc-smp, generally used for building out-of-tree + Linux kernel 4.19.0-8-parisc-smp, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-parisc-smp, and can be used for building + /usr/src/linux-headers-4.19.0-8-parisc-smp, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-parisc-smp package. + linux-image-4.19.0-8-parisc-smp package. Build-Profiles: -Package: linux-image-4.19.0-7-parisc64-smp +Package: linux-image-4.19.0-8-parisc64-smp Architecture: hppa -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [hppa] | linux-initramfs-tool [hppa] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [hppa] | linux-initramfs-tool [hppa] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [hppa] Suggests: linux-doc-4.19, debian-kernel-handbook, palo [hppa] Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -4314,28 +4314,28 @@ with support for more than 4 GB RAM. Build-Profiles: -Package: linux-headers-4.19.0-7-parisc64-smp +Package: linux-headers-4.19.0-8-parisc64-smp Architecture: hppa -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8, binutils-hppa64-linux-gnu, gcc-8-hppa64-linux-gnu -Description: Header files for Linux 4.19.0-7-parisc64-smp +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8, binutils-hppa64-linux-gnu, gcc-8-hppa64-linux-gnu +Description: Header files for Linux 4.19.0-8-parisc64-smp This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-parisc64-smp, generally used for building + Linux kernel 4.19.0-8-parisc64-smp, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-parisc64-smp, and can be used for building + /usr/src/linux-headers-4.19.0-8-parisc64-smp, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-parisc64-smp package. + linux-image-4.19.0-8-parisc64-smp package. Build-Profiles: -Package: linux-headers-4.19.0-7-all-i386 +Package: linux-headers-4.19.0-8-all-i386 Architecture: i386 -Depends: ${misc:Depends}, linux-headers-4.19.0-7-686 (= ${binary:Version}), linux-headers-4.19.0-7-686-pae (= ${binary:Version}), linux-headers-4.19.0-7-rt-686-pae (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-686 (= ${binary:Version}), linux-headers-4.19.0-8-686-pae (= ${binary:Version}), linux-headers-4.19.0-8-rt-686-pae (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: kernel-image-4.19.0-7-686-di +Package: kernel-image-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: standard @@ -4345,617 +4345,617 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: nic-modules-4.19.0-7-686-di +Package: nic-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-4.19.0-7-686-di, nic-shared-modules-4.19.0-7-686-di, i2c-modules-4.19.0-7-686-di, crc-modules-4.19.0-7-686-di, mtd-core-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, nic-shared-modules-4.19.0-8-686-di, i2c-modules-4.19.0-8-686-di, crc-modules-4.19.0-8-686-di, mtd-core-modules-4.19.0-8-686-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: nic-wireless-modules-4.19.0-7-686-di +Package: nic-wireless-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-4.19.0-7-686-di, nic-shared-modules-4.19.0-7-686-di, usb-modules-4.19.0-7-686-di, mmc-core-modules-4.19.0-7-686-di, pcmcia-modules-4.19.0-7-686-di, crc-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, nic-shared-modules-4.19.0-8-686-di, usb-modules-4.19.0-8-686-di, mmc-core-modules-4.19.0-8-686-di, pcmcia-modules-4.19.0-8-686-di, crc-modules-4.19.0-8-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: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-686-di +Package: nic-shared-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: serial-modules-4.19.0-7-686-di +Package: serial-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: serial-modules -Depends: kernel-image-4.19.0-7-686-di, pcmcia-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, pcmcia-modules-4.19.0-8-686-di Description: Serial drivers This package contains serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: usb-serial-modules-4.19.0-7-686-di +Package: usb-serial-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-4.19.0-7-686-di, usb-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, usb-modules-4.19.0-8-686-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: ppp-modules-4.19.0-7-686-di +Package: ppp-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-4.19.0-7-686-di, serial-modules-4.19.0-7-686-di, crc-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, serial-modules-4.19.0-8-686-di, crc-modules-4.19.0-8-686-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: pata-modules-4.19.0-7-686-di +Package: pata-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-4.19.0-7-686-di, ata-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, ata-modules-4.19.0-8-686-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: cdrom-core-modules-4.19.0-7-686-di +Package: cdrom-core-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-4.19.0-7-686-di, scsi-core-modules-4.19.0-7-686-di, isofs-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, scsi-core-modules-4.19.0-8-686-di, isofs-modules-4.19.0-8-686-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: firewire-core-modules-4.19.0-7-686-di +Package: firewire-core-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: firewire-core-modules -Depends: kernel-image-4.19.0-7-686-di, scsi-core-modules-4.19.0-7-686-di, crc-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, scsi-core-modules-4.19.0-8-686-di, crc-modules-4.19.0-8-686-di Description: Core FireWire drivers This package contains core FireWire drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: scsi-core-modules-4.19.0-7-686-di +Package: scsi-core-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: scsi-modules-4.19.0-7-686-di +Package: scsi-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-4.19.0-7-686-di, scsi-core-modules-4.19.0-7-686-di, cdrom-core-modules-4.19.0-7-686-di, ata-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, scsi-core-modules-4.19.0-8-686-di, cdrom-core-modules-4.19.0-8-686-di, ata-modules-4.19.0-8-686-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: scsi-nic-modules-4.19.0-7-686-di +Package: scsi-nic-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-4.19.0-7-686-di, nic-modules-4.19.0-7-686-di +Depends: scsi-modules-4.19.0-8-686-di, nic-modules-4.19.0-8-686-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: loop-modules-4.19.0-7-686-di +Package: loop-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: btrfs-modules-4.19.0-7-686-di +Package: btrfs-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-686-di, crc-modules-4.19.0-7-686-di, compress-modules-4.19.0-7-686-di, md-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, crc-modules-4.19.0-8-686-di, compress-modules-4.19.0-8-686-di, md-modules-4.19.0-8-686-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: ext4-modules-4.19.0-7-686-di +Package: ext4-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-686-di, crc-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, crc-modules-4.19.0-8-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: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: isofs-modules-4.19.0-7-686-di +Package: isofs-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: jfs-modules-4.19.0-7-686-di +Package: jfs-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: xfs-modules-4.19.0-7-686-di +Package: xfs-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-4.19.0-7-686-di, crc-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, crc-modules-4.19.0-8-686-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: fat-modules-4.19.0-7-686-di +Package: fat-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: fat-modules -Depends: kernel-image-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: md-modules-4.19.0-7-686-di +Package: md-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-686-di, crc-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, crc-modules-4.19.0-8-686-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: multipath-modules-4.19.0-7-686-di +Package: multipath-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-686-di, md-modules-4.19.0-7-686-di, scsi-core-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, md-modules-4.19.0-8-686-di, scsi-core-modules-4.19.0-8-686-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: usb-modules-4.19.0-7-686-di +Package: usb-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: usb-storage-modules-4.19.0-7-686-di +Package: usb-storage-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-4.19.0-7-686-di, scsi-core-modules-4.19.0-7-686-di, usb-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, scsi-core-modules-4.19.0-8-686-di, usb-modules-4.19.0-8-686-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: pcmcia-storage-modules-4.19.0-7-686-di +Package: pcmcia-storage-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: pcmcia-storage-modules -Depends: kernel-image-4.19.0-7-686-di, cdrom-core-modules-4.19.0-7-686-di, pcmcia-modules-4.19.0-7-686-di, ata-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, cdrom-core-modules-4.19.0-8-686-di, pcmcia-modules-4.19.0-8-686-di, ata-modules-4.19.0-8-686-di Description: PCMCIA storage drivers This package contains PCMCIA storage drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: fb-modules-4.19.0-7-686-di +Package: fb-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-4.19.0-7-686-di, i2c-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, i2c-modules-4.19.0-8-686-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: input-modules-4.19.0-7-686-di +Package: input-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-4.19.0-7-686-di, usb-modules-4.19.0-7-686-di, i2c-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, usb-modules-4.19.0-8-686-di, i2c-modules-4.19.0-8-686-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: event-modules-4.19.0-7-686-di +Package: event-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: mouse-modules-4.19.0-7-686-di +Package: mouse-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-4.19.0-7-686-di, event-modules-4.19.0-7-686-di, input-modules-4.19.0-7-686-di, usb-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, event-modules-4.19.0-8-686-di, input-modules-4.19.0-8-686-di, usb-modules-4.19.0-8-686-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: nic-pcmcia-modules-4.19.0-7-686-di +Package: nic-pcmcia-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: nic-pcmcia-modules -Depends: kernel-image-4.19.0-7-686-di, nic-shared-modules-4.19.0-7-686-di, nic-wireless-modules-4.19.0-7-686-di, pcmcia-modules-4.19.0-7-686-di, mmc-core-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, nic-shared-modules-4.19.0-8-686-di, nic-wireless-modules-4.19.0-8-686-di, pcmcia-modules-4.19.0-8-686-di, mmc-core-modules-4.19.0-8-686-di Description: Common PCMCIA NIC drivers This package contains common PCMCIA NIC drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: pcmcia-modules-4.19.0-7-686-di +Package: pcmcia-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: pcmcia-modules -Depends: kernel-image-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di Description: Common PCMCIA drivers This package contains common PCMCIA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: nic-usb-modules-4.19.0-7-686-di +Package: nic-usb-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-4.19.0-7-686-di, nic-shared-modules-4.19.0-7-686-di, nic-wireless-modules-4.19.0-7-686-di, usb-modules-4.19.0-7-686-di, crc-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, nic-shared-modules-4.19.0-8-686-di, nic-wireless-modules-4.19.0-8-686-di, usb-modules-4.19.0-8-686-di, crc-modules-4.19.0-8-686-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: sata-modules-4.19.0-7-686-di +Package: sata-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-4.19.0-7-686-di, scsi-core-modules-4.19.0-7-686-di, ata-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, scsi-core-modules-4.19.0-8-686-di, ata-modules-4.19.0-8-686-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: acpi-modules-4.19.0-7-686-di +Package: acpi-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: acpi-modules -Depends: kernel-image-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di Description: ACPI support modules This package contains kernel modules for ACPI. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: i2c-modules-4.19.0-7-686-di +Package: i2c-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: crc-modules-4.19.0-7-686-di +Package: crc-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: crypto-modules-4.19.0-7-686-di +Package: crypto-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-686-di +Package: crypto-dm-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-686-di, md-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, md-modules-4.19.0-8-686-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: efi-modules-4.19.0-7-686-di +Package: efi-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: efi-modules -Depends: kernel-image-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di Description: EFI modules This package contains EFI modules. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: ata-modules-4.19.0-7-686-di +Package: ata-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-4.19.0-7-686-di, scsi-core-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, scsi-core-modules-4.19.0-8-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: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: mmc-core-modules-4.19.0-7-686-di +Package: mmc-core-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: mmc-core-modules -Depends: kernel-image-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di Description: MMC/SD/SDIO core modules This package contains core modules for MMC/SD/SDIO support. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: mmc-modules-4.19.0-7-686-di +Package: mmc-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: mmc-modules -Depends: kernel-image-4.19.0-7-686-di, mmc-core-modules-4.19.0-7-686-di, usb-modules-4.19.0-7-686-di, crc-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, mmc-core-modules-4.19.0-8-686-di, usb-modules-4.19.0-8-686-di, crc-modules-4.19.0-8-686-di Description: MMC/SD card modules This package contains modules needed to support MMC (multimedia) and SD cards. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: nbd-modules-4.19.0-7-686-di +Package: nbd-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: squashfs-modules-4.19.0-7-686-di +Package: squashfs-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-686-di, compress-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, compress-modules-4.19.0-8-686-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: speakup-modules-4.19.0-7-686-di +Package: speakup-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: speakup-modules -Depends: kernel-image-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di Description: speakup modules This package contains speakup modules. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: uinput-modules-4.19.0-7-686-di +Package: uinput-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: uinput-modules -Depends: kernel-image-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di Description: uinput support This package contains the uinput module. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: sound-modules-4.19.0-7-686-di +Package: sound-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: sound-modules -Depends: kernel-image-4.19.0-7-686-di, i2c-modules-4.19.0-7-686-di, usb-modules-4.19.0-7-686-di, pcmcia-modules-4.19.0-7-686-di, firewire-core-modules-4.19.0-7-686-di, crc-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, i2c-modules-4.19.0-8-686-di, usb-modules-4.19.0-8-686-di, pcmcia-modules-4.19.0-8-686-di, firewire-core-modules-4.19.0-8-686-di, crc-modules-4.19.0-8-686-di Description: sound support This package contains sound modules. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: compress-modules-4.19.0-7-686-di +Package: compress-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: udf-modules-4.19.0-7-686-di +Package: udf-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-686-di, crc-modules-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di, crc-modules-4.19.0-8-686-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: fuse-modules-4.19.0-7-686-di +Package: fuse-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: mtd-core-modules-4.19.0-7-686-di +Package: mtd-core-modules-4.19.0-8-686-di Architecture: i386 Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-4.19.0-7-686-di +Depends: kernel-image-4.19.0-8-686-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 4.19.0-7-686 +Kernel-Version: 4.19.0-8-686 Package-Type: udeb -Package: kernel-image-4.19.0-7-686-pae-di +Package: kernel-image-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: standard @@ -4965,614 +4965,614 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: nic-modules-4.19.0-7-686-pae-di +Package: nic-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-4.19.0-7-686-pae-di, nic-shared-modules-4.19.0-7-686-pae-di, i2c-modules-4.19.0-7-686-pae-di, crc-modules-4.19.0-7-686-pae-di, mtd-core-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, nic-shared-modules-4.19.0-8-686-pae-di, i2c-modules-4.19.0-8-686-pae-di, crc-modules-4.19.0-8-686-pae-di, mtd-core-modules-4.19.0-8-686-pae-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: nic-wireless-modules-4.19.0-7-686-pae-di +Package: nic-wireless-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-4.19.0-7-686-pae-di, nic-shared-modules-4.19.0-7-686-pae-di, usb-modules-4.19.0-7-686-pae-di, mmc-core-modules-4.19.0-7-686-pae-di, pcmcia-modules-4.19.0-7-686-pae-di, crc-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, nic-shared-modules-4.19.0-8-686-pae-di, usb-modules-4.19.0-8-686-pae-di, mmc-core-modules-4.19.0-8-686-pae-di, pcmcia-modules-4.19.0-8-686-pae-di, crc-modules-4.19.0-8-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: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-686-pae-di +Package: nic-shared-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: serial-modules-4.19.0-7-686-pae-di +Package: serial-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: serial-modules -Depends: kernel-image-4.19.0-7-686-pae-di, pcmcia-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, pcmcia-modules-4.19.0-8-686-pae-di Description: Serial drivers This package contains serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: usb-serial-modules-4.19.0-7-686-pae-di +Package: usb-serial-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-4.19.0-7-686-pae-di, usb-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, usb-modules-4.19.0-8-686-pae-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: ppp-modules-4.19.0-7-686-pae-di +Package: ppp-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-4.19.0-7-686-pae-di, serial-modules-4.19.0-7-686-pae-di, crc-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, serial-modules-4.19.0-8-686-pae-di, crc-modules-4.19.0-8-686-pae-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: pata-modules-4.19.0-7-686-pae-di +Package: pata-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-4.19.0-7-686-pae-di, ata-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, ata-modules-4.19.0-8-686-pae-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: cdrom-core-modules-4.19.0-7-686-pae-di +Package: cdrom-core-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-4.19.0-7-686-pae-di, scsi-core-modules-4.19.0-7-686-pae-di, isofs-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, scsi-core-modules-4.19.0-8-686-pae-di, isofs-modules-4.19.0-8-686-pae-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: firewire-core-modules-4.19.0-7-686-pae-di +Package: firewire-core-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: firewire-core-modules -Depends: kernel-image-4.19.0-7-686-pae-di, scsi-core-modules-4.19.0-7-686-pae-di, crc-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, scsi-core-modules-4.19.0-8-686-pae-di, crc-modules-4.19.0-8-686-pae-di Description: Core FireWire drivers This package contains core FireWire drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: scsi-core-modules-4.19.0-7-686-pae-di +Package: scsi-core-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: scsi-modules-4.19.0-7-686-pae-di +Package: scsi-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-4.19.0-7-686-pae-di, scsi-core-modules-4.19.0-7-686-pae-di, cdrom-core-modules-4.19.0-7-686-pae-di, ata-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, scsi-core-modules-4.19.0-8-686-pae-di, cdrom-core-modules-4.19.0-8-686-pae-di, ata-modules-4.19.0-8-686-pae-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: scsi-nic-modules-4.19.0-7-686-pae-di +Package: scsi-nic-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-4.19.0-7-686-pae-di, nic-modules-4.19.0-7-686-pae-di +Depends: scsi-modules-4.19.0-8-686-pae-di, nic-modules-4.19.0-8-686-pae-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: loop-modules-4.19.0-7-686-pae-di +Package: loop-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: btrfs-modules-4.19.0-7-686-pae-di +Package: btrfs-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-686-pae-di, crc-modules-4.19.0-7-686-pae-di, compress-modules-4.19.0-7-686-pae-di, md-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, crc-modules-4.19.0-8-686-pae-di, compress-modules-4.19.0-8-686-pae-di, md-modules-4.19.0-8-686-pae-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: ext4-modules-4.19.0-7-686-pae-di +Package: ext4-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-686-pae-di, crc-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, crc-modules-4.19.0-8-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: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: isofs-modules-4.19.0-7-686-pae-di +Package: isofs-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: jfs-modules-4.19.0-7-686-pae-di +Package: jfs-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: xfs-modules-4.19.0-7-686-pae-di +Package: xfs-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-4.19.0-7-686-pae-di, crc-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, crc-modules-4.19.0-8-686-pae-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: fat-modules-4.19.0-7-686-pae-di +Package: fat-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: fat-modules -Depends: kernel-image-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: md-modules-4.19.0-7-686-pae-di +Package: md-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-686-pae-di, crc-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, crc-modules-4.19.0-8-686-pae-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: multipath-modules-4.19.0-7-686-pae-di +Package: multipath-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-686-pae-di, md-modules-4.19.0-7-686-pae-di, scsi-core-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, md-modules-4.19.0-8-686-pae-di, scsi-core-modules-4.19.0-8-686-pae-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: usb-modules-4.19.0-7-686-pae-di +Package: usb-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: usb-storage-modules-4.19.0-7-686-pae-di +Package: usb-storage-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-4.19.0-7-686-pae-di, scsi-core-modules-4.19.0-7-686-pae-di, usb-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, scsi-core-modules-4.19.0-8-686-pae-di, usb-modules-4.19.0-8-686-pae-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: pcmcia-storage-modules-4.19.0-7-686-pae-di +Package: pcmcia-storage-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: pcmcia-storage-modules -Depends: kernel-image-4.19.0-7-686-pae-di, cdrom-core-modules-4.19.0-7-686-pae-di, pcmcia-modules-4.19.0-7-686-pae-di, ata-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, cdrom-core-modules-4.19.0-8-686-pae-di, pcmcia-modules-4.19.0-8-686-pae-di, ata-modules-4.19.0-8-686-pae-di Description: PCMCIA storage drivers This package contains PCMCIA storage drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: fb-modules-4.19.0-7-686-pae-di +Package: fb-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-4.19.0-7-686-pae-di, i2c-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, i2c-modules-4.19.0-8-686-pae-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: input-modules-4.19.0-7-686-pae-di +Package: input-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-4.19.0-7-686-pae-di, usb-modules-4.19.0-7-686-pae-di, i2c-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, usb-modules-4.19.0-8-686-pae-di, i2c-modules-4.19.0-8-686-pae-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: event-modules-4.19.0-7-686-pae-di +Package: event-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: mouse-modules-4.19.0-7-686-pae-di +Package: mouse-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-4.19.0-7-686-pae-di, event-modules-4.19.0-7-686-pae-di, input-modules-4.19.0-7-686-pae-di, usb-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, event-modules-4.19.0-8-686-pae-di, input-modules-4.19.0-8-686-pae-di, usb-modules-4.19.0-8-686-pae-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: nic-pcmcia-modules-4.19.0-7-686-pae-di +Package: nic-pcmcia-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: nic-pcmcia-modules -Depends: kernel-image-4.19.0-7-686-pae-di, nic-shared-modules-4.19.0-7-686-pae-di, nic-wireless-modules-4.19.0-7-686-pae-di, pcmcia-modules-4.19.0-7-686-pae-di, mmc-core-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, nic-shared-modules-4.19.0-8-686-pae-di, nic-wireless-modules-4.19.0-8-686-pae-di, pcmcia-modules-4.19.0-8-686-pae-di, mmc-core-modules-4.19.0-8-686-pae-di Description: Common PCMCIA NIC drivers This package contains common PCMCIA NIC drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: pcmcia-modules-4.19.0-7-686-pae-di +Package: pcmcia-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: pcmcia-modules -Depends: kernel-image-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di Description: Common PCMCIA drivers This package contains common PCMCIA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: nic-usb-modules-4.19.0-7-686-pae-di +Package: nic-usb-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-4.19.0-7-686-pae-di, nic-shared-modules-4.19.0-7-686-pae-di, nic-wireless-modules-4.19.0-7-686-pae-di, usb-modules-4.19.0-7-686-pae-di, crc-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, nic-shared-modules-4.19.0-8-686-pae-di, nic-wireless-modules-4.19.0-8-686-pae-di, usb-modules-4.19.0-8-686-pae-di, crc-modules-4.19.0-8-686-pae-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: sata-modules-4.19.0-7-686-pae-di +Package: sata-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-4.19.0-7-686-pae-di, scsi-core-modules-4.19.0-7-686-pae-di, ata-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, scsi-core-modules-4.19.0-8-686-pae-di, ata-modules-4.19.0-8-686-pae-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: acpi-modules-4.19.0-7-686-pae-di +Package: acpi-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: acpi-modules -Depends: kernel-image-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di Description: ACPI support modules This package contains kernel modules for ACPI. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: i2c-modules-4.19.0-7-686-pae-di +Package: i2c-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: crc-modules-4.19.0-7-686-pae-di +Package: crc-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: crypto-modules-4.19.0-7-686-pae-di +Package: crypto-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-686-pae-di +Package: crypto-dm-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-686-pae-di, md-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, md-modules-4.19.0-8-686-pae-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: efi-modules-4.19.0-7-686-pae-di +Package: efi-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: efi-modules -Depends: kernel-image-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di Description: EFI modules This package contains EFI modules. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: ata-modules-4.19.0-7-686-pae-di +Package: ata-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-4.19.0-7-686-pae-di, scsi-core-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, scsi-core-modules-4.19.0-8-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: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: mmc-core-modules-4.19.0-7-686-pae-di +Package: mmc-core-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: mmc-core-modules -Depends: kernel-image-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di Description: MMC/SD/SDIO core modules This package contains core modules for MMC/SD/SDIO support. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: mmc-modules-4.19.0-7-686-pae-di +Package: mmc-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: mmc-modules -Depends: kernel-image-4.19.0-7-686-pae-di, mmc-core-modules-4.19.0-7-686-pae-di, usb-modules-4.19.0-7-686-pae-di, crc-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, mmc-core-modules-4.19.0-8-686-pae-di, usb-modules-4.19.0-8-686-pae-di, crc-modules-4.19.0-8-686-pae-di Description: MMC/SD card modules This package contains modules needed to support MMC (multimedia) and SD cards. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: nbd-modules-4.19.0-7-686-pae-di +Package: nbd-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: squashfs-modules-4.19.0-7-686-pae-di +Package: squashfs-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-686-pae-di, compress-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, compress-modules-4.19.0-8-686-pae-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: speakup-modules-4.19.0-7-686-pae-di +Package: speakup-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: speakup-modules -Depends: kernel-image-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di Description: speakup modules This package contains speakup modules. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: uinput-modules-4.19.0-7-686-pae-di +Package: uinput-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: uinput-modules -Depends: kernel-image-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di Description: uinput support This package contains the uinput module. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: sound-modules-4.19.0-7-686-pae-di +Package: sound-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: sound-modules -Depends: kernel-image-4.19.0-7-686-pae-di, i2c-modules-4.19.0-7-686-pae-di, usb-modules-4.19.0-7-686-pae-di, pcmcia-modules-4.19.0-7-686-pae-di, firewire-core-modules-4.19.0-7-686-pae-di, crc-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, i2c-modules-4.19.0-8-686-pae-di, usb-modules-4.19.0-8-686-pae-di, pcmcia-modules-4.19.0-8-686-pae-di, firewire-core-modules-4.19.0-8-686-pae-di, crc-modules-4.19.0-8-686-pae-di Description: sound support This package contains sound modules. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: compress-modules-4.19.0-7-686-pae-di +Package: compress-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: udf-modules-4.19.0-7-686-pae-di +Package: udf-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-686-pae-di, crc-modules-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di, crc-modules-4.19.0-8-686-pae-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: fuse-modules-4.19.0-7-686-pae-di +Package: fuse-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb -Package: mtd-core-modules-4.19.0-7-686-pae-di +Package: mtd-core-modules-4.19.0-8-686-pae-di Architecture: i386 Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-4.19.0-7-686-pae-di +Depends: kernel-image-4.19.0-8-686-pae-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 4.19.0-7-686-pae +Kernel-Version: 4.19.0-8-686-pae Package-Type: udeb Package: linux-image-i386-signed-template @@ -5583,49 +5583,49 @@ service. Build-Profiles: -Package: linux-image-4.19.0-7-686-unsigned +Package: linux-image-4.19.0-8-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, ${kernel:Recommends}, apparmor [i386] Suggests: linux-doc-4.19, debian-kernel-handbook, grub-pc [i386] | grub-efi-ia32 [i386] | extlinux [i386] -Replaces: linux-image-4.19.0-7-686 +Replaces: linux-image-4.19.0-8-686 Breaks: xserver-xorg-input-vmmouse (<< 1:13.0.99) [i386], initramfs-tools (<< 0.120+deb8u2) -Conflicts: linux-image-4.19.0-7-686 +Conflicts: linux-image-4.19.0-8-686 Description: Linux 4.19 for older PCs The Linux kernel 4.19 and modules for use on PCs with one or more processors not supporting PAE. Build-Profiles: -Package: linux-headers-4.19.0-7-686 +Package: linux-headers-4.19.0-8-686 Architecture: i386 -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-x86 -Description: Header files for Linux 4.19.0-7-686 +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-x86 +Description: Header files for Linux 4.19.0-8-686 This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-686, generally used for building out-of-tree kernel + Linux kernel 4.19.0-8-686, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-686, and can be used for building modules - that load into the kernel provided by the linux-image-4.19.0-7-686 + /usr/src/linux-headers-4.19.0-8-686, and can be used for building modules + that load into the kernel provided by the linux-image-4.19.0-8-686 package. Build-Profiles: -Package: linux-image-4.19.0-7-686-dbg +Package: linux-image-4.19.0-8-686-dbg Architecture: i386 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-686 +Description: Debug symbols for linux-image-4.19.0-8-686 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-686. + modules in linux-image-4.19.0-8-686. Build-Profiles: -Package: linux-image-4.19.0-7-686-pae-unsigned +Package: linux-image-4.19.0-8-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, ${kernel:Recommends}, apparmor [i386] Suggests: linux-doc-4.19, debian-kernel-handbook, grub-pc [i386] | grub-efi-ia32 [i386] | extlinux [i386] -Replaces: linux-image-4.19.0-7-686-pae +Replaces: linux-image-4.19.0-8-686-pae Breaks: xserver-xorg-input-vmmouse (<< 1:13.0.99) [i386], initramfs-tools (<< 0.120+deb8u2) -Conflicts: linux-image-4.19.0-7-686-pae +Conflicts: linux-image-4.19.0-8-686-pae Description: Linux 4.19 for modern PCs The Linux kernel 4.19 and modules for use on PCs with one or more processors supporting PAE. @@ -5636,36 +5636,36 @@ Transmeta Efficeon; VIA C7; and some other processors. Build-Profiles: -Package: linux-headers-4.19.0-7-686-pae +Package: linux-headers-4.19.0-8-686-pae Architecture: i386 -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-x86 -Description: Header files for Linux 4.19.0-7-686-pae +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-x86 +Description: Header files for Linux 4.19.0-8-686-pae This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-686-pae, generally used for building out-of-tree + Linux kernel 4.19.0-8-686-pae, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-686-pae, and can be used for building + /usr/src/linux-headers-4.19.0-8-686-pae, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-686-pae package. + linux-image-4.19.0-8-686-pae package. Build-Profiles: -Package: linux-image-4.19.0-7-686-pae-dbg +Package: linux-image-4.19.0-8-686-pae-dbg Architecture: i386 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-686-pae +Description: Debug symbols for linux-image-4.19.0-8-686-pae This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-686-pae. + modules in linux-image-4.19.0-8-686-pae. Build-Profiles: -Package: linux-image-4.19.0-7-rt-686-pae-unsigned +Package: linux-image-4.19.0-8-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, ${kernel:Recommends}, apparmor [i386] Suggests: linux-doc-4.19, debian-kernel-handbook, grub-pc [i386] | grub-efi-ia32 [i386] | extlinux [i386] -Replaces: linux-image-4.19.0-7-rt-686-pae +Replaces: linux-image-4.19.0-8-rt-686-pae Breaks: xserver-xorg-input-vmmouse (<< 1:13.0.99) [i386], initramfs-tools (<< 0.120+deb8u2) -Conflicts: linux-image-4.19.0-7-rt-686-pae +Conflicts: linux-image-4.19.0-8-rt-686-pae Description: Linux 4.19 for modern PCs, PREEMPT_RT The Linux kernel 4.19 and modules for use on PCs with one or more processors supporting PAE. @@ -5678,38 +5678,38 @@ This kernel includes the PREEMPT_RT realtime patch set. Build-Profiles: -Package: linux-headers-4.19.0-7-rt-686-pae +Package: linux-headers-4.19.0-8-rt-686-pae Architecture: i386 -Depends: linux-headers-4.19.0-7-common-rt (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-x86 -Description: Header files for Linux 4.19.0-7-rt-686-pae +Depends: linux-headers-4.19.0-8-common-rt (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-x86 +Description: Header files for Linux 4.19.0-8-rt-686-pae This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-rt-686-pae, generally used for building out-of-tree + Linux kernel 4.19.0-8-rt-686-pae, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-rt-686-pae, and can be used for building + /usr/src/linux-headers-4.19.0-8-rt-686-pae, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-rt-686-pae package. + linux-image-4.19.0-8-rt-686-pae package. Build-Profiles: -Package: linux-image-4.19.0-7-rt-686-pae-dbg +Package: linux-image-4.19.0-8-rt-686-pae-dbg Architecture: i386 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-rt-686-pae +Description: Debug symbols for linux-image-4.19.0-8-rt-686-pae This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-rt-686-pae. + modules in linux-image-4.19.0-8-rt-686-pae. Build-Profiles: -Package: linux-headers-4.19.0-7-all-ia64 +Package: linux-headers-4.19.0-8-all-ia64 Architecture: ia64 -Depends: ${misc:Depends}, linux-headers-4.19.0-7-itanium (= ${binary:Version}), linux-headers-4.19.0-7-mckinley (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-itanium (= ${binary:Version}), linux-headers-4.19.0-8-mckinley (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: kernel-image-4.19.0-7-itanium-di +Package: kernel-image-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: standard @@ -5719,545 +5719,545 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: nic-modules-4.19.0-7-itanium-di +Package: nic-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-4.19.0-7-itanium-di, nic-shared-modules-4.19.0-7-itanium-di, i2c-modules-4.19.0-7-itanium-di, crc-modules-4.19.0-7-itanium-di, mtd-core-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, nic-shared-modules-4.19.0-8-itanium-di, i2c-modules-4.19.0-8-itanium-di, crc-modules-4.19.0-8-itanium-di, mtd-core-modules-4.19.0-8-itanium-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-itanium-di +Package: nic-shared-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: serial-modules-4.19.0-7-itanium-di +Package: serial-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: serial-modules -Depends: kernel-image-4.19.0-7-itanium-di, pcmcia-modules-4.19.0-7-itanium-di, sn-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, pcmcia-modules-4.19.0-8-itanium-di, sn-modules-4.19.0-8-itanium-di Description: Serial drivers This package contains serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: usb-serial-modules-4.19.0-7-itanium-di +Package: usb-serial-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-4.19.0-7-itanium-di, usb-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, usb-modules-4.19.0-8-itanium-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: ppp-modules-4.19.0-7-itanium-di +Package: ppp-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-4.19.0-7-itanium-di, serial-modules-4.19.0-7-itanium-di, crc-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, serial-modules-4.19.0-8-itanium-di, crc-modules-4.19.0-8-itanium-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: pata-modules-4.19.0-7-itanium-di +Package: pata-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-4.19.0-7-itanium-di, ata-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, ata-modules-4.19.0-8-itanium-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: cdrom-core-modules-4.19.0-7-itanium-di +Package: cdrom-core-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-4.19.0-7-itanium-di, scsi-core-modules-4.19.0-7-itanium-di, ide-modules-4.19.0-7-itanium-di, isofs-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, scsi-core-modules-4.19.0-8-itanium-di, ide-modules-4.19.0-8-itanium-di, isofs-modules-4.19.0-8-itanium-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: firewire-core-modules-4.19.0-7-itanium-di +Package: firewire-core-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: firewire-core-modules -Depends: kernel-image-4.19.0-7-itanium-di, scsi-core-modules-4.19.0-7-itanium-di, crc-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, scsi-core-modules-4.19.0-8-itanium-di, crc-modules-4.19.0-8-itanium-di Description: Core FireWire drivers This package contains core FireWire drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: scsi-core-modules-4.19.0-7-itanium-di +Package: scsi-core-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: scsi-modules-4.19.0-7-itanium-di +Package: scsi-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-4.19.0-7-itanium-di, scsi-core-modules-4.19.0-7-itanium-di, cdrom-core-modules-4.19.0-7-itanium-di, ata-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, scsi-core-modules-4.19.0-8-itanium-di, cdrom-core-modules-4.19.0-8-itanium-di, ata-modules-4.19.0-8-itanium-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: scsi-nic-modules-4.19.0-7-itanium-di +Package: scsi-nic-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-4.19.0-7-itanium-di, nic-modules-4.19.0-7-itanium-di +Depends: scsi-modules-4.19.0-8-itanium-di, nic-modules-4.19.0-8-itanium-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: loop-modules-4.19.0-7-itanium-di +Package: loop-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: btrfs-modules-4.19.0-7-itanium-di +Package: btrfs-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-itanium-di, crc-modules-4.19.0-7-itanium-di, compress-modules-4.19.0-7-itanium-di, md-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, crc-modules-4.19.0-8-itanium-di, compress-modules-4.19.0-8-itanium-di, md-modules-4.19.0-8-itanium-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: ext4-modules-4.19.0-7-itanium-di +Package: ext4-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-itanium-di, crc-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, crc-modules-4.19.0-8-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: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: isofs-modules-4.19.0-7-itanium-di +Package: isofs-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: jfs-modules-4.19.0-7-itanium-di +Package: jfs-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: xfs-modules-4.19.0-7-itanium-di +Package: xfs-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-4.19.0-7-itanium-di, crc-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, crc-modules-4.19.0-8-itanium-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: fat-modules-4.19.0-7-itanium-di +Package: fat-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: fat-modules -Depends: kernel-image-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: md-modules-4.19.0-7-itanium-di +Package: md-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-itanium-di, crc-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, crc-modules-4.19.0-8-itanium-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: multipath-modules-4.19.0-7-itanium-di +Package: multipath-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-itanium-di, md-modules-4.19.0-7-itanium-di, scsi-core-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, md-modules-4.19.0-8-itanium-di, scsi-core-modules-4.19.0-8-itanium-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: usb-modules-4.19.0-7-itanium-di +Package: usb-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: usb-storage-modules-4.19.0-7-itanium-di +Package: usb-storage-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-4.19.0-7-itanium-di, scsi-core-modules-4.19.0-7-itanium-di, usb-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, scsi-core-modules-4.19.0-8-itanium-di, usb-modules-4.19.0-8-itanium-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: fb-modules-4.19.0-7-itanium-di +Package: fb-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-4.19.0-7-itanium-di, i2c-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, i2c-modules-4.19.0-8-itanium-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: input-modules-4.19.0-7-itanium-di +Package: input-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-4.19.0-7-itanium-di, usb-modules-4.19.0-7-itanium-di, i2c-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, usb-modules-4.19.0-8-itanium-di, i2c-modules-4.19.0-8-itanium-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: event-modules-4.19.0-7-itanium-di +Package: event-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: mouse-modules-4.19.0-7-itanium-di +Package: mouse-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-4.19.0-7-itanium-di, event-modules-4.19.0-7-itanium-di, input-modules-4.19.0-7-itanium-di, usb-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, event-modules-4.19.0-8-itanium-di, input-modules-4.19.0-8-itanium-di, usb-modules-4.19.0-8-itanium-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: pcmcia-modules-4.19.0-7-itanium-di +Package: pcmcia-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: pcmcia-modules -Depends: kernel-image-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di Description: Common PCMCIA drivers This package contains common PCMCIA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: nic-usb-modules-4.19.0-7-itanium-di +Package: nic-usb-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-4.19.0-7-itanium-di, nic-shared-modules-4.19.0-7-itanium-di, usb-modules-4.19.0-7-itanium-di, crc-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, nic-shared-modules-4.19.0-8-itanium-di, usb-modules-4.19.0-8-itanium-di, crc-modules-4.19.0-8-itanium-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: sata-modules-4.19.0-7-itanium-di +Package: sata-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-4.19.0-7-itanium-di, scsi-core-modules-4.19.0-7-itanium-di, ata-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, scsi-core-modules-4.19.0-8-itanium-di, ata-modules-4.19.0-8-itanium-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: i2c-modules-4.19.0-7-itanium-di +Package: i2c-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: crc-modules-4.19.0-7-itanium-di +Package: crc-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: crypto-modules-4.19.0-7-itanium-di +Package: crypto-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-itanium-di +Package: crypto-dm-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-itanium-di, md-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, md-modules-4.19.0-8-itanium-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: ata-modules-4.19.0-7-itanium-di +Package: ata-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-4.19.0-7-itanium-di, scsi-core-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, scsi-core-modules-4.19.0-8-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: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: nbd-modules-4.19.0-7-itanium-di +Package: nbd-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: squashfs-modules-4.19.0-7-itanium-di +Package: squashfs-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-itanium-di, compress-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, compress-modules-4.19.0-8-itanium-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: uinput-modules-4.19.0-7-itanium-di +Package: uinput-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: uinput-modules -Depends: kernel-image-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di Description: uinput support This package contains the uinput module. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: compress-modules-4.19.0-7-itanium-di +Package: compress-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: udf-modules-4.19.0-7-itanium-di +Package: udf-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-itanium-di, crc-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, crc-modules-4.19.0-8-itanium-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: fuse-modules-4.19.0-7-itanium-di +Package: fuse-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: mtd-core-modules-4.19.0-7-itanium-di +Package: mtd-core-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: ide-core-modules-4.19.0-7-itanium-di +Package: ide-core-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: ide-core-modules -Depends: kernel-image-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di Description: IDE support This package contains core IDE support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: ide-modules-4.19.0-7-itanium-di +Package: ide-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: standard Provides: ide-modules -Depends: kernel-image-4.19.0-7-itanium-di, ide-core-modules-4.19.0-7-itanium-di, sn-modules-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di, ide-core-modules-4.19.0-8-itanium-di, sn-modules-4.19.0-8-itanium-di Description: IDE drivers This package contains IDE drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: sn-modules-4.19.0-7-itanium-di +Package: sn-modules-4.19.0-8-itanium-di Architecture: ia64 Section: debian-installer Priority: optional Provides: sn-modules -Depends: kernel-image-4.19.0-7-itanium-di +Depends: kernel-image-4.19.0-8-itanium-di Description: SN modules This package contains SN modules for Altix systems Build-Profiles: -Kernel-Version: 4.19.0-7-itanium +Kernel-Version: 4.19.0-8-itanium Package-Type: udeb -Package: linux-image-4.19.0-7-itanium +Package: linux-image-4.19.0-8-itanium Architecture: ia64 -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [ia64] | linux-initramfs-tool [ia64] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [ia64] | linux-initramfs-tool [ia64] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [ia64] Suggests: linux-doc-4.19, debian-kernel-handbook, grub-efi-ia64 [ia64] Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -6266,31 +6266,31 @@ (Merced) processors. Build-Profiles: -Package: linux-headers-4.19.0-7-itanium +Package: linux-headers-4.19.0-8-itanium Architecture: ia64 -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-itanium +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-itanium This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-itanium, generally used for building out-of-tree + Linux kernel 4.19.0-8-itanium, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-itanium, and can be used for building + /usr/src/linux-headers-4.19.0-8-itanium, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-itanium package. + linux-image-4.19.0-8-itanium package. Build-Profiles: -Package: linux-image-4.19.0-7-itanium-dbg +Package: linux-image-4.19.0-8-itanium-dbg Architecture: ia64 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-itanium +Description: Debug symbols for linux-image-4.19.0-8-itanium This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-itanium. + modules in linux-image-4.19.0-8-itanium. Build-Profiles: -Package: linux-image-4.19.0-7-mckinley +Package: linux-image-4.19.0-8-mckinley Architecture: ia64 -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [ia64] | linux-initramfs-tool [ia64] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [ia64] | linux-initramfs-tool [ia64] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [ia64] Suggests: linux-doc-4.19, debian-kernel-handbook, grub-efi-ia64 [ia64] Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -6299,38 +6299,38 @@ 9300/9500/9700-series processors. Build-Profiles: -Package: linux-headers-4.19.0-7-mckinley +Package: linux-headers-4.19.0-8-mckinley Architecture: ia64 -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-mckinley +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-mckinley This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-mckinley, generally used for building out-of-tree + Linux kernel 4.19.0-8-mckinley, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-mckinley, and can be used for building + /usr/src/linux-headers-4.19.0-8-mckinley, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-mckinley package. + linux-image-4.19.0-8-mckinley package. Build-Profiles: -Package: linux-image-4.19.0-7-mckinley-dbg +Package: linux-image-4.19.0-8-mckinley-dbg Architecture: ia64 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-mckinley +Description: Debug symbols for linux-image-4.19.0-8-mckinley This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-mckinley. + modules in linux-image-4.19.0-8-mckinley. Build-Profiles: -Package: linux-headers-4.19.0-7-all-m68k +Package: linux-headers-4.19.0-8-all-m68k Architecture: m68k -Depends: ${misc:Depends}, linux-headers-4.19.0-7-m68k (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-m68k (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: kernel-image-4.19.0-7-m68k-di +Package: kernel-image-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: standard @@ -6340,329 +6340,329 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: nic-modules-4.19.0-7-m68k-di +Package: nic-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-4.19.0-7-m68k-di, nic-shared-modules-4.19.0-7-m68k-di, crc-modules-4.19.0-7-m68k-di, zlib-modules-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di, nic-shared-modules-4.19.0-8-m68k-di, crc-modules-4.19.0-8-m68k-di, zlib-modules-4.19.0-8-m68k-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-m68k-di +Package: nic-shared-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: ppp-modules-4.19.0-7-m68k-di +Package: ppp-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-4.19.0-7-m68k-di, zlib-modules-4.19.0-7-m68k-di, crc-modules-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di, zlib-modules-4.19.0-8-m68k-di, crc-modules-4.19.0-8-m68k-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: pata-modules-4.19.0-7-m68k-di +Package: pata-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-4.19.0-7-m68k-di, ata-modules-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di, ata-modules-4.19.0-8-m68k-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: cdrom-core-modules-4.19.0-7-m68k-di +Package: cdrom-core-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-4.19.0-7-m68k-di, scsi-core-modules-4.19.0-7-m68k-di, ide-modules-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di, scsi-core-modules-4.19.0-8-m68k-di, ide-modules-4.19.0-8-m68k-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: scsi-core-modules-4.19.0-7-m68k-di +Package: scsi-core-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: scsi-modules-4.19.0-7-m68k-di +Package: scsi-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-4.19.0-7-m68k-di, scsi-core-modules-4.19.0-7-m68k-di, cdrom-core-modules-4.19.0-7-m68k-di, ata-modules-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di, scsi-core-modules-4.19.0-8-m68k-di, cdrom-core-modules-4.19.0-8-m68k-di, ata-modules-4.19.0-8-m68k-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: loop-modules-4.19.0-7-m68k-di +Package: loop-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: btrfs-modules-4.19.0-7-m68k-di +Package: btrfs-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-m68k-di, crc-modules-4.19.0-7-m68k-di, zlib-modules-4.19.0-7-m68k-di, compress-modules-4.19.0-7-m68k-di, md-modules-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di, crc-modules-4.19.0-8-m68k-di, zlib-modules-4.19.0-8-m68k-di, compress-modules-4.19.0-8-m68k-di, md-modules-4.19.0-8-m68k-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: ext4-modules-4.19.0-7-m68k-di +Package: ext4-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-m68k-di, crc-modules-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di, crc-modules-4.19.0-8-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: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: isofs-modules-4.19.0-7-m68k-di +Package: isofs-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: fat-modules-4.19.0-7-m68k-di +Package: fat-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: hfs-modules-4.19.0-7-m68k-di +Package: hfs-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: hfs-modules -Depends: kernel-image-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di Description: HFS filesystem support This package contains the HFS and HFS+ filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: affs-modules-4.19.0-7-m68k-di +Package: affs-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: affs-modules -Depends: kernel-image-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di Description: Amiga filesystem support This package contains the Amiga filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: md-modules-4.19.0-7-m68k-di +Package: md-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-m68k-di, crc-modules-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di, crc-modules-4.19.0-8-m68k-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: crc-modules-4.19.0-7-m68k-di +Package: crc-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: crypto-modules-4.19.0-7-m68k-di +Package: crypto-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: ata-modules-4.19.0-7-m68k-di +Package: ata-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-4.19.0-7-m68k-di, scsi-core-modules-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di, scsi-core-modules-4.19.0-8-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: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: nbd-modules-4.19.0-7-m68k-di +Package: nbd-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: squashfs-modules-4.19.0-7-m68k-di +Package: squashfs-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-m68k-di, compress-modules-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di, compress-modules-4.19.0-8-m68k-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: zlib-modules-4.19.0-7-m68k-di +Package: zlib-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: zlib-modules -Depends: kernel-image-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di Description: zlib modules This package contains zlib modules. Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: compress-modules-4.19.0-7-m68k-di +Package: compress-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: udf-modules-4.19.0-7-m68k-di +Package: udf-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-m68k-di, crc-modules-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di, crc-modules-4.19.0-8-m68k-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: fuse-modules-4.19.0-7-m68k-di +Package: fuse-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: ide-core-modules-4.19.0-7-m68k-di +Package: ide-core-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: standard Provides: ide-core-modules -Depends: kernel-image-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di Description: IDE support This package contains core IDE support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: ide-modules-4.19.0-7-m68k-di +Package: ide-modules-4.19.0-8-m68k-di Architecture: m68k Section: debian-installer Priority: standard Provides: ide-modules -Depends: kernel-image-4.19.0-7-m68k-di, ide-core-modules-4.19.0-7-m68k-di +Depends: kernel-image-4.19.0-8-m68k-di, ide-core-modules-4.19.0-8-m68k-di Description: IDE drivers This package contains IDE drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-m68k +Kernel-Version: 4.19.0-8-m68k Package-Type: udeb -Package: linux-image-4.19.0-7-m68k +Package: linux-image-4.19.0-8-m68k Architecture: m68k -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [m68k] | linux-initramfs-tool [m68k] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [m68k] | linux-initramfs-tool [m68k] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [m68k] Suggests: linux-doc-4.19, debian-kernel-handbook, vmelilo [m68k], fdutils [m68k] Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -6670,38 +6670,38 @@ The Linux kernel 4.19 and modules for use on Motorola MC68020+ family. Build-Profiles: -Package: linux-headers-4.19.0-7-m68k +Package: linux-headers-4.19.0-8-m68k Architecture: m68k -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-m68k +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-m68k This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-m68k, generally used for building out-of-tree kernel + Linux kernel 4.19.0-8-m68k, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-m68k, and can be used for building modules - that load into the kernel provided by the linux-image-4.19.0-7-m68k + /usr/src/linux-headers-4.19.0-8-m68k, and can be used for building modules + that load into the kernel provided by the linux-image-4.19.0-8-m68k package. Build-Profiles: -Package: linux-image-4.19.0-7-m68k-dbg +Package: linux-image-4.19.0-8-m68k-dbg Architecture: m68k Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-m68k +Description: Debug symbols for linux-image-4.19.0-8-m68k This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-m68k. + modules in linux-image-4.19.0-8-m68k. Build-Profiles: -Package: linux-headers-4.19.0-7-all-mips +Package: linux-headers-4.19.0-8-all-mips Architecture: mips -Depends: ${misc:Depends}, linux-headers-4.19.0-7-4kc-malta (= ${binary:Version}), linux-headers-4.19.0-7-5kc-malta (= ${binary:Version}), linux-headers-4.19.0-7-octeon (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-4kc-malta (= ${binary:Version}), linux-headers-4.19.0-8-5kc-malta (= ${binary:Version}), linux-headers-4.19.0-8-octeon (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: kernel-image-4.19.0-7-4kc-malta-di +Package: kernel-image-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard @@ -6711,557 +6711,557 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: nic-modules-4.19.0-7-4kc-malta-di +Package: nic-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, nic-shared-modules-4.19.0-7-4kc-malta-di, i2c-modules-4.19.0-7-4kc-malta-di, crc-modules-4.19.0-7-4kc-malta-di, zlib-modules-4.19.0-7-4kc-malta-di, mtd-core-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, nic-shared-modules-4.19.0-8-4kc-malta-di, i2c-modules-4.19.0-8-4kc-malta-di, crc-modules-4.19.0-8-4kc-malta-di, zlib-modules-4.19.0-8-4kc-malta-di, mtd-core-modules-4.19.0-8-4kc-malta-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: nic-wireless-modules-4.19.0-7-4kc-malta-di +Package: nic-wireless-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, nic-shared-modules-4.19.0-7-4kc-malta-di, usb-modules-4.19.0-7-4kc-malta-di, mmc-core-modules-4.19.0-7-4kc-malta-di, crc-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, nic-shared-modules-4.19.0-8-4kc-malta-di, usb-modules-4.19.0-8-4kc-malta-di, mmc-core-modules-4.19.0-8-4kc-malta-di, crc-modules-4.19.0-8-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: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-4kc-malta-di +Package: nic-shared-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: usb-serial-modules-4.19.0-7-4kc-malta-di +Package: usb-serial-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, usb-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, usb-modules-4.19.0-8-4kc-malta-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: ppp-modules-4.19.0-7-4kc-malta-di +Package: ppp-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, zlib-modules-4.19.0-7-4kc-malta-di, crc-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, zlib-modules-4.19.0-8-4kc-malta-di, crc-modules-4.19.0-8-4kc-malta-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: pata-modules-4.19.0-7-4kc-malta-di +Package: pata-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, ata-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, ata-modules-4.19.0-8-4kc-malta-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: cdrom-core-modules-4.19.0-7-4kc-malta-di +Package: cdrom-core-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, scsi-core-modules-4.19.0-7-4kc-malta-di, isofs-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, scsi-core-modules-4.19.0-8-4kc-malta-di, isofs-modules-4.19.0-8-4kc-malta-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: scsi-core-modules-4.19.0-7-4kc-malta-di +Package: scsi-core-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: scsi-modules-4.19.0-7-4kc-malta-di +Package: scsi-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, scsi-core-modules-4.19.0-7-4kc-malta-di, cdrom-core-modules-4.19.0-7-4kc-malta-di, ata-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, scsi-core-modules-4.19.0-8-4kc-malta-di, cdrom-core-modules-4.19.0-8-4kc-malta-di, ata-modules-4.19.0-8-4kc-malta-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: scsi-nic-modules-4.19.0-7-4kc-malta-di +Package: scsi-nic-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-4.19.0-7-4kc-malta-di, nic-modules-4.19.0-7-4kc-malta-di +Depends: scsi-modules-4.19.0-8-4kc-malta-di, nic-modules-4.19.0-8-4kc-malta-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: loop-modules-4.19.0-7-4kc-malta-di +Package: loop-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: btrfs-modules-4.19.0-7-4kc-malta-di +Package: btrfs-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, crc-modules-4.19.0-7-4kc-malta-di, zlib-modules-4.19.0-7-4kc-malta-di, compress-modules-4.19.0-7-4kc-malta-di, md-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, crc-modules-4.19.0-8-4kc-malta-di, zlib-modules-4.19.0-8-4kc-malta-di, compress-modules-4.19.0-8-4kc-malta-di, md-modules-4.19.0-8-4kc-malta-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: ext4-modules-4.19.0-7-4kc-malta-di +Package: ext4-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, crc-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, crc-modules-4.19.0-8-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: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: isofs-modules-4.19.0-7-4kc-malta-di +Package: isofs-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: jfs-modules-4.19.0-7-4kc-malta-di +Package: jfs-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: xfs-modules-4.19.0-7-4kc-malta-di +Package: xfs-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, crc-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, crc-modules-4.19.0-8-4kc-malta-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: fat-modules-4.19.0-7-4kc-malta-di +Package: fat-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: hfs-modules-4.19.0-7-4kc-malta-di +Package: hfs-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: hfs-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di Description: HFS filesystem support This package contains the HFS and HFS+ filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: affs-modules-4.19.0-7-4kc-malta-di +Package: affs-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: affs-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di Description: Amiga filesystem support This package contains the Amiga filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: minix-modules-4.19.0-7-4kc-malta-di +Package: minix-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: minix-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di Description: Minix filesystem support This package contains the Minix filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: md-modules-4.19.0-7-4kc-malta-di +Package: md-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, crc-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, crc-modules-4.19.0-8-4kc-malta-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: multipath-modules-4.19.0-7-4kc-malta-di +Package: multipath-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, md-modules-4.19.0-7-4kc-malta-di, scsi-core-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, md-modules-4.19.0-8-4kc-malta-di, scsi-core-modules-4.19.0-8-4kc-malta-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: usb-modules-4.19.0-7-4kc-malta-di +Package: usb-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: usb-storage-modules-4.19.0-7-4kc-malta-di +Package: usb-storage-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, scsi-core-modules-4.19.0-7-4kc-malta-di, usb-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, scsi-core-modules-4.19.0-8-4kc-malta-di, usb-modules-4.19.0-8-4kc-malta-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: fb-modules-4.19.0-7-4kc-malta-di +Package: fb-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, i2c-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, i2c-modules-4.19.0-8-4kc-malta-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: input-modules-4.19.0-7-4kc-malta-di +Package: input-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, usb-modules-4.19.0-7-4kc-malta-di, i2c-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, usb-modules-4.19.0-8-4kc-malta-di, i2c-modules-4.19.0-8-4kc-malta-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: event-modules-4.19.0-7-4kc-malta-di +Package: event-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: mouse-modules-4.19.0-7-4kc-malta-di +Package: mouse-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, event-modules-4.19.0-7-4kc-malta-di, input-modules-4.19.0-7-4kc-malta-di, usb-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, event-modules-4.19.0-8-4kc-malta-di, input-modules-4.19.0-8-4kc-malta-di, usb-modules-4.19.0-8-4kc-malta-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: nic-usb-modules-4.19.0-7-4kc-malta-di +Package: nic-usb-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, nic-shared-modules-4.19.0-7-4kc-malta-di, nic-wireless-modules-4.19.0-7-4kc-malta-di, usb-modules-4.19.0-7-4kc-malta-di, crc-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, nic-shared-modules-4.19.0-8-4kc-malta-di, nic-wireless-modules-4.19.0-8-4kc-malta-di, usb-modules-4.19.0-8-4kc-malta-di, crc-modules-4.19.0-8-4kc-malta-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: sata-modules-4.19.0-7-4kc-malta-di +Package: sata-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, scsi-core-modules-4.19.0-7-4kc-malta-di, ata-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, scsi-core-modules-4.19.0-8-4kc-malta-di, ata-modules-4.19.0-8-4kc-malta-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: i2c-modules-4.19.0-7-4kc-malta-di +Package: i2c-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: crc-modules-4.19.0-7-4kc-malta-di +Package: crc-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: crypto-modules-4.19.0-7-4kc-malta-di +Package: crypto-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-4kc-malta-di +Package: crypto-dm-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, md-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, md-modules-4.19.0-8-4kc-malta-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: ata-modules-4.19.0-7-4kc-malta-di +Package: ata-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, scsi-core-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, scsi-core-modules-4.19.0-8-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: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: mmc-core-modules-4.19.0-7-4kc-malta-di +Package: mmc-core-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: mmc-core-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di Description: MMC/SD/SDIO core modules This package contains core modules for MMC/SD/SDIO support. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: mmc-modules-4.19.0-7-4kc-malta-di +Package: mmc-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: mmc-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, mmc-core-modules-4.19.0-7-4kc-malta-di, usb-modules-4.19.0-7-4kc-malta-di, crc-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, mmc-core-modules-4.19.0-8-4kc-malta-di, usb-modules-4.19.0-8-4kc-malta-di, crc-modules-4.19.0-8-4kc-malta-di Description: MMC/SD card modules This package contains modules needed to support MMC (multimedia) and SD cards. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: nbd-modules-4.19.0-7-4kc-malta-di +Package: nbd-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: squashfs-modules-4.19.0-7-4kc-malta-di +Package: squashfs-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, compress-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, compress-modules-4.19.0-8-4kc-malta-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: sound-modules-4.19.0-7-4kc-malta-di +Package: sound-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: sound-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, i2c-modules-4.19.0-7-4kc-malta-di, usb-modules-4.19.0-7-4kc-malta-di, crc-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, i2c-modules-4.19.0-8-4kc-malta-di, usb-modules-4.19.0-8-4kc-malta-di, crc-modules-4.19.0-8-4kc-malta-di Description: sound support This package contains sound modules. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: zlib-modules-4.19.0-7-4kc-malta-di +Package: zlib-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: zlib-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di Description: zlib modules This package contains zlib modules. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: compress-modules-4.19.0-7-4kc-malta-di +Package: compress-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: udf-modules-4.19.0-7-4kc-malta-di +Package: udf-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di, crc-modules-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di, crc-modules-4.19.0-8-4kc-malta-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: fuse-modules-4.19.0-7-4kc-malta-di +Package: fuse-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: mtd-core-modules-4.19.0-7-4kc-malta-di +Package: mtd-core-modules-4.19.0-8-4kc-malta-di Architecture: mips mipsel Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-4.19.0-7-4kc-malta-di +Depends: kernel-image-4.19.0-8-4kc-malta-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 4.19.0-7-4kc-malta +Kernel-Version: 4.19.0-8-4kc-malta Package-Type: udeb -Package: kernel-image-4.19.0-7-octeon-di +Package: kernel-image-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard @@ -7271,485 +7271,485 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: nic-modules-4.19.0-7-octeon-di +Package: nic-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-4.19.0-7-octeon-di, nic-shared-modules-4.19.0-7-octeon-di, crc-modules-4.19.0-7-octeon-di, zlib-modules-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di, nic-shared-modules-4.19.0-8-octeon-di, crc-modules-4.19.0-8-octeon-di, zlib-modules-4.19.0-8-octeon-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: nic-wireless-modules-4.19.0-7-octeon-di +Package: nic-wireless-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-4.19.0-7-octeon-di, nic-shared-modules-4.19.0-7-octeon-di, usb-modules-4.19.0-7-octeon-di, crc-modules-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di, nic-shared-modules-4.19.0-8-octeon-di, usb-modules-4.19.0-8-octeon-di, crc-modules-4.19.0-8-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: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-octeon-di +Package: nic-shared-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: usb-serial-modules-4.19.0-7-octeon-di +Package: usb-serial-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-4.19.0-7-octeon-di, usb-modules-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di, usb-modules-4.19.0-8-octeon-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: ppp-modules-4.19.0-7-octeon-di +Package: ppp-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-4.19.0-7-octeon-di, zlib-modules-4.19.0-7-octeon-di, crc-modules-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di, zlib-modules-4.19.0-8-octeon-di, crc-modules-4.19.0-8-octeon-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: pata-modules-4.19.0-7-octeon-di +Package: pata-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: cdrom-core-modules-4.19.0-7-octeon-di +Package: cdrom-core-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-4.19.0-7-octeon-di, scsi-core-modules-4.19.0-7-octeon-di, isofs-modules-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di, scsi-core-modules-4.19.0-8-octeon-di, isofs-modules-4.19.0-8-octeon-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: scsi-core-modules-4.19.0-7-octeon-di +Package: scsi-core-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: scsi-modules-4.19.0-7-octeon-di +Package: scsi-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-4.19.0-7-octeon-di, scsi-core-modules-4.19.0-7-octeon-di, cdrom-core-modules-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di, scsi-core-modules-4.19.0-8-octeon-di, cdrom-core-modules-4.19.0-8-octeon-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: scsi-nic-modules-4.19.0-7-octeon-di +Package: scsi-nic-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-4.19.0-7-octeon-di, nic-modules-4.19.0-7-octeon-di +Depends: scsi-modules-4.19.0-8-octeon-di, nic-modules-4.19.0-8-octeon-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: loop-modules-4.19.0-7-octeon-di +Package: loop-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: btrfs-modules-4.19.0-7-octeon-di +Package: btrfs-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-octeon-di, crc-modules-4.19.0-7-octeon-di, zlib-modules-4.19.0-7-octeon-di, compress-modules-4.19.0-7-octeon-di, md-modules-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di, crc-modules-4.19.0-8-octeon-di, zlib-modules-4.19.0-8-octeon-di, compress-modules-4.19.0-8-octeon-di, md-modules-4.19.0-8-octeon-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: ext4-modules-4.19.0-7-octeon-di +Package: ext4-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-octeon-di, crc-modules-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di, crc-modules-4.19.0-8-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: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: isofs-modules-4.19.0-7-octeon-di +Package: isofs-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: jfs-modules-4.19.0-7-octeon-di +Package: jfs-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: xfs-modules-4.19.0-7-octeon-di +Package: xfs-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-4.19.0-7-octeon-di, crc-modules-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di, crc-modules-4.19.0-8-octeon-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: fat-modules-4.19.0-7-octeon-di +Package: fat-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: hfs-modules-4.19.0-7-octeon-di +Package: hfs-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: hfs-modules -Depends: kernel-image-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di Description: HFS filesystem support This package contains the HFS and HFS+ filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: affs-modules-4.19.0-7-octeon-di +Package: affs-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: affs-modules -Depends: kernel-image-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di Description: Amiga filesystem support This package contains the Amiga filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: minix-modules-4.19.0-7-octeon-di +Package: minix-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: minix-modules -Depends: kernel-image-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di Description: Minix filesystem support This package contains the Minix filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: md-modules-4.19.0-7-octeon-di +Package: md-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-octeon-di, crc-modules-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di, crc-modules-4.19.0-8-octeon-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: multipath-modules-4.19.0-7-octeon-di +Package: multipath-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-octeon-di, md-modules-4.19.0-7-octeon-di, scsi-core-modules-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di, md-modules-4.19.0-8-octeon-di, scsi-core-modules-4.19.0-8-octeon-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: usb-modules-4.19.0-7-octeon-di +Package: usb-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: usb-storage-modules-4.19.0-7-octeon-di +Package: usb-storage-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-4.19.0-7-octeon-di, scsi-core-modules-4.19.0-7-octeon-di, usb-modules-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di, scsi-core-modules-4.19.0-8-octeon-di, usb-modules-4.19.0-8-octeon-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: input-modules-4.19.0-7-octeon-di +Package: input-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-4.19.0-7-octeon-di, usb-modules-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di, usb-modules-4.19.0-8-octeon-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: event-modules-4.19.0-7-octeon-di +Package: event-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: nic-usb-modules-4.19.0-7-octeon-di +Package: nic-usb-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-4.19.0-7-octeon-di, nic-shared-modules-4.19.0-7-octeon-di, nic-wireless-modules-4.19.0-7-octeon-di, usb-modules-4.19.0-7-octeon-di, crc-modules-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di, nic-shared-modules-4.19.0-8-octeon-di, nic-wireless-modules-4.19.0-8-octeon-di, usb-modules-4.19.0-8-octeon-di, crc-modules-4.19.0-8-octeon-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: sata-modules-4.19.0-7-octeon-di +Package: sata-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-4.19.0-7-octeon-di, scsi-core-modules-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di, scsi-core-modules-4.19.0-8-octeon-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: crc-modules-4.19.0-7-octeon-di +Package: crc-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: crypto-modules-4.19.0-7-octeon-di +Package: crypto-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-octeon-di +Package: crypto-dm-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-octeon-di, md-modules-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di, md-modules-4.19.0-8-octeon-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: nbd-modules-4.19.0-7-octeon-di +Package: nbd-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: squashfs-modules-4.19.0-7-octeon-di +Package: squashfs-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-octeon-di, compress-modules-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di, compress-modules-4.19.0-8-octeon-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: rtc-modules-4.19.0-7-octeon-di +Package: rtc-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: rtc-modules -Depends: kernel-image-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di Description: RTC modules This package contains RTC modules. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: sound-modules-4.19.0-7-octeon-di +Package: sound-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: sound-modules -Depends: kernel-image-4.19.0-7-octeon-di, usb-modules-4.19.0-7-octeon-di, crc-modules-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di, usb-modules-4.19.0-8-octeon-di, crc-modules-4.19.0-8-octeon-di Description: sound support This package contains sound modules. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: zlib-modules-4.19.0-7-octeon-di +Package: zlib-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: zlib-modules -Depends: kernel-image-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di Description: zlib modules This package contains zlib modules. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: compress-modules-4.19.0-7-octeon-di +Package: compress-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: udf-modules-4.19.0-7-octeon-di +Package: udf-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-octeon-di, crc-modules-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di, crc-modules-4.19.0-8-octeon-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: fuse-modules-4.19.0-7-octeon-di +Package: fuse-modules-4.19.0-8-octeon-di Architecture: mips mips64 mips64el mipsel Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-octeon-di +Depends: kernel-image-4.19.0-8-octeon-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-octeon +Kernel-Version: 4.19.0-8-octeon Package-Type: udeb -Package: linux-image-4.19.0-7-4kc-malta +Package: linux-image-4.19.0-8-4kc-malta Architecture: mips mipsel -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mips mipsel] | linux-initramfs-tool [mips mipsel] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mips mipsel] | linux-initramfs-tool [mips mipsel] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [mips mipsel] Suggests: linux-doc-4.19, debian-kernel-handbook Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -7757,31 +7757,31 @@ The Linux kernel 4.19 and modules for use on MIPS Malta boards. Build-Profiles: -Package: linux-headers-4.19.0-7-4kc-malta +Package: linux-headers-4.19.0-8-4kc-malta Architecture: mips mipsel -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-4kc-malta +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-4kc-malta This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-4kc-malta, generally used for building out-of-tree + Linux kernel 4.19.0-8-4kc-malta, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-4kc-malta, and can be used for building + /usr/src/linux-headers-4.19.0-8-4kc-malta, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-4kc-malta package. + linux-image-4.19.0-8-4kc-malta package. Build-Profiles: -Package: linux-image-4.19.0-7-4kc-malta-dbg +Package: linux-image-4.19.0-8-4kc-malta-dbg Architecture: mips mipsel Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-4kc-malta +Description: Debug symbols for linux-image-4.19.0-8-4kc-malta This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-4kc-malta. + modules in linux-image-4.19.0-8-4kc-malta. Build-Profiles: -Package: linux-image-4.19.0-7-5kc-malta +Package: linux-image-4.19.0-8-5kc-malta Architecture: mips mips64 mips64el mipsel -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe 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-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mips mips64 mips64el mipsel] | linux-initramfs-tool [mips mips64 mips64el mipsel] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [mips mips64 mips64el mipsel] Suggests: linux-doc-4.19, debian-kernel-handbook Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -7789,31 +7789,31 @@ The Linux kernel 4.19 and modules for use on MIPS Malta boards (64-bit). Build-Profiles: -Package: linux-headers-4.19.0-7-5kc-malta +Package: linux-headers-4.19.0-8-5kc-malta Architecture: mips mips64 mips64el mipsel -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-5kc-malta +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-5kc-malta This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-5kc-malta, generally used for building out-of-tree + Linux kernel 4.19.0-8-5kc-malta, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-5kc-malta, and can be used for building + /usr/src/linux-headers-4.19.0-8-5kc-malta, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-5kc-malta package. + linux-image-4.19.0-8-5kc-malta package. Build-Profiles: -Package: linux-image-4.19.0-7-5kc-malta-dbg +Package: linux-image-4.19.0-8-5kc-malta-dbg Architecture: mips mips64 mips64el mipsel Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-5kc-malta +Description: Debug symbols for linux-image-4.19.0-8-5kc-malta This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-5kc-malta. + modules in linux-image-4.19.0-8-5kc-malta. Build-Profiles: -Package: linux-image-4.19.0-7-octeon +Package: linux-image-4.19.0-8-octeon Architecture: mips mips64 mips64el mipsel -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe 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-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mips mips64 mips64el mipsel] | linux-initramfs-tool [mips mips64 mips64el mipsel] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [mips mips64 mips64el mipsel] Suggests: linux-doc-4.19, debian-kernel-handbook Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -7821,38 +7821,38 @@ The Linux kernel 4.19 and modules for use on Cavium Networks Octeon. Build-Profiles: -Package: linux-headers-4.19.0-7-octeon +Package: linux-headers-4.19.0-8-octeon Architecture: mips mips64 mips64el mipsel -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-octeon +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-octeon This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-octeon, generally used for building out-of-tree + Linux kernel 4.19.0-8-octeon, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-octeon, and can be used for building + /usr/src/linux-headers-4.19.0-8-octeon, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-octeon package. + linux-image-4.19.0-8-octeon package. Build-Profiles: -Package: linux-image-4.19.0-7-octeon-dbg +Package: linux-image-4.19.0-8-octeon-dbg Architecture: mips mips64 mips64el mipsel Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-octeon +Description: Debug symbols for linux-image-4.19.0-8-octeon This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-octeon. + modules in linux-image-4.19.0-8-octeon. Build-Profiles: -Package: linux-headers-4.19.0-7-all-mips64 +Package: linux-headers-4.19.0-8-all-mips64 Architecture: mips64 -Depends: ${misc:Depends}, linux-headers-4.19.0-7-5kc-malta (= ${binary:Version}), linux-headers-4.19.0-7-octeon (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-5kc-malta (= ${binary:Version}), linux-headers-4.19.0-8-octeon (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: kernel-image-4.19.0-7-5kc-malta-di +Package: kernel-image-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard @@ -7862,566 +7862,566 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: nic-modules-4.19.0-7-5kc-malta-di +Package: nic-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, nic-shared-modules-4.19.0-7-5kc-malta-di, i2c-modules-4.19.0-7-5kc-malta-di, crc-modules-4.19.0-7-5kc-malta-di, zlib-modules-4.19.0-7-5kc-malta-di, mtd-core-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, nic-shared-modules-4.19.0-8-5kc-malta-di, i2c-modules-4.19.0-8-5kc-malta-di, crc-modules-4.19.0-8-5kc-malta-di, zlib-modules-4.19.0-8-5kc-malta-di, mtd-core-modules-4.19.0-8-5kc-malta-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: nic-wireless-modules-4.19.0-7-5kc-malta-di +Package: nic-wireless-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, nic-shared-modules-4.19.0-7-5kc-malta-di, usb-modules-4.19.0-7-5kc-malta-di, mmc-core-modules-4.19.0-7-5kc-malta-di, crc-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, nic-shared-modules-4.19.0-8-5kc-malta-di, usb-modules-4.19.0-8-5kc-malta-di, mmc-core-modules-4.19.0-8-5kc-malta-di, crc-modules-4.19.0-8-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: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-5kc-malta-di +Package: nic-shared-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: usb-serial-modules-4.19.0-7-5kc-malta-di +Package: usb-serial-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, usb-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, usb-modules-4.19.0-8-5kc-malta-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: ppp-modules-4.19.0-7-5kc-malta-di +Package: ppp-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, zlib-modules-4.19.0-7-5kc-malta-di, crc-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, zlib-modules-4.19.0-8-5kc-malta-di, crc-modules-4.19.0-8-5kc-malta-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: pata-modules-4.19.0-7-5kc-malta-di +Package: pata-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, ata-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, ata-modules-4.19.0-8-5kc-malta-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: cdrom-core-modules-4.19.0-7-5kc-malta-di +Package: cdrom-core-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, scsi-core-modules-4.19.0-7-5kc-malta-di, isofs-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, scsi-core-modules-4.19.0-8-5kc-malta-di, isofs-modules-4.19.0-8-5kc-malta-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: scsi-core-modules-4.19.0-7-5kc-malta-di +Package: scsi-core-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: scsi-modules-4.19.0-7-5kc-malta-di +Package: scsi-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, scsi-core-modules-4.19.0-7-5kc-malta-di, cdrom-core-modules-4.19.0-7-5kc-malta-di, ata-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, scsi-core-modules-4.19.0-8-5kc-malta-di, cdrom-core-modules-4.19.0-8-5kc-malta-di, ata-modules-4.19.0-8-5kc-malta-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: scsi-nic-modules-4.19.0-7-5kc-malta-di +Package: scsi-nic-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-4.19.0-7-5kc-malta-di, nic-modules-4.19.0-7-5kc-malta-di +Depends: scsi-modules-4.19.0-8-5kc-malta-di, nic-modules-4.19.0-8-5kc-malta-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: loop-modules-4.19.0-7-5kc-malta-di +Package: loop-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: btrfs-modules-4.19.0-7-5kc-malta-di +Package: btrfs-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, crc-modules-4.19.0-7-5kc-malta-di, zlib-modules-4.19.0-7-5kc-malta-di, compress-modules-4.19.0-7-5kc-malta-di, md-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, crc-modules-4.19.0-8-5kc-malta-di, zlib-modules-4.19.0-8-5kc-malta-di, compress-modules-4.19.0-8-5kc-malta-di, md-modules-4.19.0-8-5kc-malta-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: ext4-modules-4.19.0-7-5kc-malta-di +Package: ext4-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, crc-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, crc-modules-4.19.0-8-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: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: isofs-modules-4.19.0-7-5kc-malta-di +Package: isofs-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: jfs-modules-4.19.0-7-5kc-malta-di +Package: jfs-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: xfs-modules-4.19.0-7-5kc-malta-di +Package: xfs-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, crc-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, crc-modules-4.19.0-8-5kc-malta-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: fat-modules-4.19.0-7-5kc-malta-di +Package: fat-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: hfs-modules-4.19.0-7-5kc-malta-di +Package: hfs-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: hfs-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di Description: HFS filesystem support This package contains the HFS and HFS+ filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: affs-modules-4.19.0-7-5kc-malta-di +Package: affs-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: affs-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di Description: Amiga filesystem support This package contains the Amiga filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: minix-modules-4.19.0-7-5kc-malta-di +Package: minix-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: minix-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di Description: Minix filesystem support This package contains the Minix filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: md-modules-4.19.0-7-5kc-malta-di +Package: md-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, crc-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, crc-modules-4.19.0-8-5kc-malta-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: multipath-modules-4.19.0-7-5kc-malta-di +Package: multipath-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, md-modules-4.19.0-7-5kc-malta-di, scsi-core-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, md-modules-4.19.0-8-5kc-malta-di, scsi-core-modules-4.19.0-8-5kc-malta-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: usb-modules-4.19.0-7-5kc-malta-di +Package: usb-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: usb-storage-modules-4.19.0-7-5kc-malta-di +Package: usb-storage-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, scsi-core-modules-4.19.0-7-5kc-malta-di, usb-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, scsi-core-modules-4.19.0-8-5kc-malta-di, usb-modules-4.19.0-8-5kc-malta-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: fb-modules-4.19.0-7-5kc-malta-di +Package: fb-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, i2c-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, i2c-modules-4.19.0-8-5kc-malta-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: input-modules-4.19.0-7-5kc-malta-di +Package: input-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, usb-modules-4.19.0-7-5kc-malta-di, i2c-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, usb-modules-4.19.0-8-5kc-malta-di, i2c-modules-4.19.0-8-5kc-malta-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: event-modules-4.19.0-7-5kc-malta-di +Package: event-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: mouse-modules-4.19.0-7-5kc-malta-di +Package: mouse-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, event-modules-4.19.0-7-5kc-malta-di, input-modules-4.19.0-7-5kc-malta-di, usb-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, event-modules-4.19.0-8-5kc-malta-di, input-modules-4.19.0-8-5kc-malta-di, usb-modules-4.19.0-8-5kc-malta-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: nic-usb-modules-4.19.0-7-5kc-malta-di +Package: nic-usb-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, nic-shared-modules-4.19.0-7-5kc-malta-di, nic-wireless-modules-4.19.0-7-5kc-malta-di, usb-modules-4.19.0-7-5kc-malta-di, crc-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, nic-shared-modules-4.19.0-8-5kc-malta-di, nic-wireless-modules-4.19.0-8-5kc-malta-di, usb-modules-4.19.0-8-5kc-malta-di, crc-modules-4.19.0-8-5kc-malta-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: sata-modules-4.19.0-7-5kc-malta-di +Package: sata-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, scsi-core-modules-4.19.0-7-5kc-malta-di, ata-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, scsi-core-modules-4.19.0-8-5kc-malta-di, ata-modules-4.19.0-8-5kc-malta-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: i2c-modules-4.19.0-7-5kc-malta-di +Package: i2c-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: crc-modules-4.19.0-7-5kc-malta-di +Package: crc-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: crypto-modules-4.19.0-7-5kc-malta-di +Package: crypto-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-5kc-malta-di +Package: crypto-dm-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, md-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, md-modules-4.19.0-8-5kc-malta-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: ata-modules-4.19.0-7-5kc-malta-di +Package: ata-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, scsi-core-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, scsi-core-modules-4.19.0-8-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: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: mmc-core-modules-4.19.0-7-5kc-malta-di +Package: mmc-core-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: mmc-core-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di Description: MMC/SD/SDIO core modules This package contains core modules for MMC/SD/SDIO support. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: mmc-modules-4.19.0-7-5kc-malta-di +Package: mmc-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: mmc-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, mmc-core-modules-4.19.0-7-5kc-malta-di, usb-modules-4.19.0-7-5kc-malta-di, crc-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, mmc-core-modules-4.19.0-8-5kc-malta-di, usb-modules-4.19.0-8-5kc-malta-di, crc-modules-4.19.0-8-5kc-malta-di Description: MMC/SD card modules This package contains modules needed to support MMC (multimedia) and SD cards. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: nbd-modules-4.19.0-7-5kc-malta-di +Package: nbd-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: squashfs-modules-4.19.0-7-5kc-malta-di +Package: squashfs-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, compress-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, compress-modules-4.19.0-8-5kc-malta-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: sound-modules-4.19.0-7-5kc-malta-di +Package: sound-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: sound-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, i2c-modules-4.19.0-7-5kc-malta-di, usb-modules-4.19.0-7-5kc-malta-di, crc-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, i2c-modules-4.19.0-8-5kc-malta-di, usb-modules-4.19.0-8-5kc-malta-di, crc-modules-4.19.0-8-5kc-malta-di Description: sound support This package contains sound modules. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: zlib-modules-4.19.0-7-5kc-malta-di +Package: zlib-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: zlib-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di Description: zlib modules This package contains zlib modules. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: compress-modules-4.19.0-7-5kc-malta-di +Package: compress-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: udf-modules-4.19.0-7-5kc-malta-di +Package: udf-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di, crc-modules-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di, crc-modules-4.19.0-8-5kc-malta-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: fuse-modules-4.19.0-7-5kc-malta-di +Package: fuse-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: mtd-core-modules-4.19.0-7-5kc-malta-di +Package: mtd-core-modules-4.19.0-8-5kc-malta-di Architecture: mips64 mips64el Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-4.19.0-7-5kc-malta-di +Depends: kernel-image-4.19.0-8-5kc-malta-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 4.19.0-7-5kc-malta +Kernel-Version: 4.19.0-8-5kc-malta Package-Type: udeb -Package: linux-headers-4.19.0-7-all-mips64el +Package: linux-headers-4.19.0-8-all-mips64el Architecture: mips64el -Depends: ${misc:Depends}, linux-headers-4.19.0-7-5kc-malta (= ${binary:Version}), linux-headers-4.19.0-7-loongson-3 (= ${binary:Version}), linux-headers-4.19.0-7-octeon (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-5kc-malta (= ${binary:Version}), linux-headers-4.19.0-8-loongson-3 (= ${binary:Version}), linux-headers-4.19.0-8-octeon (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: kernel-image-4.19.0-7-loongson-3-di +Package: kernel-image-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard @@ -8431,546 +8431,546 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: nic-modules-4.19.0-7-loongson-3-di +Package: nic-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-4.19.0-7-loongson-3-di, nic-shared-modules-4.19.0-7-loongson-3-di, crc-modules-4.19.0-7-loongson-3-di, zlib-modules-4.19.0-7-loongson-3-di, mtd-core-modules-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di, nic-shared-modules-4.19.0-8-loongson-3-di, crc-modules-4.19.0-8-loongson-3-di, zlib-modules-4.19.0-8-loongson-3-di, mtd-core-modules-4.19.0-8-loongson-3-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: nic-wireless-modules-4.19.0-7-loongson-3-di +Package: nic-wireless-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-4.19.0-7-loongson-3-di, nic-shared-modules-4.19.0-7-loongson-3-di, usb-modules-4.19.0-7-loongson-3-di, crc-modules-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di, nic-shared-modules-4.19.0-8-loongson-3-di, usb-modules-4.19.0-8-loongson-3-di, crc-modules-4.19.0-8-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: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-loongson-3-di +Package: nic-shared-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: usb-serial-modules-4.19.0-7-loongson-3-di +Package: usb-serial-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-4.19.0-7-loongson-3-di, usb-modules-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di, usb-modules-4.19.0-8-loongson-3-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: ppp-modules-4.19.0-7-loongson-3-di +Package: ppp-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-4.19.0-7-loongson-3-di, zlib-modules-4.19.0-7-loongson-3-di, crc-modules-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di, zlib-modules-4.19.0-8-loongson-3-di, crc-modules-4.19.0-8-loongson-3-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: pata-modules-4.19.0-7-loongson-3-di +Package: pata-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-4.19.0-7-loongson-3-di, ata-modules-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di, ata-modules-4.19.0-8-loongson-3-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: cdrom-core-modules-4.19.0-7-loongson-3-di +Package: cdrom-core-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-4.19.0-7-loongson-3-di, scsi-core-modules-4.19.0-7-loongson-3-di, isofs-modules-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di, scsi-core-modules-4.19.0-8-loongson-3-di, isofs-modules-4.19.0-8-loongson-3-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: firewire-core-modules-4.19.0-7-loongson-3-di +Package: firewire-core-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: firewire-core-modules -Depends: kernel-image-4.19.0-7-loongson-3-di, scsi-core-modules-4.19.0-7-loongson-3-di, crc-modules-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di, scsi-core-modules-4.19.0-8-loongson-3-di, crc-modules-4.19.0-8-loongson-3-di Description: Core FireWire drivers This package contains core FireWire drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: scsi-core-modules-4.19.0-7-loongson-3-di +Package: scsi-core-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: scsi-modules-4.19.0-7-loongson-3-di +Package: scsi-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-4.19.0-7-loongson-3-di, scsi-core-modules-4.19.0-7-loongson-3-di, cdrom-core-modules-4.19.0-7-loongson-3-di, ata-modules-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di, scsi-core-modules-4.19.0-8-loongson-3-di, cdrom-core-modules-4.19.0-8-loongson-3-di, ata-modules-4.19.0-8-loongson-3-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: scsi-nic-modules-4.19.0-7-loongson-3-di +Package: scsi-nic-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-4.19.0-7-loongson-3-di, nic-modules-4.19.0-7-loongson-3-di +Depends: scsi-modules-4.19.0-8-loongson-3-di, nic-modules-4.19.0-8-loongson-3-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: loop-modules-4.19.0-7-loongson-3-di +Package: loop-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: btrfs-modules-4.19.0-7-loongson-3-di +Package: btrfs-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-loongson-3-di, crc-modules-4.19.0-7-loongson-3-di, zlib-modules-4.19.0-7-loongson-3-di, compress-modules-4.19.0-7-loongson-3-di, md-modules-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di, crc-modules-4.19.0-8-loongson-3-di, zlib-modules-4.19.0-8-loongson-3-di, compress-modules-4.19.0-8-loongson-3-di, md-modules-4.19.0-8-loongson-3-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: ext4-modules-4.19.0-7-loongson-3-di +Package: ext4-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-loongson-3-di, crc-modules-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di, crc-modules-4.19.0-8-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: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: isofs-modules-4.19.0-7-loongson-3-di +Package: isofs-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: jfs-modules-4.19.0-7-loongson-3-di +Package: jfs-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: xfs-modules-4.19.0-7-loongson-3-di +Package: xfs-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-4.19.0-7-loongson-3-di, crc-modules-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di, crc-modules-4.19.0-8-loongson-3-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: fat-modules-4.19.0-7-loongson-3-di +Package: fat-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: hfs-modules-4.19.0-7-loongson-3-di +Package: hfs-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: hfs-modules -Depends: kernel-image-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di Description: HFS filesystem support This package contains the HFS and HFS+ filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: affs-modules-4.19.0-7-loongson-3-di +Package: affs-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: affs-modules -Depends: kernel-image-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di Description: Amiga filesystem support This package contains the Amiga filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: minix-modules-4.19.0-7-loongson-3-di +Package: minix-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: minix-modules -Depends: kernel-image-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di Description: Minix filesystem support This package contains the Minix filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: nfs-modules-4.19.0-7-loongson-3-di +Package: nfs-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: nfs-modules -Depends: kernel-image-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di Description: NFS filesystem support This package contains the NFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: md-modules-4.19.0-7-loongson-3-di +Package: md-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-loongson-3-di, crc-modules-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di, crc-modules-4.19.0-8-loongson-3-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: multipath-modules-4.19.0-7-loongson-3-di +Package: multipath-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-loongson-3-di, md-modules-4.19.0-7-loongson-3-di, scsi-core-modules-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di, md-modules-4.19.0-8-loongson-3-di, scsi-core-modules-4.19.0-8-loongson-3-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: usb-modules-4.19.0-7-loongson-3-di +Package: usb-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: usb-storage-modules-4.19.0-7-loongson-3-di +Package: usb-storage-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-4.19.0-7-loongson-3-di, scsi-core-modules-4.19.0-7-loongson-3-di, usb-modules-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di, scsi-core-modules-4.19.0-8-loongson-3-di, usb-modules-4.19.0-8-loongson-3-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: fb-modules-4.19.0-7-loongson-3-di +Package: fb-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: input-modules-4.19.0-7-loongson-3-di +Package: input-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-4.19.0-7-loongson-3-di, usb-modules-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di, usb-modules-4.19.0-8-loongson-3-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: event-modules-4.19.0-7-loongson-3-di +Package: event-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: nic-usb-modules-4.19.0-7-loongson-3-di +Package: nic-usb-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-4.19.0-7-loongson-3-di, nic-shared-modules-4.19.0-7-loongson-3-di, nic-wireless-modules-4.19.0-7-loongson-3-di, usb-modules-4.19.0-7-loongson-3-di, crc-modules-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di, nic-shared-modules-4.19.0-8-loongson-3-di, nic-wireless-modules-4.19.0-8-loongson-3-di, usb-modules-4.19.0-8-loongson-3-di, crc-modules-4.19.0-8-loongson-3-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: sata-modules-4.19.0-7-loongson-3-di +Package: sata-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-4.19.0-7-loongson-3-di, scsi-core-modules-4.19.0-7-loongson-3-di, ata-modules-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di, scsi-core-modules-4.19.0-8-loongson-3-di, ata-modules-4.19.0-8-loongson-3-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: crc-modules-4.19.0-7-loongson-3-di +Package: crc-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: crypto-modules-4.19.0-7-loongson-3-di +Package: crypto-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-loongson-3-di +Package: crypto-dm-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-loongson-3-di, md-modules-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di, md-modules-4.19.0-8-loongson-3-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: ata-modules-4.19.0-7-loongson-3-di +Package: ata-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-4.19.0-7-loongson-3-di, scsi-core-modules-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di, scsi-core-modules-4.19.0-8-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: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: nbd-modules-4.19.0-7-loongson-3-di +Package: nbd-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: squashfs-modules-4.19.0-7-loongson-3-di +Package: squashfs-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-loongson-3-di, compress-modules-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di, compress-modules-4.19.0-8-loongson-3-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: speakup-modules-4.19.0-7-loongson-3-di +Package: speakup-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: speakup-modules -Depends: kernel-image-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di Description: speakup modules This package contains speakup modules. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: sound-modules-4.19.0-7-loongson-3-di +Package: sound-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: sound-modules -Depends: kernel-image-4.19.0-7-loongson-3-di, usb-modules-4.19.0-7-loongson-3-di, firewire-core-modules-4.19.0-7-loongson-3-di, crc-modules-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di, usb-modules-4.19.0-8-loongson-3-di, firewire-core-modules-4.19.0-8-loongson-3-di, crc-modules-4.19.0-8-loongson-3-di Description: sound support This package contains sound modules. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: zlib-modules-4.19.0-7-loongson-3-di +Package: zlib-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: zlib-modules -Depends: kernel-image-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di Description: zlib modules This package contains zlib modules. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: compress-modules-4.19.0-7-loongson-3-di +Package: compress-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: udf-modules-4.19.0-7-loongson-3-di +Package: udf-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-loongson-3-di, crc-modules-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di, crc-modules-4.19.0-8-loongson-3-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: fuse-modules-4.19.0-7-loongson-3-di +Package: fuse-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: mtd-core-modules-4.19.0-7-loongson-3-di +Package: mtd-core-modules-4.19.0-8-loongson-3-di Architecture: mips64el mipsel Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-4.19.0-7-loongson-3-di +Depends: kernel-image-4.19.0-8-loongson-3-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 4.19.0-7-loongson-3 +Kernel-Version: 4.19.0-8-loongson-3 Package-Type: udeb -Package: linux-image-4.19.0-7-loongson-3 +Package: linux-image-4.19.0-8-loongson-3 Architecture: mips64el mipsel -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mips64el mipsel] | linux-initramfs-tool [mips64el mipsel] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mips64el mipsel] | linux-initramfs-tool [mips64el mipsel] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [mips64el mipsel] Suggests: linux-doc-4.19, debian-kernel-handbook Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -8979,38 +8979,38 @@ systems (e.g. from Loongson or Lemote). Build-Profiles: -Package: linux-headers-4.19.0-7-loongson-3 +Package: linux-headers-4.19.0-8-loongson-3 Architecture: mips64el mipsel -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-loongson-3 +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-loongson-3 This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-loongson-3, generally used for building out-of-tree + Linux kernel 4.19.0-8-loongson-3, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-loongson-3, and can be used for building + /usr/src/linux-headers-4.19.0-8-loongson-3, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-loongson-3 package. + linux-image-4.19.0-8-loongson-3 package. Build-Profiles: -Package: linux-image-4.19.0-7-loongson-3-dbg +Package: linux-image-4.19.0-8-loongson-3-dbg Architecture: mips64el mipsel Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-loongson-3 +Description: Debug symbols for linux-image-4.19.0-8-loongson-3 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-loongson-3. + modules in linux-image-4.19.0-8-loongson-3. Build-Profiles: -Package: linux-headers-4.19.0-7-all-mips64r6 +Package: linux-headers-4.19.0-8-all-mips64r6 Architecture: mips64r6 -Depends: ${misc:Depends}, linux-headers-4.19.0-7-mips64r6 (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-mips64r6 (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: kernel-image-4.19.0-7-mips64r6-di +Package: kernel-image-4.19.0-8-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: standard @@ -9020,231 +9020,231 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6 +Kernel-Version: 4.19.0-8-mips64r6 Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-mips64r6-di +Package: nic-shared-modules-4.19.0-8-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-mips64r6-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-mips64r6 +Kernel-Version: 4.19.0-8-mips64r6 Package-Type: udeb -Package: loop-modules-4.19.0-7-mips64r6-di +Package: loop-modules-4.19.0-8-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-mips64r6-di +Depends: kernel-image-4.19.0-8-mips64r6-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6 +Kernel-Version: 4.19.0-8-mips64r6 Package-Type: udeb -Package: btrfs-modules-4.19.0-7-mips64r6-di +Package: btrfs-modules-4.19.0-8-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-mips64r6-di, crc-modules-4.19.0-7-mips64r6-di, zlib-modules-4.19.0-7-mips64r6-di, compress-modules-4.19.0-7-mips64r6-di, md-modules-4.19.0-7-mips64r6-di +Depends: kernel-image-4.19.0-8-mips64r6-di, crc-modules-4.19.0-8-mips64r6-di, zlib-modules-4.19.0-8-mips64r6-di, compress-modules-4.19.0-8-mips64r6-di, md-modules-4.19.0-8-mips64r6-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6 +Kernel-Version: 4.19.0-8-mips64r6 Package-Type: udeb -Package: ext4-modules-4.19.0-7-mips64r6-di +Package: ext4-modules-4.19.0-8-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-mips64r6-di, crc-modules-4.19.0-7-mips64r6-di +Depends: kernel-image-4.19.0-8-mips64r6-di, crc-modules-4.19.0-8-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: 4.19.0-7-mips64r6 +Kernel-Version: 4.19.0-8-mips64r6 Package-Type: udeb -Package: isofs-modules-4.19.0-7-mips64r6-di +Package: isofs-modules-4.19.0-8-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-mips64r6-di +Depends: kernel-image-4.19.0-8-mips64r6-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6 +Kernel-Version: 4.19.0-8-mips64r6 Package-Type: udeb -Package: jfs-modules-4.19.0-7-mips64r6-di +Package: jfs-modules-4.19.0-8-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-mips64r6-di +Depends: kernel-image-4.19.0-8-mips64r6-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6 +Kernel-Version: 4.19.0-8-mips64r6 Package-Type: udeb -Package: xfs-modules-4.19.0-7-mips64r6-di +Package: xfs-modules-4.19.0-8-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-4.19.0-7-mips64r6-di, crc-modules-4.19.0-7-mips64r6-di +Depends: kernel-image-4.19.0-8-mips64r6-di, crc-modules-4.19.0-8-mips64r6-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6 +Kernel-Version: 4.19.0-8-mips64r6 Package-Type: udeb -Package: md-modules-4.19.0-7-mips64r6-di +Package: md-modules-4.19.0-8-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-mips64r6-di, crc-modules-4.19.0-7-mips64r6-di +Depends: kernel-image-4.19.0-8-mips64r6-di, crc-modules-4.19.0-8-mips64r6-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6 +Kernel-Version: 4.19.0-8-mips64r6 Package-Type: udeb -Package: multipath-modules-4.19.0-7-mips64r6-di +Package: multipath-modules-4.19.0-8-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-mips64r6-di, md-modules-4.19.0-7-mips64r6-di +Depends: kernel-image-4.19.0-8-mips64r6-di, md-modules-4.19.0-8-mips64r6-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6 +Kernel-Version: 4.19.0-8-mips64r6 Package-Type: udeb -Package: crc-modules-4.19.0-7-mips64r6-di +Package: crc-modules-4.19.0-8-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-mips64r6-di +Depends: kernel-image-4.19.0-8-mips64r6-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6 +Kernel-Version: 4.19.0-8-mips64r6 Package-Type: udeb -Package: crypto-modules-4.19.0-7-mips64r6-di +Package: crypto-modules-4.19.0-8-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-mips64r6-di +Depends: kernel-image-4.19.0-8-mips64r6-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6 +Kernel-Version: 4.19.0-8-mips64r6 Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-mips64r6-di +Package: crypto-dm-modules-4.19.0-8-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-mips64r6-di, md-modules-4.19.0-7-mips64r6-di +Depends: kernel-image-4.19.0-8-mips64r6-di, md-modules-4.19.0-8-mips64r6-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6 +Kernel-Version: 4.19.0-8-mips64r6 Package-Type: udeb -Package: nbd-modules-4.19.0-7-mips64r6-di +Package: nbd-modules-4.19.0-8-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-mips64r6-di +Depends: kernel-image-4.19.0-8-mips64r6-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6 +Kernel-Version: 4.19.0-8-mips64r6 Package-Type: udeb -Package: squashfs-modules-4.19.0-7-mips64r6-di +Package: squashfs-modules-4.19.0-8-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-mips64r6-di, compress-modules-4.19.0-7-mips64r6-di +Depends: kernel-image-4.19.0-8-mips64r6-di, compress-modules-4.19.0-8-mips64r6-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6 +Kernel-Version: 4.19.0-8-mips64r6 Package-Type: udeb -Package: zlib-modules-4.19.0-7-mips64r6-di +Package: zlib-modules-4.19.0-8-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: optional Provides: zlib-modules -Depends: kernel-image-4.19.0-7-mips64r6-di +Depends: kernel-image-4.19.0-8-mips64r6-di Description: zlib modules This package contains zlib modules. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6 +Kernel-Version: 4.19.0-8-mips64r6 Package-Type: udeb -Package: compress-modules-4.19.0-7-mips64r6-di +Package: compress-modules-4.19.0-8-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-mips64r6-di +Depends: kernel-image-4.19.0-8-mips64r6-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6 +Kernel-Version: 4.19.0-8-mips64r6 Package-Type: udeb -Package: udf-modules-4.19.0-7-mips64r6-di +Package: udf-modules-4.19.0-8-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-mips64r6-di, crc-modules-4.19.0-7-mips64r6-di +Depends: kernel-image-4.19.0-8-mips64r6-di, crc-modules-4.19.0-8-mips64r6-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6 +Kernel-Version: 4.19.0-8-mips64r6 Package-Type: udeb -Package: fuse-modules-4.19.0-7-mips64r6-di +Package: fuse-modules-4.19.0-8-mips64r6-di Architecture: mips64r6 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-mips64r6-di +Depends: kernel-image-4.19.0-8-mips64r6-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6 +Kernel-Version: 4.19.0-8-mips64r6 Package-Type: udeb -Package: linux-image-4.19.0-7-mips64r6 +Package: linux-image-4.19.0-8-mips64r6 Architecture: mips64r6 mipsr6 -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mips64r6 mipsr6] | linux-initramfs-tool [mips64r6 mipsr6] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mips64r6 mipsr6] | linux-initramfs-tool [mips64r6 mipsr6] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [mips64r6 mipsr6] Suggests: linux-doc-4.19, debian-kernel-handbook Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -9252,38 +9252,38 @@ The Linux kernel 4.19 and modules for use on MIPS R6 (64 bit, big endian). Build-Profiles: -Package: linux-headers-4.19.0-7-mips64r6 +Package: linux-headers-4.19.0-8-mips64r6 Architecture: mips64r6 mipsr6 -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-mips64r6 +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-mips64r6 This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-mips64r6, generally used for building out-of-tree + Linux kernel 4.19.0-8-mips64r6, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-mips64r6, and can be used for building + /usr/src/linux-headers-4.19.0-8-mips64r6, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-mips64r6 package. + linux-image-4.19.0-8-mips64r6 package. Build-Profiles: -Package: linux-image-4.19.0-7-mips64r6-dbg +Package: linux-image-4.19.0-8-mips64r6-dbg Architecture: mips64r6 mipsr6 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-mips64r6 +Description: Debug symbols for linux-image-4.19.0-8-mips64r6 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-mips64r6. + modules in linux-image-4.19.0-8-mips64r6. Build-Profiles: -Package: linux-headers-4.19.0-7-all-mips64r6el +Package: linux-headers-4.19.0-8-all-mips64r6el Architecture: mips64r6el -Depends: ${misc:Depends}, linux-headers-4.19.0-7-mips64r6el (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-mips64r6el (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: kernel-image-4.19.0-7-mips64r6el-di +Package: kernel-image-4.19.0-8-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: standard @@ -9293,231 +9293,231 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6el +Kernel-Version: 4.19.0-8-mips64r6el Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-mips64r6el-di +Package: nic-shared-modules-4.19.0-8-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-mips64r6el-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-mips64r6el +Kernel-Version: 4.19.0-8-mips64r6el Package-Type: udeb -Package: loop-modules-4.19.0-7-mips64r6el-di +Package: loop-modules-4.19.0-8-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-mips64r6el-di +Depends: kernel-image-4.19.0-8-mips64r6el-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6el +Kernel-Version: 4.19.0-8-mips64r6el Package-Type: udeb -Package: btrfs-modules-4.19.0-7-mips64r6el-di +Package: btrfs-modules-4.19.0-8-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-mips64r6el-di, crc-modules-4.19.0-7-mips64r6el-di, zlib-modules-4.19.0-7-mips64r6el-di, compress-modules-4.19.0-7-mips64r6el-di, md-modules-4.19.0-7-mips64r6el-di +Depends: kernel-image-4.19.0-8-mips64r6el-di, crc-modules-4.19.0-8-mips64r6el-di, zlib-modules-4.19.0-8-mips64r6el-di, compress-modules-4.19.0-8-mips64r6el-di, md-modules-4.19.0-8-mips64r6el-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6el +Kernel-Version: 4.19.0-8-mips64r6el Package-Type: udeb -Package: ext4-modules-4.19.0-7-mips64r6el-di +Package: ext4-modules-4.19.0-8-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-mips64r6el-di, crc-modules-4.19.0-7-mips64r6el-di +Depends: kernel-image-4.19.0-8-mips64r6el-di, crc-modules-4.19.0-8-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: 4.19.0-7-mips64r6el +Kernel-Version: 4.19.0-8-mips64r6el Package-Type: udeb -Package: isofs-modules-4.19.0-7-mips64r6el-di +Package: isofs-modules-4.19.0-8-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-mips64r6el-di +Depends: kernel-image-4.19.0-8-mips64r6el-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6el +Kernel-Version: 4.19.0-8-mips64r6el Package-Type: udeb -Package: jfs-modules-4.19.0-7-mips64r6el-di +Package: jfs-modules-4.19.0-8-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-mips64r6el-di +Depends: kernel-image-4.19.0-8-mips64r6el-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6el +Kernel-Version: 4.19.0-8-mips64r6el Package-Type: udeb -Package: xfs-modules-4.19.0-7-mips64r6el-di +Package: xfs-modules-4.19.0-8-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-4.19.0-7-mips64r6el-di, crc-modules-4.19.0-7-mips64r6el-di +Depends: kernel-image-4.19.0-8-mips64r6el-di, crc-modules-4.19.0-8-mips64r6el-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6el +Kernel-Version: 4.19.0-8-mips64r6el Package-Type: udeb -Package: md-modules-4.19.0-7-mips64r6el-di +Package: md-modules-4.19.0-8-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-mips64r6el-di, crc-modules-4.19.0-7-mips64r6el-di +Depends: kernel-image-4.19.0-8-mips64r6el-di, crc-modules-4.19.0-8-mips64r6el-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6el +Kernel-Version: 4.19.0-8-mips64r6el Package-Type: udeb -Package: multipath-modules-4.19.0-7-mips64r6el-di +Package: multipath-modules-4.19.0-8-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-mips64r6el-di, md-modules-4.19.0-7-mips64r6el-di +Depends: kernel-image-4.19.0-8-mips64r6el-di, md-modules-4.19.0-8-mips64r6el-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6el +Kernel-Version: 4.19.0-8-mips64r6el Package-Type: udeb -Package: crc-modules-4.19.0-7-mips64r6el-di +Package: crc-modules-4.19.0-8-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-mips64r6el-di +Depends: kernel-image-4.19.0-8-mips64r6el-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6el +Kernel-Version: 4.19.0-8-mips64r6el Package-Type: udeb -Package: crypto-modules-4.19.0-7-mips64r6el-di +Package: crypto-modules-4.19.0-8-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-mips64r6el-di +Depends: kernel-image-4.19.0-8-mips64r6el-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6el +Kernel-Version: 4.19.0-8-mips64r6el Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-mips64r6el-di +Package: crypto-dm-modules-4.19.0-8-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-mips64r6el-di, md-modules-4.19.0-7-mips64r6el-di +Depends: kernel-image-4.19.0-8-mips64r6el-di, md-modules-4.19.0-8-mips64r6el-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6el +Kernel-Version: 4.19.0-8-mips64r6el Package-Type: udeb -Package: nbd-modules-4.19.0-7-mips64r6el-di +Package: nbd-modules-4.19.0-8-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-mips64r6el-di +Depends: kernel-image-4.19.0-8-mips64r6el-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6el +Kernel-Version: 4.19.0-8-mips64r6el Package-Type: udeb -Package: squashfs-modules-4.19.0-7-mips64r6el-di +Package: squashfs-modules-4.19.0-8-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-mips64r6el-di, compress-modules-4.19.0-7-mips64r6el-di +Depends: kernel-image-4.19.0-8-mips64r6el-di, compress-modules-4.19.0-8-mips64r6el-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6el +Kernel-Version: 4.19.0-8-mips64r6el Package-Type: udeb -Package: zlib-modules-4.19.0-7-mips64r6el-di +Package: zlib-modules-4.19.0-8-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: optional Provides: zlib-modules -Depends: kernel-image-4.19.0-7-mips64r6el-di +Depends: kernel-image-4.19.0-8-mips64r6el-di Description: zlib modules This package contains zlib modules. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6el +Kernel-Version: 4.19.0-8-mips64r6el Package-Type: udeb -Package: compress-modules-4.19.0-7-mips64r6el-di +Package: compress-modules-4.19.0-8-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-mips64r6el-di +Depends: kernel-image-4.19.0-8-mips64r6el-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6el +Kernel-Version: 4.19.0-8-mips64r6el Package-Type: udeb -Package: udf-modules-4.19.0-7-mips64r6el-di +Package: udf-modules-4.19.0-8-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-mips64r6el-di, crc-modules-4.19.0-7-mips64r6el-di +Depends: kernel-image-4.19.0-8-mips64r6el-di, crc-modules-4.19.0-8-mips64r6el-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6el +Kernel-Version: 4.19.0-8-mips64r6el Package-Type: udeb -Package: fuse-modules-4.19.0-7-mips64r6el-di +Package: fuse-modules-4.19.0-8-mips64r6el-di Architecture: mips64r6el Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-mips64r6el-di +Depends: kernel-image-4.19.0-8-mips64r6el-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-mips64r6el +Kernel-Version: 4.19.0-8-mips64r6el Package-Type: udeb -Package: linux-image-4.19.0-7-mips64r6el +Package: linux-image-4.19.0-8-mips64r6el Architecture: mips64r6el mipsr6el -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mips64r6el mipsr6el] | linux-initramfs-tool [mips64r6el mipsr6el] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mips64r6el mipsr6el] | linux-initramfs-tool [mips64r6el mipsr6el] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [mips64r6el mipsr6el] Suggests: linux-doc-4.19, debian-kernel-handbook Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -9526,47 +9526,47 @@ endian). Build-Profiles: -Package: linux-headers-4.19.0-7-mips64r6el +Package: linux-headers-4.19.0-8-mips64r6el Architecture: mips64r6el mipsr6el -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-mips64r6el +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-mips64r6el This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-mips64r6el, generally used for building out-of-tree + Linux kernel 4.19.0-8-mips64r6el, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-mips64r6el, and can be used for building + /usr/src/linux-headers-4.19.0-8-mips64r6el, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-mips64r6el package. + linux-image-4.19.0-8-mips64r6el package. Build-Profiles: -Package: linux-image-4.19.0-7-mips64r6el-dbg +Package: linux-image-4.19.0-8-mips64r6el-dbg Architecture: mips64r6el mipsr6el Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-mips64r6el +Description: Debug symbols for linux-image-4.19.0-8-mips64r6el This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-mips64r6el. + modules in linux-image-4.19.0-8-mips64r6el. Build-Profiles: -Package: linux-headers-4.19.0-7-all-mipsel +Package: linux-headers-4.19.0-8-all-mipsel Architecture: mipsel -Depends: ${misc:Depends}, linux-headers-4.19.0-7-4kc-malta (= ${binary:Version}), linux-headers-4.19.0-7-5kc-malta (= ${binary:Version}), linux-headers-4.19.0-7-loongson-3 (= ${binary:Version}), linux-headers-4.19.0-7-octeon (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-4kc-malta (= ${binary:Version}), linux-headers-4.19.0-8-5kc-malta (= ${binary:Version}), linux-headers-4.19.0-8-loongson-3 (= ${binary:Version}), linux-headers-4.19.0-8-octeon (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: linux-headers-4.19.0-7-all-mipsr6 +Package: linux-headers-4.19.0-8-all-mipsr6 Architecture: mipsr6 -Depends: ${misc:Depends}, linux-headers-4.19.0-7-mips32r6 (= ${binary:Version}), linux-headers-4.19.0-7-mips64r6 (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-mips32r6 (= ${binary:Version}), linux-headers-4.19.0-8-mips64r6 (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: kernel-image-4.19.0-7-mips32r6-di +Package: kernel-image-4.19.0-8-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: standard @@ -9576,231 +9576,231 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6 +Kernel-Version: 4.19.0-8-mips32r6 Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-mips32r6-di +Package: nic-shared-modules-4.19.0-8-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-mips32r6-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-mips32r6 +Kernel-Version: 4.19.0-8-mips32r6 Package-Type: udeb -Package: loop-modules-4.19.0-7-mips32r6-di +Package: loop-modules-4.19.0-8-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-mips32r6-di +Depends: kernel-image-4.19.0-8-mips32r6-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6 +Kernel-Version: 4.19.0-8-mips32r6 Package-Type: udeb -Package: btrfs-modules-4.19.0-7-mips32r6-di +Package: btrfs-modules-4.19.0-8-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-mips32r6-di, crc-modules-4.19.0-7-mips32r6-di, zlib-modules-4.19.0-7-mips32r6-di, compress-modules-4.19.0-7-mips32r6-di, md-modules-4.19.0-7-mips32r6-di +Depends: kernel-image-4.19.0-8-mips32r6-di, crc-modules-4.19.0-8-mips32r6-di, zlib-modules-4.19.0-8-mips32r6-di, compress-modules-4.19.0-8-mips32r6-di, md-modules-4.19.0-8-mips32r6-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6 +Kernel-Version: 4.19.0-8-mips32r6 Package-Type: udeb -Package: ext4-modules-4.19.0-7-mips32r6-di +Package: ext4-modules-4.19.0-8-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-mips32r6-di, crc-modules-4.19.0-7-mips32r6-di +Depends: kernel-image-4.19.0-8-mips32r6-di, crc-modules-4.19.0-8-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: 4.19.0-7-mips32r6 +Kernel-Version: 4.19.0-8-mips32r6 Package-Type: udeb -Package: isofs-modules-4.19.0-7-mips32r6-di +Package: isofs-modules-4.19.0-8-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-mips32r6-di +Depends: kernel-image-4.19.0-8-mips32r6-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6 +Kernel-Version: 4.19.0-8-mips32r6 Package-Type: udeb -Package: jfs-modules-4.19.0-7-mips32r6-di +Package: jfs-modules-4.19.0-8-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-mips32r6-di +Depends: kernel-image-4.19.0-8-mips32r6-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6 +Kernel-Version: 4.19.0-8-mips32r6 Package-Type: udeb -Package: xfs-modules-4.19.0-7-mips32r6-di +Package: xfs-modules-4.19.0-8-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-4.19.0-7-mips32r6-di, crc-modules-4.19.0-7-mips32r6-di +Depends: kernel-image-4.19.0-8-mips32r6-di, crc-modules-4.19.0-8-mips32r6-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6 +Kernel-Version: 4.19.0-8-mips32r6 Package-Type: udeb -Package: md-modules-4.19.0-7-mips32r6-di +Package: md-modules-4.19.0-8-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-mips32r6-di, crc-modules-4.19.0-7-mips32r6-di +Depends: kernel-image-4.19.0-8-mips32r6-di, crc-modules-4.19.0-8-mips32r6-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6 +Kernel-Version: 4.19.0-8-mips32r6 Package-Type: udeb -Package: multipath-modules-4.19.0-7-mips32r6-di +Package: multipath-modules-4.19.0-8-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-mips32r6-di, md-modules-4.19.0-7-mips32r6-di +Depends: kernel-image-4.19.0-8-mips32r6-di, md-modules-4.19.0-8-mips32r6-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6 +Kernel-Version: 4.19.0-8-mips32r6 Package-Type: udeb -Package: crc-modules-4.19.0-7-mips32r6-di +Package: crc-modules-4.19.0-8-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-mips32r6-di +Depends: kernel-image-4.19.0-8-mips32r6-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6 +Kernel-Version: 4.19.0-8-mips32r6 Package-Type: udeb -Package: crypto-modules-4.19.0-7-mips32r6-di +Package: crypto-modules-4.19.0-8-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-mips32r6-di +Depends: kernel-image-4.19.0-8-mips32r6-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6 +Kernel-Version: 4.19.0-8-mips32r6 Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-mips32r6-di +Package: crypto-dm-modules-4.19.0-8-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-mips32r6-di, md-modules-4.19.0-7-mips32r6-di +Depends: kernel-image-4.19.0-8-mips32r6-di, md-modules-4.19.0-8-mips32r6-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6 +Kernel-Version: 4.19.0-8-mips32r6 Package-Type: udeb -Package: nbd-modules-4.19.0-7-mips32r6-di +Package: nbd-modules-4.19.0-8-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-mips32r6-di +Depends: kernel-image-4.19.0-8-mips32r6-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6 +Kernel-Version: 4.19.0-8-mips32r6 Package-Type: udeb -Package: squashfs-modules-4.19.0-7-mips32r6-di +Package: squashfs-modules-4.19.0-8-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-mips32r6-di, compress-modules-4.19.0-7-mips32r6-di +Depends: kernel-image-4.19.0-8-mips32r6-di, compress-modules-4.19.0-8-mips32r6-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6 +Kernel-Version: 4.19.0-8-mips32r6 Package-Type: udeb -Package: zlib-modules-4.19.0-7-mips32r6-di +Package: zlib-modules-4.19.0-8-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: optional Provides: zlib-modules -Depends: kernel-image-4.19.0-7-mips32r6-di +Depends: kernel-image-4.19.0-8-mips32r6-di Description: zlib modules This package contains zlib modules. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6 +Kernel-Version: 4.19.0-8-mips32r6 Package-Type: udeb -Package: compress-modules-4.19.0-7-mips32r6-di +Package: compress-modules-4.19.0-8-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-mips32r6-di +Depends: kernel-image-4.19.0-8-mips32r6-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6 +Kernel-Version: 4.19.0-8-mips32r6 Package-Type: udeb -Package: udf-modules-4.19.0-7-mips32r6-di +Package: udf-modules-4.19.0-8-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-mips32r6-di, crc-modules-4.19.0-7-mips32r6-di +Depends: kernel-image-4.19.0-8-mips32r6-di, crc-modules-4.19.0-8-mips32r6-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6 +Kernel-Version: 4.19.0-8-mips32r6 Package-Type: udeb -Package: fuse-modules-4.19.0-7-mips32r6-di +Package: fuse-modules-4.19.0-8-mips32r6-di Architecture: mipsr6 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-mips32r6-di +Depends: kernel-image-4.19.0-8-mips32r6-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6 +Kernel-Version: 4.19.0-8-mips32r6 Package-Type: udeb -Package: linux-image-4.19.0-7-mips32r6 +Package: linux-image-4.19.0-8-mips32r6 Architecture: mipsr6 -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mipsr6] | linux-initramfs-tool [mipsr6] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mipsr6] | linux-initramfs-tool [mipsr6] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [mipsr6] Suggests: linux-doc-4.19, debian-kernel-handbook Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -9808,38 +9808,38 @@ The Linux kernel 4.19 and modules for use on MIPS R6 (32 bit, big endian). Build-Profiles: -Package: linux-headers-4.19.0-7-mips32r6 +Package: linux-headers-4.19.0-8-mips32r6 Architecture: mipsr6 -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-mips32r6 +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-mips32r6 This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-mips32r6, generally used for building out-of-tree + Linux kernel 4.19.0-8-mips32r6, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-mips32r6, and can be used for building + /usr/src/linux-headers-4.19.0-8-mips32r6, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-mips32r6 package. + linux-image-4.19.0-8-mips32r6 package. Build-Profiles: -Package: linux-image-4.19.0-7-mips32r6-dbg +Package: linux-image-4.19.0-8-mips32r6-dbg Architecture: mipsr6 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-mips32r6 +Description: Debug symbols for linux-image-4.19.0-8-mips32r6 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-mips32r6. + modules in linux-image-4.19.0-8-mips32r6. Build-Profiles: -Package: linux-headers-4.19.0-7-all-mipsr6el +Package: linux-headers-4.19.0-8-all-mipsr6el Architecture: mipsr6el -Depends: ${misc:Depends}, linux-headers-4.19.0-7-mips32r6el (= ${binary:Version}), linux-headers-4.19.0-7-mips64r6el (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-mips32r6el (= ${binary:Version}), linux-headers-4.19.0-8-mips64r6el (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: kernel-image-4.19.0-7-mips32r6el-di +Package: kernel-image-4.19.0-8-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: standard @@ -9849,231 +9849,231 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6el +Kernel-Version: 4.19.0-8-mips32r6el Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-mips32r6el-di +Package: nic-shared-modules-4.19.0-8-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-mips32r6el-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-mips32r6el +Kernel-Version: 4.19.0-8-mips32r6el Package-Type: udeb -Package: loop-modules-4.19.0-7-mips32r6el-di +Package: loop-modules-4.19.0-8-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-mips32r6el-di +Depends: kernel-image-4.19.0-8-mips32r6el-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6el +Kernel-Version: 4.19.0-8-mips32r6el Package-Type: udeb -Package: btrfs-modules-4.19.0-7-mips32r6el-di +Package: btrfs-modules-4.19.0-8-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-mips32r6el-di, crc-modules-4.19.0-7-mips32r6el-di, zlib-modules-4.19.0-7-mips32r6el-di, compress-modules-4.19.0-7-mips32r6el-di, md-modules-4.19.0-7-mips32r6el-di +Depends: kernel-image-4.19.0-8-mips32r6el-di, crc-modules-4.19.0-8-mips32r6el-di, zlib-modules-4.19.0-8-mips32r6el-di, compress-modules-4.19.0-8-mips32r6el-di, md-modules-4.19.0-8-mips32r6el-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6el +Kernel-Version: 4.19.0-8-mips32r6el Package-Type: udeb -Package: ext4-modules-4.19.0-7-mips32r6el-di +Package: ext4-modules-4.19.0-8-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-mips32r6el-di, crc-modules-4.19.0-7-mips32r6el-di +Depends: kernel-image-4.19.0-8-mips32r6el-di, crc-modules-4.19.0-8-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: 4.19.0-7-mips32r6el +Kernel-Version: 4.19.0-8-mips32r6el Package-Type: udeb -Package: isofs-modules-4.19.0-7-mips32r6el-di +Package: isofs-modules-4.19.0-8-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-mips32r6el-di +Depends: kernel-image-4.19.0-8-mips32r6el-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6el +Kernel-Version: 4.19.0-8-mips32r6el Package-Type: udeb -Package: jfs-modules-4.19.0-7-mips32r6el-di +Package: jfs-modules-4.19.0-8-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-mips32r6el-di +Depends: kernel-image-4.19.0-8-mips32r6el-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6el +Kernel-Version: 4.19.0-8-mips32r6el Package-Type: udeb -Package: xfs-modules-4.19.0-7-mips32r6el-di +Package: xfs-modules-4.19.0-8-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-4.19.0-7-mips32r6el-di, crc-modules-4.19.0-7-mips32r6el-di +Depends: kernel-image-4.19.0-8-mips32r6el-di, crc-modules-4.19.0-8-mips32r6el-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6el +Kernel-Version: 4.19.0-8-mips32r6el Package-Type: udeb -Package: md-modules-4.19.0-7-mips32r6el-di +Package: md-modules-4.19.0-8-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-mips32r6el-di, crc-modules-4.19.0-7-mips32r6el-di +Depends: kernel-image-4.19.0-8-mips32r6el-di, crc-modules-4.19.0-8-mips32r6el-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6el +Kernel-Version: 4.19.0-8-mips32r6el Package-Type: udeb -Package: multipath-modules-4.19.0-7-mips32r6el-di +Package: multipath-modules-4.19.0-8-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-mips32r6el-di, md-modules-4.19.0-7-mips32r6el-di +Depends: kernel-image-4.19.0-8-mips32r6el-di, md-modules-4.19.0-8-mips32r6el-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6el +Kernel-Version: 4.19.0-8-mips32r6el Package-Type: udeb -Package: crc-modules-4.19.0-7-mips32r6el-di +Package: crc-modules-4.19.0-8-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-mips32r6el-di +Depends: kernel-image-4.19.0-8-mips32r6el-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6el +Kernel-Version: 4.19.0-8-mips32r6el Package-Type: udeb -Package: crypto-modules-4.19.0-7-mips32r6el-di +Package: crypto-modules-4.19.0-8-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-mips32r6el-di +Depends: kernel-image-4.19.0-8-mips32r6el-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6el +Kernel-Version: 4.19.0-8-mips32r6el Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-mips32r6el-di +Package: crypto-dm-modules-4.19.0-8-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-mips32r6el-di, md-modules-4.19.0-7-mips32r6el-di +Depends: kernel-image-4.19.0-8-mips32r6el-di, md-modules-4.19.0-8-mips32r6el-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6el +Kernel-Version: 4.19.0-8-mips32r6el Package-Type: udeb -Package: nbd-modules-4.19.0-7-mips32r6el-di +Package: nbd-modules-4.19.0-8-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-mips32r6el-di +Depends: kernel-image-4.19.0-8-mips32r6el-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6el +Kernel-Version: 4.19.0-8-mips32r6el Package-Type: udeb -Package: squashfs-modules-4.19.0-7-mips32r6el-di +Package: squashfs-modules-4.19.0-8-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-mips32r6el-di, compress-modules-4.19.0-7-mips32r6el-di +Depends: kernel-image-4.19.0-8-mips32r6el-di, compress-modules-4.19.0-8-mips32r6el-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6el +Kernel-Version: 4.19.0-8-mips32r6el Package-Type: udeb -Package: zlib-modules-4.19.0-7-mips32r6el-di +Package: zlib-modules-4.19.0-8-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: optional Provides: zlib-modules -Depends: kernel-image-4.19.0-7-mips32r6el-di +Depends: kernel-image-4.19.0-8-mips32r6el-di Description: zlib modules This package contains zlib modules. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6el +Kernel-Version: 4.19.0-8-mips32r6el Package-Type: udeb -Package: compress-modules-4.19.0-7-mips32r6el-di +Package: compress-modules-4.19.0-8-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-mips32r6el-di +Depends: kernel-image-4.19.0-8-mips32r6el-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6el +Kernel-Version: 4.19.0-8-mips32r6el Package-Type: udeb -Package: udf-modules-4.19.0-7-mips32r6el-di +Package: udf-modules-4.19.0-8-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-mips32r6el-di, crc-modules-4.19.0-7-mips32r6el-di +Depends: kernel-image-4.19.0-8-mips32r6el-di, crc-modules-4.19.0-8-mips32r6el-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6el +Kernel-Version: 4.19.0-8-mips32r6el Package-Type: udeb -Package: fuse-modules-4.19.0-7-mips32r6el-di +Package: fuse-modules-4.19.0-8-mips32r6el-di Architecture: mipsr6el Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-mips32r6el-di +Depends: kernel-image-4.19.0-8-mips32r6el-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-mips32r6el +Kernel-Version: 4.19.0-8-mips32r6el Package-Type: udeb -Package: linux-image-4.19.0-7-mips32r6el +Package: linux-image-4.19.0-8-mips32r6el Architecture: mipsr6el -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mipsr6el] | linux-initramfs-tool [mipsr6el] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [mipsr6el] | linux-initramfs-tool [mipsr6el] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [mipsr6el] Suggests: linux-doc-4.19, debian-kernel-handbook Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -10082,38 +10082,38 @@ endian). Build-Profiles: -Package: linux-headers-4.19.0-7-mips32r6el +Package: linux-headers-4.19.0-8-mips32r6el Architecture: mipsr6el -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-mips32r6el +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-mips32r6el This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-mips32r6el, generally used for building out-of-tree + Linux kernel 4.19.0-8-mips32r6el, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-mips32r6el, and can be used for building + /usr/src/linux-headers-4.19.0-8-mips32r6el, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-mips32r6el package. + linux-image-4.19.0-8-mips32r6el package. Build-Profiles: -Package: linux-image-4.19.0-7-mips32r6el-dbg +Package: linux-image-4.19.0-8-mips32r6el-dbg Architecture: mipsr6el Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-mips32r6el +Description: Debug symbols for linux-image-4.19.0-8-mips32r6el This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-mips32r6el. + modules in linux-image-4.19.0-8-mips32r6el. Build-Profiles: -Package: linux-headers-4.19.0-7-all-powerpc +Package: linux-headers-4.19.0-8-all-powerpc Architecture: powerpc -Depends: ${misc:Depends}, linux-headers-4.19.0-7-powerpc (= ${binary:Version}), linux-headers-4.19.0-7-powerpc-smp (= ${binary:Version}), linux-headers-4.19.0-7-powerpc64 (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-powerpc (= ${binary:Version}), linux-headers-4.19.0-8-powerpc-smp (= ${binary:Version}), linux-headers-4.19.0-8-powerpc64 (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: kernel-image-4.19.0-7-powerpc-di +Package: kernel-image-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard @@ -10123,568 +10123,568 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: nic-modules-4.19.0-7-powerpc-di +Package: nic-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-4.19.0-7-powerpc-di, nic-shared-modules-4.19.0-7-powerpc-di, crc-modules-4.19.0-7-powerpc-di, zlib-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, nic-shared-modules-4.19.0-8-powerpc-di, crc-modules-4.19.0-8-powerpc-di, zlib-modules-4.19.0-8-powerpc-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: nic-wireless-modules-4.19.0-7-powerpc-di +Package: nic-wireless-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-4.19.0-7-powerpc-di, nic-shared-modules-4.19.0-7-powerpc-di, usb-modules-4.19.0-7-powerpc-di, mmc-core-modules-4.19.0-7-powerpc-di, pcmcia-modules-4.19.0-7-powerpc-di, crc-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, nic-shared-modules-4.19.0-8-powerpc-di, usb-modules-4.19.0-8-powerpc-di, mmc-core-modules-4.19.0-8-powerpc-di, pcmcia-modules-4.19.0-8-powerpc-di, crc-modules-4.19.0-8-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: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-powerpc-di +Package: nic-shared-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: serial-modules-4.19.0-7-powerpc-di +Package: serial-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: serial-modules -Depends: kernel-image-4.19.0-7-powerpc-di, pcmcia-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, pcmcia-modules-4.19.0-8-powerpc-di Description: Serial drivers This package contains serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: usb-serial-modules-4.19.0-7-powerpc-di +Package: usb-serial-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-4.19.0-7-powerpc-di, usb-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, usb-modules-4.19.0-8-powerpc-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: ppp-modules-4.19.0-7-powerpc-di +Package: ppp-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-4.19.0-7-powerpc-di, serial-modules-4.19.0-7-powerpc-di, zlib-modules-4.19.0-7-powerpc-di, crc-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, serial-modules-4.19.0-8-powerpc-di, zlib-modules-4.19.0-8-powerpc-di, crc-modules-4.19.0-8-powerpc-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: pata-modules-4.19.0-7-powerpc-di +Package: pata-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-4.19.0-7-powerpc-di, ata-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, ata-modules-4.19.0-8-powerpc-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: cdrom-core-modules-4.19.0-7-powerpc-di +Package: cdrom-core-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-4.19.0-7-powerpc-di, scsi-core-modules-4.19.0-7-powerpc-di, isofs-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, scsi-core-modules-4.19.0-8-powerpc-di, isofs-modules-4.19.0-8-powerpc-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: firewire-core-modules-4.19.0-7-powerpc-di +Package: firewire-core-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: firewire-core-modules -Depends: kernel-image-4.19.0-7-powerpc-di, scsi-core-modules-4.19.0-7-powerpc-di, crc-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, scsi-core-modules-4.19.0-8-powerpc-di, crc-modules-4.19.0-8-powerpc-di Description: Core FireWire drivers This package contains core FireWire drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: scsi-core-modules-4.19.0-7-powerpc-di +Package: scsi-core-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: scsi-modules-4.19.0-7-powerpc-di +Package: scsi-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-4.19.0-7-powerpc-di, scsi-core-modules-4.19.0-7-powerpc-di, cdrom-core-modules-4.19.0-7-powerpc-di, ata-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, scsi-core-modules-4.19.0-8-powerpc-di, cdrom-core-modules-4.19.0-8-powerpc-di, ata-modules-4.19.0-8-powerpc-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: scsi-nic-modules-4.19.0-7-powerpc-di +Package: scsi-nic-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-4.19.0-7-powerpc-di, nic-modules-4.19.0-7-powerpc-di +Depends: scsi-modules-4.19.0-8-powerpc-di, nic-modules-4.19.0-8-powerpc-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: loop-modules-4.19.0-7-powerpc-di +Package: loop-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: btrfs-modules-4.19.0-7-powerpc-di +Package: btrfs-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-powerpc-di, crc-modules-4.19.0-7-powerpc-di, zlib-modules-4.19.0-7-powerpc-di, compress-modules-4.19.0-7-powerpc-di, md-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, crc-modules-4.19.0-8-powerpc-di, zlib-modules-4.19.0-8-powerpc-di, compress-modules-4.19.0-8-powerpc-di, md-modules-4.19.0-8-powerpc-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: ext4-modules-4.19.0-7-powerpc-di +Package: ext4-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-powerpc-di, crc-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, crc-modules-4.19.0-8-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: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: isofs-modules-4.19.0-7-powerpc-di +Package: isofs-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: jfs-modules-4.19.0-7-powerpc-di +Package: jfs-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: xfs-modules-4.19.0-7-powerpc-di +Package: xfs-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-4.19.0-7-powerpc-di, crc-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, crc-modules-4.19.0-8-powerpc-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: fat-modules-4.19.0-7-powerpc-di +Package: fat-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: hfs-modules-4.19.0-7-powerpc-di +Package: hfs-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: hfs-modules -Depends: kernel-image-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di Description: HFS filesystem support This package contains the HFS and HFS+ filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: affs-modules-4.19.0-7-powerpc-di +Package: affs-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: affs-modules -Depends: kernel-image-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di Description: Amiga filesystem support This package contains the Amiga filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: md-modules-4.19.0-7-powerpc-di +Package: md-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-powerpc-di, crc-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, crc-modules-4.19.0-8-powerpc-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: multipath-modules-4.19.0-7-powerpc-di +Package: multipath-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-powerpc-di, md-modules-4.19.0-7-powerpc-di, scsi-core-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, md-modules-4.19.0-8-powerpc-di, scsi-core-modules-4.19.0-8-powerpc-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: usb-modules-4.19.0-7-powerpc-di +Package: usb-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: usb-storage-modules-4.19.0-7-powerpc-di +Package: usb-storage-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-4.19.0-7-powerpc-di, scsi-core-modules-4.19.0-7-powerpc-di, usb-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, scsi-core-modules-4.19.0-8-powerpc-di, usb-modules-4.19.0-8-powerpc-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: pcmcia-storage-modules-4.19.0-7-powerpc-di +Package: pcmcia-storage-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: pcmcia-storage-modules -Depends: kernel-image-4.19.0-7-powerpc-di, cdrom-core-modules-4.19.0-7-powerpc-di, pcmcia-modules-4.19.0-7-powerpc-di, ata-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, cdrom-core-modules-4.19.0-8-powerpc-di, pcmcia-modules-4.19.0-8-powerpc-di, ata-modules-4.19.0-8-powerpc-di Description: PCMCIA storage drivers This package contains PCMCIA storage drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: fb-modules-4.19.0-7-powerpc-di +Package: fb-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: input-modules-4.19.0-7-powerpc-di +Package: input-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-4.19.0-7-powerpc-di, usb-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, usb-modules-4.19.0-8-powerpc-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: event-modules-4.19.0-7-powerpc-di +Package: event-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: mouse-modules-4.19.0-7-powerpc-di +Package: mouse-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-4.19.0-7-powerpc-di, event-modules-4.19.0-7-powerpc-di, input-modules-4.19.0-7-powerpc-di, usb-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, event-modules-4.19.0-8-powerpc-di, input-modules-4.19.0-8-powerpc-di, usb-modules-4.19.0-8-powerpc-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: nic-pcmcia-modules-4.19.0-7-powerpc-di +Package: nic-pcmcia-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: nic-pcmcia-modules -Depends: kernel-image-4.19.0-7-powerpc-di, nic-shared-modules-4.19.0-7-powerpc-di, nic-wireless-modules-4.19.0-7-powerpc-di, pcmcia-modules-4.19.0-7-powerpc-di, mmc-core-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, nic-shared-modules-4.19.0-8-powerpc-di, nic-wireless-modules-4.19.0-8-powerpc-di, pcmcia-modules-4.19.0-8-powerpc-di, mmc-core-modules-4.19.0-8-powerpc-di Description: Common PCMCIA NIC drivers This package contains common PCMCIA NIC drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: pcmcia-modules-4.19.0-7-powerpc-di +Package: pcmcia-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: pcmcia-modules -Depends: kernel-image-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di Description: Common PCMCIA drivers This package contains common PCMCIA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: nic-usb-modules-4.19.0-7-powerpc-di +Package: nic-usb-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-4.19.0-7-powerpc-di, nic-shared-modules-4.19.0-7-powerpc-di, nic-wireless-modules-4.19.0-7-powerpc-di, usb-modules-4.19.0-7-powerpc-di, crc-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, nic-shared-modules-4.19.0-8-powerpc-di, nic-wireless-modules-4.19.0-8-powerpc-di, usb-modules-4.19.0-8-powerpc-di, crc-modules-4.19.0-8-powerpc-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: sata-modules-4.19.0-7-powerpc-di +Package: sata-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-4.19.0-7-powerpc-di, scsi-core-modules-4.19.0-7-powerpc-di, ata-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, scsi-core-modules-4.19.0-8-powerpc-di, ata-modules-4.19.0-8-powerpc-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: crc-modules-4.19.0-7-powerpc-di +Package: crc-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: crypto-modules-4.19.0-7-powerpc-di +Package: crypto-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-powerpc-di +Package: crypto-dm-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-powerpc-di, md-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, md-modules-4.19.0-8-powerpc-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: ata-modules-4.19.0-7-powerpc-di +Package: ata-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-4.19.0-7-powerpc-di, scsi-core-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, scsi-core-modules-4.19.0-8-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: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: mmc-core-modules-4.19.0-7-powerpc-di +Package: mmc-core-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: mmc-core-modules -Depends: kernel-image-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di Description: MMC/SD/SDIO core modules This package contains core modules for MMC/SD/SDIO support. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: nbd-modules-4.19.0-7-powerpc-di +Package: nbd-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: squashfs-modules-4.19.0-7-powerpc-di +Package: squashfs-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-powerpc-di, compress-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, compress-modules-4.19.0-8-powerpc-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: uinput-modules-4.19.0-7-powerpc-di +Package: uinput-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: uinput-modules -Depends: kernel-image-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di Description: uinput support This package contains the uinput module. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: zlib-modules-4.19.0-7-powerpc-di +Package: zlib-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: zlib-modules -Depends: kernel-image-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di Description: zlib modules This package contains zlib modules. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: compress-modules-4.19.0-7-powerpc-di +Package: compress-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: udf-modules-4.19.0-7-powerpc-di +Package: udf-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-powerpc-di, crc-modules-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di, crc-modules-4.19.0-8-powerpc-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: fuse-modules-4.19.0-7-powerpc-di +Package: fuse-modules-4.19.0-8-powerpc-di Architecture: powerpc Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-powerpc-di +Depends: kernel-image-4.19.0-8-powerpc-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc +Kernel-Version: 4.19.0-8-powerpc Package-Type: udeb -Package: kernel-image-4.19.0-7-powerpc64-di +Package: kernel-image-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard @@ -10694,609 +10694,609 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: nic-modules-4.19.0-7-powerpc64-di +Package: nic-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, nic-shared-modules-4.19.0-7-powerpc64-di, i2c-modules-4.19.0-7-powerpc64-di, crc-modules-4.19.0-7-powerpc64-di, mtd-core-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, nic-shared-modules-4.19.0-8-powerpc64-di, i2c-modules-4.19.0-8-powerpc64-di, crc-modules-4.19.0-8-powerpc64-di, mtd-core-modules-4.19.0-8-powerpc64-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: nic-wireless-modules-4.19.0-7-powerpc64-di +Package: nic-wireless-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, nic-shared-modules-4.19.0-7-powerpc64-di, usb-modules-4.19.0-7-powerpc64-di, mmc-core-modules-4.19.0-7-powerpc64-di, pcmcia-modules-4.19.0-7-powerpc64-di, crc-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, nic-shared-modules-4.19.0-8-powerpc64-di, usb-modules-4.19.0-8-powerpc64-di, mmc-core-modules-4.19.0-8-powerpc64-di, pcmcia-modules-4.19.0-8-powerpc64-di, crc-modules-4.19.0-8-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: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-powerpc64-di +Package: nic-shared-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: serial-modules-4.19.0-7-powerpc64-di +Package: serial-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: serial-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, pcmcia-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, pcmcia-modules-4.19.0-8-powerpc64-di Description: Serial drivers This package contains serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: usb-serial-modules-4.19.0-7-powerpc64-di +Package: usb-serial-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, usb-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, usb-modules-4.19.0-8-powerpc64-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: ppp-modules-4.19.0-7-powerpc64-di +Package: ppp-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, serial-modules-4.19.0-7-powerpc64-di, crc-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, serial-modules-4.19.0-8-powerpc64-di, crc-modules-4.19.0-8-powerpc64-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: pata-modules-4.19.0-7-powerpc64-di +Package: pata-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, ata-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, ata-modules-4.19.0-8-powerpc64-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: cdrom-core-modules-4.19.0-7-powerpc64-di +Package: cdrom-core-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, scsi-core-modules-4.19.0-7-powerpc64-di, isofs-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, scsi-core-modules-4.19.0-8-powerpc64-di, isofs-modules-4.19.0-8-powerpc64-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: firewire-core-modules-4.19.0-7-powerpc64-di +Package: firewire-core-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: firewire-core-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, scsi-core-modules-4.19.0-7-powerpc64-di, crc-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, scsi-core-modules-4.19.0-8-powerpc64-di, crc-modules-4.19.0-8-powerpc64-di Description: Core FireWire drivers This package contains core FireWire drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: scsi-core-modules-4.19.0-7-powerpc64-di +Package: scsi-core-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: scsi-modules-4.19.0-7-powerpc64-di +Package: scsi-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, scsi-core-modules-4.19.0-7-powerpc64-di, cdrom-core-modules-4.19.0-7-powerpc64-di, ata-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, scsi-core-modules-4.19.0-8-powerpc64-di, cdrom-core-modules-4.19.0-8-powerpc64-di, ata-modules-4.19.0-8-powerpc64-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: scsi-nic-modules-4.19.0-7-powerpc64-di +Package: scsi-nic-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-4.19.0-7-powerpc64-di, nic-modules-4.19.0-7-powerpc64-di +Depends: scsi-modules-4.19.0-8-powerpc64-di, nic-modules-4.19.0-8-powerpc64-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: loop-modules-4.19.0-7-powerpc64-di +Package: loop-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: btrfs-modules-4.19.0-7-powerpc64-di +Package: btrfs-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, crc-modules-4.19.0-7-powerpc64-di, compress-modules-4.19.0-7-powerpc64-di, md-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, crc-modules-4.19.0-8-powerpc64-di, compress-modules-4.19.0-8-powerpc64-di, md-modules-4.19.0-8-powerpc64-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: ext4-modules-4.19.0-7-powerpc64-di +Package: ext4-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, crc-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, crc-modules-4.19.0-8-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: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: isofs-modules-4.19.0-7-powerpc64-di +Package: isofs-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: jfs-modules-4.19.0-7-powerpc64-di +Package: jfs-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: xfs-modules-4.19.0-7-powerpc64-di +Package: xfs-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, crc-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, crc-modules-4.19.0-8-powerpc64-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: fat-modules-4.19.0-7-powerpc64-di +Package: fat-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: hfs-modules-4.19.0-7-powerpc64-di +Package: hfs-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: hfs-modules -Depends: kernel-image-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di Description: HFS filesystem support This package contains the HFS and HFS+ filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: affs-modules-4.19.0-7-powerpc64-di +Package: affs-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: affs-modules -Depends: kernel-image-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di Description: Amiga filesystem support This package contains the Amiga filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: md-modules-4.19.0-7-powerpc64-di +Package: md-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, crc-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, crc-modules-4.19.0-8-powerpc64-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: multipath-modules-4.19.0-7-powerpc64-di +Package: multipath-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, md-modules-4.19.0-7-powerpc64-di, scsi-core-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, md-modules-4.19.0-8-powerpc64-di, scsi-core-modules-4.19.0-8-powerpc64-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: usb-modules-4.19.0-7-powerpc64-di +Package: usb-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: usb-storage-modules-4.19.0-7-powerpc64-di +Package: usb-storage-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, scsi-core-modules-4.19.0-7-powerpc64-di, usb-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, scsi-core-modules-4.19.0-8-powerpc64-di, usb-modules-4.19.0-8-powerpc64-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: pcmcia-storage-modules-4.19.0-7-powerpc64-di +Package: pcmcia-storage-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: pcmcia-storage-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, cdrom-core-modules-4.19.0-7-powerpc64-di, pcmcia-modules-4.19.0-7-powerpc64-di, ata-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, cdrom-core-modules-4.19.0-8-powerpc64-di, pcmcia-modules-4.19.0-8-powerpc64-di, ata-modules-4.19.0-8-powerpc64-di Description: PCMCIA storage drivers This package contains PCMCIA storage drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: fb-modules-4.19.0-7-powerpc64-di +Package: fb-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, i2c-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, i2c-modules-4.19.0-8-powerpc64-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: input-modules-4.19.0-7-powerpc64-di +Package: input-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, usb-modules-4.19.0-7-powerpc64-di, i2c-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, usb-modules-4.19.0-8-powerpc64-di, i2c-modules-4.19.0-8-powerpc64-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: event-modules-4.19.0-7-powerpc64-di +Package: event-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: mouse-modules-4.19.0-7-powerpc64-di +Package: mouse-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, event-modules-4.19.0-7-powerpc64-di, input-modules-4.19.0-7-powerpc64-di, usb-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, event-modules-4.19.0-8-powerpc64-di, input-modules-4.19.0-8-powerpc64-di, usb-modules-4.19.0-8-powerpc64-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: nic-pcmcia-modules-4.19.0-7-powerpc64-di +Package: nic-pcmcia-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: nic-pcmcia-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, nic-shared-modules-4.19.0-7-powerpc64-di, nic-wireless-modules-4.19.0-7-powerpc64-di, pcmcia-modules-4.19.0-7-powerpc64-di, mmc-core-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, nic-shared-modules-4.19.0-8-powerpc64-di, nic-wireless-modules-4.19.0-8-powerpc64-di, pcmcia-modules-4.19.0-8-powerpc64-di, mmc-core-modules-4.19.0-8-powerpc64-di Description: Common PCMCIA NIC drivers This package contains common PCMCIA NIC drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: pcmcia-modules-4.19.0-7-powerpc64-di +Package: pcmcia-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: pcmcia-modules -Depends: kernel-image-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di Description: Common PCMCIA drivers This package contains common PCMCIA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: nic-usb-modules-4.19.0-7-powerpc64-di +Package: nic-usb-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, nic-shared-modules-4.19.0-7-powerpc64-di, nic-wireless-modules-4.19.0-7-powerpc64-di, usb-modules-4.19.0-7-powerpc64-di, crc-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, nic-shared-modules-4.19.0-8-powerpc64-di, nic-wireless-modules-4.19.0-8-powerpc64-di, usb-modules-4.19.0-8-powerpc64-di, crc-modules-4.19.0-8-powerpc64-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: sata-modules-4.19.0-7-powerpc64-di +Package: sata-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, scsi-core-modules-4.19.0-7-powerpc64-di, ata-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, scsi-core-modules-4.19.0-8-powerpc64-di, ata-modules-4.19.0-8-powerpc64-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: i2c-modules-4.19.0-7-powerpc64-di +Package: i2c-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: crc-modules-4.19.0-7-powerpc64-di +Package: crc-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: crypto-modules-4.19.0-7-powerpc64-di +Package: crypto-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-powerpc64-di +Package: crypto-dm-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, md-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, md-modules-4.19.0-8-powerpc64-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: ata-modules-4.19.0-7-powerpc64-di +Package: ata-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, scsi-core-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, scsi-core-modules-4.19.0-8-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: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: mmc-core-modules-4.19.0-7-powerpc64-di +Package: mmc-core-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: mmc-core-modules -Depends: kernel-image-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di Description: MMC/SD/SDIO core modules This package contains core modules for MMC/SD/SDIO support. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: nbd-modules-4.19.0-7-powerpc64-di +Package: nbd-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: squashfs-modules-4.19.0-7-powerpc64-di +Package: squashfs-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, compress-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, compress-modules-4.19.0-8-powerpc64-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: uinput-modules-4.19.0-7-powerpc64-di +Package: uinput-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: uinput-modules -Depends: kernel-image-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di Description: uinput support This package contains the uinput module. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: compress-modules-4.19.0-7-powerpc64-di +Package: compress-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: udf-modules-4.19.0-7-powerpc64-di +Package: udf-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-powerpc64-di, crc-modules-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di, crc-modules-4.19.0-8-powerpc64-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: fuse-modules-4.19.0-7-powerpc64-di +Package: fuse-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: mtd-core-modules-4.19.0-7-powerpc64-di +Package: mtd-core-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-powerpc64-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: hypervisor-modules-4.19.0-7-powerpc64-di +Package: hypervisor-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: hypervisor-modules -Depends: kernel-image-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: fancontrol-modules-4.19.0-7-powerpc64-di +Package: fancontrol-modules-4.19.0-8-powerpc64-di Architecture: powerpc ppc64 Section: debian-installer Priority: standard Provides: fancontrol-modules -Depends: kernel-image-4.19.0-7-powerpc64-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-powerpc64 +Kernel-Version: 4.19.0-8-powerpc64 Package-Type: udeb -Package: linux-image-4.19.0-7-powerpc +Package: linux-image-4.19.0-8-powerpc Architecture: powerpc -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [powerpc] | linux-initramfs-tool [powerpc] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [powerpc] | linux-initramfs-tool [powerpc] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [powerpc] Suggests: linux-doc-4.19, debian-kernel-handbook, mkvmlinuz [powerpc], grub-ieee1275 [powerpc] Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -11304,31 +11304,31 @@ The Linux kernel 4.19 and modules for use on uniprocessor 32-bit PowerPC. Build-Profiles: -Package: linux-headers-4.19.0-7-powerpc +Package: linux-headers-4.19.0-8-powerpc Architecture: powerpc -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-powerpc +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-powerpc This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-powerpc, generally used for building out-of-tree + Linux kernel 4.19.0-8-powerpc, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-powerpc, and can be used for building + /usr/src/linux-headers-4.19.0-8-powerpc, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-powerpc package. + linux-image-4.19.0-8-powerpc package. Build-Profiles: -Package: linux-image-4.19.0-7-powerpc-dbg +Package: linux-image-4.19.0-8-powerpc-dbg Architecture: powerpc Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-powerpc +Description: Debug symbols for linux-image-4.19.0-8-powerpc This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-powerpc. + modules in linux-image-4.19.0-8-powerpc. Build-Profiles: -Package: linux-image-4.19.0-7-powerpc-smp +Package: linux-image-4.19.0-8-powerpc-smp Architecture: powerpc -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [powerpc] | linux-initramfs-tool [powerpc] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [powerpc] | linux-initramfs-tool [powerpc] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [powerpc] Suggests: linux-doc-4.19, debian-kernel-handbook, mkvmlinuz [powerpc], grub-ieee1275 [powerpc] Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -11337,31 +11337,31 @@ PowerPC. Build-Profiles: -Package: linux-headers-4.19.0-7-powerpc-smp +Package: linux-headers-4.19.0-8-powerpc-smp Architecture: powerpc -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-powerpc-smp +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-powerpc-smp This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-powerpc-smp, generally used for building out-of-tree + Linux kernel 4.19.0-8-powerpc-smp, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-powerpc-smp, and can be used for building + /usr/src/linux-headers-4.19.0-8-powerpc-smp, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-powerpc-smp package. + linux-image-4.19.0-8-powerpc-smp package. Build-Profiles: -Package: linux-image-4.19.0-7-powerpc-smp-dbg +Package: linux-image-4.19.0-8-powerpc-smp-dbg Architecture: powerpc Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-powerpc-smp +Description: Debug symbols for linux-image-4.19.0-8-powerpc-smp This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-powerpc-smp. + modules in linux-image-4.19.0-8-powerpc-smp. Build-Profiles: -Package: linux-image-4.19.0-7-powerpc64 +Package: linux-image-4.19.0-8-powerpc64 Architecture: powerpc ppc64 -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [powerpc ppc64] | linux-initramfs-tool [powerpc ppc64] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [powerpc ppc64] | linux-initramfs-tool [powerpc ppc64] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [powerpc ppc64] Suggests: linux-doc-4.19, debian-kernel-handbook, mkvmlinuz [powerpc ppc64], grub-ieee1275 [powerpc ppc64] Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -11369,40 +11369,40 @@ The Linux kernel 4.19 and modules for use on 64-bit PowerPC. Build-Profiles: -Package: linux-headers-4.19.0-7-powerpc64 +Package: linux-headers-4.19.0-8-powerpc64 Architecture: powerpc ppc64 -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-powerpc64 +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-powerpc64 This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-powerpc64, generally used for building out-of-tree + Linux kernel 4.19.0-8-powerpc64, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-powerpc64, and can be used for building + /usr/src/linux-headers-4.19.0-8-powerpc64, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-powerpc64 package. + linux-image-4.19.0-8-powerpc64 package. Build-Profiles: -Package: linux-image-4.19.0-7-powerpc64-dbg +Package: linux-image-4.19.0-8-powerpc64-dbg Architecture: powerpc ppc64 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-powerpc64 +Description: Debug symbols for linux-image-4.19.0-8-powerpc64 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-powerpc64. + modules in linux-image-4.19.0-8-powerpc64. Build-Profiles: -Package: linux-headers-4.19.0-7-all-powerpcspe +Package: linux-headers-4.19.0-8-all-powerpcspe Architecture: powerpcspe -Depends: ${misc:Depends}, linux-headers-4.19.0-7-powerpcspe (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-powerpcspe (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: linux-image-4.19.0-7-powerpcspe +Package: linux-image-4.19.0-8-powerpcspe Architecture: powerpcspe -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [powerpcspe] | linux-initramfs-tool [powerpcspe] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [powerpcspe] | linux-initramfs-tool [powerpcspe] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [powerpcspe] Suggests: linux-doc-4.19, debian-kernel-handbook, mkvmlinuz [powerpcspe] Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -11411,47 +11411,47 @@ (instead of AltiVec) with SMP support. Build-Profiles: -Package: linux-headers-4.19.0-7-powerpcspe +Package: linux-headers-4.19.0-8-powerpcspe Architecture: powerpcspe -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-powerpcspe +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-powerpcspe This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-powerpcspe, generally used for building out-of-tree + Linux kernel 4.19.0-8-powerpcspe, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-powerpcspe, and can be used for building + /usr/src/linux-headers-4.19.0-8-powerpcspe, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-powerpcspe package. + linux-image-4.19.0-8-powerpcspe package. Build-Profiles: -Package: linux-image-4.19.0-7-powerpcspe-dbg +Package: linux-image-4.19.0-8-powerpcspe-dbg Architecture: powerpcspe Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-powerpcspe +Description: Debug symbols for linux-image-4.19.0-8-powerpcspe This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-powerpcspe. + modules in linux-image-4.19.0-8-powerpcspe. Build-Profiles: -Package: linux-headers-4.19.0-7-all-ppc64 +Package: linux-headers-4.19.0-8-all-ppc64 Architecture: ppc64 -Depends: ${misc:Depends}, linux-headers-4.19.0-7-powerpc64 (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-powerpc64 (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: linux-headers-4.19.0-7-all-ppc64el +Package: linux-headers-4.19.0-8-all-ppc64el Architecture: ppc64el -Depends: ${misc:Depends}, linux-headers-4.19.0-7-powerpc64le (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-powerpc64le (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: kernel-image-4.19.0-7-powerpc64le-di +Package: kernel-image-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard @@ -11461,525 +11461,525 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: nic-modules-4.19.0-7-powerpc64le-di +Package: nic-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di, nic-shared-modules-4.19.0-7-powerpc64le-di, i2c-modules-4.19.0-7-powerpc64le-di, crc-modules-4.19.0-7-powerpc64le-di, mtd-core-modules-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di, nic-shared-modules-4.19.0-8-powerpc64le-di, i2c-modules-4.19.0-8-powerpc64le-di, crc-modules-4.19.0-8-powerpc64le-di, mtd-core-modules-4.19.0-8-powerpc64le-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: nic-wireless-modules-4.19.0-7-powerpc64le-di +Package: nic-wireless-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di, nic-shared-modules-4.19.0-7-powerpc64le-di, usb-modules-4.19.0-7-powerpc64le-di, crc-modules-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di, nic-shared-modules-4.19.0-8-powerpc64le-di, usb-modules-4.19.0-8-powerpc64le-di, crc-modules-4.19.0-8-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: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-powerpc64le-di +Package: nic-shared-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: serial-modules-4.19.0-7-powerpc64le-di +Package: serial-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: serial-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di Description: Serial drivers This package contains serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: usb-serial-modules-4.19.0-7-powerpc64le-di +Package: usb-serial-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di, usb-modules-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di, usb-modules-4.19.0-8-powerpc64le-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: ppp-modules-4.19.0-7-powerpc64le-di +Package: ppp-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di, serial-modules-4.19.0-7-powerpc64le-di, crc-modules-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di, serial-modules-4.19.0-8-powerpc64le-di, crc-modules-4.19.0-8-powerpc64le-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: cdrom-core-modules-4.19.0-7-powerpc64le-di +Package: cdrom-core-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di, scsi-core-modules-4.19.0-7-powerpc64le-di, isofs-modules-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di, scsi-core-modules-4.19.0-8-powerpc64le-di, isofs-modules-4.19.0-8-powerpc64le-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: firewire-core-modules-4.19.0-7-powerpc64le-di +Package: firewire-core-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: firewire-core-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di, scsi-core-modules-4.19.0-7-powerpc64le-di, crc-modules-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di, scsi-core-modules-4.19.0-8-powerpc64le-di, crc-modules-4.19.0-8-powerpc64le-di Description: Core FireWire drivers This package contains core FireWire drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: scsi-core-modules-4.19.0-7-powerpc64le-di +Package: scsi-core-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: scsi-modules-4.19.0-7-powerpc64le-di +Package: scsi-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di, scsi-core-modules-4.19.0-7-powerpc64le-di, cdrom-core-modules-4.19.0-7-powerpc64le-di, ata-modules-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di, scsi-core-modules-4.19.0-8-powerpc64le-di, cdrom-core-modules-4.19.0-8-powerpc64le-di, ata-modules-4.19.0-8-powerpc64le-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: scsi-nic-modules-4.19.0-7-powerpc64le-di +Package: scsi-nic-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-4.19.0-7-powerpc64le-di, nic-modules-4.19.0-7-powerpc64le-di +Depends: scsi-modules-4.19.0-8-powerpc64le-di, nic-modules-4.19.0-8-powerpc64le-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: loop-modules-4.19.0-7-powerpc64le-di +Package: loop-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: btrfs-modules-4.19.0-7-powerpc64le-di +Package: btrfs-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di, crc-modules-4.19.0-7-powerpc64le-di, compress-modules-4.19.0-7-powerpc64le-di, md-modules-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di, crc-modules-4.19.0-8-powerpc64le-di, compress-modules-4.19.0-8-powerpc64le-di, md-modules-4.19.0-8-powerpc64le-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: ext4-modules-4.19.0-7-powerpc64le-di +Package: ext4-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di, crc-modules-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di, crc-modules-4.19.0-8-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: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: isofs-modules-4.19.0-7-powerpc64le-di +Package: isofs-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: jfs-modules-4.19.0-7-powerpc64le-di +Package: jfs-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: xfs-modules-4.19.0-7-powerpc64le-di +Package: xfs-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di, crc-modules-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di, crc-modules-4.19.0-8-powerpc64le-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: fat-modules-4.19.0-7-powerpc64le-di +Package: fat-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: md-modules-4.19.0-7-powerpc64le-di +Package: md-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di, crc-modules-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di, crc-modules-4.19.0-8-powerpc64le-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: multipath-modules-4.19.0-7-powerpc64le-di +Package: multipath-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di, md-modules-4.19.0-7-powerpc64le-di, scsi-core-modules-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di, md-modules-4.19.0-8-powerpc64le-di, scsi-core-modules-4.19.0-8-powerpc64le-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: usb-modules-4.19.0-7-powerpc64le-di +Package: usb-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: usb-storage-modules-4.19.0-7-powerpc64le-di +Package: usb-storage-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di, scsi-core-modules-4.19.0-7-powerpc64le-di, usb-modules-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di, scsi-core-modules-4.19.0-8-powerpc64le-di, usb-modules-4.19.0-8-powerpc64le-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: fb-modules-4.19.0-7-powerpc64le-di +Package: fb-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di, i2c-modules-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di, i2c-modules-4.19.0-8-powerpc64le-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: input-modules-4.19.0-7-powerpc64le-di +Package: input-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di, usb-modules-4.19.0-7-powerpc64le-di, i2c-modules-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di, usb-modules-4.19.0-8-powerpc64le-di, i2c-modules-4.19.0-8-powerpc64le-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: event-modules-4.19.0-7-powerpc64le-di +Package: event-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: mouse-modules-4.19.0-7-powerpc64le-di +Package: mouse-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: mouse-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di, event-modules-4.19.0-7-powerpc64le-di, input-modules-4.19.0-7-powerpc64le-di, usb-modules-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di, event-modules-4.19.0-8-powerpc64le-di, input-modules-4.19.0-8-powerpc64le-di, usb-modules-4.19.0-8-powerpc64le-di Description: Mouse support This package contains mouse drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: nic-usb-modules-4.19.0-7-powerpc64le-di +Package: nic-usb-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di, nic-shared-modules-4.19.0-7-powerpc64le-di, nic-wireless-modules-4.19.0-7-powerpc64le-di, usb-modules-4.19.0-7-powerpc64le-di, crc-modules-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di, nic-shared-modules-4.19.0-8-powerpc64le-di, nic-wireless-modules-4.19.0-8-powerpc64le-di, usb-modules-4.19.0-8-powerpc64le-di, crc-modules-4.19.0-8-powerpc64le-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: sata-modules-4.19.0-7-powerpc64le-di +Package: sata-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di, scsi-core-modules-4.19.0-7-powerpc64le-di, ata-modules-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di, scsi-core-modules-4.19.0-8-powerpc64le-di, ata-modules-4.19.0-8-powerpc64le-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: i2c-modules-4.19.0-7-powerpc64le-di +Package: i2c-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: crc-modules-4.19.0-7-powerpc64le-di +Package: crc-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: crypto-modules-4.19.0-7-powerpc64le-di +Package: crypto-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-powerpc64le-di +Package: crypto-dm-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di, md-modules-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di, md-modules-4.19.0-8-powerpc64le-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: ata-modules-4.19.0-7-powerpc64le-di +Package: ata-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di, scsi-core-modules-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di, scsi-core-modules-4.19.0-8-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: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: nbd-modules-4.19.0-7-powerpc64le-di +Package: nbd-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: squashfs-modules-4.19.0-7-powerpc64le-di +Package: squashfs-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di, compress-modules-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di, compress-modules-4.19.0-8-powerpc64le-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: uinput-modules-4.19.0-7-powerpc64le-di +Package: uinput-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: uinput-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di Description: uinput support This package contains the uinput module. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: compress-modules-4.19.0-7-powerpc64le-di +Package: compress-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: udf-modules-4.19.0-7-powerpc64le-di +Package: udf-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di, crc-modules-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di, crc-modules-4.19.0-8-powerpc64le-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: fuse-modules-4.19.0-7-powerpc64le-di +Package: fuse-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: mtd-core-modules-4.19.0-7-powerpc64le-di +Package: mtd-core-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-powerpc64le-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: hypervisor-modules-4.19.0-7-powerpc64le-di +Package: hypervisor-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: hypervisor-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: fancontrol-modules-4.19.0-7-powerpc64le-di +Package: fancontrol-modules-4.19.0-8-powerpc64le-di Architecture: ppc64el Section: debian-installer Priority: standard Provides: fancontrol-modules -Depends: kernel-image-4.19.0-7-powerpc64le-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-powerpc64le +Kernel-Version: 4.19.0-8-powerpc64le Package-Type: udeb -Package: linux-image-4.19.0-7-powerpc64le +Package: linux-image-4.19.0-8-powerpc64le Architecture: ppc64el -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [ppc64el] | linux-initramfs-tool [ppc64el] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [ppc64el] | linux-initramfs-tool [ppc64el] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [ppc64el] Suggests: linux-doc-4.19, debian-kernel-handbook, mkvmlinuz [ppc64el], grub-ieee1275 [ppc64el] Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -11987,38 +11987,38 @@ The Linux kernel 4.19 and modules for use on Little-endian 64-bit PowerPC. Build-Profiles: -Package: linux-headers-4.19.0-7-powerpc64le +Package: linux-headers-4.19.0-8-powerpc64le Architecture: ppc64el -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-powerpc64le +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-powerpc64le This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-powerpc64le, generally used for building out-of-tree + Linux kernel 4.19.0-8-powerpc64le, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-powerpc64le, and can be used for building + /usr/src/linux-headers-4.19.0-8-powerpc64le, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-powerpc64le package. + linux-image-4.19.0-8-powerpc64le package. Build-Profiles: -Package: linux-image-4.19.0-7-powerpc64le-dbg +Package: linux-image-4.19.0-8-powerpc64le-dbg Architecture: ppc64el Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-powerpc64le +Description: Debug symbols for linux-image-4.19.0-8-powerpc64le This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-powerpc64le. + modules in linux-image-4.19.0-8-powerpc64le. Build-Profiles: -Package: linux-headers-4.19.0-7-all-riscv64 +Package: linux-headers-4.19.0-8-all-riscv64 Architecture: riscv64 -Depends: ${misc:Depends}, linux-headers-4.19.0-7-riscv64 (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-riscv64 (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: kernel-image-4.19.0-7-riscv64-di +Package: kernel-image-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard @@ -12028,474 +12028,474 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: nic-modules-4.19.0-7-riscv64-di +Package: nic-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-4.19.0-7-riscv64-di, nic-shared-modules-4.19.0-7-riscv64-di, i2c-modules-4.19.0-7-riscv64-di, crc-modules-4.19.0-7-riscv64-di, zlib-modules-4.19.0-7-riscv64-di, mtd-core-modules-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di, nic-shared-modules-4.19.0-8-riscv64-di, i2c-modules-4.19.0-8-riscv64-di, crc-modules-4.19.0-8-riscv64-di, zlib-modules-4.19.0-8-riscv64-di, mtd-core-modules-4.19.0-8-riscv64-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: nic-wireless-modules-4.19.0-7-riscv64-di +Package: nic-wireless-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: nic-wireless-modules -Depends: kernel-image-4.19.0-7-riscv64-di, nic-shared-modules-4.19.0-7-riscv64-di, usb-modules-4.19.0-7-riscv64-di, crc-modules-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di, nic-shared-modules-4.19.0-8-riscv64-di, usb-modules-4.19.0-8-riscv64-di, crc-modules-4.19.0-8-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: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-riscv64-di +Package: nic-shared-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: usb-serial-modules-4.19.0-7-riscv64-di +Package: usb-serial-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-4.19.0-7-riscv64-di, usb-modules-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di, usb-modules-4.19.0-8-riscv64-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: ppp-modules-4.19.0-7-riscv64-di +Package: ppp-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-4.19.0-7-riscv64-di, zlib-modules-4.19.0-7-riscv64-di, crc-modules-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di, zlib-modules-4.19.0-8-riscv64-di, crc-modules-4.19.0-8-riscv64-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: pata-modules-4.19.0-7-riscv64-di +Package: pata-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-4.19.0-7-riscv64-di, ata-modules-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di, ata-modules-4.19.0-8-riscv64-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: cdrom-core-modules-4.19.0-7-riscv64-di +Package: cdrom-core-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-4.19.0-7-riscv64-di, scsi-core-modules-4.19.0-7-riscv64-di, isofs-modules-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di, scsi-core-modules-4.19.0-8-riscv64-di, isofs-modules-4.19.0-8-riscv64-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: scsi-core-modules-4.19.0-7-riscv64-di +Package: scsi-core-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: scsi-modules-4.19.0-7-riscv64-di +Package: scsi-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-4.19.0-7-riscv64-di, scsi-core-modules-4.19.0-7-riscv64-di, cdrom-core-modules-4.19.0-7-riscv64-di, ata-modules-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di, scsi-core-modules-4.19.0-8-riscv64-di, cdrom-core-modules-4.19.0-8-riscv64-di, ata-modules-4.19.0-8-riscv64-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: scsi-nic-modules-4.19.0-7-riscv64-di +Package: scsi-nic-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: scsi-nic-modules -Depends: scsi-modules-4.19.0-7-riscv64-di, nic-modules-4.19.0-7-riscv64-di +Depends: scsi-modules-4.19.0-8-riscv64-di, nic-modules-4.19.0-8-riscv64-di Description: SCSI drivers for converged NICs This package contains SCSI drivers that depend on net drivers. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: loop-modules-4.19.0-7-riscv64-di +Package: loop-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: btrfs-modules-4.19.0-7-riscv64-di +Package: btrfs-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-riscv64-di, crc-modules-4.19.0-7-riscv64-di, zlib-modules-4.19.0-7-riscv64-di, compress-modules-4.19.0-7-riscv64-di, md-modules-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di, crc-modules-4.19.0-8-riscv64-di, zlib-modules-4.19.0-8-riscv64-di, compress-modules-4.19.0-8-riscv64-di, md-modules-4.19.0-8-riscv64-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: ext4-modules-4.19.0-7-riscv64-di +Package: ext4-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-riscv64-di, crc-modules-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di, crc-modules-4.19.0-8-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: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: isofs-modules-4.19.0-7-riscv64-di +Package: isofs-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: jfs-modules-4.19.0-7-riscv64-di +Package: jfs-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: fat-modules-4.19.0-7-riscv64-di +Package: fat-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: md-modules-4.19.0-7-riscv64-di +Package: md-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-riscv64-di, crc-modules-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di, crc-modules-4.19.0-8-riscv64-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: multipath-modules-4.19.0-7-riscv64-di +Package: multipath-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-riscv64-di, md-modules-4.19.0-7-riscv64-di, scsi-core-modules-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di, md-modules-4.19.0-8-riscv64-di, scsi-core-modules-4.19.0-8-riscv64-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: usb-modules-4.19.0-7-riscv64-di +Package: usb-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: usb-storage-modules-4.19.0-7-riscv64-di +Package: usb-storage-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-4.19.0-7-riscv64-di, scsi-core-modules-4.19.0-7-riscv64-di, usb-modules-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di, scsi-core-modules-4.19.0-8-riscv64-di, usb-modules-4.19.0-8-riscv64-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: fb-modules-4.19.0-7-riscv64-di +Package: fb-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-4.19.0-7-riscv64-di, i2c-modules-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di, i2c-modules-4.19.0-8-riscv64-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: input-modules-4.19.0-7-riscv64-di +Package: input-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-4.19.0-7-riscv64-di, usb-modules-4.19.0-7-riscv64-di, i2c-modules-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di, usb-modules-4.19.0-8-riscv64-di, i2c-modules-4.19.0-8-riscv64-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: event-modules-4.19.0-7-riscv64-di +Package: event-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: event-modules -Depends: kernel-image-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di Description: Event support This package contains event drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: nic-usb-modules-4.19.0-7-riscv64-di +Package: nic-usb-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-4.19.0-7-riscv64-di, nic-shared-modules-4.19.0-7-riscv64-di, nic-wireless-modules-4.19.0-7-riscv64-di, usb-modules-4.19.0-7-riscv64-di, crc-modules-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di, nic-shared-modules-4.19.0-8-riscv64-di, nic-wireless-modules-4.19.0-8-riscv64-di, usb-modules-4.19.0-8-riscv64-di, crc-modules-4.19.0-8-riscv64-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: sata-modules-4.19.0-7-riscv64-di +Package: sata-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-4.19.0-7-riscv64-di, scsi-core-modules-4.19.0-7-riscv64-di, ata-modules-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di, scsi-core-modules-4.19.0-8-riscv64-di, ata-modules-4.19.0-8-riscv64-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: i2c-modules-4.19.0-7-riscv64-di +Package: i2c-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: crc-modules-4.19.0-7-riscv64-di +Package: crc-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: crypto-modules-4.19.0-7-riscv64-di +Package: crypto-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-riscv64-di +Package: crypto-dm-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-riscv64-di, md-modules-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di, md-modules-4.19.0-8-riscv64-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: ata-modules-4.19.0-7-riscv64-di +Package: ata-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-4.19.0-7-riscv64-di, scsi-core-modules-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di, scsi-core-modules-4.19.0-8-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: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: nbd-modules-4.19.0-7-riscv64-di +Package: nbd-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: squashfs-modules-4.19.0-7-riscv64-di +Package: squashfs-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-riscv64-di, compress-modules-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di, compress-modules-4.19.0-8-riscv64-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: zlib-modules-4.19.0-7-riscv64-di +Package: zlib-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: zlib-modules -Depends: kernel-image-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di Description: zlib modules This package contains zlib modules. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: compress-modules-4.19.0-7-riscv64-di +Package: compress-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: udf-modules-4.19.0-7-riscv64-di +Package: udf-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-riscv64-di, crc-modules-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di, crc-modules-4.19.0-8-riscv64-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: fuse-modules-4.19.0-7-riscv64-di +Package: fuse-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: mtd-modules-4.19.0-7-riscv64-di +Package: mtd-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: mtd-modules -Depends: kernel-image-4.19.0-7-riscv64-di, mtd-core-modules-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di, mtd-core-modules-4.19.0-8-riscv64-di Description: MTD driver modules This package contains MTD driver modules. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: mtd-core-modules-4.19.0-7-riscv64-di +Package: mtd-core-modules-4.19.0-8-riscv64-di Architecture: riscv64 Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-4.19.0-7-riscv64-di +Depends: kernel-image-4.19.0-8-riscv64-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 4.19.0-7-riscv64 +Kernel-Version: 4.19.0-8-riscv64 Package-Type: udeb -Package: linux-image-4.19.0-7-riscv64 +Package: linux-image-4.19.0-8-riscv64 Architecture: riscv64 -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [riscv64] | linux-initramfs-tool [riscv64] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [riscv64] | linux-initramfs-tool [riscv64] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [riscv64] Suggests: linux-doc-4.19, debian-kernel-handbook Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -12503,38 +12503,38 @@ The Linux kernel 4.19 and modules for use on 64-bit RISC-V platforms. Build-Profiles: -Package: linux-headers-4.19.0-7-riscv64 +Package: linux-headers-4.19.0-8-riscv64 Architecture: riscv64 -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-riscv64 +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-riscv64 This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-riscv64, generally used for building out-of-tree + Linux kernel 4.19.0-8-riscv64, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-riscv64, and can be used for building + /usr/src/linux-headers-4.19.0-8-riscv64, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-riscv64 package. + linux-image-4.19.0-8-riscv64 package. Build-Profiles: -Package: linux-image-4.19.0-7-riscv64-dbg +Package: linux-image-4.19.0-8-riscv64-dbg Architecture: riscv64 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-riscv64 +Description: Debug symbols for linux-image-4.19.0-8-riscv64 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-riscv64. + modules in linux-image-4.19.0-8-riscv64. Build-Profiles: -Package: linux-headers-4.19.0-7-all-s390x +Package: linux-headers-4.19.0-8-all-s390x Architecture: s390x -Depends: ${misc:Depends}, linux-headers-4.19.0-7-s390x (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-s390x (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: kernel-image-4.19.0-7-s390x-di +Package: kernel-image-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: standard @@ -12544,293 +12544,293 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: nic-modules-4.19.0-7-s390x-di +Package: nic-modules-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-4.19.0-7-s390x-di, crc-modules-4.19.0-7-s390x-di, zlib-modules-4.19.0-7-s390x-di, mtd-core-modules-4.19.0-7-s390x-di +Depends: kernel-image-4.19.0-8-s390x-di, crc-modules-4.19.0-8-s390x-di, zlib-modules-4.19.0-8-s390x-di, mtd-core-modules-4.19.0-8-s390x-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: cdrom-core-modules-4.19.0-7-s390x-di +Package: cdrom-core-modules-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-4.19.0-7-s390x-di, scsi-core-modules-4.19.0-7-s390x-di, isofs-modules-4.19.0-7-s390x-di +Depends: kernel-image-4.19.0-8-s390x-di, scsi-core-modules-4.19.0-8-s390x-di, isofs-modules-4.19.0-8-s390x-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: scsi-core-modules-4.19.0-7-s390x-di +Package: scsi-core-modules-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-4.19.0-7-s390x-di +Depends: kernel-image-4.19.0-8-s390x-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: scsi-modules-4.19.0-7-s390x-di +Package: scsi-modules-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-4.19.0-7-s390x-di, scsi-core-modules-4.19.0-7-s390x-di, cdrom-core-modules-4.19.0-7-s390x-di +Depends: kernel-image-4.19.0-8-s390x-di, scsi-core-modules-4.19.0-8-s390x-di, cdrom-core-modules-4.19.0-8-s390x-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: loop-modules-4.19.0-7-s390x-di +Package: loop-modules-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-s390x-di +Depends: kernel-image-4.19.0-8-s390x-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: btrfs-modules-4.19.0-7-s390x-di +Package: btrfs-modules-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-s390x-di, crc-modules-4.19.0-7-s390x-di, zlib-modules-4.19.0-7-s390x-di, compress-modules-4.19.0-7-s390x-di, md-modules-4.19.0-7-s390x-di +Depends: kernel-image-4.19.0-8-s390x-di, crc-modules-4.19.0-8-s390x-di, zlib-modules-4.19.0-8-s390x-di, compress-modules-4.19.0-8-s390x-di, md-modules-4.19.0-8-s390x-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: ext4-modules-4.19.0-7-s390x-di +Package: ext4-modules-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-s390x-di, crc-modules-4.19.0-7-s390x-di +Depends: kernel-image-4.19.0-8-s390x-di, crc-modules-4.19.0-8-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: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: isofs-modules-4.19.0-7-s390x-di +Package: isofs-modules-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-s390x-di +Depends: kernel-image-4.19.0-8-s390x-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: xfs-modules-4.19.0-7-s390x-di +Package: xfs-modules-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-4.19.0-7-s390x-di, crc-modules-4.19.0-7-s390x-di +Depends: kernel-image-4.19.0-8-s390x-di, crc-modules-4.19.0-8-s390x-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: fat-modules-4.19.0-7-s390x-di +Package: fat-modules-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-4.19.0-7-s390x-di +Depends: kernel-image-4.19.0-8-s390x-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: md-modules-4.19.0-7-s390x-di +Package: md-modules-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-s390x-di, crc-modules-4.19.0-7-s390x-di +Depends: kernel-image-4.19.0-8-s390x-di, crc-modules-4.19.0-8-s390x-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: multipath-modules-4.19.0-7-s390x-di +Package: multipath-modules-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-s390x-di, md-modules-4.19.0-7-s390x-di, scsi-core-modules-4.19.0-7-s390x-di +Depends: kernel-image-4.19.0-8-s390x-di, md-modules-4.19.0-8-s390x-di, scsi-core-modules-4.19.0-8-s390x-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: crc-modules-4.19.0-7-s390x-di +Package: crc-modules-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-s390x-di +Depends: kernel-image-4.19.0-8-s390x-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: crypto-modules-4.19.0-7-s390x-di +Package: crypto-modules-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-s390x-di +Depends: kernel-image-4.19.0-8-s390x-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-s390x-di +Package: crypto-dm-modules-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-s390x-di, md-modules-4.19.0-7-s390x-di +Depends: kernel-image-4.19.0-8-s390x-di, md-modules-4.19.0-8-s390x-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: nbd-modules-4.19.0-7-s390x-di +Package: nbd-modules-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-s390x-di +Depends: kernel-image-4.19.0-8-s390x-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: zlib-modules-4.19.0-7-s390x-di +Package: zlib-modules-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: zlib-modules -Depends: kernel-image-4.19.0-7-s390x-di +Depends: kernel-image-4.19.0-8-s390x-di Description: zlib modules This package contains zlib modules. Build-Profiles: -Kernel-Version: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: compress-modules-4.19.0-7-s390x-di +Package: compress-modules-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-s390x-di +Depends: kernel-image-4.19.0-8-s390x-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: udf-modules-4.19.0-7-s390x-di +Package: udf-modules-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-s390x-di, crc-modules-4.19.0-7-s390x-di +Depends: kernel-image-4.19.0-8-s390x-di, crc-modules-4.19.0-8-s390x-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: fuse-modules-4.19.0-7-s390x-di +Package: fuse-modules-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-s390x-di +Depends: kernel-image-4.19.0-8-s390x-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: mtd-core-modules-4.19.0-7-s390x-di +Package: mtd-core-modules-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: mtd-core-modules -Depends: kernel-image-4.19.0-7-s390x-di +Depends: kernel-image-4.19.0-8-s390x-di Description: MTD core This package contains the MTD core. Build-Profiles: -Kernel-Version: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: dasd-modules-4.19.0-7-s390x-di +Package: dasd-modules-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: standard Provides: dasd-modules -Depends: kernel-image-4.19.0-7-s390x-di +Depends: kernel-image-4.19.0-8-s390x-di Description: dasd modules This package contains dasd modules. Build-Profiles: -Kernel-Version: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: dasd-extra-modules-4.19.0-7-s390x-di +Package: dasd-extra-modules-4.19.0-8-s390x-di Architecture: s390x Section: debian-installer Priority: optional Provides: dasd-extra-modules -Depends: kernel-image-4.19.0-7-s390x-di, dasd-modules-4.19.0-7-s390x-di +Depends: kernel-image-4.19.0-8-s390x-di, dasd-modules-4.19.0-8-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: 4.19.0-7-s390x +Kernel-Version: 4.19.0-8-s390x Package-Type: udeb -Package: linux-image-4.19.0-7-s390x +Package: linux-image-4.19.0-8-s390x Architecture: s390x -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [s390x] | linux-initramfs-tool [s390x] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [s390x] | linux-initramfs-tool [s390x] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [s390x] Suggests: linux-doc-4.19, debian-kernel-handbook, s390-tools [s390x] Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -12838,38 +12838,38 @@ The Linux kernel 4.19 and modules for use on IBM zSeries. Build-Profiles: -Package: linux-headers-4.19.0-7-s390x +Package: linux-headers-4.19.0-8-s390x Architecture: s390x -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-s390 -Description: Header files for Linux 4.19.0-7-s390x +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, linux-compiler-gcc-8-s390 +Description: Header files for Linux 4.19.0-8-s390x This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-s390x, generally used for building out-of-tree + Linux kernel 4.19.0-8-s390x, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-s390x, and can be used for building + /usr/src/linux-headers-4.19.0-8-s390x, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-s390x package. + linux-image-4.19.0-8-s390x package. Build-Profiles: -Package: linux-image-4.19.0-7-s390x-dbg +Package: linux-image-4.19.0-8-s390x-dbg Architecture: s390x Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-s390x +Description: Debug symbols for linux-image-4.19.0-8-s390x This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-s390x. + modules in linux-image-4.19.0-8-s390x. Build-Profiles: -Package: linux-headers-4.19.0-7-all-sh4 +Package: linux-headers-4.19.0-8-all-sh4 Architecture: sh4 -Depends: ${misc:Depends}, linux-headers-4.19.0-7-sh7751r (= ${binary:Version}), linux-headers-4.19.0-7-sh7785lcr (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-sh7751r (= ${binary:Version}), linux-headers-4.19.0-8-sh7785lcr (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: kernel-image-4.19.0-7-sh7751r-di +Package: kernel-image-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard @@ -12879,398 +12879,398 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: nic-modules-4.19.0-7-sh7751r-di +Package: nic-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-4.19.0-7-sh7751r-di, nic-shared-modules-4.19.0-7-sh7751r-di, i2c-modules-4.19.0-7-sh7751r-di, crc-modules-4.19.0-7-sh7751r-di, zlib-modules-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di, nic-shared-modules-4.19.0-8-sh7751r-di, i2c-modules-4.19.0-8-sh7751r-di, crc-modules-4.19.0-8-sh7751r-di, zlib-modules-4.19.0-8-sh7751r-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-sh7751r-di +Package: nic-shared-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: usb-serial-modules-4.19.0-7-sh7751r-di +Package: usb-serial-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: ppp-modules-4.19.0-7-sh7751r-di +Package: ppp-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-4.19.0-7-sh7751r-di, zlib-modules-4.19.0-7-sh7751r-di, crc-modules-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di, zlib-modules-4.19.0-8-sh7751r-di, crc-modules-4.19.0-8-sh7751r-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: pata-modules-4.19.0-7-sh7751r-di +Package: pata-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: cdrom-core-modules-4.19.0-7-sh7751r-di +Package: cdrom-core-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-4.19.0-7-sh7751r-di, isofs-modules-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di, isofs-modules-4.19.0-8-sh7751r-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: firewire-core-modules-4.19.0-7-sh7751r-di +Package: firewire-core-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: firewire-core-modules -Depends: kernel-image-4.19.0-7-sh7751r-di, crc-modules-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di, crc-modules-4.19.0-8-sh7751r-di Description: Core FireWire drivers This package contains core FireWire drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: loop-modules-4.19.0-7-sh7751r-di +Package: loop-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: btrfs-modules-4.19.0-7-sh7751r-di +Package: btrfs-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-sh7751r-di, crc-modules-4.19.0-7-sh7751r-di, zlib-modules-4.19.0-7-sh7751r-di, compress-modules-4.19.0-7-sh7751r-di, md-modules-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di, crc-modules-4.19.0-8-sh7751r-di, zlib-modules-4.19.0-8-sh7751r-di, compress-modules-4.19.0-8-sh7751r-di, md-modules-4.19.0-8-sh7751r-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: ext4-modules-4.19.0-7-sh7751r-di +Package: ext4-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-sh7751r-di, crc-modules-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di, crc-modules-4.19.0-8-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: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: isofs-modules-4.19.0-7-sh7751r-di +Package: isofs-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: jfs-modules-4.19.0-7-sh7751r-di +Package: jfs-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: xfs-modules-4.19.0-7-sh7751r-di +Package: xfs-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-4.19.0-7-sh7751r-di, crc-modules-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di, crc-modules-4.19.0-8-sh7751r-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: fat-modules-4.19.0-7-sh7751r-di +Package: fat-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: minix-modules-4.19.0-7-sh7751r-di +Package: minix-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: minix-modules -Depends: kernel-image-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di Description: Minix filesystem support This package contains the Minix filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: md-modules-4.19.0-7-sh7751r-di +Package: md-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-sh7751r-di, crc-modules-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di, crc-modules-4.19.0-8-sh7751r-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: multipath-modules-4.19.0-7-sh7751r-di +Package: multipath-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-sh7751r-di, md-modules-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di, md-modules-4.19.0-8-sh7751r-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: usb-storage-modules-4.19.0-7-sh7751r-di +Package: usb-storage-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: nic-usb-modules-4.19.0-7-sh7751r-di +Package: nic-usb-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-4.19.0-7-sh7751r-di, nic-shared-modules-4.19.0-7-sh7751r-di, crc-modules-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di, nic-shared-modules-4.19.0-8-sh7751r-di, crc-modules-4.19.0-8-sh7751r-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: sata-modules-4.19.0-7-sh7751r-di +Package: sata-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: i2c-modules-4.19.0-7-sh7751r-di +Package: i2c-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: crc-modules-4.19.0-7-sh7751r-di +Package: crc-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: crypto-modules-4.19.0-7-sh7751r-di +Package: crypto-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-sh7751r-di +Package: crypto-dm-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-sh7751r-di, md-modules-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di, md-modules-4.19.0-8-sh7751r-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: nbd-modules-4.19.0-7-sh7751r-di +Package: nbd-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: squashfs-modules-4.19.0-7-sh7751r-di +Package: squashfs-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-sh7751r-di, compress-modules-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di, compress-modules-4.19.0-8-sh7751r-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: speakup-modules-4.19.0-7-sh7751r-di +Package: speakup-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: speakup-modules -Depends: kernel-image-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di Description: speakup modules This package contains speakup modules. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: sound-modules-4.19.0-7-sh7751r-di +Package: sound-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: sound-modules -Depends: kernel-image-4.19.0-7-sh7751r-di, i2c-modules-4.19.0-7-sh7751r-di, firewire-core-modules-4.19.0-7-sh7751r-di, crc-modules-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di, i2c-modules-4.19.0-8-sh7751r-di, firewire-core-modules-4.19.0-8-sh7751r-di, crc-modules-4.19.0-8-sh7751r-di Description: sound support This package contains sound modules. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: zlib-modules-4.19.0-7-sh7751r-di +Package: zlib-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: zlib-modules -Depends: kernel-image-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di Description: zlib modules This package contains zlib modules. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: compress-modules-4.19.0-7-sh7751r-di +Package: compress-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: udf-modules-4.19.0-7-sh7751r-di +Package: udf-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-sh7751r-di, crc-modules-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di, crc-modules-4.19.0-8-sh7751r-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: fuse-modules-4.19.0-7-sh7751r-di +Package: fuse-modules-4.19.0-8-sh7751r-di Architecture: sh4 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-sh7751r-di +Depends: kernel-image-4.19.0-8-sh7751r-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7751r +Kernel-Version: 4.19.0-8-sh7751r Package-Type: udeb -Package: kernel-image-4.19.0-7-sh7785lcr-di +Package: kernel-image-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard @@ -13280,376 +13280,376 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: nic-modules-4.19.0-7-sh7785lcr-di +Package: nic-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di, nic-shared-modules-4.19.0-7-sh7785lcr-di, crc-modules-4.19.0-7-sh7785lcr-di, zlib-modules-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di, nic-shared-modules-4.19.0-8-sh7785lcr-di, crc-modules-4.19.0-8-sh7785lcr-di, zlib-modules-4.19.0-8-sh7785lcr-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-sh7785lcr-di +Package: nic-shared-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: usb-serial-modules-4.19.0-7-sh7785lcr-di +Package: usb-serial-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: ppp-modules-4.19.0-7-sh7785lcr-di +Package: ppp-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di, zlib-modules-4.19.0-7-sh7785lcr-di, crc-modules-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di, zlib-modules-4.19.0-8-sh7785lcr-di, crc-modules-4.19.0-8-sh7785lcr-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: pata-modules-4.19.0-7-sh7785lcr-di +Package: pata-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: cdrom-core-modules-4.19.0-7-sh7785lcr-di +Package: cdrom-core-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di, isofs-modules-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di, isofs-modules-4.19.0-8-sh7785lcr-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: firewire-core-modules-4.19.0-7-sh7785lcr-di +Package: firewire-core-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: firewire-core-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di, crc-modules-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di, crc-modules-4.19.0-8-sh7785lcr-di Description: Core FireWire drivers This package contains core FireWire drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: loop-modules-4.19.0-7-sh7785lcr-di +Package: loop-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: loop-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di Description: Loopback filesystem support This package contains loopback filesystem support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: btrfs-modules-4.19.0-7-sh7785lcr-di +Package: btrfs-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di, crc-modules-4.19.0-7-sh7785lcr-di, zlib-modules-4.19.0-7-sh7785lcr-di, compress-modules-4.19.0-7-sh7785lcr-di, md-modules-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di, crc-modules-4.19.0-8-sh7785lcr-di, zlib-modules-4.19.0-8-sh7785lcr-di, compress-modules-4.19.0-8-sh7785lcr-di, md-modules-4.19.0-8-sh7785lcr-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: ext4-modules-4.19.0-7-sh7785lcr-di +Package: ext4-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di, crc-modules-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di, crc-modules-4.19.0-8-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: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: isofs-modules-4.19.0-7-sh7785lcr-di +Package: isofs-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: jfs-modules-4.19.0-7-sh7785lcr-di +Package: jfs-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: xfs-modules-4.19.0-7-sh7785lcr-di +Package: xfs-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di, crc-modules-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di, crc-modules-4.19.0-8-sh7785lcr-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: fat-modules-4.19.0-7-sh7785lcr-di +Package: fat-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: minix-modules-4.19.0-7-sh7785lcr-di +Package: minix-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: minix-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di Description: Minix filesystem support This package contains the Minix filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: md-modules-4.19.0-7-sh7785lcr-di +Package: md-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di, crc-modules-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di, crc-modules-4.19.0-8-sh7785lcr-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: multipath-modules-4.19.0-7-sh7785lcr-di +Package: multipath-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di, md-modules-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di, md-modules-4.19.0-8-sh7785lcr-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: nic-usb-modules-4.19.0-7-sh7785lcr-di +Package: nic-usb-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di, nic-shared-modules-4.19.0-7-sh7785lcr-di, crc-modules-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di, nic-shared-modules-4.19.0-8-sh7785lcr-di, crc-modules-4.19.0-8-sh7785lcr-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: sata-modules-4.19.0-7-sh7785lcr-di +Package: sata-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: crc-modules-4.19.0-7-sh7785lcr-di +Package: crc-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: crypto-modules-4.19.0-7-sh7785lcr-di +Package: crypto-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-sh7785lcr-di +Package: crypto-dm-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di, md-modules-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di, md-modules-4.19.0-8-sh7785lcr-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: nbd-modules-4.19.0-7-sh7785lcr-di +Package: nbd-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: squashfs-modules-4.19.0-7-sh7785lcr-di +Package: squashfs-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di, compress-modules-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di, compress-modules-4.19.0-8-sh7785lcr-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: speakup-modules-4.19.0-7-sh7785lcr-di +Package: speakup-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: speakup-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di Description: speakup modules This package contains speakup modules. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: sound-modules-4.19.0-7-sh7785lcr-di +Package: sound-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: sound-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di, firewire-core-modules-4.19.0-7-sh7785lcr-di, crc-modules-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di, firewire-core-modules-4.19.0-8-sh7785lcr-di, crc-modules-4.19.0-8-sh7785lcr-di Description: sound support This package contains sound modules. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: zlib-modules-4.19.0-7-sh7785lcr-di +Package: zlib-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: zlib-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di Description: zlib modules This package contains zlib modules. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: compress-modules-4.19.0-7-sh7785lcr-di +Package: compress-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: udf-modules-4.19.0-7-sh7785lcr-di +Package: udf-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di, crc-modules-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di, crc-modules-4.19.0-8-sh7785lcr-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: fuse-modules-4.19.0-7-sh7785lcr-di +Package: fuse-modules-4.19.0-8-sh7785lcr-di Architecture: sh4 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-sh7785lcr-di +Depends: kernel-image-4.19.0-8-sh7785lcr-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-sh7785lcr +Kernel-Version: 4.19.0-8-sh7785lcr Package-Type: udeb -Package: linux-image-4.19.0-7-sh7751r +Package: linux-image-4.19.0-8-sh7751r Architecture: sh4 -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [sh4] | linux-initramfs-tool [sh4] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [sh4] | linux-initramfs-tool [sh4] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [sh4] Suggests: linux-doc-4.19, debian-kernel-handbook Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -13658,31 +13658,31 @@ board. Build-Profiles: -Package: linux-headers-4.19.0-7-sh7751r +Package: linux-headers-4.19.0-8-sh7751r Architecture: sh4 -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-sh7751r +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-sh7751r This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-sh7751r, generally used for building out-of-tree + Linux kernel 4.19.0-8-sh7751r, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-sh7751r, and can be used for building + /usr/src/linux-headers-4.19.0-8-sh7751r, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-sh7751r package. + linux-image-4.19.0-8-sh7751r package. Build-Profiles: -Package: linux-image-4.19.0-7-sh7751r-dbg +Package: linux-image-4.19.0-8-sh7751r-dbg Architecture: sh4 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-sh7751r +Description: Debug symbols for linux-image-4.19.0-8-sh7751r This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-sh7751r. + modules in linux-image-4.19.0-8-sh7751r. Build-Profiles: -Package: linux-image-4.19.0-7-sh7785lcr +Package: linux-image-4.19.0-8-sh7785lcr Architecture: sh4 -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [sh4] | linux-initramfs-tool [sh4] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [sh4] | linux-initramfs-tool [sh4] Recommends: firmware-linux-free, ${kernel:Recommends}, u-boot-tools [sh4], apparmor [sh4] Suggests: linux-doc-4.19, debian-kernel-handbook Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -13691,38 +13691,38 @@ board. Build-Profiles: -Package: linux-headers-4.19.0-7-sh7785lcr +Package: linux-headers-4.19.0-8-sh7785lcr Architecture: sh4 -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-sh7785lcr +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-sh7785lcr This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-sh7785lcr, generally used for building out-of-tree + Linux kernel 4.19.0-8-sh7785lcr, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-sh7785lcr, and can be used for building + /usr/src/linux-headers-4.19.0-8-sh7785lcr, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-sh7785lcr package. + linux-image-4.19.0-8-sh7785lcr package. Build-Profiles: -Package: linux-image-4.19.0-7-sh7785lcr-dbg +Package: linux-image-4.19.0-8-sh7785lcr-dbg Architecture: sh4 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-sh7785lcr +Description: Debug symbols for linux-image-4.19.0-8-sh7785lcr This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-sh7785lcr. + modules in linux-image-4.19.0-8-sh7785lcr. Build-Profiles: -Package: linux-headers-4.19.0-7-all-sparc64 +Package: linux-headers-4.19.0-8-all-sparc64 Architecture: sparc64 -Depends: ${misc:Depends}, linux-headers-4.19.0-7-sparc64 (= ${binary:Version}), linux-headers-4.19.0-7-sparc64-smp (= ${binary:Version}) +Depends: ${misc:Depends}, linux-headers-4.19.0-8-sparc64 (= ${binary:Version}), linux-headers-4.19.0-8-sparc64-smp (= ${binary:Version}) Description: All header files for Linux 4.19 (meta-package) This package depends against all architecture-specific kernel header files for Linux kernel version 4.19, generally used for building out-of-tree kernel modules. Build-Profiles: -Package: kernel-image-4.19.0-7-sparc64-di +Package: kernel-image-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard @@ -13732,425 +13732,425 @@ installer boot images. It does _not_ provide a usable kernel for your full Debian system. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: nic-modules-4.19.0-7-sparc64-di +Package: nic-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: nic-modules, nic-extra-modules -Depends: kernel-image-4.19.0-7-sparc64-di, nic-shared-modules-4.19.0-7-sparc64-di, i2c-modules-4.19.0-7-sparc64-di, crc-modules-4.19.0-7-sparc64-di, zlib-modules-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di, nic-shared-modules-4.19.0-8-sparc64-di, i2c-modules-4.19.0-8-sparc64-di, crc-modules-4.19.0-8-sparc64-di, zlib-modules-4.19.0-8-sparc64-di Description: NIC drivers This package contains Ethernet and some paravirtualised network drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: nic-shared-modules-4.19.0-7-sparc64-di +Package: nic-shared-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: nic-shared-modules -Depends: kernel-image-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-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: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: usb-serial-modules-4.19.0-7-sparc64-di +Package: usb-serial-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: usb-serial-modules -Depends: kernel-image-4.19.0-7-sparc64-di, usb-modules-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di, usb-modules-4.19.0-8-sparc64-di Description: USB serial drivers This package contains USB serial drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: ppp-modules-4.19.0-7-sparc64-di +Package: ppp-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: ppp-modules -Depends: kernel-image-4.19.0-7-sparc64-di, zlib-modules-4.19.0-7-sparc64-di, crc-modules-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di, zlib-modules-4.19.0-8-sparc64-di, crc-modules-4.19.0-8-sparc64-di Description: PPP drivers This package contains PPP drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: pata-modules-4.19.0-7-sparc64-di +Package: pata-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: pata-modules -Depends: kernel-image-4.19.0-7-sparc64-di, ata-modules-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di, ata-modules-4.19.0-8-sparc64-di Description: PATA drivers This package contains PATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: cdrom-core-modules-4.19.0-7-sparc64-di +Package: cdrom-core-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: cdrom-core-modules -Depends: kernel-image-4.19.0-7-sparc64-di, scsi-core-modules-4.19.0-7-sparc64-di, isofs-modules-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di, scsi-core-modules-4.19.0-8-sparc64-di, isofs-modules-4.19.0-8-sparc64-di Description: CDROM support This package contains core CDROM support for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: scsi-core-modules-4.19.0-7-sparc64-di +Package: scsi-core-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: scsi-core-modules -Depends: kernel-image-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di Description: Core SCSI subsystem This package contains the core SCSI subsystem for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: scsi-modules-4.19.0-7-sparc64-di +Package: scsi-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: scsi-modules -Depends: kernel-image-4.19.0-7-sparc64-di, scsi-core-modules-4.19.0-7-sparc64-di, cdrom-core-modules-4.19.0-7-sparc64-di, ata-modules-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di, scsi-core-modules-4.19.0-8-sparc64-di, cdrom-core-modules-4.19.0-8-sparc64-di, ata-modules-4.19.0-8-sparc64-di Description: SCSI drivers This package contains SCSI drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: btrfs-modules-4.19.0-7-sparc64-di +Package: btrfs-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: btrfs-modules -Depends: kernel-image-4.19.0-7-sparc64-di, crc-modules-4.19.0-7-sparc64-di, zlib-modules-4.19.0-7-sparc64-di, compress-modules-4.19.0-7-sparc64-di, md-modules-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di, crc-modules-4.19.0-8-sparc64-di, zlib-modules-4.19.0-8-sparc64-di, compress-modules-4.19.0-8-sparc64-di, md-modules-4.19.0-8-sparc64-di Description: BTRFS filesystem support This package contains the BTRFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: ext4-modules-4.19.0-7-sparc64-di +Package: ext4-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: ext4-modules, ext2-modules, ext3-modules -Depends: kernel-image-4.19.0-7-sparc64-di, crc-modules-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di, crc-modules-4.19.0-8-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: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: isofs-modules-4.19.0-7-sparc64-di +Package: isofs-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: isofs-modules -Depends: kernel-image-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di Description: ISOFS filesystem support This package contains the ISOFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: jfs-modules-4.19.0-7-sparc64-di +Package: jfs-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: jfs-modules -Depends: kernel-image-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di Description: JFS filesystem support This package contains the JFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: ufs-modules-4.19.0-7-sparc64-di +Package: ufs-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: ufs-modules -Depends: kernel-image-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di Description: UFS filesystem support This package contains the UFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: xfs-modules-4.19.0-7-sparc64-di +Package: xfs-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: xfs-modules -Depends: kernel-image-4.19.0-7-sparc64-di, crc-modules-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di, crc-modules-4.19.0-8-sparc64-di Description: XFS filesystem support This package contains the XFS filesystem module for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: fat-modules-4.19.0-7-sparc64-di +Package: fat-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: fat-modules -Depends: kernel-image-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di Description: FAT filesystem support This package contains the FAT and VFAT filesystem modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: md-modules-4.19.0-7-sparc64-di +Package: md-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: md-modules -Depends: kernel-image-4.19.0-7-sparc64-di, crc-modules-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di, crc-modules-4.19.0-8-sparc64-di Description: RAID and LVM support This package contains RAID and LVM modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: multipath-modules-4.19.0-7-sparc64-di +Package: multipath-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: multipath-modules -Depends: kernel-image-4.19.0-7-sparc64-di, md-modules-4.19.0-7-sparc64-di, scsi-core-modules-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di, md-modules-4.19.0-8-sparc64-di, scsi-core-modules-4.19.0-8-sparc64-di Description: Multipath support This package contains DM-Multipath modules for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: usb-modules-4.19.0-7-sparc64-di +Package: usb-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: usb-modules -Depends: kernel-image-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di Description: USB support This package contains core USB drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: usb-storage-modules-4.19.0-7-sparc64-di +Package: usb-storage-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: usb-storage-modules -Depends: kernel-image-4.19.0-7-sparc64-di, scsi-core-modules-4.19.0-7-sparc64-di, usb-modules-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di, scsi-core-modules-4.19.0-8-sparc64-di, usb-modules-4.19.0-8-sparc64-di Description: USB storage support This package contains the USB storage driver for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: fb-modules-4.19.0-7-sparc64-di +Package: fb-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: fb-modules -Depends: kernel-image-4.19.0-7-sparc64-di, i2c-modules-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di, i2c-modules-4.19.0-8-sparc64-di Description: Frame buffer support This package contains Frame buffer drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: input-modules-4.19.0-7-sparc64-di +Package: input-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: input-modules -Depends: kernel-image-4.19.0-7-sparc64-di, usb-modules-4.19.0-7-sparc64-di, i2c-modules-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di, usb-modules-4.19.0-8-sparc64-di, i2c-modules-4.19.0-8-sparc64-di Description: Input devices support This package contains input device drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: nic-usb-modules-4.19.0-7-sparc64-di +Package: nic-usb-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: nic-usb-modules -Depends: kernel-image-4.19.0-7-sparc64-di, nic-shared-modules-4.19.0-7-sparc64-di, usb-modules-4.19.0-7-sparc64-di, crc-modules-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di, nic-shared-modules-4.19.0-8-sparc64-di, usb-modules-4.19.0-8-sparc64-di, crc-modules-4.19.0-8-sparc64-di Description: USB NIC drivers This package contains USB network adapter drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: sata-modules-4.19.0-7-sparc64-di +Package: sata-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: standard Provides: sata-modules -Depends: kernel-image-4.19.0-7-sparc64-di, scsi-core-modules-4.19.0-7-sparc64-di, ata-modules-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di, scsi-core-modules-4.19.0-8-sparc64-di, ata-modules-4.19.0-8-sparc64-di Description: SATA drivers This package contains SATA drivers for the kernel. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: i2c-modules-4.19.0-7-sparc64-di +Package: i2c-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: i2c-modules -Depends: kernel-image-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di Description: i2c support modules This package contains basic i2c support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: crc-modules-4.19.0-7-sparc64-di +Package: crc-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: crc-modules -Depends: kernel-image-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di Description: CRC modules This package contains CRC support modules. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: crypto-modules-4.19.0-7-sparc64-di +Package: crypto-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: crypto-modules -Depends: kernel-image-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di Description: crypto modules This package contains crypto modules. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: crypto-dm-modules-4.19.0-7-sparc64-di +Package: crypto-dm-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: crypto-dm-modules -Depends: kernel-image-4.19.0-7-sparc64-di, md-modules-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di, md-modules-4.19.0-8-sparc64-di Description: devicemapper crypto module This package contains the devicemapper crypto (dm-crypt) module. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: ata-modules-4.19.0-7-sparc64-di +Package: ata-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: ata-modules -Depends: kernel-image-4.19.0-7-sparc64-di, scsi-core-modules-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di, scsi-core-modules-4.19.0-8-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: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: nbd-modules-4.19.0-7-sparc64-di +Package: nbd-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: nbd-modules -Depends: kernel-image-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di Description: Network Block Device modules This package contains the modules required for support of the Network Block Device Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: squashfs-modules-4.19.0-7-sparc64-di +Package: squashfs-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: squashfs-modules -Depends: kernel-image-4.19.0-7-sparc64-di, compress-modules-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di, compress-modules-4.19.0-8-sparc64-di Description: squashfs modules This package contains squashfs modules. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: zlib-modules-4.19.0-7-sparc64-di +Package: zlib-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: zlib-modules -Depends: kernel-image-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di Description: zlib modules This package contains zlib modules. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: compress-modules-4.19.0-7-sparc64-di +Package: compress-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: compress-modules -Depends: kernel-image-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di Description: lzo modules This package contains lzo modules. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: udf-modules-4.19.0-7-sparc64-di +Package: udf-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: udf-modules -Depends: kernel-image-4.19.0-7-sparc64-di, crc-modules-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di, crc-modules-4.19.0-8-sparc64-di Description: UDF modules This package contains the UDF filesystem module. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: fuse-modules-4.19.0-7-sparc64-di +Package: fuse-modules-4.19.0-8-sparc64-di Architecture: sparc64 Section: debian-installer Priority: optional Provides: fuse-modules -Depends: kernel-image-4.19.0-7-sparc64-di +Depends: kernel-image-4.19.0-8-sparc64-di Description: FUSE modules This package contains the Filesystem in Userspace (FUSE) module. Build-Profiles: -Kernel-Version: 4.19.0-7-sparc64 +Kernel-Version: 4.19.0-8-sparc64 Package-Type: udeb -Package: linux-image-4.19.0-7-sparc64 +Package: linux-image-4.19.0-8-sparc64 Architecture: sparc64 -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [sparc64] | linux-initramfs-tool [sparc64] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [sparc64] | linux-initramfs-tool [sparc64] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [sparc64] Suggests: linux-doc-4.19, debian-kernel-handbook, fdutils [sparc64], grub-ieee1275 [sparc64] Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -14159,31 +14159,31 @@ UltraSPARC. Build-Profiles: -Package: linux-headers-4.19.0-7-sparc64 +Package: linux-headers-4.19.0-8-sparc64 Architecture: sparc64 -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-sparc64 +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-sparc64 This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-sparc64, generally used for building out-of-tree + Linux kernel 4.19.0-8-sparc64, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-sparc64, and can be used for building + /usr/src/linux-headers-4.19.0-8-sparc64, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-sparc64 package. + linux-image-4.19.0-8-sparc64 package. Build-Profiles: -Package: linux-image-4.19.0-7-sparc64-dbg +Package: linux-image-4.19.0-8-sparc64-dbg Architecture: sparc64 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-sparc64 +Description: Debug symbols for linux-image-4.19.0-8-sparc64 This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-sparc64. + modules in linux-image-4.19.0-8-sparc64. Build-Profiles: -Package: linux-image-4.19.0-7-sparc64-smp +Package: linux-image-4.19.0-8-sparc64-smp Architecture: sparc64 -Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-7 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [sparc64] | linux-initramfs-tool [sparc64] +Depends: kmod, linux-base (>= 4.3~), linux-bootwrapper-4.19.0-8 [powerpc powerpcspe ppc64], ${misc:Depends}, initramfs-tools (>= 0.120+deb8u2) [sparc64] | linux-initramfs-tool [sparc64] Recommends: firmware-linux-free, ${kernel:Recommends}, apparmor [sparc64] Suggests: linux-doc-4.19, debian-kernel-handbook, fdutils [sparc64], grub-ieee1275 [sparc64] Breaks: initramfs-tools (<< 0.120+deb8u2) @@ -14192,26 +14192,26 @@ UltraSPARC. Build-Profiles: -Package: linux-headers-4.19.0-7-sparc64-smp +Package: linux-headers-4.19.0-8-sparc64-smp Architecture: sparc64 -Depends: linux-headers-4.19.0-7-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 -Description: Header files for Linux 4.19.0-7-sparc64-smp +Depends: linux-headers-4.19.0-8-common (= ${source:Version}), linux-kbuild-4.19 (>= ${source:Version}), ${misc:Depends}, gcc-8 +Description: Header files for Linux 4.19.0-8-sparc64-smp This package provides the architecture-specific kernel header files for - Linux kernel 4.19.0-7-sparc64-smp, generally used for building out-of-tree + Linux kernel 4.19.0-8-sparc64-smp, generally used for building out-of-tree kernel modules. These files are going to be installed into - /usr/src/linux-headers-4.19.0-7-sparc64-smp, and can be used for building + /usr/src/linux-headers-4.19.0-8-sparc64-smp, and can be used for building modules that load into the kernel provided by the - linux-image-4.19.0-7-sparc64-smp package. + linux-image-4.19.0-8-sparc64-smp package. Build-Profiles: -Package: linux-image-4.19.0-7-sparc64-smp-dbg +Package: linux-image-4.19.0-8-sparc64-smp-dbg Architecture: sparc64 Section: debug Priority: optional Depends: ${misc:Depends} -Description: Debug symbols for linux-image-4.19.0-7-sparc64-smp +Description: Debug symbols for linux-image-4.19.0-8-sparc64-smp This package provides the detached debug symbols for the Linux kernel and - modules in linux-image-4.19.0-7-sparc64-smp. + modules in linux-image-4.19.0-8-sparc64-smp. Build-Profiles: Package: linux-compiler-gcc-8-arm diff -Nru linux-4.19.87/debian/control.md5sum linux-4.19.98/debian/control.md5sum --- linux-4.19.87/debian/control.md5sum 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/control.md5sum 2020-01-26 20:01:13.000000000 +0000 @@ -1,5 +1,5 @@ ee4a1d15d41bf60863ffc0d86d4b4891 debian/bin/gencontrol.py -f5f2697e6c97eb1c0bc8a7c799138ed1 debian/build/version-info +a7c77bcc1330e01ec3038f252e05a86b debian/build/version-info eda4623fb10d5ba1cefa8502ebaeb0fd debian/templates/control.image-dbg.in 74b180a87aa1f6377d9bf8a10368c657 debian/templates/control.main.in 38004750aa03cea41d5d3aeafff16fcc debian/templates/image.preinst.in @@ -25,7 +25,7 @@ 0c86e2579f89e94a6cd144eb98593a5b debian/templates/control.extra.in fe4456d48e3218fb8980c8577d03a7ae debian/templates/control.config.in 103ea5fb237e376b511ba638afc41837 debian/templates/control.headers.arch.in -72395830fe1eeb87c7229ff1c95aa96a debian/config/defines +fe6480aadd1dd54f8a6be98596fc9a55 debian/config/defines 151f2a989308056668d9a162a321c32a debian/config/i386/defines d08ab699e6a25ec0da4cb70efc0f2288 debian/config/ppc64el/defines 32e264f468daa991fa1bafce9e1eee3c debian/config/mips64el/defines diff -Nru linux-4.19.87/debian/linux-headers-4.19.0-7-4kc-malta.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-4kc-malta.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-4kc-malta.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-5kc-malta.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-5kc-malta.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-5kc-malta.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-686-pae.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-686-pae.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-686-pae.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-686.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-686.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-686.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-alpha-generic.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-alpha-generic.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-alpha-generic.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-alpha-smp.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-alpha-smp.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-alpha-smp.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-amd64.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-amd64.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-amd64.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-arm64.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-arm64.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-arm64.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-armmp-lpae.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-armmp-lpae.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-armmp-lpae.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-armmp.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-armmp.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-armmp.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-cloud-amd64.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-cloud-amd64.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-cloud-amd64.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-itanium.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-itanium.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-itanium.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-loongson-3.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-loongson-3.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-loongson-3.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-m68k.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-m68k.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-m68k.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-marvell.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-marvell.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-marvell.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-mckinley.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-mckinley.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-mckinley.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-mips32r6.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-mips32r6.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-mips32r6.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-mips32r6el.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-mips32r6el.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-mips32r6el.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-mips64r6.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-mips64r6.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-mips64r6.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-mips64r6el.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-mips64r6el.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-mips64r6el.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-octeon.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-octeon.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-octeon.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-parisc-smp.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-parisc-smp.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-parisc-smp.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-parisc-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 = "4.19.0-7-parisc-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-4.19.87/debian/linux-headers-4.19.0-7-parisc.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-parisc.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-parisc.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-parisc64-smp.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-parisc64-smp.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-parisc64-smp.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-parisc64-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 = "4.19.0-7-parisc64-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-4.19.87/debian/linux-headers-4.19.0-7-powerpc-smp.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-powerpc-smp.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-powerpc-smp.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-powerpc.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-powerpc.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-powerpc.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-powerpc64.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-powerpc64.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-powerpc64.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-powerpc64le.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-powerpc64le.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-powerpc64le.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-powerpcspe.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-powerpcspe.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-powerpcspe.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-powerpcspe.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 = "4.19.0-7-powerpcspe"; - -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-4.19.87/debian/linux-headers-4.19.0-7-riscv64.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-riscv64.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-riscv64.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-rpi.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-rpi.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-rpi.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-rt-686-pae.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-rt-686-pae.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-rt-686-pae.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-rt-amd64.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-rt-amd64.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-rt-amd64.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-rt-arm64.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-rt-arm64.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-rt-arm64.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-rt-armmp.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-rt-armmp.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-rt-armmp.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-s390x.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-s390x.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-s390x.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-sh7751r.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-sh7751r.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-sh7751r.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-sh7785lcr.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-sh7785lcr.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-sh7785lcr.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-sparc64-smp.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-sparc64-smp.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-sparc64-smp.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-7-sparc64.postinst linux-4.19.98/debian/linux-headers-4.19.0-7-sparc64.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-7-sparc64.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-7-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 = "4.19.0-7-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-4.19.87/debian/linux-headers-4.19.0-8-4kc-malta.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-4kc-malta.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-4kc-malta.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-4kc-malta.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-5kc-malta.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-5kc-malta.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-5kc-malta.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-5kc-malta.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-686-pae.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-686-pae.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-686-pae.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-686-pae.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-686.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-686.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-686.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-686.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-alpha-generic.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-alpha-generic.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-alpha-generic.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-alpha-generic.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-alpha-smp.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-alpha-smp.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-alpha-smp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-alpha-smp.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-amd64.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-amd64.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-amd64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-amd64.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-arm64.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-arm64.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-arm64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-arm64.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-armmp-lpae.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-armmp-lpae.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-armmp-lpae.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-armmp-lpae.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-armmp.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-armmp.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-armmp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-armmp.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-cloud-amd64.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-cloud-amd64.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-cloud-amd64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-cloud-amd64.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-itanium.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-itanium.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-itanium.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-itanium.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-loongson-3.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-loongson-3.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-loongson-3.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-loongson-3.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-m68k.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-m68k.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-m68k.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-m68k.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-marvell.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-marvell.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-marvell.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-marvell.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-mckinley.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-mckinley.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-mckinley.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-mckinley.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-mips32r6.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-mips32r6.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-mips32r6.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-mips32r6.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-mips32r6el.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-mips32r6el.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-mips32r6el.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-mips32r6el.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-mips64r6.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-mips64r6.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-mips64r6.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-mips64r6.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-mips64r6el.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-mips64r6el.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-mips64r6el.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-mips64r6el.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-octeon.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-octeon.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-octeon.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-octeon.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-parisc-smp.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-parisc-smp.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-parisc-smp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-parisc-smp.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-parisc-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-4.19.87/debian/linux-headers-4.19.0-8-parisc.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-parisc.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-parisc.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-parisc.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-parisc64-smp.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-parisc64-smp.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-parisc64-smp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-parisc64-smp.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-parisc64-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-4.19.87/debian/linux-headers-4.19.0-8-powerpc-smp.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-powerpc-smp.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-powerpc-smp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-powerpc-smp.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-powerpc.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-powerpc.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-powerpc.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-powerpc.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-powerpc64.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-powerpc64.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-powerpc64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-powerpc64.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-powerpc64le.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-powerpc64le.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-powerpc64le.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-powerpc64le.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-powerpcspe.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-powerpcspe.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-powerpcspe.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-powerpcspe.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-powerpcspe"; + +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-4.19.87/debian/linux-headers-4.19.0-8-riscv64.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-riscv64.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-riscv64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-riscv64.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-rpi.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-rpi.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-rpi.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-rpi.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-rt-686-pae.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-rt-686-pae.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-rt-686-pae.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-rt-686-pae.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-rt-amd64.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-rt-amd64.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-rt-amd64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-rt-amd64.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-rt-arm64.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-rt-arm64.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-rt-arm64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-rt-arm64.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-rt-armmp.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-rt-armmp.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-rt-armmp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-rt-armmp.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-s390x.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-s390x.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-s390x.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-s390x.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-sh7751r.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-sh7751r.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-sh7751r.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-sh7751r.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-sh7785lcr.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-sh7785lcr.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-sh7785lcr.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-sh7785lcr.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-sparc64-smp.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-sparc64-smp.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-sparc64-smp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-sparc64-smp.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-headers-4.19.0-8-sparc64.postinst linux-4.19.98/debian/linux-headers-4.19.0-8-sparc64.postinst --- linux-4.19.87/debian/linux-headers-4.19.0-8-sparc64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-headers-4.19.0-8-sparc64.postinst 2020-01-26 20:01:13.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 = "4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-7-4kc-malta-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-4kc-malta-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-4kc-malta-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-4kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-4kc-malta/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-4kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-4kc-malta/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-4kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-4kc-malta/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-4kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-4kc-malta/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-4kc-malta-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-4kc-malta/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-4kc-malta-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-4kc-malta/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-4kc-malta.postinst linux-4.19.98/debian/linux-image-4.19.0-7-4kc-malta.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-4kc-malta.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-4kc-malta.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-4kc-malta -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-4.19.87/debian/linux-image-4.19.0-7-4kc-malta.postrm linux-4.19.98/debian/linux-image-4.19.0-7-4kc-malta.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-4kc-malta.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-4kc-malta.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-4kc-malta -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-4.19.87/debian/linux-image-4.19.0-7-4kc-malta.preinst linux-4.19.98/debian/linux-image-4.19.0-7-4kc-malta.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-4kc-malta.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-4kc-malta.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-4kc-malta -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-4.19.87/debian/linux-image-4.19.0-7-4kc-malta.prerm linux-4.19.98/debian/linux-image-4.19.0-7-4kc-malta.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-4kc-malta.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-4kc-malta.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-4kc-malta -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-4.19.87/debian/linux-image-4.19.0-7-5kc-malta-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-5kc-malta-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-5kc-malta-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-5kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-5kc-malta/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-5kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-5kc-malta/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-5kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-5kc-malta/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-5kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-5kc-malta/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-5kc-malta-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-5kc-malta/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-5kc-malta-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-5kc-malta/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-5kc-malta.postinst linux-4.19.98/debian/linux-image-4.19.0-7-5kc-malta.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-5kc-malta.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-5kc-malta.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-5kc-malta -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-4.19.87/debian/linux-image-4.19.0-7-5kc-malta.postrm linux-4.19.98/debian/linux-image-4.19.0-7-5kc-malta.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-5kc-malta.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-5kc-malta.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-5kc-malta -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-4.19.87/debian/linux-image-4.19.0-7-5kc-malta.preinst linux-4.19.98/debian/linux-image-4.19.0-7-5kc-malta.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-5kc-malta.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-5kc-malta.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-5kc-malta -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-4.19.87/debian/linux-image-4.19.0-7-5kc-malta.prerm linux-4.19.98/debian/linux-image-4.19.0-7-5kc-malta.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-5kc-malta.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-5kc-malta.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-5kc-malta -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-4.19.87/debian/linux-image-4.19.0-7-686-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-686-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-686-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-686-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-686/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-686-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-686/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-686-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-686/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-686-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-686/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-686-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-686/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-686-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-686/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-686-pae-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-686-pae-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-686-pae-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-686-pae/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-686-pae/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-686-pae/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-686-pae/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-686-pae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-686-pae/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-686-pae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-686-pae/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-686-pae-unsigned.postinst linux-4.19.98/debian/linux-image-4.19.0-7-686-pae-unsigned.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-686-pae-unsigned.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-686-pae-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-686-pae-unsigned.postrm linux-4.19.98/debian/linux-image-4.19.0-7-686-pae-unsigned.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-686-pae-unsigned.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-686-pae-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-686-pae-unsigned.preinst linux-4.19.98/debian/linux-image-4.19.0-7-686-pae-unsigned.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-686-pae-unsigned.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-686-pae-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-686-pae-unsigned.prerm linux-4.19.98/debian/linux-image-4.19.0-7-686-pae-unsigned.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-686-pae-unsigned.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-686-pae-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-686-unsigned.postinst linux-4.19.98/debian/linux-image-4.19.0-7-686-unsigned.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-686-unsigned.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-686-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-686-unsigned.postrm linux-4.19.98/debian/linux-image-4.19.0-7-686-unsigned.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-686-unsigned.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-686-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-686-unsigned.preinst linux-4.19.98/debian/linux-image-4.19.0-7-686-unsigned.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-686-unsigned.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-686-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-686-unsigned.prerm linux-4.19.98/debian/linux-image-4.19.0-7-686-unsigned.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-686-unsigned.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-686-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-alpha-generic-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-alpha-generic-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-alpha-generic-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-alpha-generic-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-alpha-generic/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-alpha-generic-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-alpha-generic/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-alpha-generic-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-alpha-generic/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-alpha-generic-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-alpha-generic/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-alpha-generic-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-alpha-generic/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-alpha-generic-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-alpha-generic/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-alpha-generic.postinst linux-4.19.98/debian/linux-image-4.19.0-7-alpha-generic.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-alpha-generic.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-alpha-generic.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-alpha-generic.postrm linux-4.19.98/debian/linux-image-4.19.0-7-alpha-generic.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-alpha-generic.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-alpha-generic.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-alpha-generic.preinst linux-4.19.98/debian/linux-image-4.19.0-7-alpha-generic.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-alpha-generic.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-alpha-generic.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-alpha-generic.prerm linux-4.19.98/debian/linux-image-4.19.0-7-alpha-generic.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-alpha-generic.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-alpha-generic.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-alpha-smp-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-alpha-smp-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-alpha-smp-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-alpha-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-alpha-smp/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-alpha-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-alpha-smp/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-alpha-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-alpha-smp/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-alpha-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-alpha-smp/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-alpha-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-alpha-smp/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-alpha-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-alpha-smp/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-alpha-smp.postinst linux-4.19.98/debian/linux-image-4.19.0-7-alpha-smp.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-alpha-smp.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-alpha-smp.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-alpha-smp.postrm linux-4.19.98/debian/linux-image-4.19.0-7-alpha-smp.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-alpha-smp.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-alpha-smp.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-alpha-smp.preinst linux-4.19.98/debian/linux-image-4.19.0-7-alpha-smp.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-alpha-smp.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-alpha-smp.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-alpha-smp.prerm linux-4.19.98/debian/linux-image-4.19.0-7-alpha-smp.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-alpha-smp.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-alpha-smp.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-amd64-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-amd64-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-amd64-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-amd64/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-amd64/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-amd64/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-amd64/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-amd64/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-amd64/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-amd64-unsigned.postinst linux-4.19.98/debian/linux-image-4.19.0-7-amd64-unsigned.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-amd64-unsigned.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-amd64-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-amd64-unsigned.postrm linux-4.19.98/debian/linux-image-4.19.0-7-amd64-unsigned.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-amd64-unsigned.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-amd64-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-amd64-unsigned.preinst linux-4.19.98/debian/linux-image-4.19.0-7-amd64-unsigned.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-amd64-unsigned.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-amd64-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-amd64-unsigned.prerm linux-4.19.98/debian/linux-image-4.19.0-7-amd64-unsigned.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-amd64-unsigned.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-amd64-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-arm64-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-arm64-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-arm64-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-arm64/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-arm64/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-arm64/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-arm64/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-arm64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-arm64/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-arm64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-arm64/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-arm64-unsigned.postinst linux-4.19.98/debian/linux-image-4.19.0-7-arm64-unsigned.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-arm64-unsigned.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-arm64-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-arm64-unsigned.postrm linux-4.19.98/debian/linux-image-4.19.0-7-arm64-unsigned.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-arm64-unsigned.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-arm64-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-arm64-unsigned.preinst linux-4.19.98/debian/linux-image-4.19.0-7-arm64-unsigned.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-arm64-unsigned.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-arm64-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-arm64-unsigned.prerm linux-4.19.98/debian/linux-image-4.19.0-7-arm64-unsigned.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-arm64-unsigned.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-arm64-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-armmp-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-armmp-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-armmp-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-armmp/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-armmp/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-armmp/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-armmp/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-armmp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-armmp/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-armmp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-armmp/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-armmp-lpae-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-armmp-lpae-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-armmp-lpae-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-armmp-lpae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-armmp-lpae/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-armmp-lpae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-armmp-lpae/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-armmp-lpae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-armmp-lpae/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-armmp-lpae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-armmp-lpae/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-armmp-lpae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-armmp-lpae/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-armmp-lpae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-armmp-lpae/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-armmp-lpae.postinst linux-4.19.98/debian/linux-image-4.19.0-7-armmp-lpae.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-armmp-lpae.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-armmp-lpae.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-armmp-lpae.postrm linux-4.19.98/debian/linux-image-4.19.0-7-armmp-lpae.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-armmp-lpae.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-armmp-lpae.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-armmp-lpae.preinst linux-4.19.98/debian/linux-image-4.19.0-7-armmp-lpae.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-armmp-lpae.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-armmp-lpae.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-armmp-lpae.prerm linux-4.19.98/debian/linux-image-4.19.0-7-armmp-lpae.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-armmp-lpae.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-armmp-lpae.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-armmp.postinst linux-4.19.98/debian/linux-image-4.19.0-7-armmp.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-armmp.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-armmp.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-armmp.postrm linux-4.19.98/debian/linux-image-4.19.0-7-armmp.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-armmp.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-armmp.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-armmp.preinst linux-4.19.98/debian/linux-image-4.19.0-7-armmp.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-armmp.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-armmp.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-armmp.prerm linux-4.19.98/debian/linux-image-4.19.0-7-armmp.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-armmp.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-armmp.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-cloud-amd64-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-cloud-amd64-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-cloud-amd64-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-cloud-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-cloud-amd64/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-cloud-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-cloud-amd64/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-cloud-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-cloud-amd64/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-cloud-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-cloud-amd64/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-cloud-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-cloud-amd64/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-cloud-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-cloud-amd64/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-cloud-amd64-unsigned.postinst linux-4.19.98/debian/linux-image-4.19.0-7-cloud-amd64-unsigned.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-cloud-amd64-unsigned.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-cloud-amd64-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-cloud-amd64-unsigned.postrm linux-4.19.98/debian/linux-image-4.19.0-7-cloud-amd64-unsigned.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-cloud-amd64-unsigned.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-cloud-amd64-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-cloud-amd64-unsigned.preinst linux-4.19.98/debian/linux-image-4.19.0-7-cloud-amd64-unsigned.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-cloud-amd64-unsigned.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-cloud-amd64-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-cloud-amd64-unsigned.prerm linux-4.19.98/debian/linux-image-4.19.0-7-cloud-amd64-unsigned.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-cloud-amd64-unsigned.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-cloud-amd64-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-itanium-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-itanium-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-itanium-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-itanium-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-itanium/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-itanium-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-itanium/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-itanium-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-itanium/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-itanium-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-itanium/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-itanium-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-itanium/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-itanium-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-itanium/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-itanium.postinst linux-4.19.98/debian/linux-image-4.19.0-7-itanium.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-itanium.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-itanium.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-itanium.postrm linux-4.19.98/debian/linux-image-4.19.0-7-itanium.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-itanium.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-itanium.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-itanium.preinst linux-4.19.98/debian/linux-image-4.19.0-7-itanium.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-itanium.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-itanium.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-itanium.prerm linux-4.19.98/debian/linux-image-4.19.0-7-itanium.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-itanium.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-itanium.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-loongson-3-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-loongson-3-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-loongson-3-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-loongson-3-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-loongson-3/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-loongson-3-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-loongson-3/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-loongson-3-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-loongson-3/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-loongson-3-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-loongson-3/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-loongson-3-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-loongson-3/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-loongson-3-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-loongson-3/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-loongson-3.postinst linux-4.19.98/debian/linux-image-4.19.0-7-loongson-3.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-loongson-3.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-loongson-3.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-loongson-3 -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-4.19.87/debian/linux-image-4.19.0-7-loongson-3.postrm linux-4.19.98/debian/linux-image-4.19.0-7-loongson-3.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-loongson-3.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-loongson-3.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-loongson-3 -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-4.19.87/debian/linux-image-4.19.0-7-loongson-3.preinst linux-4.19.98/debian/linux-image-4.19.0-7-loongson-3.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-loongson-3.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-loongson-3.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-loongson-3 -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-4.19.87/debian/linux-image-4.19.0-7-loongson-3.prerm linux-4.19.98/debian/linux-image-4.19.0-7-loongson-3.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-loongson-3.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-loongson-3.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-loongson-3 -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-4.19.87/debian/linux-image-4.19.0-7-m68k-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-m68k-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-m68k-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-m68k-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-m68k/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-m68k-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-m68k/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-m68k-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-m68k/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-m68k-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-m68k/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-m68k-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-m68k/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-m68k-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-m68k/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-m68k.postinst linux-4.19.98/debian/linux-image-4.19.0-7-m68k.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-m68k.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-m68k.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-m68k.postrm linux-4.19.98/debian/linux-image-4.19.0-7-m68k.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-m68k.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-m68k.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-m68k.preinst linux-4.19.98/debian/linux-image-4.19.0-7-m68k.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-m68k.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-m68k.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-m68k.prerm linux-4.19.98/debian/linux-image-4.19.0-7-m68k.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-m68k.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-m68k.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-marvell-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-marvell-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-marvell-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-marvell-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-marvell/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-marvell-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-marvell/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-marvell-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-marvell/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-marvell-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-marvell/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-marvell-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-marvell/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-marvell-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-marvell/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-marvell.postinst linux-4.19.98/debian/linux-image-4.19.0-7-marvell.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-marvell.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-marvell.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-marvell.postrm linux-4.19.98/debian/linux-image-4.19.0-7-marvell.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-marvell.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-marvell.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-marvell.preinst linux-4.19.98/debian/linux-image-4.19.0-7-marvell.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-marvell.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-marvell.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-marvell.prerm linux-4.19.98/debian/linux-image-4.19.0-7-marvell.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-marvell.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-marvell.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-mckinley-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-mckinley-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-mckinley-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-mckinley-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-mckinley/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-mckinley-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-mckinley/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-mckinley-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-mckinley/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-mckinley-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-mckinley/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-mckinley-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-mckinley/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-mckinley-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-mckinley/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-mckinley.postinst linux-4.19.98/debian/linux-image-4.19.0-7-mckinley.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-mckinley.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-mckinley.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-mckinley.postrm linux-4.19.98/debian/linux-image-4.19.0-7-mckinley.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-mckinley.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-mckinley.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-mckinley.preinst linux-4.19.98/debian/linux-image-4.19.0-7-mckinley.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-mckinley.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-mckinley.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-mckinley.prerm linux-4.19.98/debian/linux-image-4.19.0-7-mckinley.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-mckinley.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-mckinley.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-mips32r6-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-mips32r6-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-mips32r6-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-mips32r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-mips32r6/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-mips32r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-mips32r6/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-mips32r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-mips32r6/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-mips32r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-mips32r6/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-mips32r6-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-mips32r6/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-mips32r6-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-mips32r6/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-mips32r6.postinst linux-4.19.98/debian/linux-image-4.19.0-7-mips32r6.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-mips32r6.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-mips32r6.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-mips32r6.postrm linux-4.19.98/debian/linux-image-4.19.0-7-mips32r6.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-mips32r6.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-mips32r6.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-mips32r6.preinst linux-4.19.98/debian/linux-image-4.19.0-7-mips32r6.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-mips32r6.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-mips32r6.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-mips32r6.prerm linux-4.19.98/debian/linux-image-4.19.0-7-mips32r6.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-mips32r6.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-mips32r6.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-mips32r6el-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-mips32r6el-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-mips32r6el-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-mips32r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-mips32r6el/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-mips32r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-mips32r6el/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-mips32r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-mips32r6el/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-mips32r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-mips32r6el/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-mips32r6el-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-mips32r6el/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-mips32r6el-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-mips32r6el/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-mips32r6el.postinst linux-4.19.98/debian/linux-image-4.19.0-7-mips32r6el.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-mips32r6el.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-mips32r6el.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-mips32r6el.postrm linux-4.19.98/debian/linux-image-4.19.0-7-mips32r6el.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-mips32r6el.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-mips32r6el.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-mips32r6el.preinst linux-4.19.98/debian/linux-image-4.19.0-7-mips32r6el.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-mips32r6el.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-mips32r6el.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-mips32r6el.prerm linux-4.19.98/debian/linux-image-4.19.0-7-mips32r6el.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-mips32r6el.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-mips32r6el.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-mips64r6-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-mips64r6-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-mips64r6-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-mips64r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-mips64r6/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-mips64r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-mips64r6/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-mips64r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-mips64r6/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-mips64r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-mips64r6/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-mips64r6-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-mips64r6/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-mips64r6-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-mips64r6/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-mips64r6.postinst linux-4.19.98/debian/linux-image-4.19.0-7-mips64r6.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-mips64r6.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-mips64r6.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-mips64r6.postrm linux-4.19.98/debian/linux-image-4.19.0-7-mips64r6.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-mips64r6.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-mips64r6.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-mips64r6.preinst linux-4.19.98/debian/linux-image-4.19.0-7-mips64r6.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-mips64r6.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-mips64r6.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-mips64r6.prerm linux-4.19.98/debian/linux-image-4.19.0-7-mips64r6.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-mips64r6.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-mips64r6.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-mips64r6el-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-mips64r6el-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-mips64r6el-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-mips64r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-mips64r6el/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-mips64r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-mips64r6el/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-mips64r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-mips64r6el/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-mips64r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-mips64r6el/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-mips64r6el-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-mips64r6el/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-mips64r6el-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-mips64r6el/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-mips64r6el.postinst linux-4.19.98/debian/linux-image-4.19.0-7-mips64r6el.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-mips64r6el.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-mips64r6el.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-mips64r6el.postrm linux-4.19.98/debian/linux-image-4.19.0-7-mips64r6el.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-mips64r6el.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-mips64r6el.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-mips64r6el.preinst linux-4.19.98/debian/linux-image-4.19.0-7-mips64r6el.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-mips64r6el.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-mips64r6el.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-mips64r6el.prerm linux-4.19.98/debian/linux-image-4.19.0-7-mips64r6el.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-mips64r6el.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-mips64r6el.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-octeon-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-octeon-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-octeon-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-octeon-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-octeon/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-octeon-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-octeon/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-octeon-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-octeon/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-octeon-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-octeon/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-octeon-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-octeon/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-octeon-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-octeon/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-octeon.postinst linux-4.19.98/debian/linux-image-4.19.0-7-octeon.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-octeon.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-octeon.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-octeon.postrm linux-4.19.98/debian/linux-image-4.19.0-7-octeon.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-octeon.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-octeon.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-octeon.preinst linux-4.19.98/debian/linux-image-4.19.0-7-octeon.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-octeon.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-octeon.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-octeon.prerm linux-4.19.98/debian/linux-image-4.19.0-7-octeon.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-octeon.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-octeon.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-parisc-smp.postinst linux-4.19.98/debian/linux-image-4.19.0-7-parisc-smp.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-parisc-smp.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-parisc-smp.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-parisc-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-4.19.87/debian/linux-image-4.19.0-7-parisc-smp.postrm linux-4.19.98/debian/linux-image-4.19.0-7-parisc-smp.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-parisc-smp.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-parisc-smp.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-parisc-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-4.19.87/debian/linux-image-4.19.0-7-parisc-smp.preinst linux-4.19.98/debian/linux-image-4.19.0-7-parisc-smp.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-parisc-smp.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-parisc-smp.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-parisc-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-4.19.87/debian/linux-image-4.19.0-7-parisc-smp.prerm linux-4.19.98/debian/linux-image-4.19.0-7-parisc-smp.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-parisc-smp.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-parisc-smp.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-parisc-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-4.19.87/debian/linux-image-4.19.0-7-parisc.postinst linux-4.19.98/debian/linux-image-4.19.0-7-parisc.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-parisc.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-parisc.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-parisc.postrm linux-4.19.98/debian/linux-image-4.19.0-7-parisc.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-parisc.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-parisc.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-parisc.preinst linux-4.19.98/debian/linux-image-4.19.0-7-parisc.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-parisc.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-parisc.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-parisc.prerm linux-4.19.98/debian/linux-image-4.19.0-7-parisc.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-parisc.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-parisc.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-parisc64-smp.postinst linux-4.19.98/debian/linux-image-4.19.0-7-parisc64-smp.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-parisc64-smp.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-parisc64-smp.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-parisc64-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-4.19.87/debian/linux-image-4.19.0-7-parisc64-smp.postrm linux-4.19.98/debian/linux-image-4.19.0-7-parisc64-smp.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-parisc64-smp.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-parisc64-smp.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-parisc64-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-4.19.87/debian/linux-image-4.19.0-7-parisc64-smp.preinst linux-4.19.98/debian/linux-image-4.19.0-7-parisc64-smp.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-parisc64-smp.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-parisc64-smp.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-parisc64-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-4.19.87/debian/linux-image-4.19.0-7-parisc64-smp.prerm linux-4.19.98/debian/linux-image-4.19.0-7-parisc64-smp.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-parisc64-smp.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-parisc64-smp.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-parisc64-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-4.19.87/debian/linux-image-4.19.0-7-powerpc-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-powerpc-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpc-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-powerpc-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-powerpc/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-powerpc-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-powerpc/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-powerpc-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-powerpc/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-powerpc-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-powerpc/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-powerpc-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-powerpc/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-powerpc-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-powerpc/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-powerpc-smp-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-powerpc-smp-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpc-smp-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-powerpc-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-powerpc-smp/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-powerpc-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-powerpc-smp/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-powerpc-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-powerpc-smp/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-powerpc-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-powerpc-smp/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-powerpc-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-powerpc-smp/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-powerpc-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-powerpc-smp/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-powerpc-smp.postinst linux-4.19.98/debian/linux-image-4.19.0-7-powerpc-smp.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpc-smp.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-powerpc-smp.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-powerpc-smp.postrm linux-4.19.98/debian/linux-image-4.19.0-7-powerpc-smp.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpc-smp.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-powerpc-smp.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-powerpc-smp.preinst linux-4.19.98/debian/linux-image-4.19.0-7-powerpc-smp.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpc-smp.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-powerpc-smp.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-powerpc-smp.prerm linux-4.19.98/debian/linux-image-4.19.0-7-powerpc-smp.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpc-smp.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-powerpc-smp.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-powerpc.postinst linux-4.19.98/debian/linux-image-4.19.0-7-powerpc.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpc.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-powerpc.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-powerpc.postrm linux-4.19.98/debian/linux-image-4.19.0-7-powerpc.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpc.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-powerpc.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-powerpc.preinst linux-4.19.98/debian/linux-image-4.19.0-7-powerpc.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpc.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-powerpc.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-powerpc.prerm linux-4.19.98/debian/linux-image-4.19.0-7-powerpc.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpc.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-powerpc.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-powerpc64-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-powerpc64-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpc64-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-powerpc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-powerpc64/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-powerpc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-powerpc64/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-powerpc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-powerpc64/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-powerpc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-powerpc64/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-powerpc64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-powerpc64/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-powerpc64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-powerpc64/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-powerpc64.postinst linux-4.19.98/debian/linux-image-4.19.0-7-powerpc64.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpc64.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-powerpc64.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-powerpc64.postrm linux-4.19.98/debian/linux-image-4.19.0-7-powerpc64.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpc64.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-powerpc64.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-powerpc64.preinst linux-4.19.98/debian/linux-image-4.19.0-7-powerpc64.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpc64.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-powerpc64.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-powerpc64.prerm linux-4.19.98/debian/linux-image-4.19.0-7-powerpc64.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpc64.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-powerpc64.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-powerpc64le-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-powerpc64le-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpc64le-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-powerpc64le-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-powerpc64le/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-powerpc64le-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-powerpc64le/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-powerpc64le-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-powerpc64le/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-powerpc64le-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-powerpc64le/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-powerpc64le-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-powerpc64le/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-powerpc64le-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-powerpc64le/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-powerpc64le.postinst linux-4.19.98/debian/linux-image-4.19.0-7-powerpc64le.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpc64le.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-powerpc64le.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-powerpc64le.postrm linux-4.19.98/debian/linux-image-4.19.0-7-powerpc64le.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpc64le.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-powerpc64le.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-powerpc64le.preinst linux-4.19.98/debian/linux-image-4.19.0-7-powerpc64le.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpc64le.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-powerpc64le.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-powerpc64le.prerm linux-4.19.98/debian/linux-image-4.19.0-7-powerpc64le.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpc64le.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-powerpc64le.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-powerpcspe-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-powerpcspe-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpcspe-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-powerpcspe-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-4.19.0-7-powerpcspe-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-4.19.0-7-powerpcspe-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-powerpcspe/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-powerpcspe-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-powerpcspe/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-powerpcspe-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-powerpcspe/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-powerpcspe-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-powerpcspe/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-powerpcspe-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-powerpcspe/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-powerpcspe-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-powerpcspe/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-powerpcspe.postinst linux-4.19.98/debian/linux-image-4.19.0-7-powerpcspe.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpcspe.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-powerpcspe.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-powerpcspe -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-4.19.87/debian/linux-image-4.19.0-7-powerpcspe.postrm linux-4.19.98/debian/linux-image-4.19.0-7-powerpcspe.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpcspe.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-powerpcspe.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-powerpcspe -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-4.19.87/debian/linux-image-4.19.0-7-powerpcspe.preinst linux-4.19.98/debian/linux-image-4.19.0-7-powerpcspe.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpcspe.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-powerpcspe.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-powerpcspe -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-4.19.87/debian/linux-image-4.19.0-7-powerpcspe.prerm linux-4.19.98/debian/linux-image-4.19.0-7-powerpcspe.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-powerpcspe.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-powerpcspe.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-powerpcspe -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-4.19.87/debian/linux-image-4.19.0-7-riscv64-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-riscv64-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-riscv64-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-riscv64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-riscv64/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-riscv64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-riscv64/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-riscv64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-riscv64/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-riscv64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-riscv64/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-riscv64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-riscv64/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-riscv64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-riscv64/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-riscv64.postinst linux-4.19.98/debian/linux-image-4.19.0-7-riscv64.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-riscv64.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-riscv64.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-riscv64.postrm linux-4.19.98/debian/linux-image-4.19.0-7-riscv64.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-riscv64.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-riscv64.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-riscv64.preinst linux-4.19.98/debian/linux-image-4.19.0-7-riscv64.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-riscv64.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-riscv64.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-riscv64.prerm linux-4.19.98/debian/linux-image-4.19.0-7-riscv64.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-riscv64.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-riscv64.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-rpi-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-rpi-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-rpi-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-rpi-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-rpi/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-rpi-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-rpi/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-rpi-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-rpi/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-rpi-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-rpi/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-rpi-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-rpi/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-rpi-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-rpi/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-rpi.postinst linux-4.19.98/debian/linux-image-4.19.0-7-rpi.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-rpi.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-rpi.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-rpi.postrm linux-4.19.98/debian/linux-image-4.19.0-7-rpi.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-rpi.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-rpi.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-rpi.preinst linux-4.19.98/debian/linux-image-4.19.0-7-rpi.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-rpi.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-rpi.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-rpi.prerm linux-4.19.98/debian/linux-image-4.19.0-7-rpi.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-rpi.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-rpi.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-rt-686-pae-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-rt-686-pae-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-rt-686-pae-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-rt-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-rt-686-pae/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-rt-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-rt-686-pae/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-rt-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-rt-686-pae/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-rt-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-rt-686-pae/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-rt-686-pae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-rt-686-pae/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-rt-686-pae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-rt-686-pae/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-rt-686-pae-unsigned.postinst linux-4.19.98/debian/linux-image-4.19.0-7-rt-686-pae-unsigned.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-rt-686-pae-unsigned.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-rt-686-pae-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-rt-686-pae-unsigned.postrm linux-4.19.98/debian/linux-image-4.19.0-7-rt-686-pae-unsigned.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-rt-686-pae-unsigned.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-rt-686-pae-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-rt-686-pae-unsigned.preinst linux-4.19.98/debian/linux-image-4.19.0-7-rt-686-pae-unsigned.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-rt-686-pae-unsigned.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-rt-686-pae-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-rt-686-pae-unsigned.prerm linux-4.19.98/debian/linux-image-4.19.0-7-rt-686-pae-unsigned.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-rt-686-pae-unsigned.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-rt-686-pae-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-rt-amd64-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-rt-amd64-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-rt-amd64-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-rt-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-rt-amd64/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-rt-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-rt-amd64/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-rt-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-rt-amd64/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-rt-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-rt-amd64/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-rt-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-rt-amd64/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-rt-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-rt-amd64/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-rt-amd64-unsigned.postinst linux-4.19.98/debian/linux-image-4.19.0-7-rt-amd64-unsigned.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-rt-amd64-unsigned.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-rt-amd64-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-rt-amd64-unsigned.postrm linux-4.19.98/debian/linux-image-4.19.0-7-rt-amd64-unsigned.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-rt-amd64-unsigned.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-rt-amd64-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-rt-amd64-unsigned.preinst linux-4.19.98/debian/linux-image-4.19.0-7-rt-amd64-unsigned.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-rt-amd64-unsigned.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-rt-amd64-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-rt-amd64-unsigned.prerm linux-4.19.98/debian/linux-image-4.19.0-7-rt-amd64-unsigned.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-rt-amd64-unsigned.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-rt-amd64-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-rt-arm64-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-rt-arm64-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-rt-arm64-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-rt-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-rt-arm64/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-rt-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-rt-arm64/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-rt-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-rt-arm64/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-rt-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-rt-arm64/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-rt-arm64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-rt-arm64/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-rt-arm64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-rt-arm64/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-rt-arm64-unsigned.postinst linux-4.19.98/debian/linux-image-4.19.0-7-rt-arm64-unsigned.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-rt-arm64-unsigned.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-rt-arm64-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-rt-arm64-unsigned.postrm linux-4.19.98/debian/linux-image-4.19.0-7-rt-arm64-unsigned.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-rt-arm64-unsigned.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-rt-arm64-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-rt-arm64-unsigned.preinst linux-4.19.98/debian/linux-image-4.19.0-7-rt-arm64-unsigned.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-rt-arm64-unsigned.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-rt-arm64-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-rt-arm64-unsigned.prerm linux-4.19.98/debian/linux-image-4.19.0-7-rt-arm64-unsigned.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-rt-arm64-unsigned.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-rt-arm64-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-rt-armmp-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-rt-armmp-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-rt-armmp-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-rt-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-rt-armmp/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-rt-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-rt-armmp/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-rt-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-rt-armmp/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-rt-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-rt-armmp/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-rt-armmp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-rt-armmp/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-rt-armmp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-rt-armmp/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-rt-armmp.postinst linux-4.19.98/debian/linux-image-4.19.0-7-rt-armmp.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-rt-armmp.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-rt-armmp.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-rt-armmp.postrm linux-4.19.98/debian/linux-image-4.19.0-7-rt-armmp.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-rt-armmp.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-rt-armmp.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-rt-armmp.preinst linux-4.19.98/debian/linux-image-4.19.0-7-rt-armmp.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-rt-armmp.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-rt-armmp.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-rt-armmp.prerm linux-4.19.98/debian/linux-image-4.19.0-7-rt-armmp.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-rt-armmp.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-rt-armmp.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-s390x-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-s390x-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-s390x-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-s390x-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-s390x/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-s390x-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-s390x/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-s390x-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-s390x/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-s390x-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-s390x/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-s390x-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-s390x/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-s390x-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-s390x/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-s390x.postinst linux-4.19.98/debian/linux-image-4.19.0-7-s390x.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-s390x.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-s390x.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-s390x.postrm linux-4.19.98/debian/linux-image-4.19.0-7-s390x.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-s390x.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-s390x.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-s390x.preinst linux-4.19.98/debian/linux-image-4.19.0-7-s390x.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-s390x.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-s390x.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-s390x.prerm linux-4.19.98/debian/linux-image-4.19.0-7-s390x.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-s390x.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-s390x.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-sh7751r-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-sh7751r-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-sh7751r-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-sh7751r-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-sh7751r/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-sh7751r-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-sh7751r/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-sh7751r-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-sh7751r/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-sh7751r-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-sh7751r/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-sh7751r-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-sh7751r/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-sh7751r-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-sh7751r/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-sh7751r.postinst linux-4.19.98/debian/linux-image-4.19.0-7-sh7751r.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-sh7751r.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-sh7751r.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-sh7751r.postrm linux-4.19.98/debian/linux-image-4.19.0-7-sh7751r.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-sh7751r.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-sh7751r.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-sh7751r.preinst linux-4.19.98/debian/linux-image-4.19.0-7-sh7751r.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-sh7751r.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-sh7751r.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-sh7751r.prerm linux-4.19.98/debian/linux-image-4.19.0-7-sh7751r.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-sh7751r.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-sh7751r.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-sh7785lcr-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-sh7785lcr-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-sh7785lcr-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-sh7785lcr-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-sh7785lcr/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-sh7785lcr-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-sh7785lcr/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-sh7785lcr-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-sh7785lcr/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-sh7785lcr-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-sh7785lcr/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-sh7785lcr-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-sh7785lcr/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-sh7785lcr-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-sh7785lcr/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-sh7785lcr.postinst linux-4.19.98/debian/linux-image-4.19.0-7-sh7785lcr.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-sh7785lcr.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-sh7785lcr.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-sh7785lcr.postrm linux-4.19.98/debian/linux-image-4.19.0-7-sh7785lcr.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-sh7785lcr.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-sh7785lcr.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-sh7785lcr.preinst linux-4.19.98/debian/linux-image-4.19.0-7-sh7785lcr.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-sh7785lcr.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-sh7785lcr.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-sh7785lcr.prerm linux-4.19.98/debian/linux-image-4.19.0-7-sh7785lcr.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-sh7785lcr.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-sh7785lcr.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-sparc64-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-sparc64-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-sparc64-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-sparc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-sparc64/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-sparc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-sparc64/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-sparc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-sparc64/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-sparc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-sparc64/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-sparc64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-sparc64/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-sparc64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-sparc64/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-sparc64-smp-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-7-sparc64-smp-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-7-sparc64-smp-dbg.lintian-overrides 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-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-4.19.0-7-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-4.19.0-7-sparc64-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-sparc64-smp/vdso/vdso.so -[amd64 i386 ppc64el s390x] linux-image-4.19.0-7-sparc64-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-sparc64-smp/vdso/vdso32.so -[amd64 ppc64el s390x] linux-image-4.19.0-7-sparc64-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-sparc64-smp/vdso/vdso64.so -[amd64] linux-image-4.19.0-7-sparc64-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-7-sparc64-smp/vdso/vdsox32.so - -# It is intended that 64-bit kernels provide vDSOs for 32-bit executables -[amd64 ppc64el s390x] linux-image-4.19.0-7-sparc64-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-sparc64-smp/vdso/vdso32.so -[amd64] linux-image-4.19.0-7-sparc64-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-7-sparc64-smp/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-7-sparc64-smp.postinst linux-4.19.98/debian/linux-image-4.19.0-7-sparc64-smp.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-sparc64-smp.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-sparc64-smp.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-sparc64-smp.postrm linux-4.19.98/debian/linux-image-4.19.0-7-sparc64-smp.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-sparc64-smp.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-sparc64-smp.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-sparc64-smp.preinst linux-4.19.98/debian/linux-image-4.19.0-7-sparc64-smp.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-sparc64-smp.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-sparc64-smp.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-sparc64-smp.prerm linux-4.19.98/debian/linux-image-4.19.0-7-sparc64-smp.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-sparc64-smp.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-sparc64-smp.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-sparc64.postinst linux-4.19.98/debian/linux-image-4.19.0-7-sparc64.postinst --- linux-4.19.87/debian/linux-image-4.19.0-7-sparc64.postinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-sparc64.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,25 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-sparc64.postrm linux-4.19.98/debian/linux-image-4.19.0-7-sparc64.postrm --- linux-4.19.87/debian/linux-image-4.19.0-7-sparc64.postrm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-sparc64.postrm 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-sparc64.preinst linux-4.19.98/debian/linux-image-4.19.0-7-sparc64.preinst --- linux-4.19.87/debian/linux-image-4.19.0-7-sparc64.preinst 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-sparc64.preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-7-sparc64.prerm linux-4.19.98/debian/linux-image-4.19.0-7-sparc64.prerm --- linux-4.19.87/debian/linux-image-4.19.0-7-sparc64.prerm 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-7-sparc64.prerm 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#!/bin/sh -e - -version=4.19.0-7-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-4.19.87/debian/linux-image-4.19.0-8-4kc-malta-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-4kc-malta-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-4kc-malta-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-4kc-malta-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-4kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-4kc-malta/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-4kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-4kc-malta/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-4kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-4kc-malta/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-4kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-4kc-malta/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-4kc-malta-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-4kc-malta/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-4kc-malta-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-4kc-malta/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-4kc-malta.postinst linux-4.19.98/debian/linux-image-4.19.0-8-4kc-malta.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-4kc-malta.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-4kc-malta.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-4kc-malta +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-4.19.87/debian/linux-image-4.19.0-8-4kc-malta.postrm linux-4.19.98/debian/linux-image-4.19.0-8-4kc-malta.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-4kc-malta.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-4kc-malta.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-4kc-malta +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-4.19.87/debian/linux-image-4.19.0-8-4kc-malta.preinst linux-4.19.98/debian/linux-image-4.19.0-8-4kc-malta.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-4kc-malta.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-4kc-malta.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-4kc-malta +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-4.19.87/debian/linux-image-4.19.0-8-4kc-malta.prerm linux-4.19.98/debian/linux-image-4.19.0-8-4kc-malta.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-4kc-malta.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-4kc-malta.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-4kc-malta +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-4.19.87/debian/linux-image-4.19.0-8-5kc-malta-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-5kc-malta-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-5kc-malta-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-5kc-malta-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-5kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-5kc-malta/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-5kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-5kc-malta/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-5kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-5kc-malta/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-5kc-malta-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-5kc-malta/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-5kc-malta-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-5kc-malta/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-5kc-malta-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-5kc-malta/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-5kc-malta.postinst linux-4.19.98/debian/linux-image-4.19.0-8-5kc-malta.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-5kc-malta.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-5kc-malta.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-5kc-malta +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-4.19.87/debian/linux-image-4.19.0-8-5kc-malta.postrm linux-4.19.98/debian/linux-image-4.19.0-8-5kc-malta.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-5kc-malta.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-5kc-malta.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-5kc-malta +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-4.19.87/debian/linux-image-4.19.0-8-5kc-malta.preinst linux-4.19.98/debian/linux-image-4.19.0-8-5kc-malta.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-5kc-malta.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-5kc-malta.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-5kc-malta +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-4.19.87/debian/linux-image-4.19.0-8-5kc-malta.prerm linux-4.19.98/debian/linux-image-4.19.0-8-5kc-malta.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-5kc-malta.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-5kc-malta.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-5kc-malta +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-4.19.87/debian/linux-image-4.19.0-8-686-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-686-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-686-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-686-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-686-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-686/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-686-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-686/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-686-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-686/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-686-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-686/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-686-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-686/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-686-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-686/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-686-pae-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-686-pae-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-686-pae-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-686-pae-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-686-pae/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-686-pae/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-686-pae/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-686-pae/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-686-pae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-686-pae/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-686-pae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-686-pae/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-686-pae-unsigned.postinst linux-4.19.98/debian/linux-image-4.19.0-8-686-pae-unsigned.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-686-pae-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-686-pae-unsigned.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-686-pae-unsigned.postrm linux-4.19.98/debian/linux-image-4.19.0-8-686-pae-unsigned.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-686-pae-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-686-pae-unsigned.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-686-pae-unsigned.preinst linux-4.19.98/debian/linux-image-4.19.0-8-686-pae-unsigned.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-686-pae-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-686-pae-unsigned.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-686-pae-unsigned.prerm linux-4.19.98/debian/linux-image-4.19.0-8-686-pae-unsigned.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-686-pae-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-686-pae-unsigned.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-686-unsigned.postinst linux-4.19.98/debian/linux-image-4.19.0-8-686-unsigned.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-686-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-686-unsigned.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-686-unsigned.postrm linux-4.19.98/debian/linux-image-4.19.0-8-686-unsigned.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-686-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-686-unsigned.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-686-unsigned.preinst linux-4.19.98/debian/linux-image-4.19.0-8-686-unsigned.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-686-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-686-unsigned.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-686-unsigned.prerm linux-4.19.98/debian/linux-image-4.19.0-8-686-unsigned.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-686-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-686-unsigned.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-alpha-generic-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-alpha-generic-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-alpha-generic-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-alpha-generic-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-alpha-generic-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-alpha-generic/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-alpha-generic-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-alpha-generic/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-alpha-generic-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-alpha-generic/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-alpha-generic-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-alpha-generic/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-alpha-generic-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-alpha-generic/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-alpha-generic-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-alpha-generic/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-alpha-generic.postinst linux-4.19.98/debian/linux-image-4.19.0-8-alpha-generic.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-alpha-generic.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-alpha-generic.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-alpha-generic.postrm linux-4.19.98/debian/linux-image-4.19.0-8-alpha-generic.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-alpha-generic.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-alpha-generic.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-alpha-generic.preinst linux-4.19.98/debian/linux-image-4.19.0-8-alpha-generic.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-alpha-generic.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-alpha-generic.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-alpha-generic.prerm linux-4.19.98/debian/linux-image-4.19.0-8-alpha-generic.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-alpha-generic.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-alpha-generic.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-alpha-smp-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-alpha-smp-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-alpha-smp-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-alpha-smp-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-alpha-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-alpha-smp/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-alpha-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-alpha-smp/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-alpha-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-alpha-smp/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-alpha-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-alpha-smp/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-alpha-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-alpha-smp/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-alpha-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-alpha-smp/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-alpha-smp.postinst linux-4.19.98/debian/linux-image-4.19.0-8-alpha-smp.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-alpha-smp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-alpha-smp.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-alpha-smp.postrm linux-4.19.98/debian/linux-image-4.19.0-8-alpha-smp.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-alpha-smp.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-alpha-smp.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-alpha-smp.preinst linux-4.19.98/debian/linux-image-4.19.0-8-alpha-smp.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-alpha-smp.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-alpha-smp.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-alpha-smp.prerm linux-4.19.98/debian/linux-image-4.19.0-8-alpha-smp.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-alpha-smp.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-alpha-smp.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-amd64-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-amd64-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-amd64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-amd64-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-amd64/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-amd64/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-amd64/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-amd64/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-amd64/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-amd64/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-amd64-unsigned.postinst linux-4.19.98/debian/linux-image-4.19.0-8-amd64-unsigned.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-amd64-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-amd64-unsigned.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-amd64-unsigned.postrm linux-4.19.98/debian/linux-image-4.19.0-8-amd64-unsigned.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-amd64-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-amd64-unsigned.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-amd64-unsigned.preinst linux-4.19.98/debian/linux-image-4.19.0-8-amd64-unsigned.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-amd64-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-amd64-unsigned.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-amd64-unsigned.prerm linux-4.19.98/debian/linux-image-4.19.0-8-amd64-unsigned.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-amd64-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-amd64-unsigned.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-arm64-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-arm64-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-arm64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-arm64-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-arm64/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-arm64/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-arm64/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-arm64/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-arm64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-arm64/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-arm64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-arm64/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-arm64-unsigned.postinst linux-4.19.98/debian/linux-image-4.19.0-8-arm64-unsigned.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-arm64-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-arm64-unsigned.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-arm64-unsigned.postrm linux-4.19.98/debian/linux-image-4.19.0-8-arm64-unsigned.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-arm64-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-arm64-unsigned.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-arm64-unsigned.preinst linux-4.19.98/debian/linux-image-4.19.0-8-arm64-unsigned.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-arm64-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-arm64-unsigned.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-arm64-unsigned.prerm linux-4.19.98/debian/linux-image-4.19.0-8-arm64-unsigned.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-arm64-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-arm64-unsigned.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-armmp-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-armmp-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-armmp-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-armmp-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-armmp/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-armmp/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-armmp/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-armmp/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-armmp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-armmp/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-armmp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-armmp/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-armmp-lpae-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-armmp-lpae-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-armmp-lpae-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-armmp-lpae-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-armmp-lpae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-armmp-lpae/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-armmp-lpae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-armmp-lpae/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-armmp-lpae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-armmp-lpae/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-armmp-lpae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-armmp-lpae/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-armmp-lpae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-armmp-lpae/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-armmp-lpae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-armmp-lpae/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-armmp-lpae.postinst linux-4.19.98/debian/linux-image-4.19.0-8-armmp-lpae.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-armmp-lpae.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-armmp-lpae.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-armmp-lpae.postrm linux-4.19.98/debian/linux-image-4.19.0-8-armmp-lpae.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-armmp-lpae.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-armmp-lpae.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-armmp-lpae.preinst linux-4.19.98/debian/linux-image-4.19.0-8-armmp-lpae.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-armmp-lpae.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-armmp-lpae.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-armmp-lpae.prerm linux-4.19.98/debian/linux-image-4.19.0-8-armmp-lpae.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-armmp-lpae.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-armmp-lpae.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-armmp.postinst linux-4.19.98/debian/linux-image-4.19.0-8-armmp.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-armmp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-armmp.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-armmp.postrm linux-4.19.98/debian/linux-image-4.19.0-8-armmp.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-armmp.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-armmp.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-armmp.preinst linux-4.19.98/debian/linux-image-4.19.0-8-armmp.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-armmp.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-armmp.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-armmp.prerm linux-4.19.98/debian/linux-image-4.19.0-8-armmp.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-armmp.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-armmp.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-cloud-amd64-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-cloud-amd64-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-cloud-amd64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-cloud-amd64-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-cloud-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-cloud-amd64/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-cloud-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-cloud-amd64/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-cloud-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-cloud-amd64/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-cloud-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-cloud-amd64/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-cloud-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-cloud-amd64/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-cloud-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-cloud-amd64/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-cloud-amd64-unsigned.postinst linux-4.19.98/debian/linux-image-4.19.0-8-cloud-amd64-unsigned.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-cloud-amd64-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-cloud-amd64-unsigned.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-cloud-amd64-unsigned.postrm linux-4.19.98/debian/linux-image-4.19.0-8-cloud-amd64-unsigned.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-cloud-amd64-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-cloud-amd64-unsigned.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-cloud-amd64-unsigned.preinst linux-4.19.98/debian/linux-image-4.19.0-8-cloud-amd64-unsigned.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-cloud-amd64-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-cloud-amd64-unsigned.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-cloud-amd64-unsigned.prerm linux-4.19.98/debian/linux-image-4.19.0-8-cloud-amd64-unsigned.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-cloud-amd64-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-cloud-amd64-unsigned.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-itanium-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-itanium-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-itanium-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-itanium-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-itanium-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-itanium/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-itanium-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-itanium/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-itanium-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-itanium/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-itanium-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-itanium/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-itanium-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-itanium/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-itanium-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-itanium/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-itanium.postinst linux-4.19.98/debian/linux-image-4.19.0-8-itanium.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-itanium.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-itanium.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-itanium.postrm linux-4.19.98/debian/linux-image-4.19.0-8-itanium.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-itanium.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-itanium.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-itanium.preinst linux-4.19.98/debian/linux-image-4.19.0-8-itanium.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-itanium.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-itanium.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-itanium.prerm linux-4.19.98/debian/linux-image-4.19.0-8-itanium.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-itanium.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-itanium.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-loongson-3-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-loongson-3-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-loongson-3-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-loongson-3-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-loongson-3-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-loongson-3/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-loongson-3-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-loongson-3/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-loongson-3-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-loongson-3/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-loongson-3-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-loongson-3/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-loongson-3-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-loongson-3/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-loongson-3-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-loongson-3/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-loongson-3.postinst linux-4.19.98/debian/linux-image-4.19.0-8-loongson-3.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-loongson-3.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-loongson-3.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-loongson-3 +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-4.19.87/debian/linux-image-4.19.0-8-loongson-3.postrm linux-4.19.98/debian/linux-image-4.19.0-8-loongson-3.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-loongson-3.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-loongson-3.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-loongson-3 +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-4.19.87/debian/linux-image-4.19.0-8-loongson-3.preinst linux-4.19.98/debian/linux-image-4.19.0-8-loongson-3.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-loongson-3.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-loongson-3.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-loongson-3 +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-4.19.87/debian/linux-image-4.19.0-8-loongson-3.prerm linux-4.19.98/debian/linux-image-4.19.0-8-loongson-3.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-loongson-3.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-loongson-3.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-loongson-3 +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-4.19.87/debian/linux-image-4.19.0-8-m68k-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-m68k-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-m68k-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-m68k-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-m68k-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-m68k/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-m68k-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-m68k/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-m68k-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-m68k/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-m68k-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-m68k/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-m68k-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-m68k/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-m68k-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-m68k/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-m68k.postinst linux-4.19.98/debian/linux-image-4.19.0-8-m68k.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-m68k.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-m68k.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-m68k.postrm linux-4.19.98/debian/linux-image-4.19.0-8-m68k.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-m68k.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-m68k.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-m68k.preinst linux-4.19.98/debian/linux-image-4.19.0-8-m68k.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-m68k.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-m68k.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-m68k.prerm linux-4.19.98/debian/linux-image-4.19.0-8-m68k.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-m68k.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-m68k.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-marvell-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-marvell-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-marvell-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-marvell-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-marvell-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-marvell/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-marvell-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-marvell/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-marvell-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-marvell/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-marvell-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-marvell/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-marvell-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-marvell/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-marvell-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-marvell/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-marvell.postinst linux-4.19.98/debian/linux-image-4.19.0-8-marvell.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-marvell.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-marvell.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-marvell.postrm linux-4.19.98/debian/linux-image-4.19.0-8-marvell.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-marvell.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-marvell.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-marvell.preinst linux-4.19.98/debian/linux-image-4.19.0-8-marvell.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-marvell.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-marvell.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-marvell.prerm linux-4.19.98/debian/linux-image-4.19.0-8-marvell.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-marvell.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-marvell.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-mckinley-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-mckinley-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-mckinley-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mckinley-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-mckinley-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-mckinley/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-mckinley-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-mckinley/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-mckinley-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-mckinley/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-mckinley-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-mckinley/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-mckinley-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-mckinley/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-mckinley-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-mckinley/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-mckinley.postinst linux-4.19.98/debian/linux-image-4.19.0-8-mckinley.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-mckinley.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mckinley.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-mckinley.postrm linux-4.19.98/debian/linux-image-4.19.0-8-mckinley.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-mckinley.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mckinley.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-mckinley.preinst linux-4.19.98/debian/linux-image-4.19.0-8-mckinley.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-mckinley.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mckinley.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-mckinley.prerm linux-4.19.98/debian/linux-image-4.19.0-8-mckinley.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-mckinley.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mckinley.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-mips32r6-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-mips32r6-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-mips32r6-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mips32r6-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-mips32r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-mips32r6/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-mips32r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-mips32r6/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-mips32r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-mips32r6/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-mips32r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-mips32r6/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-mips32r6-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-mips32r6/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-mips32r6-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-mips32r6/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-mips32r6.postinst linux-4.19.98/debian/linux-image-4.19.0-8-mips32r6.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-mips32r6.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mips32r6.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-mips32r6.postrm linux-4.19.98/debian/linux-image-4.19.0-8-mips32r6.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-mips32r6.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mips32r6.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-mips32r6.preinst linux-4.19.98/debian/linux-image-4.19.0-8-mips32r6.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-mips32r6.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mips32r6.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-mips32r6.prerm linux-4.19.98/debian/linux-image-4.19.0-8-mips32r6.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-mips32r6.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mips32r6.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-mips32r6el-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-mips32r6el-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-mips32r6el-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mips32r6el-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-mips32r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-mips32r6el/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-mips32r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-mips32r6el/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-mips32r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-mips32r6el/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-mips32r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-mips32r6el/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-mips32r6el-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-mips32r6el/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-mips32r6el-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-mips32r6el/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-mips32r6el.postinst linux-4.19.98/debian/linux-image-4.19.0-8-mips32r6el.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-mips32r6el.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mips32r6el.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-mips32r6el.postrm linux-4.19.98/debian/linux-image-4.19.0-8-mips32r6el.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-mips32r6el.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mips32r6el.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-mips32r6el.preinst linux-4.19.98/debian/linux-image-4.19.0-8-mips32r6el.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-mips32r6el.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mips32r6el.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-mips32r6el.prerm linux-4.19.98/debian/linux-image-4.19.0-8-mips32r6el.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-mips32r6el.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mips32r6el.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-mips64r6-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-mips64r6-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-mips64r6-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mips64r6-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-mips64r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-mips64r6/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-mips64r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-mips64r6/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-mips64r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-mips64r6/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-mips64r6-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-mips64r6/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-mips64r6-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-mips64r6/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-mips64r6-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-mips64r6/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-mips64r6.postinst linux-4.19.98/debian/linux-image-4.19.0-8-mips64r6.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-mips64r6.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mips64r6.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-mips64r6.postrm linux-4.19.98/debian/linux-image-4.19.0-8-mips64r6.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-mips64r6.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mips64r6.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-mips64r6.preinst linux-4.19.98/debian/linux-image-4.19.0-8-mips64r6.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-mips64r6.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mips64r6.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-mips64r6.prerm linux-4.19.98/debian/linux-image-4.19.0-8-mips64r6.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-mips64r6.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mips64r6.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-mips64r6el-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-mips64r6el-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-mips64r6el-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mips64r6el-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-mips64r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-mips64r6el/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-mips64r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-mips64r6el/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-mips64r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-mips64r6el/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-mips64r6el-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-mips64r6el/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-mips64r6el-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-mips64r6el/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-mips64r6el-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-mips64r6el/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-mips64r6el.postinst linux-4.19.98/debian/linux-image-4.19.0-8-mips64r6el.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-mips64r6el.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mips64r6el.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-mips64r6el.postrm linux-4.19.98/debian/linux-image-4.19.0-8-mips64r6el.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-mips64r6el.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mips64r6el.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-mips64r6el.preinst linux-4.19.98/debian/linux-image-4.19.0-8-mips64r6el.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-mips64r6el.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mips64r6el.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-mips64r6el.prerm linux-4.19.98/debian/linux-image-4.19.0-8-mips64r6el.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-mips64r6el.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-mips64r6el.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-octeon-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-octeon-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-octeon-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-octeon-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-octeon-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-octeon/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-octeon-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-octeon/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-octeon-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-octeon/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-octeon-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-octeon/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-octeon-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-octeon/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-octeon-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-octeon/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-octeon.postinst linux-4.19.98/debian/linux-image-4.19.0-8-octeon.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-octeon.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-octeon.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-octeon.postrm linux-4.19.98/debian/linux-image-4.19.0-8-octeon.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-octeon.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-octeon.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-octeon.preinst linux-4.19.98/debian/linux-image-4.19.0-8-octeon.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-octeon.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-octeon.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-octeon.prerm linux-4.19.98/debian/linux-image-4.19.0-8-octeon.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-octeon.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-octeon.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-parisc-smp.postinst linux-4.19.98/debian/linux-image-4.19.0-8-parisc-smp.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-parisc-smp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-parisc-smp.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-parisc-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-4.19.87/debian/linux-image-4.19.0-8-parisc-smp.postrm linux-4.19.98/debian/linux-image-4.19.0-8-parisc-smp.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-parisc-smp.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-parisc-smp.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-parisc-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-4.19.87/debian/linux-image-4.19.0-8-parisc-smp.preinst linux-4.19.98/debian/linux-image-4.19.0-8-parisc-smp.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-parisc-smp.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-parisc-smp.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-parisc-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-4.19.87/debian/linux-image-4.19.0-8-parisc-smp.prerm linux-4.19.98/debian/linux-image-4.19.0-8-parisc-smp.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-parisc-smp.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-parisc-smp.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-parisc-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-4.19.87/debian/linux-image-4.19.0-8-parisc.postinst linux-4.19.98/debian/linux-image-4.19.0-8-parisc.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-parisc.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-parisc.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-parisc.postrm linux-4.19.98/debian/linux-image-4.19.0-8-parisc.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-parisc.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-parisc.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-parisc.preinst linux-4.19.98/debian/linux-image-4.19.0-8-parisc.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-parisc.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-parisc.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-parisc.prerm linux-4.19.98/debian/linux-image-4.19.0-8-parisc.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-parisc.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-parisc.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-parisc64-smp.postinst linux-4.19.98/debian/linux-image-4.19.0-8-parisc64-smp.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-parisc64-smp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-parisc64-smp.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-parisc64-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-4.19.87/debian/linux-image-4.19.0-8-parisc64-smp.postrm linux-4.19.98/debian/linux-image-4.19.0-8-parisc64-smp.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-parisc64-smp.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-parisc64-smp.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-parisc64-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-4.19.87/debian/linux-image-4.19.0-8-parisc64-smp.preinst linux-4.19.98/debian/linux-image-4.19.0-8-parisc64-smp.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-parisc64-smp.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-parisc64-smp.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-parisc64-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-4.19.87/debian/linux-image-4.19.0-8-parisc64-smp.prerm linux-4.19.98/debian/linux-image-4.19.0-8-parisc64-smp.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-parisc64-smp.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-parisc64-smp.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-parisc64-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-4.19.87/debian/linux-image-4.19.0-8-powerpc-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-powerpc-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpc-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpc-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-powerpc-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-powerpc/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-powerpc-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-powerpc/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-powerpc-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-powerpc/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-powerpc-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-powerpc/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-powerpc-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-powerpc/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-powerpc-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-powerpc/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-powerpc-smp-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-powerpc-smp-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpc-smp-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpc-smp-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-powerpc-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-powerpc-smp/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-powerpc-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-powerpc-smp/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-powerpc-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-powerpc-smp/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-powerpc-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-powerpc-smp/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-powerpc-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-powerpc-smp/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-powerpc-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-powerpc-smp/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-powerpc-smp.postinst linux-4.19.98/debian/linux-image-4.19.0-8-powerpc-smp.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpc-smp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpc-smp.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-powerpc-smp.postrm linux-4.19.98/debian/linux-image-4.19.0-8-powerpc-smp.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpc-smp.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpc-smp.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-powerpc-smp.preinst linux-4.19.98/debian/linux-image-4.19.0-8-powerpc-smp.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpc-smp.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpc-smp.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-powerpc-smp.prerm linux-4.19.98/debian/linux-image-4.19.0-8-powerpc-smp.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpc-smp.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpc-smp.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-powerpc.postinst linux-4.19.98/debian/linux-image-4.19.0-8-powerpc.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpc.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpc.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-powerpc.postrm linux-4.19.98/debian/linux-image-4.19.0-8-powerpc.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpc.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpc.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-powerpc.preinst linux-4.19.98/debian/linux-image-4.19.0-8-powerpc.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpc.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpc.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-powerpc.prerm linux-4.19.98/debian/linux-image-4.19.0-8-powerpc.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpc.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpc.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-powerpc64-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-powerpc64-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpc64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpc64-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-powerpc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-powerpc64/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-powerpc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-powerpc64/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-powerpc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-powerpc64/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-powerpc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-powerpc64/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-powerpc64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-powerpc64/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-powerpc64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-powerpc64/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-powerpc64.postinst linux-4.19.98/debian/linux-image-4.19.0-8-powerpc64.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpc64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpc64.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-powerpc64.postrm linux-4.19.98/debian/linux-image-4.19.0-8-powerpc64.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpc64.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpc64.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-powerpc64.preinst linux-4.19.98/debian/linux-image-4.19.0-8-powerpc64.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpc64.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpc64.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-powerpc64.prerm linux-4.19.98/debian/linux-image-4.19.0-8-powerpc64.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpc64.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpc64.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-powerpc64le-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-powerpc64le-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpc64le-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpc64le-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-powerpc64le-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-powerpc64le/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-powerpc64le-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-powerpc64le/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-powerpc64le-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-powerpc64le/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-powerpc64le-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-powerpc64le/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-powerpc64le-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-powerpc64le/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-powerpc64le-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-powerpc64le/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-powerpc64le.postinst linux-4.19.98/debian/linux-image-4.19.0-8-powerpc64le.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpc64le.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpc64le.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-powerpc64le.postrm linux-4.19.98/debian/linux-image-4.19.0-8-powerpc64le.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpc64le.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpc64le.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-powerpc64le.preinst linux-4.19.98/debian/linux-image-4.19.0-8-powerpc64le.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpc64le.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpc64le.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-powerpc64le.prerm linux-4.19.98/debian/linux-image-4.19.0-8-powerpc64le.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpc64le.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpc64le.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-powerpcspe-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-powerpcspe-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpcspe-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpcspe-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-powerpcspe-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-4.19.0-8-powerpcspe-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-powerpcspe/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-powerpcspe-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-powerpcspe/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-powerpcspe-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-powerpcspe/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-powerpcspe-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-powerpcspe/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-powerpcspe-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-powerpcspe/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-powerpcspe-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-powerpcspe/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-powerpcspe.postinst linux-4.19.98/debian/linux-image-4.19.0-8-powerpcspe.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpcspe.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpcspe.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-powerpcspe +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-4.19.87/debian/linux-image-4.19.0-8-powerpcspe.postrm linux-4.19.98/debian/linux-image-4.19.0-8-powerpcspe.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpcspe.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpcspe.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-powerpcspe +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-4.19.87/debian/linux-image-4.19.0-8-powerpcspe.preinst linux-4.19.98/debian/linux-image-4.19.0-8-powerpcspe.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpcspe.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpcspe.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-powerpcspe +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-4.19.87/debian/linux-image-4.19.0-8-powerpcspe.prerm linux-4.19.98/debian/linux-image-4.19.0-8-powerpcspe.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-powerpcspe.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-powerpcspe.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-powerpcspe +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-4.19.87/debian/linux-image-4.19.0-8-riscv64-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-riscv64-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-riscv64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-riscv64-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-riscv64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-riscv64/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-riscv64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-riscv64/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-riscv64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-riscv64/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-riscv64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-riscv64/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-riscv64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-riscv64/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-riscv64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-riscv64/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-riscv64.postinst linux-4.19.98/debian/linux-image-4.19.0-8-riscv64.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-riscv64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-riscv64.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-riscv64.postrm linux-4.19.98/debian/linux-image-4.19.0-8-riscv64.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-riscv64.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-riscv64.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-riscv64.preinst linux-4.19.98/debian/linux-image-4.19.0-8-riscv64.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-riscv64.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-riscv64.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-riscv64.prerm linux-4.19.98/debian/linux-image-4.19.0-8-riscv64.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-riscv64.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-riscv64.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-rpi-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-rpi-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-rpi-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rpi-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-rpi-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-rpi/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-rpi-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-rpi/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-rpi-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-rpi/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-rpi-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-rpi/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-rpi-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-rpi/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-rpi-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-rpi/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-rpi.postinst linux-4.19.98/debian/linux-image-4.19.0-8-rpi.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-rpi.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rpi.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-rpi.postrm linux-4.19.98/debian/linux-image-4.19.0-8-rpi.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-rpi.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rpi.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-rpi.preinst linux-4.19.98/debian/linux-image-4.19.0-8-rpi.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-rpi.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rpi.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-rpi.prerm linux-4.19.98/debian/linux-image-4.19.0-8-rpi.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-rpi.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rpi.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-rt-686-pae-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-rt-686-pae-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-rt-686-pae-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rt-686-pae-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-rt-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-rt-686-pae/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-rt-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-rt-686-pae/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-rt-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-rt-686-pae/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-rt-686-pae-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-rt-686-pae/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-rt-686-pae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-rt-686-pae/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-rt-686-pae-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-rt-686-pae/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-rt-686-pae-unsigned.postinst linux-4.19.98/debian/linux-image-4.19.0-8-rt-686-pae-unsigned.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-rt-686-pae-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rt-686-pae-unsigned.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-rt-686-pae-unsigned.postrm linux-4.19.98/debian/linux-image-4.19.0-8-rt-686-pae-unsigned.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-rt-686-pae-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rt-686-pae-unsigned.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-rt-686-pae-unsigned.preinst linux-4.19.98/debian/linux-image-4.19.0-8-rt-686-pae-unsigned.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-rt-686-pae-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rt-686-pae-unsigned.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-rt-686-pae-unsigned.prerm linux-4.19.98/debian/linux-image-4.19.0-8-rt-686-pae-unsigned.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-rt-686-pae-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rt-686-pae-unsigned.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-rt-amd64-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-rt-amd64-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-rt-amd64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rt-amd64-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-rt-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-rt-amd64/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-rt-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-rt-amd64/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-rt-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-rt-amd64/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-rt-amd64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-rt-amd64/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-rt-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-rt-amd64/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-rt-amd64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-rt-amd64/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-rt-amd64-unsigned.postinst linux-4.19.98/debian/linux-image-4.19.0-8-rt-amd64-unsigned.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-rt-amd64-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rt-amd64-unsigned.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-rt-amd64-unsigned.postrm linux-4.19.98/debian/linux-image-4.19.0-8-rt-amd64-unsigned.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-rt-amd64-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rt-amd64-unsigned.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-rt-amd64-unsigned.preinst linux-4.19.98/debian/linux-image-4.19.0-8-rt-amd64-unsigned.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-rt-amd64-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rt-amd64-unsigned.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-rt-amd64-unsigned.prerm linux-4.19.98/debian/linux-image-4.19.0-8-rt-amd64-unsigned.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-rt-amd64-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rt-amd64-unsigned.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-rt-arm64-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-rt-arm64-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-rt-arm64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rt-arm64-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-rt-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-rt-arm64/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-rt-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-rt-arm64/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-rt-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-rt-arm64/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-rt-arm64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-rt-arm64/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-rt-arm64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-rt-arm64/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-rt-arm64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-rt-arm64/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-rt-arm64-unsigned.postinst linux-4.19.98/debian/linux-image-4.19.0-8-rt-arm64-unsigned.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-rt-arm64-unsigned.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rt-arm64-unsigned.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-rt-arm64-unsigned.postrm linux-4.19.98/debian/linux-image-4.19.0-8-rt-arm64-unsigned.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-rt-arm64-unsigned.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rt-arm64-unsigned.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-rt-arm64-unsigned.preinst linux-4.19.98/debian/linux-image-4.19.0-8-rt-arm64-unsigned.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-rt-arm64-unsigned.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rt-arm64-unsigned.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-rt-arm64-unsigned.prerm linux-4.19.98/debian/linux-image-4.19.0-8-rt-arm64-unsigned.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-rt-arm64-unsigned.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rt-arm64-unsigned.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-rt-armmp-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-rt-armmp-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-rt-armmp-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rt-armmp-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-rt-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-rt-armmp/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-rt-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-rt-armmp/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-rt-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-rt-armmp/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-rt-armmp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-rt-armmp/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-rt-armmp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-rt-armmp/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-rt-armmp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-rt-armmp/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-rt-armmp.postinst linux-4.19.98/debian/linux-image-4.19.0-8-rt-armmp.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-rt-armmp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rt-armmp.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-rt-armmp.postrm linux-4.19.98/debian/linux-image-4.19.0-8-rt-armmp.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-rt-armmp.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rt-armmp.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-rt-armmp.preinst linux-4.19.98/debian/linux-image-4.19.0-8-rt-armmp.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-rt-armmp.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rt-armmp.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-rt-armmp.prerm linux-4.19.98/debian/linux-image-4.19.0-8-rt-armmp.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-rt-armmp.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-rt-armmp.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-s390x-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-s390x-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-s390x-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-s390x-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-s390x-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-s390x/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-s390x-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-s390x/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-s390x-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-s390x/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-s390x-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-s390x/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-s390x-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-s390x/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-s390x-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-s390x/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-s390x.postinst linux-4.19.98/debian/linux-image-4.19.0-8-s390x.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-s390x.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-s390x.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-s390x.postrm linux-4.19.98/debian/linux-image-4.19.0-8-s390x.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-s390x.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-s390x.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-s390x.preinst linux-4.19.98/debian/linux-image-4.19.0-8-s390x.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-s390x.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-s390x.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-s390x.prerm linux-4.19.98/debian/linux-image-4.19.0-8-s390x.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-s390x.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-s390x.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-sh7751r-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-sh7751r-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-sh7751r-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-sh7751r-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-sh7751r-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-sh7751r/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-sh7751r-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-sh7751r/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-sh7751r-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-sh7751r/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-sh7751r-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-sh7751r/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-sh7751r-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-sh7751r/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-sh7751r-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-sh7751r/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-sh7751r.postinst linux-4.19.98/debian/linux-image-4.19.0-8-sh7751r.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-sh7751r.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-sh7751r.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-sh7751r.postrm linux-4.19.98/debian/linux-image-4.19.0-8-sh7751r.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-sh7751r.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-sh7751r.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-sh7751r.preinst linux-4.19.98/debian/linux-image-4.19.0-8-sh7751r.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-sh7751r.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-sh7751r.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-sh7751r.prerm linux-4.19.98/debian/linux-image-4.19.0-8-sh7751r.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-sh7751r.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-sh7751r.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-sh7785lcr-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-sh7785lcr-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-sh7785lcr-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-sh7785lcr-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-sh7785lcr-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-sh7785lcr/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-sh7785lcr-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-sh7785lcr/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-sh7785lcr-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-sh7785lcr/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-sh7785lcr-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-sh7785lcr/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-sh7785lcr-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-sh7785lcr/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-sh7785lcr-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-sh7785lcr/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-sh7785lcr.postinst linux-4.19.98/debian/linux-image-4.19.0-8-sh7785lcr.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-sh7785lcr.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-sh7785lcr.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-sh7785lcr.postrm linux-4.19.98/debian/linux-image-4.19.0-8-sh7785lcr.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-sh7785lcr.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-sh7785lcr.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-sh7785lcr.preinst linux-4.19.98/debian/linux-image-4.19.0-8-sh7785lcr.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-sh7785lcr.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-sh7785lcr.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-sh7785lcr.prerm linux-4.19.98/debian/linux-image-4.19.0-8-sh7785lcr.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-sh7785lcr.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-sh7785lcr.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-sparc64-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-sparc64-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-sparc64-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-sparc64-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-sparc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-sparc64/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-sparc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-sparc64/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-sparc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-sparc64/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-sparc64-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-sparc64/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-sparc64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-sparc64/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-sparc64-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-sparc64/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-sparc64-smp-dbg.lintian-overrides linux-4.19.98/debian/linux-image-4.19.0-8-sparc64-smp-dbg.lintian-overrides --- linux-4.19.87/debian/linux-image-4.19.0-8-sparc64-smp-dbg.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-sparc64-smp-dbg.lintian-overrides 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,15 @@ +#!/usr/bin/dh-exec + +# Kernel dbg packages contain a full image with debug data +linux-image-4.19.0-8-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-4.19.0-8-sparc64-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-sparc64-smp/vdso/vdso.so +[amd64 i386 ppc64el s390x] linux-image-4.19.0-8-sparc64-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-sparc64-smp/vdso/vdso32.so +[amd64 ppc64el s390x] linux-image-4.19.0-8-sparc64-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-sparc64-smp/vdso/vdso64.so +[amd64] linux-image-4.19.0-8-sparc64-smp-dbg: shlib-without-PT_GNU_STACK-section usr/lib/debug/lib/modules/4.19.0-8-sparc64-smp/vdso/vdsox32.so + +# It is intended that 64-bit kernels provide vDSOs for 32-bit executables +[amd64 ppc64el s390x] linux-image-4.19.0-8-sparc64-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-sparc64-smp/vdso/vdso32.so +[amd64] linux-image-4.19.0-8-sparc64-smp-dbg: binary-from-other-architecture usr/lib/debug/lib/modules/4.19.0-8-sparc64-smp/vdso/vdsox32.so diff -Nru linux-4.19.87/debian/linux-image-4.19.0-8-sparc64-smp.postinst linux-4.19.98/debian/linux-image-4.19.0-8-sparc64-smp.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-sparc64-smp.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-sparc64-smp.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-sparc64-smp.postrm linux-4.19.98/debian/linux-image-4.19.0-8-sparc64-smp.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-sparc64-smp.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-sparc64-smp.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-sparc64-smp.preinst linux-4.19.98/debian/linux-image-4.19.0-8-sparc64-smp.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-sparc64-smp.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-sparc64-smp.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-sparc64-smp.prerm linux-4.19.98/debian/linux-image-4.19.0-8-sparc64-smp.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-sparc64-smp.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-sparc64-smp.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-sparc64.postinst linux-4.19.98/debian/linux-image-4.19.0-8-sparc64.postinst --- linux-4.19.87/debian/linux-image-4.19.0-8-sparc64.postinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-sparc64.postinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,25 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-sparc64.postrm linux-4.19.98/debian/linux-image-4.19.0-8-sparc64.postrm --- linux-4.19.87/debian/linux-image-4.19.0-8-sparc64.postrm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-sparc64.postrm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,31 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-sparc64.preinst linux-4.19.98/debian/linux-image-4.19.0-8-sparc64.preinst --- linux-4.19.87/debian/linux-image-4.19.0-8-sparc64.preinst 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-sparc64.preinst 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,21 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/linux-image-4.19.0-8-sparc64.prerm linux-4.19.98/debian/linux-image-4.19.0-8-sparc64.prerm --- linux-4.19.87/debian/linux-image-4.19.0-8-sparc64.prerm 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/linux-image-4.19.0-8-sparc64.prerm 2020-01-26 20:01:13.000000000 +0000 @@ -0,0 +1,17 @@ +#!/bin/sh -e + +version=4.19.0-8-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-4.19.87/debian/patches/bugfix/all/libertas-fix-two-buffer-overflows-at-parsing-bss-descriptor.patch linux-4.19.98/debian/patches/bugfix/all/libertas-fix-two-buffer-overflows-at-parsing-bss-descriptor.patch --- linux-4.19.87/debian/patches/bugfix/all/libertas-fix-two-buffer-overflows-at-parsing-bss-descriptor.patch 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/patches/bugfix/all/libertas-fix-two-buffer-overflows-at-parsing-bss-descriptor.patch 2020-01-26 13:26:49.000000000 +0000 @@ -0,0 +1,64 @@ +From: Wen Huang +Date: Thu, 28 Nov 2019 18:51:04 +0800 +Subject: libertas: Fix two buffer overflows at parsing bss descriptor +Origin: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers.git/commit/?id=e5e884b42639c74b5b57dc277909915c0aefc8bb +Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2019-14896 +Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2019-14897 + +add_ie_rates() copys rates without checking the length +in bss descriptor from remote AP.when victim connects to +remote attacker, this may trigger buffer overflow. +lbs_ibss_join_existing() copys rates without checking the length +in bss descriptor from remote IBSS node.when victim connects to +remote attacker, this may trigger buffer overflow. +Fix them by putting the length check before performing copy. + +This fix addresses CVE-2019-14896 and CVE-2019-14897. +This also fix build warning of mixed declarations and code. + +Reported-by: kbuild test robot +Signed-off-by: Wen Huang +Signed-off-by: Kalle Valo +--- + drivers/net/wireless/marvell/libertas/cfg.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +--- a/drivers/net/wireless/marvell/libertas/cfg.c ++++ b/drivers/net/wireless/marvell/libertas/cfg.c +@@ -273,6 +273,10 @@ add_ie_rates(u8 *tlv, const u8 *ie, int + int hw, ap, ap_max = ie[1]; + u8 hw_rate; + ++ if (ap_max > MAX_RATES) { ++ lbs_deb_assoc("invalid rates\n"); ++ return tlv; ++ } + /* Advance past IE header */ + ie += 2; + +@@ -1717,6 +1721,9 @@ static int lbs_ibss_join_existing(struct + struct cmd_ds_802_11_ad_hoc_join cmd; + u8 preamble = RADIO_PREAMBLE_SHORT; + int ret = 0; ++ int hw, i; ++ u8 rates_max; ++ u8 *rates; + + /* TODO: set preamble based on scan result */ + ret = lbs_set_radio(priv, preamble, 1); +@@ -1775,9 +1782,12 @@ static int lbs_ibss_join_existing(struct + if (!rates_eid) { + lbs_add_rates(cmd.bss.rates); + } else { +- int hw, i; +- u8 rates_max = rates_eid[1]; +- u8 *rates = cmd.bss.rates; ++ rates_max = rates_eid[1]; ++ if (rates_max > MAX_RATES) { ++ lbs_deb_join("invalid rates"); ++ goto out; ++ } ++ rates = cmd.bss.rates; + for (hw = 0; hw < ARRAY_SIZE(lbs_rates); hw++) { + u8 hw_rate = lbs_rates[hw].bitrate / 5; + for (i = 0; i < rates_max; i++) { diff -Nru linux-4.19.87/debian/patches/bugfix/all/random-try-to-actively-add-entropy-rather-than-passi.patch linux-4.19.98/debian/patches/bugfix/all/random-try-to-actively-add-entropy-rather-than-passi.patch --- linux-4.19.87/debian/patches/bugfix/all/random-try-to-actively-add-entropy-rather-than-passi.patch 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/patches/bugfix/all/random-try-to-actively-add-entropy-rather-than-passi.patch 2020-01-26 13:26:49.000000000 +0000 @@ -0,0 +1,143 @@ +From: Linus Torvalds +Date: Sat, 28 Sep 2019 16:53:52 -0700 +Subject: [PATCH] random: try to actively add entropy rather than passively + wait for it +Origin: https://git.kernel.org/linus/50ee7529ec4500c88f8664560770a7a1b65db72b +Bug-Debian: https://bugs.debian.org/948519 + +For 5.3 we had to revert a nice ext4 IO pattern improvement, because it +caused a bootup regression due to lack of entropy at bootup together +with arguably broken user space that was asking for secure random +numbers when it really didn't need to. + +See commit 72dbcf721566 (Revert "ext4: make __ext4_get_inode_loc plug"). + +This aims to solve the issue by actively generating entropy noise using +the CPU cycle counter when waiting for the random number generator to +initialize. This only works when you have a high-frequency time stamp +counter available, but that's the case on all modern x86 CPU's, and on +most other modern CPU's too. + +What we do is to generate jitter entropy from the CPU cycle counter +under a somewhat complex load: calling the scheduler while also +guaranteeing a certain amount of timing noise by also triggering a +timer. + +I'm sure we can tweak this, and that people will want to look at other +alternatives, but there's been a number of papers written on jitter +entropy, and this should really be fairly conservative by crediting one +bit of entropy for every timer-induced jump in the cycle counter. Not +because the timer itself would be all that unpredictable, but because +the interaction between the timer and the loop is going to be. + +Even if (and perhaps particularly if) the timer actually happens on +another CPU, the cacheline interaction between the loop that reads the +cycle counter and the timer itself firing is going to add perturbations +to the cycle counter values that get mixed into the entropy pool. + +As Thomas pointed out, with a modern out-of-order CPU, even quite simple +loops show a fair amount of hard-to-predict timing variability even in +the absense of external interrupts. But this tries to take that further +by actually having a fairly complex interaction. + +This is not going to solve the entropy issue for architectures that have +no CPU cycle counter, but it's not clear how (and if) that is solvable, +and the hardware in question is largely starting to be irrelevant. And +by doing this we can at least avoid some of the even more contentious +approaches (like making the entropy waiting time out in order to avoid +the possibly unbounded waiting). + +Cc: Ahmed Darwish +Cc: Thomas Gleixner +Cc: Theodore Ts'o +Cc: Nicholas Mc Guire +Cc: Andy Lutomirski +Cc: Kees Cook +Cc: Willy Tarreau +Cc: Alexander E. Patrakov +Cc: Lennart Poettering +Signed-off-by: Linus Torvalds +--- + drivers/char/random.c | 62 ++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 61 insertions(+), 1 deletion(-) + +Index: linux/drivers/char/random.c +=================================================================== +--- linux.orig/drivers/char/random.c ++++ linux/drivers/char/random.c +@@ -1653,6 +1653,56 @@ void get_random_bytes(void *buf, int nby + } + EXPORT_SYMBOL(get_random_bytes); + ++ ++/* ++ * Each time the timer fires, we expect that we got an unpredictable ++ * jump in the cycle counter. Even if the timer is running on another ++ * CPU, the timer activity will be touching the stack of the CPU that is ++ * generating entropy.. ++ * ++ * Note that we don't re-arm the timer in the timer itself - we are ++ * happy to be scheduled away, since that just makes the load more ++ * complex, but we do not want the timer to keep ticking unless the ++ * entropy loop is running. ++ * ++ * So the re-arming always happens in the entropy loop itself. ++ */ ++static void entropy_timer(struct timer_list *t) ++{ ++ credit_entropy_bits(&input_pool, 1); ++} ++ ++/* ++ * If we have an actual cycle counter, see if we can ++ * generate enough entropy with timing noise ++ */ ++static void try_to_generate_entropy(void) ++{ ++ struct { ++ unsigned long now; ++ struct timer_list timer; ++ } stack; ++ ++ stack.now = random_get_entropy(); ++ ++ /* Slow counter - or none. Don't even bother */ ++ if (stack.now == random_get_entropy()) ++ return; ++ ++ timer_setup_on_stack(&stack.timer, entropy_timer, 0); ++ while (!crng_ready()) { ++ if (!timer_pending(&stack.timer)) ++ mod_timer(&stack.timer, jiffies+1); ++ mix_pool_bytes(&input_pool, &stack.now, sizeof(stack.now)); ++ schedule(); ++ stack.now = random_get_entropy(); ++ } ++ ++ del_timer_sync(&stack.timer); ++ destroy_timer_on_stack(&stack.timer); ++ mix_pool_bytes(&input_pool, &stack.now, sizeof(stack.now)); ++} ++ + /* + * Wait for the urandom pool to be seeded and thus guaranteed to supply + * cryptographically secure random numbers. This applies to: the /dev/urandom +@@ -1667,7 +1717,17 @@ int wait_for_random_bytes(void) + { + if (likely(crng_ready())) + return 0; +- return wait_event_interruptible(crng_init_wait, crng_ready()); ++ ++ do { ++ int ret; ++ ret = wait_event_interruptible_timeout(crng_init_wait, crng_ready(), HZ); ++ if (ret) ++ return ret > 0 ? 0 : ret; ++ ++ try_to_generate_entropy(); ++ } while (!crng_ready()); ++ ++ return 0; + } + EXPORT_SYMBOL(wait_for_random_bytes); + diff -Nru linux-4.19.87/debian/patches/bugfix/all/wimax-i2400-fix-memory-leak-in-i2400m_op_rfkill_sw_toggle.patch linux-4.19.98/debian/patches/bugfix/all/wimax-i2400-fix-memory-leak-in-i2400m_op_rfkill_sw_toggle.patch --- linux-4.19.87/debian/patches/bugfix/all/wimax-i2400-fix-memory-leak-in-i2400m_op_rfkill_sw_toggle.patch 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/patches/bugfix/all/wimax-i2400-fix-memory-leak-in-i2400m_op_rfkill_sw_toggle.patch 2020-01-26 19:59:32.000000000 +0000 @@ -0,0 +1,37 @@ +From: Navid Emamdoost +Date: Fri, 25 Oct 2019 23:53:30 -0500 +Subject: wimax: i2400: Fix memory leak in i2400m_op_rfkill_sw_toggle +Origin: https://git.kernel.org/linus/6f3ef5c25cc762687a7341c18cbea5af54461407 +Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2019-19051 + +In the implementation of i2400m_op_rfkill_sw_toggle() the allocated +buffer for cmd should be released before returning. The +documentation for i2400m_msg_to_dev() says when it returns the buffer +can be reused. Meaning cmd should be released in either case. Move +kfree(cmd) before return to be reached by all execution paths. + +Fixes: 2507e6ab7a9a ("wimax: i2400: fix memory leak") +Signed-off-by: Navid Emamdoost +Signed-off-by: David S. Miller +Signed-off-by: Ben Hutchings +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/wimax/i2400m/op-rfkill.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/net/wimax/i2400m/op-rfkill.c ++++ b/drivers/net/wimax/i2400m/op-rfkill.c +@@ -142,12 +142,12 @@ int i2400m_op_rfkill_sw_toggle(struct wi + "%d\n", result); + result = 0; + error_cmd: +- kfree(cmd); + kfree_skb(ack_skb); + error_msg_to_dev: + error_alloc: + d_fnend(4, dev, "(wimax_dev %p state %d) = %d\n", + wimax_dev, state, result); ++ kfree(cmd); + return result; + } + diff -Nru linux-4.19.87/debian/patches/bugfix/all/wimax-i2400-fix-memory-leak.patch linux-4.19.98/debian/patches/bugfix/all/wimax-i2400-fix-memory-leak.patch --- linux-4.19.87/debian/patches/bugfix/all/wimax-i2400-fix-memory-leak.patch 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/patches/bugfix/all/wimax-i2400-fix-memory-leak.patch 2020-01-26 13:26:49.000000000 +0000 @@ -0,0 +1,27 @@ +From: Navid Emamdoost +Date: Tue, 10 Sep 2019 18:01:40 -0500 +Subject: wimax: i2400: fix memory leak +Origin: https://git.kernel.org/linus/2507e6ab7a9a440773be476141a255934468c5ef +Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2019-19051 + +In i2400m_op_rfkill_sw_toggle cmd buffer should be released along with +skb response. + +Signed-off-by: Navid Emamdoost +Signed-off-by: David S. Miller +Signed-off-by: Ben Hutchings +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/wimax/i2400m/op-rfkill.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/net/wimax/i2400m/op-rfkill.c ++++ b/drivers/net/wimax/i2400m/op-rfkill.c +@@ -142,6 +142,7 @@ int i2400m_op_rfkill_sw_toggle(struct wi + "%d\n", result); + result = 0; + error_cmd: ++ kfree(cmd); + kfree_skb(ack_skb); + error_msg_to_dev: + error_alloc: diff -Nru linux-4.19.87/debian/patches/bugfix/arm64/huawei-taishan/0006-scsi-hisi_sas-Use-block-layer-tag-instead-for-IPTT.patch linux-4.19.98/debian/patches/bugfix/arm64/huawei-taishan/0006-scsi-hisi_sas-Use-block-layer-tag-instead-for-IPTT.patch --- linux-4.19.87/debian/patches/bugfix/arm64/huawei-taishan/0006-scsi-hisi_sas-Use-block-layer-tag-instead-for-IPTT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches/bugfix/arm64/huawei-taishan/0006-scsi-hisi_sas-Use-block-layer-tag-instead-for-IPTT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -21,10 +21,8 @@ drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 8 ++- 5 files changed, 70 insertions(+), 40 deletions(-) -Index: linux/drivers/scsi/hisi_sas/hisi_sas.h -=================================================================== ---- linux.orig/drivers/scsi/hisi_sas/hisi_sas.h -+++ linux/drivers/scsi/hisi_sas/hisi_sas.h +--- a/drivers/scsi/hisi_sas/hisi_sas.h ++++ b/drivers/scsi/hisi_sas/hisi_sas.h @@ -34,6 +34,7 @@ #define HISI_SAS_MAX_DEVICES HISI_SAS_MAX_ITCT_ENTRIES #define HISI_SAS_RESET_BIT 0 @@ -41,11 +39,9 @@ + int (*slot_index_alloc)(struct hisi_hba *hisi_hba, struct domain_device *device); struct hisi_sas_device *(*alloc_dev)(struct domain_device *device); - void (*sl_notify)(struct hisi_hba *hisi_hba, int phy_no); -Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c -=================================================================== ---- linux.orig/drivers/scsi/hisi_sas/hisi_sas_main.c -+++ linux/drivers/scsi/hisi_sas/hisi_sas_main.c + void (*sl_notify_ssp)(struct hisi_hba *hisi_hba, int phy_no); +--- a/drivers/scsi/hisi_sas/hisi_sas_main.c ++++ b/drivers/scsi/hisi_sas/hisi_sas_main.c @@ -184,7 +184,14 @@ static void hisi_sas_slot_index_clear(st static void hisi_sas_slot_index_free(struct hisi_hba *hisi_hba, int slot_idx) @@ -160,7 +156,7 @@ err_out_dma_unmap: if (!sas_protocol_ata(task->task_proto)) { if (task->num_scatter) { -@@ -1742,14 +1766,11 @@ hisi_sas_internal_abort_task_exec(struct +@@ -1747,14 +1771,11 @@ hisi_sas_internal_abort_task_exec(struct port = to_hisi_sas_port(sas_port); /* simply get a slot and send abort command */ @@ -178,7 +174,7 @@ slot = &hisi_hba->slot_info[slot_idx]; spin_lock_irqsave(&dq->lock, flags_dq); -@@ -1785,7 +1806,6 @@ hisi_sas_internal_abort_task_exec(struct +@@ -1790,7 +1811,6 @@ hisi_sas_internal_abort_task_exec(struct spin_lock_irqsave(&task->task_state_lock, flags); task->task_state_flags |= SAS_TASK_AT_INITIATOR; spin_unlock_irqrestore(&task->task_state_lock, flags); @@ -186,7 +182,7 @@ WRITE_ONCE(slot->ready, 1); /* send abort command to the chip */ spin_lock_irqsave(&dq->lock, flags); -@@ -1796,9 +1816,7 @@ hisi_sas_internal_abort_task_exec(struct +@@ -1801,9 +1821,7 @@ hisi_sas_internal_abort_task_exec(struct return 0; err_out_tag: @@ -196,7 +192,7 @@ err_out: dev_err(dev, "internal abort task prep: failed[%d]!\n", rc); -@@ -2174,6 +2192,8 @@ int hisi_sas_alloc(struct hisi_hba *hisi +@@ -2179,6 +2197,8 @@ int hisi_sas_alloc(struct hisi_hba *hisi hisi_sas_init_mem(hisi_hba); hisi_sas_slot_index_init(hisi_hba); @@ -205,7 +201,7 @@ hisi_hba->wq = create_singlethread_workqueue(dev_name(dev)); if (!hisi_hba->wq) { -@@ -2377,8 +2397,15 @@ int hisi_sas_probe(struct platform_devic +@@ -2382,8 +2402,15 @@ int hisi_sas_probe(struct platform_devic shost->max_channel = 1; shost->max_cmd_len = 16; shost->sg_tablesize = min_t(u16, SG_ALL, HISI_SAS_SGE_PAGE_CNT); @@ -223,10 +219,8 @@ sha->sas_ha_name = DRV_NAME; sha->dev = hisi_hba->dev; -Index: linux/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c -=================================================================== ---- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c -+++ linux/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c +--- a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c ++++ b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c @@ -1807,7 +1807,6 @@ static struct scsi_host_template sht_v1_ .scan_start = hisi_sas_scan_start, .change_queue_depth = sas_change_queue_depth, @@ -235,10 +229,8 @@ .this_id = -1, .sg_tablesize = SG_ALL, .max_sectors = SCSI_DEFAULT_MAX_SECTORS, -Index: linux/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c -=================================================================== ---- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c -+++ linux/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c +--- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c ++++ b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c @@ -770,7 +770,7 @@ static u32 hisi_sas_phy_read32(struct hi /* This function needs to be protected from pre-emption. */ @@ -283,11 +275,9 @@ .this_id = -1, .sg_tablesize = SG_ALL, .max_sectors = SCSI_DEFAULT_MAX_SECTORS, -Index: linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c -=================================================================== ---- linux.orig/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c -+++ linux/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c -@@ -2096,7 +2096,6 @@ static struct scsi_host_template sht_v3_ +--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c ++++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c +@@ -2108,7 +2108,6 @@ static struct scsi_host_template sht_v3_ .scan_start = hisi_sas_scan_start, .change_queue_depth = sas_change_queue_depth, .bios_param = sas_bios_param, @@ -295,7 +285,7 @@ .this_id = -1, .sg_tablesize = SG_ALL, .max_sectors = SCSI_DEFAULT_MAX_SECTORS, -@@ -2106,6 +2105,7 @@ static struct scsi_host_template sht_v3_ +@@ -2118,6 +2117,7 @@ static struct scsi_host_template sht_v3_ .target_destroy = sas_target_destroy, .ioctl = sas_ioctl, .shost_attrs = host_attrs, @@ -303,7 +293,7 @@ }; static const struct hisi_sas_hw hisi_sas_v3_hw = { -@@ -2243,8 +2243,10 @@ hisi_sas_v3_probe(struct pci_dev *pdev, +@@ -2255,8 +2255,10 @@ hisi_sas_v3_probe(struct pci_dev *pdev, shost->max_channel = 1; shost->max_cmd_len = 16; shost->sg_tablesize = min_t(u16, SG_ALL, HISI_SAS_SGE_PAGE_CNT); diff -Nru linux-4.19.87/debian/patches/bugfix/arm64/huawei-taishan/0013-scsi-hisi_sas-Relocate-some-codes-to-avoid-an-unused.patch linux-4.19.98/debian/patches/bugfix/arm64/huawei-taishan/0013-scsi-hisi_sas-Relocate-some-codes-to-avoid-an-unused.patch --- linux-4.19.87/debian/patches/bugfix/arm64/huawei-taishan/0013-scsi-hisi_sas-Relocate-some-codes-to-avoid-an-unused.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches/bugfix/arm64/huawei-taishan/0013-scsi-hisi_sas-Relocate-some-codes-to-avoid-an-unused.patch 2020-01-26 13:26:49.000000000 +0000 @@ -17,10 +17,8 @@ drivers/scsi/hisi_sas/hisi_sas_main.c | 44 ++++++++++++++------------- 1 file changed, 23 insertions(+), 21 deletions(-) -Index: linux/drivers/scsi/hisi_sas/hisi_sas_main.c -=================================================================== ---- linux.orig/drivers/scsi/hisi_sas/hisi_sas_main.c -+++ linux/drivers/scsi/hisi_sas/hisi_sas_main.c +--- a/drivers/scsi/hisi_sas/hisi_sas_main.c ++++ b/drivers/scsi/hisi_sas/hisi_sas_main.c @@ -303,36 +303,19 @@ static int hisi_sas_task_prep(struct sas int *pass) { @@ -90,5 +88,5 @@ + dev = hisi_hba->dev; + if (unlikely(test_bit(HISI_SAS_REJECT_CMD_BIT, &hisi_hba->flags))) { - if (in_softirq()) - return -EINVAL; + /* + * For IOs from upper layer, it may already disable preempt diff -Nru linux-4.19.87/debian/patches/bugfix/arm64/huawei-taishan/0027-RDMA-hns-Fix-the-bug-with-updating-rq-head-pointer-w.patch linux-4.19.98/debian/patches/bugfix/arm64/huawei-taishan/0027-RDMA-hns-Fix-the-bug-with-updating-rq-head-pointer-w.patch --- linux-4.19.87/debian/patches/bugfix/arm64/huawei-taishan/0027-RDMA-hns-Fix-the-bug-with-updating-rq-head-pointer-w.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches/bugfix/arm64/huawei-taishan/0027-RDMA-hns-Fix-the-bug-with-updating-rq-head-pointer-w.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,49 +0,0 @@ -From 42472e368c1bbe74d7316d549ae4f83097f54c87 Mon Sep 17 00:00:00 2001 -From: Lijun Ou -Date: Wed, 12 Dec 2018 17:49:06 +0800 -Subject: [PATCH 27/31] RDMA/hns: Fix the bug with updating rq head pointer - when flush cqe -Origin: https://git.kernel.org/linus/9c6ccc035c209dda07685e8dba829a203ba17499 - -When flush cqe with srq, the driver disable to update the rq head pointer -into the hardware. - -Signed-off-by: Lijun Ou -Signed-off-by: Jason Gunthorpe ---- - drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -Index: linux/drivers/infiniband/hw/hns/hns_roce_hw_v2.c -=================================================================== ---- linux.orig/drivers/infiniband/hw/hns/hns_roce_hw_v2.c -+++ linux/drivers/infiniband/hw/hns/hns_roce_hw_v2.c -@@ -3499,13 +3499,16 @@ static int hns_roce_v2_modify_qp(struct - roce_set_field(qpc_mask->byte_160_sq_ci_pi, - V2_QPC_BYTE_160_SQ_PRODUCER_IDX_M, - V2_QPC_BYTE_160_SQ_PRODUCER_IDX_S, 0); -- roce_set_field(context->byte_84_rq_ci_pi, -+ -+ if (!ibqp->srq) { -+ roce_set_field(context->byte_84_rq_ci_pi, - V2_QPC_BYTE_84_RQ_PRODUCER_IDX_M, - V2_QPC_BYTE_84_RQ_PRODUCER_IDX_S, - hr_qp->rq.head); -- roce_set_field(qpc_mask->byte_84_rq_ci_pi, -+ roce_set_field(qpc_mask->byte_84_rq_ci_pi, - V2_QPC_BYTE_84_RQ_PRODUCER_IDX_M, - V2_QPC_BYTE_84_RQ_PRODUCER_IDX_S, 0); -+ } - } - - if (attr_mask & IB_QP_AV) { -@@ -3967,7 +3970,8 @@ static void hns_roce_set_qps_to_err(stru - if (hr_qp->ibqp.uobject) { - if (hr_qp->sdb_en == 1) { - hr_qp->sq.head = *(int *)(hr_qp->sdb.virt_addr); -- hr_qp->rq.head = *(int *)(hr_qp->rdb.virt_addr); -+ if (hr_qp->rdb_en == 1) -+ hr_qp->rq.head = *(int *)(hr_qp->rdb.virt_addr); - } else { - dev_warn(hr_dev->dev, "flush cqe is unsupported in userspace!\n"); - return; diff -Nru linux-4.19.87/debian/patches/bugfix/arm64/huawei-taishan/0028-RDMA-hns-Bugfix-for-the-scene-without-receiver-queue.patch linux-4.19.98/debian/patches/bugfix/arm64/huawei-taishan/0028-RDMA-hns-Bugfix-for-the-scene-without-receiver-queue.patch --- linux-4.19.87/debian/patches/bugfix/arm64/huawei-taishan/0028-RDMA-hns-Bugfix-for-the-scene-without-receiver-queue.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches/bugfix/arm64/huawei-taishan/0028-RDMA-hns-Bugfix-for-the-scene-without-receiver-queue.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ -From 0adf3f4bef9346c9cd3d1ecb7af4ee8f27d3b48a Mon Sep 17 00:00:00 2001 -From: Lijun Ou -Date: Wed, 12 Dec 2018 17:49:07 +0800 -Subject: [PATCH 28/31] RDMA/hns: Bugfix for the scene without receiver queue -Origin: https://git.kernel.org/linus/4d103905eb1e4f14cb62fcf962c9d35da7005dea - -In some application scenario, the user could not have receive queue when -run rdma write or read operation. - -Signed-off-by: Lijun Ou -Signed-off-by: Jason Gunthorpe ---- - drivers/infiniband/hw/hns/hns_roce_qp.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -Index: linux/drivers/infiniband/hw/hns/hns_roce_qp.c -=================================================================== ---- linux.orig/drivers/infiniband/hw/hns/hns_roce_qp.c -+++ linux/drivers/infiniband/hw/hns/hns_roce_qp.c -@@ -503,7 +503,8 @@ static int hns_roce_qp_has_sq(struct ib_ - static int hns_roce_qp_has_rq(struct ib_qp_init_attr *attr) - { - if (attr->qp_type == IB_QPT_XRC_INI || -- attr->qp_type == IB_QPT_XRC_TGT || attr->srq) -+ attr->qp_type == IB_QPT_XRC_TGT || attr->srq || -+ !attr->cap.max_recv_wr) - return 0; - - return 1; diff -Nru linux-4.19.87/debian/patches/bugfix/powerpc/powerpc-fix-mcpu-options-for-spe-only-compiler.patch linux-4.19.98/debian/patches/bugfix/powerpc/powerpc-fix-mcpu-options-for-spe-only-compiler.patch --- linux-4.19.87/debian/patches/bugfix/powerpc/powerpc-fix-mcpu-options-for-spe-only-compiler.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches/bugfix/powerpc/powerpc-fix-mcpu-options-for-spe-only-compiler.patch 2020-01-26 13:26:49.000000000 +0000 @@ -13,10 +13,8 @@ Signed-off-by: Ben Hutchings --- -Index: linux/arch/powerpc/Makefile -=================================================================== ---- linux.orig/arch/powerpc/Makefile -+++ linux/arch/powerpc/Makefile +--- a/arch/powerpc/Makefile ++++ b/arch/powerpc/Makefile @@ -12,7 +12,7 @@ # Rewritten by Cort Dougan and Paul Mackerras # @@ -26,15 +24,15 @@ # Set default 32 bits cross compilers for vdso and boot wrapper CROSS32_COMPILE ?= -@@ -148,6 +148,7 @@ CFLAGS-$(CONFIG_PPC64) += $(call cc-opti - CFLAGS-$(CONFIG_PPC32) := -ffixed-r2 $(MULTIPLEWORD) +@@ -155,6 +155,7 @@ + CFLAGS-$(CONFIG_PPC32) += $(call cc-option,-mno-readonly-in-sdata) +ifdef CONFIG_PPC64 ifdef CONFIG_PPC_BOOK3S_64 ifdef CONFIG_CPU_LITTLE_ENDIAN CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=power8 -@@ -159,6 +160,7 @@ endif +@@ -166,6 +167,7 @@ else CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64 endif diff -Nru linux-4.19.87/debian/patches/features/all/aufs4/aufs4-base.patch linux-4.19.98/debian/patches/features/all/aufs4/aufs4-base.patch --- linux-4.19.87/debian/patches/features/all/aufs4/aufs4-base.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches/features/all/aufs4/aufs4-base.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,26 +1,26 @@ From: J. R. Okajima -Date: Sat Sep 8 23:32:19 2018 +0900 -Subject: aufs4.x-rcN base patch -Origin: https://github.com/sfjro/aufs4-standalone/tree/ecea3973efed5223878e489d212dc39fee4dabb6 +Date: Tue Sep 3 14:14:09 2019 +0900 +Subject: aufs4.19.63+ base patch +Origin: https://github.com/sfjro/aufs4-standalone/tree/6c582cc629cbfb4fac5bfc7d20db128c7d201da6 Bug-Debian: https://bugs.debian.org/541828 -Patch headers added by debian/patches/features/all/aufs4/gen-patch +Patch headers added by debian/bin/genpatch-aufs SPDX-License-Identifier: GPL-2.0 -aufs4.x-rcN base patch +aufs4.19.63+ base patch -Index: linux/MAINTAINERS -=================================================================== ---- linux.orig/MAINTAINERS -+++ linux/MAINTAINERS +diff --git a/MAINTAINERS b/MAINTAINERS +index 11a59e82d92e..573d5b42b28b 100644 +--- a/MAINTAINERS ++++ b/MAINTAINERS @@ -2605,6 +2605,19 @@ F: include/linux/audit.h F: include/uapi/linux/audit.h F: kernel/audit* +AUFS (advanced multi layered unification filesystem) FILESYSTEM +M: "J. R. Okajima" -+L: linux-unionfs@vger.kernel.org +L: aufs-users@lists.sourceforge.net (members only) ++L: linux-unionfs@vger.kernel.org +W: http://aufs.sourceforge.net +T: git://github.com/sfjro/aufs4-linux.git +S: Supported @@ -33,11 +33,11 @@ AUXILIARY DISPLAY DRIVERS M: Miguel Ojeda Sandonis S: Maintained -Index: linux/drivers/block/loop.c -=================================================================== ---- linux.orig/drivers/block/loop.c -+++ linux/drivers/block/loop.c -@@ -739,6 +739,24 @@ out_err: +diff --git a/drivers/block/loop.c b/drivers/block/loop.c +index f1e63eb7cbca..b732df5f14f3 100644 +--- a/drivers/block/loop.c ++++ b/drivers/block/loop.c +@@ -739,6 +739,24 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev, return error; } @@ -62,10 +62,10 @@ /* loop sysfs attributes */ static ssize_t loop_attr_show(struct device *dev, char *page, -Index: linux/fs/dcache.c -=================================================================== ---- linux.orig/fs/dcache.c -+++ linux/fs/dcache.c +diff --git a/fs/dcache.c b/fs/dcache.c +index 6e0022326afe..3bd53094ac3d 100644 +--- a/fs/dcache.c ++++ b/fs/dcache.c @@ -1234,7 +1234,7 @@ enum d_walk_ret { * * The @enter() callbacks are called with d_lock held. @@ -75,10 +75,10 @@ enum d_walk_ret (*enter)(void *, struct dentry *)) { struct dentry *this_parent; -Index: linux/fs/fcntl.c -=================================================================== ---- linux.orig/fs/fcntl.c -+++ linux/fs/fcntl.c +diff --git a/fs/fcntl.c b/fs/fcntl.c +index 4137d96534a6..c91b3e3c4580 100644 +--- a/fs/fcntl.c ++++ b/fs/fcntl.c @@ -32,7 +32,7 @@ #define SETFL_MASK (O_APPEND | O_NONBLOCK | O_NDELAY | O_DIRECT | O_NOATIME) @@ -88,7 +88,7 @@ { struct inode * inode = file_inode(filp); int error = 0; -@@ -63,6 +63,8 @@ static int setfl(int fd, struct file * f +@@ -63,6 +63,8 @@ static int setfl(int fd, struct file * filp, unsigned long arg) if (filp->f_op->check_flags) error = filp->f_op->check_flags(arg); @@ -97,10 +97,10 @@ if (error) return error; -Index: linux/fs/inode.c -=================================================================== ---- linux.orig/fs/inode.c -+++ linux/fs/inode.c +diff --git a/fs/inode.c b/fs/inode.c +index 5c63693326bb..43046d7223e4 100644 +--- a/fs/inode.c ++++ b/fs/inode.c @@ -1657,7 +1657,7 @@ EXPORT_SYMBOL(generic_update_time); * This does the actual work of updating an inodes time or version. Must have * had called mnt_want_write() before calling this. @@ -110,11 +110,11 @@ { int (*update_time)(struct inode *, struct timespec64 *, int); -Index: linux/fs/namespace.c -=================================================================== ---- linux.orig/fs/namespace.c -+++ linux/fs/namespace.c -@@ -770,6 +770,12 @@ static inline int check_mnt(struct mount +diff --git a/fs/namespace.c b/fs/namespace.c +index 1fce41ba3535..fbd7edd49a2f 100644 +--- a/fs/namespace.c ++++ b/fs/namespace.c +@@ -770,6 +770,12 @@ static inline int check_mnt(struct mount *mnt) return mnt->mnt_ns == current->nsproxy->mnt_ns; } @@ -127,11 +127,11 @@ /* * vfsmount lock must be held for write */ -Index: linux/fs/read_write.c -=================================================================== ---- linux.orig/fs/read_write.c -+++ linux/fs/read_write.c -@@ -489,6 +489,28 @@ ssize_t __vfs_write(struct file *file, c +diff --git a/fs/read_write.c b/fs/read_write.c +index 85fd7a8ee29e..c1335b4f19c0 100644 +--- a/fs/read_write.c ++++ b/fs/read_write.c +@@ -489,6 +489,28 @@ ssize_t __vfs_write(struct file *file, const char __user *p, size_t count, return -EINVAL; } @@ -160,10 +160,10 @@ ssize_t __kernel_write(struct file *file, const void *buf, size_t count, loff_t *pos) { mm_segment_t old_fs; -Index: linux/fs/splice.c -=================================================================== ---- linux.orig/fs/splice.c -+++ linux/fs/splice.c +diff --git a/fs/splice.c b/fs/splice.c +index 485e409ef841..b2c2d320565b 100644 +--- a/fs/splice.c ++++ b/fs/splice.c @@ -838,8 +838,8 @@ EXPORT_SYMBOL(generic_splice_sendpage); /* * Attempt to initiate a splice from pipe to file. @@ -175,7 +175,7 @@ { ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int); -@@ -855,9 +855,9 @@ static long do_splice_from(struct pipe_i +@@ -855,9 +855,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, /* * Attempt to initiate a splice from a file to a pipe. */ @@ -188,10 +188,10 @@ { ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int); -Index: linux/fs/sync.c -=================================================================== ---- linux.orig/fs/sync.c -+++ linux/fs/sync.c +diff --git a/fs/sync.c b/fs/sync.c +index b54e0541ad89..28607828e96f 100644 +--- a/fs/sync.c ++++ b/fs/sync.c @@ -28,7 +28,7 @@ * wait == 1 case since in that case write_inode() functions do * sync_dirty_buffer() and thus effectively write one block at a time. @@ -201,11 +201,11 @@ { if (wait) sync_inodes_sb(sb); -Index: linux/include/linux/fs.h -=================================================================== ---- linux.orig/include/linux/fs.h -+++ linux/include/linux/fs.h -@@ -1295,6 +1295,7 @@ extern void fasync_free(struct fasync_st +diff --git a/include/linux/fs.h b/include/linux/fs.h +index 92420009b9bc..ecad33c40cae 100644 +--- a/include/linux/fs.h ++++ b/include/linux/fs.h +@@ -1295,6 +1295,7 @@ extern void fasync_free(struct fasync_struct *); /* can be called from interrupts */ extern void kill_fasync(struct fasync_struct **, int, int); @@ -221,7 +221,7 @@ int (*flock) (struct file *, int, struct file_lock *); ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int); ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int); -@@ -1830,6 +1832,12 @@ ssize_t rw_copy_check_uvector(int type, +@@ -1830,6 +1832,12 @@ ssize_t rw_copy_check_uvector(int type, const struct iovec __user * uvector, struct iovec *fast_pointer, struct iovec **ret_pointer); @@ -242,7 +242,7 @@ /* /sys/fs */ extern struct kobject *fs_kobj; -@@ -2542,6 +2551,7 @@ static inline bool sb_is_blkdev_sb(struc +@@ -2542,6 +2551,7 @@ static inline bool sb_is_blkdev_sb(struct super_block *sb) return false; } #endif @@ -250,11 +250,11 @@ extern int sync_filesystem(struct super_block *); extern const struct file_operations def_blk_fops; extern const struct file_operations def_chr_fops; -Index: linux/include/linux/lockdep.h -=================================================================== ---- linux.orig/include/linux/lockdep.h -+++ linux/include/linux/lockdep.h -@@ -313,6 +313,8 @@ static inline int lockdep_match_key(stru +diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h +index b0d0b51c4d85..f73ffaa0199e 100644 +--- a/include/linux/lockdep.h ++++ b/include/linux/lockdep.h +@@ -313,6 +313,8 @@ static inline int lockdep_match_key(struct lockdep_map *lock, return lock->key == key; } @@ -271,10 +271,10 @@ #define lockdep_is_held_type(l, r) (1) #define lockdep_assert_held(l) do { (void)(l); } while (0) -Index: linux/include/linux/mnt_namespace.h -=================================================================== ---- linux.orig/include/linux/mnt_namespace.h -+++ linux/include/linux/mnt_namespace.h +diff --git a/include/linux/mnt_namespace.h b/include/linux/mnt_namespace.h +index 35942084cd40..24f5fd1a789d 100644 +--- a/include/linux/mnt_namespace.h ++++ b/include/linux/mnt_namespace.h @@ -6,11 +6,14 @@ struct mnt_namespace; struct fs_struct; @@ -290,11 +290,11 @@ extern const struct file_operations proc_mounts_operations; extern const struct file_operations proc_mountinfo_operations; extern const struct file_operations proc_mountstats_operations; -Index: linux/include/linux/splice.h -=================================================================== ---- linux.orig/include/linux/splice.h -+++ linux/include/linux/splice.h -@@ -87,4 +87,10 @@ extern void splice_shrink_spd(struct spl +diff --git a/include/linux/splice.h b/include/linux/splice.h +index 74b4911ac16d..19789fbea567 100644 +--- a/include/linux/splice.h ++++ b/include/linux/splice.h +@@ -87,4 +87,10 @@ extern void splice_shrink_spd(struct splice_pipe_desc *); extern const struct pipe_buf_operations page_cache_pipe_buf_ops; extern const struct pipe_buf_operations default_pipe_buf_ops; @@ -305,11 +305,11 @@ + struct pipe_inode_info *pipe, size_t len, + unsigned int flags); #endif -Index: linux/kernel/locking/lockdep.c -=================================================================== ---- linux.orig/kernel/locking/lockdep.c -+++ linux/kernel/locking/lockdep.c -@@ -140,7 +140,7 @@ static struct lock_list list_entries[MAX +diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c +index e810e8cb17e1..d0c9931e6531 100644 +--- a/kernel/locking/lockdep.c ++++ b/kernel/locking/lockdep.c +@@ -140,7 +140,7 @@ static struct lock_list list_entries[MAX_LOCKDEP_ENTRIES]; unsigned long nr_lock_classes; static struct lock_class lock_classes[MAX_LOCKDEP_KEYS]; @@ -318,7 +318,7 @@ { if (!hlock->class_idx) { /* -@@ -151,6 +151,7 @@ static inline struct lock_class *hlock_c +@@ -151,6 +151,7 @@ static inline struct lock_class *hlock_class(struct held_lock *hlock) } return lock_classes + hlock->class_idx - 1; } diff -Nru linux-4.19.87/debian/patches/features/all/aufs4/aufs4-mmap.patch linux-4.19.98/debian/patches/features/all/aufs4/aufs4-mmap.patch --- linux-4.19.87/debian/patches/features/all/aufs4/aufs4-mmap.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches/features/all/aufs4/aufs4-mmap.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,19 +1,19 @@ From: J. R. Okajima -Date: Sat Sep 8 23:32:19 2018 +0900 -Subject: aufs4.x-rcN mmap patch -Origin: https://github.com/sfjro/aufs4-standalone/tree/ecea3973efed5223878e489d212dc39fee4dabb6 +Date: Tue Sep 3 14:14:09 2019 +0900 +Subject: aufs4.19.63+ mmap patch +Origin: https://github.com/sfjro/aufs4-standalone/tree/6c582cc629cbfb4fac5bfc7d20db128c7d201da6 Bug-Debian: https://bugs.debian.org/541828 -Patch headers added by debian/patches/features/all/aufs4/gen-patch +Patch headers added by debian/bin/genpatch-aufs SPDX-License-Identifier: GPL-2.0 -aufs4.x-rcN mmap patch +aufs4.19.63+ mmap patch -Index: linux/fs/proc/base.c -=================================================================== ---- linux.orig/fs/proc/base.c -+++ linux/fs/proc/base.c -@@ -2036,7 +2036,7 @@ static int map_files_get_link(struct den +diff --git a/fs/proc/base.c b/fs/proc/base.c +index a7fbda72afeb..9c8439a01c5b 100644 +--- a/fs/proc/base.c ++++ b/fs/proc/base.c +@@ -2018,7 +2018,7 @@ static int map_files_get_link(struct dentry *dentry, struct path *path) rc = -ENOENT; vma = find_exact_vma(mm, vm_start, vm_end); if (vma && vma->vm_file) { @@ -22,11 +22,11 @@ path_get(path); rc = 0; } -Index: linux/fs/proc/nommu.c -=================================================================== ---- linux.orig/fs/proc/nommu.c -+++ linux/fs/proc/nommu.c -@@ -45,7 +45,10 @@ static int nommu_region_show(struct seq_ +diff --git a/fs/proc/nommu.c b/fs/proc/nommu.c +index 3b63be64e436..fb9913bf3d10 100644 +--- a/fs/proc/nommu.c ++++ b/fs/proc/nommu.c +@@ -45,7 +45,10 @@ static int nommu_region_show(struct seq_file *m, struct vm_region *region) file = region->vm_file; if (file) { @@ -38,11 +38,11 @@ dev = inode->i_sb->s_dev; ino = inode->i_ino; } -Index: linux/fs/proc/task_mmu.c -=================================================================== ---- linux.orig/fs/proc/task_mmu.c -+++ linux/fs/proc/task_mmu.c -@@ -309,7 +309,10 @@ show_map_vma(struct seq_file *m, struct +diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c +index 71aba44c4fa6..87cdce66a3f4 100644 +--- a/fs/proc/task_mmu.c ++++ b/fs/proc/task_mmu.c +@@ -309,7 +309,10 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma) const char *name = NULL; if (file) { @@ -54,7 +54,7 @@ dev = inode->i_sb->s_dev; ino = inode->i_ino; pgoff = ((loff_t)vma->vm_pgoff) << PAGE_SHIFT; -@@ -1766,7 +1769,7 @@ static int show_numa_map(struct seq_file +@@ -1766,7 +1769,7 @@ static int show_numa_map(struct seq_file *m, void *v) struct proc_maps_private *proc_priv = &numa_priv->proc_maps; struct vm_area_struct *vma = v; struct numa_maps *md = &numa_priv->md; @@ -63,11 +63,11 @@ struct mm_struct *mm = vma->vm_mm; struct mm_walk walk = { .hugetlb_entry = gather_hugetlb_stats, -Index: linux/fs/proc/task_nommu.c -=================================================================== ---- linux.orig/fs/proc/task_nommu.c -+++ linux/fs/proc/task_nommu.c -@@ -155,7 +155,10 @@ static int nommu_vma_show(struct seq_fil +diff --git a/fs/proc/task_nommu.c b/fs/proc/task_nommu.c +index 5161894a6d62..b6d13cce45f3 100644 +--- a/fs/proc/task_nommu.c ++++ b/fs/proc/task_nommu.c +@@ -155,7 +155,10 @@ static int nommu_vma_show(struct seq_file *m, struct vm_area_struct *vma) file = vma->vm_file; if (file) { @@ -79,11 +79,11 @@ dev = inode->i_sb->s_dev; ino = inode->i_ino; pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT; -Index: linux/include/linux/mm.h -=================================================================== ---- linux.orig/include/linux/mm.h -+++ linux/include/linux/mm.h -@@ -1453,6 +1453,28 @@ static inline void unmap_shared_mapping_ +diff --git a/include/linux/mm.h b/include/linux/mm.h +index bdec425c8e14..88cb95dc57dd 100644 +--- a/include/linux/mm.h ++++ b/include/linux/mm.h +@@ -1453,6 +1453,28 @@ static inline void unmap_shared_mapping_range(struct address_space *mapping, unmap_mapping_range(mapping, holebegin, holelen, 0); } @@ -112,10 +112,10 @@ extern int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, int len, unsigned int gup_flags); extern int access_remote_vm(struct mm_struct *mm, unsigned long addr, -Index: linux/include/linux/mm_types.h -=================================================================== ---- linux.orig/include/linux/mm_types.h -+++ linux/include/linux/mm_types.h +diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h +index 5ed8f6292a53..01229754077f 100644 +--- a/include/linux/mm_types.h ++++ b/include/linux/mm_types.h @@ -239,6 +239,7 @@ struct vm_region { unsigned long vm_top; /* region allocated to here */ unsigned long vm_pgoff; /* the offset in vm_file corresponding to vm_start */ @@ -132,11 +132,11 @@ void * vm_private_data; /* was vm_pte (shared mem) */ atomic_long_t swap_readahead_info; -Index: linux/kernel/fork.c -=================================================================== ---- linux.orig/kernel/fork.c -+++ linux/kernel/fork.c -@@ -505,7 +505,7 @@ static __latent_entropy int dup_mmap(str +diff --git a/kernel/fork.c b/kernel/fork.c +index 69874db3fba8..757620e64e7b 100644 +--- a/kernel/fork.c ++++ b/kernel/fork.c +@@ -505,7 +505,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm, struct inode *inode = file_inode(file); struct address_space *mapping = file->f_mapping; @@ -145,11 +145,11 @@ if (tmp->vm_flags & VM_DENYWRITE) atomic_dec(&inode->i_writecount); i_mmap_lock_write(mapping); -Index: linux/mm/Makefile -=================================================================== ---- linux.orig/mm/Makefile -+++ linux/mm/Makefile -@@ -39,7 +39,7 @@ obj-y := filemap.o mempool.o oom_kill. +diff --git a/mm/Makefile b/mm/Makefile +index 26ef77a3883b..b2869af1ef08 100644 +--- a/mm/Makefile ++++ b/mm/Makefile +@@ -39,7 +39,7 @@ obj-y := filemap.o mempool.o oom_kill.o fadvise.o \ mm_init.o mmu_context.o percpu.o slab_common.o \ compaction.o vmacache.o \ interval_tree.o list_lru.o workingset.o \ @@ -158,11 +158,11 @@ obj-y += init-mm.o -Index: linux/mm/filemap.c -=================================================================== ---- linux.orig/mm/filemap.c -+++ linux/mm/filemap.c -@@ -2722,7 +2722,7 @@ vm_fault_t filemap_page_mkwrite(struct v +diff --git a/mm/filemap.c b/mm/filemap.c +index 287f3fa02e5e..f96b6dd07b0b 100644 +--- a/mm/filemap.c ++++ b/mm/filemap.c +@@ -2722,7 +2722,7 @@ vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf) vm_fault_t ret = VM_FAULT_LOCKED; sb_start_pagefault(inode->i_sb); @@ -171,11 +171,11 @@ lock_page(page); if (page->mapping != inode->i_mapping) { unlock_page(page); -Index: linux/mm/mmap.c -=================================================================== ---- linux.orig/mm/mmap.c -+++ linux/mm/mmap.c -@@ -181,7 +181,7 @@ static struct vm_area_struct *remove_vma +diff --git a/mm/mmap.c b/mm/mmap.c +index 1480880ff814..03ae15dfe614 100644 +--- a/mm/mmap.c ++++ b/mm/mmap.c +@@ -181,7 +181,7 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma) if (vma->vm_ops && vma->vm_ops->close) vma->vm_ops->close(vma); if (vma->vm_file) @@ -184,7 +184,7 @@ mpol_put(vma_policy(vma)); vm_area_free(vma); return next; -@@ -906,7 +906,7 @@ again: +@@ -906,7 +906,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, if (remove_next) { if (file) { uprobe_munmap(next, next->vm_start, next->vm_end); @@ -193,7 +193,7 @@ } if (next->anon_vma) anon_vma_merge(vma, next); -@@ -1822,8 +1822,8 @@ out: +@@ -1822,8 +1822,8 @@ unsigned long mmap_region(struct file *file, unsigned long addr, return addr; unmap_and_free_vma: @@ -203,7 +203,7 @@ /* Undo any partial mapping done by a device driver. */ unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end); -@@ -2645,7 +2645,7 @@ int __split_vma(struct mm_struct *mm, st +@@ -2645,7 +2645,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma, goto out_free_mpol; if (new->vm_file) @@ -212,7 +212,7 @@ if (new->vm_ops && new->vm_ops->open) new->vm_ops->open(new); -@@ -2664,7 +2664,7 @@ int __split_vma(struct mm_struct *mm, st +@@ -2664,7 +2664,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma, if (new->vm_ops && new->vm_ops->close) new->vm_ops->close(new); if (new->vm_file) @@ -221,7 +221,7 @@ unlink_anon_vmas(new); out_free_mpol: mpol_put(vma_policy(new)); -@@ -2826,7 +2826,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsign +@@ -2826,7 +2826,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size, struct vm_area_struct *vma; unsigned long populate = 0; unsigned long ret = -EINVAL; @@ -230,7 +230,7 @@ pr_warn_once("%s (%d) uses deprecated remap_file_pages() syscall. See Documentation/vm/remap_file_pages.rst.\n", current->comm, current->pid); -@@ -2901,10 +2901,27 @@ SYSCALL_DEFINE5(remap_file_pages, unsign +@@ -2901,10 +2901,27 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size, } } @@ -259,7 +259,7 @@ out: up_write(&mm->mmap_sem); if (populate) -@@ -3210,7 +3227,7 @@ struct vm_area_struct *copy_vma(struct v +@@ -3210,7 +3227,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, if (anon_vma_clone(new_vma, vma)) goto out_free_mempol; if (new_vma->vm_file) @@ -268,11 +268,11 @@ if (new_vma->vm_ops && new_vma->vm_ops->open) new_vma->vm_ops->open(new_vma); vma_link(mm, new_vma, prev, rb_link, rb_parent); -Index: linux/mm/nommu.c -=================================================================== ---- linux.orig/mm/nommu.c -+++ linux/mm/nommu.c -@@ -625,7 +625,7 @@ static void __put_nommu_region(struct vm +diff --git a/mm/nommu.c b/mm/nommu.c +index 1d63ecfc98c5..15eafddeb944 100644 +--- a/mm/nommu.c ++++ b/mm/nommu.c +@@ -625,7 +625,7 @@ static void __put_nommu_region(struct vm_region *region) up_write(&nommu_region_sem); if (region->vm_file) @@ -281,7 +281,7 @@ /* IO memory and memory shared directly out of the pagecache * from ramfs/tmpfs mustn't be released here */ -@@ -763,7 +763,7 @@ static void delete_vma(struct mm_struct +@@ -763,7 +763,7 @@ static void delete_vma(struct mm_struct *mm, struct vm_area_struct *vma) if (vma->vm_ops && vma->vm_ops->close) vma->vm_ops->close(vma); if (vma->vm_file) @@ -299,7 +299,7 @@ kmem_cache_free(vm_region_jar, region); region = pregion; result = start; -@@ -1361,7 +1361,7 @@ error_just_free: +@@ -1361,10 +1361,10 @@ unsigned long do_mmap(struct file *file, up_write(&nommu_region_sem); error: if (region->vm_file) @@ -307,11 +307,16 @@ + vmr_fput(region); kmem_cache_free(vm_region_jar, region); if (vma->vm_file) - fput(vma->vm_file); -Index: linux/mm/prfile.c -=================================================================== +- fput(vma->vm_file); ++ vma_fput(vma); + vm_area_free(vma); + return ret; + +diff --git a/mm/prfile.c b/mm/prfile.c +new file mode 100644 +index 000000000000..024cdcfae1b1 --- /dev/null -+++ linux/mm/prfile.c ++++ b/mm/prfile.c @@ -0,0 +1,86 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -321,7 +326,7 @@ + * + * See Documentation/filesystems/aufs/design/06mmap.txt + * -+ * Copyright (c) 2014-2018 Junjro R. Okajima ++ * Copyright (c) 2014-2019 Junjro R. Okajima + * Copyright (c) 2014 Ian Campbell + */ + diff -Nru linux-4.19.87/debian/patches/features/all/aufs4/aufs4-standalone.patch linux-4.19.98/debian/patches/features/all/aufs4/aufs4-standalone.patch --- linux-4.19.87/debian/patches/features/all/aufs4/aufs4-standalone.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches/features/all/aufs4/aufs4-standalone.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,19 +1,19 @@ From: J. R. Okajima -Date: Sat Sep 8 23:32:19 2018 +0900 -Subject: aufs4.x-rcN standalone patch -Origin: https://github.com/sfjro/aufs4-standalone/tree/ecea3973efed5223878e489d212dc39fee4dabb6 +Date: Tue Sep 3 14:14:09 2019 +0900 +Subject: aufs4.19.63+ standalone patch +Origin: https://github.com/sfjro/aufs4-standalone/tree/6c582cc629cbfb4fac5bfc7d20db128c7d201da6 Bug-Debian: https://bugs.debian.org/541828 -Patch headers added by debian/patches/features/all/aufs4/gen-patch +Patch headers added by debian/bin/genpatch-aufs SPDX-License-Identifier: GPL-2.0 -aufs4.x-rcN standalone patch +aufs4.19.63+ standalone patch -Index: linux/fs/dcache.c -=================================================================== ---- linux.orig/fs/dcache.c -+++ linux/fs/dcache.c -@@ -1339,6 +1339,7 @@ rename_retry: +diff --git a/fs/dcache.c b/fs/dcache.c +index 3bd53094ac3d..d6b2f7a994f4 100644 +--- a/fs/dcache.c ++++ b/fs/dcache.c +@@ -1339,6 +1339,7 @@ void d_walk(struct dentry *parent, void *data, seq = 1; goto again; } @@ -21,7 +21,7 @@ struct check_mount { struct vfsmount *mnt; -@@ -2835,6 +2836,7 @@ void d_exchange(struct dentry *dentry1, +@@ -2835,6 +2836,7 @@ void d_exchange(struct dentry *dentry1, struct dentry *dentry2) write_sequnlock(&rename_lock); } @@ -29,11 +29,11 @@ /** * d_ancestor - search for an ancestor -Index: linux/fs/exec.c -=================================================================== ---- linux.orig/fs/exec.c -+++ linux/fs/exec.c -@@ -109,6 +109,7 @@ bool path_noexec(const struct path *path +diff --git a/fs/exec.c b/fs/exec.c +index 433b1257694a..504c56308700 100644 +--- a/fs/exec.c ++++ b/fs/exec.c +@@ -109,6 +109,7 @@ bool path_noexec(const struct path *path) return (path->mnt->mnt_flags & MNT_NOEXEC) || (path->mnt->mnt_sb->s_iflags & SB_I_NOEXEC); } @@ -41,11 +41,11 @@ #ifdef CONFIG_USELIB /* -Index: linux/fs/fcntl.c -=================================================================== ---- linux.orig/fs/fcntl.c -+++ linux/fs/fcntl.c -@@ -85,6 +85,7 @@ int setfl(int fd, struct file * filp, un +diff --git a/fs/fcntl.c b/fs/fcntl.c +index c91b3e3c4580..77513097f04c 100644 +--- a/fs/fcntl.c ++++ b/fs/fcntl.c +@@ -85,6 +85,7 @@ int setfl(int fd, struct file * filp, unsigned long arg) out: return error; } @@ -53,11 +53,11 @@ static void f_modown(struct file *filp, struct pid *pid, enum pid_type type, int force) -Index: linux/fs/file_table.c -=================================================================== ---- linux.orig/fs/file_table.c -+++ linux/fs/file_table.c -@@ -161,6 +161,7 @@ over: +diff --git a/fs/file_table.c b/fs/file_table.c +index e49af4caf15d..569020fd1fb3 100644 +--- a/fs/file_table.c ++++ b/fs/file_table.c +@@ -161,6 +161,7 @@ struct file *alloc_empty_file(int flags, const struct cred *cred) } return ERR_PTR(-ENFILE); } @@ -81,11 +81,11 @@ void __init files_init(void) { -Index: linux/fs/inode.c -=================================================================== ---- linux.orig/fs/inode.c -+++ linux/fs/inode.c -@@ -1666,6 +1666,7 @@ int update_time(struct inode *inode, str +diff --git a/fs/inode.c b/fs/inode.c +index 43046d7223e4..36146c757aa2 100644 +--- a/fs/inode.c ++++ b/fs/inode.c +@@ -1666,6 +1666,7 @@ int update_time(struct inode *inode, struct timespec64 *time, int flags) return update_time(inode, time, flags); } @@ -93,11 +93,11 @@ /** * touch_atime - update the access time -Index: linux/fs/namespace.c -=================================================================== ---- linux.orig/fs/namespace.c -+++ linux/fs/namespace.c -@@ -437,6 +437,7 @@ void __mnt_drop_write(struct vfsmount *m +diff --git a/fs/namespace.c b/fs/namespace.c +index fbd7edd49a2f..d6eca814d9fc 100644 +--- a/fs/namespace.c ++++ b/fs/namespace.c +@@ -437,6 +437,7 @@ void __mnt_drop_write(struct vfsmount *mnt) mnt_dec_writers(real_mount(mnt)); preempt_enable(); } @@ -105,7 +105,7 @@ /** * mnt_drop_write - give up write access to a mount -@@ -775,6 +776,7 @@ int is_current_mnt_ns(struct vfsmount *m +@@ -775,6 +776,7 @@ int is_current_mnt_ns(struct vfsmount *mnt) { return check_mnt(real_mount(mnt)); } @@ -113,7 +113,7 @@ /* * vfsmount lock must be held for write -@@ -1844,6 +1846,7 @@ int iterate_mounts(int (*f)(struct vfsmo +@@ -1844,6 +1846,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg, } return 0; } @@ -121,19 +121,11 @@ static void cleanup_group_ids(struct mount *mnt, struct mount *end) { -Index: linux/fs/notify/group.c -=================================================================== ---- linux.orig/fs/notify/group.c -+++ linux/fs/notify/group.c -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - - #include - #include "fsnotify.h" -@@ -112,6 +113,7 @@ void fsnotify_get_group(struct fsnotify_ +diff --git a/fs/notify/group.c b/fs/notify/group.c +index c03b83662876..94d210ca384a 100644 +--- a/fs/notify/group.c ++++ b/fs/notify/group.c +@@ -112,6 +112,7 @@ void fsnotify_get_group(struct fsnotify_group *group) { refcount_inc(&group->refcnt); } @@ -141,7 +133,7 @@ /* * Drop a reference to a group. Free it if it's through. -@@ -121,6 +123,7 @@ void fsnotify_put_group(struct fsnotify_ +@@ -121,6 +122,7 @@ void fsnotify_put_group(struct fsnotify_group *group) if (refcount_dec_and_test(&group->refcnt)) fsnotify_final_destroy_group(group); } @@ -149,7 +141,7 @@ /* * Create a new fsnotify_group and hold a reference for the group returned. -@@ -150,6 +153,7 @@ struct fsnotify_group *fsnotify_alloc_gr +@@ -150,6 +152,7 @@ struct fsnotify_group *fsnotify_alloc_group(const struct fsnotify_ops *ops) return group; } @@ -157,11 +149,11 @@ int fsnotify_fasync(int fd, struct file *file, int on) { -Index: linux/fs/notify/mark.c -=================================================================== ---- linux.orig/fs/notify/mark.c -+++ linux/fs/notify/mark.c -@@ -285,6 +285,7 @@ void fsnotify_put_mark(struct fsnotify_m +diff --git a/fs/notify/mark.c b/fs/notify/mark.c +index 09535f6423fc..e9401ec71fc7 100644 +--- a/fs/notify/mark.c ++++ b/fs/notify/mark.c +@@ -285,6 +285,7 @@ void fsnotify_put_mark(struct fsnotify_mark *mark) queue_delayed_work(system_unbound_wq, &reaper_work, FSNOTIFY_REAPER_DELAY); } @@ -169,7 +161,7 @@ /* * Get mark reference when we found the mark via lockless traversal of object -@@ -439,6 +440,7 @@ void fsnotify_destroy_mark(struct fsnoti +@@ -439,6 +440,7 @@ void fsnotify_destroy_mark(struct fsnotify_mark *mark, mutex_unlock(&group->mark_mutex); fsnotify_free_mark(mark); } @@ -177,7 +169,7 @@ /* * Sorting function for lists of fsnotify marks. -@@ -654,6 +656,7 @@ int fsnotify_add_mark(struct fsnotify_ma +@@ -654,6 +656,7 @@ int fsnotify_add_mark(struct fsnotify_mark *mark, fsnotify_connp_t *connp, mutex_unlock(&group->mark_mutex); return ret; } @@ -185,7 +177,7 @@ /* * Given a list of marks, find the mark associated with given group. If found -@@ -777,6 +780,7 @@ void fsnotify_init_mark(struct fsnotify_ +@@ -777,6 +780,7 @@ void fsnotify_init_mark(struct fsnotify_mark *mark, fsnotify_get_group(group); mark->group = group; } @@ -193,11 +185,11 @@ /* * Destroy all marks in destroy_list, waits for SRCU period to finish before -Index: linux/fs/open.c -=================================================================== ---- linux.orig/fs/open.c -+++ linux/fs/open.c -@@ -64,6 +64,7 @@ int do_truncate(struct dentry *dentry, l +diff --git a/fs/open.c b/fs/open.c +index 878478745924..ab755f585f29 100644 +--- a/fs/open.c ++++ b/fs/open.c +@@ -64,6 +64,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs, inode_unlock(dentry->d_inode); return ret; } @@ -205,11 +197,11 @@ long vfs_truncate(const struct path *path, loff_t length) { -Index: linux/fs/read_write.c -=================================================================== ---- linux.orig/fs/read_write.c -+++ linux/fs/read_write.c -@@ -459,6 +459,7 @@ ssize_t vfs_read(struct file *file, char +diff --git a/fs/read_write.c b/fs/read_write.c +index c1335b4f19c0..6ed1f2ddcb03 100644 +--- a/fs/read_write.c ++++ b/fs/read_write.c +@@ -459,6 +459,7 @@ ssize_t vfs_read(struct file *file, char __user *buf, size_t count, loff_t *pos) return ret; } @@ -225,7 +217,7 @@ vfs_writef_t vfs_writef(struct file *file) { -@@ -510,6 +512,7 @@ vfs_writef_t vfs_writef(struct file *fil +@@ -510,6 +512,7 @@ vfs_writef_t vfs_writef(struct file *file) return new_sync_write; return ERR_PTR(-ENOSYS); } @@ -233,7 +225,7 @@ ssize_t __kernel_write(struct file *file, const void *buf, size_t count, loff_t *pos) { -@@ -579,6 +582,7 @@ ssize_t vfs_write(struct file *file, con +@@ -579,6 +582,7 @@ ssize_t vfs_write(struct file *file, const char __user *buf, size_t count, loff_ return ret; } @@ -241,11 +233,11 @@ static inline loff_t file_pos_read(struct file *file) { -Index: linux/fs/splice.c -=================================================================== ---- linux.orig/fs/splice.c -+++ linux/fs/splice.c -@@ -851,6 +851,7 @@ long do_splice_from(struct pipe_inode_in +diff --git a/fs/splice.c b/fs/splice.c +index b2c2d320565b..8250f2366329 100644 +--- a/fs/splice.c ++++ b/fs/splice.c +@@ -851,6 +851,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out, return splice_write(pipe, out, ppos, len, flags); } @@ -253,7 +245,7 @@ /* * Attempt to initiate a splice from a file to a pipe. -@@ -880,6 +881,7 @@ long do_splice_to(struct file *in, loff_ +@@ -880,6 +881,7 @@ long do_splice_to(struct file *in, loff_t *ppos, return splice_read(in, ppos, pipe, len, flags); } @@ -261,11 +253,11 @@ /** * splice_direct_to_actor - splices data directly between two non-pipes -Index: linux/fs/sync.c -=================================================================== ---- linux.orig/fs/sync.c -+++ linux/fs/sync.c -@@ -39,6 +39,7 @@ int __sync_filesystem(struct super_block +diff --git a/fs/sync.c b/fs/sync.c +index 28607828e96f..ffd7ea43831e 100644 +--- a/fs/sync.c ++++ b/fs/sync.c +@@ -39,6 +39,7 @@ int __sync_filesystem(struct super_block *sb, int wait) sb->s_op->sync_fs(sb, wait); return __sync_blockdev(sb->s_bdev, wait); } @@ -273,11 +265,11 @@ /* * Write out and wait upon all dirty data associated with this -Index: linux/fs/xattr.c -=================================================================== ---- linux.orig/fs/xattr.c -+++ linux/fs/xattr.c -@@ -295,6 +295,7 @@ vfs_getxattr_alloc(struct dentry *dentry +diff --git a/fs/xattr.c b/fs/xattr.c +index 0d6a6a4af861..7ce4701b7289 100644 +--- a/fs/xattr.c ++++ b/fs/xattr.c +@@ -295,6 +295,7 @@ vfs_getxattr_alloc(struct dentry *dentry, const char *name, char **xattr_value, *xattr_value = value; return error; } @@ -285,11 +277,11 @@ ssize_t __vfs_getxattr(struct dentry *dentry, struct inode *inode, const char *name, -Index: linux/kernel/locking/lockdep.c -=================================================================== ---- linux.orig/kernel/locking/lockdep.c -+++ linux/kernel/locking/lockdep.c -@@ -151,6 +151,7 @@ inline struct lock_class *lockdep_hlock_ +diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c +index d0c9931e6531..0e5d9706723c 100644 +--- a/kernel/locking/lockdep.c ++++ b/kernel/locking/lockdep.c +@@ -151,6 +151,7 @@ inline struct lock_class *lockdep_hlock_class(struct held_lock *hlock) } return lock_classes + hlock->class_idx - 1; } @@ -297,56 +289,29 @@ #define hlock_class(hlock) lockdep_hlock_class(hlock) #ifdef CONFIG_LOCK_STAT -Index: linux/kernel/task_work.c -=================================================================== ---- linux.orig/kernel/task_work.c -+++ linux/kernel/task_work.c +diff --git a/kernel/task_work.c b/kernel/task_work.c +index 0fef395662a6..83fb1ecfc33d 100644 +--- a/kernel/task_work.c ++++ b/kernel/task_work.c @@ -116,3 +116,4 @@ void task_work_run(void) } while (work); } } +EXPORT_SYMBOL_GPL(task_work_run); -Index: linux/security/commoncap.c -=================================================================== ---- linux.orig/security/commoncap.c -+++ linux/security/commoncap.c -@@ -1336,12 +1336,14 @@ int cap_mmap_addr(unsigned long addr) - } - return ret; - } -+EXPORT_SYMBOL_GPL(cap_mmap_addr); - - int cap_mmap_file(struct file *file, unsigned long reqprot, - unsigned long prot, unsigned long flags) - { - return 0; - } -+EXPORT_SYMBOL_GPL(cap_mmap_file); - - #ifdef CONFIG_SECURITY - -Index: linux/security/device_cgroup.c -=================================================================== ---- linux.orig/security/device_cgroup.c -+++ linux/security/device_cgroup.c -@@ -8,6 +8,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -824,3 +825,4 @@ int __devcgroup_check_permission(short t +diff --git a/security/device_cgroup.c b/security/device_cgroup.c +index dc28914fa72e..c2ddfea2b280 100644 +--- a/security/device_cgroup.c ++++ b/security/device_cgroup.c +@@ -824,3 +824,4 @@ int __devcgroup_check_permission(short type, u32 major, u32 minor, return 0; } +EXPORT_SYMBOL_GPL(__devcgroup_check_permission); -Index: linux/security/security.c -=================================================================== ---- linux.orig/security/security.c -+++ linux/security/security.c -@@ -546,6 +546,7 @@ int security_path_rmdir(const struct pat +diff --git a/security/security.c b/security/security.c +index 5ce2448f3a45..3997af3462bc 100644 +--- a/security/security.c ++++ b/security/security.c +@@ -542,6 +542,7 @@ int security_path_rmdir(const struct path *dir, struct dentry *dentry) return 0; return call_int_hook(path_rmdir, 0, dir, dentry); } @@ -354,7 +319,7 @@ int security_path_unlink(const struct path *dir, struct dentry *dentry) { -@@ -562,6 +563,7 @@ int security_path_symlink(const struct p +@@ -558,6 +559,7 @@ int security_path_symlink(const struct path *dir, struct dentry *dentry, return 0; return call_int_hook(path_symlink, 0, dir, dentry, old_name); } @@ -362,7 +327,7 @@ int security_path_link(struct dentry *old_dentry, const struct path *new_dir, struct dentry *new_dentry) -@@ -570,6 +572,7 @@ int security_path_link(struct dentry *ol +@@ -566,6 +568,7 @@ int security_path_link(struct dentry *old_dentry, const struct path *new_dir, return 0; return call_int_hook(path_link, 0, old_dentry, new_dir, new_dentry); } @@ -370,7 +335,7 @@ int security_path_rename(const struct path *old_dir, struct dentry *old_dentry, const struct path *new_dir, struct dentry *new_dentry, -@@ -597,6 +600,7 @@ int security_path_truncate(const struct +@@ -593,6 +596,7 @@ int security_path_truncate(const struct path *path) return 0; return call_int_hook(path_truncate, 0, path); } @@ -378,7 +343,7 @@ int security_path_chmod(const struct path *path, umode_t mode) { -@@ -604,6 +608,7 @@ int security_path_chmod(const struct pat +@@ -600,6 +604,7 @@ int security_path_chmod(const struct path *path, umode_t mode) return 0; return call_int_hook(path_chmod, 0, path, mode); } @@ -386,7 +351,7 @@ int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid) { -@@ -611,6 +616,7 @@ int security_path_chown(const struct pat +@@ -607,6 +612,7 @@ int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid) return 0; return call_int_hook(path_chown, 0, path, uid, gid); } @@ -394,15 +359,7 @@ int security_path_chroot(const struct path *path) { -@@ -696,6 +702,7 @@ int security_inode_readlink(struct dentr - return 0; - return call_int_hook(inode_readlink, 0, dentry); - } -+EXPORT_SYMBOL_GPL(security_inode_readlink); - - int security_inode_follow_link(struct dentry *dentry, struct inode *inode, - bool rcu) -@@ -711,6 +718,7 @@ int security_inode_permission(struct ino +@@ -707,6 +713,7 @@ int security_inode_permission(struct inode *inode, int mask) return 0; return call_int_hook(inode_permission, 0, inode, mask); } @@ -410,7 +367,7 @@ int security_inode_setattr(struct dentry *dentry, struct iattr *attr) { -@@ -882,6 +890,7 @@ int security_file_permission(struct file +@@ -878,6 +885,7 @@ int security_file_permission(struct file *file, int mask) return fsnotify_perm(file, mask); } @@ -418,7 +375,7 @@ int security_file_alloc(struct file *file) { -@@ -941,6 +950,7 @@ int security_mmap_file(struct file *file +@@ -937,6 +945,7 @@ int security_mmap_file(struct file *file, unsigned long prot, return ret; return ima_file_mmap(file, prot); } diff -Nru linux-4.19.87/debian/patches/series linux-4.19.98/debian/patches/series --- linux-4.19.87/debian/patches/series 2019-12-01 16:22:15.000000000 +0000 +++ linux-4.19.98/debian/patches/series 2020-01-26 13:26:49.000000000 +0000 @@ -282,8 +282,6 @@ bugfix/arm64/huawei-taishan/0024-net-hns3-fix-a-bug-caused-by-udelay.patch bugfix/arm64/huawei-taishan/0025-net-hns3-remove-redundant-variable-initialization.patch bugfix/arm64/huawei-taishan/0026-net-hns3-call-hns3_nic_net_open-while-doing-HNAE3_UP.patch -bugfix/arm64/huawei-taishan/0027-RDMA-hns-Fix-the-bug-with-updating-rq-head-pointer-w.patch -bugfix/arm64/huawei-taishan/0028-RDMA-hns-Bugfix-for-the-scene-without-receiver-queue.patch bugfix/arm64/huawei-taishan/0029-RDMA-hns-Add-constraint-on-the-setting-of-local-ACK-.patch bugfix/arm64/huawei-taishan/0030-RDMA-hns-Modify-the-pbl-ba-page-size-for-hip08.patch bugfix/arm64/huawei-taishan/0031-RDMA-hns-RDMA-hns-Assign-rq-head-pointer-when-enable.patch @@ -303,5 +301,11 @@ # Security fixes debian/i386-686-pae-pci-set-pci-nobios-by-default.patch debian/ntfs-mark-it-as-broken.patch +bugfix/all/libertas-fix-two-buffer-overflows-at-parsing-bss-descriptor.patch +bugfix/all/wimax-i2400-fix-memory-leak.patch +bugfix/all/wimax-i2400-fix-memory-leak-in-i2400m_op_rfkill_sw_toggle.patch + +# Backported change to provide boot-time entropy +bugfix/all/random-try-to-actively-add-entropy-rather-than-passi.patch # ABI maintenance diff -Nru linux-4.19.87/debian/patches-rt/0001-ARM-at91-add-TCB-registers-definitions.patch linux-4.19.98/debian/patches-rt/0001-ARM-at91-add-TCB-registers-definitions.patch --- linux-4.19.87/debian/patches-rt/0001-ARM-at91-add-TCB-registers-definitions.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0001-ARM-at91-add-TCB-registers-definitions.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From b08620f77bc1fbffba40e033f492a241bc2c62d6 Mon Sep 17 00:00:00 2001 From: Alexandre Belloni Date: Thu, 13 Sep 2018 13:30:18 +0200 Subject: [PATCH 001/290] ARM: at91: add TCB registers definitions -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3b15d99032dfca622e695f10a9934c16fa8b05a0 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Add registers and bits definitions for the timer counter blocks found on Atmel ARM SoCs. @@ -204,3 +205,6 @@ +}; + +#endif /* __SOC_ATMEL_TCB_H */ +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0002-clocksource-drivers-Add-a-new-driver-for-the-Atmel-A.patch linux-4.19.98/debian/patches-rt/0002-clocksource-drivers-Add-a-new-driver-for-the-Atmel-A.patch --- linux-4.19.87/debian/patches-rt/0002-clocksource-drivers-Add-a-new-driver-for-the-Atmel-A.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0002-clocksource-drivers-Add-a-new-driver-for-the-Atmel-A.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From bc9f46c6ecb0be8a5a14b31b032740f3a1d74761 Mon Sep 17 00:00:00 2001 From: Alexandre Belloni Date: Thu, 13 Sep 2018 13:30:19 +0200 Subject: [PATCH 002/290] clocksource/drivers: Add a new driver for the Atmel ARM TC blocks -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1cc14d070ff9808e86cd76edc497abd71537b237 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Add a driver for the Atmel Timer Counter Blocks. This driver provides a clocksource and two clockevent devices. @@ -479,3 +480,6 @@ + bits); +} +TIMER_OF_DECLARE(atmel_tcb_clksrc, "atmel,tcb-timer", tcb_clksrc_init); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0003-clocksource-drivers-timer-atmel-tcb-add-clockevent-d.patch linux-4.19.98/debian/patches-rt/0003-clocksource-drivers-timer-atmel-tcb-add-clockevent-d.patch --- linux-4.19.87/debian/patches-rt/0003-clocksource-drivers-timer-atmel-tcb-add-clockevent-d.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0003-clocksource-drivers-timer-atmel-tcb-add-clockevent-d.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From bfee0cb2aad9baa607add364cd5a6c05d6782641 Mon Sep 17 00:00:00 2001 From: Alexandre Belloni Date: Thu, 13 Sep 2018 13:30:20 +0200 Subject: [PATCH 003/290] clocksource/drivers: timer-atmel-tcb: add clockevent device on separate channel -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=10269a72d7656134bd29f2ef8a4cbd4d166ac825 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Add an other clockevent device that uses a separate TCB channel when available. @@ -265,3 +266,6 @@ } } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0004-clocksource-drivers-atmel-pit-make-option-silent.patch linux-4.19.98/debian/patches-rt/0004-clocksource-drivers-atmel-pit-make-option-silent.patch --- linux-4.19.87/debian/patches-rt/0004-clocksource-drivers-atmel-pit-make-option-silent.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0004-clocksource-drivers-atmel-pit-make-option-silent.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 00029cfcfece0c114d6428fcb7e52545a88cf2c1 Mon Sep 17 00:00:00 2001 From: Alexandre Belloni Date: Thu, 13 Sep 2018 13:30:21 +0200 Subject: [PATCH 004/290] clocksource/drivers: atmel-pit: make option silent -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7573710162f30e8c45e60a62ffd20cf4027360bf +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz To conform with the other option, make the ATMEL_PIT option silent so it can be selected from the platform @@ -30,3 +31,6 @@ config ATMEL_ST bool "Atmel ST timer support" if COMPILE_TEST +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0005-ARM-at91-Implement-clocksource-selection.patch linux-4.19.98/debian/patches-rt/0005-ARM-at91-Implement-clocksource-selection.patch --- linux-4.19.87/debian/patches-rt/0005-ARM-at91-Implement-clocksource-selection.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0005-ARM-at91-Implement-clocksource-selection.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From d6f57849d568f7bad4a562fc3466f773384c5af7 Mon Sep 17 00:00:00 2001 From: Alexandre Belloni Date: Thu, 13 Sep 2018 13:30:22 +0200 Subject: [PATCH 005/290] ARM: at91: Implement clocksource selection -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1c682aaa18596b92057ac104266f0d0fefa05ef0 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Allow selecting and unselecting the PIT clocksource driver so it doesn't have to be compile when unused. @@ -49,3 +50,6 @@ config HAVE_AT91_UTMI bool +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0006-ARM-configs-at91-use-new-TCB-timer-driver.patch linux-4.19.98/debian/patches-rt/0006-ARM-configs-at91-use-new-TCB-timer-driver.patch --- linux-4.19.87/debian/patches-rt/0006-ARM-configs-at91-use-new-TCB-timer-driver.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0006-ARM-configs-at91-use-new-TCB-timer-driver.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 218e2c7678889a89128237d82a61bf1f23d9cc77 Mon Sep 17 00:00:00 2001 From: Alexandre Belloni Date: Thu, 13 Sep 2018 13:30:23 +0200 Subject: [PATCH 006/290] ARM: configs: at91: use new TCB timer driver -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2100311e3ae9a532f88135fe46237e09ac77c7a3 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Unselecting ATMEL_TCLIB switches the TCB timer driver from tcb_clksrc to timer-atmel-tcb. @@ -37,3 +38,6 @@ CONFIG_ATMEL_SSC=y CONFIG_EEPROM_AT24=y CONFIG_SCSI=y +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0007-ARM-configs-at91-unselect-PIT.patch linux-4.19.98/debian/patches-rt/0007-ARM-configs-at91-unselect-PIT.patch --- linux-4.19.87/debian/patches-rt/0007-ARM-configs-at91-unselect-PIT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0007-ARM-configs-at91-unselect-PIT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 4773aa4fa5a18ca0b25a456fc06be41464775211 Mon Sep 17 00:00:00 2001 From: Alexandre Belloni Date: Thu, 13 Sep 2018 13:30:24 +0200 Subject: [PATCH 007/290] ARM: configs: at91: unselect PIT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=09237389b9cefeb3f5e277ad4e35c5ca3b62db42 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The PIT is not required anymore to successfully boot and may actually harm in case preempt-rt is used because the PIT interrupt is shared. @@ -38,3 +39,6 @@ CONFIG_AEABI=y CONFIG_UACCESS_WITH_MEMCPY=y CONFIG_ZBOOT_ROM_TEXT=0x0 +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0008-irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch linux-4.19.98/debian/patches-rt/0008-irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch --- linux-4.19.87/debian/patches-rt/0008-irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0008-irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 5322b48ab45dcd7e238e7a92c17746b904092021 Mon Sep 17 00:00:00 2001 From: Marc Zyngier Date: Fri, 27 Jul 2018 13:38:54 +0100 Subject: [PATCH 008/290] irqchip/gic-v3-its: Move pending table allocation to init time -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a0a08ef23f2e37ccaa18fb80939e9b43871e0667 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Signed-off-by: Marc Zyngier Signed-off-by: Sebastian Andrzej Siewior @@ -12,7 +13,7 @@ 2 files changed, 53 insertions(+), 28 deletions(-) diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c -index e7549a2b1482..b68650b55b9f 100644 +index 050d6e040128..fc4c319ee1d7 100644 --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c @@ -179,6 +179,7 @@ static DEFINE_RAW_SPINLOCK(vmovp_lock); @@ -23,7 +24,7 @@ #define gic_data_rdist_rd_base() (gic_data_rdist()->rd_base) #define gic_data_rdist_vlpi_base() (gic_data_rdist_rd_base() + SZ_128K) -@@ -1644,7 +1645,7 @@ static void its_free_prop_table(struct page *prop_page) +@@ -1659,7 +1660,7 @@ static void its_free_prop_table(struct page *prop_page) get_order(LPI_PROPBASE_SZ)); } @@ -32,7 +33,7 @@ { phys_addr_t paddr; -@@ -1992,30 +1993,47 @@ static u64 its_clear_vpend_valid(void __iomem *vlpi_base) +@@ -2007,30 +2008,47 @@ static u64 its_clear_vpend_valid(void __iomem *vlpi_base) return val; } @@ -95,7 +96,7 @@ /* set PROPBASE */ val = (page_to_phys(gic_rdists->prop_page) | GICR_PROPBASER_InnerShareable | -@@ -2091,6 +2109,10 @@ static void its_cpu_init_lpis(void) +@@ -2106,6 +2124,10 @@ static void its_cpu_init_lpis(void) /* Make sure the GIC has seen the above */ dsb(sy); @@ -106,7 +107,7 @@ } static void its_cpu_init_collection(struct its_node *its) -@@ -3570,16 +3592,6 @@ static int redist_disable_lpis(void) +@@ -3585,16 +3607,6 @@ static int redist_disable_lpis(void) u64 timeout = USEC_PER_SEC; u64 val; @@ -123,7 +124,7 @@ if (!gic_rdists_supports_plpis()) { pr_info("CPU%d: LPIs not supported\n", smp_processor_id()); return -ENXIO; -@@ -3589,7 +3601,18 @@ static int redist_disable_lpis(void) +@@ -3604,7 +3616,18 @@ static int redist_disable_lpis(void) if (!(val & GICR_CTLR_ENABLE_LPIS)) return 0; @@ -143,7 +144,7 @@ smp_processor_id()); add_taint(TAINT_CRAP, LOCKDEP_STILL_OK); -@@ -3845,7 +3868,8 @@ int __init its_init(struct fwnode_handle *handle, struct rdists *rdists, +@@ -3860,7 +3883,8 @@ int __init its_init(struct fwnode_handle *handle, struct rdists *rdists, } gic_rdists = rdists; @@ -165,3 +166,6 @@ } __percpu *rdist; struct page *prop_page; u64 flags; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0009-kthread-convert-worker-lock-to-raw-spinlock.patch linux-4.19.98/debian/patches-rt/0009-kthread-convert-worker-lock-to-raw-spinlock.patch --- linux-4.19.87/debian/patches-rt/0009-kthread-convert-worker-lock-to-raw-spinlock.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0009-kthread-convert-worker-lock-to-raw-spinlock.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From e2fc3df409c6764dc2c394061aae000a86437a7c Mon Sep 17 00:00:00 2001 From: Julia Cartwright Date: Fri, 28 Sep 2018 21:03:51 +0000 Subject: [PATCH 009/290] kthread: convert worker lock to raw spinlock -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=781154b56e9d694b817b093e6c4a22cbb0ad20d8 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz In order to enable the queuing of kthread work items from hardirq context even when PREEMPT_RT_FULL is enabled, convert the worker @@ -197,3 +198,6 @@ out: return ret; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0010-crypto-caam-qi-simplify-CGR-allocation-freeing.patch linux-4.19.98/debian/patches-rt/0010-crypto-caam-qi-simplify-CGR-allocation-freeing.patch --- linux-4.19.87/debian/patches-rt/0010-crypto-caam-qi-simplify-CGR-allocation-freeing.patch 2019-12-01 08:35:10.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0010-crypto-caam-qi-simplify-CGR-allocation-freeing.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,10 +1,11 @@ +From ba865f26206ec12d7d6a140c2a9f6871c7be3d5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Horia=20Geant=C4=83?= Date: Mon, 8 Oct 2018 14:09:37 +0300 Subject: [PATCH 010/290] crypto: caam/qi - simplify CGR allocation, freeing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1d10c08ca4b5279cfa1f77d05dded9377191ed3f +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz [Upstream commit 29e83c757006fd751966bdc53392bb22d74179c6] @@ -134,3 +135,6 @@ /** * qi_cache_alloc - Allocate buffers from CAAM-QI cache +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0011-sched-fair-Robustify-CFS-bandwidth-timer-locking.patch linux-4.19.98/debian/patches-rt/0011-sched-fair-Robustify-CFS-bandwidth-timer-locking.patch --- linux-4.19.87/debian/patches-rt/0011-sched-fair-Robustify-CFS-bandwidth-timer-locking.patch 2019-12-01 09:55:02.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0011-sched-fair-Robustify-CFS-bandwidth-timer-locking.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 147b5bb1f8cd2975bdfa1368ba792f28df1ab8a6 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Mon, 7 Jan 2019 13:52:31 +0100 Subject: [PATCH 011/290] sched/fair: Robustify CFS-bandwidth timer locking -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1a1e9d89852d01e24232b177091911f075b64f65 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Traditionally hrtimer callbacks were run with IRQs disabled, but with the introduction of HRTIMER_MODE_SOFT it is possible they run from @@ -24,16 +25,15 @@ Signed-off-by: Peter Zijlstra (Intel) Link: https://lkml.kernel.org/r/20190107125231.GE14122@hirez.programming.kicks-ass.net Signed-off-by: Sebastian Andrzej Siewior -[Salvatore Bonaccorso: Backport to 4.19.84 due to context changes caused by -502bd151448c ("sched/fair: Fix low cpu usage with high throttling by removing -expiration of cpu-local slices")] --- kernel/sched/fair.c | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) +diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c +index f0abb8fe0ae9..b5e03fc56d65 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c -@@ -4560,7 +4560,7 @@ +@@ -4560,7 +4560,7 @@ static u64 distribute_cfs_runtime(struct cfs_bandwidth *cfs_b, u64 remaining) struct rq *rq = rq_of(cfs_rq); struct rq_flags rf; @@ -42,7 +42,7 @@ if (!cfs_rq_throttled(cfs_rq)) goto next; -@@ -4579,7 +4579,7 @@ +@@ -4579,7 +4579,7 @@ static u64 distribute_cfs_runtime(struct cfs_bandwidth *cfs_b, u64 remaining) unthrottle_cfs_rq(cfs_rq); next: @@ -51,7 +51,7 @@ if (!remaining) break; -@@ -4595,7 +4595,7 @@ +@@ -4595,7 +4595,7 @@ static u64 distribute_cfs_runtime(struct cfs_bandwidth *cfs_b, u64 remaining) * period the timer is deactivated until scheduling resumes; cfs_b->idle is * used to track this state. */ @@ -60,7 +60,7 @@ { u64 runtime; int throttled; -@@ -4635,10 +4635,10 @@ +@@ -4635,10 +4635,10 @@ static int do_sched_cfs_period_timer(struct cfs_bandwidth *cfs_b, int overrun) while (throttled && cfs_b->runtime > 0 && !cfs_b->distribute_running) { runtime = cfs_b->runtime; cfs_b->distribute_running = 1; @@ -73,7 +73,7 @@ cfs_b->distribute_running = 0; throttled = !list_empty(&cfs_b->throttled_cfs_rq); -@@ -4746,16 +4746,17 @@ +@@ -4746,16 +4746,17 @@ static __always_inline void return_cfs_rq_runtime(struct cfs_rq *cfs_rq) static void do_sched_cfs_slack_timer(struct cfs_bandwidth *cfs_b) { u64 runtime = 0, slice = sched_cfs_bandwidth_slice(); @@ -94,7 +94,7 @@ return; } -@@ -4765,17 +4766,17 @@ +@@ -4765,17 +4766,17 @@ static void do_sched_cfs_slack_timer(struct cfs_bandwidth *cfs_b) if (runtime) cfs_b->distribute_running = 1; @@ -115,7 +115,7 @@ } /* -@@ -4855,11 +4856,12 @@ +@@ -4855,11 +4856,12 @@ static enum hrtimer_restart sched_cfs_period_timer(struct hrtimer *timer) { struct cfs_bandwidth *cfs_b = container_of(timer, struct cfs_bandwidth, period_timer); @@ -129,7 +129,7 @@ for (;;) { overrun = hrtimer_forward_now(timer, cfs_b->period); if (!overrun) -@@ -4887,11 +4889,11 @@ +@@ -4895,11 +4897,11 @@ static enum hrtimer_restart sched_cfs_period_timer(struct hrtimer *timer) count = 0; } @@ -143,3 +143,6 @@ return idle ? HRTIMER_NORESTART : HRTIMER_RESTART; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0012-arm-Convert-arm-boot_lock-to-raw.patch linux-4.19.98/debian/patches-rt/0012-arm-Convert-arm-boot_lock-to-raw.patch --- linux-4.19.87/debian/patches-rt/0012-arm-Convert-arm-boot_lock-to-raw.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0012-arm-Convert-arm-boot_lock-to-raw.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From fd46cb23c2b2f9fe3514d2e773f289e0e2f46d73 Mon Sep 17 00:00:00 2001 From: Frank Rowand Date: Mon, 19 Sep 2011 14:51:14 -0700 Subject: [PATCH 012/290] arm: Convert arm boot_lock to raw -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9ebc1e4c87e1febc77c492b70626744e2249c23f +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The arm boot_lock is used by the secondary processor startup code. The locking task is the idle thread, which has idle->sched_class == &idle_sched_class. @@ -426,3 +427,6 @@ return pen_release != -1 ? -ENOSYS : 0; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0013-x86-ioapic-Don-t-let-setaffinity-unmask-threaded-EOI.patch linux-4.19.98/debian/patches-rt/0013-x86-ioapic-Don-t-let-setaffinity-unmask-threaded-EOI.patch --- linux-4.19.87/debian/patches-rt/0013-x86-ioapic-Don-t-let-setaffinity-unmask-threaded-EOI.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0013-x86-ioapic-Don-t-let-setaffinity-unmask-threaded-EOI.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 2ab61b3cb2b66bd2515c8531da37be20f5cc14a9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 17 Jul 2018 18:25:31 +0200 Subject: [PATCH 013/290] x86/ioapic: Don't let setaffinity unmask threaded EOI interrupt too early -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=269b937b10ea6588bf79b4d789c40cc5214711cf +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz There is an issue with threaded interrupts which are marked ONESHOT and using the fasteoi handler. @@ -30,27 +31,23 @@ ifdef paths (spotted by Andy Shevchenko)] Signed-off-by: Sebastian Andrzej Siewior --- - arch/x86/kernel/apic/io_apic.c | 23 +++++++++++++---------- - 1 file changed, 13 insertions(+), 10 deletions(-) + arch/x86/kernel/apic/io_apic.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c -index ab22eded61d2..91db2ec0c10a 100644 +index fa3b85b222e3..1bdad61a3ef7 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c -@@ -1722,19 +1722,20 @@ static bool io_apic_level_ack_pending(struct mp_chip_data *data) +@@ -1722,7 +1722,7 @@ static bool io_apic_level_ack_pending(struct mp_chip_data *data) return false; } -static inline bool ioapic_irqd_mask(struct irq_data *data) +static inline bool ioapic_prepare_move(struct irq_data *data) { - /* If we are moving the irq we need to mask it */ + /* If we are moving the IRQ we need to mask it */ if (unlikely(irqd_is_setaffinity_pending(data))) { -- mask_ioapic_irq(data); -+ if (!irqd_irq_masked(data)) -+ mask_ioapic_irq(data); - return true; - } +@@ -1733,9 +1733,9 @@ static inline bool ioapic_irqd_mask(struct irq_data *data) return false; } @@ -62,14 +59,7 @@ /* Only migrate the irq if the ack has been received. * * On rare occasions the broadcast level triggered ack gets -@@ -1763,15 +1764,17 @@ static inline void ioapic_irqd_unmask(struct irq_data *data, bool masked) - */ - if (!io_apic_level_ack_pending(data->chip_data)) - irq_move_masked_irq(data); -- unmask_ioapic_irq(data); -+ /* If the irq is masked in the core, leave it */ -+ if (!irqd_irq_masked(data)) -+ unmask_ioapic_irq(data); +@@ -1770,11 +1770,11 @@ static inline void ioapic_irqd_unmask(struct irq_data *data, bool masked) } } #else @@ -83,7 +73,7 @@ { } #endif -@@ -1780,11 +1783,11 @@ static void ioapic_ack_level(struct irq_data *irq_data) +@@ -1783,11 +1783,11 @@ static void ioapic_ack_level(struct irq_data *irq_data) { struct irq_cfg *cfg = irqd_cfg(irq_data); unsigned long v; @@ -97,7 +87,7 @@ /* * It appears there is an erratum which affects at least version 0x11 -@@ -1839,7 +1842,7 @@ static void ioapic_ack_level(struct irq_data *irq_data) +@@ -1842,7 +1842,7 @@ static void ioapic_ack_level(struct irq_data *irq_data) eoi_ioapic_pin(cfg->vector, irq_data->chip_data); } @@ -106,3 +96,6 @@ } static void ioapic_ir_ack_level(struct irq_data *irq_data) +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0014-cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch linux-4.19.98/debian/patches-rt/0014-cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch --- linux-4.19.87/debian/patches-rt/0014-cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0014-cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 56933f479ee6e504e58236259c2fdacd09bcdeb1 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 3 Jul 2018 18:19:48 +0200 Subject: [PATCH 014/290] cgroup: use irqsave in cgroup_rstat_flush_locked() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a46bfc03c899ec820ba9e964b1bac8ee7ffc5f2f +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz All callers of cgroup_rstat_flush_locked() acquire cgroup_rstat_lock either with spin_lock_irq() or spin_lock_irqsave(). @@ -44,3 +45,6 @@ /* if @may_sleep, play nice and yield if necessary */ if (may_sleep && (need_resched() || +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0015-fscache-initialize-cookie-hash-table-raw-spinlocks.patch linux-4.19.98/debian/patches-rt/0015-fscache-initialize-cookie-hash-table-raw-spinlocks.patch --- linux-4.19.87/debian/patches-rt/0015-fscache-initialize-cookie-hash-table-raw-spinlocks.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0015-fscache-initialize-cookie-hash-table-raw-spinlocks.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 11a5fe1b2f98fc37eac8919e99282c1b91f5bb05 Mon Sep 17 00:00:00 2001 From: Clark Williams Date: Tue, 3 Jul 2018 13:34:30 -0500 Subject: [PATCH 015/290] fscache: initialize cookie hash table raw spinlocks -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=534df1b6875bc0ff92dc2bd5c5fcbe82f606443f +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The fscache cookie mechanism uses a hash table of hlist_bl_head structures. The PREEMPT_RT patcheset adds a raw spinlock to this structure and so on PREEMPT_RT @@ -58,3 +59,6 @@ /** * fscache_register_netfs - Register a filesystem as desiring caching services +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0016-Drivers-hv-vmbus-include-header-for-get_irq_regs.patch linux-4.19.98/debian/patches-rt/0016-Drivers-hv-vmbus-include-header-for-get_irq_regs.patch --- linux-4.19.87/debian/patches-rt/0016-Drivers-hv-vmbus-include-header-for-get_irq_regs.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0016-Drivers-hv-vmbus-include-header-for-get_irq_regs.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,10 +1,11 @@ +From 42e5ab6924b31025c97846b749ebe188ee4b5fdd Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 29 Aug 2018 21:59:04 +0200 Subject: [PATCH 016/290] Drivers: hv: vmbus: include header for get_irq_regs() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=32d049f2969bf30456b5afbcf2c709e7667ee6f7 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz On !RT the header file get_irq_regs() gets pulled in via other header files. On RT it does not and the build fails: @@ -34,3 +35,6 @@ #include "hv_trace.h" +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0017-percpu-include-irqflags.h-for-raw_local_irq_save.patch linux-4.19.98/debian/patches-rt/0017-percpu-include-irqflags.h-for-raw_local_irq_save.patch --- linux-4.19.87/debian/patches-rt/0017-percpu-include-irqflags.h-for-raw_local_irq_save.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0017-percpu-include-irqflags.h-for-raw_local_irq_save.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From bc0b4a3ef268cec82163752ddaa730d8ec193d7c Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 11 Oct 2018 16:39:59 +0200 Subject: [PATCH 017/290] percpu: include irqflags.h for raw_local_irq_save() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f917aafbaad3be951578ed66aa337f869b407357 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The header percpu.h header file is using raw_local_irq_save() but does not include irqflags.h for its definition. It compiles because the @@ -27,3 +28,6 @@ #ifdef CONFIG_SMP +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0018-efi-Allow-efi-runtime.patch linux-4.19.98/debian/patches-rt/0018-efi-Allow-efi-runtime.patch --- linux-4.19.87/debian/patches-rt/0018-efi-Allow-efi-runtime.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0018-efi-Allow-efi-runtime.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From da834999f8c566ac722fd157de36dd3f9335c2ad Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 26 Jul 2018 15:06:10 +0200 Subject: [PATCH 018/290] efi: Allow efi=runtime -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0e3cdde741d28e9a96be78eff57024bfa1807a9d +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz In case the option "efi=noruntime" is default at built-time, the user could overwrite its sate by `efi=runtime' and allow it again. @@ -26,3 +27,6 @@ return 0; } early_param("efi", parse_efi_cmdline); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0019-x86-efi-drop-task_lock-from-efi_switch_mm.patch linux-4.19.98/debian/patches-rt/0019-x86-efi-drop-task_lock-from-efi_switch_mm.patch --- linux-4.19.87/debian/patches-rt/0019-x86-efi-drop-task_lock-from-efi_switch_mm.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0019-x86-efi-drop-task_lock-from-efi_switch_mm.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From d24d03df7b0c0b6a0975a373a815487a220ee93b Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 24 Jul 2018 14:48:55 +0200 Subject: [PATCH 019/290] x86/efi: drop task_lock() from efi_switch_mm() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=50a52c8407c717fe21f31d5ae907a1fd3ec7fd32 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz efi_switch_mm() is a wrapper around switch_mm() which saves current's ->active_mm, sets the requests mm as ->active_mm and invokes @@ -49,3 +50,6 @@ } #ifdef CONFIG_EFI_MIXED +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0020-arm64-KVM-compute_layout-before-altenates-are-applie.patch linux-4.19.98/debian/patches-rt/0020-arm64-KVM-compute_layout-before-altenates-are-applie.patch --- linux-4.19.87/debian/patches-rt/0020-arm64-KVM-compute_layout-before-altenates-are-applie.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0020-arm64-KVM-compute_layout-before-altenates-are-applie.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 057073be1e10190ea715360a6fde5478df36b563 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 26 Jul 2018 09:13:42 +0200 Subject: [PATCH 020/290] arm64: KVM: compute_layout before altenates are applied -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7cf32c5e928501c234cefb60c14a7d2516bfdd27 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz compute_layout() is invoked as part of an alternative fixup under stop_machine() and needs a sleeping lock as part of get_random_long(). @@ -77,3 +78,6 @@ /* * Compute HYP VA by using the same computation as kern_hyp_va() */ +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0021-of-allocate-free-phandle-cache-outside-of-the-devtre.patch linux-4.19.98/debian/patches-rt/0021-of-allocate-free-phandle-cache-outside-of-the-devtre.patch --- linux-4.19.87/debian/patches-rt/0021-of-allocate-free-phandle-cache-outside-of-the-devtre.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0021-of-allocate-free-phandle-cache-outside-of-the-devtre.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From af2b5f6fa1369ed12974a97865df6125bbede492 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 31 Aug 2018 14:16:30 +0200 Subject: [PATCH 021/290] of: allocate / free phandle cache outside of the devtree_lock -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=62698ea1b5cfaf8b88d0df4b9b1acbf8ff591dac +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The phandle cache code allocates memory while holding devtree_lock which is a raw_spinlock_t. Memory allocation (and free()) is not possible on @@ -18,7 +19,7 @@ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/drivers/of/base.c b/drivers/of/base.c -index 3f21ea6a90dc..2c7cf83b200c 100644 +index f0dbb7ad88cf..c59b30bab0e0 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c @@ -130,31 +130,34 @@ static u32 phandle_cache_mask; @@ -97,3 +98,6 @@ } void __init of_core_init(void) +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0022-mm-kasan-make-quarantine_lock-a-raw_spinlock_t.patch linux-4.19.98/debian/patches-rt/0022-mm-kasan-make-quarantine_lock-a-raw_spinlock_t.patch --- linux-4.19.87/debian/patches-rt/0022-mm-kasan-make-quarantine_lock-a-raw_spinlock_t.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0022-mm-kasan-make-quarantine_lock-a-raw_spinlock_t.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 90ac218590a6d692a0dafeeef4bfafea30811be3 Mon Sep 17 00:00:00 2001 From: Clark Williams Date: Tue, 18 Sep 2018 10:29:31 -0500 Subject: [PATCH 022/290] mm/kasan: make quarantine_lock a raw_spinlock_t -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=dea0e8e741a34a81211d1fc0eb65e8d48ed39059 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The static lock quarantine_lock is used in quarantine.c to protect the quarantine queue datastructures. It is taken inside quarantine queue @@ -92,3 +93,6 @@ qlist_free_all(&to_free, cache); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0023-EXP-rcu-Revert-expedited-GP-parallelization-cleverne.patch linux-4.19.98/debian/patches-rt/0023-EXP-rcu-Revert-expedited-GP-parallelization-cleverne.patch --- linux-4.19.87/debian/patches-rt/0023-EXP-rcu-Revert-expedited-GP-parallelization-cleverne.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0023-EXP-rcu-Revert-expedited-GP-parallelization-cleverne.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 37d23bb703b59574c9eeebba86f8c8b9cf382d15 Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Mon, 29 Oct 2018 11:53:01 +0100 Subject: [PATCH 023/290] EXP rcu: Revert expedited GP parallelization cleverness -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3a435c0a8c0607a971d75a41cf00b45699e690cc +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz (Commit 258ba8e089db23f760139266c232f01bad73f85c from linux-rcu) @@ -45,3 +46,6 @@ rnp->exp_need_flush = true; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0024-kmemleak-Turn-kmemleak_lock-to-raw-spinlock-on-RT.patch linux-4.19.98/debian/patches-rt/0024-kmemleak-Turn-kmemleak_lock-to-raw-spinlock-on-RT.patch --- linux-4.19.87/debian/patches-rt/0024-kmemleak-Turn-kmemleak_lock-to-raw-spinlock-on-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0024-kmemleak-Turn-kmemleak_lock-to-raw-spinlock-on-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,10 +1,11 @@ +From 5a62bb92ae6df828a0b6cf14c0e1d55558f0002e Mon Sep 17 00:00:00 2001 From: He Zhe Date: Wed, 19 Dec 2018 16:30:57 +0100 Subject: [PATCH 024/290] kmemleak: Turn kmemleak_lock to raw spinlock on RT MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d823b15c5b9f5edcf6111f3b480674e4c2e42847 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz kmemleak_lock, as a rwlock on RT, can possibly be held in atomic context and causes the follow BUG. @@ -163,3 +164,6 @@ } /* +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0025-NFSv4-replace-seqcount_t-with-a-seqlock_t.patch linux-4.19.98/debian/patches-rt/0025-NFSv4-replace-seqcount_t-with-a-seqlock_t.patch --- linux-4.19.87/debian/patches-rt/0025-NFSv4-replace-seqcount_t-with-a-seqlock_t.patch 2019-12-01 14:54:04.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0025-NFSv4-replace-seqcount_t-with-a-seqlock_t.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 78cfba1f8655c35ecd538b02a09000d4d7d18af9 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 28 Oct 2016 23:05:11 +0200 Subject: [PATCH 025/290] NFSv4: replace seqcount_t with a seqlock_t -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=23180e2794932f9ce1ba1e0ef1ebb6a04c9ff676 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The raw_write_seqcount_begin() in nfs4_reclaim_open_state() bugs me because it maps to preempt_disable() in -RT which I can't have at this @@ -18,8 +19,6 @@ Reported-by: kernel test robot Signed-off-by: Sebastian Andrzej Siewior -[Aurelien Jarno: Backport to 4.19.86 due to context changes caused by -aa84e0458d853 ("NFSv4.x: fix lock recovery during delegation recall")] --- fs/nfs/delegation.c | 4 ++-- fs/nfs/nfs4_fs.h | 2 +- @@ -28,10 +27,10 @@ 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/fs/nfs/delegation.c b/fs/nfs/delegation.c -index 825a8c52165a..c14f02b41f0d 100644 +index 74ff459b75ef..6b422d1b5ae1 100644 --- a/fs/nfs/delegation.c +++ b/fs/nfs/delegation.c -@@ -152,11 +152,11 @@ static int nfs_delegation_claim_opens(struct inode *inode, +@@ -162,11 +162,11 @@ static int nfs_delegation_claim_opens(struct inode *inode, sp = state->owner; /* Block nfs4_proc_unlck */ mutex_lock(&sp->so_delegreturn_mutex); @@ -59,10 +58,10 @@ }; diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c -index 75faef7af22d..72abcccb8177 100644 +index 792f8821b5d6..041d235cf5ef 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c -@@ -2873,7 +2873,7 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata, +@@ -2870,7 +2870,7 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata, unsigned int seq; int ret; @@ -71,7 +70,7 @@ ret = _nfs4_proc_open(opendata, ctx); if (ret != 0) -@@ -2914,7 +2914,7 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata, +@@ -2911,7 +2911,7 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata, if (d_inode(dentry) == state->inode) { nfs_inode_attach_open_context(ctx); @@ -132,3 +131,6 @@ return status; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0026-kernel-sched-Provide-a-pointer-to-the-valid-CPU-mask.patch linux-4.19.98/debian/patches-rt/0026-kernel-sched-Provide-a-pointer-to-the-valid-CPU-mask.patch --- linux-4.19.87/debian/patches-rt/0026-kernel-sched-Provide-a-pointer-to-the-valid-CPU-mask.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0026-kernel-sched-Provide-a-pointer-to-the-valid-CPU-mask.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,3 +1,4 @@ +From f8da0dd0f5a6dd0097a13f5f59567b9d7a91d0f4 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 4 Apr 2017 12:50:16 +0200 Subject: [PATCH 026/290] kernel: sched: Provide a pointer to the valid CPU @@ -5,7 +6,7 @@ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6e2bd8c3352b171ecbd5aaae16f7abd30a82342c +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz In commit 4b53a3412d66 ("sched/core: Remove the tsk_nr_cpus_allowed() wrapper") the tsk_nr_cpus_allowed() wrapper was removed. There was not @@ -165,10 +166,10 @@ /* Save the current cpu id for spu interrupt routing. */ ctx->last_ran = raw_smp_processor_id(); diff --git a/arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c b/arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c -index 912d53939f4f..6b8dc68b5ccc 100644 +index a999a58ca331..d6410d0740ea 100644 --- a/arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c +++ b/arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c -@@ -1435,7 +1435,7 @@ static int pseudo_lock_dev_mmap(struct file *filp, struct vm_area_struct *vma) +@@ -1445,7 +1445,7 @@ static int pseudo_lock_dev_mmap(struct file *filp, struct vm_area_struct *vma) * may be scheduled elsewhere and invalidate entries in the * pseudo-locked region. */ @@ -209,10 +210,10 @@ current->pid, current->comm, cpumask_pr_args(proc_mask)); diff --git a/drivers/infiniband/hw/hfi1/sdma.c b/drivers/infiniband/hw/hfi1/sdma.c -index 64ab92f8a4a2..57ec8bb829f2 100644 +index 291c12f588b5..05e7b28a03c1 100644 --- a/drivers/infiniband/hw/hfi1/sdma.c +++ b/drivers/infiniband/hw/hfi1/sdma.c -@@ -852,14 +852,13 @@ struct sdma_engine *sdma_select_user_engine(struct hfi1_devdata *dd, +@@ -853,14 +853,13 @@ struct sdma_engine *sdma_select_user_engine(struct hfi1_devdata *dd, { struct sdma_rht_node *rht_node; struct sdma_engine *sde = NULL; @@ -320,10 +321,10 @@ } diff --git a/kernel/fork.c b/kernel/fork.c -index aef1430bdce0..173e010cba45 100644 +index 8cb5cd7c97e1..8c285876eb52 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -845,6 +845,8 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node) +@@ -840,6 +840,8 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node) #ifdef CONFIG_STACKPROTECTOR tsk->stack_canary = get_random_canary(); #endif @@ -333,7 +334,7 @@ /* * One for us, one for whoever does the "release_task()" (usually diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 78ecdfae25b6..39bb4b3eb1bf 100644 +index 2befd2c4ce9e..07dc66137a26 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -878,7 +878,7 @@ static inline bool is_per_cpu_kthread(struct task_struct *p) @@ -474,7 +475,7 @@ raw_spin_unlock_irqrestore(&p->pi_lock, flags); out_unlock: -@@ -5495,7 +5495,7 @@ int task_can_attach(struct task_struct *p, +@@ -5496,7 +5496,7 @@ int task_can_attach(struct task_struct *p, * allowed nodes is unnecessary. Thus, cpusets are not * applicable for such threads. This prevents checking for * success of set_cpus_allowed_ptr() on all attached tasks @@ -483,7 +484,7 @@ */ if (p->flags & PF_NO_SETAFFINITY) { ret = -EINVAL; -@@ -5522,7 +5522,7 @@ int migrate_task_to(struct task_struct *p, int target_cpu) +@@ -5523,7 +5523,7 @@ int migrate_task_to(struct task_struct *p, int target_cpu) if (curr_cpu == target_cpu) return 0; @@ -492,7 +493,7 @@ return -EINVAL; /* TODO: This is not properly updating schedstats */ -@@ -5660,7 +5660,7 @@ static void migrate_tasks(struct rq *dead_rq, struct rq_flags *rf) +@@ -5661,7 +5661,7 @@ static void migrate_tasks(struct rq *dead_rq, struct rq_flags *rf) put_prev_task(rq, next); /* @@ -572,7 +573,7 @@ !dl_task(task) || !task_on_rq_queued(task))) { diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c -index b40d8c71e335..da5d60d25c27 100644 +index b5e03fc56d65..6e6d9e999814 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -1662,7 +1662,7 @@ static void task_numa_compare(struct task_numa_env *env, @@ -593,7 +594,7 @@ continue; env->dst_cpu = cpu; -@@ -5800,7 +5800,7 @@ find_idlest_group(struct sched_domain *sd, struct task_struct *p, +@@ -5743,7 +5743,7 @@ find_idlest_group(struct sched_domain *sd, struct task_struct *p, /* Skip over this group if it has no CPUs allowed */ if (!cpumask_intersects(sched_group_span(group), @@ -602,7 +603,7 @@ continue; local_group = cpumask_test_cpu(this_cpu, -@@ -5932,7 +5932,7 @@ find_idlest_group_cpu(struct sched_group *group, struct task_struct *p, int this +@@ -5875,7 +5875,7 @@ find_idlest_group_cpu(struct sched_group *group, struct task_struct *p, int this return cpumask_first(sched_group_span(group)); /* Traverse only the allowed CPUs */ @@ -611,7 +612,7 @@ if (available_idle_cpu(i)) { struct rq *rq = cpu_rq(i); struct cpuidle_state *idle = idle_get_state(rq); -@@ -5972,7 +5972,7 @@ static inline int find_idlest_cpu(struct sched_domain *sd, struct task_struct *p +@@ -5915,7 +5915,7 @@ static inline int find_idlest_cpu(struct sched_domain *sd, struct task_struct *p { int new_cpu = cpu; @@ -620,7 +621,7 @@ return prev_cpu; /* -@@ -6089,7 +6089,7 @@ static int select_idle_core(struct task_struct *p, struct sched_domain *sd, int +@@ -6032,7 +6032,7 @@ static int select_idle_core(struct task_struct *p, struct sched_domain *sd, int if (!test_idle_cores(target, false)) return -1; @@ -629,7 +630,7 @@ for_each_cpu_wrap(core, cpus, target) { bool idle = true; -@@ -6123,7 +6123,7 @@ static int select_idle_smt(struct task_struct *p, struct sched_domain *sd, int t +@@ -6066,7 +6066,7 @@ static int select_idle_smt(struct task_struct *p, struct sched_domain *sd, int t return -1; for_each_cpu(cpu, cpu_smt_mask(target)) { @@ -638,7 +639,7 @@ continue; if (available_idle_cpu(cpu)) return cpu; -@@ -6186,7 +6186,7 @@ static int select_idle_cpu(struct task_struct *p, struct sched_domain *sd, int t +@@ -6129,7 +6129,7 @@ static int select_idle_cpu(struct task_struct *p, struct sched_domain *sd, int t for_each_cpu_wrap(cpu, sched_domain_span(sd), target) { if (!--nr) return -1; @@ -647,7 +648,7 @@ continue; if (available_idle_cpu(cpu)) break; -@@ -6223,7 +6223,7 @@ static int select_idle_sibling(struct task_struct *p, int prev, int target) +@@ -6166,7 +6166,7 @@ static int select_idle_sibling(struct task_struct *p, int prev, int target) recent_used_cpu != target && cpus_share_cache(recent_used_cpu, target) && available_idle_cpu(recent_used_cpu) && @@ -656,7 +657,7 @@ /* * Replace recent_used_cpu with prev as it is a potential * candidate for the next wake: -@@ -6441,7 +6441,7 @@ select_task_rq_fair(struct task_struct *p, int prev_cpu, int sd_flag, int wake_f +@@ -6384,7 +6384,7 @@ select_task_rq_fair(struct task_struct *p, int prev_cpu, int sd_flag, int wake_f if (sd_flag & SD_BALANCE_WAKE) { record_wakee(p); want_affine = !wake_wide(p) && !wake_cap(p, cpu, prev_cpu) @@ -665,7 +666,7 @@ } rcu_read_lock(); -@@ -7180,14 +7180,14 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env) +@@ -7123,14 +7123,14 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env) /* * We do not migrate tasks that are: * 1) throttled_lb_pair, or @@ -682,7 +683,7 @@ int cpu; schedstat_inc(p->se.statistics.nr_failed_migrations_affine); -@@ -7207,7 +7207,7 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env) +@@ -7150,7 +7150,7 @@ int can_migrate_task(struct task_struct *p, struct lb_env *env) /* Prevent to re-select dst_cpu via env's CPUs: */ for_each_cpu_and(cpu, env->dst_grpmask, env->cpus) { @@ -691,7 +692,7 @@ env->flags |= LBF_DST_PINNED; env->new_dst_cpu = cpu; break; -@@ -7804,7 +7804,7 @@ check_cpu_capacity(struct rq *rq, struct sched_domain *sd) +@@ -7747,7 +7747,7 @@ check_cpu_capacity(struct rq *rq, struct sched_domain *sd) /* * Group imbalance indicates (and tries to solve) the problem where balancing @@ -700,7 +701,7 @@ * * Imagine a situation of two groups of 4 CPUs each and 4 tasks each with a * cpumask covering 1 CPU of the first group and 3 CPUs of the second group. -@@ -8419,7 +8419,7 @@ static struct sched_group *find_busiest_group(struct lb_env *env) +@@ -8362,7 +8362,7 @@ static struct sched_group *find_busiest_group(struct lb_env *env) /* * If the busiest group is imbalanced the below checks don't * work because they assume all things are equal, which typically @@ -709,7 +710,7 @@ */ if (busiest->group_type == group_imbalanced) goto force_balance; -@@ -8815,7 +8815,7 @@ static int load_balance(int this_cpu, struct rq *this_rq, +@@ -8758,7 +8758,7 @@ static int load_balance(int this_cpu, struct rq *this_rq, * if the curr task on busiest CPU can't be * moved to this_cpu: */ @@ -779,3 +780,6 @@ trace_foo_with_template_simple("HELLO", cnt); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0027-kernel-sched-core-add-migrate_disable.patch linux-4.19.98/debian/patches-rt/0027-kernel-sched-core-add-migrate_disable.patch --- linux-4.19.87/debian/patches-rt/0027-kernel-sched-core-add-migrate_disable.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0027-kernel-sched-core-add-migrate_disable.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From a73bbe4b98f56b8c69e3932df7e083d1d94f5109 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Sat, 27 May 2017 19:02:06 +0200 Subject: [PATCH 027/290] kernel/sched/core: add migrate_disable() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=70a9ac89b97eb9275f3eb6d7adbba77ddd059fee +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz --- include/linux/preempt.h | 23 +++++++ @@ -85,7 +86,7 @@ * Callback to arch code if there's nosmp or maxcpus=0 on the * boot command line: diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 39bb4b3eb1bf..1a1ffb873d22 100644 +index 07dc66137a26..d0450f06612c 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1008,7 +1008,15 @@ void set_cpus_allowed_common(struct task_struct *p, const struct cpumask *new_ma @@ -144,7 +145,7 @@ if (task_running(rq, p) || p->state == TASK_WAKING) { struct migration_arg arg = { p, dest_cpu }; /* Need help from migration thread: drop lock and wait. */ -@@ -7104,3 +7133,100 @@ const u32 sched_prio_to_wmult[40] = { +@@ -7105,3 +7134,100 @@ const u32 sched_prio_to_wmult[40] = { }; #undef CREATE_TRACE_POINTS @@ -260,3 +261,6 @@ #undef PN_SCHEDSTAT #undef PN #undef __PN +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0028-sched-migrate_disable-Add-export_symbol_gpl-for-__mi.patch linux-4.19.98/debian/patches-rt/0028-sched-migrate_disable-Add-export_symbol_gpl-for-__mi.patch --- linux-4.19.87/debian/patches-rt/0028-sched-migrate_disable-Add-export_symbol_gpl-for-__mi.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0028-sched-migrate_disable-Add-export_symbol_gpl-for-__mi.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From ac059eda6d9782325d4d8432b5bee7638eafd90a Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 9 Oct 2018 17:34:50 +0200 Subject: [PATCH 028/290] sched/migrate_disable: Add export_symbol_gpl for __migrate_disabled -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ef09fdabc9d1ade69d87d4d674857172b6d172ee +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Jonathan reported that lttng/modules can't use __migrate_disabled(). This function is only used by sched/core itself and the tracing @@ -21,7 +22,7 @@ 1 file changed, 1 insertion(+) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 1a1ffb873d22..a33c2c18628d 100644 +index d0450f06612c..e6022cc2605b 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1013,6 +1013,7 @@ int __migrate_disabled(struct task_struct *p) @@ -32,3 +33,6 @@ #endif static void __do_set_cpus_allowed_tail(struct task_struct *p, +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0029-arm-at91-do-not-disable-enable-clocks-in-a-row.patch linux-4.19.98/debian/patches-rt/0029-arm-at91-do-not-disable-enable-clocks-in-a-row.patch --- linux-4.19.87/debian/patches-rt/0029-arm-at91-do-not-disable-enable-clocks-in-a-row.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0029-arm-at91-do-not-disable-enable-clocks-in-a-row.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From b4f795e23aa449ae7116c445646a5ee51f90c022 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 9 Mar 2016 10:51:06 +0100 Subject: [PATCH 029/290] arm: at91: do not disable/enable clocks in a row -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=619e4305a3a3a2296ec9a1fc32f84fb09a12f555 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Currently the driver will disable the clock and enable it one line later if it is switching from periodic mode into one shot. @@ -92,3 +93,6 @@ .set_state_periodic = tc_set_periodic, .set_state_oneshot = tc_set_oneshot, }, +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0030-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch linux-4.19.98/debian/patches-rt/0030-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch --- linux-4.19.87/debian/patches-rt/0030-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0030-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,3 +1,4 @@ +From 45b7375a7348d45d17515da0b294d479805fd855 Mon Sep 17 00:00:00 2001 From: Benedikt Spranger Date: Mon, 8 Mar 2010 18:57:04 +0100 Subject: [PATCH 030/290] clocksource: TCLIB: Allow higher clock rates for @@ -5,7 +6,7 @@ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8abf3e475b2921798e61e686140e077146360f1a +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz As default the TCLIB uses the 32KiHz base clock rate for clock events. Add a compile time selection to allow higher clock resulution. @@ -164,3 +165,6 @@ config DUMMY_IRQ tristate "Dummy IRQ handler" default n +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0031-timekeeping-Split-jiffies-seqlock.patch linux-4.19.98/debian/patches-rt/0031-timekeeping-Split-jiffies-seqlock.patch --- linux-4.19.87/debian/patches-rt/0031-timekeeping-Split-jiffies-seqlock.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0031-timekeeping-Split-jiffies-seqlock.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From fe98a4f2036225a3ccb28c230f5245fa0eddec4c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 14 Feb 2013 22:36:59 +0100 Subject: [PATCH 031/290] timekeeping: Split jiffies seqlock -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=37dae8435d79cbcc247b536cb16f55db30295418 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Replace jiffies_lock seqlock with a simple seqcounter and a rawlock so it can be taken in atomic context on RT. @@ -135,10 +136,10 @@ ts->timer_expires_base = basemono; diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c -index c2708e1f0c69..13477f8ee80e 100644 +index 81ee5b83c920..512db778f442 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c -@@ -2418,8 +2418,10 @@ EXPORT_SYMBOL(hardpps); +@@ -2394,8 +2394,10 @@ EXPORT_SYMBOL(hardpps); */ void xtime_update(unsigned long ticks) { @@ -165,3 +166,6 @@ #define CS_NAME_LEN 32 +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0032-signal-Revert-ptrace-preempt-magic.patch linux-4.19.98/debian/patches-rt/0032-signal-Revert-ptrace-preempt-magic.patch --- linux-4.19.87/debian/patches-rt/0032-signal-Revert-ptrace-preempt-magic.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0032-signal-Revert-ptrace-preempt-magic.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From fc38cdec8c7fa26cc2b0520c1cd0eb9ff96c969a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 21 Sep 2011 19:57:12 +0200 Subject: [PATCH 032/290] signal: Revert ptrace preempt magic -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=34b289f78753746be46c707628324cd79730dac2 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Upstream commit '53da1d9456fe7f8 fix ptrace slowness' is nothing more than a bandaid around the ptrace design trainwreck. It's not a @@ -13,10 +14,10 @@ 1 file changed, 8 deletions(-) diff --git a/kernel/signal.c b/kernel/signal.c -index 0e6bc3049427..d5a9646b3538 100644 +index 7278302e3485..6b9d4bbfa9df 100644 --- a/kernel/signal.c +++ b/kernel/signal.c -@@ -2094,15 +2094,7 @@ static void ptrace_stop(int exit_code, int why, int clear_code, siginfo_t *info) +@@ -2098,15 +2098,7 @@ static void ptrace_stop(int exit_code, int why, int clear_code, siginfo_t *info) if (gstop_done && ptrace_reparented(current)) do_notify_parent_cldstop(current, false, why); @@ -32,3 +33,6 @@ freezable_schedule(); } else { /* +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0033-net-sched-Use-msleep-instead-of-yield.patch linux-4.19.98/debian/patches-rt/0033-net-sched-Use-msleep-instead-of-yield.patch --- linux-4.19.87/debian/patches-rt/0033-net-sched-Use-msleep-instead-of-yield.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0033-net-sched-Use-msleep-instead-of-yield.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 280627bfccdc36087f174418d56e57d027552a14 Mon Sep 17 00:00:00 2001 From: Marc Kleine-Budde Date: Wed, 5 Mar 2014 00:49:47 +0100 Subject: [PATCH 033/290] net: sched: Use msleep() instead of yield() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e83295f1ca6355381c6d506047d641e9e607c96f +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz On PREEMPT_RT enabled systems the interrupt handler run as threads at prio 50 (by default). If a high priority userspace process tries to shut down a busy @@ -46,10 +47,10 @@ 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c -index 30e32df5f84a..0b9c494f64b0 100644 +index 8a4d01e427a2..4ab20f1138fd 100644 --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c -@@ -1192,7 +1192,7 @@ void dev_deactivate_many(struct list_head *head) +@@ -1204,7 +1204,7 @@ void dev_deactivate_many(struct list_head *head) /* Wait for outstanding qdisc_run calls. */ list_for_each_entry(dev, head, close_list) { while (some_qdisc_is_busy(dev)) @@ -58,3 +59,6 @@ /* The new qdisc is assigned at this point so we can safely * unwind stale skb lists and qdisc statistics */ +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0034-dm-rq-remove-BUG_ON-irqs_disabled-check.patch linux-4.19.98/debian/patches-rt/0034-dm-rq-remove-BUG_ON-irqs_disabled-check.patch --- linux-4.19.87/debian/patches-rt/0034-dm-rq-remove-BUG_ON-irqs_disabled-check.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0034-dm-rq-remove-BUG_ON-irqs_disabled-check.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From ec6350958b69d6c98248ee0871b3a7c00c5949c5 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 27 Mar 2018 16:24:15 +0200 Subject: [PATCH 034/290] dm rq: remove BUG_ON(!irqs_disabled) check -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b4b547ae7869e0ca0380a53cde929e51ecbdc173 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz In commit 052189a2ec95 ("dm: remove superfluous irq disablement in dm_request_fn") the spin_lock_irq() was replaced with spin_lock() + a @@ -31,3 +32,6 @@ } } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0035-usb-do-no-disable-interrupts-in-giveback.patch linux-4.19.98/debian/patches-rt/0035-usb-do-no-disable-interrupts-in-giveback.patch --- linux-4.19.87/debian/patches-rt/0035-usb-do-no-disable-interrupts-in-giveback.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0035-usb-do-no-disable-interrupts-in-giveback.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From c5248048f310926cc88f9d625126ebb980024a51 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 8 Nov 2013 17:34:54 +0100 Subject: [PATCH 035/290] usb: do no disable interrupts in giveback -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=086a63b5d6cc385539d96fb77b65eeb281dbd552 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Since commit 94dfd7ed ("USB: HCD: support giveback of URB in tasklet context") the USB code disables interrupts before invoking the complete @@ -40,3 +41,6 @@ usb_anchor_resume_wakeups(anchor); atomic_dec(&urb->use_count); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0036-rt-Provide-PREEMPT_RT_BASE-config-switch.patch linux-4.19.98/debian/patches-rt/0036-rt-Provide-PREEMPT_RT_BASE-config-switch.patch --- linux-4.19.87/debian/patches-rt/0036-rt-Provide-PREEMPT_RT_BASE-config-switch.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0036-rt-Provide-PREEMPT_RT_BASE-config-switch.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 4bfca780bcff671d348be592531816808005330c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 17 Jun 2011 12:39:57 +0200 Subject: [PATCH 036/290] rt: Provide PREEMPT_RT_BASE config switch -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3b6f0b1d09976635e464aa63be521f1f6f63e35d +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Introduce PREEMPT_RT_BASE which enables parts of PREEMPT_RT_FULL. Forces interrupt threading and enables some of the RT @@ -58,3 +59,6 @@ - bool \ No newline at end of file + bool +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0037-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch linux-4.19.98/debian/patches-rt/0037-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch --- linux-4.19.87/debian/patches-rt/0037-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0037-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 6ea70c3ef4fff78246212f51f67a6e48b159bc50 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 14 Dec 2011 01:03:49 +0100 Subject: [PATCH 037/290] cpumask: Disable CONFIG_CPUMASK_OFFSTACK for RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2efd4a4df8085c42c4a8bb8d74f1a6a566adc67a +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz There are "valid" GFP_ATOMIC allocations such as @@ -46,7 +47,7 @@ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index e76d16ac2776..04a45d6d0167 100644 +index af35f5caadbe..e40ba59efe7f 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -934,7 +934,7 @@ config CALGARY_IOMMU_ENABLED_BY_DEFAULT @@ -70,3 +71,6 @@ help Use dynamic allocation for cpumask_var_t, instead of putting them on the stack. This is a bit more expensive, but avoids +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0038-jump-label-disable-if-stop_machine-is-used.patch linux-4.19.98/debian/patches-rt/0038-jump-label-disable-if-stop_machine-is-used.patch --- linux-4.19.87/debian/patches-rt/0038-jump-label-disable-if-stop_machine-is-used.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0038-jump-label-disable-if-stop_machine-is-used.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From cded0d9563b5948a2aa3bddb86f632ea0ec38f0e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 8 Jul 2015 17:14:48 +0200 Subject: [PATCH 038/290] jump-label: disable if stop_machine() is used -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=77b2c3f7bbf3d862529e075933f0e7a6f8613c53 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Some architectures are using stop_machine() while switching the opcode which leads to latency spikes. @@ -36,3 +37,6 @@ select HAVE_ARCH_KGDB if !CPU_ENDIAN_BE32 && MMU select HAVE_ARCH_MMAP_RND_BITS if MMU select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT) +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0039-kconfig-Disable-config-options-which-are-not-RT-comp.patch linux-4.19.98/debian/patches-rt/0039-kconfig-Disable-config-options-which-are-not-RT-comp.patch --- linux-4.19.87/debian/patches-rt/0039-kconfig-Disable-config-options-which-are-not-RT-comp.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0039-kconfig-Disable-config-options-which-are-not-RT-comp.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From dce06dcc7c4046de51f2d0b0aa53995461a65b82 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 24 Jul 2011 12:11:43 +0200 Subject: [PATCH 039/290] kconfig: Disable config options which are not RT compatible -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=164a36eb11cebfda8c6eb1f79beb2a31e4dd9ce2 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Disable stuff which is known to have issues on RT @@ -37,3 +38,6 @@ select COMPACTION select RADIX_TREE_MULTIORDER help +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0040-lockdep-disable-self-test.patch linux-4.19.98/debian/patches-rt/0040-lockdep-disable-self-test.patch --- linux-4.19.87/debian/patches-rt/0040-lockdep-disable-self-test.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0040-lockdep-disable-self-test.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,10 +1,11 @@ +From 895584437f1a9e0847ff7ca40873fb3b8bd4be0c Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 17 Oct 2017 16:36:18 +0200 Subject: [PATCH 040/290] lockdep: disable self-test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=bff275d06e885f7b51dbac8b2e93867616852378 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -29,3 +30,6 @@ help 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.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0041-mm-Allow-only-slub-on-RT.patch linux-4.19.98/debian/patches-rt/0041-mm-Allow-only-slub-on-RT.patch --- linux-4.19.87/debian/patches-rt/0041-mm-Allow-only-slub-on-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0041-mm-Allow-only-slub-on-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From dcf8f258f572870f67b12f9d9082eebd0561d085 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:44:03 -0500 Subject: [PATCH 041/290] mm: Allow only slub on RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f04e50899757b5f50979fa506c88bd78d17c49b6 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Disable SLAB and SLOB on -RT. Only SLUB is adopted to -RT needs. @@ -31,3 +32,6 @@ help SLOB replaces the stock allocator with a drastically simpler allocator. SLOB is generally more space efficient but +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0042-locking-Disable-spin-on-owner-for-RT.patch linux-4.19.98/debian/patches-rt/0042-locking-Disable-spin-on-owner-for-RT.patch --- linux-4.19.87/debian/patches-rt/0042-locking-Disable-spin-on-owner-for-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0042-locking-Disable-spin-on-owner-for-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,10 +1,11 @@ +From 4aaf38cf9c2cd085bbee6aec83c66b52b33c9a32 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:51:45 +0200 Subject: [PATCH 042/290] locking: Disable spin on owner for RT MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fb7c18e5a29066807df152c5b7d6cd2cf66e0301 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Drop spin on owner for mutex / rwsem. We are most likely not using it but… @@ -32,3 +33,6 @@ config LOCK_SPIN_ON_OWNER def_bool y +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0043-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch linux-4.19.98/debian/patches-rt/0043-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch --- linux-4.19.87/debian/patches-rt/0043-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0043-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 5f1bd47909aca86dfc97df6f5ceecd67c755b2e8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 28 Oct 2012 13:26:09 +0000 Subject: [PATCH 043/290] rcu: Disable RCU_FAST_NO_HZ on RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c69674f542d0ccc839ba5282f2b24945882abb93 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz This uses a timer_list timer from the irq disabled guts of the idle code. Disable it for now to prevent wreckage. @@ -24,3 +25,6 @@ default n help This option permits CPUs to enter dynticks-idle state even if +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0044-rcu-make-RCU_BOOST-default-on-RT.patch linux-4.19.98/debian/patches-rt/0044-rcu-make-RCU_BOOST-default-on-RT.patch --- linux-4.19.87/debian/patches-rt/0044-rcu-make-RCU_BOOST-default-on-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0044-rcu-make-RCU_BOOST-default-on-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 980f69b6bec3356146f6c2d4e28405b3c4de4a87 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 21 Mar 2014 20:19:05 +0100 Subject: [PATCH 044/290] rcu: make RCU_BOOST default on RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ce85f19c79e9234d764888e74dc2e4e49b3a3da6 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Since it is no longer invoked from the softirq people run into OOM more often if the priority of the RCU thread is too low. Making boosting @@ -28,3 +29,6 @@ help This option boosts the priority of preempted RCU readers that block the current preemptible RCU grace period for too long. +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0045-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch linux-4.19.98/debian/patches-rt/0045-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch --- linux-4.19.87/debian/patches-rt/0045-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0045-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 6c16852b3700b4b98d7ea4b6dffbfbb5e1118c01 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 17:03:52 +0200 Subject: [PATCH 045/290] sched: Disable CONFIG_RT_GROUP_SCHED on RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=08989e0969de7b6c4727eb2a32f7c1aaa194708f +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Carsten reported problems when running: @@ -29,3 +30,6 @@ default n help This feature lets you explicitly allocate real CPU bandwidth +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0046-net-core-disable-NET_RX_BUSY_POLL.patch linux-4.19.98/debian/patches-rt/0046-net-core-disable-NET_RX_BUSY_POLL.patch --- linux-4.19.87/debian/patches-rt/0046-net-core-disable-NET_RX_BUSY_POLL.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0046-net-core-disable-NET_RX_BUSY_POLL.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,10 +1,11 @@ +From 9822fde0d385af32e0b8550600e3961cc9bb96aa Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Sat, 27 May 2017 19:02:06 +0200 Subject: [PATCH 046/290] net/core: disable NET_RX_BUSY_POLL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=86b04e83f0deb1dce266ca11efb35281d2d76566 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz sk_busy_loop() does preempt_disable() followed by a few operations which can take sleeping locks and may get long. @@ -32,3 +33,6 @@ config BQL bool +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0047-arm-disable-NEON-in-kernel-mode.patch linux-4.19.98/debian/patches-rt/0047-arm-disable-NEON-in-kernel-mode.patch --- linux-4.19.87/debian/patches-rt/0047-arm-disable-NEON-in-kernel-mode.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0047-arm-disable-NEON-in-kernel-mode.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From c628460359a533e7547887b5212d2291117eeacb Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 1 Dec 2017 10:42:03 +0100 Subject: [PATCH 047/290] arm*: disable NEON in kernel mode -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a0a5f99c6726ff40c5f1173b951484e2b41d527a +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz NEON in kernel mode is used by the crypto algorithms and raid6 code. While the raid6 code looks okay, the crypto algorithms do not: NEON @@ -160,3 +161,6 @@ crc32_pmull_algs[0].update = crc32_pmull_update; crc32_pmull_algs[1].update = crc32c_pmull_update; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0048-powerpc-Use-generic-rwsem-on-RT.patch linux-4.19.98/debian/patches-rt/0048-powerpc-Use-generic-rwsem-on-RT.patch --- linux-4.19.87/debian/patches-rt/0048-powerpc-Use-generic-rwsem-on-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0048-powerpc-Use-generic-rwsem-on-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 2b0792d20032fb077f028c433ce0575e0b2af952 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 14 Jul 2015 14:26:34 +0200 Subject: [PATCH 048/290] powerpc: Use generic rwsem on RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=58d37daded0023f403aec29501462e8499eeb016 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Use generic code which uses rtmutex @@ -27,3 +28,6 @@ config GENERIC_LOCKBREAK bool +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0049-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch linux-4.19.98/debian/patches-rt/0049-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch --- linux-4.19.87/debian/patches-rt/0049-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0049-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 59e8b4257278a94fecf207ad131920b7e1364aa7 Mon Sep 17 00:00:00 2001 From: Bogdan Purcareata Date: Fri, 24 Apr 2015 15:53:13 +0000 Subject: [PATCH 049/290] powerpc/kvm: Disable in-kernel MPIC emulation for PREEMPT_RT_FULL -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=98667cc1926223ba114f4e52611633d0d8f0af87 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -39,3 +40,6 @@ select HAVE_KVM_IRQCHIP select HAVE_KVM_IRQFD select HAVE_KVM_IRQ_ROUTING +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0050-powerpc-Disable-highmem-on-RT.patch linux-4.19.98/debian/patches-rt/0050-powerpc-Disable-highmem-on-RT.patch --- linux-4.19.87/debian/patches-rt/0050-powerpc-Disable-highmem-on-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0050-powerpc-Disable-highmem-on-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From da3f221553e2c41925af06392f6ed660d68543a7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 17:08:34 +0200 Subject: [PATCH 050/290] powerpc: Disable highmem on RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=648dcdb872f08b4c6a613140a10ee3eb6df95ed6 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The current highmem handling on -RT is not compatible and needs fixups. @@ -23,3 +24,6 @@ source kernel/Kconfig.hz +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0051-mips-Disable-highmem-on-RT.patch linux-4.19.98/debian/patches-rt/0051-mips-Disable-highmem-on-RT.patch --- linux-4.19.87/debian/patches-rt/0051-mips-Disable-highmem-on-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0051-mips-Disable-highmem-on-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 33a7e9d57de8e82532d8cdec33795907685b22e7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 17:10:12 +0200 Subject: [PATCH 051/290] mips: Disable highmem on RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=10a1793ef40f4036a0b0c4c51e9fcdc1899e64ba +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The current highmem handling on -RT is not compatible and needs fixups. @@ -11,10 +12,10 @@ 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig -index 201caf226b47..bd268302efa4 100644 +index a830a9701e50..3d5fae3891be 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -2517,7 +2517,7 @@ config MIPS_CRC_SUPPORT +@@ -2518,7 +2518,7 @@ config MIPS_CRC_SUPPORT # config HIGHMEM bool "High Memory Support" @@ -23,3 +24,6 @@ config CPU_SUPPORTS_HIGHMEM bool +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0052-x86-Use-generic-rwsem_spinlocks-on-rt.patch linux-4.19.98/debian/patches-rt/0052-x86-Use-generic-rwsem_spinlocks-on-rt.patch --- linux-4.19.87/debian/patches-rt/0052-x86-Use-generic-rwsem_spinlocks-on-rt.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0052-x86-Use-generic-rwsem_spinlocks-on-rt.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 2aeeb18ed2650e5c8d35e52ed37e51f4f112e87e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 26 Jul 2009 02:21:32 +0200 Subject: [PATCH 052/290] x86: Use generic rwsem_spinlocks on -rt -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4b707497d459b106def4745d5274422c62423fa7 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Simplifies the separation of anon_rw_semaphores and rw_semaphores for -rt. @@ -12,7 +13,7 @@ 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 04a45d6d0167..1b05ae86bdde 100644 +index e40ba59efe7f..f22e787329cf 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -264,8 +264,11 @@ config ARCH_MAY_HAVE_PC_FDC @@ -28,3 +29,6 @@ config GENERIC_CALIBRATE_DELAY def_bool y +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0053-leds-trigger-disable-CPU-trigger-on-RT.patch linux-4.19.98/debian/patches-rt/0053-leds-trigger-disable-CPU-trigger-on-RT.patch --- linux-4.19.87/debian/patches-rt/0053-leds-trigger-disable-CPU-trigger-on-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0053-leds-trigger-disable-CPU-trigger-on-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From d438ee6c55b0969d2490f97a6fc897f462f017b0 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 23 Jan 2014 14:45:59 +0100 Subject: [PATCH 053/290] leds: trigger: disable CPU trigger on -RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=07924b23a92cab26f6271e8fb312ab8062dd29a6 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz as it triggers: |CPU: 0 PID: 0 Comm: swapper Not tainted 3.12.8-rt10 #141 @@ -35,3 +36,6 @@ help 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.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0054-cpufreq-drop-K8-s-driver-from-beeing-selected.patch linux-4.19.98/debian/patches-rt/0054-cpufreq-drop-K8-s-driver-from-beeing-selected.patch --- linux-4.19.87/debian/patches-rt/0054-cpufreq-drop-K8-s-driver-from-beeing-selected.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0054-cpufreq-drop-K8-s-driver-from-beeing-selected.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 24a05d9b26a5e6f52e0e35f401fd16a50bc3cc2d Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 9 Apr 2015 15:23:01 +0200 Subject: [PATCH 054/290] cpufreq: drop K8's driver from beeing selected -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c05ad13cbd22842369324d73f538911d319b97b3 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Ralf posted a picture of a backtrace from @@ -33,3 +34,6 @@ help This adds the CPUFreq driver for K8/early Opteron/Athlon64 processors. Support for K10 and newer processors is now in acpi-cpufreq. +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0055-md-disable-bcache.patch linux-4.19.98/debian/patches-rt/0055-md-disable-bcache.patch --- linux-4.19.87/debian/patches-rt/0055-md-disable-bcache.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0055-md-disable-bcache.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,10 +1,11 @@ +From 00fd6babe97f1ea784554baabb1bc74d7f11be16 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 29 Aug 2013 11:48:57 +0200 Subject: [PATCH 055/290] md: disable bcache MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=57bf213cf62320f7d35e01f133973d9f37d06f82 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz It uses anon semaphores |drivers/md/bcache/request.c: In function ‘cached_dev_write_complete’: @@ -35,3 +36,6 @@ select CRC64 help Allows a block device to be used as cache for other devices; uses +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0056-efi-Disable-runtime-services-on-RT.patch linux-4.19.98/debian/patches-rt/0056-efi-Disable-runtime-services-on-RT.patch --- linux-4.19.87/debian/patches-rt/0056-efi-Disable-runtime-services-on-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0056-efi-Disable-runtime-services-on-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From e2d68290b3efe18e50ef23302fda76bb471d7493 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 26 Jul 2018 15:03:16 +0200 Subject: [PATCH 056/290] efi: Disable runtime services on RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b9d785862624bbbe2fd77ed8c7e1026b21c498f0 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Based on meassurements the EFI functions get_variable / get_next_variable take up to 2us which looks okay. @@ -40,3 +41,6 @@ static int __init setup_noefi(char *arg) { disable_runtime = true; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0057-printk-Add-a-printk-kill-switch.patch linux-4.19.98/debian/patches-rt/0057-printk-Add-a-printk-kill-switch.patch --- linux-4.19.87/debian/patches-rt/0057-printk-Add-a-printk-kill-switch.patch 2019-12-01 16:22:15.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0057-printk-Add-a-printk-kill-switch.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,14 +1,13 @@ +From 3d59550d2bce945d0885bb16ee747edc40521c95 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 22 Jul 2011 17:58:40 +0200 Subject: [PATCH 057/290] printk: Add a printk kill switch -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d031b0863f46321ad8e8e7f1a8131c4703f9f006 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Add a prinkt-kill-switch. This is used from (NMI) watchdog to ensure that it does not dead-lock with the early printk code. Signed-off-by: Thomas Gleixner -[Aurelien Jarno: Backport to 4.19.87 due to context changes caused by -00988218f8cb2 ("printk: lock/unlock console only for new logbuf entries")] --- include/linux/printk.h | 2 ++ kernel/printk/printk.c | 79 +++++++++++++++++++++++++++++++----------- @@ -32,7 +31,7 @@ #ifdef CONFIG_PRINTK_NMI diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c -index d0d03223b45b..289605ff56e8 100644 +index 845efadaf7ec..0214d876c22d 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -405,6 +405,58 @@ DEFINE_RAW_SPINLOCK(logbuf_lock); @@ -170,3 +169,6 @@ if (hardlockup_panic) nmi_panic(regs, "Hard LOCKUP"); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0058-printk-Add-force_early_printk-boot-param-to-help-wit.patch linux-4.19.98/debian/patches-rt/0058-printk-Add-force_early_printk-boot-param-to-help-wit.patch --- linux-4.19.87/debian/patches-rt/0058-printk-Add-force_early_printk-boot-param-to-help-wit.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0058-printk-Add-force_early_printk-boot-param-to-help-wit.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From ec95016b0067d4801b743959345d1d2b4897b4c7 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 2 Sep 2011 14:41:29 +0200 Subject: [PATCH 058/290] printk: Add "force_early_printk" boot param to help with debugging -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e71d5b7d64fa1dd11f7ef2a2bd482f704d6de200 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Gives me an option to screw printk and actually see what the machine says. @@ -16,7 +17,7 @@ 1 file changed, 7 insertions(+) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c -index 289605ff56e8..210cdac1458d 100644 +index 0214d876c22d..9a7f259dbb20 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -435,6 +435,13 @@ asmlinkage void early_printk(const char *fmt, ...) @@ -33,3 +34,6 @@ void printk_kill(void) { printk_killswitch = true; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0059-preempt-Provide-preempt_-_-no-rt-variants.patch linux-4.19.98/debian/patches-rt/0059-preempt-Provide-preempt_-_-no-rt-variants.patch --- linux-4.19.87/debian/patches-rt/0059-preempt-Provide-preempt_-_-no-rt-variants.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0059-preempt-Provide-preempt_-_-no-rt-variants.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 8cdff06e21bab2bdf3a7f633a9e22b890bc43f39 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 24 Jul 2009 12:38:56 +0200 Subject: [PATCH 059/290] preempt: Provide preempt_*_(no)rt variants -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=05ad3e257a527d9072919b02e0cff6078055eed0 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz RT needs a few preempt_disable/enable points which are not necessary otherwise. Implement variants to avoid #ifdeffery. @@ -47,3 +48,6 @@ #ifdef CONFIG_PREEMPT_NOTIFIERS struct preempt_notifier; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0060-futex-workaround-migrate_disable-enable-in-different.patch linux-4.19.98/debian/patches-rt/0060-futex-workaround-migrate_disable-enable-in-different.patch --- linux-4.19.87/debian/patches-rt/0060-futex-workaround-migrate_disable-enable-in-different.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0060-futex-workaround-migrate_disable-enable-in-different.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 4c36c4326b5f829aaabd0e2bd105c12797f16449 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 8 Mar 2017 14:23:35 +0100 Subject: [PATCH 060/290] futex: workaround migrate_disable/enable in different context -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5182d12b0ac95cf21c3206e06142566001edacc6 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz migrate_disable()/migrate_enable() takes a different path in atomic() vs !atomic() context. These little hacks ensure that we don't underflow / overflow @@ -16,10 +17,10 @@ 1 file changed, 19 insertions(+) diff --git a/kernel/futex.c b/kernel/futex.c -index afdc5eadce6e..304f07d08c95 100644 +index e75ad30aa7bc..5c8053098fc8 100644 --- a/kernel/futex.c +++ b/kernel/futex.c -@@ -2876,6 +2876,14 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, +@@ -2879,6 +2879,14 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, * before __rt_mutex_start_proxy_lock() is done. */ raw_spin_lock_irq(&q.pi_state->pi_mutex.wait_lock); @@ -34,7 +35,7 @@ spin_unlock(q.lock_ptr); /* * __rt_mutex_start_proxy_lock() unconditionally enqueues the @rt_waiter -@@ -2884,6 +2892,7 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, +@@ -2887,6 +2895,7 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, */ ret = __rt_mutex_start_proxy_lock(&q.pi_state->pi_mutex, &rt_waiter, current); raw_spin_unlock_irq(&q.pi_state->pi_mutex.wait_lock); @@ -42,7 +43,7 @@ if (ret) { if (ret == 1) -@@ -3032,11 +3041,21 @@ static int futex_unlock_pi(u32 __user *uaddr, unsigned int flags) +@@ -3035,11 +3044,21 @@ static int futex_unlock_pi(u32 __user *uaddr, unsigned int flags) * rt_waiter. Also see the WARN in wake_futex_pi(). */ raw_spin_lock_irq(&pi_state->pi_mutex.wait_lock); @@ -64,3 +65,6 @@ put_pi_state(pi_state); /* +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0061-rt-Add-local-irq-locks.patch linux-4.19.98/debian/patches-rt/0061-rt-Add-local-irq-locks.patch --- linux-4.19.87/debian/patches-rt/0061-rt-Add-local-irq-locks.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0061-rt-Add-local-irq-locks.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 2bd99b106c35f77357bcaea4546eb89085cc5ac8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 20 Jun 2011 09:03:47 +0200 Subject: [PATCH 061/290] rt: Add local irq locks -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ed800ca05696e34346bf329c70ad735f9661075b +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -335,3 +336,6 @@ /* minimum unit size, also is the maximum supported allocation size */ #define PCPU_MIN_UNIT_SIZE PFN_ALIGN(32 << 10) +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0062-locallock-provide-get-put-_locked_ptr-variants.patch linux-4.19.98/debian/patches-rt/0062-locallock-provide-get-put-_locked_ptr-variants.patch --- linux-4.19.87/debian/patches-rt/0062-locallock-provide-get-put-_locked_ptr-variants.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0062-locallock-provide-get-put-_locked_ptr-variants.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 6b3038f8d30a5cef133ed3791a44e17377c0b052 Mon Sep 17 00:00:00 2001 From: Julia Cartwright Date: Mon, 7 May 2018 08:58:56 -0500 Subject: [PATCH 062/290] locallock: provide {get,put}_locked_ptr() variants -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d7c12c0b218da8cddfca3155c6481e425552bd89 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Provide a set of locallocked accessors for pointers to per-CPU data; this is useful for dynamically-allocated per-CPU regions, for example. @@ -43,3 +44,6 @@ #define local_lock_cpu(lvar) get_cpu() #define local_unlock_cpu(lvar) put_cpu() +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0063-mm-scatterlist-Do-not-disable-irqs-on-RT.patch linux-4.19.98/debian/patches-rt/0063-mm-scatterlist-Do-not-disable-irqs-on-RT.patch --- linux-4.19.87/debian/patches-rt/0063-mm-scatterlist-Do-not-disable-irqs-on-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0063-mm-scatterlist-Do-not-disable-irqs-on-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From ed4646fb9f4dde9fa5e97aadbd15073babb2fdb5 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:44:34 -0500 Subject: [PATCH 063/290] mm/scatterlist: Do not disable irqs on RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=be6d4affd5215ceaca4642942e1914cb32b9f6e2 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz For -RT it is enough to keep pagefault disabled (which is currently handled by kmap_atomic()). @@ -24,3 +25,6 @@ kunmap_atomic(miter->addr); } else kunmap(miter->page); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0064-signal-x86-Delay-calling-signals-in-atomic.patch linux-4.19.98/debian/patches-rt/0064-signal-x86-Delay-calling-signals-in-atomic.patch --- linux-4.19.87/debian/patches-rt/0064-signal-x86-Delay-calling-signals-in-atomic.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0064-signal-x86-Delay-calling-signals-in-atomic.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 61d171cababe91bd799f750f2c88eca687b65d51 Mon Sep 17 00:00:00 2001 From: Oleg Nesterov Date: Tue, 14 Jul 2015 14:26:34 +0200 Subject: [PATCH 064/290] signal/x86: Delay calling signals in atomic -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=43a0a930bf46705aab6bab3928e1644575a02148 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -94,10 +95,10 @@ size_t sas_ss_size; unsigned int sas_ss_flags; diff --git a/kernel/signal.c b/kernel/signal.c -index d5a9646b3538..56edb0580a3a 100644 +index 6b9d4bbfa9df..3565221b4fac 100644 --- a/kernel/signal.c +++ b/kernel/signal.c -@@ -1268,8 +1268,8 @@ int do_send_sig_info(int sig, struct siginfo *info, struct task_struct *p, +@@ -1272,8 +1272,8 @@ int do_send_sig_info(int sig, struct siginfo *info, struct task_struct *p, * We don't want to have recursive SIGSEGV's etc, for example, * that is why we also clear SIGNAL_UNKILLABLE. */ @@ -108,7 +109,7 @@ { unsigned long int flags; int ret, blocked, ignored; -@@ -1298,6 +1298,39 @@ force_sig_info(int sig, struct siginfo *info, struct task_struct *t) +@@ -1302,6 +1302,39 @@ force_sig_info(int sig, struct siginfo *info, struct task_struct *t) return ret; } @@ -148,3 +149,6 @@ /* * Nuke all other threads in the group. */ +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0065-x86-signal-delay-calling-signals-on-32bit.patch linux-4.19.98/debian/patches-rt/0065-x86-signal-delay-calling-signals-on-32bit.patch --- linux-4.19.87/debian/patches-rt/0065-x86-signal-delay-calling-signals-on-32bit.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0065-x86-signal-delay-calling-signals-on-32bit.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 159a99e63d62232f0de5a25fe8d92e4e31140c29 Mon Sep 17 00:00:00 2001 From: Yang Shi Date: Thu, 10 Dec 2015 10:58:51 -0800 Subject: [PATCH 065/290] x86/signal: delay calling signals on 32bit -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=dd9ded5353246ce29f11b52eb93e640de36c8ef7 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz When running some ptrace single step tests on x86-32 machine, the below problem is triggered: @@ -43,3 +44,6 @@ #define ARCH_RT_DELAYS_SIGNAL_SEND #endif +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0066-buffer_head-Replace-bh_uptodate_lock-for-rt.patch linux-4.19.98/debian/patches-rt/0066-buffer_head-Replace-bh_uptodate_lock-for-rt.patch --- linux-4.19.87/debian/patches-rt/0066-buffer_head-Replace-bh_uptodate_lock-for-rt.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0066-buffer_head-Replace-bh_uptodate_lock-for-rt.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 5c50a0cef22d58bcda53aae4df00e10ce6e04903 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 18 Mar 2011 09:18:52 +0100 Subject: [PATCH 066/290] buffer_head: Replace bh_uptodate_lock for -rt -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ce9849ace4af19ce619849a3e33f1569442832c3 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Wrap the bit_spin_lock calls into a separate inline and add the RT replacements with a real spinlock. @@ -191,3 +192,6 @@ /* * macro tricks to expand the set_buffer_foo(), clear_buffer_foo() * and buffer_foo() functions. +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0067-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch linux-4.19.98/debian/patches-rt/0067-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch --- linux-4.19.87/debian/patches-rt/0067-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0067-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From f3f66f83edae0ab6ff7569d6395c5ee3833e8fba Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 18 Mar 2011 10:11:25 +0100 Subject: [PATCH 067/290] fs: jbd/jbd2: Make state lock and journal head lock rt safe -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b440221d5e434ba95db2a0b09d00162e95b55d93 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz bit_spin_locks break under RT. @@ -44,7 +45,7 @@ } diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h -index 1cf1b9b8e975..2e3266736094 100644 +index 268f3000d1b3..8f5d6ecb802e 100644 --- a/include/linux/jbd2.h +++ b/include/linux/jbd2.h @@ -347,32 +347,56 @@ static inline struct journal_head *bh2jh(struct buffer_head *bh) @@ -104,3 +105,6 @@ } #define J_ASSERT(assert) BUG_ON(!(assert)) +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0068-list_bl-Make-list-head-locking-RT-safe.patch linux-4.19.98/debian/patches-rt/0068-list_bl-Make-list-head-locking-RT-safe.patch --- linux-4.19.87/debian/patches-rt/0068-list_bl-Make-list-head-locking-RT-safe.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0068-list_bl-Make-list-head-locking-RT-safe.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 3023eb220840f37bbc9d31e9959de567cb1aaaae Mon Sep 17 00:00:00 2001 From: Paul Gortmaker Date: Fri, 21 Jun 2013 15:07:25 -0400 Subject: [PATCH 068/290] list_bl: Make list head locking RT safe -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7de4956b65f4b43f98eca7ecd5400c01df56ba53 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz As per changes in include/linux/jbd_common.h for avoiding the bit_spin_locks on RT ("fs: jbd/jbd2: Make state lock and journal @@ -115,3 +116,6 @@ } static inline bool hlist_bl_is_locked(struct hlist_bl_head *b) +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0069-list_bl-fixup-bogus-lockdep-warning.patch linux-4.19.98/debian/patches-rt/0069-list_bl-fixup-bogus-lockdep-warning.patch --- linux-4.19.87/debian/patches-rt/0069-list_bl-fixup-bogus-lockdep-warning.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0069-list_bl-fixup-bogus-lockdep-warning.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 819674251514107628d4f10edb7514ab08bb57a9 Mon Sep 17 00:00:00 2001 From: Josh Cartwright Date: Thu, 31 Mar 2016 00:04:25 -0500 Subject: [PATCH 069/290] list_bl: fixup bogus lockdep warning -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8f7a92e93b3e1260267a4fbe03c549dbe23303fe +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz At first glance, the use of 'static inline' seems appropriate for INIT_HLIST_BL_HEAD(). @@ -98,3 +99,6 @@ static inline void INIT_HLIST_BL_NODE(struct hlist_bl_node *h) { +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0070-genirq-Disable-irqpoll-on-rt.patch linux-4.19.98/debian/patches-rt/0070-genirq-Disable-irqpoll-on-rt.patch --- linux-4.19.87/debian/patches-rt/0070-genirq-Disable-irqpoll-on-rt.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0070-genirq-Disable-irqpoll-on-rt.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 672f4d8462083915084e695c9ed600d32fbfcd52 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:57 -0500 Subject: [PATCH 070/290] genirq: Disable irqpoll on -rt -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=470aeaaf1d6efae4d4a409a9d8143c408474f8b7 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Creates long latencies for no value @@ -37,3 +38,6 @@ irqfixup = 2; printk(KERN_WARNING "Misrouted IRQ fixup and polling support " "enabled\n"); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0071-genirq-Force-interrupt-thread-on-RT.patch linux-4.19.98/debian/patches-rt/0071-genirq-Force-interrupt-thread-on-RT.patch --- linux-4.19.87/debian/patches-rt/0071-genirq-Force-interrupt-thread-on-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0071-genirq-Force-interrupt-thread-on-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From a2049c3364eae5d13eaaa22d9212c631faf58236 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 3 Apr 2011 11:57:29 +0200 Subject: [PATCH 071/290] genirq: Force interrupt thread on RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e83f2ae9e4c5b28fb9364ca7ee72d3f721f7f4ef +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Force threaded_irqs and optimize the code (force_irqthreads) in regard to this. @@ -48,3 +49,6 @@ #endif static void __synchronize_hardirq(struct irq_desc *desc, bool sync_chip) +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0072-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch linux-4.19.98/debian/patches-rt/0072-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch --- linux-4.19.87/debian/patches-rt/0072-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0072-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From e8c4b5df495a54c8c5fdf5c34fcbb07a2780e3bd Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Mon, 28 May 2018 15:24:20 +0200 Subject: [PATCH 072/290] Split IRQ-off and zone->lock while freeing pages from PCP list #1 -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6fdb74e76cbdf28ba0fc148ff245ebe35ffcb059 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Split the IRQ-off section while accessing the PCP list from zone->lock while freeing pages. @@ -17,7 +18,7 @@ 1 file changed, 52 insertions(+), 30 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index 2d04bd2e1ced..332b48f38d1e 100644 +index 74fb5c338e8f..3b51ad4a6089 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1095,7 +1095,7 @@ static inline void prefetch_buddy(struct page *page) @@ -111,7 +112,7 @@ } static void free_one_page(struct zone *zone, -@@ -2536,13 +2543,18 @@ void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp) +@@ -2544,13 +2551,18 @@ void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp) { unsigned long flags; int to_drain, batch; @@ -131,7 +132,7 @@ } #endif -@@ -2558,14 +2570,21 @@ static void drain_pages_zone(unsigned int cpu, struct zone *zone) +@@ -2566,14 +2578,21 @@ static void drain_pages_zone(unsigned int cpu, struct zone *zone) unsigned long flags; struct per_cpu_pageset *pset; struct per_cpu_pages *pcp; @@ -155,7 +156,7 @@ } /* -@@ -2787,7 +2806,10 @@ static void free_unref_page_commit(struct page *page, unsigned long pfn) +@@ -2795,7 +2814,10 @@ static void free_unref_page_commit(struct page *page, unsigned long pfn) pcp->count++; if (pcp->count >= pcp->high) { unsigned long batch = READ_ONCE(pcp->batch); @@ -167,3 +168,6 @@ } } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0073-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch linux-4.19.98/debian/patches-rt/0073-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch --- linux-4.19.87/debian/patches-rt/0073-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0073-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From acc79cbb82bc621f748cafcab53e6038456ee194 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Mon, 28 May 2018 15:24:21 +0200 Subject: [PATCH 073/290] Split IRQ-off and zone->lock while freeing pages from PCP list #2 -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4804f6aa4033e6fc037ec95843c4f4a7768b9d27 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Split the IRQ-off section while accessing the PCP list from zone->lock while freeing pages. @@ -17,7 +18,7 @@ 1 file changed, 50 insertions(+), 10 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index 332b48f38d1e..55cee9a17a36 100644 +index 3b51ad4a6089..49f7bb170b4d 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1105,8 +1105,8 @@ static inline void prefetch_buddy(struct page *page) @@ -59,7 +60,7 @@ __free_one_page(page, page_to_pfn(page), zone, 0, mt); trace_mm_page_pcpu_drain(page, 0, mt); } -@@ -2554,7 +2569,7 @@ void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp) +@@ -2562,7 +2577,7 @@ void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp) local_irq_restore(flags); if (to_drain > 0) @@ -68,7 +69,7 @@ } #endif -@@ -2584,7 +2599,7 @@ static void drain_pages_zone(unsigned int cpu, struct zone *zone) +@@ -2592,7 +2607,7 @@ static void drain_pages_zone(unsigned int cpu, struct zone *zone) local_irq_restore(flags); if (count) @@ -77,7 +78,7 @@ } /* -@@ -2777,7 +2792,8 @@ static bool free_unref_page_prepare(struct page *page, unsigned long pfn) +@@ -2785,7 +2800,8 @@ static bool free_unref_page_prepare(struct page *page, unsigned long pfn) return true; } @@ -87,7 +88,7 @@ { struct zone *zone = page_zone(page); struct per_cpu_pages *pcp; -@@ -2806,10 +2822,8 @@ static void free_unref_page_commit(struct page *page, unsigned long pfn) +@@ -2814,10 +2830,8 @@ static void free_unref_page_commit(struct page *page, unsigned long pfn) pcp->count++; if (pcp->count >= pcp->high) { unsigned long batch = READ_ONCE(pcp->batch); @@ -99,7 +100,7 @@ } } -@@ -2820,13 +2834,17 @@ void free_unref_page(struct page *page) +@@ -2828,13 +2842,17 @@ void free_unref_page(struct page *page) { unsigned long flags; unsigned long pfn = page_to_pfn(page); @@ -118,7 +119,7 @@ } /* -@@ -2837,6 +2855,11 @@ void free_unref_page_list(struct list_head *list) +@@ -2845,6 +2863,11 @@ void free_unref_page_list(struct list_head *list) struct page *page, *next; unsigned long flags, pfn; int batch_count = 0; @@ -130,7 +131,7 @@ /* Prepare pages for freeing */ list_for_each_entry_safe(page, next, list, lru) { -@@ -2849,10 +2872,12 @@ void free_unref_page_list(struct list_head *list) +@@ -2857,10 +2880,12 @@ void free_unref_page_list(struct list_head *list) local_irq_save(flags); list_for_each_entry_safe(page, next, list, lru) { unsigned long pfn = page_private(page); @@ -144,7 +145,7 @@ /* * Guard against excessive IRQ disabled times when we get -@@ -2865,6 +2890,21 @@ void free_unref_page_list(struct list_head *list) +@@ -2873,6 +2898,21 @@ void free_unref_page_list(struct list_head *list) } } local_irq_restore(flags); @@ -166,3 +167,6 @@ } /* +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0074-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch linux-4.19.98/debian/patches-rt/0074-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch --- linux-4.19.87/debian/patches-rt/0074-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0074-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 110ed1923c52a4d9ec01080e38ec6a48b9254b32 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 28 May 2018 15:24:22 +0200 Subject: [PATCH 074/290] mm/SLxB: change list_lock to raw_spinlock_t -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b21ef7083e9bc886ce555c1b63633dd1ab69e039 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -613,3 +614,6 @@ } for (i = 0; i < t.count; i++) { +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0075-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch linux-4.19.98/debian/patches-rt/0075-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch --- linux-4.19.87/debian/patches-rt/0075-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0075-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 4a3bfadbedbdbba560abbf1073deacf963fcbc6a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 21 Jun 2018 17:29:19 +0200 Subject: [PATCH 075/290] mm/SLUB: delay giving back empty slubs to IRQ enabled regions -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=89376b48dd9f6ddbfa127c973136e8308ea2f47d +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz __free_slab() is invoked with disabled interrupts which increases the irq-off time while __free_pages() is doing the work. @@ -217,3 +218,6 @@ if (debug_guardpage_minorder()) slub_max_order = 0; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0076-mm-page_alloc-rt-friendly-per-cpu-pages.patch linux-4.19.98/debian/patches-rt/0076-mm-page_alloc-rt-friendly-per-cpu-pages.patch --- linux-4.19.87/debian/patches-rt/0076-mm-page_alloc-rt-friendly-per-cpu-pages.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0076-mm-page_alloc-rt-friendly-per-cpu-pages.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From b2dcde8f1c9f1175f30723fc2d3fe6aaabe087ea Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:37 -0500 Subject: [PATCH 076/290] mm: page_alloc: rt-friendly per-cpu pages -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8d07a483196aff57e77d03c97a32ee47cb7af0d1 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz rt-friendly per-cpu pages: convert the irqs-off per-cpu locking method into a preemptible, explicit-per-cpu-locks method. @@ -17,7 +18,7 @@ 1 file changed, 43 insertions(+), 20 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index 55cee9a17a36..99b3861b1ef6 100644 +index 49f7bb170b4d..bff6c04eb359 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -60,6 +60,7 @@ @@ -60,7 +61,7 @@ } static void __init __free_pages_boot_core(struct page *page, unsigned int order) -@@ -2560,13 +2573,13 @@ void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp) +@@ -2568,13 +2581,13 @@ void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp) int to_drain, batch; LIST_HEAD(dst); @@ -76,7 +77,7 @@ if (to_drain > 0) free_pcppages_bulk(zone, &dst, false); -@@ -2588,7 +2601,7 @@ static void drain_pages_zone(unsigned int cpu, struct zone *zone) +@@ -2596,7 +2609,7 @@ static void drain_pages_zone(unsigned int cpu, struct zone *zone) LIST_HEAD(dst); int count; @@ -85,7 +86,7 @@ pset = per_cpu_ptr(zone->pageset, cpu); pcp = &pset->pcp; -@@ -2596,7 +2609,7 @@ static void drain_pages_zone(unsigned int cpu, struct zone *zone) +@@ -2604,7 +2617,7 @@ static void drain_pages_zone(unsigned int cpu, struct zone *zone) if (count) isolate_pcp_pages(count, pcp, &dst); @@ -94,7 +95,7 @@ if (count) free_pcppages_bulk(zone, &dst, false); -@@ -2634,6 +2647,7 @@ void drain_local_pages(struct zone *zone) +@@ -2642,6 +2655,7 @@ void drain_local_pages(struct zone *zone) drain_pages(cpu); } @@ -102,7 +103,7 @@ static void drain_local_pages_wq(struct work_struct *work) { /* -@@ -2647,6 +2661,7 @@ static void drain_local_pages_wq(struct work_struct *work) +@@ -2655,6 +2669,7 @@ static void drain_local_pages_wq(struct work_struct *work) drain_local_pages(NULL); preempt_enable(); } @@ -110,7 +111,7 @@ /* * Spill all the per-cpu pages from all CPUs back into the buddy allocator. -@@ -2713,7 +2728,14 @@ void drain_all_pages(struct zone *zone) +@@ -2721,7 +2736,14 @@ void drain_all_pages(struct zone *zone) else cpumask_clear_cpu(cpu, &cpus_with_pcps); } @@ -126,7 +127,7 @@ for_each_cpu(cpu, &cpus_with_pcps) { struct work_struct *work = per_cpu_ptr(&pcpu_drain, cpu); INIT_WORK(work, drain_local_pages_wq); -@@ -2721,6 +2743,7 @@ void drain_all_pages(struct zone *zone) +@@ -2729,6 +2751,7 @@ void drain_all_pages(struct zone *zone) } for_each_cpu(cpu, &cpus_with_pcps) flush_work(per_cpu_ptr(&pcpu_drain, cpu)); @@ -134,7 +135,7 @@ mutex_unlock(&pcpu_drain_mutex); } -@@ -2840,9 +2863,9 @@ void free_unref_page(struct page *page) +@@ -2848,9 +2871,9 @@ void free_unref_page(struct page *page) if (!free_unref_page_prepare(page, pfn)) return; @@ -146,7 +147,7 @@ if (!list_empty(&dst)) free_pcppages_bulk(zone, &dst, false); } -@@ -2869,7 +2892,7 @@ void free_unref_page_list(struct list_head *list) +@@ -2877,7 +2900,7 @@ void free_unref_page_list(struct list_head *list) set_page_private(page, pfn); } @@ -155,7 +156,7 @@ list_for_each_entry_safe(page, next, list, lru) { unsigned long pfn = page_private(page); enum zone_type type; -@@ -2884,12 +2907,12 @@ void free_unref_page_list(struct list_head *list) +@@ -2892,12 +2915,12 @@ void free_unref_page_list(struct list_head *list) * a large list of pages to free. */ if (++batch_count == SWAP_CLUSTER_MAX) { @@ -171,7 +172,7 @@ for (i = 0; i < __MAX_NR_ZONES; ) { struct page *page; -@@ -3038,7 +3061,7 @@ static struct page *rmqueue_pcplist(struct zone *preferred_zone, +@@ -3046,7 +3069,7 @@ static struct page *rmqueue_pcplist(struct zone *preferred_zone, struct page *page; unsigned long flags; @@ -180,7 +181,7 @@ pcp = &this_cpu_ptr(zone->pageset)->pcp; list = &pcp->lists[migratetype]; page = __rmqueue_pcplist(zone, migratetype, pcp, list); -@@ -3046,7 +3069,7 @@ static struct page *rmqueue_pcplist(struct zone *preferred_zone, +@@ -3054,7 +3077,7 @@ static struct page *rmqueue_pcplist(struct zone *preferred_zone, __count_zid_vm_events(PGALLOC, page_zonenum(page), 1 << order); zone_statistics(preferred_zone, zone); } @@ -189,7 +190,7 @@ return page; } -@@ -3073,7 +3096,7 @@ struct page *rmqueue(struct zone *preferred_zone, +@@ -3081,7 +3104,7 @@ struct page *rmqueue(struct zone *preferred_zone, * allocate greater than order-1 page units with __GFP_NOFAIL. */ WARN_ON_ONCE((gfp_flags & __GFP_NOFAIL) && (order > 1)); @@ -198,7 +199,7 @@ do { page = NULL; -@@ -3093,14 +3116,14 @@ struct page *rmqueue(struct zone *preferred_zone, +@@ -3101,14 +3124,14 @@ struct page *rmqueue(struct zone *preferred_zone, __count_zid_vm_events(PGALLOC, page_zonenum(page), 1 << order); zone_statistics(preferred_zone, zone); @@ -215,7 +216,7 @@ return NULL; } -@@ -8096,7 +8119,7 @@ void zone_pcp_reset(struct zone *zone) +@@ -8099,7 +8122,7 @@ void zone_pcp_reset(struct zone *zone) struct per_cpu_pageset *pset; /* avoid races with drain_pages() */ @@ -224,7 +225,7 @@ if (zone->pageset != &boot_pageset) { for_each_online_cpu(cpu) { pset = per_cpu_ptr(zone->pageset, cpu); -@@ -8105,7 +8128,7 @@ void zone_pcp_reset(struct zone *zone) +@@ -8108,7 +8131,7 @@ void zone_pcp_reset(struct zone *zone) free_percpu(zone->pageset); zone->pageset = &boot_pageset; } @@ -233,3 +234,6 @@ } #ifdef CONFIG_MEMORY_HOTREMOVE +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0077-mm-swap-Convert-to-percpu-locked.patch linux-4.19.98/debian/patches-rt/0077-mm-swap-Convert-to-percpu-locked.patch --- linux-4.19.87/debian/patches-rt/0077-mm-swap-Convert-to-percpu-locked.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0077-mm-swap-Convert-to-percpu-locked.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 3350882474566687c3916a408fd9097ef4656f0b Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:51 -0500 Subject: [PATCH 077/290] mm/swap: Convert to percpu locked -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=22720b62b26a1291196199a2ac4f37ba1970d076 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Replace global locks (get_cpu + local_irq_save) with "local_locks()". Currently there is one of for "rotate" and one for "swap". @@ -16,7 +17,7 @@ 4 files changed, 30 insertions(+), 19 deletions(-) diff --git a/include/linux/swap.h b/include/linux/swap.h -index 7bd0a6f2ac2b..e643672fa802 100644 +index ee8f9f554a9e..2ad000e362bd 100644 --- a/include/linux/swap.h +++ b/include/linux/swap.h @@ -12,6 +12,7 @@ @@ -55,10 +56,10 @@ cc->last_migrated_pfn = 0; } diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index 99b3861b1ef6..1679f5883307 100644 +index bff6c04eb359..f7d30f995bc5 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -7207,8 +7207,9 @@ void __init free_area_init(unsigned long *zones_size) +@@ -7212,8 +7212,9 @@ void __init free_area_init(unsigned long *zones_size) static int page_alloc_cpu_dead(unsigned int cpu) { @@ -205,3 +206,6 @@ } #ifdef CONFIG_SMP +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0078-mm-perform-lru_add_drain_all-remotely.patch linux-4.19.98/debian/patches-rt/0078-mm-perform-lru_add_drain_all-remotely.patch --- linux-4.19.87/debian/patches-rt/0078-mm-perform-lru_add_drain_all-remotely.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0078-mm-perform-lru_add_drain_all-remotely.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 86cb58e9a8ac63e967bb1b1cfce05718c20cacb8 Mon Sep 17 00:00:00 2001 From: Luiz Capitulino Date: Fri, 27 May 2016 15:03:28 +0200 Subject: [PATCH 078/290] mm: perform lru_add_drain_all() remotely -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=35d05460786e3b7a320e89aae8a90ae5ee7c758f +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz lru_add_drain_all() works by scheduling lru_add_drain_cpu() to run on all CPUs that have non-empty LRU pagevecs and then waiting for @@ -103,3 +104,6 @@ mutex_unlock(&lock); } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0079-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch linux-4.19.98/debian/patches-rt/0079-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch --- linux-4.19.87/debian/patches-rt/0079-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0079-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 23db125cbdadfa2ec3477b09b2735a77aa683c64 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:13 -0500 Subject: [PATCH 079/290] mm/vmstat: Protect per cpu variables with preempt disable on RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1b7191af05332f5fa21d4da8c3c4fb7c35bdb0fe +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -40,7 +41,7 @@ static inline void count_vm_events(enum vm_event_item item, long delta) diff --git a/mm/vmstat.c b/mm/vmstat.c -index 4a387937f9f5..0cd11c5e3999 100644 +index ce81b0a7d018..cfa2a3bbdf91 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c @@ -320,6 +320,7 @@ void __mod_zone_page_state(struct zone *zone, enum zone_stat_item item, @@ -139,3 +140,6 @@ } void __dec_zone_page_state(struct page *page, enum zone_stat_item item) +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0080-ARM-Initialize-split-page-table-locks-for-vector-pag.patch linux-4.19.98/debian/patches-rt/0080-ARM-Initialize-split-page-table-locks-for-vector-pag.patch --- linux-4.19.87/debian/patches-rt/0080-ARM-Initialize-split-page-table-locks-for-vector-pag.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0080-ARM-Initialize-split-page-table-locks-for-vector-pag.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 361d54ae02b6b48ee93c86c2abdeee149a8d04be Mon Sep 17 00:00:00 2001 From: Frank Rowand Date: Sat, 1 Oct 2011 18:58:13 -0700 Subject: [PATCH 080/290] ARM: Initialize split page table locks for vector page -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f092992f9980fcf99ec12820e7350851848fef8a +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Without this patch, ARM can not use SPLIT_PTLOCK_CPUS if PREEMPT_RT_FULL=y because vectors_user_mapping() creates a @@ -70,3 +71,6 @@ #ifdef CONFIG_KUSER_HELPERS /* * The vectors page is always readable from user space for the +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0081-mm-Enable-SLUB-for-RT.patch linux-4.19.98/debian/patches-rt/0081-mm-Enable-SLUB-for-RT.patch --- linux-4.19.87/debian/patches-rt/0081-mm-Enable-SLUB-for-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0081-mm-Enable-SLUB-for-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 4c7a8a89b8b16cb2733dc45aae256c0fda1c34c8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 25 Oct 2012 10:32:35 +0100 Subject: [PATCH 081/290] mm: Enable SLUB for RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6ee23601786b2fb75dfb6aaed6da438321511261 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Avoid the memory allocation in IRQ section @@ -36,3 +37,6 @@ } /* +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0082-slub-Enable-irqs-for-__GFP_WAIT.patch linux-4.19.98/debian/patches-rt/0082-slub-Enable-irqs-for-__GFP_WAIT.patch --- linux-4.19.87/debian/patches-rt/0082-slub-Enable-irqs-for-__GFP_WAIT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0082-slub-Enable-irqs-for-__GFP_WAIT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 2d3739e2e7cae9db7fe6affbc747b7f06dc42613 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 9 Jan 2013 12:08:15 +0100 Subject: [PATCH 082/290] slub: Enable irqs for __GFP_WAIT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0d2a7aef26031e05ab0f7d78fc15f838459aa348 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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. @@ -42,3 +43,6 @@ local_irq_disable(); if (!page) return NULL; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0083-slub-Disable-SLUB_CPU_PARTIAL.patch linux-4.19.98/debian/patches-rt/0083-slub-Disable-SLUB_CPU_PARTIAL.patch --- linux-4.19.87/debian/patches-rt/0083-slub-Disable-SLUB_CPU_PARTIAL.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0083-slub-Disable-SLUB_CPU_PARTIAL.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From d4993fa5aea9eed8f9fce53e94e226f2504eda18 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 15 Apr 2015 19:00:47 +0200 Subject: [PATCH 083/290] slub: Disable SLUB_CPU_PARTIAL -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=31c858cb39a8bcd260d166bc3963e3dfe201c547 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -48,3 +49,6 @@ bool "SLUB per cpu partial cache" help Per cpu partial caches accellerate objects allocation and freeing +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0084-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch linux-4.19.98/debian/patches-rt/0084-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch --- linux-4.19.87/debian/patches-rt/0084-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0084-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 17e8b2696494bfeee71425d3acac4608ac97b45d Mon Sep 17 00:00:00 2001 From: Yang Shi Date: Wed, 30 Oct 2013 11:48:33 -0700 Subject: [PATCH 084/290] mm/memcontrol: Don't call schedule_work_on in preemption disabled context -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c5685864e74efa64dff382c12b2b36c2b7d27c2f +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The following trace is triggered when running ltp oom test cases: @@ -48,7 +49,7 @@ 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c -index 65da189a433b..cc5172096d2d 100644 +index 3a3d109dce21..cf9e81fb342d 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -2082,7 +2082,7 @@ static void drain_all_stock(struct mem_cgroup *root_memcg) @@ -69,3 +70,6 @@ mutex_unlock(&percpu_charge_mutex); } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0085-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch linux-4.19.98/debian/patches-rt/0085-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch --- linux-4.19.87/debian/patches-rt/0085-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0085-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 43548b6188b27097898381e2f1548ff656f4d127 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 28 Jan 2015 17:14:16 +0100 Subject: [PATCH 085/290] mm/memcontrol: Replace local_irq_disable with local locks -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=37c842416ddb1f501d2a36a2504945b5d79e4a5d +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz There are a few local_irq_disable() which then take sleeping locks. This patch converts them local locks. @@ -13,7 +14,7 @@ 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c -index cc5172096d2d..90e67c468e76 100644 +index cf9e81fb342d..421ac74450f6 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -69,6 +69,7 @@ @@ -33,7 +34,7 @@ /* Whether legacy memory+swap accounting is active */ static bool do_memsw_account(void) { -@@ -4913,12 +4916,12 @@ static int mem_cgroup_move_account(struct page *page, +@@ -4922,12 +4925,12 @@ static int mem_cgroup_move_account(struct page *page, ret = 0; @@ -48,7 +49,7 @@ out_unlock: unlock_page(page); out: -@@ -6037,10 +6040,10 @@ void mem_cgroup_commit_charge(struct page *page, struct mem_cgroup *memcg, +@@ -6046,10 +6049,10 @@ void mem_cgroup_commit_charge(struct page *page, struct mem_cgroup *memcg, commit_charge(page, memcg, lrucare); @@ -61,7 +62,7 @@ if (do_memsw_account() && PageSwapCache(page)) { swp_entry_t entry = { .val = page_private(page) }; -@@ -6109,7 +6112,7 @@ static void uncharge_batch(const struct uncharge_gather *ug) +@@ -6118,7 +6121,7 @@ static void uncharge_batch(const struct uncharge_gather *ug) memcg_oom_recover(ug->memcg); } @@ -70,7 +71,7 @@ __mod_memcg_state(ug->memcg, MEMCG_RSS, -ug->nr_anon); __mod_memcg_state(ug->memcg, MEMCG_CACHE, -ug->nr_file); __mod_memcg_state(ug->memcg, MEMCG_RSS_HUGE, -ug->nr_huge); -@@ -6117,7 +6120,7 @@ static void uncharge_batch(const struct uncharge_gather *ug) +@@ -6126,7 +6129,7 @@ static void uncharge_batch(const struct uncharge_gather *ug) __count_memcg_events(ug->memcg, PGPGOUT, ug->pgpgout); __this_cpu_add(ug->memcg->stat_cpu->nr_page_events, nr_pages); memcg_check_events(ug->memcg, ug->dummy_page); @@ -79,7 +80,7 @@ if (!mem_cgroup_is_root(ug->memcg)) css_put_many(&ug->memcg->css, nr_pages); -@@ -6280,10 +6283,10 @@ void mem_cgroup_migrate(struct page *oldpage, struct page *newpage) +@@ -6289,10 +6292,10 @@ void mem_cgroup_migrate(struct page *oldpage, struct page *newpage) commit_charge(newpage, memcg, false); @@ -92,7 +93,7 @@ } DEFINE_STATIC_KEY_FALSE(memcg_sockets_enabled_key); -@@ -6475,6 +6478,7 @@ void mem_cgroup_swapout(struct page *page, swp_entry_t entry) +@@ -6484,6 +6487,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; @@ -100,7 +101,7 @@ VM_BUG_ON_PAGE(PageLRU(page), page); VM_BUG_ON_PAGE(page_count(page), page); -@@ -6520,13 +6524,17 @@ void mem_cgroup_swapout(struct page *page, swp_entry_t entry) +@@ -6529,13 +6533,17 @@ 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. */ @@ -118,3 +119,6 @@ } /** +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0086-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch linux-4.19.98/debian/patches-rt/0086-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch --- linux-4.19.87/debian/patches-rt/0086-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0086-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 6b63a10dc279d7aa3134caeb249969ae7af3f010 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Tue, 22 Mar 2016 11:16:09 +0100 Subject: [PATCH 086/290] mm/zsmalloc: copy with get_cpu_var() and locking -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c50e41d890c9520ee9c04a91becc29f12bdfca6c +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz get_cpu_var() disables preemption and triggers a might_sleep() splat later. This is replaced with get_locked_var(). @@ -17,7 +18,7 @@ 1 file changed, 74 insertions(+), 6 deletions(-) diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c -index 4b9063d12b93..1a2f6c13acbd 100644 +index 85cc29c93d93..63e83b47fa99 100644 --- a/mm/zsmalloc.c +++ b/mm/zsmalloc.c @@ -56,6 +56,7 @@ @@ -197,3 +198,6 @@ migrate_read_unlock(zspage); unpin_tag(handle); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0087-x86-mm-pat-disable-preemption-__split_large_page-aft.patch linux-4.19.98/debian/patches-rt/0087-x86-mm-pat-disable-preemption-__split_large_page-aft.patch --- linux-4.19.87/debian/patches-rt/0087-x86-mm-pat-disable-preemption-__split_large_page-aft.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0087-x86-mm-pat-disable-preemption-__split_large_page-aft.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 3596d839ec05c759a409ec3c9fb058b89bc43de8 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 11 Dec 2018 21:53:43 +0100 Subject: [PATCH 087/290] x86/mm/pat: disable preemption __split_large_page() after spin_lock() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=bfec83b70be39a512d8519c2bb34f4cb620cb6b3 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Commit "x86/mm/pat: Disable preemption around __flush_tlb_all()" added a warning if __flush_tlb_all() is invoked in preemptible context. On !RT @@ -56,3 +57,6 @@ spin_unlock(&pgd_lock); return 0; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0088-radix-tree-use-local-locks.patch linux-4.19.98/debian/patches-rt/0088-radix-tree-use-local-locks.patch --- linux-4.19.87/debian/patches-rt/0088-radix-tree-use-local-locks.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0088-radix-tree-use-local-locks.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 2ca56bb81f83515755165c1c638655a4120b1b06 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 25 Jan 2017 16:34:27 +0100 Subject: [PATCH 088/290] radix-tree: use local locks -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b762851e97a0699769d8cac2a637edd30c800d1f +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The preload functionality uses per-CPU variables and preempt-disable to ensure that it does not switch CPUs during its usage. This patch adds @@ -18,7 +19,7 @@ 3 files changed, 26 insertions(+), 18 deletions(-) diff --git a/include/linux/idr.h b/include/linux/idr.h -index 3ec8628ce17f..54af68158f7d 100644 +index b6c6151c7446..81c9df5c04fa 100644 --- a/include/linux/idr.h +++ b/include/linux/idr.h @@ -169,10 +169,7 @@ static inline bool idr_is_empty(const struct idr *idr) @@ -59,7 +60,7 @@ int radix_tree_split(struct radix_tree_root *, unsigned long index, unsigned new_order); diff --git a/lib/radix-tree.c b/lib/radix-tree.c -index bc03ecc4dfd2..44257463f683 100644 +index e5cab5c4e383..9309e813bc1f 100644 --- a/lib/radix-tree.c +++ b/lib/radix-tree.c @@ -38,7 +38,7 @@ @@ -170,3 +171,6 @@ if (!this_cpu_read(ida_bitmap)) { struct ida_bitmap *bitmap = kzalloc(sizeof(*bitmap), gfp); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0089-timers-Prepare-for-full-preemption.patch linux-4.19.98/debian/patches-rt/0089-timers-Prepare-for-full-preemption.patch --- linux-4.19.87/debian/patches-rt/0089-timers-Prepare-for-full-preemption.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0089-timers-Prepare-for-full-preemption.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From c87cd9494b5ba0149620db6bc1655edbe04f9c9d Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:34 -0500 Subject: [PATCH 089/290] timers: Prepare for full preemption -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a8b88eb0c9c0171975f889b404f3f0d5e8713e82 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz When softirqs can be preempted we need to make sure that cancelling the timer from the active thread can not deadlock vs. a running timer @@ -29,7 +30,7 @@ #else # define del_timer_sync(t) del_timer(t) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index a33c2c18628d..520640973942 100644 +index e6022cc2605b..986ed04425be 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -498,11 +498,14 @@ void resched_cpu(int cpu) @@ -170,3 +171,6 @@ } } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0090-x86-kvm-Require-const-tsc-for-RT.patch linux-4.19.98/debian/patches-rt/0090-x86-kvm-Require-const-tsc-for-RT.patch --- linux-4.19.87/debian/patches-rt/0090-x86-kvm-Require-const-tsc-for-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0090-x86-kvm-Require-const-tsc-for-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 70c79c38cb1e81d8cffa19dc562b629dcde98c6c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 6 Nov 2011 12:26:18 +0100 Subject: [PATCH 090/290] x86: kvm Require const tsc for RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=61807edd278df58c12c72f58fd6aeae90ef41013 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Non constant TSC is a nightmare on bare metal already, but with virtualization it becomes a complete disaster because the workarounds @@ -14,10 +15,10 @@ 1 file changed, 7 insertions(+) diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c -index 6ae8a013af31..c936e1848f28 100644 +index 353f63f3b262..2611898419ff 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c -@@ -6787,6 +6787,13 @@ int kvm_arch_init(void *opaque) +@@ -6832,6 +6832,13 @@ int kvm_arch_init(void *opaque) goto out; } @@ -31,3 +32,6 @@ r = kvm_mmu_module_init(); if (r) goto out_free_percpu; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0091-pci-switchtec-Don-t-use-completion-s-wait-queue.patch linux-4.19.98/debian/patches-rt/0091-pci-switchtec-Don-t-use-completion-s-wait-queue.patch --- linux-4.19.87/debian/patches-rt/0091-pci-switchtec-Don-t-use-completion-s-wait-queue.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0091-pci-switchtec-Don-t-use-completion-s-wait-queue.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From cffa5c3f97fb6ad83cf3d770f5297f879f6efc36 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 4 Oct 2017 10:24:23 +0200 Subject: [PATCH 091/290] pci/switchtec: Don't use completion's wait queue -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=10b9bce593adcb0971345750199a4c428b95be36 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The poll callback is using completion's wait_queue_head_t member and puts it in poll_wait() so the poll() caller gets a wakeup after command @@ -109,3 +110,6 @@ list_del_init(&stuser->list); stuser_put(stuser); } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0092-wait.h-include-atomic.h.patch linux-4.19.98/debian/patches-rt/0092-wait.h-include-atomic.h.patch --- linux-4.19.87/debian/patches-rt/0092-wait.h-include-atomic.h.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0092-wait.h-include-atomic.h.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,10 +1,11 @@ +From 0aafaa8df18cf87cf491f2592b9c378667766a62 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 28 Oct 2013 12:19:57 +0100 Subject: [PATCH 092/290] wait.h: include atomic.h MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6a750424efdceb04843eb5c9be84b0e070985534 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz | CC init/main.o |In file included from include/linux/mmzone.h:9:0, @@ -36,3 +37,6 @@ typedef struct wait_queue_entry wait_queue_entry_t; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0093-work-simple-Simple-work-queue-implemenation.patch linux-4.19.98/debian/patches-rt/0093-work-simple-Simple-work-queue-implemenation.patch --- linux-4.19.87/debian/patches-rt/0093-work-simple-Simple-work-queue-implemenation.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0093-work-simple-Simple-work-queue-implemenation.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From eccea3070c1d002aaa2a9cbdaaee36e65f5d06cf Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Fri, 11 Jul 2014 15:26:11 +0200 Subject: [PATCH 093/290] work-simple: Simple work queue implemenation -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b23368647741af52610dd7e6e8955ef23eab50ea +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Provides a framework for enqueuing callbacks from irq context PREEMPT_RT_FULL safe. The callbacks are executed in kthread context. @@ -240,3 +241,6 @@ + mutex_unlock(&worker_mutex); +} +EXPORT_SYMBOL_GPL(swork_put); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0094-work-simple-drop-a-shit-statement-in-SWORK_EVENT_PEN.patch linux-4.19.98/debian/patches-rt/0094-work-simple-drop-a-shit-statement-in-SWORK_EVENT_PEN.patch --- linux-4.19.87/debian/patches-rt/0094-work-simple-drop-a-shit-statement-in-SWORK_EVENT_PEN.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0094-work-simple-drop-a-shit-statement-in-SWORK_EVENT_PEN.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From cb2283a50926db7e39bf3643c28a9c8c73a3263a Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 10 Sep 2018 18:00:31 +0200 Subject: [PATCH 094/290] work-simple: drop a shit statement in SWORK_EVENT_PENDING -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4333ab9ff36a8ec80e8b72a146602c8bf41acf24 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Dan Carpenter reported | smatch warnings: @@ -31,3 +32,6 @@ static DEFINE_MUTEX(worker_mutex); static struct sworker *glob_worker; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0095-completion-Use-simple-wait-queues.patch linux-4.19.98/debian/patches-rt/0095-completion-Use-simple-wait-queues.patch --- linux-4.19.87/debian/patches-rt/0095-completion-Use-simple-wait-queues.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0095-completion-Use-simple-wait-queues.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 93e59514ca04f36ad3f87b3c0da5be1e0b9d238f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 11 Jan 2013 11:23:51 +0100 Subject: [PATCH 095/290] completion: Use simple wait queues -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=98054900c031519e7190d077f9875ef459fcc8e7 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Completions have no long lasting callbacks and therefor do not need the complex waitqueue variant. Use simple waitqueues which reduces the @@ -319,10 +320,10 @@ } EXPORT_SYMBOL(completion_done); diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 520640973942..ba6d51c7df61 100644 +index 986ed04425be..584978640512 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -7153,7 +7153,10 @@ void migrate_disable(void) +@@ -7154,7 +7154,10 @@ void migrate_disable(void) return; } #ifdef CONFIG_SCHED_DEBUG @@ -334,7 +335,7 @@ #endif if (p->migrate_disable) { -@@ -7183,7 +7186,10 @@ void migrate_enable(void) +@@ -7184,7 +7187,10 @@ void migrate_enable(void) } #ifdef CONFIG_SCHED_DEBUG @@ -385,3 +386,6 @@ { wait->task = current; if (list_empty(&wait->task_list)) +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0096-fs-aio-simple-simple-work.patch linux-4.19.98/debian/patches-rt/0096-fs-aio-simple-simple-work.patch --- linux-4.19.87/debian/patches-rt/0096-fs-aio-simple-simple-work.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0096-fs-aio-simple-simple-work.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 864971842ede76748f6c198f112d6857b19196fa Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 16 Feb 2015 18:49:10 +0100 Subject: [PATCH 096/290] fs/aio: simple simple work -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=824fb4cfaff29a2b6013b74084736a71b3c3647a +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:768 |in_atomic(): 1, irqs_disabled(): 0, pid: 26, name: rcuos/2 @@ -83,3 +84,6 @@ static int ioctx_add_table(struct kioctx *ctx, struct mm_struct *mm) { unsigned i, new_nr; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0097-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch linux-4.19.98/debian/patches-rt/0097-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch --- linux-4.19.87/debian/patches-rt/0097-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0097-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 06003e1c96291d4d372f2e31c988999c2ef34f31 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 21 Aug 2013 17:48:46 +0200 Subject: [PATCH 097/290] genirq: Do not invoke the affinity callback via a workqueue on RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=59cce101e50e9b0f9d6b978848521f8dc629b260 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Joe Korty reported, that __irq_set_affinity_locked() schedules a workqueue while holding a rawlock which results in a might_sleep() @@ -136,3 +137,6 @@ kref_put(&old_notify->kref, old_notify->release); } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0098-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch linux-4.19.98/debian/patches-rt/0098-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch --- linux-4.19.87/debian/patches-rt/0098-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0098-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From cd74856820b82cb80ddd3b12dde3caad12642b3c Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 15 Nov 2017 17:29:51 +0100 Subject: [PATCH 098/290] time/hrtimer: avoid schedule_work() with interrupts disabled -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=60f0f171fd7d0f16aef78b604efb7156d5d1ad68 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The NOHZ code tries to schedule a workqueue with interrupts disabled. Since this does not work -RT I am switching it to swork instead. @@ -54,3 +55,6 @@ int timer_migration_handler(struct ctl_table *table, int write, void __user *buffer, size_t *lenp, loff_t *ppos) +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0099-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch linux-4.19.98/debian/patches-rt/0099-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch --- linux-4.19.87/debian/patches-rt/0099-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0099-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 8553725681eb8c0f78dad5fb1ef542301586e9ff Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 3 Jul 2018 11:25:41 +0200 Subject: [PATCH 099/290] hrtimer: consolidate hrtimer_init() + hrtimer_init_sleeper() calls -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=956094850303bfde3d1c8d990ce9a247053d2c63 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz hrtimer_init_sleeper() calls require a prior initialisation of the hrtimer object with hrtimer_init(). Lets make the initialisation of @@ -62,7 +63,7 @@ while (1) { diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h -index 3892e9c8b2de..b8bbaabd5aff 100644 +index 542b4fa2cda9..cbd041b22088 100644 --- a/include/linux/hrtimer.h +++ b/include/linux/hrtimer.h @@ -364,10 +364,17 @@ DECLARE_PER_CPU(struct tick_device, tick_cpu_device); @@ -99,7 +100,7 @@ static inline void destroy_hrtimer_on_stack(struct hrtimer *timer) { } #endif -@@ -480,9 +496,6 @@ extern long hrtimer_nanosleep(const struct timespec64 *rqtp, +@@ -486,9 +502,6 @@ extern long hrtimer_nanosleep(const struct timespec64 *rqtp, const enum hrtimer_mode mode, const clockid_t clockid); @@ -125,10 +126,10 @@ hrtimer_start_range_ns(&__t.timer, timeout, \ current->timer_slack_ns, \ diff --git a/kernel/futex.c b/kernel/futex.c -index 304f07d08c95..ccf933ac2997 100644 +index 5c8053098fc8..23e1f8a478e8 100644 --- a/kernel/futex.c +++ b/kernel/futex.c -@@ -2701,10 +2701,9 @@ static int futex_wait(u32 __user *uaddr, unsigned int flags, u32 val, +@@ -2704,10 +2704,9 @@ static int futex_wait(u32 __user *uaddr, unsigned int flags, u32 val, if (abs_time) { to = &timeout; @@ -142,7 +143,7 @@ hrtimer_set_expires_range_ns(&to->timer, *abs_time, current->timer_slack_ns); } -@@ -2803,9 +2802,8 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, +@@ -2806,9 +2805,8 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, if (time) { to = &timeout; @@ -154,7 +155,7 @@ hrtimer_set_expires(&to->timer, *time); } -@@ -3242,10 +3240,9 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, +@@ -3245,10 +3243,9 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, if (abs_time) { to = &timeout; @@ -169,10 +170,10 @@ current->timer_slack_ns); } diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c -index e1a549c9e399..4f43ece42f3b 100644 +index 7362554416fd..c6f755495a63 100644 --- a/kernel/time/hrtimer.c +++ b/kernel/time/hrtimer.c -@@ -1648,13 +1648,44 @@ static enum hrtimer_restart hrtimer_wakeup(struct hrtimer *timer) +@@ -1651,13 +1651,44 @@ static enum hrtimer_restart hrtimer_wakeup(struct hrtimer *timer) return HRTIMER_NORESTART; } @@ -218,7 +219,7 @@ int nanosleep_copyout(struct restart_block *restart, struct timespec64 *ts) { switch(restart->nanosleep.type) { -@@ -1678,8 +1709,6 @@ static int __sched do_nanosleep(struct hrtimer_sleeper *t, enum hrtimer_mode mod +@@ -1681,8 +1712,6 @@ static int __sched do_nanosleep(struct hrtimer_sleeper *t, enum hrtimer_mode mod { struct restart_block *restart; @@ -227,7 +228,7 @@ do { set_current_state(TASK_INTERRUPTIBLE); hrtimer_start_expires(&t->timer, mode); -@@ -1716,10 +1745,9 @@ static long __sched hrtimer_nanosleep_restart(struct restart_block *restart) +@@ -1719,10 +1748,9 @@ static long __sched hrtimer_nanosleep_restart(struct restart_block *restart) struct hrtimer_sleeper t; int ret; @@ -240,7 +241,7 @@ ret = do_nanosleep(&t, HRTIMER_MODE_ABS); destroy_hrtimer_on_stack(&t.timer); return ret; -@@ -1737,7 +1765,7 @@ long hrtimer_nanosleep(const struct timespec64 *rqtp, +@@ -1740,7 +1768,7 @@ long hrtimer_nanosleep(const struct timespec64 *rqtp, if (dl_task(current) || rt_task(current)) slack = 0; @@ -249,7 +250,7 @@ hrtimer_set_expires_range_ns(&t.timer, timespec64_to_ktime(*rqtp), slack); ret = do_nanosleep(&t, mode); if (ret != -ERESTART_RESTARTBLOCK) -@@ -1936,11 +1964,9 @@ schedule_hrtimeout_range_clock(ktime_t *expires, u64 delta, +@@ -1939,11 +1967,9 @@ schedule_hrtimeout_range_clock(ktime_t *expires, u64 delta, return -EINTR; } @@ -284,3 +285,6 @@ do { set_current_state(TASK_INTERRUPTIBLE); hrtimer_start_expires(&t.timer, HRTIMER_MODE_ABS); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0100-hrtimers-Prepare-full-preemption.patch linux-4.19.98/debian/patches-rt/0100-hrtimers-Prepare-full-preemption.patch --- linux-4.19.87/debian/patches-rt/0100-hrtimers-Prepare-full-preemption.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0100-hrtimers-Prepare-full-preemption.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From e033fc3f9345af04f20c1d45fa8ee453caaf5b1c Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:34 -0500 Subject: [PATCH 100/290] hrtimers: Prepare full preemption -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=59ed0327f0e08449f5d06eb111e02484791163e8 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Make cancellation of a running callback in softirq context safe against preemption. @@ -35,7 +36,7 @@ /* diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h -index b8bbaabd5aff..73ad7309436a 100644 +index cbd041b22088..8714f1a37d84 100644 --- a/include/linux/hrtimer.h +++ b/include/linux/hrtimer.h @@ -22,6 +22,7 @@ @@ -70,7 +71,7 @@ /* Query timers: */ extern ktime_t __hrtimer_get_remaining(const struct hrtimer *timer, bool adjust); -@@ -458,7 +469,7 @@ static inline int hrtimer_is_queued(struct hrtimer *timer) +@@ -464,7 +475,7 @@ static inline bool hrtimer_is_queued(struct hrtimer *timer) * Helper function to check, whether the timer is running the callback * function */ @@ -107,7 +108,7 @@ } EXPORT_SYMBOL_GPL(alarm_cancel); diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c -index 4f43ece42f3b..923a650e5c35 100644 +index c6f755495a63..e135cb27db39 100644 --- a/kernel/time/hrtimer.c +++ b/kernel/time/hrtimer.c @@ -939,6 +939,33 @@ u64 hrtimer_forward(struct hrtimer *timer, ktime_t now, ktime_t interval) @@ -144,7 +145,7 @@ /* * enqueue_hrtimer - internal function to (re)start a timer * -@@ -1171,7 +1198,7 @@ int hrtimer_cancel(struct hrtimer *timer) +@@ -1174,7 +1201,7 @@ int hrtimer_cancel(struct hrtimer *timer) if (ret >= 0) return ret; @@ -153,7 +154,7 @@ } } EXPORT_SYMBOL_GPL(hrtimer_cancel); -@@ -1477,6 +1504,7 @@ static __latent_entropy void hrtimer_run_softirq(struct softirq_action *h) +@@ -1480,6 +1507,7 @@ static __latent_entropy void hrtimer_run_softirq(struct softirq_action *h) hrtimer_update_softirq_timer(cpu_base, true); raw_spin_unlock_irqrestore(&cpu_base->lock, flags); @@ -161,7 +162,7 @@ } #ifdef CONFIG_HIGH_RES_TIMERS -@@ -1846,6 +1874,9 @@ int hrtimers_prepare_cpu(unsigned int cpu) +@@ -1849,6 +1877,9 @@ int hrtimers_prepare_cpu(unsigned int cpu) cpu_base->softirq_next_timer = NULL; cpu_base->expires_next = KTIME_MAX; cpu_base->softirq_expires_next = KTIME_MAX; @@ -284,3 +285,6 @@ goto retry_delete; } list_del(&timer->list); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0101-hrtimer-by-timers-by-default-into-the-softirq-contex.patch linux-4.19.98/debian/patches-rt/0101-hrtimer-by-timers-by-default-into-the-softirq-contex.patch --- linux-4.19.87/debian/patches-rt/0101-hrtimer-by-timers-by-default-into-the-softirq-contex.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0101-hrtimer-by-timers-by-default-into-the-softirq-contex.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From b26ce46313b85d2d4f52b053c1602b3c6d3e3f9f Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 3 Jul 2009 08:44:31 -0500 Subject: [PATCH 101/290] hrtimer: by timers by default into the softirq context -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7c5afdf61b2f178567e499bc4aec5050c12a82ce +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz We can't have hrtimers callbacks running in hardirq context on RT. Therefore the timers are deferred to the softirq context by default. @@ -41,7 +42,7 @@ /* diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h -index 73ad7309436a..2bdb047c7656 100644 +index 8714f1a37d84..082147c07831 100644 --- a/include/linux/hrtimer.h +++ b/include/linux/hrtimer.h @@ -42,6 +42,7 @@ enum hrtimer_mode { @@ -65,7 +66,7 @@ /* diff --git a/kernel/events/core.c b/kernel/events/core.c -index 625ba462e5bb..9e17b38fdb98 100644 +index 460d5fd3ec4e..60a883088961 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -1102,7 +1102,7 @@ static void __perf_mux_hrtimer_init(struct perf_cpu_context *cpuctx, int cpu) @@ -87,7 +88,7 @@ /* diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index ba6d51c7df61..86839f848805 100644 +index 584978640512..2f6b4365d070 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -315,7 +315,7 @@ static void hrtick_rq_init(struct rq *rq) @@ -113,10 +114,10 @@ } diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c -index da5d60d25c27..5bbc77b948e7 100644 +index 6e6d9e999814..21cf60c360e8 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c -@@ -4967,9 +4967,9 @@ void init_cfs_bandwidth(struct cfs_bandwidth *cfs_b) +@@ -4914,9 +4914,9 @@ void init_cfs_bandwidth(struct cfs_bandwidth *cfs_b) cfs_b->period = ns_to_ktime(default_cfs_period()); INIT_LIST_HEAD(&cfs_b->throttled_cfs_rq); @@ -144,10 +145,10 @@ } diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c -index 923a650e5c35..abf24e60b6e8 100644 +index e135cb27db39..1fd5ec39e7f4 100644 --- a/kernel/time/hrtimer.c +++ b/kernel/time/hrtimer.c -@@ -1135,7 +1135,9 @@ void hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim, +@@ -1138,7 +1138,9 @@ void hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim, * Check whether the HRTIMER_MODE_SOFT bit and hrtimer.is_soft * match. */ @@ -157,7 +158,7 @@ base = lock_hrtimer_base(timer, &flags); -@@ -1295,10 +1297,17 @@ static inline int hrtimer_clockid_to_base(clockid_t clock_id) +@@ -1298,10 +1300,17 @@ static inline int hrtimer_clockid_to_base(clockid_t clock_id) static void __hrtimer_init(struct hrtimer *timer, clockid_t clock_id, enum hrtimer_mode mode) { @@ -177,7 +178,7 @@ memset(timer, 0, sizeof(struct hrtimer)); cpu_base = raw_cpu_ptr(&hrtimer_bases); -@@ -1681,6 +1690,14 @@ static void __hrtimer_init_sleeper(struct hrtimer_sleeper *sl, +@@ -1684,6 +1693,14 @@ static void __hrtimer_init_sleeper(struct hrtimer_sleeper *sl, enum hrtimer_mode mode, struct task_struct *task) { @@ -231,3 +232,6 @@ hrtimer->function = watchdog_timer_fn; hrtimer_start(hrtimer, ns_to_ktime(sample_period), HRTIMER_MODE_REL_PINNED); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0102-sched-fair-Make-the-hrtimers-non-hard-again.patch linux-4.19.98/debian/patches-rt/0102-sched-fair-Make-the-hrtimers-non-hard-again.patch --- linux-4.19.87/debian/patches-rt/0102-sched-fair-Make-the-hrtimers-non-hard-again.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0102-sched-fair-Make-the-hrtimers-non-hard-again.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 1f9048fd4cb26be3c10ac92b6c9b2e90d5005888 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 8 Jan 2019 12:31:06 +0100 Subject: [PATCH 102/290] sched/fair: Make the hrtimers non-hard again -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=02fb0a5ce45172d0c7f8f6ad175c42016a7764fe +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Since commit "sched/fair: Robustify CFS-bandwidth timer locking" both hrtimer can run in softirq context because now interrupts are disabled @@ -13,10 +14,10 @@ 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c -index 5bbc77b948e7..da5d60d25c27 100644 +index 21cf60c360e8..6e6d9e999814 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c -@@ -4967,9 +4967,9 @@ void init_cfs_bandwidth(struct cfs_bandwidth *cfs_b) +@@ -4914,9 +4914,9 @@ void init_cfs_bandwidth(struct cfs_bandwidth *cfs_b) cfs_b->period = ns_to_ktime(default_cfs_period()); INIT_LIST_HEAD(&cfs_b->throttled_cfs_rq); @@ -28,3 +29,6 @@ cfs_b->slack_timer.function = sched_cfs_slack_timer; cfs_b->distribute_running = 0; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0103-hrtimer-Move-schedule_work-call-to-helper-thread.patch linux-4.19.98/debian/patches-rt/0103-hrtimer-Move-schedule_work-call-to-helper-thread.patch --- linux-4.19.87/debian/patches-rt/0103-hrtimer-Move-schedule_work-call-to-helper-thread.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0103-hrtimer-Move-schedule_work-call-to-helper-thread.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 1669cbc2eb152b7ae7f94cb966fbfd888a191cc8 Mon Sep 17 00:00:00 2001 From: Yang Shi Date: Mon, 16 Sep 2013 14:09:19 -0700 Subject: [PATCH 103/290] hrtimer: Move schedule_work call to helper thread -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d5e0a0fe2ae5fd7d7eec849bd5aaf49d254da370 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz When run ltp leapsec_timer test, the following call trace is caught: @@ -51,7 +52,7 @@ 1 file changed, 24 insertions(+) diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c -index abf24e60b6e8..c72eb8bfc471 100644 +index 1fd5ec39e7f4..9f3412acdb16 100644 --- a/kernel/time/hrtimer.c +++ b/kernel/time/hrtimer.c @@ -730,6 +730,29 @@ static void hrtimer_switch_to_hres(void) @@ -92,3 +93,6 @@ #else +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0104-hrtimer-move-state-change-before-hrtimer_cancel-in-d.patch linux-4.19.98/debian/patches-rt/0104-hrtimer-move-state-change-before-hrtimer_cancel-in-d.patch --- linux-4.19.87/debian/patches-rt/0104-hrtimer-move-state-change-before-hrtimer_cancel-in-d.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0104-hrtimer-move-state-change-before-hrtimer_cancel-in-d.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From b62f8583e5a6a8a86192ed4bc3cef3e923f295d0 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 6 Dec 2018 10:15:13 +0100 Subject: [PATCH 104/290] hrtimer: move state change before hrtimer_cancel in do_nanosleep() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=92732a32e51eff3a6dfb87b0c63295af9e5c69f3 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz There is a small window between setting t->task to NULL and waking the task up (which would set TASK_RUNNING). So the timer would fire, run and @@ -28,10 +29,10 @@ 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c -index c72eb8bfc471..cfa3599fa789 100644 +index 9f3412acdb16..b800efb64238 100644 --- a/kernel/time/hrtimer.c +++ b/kernel/time/hrtimer.c -@@ -1785,12 +1785,12 @@ static int __sched do_nanosleep(struct hrtimer_sleeper *t, enum hrtimer_mode mod +@@ -1788,12 +1788,12 @@ static int __sched do_nanosleep(struct hrtimer_sleeper *t, enum hrtimer_mode mod if (likely(t->task)) freezable_schedule(); @@ -45,3 +46,6 @@ if (!t->task) return 0; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0105-posix-timers-Thread-posix-cpu-timers-on-rt.patch linux-4.19.98/debian/patches-rt/0105-posix-timers-Thread-posix-cpu-timers-on-rt.patch --- linux-4.19.87/debian/patches-rt/0105-posix-timers-Thread-posix-cpu-timers-on-rt.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0105-posix-timers-Thread-posix-cpu-timers-on-rt.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From e63ab953f4da79eb0d2767e029e61f4d8491f131 Mon Sep 17 00:00:00 2001 From: John Stultz Date: Fri, 3 Jul 2009 08:29:58 -0500 Subject: [PATCH 105/290] posix-timers: Thread posix-cpu-timers on -rt -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e2963af9e43c937bbd8ade2d14c9031bc7fe64b3 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz posix-cpu-timer code takes non -rt safe locks in hard irq context. Move it to a thread. @@ -57,10 +58,10 @@ .thread_group = LIST_HEAD_INIT(init_task.thread_group), .thread_node = LIST_HEAD_INIT(init_signals.thread_head), diff --git a/kernel/fork.c b/kernel/fork.c -index 173e010cba45..c940fee1426c 100644 +index 8c285876eb52..b3744a043f46 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -1585,6 +1585,9 @@ static void rt_mutex_init_task(struct task_struct *p) +@@ -1580,6 +1580,9 @@ static void rt_mutex_init_task(struct task_struct *p) */ static void posix_cpu_timers_init(struct task_struct *tsk) { @@ -263,3 +264,6 @@ /* * Set one of the process-wide special case CPU timers or RLIMIT_CPU. * The tsk->sighand->siglock must be held by the caller. +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0106-sched-Move-task_struct-cleanup-to-RCU.patch linux-4.19.98/debian/patches-rt/0106-sched-Move-task_struct-cleanup-to-RCU.patch --- linux-4.19.87/debian/patches-rt/0106-sched-Move-task_struct-cleanup-to-RCU.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0106-sched-Move-task_struct-cleanup-to-RCU.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 64754a230b30e0beeda510f8a0dfcf82075166a7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 31 May 2011 16:59:16 +0200 Subject: [PATCH 106/290] sched: Move task_struct cleanup to RCU -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c69af1bd9be59d1e008a9cabae469116cffd44b6 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz __put_task_struct() does quite some expensive work. We don't want to burden random tasks with that. @@ -28,10 +29,10 @@ unsigned long task_state_change; #endif diff --git a/include/linux/sched/task.h b/include/linux/sched/task.h -index 108ede99e533..bb98c5b43f81 100644 +index 44c6f15800ff..d2b33e57c636 100644 --- a/include/linux/sched/task.h +++ b/include/linux/sched/task.h -@@ -88,6 +88,15 @@ extern void sched_exec(void); +@@ -90,6 +90,15 @@ extern void sched_exec(void); #define get_task_struct(tsk) do { atomic_inc(&(tsk)->usage); } while(0) @@ -47,7 +48,7 @@ extern void __put_task_struct(struct task_struct *t); static inline void put_task_struct(struct task_struct *t) -@@ -95,7 +104,7 @@ static inline void put_task_struct(struct task_struct *t) +@@ -97,7 +106,7 @@ static inline void put_task_struct(struct task_struct *t) if (atomic_dec_and_test(&t->usage)) __put_task_struct(t); } @@ -57,10 +58,10 @@ #ifdef CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT diff --git a/kernel/fork.c b/kernel/fork.c -index c940fee1426c..b14cb6876ac8 100644 +index b3744a043f46..4b85282d9a07 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -671,7 +671,9 @@ static inline void put_signal_struct(struct signal_struct *sig) +@@ -666,7 +666,9 @@ static inline void put_signal_struct(struct signal_struct *sig) if (atomic_dec_and_test(&sig->sigcnt)) free_signal_struct(sig); } @@ -71,7 +72,7 @@ void __put_task_struct(struct task_struct *tsk) { WARN_ON(!tsk->exit_state); -@@ -688,7 +690,18 @@ void __put_task_struct(struct task_struct *tsk) +@@ -683,7 +685,18 @@ void __put_task_struct(struct task_struct *tsk) if (!profile_handoff_task(tsk)) free_task(tsk); } @@ -90,3 +91,6 @@ void __init __weak arch_task_cache_init(void) { } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0107-sched-Limit-the-number-of-task-migrations-per-batch.patch linux-4.19.98/debian/patches-rt/0107-sched-Limit-the-number-of-task-migrations-per-batch.patch --- linux-4.19.87/debian/patches-rt/0107-sched-Limit-the-number-of-task-migrations-per-batch.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0107-sched-Limit-the-number-of-task-migrations-per-batch.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 5d814c2f67298a28fc845d4444a083e1438c621a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 6 Jun 2011 12:12:51 +0200 Subject: [PATCH 107/290] sched: Limit the number of task migrations per batch -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c6286af6b5a433a8f97f2875f2cdcc7fb9614a9d +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Put an upper limit on the number of tasks which are migrated per batch to avoid large latencies. @@ -12,7 +13,7 @@ 1 file changed, 4 insertions(+) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 86839f848805..de93941bad5a 100644 +index 2f6b4365d070..5c23d1272429 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -44,7 +44,11 @@ const_debug unsigned int sysctl_sched_features = @@ -27,3 +28,6 @@ /* * period over which we measure -rt task CPU usage in us. +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0108-sched-Move-mmdrop-to-RCU-on-RT.patch linux-4.19.98/debian/patches-rt/0108-sched-Move-mmdrop-to-RCU-on-RT.patch --- linux-4.19.87/debian/patches-rt/0108-sched-Move-mmdrop-to-RCU-on-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0108-sched-Move-mmdrop-to-RCU-on-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 265373d21c09c71609a28e9412050091f086ffd0 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 6 Jun 2011 12:20:33 +0200 Subject: [PATCH 108/290] sched: Move mmdrop to RCU on RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=26e860afda01037b95eca42b1e3863949b30b52c +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Takes sleeping locks and calls into the memory allocator, so nothing we want to do in task switch and oder atomic contexts. @@ -15,7 +16,7 @@ 4 files changed, 44 insertions(+), 2 deletions(-) diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h -index 5ed8f6292a53..f430cf0a377e 100644 +index 3a9a996af229..202b736ccbfa 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -12,6 +12,7 @@ @@ -26,7 +27,7 @@ #include #include -@@ -482,6 +483,9 @@ struct mm_struct { +@@ -487,6 +488,9 @@ struct mm_struct { bool tlb_flush_batched; #endif struct uprobes_state uprobes_state; @@ -59,10 +60,10 @@ * This has to be called after a get_task_mm()/mmget_not_zero() * followed by taking the mmap_sem for writing before modifying the diff --git a/kernel/fork.c b/kernel/fork.c -index b14cb6876ac8..5adb1349c001 100644 +index 4b85282d9a07..e05834c2420c 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -637,6 +637,19 @@ void __mmdrop(struct mm_struct *mm) +@@ -632,6 +632,19 @@ void __mmdrop(struct mm_struct *mm) } EXPORT_SYMBOL_GPL(__mmdrop); @@ -83,7 +84,7 @@ { struct mm_struct *mm; diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index de93941bad5a..3c51cd04d7b4 100644 +index 5c23d1272429..cb89c90513dd 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2729,9 +2729,13 @@ static struct rq *finish_task_switch(struct task_struct *prev) @@ -101,7 +102,7 @@ } if (unlikely(prev_state == TASK_DEAD)) { if (prev->sched_class->task_dead) -@@ -5600,6 +5604,8 @@ void sched_setnuma(struct task_struct *p, int nid) +@@ -5601,6 +5605,8 @@ void sched_setnuma(struct task_struct *p, int nid) #endif /* CONFIG_NUMA_BALANCING */ #ifdef CONFIG_HOTPLUG_CPU @@ -110,7 +111,7 @@ /* * Ensure that the idle task is using init_mm right before its CPU goes * offline. -@@ -5615,7 +5621,11 @@ void idle_task_exit(void) +@@ -5616,7 +5622,11 @@ void idle_task_exit(void) current->active_mm = &init_mm; finish_arch_post_lock_switch(); } @@ -123,7 +124,7 @@ } /* -@@ -5927,6 +5937,10 @@ int sched_cpu_dying(unsigned int cpu) +@@ -5928,6 +5938,10 @@ int sched_cpu_dying(unsigned int cpu) update_max_interval(); nohz_balance_exit_idle(rq); hrtick_clear(rq); @@ -134,3 +135,6 @@ return 0; } #endif +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0109-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch linux-4.19.98/debian/patches-rt/0109-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch --- linux-4.19.87/debian/patches-rt/0109-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0109-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From ebf1a9a382707d58a0bba64660e90f2d9088d8f6 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 21 Nov 2016 19:31:08 +0100 Subject: [PATCH 109/290] kernel/sched: move stack + kprobe clean up to __put_task_struct() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e3ab21f020101536a57f21b778c83b41630914f7 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -17,7 +18,7 @@ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/kernel/fork.c b/kernel/fork.c -index 5adb1349c001..ff7e5983a21c 100644 +index e05834c2420c..a6f39cbb71c3 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -40,6 +40,7 @@ @@ -28,7 +29,7 @@ #include #include #include -@@ -693,6 +694,15 @@ void __put_task_struct(struct task_struct *tsk) +@@ -688,6 +689,15 @@ void __put_task_struct(struct task_struct *tsk) WARN_ON(atomic_read(&tsk->usage)); WARN_ON(tsk == current); @@ -45,7 +46,7 @@ task_numa_free(tsk, true); security_task_free(tsk); diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 3c51cd04d7b4..a3ba8e9227a3 100644 +index cb89c90513dd..79e0d052e848 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2741,15 +2741,6 @@ static struct rq *finish_task_switch(struct task_struct *prev) @@ -64,3 +65,6 @@ put_task_struct(prev); } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0110-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch linux-4.19.98/debian/patches-rt/0110-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch --- linux-4.19.87/debian/patches-rt/0110-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0110-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 321628fe4e281be121ed55fdf60c24c6d58cc051 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 25 Jun 2011 09:21:04 +0200 Subject: [PATCH 110/290] sched: Add saved_state for tasks blocked on sleeping locks -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7c5f9e4e697af083543c1eb4fe2c185bd18134fd +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -39,7 +40,7 @@ #ifdef CONFIG_SMP diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index a3ba8e9227a3..592e8c0acb8b 100644 +index 79e0d052e848..d1c564acff76 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1999,8 +1999,27 @@ try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags) @@ -91,10 +92,10 @@ { return try_to_wake_up(p, state, 0); diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h -index 9a7c3d08b39f..49ae30da28ee 100644 +index 94bec97bd5e2..c79e32488940 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h -@@ -1443,6 +1443,7 @@ static inline int task_on_rq_migrating(struct task_struct *p) +@@ -1439,6 +1439,7 @@ static inline int task_on_rq_migrating(struct task_struct *p) #define WF_SYNC 0x01 /* Waker goes to sleep after wakeup */ #define WF_FORK 0x02 /* Child wakeup after fork */ #define WF_MIGRATED 0x4 /* Internal use, task got migrated */ @@ -102,3 +103,6 @@ /* * To aid in avoiding the subversion of "niceness" due to uneven distribution +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0111-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch linux-4.19.98/debian/patches-rt/0111-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch --- linux-4.19.87/debian/patches-rt/0111-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0111-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 26013bccba0816bd1eb6c1f7233f1f3600d89093 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 7 Jun 2011 09:19:06 +0200 Subject: [PATCH 111/290] sched: Do not account rcu_preempt_depth on RT in might_sleep() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=77016b51aec298c4b547aa2d8a30e001a8bc39d6 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz RT changes the rcu_preempt_depth semantics, so we cannot check for it in might_sleep(). @@ -39,10 +40,10 @@ /* Internal to kernel */ diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 592e8c0acb8b..a183036a437f 100644 +index d1c564acff76..59d43c084023 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -6197,7 +6197,7 @@ void __init sched_init(void) +@@ -6198,7 +6198,7 @@ void __init sched_init(void) #ifdef CONFIG_DEBUG_ATOMIC_SLEEP static inline int preempt_count_equals(int preempt_offset) { @@ -51,3 +52,6 @@ return (nested == preempt_offset); } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0112-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch linux-4.19.98/debian/patches-rt/0112-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch --- linux-4.19.87/debian/patches-rt/0112-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0112-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From e1018349e034a1bc9768c8870ae436d76d07d3b4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 22:51:33 +0200 Subject: [PATCH 112/290] sched: Use the proper LOCK_OFFSET for cond_resched() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=04e2f43d1deac4ff13f0e108fc89306198a2f762 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz RT does not increment preempt count when a 'sleeping' spinlock is locked. Update PREEMPT_LOCK_OFFSET for that case. @@ -27,3 +28,6 @@ /* * The preempt_count offset needed for things like: +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0113-sched-Disable-TTWU_QUEUE-on-RT.patch linux-4.19.98/debian/patches-rt/0113-sched-Disable-TTWU_QUEUE-on-RT.patch --- linux-4.19.87/debian/patches-rt/0113-sched-Disable-TTWU_QUEUE-on-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0113-sched-Disable-TTWU_QUEUE-on-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 8f8e3eb8db6bc5ae01fe12e677a6e95df0366beb Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 13 Sep 2011 16:42:35 +0200 Subject: [PATCH 113/290] sched: Disable TTWU_QUEUE on RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f1730e401e00fbd36906e5083279d065661f685a +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The queued remote wakeup mechanism can introduce rather large latencies if the number of migrated tasks is high. Disable it for RT. @@ -32,3 +33,6 @@ /* * When doing wakeups, attempt to limit superfluous scans of the LLC domain. +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0114-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch linux-4.19.98/debian/patches-rt/0114-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch --- linux-4.19.87/debian/patches-rt/0114-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0114-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 43f8cfb3d7b686b307dbde08375843c434206f95 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Mon, 18 Mar 2013 15:12:49 -0400 Subject: [PATCH 114/290] sched/workqueue: Only wake up idle workers if not blocked on sleeping spin lock -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=dfa983ba257c10e427ff07cac06d6b270f5ee643 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz In -rt, most spin_locks() turn into mutexes. One of these spin_lock conversions is performed on the workqueue gcwq->lock. When the idle @@ -24,7 +25,7 @@ 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index a183036a437f..a1cedac8b707 100644 +index 59d43c084023..e792543de8eb 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -3539,8 +3539,10 @@ static void __sched notrace __schedule(bool preempt) @@ -39,3 +40,6 @@ struct task_struct *to_wakeup; to_wakeup = wq_worker_sleeping(prev); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0115-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch linux-4.19.98/debian/patches-rt/0115-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch --- linux-4.19.87/debian/patches-rt/0115-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0115-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From c53c9ce9f8bc7a16fadae5e065224163e69b07ff Mon Sep 17 00:00:00 2001 From: Daniel Bristot de Oliveira Date: Mon, 26 Jun 2017 17:07:15 +0200 Subject: [PATCH 115/290] rt: Increase/decrease the nr of migratory tasks when enabling/disabling migration -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6ef7d4c7da82dc7df51211d0fe07912d3d67dc69 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz There is a problem in the migrate_disable()/enable() implementation regarding the number of migratory tasks in the rt/dl RQs. The problem @@ -81,10 +82,10 @@ 1 file changed, 44 insertions(+), 5 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index a1cedac8b707..9ba05b3f69e1 100644 +index e792543de8eb..57617777c4ba 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -7184,6 +7184,47 @@ const u32 sched_prio_to_wmult[40] = { +@@ -7185,6 +7185,47 @@ const u32 sched_prio_to_wmult[40] = { #if defined(CONFIG_PREEMPT_COUNT) && defined(CONFIG_SMP) @@ -132,7 +133,7 @@ void migrate_disable(void) { struct task_struct *p = current; -@@ -7207,10 +7248,9 @@ void migrate_disable(void) +@@ -7208,10 +7249,9 @@ void migrate_disable(void) } preempt_disable(); @@ -145,7 +146,7 @@ preempt_enable(); } -@@ -7242,9 +7282,8 @@ void migrate_enable(void) +@@ -7243,9 +7283,8 @@ void migrate_enable(void) preempt_disable(); @@ -156,3 +157,6 @@ if (p->migrate_disable_update) { struct rq *rq; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0116-hotplug-Lightweight-get-online-cpus.patch linux-4.19.98/debian/patches-rt/0116-hotplug-Lightweight-get-online-cpus.patch --- linux-4.19.87/debian/patches-rt/0116-hotplug-Lightweight-get-online-cpus.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0116-hotplug-Lightweight-get-online-cpus.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 65664847f66b61a354b87a68ee4538850100b07f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 15 Jun 2011 12:36:06 +0200 Subject: [PATCH 116/290] hotplug: Lightweight get online cpus -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b3427c6b64cd30370b25801db8a88491596c1d4c +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz get_online_cpus() is a heavy weight function which involves a global mutex. migrate_disable() wants a simpler construct which prevents only @@ -19,10 +20,10 @@ 3 files changed, 24 insertions(+) diff --git a/include/linux/cpu.h b/include/linux/cpu.h -index 006f69f9277b..d45ea5c98cdd 100644 +index aab4273810e3..e67645924404 100644 --- a/include/linux/cpu.h +++ b/include/linux/cpu.h -@@ -113,6 +113,8 @@ extern void cpu_hotplug_disable(void); +@@ -118,6 +118,8 @@ extern void cpu_hotplug_disable(void); extern void cpu_hotplug_enable(void); void clear_tasks_mm_cpumask(int cpu); int cpu_down(unsigned int cpu); @@ -31,7 +32,7 @@ #else /* CONFIG_HOTPLUG_CPU */ -@@ -124,6 +126,9 @@ static inline int cpus_read_trylock(void) { return true; } +@@ -129,6 +131,9 @@ static inline int cpus_read_trylock(void) { return true; } static inline void lockdep_assert_cpus_held(void) { } static inline void cpu_hotplug_disable(void) { } static inline void cpu_hotplug_enable(void) { } @@ -42,7 +43,7 @@ /* Wrappers which go away once all code is converted */ diff --git a/kernel/cpu.c b/kernel/cpu.c -index d9f855cb9f6f..02e05a7e463c 100644 +index 8d6b8b5493f9..cf1f2eb6bb90 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -281,6 +281,21 @@ static int cpu_hotplug_disabled; @@ -68,10 +69,10 @@ void cpus_read_lock(void) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 9ba05b3f69e1..5723a8966865 100644 +index 57617777c4ba..42b42ebf52bc 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -7248,6 +7248,7 @@ void migrate_disable(void) +@@ -7249,6 +7249,7 @@ void migrate_disable(void) } preempt_disable(); @@ -79,7 +80,7 @@ migrate_disable_update_cpus_allowed(p); p->migrate_disable = 1; -@@ -7313,12 +7314,15 @@ void migrate_enable(void) +@@ -7314,12 +7315,15 @@ void migrate_enable(void) arg.task = p; arg.dest_cpu = dest_cpu; @@ -95,3 +96,6 @@ preempt_enable(); } EXPORT_SYMBOL(migrate_enable); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0117-trace-Add-migrate-disabled-counter-to-tracing-output.patch linux-4.19.98/debian/patches-rt/0117-trace-Add-migrate-disabled-counter-to-tracing-output.patch --- linux-4.19.87/debian/patches-rt/0117-trace-Add-migrate-disabled-counter-to-tracing-output.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0117-trace-Add-migrate-disabled-counter-to-tracing-output.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From b1443b83989e9c493e9d82d8a8a88a3862ea2286 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:56:42 +0200 Subject: [PATCH 117/290] trace: Add migrate-disabled counter to tracing output -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1beef7a4cb4f8020766425cd50172f1c8edeaf5d +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Signed-off-by: Thomas Gleixner --- @@ -12,7 +13,7 @@ 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/include/linux/trace_events.h b/include/linux/trace_events.h -index 78a010e19ed4..0403d9696944 100644 +index 0643c083ed86..1cc4d2da954c 100644 --- a/include/linux/trace_events.h +++ b/include/linux/trace_events.h @@ -62,6 +62,8 @@ struct trace_entry { @@ -25,7 +26,7 @@ #define TRACE_EVENT_TYPE_MAX \ diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index bdd7f3d78724..befe5978a832 100644 +index e61aa1c68e99..5eccf1c201db 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -2149,6 +2149,8 @@ tracing_generic_entry_update(struct trace_entry *entry, unsigned long flags, @@ -52,7 +53,7 @@ static void print_event_info(struct trace_buffer *buf, struct seq_file *m) diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c -index 7345f5f8f3fe..6455e2ca7987 100644 +index ec340e1cbffc..1febb0ca4c81 100644 --- a/kernel/trace/trace_events.c +++ b/kernel/trace/trace_events.c @@ -188,6 +188,8 @@ static int trace_define_common_fields(void) @@ -80,3 +81,6 @@ return !trace_seq_has_overflowed(s); } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0118-lockdep-Make-it-RT-aware.patch linux-4.19.98/debian/patches-rt/0118-lockdep-Make-it-RT-aware.patch --- linux-4.19.87/debian/patches-rt/0118-lockdep-Make-it-RT-aware.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0118-lockdep-Make-it-RT-aware.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 25df2718875a1f8e4d5fc79fd0720e5000074ccb Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 18:51:23 +0200 Subject: [PATCH 118/290] lockdep: Make it RT aware -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7effdc8f2c197c37436e86a7b4ab376cf38b498f +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz teach lockdep that we don't really do softirqs on -RT. @@ -72,3 +73,6 @@ if (!debug_locks) print_irqtrace_events(current); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0119-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch linux-4.19.98/debian/patches-rt/0119-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch --- linux-4.19.87/debian/patches-rt/0119-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0119-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 30b45605a910b13cdacec56a13b7715aa4aef8f9 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Tue, 29 Nov 2011 20:18:22 -0500 Subject: [PATCH 119/290] tasklet: Prevent tasklets from going into infinite spin in RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=eef329f6c046880d5fa82df96ecff7a6c6582e7f +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz When CONFIG_PREEMPT_RT_FULL is enabled, tasklets run as threads, and spinlocks turn are mutexes. But this can cause issues with @@ -297,3 +298,6 @@ static int ksoftirqd_should_run(unsigned int cpu) { return local_softirq_pending(); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0120-softirq-Check-preemption-after-reenabling-interrupts.patch linux-4.19.98/debian/patches-rt/0120-softirq-Check-preemption-after-reenabling-interrupts.patch --- linux-4.19.87/debian/patches-rt/0120-softirq-Check-preemption-after-reenabling-interrupts.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0120-softirq-Check-preemption-after-reenabling-interrupts.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 8e833dc09a89e60167a67518738fc02a174737bd Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 13 Nov 2011 17:17:09 +0100 Subject: [PATCH 120/290] softirq: Check preemption after reenabling interrupts -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9d428d20b2a3fd2b59f17e811b7f51972a8a0d4a +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz raise_softirq_irqoff() disables interrupts and wakes the softirq daemon, but after reenabling interrupts there is no preemption check, @@ -116,10 +117,10 @@ return 0; } diff --git a/net/core/dev.c b/net/core/dev.c -index ddd8aab20adf..92e4d559ec93 100644 +index a26d87073f71..f64e9d036915 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -2726,6 +2726,7 @@ static void __netif_reschedule(struct Qdisc *q) +@@ -2727,6 +2727,7 @@ static void __netif_reschedule(struct Qdisc *q) sd->output_queue_tailp = &q->next_sched; raise_softirq_irqoff(NET_TX_SOFTIRQ); local_irq_restore(flags); @@ -127,7 +128,7 @@ } void __netif_schedule(struct Qdisc *q) -@@ -2788,6 +2789,7 @@ void __dev_kfree_skb_irq(struct sk_buff *skb, enum skb_free_reason reason) +@@ -2789,6 +2790,7 @@ void __dev_kfree_skb_irq(struct sk_buff *skb, enum skb_free_reason reason) __this_cpu_write(softnet_data.completion_queue, skb); raise_softirq_irqoff(NET_TX_SOFTIRQ); local_irq_restore(flags); @@ -135,7 +136,7 @@ } EXPORT_SYMBOL(__dev_kfree_skb_irq); -@@ -4260,6 +4262,7 @@ static int enqueue_to_backlog(struct sk_buff *skb, int cpu, +@@ -4261,6 +4263,7 @@ static int enqueue_to_backlog(struct sk_buff *skb, int cpu, rps_unlock(sd); local_irq_restore(flags); @@ -143,7 +144,7 @@ atomic_long_inc(&skb->dev->rx_dropped); kfree_skb(skb); -@@ -5815,12 +5818,14 @@ static void net_rps_action_and_irq_enable(struct softnet_data *sd) +@@ -5830,12 +5833,14 @@ static void net_rps_action_and_irq_enable(struct softnet_data *sd) sd->rps_ipi_list = NULL; local_irq_enable(); @@ -158,7 +159,7 @@ } static bool sd_has_rps_ipi_waiting(struct softnet_data *sd) -@@ -5898,6 +5903,7 @@ void __napi_schedule(struct napi_struct *n) +@@ -5913,6 +5918,7 @@ void __napi_schedule(struct napi_struct *n) local_irq_save(flags); ____napi_schedule(this_cpu_ptr(&softnet_data), n); local_irq_restore(flags); @@ -166,7 +167,7 @@ } EXPORT_SYMBOL(__napi_schedule); -@@ -9307,6 +9313,7 @@ static int dev_cpu_dead(unsigned int oldcpu) +@@ -9504,6 +9510,7 @@ static int dev_cpu_dead(unsigned int oldcpu) raise_softirq_irqoff(NET_TX_SOFTIRQ); local_irq_enable(); @@ -174,3 +175,6 @@ #ifdef CONFIG_RPS remsd = oldsd->rps_ipi_list; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0121-softirq-Disable-softirq-stacks-for-RT.patch linux-4.19.98/debian/patches-rt/0121-softirq-Disable-softirq-stacks-for-RT.patch --- linux-4.19.87/debian/patches-rt/0121-softirq-Disable-softirq-stacks-for-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0121-softirq-Disable-softirq-stacks-for-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From bfa59221785f7f02d4c4439aef840c3c84aeb0b1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 13:59:17 +0200 Subject: [PATCH 121/290] softirq: Disable softirq stacks for RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7e2dac7d12e5f5068d09042b543ca3001c0eb674 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Disable extra stacks for softirqs. We want to preempt softirqs and having them on special IRQ-stack does not make this easier. @@ -19,7 +20,7 @@ 8 files changed, 15 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c -index 916ddc4aac44..833d27f85aea 100644 +index d37704ebccdb..b45a9849b687 100644 --- a/arch/powerpc/kernel/irq.c +++ b/arch/powerpc/kernel/irq.c @@ -766,6 +766,7 @@ void irq_ctx_init(void) @@ -59,7 +60,7 @@ /* * void call_do_irq(struct pt_regs *regs, struct thread_info *irqtp); diff --git a/arch/powerpc/kernel/misc_64.S b/arch/powerpc/kernel/misc_64.S -index 1bf6aaefd26a..52c7298f583a 100644 +index facc02964ab3..8b1774186c68 100644 --- a/arch/powerpc/kernel/misc_64.S +++ b/arch/powerpc/kernel/misc_64.S @@ -32,6 +32,7 @@ @@ -122,7 +123,7 @@ index ccb5e3486aee..7ffd83c57ef2 100644 --- a/arch/x86/entry/entry_64.S +++ b/arch/x86/entry/entry_64.S -@@ -1083,6 +1083,7 @@ EXPORT_SYMBOL(native_load_gs_index) +@@ -1083,6 +1083,7 @@ bad_gs: jmp 2b .previous @@ -171,3 +172,6 @@ void do_softirq_own_stack(void); #else static inline void do_softirq_own_stack(void) +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0122-softirq-Split-softirq-locks.patch linux-4.19.98/debian/patches-rt/0122-softirq-Split-softirq-locks.patch --- linux-4.19.87/debian/patches-rt/0122-softirq-Split-softirq-locks.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0122-softirq-Split-softirq-locks.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From e530715caf9839d15d550ed5ed57d4d928ca3806 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 4 Oct 2012 14:20:47 +0100 Subject: [PATCH 122/290] softirq: Split softirq locks -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9708867fdc9d911c92c3b3f7b7d5ff8e08d387a3 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The 3.x RT series removed the split softirq implementation in favour of pushing softirq processing into the context of the thread which @@ -198,10 +199,10 @@ #define PF_EXITING 0x00000004 /* Getting shut down */ #define PF_EXITPIDONE 0x00000008 /* PI exit done on shut down */ diff --git a/init/main.c b/init/main.c -index 020972fed117..4a7471606e53 100644 +index 38a603f62b7b..6e02188386a7 100644 --- a/init/main.c +++ b/init/main.c -@@ -561,6 +561,7 @@ asmlinkage __visible void __init start_kernel(void) +@@ -560,6 +560,7 @@ asmlinkage __visible void __init start_kernel(void) setup_command_line(command_line); setup_nr_cpu_ids(); setup_per_cpu_areas(); @@ -826,3 +827,6 @@ return false; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0123-net-core-use-local_bh_disable-in-netif_rx_ni.patch linux-4.19.98/debian/patches-rt/0123-net-core-use-local_bh_disable-in-netif_rx_ni.patch --- linux-4.19.87/debian/patches-rt/0123-net-core-use-local_bh_disable-in-netif_rx_ni.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0123-net-core-use-local_bh_disable-in-netif_rx_ni.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 506e743f138f50503ba86a10f91b8d6ee2855e69 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 16 Jun 2017 19:03:16 +0200 Subject: [PATCH 123/290] net/core: use local_bh_disable() in netif_rx_ni() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ae0f813a827a24ec0fa98781902906f5cc5dbda6 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -18,10 +19,10 @@ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/net/core/dev.c b/net/core/dev.c -index 92e4d559ec93..defca5df6baa 100644 +index f64e9d036915..4926a260bf0e 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -4526,11 +4526,9 @@ int netif_rx_ni(struct sk_buff *skb) +@@ -4541,11 +4541,9 @@ int netif_rx_ni(struct sk_buff *skb) trace_netif_rx_ni_entry(skb); @@ -35,3 +36,6 @@ return err; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0124-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch linux-4.19.98/debian/patches-rt/0124-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch --- linux-4.19.87/debian/patches-rt/0124-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0124-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 393c57f1d000ec029efc1fcedfbacc5a6195d15c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 31 Jan 2012 13:01:27 +0100 Subject: [PATCH 124/290] genirq: Allow disabling of softirq processing in irq thread context -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e12715d5618f4eaeff0a52a9635bb2d772ef359d +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The processing of softirqs in irq thread context is a performance gain for the non-rt workloads of a system, but it's counterproductive for @@ -155,3 +156,6 @@ int in_serving_softirq(void) { return current->flags & PF_IN_SOFTIRQ; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0125-softirq-split-timer-softirqs-out-of-ksoftirqd.patch linux-4.19.98/debian/patches-rt/0125-softirq-split-timer-softirqs-out-of-ksoftirqd.patch --- linux-4.19.87/debian/patches-rt/0125-softirq-split-timer-softirqs-out-of-ksoftirqd.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0125-softirq-split-timer-softirqs-out-of-ksoftirqd.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 74b99df23856c57791eccaa46030824066095f30 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 20 Jan 2016 16:34:17 +0100 Subject: [PATCH 125/290] softirq: split timer softirqs out of ksoftirqd -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=99ec74d1868440b1f19c612415c08f5b940d8090 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The softirqd runs in -RT with SCHED_FIFO (prio 1) and deals mostly with timer wakeup which can not happen in hardirq context. The prio has been @@ -209,3 +210,6 @@ return 0; } early_initcall(spawn_ksoftirqd); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0126-softirq-Avoid-local_softirq_pending-messages-if-ksof.patch linux-4.19.98/debian/patches-rt/0126-softirq-Avoid-local_softirq_pending-messages-if-ksof.patch --- linux-4.19.87/debian/patches-rt/0126-softirq-Avoid-local_softirq_pending-messages-if-ksof.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0126-softirq-Avoid-local_softirq_pending-messages-if-ksof.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From ece86c041648cc912cb0e5f6c921ce25c8ffc506 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 18 Feb 2019 13:19:59 +0100 Subject: [PATCH 126/290] softirq: Avoid "local_softirq_pending" messages if ksoftirqd is blocked -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=692deaede6b1b2b424faa2d9701e1b6b23fbc381 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz If the ksoftirqd thread has a softirq pending and is blocked on the `local_softirq_locks' lock then softirq_check_pending_idle() won't @@ -106,3 +107,6 @@ } if (warnpending) { +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0127-softirq-Avoid-local_softirq_pending-messages-if-task.patch linux-4.19.98/debian/patches-rt/0127-softirq-Avoid-local_softirq_pending-messages-if-task.patch --- linux-4.19.87/debian/patches-rt/0127-softirq-Avoid-local_softirq_pending-messages-if-task.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0127-softirq-Avoid-local_softirq_pending-messages-if-task.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 7bc071d971f2caab6d8cf678fa51ac0f0f84be57 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 19 Feb 2019 16:49:29 +0100 Subject: [PATCH 127/290] softirq: Avoid "local_softirq_pending" messages if task is in cpu_chill() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=35dcb7fcc7ec0b10e0b649f1e1ea2a63a965dac2 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz If the softirq thread enters cpu_chill() then ->state is UNINTERRUPTIBLE and has no ->pi_blocked_on set and so its mask is not taken into account. @@ -35,3 +36,6 @@ /* Clear all bits pending in that task */ *pending &= ~(tsk->softirqs_raised); ret = true; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0128-rtmutex-trylock-is-okay-on-RT.patch linux-4.19.98/debian/patches-rt/0128-rtmutex-trylock-is-okay-on-RT.patch --- linux-4.19.87/debian/patches-rt/0128-rtmutex-trylock-is-okay-on-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0128-rtmutex-trylock-is-okay-on-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From f883f2d061fa3f01c9c2657223aa1cfb02b9aef3 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 2 Dec 2015 11:34:07 +0100 Subject: [PATCH 128/290] rtmutex: trylock is okay on -RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6844789b0db950fc38370175d40fd017331e8fb7 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz non-RT kernel could deadlock on rt_mutex_trylock() in softirq context. On -RT we don't run softirqs in IRQ context but in thread context so it is @@ -28,3 +29,6 @@ return 0; ret = rt_mutex_fasttrylock(lock, rt_mutex_slowtrylock); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0129-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch linux-4.19.98/debian/patches-rt/0129-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch --- linux-4.19.87/debian/patches-rt/0129-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0129-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From e3f69c0b583258222d76fafb057b054796b9ad31 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 15 Sep 2016 10:51:27 +0200 Subject: [PATCH 129/290] fs/nfs: turn rmdir_sem into a semaphore -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=40419bc23d3cd7c730310c4a6461dd40f579010a +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The RW semaphore had a reader side which used the _non_owner version because it most likely took the reader lock in one thread and released it @@ -145,3 +146,6 @@ struct mutex commit_mutex; #if IS_ENABLED(CONFIG_NFS_V4) +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0130-rtmutex-Handle-the-various-new-futex-race-conditions.patch linux-4.19.98/debian/patches-rt/0130-rtmutex-Handle-the-various-new-futex-race-conditions.patch --- linux-4.19.87/debian/patches-rt/0130-rtmutex-Handle-the-various-new-futex-race-conditions.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0130-rtmutex-Handle-the-various-new-futex-race-conditions.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From ad0da5a36ccd4cb2f3a320244327b586e3c435c3 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 10 Jun 2011 11:04:15 +0200 Subject: [PATCH 130/290] rtmutex: Handle the various new futex race conditions -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3a9436ea4bd1ca34b63976b763bab4fe93044700 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -15,10 +16,10 @@ 3 files changed, 94 insertions(+), 21 deletions(-) diff --git a/kernel/futex.c b/kernel/futex.c -index ccf933ac2997..b2a90c66d8f4 100644 +index 23e1f8a478e8..5ec49f862c53 100644 --- a/kernel/futex.c +++ b/kernel/futex.c -@@ -2146,6 +2146,16 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags, +@@ -2149,6 +2149,16 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags, requeue_pi_wake_futex(this, &key2, hb2); drop_count++; continue; @@ -35,7 +36,7 @@ } else if (ret) { /* * rt_mutex_start_proxy_lock() detected a -@@ -3224,7 +3234,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, +@@ -3227,7 +3237,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, struct hrtimer_sleeper timeout, *to = NULL; struct futex_pi_state *pi_state = NULL; struct rt_mutex_waiter rt_waiter; @@ -44,7 +45,7 @@ union futex_key key2 = FUTEX_KEY_INIT; struct futex_q q = futex_q_init; int res, ret; -@@ -3282,20 +3292,55 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, +@@ -3285,20 +3295,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); @@ -111,7 +112,7 @@ /* Check if the requeue code acquired the second futex for us. */ if (!q.rt_waiter) { -@@ -3304,7 +3349,8 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, +@@ -3307,7 +3352,8 @@ 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)) { @@ -121,7 +122,7 @@ ret = fixup_pi_state_owner(uaddr2, &q, current); if (ret && rt_mutex_owner(&q.pi_state->pi_mutex) == current) { pi_state = q.pi_state; -@@ -3315,7 +3361,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, +@@ -3318,7 +3364,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, * the requeue_pi() code acquired for us. */ put_pi_state(q.pi_state); @@ -130,7 +131,7 @@ } } else { struct rt_mutex *pi_mutex; -@@ -3329,7 +3375,8 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, +@@ -3332,7 +3378,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); @@ -249,3 +250,6 @@ extern struct task_struct *rt_mutex_next_owner(struct rt_mutex *lock); extern void rt_mutex_init_proxy_locked(struct rt_mutex *lock, struct task_struct *proxy_owner); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0131-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch linux-4.19.98/debian/patches-rt/0131-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch --- linux-4.19.87/debian/patches-rt/0131-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0131-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 7edf91c5189d3b406d53b139fd703354cc43dd16 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Tue, 14 Jul 2015 14:26:34 +0200 Subject: [PATCH 131/290] futex: Fix bug on when a requeued RT task times out -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=09e670527717c63889ba34375c51c55f408402b2 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Requeue with timeout causes a bug with PREEMPT_RT_FULL. @@ -115,3 +116,6 @@ extern struct task_struct *rt_mutex_next_owner(struct rt_mutex *lock); extern void rt_mutex_init_proxy_locked(struct rt_mutex *lock, +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0132-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch linux-4.19.98/debian/patches-rt/0132-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch --- linux-4.19.87/debian/patches-rt/0132-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0132-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 6a2f8ae29dd9f3697e918a18a871efdaa4d919d9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 1 Mar 2013 11:17:42 +0100 Subject: [PATCH 132/290] futex: Ensure lock/unlock symetry versus pi_lock and hash bucket lock -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=653ee648a2ba5f857ec351405fc64f9cf8867b84 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz In exit_pi_state_list() we have the following locking construct: @@ -31,10 +32,10 @@ 1 file changed, 2 insertions(+) diff --git a/kernel/futex.c b/kernel/futex.c -index b2a90c66d8f4..4d6501d689b5 100644 +index 5ec49f862c53..60be4530c767 100644 --- a/kernel/futex.c +++ b/kernel/futex.c -@@ -918,7 +918,9 @@ void exit_pi_state_list(struct task_struct *curr) +@@ -921,7 +921,9 @@ void exit_pi_state_list(struct task_struct *curr) if (head->next != next) { /* retain curr->pi_lock for the loop invariant */ raw_spin_unlock(&pi_state->pi_mutex.wait_lock); @@ -44,3 +45,6 @@ put_pi_state(pi_state); continue; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0133-pid.h-include-atomic.h.patch linux-4.19.98/debian/patches-rt/0133-pid.h-include-atomic.h.patch --- linux-4.19.87/debian/patches-rt/0133-pid.h-include-atomic.h.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0133-pid.h-include-atomic.h.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 5e16582aa3ade481ac6b23ffe90016f2d285f18a Mon Sep 17 00:00:00 2001 From: Grygorii Strashko Date: Tue, 21 Jul 2015 19:43:56 +0300 Subject: [PATCH 133/290] pid.h: include atomic.h -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6c3b20a2664b9baa69bba26f6743559038199793 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz This patch fixes build error: CC kernel/pid_namespace.o @@ -37,3 +38,6 @@ enum pid_type { +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0134-arm-include-definition-for-cpumask_t.patch linux-4.19.98/debian/patches-rt/0134-arm-include-definition-for-cpumask_t.patch --- linux-4.19.87/debian/patches-rt/0134-arm-include-definition-for-cpumask_t.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0134-arm-include-definition-for-cpumask_t.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From e104dba071027b30e97bc63e57da11ad26516141 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 22 Dec 2016 17:28:33 +0100 Subject: [PATCH 134/290] arm: include definition for cpumask_t -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=11ec5b0cebd8ba85819ad3cddcf33d643f3513a0 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz This definition gets pulled in by other files. With the (later) split of RCU and spinlock.h it won't compile anymore. @@ -25,3 +26,6 @@ struct irqaction; struct pt_regs; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0135-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch linux-4.19.98/debian/patches-rt/0135-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch --- linux-4.19.87/debian/patches-rt/0135-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0135-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 002db8d9c11d02194c1e281091b8b577b9f36014 Mon Sep 17 00:00:00 2001 From: "Wolfgang M. Reimer" Date: Tue, 21 Jul 2015 16:20:07 +0200 Subject: [PATCH 135/290] locking: locktorture: Do NOT include rwlock.h directly -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=95a2cfde3e99e4cbf100ec5da1e4897618359af0 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Including rwlock.h directly will cause kernel builds to fail if CONFIG_PREEMPT_RT_FULL is defined. The correct header file @@ -28,3 +29,6 @@ #include #include #include +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0136-rtmutex-Add-rtmutex_lock_killable.patch linux-4.19.98/debian/patches-rt/0136-rtmutex-Add-rtmutex_lock_killable.patch --- linux-4.19.87/debian/patches-rt/0136-rtmutex-Add-rtmutex_lock_killable.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0136-rtmutex-Add-rtmutex_lock_killable.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From bdcf220d6064da9072193b604f5fdaf9f7cf952f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 9 Jun 2011 11:43:52 +0200 Subject: [PATCH 136/290] rtmutex: Add rtmutex_lock_killable() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d10ccdda6815a479f62a22fdbe86b733a8f0fe79 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Add "killable" type to rtmutex. We need this since rtmutex are used as "normal" mutexes which do use this type. @@ -54,3 +55,6 @@ /** * rt_mutex_timed_lock - lock a rt_mutex interruptible * the timeout structure is provided +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0137-rtmutex-Make-lock_killable-work.patch linux-4.19.98/debian/patches-rt/0137-rtmutex-Make-lock_killable-work.patch --- linux-4.19.87/debian/patches-rt/0137-rtmutex-Make-lock_killable-work.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0137-rtmutex-Make-lock_killable-work.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 6320c2a328b759909197f3ff76944b43141bc563 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 1 Apr 2017 12:50:59 +0200 Subject: [PATCH 137/290] rtmutex: Make lock_killable work -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=330b8f36a58113eb3839e507483c81dce194fd83 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Locking an rt mutex killable does not work because signal handling is restricted to TASK_INTERRUPTIBLE. @@ -45,3 +46,6 @@ } raw_spin_unlock_irq(&lock->wait_lock); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0138-spinlock-Split-the-lock-types-header.patch linux-4.19.98/debian/patches-rt/0138-spinlock-Split-the-lock-types-header.patch --- linux-4.19.87/debian/patches-rt/0138-spinlock-Split-the-lock-types-header.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0138-spinlock-Split-the-lock-types-header.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 575aa1d2041b59a87bb62ae844b43779bb1114e6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 19:34:01 +0200 Subject: [PATCH 138/290] spinlock: Split the lock types header -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=dd9cbf1744910285047662eeb1ed3b5e1455da1c +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -215,3 +216,6 @@ +#define DEFINE_RAW_SPINLOCK(x) raw_spinlock_t x = __RAW_SPIN_LOCK_UNLOCKED(x) + +#endif +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0139-rtmutex-Avoid-include-hell.patch linux-4.19.98/debian/patches-rt/0139-rtmutex-Avoid-include-hell.patch --- linux-4.19.87/debian/patches-rt/0139-rtmutex-Avoid-include-hell.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0139-rtmutex-Avoid-include-hell.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 66e71d123479ba1870a7b7ab6935f7f982379ca8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 20:06:39 +0200 Subject: [PATCH 139/290] rtmutex: Avoid include hell -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7fc473caca7282b1300e989d27056cfc2d573a30 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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. @@ -24,3 +25,6 @@ extern int max_lock_depth; /* for sysctl */ +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0140-rbtree-don-t-include-the-rcu-header.patch linux-4.19.98/debian/patches-rt/0140-rbtree-don-t-include-the-rcu-header.patch --- linux-4.19.87/debian/patches-rt/0140-rbtree-don-t-include-the-rcu-header.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0140-rbtree-don-t-include-the-rcu-header.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,10 +1,11 @@ +From a848373d9df624fd8692e4419ae43107453a6ee5 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 26 Feb 2019 16:56:02 +0100 Subject: [PATCH 140/290] rbtree: don't include the rcu header MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3c9aecc775f1a9c741feded9f8ce1e3c933f16a5 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The RCU header pulls in spinlock.h and fails due not yet defined types: @@ -169,3 +170,6 @@ /** * rcu_swap_protected() - swap an RCU and a regular pointer * @rcu_ptr: RCU pointer +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0141-rtmutex-Provide-rt_mutex_slowlock_locked.patch linux-4.19.98/debian/patches-rt/0141-rtmutex-Provide-rt_mutex_slowlock_locked.patch --- linux-4.19.87/debian/patches-rt/0141-rtmutex-Provide-rt_mutex_slowlock_locked.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0141-rtmutex-Provide-rt_mutex_slowlock_locked.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 0a9e717c46c47cc03fb028892cea5e36feda7230 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 16:14:22 +0200 Subject: [PATCH 141/290] rtmutex: Provide rt_mutex_slowlock_locked() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=aff3c4fbe35a000662340f80be322f1c594854cf +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz This is the inner-part of rt_mutex_slowlock(), required for rwsem-rt. @@ -139,3 +140,6 @@ #ifdef CONFIG_DEBUG_RT_MUTEXES # include "rtmutex-debug.h" +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0142-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch linux-4.19.98/debian/patches-rt/0142-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch --- linux-4.19.87/debian/patches-rt/0142-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0142-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From bee16dd12cbcf6b35c16d789870c4b5bd5e26436 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 16:36:39 +0200 Subject: [PATCH 142/290] rtmutex: export lockdep-less version of rt_mutex's lock, trylock and unlock -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6ada9a3ace4091645571a46308a2fdd39270497f +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Required for lock implementation ontop of rtmutex. @@ -147,3 +148,6 @@ int __sched rt_mutex_slowlock_locked(struct rt_mutex *lock, int state, struct hrtimer_sleeper *timeout, enum rtmutex_chainwalk chwalk, +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0143-rtmutex-add-sleeping-lock-implementation.patch linux-4.19.98/debian/patches-rt/0143-rtmutex-add-sleeping-lock-implementation.patch --- linux-4.19.87/debian/patches-rt/0143-rtmutex-add-sleeping-lock-implementation.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0143-rtmutex-add-sleeping-lock-implementation.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From c156cbabd8b7d07e6ddf840f29799447a47d4758 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 17:11:19 +0200 Subject: [PATCH 143/290] rtmutex: add sleeping lock implementation -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7f302e683aa4acd6aa30ca84762059087161208d +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Signed-off-by: Thomas Gleixner Signed-off-by: Sebastian Andrzej Siewior @@ -395,10 +396,10 @@ + +#endif diff --git a/kernel/fork.c b/kernel/fork.c -index ff7e5983a21c..652986ccb41c 100644 +index a6f39cbb71c3..7399bff2e08d 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -895,6 +895,7 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node) +@@ -890,6 +890,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; @@ -407,10 +408,10 @@ account_kernel_stack(tsk, 1); diff --git a/kernel/futex.c b/kernel/futex.c -index 4d6501d689b5..fe90164aa6ec 100644 +index 60be4530c767..4c448dddce3c 100644 --- a/kernel/futex.c +++ b/kernel/futex.c -@@ -1476,6 +1476,7 @@ static int wake_futex_pi(u32 __user *uaddr, u32 uval, struct futex_pi_state *pi_ +@@ -1479,6 +1479,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); @@ -418,7 +419,7 @@ int ret = 0; new_owner = rt_mutex_next_owner(&pi_state->pi_mutex); -@@ -1535,13 +1536,13 @@ static int wake_futex_pi(u32 __user *uaddr, u32 uval, struct futex_pi_state *pi_ +@@ -1538,13 +1539,13 @@ static int wake_futex_pi(u32 __user *uaddr, u32 uval, struct futex_pi_state *pi_ pi_state->owner = new_owner; raw_spin_unlock(&new_owner->pi_lock); @@ -435,7 +436,7 @@ return ret; } -@@ -2870,7 +2871,7 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, +@@ -2873,7 +2874,7 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, goto no_block; } @@ -444,7 +445,7 @@ /* * On PREEMPT_RT_FULL, when hb->lock becomes an rt_mutex, we must not -@@ -3263,7 +3264,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, +@@ -3266,7 +3267,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. */ @@ -1143,7 +1144,7 @@ #ifdef CONFIG_DEBUG_RT_MUTEXES # include "rtmutex-debug.h" diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 5723a8966865..654e2ec54f9d 100644 +index 42b42ebf52bc..6a0ccaea2b42 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -401,9 +401,15 @@ static bool set_nr_if_polling(struct task_struct *p) @@ -1202,3 +1203,6 @@ put_task_struct(task); } } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0144-rtmutex-add-mutex-implementation-based-on-rtmutex.patch linux-4.19.98/debian/patches-rt/0144-rtmutex-add-mutex-implementation-based-on-rtmutex.patch --- linux-4.19.87/debian/patches-rt/0144-rtmutex-add-mutex-implementation-based-on-rtmutex.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0144-rtmutex-add-mutex-implementation-based-on-rtmutex.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 99c5293588e06d70bf0da65917ba3f7ab80dcf30 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 17:17:03 +0200 Subject: [PATCH 144/290] rtmutex: add mutex implementation based on rtmutex -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=bab10e0b6d5f774e9d4b8745a51b7d9cc64f9eb0 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Signed-off-by: Thomas Gleixner Signed-off-by: Sebastian Andrzej Siewior @@ -377,3 +378,6 @@ + return 1; +} +EXPORT_SYMBOL(atomic_dec_and_mutex_lock); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0145-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch linux-4.19.98/debian/patches-rt/0145-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch --- linux-4.19.87/debian/patches-rt/0145-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0145-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 45c0ef033d0844c47d08e2caf85dc92ab5143eb2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 17:28:34 +0200 Subject: [PATCH 145/290] rtmutex: add rwsem implementation based on rtmutex -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3056e6baa0fe46629d72199996326a75d58409c6 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -421,3 +422,6 @@ + /* Release it and account current as reader */ + __up_write_unlock(sem, WRITER_BIAS - 1, flags); +} +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0146-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch linux-4.19.98/debian/patches-rt/0146-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch --- linux-4.19.87/debian/patches-rt/0146-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0146-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 18ad344168ec1fcb667f20962bfe16c9a7c3e019 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 17:18:06 +0200 Subject: [PATCH 146/290] rtmutex: add rwlock implementation based on rtmutex -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fd1933abf31e4d8b16f98fda611f5ec1cb9b1161 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The implementation is bias-based, similar to the rwsem implementation. @@ -576,3 +577,6 @@ + do_rwlock_rt_init(rwlock, name, key); +} +EXPORT_SYMBOL(__rt_rwlock_init); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0147-rtmutex-rwlock-preserve-state-like-a-sleeping-lock.patch linux-4.19.98/debian/patches-rt/0147-rtmutex-rwlock-preserve-state-like-a-sleeping-lock.patch --- linux-4.19.87/debian/patches-rt/0147-rtmutex-rwlock-preserve-state-like-a-sleeping-lock.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0147-rtmutex-rwlock-preserve-state-like-a-sleeping-lock.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From c4a03078339c1b08038e82f98ad3db155663a23c Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 11 Jan 2019 21:16:31 +0100 Subject: [PATCH 147/290] rtmutex/rwlock: preserve state like a sleeping lock -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e181b2520df8a6c8ec1db3b847bf2036dd54fbca +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The rwlock is spinning while acquiring a lock. Therefore it must become a sleeping lock on RT and preserve its task state while sleeping and @@ -27,3 +28,6 @@ rt_spin_lock_slowlock_locked(m, &waiter, flags); /* * The slowlock() above is guaranteed to return with the rtmutex is +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0148-rtmutex-wire-up-RT-s-locking.patch linux-4.19.98/debian/patches-rt/0148-rtmutex-wire-up-RT-s-locking.patch --- linux-4.19.87/debian/patches-rt/0148-rtmutex-wire-up-RT-s-locking.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0148-rtmutex-wire-up-RT-s-locking.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 9e87c4922c3ae6f3e073a0ecb1dc4b0665c4b4be Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 12 Oct 2017 17:31:14 +0200 Subject: [PATCH 148/290] rtmutex: wire up RT's locking -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=124dab5838407b56b59161de8a01d98181dfe729 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Signed-off-by: Thomas Gleixner Signed-off-by: Sebastian Andrzej Siewior @@ -265,3 +266,6 @@ } + +#endif +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0149-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch linux-4.19.98/debian/patches-rt/0149-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch --- linux-4.19.87/debian/patches-rt/0149-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0149-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 64764668902a060fa582a410b499d57d0777b24c Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 12 Oct 2017 17:34:38 +0200 Subject: [PATCH 149/290] rtmutex: add ww_mutex addon for mutex-rt -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b5727916bc6ad502e7bdfa2073c4d24b1a29d482 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Signed-off-by: Sebastian Andrzej Siewior --- @@ -439,3 +440,6 @@ /* * 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.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0150-kconfig-Add-PREEMPT_RT_FULL.patch linux-4.19.98/debian/patches-rt/0150-kconfig-Add-PREEMPT_RT_FULL.patch --- linux-4.19.87/debian/patches-rt/0150-kconfig-Add-PREEMPT_RT_FULL.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0150-kconfig-Add-PREEMPT_RT_FULL.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 3df2347f3344f0d953425b31f1bf75d408a4b872 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 14:58:57 +0200 Subject: [PATCH 150/290] kconfig: Add PREEMPT_RT_FULL -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9cf79c789681c52a2ec521c420c9e50e9b6a2a19 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Introduce the final symbol for PREEMPT_RT_FULL. @@ -16,7 +17,7 @@ index a3e5ce2bcf08..7779232563ae 100644 --- a/init/Makefile +++ b/init/Makefile -@@ -34,4 +34,4 @@ $(obj)/version.o: include/generated/compile.h +@@ -34,4 +34,4 @@ silent_chk_compile.h = : include/generated/compile.h: FORCE @$($(quiet)chk_compile.h) $(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkcompile_h $@ \ @@ -63,3 +64,6 @@ UTS_VERSION="$UTS_VERSION $CONFIG_FLAGS $TIMESTAMP" # Truncate to maximum length +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0151-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch linux-4.19.98/debian/patches-rt/0151-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch --- linux-4.19.87/debian/patches-rt/0151-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0151-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From d195cae60a247824d8be07574d6fcc425b35d074 Mon Sep 17 00:00:00 2001 From: Mikulas Patocka Date: Mon, 13 Nov 2017 12:56:53 -0500 Subject: [PATCH 151/290] locking/rt-mutex: fix deadlock in device mapper / block-IO -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=982f936d6c159820d6df7fee5e09b0c072472bc3 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz When some block device driver creates a bio and submits it to another block device driver, the bio is added to current->bio_list (in order to @@ -75,3 +76,6 @@ return slowfn(lock, state, timeout, chwalk, ww_ctx); } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0152-locking-rt-mutex-Flush-block-plug-on-__down_read.patch linux-4.19.98/debian/patches-rt/0152-locking-rt-mutex-Flush-block-plug-on-__down_read.patch --- linux-4.19.87/debian/patches-rt/0152-locking-rt-mutex-Flush-block-plug-on-__down_read.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0152-locking-rt-mutex-Flush-block-plug-on-__down_read.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From d501d64d4060f7957c5e2d38cb3b200cf3558c49 Mon Sep 17 00:00:00 2001 From: Scott Wood Date: Fri, 4 Jan 2019 15:33:21 -0500 Subject: [PATCH 152/290] locking/rt-mutex: Flush block plug on __down_read() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5d45bce4eea516a2d4626f2611c57c7f5cdd89cc +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz __down_read() bypasses the rtmutex frontend to call rt_mutex_slowlock_locked() directly, and thus it needs to call @@ -40,3 +41,6 @@ might_sleep(); raw_spin_lock_irq(&m->wait_lock); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0153-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch linux-4.19.98/debian/patches-rt/0153-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch --- linux-4.19.87/debian/patches-rt/0153-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0153-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From d0199e56eaa78d4c3026051cb0281d3a810d1ae3 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 16 Nov 2017 16:48:48 +0100 Subject: [PATCH 153/290] locking/rtmutex: re-init the wait_lock in rt_mutex_init_proxy_locked() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=361d72a145de18a02d4072fead2642a386755146 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz We could provide a key-class for the lockdep (and fixup all callers) or move the init to all callers (like it was) in order to avoid lockdep @@ -33,3 +34,6 @@ debug_rt_mutex_proxy_lock(lock, proxy_owner); rt_mutex_set_owner(lock, proxy_owner); } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0154-ptrace-fix-ptrace-vs-tasklist_lock-race.patch linux-4.19.98/debian/patches-rt/0154-ptrace-fix-ptrace-vs-tasklist_lock-race.patch --- linux-4.19.87/debian/patches-rt/0154-ptrace-fix-ptrace-vs-tasklist_lock-race.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0154-ptrace-fix-ptrace-vs-tasklist_lock-race.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From e7e712a633a103d1d141dba845f847dcf20a9f47 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 29 Aug 2013 18:21:04 +0200 Subject: [PATCH 154/290] ptrace: fix ptrace vs tasklist_lock race -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=dc2b806b1905e1f7f8538a75cb22fbef4d319f7f +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz As explained by Alexander Fyodorov : @@ -119,7 +120,7 @@ } spin_unlock_irq(&task->sighand->siglock); diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 654e2ec54f9d..fc2826788d16 100644 +index 6a0ccaea2b42..6bab30347081 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1349,6 +1349,18 @@ int migrate_swap(struct task_struct *cur, struct task_struct *p, @@ -160,3 +161,6 @@ ncsw = p->nvcsw | LONG_MIN; /* sets MSB */ task_rq_unlock(rq, p, &rf); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0155-rtmutex-annotate-sleeping-lock-context.patch linux-4.19.98/debian/patches-rt/0155-rtmutex-annotate-sleeping-lock-context.patch --- linux-4.19.87/debian/patches-rt/0155-rtmutex-annotate-sleeping-lock-context.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0155-rtmutex-annotate-sleeping-lock-context.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 73e797275adecb403374a97cd6d6737f6a6f8671 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 21 Sep 2017 14:25:13 +0200 Subject: [PATCH 155/290] rtmutex: annotate sleeping lock context -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1dc416b3e49814a54ed09b9248b6ec3183db9f8e +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The RCU code complains on schedule() within a rcu_readlock() section. The valid scenario on -RT is if a sleeping is held. In order to suppress @@ -249,10 +250,10 @@ !t->rcu_read_unlock_special.b.blocked) { diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index fc2826788d16..5fa7e1b544d2 100644 +index 6bab30347081..d49580cb0eb2 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -7353,4 +7353,49 @@ void migrate_enable(void) +@@ -7354,4 +7354,49 @@ void migrate_enable(void) preempt_enable(); } EXPORT_SYMBOL(migrate_enable); @@ -302,3 +303,6 @@ +} +EXPORT_SYMBOL(migrate_enable); #endif +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0156-sched-migrate_disable-fallback-to-preempt_disable-in.patch linux-4.19.98/debian/patches-rt/0156-sched-migrate_disable-fallback-to-preempt_disable-in.patch --- linux-4.19.87/debian/patches-rt/0156-sched-migrate_disable-fallback-to-preempt_disable-in.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0156-sched-migrate_disable-fallback-to-preempt_disable-in.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 65a47d500d54261e050d9f73a554a1ad527ea6d7 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 5 Jul 2018 14:44:51 +0200 Subject: [PATCH 156/290] sched/migrate_disable: fallback to preempt_disable() instead barrier() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a4408a9fddd06393e70db9e3e61ae63973d1d257 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz On SMP + !RT migrate_disable() is still around. It is not part of spin_lock() anymore so it has almost no users. However the futex code has a workaround for @@ -93,7 +94,7 @@ # endif #endif diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 5fa7e1b544d2..ed44ed8215dd 100644 +index d49580cb0eb2..3b2664e691de 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1031,7 +1031,7 @@ void set_cpus_allowed_common(struct task_struct *p, const struct cpumask *new_ma @@ -123,7 +124,7 @@ if (__migrate_disabled(p)) { p->migrate_disable_update = 1; goto out; -@@ -7209,7 +7209,7 @@ const u32 sched_prio_to_wmult[40] = { +@@ -7210,7 +7210,7 @@ const u32 sched_prio_to_wmult[40] = { #undef CREATE_TRACE_POINTS @@ -132,7 +133,7 @@ static inline void update_nr_migratory(struct task_struct *p, long delta) -@@ -7357,45 +7357,44 @@ EXPORT_SYMBOL(migrate_enable); +@@ -7358,45 +7358,44 @@ EXPORT_SYMBOL(migrate_enable); #elif !defined(CONFIG_SMP) && defined(CONFIG_PREEMPT_RT_BASE) void migrate_disable(void) { @@ -198,3 +199,6 @@ P(migrate_disable); #endif P(nr_cpus_allowed); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0157-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch linux-4.19.98/debian/patches-rt/0157-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch --- linux-4.19.87/debian/patches-rt/0157-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0157-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 5b55069e90dd13bbd2376868c9ae8dab6a2e72d1 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 4 Aug 2017 17:40:42 +0200 Subject: [PATCH 157/290] locking: don't check for __LINUX_SPINLOCK_TYPES_H on -RT archs -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ca5186cf254ac598302e902572f9ec6e5208101e +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Upstream uses arch_spinlock_t within spinlock_t and requests that spinlock_types.h header file is included first. @@ -176,3 +177,6 @@ /* * include/linux/spinlock_types_up.h - spinlock type definitions for UP * +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0158-rcu-Frob-softirq-test.patch linux-4.19.98/debian/patches-rt/0158-rcu-Frob-softirq-test.patch --- linux-4.19.87/debian/patches-rt/0158-rcu-Frob-softirq-test.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0158-rcu-Frob-softirq-test.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 9baac22c59df91638ab1dacfebd3290c5bfd73ca Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Sat, 13 Aug 2011 00:23:17 +0200 Subject: [PATCH 158/290] rcu: Frob softirq test -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8a9338244bc09a7c6c2f6397d445fd1fac3f73ad +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz With RT_FULL we get the below wreckage: @@ -167,3 +168,6 @@ lockdep_rcu_suspicious(__FILE__, __LINE__, "rcu_read_unlock() from irq or softirq with blocking in critical section!!!\n"); pr_alert("->rcu_read_unlock_special: %#x (b: %d, enq: %d nq: %d)\n", +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0159-rcu-Merge-RCU-bh-into-RCU-preempt.patch linux-4.19.98/debian/patches-rt/0159-rcu-Merge-RCU-bh-into-RCU-preempt.patch --- linux-4.19.87/debian/patches-rt/0159-rcu-Merge-RCU-bh-into-RCU-preempt.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0159-rcu-Merge-RCU-bh-into-RCU-preempt.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 901bc5821a73d1fc6bbfe65cf07194fd04845366 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 5 Oct 2011 11:59:38 -0700 Subject: [PATCH 159/290] rcu: Merge RCU-bh into RCU-preempt -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0cde6b9c8eb03c12c6386be0e528677d3fea03ad +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The Linux kernel has long RCU-bh read-side critical sections that intolerably increase scheduling latency under mainline's RCU-bh rules, @@ -345,3 +346,6 @@ #endif /* #ifdef CONFIG_DEBUG_LOCK_ALLOC */ +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0160-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch linux-4.19.98/debian/patches-rt/0160-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch --- linux-4.19.87/debian/patches-rt/0160-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0160-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 8a484b91ae77a0557e92b9e07f3fe82b7ff735cb Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Wed, 5 Oct 2011 11:45:18 -0700 Subject: [PATCH 160/290] rcu: Make ksoftirqd do RCU quiescent states -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c601f950fa972271a42584bc6a375e57b9de7ced +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Implementing RCU-bh in terms of RCU-preempt makes the system vulnerable to network-based denial-of-service attacks. This patch therefore @@ -111,3 +112,6 @@ /* * Prepare a CPU for idle from an RCU perspective. The first major task +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0161-rcu-Eliminate-softirq-processing-from-rcutree.patch linux-4.19.98/debian/patches-rt/0161-rcu-Eliminate-softirq-processing-from-rcutree.patch --- linux-4.19.87/debian/patches-rt/0161-rcu-Eliminate-softirq-processing-from-rcutree.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0161-rcu-Eliminate-softirq-processing-from-rcutree.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 5c4e32e88d430654b1f529185331235d5b745a0d Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Mon, 4 Nov 2013 13:21:10 -0800 Subject: [PATCH 161/290] rcu: Eliminate softirq processing from rcutree -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3849b64ca740e816ba3e9c8c188225a500d906ce +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Running RCU out of softirq is a problem for some workloads that would like to manage RCU core processing independently of other softirq work, @@ -417,3 +418,6 @@ static bool rcu_is_callbacks_kthread(void) { return false; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0162-srcu-use-cpu_online-instead-custom-check.patch linux-4.19.98/debian/patches-rt/0162-srcu-use-cpu_online-instead-custom-check.patch --- linux-4.19.87/debian/patches-rt/0162-srcu-use-cpu_online-instead-custom-check.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0162-srcu-use-cpu_online-instead-custom-check.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 68c6703bb92019392658036dcf0a667b1388a3b0 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 13 Sep 2017 14:43:41 +0200 Subject: [PATCH 162/290] srcu: use cpu_online() instead custom check -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f8e14a2b6827eff60c356df5338a5742202fa52e +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The current check via srcu_online is slightly racy because after looking at srcu_online there could be an interrupt that interrupted us long @@ -90,3 +91,6 @@ return 0; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0163-srcu-replace-local_irqsave-with-a-locallock.patch linux-4.19.98/debian/patches-rt/0163-srcu-replace-local_irqsave-with-a-locallock.patch --- linux-4.19.87/debian/patches-rt/0163-srcu-replace-local_irqsave-with-a-locallock.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0163-srcu-replace-local_irqsave-with-a-locallock.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 5bc56052951df498807fec250c48debf7cc3a55b Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 12 Oct 2017 18:37:12 +0200 Subject: [PATCH 163/290] srcu: replace local_irqsave() with a locallock -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4223fcff7c7a145c27b6e917d8113a340b4f0fe7 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz There are two instances which disable interrupts in order to become a stable this_cpu_ptr() pointer. The restore part is coupled with @@ -71,3 +72,6 @@ if (needgp) srcu_funnel_gp_start(sp, sdp, s, do_norm); else if (needexp) +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0164-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch linux-4.19.98/debian/patches-rt/0164-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch --- linux-4.19.87/debian/patches-rt/0164-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0164-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 72d24a41a24c422c75947391b6fb8419bce49da3 Mon Sep 17 00:00:00 2001 From: Julia Cartwright Date: Wed, 12 Oct 2016 11:21:14 -0500 Subject: [PATCH 164/290] rcu: enable rcu_normal_after_boot by default for RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=eb935a53cab85b5354d0dea339bdc8c6aacff1ea +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The forcing of an expedited grace period is an expensive and very RT-application unfriendly operation, as it forcibly preempts all running @@ -31,3 +32,6 @@ module_param(rcu_normal_after_boot, int, 0); #endif /* #ifndef CONFIG_TINY_RCU */ +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0165-tty-serial-omap-Make-the-locking-RT-aware.patch linux-4.19.98/debian/patches-rt/0165-tty-serial-omap-Make-the-locking-RT-aware.patch --- linux-4.19.87/debian/patches-rt/0165-tty-serial-omap-Make-the-locking-RT-aware.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0165-tty-serial-omap-Make-the-locking-RT-aware.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From d23352f4c6e06f5629a0d48714ac071a78b7669d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 28 Jul 2011 13:32:57 +0200 Subject: [PATCH 165/290] tty/serial/omap: Make the locking RT aware -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c1aa166b3cda7c4fa842730ba6380b6aefde743f +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -43,3 +44,6 @@ } static int __init +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0166-tty-serial-pl011-Make-the-locking-work-on-RT.patch linux-4.19.98/debian/patches-rt/0166-tty-serial-pl011-Make-the-locking-work-on-RT.patch --- linux-4.19.87/debian/patches-rt/0166-tty-serial-pl011-Make-the-locking-work-on-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0166-tty-serial-pl011-Make-the-locking-work-on-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From e98f40187d6c4ce468ae727682ccccff520ad931 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 8 Jan 2013 21:36:51 +0100 Subject: [PATCH 166/290] tty/serial/pl011: Make the locking work on RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8439d05feecf238ad757c9a011a3dc5efcc313a1 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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. @@ -12,10 +13,10 @@ 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index 89ade213a1a9..6be86f8c7e6a 100644 +index af21122dfade..183e8b731d6a 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c -@@ -2216,13 +2216,19 @@ pl011_console_write(struct console *co, const char *s, unsigned int count) +@@ -2214,13 +2214,19 @@ pl011_console_write(struct console *co, const char *s, unsigned int count) clk_enable(uap->clk); @@ -38,7 +39,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) +@@ -2246,8 +2252,7 @@ pl011_console_write(struct console *co, const char *s, unsigned int count) pl011_write(old_cr, uap, REG_CR); if (locked) @@ -48,3 +49,6 @@ clk_disable(uap->clk); } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0167-tty-serial-pl011-explicitly-initialize-the-flags-var.patch linux-4.19.98/debian/patches-rt/0167-tty-serial-pl011-explicitly-initialize-the-flags-var.patch --- linux-4.19.87/debian/patches-rt/0167-tty-serial-pl011-explicitly-initialize-the-flags-var.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0167-tty-serial-pl011-explicitly-initialize-the-flags-var.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,3 +1,4 @@ +From af3d56abb15953cb66d7ab6ec70e7289699c06b3 Mon Sep 17 00:00:00 2001 From: Kurt Kanzenbach Date: Mon, 24 Sep 2018 10:29:01 +0200 Subject: [PATCH 167/290] tty: serial: pl011: explicitly initialize the flags @@ -5,7 +6,7 @@ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f62463ebdcecc357660298ab74a11df27df0adc3 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Silence the following gcc warning: @@ -27,10 +28,10 @@ 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index 6be86f8c7e6a..59b4ab7b50bf 100644 +index 183e8b731d6a..2cc6b24bc88d 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c -@@ -2211,7 +2211,7 @@ pl011_console_write(struct console *co, const char *s, unsigned int count) +@@ -2209,7 +2209,7 @@ 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; @@ -39,3 +40,6 @@ int locked = 1; clk_enable(uap->clk); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0168-rt-Improve-the-serial-console-PASS_LIMIT.patch linux-4.19.98/debian/patches-rt/0168-rt-Improve-the-serial-console-PASS_LIMIT.patch --- linux-4.19.87/debian/patches-rt/0168-rt-Improve-the-serial-console-PASS_LIMIT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0168-rt-Improve-the-serial-console-PASS_LIMIT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,10 +1,11 @@ +From 8a62565dce3fc35c4f8409e5b790505c56d7488a Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Wed, 14 Dec 2011 13:05:54 +0100 Subject: [PATCH 168/290] rt: Improve the serial console PASS_LIMIT MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6cb957cb6dd7593e888563c6d3dc8ddfc96d1179 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Beyond the warning: @@ -20,7 +21,7 @@ 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c -index 8fe3d0ed229e..a2baac4c8b63 100644 +index 69aaee5d7fe1..cf88317a95fc 100644 --- a/drivers/tty/serial/8250/8250_core.c +++ b/drivers/tty/serial/8250/8250_core.c @@ -54,7 +54,16 @@ static struct uart_driver serial8250_reg; @@ -41,3 +42,6 @@ #include /* +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0169-tty-serial-8250-don-t-take-the-trylock-during-oops.patch linux-4.19.98/debian/patches-rt/0169-tty-serial-8250-don-t-take-the-trylock-during-oops.patch --- linux-4.19.87/debian/patches-rt/0169-tty-serial-8250-don-t-take-the-trylock-during-oops.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0169-tty-serial-8250-don-t-take-the-trylock-during-oops.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From cfdff0a4d70b2b13d7088037e29e4795d031a127 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 11 Apr 2016 16:55:02 +0200 Subject: [PATCH 169/290] tty: serial: 8250: don't take the trylock during oops -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ab14019d06506af1681a118b437e278ede26523e +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz An oops with irqs off (panic() from irqsafe hrtimer like the watchdog timer) will lead to a lockdep warning on each invocation and as such @@ -29,3 +30,6 @@ else spin_lock_irqsave(&port->lock, flags); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0170-locking-percpu-rwsem-Remove-preempt_disable-variants.patch linux-4.19.98/debian/patches-rt/0170-locking-percpu-rwsem-Remove-preempt_disable-variants.patch --- linux-4.19.87/debian/patches-rt/0170-locking-percpu-rwsem-Remove-preempt_disable-variants.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0170-locking-percpu-rwsem-Remove-preempt_disable-variants.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 5e95b56124341d5c51f1b53b804367a02c4b706b Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Wed, 23 Nov 2016 16:29:32 +0100 Subject: [PATCH 170/290] locking/percpu-rwsem: Remove preempt_disable variants -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=bd2407192fdb6b4ab9958ae8e7df76b9b0b1ca3f +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Effective revert commit: @@ -17,7 +18,7 @@ 2 files changed, 20 insertions(+), 36 deletions(-) diff --git a/fs/locks.c b/fs/locks.c -index 2ecb4db8c840..8259b7c7b5d2 100644 +index 28270e74be34..552476d6f6bb 100644 --- a/fs/locks.c +++ b/fs/locks.c @@ -936,7 +936,7 @@ static int flock_lock_inode(struct inode *inode, struct file_lock *request) @@ -220,3 +221,6 @@ extern void percpu_down_write(struct percpu_rw_semaphore *); extern void percpu_up_write(struct percpu_rw_semaphore *); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0171-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch linux-4.19.98/debian/patches-rt/0171-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch --- linux-4.19.87/debian/patches-rt/0171-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0171-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From f321beb42f46e0be7912e2d8cc67f922477c4787 Mon Sep 17 00:00:00 2001 From: Yong Zhang Date: Tue, 15 May 2012 13:53:56 +0800 Subject: [PATCH 171/290] mm: Protect activate_mm() by preempt_[disable&enable]_rt() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=92aa811a04477ea039cc3410d3995550d7701de0 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz User preempt_*_rt instead of local_irq_*_rt or otherwise there will be warning on ARM like below: @@ -75,3 +76,6 @@ task_unlock(tsk); #ifdef finish_arch_post_lock_switch finish_arch_post_lock_switch(); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0172-fs-dcache-bring-back-explicit-INIT_HLIST_BL_HEAD-ini.patch linux-4.19.98/debian/patches-rt/0172-fs-dcache-bring-back-explicit-INIT_HLIST_BL_HEAD-ini.patch --- linux-4.19.87/debian/patches-rt/0172-fs-dcache-bring-back-explicit-INIT_HLIST_BL_HEAD-ini.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0172-fs-dcache-bring-back-explicit-INIT_HLIST_BL_HEAD-ini.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 6657c7f6ea61fd3fea378532fcae38776afc9fc1 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 13 Sep 2017 12:32:34 +0200 Subject: [PATCH 172/290] fs/dcache: bring back explicit INIT_HLIST_BL_HEAD init -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e3be20e797ac5235e6dea292095b4965758e5fae +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Commit 3d375d78593c ("mm: update callers to use HASH_ZERO flag") removed INIT_HLIST_BL_HEAD and uses the ZERO flag instead for the init. However @@ -55,3 +56,6 @@ d_hash_shift = 32 - d_hash_shift; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0173-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch linux-4.19.98/debian/patches-rt/0173-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch --- linux-4.19.87/debian/patches-rt/0173-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0173-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From f7fc6eb795b824aba9a02869fb2f399bb51a880c Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 20 Oct 2017 11:29:53 +0200 Subject: [PATCH 173/290] fs/dcache: disable preemption on i_dir_seq's write side -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b76c5592f74b41c5b7b2bca53c5276466618cc91 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -93,3 +94,6 @@ }; __u32 i_generation; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0174-squashfs-make-use-of-local-lock-in-multi_cpu-decompr.patch linux-4.19.98/debian/patches-rt/0174-squashfs-make-use-of-local-lock-in-multi_cpu-decompr.patch --- linux-4.19.87/debian/patches-rt/0174-squashfs-make-use-of-local-lock-in-multi_cpu-decompr.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0174-squashfs-make-use-of-local-lock-in-multi_cpu-decompr.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From cd5771603fe1942769706821fac18040226fec7c Mon Sep 17 00:00:00 2001 From: Julia Cartwright Date: Mon, 7 May 2018 08:58:57 -0500 Subject: [PATCH 174/290] squashfs: make use of local lock in multi_cpu decompressor -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d33cd90abebb1208dcdad47bfaae55dfe6210384 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Currently, the squashfs multi_cpu decompressor makes use of get_cpu_ptr()/put_cpu_ptr(), which unconditionally disable preemption @@ -66,3 +67,6 @@ if (res < 0) ERROR("%s decompression failed, data probably corrupt\n", +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0175-thermal-Defer-thermal-wakups-to-threads.patch linux-4.19.98/debian/patches-rt/0175-thermal-Defer-thermal-wakups-to-threads.patch --- linux-4.19.87/debian/patches-rt/0175-thermal-Defer-thermal-wakups-to-threads.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0175-thermal-Defer-thermal-wakups-to-threads.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 902a47642519ca8ebec20cd12baa43b7985d5d5e Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Tue, 17 Feb 2015 09:37:44 +0100 Subject: [PATCH 175/290] thermal: Defer thermal wakups to threads -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d72bb8e181f96a5083272f0f0a81398734754a1e +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz On RT the spin lock in pkg_temp_thermal_platfrom_thermal_notify will call schedule while we run in irq context. @@ -131,3 +132,6 @@ } module_exit(pkg_temp_thermal_exit) +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0176-x86-fpu-Disable-preemption-around-local_bh_disable.patch linux-4.19.98/debian/patches-rt/0176-x86-fpu-Disable-preemption-around-local_bh_disable.patch --- linux-4.19.87/debian/patches-rt/0176-x86-fpu-Disable-preemption-around-local_bh_disable.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0176-x86-fpu-Disable-preemption-around-local_bh_disable.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From b2c28ae019437b1f5b43bb57a2898cfb0c03397c Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 11 Dec 2018 15:10:33 +0100 Subject: [PATCH 176/290] x86/fpu: Disable preemption around local_bh_disable() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b7106c9d220d744e3fe1c149b187b48876a9e5f4 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz __fpu__restore_sig() restores the content of the FPU state in the CPUs and in order to avoid concurency it disbles BH. On !RT it also disables @@ -32,3 +33,6 @@ return err; } else { +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0177-fs-epoll-Do-not-disable-preemption-on-RT.patch linux-4.19.98/debian/patches-rt/0177-fs-epoll-Do-not-disable-preemption-on-RT.patch --- linux-4.19.87/debian/patches-rt/0177-fs-epoll-Do-not-disable-preemption-on-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0177-fs-epoll-Do-not-disable-preemption-on-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 5916e5218923335c20252ab8309a16d071a54a80 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 8 Jul 2011 16:35:35 +0200 Subject: [PATCH 177/290] fs/epoll: Do not disable preemption on RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=723ebe37abb09e4f0d3f367217307266d12f04da +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz ep_call_nested() takes a sleeping lock so we can't disable preemption. The light version is enough since ep_call_nested() doesn't mind beeing @@ -31,3 +32,6 @@ } #else +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0178-mm-vmalloc-Another-preempt-disable-region-which-suck.patch linux-4.19.98/debian/patches-rt/0178-mm-vmalloc-Another-preempt-disable-region-which-suck.patch --- linux-4.19.87/debian/patches-rt/0178-mm-vmalloc-Another-preempt-disable-region-which-suck.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0178-mm-vmalloc-Another-preempt-disable-region-which-suck.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 4b23a47feeb6d6b93de283f0502e0ba095173d0d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 12 Jul 2011 11:39:36 +0200 Subject: [PATCH 178/290] mm/vmalloc: Another preempt disable region which sucks -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=984f0aea9084e80c662e605b8683389dd685232d +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Avoid the preempt disable version of get_cpu_var(). The inner-lock should provide enough serialisation. @@ -67,3 +68,6 @@ rcu_read_unlock(); /* Allocate new block if nothing was found */ +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0179-block-mq-use-cpu_light.patch linux-4.19.98/debian/patches-rt/0179-block-mq-use-cpu_light.patch --- linux-4.19.87/debian/patches-rt/0179-block-mq-use-cpu_light.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0179-block-mq-use-cpu_light.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 687c233b2f57dfd618d45830dc9af37e3147e81b Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 9 Apr 2014 10:37:23 +0200 Subject: [PATCH 179/290] block: mq: use cpu_light() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=89d6f7956e2046a5b49e51aa3f200b64023fb8aa +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz there is a might sleep splat because get_cpu() disables preemption and later we grab a lock. As a workaround for this we use get_cpu_light(). @@ -30,3 +31,6 @@ } struct blk_mq_alloc_data { +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0180-block-mq-do-not-invoke-preempt_disable.patch linux-4.19.98/debian/patches-rt/0180-block-mq-do-not-invoke-preempt_disable.patch --- linux-4.19.87/debian/patches-rt/0180-block-mq-do-not-invoke-preempt_disable.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0180-block-mq-do-not-invoke-preempt_disable.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 4038b2ec5798b7386eb67a895fda6b5c4febfc36 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 14 Jul 2015 14:26:34 +0200 Subject: [PATCH 180/290] block/mq: do not invoke preempt_disable() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ac4e6d6f8a4fc0bb512302adf00e280a5a4ec275 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz preempt_disable() and get_cpu() don't play well together with the sleeping locks it tries to allocate later. @@ -52,3 +53,6 @@ } kblockd_mod_delayed_work_on(blk_mq_hctx_next_cpu(hctx), &hctx->run_work, +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0181-block-mq-don-t-complete-requests-via-IPI.patch linux-4.19.98/debian/patches-rt/0181-block-mq-don-t-complete-requests-via-IPI.patch --- linux-4.19.87/debian/patches-rt/0181-block-mq-don-t-complete-requests-via-IPI.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0181-block-mq-don-t-complete-requests-via-IPI.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 1e4579941a4ae775b14ca02ef717a5bea1608853 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 29 Jan 2015 15:10:08 +0100 Subject: [PATCH 181/290] block/mq: don't complete requests via IPI -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ba611c8f81858be6e3e56e1e556ee058d65df3c7 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The IPI runs in hardirq context and there are sleeping locks. This patch moves the completion into a workqueue. @@ -15,7 +16,7 @@ 4 files changed, 30 insertions(+), 1 deletion(-) diff --git a/block/blk-core.c b/block/blk-core.c -index 074ae9376189..0edb346263b8 100644 +index ea33d6abdcfc..4860cd26cd5a 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -189,6 +189,9 @@ void blk_rq_init(struct request_queue *q, struct request *rq) @@ -113,3 +114,6 @@ struct blk_mq_ctx *mq_ctx; int cpu; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0182-md-raid5-Make-raid5_percpu-handling-RT-aware.patch linux-4.19.98/debian/patches-rt/0182-md-raid5-Make-raid5_percpu-handling-RT-aware.patch --- linux-4.19.87/debian/patches-rt/0182-md-raid5-Make-raid5_percpu-handling-RT-aware.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0182-md-raid5-Make-raid5_percpu-handling-RT-aware.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From ea655a0576aff0709c19ff2f8634ac9cb783f0ad Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 6 Apr 2010 16:51:31 +0200 Subject: [PATCH 182/290] md: raid5: Make raid5_percpu handling RT aware -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ca0dd19a307514cdb9330e8439eb01949dba8bfb +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz __raid_run_ops() disables preemption with get_cpu() around the access to the raid5_percpu variables. That causes scheduling while atomic @@ -19,7 +20,7 @@ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c -index 4a5aad26ded7..7245222787f7 100644 +index 01021382131b..379ce2f57512 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c @@ -2069,8 +2069,9 @@ static void raid_run_ops(struct stripe_head *sh, unsigned long ops_request) @@ -71,3 +72,6 @@ struct page *spare_page; /* Used when checking P/Q in raid6 */ struct flex_array *scribble; /* space for constructing buffer * lists and performing address +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0183-rt-Introduce-cpu_chill.patch linux-4.19.98/debian/patches-rt/0183-rt-Introduce-cpu_chill.patch --- linux-4.19.87/debian/patches-rt/0183-rt-Introduce-cpu_chill.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0183-rt-Introduce-cpu_chill.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From c021d3e1d9574028eba2cdd5b6c776e9020a0d9d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 7 Mar 2012 20:51:03 +0100 Subject: [PATCH 183/290] rt: Introduce cpu_chill() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=659e4f914a6993cf0589d66323ab73e8f339b97b +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Retry loops on RT might loop forever when the modifying side was preempted. Add cpu_chill() to replace cpu_relax(). cpu_chill() @@ -76,10 +77,10 @@ + #endif /* defined(_LINUX_DELAY_H) */ diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c -index cfa3599fa789..851b2134e77f 100644 +index b800efb64238..98a771065818 100644 --- a/kernel/time/hrtimer.c +++ b/kernel/time/hrtimer.c -@@ -1894,6 +1894,27 @@ COMPAT_SYSCALL_DEFINE2(nanosleep, struct compat_timespec __user *, rqtp, +@@ -1897,6 +1897,27 @@ COMPAT_SYSCALL_DEFINE2(nanosleep, struct compat_timespec __user *, rqtp, } #endif @@ -107,3 +108,6 @@ /* * Functions related to boot-time initialization: */ +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0184-hrtimer-Don-t-lose-state-in-cpu_chill.patch linux-4.19.98/debian/patches-rt/0184-hrtimer-Don-t-lose-state-in-cpu_chill.patch --- linux-4.19.87/debian/patches-rt/0184-hrtimer-Don-t-lose-state-in-cpu_chill.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0184-hrtimer-Don-t-lose-state-in-cpu_chill.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From d81a1f846aac209ee8c5c7ccbc613324abeba9c4 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 19 Feb 2019 16:59:15 +0100 Subject: [PATCH 184/290] hrtimer: Don't lose state in cpu_chill() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=90daf635e3dc26a4457ccb0d7c6833364ace0588 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz In cpu_chill() the state is set to TASK_UNINTERRUPTIBLE and a timer is programmed. On return the state is always TASK_RUNNING which means we @@ -19,10 +20,10 @@ 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c -index 851b2134e77f..6f2736ec4b8e 100644 +index 98a771065818..21a454557c8a 100644 --- a/kernel/time/hrtimer.c +++ b/kernel/time/hrtimer.c -@@ -1902,15 +1902,18 @@ void cpu_chill(void) +@@ -1905,15 +1905,18 @@ void cpu_chill(void) { ktime_t chill_time; unsigned int freeze_flag = current->flags & PF_NOFREEZE; @@ -42,3 +43,6 @@ } EXPORT_SYMBOL(cpu_chill); #endif +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0185-hrtimer-cpu_chill-save-task-state-in-saved_state.patch linux-4.19.98/debian/patches-rt/0185-hrtimer-cpu_chill-save-task-state-in-saved_state.patch --- linux-4.19.87/debian/patches-rt/0185-hrtimer-cpu_chill-save-task-state-in-saved_state.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0185-hrtimer-cpu_chill-save-task-state-in-saved_state.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From fe55dde1efd56a8afb667d104442861cde103feb Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 26 Feb 2019 12:31:10 +0100 Subject: [PATCH 185/290] hrtimer: cpu_chill(): save task state in ->saved_state() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=257cbf0f7494e27b80ba0f94daaabb3198e02305 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz In the previous change I saved the current task state on stack. This was bad because while the task is scheduled-out it might receive a wake-up. @@ -20,10 +21,10 @@ 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c -index 6f2736ec4b8e..e1040b80362c 100644 +index 21a454557c8a..f16cbc98c47a 100644 --- a/kernel/time/hrtimer.c +++ b/kernel/time/hrtimer.c -@@ -1900,20 +1900,28 @@ COMPAT_SYSCALL_DEFINE2(nanosleep, struct compat_timespec __user *, rqtp, +@@ -1903,20 +1903,28 @@ COMPAT_SYSCALL_DEFINE2(nanosleep, struct compat_timespec __user *, rqtp, */ void cpu_chill(void) { @@ -57,3 +58,6 @@ } EXPORT_SYMBOL(cpu_chill); #endif +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0186-block-blk-mq-move-blk_queue_usage_counter_release-in.patch linux-4.19.98/debian/patches-rt/0186-block-blk-mq-move-blk_queue_usage_counter_release-in.patch --- linux-4.19.87/debian/patches-rt/0186-block-blk-mq-move-blk_queue_usage_counter_release-in.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0186-block-blk-mq-move-blk_queue_usage_counter_release-in.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From a315826e2a7f0937429019a4fc122b56a4a827b9 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 13 Mar 2018 13:49:16 +0100 Subject: [PATCH 186/290] block: blk-mq: move blk_queue_usage_counter_release() into process context -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c42562ee54e99ab855db63ca0f224c76515fe664 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz | BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:914 | in_atomic(): 1, irqs_disabled(): 0, pid: 255, name: kworker/u257:6 @@ -51,10 +52,10 @@ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/block/blk-core.c b/block/blk-core.c -index 0edb346263b8..06fcd081696e 100644 +index 4860cd26cd5a..13bf37156bb0 100644 --- a/block/blk-core.c +++ b/block/blk-core.c -@@ -970,12 +970,21 @@ void blk_queue_exit(struct request_queue *q) +@@ -973,12 +973,21 @@ void blk_queue_exit(struct request_queue *q) percpu_ref_put(&q->q_usage_counter); } @@ -77,7 +78,7 @@ } static void blk_rq_timed_out_timer(struct timer_list *t) -@@ -1072,6 +1081,7 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id, +@@ -1075,6 +1084,7 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id, queue_flag_set_unlocked(QUEUE_FLAG_BYPASS, q); init_waitqueue_head(&q->mq_freeze_wq); @@ -85,7 +86,7 @@ /* * Init percpu_ref in atomic mode so that it's faster to shutdown. -@@ -3961,6 +3971,8 @@ int __init blk_dev_init(void) +@@ -3964,6 +3974,8 @@ int __init blk_dev_init(void) if (!kblockd_workqueue) panic("Failed to create kblockd\n"); @@ -114,3 +115,6 @@ struct percpu_ref q_usage_counter; struct list_head all_q_node; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0187-block-Use-cpu_chill-for-retry-loops.patch linux-4.19.98/debian/patches-rt/0187-block-Use-cpu_chill-for-retry-loops.patch --- linux-4.19.87/debian/patches-rt/0187-block-Use-cpu_chill-for-retry-loops.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0187-block-Use-cpu_chill-for-retry-loops.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From effa2a0476d7f71cd3c5007874c228db414f3318 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 20 Dec 2012 18:28:26 +0100 Subject: [PATCH 187/290] block: Use cpu_chill() for retry loops -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9cf22ca96dd1665b30609658a308c09ecb55c1c1 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Retry loops on RT might loop forever when the modifying side was preempted. Steven also observed a live lock when there was a @@ -45,3 +46,6 @@ goto retry; } } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0188-fs-dcache-Use-cpu_chill-in-trylock-loops.patch linux-4.19.98/debian/patches-rt/0188-fs-dcache-Use-cpu_chill-in-trylock-loops.patch --- linux-4.19.87/debian/patches-rt/0188-fs-dcache-Use-cpu_chill-in-trylock-loops.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0188-fs-dcache-Use-cpu_chill-in-trylock-loops.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 3757c05ac9fc60a97b20abf3681d7f869c368be6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 7 Mar 2012 21:00:34 +0100 Subject: [PATCH 188/290] fs: dcache: Use cpu_chill() in trylock loops -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2daf2bfc05c4859befc797ba426cc6d41fa0c72d +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -14,7 +15,7 @@ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/fs/autofs/expire.c b/fs/autofs/expire.c -index 28d9c2b1b3bb..354b7147cead 100644 +index 70e9afe589fb..1a6b88ad4fe0 100644 --- a/fs/autofs/expire.c +++ b/fs/autofs/expire.c @@ -8,6 +8,7 @@ @@ -60,3 +61,6 @@ /* * 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.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0189-net-Use-cpu_chill-instead-of-cpu_relax.patch linux-4.19.98/debian/patches-rt/0189-net-Use-cpu_chill-instead-of-cpu_relax.patch --- linux-4.19.87/debian/patches-rt/0189-net-Use-cpu_chill-instead-of-cpu_relax.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0189-net-Use-cpu_chill-instead-of-cpu_relax.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 8f296bb8916125380ca66e63999aac396f5ab698 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 7 Mar 2012 21:10:04 +0100 Subject: [PATCH 189/290] net: Use cpu_chill() instead of cpu_relax() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4e739662f4d14956803c5fa64a1ed3b08275bba8 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -14,7 +15,7 @@ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c -index 7204e7bbebb0..2c22fa8cf9bf 100644 +index ac65e66d1d72..b4267ce1f869 100644 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c @@ -63,6 +63,7 @@ @@ -25,7 +26,7 @@ #include #include #include -@@ -667,7 +668,7 @@ static void prb_retire_rx_blk_timer_expired(struct timer_list *t) +@@ -668,7 +669,7 @@ static void prb_retire_rx_blk_timer_expired(struct timer_list *t) if (BLOCK_NUM_PKTS(pbd)) { while (atomic_read(&pkc->blk_fill_in_prog)) { /* Waiting for skb_copy_bits to finish... */ @@ -34,7 +35,7 @@ } } -@@ -929,7 +930,7 @@ static void prb_retire_current_block(struct tpacket_kbdq_core *pkc, +@@ -930,7 +931,7 @@ static void prb_retire_current_block(struct tpacket_kbdq_core *pkc, if (!(status & TP_STATUS_BLK_TMO)) { while (atomic_read(&pkc->blk_fill_in_prog)) { /* Waiting for skb_copy_bits to finish... */ @@ -64,3 +65,6 @@ } } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0190-fs-dcache-use-swait_queue-instead-of-waitqueue.patch linux-4.19.98/debian/patches-rt/0190-fs-dcache-use-swait_queue-instead-of-waitqueue.patch --- linux-4.19.87/debian/patches-rt/0190-fs-dcache-use-swait_queue-instead-of-waitqueue.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0190-fs-dcache-use-swait_queue-instead-of-waitqueue.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 558647aa05135aa727be9198f29a041686e683af Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 14 Sep 2016 14:35:49 +0200 Subject: [PATCH 190/290] fs/dcache: use swait_queue instead of waitqueue -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=92858e88d7c3572ca27dfe00a007a9971d4c720d +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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. @@ -84,10 +85,10 @@ hlist_bl_unlock(b); INIT_HLIST_NODE(&dentry->d_u.d_alias); diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c -index e7a2a988533d..4691605ea4aa 100644 +index 6244345a5745..7ee10b7cc808 100644 --- a/fs/fuse/dir.c +++ b/fs/fuse/dir.c -@@ -1203,7 +1203,7 @@ static int fuse_direntplus_link(struct file *file, +@@ -1213,7 +1213,7 @@ static int fuse_direntplus_link(struct file *file, struct inode *dir = d_inode(parent); struct fuse_conn *fc; struct inode *inode; @@ -235,3 +236,6 @@ raw_spin_lock_irq(&q->lock); list_splice_init(&q->task_list, &tmp); while (!list_empty(&tmp)) { +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0191-workqueue-Use-normal-rcu.patch linux-4.19.98/debian/patches-rt/0191-workqueue-Use-normal-rcu.patch --- linux-4.19.87/debian/patches-rt/0191-workqueue-Use-normal-rcu.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0191-workqueue-Use-normal-rcu.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From a65796914416941351ac0cd0271c5da76bed792a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 24 Jul 2013 15:26:54 +0200 Subject: [PATCH 191/290] workqueue: Use normal rcu -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=99a059bc619abcf186aa94c0358a8ac0dff692fb +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz There is no need for sched_rcu. The undocumented reason why sched_rcu is used is to avoid a few explicit rcu_read_lock()/unlock() pairs by @@ -14,7 +15,7 @@ 1 file changed, 52 insertions(+), 43 deletions(-) diff --git a/kernel/workqueue.c b/kernel/workqueue.c -index cd8b61bded78..88d7db5e0105 100644 +index 493908464b9e..544007905706 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -127,7 +127,7 @@ enum { @@ -179,7 +180,7 @@ } /** -@@ -2855,14 +2859,14 @@ static bool start_flush_work(struct work_struct *work, struct wq_barrier *barr, +@@ -2861,14 +2865,14 @@ static bool start_flush_work(struct work_struct *work, struct wq_barrier *barr, might_sleep(); @@ -197,7 +198,7 @@ /* see the comment in try_to_grab_pending() with the same code */ pwq = get_work_pwq(work); if (pwq) { -@@ -2894,10 +2898,11 @@ static bool start_flush_work(struct work_struct *work, struct wq_barrier *barr, +@@ -2900,10 +2904,11 @@ static bool start_flush_work(struct work_struct *work, struct wq_barrier *barr, lock_map_acquire(&pwq->wq->lockdep_map); lock_map_release(&pwq->wq->lockdep_map); } @@ -210,7 +211,7 @@ return false; } -@@ -3344,7 +3349,7 @@ static void rcu_free_pool(struct rcu_head *rcu) +@@ -3350,7 +3355,7 @@ static void rcu_free_pool(struct rcu_head *rcu) * put_unbound_pool - put a worker_pool * @pool: worker_pool to put * @@ -219,7 +220,7 @@ * safe manner. get_unbound_pool() calls this function on its failure path * and this function should be able to release pools which went through, * successfully or not, init_worker_pool(). -@@ -3398,8 +3403,8 @@ static void put_unbound_pool(struct worker_pool *pool) +@@ -3404,8 +3409,8 @@ static void put_unbound_pool(struct worker_pool *pool) del_timer_sync(&pool->idle_timer); del_timer_sync(&pool->mayday_timer); @@ -230,7 +231,7 @@ } /** -@@ -3506,14 +3511,14 @@ static void pwq_unbound_release_workfn(struct work_struct *work) +@@ -3512,14 +3517,14 @@ static void pwq_unbound_release_workfn(struct work_struct *work) put_unbound_pool(pool); mutex_unlock(&wq_pool_mutex); @@ -247,7 +248,7 @@ } /** -@@ -4198,7 +4203,7 @@ void destroy_workqueue(struct workqueue_struct *wq) +@@ -4219,7 +4224,7 @@ void destroy_workqueue(struct workqueue_struct *wq) * The base ref is never dropped on per-cpu pwqs. Directly * schedule RCU free. */ @@ -256,7 +257,7 @@ } else { /* * We're the sole accessor of @wq at this point. Directly -@@ -4308,7 +4313,8 @@ bool workqueue_congested(int cpu, struct workqueue_struct *wq) +@@ -4329,7 +4334,8 @@ bool workqueue_congested(int cpu, struct workqueue_struct *wq) struct pool_workqueue *pwq; bool ret; @@ -266,7 +267,7 @@ if (cpu == WORK_CPU_UNBOUND) cpu = smp_processor_id(); -@@ -4319,7 +4325,8 @@ bool workqueue_congested(int cpu, struct workqueue_struct *wq) +@@ -4340,7 +4346,8 @@ bool workqueue_congested(int cpu, struct workqueue_struct *wq) pwq = unbound_pwq_by_node(wq, cpu_to_node(cpu)); ret = !list_empty(&pwq->delayed_works); @@ -276,7 +277,7 @@ return ret; } -@@ -4345,15 +4352,15 @@ unsigned int work_busy(struct work_struct *work) +@@ -4366,15 +4373,15 @@ unsigned int work_busy(struct work_struct *work) if (work_pending(work)) ret |= WORK_BUSY_PENDING; @@ -296,7 +297,7 @@ return ret; } -@@ -4537,7 +4544,7 @@ void show_workqueue_state(void) +@@ -4559,7 +4566,7 @@ void show_workqueue_state(void) unsigned long flags; int pi; @@ -305,7 +306,7 @@ pr_info("Showing busy workqueues and worker pools:\n"); -@@ -4602,7 +4609,7 @@ void show_workqueue_state(void) +@@ -4624,7 +4631,7 @@ void show_workqueue_state(void) touch_nmi_watchdog(); } @@ -314,7 +315,7 @@ } /* used to show worker information through /proc/PID/{comm,stat,status} */ -@@ -4989,16 +4996,16 @@ bool freeze_workqueues_busy(void) +@@ -5011,16 +5018,16 @@ bool freeze_workqueues_busy(void) * nr_active is monotonically decreasing. It's safe * to peek without lock. */ @@ -334,7 +335,7 @@ } out_unlock: mutex_unlock(&wq_pool_mutex); -@@ -5193,7 +5200,8 @@ static ssize_t wq_pool_ids_show(struct device *dev, +@@ -5215,7 +5222,8 @@ static ssize_t wq_pool_ids_show(struct device *dev, const char *delim = ""; int node, written = 0; @@ -344,7 +345,7 @@ for_each_node(node) { written += scnprintf(buf + written, PAGE_SIZE - written, "%s%d:%d", delim, node, -@@ -5201,7 +5209,8 @@ static ssize_t wq_pool_ids_show(struct device *dev, +@@ -5223,7 +5231,8 @@ static ssize_t wq_pool_ids_show(struct device *dev, delim = " "; } written += scnprintf(buf + written, PAGE_SIZE - written, "\n"); @@ -354,3 +355,6 @@ return written; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0192-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch linux-4.19.98/debian/patches-rt/0192-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch --- linux-4.19.87/debian/patches-rt/0192-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0192-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 670717ab259111dcf589c98670ff74a206bf87d3 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:42:26 +0200 Subject: [PATCH 192/290] workqueue: Use local irq lock instead of irq disable regions -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e81c3e61f9acdd14e03dca56c2755c8ccb34e7a7 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Use a local_irq_lock as a replacement for irq off regions. We keep the semantic of irq-off in regard to the pool->lock and remain preemptible. @@ -13,7 +14,7 @@ 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/kernel/workqueue.c b/kernel/workqueue.c -index 88d7db5e0105..d168a5581c7f 100644 +index 544007905706..0efb8d25d940 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -49,6 +49,7 @@ @@ -149,7 +150,7 @@ } /** -@@ -3002,7 +3017,7 @@ static bool __cancel_work_timer(struct work_struct *work, bool is_dwork) +@@ -3008,7 +3023,7 @@ static bool __cancel_work_timer(struct work_struct *work, bool is_dwork) /* tell other tasks trying to grab @work to back off */ mark_work_canceling(work); @@ -158,7 +159,7 @@ /* * This allows canceling during early boot. We know that @work -@@ -3063,10 +3078,10 @@ EXPORT_SYMBOL_GPL(cancel_work_sync); +@@ -3069,10 +3084,10 @@ EXPORT_SYMBOL_GPL(cancel_work_sync); */ bool flush_delayed_work(struct delayed_work *dwork) { @@ -171,7 +172,7 @@ return flush_work(&dwork->work); } EXPORT_SYMBOL(flush_delayed_work); -@@ -3104,7 +3119,7 @@ static bool __cancel_work(struct work_struct *work, bool is_dwork) +@@ -3110,7 +3125,7 @@ static bool __cancel_work(struct work_struct *work, bool is_dwork) return false; set_work_pool_and_clear_pending(work, get_work_pool_id(work)); @@ -180,3 +181,6 @@ return ret; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0193-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch linux-4.19.98/debian/patches-rt/0193-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch --- linux-4.19.87/debian/patches-rt/0193-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0193-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From c6d8c462a41a7c4c64ade776387c5b9394464de6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 1 Jul 2013 11:02:42 +0200 Subject: [PATCH 193/290] workqueue: Prevent workqueue versus ata-piix livelock -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8361189669ab897311b896e43b3e9827d5cb460d +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz An Intel i7 system regularly detected rcu_preempt stalls after the kernel was upgraded from 3.6-rt to 3.8-rt. When the stall happened, disk I/O was no @@ -113,7 +114,7 @@ 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/workqueue.c b/kernel/workqueue.c -index d168a5581c7f..0a11d2f64424 100644 +index 0efb8d25d940..34734cdb5cb6 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -50,6 +50,7 @@ @@ -133,3 +134,6 @@ return -EAGAIN; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0194-sched-Distangle-worker-accounting-from-rqlock.patch linux-4.19.98/debian/patches-rt/0194-sched-Distangle-worker-accounting-from-rqlock.patch --- linux-4.19.87/debian/patches-rt/0194-sched-Distangle-worker-accounting-from-rqlock.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0194-sched-Distangle-worker-accounting-from-rqlock.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 811c45a6eb4df7a785f9fe8b20461bd72fee9d2c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 22 Jun 2011 19:47:03 +0200 Subject: [PATCH 194/290] sched: Distangle worker accounting from rqlock -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e6b7d9334dd365409ae319c4ae71c6a69a3cf9d8 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The worker accounting for cpu bound workers is plugged into the core scheduler code and the wakeup code. This is not a hard requirement and @@ -33,7 +34,7 @@ 3 files changed, 47 insertions(+), 100 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index ed44ed8215dd..7a0061839d77 100644 +index 3b2664e691de..dcf2deedd3f8 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1704,10 +1704,6 @@ static inline void ttwu_activate(struct rq *rq, struct task_struct *p, int en_fl @@ -169,7 +170,7 @@ EXPORT_SYMBOL(schedule); diff --git a/kernel/workqueue.c b/kernel/workqueue.c -index 0a11d2f64424..aa39924bd3b5 100644 +index 34734cdb5cb6..045b82ca0eb5 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -843,43 +843,32 @@ static void wake_up_worker(struct worker_pool *pool) @@ -285,3 +286,6 @@ +void wq_worker_sleeping(struct task_struct *task); #endif /* _KERNEL_WORKQUEUE_INTERNAL_H */ +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0195-debugobjects-Make-RT-aware.patch linux-4.19.98/debian/patches-rt/0195-debugobjects-Make-RT-aware.patch --- linux-4.19.87/debian/patches-rt/0195-debugobjects-Make-RT-aware.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0195-debugobjects-Make-RT-aware.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 0afdb35f56928f5bde82e37d5a90197756bbbc21 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:41:35 +0200 Subject: [PATCH 195/290] debugobjects: Make RT aware -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=51f4d617b46bda60b9220ca45de034aab6c76877 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Avoid filling the pool / allocating memory with irqs off(). @@ -26,3 +27,6 @@ db = get_bucket((unsigned long) addr); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0196-seqlock-Prevent-rt-starvation.patch linux-4.19.98/debian/patches-rt/0196-seqlock-Prevent-rt-starvation.patch --- linux-4.19.87/debian/patches-rt/0196-seqlock-Prevent-rt-starvation.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0196-seqlock-Prevent-rt-starvation.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 77d71203cae68a6d582b3c05f375bd68caea10e8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 22 Feb 2012 12:03:30 +0100 Subject: [PATCH 196/290] seqlock: Prevent rt starvation -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=417244b09dae189643c08ec5fa4b8e328cc85ab3 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz If a low prio writer gets preempted while holding the seqlock write locked, a high prio reader spins forever on RT. @@ -159,7 +160,7 @@ } diff --git a/include/net/neighbour.h b/include/net/neighbour.h -index beeeed126872..6dd1765e22ec 100644 +index 5ce035984a4d..1166fc17b757 100644 --- a/include/net/neighbour.h +++ b/include/net/neighbour.h @@ -451,7 +451,7 @@ static inline int neigh_hh_bridge(struct hh_cache *hh, struct sk_buff *skb) @@ -189,3 +190,6 @@ const struct net_device *dev) { unsigned int seq; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0197-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch linux-4.19.98/debian/patches-rt/0197-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch --- linux-4.19.87/debian/patches-rt/0197-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0197-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 9d2425d84597125b000c785903c4afd36f00673c Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Wed, 18 Feb 2015 16:05:28 +0100 Subject: [PATCH 197/290] sunrpc: Make svc_xprt_do_enqueue() use get_cpu_light() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1449fd695efd50e04504ff47612f7ae5fc5f9687 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -55,3 +56,6 @@ trace_svc_xprt_do_enqueue(xprt, rqstp); } EXPORT_SYMBOL_GPL(svc_xprt_do_enqueue); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0198-net-Use-skbufhead-with-raw-lock.patch linux-4.19.98/debian/patches-rt/0198-net-Use-skbufhead-with-raw-lock.patch --- linux-4.19.87/debian/patches-rt/0198-net-Use-skbufhead-with-raw-lock.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0198-net-Use-skbufhead-with-raw-lock.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From fc3e6e30f2ab8454e5d71c17c1893c38785c1271 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 12 Jul 2011 15:38:34 +0200 Subject: [PATCH 198/290] net: Use skbufhead with raw lock -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5cb81c78a721cc47b52a8eba0ae24d8d44c8e349 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -15,10 +16,10 @@ 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h -index 8c2fec0bcb26..384c63ecb9ae 100644 +index d5527e3828d1..9aba444d7df0 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -2973,6 +2973,7 @@ struct softnet_data { +@@ -2982,6 +2982,7 @@ struct softnet_data { unsigned int dropped; struct sk_buff_head input_pkt_queue; struct napi_struct backlog; @@ -27,7 +28,7 @@ }; diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h -index 28baccb1efd5..b4412944db54 100644 +index 25407c206e73..d4d7aea13cc6 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -287,6 +287,7 @@ struct sk_buff_head { @@ -38,7 +39,7 @@ }; struct sk_buff; -@@ -1704,6 +1705,12 @@ static inline void skb_queue_head_init(struct sk_buff_head *list) +@@ -1718,6 +1719,12 @@ static inline void skb_queue_head_init(struct sk_buff_head *list) __skb_queue_head_init(list); } @@ -52,10 +53,10 @@ struct lock_class_key *class) { diff --git a/net/core/dev.c b/net/core/dev.c -index defca5df6baa..794c64b0a6ce 100644 +index 4926a260bf0e..430ca0e79afc 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -217,14 +217,14 @@ static inline struct hlist_head *dev_index_hash(struct net *net, int ifindex) +@@ -218,14 +218,14 @@ static inline struct hlist_head *dev_index_hash(struct net *net, int ifindex) static inline void rps_lock(struct softnet_data *sd) { #ifdef CONFIG_RPS @@ -72,7 +73,7 @@ #endif } -@@ -5260,7 +5260,7 @@ static void flush_backlog(struct work_struct *work) +@@ -5275,7 +5275,7 @@ static void flush_backlog(struct work_struct *work) skb_queue_walk_safe(&sd->input_pkt_queue, skb, tmp) { if (skb->dev->reg_state == NETREG_UNREGISTERING) { __skb_unlink(skb, &sd->input_pkt_queue); @@ -81,7 +82,7 @@ input_queue_head_incr(sd); } } -@@ -5270,11 +5270,14 @@ static void flush_backlog(struct work_struct *work) +@@ -5285,11 +5285,14 @@ static void flush_backlog(struct work_struct *work) skb_queue_walk_safe(&sd->process_queue, skb, tmp) { if (skb->dev->reg_state == NETREG_UNREGISTERING) { __skb_unlink(skb, &sd->process_queue); @@ -97,7 +98,7 @@ } static void flush_all_backlogs(void) -@@ -5853,7 +5856,9 @@ static int process_backlog(struct napi_struct *napi, int quota) +@@ -5868,7 +5871,9 @@ static int process_backlog(struct napi_struct *napi, int quota) while (again) { struct sk_buff *skb; @@ -107,7 +108,7 @@ rcu_read_lock(); __netif_receive_skb(skb); rcu_read_unlock(); -@@ -5861,9 +5866,9 @@ static int process_backlog(struct napi_struct *napi, int quota) +@@ -5876,9 +5881,9 @@ static int process_backlog(struct napi_struct *napi, int quota) if (++work >= quota) return work; @@ -118,7 +119,7 @@ rps_lock(sd); if (skb_queue_empty(&sd->input_pkt_queue)) { /* -@@ -6328,13 +6333,21 @@ static __latent_entropy void net_rx_action(struct softirq_action *h) +@@ -6343,13 +6348,21 @@ static __latent_entropy void net_rx_action(struct softirq_action *h) unsigned long time_limit = jiffies + usecs_to_jiffies(netdev_budget_usecs); int budget = netdev_budget; @@ -140,7 +141,7 @@ for (;;) { struct napi_struct *n; -@@ -9325,10 +9338,13 @@ static int dev_cpu_dead(unsigned int oldcpu) +@@ -9522,10 +9535,13 @@ static int dev_cpu_dead(unsigned int oldcpu) netif_rx_ni(skb); input_queue_head_incr(oldsd); } @@ -155,7 +156,7 @@ return 0; } -@@ -9639,8 +9655,9 @@ static int __init net_dev_init(void) +@@ -9836,8 +9852,9 @@ static int __init net_dev_init(void) INIT_WORK(flush, flush_backlog); @@ -167,3 +168,6 @@ #ifdef CONFIG_XFRM_OFFLOAD skb_queue_head_init(&sd->xfrm_backlog); #endif +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0199-net-move-xmit_recursion-to-per-task-variable-on-RT.patch linux-4.19.98/debian/patches-rt/0199-net-move-xmit_recursion-to-per-task-variable-on-RT.patch --- linux-4.19.87/debian/patches-rt/0199-net-move-xmit_recursion-to-per-task-variable-on-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0199-net-move-xmit_recursion-to-per-task-variable-on-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 4614b75f982f6d986f99de8d4d35afd3da7140b4 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 13 Jan 2016 15:55:02 +0100 -Subject: [PATCH 199/290] net: move xmit_recursion to per-task variable on -RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e3b9f93dd4b63400c35e346f0647e8b27be7ff22 +Subject: [PATCH 199/291] net: move xmit_recursion to per-task variable on -RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.90-rt35.tar.xz A softirq on -RT can be preempted. That means one task is in __dev_queue_xmit(), gets preempted and another task may enter @@ -23,11 +24,9 @@ net/core/filter.c | 6 +-- 4 files changed, 104 insertions(+), 15 deletions(-) -diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h -index 384c63ecb9ae..b6a75296eb46 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -587,7 +587,11 @@ struct netdev_queue { +@@ -587,7 +587,11 @@ * write-mostly part */ spinlock_t _xmit_lock ____cacheline_aligned_in_smp; @@ -39,7 +38,7 @@ /* * Time (in jiffies) of last Tx */ -@@ -2611,14 +2615,53 @@ void netdev_freemem(struct net_device *dev); +@@ -2620,14 +2624,53 @@ void synchronize_net(void); int init_dummy_netdev(struct net_device *dev); @@ -94,8 +93,8 @@ struct net_device *dev_get_by_index(struct net *net, int ifindex); struct net_device *__dev_get_by_index(struct net *net, int ifindex); struct net_device *dev_get_by_index_rcu(struct net *net, int ifindex); -@@ -3794,10 +3837,48 @@ static inline u32 netif_msg_init(int debug_value, int default_msg_enable_bits) - return (1 << debug_value) - 1; +@@ -3803,10 +3846,48 @@ + return (1U << debug_value) - 1; } +#ifdef CONFIG_PREEMPT_RT_FULL @@ -144,7 +143,7 @@ } static inline bool __netif_tx_acquire(struct netdev_queue *txq) -@@ -3814,32 +3895,32 @@ static inline void __netif_tx_release(struct netdev_queue *txq) +@@ -3823,32 +3904,32 @@ static inline void __netif_tx_lock_bh(struct netdev_queue *txq) { spin_lock_bh(&txq->_xmit_lock); @@ -182,25 +181,21 @@ txq->trans_start = jiffies; } -diff --git a/include/linux/sched.h b/include/linux/sched.h -index 53d92153700b..5e1cc92c2f5c 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1216,6 +1216,9 @@ struct task_struct { - #endif +@@ -1217,6 +1217,9 @@ #ifdef CONFIG_DEBUG_ATOMIC_SLEEP unsigned long task_state_change; -+#endif + #endif +#ifdef CONFIG_PREEMPT_RT_FULL + int xmit_recursion; - #endif ++#endif int pagefault_disabled; #ifdef CONFIG_MMU -diff --git a/net/core/dev.c b/net/core/dev.c -index 794c64b0a6ce..13531bd05ffb 100644 + struct task_struct *oom_reaper_list; --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -3537,8 +3537,10 @@ static void skb_update_prio(struct sk_buff *skb) +@@ -3538,8 +3538,10 @@ #define skb_update_prio(skb) #endif @@ -211,7 +206,7 @@ /** * dev_loopback_xmit - loop back @skb -@@ -3829,9 +3831,12 @@ static int __dev_queue_xmit(struct sk_buff *skb, struct net_device *sb_dev) +@@ -3830,9 +3832,12 @@ if (dev->flags & IFF_UP) { int cpu = smp_processor_id(); /* ok because BHs are off */ @@ -226,7 +221,7 @@ goto recursion_alert; skb = validate_xmit_skb(skb, dev, &again); -@@ -3841,9 +3846,9 @@ static int __dev_queue_xmit(struct sk_buff *skb, struct net_device *sb_dev) +@@ -3842,9 +3847,9 @@ HARD_TX_LOCK(dev, txq, cpu); if (!netif_xmit_stopped(txq)) { @@ -238,7 +233,7 @@ if (dev_xmit_complete(rc)) { HARD_TX_UNLOCK(dev, txq); goto out; -@@ -8388,7 +8393,7 @@ static void netdev_init_one_queue(struct net_device *dev, +@@ -8583,7 +8588,7 @@ /* Initialize queue lock */ spin_lock_init(&queue->_xmit_lock); netdev_set_xmit_lockdep_class(&queue->_xmit_lock, dev->type); @@ -247,11 +242,9 @@ netdev_queue_numa_node_write(queue, NUMA_NO_NODE); queue->dev = dev; #ifdef CONFIG_BQL -diff --git a/net/core/filter.c b/net/core/filter.c -index e6fa88506c00..b3b9b8d8a28d 100644 --- a/net/core/filter.c +++ b/net/core/filter.c -@@ -2000,7 +2000,7 @@ static inline int __bpf_tx_skb(struct net_device *dev, struct sk_buff *skb) +@@ -2000,7 +2000,7 @@ { int ret; @@ -260,9 +253,9 @@ net_crit_ratelimited("bpf: recursion limit reached on datapath, buggy bpf program?\n"); kfree_skb(skb); return -ENETDOWN; -@@ -2008,9 +2008,9 @@ static inline int __bpf_tx_skb(struct net_device *dev, struct sk_buff *skb) - +@@ -2009,9 +2009,9 @@ skb->dev = dev; + skb->tstamp = 0; - __this_cpu_inc(xmit_recursion); + xmit_rec_inc(); diff -Nru linux-4.19.87/debian/patches-rt/0200-net-provide-a-way-to-delegate-processing-a-softirq-t.patch linux-4.19.98/debian/patches-rt/0200-net-provide-a-way-to-delegate-processing-a-softirq-t.patch --- linux-4.19.87/debian/patches-rt/0200-net-provide-a-way-to-delegate-processing-a-softirq-t.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0200-net-provide-a-way-to-delegate-processing-a-softirq-t.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 041b49006ea5c90319dd0e5ba91d255eb59ec635 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 20 Jan 2016 15:39:05 +0100 Subject: [PATCH 200/290] net: provide a way to delegate processing a softirq to ksoftirqd -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=198b2ed6ab2a6cc2020ab7768ad92c777faf121b +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz If the NET_RX uses up all of his budget it moves the following NAPI invocations into the `ksoftirqd`. On -RT it does not do so. Instead it @@ -71,10 +72,10 @@ * This function must run with irqs disabled! */ diff --git a/net/core/dev.c b/net/core/dev.c -index 13531bd05ffb..3bbe71c93b04 100644 +index ed1537cc9ab7..7605c7220020 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -6382,7 +6382,7 @@ static __latent_entropy void net_rx_action(struct softirq_action *h) +@@ -6397,7 +6397,7 @@ static __latent_entropy void net_rx_action(struct softirq_action *h) list_splice_tail(&repoll, &list); list_splice(&list, &sd->poll_list); if (!list_empty(&sd->poll_list)) @@ -83,3 +84,6 @@ net_rps_action_and_irq_enable(sd); out: +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0201-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch linux-4.19.98/debian/patches-rt/0201-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch --- linux-4.19.87/debian/patches-rt/0201-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0201-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 50cd61533d1b2d579c54d2acbb14c5e7034b1982 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 30 Mar 2016 13:36:29 +0200 Subject: [PATCH 201/290] net: dev: always take qdisc's busylock in __dev_xmit_skb() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=bb88f29ae0c936e363f1c9792509b6dfc48086da +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -21,10 +22,10 @@ 1 file changed, 4 insertions(+) diff --git a/net/core/dev.c b/net/core/dev.c -index 3bbe71c93b04..051b3708e180 100644 +index 7605c7220020..1a30cf641e7c 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -3465,7 +3465,11 @@ static inline int __dev_xmit_skb(struct sk_buff *skb, struct Qdisc *q, +@@ -3466,7 +3466,11 @@ static inline int __dev_xmit_skb(struct sk_buff *skb, struct Qdisc *q, * This permits qdisc->running owner to get the lock more * often and dequeue packets faster. */ @@ -36,3 +37,6 @@ if (unlikely(contended)) spin_lock(&q->busylock); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0202-net-Qdisc-use-a-seqlock-instead-seqcount.patch linux-4.19.98/debian/patches-rt/0202-net-Qdisc-use-a-seqlock-instead-seqcount.patch --- linux-4.19.87/debian/patches-rt/0202-net-Qdisc-use-a-seqlock-instead-seqcount.patch 2019-12-01 14:54:04.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0202-net-Qdisc-use-a-seqlock-instead-seqcount.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 882fef39240fcd645d3affe57b5f9ed4cfb1aac5 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 14 Sep 2016 17:36:35 +0200 Subject: [PATCH 202/290] net/Qdisc: use a seqlock instead seqcount -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=582f57023bf1845fd98e522a850011a7f8d9b966 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -9,8 +10,6 @@ the lock while writer is active. Signed-off-by: Sebastian Andrzej Siewior -[Aurelien Jarno: Backport to 4.19.86 due to context changes caused by -253150575cb77 ("net: sched: avoid writing on noop_qdisc")] --- include/linux/seqlock.h | 9 +++++++++ include/net/gen_stats.h | 9 +++++---- @@ -256,7 +255,7 @@ err = -EOPNOTSUPP; if (sch->flags & TCQ_F_MQROOT) { diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c -index 0b9c494f64b0..c618e5c5a1b1 100644 +index 4ab20f1138fd..a9ed58ca3924 100644 --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c @@ -575,7 +575,11 @@ struct Qdisc noop_qdisc = { @@ -289,3 +288,6 @@ sch->ops = ops; sch->flags = ops->static_flags; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0203-net-add-back-the-missing-serialization-in-ip_send_un.patch linux-4.19.98/debian/patches-rt/0203-net-add-back-the-missing-serialization-in-ip_send_un.patch --- linux-4.19.87/debian/patches-rt/0203-net-add-back-the-missing-serialization-in-ip_send_un.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0203-net-add-back-the-missing-serialization-in-ip_send_un.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,3 +1,4 @@ +From a3e432c3b1fd867225b7515a94ca7b0fbd48b913 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 31 Aug 2016 17:21:56 +0200 Subject: [PATCH 203/290] net: add back the missing serialization in @@ -5,7 +6,7 @@ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e829741b52f421beee05a47cb7f53472c31dd355 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Some time ago Sami Pietikäinen reported a crash on -RT in ip_send_unicast_reply() which was later fixed by Nicholas Mc Guire @@ -42,7 +43,7 @@ 1 file changed, 6 insertions(+) diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c -index b76cf96d5cfe..51358c73dada 100644 +index 6da393016c11..105e94ff1095 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c @@ -62,6 +62,7 @@ @@ -93,3 +94,6 @@ local_bh_enable(); } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0204-net-add-a-lock-around-icmp_sk.patch linux-4.19.98/debian/patches-rt/0204-net-add-a-lock-around-icmp_sk.patch --- linux-4.19.87/debian/patches-rt/0204-net-add-a-lock-around-icmp_sk.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0204-net-add-a-lock-around-icmp_sk.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 4c0fdaffb6e6326c5c6318fcd0feb45d4bf77190 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 31 Aug 2016 17:54:09 +0200 Subject: [PATCH 204/290] net: add a lock around icmp_sk() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5ca36394a2695a653822ea30a6aeb8323c88ebfd +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz It looks like the this_cpu_ptr() access in icmp_sk() is protected with local_bh_disable(). To avoid missing serialization in -RT I am adding @@ -14,7 +15,7 @@ 1 file changed, 8 insertions(+) diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c -index 0167e23d1c8f..acec420899c5 100644 +index 4efa5e33513e..de67d595e298 100644 --- a/net/ipv4/icmp.c +++ b/net/ipv4/icmp.c @@ -77,6 +77,7 @@ @@ -59,3 +60,6 @@ } int sysctl_icmp_msgs_per_sec __read_mostly = 1000; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0205-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch linux-4.19.98/debian/patches-rt/0205-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch --- linux-4.19.87/debian/patches-rt/0205-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0205-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 8da361e596b7594eb5b0f8abea644982a0c9a1d5 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Tue, 6 Dec 2016 17:50:30 -0500 Subject: [PATCH 205/290] net: Have __napi_schedule_irqoff() disable interrupts on RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=82df0681d7324c3d2e4b92c5694ebd38e831cd5a +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz A customer hit a crash where the napi sd->poll_list became corrupted. The customer had the bnx2x driver, which does a @@ -28,7 +29,7 @@ 2 files changed, 14 insertions(+) diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h -index b6a75296eb46..946875cae933 100644 +index c76c32aea759..49dc2818713a 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -422,7 +422,19 @@ typedef enum rx_handler_result rx_handler_result_t; @@ -52,10 +53,10 @@ static inline bool napi_disable_pending(struct napi_struct *n) { diff --git a/net/core/dev.c b/net/core/dev.c -index 051b3708e180..c9adf3a88771 100644 +index 1a30cf641e7c..950356b8b5b1 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -5952,6 +5952,7 @@ bool napi_schedule_prep(struct napi_struct *n) +@@ -5967,6 +5967,7 @@ bool napi_schedule_prep(struct napi_struct *n) } EXPORT_SYMBOL(napi_schedule_prep); @@ -63,7 +64,7 @@ /** * __napi_schedule_irqoff - schedule for receive * @n: entry to schedule -@@ -5963,6 +5964,7 @@ void __napi_schedule_irqoff(struct napi_struct *n) +@@ -5978,6 +5979,7 @@ void __napi_schedule_irqoff(struct napi_struct *n) ____napi_schedule(this_cpu_ptr(&softnet_data), n); } EXPORT_SYMBOL(__napi_schedule_irqoff); @@ -71,3 +72,6 @@ bool napi_complete_done(struct napi_struct *n, int work_done) { +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0206-irqwork-push-most-work-into-softirq-context.patch linux-4.19.98/debian/patches-rt/0206-irqwork-push-most-work-into-softirq-context.patch --- linux-4.19.87/debian/patches-rt/0206-irqwork-push-most-work-into-softirq-context.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0206-irqwork-push-most-work-into-softirq-context.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 6b96ba989ad06199b33100cf7469ebeae299a21e Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 23 Jun 2015 15:32:51 +0200 Subject: [PATCH 206/290] irqwork: push most work into softirq context -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2207048a61c66cb5d93777d14f38a073404787c0 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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. @@ -222,7 +223,7 @@ rdp->rcu_iw_gp_seq = rnp->gp_seq; irq_work_queue_on(&rdp->rcu_iw, rdp->cpu); diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c -index c0a751464971..6e95f1ca3e22 100644 +index 74b694392f2f..fb4d11bab6b7 100644 --- a/kernel/sched/topology.c +++ b/kernel/sched/topology.c @@ -279,6 +279,7 @@ static int init_rootdomain(struct root_domain *rd) @@ -258,3 +259,6 @@ __run_timers(base); if (IS_ENABLED(CONFIG_NO_HZ_COMMON)) __run_timers(this_cpu_ptr(&timer_bases[BASE_DEF])); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0207-printk-Make-rt-aware.patch linux-4.19.98/debian/patches-rt/0207-printk-Make-rt-aware.patch --- linux-4.19.87/debian/patches-rt/0207-printk-Make-rt-aware.patch 2019-12-01 16:22:15.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0207-printk-Make-rt-aware.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,20 +1,19 @@ +From ddfc55c94d550664260bd755c4f0ec09f13cfed2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 19 Sep 2012 14:50:37 +0200 Subject: [PATCH 207/290] printk: Make rt aware -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fdb4f35129331aff2fda4afcfeffc3f209b78725 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Drop the lock before calling the console driver and do not disable interrupts while printing to a serial console. Signed-off-by: Thomas Gleixner -[Aurelien Jarno: Backport to 4.19.87 due to context changes caused by -00988218f8cb2 ("printk: lock/unlock console only for new logbuf entries")] --- kernel/printk/printk.c | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c -index 210cdac1458d..c66755a0a046 100644 +index 9a7f259dbb20..83f386175dcc 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -1624,6 +1624,7 @@ SYSCALL_DEFINE3(syslog, int, type, char __user *, buf, int, len) @@ -110,3 +109,6 @@ if (do_cond_resched) cond_resched(); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0208-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch linux-4.19.98/debian/patches-rt/0208-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch --- linux-4.19.87/debian/patches-rt/0208-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0208-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From ddc0ed9a091fdcda9dba71990fb9300de72e70bf Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 19 May 2016 17:45:27 +0200 Subject: [PATCH 208/290] kernel/printk: Don't try to print from IRQ/NMI region -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8c719aa550b2e9bb95786ce26d5fbff438268cbd +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz On -RT we try to acquire sleeping locks which might lead to warnings from lockdep or a warn_on() from spin_try_lock() (which is a rtmutex on @@ -15,10 +16,10 @@ 1 file changed, 10 insertions(+) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c -index c66755a0a046..1935cf91db0c 100644 +index 83f386175dcc..217abc6a53e1 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c -@@ -1782,6 +1782,11 @@ static void call_console_drivers(const char *ext_text, size_t ext_len, +@@ -1789,6 +1789,11 @@ static void call_console_drivers(const char *ext_text, size_t ext_len, if (!console_drivers) return; @@ -30,7 +31,7 @@ migrate_disable(); for_each_console(con) { if (exclusive_console && con != exclusive_console) -@@ -2540,6 +2545,11 @@ void console_unblank(void) +@@ -2555,6 +2560,11 @@ void console_unblank(void) { struct console *c; @@ -42,3 +43,6 @@ /* * console_unblank can no longer be called in interrupt context unless * oops_in_progress is set to 1.. +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0209-printk-Drop-the-logbuf_lock-more-often.patch linux-4.19.98/debian/patches-rt/0209-printk-Drop-the-logbuf_lock-more-often.patch --- linux-4.19.87/debian/patches-rt/0209-printk-Drop-the-logbuf_lock-more-often.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0209-printk-Drop-the-logbuf_lock-more-often.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 369d276b8c46a573a55da8fdf568f3cb6522d075 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 21 Mar 2013 19:01:05 +0100 Subject: [PATCH 209/290] printk: Drop the logbuf_lock more often -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3bfadd9fc97cf1d7877b7d67316d67a96e82f182 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The lock is hold with irgs off. The latency drops 500us+ on my arm bugs with a "full" buffer after executing "dmesg" on the shell. @@ -12,10 +13,10 @@ 1 file changed, 28 insertions(+) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c -index 1935cf91db0c..3b0f90ace2f1 100644 +index 217abc6a53e1..58517c68e896 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c -@@ -1420,12 +1420,23 @@ static int syslog_print_all(char __user *buf, int size, bool clear) +@@ -1427,12 +1427,23 @@ static int syslog_print_all(char __user *buf, int size, bool clear) u64 next_seq; u64 seq; u32 idx; @@ -39,7 +40,7 @@ /* * Find first record that fits, including all following records, * into the user-provided buffer for this dump. -@@ -1438,6 +1449,14 @@ static int syslog_print_all(char __user *buf, int size, bool clear) +@@ -1445,6 +1456,14 @@ static int syslog_print_all(char __user *buf, int size, bool clear) len += msg_print_text(msg, true, NULL, 0); idx = log_next(idx); seq++; @@ -54,7 +55,7 @@ } /* move first record forward until length fits into the buffer */ -@@ -1449,6 +1468,14 @@ static int syslog_print_all(char __user *buf, int size, bool clear) +@@ -1456,6 +1475,14 @@ static int syslog_print_all(char __user *buf, int size, bool clear) len -= msg_print_text(msg, true, NULL, 0); idx = log_next(idx); seq++; @@ -69,7 +70,7 @@ } /* last message fitting into this dump */ -@@ -1486,6 +1513,7 @@ static int syslog_print_all(char __user *buf, int size, bool clear) +@@ -1493,6 +1520,7 @@ static int syslog_print_all(char __user *buf, int size, bool clear) clear_seq = log_next_seq; clear_idx = log_next_idx; } @@ -77,3 +78,6 @@ logbuf_unlock_irq(); kfree(text); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0210-ARM-enable-irq-in-translation-section-permission-fau.patch linux-4.19.98/debian/patches-rt/0210-ARM-enable-irq-in-translation-section-permission-fau.patch --- linux-4.19.87/debian/patches-rt/0210-ARM-enable-irq-in-translation-section-permission-fau.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0210-ARM-enable-irq-in-translation-section-permission-fau.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,3 +1,4 @@ +From 02d7b4ff5ed37112bbc7cb2cd8ee97f43f8c8800 Mon Sep 17 00:00:00 2001 From: "Yadi.hu" Date: Wed, 10 Dec 2014 10:32:09 +0800 Subject: [PATCH 210/290] ARM: enable irq in translation/section permission @@ -5,7 +6,7 @@ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=05082980933eaa57eb3a208aa1849e3b7603fe91 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Probably happens on all ARM, with CONFIG_PREEMPT_RT_FULL @@ -90,3 +91,6 @@ do_bad_area(addr, fsr, regs); return 0; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0211-genirq-update-irq_set_irqchip_state-documentation.patch linux-4.19.98/debian/patches-rt/0211-genirq-update-irq_set_irqchip_state-documentation.patch --- linux-4.19.87/debian/patches-rt/0211-genirq-update-irq_set_irqchip_state-documentation.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0211-genirq-update-irq_set_irqchip_state-documentation.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From dd9707b2db096f5af75ee3207ac1ced6a8acec2d Mon Sep 17 00:00:00 2001 From: Josh Cartwright Date: Thu, 11 Feb 2016 11:54:00 -0600 Subject: [PATCH 211/290] genirq: update irq_set_irqchip_state documentation -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8b11399a6330d802b28290410bb88dd784a962e2 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -26,3 +27,6 @@ * interrupt controller has per-cpu registers. */ int irq_set_irqchip_state(unsigned int irq, enum irqchip_irq_state which, +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0212-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch linux-4.19.98/debian/patches-rt/0212-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch --- linux-4.19.87/debian/patches-rt/0212-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0212-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From b697d50d198d98ced440f6f1474cb505ff3f70a8 Mon Sep 17 00:00:00 2001 From: Josh Cartwright Date: Thu, 11 Feb 2016 11:54:01 -0600 Subject: [PATCH 212/290] KVM: arm/arm64: downgrade preempt_disable()d region to migrate_disable() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=97bbe6dd0a79b542ddf927ebe0dac5a18cc96ebe +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -53,3 +54,6 @@ ret = handle_exit(vcpu, run, ret); } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0213-arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch linux-4.19.98/debian/patches-rt/0213-arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch --- linux-4.19.87/debian/patches-rt/0213-arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0213-arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 3fb1b55dbb6832214ae31cb9f5ed08b8360162e7 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 25 Jul 2018 14:02:38 +0200 Subject: [PATCH 213/290] arm64: fpsimd: use preemp_disable in addition to local_bh_disable() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=67796c909f19de9affd36a6024bfad2fead9a410 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz In v4.16-RT I noticed a number of warnings from task_fpsimd_load(). The code disables BH and expects that it is not preemptible. On -RT the @@ -165,3 +166,6 @@ } EXPORT_SYMBOL(kernel_neon_begin); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0214-kgdb-serial-Short-term-workaround.patch linux-4.19.98/debian/patches-rt/0214-kgdb-serial-Short-term-workaround.patch --- linux-4.19.87/debian/patches-rt/0214-kgdb-serial-Short-term-workaround.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0214-kgdb-serial-Short-term-workaround.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From d1c62c912763a6d7d729f43e63605bb17d7814fe Mon Sep 17 00:00:00 2001 From: Jason Wessel Date: Thu, 28 Jul 2011 12:42:23 -0500 Subject: [PATCH 214/290] kgdb/serial: Short term workaround -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e1ccf900f9f371a1ef8665087ad41b1ece4d9fa9 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz On 07/27/2011 04:37 PM, Thomas Gleixner wrote: > - KGDB (not yet disabled) is reportedly unusable on -rt right now due @@ -80,3 +81,6 @@ return r; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0215-sysfs-Add-sys-kernel-realtime-entry.patch linux-4.19.98/debian/patches-rt/0215-sysfs-Add-sys-kernel-realtime-entry.patch --- linux-4.19.87/debian/patches-rt/0215-sysfs-Add-sys-kernel-realtime-entry.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0215-sysfs-Add-sys-kernel-realtime-entry.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 1c3cb84e399e50f312537ee0399deefc5557d1ea Mon Sep 17 00:00:00 2001 From: Clark Williams Date: Sat, 30 Jul 2011 21:55:53 -0500 Subject: [PATCH 215/290] sysfs: Add /sys/kernel/realtime entry -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=04f88fb150866704c704045d9c8dd5985b5bde9e +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Add a /sys/kernel entry to indicate that the kernel is a realtime kernel. @@ -48,3 +49,6 @@ #endif NULL }; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0216-mm-rt-kmap_atomic-scheduling.patch linux-4.19.98/debian/patches-rt/0216-mm-rt-kmap_atomic-scheduling.patch --- linux-4.19.87/debian/patches-rt/0216-mm-rt-kmap_atomic-scheduling.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0216-mm-rt-kmap_atomic-scheduling.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From aff5114bccbb42db5c0f8ada358804caefb8dd8d Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Thu, 28 Jul 2011 10:43:51 +0200 Subject: [PATCH 216/290] mm, rt: kmap_atomic scheduling -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f44ce46e831350a50239c2586a4f777586dc1410 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz In fact, with migrate_disable() existing one could play games with kmap_atomic. You could save/restore the kmap_atomic slots on context @@ -319,3 +320,6 @@ unsigned int nr_free_highpages (void) { +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0217-x86-highmem-Add-a-already-used-pte-check.patch linux-4.19.98/debian/patches-rt/0217-x86-highmem-Add-a-already-used-pte-check.patch --- linux-4.19.87/debian/patches-rt/0217-x86-highmem-Add-a-already-used-pte-check.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0217-x86-highmem-Add-a-already-used-pte-check.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 57772c842e1a3a0de1d2490c20afe90c72d8abfb Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 11 Mar 2013 17:09:55 +0100 Subject: [PATCH 217/290] x86/highmem: Add a "already used pte" check -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c1e9c3cef196f71a33fb68f1a9a0c65ab2d27d2d +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz This is a copy from kmap_atomic_prot(). @@ -23,3 +24,6 @@ #ifdef CONFIG_PREEMPT_RT_FULL current->kmap_pte[type] = pte; #endif +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0218-arm-highmem-Flush-tlb-on-unmap.patch linux-4.19.98/debian/patches-rt/0218-arm-highmem-Flush-tlb-on-unmap.patch --- linux-4.19.87/debian/patches-rt/0218-arm-highmem-Flush-tlb-on-unmap.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0218-arm-highmem-Flush-tlb-on-unmap.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From fded314d1af3bcdfc535e14068010d160ffc940f Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 11 Mar 2013 21:37:27 +0100 Subject: [PATCH 218/290] arm/highmem: Flush tlb on unmap -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5783132bce9ff6911a382ffbfa6a8969a5c3704f +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The tlb should be flushed on unmap and thus make the mapping entry invalid. This is only done in the non-debug case which does not look @@ -28,3 +29,6 @@ kmap_atomic_idx_pop(); } else if (vaddr >= PKMAP_ADDR(0) && vaddr < PKMAP_ADDR(LAST_PKMAP)) { /* this address was obtained through kmap_high_get() */ +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0219-arm-Enable-highmem-for-rt.patch linux-4.19.98/debian/patches-rt/0219-arm-Enable-highmem-for-rt.patch --- linux-4.19.87/debian/patches-rt/0219-arm-Enable-highmem-for-rt.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0219-arm-Enable-highmem-for-rt.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 5fc0ce79ee0183b4033b86d6824ee0463b6cfa3f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 13 Feb 2013 11:03:11 +0100 Subject: [PATCH 219/290] arm: Enable highmem for rt -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5fe42b35e69fc1b2fda87b9c3d090149a0ec3096 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz fixup highmem for ARM. @@ -178,3 +179,6 @@ #include +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0220-scsi-fcoe-Make-RT-aware.patch linux-4.19.98/debian/patches-rt/0220-scsi-fcoe-Make-RT-aware.patch --- linux-4.19.87/debian/patches-rt/0220-scsi-fcoe-Make-RT-aware.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0220-scsi-fcoe-Make-RT-aware.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 8e3f3ca20fb094619a58f24a7503aa7d1e6e8f84 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 12 Nov 2011 14:00:48 +0100 Subject: [PATCH 220/290] scsi/fcoe: Make RT aware. -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f9bbf02ac596565f61feeee7d279ab74525fdc35 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Do not disable preemption while taking sleeping locks. All user look safe for migrate_diable() only. @@ -110,3 +111,6 @@ /* peek cache of free slot */ if (pool->left != FC_XID_UNKNOWN) { +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0221-x86-crypto-Reduce-preempt-disabled-regions.patch linux-4.19.98/debian/patches-rt/0221-x86-crypto-Reduce-preempt-disabled-regions.patch --- linux-4.19.87/debian/patches-rt/0221-x86-crypto-Reduce-preempt-disabled-regions.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0221-x86-crypto-Reduce-preempt-disabled-regions.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 90de79b5b60daade1df8897b30d56b19dea5d83a Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Mon, 14 Nov 2011 18:19:27 +0100 Subject: [PATCH 221/290] x86: crypto: Reduce preempt disabled regions -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=472656d732749a107ad80e379b543d3bfce4bd72 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Restrict the preempt disabled regions to the actual floating point operations and enable preemption for the administrative actions. @@ -112,3 +113,6 @@ return err; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0222-crypto-Reduce-preempt-disabled-regions-more-algos.patch linux-4.19.98/debian/patches-rt/0222-crypto-Reduce-preempt-disabled-regions-more-algos.patch --- linux-4.19.87/debian/patches-rt/0222-crypto-Reduce-preempt-disabled-regions-more-algos.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0222-crypto-Reduce-preempt-disabled-regions-more-algos.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From a51e00d991c576ba020f9db8d2c4453cd7f15ecd Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 21 Feb 2014 17:24:04 +0100 Subject: [PATCH 222/290] crypto: Reduce preempt disabled regions, more algos -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3964d439260995e6fb01f96f3daf1f7f3ba405f5 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Don Estabrook reported | kernel: WARNING: CPU: 2 PID: 858 at kernel/sched/core.c:2428 migrate_disable+0xed/0x100() @@ -257,3 +258,6 @@ return err; } EXPORT_SYMBOL_GPL(glue_xts_req_128bit); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0223-crypto-limit-more-FPU-enabled-sections.patch linux-4.19.98/debian/patches-rt/0223-crypto-limit-more-FPU-enabled-sections.patch --- linux-4.19.87/debian/patches-rt/0223-crypto-limit-more-FPU-enabled-sections.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0223-crypto-limit-more-FPU-enabled-sections.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,10 +1,11 @@ +From dc93a0747106cd976c1745561130f7249b2f2447 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 30 Nov 2017 13:40:10 +0100 Subject: [PATCH 223/290] crypto: limit more FPU-enabled sections MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=06f6850c211b4924e125e00c1f1a21a14ea7712e +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -102,3 +103,6 @@ /* * Save the FPU state (mark it for reload if necessary): * +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0224-crypto-scompress-serialize-RT-percpu-scratch-buffer-.patch linux-4.19.98/debian/patches-rt/0224-crypto-scompress-serialize-RT-percpu-scratch-buffer-.patch --- linux-4.19.87/debian/patches-rt/0224-crypto-scompress-serialize-RT-percpu-scratch-buffer-.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0224-crypto-scompress-serialize-RT-percpu-scratch-buffer-.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 6388ffad9f71b6cc1e7074b010a3c0cd24de1ea7 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Wed, 11 Jul 2018 17:14:47 +0200 Subject: [PATCH 224/290] crypto: scompress - serialize RT percpu scratch buffer access with a local lock -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b060aeba579ee733c1015b2301365526e672f475 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz | BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:974 | in_atomic(): 1, irqs_disabled(): 0, pid: 1401, name: cryptomgr_test @@ -77,3 +78,6 @@ return ret; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0225-crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch linux-4.19.98/debian/patches-rt/0225-crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch --- linux-4.19.87/debian/patches-rt/0225-crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0225-crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From e154dffb6f88ac74a8ab087c4b884413754e38aa Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 26 Jul 2018 18:52:00 +0200 Subject: [PATCH 225/290] crypto: cryptd - add a lock instead preempt_disable/local_bh_disable -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=22f60893f4fbc66d43c729900e0306163d7389a0 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz cryptd has a per-CPU lock which protected with local_bh_disable() and preempt_disable(). @@ -79,3 +80,6 @@ if (!req) return; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0226-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch linux-4.19.98/debian/patches-rt/0226-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch --- linux-4.19.87/debian/patches-rt/0226-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0226-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 9aa84af05c5298af918741fdd22779fe320edc90 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 14 Jul 2015 14:26:34 +0200 Subject: [PATCH 226/290] panic: skip get_random_bytes for RT_FULL in init_oops_id -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6d6fa048f3ae116f0d13b7262f16ea5afd9c4aac +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Disable on -RT. If this is invoked from irq-context we will have problems to acquire the sleeping lock. @@ -13,7 +14,7 @@ 1 file changed, 2 insertions(+) diff --git a/kernel/panic.c b/kernel/panic.c -index 72e001e3753e..98748902cc41 100644 +index 8138a676fb7d..fa114be5c30f 100644 --- a/kernel/panic.c +++ b/kernel/panic.c @@ -480,9 +480,11 @@ static u64 oops_id; @@ -28,3 +29,6 @@ oops_id++; return 0; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0227-x86-stackprotector-Avoid-random-pool-on-rt.patch linux-4.19.98/debian/patches-rt/0227-x86-stackprotector-Avoid-random-pool-on-rt.patch --- linux-4.19.87/debian/patches-rt/0227-x86-stackprotector-Avoid-random-pool-on-rt.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0227-x86-stackprotector-Avoid-random-pool-on-rt.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 54f488a780d046deaf409f393451114571fddc2b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 16 Dec 2010 14:25:18 +0100 Subject: [PATCH 227/290] x86: stackprotector: Avoid random pool on rt -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6bf5941983152b741aea75850114423524c55c92 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -45,3 +46,6 @@ tsc = rdtsc(); canary += tsc + (tsc << 32UL); canary &= CANARY_MASK; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0228-random-Make-it-work-on-rt.patch linux-4.19.98/debian/patches-rt/0228-random-Make-it-work-on-rt.patch --- linux-4.19.87/debian/patches-rt/0228-random-Make-it-work-on-rt.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0228-random-Make-it-work-on-rt.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 56f7ebec5cf501075c40f3d7ff1283a3279f88ca Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 21 Aug 2012 20:38:50 +0200 Subject: [PATCH 228/290] random: Make it work on rt -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f07a155615d469ecdfbbe7236f9f2c32f694035c +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Delegate the random insertion to the forced threaded interrupt handler. Store the return IP of the hard interrupt handler in the irq @@ -20,7 +21,7 @@ 7 files changed, 26 insertions(+), 10 deletions(-) diff --git a/drivers/char/random.c b/drivers/char/random.c -index 0a84b7f468ad..75ae2d9e8720 100644 +index 86fe1df90239..468a128c8ad8 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -1232,28 +1232,27 @@ static __u32 get_reg(struct fast_pool *f, struct pt_regs *regs) @@ -58,7 +59,7 @@ fast_mix(fast_pool); add_interrupt_bench(cycles); diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c -index 8e923e70e594..e77716a62351 100644 +index 12bc9fa21111..278f03f50147 100644 --- a/drivers/hv/hv.c +++ b/drivers/hv/hv.c @@ -112,10 +112,12 @@ int hv_post_message(union hv_connection_id connection_id, @@ -161,3 +162,6 @@ wake_threads_waitq(desc); } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0229-cpu-hotplug-Implement-CPU-pinning.patch linux-4.19.98/debian/patches-rt/0229-cpu-hotplug-Implement-CPU-pinning.patch --- linux-4.19.87/debian/patches-rt/0229-cpu-hotplug-Implement-CPU-pinning.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0229-cpu-hotplug-Implement-CPU-pinning.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 42dc365f8f07fc9531d70fcc94605ab25acc2685 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 19 Jul 2017 17:31:20 +0200 Subject: [PATCH 229/290] cpu/hotplug: Implement CPU pinning -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=673c270ddb52159dc10aae6859ad2c7fbdc784b1 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Signed-off-by: Thomas Gleixner --- @@ -22,7 +23,7 @@ int migrate_disable_atomic; # endif diff --git a/kernel/cpu.c b/kernel/cpu.c -index 02e05a7e463c..e1cd4bfc03bc 100644 +index cf1f2eb6bb90..e6c2d814f7f9 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -75,6 +75,11 @@ static DEFINE_PER_CPU(struct cpuhp_cpu_state, cpuhp_state) = { @@ -80,7 +81,7 @@ } DEFINE_STATIC_PERCPU_RWSEM(cpu_hotplug_lock); -@@ -853,6 +886,7 @@ static int take_cpu_down(void *_param) +@@ -854,6 +887,7 @@ static int take_cpu_down(void *_param) static int takedown_cpu(unsigned int cpu) { @@ -88,7 +89,7 @@ struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, cpu); int err; -@@ -865,11 +899,14 @@ static int takedown_cpu(unsigned int cpu) +@@ -866,11 +900,14 @@ static int takedown_cpu(unsigned int cpu) */ irq_lock_sparse(); @@ -103,7 +104,7 @@ /* CPU refused to die */ irq_unlock_sparse(); /* Unpark the hotplug thread so we can rollback there */ -@@ -888,6 +925,7 @@ static int takedown_cpu(unsigned int cpu) +@@ -889,6 +926,7 @@ static int takedown_cpu(unsigned int cpu) wait_for_ap_thread(st, false); BUG_ON(st->state != CPUHP_AP_IDLE_DEAD); @@ -111,3 +112,6 @@ /* Interrupts are moved away from the dying cpu, reenable alloc/free */ irq_unlock_sparse(); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0230-sched-Allow-pinned-user-tasks-to-be-awakened-to-the-.patch linux-4.19.98/debian/patches-rt/0230-sched-Allow-pinned-user-tasks-to-be-awakened-to-the-.patch --- linux-4.19.87/debian/patches-rt/0230-sched-Allow-pinned-user-tasks-to-be-awakened-to-the-.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0230-sched-Allow-pinned-user-tasks-to-be-awakened-to-the-.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From b4a9b46277740b295834182cfe114d91b0c44e31 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sun, 19 Aug 2018 08:28:35 +0200 Subject: [PATCH 230/290] sched: Allow pinned user tasks to be awakened to the CPU they pinned -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2e0e054d46bdb30148a9bdbbbcee165a85b47ca5 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Since commit 7af443ee16976 ("sched/core: Require cpu_active() in select_task_rq(), for user tasks") select_fallback_rq() will BUG() if @@ -21,7 +22,7 @@ 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 7a0061839d77..d7692e31a254 100644 +index dcf2deedd3f8..6ef0dcea94d7 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -904,7 +904,7 @@ static inline bool is_cpu_allowed(struct task_struct *p, int cpu) @@ -33,3 +34,6 @@ return cpu_online(cpu); return cpu_active(cpu); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0231-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch linux-4.19.98/debian/patches-rt/0231-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch --- linux-4.19.87/debian/patches-rt/0231-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0231-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From bd5177f5caaa75365fab66e40f912772cd9da73b Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 4 Aug 2017 18:31:00 +0200 Subject: [PATCH 231/290] hotplug: duct-tape RT-rwlock usage for non-RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6ff0675b8cd730a82f8eb2a3c08e7d0a85750383 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz This type is only available on -RT. We need to craft something for non-RT. Since the only migrate_disable() user is -RT only, there is no @@ -13,7 +14,7 @@ 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/kernel/cpu.c b/kernel/cpu.c -index e1cd4bfc03bc..69b5853f2854 100644 +index e6c2d814f7f9..c8631e699ce2 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -75,7 +75,7 @@ static DEFINE_PER_CPU(struct cpuhp_cpu_state, cpuhp_state) = { @@ -57,7 +58,7 @@ } DEFINE_STATIC_PERCPU_RWSEM(cpu_hotplug_lock); -@@ -886,7 +890,9 @@ static int take_cpu_down(void *_param) +@@ -887,7 +891,9 @@ static int take_cpu_down(void *_param) static int takedown_cpu(unsigned int cpu) { @@ -67,7 +68,7 @@ struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, cpu); int err; -@@ -899,14 +905,18 @@ static int takedown_cpu(unsigned int cpu) +@@ -900,14 +906,18 @@ static int takedown_cpu(unsigned int cpu) */ irq_lock_sparse(); @@ -86,7 +87,7 @@ /* CPU refused to die */ irq_unlock_sparse(); /* Unpark the hotplug thread so we can rollback there */ -@@ -925,7 +935,9 @@ static int takedown_cpu(unsigned int cpu) +@@ -926,7 +936,9 @@ static int takedown_cpu(unsigned int cpu) wait_for_ap_thread(st, false); BUG_ON(st->state != CPUHP_AP_IDLE_DEAD); @@ -96,3 +97,6 @@ /* Interrupts are moved away from the dying cpu, reenable alloc/free */ irq_unlock_sparse(); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0232-net-Remove-preemption-disabling-in-netif_rx.patch linux-4.19.98/debian/patches-rt/0232-net-Remove-preemption-disabling-in-netif_rx.patch --- linux-4.19.87/debian/patches-rt/0232-net-Remove-preemption-disabling-in-netif_rx.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0232-net-Remove-preemption-disabling-in-netif_rx.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 9dcfd3052899233a5c4b7593793005967d025b3f Mon Sep 17 00:00:00 2001 From: Priyanka Jain Date: Thu, 17 May 2012 09:35:11 +0530 Subject: [PATCH 232/290] net: Remove preemption disabling in netif_rx() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=88c9d7966005068f4e29f94d10effc2b8ecc8e9d +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz 1)enqueue_to_backlog() (called from netif_rx) should be bind to a particluar CPU. This can be achieved by @@ -35,10 +36,10 @@ 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/net/core/dev.c b/net/core/dev.c -index c9adf3a88771..b5b4b3b162a7 100644 +index 950356b8b5b1..ee8cb6d4f6aa 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -4484,7 +4484,7 @@ static int netif_rx_internal(struct sk_buff *skb) +@@ -4499,7 +4499,7 @@ static int netif_rx_internal(struct sk_buff *skb) struct rps_dev_flow voidflow, *rflow = &voidflow; int cpu; @@ -47,7 +48,7 @@ rcu_read_lock(); cpu = get_rps_cpu(skb->dev, skb, &rflow); -@@ -4494,14 +4494,14 @@ static int netif_rx_internal(struct sk_buff *skb) +@@ -4509,14 +4509,14 @@ static int netif_rx_internal(struct sk_buff *skb) ret = enqueue_to_backlog(skb, cpu, &rflow->last_qtail); rcu_read_unlock(); @@ -65,3 +66,6 @@ } return ret; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0233-net-Another-local_irq_disable-kmalloc-headache.patch linux-4.19.98/debian/patches-rt/0233-net-Another-local_irq_disable-kmalloc-headache.patch --- linux-4.19.87/debian/patches-rt/0233-net-Another-local_irq_disable-kmalloc-headache.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0233-net-Another-local_irq_disable-kmalloc-headache.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From e6babcfe0fa1248a3e14b455738237a4e13b50eb Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 26 Sep 2012 16:21:08 +0200 Subject: [PATCH 233/290] net: Another local_irq_disable/kmalloc headache -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a081a1c720e485139420e138285bbf35271e89e8 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Replace it by a local lock. Though that's pretty inefficient :( @@ -59,3 +60,6 @@ if (unlikely(!data)) return NULL; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0234-net-core-protect-users-of-napi_alloc_cache-against-r.patch linux-4.19.98/debian/patches-rt/0234-net-core-protect-users-of-napi_alloc_cache-against-r.patch --- linux-4.19.87/debian/patches-rt/0234-net-core-protect-users-of-napi_alloc_cache-against-r.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0234-net-core-protect-users-of-napi_alloc_cache-against-r.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From cf637289b14f736be18788b3ba3160ba35949396 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 15 Jan 2016 16:33:34 +0100 Subject: [PATCH 234/290] net/core: protect users of napi_alloc_cache against reentrance -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0c07f26683c75380656e020a6cd8b071da568cf4 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz On -RT the code running in BH can not be moved to another CPU so CPU local variable remain local. However the code can be preempted @@ -113,3 +114,6 @@ } void __kfree_skb_defer(struct sk_buff *skb) { +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0235-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch linux-4.19.98/debian/patches-rt/0235-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch --- linux-4.19.87/debian/patches-rt/0235-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0235-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 28b182b074b9bb5ea0707e1f674eae8d576357c7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 28 Oct 2012 11:18:08 +0100 Subject: [PATCH 235/290] net: netfilter: Serialize xt_write_recseq sections on RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4e6675bcdeed2f36f18ead465070cddfc53223c7 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The netfilter code relies only on the implicit semantics of local_bh_disable() for serializing wt_write_recseq sections. RT breaks @@ -78,3 +79,6 @@ const struct nf_ipv6_ops __rcu *nf_ipv6_ops __read_mostly; EXPORT_SYMBOL_GPL(nf_ipv6_ops); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0236-net-Add-a-mutex-around-devnet_rename_seq.patch linux-4.19.98/debian/patches-rt/0236-net-Add-a-mutex-around-devnet_rename_seq.patch --- linux-4.19.87/debian/patches-rt/0236-net-Add-a-mutex-around-devnet_rename_seq.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0236-net-Add-a-mutex-around-devnet_rename_seq.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From d93ef2fbc7cc016328b4e3cfc2b58960acc4b696 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 20 Mar 2013 18:06:20 +0100 Subject: [PATCH 236/290] net: Add a mutex around devnet_rename_seq -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9b9fafec34118940cdc0ba2b843d8920157fd0a8 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz On RT write_seqcount_begin() disables preemption and device_rename() allocates memory with GFP_KERNEL and grabs later the sysfs_mutex @@ -21,10 +22,10 @@ 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/net/core/dev.c b/net/core/dev.c -index b5b4b3b162a7..1b1bf6186226 100644 +index ee8cb6d4f6aa..fd54d56e1e7d 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -195,6 +195,7 @@ static unsigned int napi_gen_id = NR_CPUS; +@@ -196,6 +196,7 @@ static unsigned int napi_gen_id = NR_CPUS; static DEFINE_READ_MOSTLY_HASHTABLE(napi_hash, 8); static seqcount_t devnet_rename_seq; @@ -32,7 +33,7 @@ static inline void dev_base_seq_inc(struct net *net) { -@@ -920,7 +921,8 @@ int netdev_get_name(struct net *net, char *name, int ifindex) +@@ -921,7 +922,8 @@ int netdev_get_name(struct net *net, char *name, int ifindex) strcpy(name, dev->name); rcu_read_unlock(); if (read_seqcount_retry(&devnet_rename_seq, seq)) { @@ -42,7 +43,7 @@ goto retry; } -@@ -1197,20 +1199,17 @@ int dev_change_name(struct net_device *dev, const char *newname) +@@ -1198,20 +1200,17 @@ int dev_change_name(struct net_device *dev, const char *newname) likely(!(dev->priv_flags & IFF_LIVE_RENAME_OK))) return -EBUSY; @@ -69,7 +70,7 @@ if (oldname[0] && !strchr(oldname, '%')) netdev_info(dev, "renamed from %s\n", oldname); -@@ -1223,11 +1222,12 @@ int dev_change_name(struct net_device *dev, const char *newname) +@@ -1224,11 +1223,12 @@ int dev_change_name(struct net_device *dev, const char *newname) if (ret) { memcpy(dev->name, oldname, IFNAMSIZ); dev->name_assign_type = old_assign_type; @@ -85,7 +86,7 @@ netdev_adjacent_rename_links(dev, oldname); -@@ -1248,7 +1248,8 @@ int dev_change_name(struct net_device *dev, const char *newname) +@@ -1249,7 +1249,8 @@ int dev_change_name(struct net_device *dev, const char *newname) /* err >= 0 after dev_alloc_name() or stores the first errno */ if (err >= 0) { err = ret; @@ -95,7 +96,7 @@ memcpy(dev->name, oldname, IFNAMSIZ); memcpy(oldname, newname, IFNAMSIZ); dev->name_assign_type = old_assign_type; -@@ -1261,6 +1262,11 @@ int dev_change_name(struct net_device *dev, const char *newname) +@@ -1262,6 +1263,11 @@ int dev_change_name(struct net_device *dev, const char *newname) } return err; @@ -107,3 +108,6 @@ } /** +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0237-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch linux-4.19.98/debian/patches-rt/0237-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch --- linux-4.19.87/debian/patches-rt/0237-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0237-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From d7695d53a9f2bed0ce8208662ba7f099af5b03ea Mon Sep 17 00:00:00 2001 From: Yong Zhang Date: Mon, 16 Apr 2012 15:01:56 +0800 Subject: [PATCH 237/290] lockdep: selftest: Only do hardirq context test for raw spinlock -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=611b5197a59dcb72ca3325c94b6f907ad3d877a9 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz On -rt there is no softirq context any more and rwlock is sleepable, disable softirq context test and rwlock+irq test. @@ -56,3 +57,6 @@ ww_tests(); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0238-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch linux-4.19.98/debian/patches-rt/0238-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch --- linux-4.19.87/debian/patches-rt/0238-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0238-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 0bcc13d1f486d89eea4550bd9be5b6607a041a85 Mon Sep 17 00:00:00 2001 From: Josh Cartwright Date: Wed, 28 Jan 2015 13:08:45 -0600 Subject: [PATCH 238/290] lockdep: selftest: fix warnings due to missing PREEMPT_RT conditionals -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=626b1deed94211cf41c043e70f75e33dd6d80f6d +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz "lockdep: Selftest: Only do hardirq context test for raw spinlock" disabled the execution of certain tests with PREEMPT_RT_FULL, but did @@ -143,3 +144,6 @@ /* * read-lock / write-lock recursion that is unsafe. */ +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0239-sched-Add-support-for-lazy-preemption.patch linux-4.19.98/debian/patches-rt/0239-sched-Add-support-for-lazy-preemption.patch --- linux-4.19.87/debian/patches-rt/0239-sched-Add-support-for-lazy-preemption.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0239-sched-Add-support-for-lazy-preemption.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 0ea3e027332a92b240723b63d08f875461e0c208 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 26 Oct 2012 18:50:54 +0100 Subject: [PATCH 239/290] sched: Add support for lazy preemption -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=31b7c5de23c43474d2c4e69605d541d32c80e750 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz It has become an obsession to mitigate the determinism vs. throughput loss of RT. Looking at the mainline semantics of preemption points @@ -215,7 +216,7 @@ #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 0403d9696944..c20237c5ab66 100644 +index 1cc4d2da954c..72864a11cec0 100644 --- a/include/linux/trace_events.h +++ b/include/linux/trace_events.h @@ -64,6 +64,7 @@ struct trace_entry { @@ -244,7 +245,7 @@ prompt "Preemption Model" default PREEMPT_NONE diff --git a/kernel/cpu.c b/kernel/cpu.c -index 69b5853f2854..efa687c2c170 100644 +index c8631e699ce2..00dac381da2e 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -304,11 +304,13 @@ void pin_current_cpu(void) @@ -262,7 +263,7 @@ __read_rt_unlock(cpuhp_pin); goto again; diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index d7692e31a254..538461ee8ebd 100644 +index 6ef0dcea94d7..a17c765d3fcb 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -493,6 +493,48 @@ void resched_curr(struct rq *rq) @@ -383,7 +384,7 @@ do { /* * Because the function tracer can trace preempt_count_sub() -@@ -5502,7 +5576,9 @@ void init_idle(struct task_struct *idle, int cpu) +@@ -5503,7 +5577,9 @@ void init_idle(struct task_struct *idle, int cpu) /* Set the preempt count _outside_ the spinlocks! */ init_idle_preempt_count(idle, cpu); @@ -394,7 +395,7 @@ /* * The idle tasks have their own, simple scheduling class: */ -@@ -7227,6 +7303,7 @@ void migrate_disable(void) +@@ -7228,6 +7304,7 @@ void migrate_disable(void) } preempt_disable(); @@ -402,7 +403,7 @@ pin_current_cpu(); migrate_disable_update_cpus_allowed(p); -@@ -7294,6 +7371,7 @@ void migrate_enable(void) +@@ -7295,6 +7372,7 @@ void migrate_enable(void) arg.dest_cpu = dest_cpu; unpin_current_cpu(); @@ -410,7 +411,7 @@ preempt_enable(); stop_one_cpu(task_cpu(p), migration_cpu_stop, &arg); tlb_migrate_finish(p->mm); -@@ -7302,6 +7380,7 @@ void migrate_enable(void) +@@ -7303,6 +7381,7 @@ void migrate_enable(void) } } unpin_current_cpu(); @@ -419,7 +420,7 @@ } EXPORT_SYMBOL(migrate_enable); diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c -index da5d60d25c27..e30187563bfc 100644 +index 6e6d9e999814..5e00ddd76749 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -4075,7 +4075,7 @@ check_preempt_tick(struct cfs_rq *cfs_rq, struct sched_entity *curr) @@ -449,7 +450,7 @@ return; } /* -@@ -4427,7 +4427,7 @@ static void __account_cfs_rq_runtime(struct cfs_rq *cfs_rq, u64 delta_exec) +@@ -4375,7 +4375,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)) @@ -458,7 +459,7 @@ } static __always_inline -@@ -5126,7 +5126,7 @@ static void hrtick_start_fair(struct rq *rq, struct task_struct *p) +@@ -5069,7 +5069,7 @@ static void hrtick_start_fair(struct rq *rq, struct task_struct *p) if (delta < 0) { if (rq->curr == p) @@ -467,7 +468,7 @@ return; } hrtick_start(rq, delta); -@@ -6702,7 +6702,7 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int wake_ +@@ -6645,7 +6645,7 @@ static void check_preempt_wakeup(struct rq *rq, struct task_struct *p, int wake_ return; preempt: @@ -476,7 +477,7 @@ /* * Only set the backward buddy when the current task is still * on the rq. This can happen when a wakeup gets interleaved -@@ -9794,7 +9794,7 @@ static void task_fork_fair(struct task_struct *p) +@@ -9746,7 +9746,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); @@ -485,7 +486,7 @@ } se->vruntime -= cfs_rq->min_vruntime; -@@ -9818,7 +9818,7 @@ prio_changed_fair(struct rq *rq, struct task_struct *p, int oldprio) +@@ -9770,7 +9770,7 @@ prio_changed_fair(struct rq *rq, struct task_struct *p, int oldprio) */ if (rq->curr == p) { if (p->prio > oldprio) @@ -509,10 +510,10 @@ /* diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h -index 49ae30da28ee..f7c1c262457f 100644 +index c79e32488940..c90574112bca 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h -@@ -1638,6 +1638,15 @@ extern void reweight_task(struct task_struct *p, int prio); +@@ -1634,6 +1634,15 @@ extern void reweight_task(struct task_struct *p, int prio); extern void resched_curr(struct rq *rq); extern void resched_cpu(int cpu); @@ -529,7 +530,7 @@ 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 befe5978a832..d547c6ab0db2 100644 +index 5eccf1c201db..d13b58073bce 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -2137,6 +2137,7 @@ tracing_generic_entry_update(struct trace_entry *entry, unsigned long flags, @@ -665,3 +666,6 @@ if (entry->migrate_disable) trace_seq_printf(s, "%x", entry->migrate_disable); else +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0240-ftrace-Fix-trace-header-alignment.patch linux-4.19.98/debian/patches-rt/0240-ftrace-Fix-trace-header-alignment.patch --- linux-4.19.87/debian/patches-rt/0240-ftrace-Fix-trace-header-alignment.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0240-ftrace-Fix-trace-header-alignment.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From d41ba5694f1fd54574be4bf3a9d7bc859ca6cb40 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sun, 16 Oct 2016 05:08:30 +0200 Subject: [PATCH 240/290] ftrace: Fix trace header alignment -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1ab62a4df7e3cd8a388c1ac3fc114383300d5163 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Line up helper arrows to the right column. @@ -14,7 +15,7 @@ 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index d547c6ab0db2..bdcc8eda152c 100644 +index d13b58073bce..99dde9db6e3e 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -3351,17 +3351,17 @@ get_total_entries(struct trace_buffer *buf, @@ -46,3 +47,6 @@ } static void print_event_info(struct trace_buffer *buf, struct seq_file *m) +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0241-x86-Support-for-lazy-preemption.patch linux-4.19.98/debian/patches-rt/0241-x86-Support-for-lazy-preemption.patch --- linux-4.19.87/debian/patches-rt/0241-x86-Support-for-lazy-preemption.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0241-x86-Support-for-lazy-preemption.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From e4cba91598b3be3d6bcadce513ffd80041895d70 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 1 Nov 2012 11:03:47 +0100 Subject: [PATCH 241/290] x86: Support for lazy preemption -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fb1ac4d42675612d93fdf5915eb3ee4e0a65b1b0 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Implement the x86 pieces for lazy preempt. @@ -17,7 +18,7 @@ 7 files changed, 79 insertions(+), 3 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 1b05ae86bdde..736e369e141b 100644 +index f22e787329cf..a56f57f95993 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -180,6 +180,7 @@ config X86 @@ -84,7 +85,7 @@ index 7ffd83c57ef2..663a99f6320f 100644 --- a/arch/x86/entry/entry_64.S +++ b/arch/x86/entry/entry_64.S -@@ -732,7 +732,23 @@ GLOBAL(swapgs_restore_regs_and_return_to_usermode) +@@ -732,7 +732,23 @@ retint_kernel: btl $9, EFLAGS(%rsp) /* were interrupts off? */ jnc 1f 0: cmpl $0, PER_CPU_VAR(__preempt_count) @@ -234,3 +235,6 @@ /* TLB state for the entry code */ OFFSET(TLB_STATE_user_pcid_flush_mask, tlb_state, user_pcid_flush_mask); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0242-x86-lazy-preempt-properly-check-against-preempt-mask.patch linux-4.19.98/debian/patches-rt/0242-x86-lazy-preempt-properly-check-against-preempt-mask.patch --- linux-4.19.87/debian/patches-rt/0242-x86-lazy-preempt-properly-check-against-preempt-mask.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0242-x86-lazy-preempt-properly-check-against-preempt-mask.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 9c314d19ce79b759d4978179077e8aa59cf1b1df Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 18 Feb 2019 16:57:09 +0100 Subject: [PATCH 242/290] x86: lazy-preempt: properly check against preempt-mask -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e87427920276b51f5f1d11c24ac3f23473907b66 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz should_resched() should check against preempt_offset after unmasking the need-resched-bit. Otherwise should_resched() won't work for @@ -27,3 +28,6 @@ return false; if (current_thread_info()->preempt_lazy_count) return false; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0243-x86-lazy-preempt-use-proper-return-label-on-32bit-x8.patch linux-4.19.98/debian/patches-rt/0243-x86-lazy-preempt-use-proper-return-label-on-32bit-x8.patch --- linux-4.19.87/debian/patches-rt/0243-x86-lazy-preempt-use-proper-return-label-on-32bit-x8.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0243-x86-lazy-preempt-use-proper-return-label-on-32bit-x8.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 45c086ec4e89dcf9194c2b88b5ee38ffa79fe4ec Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 26 Feb 2019 14:53:49 +0100 Subject: [PATCH 243/290] x86: lazy-preempt: use proper return label on 32bit-x86 -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8df5629dc5f632aa3559f60a3e53de3615401003 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The lazy-preempt uses the wrong return label in case preemption isn't possible. This results crash while returning to the kernel. @@ -39,3 +40,6 @@ #endif testl $X86_EFLAGS_IF, PT_EFLAGS(%esp) # interrupts off (exception path) ? jz restore_all_kernel +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0244-arm-Add-support-for-lazy-preemption.patch linux-4.19.98/debian/patches-rt/0244-arm-Add-support-for-lazy-preemption.patch --- linux-4.19.87/debian/patches-rt/0244-arm-Add-support-for-lazy-preemption.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0244-arm-Add-support-for-lazy-preemption.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 61f1fec1af303a55b098a0228a82f9632f220cd8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 31 Oct 2012 12:04:11 +0100 Subject: [PATCH 244/290] arm: Add support for lazy preemption -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7f6d40445a651d7c70aa060e018f584cd31dd3f3 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Implement the arm pieces for lazy preempt. @@ -83,7 +84,7 @@ index e85a3af9ddeb..cc67c0a3ae7b 100644 --- a/arch/arm/kernel/entry-armv.S +++ b/arch/arm/kernel/entry-armv.S -@@ -216,11 +216,18 @@ ENDPROC(__dabt_svc) +@@ -216,11 +216,18 @@ __irq_svc: #ifdef CONFIG_PREEMPT ldr r8, [tsk, #TI_PREEMPT] @ get preempt count @@ -104,7 +105,7 @@ #endif svc_exit r5, irq = 1 @ return from exception -@@ -235,8 +242,14 @@ ENDPROC(__irq_svc) +@@ -235,8 +242,14 @@ svc_preempt: 1: bl preempt_schedule_irq @ irq en/disable is done inside ldr r0, [tsk, #TI_FLAGS] @ get new tasks TI_FLAGS tst r0, #_TIF_NEED_RESCHED @@ -121,10 +122,10 @@ __und_fault: diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S -index 746565a876dc..156e3ba4b319 100644 +index 0465d65d23de..47675830ed30 100644 --- a/arch/arm/kernel/entry-common.S +++ b/arch/arm/kernel/entry-common.S -@@ -56,7 +56,9 @@ saved_pc .req lr +@@ -56,7 +56,9 @@ __ret_fast_syscall: cmp r2, #TASK_SIZE blne addr_limit_check_failed ldr r1, [tsk, #TI_FLAGS] @ re-check for syscall tracing @@ -135,7 +136,7 @@ bne fast_work_pending -@@ -93,8 +95,11 @@ ENDPROC(ret_fast_syscall) +@@ -93,8 +95,11 @@ __ret_fast_syscall: cmp r2, #TASK_SIZE blne addr_limit_check_failed ldr r1, [tsk, #TI_FLAGS] @ re-check for syscall tracing @@ -162,3 +163,6 @@ schedule(); } else { if (unlikely(!user_mode(regs))) +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0245-powerpc-Add-support-for-lazy-preemption.patch linux-4.19.98/debian/patches-rt/0245-powerpc-Add-support-for-lazy-preemption.patch --- linux-4.19.87/debian/patches-rt/0245-powerpc-Add-support-for-lazy-preemption.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0245-powerpc-Add-support-for-lazy-preemption.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From dbdce4ec0b82c3bbd36c36c374d4f964ecc9f2f1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 1 Nov 2012 10:14:11 +0100 Subject: [PATCH 245/290] powerpc: Add support for lazy preemption -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=80e79c5148f7aa9295c560cd5640bb1455ce9f73 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Implement the powerpc pieces for lazy preempt. @@ -76,7 +77,7 @@ /* Bits in local_flags */ /* Don't move TLF_NAPPING without adjusting the code in entry_32.S */ diff --git a/arch/powerpc/kernel/asm-offsets.c b/arch/powerpc/kernel/asm-offsets.c -index 7c3738d890e8..d16fc87332f8 100644 +index 50400f213bbf..1bb82c5dc1d9 100644 --- a/arch/powerpc/kernel/asm-offsets.c +++ b/arch/powerpc/kernel/asm-offsets.c @@ -156,6 +156,7 @@ int main(void) @@ -91,7 +92,7 @@ index 26b3f853cbf6..3783f3ef17a4 100644 --- a/arch/powerpc/kernel/entry_32.S +++ b/arch/powerpc/kernel/entry_32.S -@@ -888,7 +888,14 @@ user_exc_return: /* r10 contains MSR_KERNEL here */ +@@ -888,7 +888,14 @@ resume_kernel: cmpwi 0,r0,0 /* if non-zero, just restore regs and return */ bne restore andi. r8,r8,_TIF_NEED_RESCHED @@ -106,7 +107,7 @@ lwz r3,_MSR(r1) andi. r0,r3,MSR_EE /* interrupts off? */ beq restore /* don't schedule if so */ -@@ -899,11 +906,11 @@ user_exc_return: /* r10 contains MSR_KERNEL here */ +@@ -899,11 +906,11 @@ resume_kernel: */ bl trace_hardirqs_off #endif @@ -121,7 +122,7 @@ #ifdef CONFIG_TRACE_IRQFLAGS /* And now, to properly rebalance the above, we tell lockdep they * are being turned back on, which will happen when we return -@@ -1232,7 +1239,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_NEED_PAIRED_STWCX) +@@ -1232,7 +1239,7 @@ global_dbcr0: #endif /* !(CONFIG_4xx || CONFIG_BOOKE) */ do_work: /* r10 contains MSR_KERNEL here */ @@ -130,7 +131,7 @@ beq do_user_signal do_resched: /* r10 contains MSR_KERNEL here */ -@@ -1253,7 +1260,7 @@ do_resched: /* r10 contains MSR_KERNEL here */ +@@ -1253,7 +1260,7 @@ recheck: MTMSRD(r10) /* disable interrupts */ CURRENT_THREAD_INFO(r9, r1) lwz r9,TI_FLAGS(r9) @@ -140,7 +141,7 @@ andi. r0,r9,_TIF_USER_WORK_MASK beq restore_user diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S -index 7a46e0e57a36..7671fa5da9fa 100644 +index 58b50967b3e5..ef02e41d5d96 100644 --- a/arch/powerpc/kernel/entry_64.S +++ b/arch/powerpc/kernel/entry_64.S @@ -176,7 +176,7 @@ system_call: /* label this so stack traces look sane */ @@ -152,7 +153,7 @@ beq 15f addi r11,r11,8 /* use 32-bit syscall entries */ clrldi r3,r3,32 -@@ -768,7 +768,7 @@ _GLOBAL(ret_from_except_lite) +@@ -774,7 +774,7 @@ _GLOBAL(ret_from_except_lite) bl restore_math b restore #endif @@ -161,7 +162,7 @@ beq 2f bl restore_interrupts SCHEDULE_USER -@@ -830,10 +830,18 @@ _GLOBAL(ret_from_except_lite) +@@ -836,10 +836,18 @@ resume_kernel: #ifdef CONFIG_PREEMPT /* Check if we need to preempt */ @@ -181,7 +182,7 @@ cmpwi cr0,r8,0 bne restore ld r0,SOFTE(r1) -@@ -850,7 +858,7 @@ _GLOBAL(ret_from_except_lite) +@@ -856,7 +864,7 @@ resume_kernel: /* Re-test flags and eventually loop */ CURRENT_THREAD_INFO(r9, r1) ld r4,TI_FLAGS(r9) @@ -190,3 +191,6 @@ bne 1b /* +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0246-arch-arm64-Add-lazy-preempt-support.patch linux-4.19.98/debian/patches-rt/0246-arch-arm64-Add-lazy-preempt-support.patch --- linux-4.19.87/debian/patches-rt/0246-arch-arm64-Add-lazy-preempt-support.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0246-arch-arm64-Add-lazy-preempt-support.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From f72b8c6debbe5f7e9bd418213de3f00d3c0e7891 Mon Sep 17 00:00:00 2001 From: Anders Roxell Date: Thu, 14 May 2015 17:52:17 +0200 Subject: [PATCH 246/290] arch/arm64: Add lazy preempt support -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9f39bfabe46e4f1ac88719c5ae7e2a746e724d12 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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, @@ -86,7 +87,7 @@ index 5f800384cb9a..b582580c8c4c 100644 --- a/arch/arm64/kernel/entry.S +++ b/arch/arm64/kernel/entry.S -@@ -623,11 +623,16 @@ ENDPROC(el1_sync) +@@ -623,11 +623,16 @@ el1_irq: #ifdef CONFIG_PREEMPT ldr w24, [tsk, #TSK_TI_PREEMPT] // get preempt count @@ -106,7 +107,7 @@ #endif #ifdef CONFIG_TRACE_IRQFLAGS bl trace_hardirqs_on -@@ -641,6 +646,7 @@ ENDPROC(el1_irq) +@@ -641,6 +646,7 @@ el1_preempt: 1: bl preempt_schedule_irq // irq en/disable is done inside ldr x0, [tsk, #TSK_TI_FLAGS] // get new tasks TI_FLAGS tbnz x0, #TIF_NEED_RESCHED, 1b // needs rescheduling? @@ -127,3 +128,6 @@ /* Unmask Debug and SError for the next task */ local_daif_restore(DAIF_PROCCTX_NOIRQ); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0247-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch linux-4.19.98/debian/patches-rt/0247-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch --- linux-4.19.87/debian/patches-rt/0247-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0247-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From f4dc4bd0a39f63d832830cf52a03dc9fdc628234 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sun, 16 Oct 2016 05:11:54 +0200 Subject: [PATCH 247/290] connector/cn_proc: Protect send_msg() with a local lock on RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f9aeb51c498452fe9350417739ef34eda7856189 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:931 |in_atomic(): 1, irqs_disabled(): 0, pid: 31807, name: sleep @@ -68,3 +69,6 @@ } void proc_fork_connector(struct task_struct *task) +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0248-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch linux-4.19.98/debian/patches-rt/0248-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch --- linux-4.19.87/debian/patches-rt/0248-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0248-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 299edbde24f04fa915d7017d674aeee802a4426b Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Thu, 31 Mar 2016 04:08:28 +0200 Subject: [PATCH 248/290] drivers/block/zram: Replace bit spinlocks with rtmutex for -rt -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b12499320b2c305e2a859e4c1af089986c409311 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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. @@ -98,3 +99,6 @@ #ifdef CONFIG_ZRAM_MEMORY_TRACKING ktime_t ac_time; #endif +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0249-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch linux-4.19.98/debian/patches-rt/0249-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch --- linux-4.19.87/debian/patches-rt/0249-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0249-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 62ee8af11e220e642012e3364327cd4510578f07 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Thu, 20 Oct 2016 11:15:22 +0200 Subject: [PATCH 249/290] drivers/zram: Don't disable preemption in zcomp_stream_get/put() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b66c8d1eb51ea78d7b44b9a8a959b2539755ce20 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz In v4.7, the driver switched to percpu compression streams, disabling preemption via get/put_cpu_ptr(). Use a per-zcomp_strm lock here. We @@ -101,3 +102,6 @@ zram_slot_unlock(zram, index); /* Should NEVER happen. Return bio error if it does. */ +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0250-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch linux-4.19.98/debian/patches-rt/0250-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch --- linux-4.19.87/debian/patches-rt/0250-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0250-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From e68090808bef14283e17ecb7a6549728ffd2240b Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Wed, 23 Aug 2017 11:57:29 +0200 Subject: [PATCH 250/290] drivers/zram: fix zcomp_stream_get() smp_processor_id() use in preemptible code -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=59f018ada02ffa0ce88d91aa36f5482f9c64054b +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Use get_local_ptr() instead this_cpu_ptr() to avoid a warning regarding smp_processor_id() in preemptible code. @@ -38,3 +39,6 @@ } int zcomp_compress(struct zcomp_strm *zstrm, +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0251-tpm_tis-fix-stall-after-iowrite-s.patch linux-4.19.98/debian/patches-rt/0251-tpm_tis-fix-stall-after-iowrite-s.patch --- linux-4.19.87/debian/patches-rt/0251-tpm_tis-fix-stall-after-iowrite-s.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0251-tpm_tis-fix-stall-after-iowrite-s.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From fb36406fa8141b155e8ff2b751a13f9607520c2d Mon Sep 17 00:00:00 2001 From: Haris Okanovic Date: Tue, 15 Aug 2017 15:13:08 -0500 Subject: [PATCH 251/290] tpm_tis: fix stall after iowrite*()s -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b0b78c13c30994b736f07aa1d0545d6b484a4b18 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz ioread8() operations to TPM MMIO addresses can stall the cpu when immediately following a sequence of iowrite*()'s to the same region. @@ -78,3 +79,6 @@ return 0; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0252-watchdog-prevent-deferral-of-watchdogd-wakeup-on-RT.patch linux-4.19.98/debian/patches-rt/0252-watchdog-prevent-deferral-of-watchdogd-wakeup-on-RT.patch --- linux-4.19.87/debian/patches-rt/0252-watchdog-prevent-deferral-of-watchdogd-wakeup-on-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0252-watchdog-prevent-deferral-of-watchdogd-wakeup-on-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 1a6947443058c0374db28d38e92671731ce32711 Mon Sep 17 00:00:00 2001 From: Julia Cartwright Date: Fri, 28 Sep 2018 21:03:51 +0000 Subject: [PATCH 252/290] watchdog: prevent deferral of watchdogd wakeup on RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4d37485d195e0b7f778a9556486f4b63c3acd32a +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz When PREEMPT_RT_FULL is enabled, all hrtimer expiry functions are deferred for execution into the context of ktimersoftd unless otherwise @@ -36,10 +37,10 @@ 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/watchdog/watchdog_dev.c b/drivers/watchdog/watchdog_dev.c -index ffbdc4642ea5..84f75b5045f6 100644 +index 4b89333e8eb4..ed12734e1e8c 100644 --- a/drivers/watchdog/watchdog_dev.c +++ b/drivers/watchdog/watchdog_dev.c -@@ -147,7 +147,7 @@ static inline void watchdog_update_worker(struct watchdog_device *wdd) +@@ -146,7 +146,7 @@ static inline void watchdog_update_worker(struct watchdog_device *wdd) ktime_t t = watchdog_next_keepalive(wdd); if (t > 0) @@ -48,7 +49,7 @@ } else { hrtimer_cancel(&wd_data->timer); } -@@ -166,7 +166,7 @@ static int __watchdog_ping(struct watchdog_device *wdd) +@@ -165,7 +165,7 @@ static int __watchdog_ping(struct watchdog_device *wdd) if (ktime_after(earliest_keepalive, now)) { hrtimer_start(&wd_data->timer, ktime_sub(earliest_keepalive, now), @@ -57,7 +58,7 @@ return 0; } -@@ -945,7 +945,7 @@ static int watchdog_cdev_register(struct watchdog_device *wdd, dev_t devno) +@@ -948,7 +948,7 @@ static int watchdog_cdev_register(struct watchdog_device *wdd) return -ENODEV; kthread_init_work(&wd_data->work, watchdog_ping_work); @@ -66,12 +67,15 @@ wd_data->timer.function = watchdog_timer_expired; if (wdd->id == 0) { -@@ -992,7 +992,7 @@ static int watchdog_cdev_register(struct watchdog_device *wdd, dev_t devno) +@@ -1005,7 +1005,7 @@ static int watchdog_cdev_register(struct watchdog_device *wdd) __module_get(wdd->ops->owner); - kref_get(&wd_data->kref); + get_device(&wd_data->dev); if (handle_boot_enabled) - hrtimer_start(&wd_data->timer, 0, HRTIMER_MODE_REL); + hrtimer_start(&wd_data->timer, 0, HRTIMER_MODE_REL_HARD); else pr_info("watchdog%d running and kernel based pre-userspace handler disabled\n", wdd->id); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0253-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch linux-4.19.98/debian/patches-rt/0253-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch --- linux-4.19.87/debian/patches-rt/0253-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0253-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From d8adf6f9943f681b148d93d21014e8e41067067e Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sat, 27 Feb 2016 08:09:11 +0100 Subject: [PATCH 253/290] drm,radeon,i915: Use preempt_disable/enable_rt() where recommended -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c97ee923e5c79bc31feaa16e0c6caef8245ed995 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz DRM folks identified the spots, so use them. @@ -55,3 +56,6 @@ /* Decode into vertical and horizontal scanout position. */ *vpos = position & 0x1fff; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0254-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch linux-4.19.98/debian/patches-rt/0254-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch --- linux-4.19.87/debian/patches-rt/0254-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0254-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From f020bb0cd2272c8d908dfd4eba9afb593eff70ab Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sat, 27 Feb 2016 09:01:42 +0100 Subject: [PATCH 254/290] drm,i915: Use local_lock/unlock_irq() in intel_pipe_update_start/end() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fc3cde47b35c9aa69eb666ca9238a16704a072bf +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz [ 8.014039] BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:918 [ 8.014041] in_atomic(): 0, irqs_disabled(): 1, pid: 78, name: kworker/u4:4 @@ -122,3 +123,6 @@ if (intel_vgpu_active(dev_priv)) return; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0255-drm-i915-disable-tracing-on-RT.patch linux-4.19.98/debian/patches-rt/0255-drm-i915-disable-tracing-on-RT.patch --- linux-4.19.87/debian/patches-rt/0255-drm-i915-disable-tracing-on-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0255-drm-i915-disable-tracing-on-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 9c63af996fae22f9a543ba63986342b6c6225302 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 6 Dec 2018 09:52:20 +0100 Subject: [PATCH 255/290] drm/i915: disable tracing on -RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=244c11638562d2a0d5cd78ece67c99293f93a069 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Luca Abeni reported this: | BUG: scheduling while atomic: kworker/u8:2/15203/0x00000003 @@ -41,3 +42,6 @@ #include #include #include +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0256-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch linux-4.19.98/debian/patches-rt/0256-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch --- linux-4.19.87/debian/patches-rt/0256-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0256-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From b34fadffa3608307de6514151f16cdd385c14ad8 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 19 Dec 2018 10:47:02 +0100 Subject: [PATCH 256/290] drm/i915: skip DRM_I915_LOW_LEVEL_TRACEPOINTS with NOTRACE -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=847acb068749101352be88fb869b853c5c5c9150 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.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 @@ -27,3 +28,6 @@ DEFINE_EVENT(i915_request, i915_request_submit, TP_PROTO(struct i915_request *rq), TP_ARGS(rq) +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0257-cgroups-use-simple-wait-in-css_release.patch linux-4.19.98/debian/patches-rt/0257-cgroups-use-simple-wait-in-css_release.patch --- linux-4.19.87/debian/patches-rt/0257-cgroups-use-simple-wait-in-css_release.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0257-cgroups-use-simple-wait-in-css_release.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From b59ff060d2629b8e98f80af20df9e89d4aa31c5d Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 13 Feb 2015 15:52:24 +0100 Subject: [PATCH 257/290] cgroups: use simple wait in css_release() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0e80b9d1ee1339d795d635a353e51fbbefad6ed5 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz To avoid: |BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:914 @@ -89,3 +90,6 @@ return 0; } core_initcall(cgroup_wq_init); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0258-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch linux-4.19.98/debian/patches-rt/0258-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch --- linux-4.19.87/debian/patches-rt/0258-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0258-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 81c16cc87fefa39b56e6c4bca4e83beddf6eac24 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Sun, 8 Jan 2017 09:32:25 +0100 Subject: [PATCH 258/290] cpuset: Convert callback_lock to raw_spinlock_t -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b929bcca97d17ac7c7b56351098a97c990818c3b +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The two commits below add up to a cpuset might_sleep() splat for RT: @@ -287,3 +288,6 @@ return allowed; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0259-apparmor-use-a-locallock-instead-preempt_disable.patch linux-4.19.98/debian/patches-rt/0259-apparmor-use-a-locallock-instead-preempt_disable.patch --- linux-4.19.87/debian/patches-rt/0259-apparmor-use-a-locallock-instead-preempt_disable.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0259-apparmor-use-a-locallock-instead-preempt_disable.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From aa1de601999a7958fa83e1dae7b0819b6d5106a9 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 11 Oct 2017 17:43:49 +0200 Subject: [PATCH 259/290] apparmor: use a locallock instead preempt_disable() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=32350fce319d81f4b6f402844b50d789ebb92796 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz get_buffers() disables preemption which acts as a lock for the per-CPU variable. Since we can't disable preemption here on RT, a local_lock is @@ -79,3 +80,6 @@ /* * LSM hook functions +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0260-workqueue-Prevent-deadlock-stall-on-RT.patch linux-4.19.98/debian/patches-rt/0260-workqueue-Prevent-deadlock-stall-on-RT.patch --- linux-4.19.87/debian/patches-rt/0260-workqueue-Prevent-deadlock-stall-on-RT.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0260-workqueue-Prevent-deadlock-stall-on-RT.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 6b39a01e228fa1dd4b6e4a63ee0948b2e925a4c4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 27 Jun 2014 16:24:52 +0200 Subject: [PATCH 260/290] workqueue: Prevent deadlock/stall on RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2570b4e1c83da05d76ee298401f0e4c4d46428a1 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Austin reported a XFS deadlock/stall on RT where scheduled work gets never exececuted and tasks are waiting for each other for ever. @@ -42,7 +43,7 @@ 2 files changed, 51 insertions(+), 15 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 538461ee8ebd..06abce7fef9e 100644 +index a17c765d3fcb..cfde725e1017 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -3610,9 +3610,8 @@ void __noreturn do_task_dead(void) @@ -67,7 +68,7 @@ * If we are going to sleep and we have plugged IO queued, * make sure to submit it to avoid deadlocks. diff --git a/kernel/workqueue.c b/kernel/workqueue.c -index aa39924bd3b5..12137825bf5a 100644 +index 045b82ca0eb5..714d0cfe4d56 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -125,6 +125,11 @@ enum { @@ -201,3 +202,6 @@ worker->flags |= WORKER_DIE; wake_up_process(worker->task); } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0261-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch linux-4.19.98/debian/patches-rt/0261-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch --- linux-4.19.87/debian/patches-rt/0261-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0261-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 3bbe691ca13a581aeb69342fe32522906eefba3c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:44:56 -0500 Subject: [PATCH 261/290] signals: Allow rt tasks to cache one sigqueue struct -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f72cd03b9416b342bf265ecdecb9c1071a6d0438 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz To avoid allocation allow rt tasks to cache one sigqueue struct in task struct. @@ -41,7 +42,7 @@ /* Test if 'sig' is valid signal. Use this instead of testing _NSIG directly */ static inline int valid_signal(unsigned long sig) diff --git a/kernel/exit.c b/kernel/exit.c -index e10de9836dd7..ac4ca468db84 100644 +index 54c3269b8dda..c66f21193cf1 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -160,7 +160,7 @@ static void __exit_signal(struct task_struct *tsk) @@ -54,10 +55,10 @@ spin_unlock(&sighand->siglock); diff --git a/kernel/fork.c b/kernel/fork.c -index 652986ccb41c..6c4df21994f1 100644 +index 7399bff2e08d..9bcf8f5e77ae 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -1827,6 +1827,7 @@ static __latent_entropy struct task_struct *copy_process( +@@ -1822,6 +1822,7 @@ static __latent_entropy struct task_struct *copy_process( spin_lock_init(&p->alloc_lock); init_sigpending(&p->pending); @@ -66,7 +67,7 @@ p->utime = p->stime = p->gtime = 0; #ifdef CONFIG_ARCH_HAS_SCALED_CPUTIME diff --git a/kernel/signal.c b/kernel/signal.c -index 56edb0580a3a..ac32b4f41d24 100644 +index 3565221b4fac..c84f13dd8626 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -19,6 +19,7 @@ @@ -77,7 +78,7 @@ #include #include #include -@@ -388,13 +389,30 @@ void task_join_group_stop(struct task_struct *task) +@@ -392,13 +393,30 @@ void task_join_group_stop(struct task_struct *task) } } @@ -109,7 +110,7 @@ { struct sigqueue *q = NULL; struct user_struct *user; -@@ -411,7 +429,10 @@ __sigqueue_alloc(int sig, struct task_struct *t, gfp_t flags, int override_rlimi +@@ -415,7 +433,10 @@ __sigqueue_alloc(int sig, struct task_struct *t, gfp_t flags, int override_rlimi if (override_rlimit || atomic_read(&user->sigpending) <= task_rlimit(t, RLIMIT_SIGPENDING)) { @@ -121,7 +122,7 @@ } else { print_dropped_signal(sig); } -@@ -428,6 +449,13 @@ __sigqueue_alloc(int sig, struct task_struct *t, gfp_t flags, int override_rlimi +@@ -432,6 +453,13 @@ __sigqueue_alloc(int sig, struct task_struct *t, gfp_t flags, int override_rlimi return q; } @@ -135,7 +136,7 @@ static void __sigqueue_free(struct sigqueue *q) { if (q->flags & SIGQUEUE_PREALLOC) -@@ -437,6 +465,21 @@ static void __sigqueue_free(struct sigqueue *q) +@@ -441,6 +469,21 @@ static void __sigqueue_free(struct sigqueue *q) kmem_cache_free(sigqueue_cachep, q); } @@ -157,7 +158,7 @@ void flush_sigqueue(struct sigpending *queue) { struct sigqueue *q; -@@ -449,6 +492,21 @@ void flush_sigqueue(struct sigpending *queue) +@@ -453,6 +496,21 @@ void flush_sigqueue(struct sigpending *queue) } } @@ -179,7 +180,7 @@ /* * Flush all pending signals for this kthread. */ -@@ -572,7 +630,7 @@ static void collect_signal(int sig, struct sigpending *list, siginfo_t *info, +@@ -576,7 +634,7 @@ static void collect_signal(int sig, struct sigpending *list, siginfo_t *info, (info->si_code == SI_TIMER) && (info->si_sys_private); @@ -188,7 +189,7 @@ } else { /* * Ok, it wasn't in the queue. This must be -@@ -609,6 +667,8 @@ int dequeue_signal(struct task_struct *tsk, sigset_t *mask, siginfo_t *info) +@@ -613,6 +671,8 @@ int dequeue_signal(struct task_struct *tsk, sigset_t *mask, siginfo_t *info) bool resched_timer = false; int signr; @@ -197,7 +198,7 @@ /* We only dequeue private signals from ourselves, we don't let * signalfd steal them */ -@@ -1747,7 +1807,8 @@ EXPORT_SYMBOL(kill_pid); +@@ -1751,7 +1811,8 @@ EXPORT_SYMBOL(kill_pid); */ struct sigqueue *sigqueue_alloc(void) { @@ -207,3 +208,6 @@ if (q) q->flags |= SIGQUEUE_PREALLOC; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0262-Add-localversion-for-RT-release.patch linux-4.19.98/debian/patches-rt/0262-Add-localversion-for-RT-release.patch --- linux-4.19.87/debian/patches-rt/0262-Add-localversion-for-RT-release.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0262-Add-localversion-for-RT-release.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 1ce039a98b3970742c177d167d323f4a51fa51f0 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 8 Jul 2011 20:25:16 +0200 Subject: [PATCH 262/290] Add localversion for -RT release -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=93c0abfa50932dbc3f5c7a3a9a1043396d09aec2 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Signed-off-by: Thomas Gleixner --- @@ -16,3 +17,6 @@ +++ b/localversion-rt @@ -0,0 +1 @@ +-rt16 +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0263-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch linux-4.19.98/debian/patches-rt/0263-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch --- linux-4.19.87/debian/patches-rt/0263-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0263-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 225db3efbd37d13d5f2f72e2371da7d6bd9a2405 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 26 Mar 2019 18:31:54 +0100 Subject: [PATCH 263/290] powerpc/pseries/iommu: Use a locallock instead local_irq_save() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=45852db84c605cfc7fffb1df575cea2315523540 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The locallock protects the per-CPU variable tce_page. The function attempts to allocate memory while tce_page is protected (by disabling @@ -91,3 +92,6 @@ return rc; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0264-powerpc-reshuffle-TIF-bits.patch linux-4.19.98/debian/patches-rt/0264-powerpc-reshuffle-TIF-bits.patch --- linux-4.19.87/debian/patches-rt/0264-powerpc-reshuffle-TIF-bits.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0264-powerpc-reshuffle-TIF-bits.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From aef8aedf3ea12fb22a6f2b340a3f6bd4aacac4e0 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Fri, 22 Mar 2019 17:15:58 +0100 Subject: [PATCH 264/290] powerpc: reshuffle TIF bits -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=02293a0f686ec8fb1f177452b08491a6a6fecbb3 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Powerpc32/64 does not compile because TIF_SYSCALL_TRACE's bit is higher than 15 and the assembly instructions don't expect that. @@ -59,7 +60,7 @@ index 3783f3ef17a4..44bcf1585bd1 100644 --- a/arch/powerpc/kernel/entry_32.S +++ b/arch/powerpc/kernel/entry_32.S -@@ -393,7 +393,9 @@ _GLOBAL(DoSyscall) +@@ -393,7 +393,9 @@ ret_from_syscall: MTMSRD(r10) lwz r9,TI_FLAGS(r12) li r8,-MAX_ERRNO @@ -70,7 +71,7 @@ bne- syscall_exit_work cmplw 0,r3,r8 blt+ syscall_exit_cont -@@ -511,13 +513,13 @@ END_FTR_SECTION_IFSET(CPU_FTR_NEED_PAIRED_STWCX) +@@ -511,13 +513,13 @@ syscall_dotrace: b syscall_dotrace_cont syscall_exit_work: @@ -86,7 +87,7 @@ bne- 1f lwz r11,_CCR(r1) /* Load CR */ neg r3,r3 -@@ -526,12 +528,12 @@ END_FTR_SECTION_IFSET(CPU_FTR_NEED_PAIRED_STWCX) +@@ -526,12 +528,12 @@ syscall_exit_work: 1: stw r6,RESULT(r1) /* Save result */ stw r3,GPR3(r1) /* Update return value */ @@ -102,10 +103,10 @@ 3: lwarx r8,0,r12 andc r8,r8,r11 diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S -index 7671fa5da9fa..fe713d014220 100644 +index ef02e41d5d96..229cdb04e9b0 100644 --- a/arch/powerpc/kernel/entry_64.S +++ b/arch/powerpc/kernel/entry_64.S -@@ -250,7 +250,9 @@ system_call: /* label this so stack traces look sane */ +@@ -250,7 +250,9 @@ system_call_exit: ld r9,TI_FLAGS(r12) li r11,-MAX_ERRNO @@ -146,3 +147,6 @@ addi r12,r12,TI_FLAGS 3: ldarx r10,0,r12 andc r10,r10,r11 +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0265-tty-sysrq-Convert-show_lock-to-raw_spinlock_t.patch linux-4.19.98/debian/patches-rt/0265-tty-sysrq-Convert-show_lock-to-raw_spinlock_t.patch --- linux-4.19.87/debian/patches-rt/0265-tty-sysrq-Convert-show_lock-to-raw_spinlock_t.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0265-tty-sysrq-Convert-show_lock-to-raw_spinlock_t.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 80e49fd34b0d5b3dd5f122c074ce833b9d727ae8 Mon Sep 17 00:00:00 2001 From: Julien Grall Date: Wed, 13 Mar 2019 11:40:34 +0000 Subject: [PATCH 265/290] tty/sysrq: Convert show_lock to raw_spinlock_t -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a537a158fe895cd0a7726b68e73237244cdaa7bb +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Systems which don't provide arch_trigger_cpumask_backtrace() will invoke showacpu() from a smp_call_function() function which is invoked @@ -57,3 +58,6 @@ } static void sysrq_showregs_othercpus(struct work_struct *dummy) +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0266-drm-i915-Don-t-disable-interrupts-independently-of-t.patch linux-4.19.98/debian/patches-rt/0266-drm-i915-Don-t-disable-interrupts-independently-of-t.patch --- linux-4.19.87/debian/patches-rt/0266-drm-i915-Don-t-disable-interrupts-independently-of-t.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0266-drm-i915-Don-t-disable-interrupts-independently-of-t.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 7bfefce1f534227fddc8cc519a813c04f7f6c1da Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 10 Apr 2019 11:01:37 +0200 Subject: [PATCH 266/290] drm/i915: Don't disable interrupts independently of the lock -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1fd04accf7d1da34be2d03a8cc9db0ba68c8cf9f +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz The locks (timeline->lock and rq->lock) need to be taken with disabled interrupts. This is done in __retire_engine_request() by disabling the @@ -45,3 +46,6 @@ /* * The backing object for the context is done after switching to the +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0267-sched-completion-Fix-a-lockup-in-wait_for_completion.patch linux-4.19.98/debian/patches-rt/0267-sched-completion-Fix-a-lockup-in-wait_for_completion.patch --- linux-4.19.87/debian/patches-rt/0267-sched-completion-Fix-a-lockup-in-wait_for_completion.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0267-sched-completion-Fix-a-lockup-in-wait_for_completion.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From d3bae006e096e47f22baad0a9cdf3f496f2bee6a Mon Sep 17 00:00:00 2001 From: Corey Minyard Date: Thu, 9 May 2019 14:33:20 -0500 Subject: [PATCH 267/290] sched/completion: Fix a lockup in wait_for_completion() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3a62fc3bb6b7ef809d6b55dfb8ef3563c5216df2 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Consider following race: @@ -63,3 +64,6 @@ __set_current_state(state); raw_spin_unlock_irq(&x->wait.lock); timeout = action(timeout); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0268-kthread-add-a-global-worker-thread.patch linux-4.19.98/debian/patches-rt/0268-kthread-add-a-global-worker-thread.patch --- linux-4.19.87/debian/patches-rt/0268-kthread-add-a-global-worker-thread.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0268-kthread-add-a-global-worker-thread.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 9ec5aac95c498d3cd970b50a838ee738fe3861fc Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 12 Feb 2019 15:09:38 +0100 Subject: [PATCH 268/290] kthread: add a global worker thread. -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9300291e699568258ebbabb1bbb8722cefaaa542 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz [ Upstream commit 0532e87d9d44795221aa921ba7024bde689cc894 ] @@ -28,7 +29,7 @@ create mode 100644 include/linux/kthread-cgroup.h diff --git a/drivers/block/loop.c b/drivers/block/loop.c -index 126c2c514673..b736cb6c6228 100644 +index 9cd231a27328..351ea22ffb56 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -70,7 +70,7 @@ @@ -41,7 +42,7 @@ #include #include diff --git a/drivers/spi/spi-rockchip.c b/drivers/spi/spi-rockchip.c -index fdcf3076681b..b56619418cea 100644 +index 185bbdce62b1..63b10236eb05 100644 --- a/drivers/spi/spi-rockchip.c +++ b/drivers/spi/spi-rockchip.c @@ -22,6 +22,7 @@ @@ -131,10 +132,10 @@ + #endif /* _LINUX_KTHREAD_H */ diff --git a/init/main.c b/init/main.c -index 4a7471606e53..b0e95351c22c 100644 +index 6e02188386a7..e514dd93de76 100644 --- a/init/main.c +++ b/init/main.c -@@ -1130,6 +1130,7 @@ static noinline void __init kernel_init_freeable(void) +@@ -1129,6 +1129,7 @@ static noinline void __init kernel_init_freeable(void) smp_prepare_cpus(setup_max_cpus); workqueue_init(); @@ -174,3 +175,6 @@ #ifdef CONFIG_BLK_CGROUP /** * kthread_associate_blkcg - associate blkcg to current kthread +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0269-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch linux-4.19.98/debian/patches-rt/0269-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch --- linux-4.19.87/debian/patches-rt/0269-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0269-genirq-Do-not-invoke-the-affinity-callback-via-a-wor.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 0fcd7c5cee291d12eb90409cad4636cc17be0973 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 21 Aug 2013 17:48:46 +0200 Subject: [PATCH 269/290] genirq: Do not invoke the affinity callback via a workqueue on RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8eeb2b164aeb9df1434b2bd622a69c654c4e5fd4 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz [ Upstream commit 2122adbe011cdc0eb62ad62494e181005b23c76a ] @@ -95,3 +96,6 @@ #else INIT_WORK(¬ify->work, irq_affinity_notify); #endif +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0270-genirq-Handle-missing-work_struct-in-irq_set_affinit.patch linux-4.19.98/debian/patches-rt/0270-genirq-Handle-missing-work_struct-in-irq_set_affinit.patch --- linux-4.19.87/debian/patches-rt/0270-genirq-Handle-missing-work_struct-in-irq_set_affinit.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0270-genirq-Handle-missing-work_struct-in-irq_set_affinit.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 5f103966da617ccbc58a5db958144f55725dd823 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 28 May 2019 10:42:15 +0200 Subject: [PATCH 270/290] genirq: Handle missing work_struct in irq_set_affinity_notifier() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a03f41214e2dccb4d558c97bee856d5ba751de70 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz [ Upstream commit bbc4d2a7d6ff54ba923640d9a42c7bef7185fe98 ] @@ -36,3 +37,6 @@ cancel_work_sync(&old_notify->work); #endif kref_put(&old_notify->kref, old_notify->release); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0271-arm-imx6-cpuidle-Use-raw_spinlock_t.patch linux-4.19.98/debian/patches-rt/0271-arm-imx6-cpuidle-Use-raw_spinlock_t.patch --- linux-4.19.87/debian/patches-rt/0271-arm-imx6-cpuidle-Use-raw_spinlock_t.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0271-arm-imx6-cpuidle-Use-raw_spinlock_t.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 499b81170e694652eb759044a65b1d2de8a02540 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 14 May 2019 17:07:44 +0200 Subject: [PATCH 271/290] arm: imx6: cpuidle: Use raw_spinlock_t -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a2d8fe8a09c2bd45f501d347d8fd685bc4e253f9 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz [ Upstream commit 40d0332ec8312e9c090f0a5414d9c90e12b13611 ] @@ -46,3 +47,6 @@ return index; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0272-rcu-Don-t-allow-to-change-rcu_normal_after_boot-on-R.patch linux-4.19.98/debian/patches-rt/0272-rcu-Don-t-allow-to-change-rcu_normal_after_boot-on-R.patch --- linux-4.19.87/debian/patches-rt/0272-rcu-Don-t-allow-to-change-rcu_normal_after_boot-on-R.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0272-rcu-Don-t-allow-to-change-rcu_normal_after_boot-on-R.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 8ffd7db75f55aa4a603b0a6a83eb05fe77ca543c Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 24 Jun 2019 18:29:13 +0200 Subject: [PATCH 272/290] rcu: Don't allow to change rcu_normal_after_boot on RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d907b0f62c7449b966af5924b51a0f409580d1b9 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz [ Upstream commit c6c058c10577815a2491ce661876cff00a4c3b15 ] @@ -30,3 +31,6 @@ #endif /* #ifndef CONFIG_TINY_RCU */ #ifdef CONFIG_DEBUG_LOCK_ALLOC +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0273-pci-switchtec-fix-stream_open.cocci-warnings.patch linux-4.19.98/debian/patches-rt/0273-pci-switchtec-fix-stream_open.cocci-warnings.patch --- linux-4.19.87/debian/patches-rt/0273-pci-switchtec-fix-stream_open.cocci-warnings.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0273-pci-switchtec-fix-stream_open.cocci-warnings.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 6c25ddefabb7f6bd4adaa2de6a0fdce865eb4c0c Mon Sep 17 00:00:00 2001 From: kbuild test robot Date: Sat, 13 Apr 2019 11:22:51 +0800 Subject: [PATCH 273/290] pci/switchtec: fix stream_open.cocci warnings -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=163db421a90c12f33a0d3033405d56f8be864abb +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz [ Upstream commit 9462c69e29307adc95c289f50839d5d683973891 ] @@ -34,3 +35,6 @@ dev_dbg(&stdev->dev, "%s: %p\n", __func__, stuser); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0274-sched-core-Drop-a-preempt_disable_rt-statement.patch linux-4.19.98/debian/patches-rt/0274-sched-core-Drop-a-preempt_disable_rt-statement.patch --- linux-4.19.87/debian/patches-rt/0274-sched-core-Drop-a-preempt_disable_rt-statement.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0274-sched-core-Drop-a-preempt_disable_rt-statement.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From e92a326589d8cf6722dac937b84c265aa10fdf1b Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 24 Jun 2019 19:33:16 +0200 Subject: [PATCH 274/290] sched/core: Drop a preempt_disable_rt() statement -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5f5a0dcfddf4d7c1d2b7c1380024986d3bbfccb7 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz [ Upstream commit 761126efdcbe3fa3e99c9079fa0ad6eca2f251f2 ] @@ -15,7 +16,7 @@ 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index 06abce7fef9e..fab44ac4e1dd 100644 +index cfde725e1017..678c2c4de4f5 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -558,14 +558,11 @@ void resched_cpu(int cpu) @@ -44,3 +45,6 @@ return cpu; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0275-timers-Redo-the-notification-of-canceling-timers-on-.patch linux-4.19.98/debian/patches-rt/0275-timers-Redo-the-notification-of-canceling-timers-on-.patch --- linux-4.19.87/debian/patches-rt/0275-timers-Redo-the-notification-of-canceling-timers-on-.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0275-timers-Redo-the-notification-of-canceling-timers-on-.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 07d9aaa5917187845b59efdf55fa02d70f35cad2 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 24 Jun 2019 19:39:06 +0200 Subject: [PATCH 275/290] timers: Redo the notification of canceling timers on -RT -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fa4d144249a94725f03c3af4680ea73861dbf2ff +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz [ Upstream commit c71273154c2ad12e13333aada340ff30e826a11b ] @@ -57,7 +58,7 @@ /* diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h -index 2bdb047c7656..6c4c38186c99 100644 +index 082147c07831..aee31b1f0cc3 100644 --- a/include/linux/hrtimer.h +++ b/include/linux/hrtimer.h @@ -22,7 +22,6 @@ @@ -113,7 +114,7 @@ /* Query timers: */ extern ktime_t __hrtimer_get_remaining(const struct hrtimer *timer, bool adjust); -@@ -475,7 +468,7 @@ static inline int hrtimer_is_queued(struct hrtimer *timer) +@@ -481,7 +474,7 @@ static inline bool hrtimer_is_queued(struct hrtimer *timer) * Helper function to check, whether the timer is running the callback * function */ @@ -148,7 +149,7 @@ } EXPORT_SYMBOL_GPL(alarm_cancel); diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c -index e1040b80362c..4534e7871c8c 100644 +index f16cbc98c47a..ed5d8d51ca91 100644 --- a/kernel/time/hrtimer.c +++ b/kernel/time/hrtimer.c @@ -963,33 +963,16 @@ u64 hrtimer_forward(struct hrtimer *timer, ktime_t now, ktime_t interval) @@ -190,7 +191,7 @@ /* * enqueue_hrtimer - internal function to (re)start a timer * -@@ -1224,7 +1207,7 @@ int hrtimer_cancel(struct hrtimer *timer) +@@ -1227,7 +1210,7 @@ int hrtimer_cancel(struct hrtimer *timer) if (ret >= 0) return ret; @@ -199,7 +200,7 @@ } } EXPORT_SYMBOL_GPL(hrtimer_cancel); -@@ -1528,6 +1511,7 @@ static __latent_entropy void hrtimer_run_softirq(struct softirq_action *h) +@@ -1531,6 +1514,7 @@ static __latent_entropy void hrtimer_run_softirq(struct softirq_action *h) unsigned long flags; ktime_t now; @@ -207,7 +208,7 @@ raw_spin_lock_irqsave(&cpu_base->lock, flags); now = hrtimer_update_base(cpu_base); -@@ -1537,7 +1521,7 @@ static __latent_entropy void hrtimer_run_softirq(struct softirq_action *h) +@@ -1540,7 +1524,7 @@ static __latent_entropy void hrtimer_run_softirq(struct softirq_action *h) hrtimer_update_softirq_timer(cpu_base, true); raw_spin_unlock_irqrestore(&cpu_base->lock, flags); @@ -216,7 +217,7 @@ } #ifdef CONFIG_HIGH_RES_TIMERS -@@ -1947,9 +1931,7 @@ int hrtimers_prepare_cpu(unsigned int cpu) +@@ -1950,9 +1934,7 @@ int hrtimers_prepare_cpu(unsigned int cpu) cpu_base->softirq_next_timer = NULL; cpu_base->expires_next = KTIME_MAX; cpu_base->softirq_expires_next = KTIME_MAX; @@ -644,3 +645,6 @@ } } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0276-Revert-futex-Ensure-lock-unlock-symetry-versus-pi_lo.patch linux-4.19.98/debian/patches-rt/0276-Revert-futex-Ensure-lock-unlock-symetry-versus-pi_lo.patch --- linux-4.19.87/debian/patches-rt/0276-Revert-futex-Ensure-lock-unlock-symetry-versus-pi_lo.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0276-Revert-futex-Ensure-lock-unlock-symetry-versus-pi_lo.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 9aa540150db0e795f552585505278527b6011665 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 26 Jun 2019 17:44:13 +0200 Subject: [PATCH 276/290] Revert "futex: Ensure lock/unlock symetry versus pi_lock and hash bucket lock" -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=cf2d016887fc80fdc7b517711849d31904430e8a +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz [ Upstream commit 6a773b70cf105b46298ed3b44e77c102ce31d9ec ] @@ -16,10 +17,10 @@ 1 file changed, 2 deletions(-) diff --git a/kernel/futex.c b/kernel/futex.c -index fe90164aa6ec..a58af833bb77 100644 +index 4c448dddce3c..38f53b95e370 100644 --- a/kernel/futex.c +++ b/kernel/futex.c -@@ -918,9 +918,7 @@ void exit_pi_state_list(struct task_struct *curr) +@@ -921,9 +921,7 @@ void exit_pi_state_list(struct task_struct *curr) if (head->next != next) { /* retain curr->pi_lock for the loop invariant */ raw_spin_unlock(&pi_state->pi_mutex.wait_lock); @@ -29,3 +30,6 @@ put_pi_state(pi_state); continue; } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0277-Revert-futex-Fix-bug-on-when-a-requeued-RT-task-time.patch linux-4.19.98/debian/patches-rt/0277-Revert-futex-Fix-bug-on-when-a-requeued-RT-task-time.patch --- linux-4.19.87/debian/patches-rt/0277-Revert-futex-Fix-bug-on-when-a-requeued-RT-task-time.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0277-Revert-futex-Fix-bug-on-when-a-requeued-RT-task-time.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 6d3fa5ea1a0500d5a53e8698f6e426785017db89 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 26 Jun 2019 17:44:18 +0200 Subject: [PATCH 277/290] Revert "futex: Fix bug on when a requeued RT task times out" -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=127082c7aefaa73f80f77516af1fdd5037660c56 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz [ Upstream commit f1a170cb3289a48df26cae3c60d77608f7a988bb ] @@ -77,3 +78,6 @@ extern struct task_struct *rt_mutex_next_owner(struct rt_mutex *lock); extern void rt_mutex_init_proxy_locked(struct rt_mutex *lock, +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0278-Revert-rtmutex-Handle-the-various-new-futex-race-con.patch linux-4.19.98/debian/patches-rt/0278-Revert-rtmutex-Handle-the-various-new-futex-race-con.patch --- linux-4.19.87/debian/patches-rt/0278-Revert-rtmutex-Handle-the-various-new-futex-race-con.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0278-Revert-rtmutex-Handle-the-various-new-futex-race-con.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 6c64748ffc7a2dbc641b4364267f7218bd29c9c5 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 26 Jun 2019 17:44:21 +0200 Subject: [PATCH 278/290] Revert "rtmutex: Handle the various new futex race conditions" -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1d0a4cd097d5b50ac88a0cc66b53947112296d4b +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz [ Upstream commit 9e0265c21af4d6388d47dcd5ce20f76ec3a2e468 ] @@ -18,10 +19,10 @@ 3 files changed, 21 insertions(+), 94 deletions(-) diff --git a/kernel/futex.c b/kernel/futex.c -index a58af833bb77..1d9423914bf4 100644 +index 38f53b95e370..6ee55df4f3de 100644 --- a/kernel/futex.c +++ b/kernel/futex.c -@@ -2147,16 +2147,6 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags, +@@ -2150,16 +2150,6 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags, requeue_pi_wake_futex(this, &key2, hb2); drop_count++; continue; @@ -38,7 +39,7 @@ } else if (ret) { /* * rt_mutex_start_proxy_lock() detected a -@@ -3235,7 +3225,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, +@@ -3238,7 +3228,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, struct hrtimer_sleeper timeout, *to = NULL; struct futex_pi_state *pi_state = NULL; struct rt_mutex_waiter rt_waiter; @@ -47,7 +48,7 @@ union futex_key key2 = FUTEX_KEY_INIT; struct futex_q q = futex_q_init; int res, ret; -@@ -3293,55 +3283,20 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, +@@ -3296,55 +3286,20 @@ 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); @@ -114,7 +115,7 @@ /* Check if the requeue code acquired the second futex for us. */ if (!q.rt_waiter) { -@@ -3350,8 +3305,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, +@@ -3353,8 +3308,7 @@ 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)) { @@ -124,7 +125,7 @@ ret = fixup_pi_state_owner(uaddr2, &q, current); if (ret && rt_mutex_owner(&q.pi_state->pi_mutex) == current) { pi_state = q.pi_state; -@@ -3362,7 +3316,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, +@@ -3365,7 +3319,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, * the requeue_pi() code acquired for us. */ put_pi_state(q.pi_state); @@ -133,7 +134,7 @@ } } else { struct rt_mutex *pi_mutex; -@@ -3376,8 +3330,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, +@@ -3379,8 +3333,7 @@ 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); @@ -252,3 +253,6 @@ extern struct task_struct *rt_mutex_next_owner(struct rt_mutex *lock); extern void rt_mutex_init_proxy_locked(struct rt_mutex *lock, struct task_struct *proxy_owner); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0279-Revert-futex-workaround-migrate_disable-enable-in-di.patch linux-4.19.98/debian/patches-rt/0279-Revert-futex-workaround-migrate_disable-enable-in-di.patch --- linux-4.19.87/debian/patches-rt/0279-Revert-futex-workaround-migrate_disable-enable-in-di.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0279-Revert-futex-workaround-migrate_disable-enable-in-di.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 5aac8105ead1e975578ef5085e3e1be3721ab3f5 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 26 Jun 2019 17:44:27 +0200 Subject: [PATCH 279/290] Revert "futex: workaround migrate_disable/enable in different context" -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=bdc746779fff787b4f505ee627699bc93b6446f0 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz [ Upstream commit a71221d81cc4873891ae44f3aa02df596079b786 ] @@ -16,10 +17,10 @@ 1 file changed, 19 deletions(-) diff --git a/kernel/futex.c b/kernel/futex.c -index 1d9423914bf4..54ffc25183ed 100644 +index 6ee55df4f3de..f636dcc706ec 100644 --- a/kernel/futex.c +++ b/kernel/futex.c -@@ -2875,14 +2875,6 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, +@@ -2878,14 +2878,6 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, * before __rt_mutex_start_proxy_lock() is done. */ raw_spin_lock_irq(&q.pi_state->pi_mutex.wait_lock); @@ -34,7 +35,7 @@ spin_unlock(q.lock_ptr); /* * __rt_mutex_start_proxy_lock() unconditionally enqueues the @rt_waiter -@@ -2891,7 +2883,6 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, +@@ -2894,7 +2886,6 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, */ ret = __rt_mutex_start_proxy_lock(&q.pi_state->pi_mutex, &rt_waiter, current); raw_spin_unlock_irq(&q.pi_state->pi_mutex.wait_lock); @@ -42,7 +43,7 @@ if (ret) { if (ret == 1) -@@ -3040,21 +3031,11 @@ static int futex_unlock_pi(u32 __user *uaddr, unsigned int flags) +@@ -3043,21 +3034,11 @@ static int futex_unlock_pi(u32 __user *uaddr, unsigned int flags) * rt_waiter. Also see the WARN in wake_futex_pi(). */ raw_spin_lock_irq(&pi_state->pi_mutex.wait_lock); @@ -64,3 +65,6 @@ put_pi_state(pi_state); /* +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0280-futex-Make-the-futex_hash_bucket-lock-raw.patch linux-4.19.98/debian/patches-rt/0280-futex-Make-the-futex_hash_bucket-lock-raw.patch --- linux-4.19.87/debian/patches-rt/0280-futex-Make-the-futex_hash_bucket-lock-raw.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0280-futex-Make-the-futex_hash_bucket-lock-raw.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 61b70039f1df8a7dca7776bf3f15ffb4f07e2fb4 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 26 Jun 2019 11:59:44 +0200 Subject: [PATCH 280/290] futex: Make the futex_hash_bucket lock raw -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b1ed021119af7d543fc60797dcb48f365e579d40 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz [ Upstream commit f646521aadedab78801c9befe193e2e8a0c99298 ] @@ -22,10 +23,10 @@ 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/kernel/futex.c b/kernel/futex.c -index 54ffc25183ed..b02d9969330b 100644 +index f636dcc706ec..a9d9283605e5 100644 --- a/kernel/futex.c +++ b/kernel/futex.c -@@ -240,7 +240,7 @@ struct futex_q { +@@ -243,7 +243,7 @@ struct futex_q { struct plist_node list; struct task_struct *task; @@ -34,7 +35,7 @@ union futex_key key; struct futex_pi_state *pi_state; struct rt_mutex_waiter *rt_waiter; -@@ -261,7 +261,7 @@ static const struct futex_q futex_q_init = { +@@ -264,7 +264,7 @@ static const struct futex_q futex_q_init = { */ struct futex_hash_bucket { atomic_t waiters; @@ -43,7 +44,7 @@ struct plist_head chain; } ____cacheline_aligned_in_smp; -@@ -908,7 +908,7 @@ void exit_pi_state_list(struct task_struct *curr) +@@ -911,7 +911,7 @@ void exit_pi_state_list(struct task_struct *curr) } raw_spin_unlock_irq(&curr->pi_lock); @@ -52,7 +53,7 @@ raw_spin_lock_irq(&pi_state->pi_mutex.wait_lock); raw_spin_lock(&curr->pi_lock); /* -@@ -918,7 +918,7 @@ void exit_pi_state_list(struct task_struct *curr) +@@ -921,7 +921,7 @@ void exit_pi_state_list(struct task_struct *curr) if (head->next != next) { /* retain curr->pi_lock for the loop invariant */ raw_spin_unlock(&pi_state->pi_mutex.wait_lock); @@ -61,7 +62,7 @@ put_pi_state(pi_state); continue; } -@@ -930,7 +930,7 @@ void exit_pi_state_list(struct task_struct *curr) +@@ -933,7 +933,7 @@ void exit_pi_state_list(struct task_struct *curr) raw_spin_unlock(&curr->pi_lock); raw_spin_unlock_irq(&pi_state->pi_mutex.wait_lock); @@ -70,7 +71,7 @@ rt_mutex_futex_unlock(&pi_state->pi_mutex); put_pi_state(pi_state); -@@ -1424,7 +1424,7 @@ static void __unqueue_futex(struct futex_q *q) +@@ -1427,7 +1427,7 @@ static void __unqueue_futex(struct futex_q *q) { struct futex_hash_bucket *hb; @@ -79,7 +80,7 @@ || WARN_ON(plist_node_empty(&q->list))) return; -@@ -1552,21 +1552,21 @@ static inline void +@@ -1555,21 +1555,21 @@ static inline void double_lock_hb(struct futex_hash_bucket *hb1, struct futex_hash_bucket *hb2) { if (hb1 <= hb2) { @@ -107,7 +108,7 @@ } /* -@@ -1594,7 +1594,7 @@ futex_wake(u32 __user *uaddr, unsigned int flags, int nr_wake, u32 bitset) +@@ -1597,7 +1597,7 @@ futex_wake(u32 __user *uaddr, unsigned int flags, int nr_wake, u32 bitset) if (!hb_waiters_pending(hb)) goto out_put_key; @@ -116,7 +117,7 @@ plist_for_each_entry_safe(this, next, &hb->chain, list) { if (match_futex (&this->key, &key)) { -@@ -1613,7 +1613,7 @@ futex_wake(u32 __user *uaddr, unsigned int flags, int nr_wake, u32 bitset) +@@ -1616,7 +1616,7 @@ futex_wake(u32 __user *uaddr, unsigned int flags, int nr_wake, u32 bitset) } } @@ -125,7 +126,7 @@ wake_up_q(&wake_q); out_put_key: put_futex_key(&key); -@@ -2218,7 +2218,7 @@ static inline struct futex_hash_bucket *queue_lock(struct futex_q *q) +@@ -2221,7 +2221,7 @@ static inline struct futex_hash_bucket *queue_lock(struct futex_q *q) q->lock_ptr = &hb->lock; @@ -134,7 +135,7 @@ return hb; } -@@ -2226,7 +2226,7 @@ static inline void +@@ -2229,7 +2229,7 @@ static inline void queue_unlock(struct futex_hash_bucket *hb) __releases(&hb->lock) { @@ -143,7 +144,7 @@ hb_waiters_dec(hb); } -@@ -2265,7 +2265,7 @@ static inline void queue_me(struct futex_q *q, struct futex_hash_bucket *hb) +@@ -2268,7 +2268,7 @@ static inline void queue_me(struct futex_q *q, struct futex_hash_bucket *hb) __releases(&hb->lock) { __queue_me(q, hb); @@ -152,7 +153,7 @@ } /** -@@ -2281,41 +2281,41 @@ static inline void queue_me(struct futex_q *q, struct futex_hash_bucket *hb) +@@ -2284,41 +2284,41 @@ static inline void queue_me(struct futex_q *q, struct futex_hash_bucket *hb) */ static int unqueue_me(struct futex_q *q) { @@ -205,7 +206,7 @@ ret = 1; } -@@ -2337,7 +2337,7 @@ static void unqueue_me_pi(struct futex_q *q) +@@ -2340,7 +2340,7 @@ static void unqueue_me_pi(struct futex_q *q) put_pi_state(q->pi_state); q->pi_state = NULL; @@ -214,7 +215,7 @@ } static int fixup_pi_state_owner(u32 __user *uaddr, struct futex_q *q, -@@ -2470,7 +2470,7 @@ static int fixup_pi_state_owner(u32 __user *uaddr, struct futex_q *q, +@@ -2473,7 +2473,7 @@ static int fixup_pi_state_owner(u32 __user *uaddr, struct futex_q *q, */ handle_err: raw_spin_unlock_irq(&pi_state->pi_mutex.wait_lock); @@ -223,7 +224,7 @@ switch (err) { case -EFAULT: -@@ -2488,7 +2488,7 @@ static int fixup_pi_state_owner(u32 __user *uaddr, struct futex_q *q, +@@ -2491,7 +2491,7 @@ static int fixup_pi_state_owner(u32 __user *uaddr, struct futex_q *q, break; } @@ -232,7 +233,7 @@ raw_spin_lock_irq(&pi_state->pi_mutex.wait_lock); /* -@@ -2584,7 +2584,7 @@ static void futex_wait_queue_me(struct futex_hash_bucket *hb, struct futex_q *q, +@@ -2587,7 +2587,7 @@ static void futex_wait_queue_me(struct futex_hash_bucket *hb, struct futex_q *q, /* * The task state is guaranteed to be set before another task can * wake it. set_current_state() is implemented using smp_store_mb() and @@ -241,7 +242,7 @@ * access to the hash list and forcing another memory barrier. */ set_current_state(TASK_INTERRUPTIBLE); -@@ -2875,7 +2875,7 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, +@@ -2878,7 +2878,7 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, * before __rt_mutex_start_proxy_lock() is done. */ raw_spin_lock_irq(&q.pi_state->pi_mutex.wait_lock); @@ -250,7 +251,7 @@ /* * __rt_mutex_start_proxy_lock() unconditionally enqueues the @rt_waiter * such that futex_unlock_pi() is guaranteed to observe the waiter when -@@ -2896,7 +2896,7 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, +@@ -2899,7 +2899,7 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags, ret = rt_mutex_wait_proxy_lock(&q.pi_state->pi_mutex, to, &rt_waiter); cleanup: @@ -259,7 +260,7 @@ /* * If we failed to acquire the lock (deadlock/signal/timeout), we must * first acquire the hb->lock before removing the lock from the -@@ -2997,7 +2997,7 @@ static int futex_unlock_pi(u32 __user *uaddr, unsigned int flags) +@@ -3000,7 +3000,7 @@ static int futex_unlock_pi(u32 __user *uaddr, unsigned int flags) return ret; hb = hash_futex(&key); @@ -268,7 +269,7 @@ /* * Check waiters first. We do not trust user space values at -@@ -3031,7 +3031,7 @@ static int futex_unlock_pi(u32 __user *uaddr, unsigned int flags) +@@ -3034,7 +3034,7 @@ static int futex_unlock_pi(u32 __user *uaddr, unsigned int flags) * rt_waiter. Also see the WARN in wake_futex_pi(). */ raw_spin_lock_irq(&pi_state->pi_mutex.wait_lock); @@ -277,7 +278,7 @@ /* drops pi_state->pi_mutex.wait_lock */ ret = wake_futex_pi(uaddr, uval, pi_state); -@@ -3070,7 +3070,7 @@ static int futex_unlock_pi(u32 __user *uaddr, unsigned int flags) +@@ -3073,7 +3073,7 @@ static int futex_unlock_pi(u32 __user *uaddr, unsigned int flags) * owner. */ if ((ret = cmpxchg_futex_value_locked(&curval, uaddr, uval, 0))) { @@ -286,7 +287,7 @@ switch (ret) { case -EFAULT: goto pi_faulted; -@@ -3090,7 +3090,7 @@ static int futex_unlock_pi(u32 __user *uaddr, unsigned int flags) +@@ -3093,7 +3093,7 @@ static int futex_unlock_pi(u32 __user *uaddr, unsigned int flags) ret = (curval == uval) ? 0 : -EAGAIN; out_unlock: @@ -295,7 +296,7 @@ out_putkey: put_futex_key(&key); return ret; -@@ -3264,9 +3264,9 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, +@@ -3267,9 +3267,9 @@ 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); @@ -307,7 +308,7 @@ if (ret) goto out_put_keys; -@@ -3286,7 +3286,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, +@@ -3289,7 +3289,7 @@ 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)) { @@ -316,7 +317,7 @@ ret = fixup_pi_state_owner(uaddr2, &q, current); if (ret && rt_mutex_owner(&q.pi_state->pi_mutex) == current) { pi_state = q.pi_state; -@@ -3297,7 +3297,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, +@@ -3300,7 +3300,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, * the requeue_pi() code acquired for us. */ put_pi_state(q.pi_state); @@ -325,7 +326,7 @@ } } else { struct rt_mutex *pi_mutex; -@@ -3311,7 +3311,7 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, +@@ -3314,7 +3314,7 @@ 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); @@ -334,7 +335,7 @@ if (ret && !rt_mutex_cleanup_proxy_lock(pi_mutex, &rt_waiter)) ret = 0; -@@ -3748,7 +3748,7 @@ static int __init futex_init(void) +@@ -3981,7 +3981,7 @@ static int __init futex_init(void) for (i = 0; i < futex_hashsize; i++) { atomic_set(&futex_queues[i].waiters, 0); plist_head_init(&futex_queues[i].chain); @@ -343,3 +344,6 @@ } return 0; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0281-futex-Delay-deallocation-of-pi_state.patch linux-4.19.98/debian/patches-rt/0281-futex-Delay-deallocation-of-pi_state.patch --- linux-4.19.87/debian/patches-rt/0281-futex-Delay-deallocation-of-pi_state.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0281-futex-Delay-deallocation-of-pi_state.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From ebba085e584e2dafd1d06328a5d4f3b3f3fc0269 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 26 Jun 2019 13:35:36 +0200 Subject: [PATCH 281/290] futex: Delay deallocation of pi_state -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=49d0177d9457d5012cea7a5fa82bd1cb01ab319a +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz [ Upstream commit d7c7cf8cb68b7df17e6e50be1f25f35d83e686c7 ] @@ -17,10 +18,10 @@ 1 file changed, 44 insertions(+), 11 deletions(-) diff --git a/kernel/futex.c b/kernel/futex.c -index b02d9969330b..688b6fcb79cb 100644 +index a9d9283605e5..0b8cff8d9162 100644 --- a/kernel/futex.c +++ b/kernel/futex.c -@@ -822,13 +822,13 @@ static void get_pi_state(struct futex_pi_state *pi_state) +@@ -825,13 +825,13 @@ static void get_pi_state(struct futex_pi_state *pi_state) * Drops a reference to the pi_state object and frees or caches it * when the last reference is gone. */ @@ -37,7 +38,7 @@ /* * If pi_state->owner is NULL, the owner is most probably dying -@@ -848,9 +848,7 @@ static void put_pi_state(struct futex_pi_state *pi_state) +@@ -851,9 +851,7 @@ static void put_pi_state(struct futex_pi_state *pi_state) raw_spin_unlock_irq(&pi_state->pi_mutex.wait_lock); } @@ -48,7 +49,7 @@ /* * pi_state->list is already empty. * clear pi_state->owner. -@@ -859,6 +857,30 @@ static void put_pi_state(struct futex_pi_state *pi_state) +@@ -862,6 +860,30 @@ static void put_pi_state(struct futex_pi_state *pi_state) pi_state->owner = NULL; atomic_set(&pi_state->refcount, 1); current->pi_state_cache = pi_state; @@ -79,7 +80,7 @@ } } -@@ -875,6 +897,7 @@ void exit_pi_state_list(struct task_struct *curr) +@@ -878,6 +900,7 @@ void exit_pi_state_list(struct task_struct *curr) struct futex_pi_state *pi_state; struct futex_hash_bucket *hb; union futex_key key = FUTEX_KEY_INIT; @@ -87,7 +88,7 @@ if (!futex_cmpxchg_enabled) return; -@@ -919,7 +942,7 @@ void exit_pi_state_list(struct task_struct *curr) +@@ -922,7 +945,7 @@ void exit_pi_state_list(struct task_struct *curr) /* retain curr->pi_lock for the loop invariant */ raw_spin_unlock(&pi_state->pi_mutex.wait_lock); raw_spin_unlock(&hb->lock); @@ -96,7 +97,7 @@ continue; } -@@ -938,6 +961,8 @@ void exit_pi_state_list(struct task_struct *curr) +@@ -941,6 +964,8 @@ void exit_pi_state_list(struct task_struct *curr) raw_spin_lock_irq(&curr->pi_lock); } raw_spin_unlock_irq(&curr->pi_lock); @@ -105,7 +106,7 @@ } #endif -@@ -1920,6 +1945,7 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags, +@@ -1923,6 +1948,7 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags, struct futex_hash_bucket *hb1, *hb2; struct futex_q *this, *next; DEFINE_WAKE_Q(wake_q); @@ -113,7 +114,7 @@ if (nr_wake < 0 || nr_requeue < 0) return -EINVAL; -@@ -2157,7 +2183,7 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags, +@@ -2160,7 +2186,7 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags, * object. */ this->pi_state = NULL; @@ -122,7 +123,7 @@ /* * We stop queueing more waiters and let user * space deal with the mess. -@@ -2174,7 +2200,7 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags, +@@ -2177,7 +2203,7 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags, * in futex_proxy_trylock_atomic() or in lookup_pi_state(). We * need to drop it here again. */ @@ -131,7 +132,7 @@ out_unlock: double_unlock_hb(hb1, hb2); -@@ -2195,6 +2221,7 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags, +@@ -2198,6 +2224,7 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags, out_put_key1: put_futex_key(&key1); out: @@ -139,7 +140,7 @@ return ret ? ret : task_count; } -@@ -2331,13 +2358,16 @@ static int unqueue_me(struct futex_q *q) +@@ -2334,13 +2361,16 @@ static int unqueue_me(struct futex_q *q) static void unqueue_me_pi(struct futex_q *q) __releases(q->lock_ptr) { @@ -157,7 +158,7 @@ } static int fixup_pi_state_owner(u32 __user *uaddr, struct futex_q *q, -@@ -3286,6 +3316,8 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, +@@ -3289,6 +3319,8 @@ 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)) { @@ -166,7 +167,7 @@ raw_spin_lock(q.lock_ptr); ret = fixup_pi_state_owner(uaddr2, &q, current); if (ret && rt_mutex_owner(&q.pi_state->pi_mutex) == current) { -@@ -3296,8 +3328,9 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, +@@ -3299,8 +3331,9 @@ static int futex_wait_requeue_pi(u32 __user *uaddr, unsigned int flags, * Drop the reference to the pi state which * the requeue_pi() code acquired for us. */ @@ -177,3 +178,6 @@ } } else { struct rt_mutex *pi_mutex; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0282-mm-zswap-Do-not-disable-preemption-in-zswap_frontswa.patch linux-4.19.98/debian/patches-rt/0282-mm-zswap-Do-not-disable-preemption-in-zswap_frontswa.patch --- linux-4.19.87/debian/patches-rt/0282-mm-zswap-Do-not-disable-preemption-in-zswap_frontswa.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0282-mm-zswap-Do-not-disable-preemption-in-zswap_frontswa.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From b68bca0d18af8b42c058485dfde37d4acfbabcc5 Mon Sep 17 00:00:00 2001 From: "Luis Claudio R. Goncalves" Date: Tue, 25 Jun 2019 11:28:04 -0300 Subject: [PATCH 282/290] mm/zswap: Do not disable preemption in zswap_frontswap_store() -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=462f06ccfcce395acd6e89f8b9d9a91bd924750c +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz [ Upstream commit 4e4cf4be79635e67144632d9135286381acbc95a ] @@ -121,3 +122,6 @@ zswap_pool_put(entry->pool); freepage: zswap_entry_cache_free(entry); +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0283-revert-aio.patch linux-4.19.98/debian/patches-rt/0283-revert-aio.patch --- linux-4.19.87/debian/patches-rt/0283-revert-aio.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0283-revert-aio.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From a127a24d65e5ec18ec4af24df6695fbaccf925ca Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" Date: Fri, 20 Sep 2019 17:50:53 -0400 Subject: [PATCH 283/290] revert-aio -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f2fbada945e3ef792e7e82ba32e222e752a0a88a +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz revert: fs/aio: simple simple work @@ -65,3 +66,6 @@ static int ioctx_add_table(struct kioctx *ctx, struct mm_struct *mm) { unsigned i, new_nr; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0284-fs-aio-simple-simple-work.patch linux-4.19.98/debian/patches-rt/0284-fs-aio-simple-simple-work.patch --- linux-4.19.87/debian/patches-rt/0284-fs-aio-simple-simple-work.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0284-fs-aio-simple-simple-work.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From fb686d1f8844133f15f617e0effa288bcbef4a18 Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Mon, 16 Feb 2015 18:49:10 +0100 Subject: [PATCH 284/290] fs/aio: simple simple work -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=06079632e222f342e079d8f4d5cddc3944f99913 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz [ Upstream commit 1a142116f6435ef070ecebb66d2d599507c10601 ] @@ -70,3 +71,6 @@ static int ioctx_add_table(struct kioctx *ctx, struct mm_struct *mm) { unsigned i, new_nr; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0285-revert-thermal.patch linux-4.19.98/debian/patches-rt/0285-revert-thermal.patch --- linux-4.19.87/debian/patches-rt/0285-revert-thermal.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0285-revert-thermal.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 466a66edbba9ee1f7405d51c674dd3dc11bbdb13 Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" Date: Fri, 20 Sep 2019 17:50:53 -0400 Subject: [PATCH 285/290] revert-thermal -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=aed786370d98d846df0ae73df3467f288a7debe0 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Revert: thermal: Defer thermal wakups to threads @@ -114,3 +115,6 @@ } module_exit(pkg_temp_thermal_exit) +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0286-thermal-Defer-thermal-wakups-to-threads.patch linux-4.19.98/debian/patches-rt/0286-thermal-Defer-thermal-wakups-to-threads.patch --- linux-4.19.87/debian/patches-rt/0286-thermal-Defer-thermal-wakups-to-threads.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0286-thermal-Defer-thermal-wakups-to-threads.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From d68ea3ebd9e76e3a78a5034c6af647c0c948b6a8 Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Tue, 17 Feb 2015 09:37:44 +0100 Subject: [PATCH 286/290] thermal: Defer thermal wakups to threads -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7d01bb1ab8d1c56ea8368b9bea790bbbfec73d1b +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz [ Upstream commit ad2408dc248fe58536eef5b2b5734d8f9d3a280b ] @@ -92,3 +93,6 @@ debugfs_remove_recursive(debugfs); kfree(packages); } +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0287-revert-block.patch linux-4.19.98/debian/patches-rt/0287-revert-block.patch --- linux-4.19.87/debian/patches-rt/0287-revert-block.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0287-revert-block.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From 5d4341f0df610e341ef6248b72a4d24ea53b7694 Mon Sep 17 00:00:00 2001 From: "Steven Rostedt (VMware)" Date: Fri, 20 Sep 2019 17:50:54 -0400 Subject: [PATCH 287/290] revert-block -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9cd549c202419d8738748fcd99688ad1d62aed2f +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz Revert swork version of: block: blk-mq: move blk_queue_usage_counter_release() into process context @@ -14,10 +15,10 @@ 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/block/blk-core.c b/block/blk-core.c -index 06fcd081696e..0edb346263b8 100644 +index 13bf37156bb0..4860cd26cd5a 100644 --- a/block/blk-core.c +++ b/block/blk-core.c -@@ -970,21 +970,12 @@ void blk_queue_exit(struct request_queue *q) +@@ -973,21 +973,12 @@ void blk_queue_exit(struct request_queue *q) percpu_ref_put(&q->q_usage_counter); } @@ -40,7 +41,7 @@ } static void blk_rq_timed_out_timer(struct timer_list *t) -@@ -1081,7 +1072,6 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id, +@@ -1084,7 +1075,6 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id, queue_flag_set_unlocked(QUEUE_FLAG_BYPASS, q); init_waitqueue_head(&q->mq_freeze_wq); @@ -48,7 +49,7 @@ /* * Init percpu_ref in atomic mode so that it's faster to shutdown. -@@ -3971,8 +3961,6 @@ int __init blk_dev_init(void) +@@ -3974,8 +3964,6 @@ int __init blk_dev_init(void) if (!kblockd_workqueue) panic("Failed to create kblockd\n"); @@ -77,3 +78,6 @@ struct percpu_ref q_usage_counter; struct list_head all_q_node; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0288-block-blk-mq-move-blk_queue_usage_counter_release-in.patch linux-4.19.98/debian/patches-rt/0288-block-blk-mq-move-blk_queue_usage_counter_release-in.patch --- linux-4.19.87/debian/patches-rt/0288-block-blk-mq-move-blk_queue_usage_counter_release-in.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0288-block-blk-mq-move-blk_queue_usage_counter_release-in.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,8 +1,9 @@ +From 7de506cb172bfbca14767ae02f0309d70d3c7dcb Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Tue, 13 Mar 2018 13:49:16 +0100 Subject: [PATCH 288/290] block: blk-mq: move blk_queue_usage_counter_release() into process context -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e73f701fa4cf094c7eeeb1959b4eb29b520ed548 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz [ Upstream commit 61c928ecf4fe200bda9b49a0813b5ba0f43995b5 ] @@ -54,10 +55,10 @@ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/block/blk-core.c b/block/blk-core.c -index 0edb346263b8..f0d9ebeea16d 100644 +index 4860cd26cd5a..7d709465876e 100644 --- a/block/blk-core.c +++ b/block/blk-core.c -@@ -970,12 +970,21 @@ void blk_queue_exit(struct request_queue *q) +@@ -973,12 +973,21 @@ void blk_queue_exit(struct request_queue *q) percpu_ref_put(&q->q_usage_counter); } @@ -80,7 +81,7 @@ } static void blk_rq_timed_out_timer(struct timer_list *t) -@@ -1072,6 +1081,7 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id, +@@ -1075,6 +1084,7 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id, queue_flag_set_unlocked(QUEUE_FLAG_BYPASS, q); init_waitqueue_head(&q->mq_freeze_wq); @@ -108,3 +109,6 @@ struct percpu_ref q_usage_counter; struct list_head all_q_node; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0289-workqueue-rework.patch linux-4.19.98/debian/patches-rt/0289-workqueue-rework.patch --- linux-4.19.87/debian/patches-rt/0289-workqueue-rework.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0289-workqueue-rework.patch 2020-01-26 13:26:49.000000000 +0000 @@ -1,7 +1,8 @@ +From b5e4a5ce5478ed6616eec2fed6c13da28cdbb61c Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Wed, 29 May 2019 18:52:27 +0200 Subject: [PATCH 289/290] workqueue: rework -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=00ac16d9ec3aca2ef09504ceae1d966bdef1a352 +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz [ Upstream commit d15a862f24df983458533aebd6fa207ecdd1095a ] @@ -31,15 +32,15 @@ kernel/kthread.c | 14 -- kernel/sched/core.c | 1 + kernel/time/hrtimer.c | 24 -- - kernel/workqueue.c | 300 +++++++++++-------------- - 18 files changed, 164 insertions(+), 318 deletions(-) + kernel/workqueue.c | 304 +++++++++++-------------- + 18 files changed, 166 insertions(+), 320 deletions(-) delete mode 100644 include/linux/kthread-cgroup.h diff --git a/block/blk-core.c b/block/blk-core.c -index f0d9ebeea16d..cc69a47dc57a 100644 +index 7d709465876e..752c9e754509 100644 --- a/block/blk-core.c +++ b/block/blk-core.c -@@ -970,7 +970,7 @@ void blk_queue_exit(struct request_queue *q) +@@ -973,7 +973,7 @@ void blk_queue_exit(struct request_queue *q) percpu_ref_put(&q->q_usage_counter); } @@ -48,7 +49,7 @@ { struct request_queue *q = container_of(work, struct request_queue, mq_pcpu_wake); -@@ -984,7 +984,7 @@ static void blk_queue_usage_counter_release(struct percpu_ref *ref) +@@ -987,7 +987,7 @@ static void blk_queue_usage_counter_release(struct percpu_ref *ref) container_of(ref, struct request_queue, q_usage_counter); if (wq_has_sleeper(&q->mq_freeze_wq)) @@ -57,7 +58,7 @@ } static void blk_rq_timed_out_timer(struct timer_list *t) -@@ -1081,7 +1081,7 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id, +@@ -1084,7 +1084,7 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id, queue_flag_set_unlocked(QUEUE_FLAG_BYPASS, q); init_waitqueue_head(&q->mq_freeze_wq); @@ -67,7 +68,7 @@ /* * Init percpu_ref in atomic mode so that it's faster to shutdown. diff --git a/drivers/block/loop.c b/drivers/block/loop.c -index b736cb6c6228..126c2c514673 100644 +index 351ea22ffb56..9cd231a27328 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -70,7 +70,7 @@ @@ -80,7 +81,7 @@ #include #include diff --git a/drivers/spi/spi-rockchip.c b/drivers/spi/spi-rockchip.c -index b56619418cea..fdcf3076681b 100644 +index 63b10236eb05..185bbdce62b1 100644 --- a/drivers/spi/spi-rockchip.c +++ b/drivers/spi/spi-rockchip.c @@ -22,7 +22,6 @@ @@ -334,10 +335,10 @@ extern bool queue_work_on(int cpu, struct workqueue_struct *wq, diff --git a/init/main.c b/init/main.c -index b0e95351c22c..4a7471606e53 100644 +index e514dd93de76..6e02188386a7 100644 --- a/init/main.c +++ b/init/main.c -@@ -1130,7 +1130,6 @@ static noinline void __init kernel_init_freeable(void) +@@ -1129,7 +1129,6 @@ static noinline void __init kernel_init_freeable(void) smp_prepare_cpus(setup_max_cpus); workqueue_init(); @@ -457,7 +458,7 @@ /** * kthread_associate_blkcg - associate blkcg to current kthread diff --git a/kernel/sched/core.c b/kernel/sched/core.c -index fab44ac4e1dd..442a2071cde7 100644 +index 678c2c4de4f5..a1c0123e7636 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -3607,6 +3607,7 @@ static inline void sched_submit_work(struct task_struct *tsk) @@ -469,7 +470,7 @@ * If a worker went to sleep, notify and ask workqueue whether * it wants to wake up a task to maintain concurrency. diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c -index 4534e7871c8c..67951292df58 100644 +index ed5d8d51ca91..94d97eae0a46 100644 --- a/kernel/time/hrtimer.c +++ b/kernel/time/hrtimer.c @@ -730,29 +730,6 @@ static void hrtimer_switch_to_hres(void) @@ -511,7 +512,7 @@ #else diff --git a/kernel/workqueue.c b/kernel/workqueue.c -index 12137825bf5a..f6d12421e7bb 100644 +index 714d0cfe4d56..75f59299dd06 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -49,8 +49,6 @@ @@ -1134,20 +1135,25 @@ /* * Slurp in all works issued via this workqueue and -@@ -2460,10 +2412,10 @@ static int rescuer_thread(void *__rescuer) +@@ -2460,7 +2412,7 @@ static int rescuer_thread(void *__rescuer) * incur MAYDAY_INTERVAL delay inbetween. */ if (need_to_create_worker(pool)) { - spin_lock(&wq_mayday_lock); + raw_spin_lock(&wq_mayday_lock); - get_pwq(pwq); - list_move_tail(&pwq->mayday_node, &wq->maydays); + /* + * Queue iff we aren't racing destruction + * and somebody else hasn't queued it already. +@@ -2469,7 +2421,7 @@ static int rescuer_thread(void *__rescuer) + get_pwq(pwq); + list_add_tail(&pwq->mayday_node, &wq->maydays); + } - spin_unlock(&wq_mayday_lock); + raw_spin_unlock(&wq_mayday_lock); } } -@@ -2481,14 +2433,14 @@ static int rescuer_thread(void *__rescuer) +@@ -2487,14 +2439,14 @@ static int rescuer_thread(void *__rescuer) if (need_more_worker(pool)) wake_up_worker(pool); @@ -1165,7 +1171,7 @@ if (should_stop) { __set_current_state(TASK_RUNNING); -@@ -2568,7 +2520,7 @@ static void wq_barrier_func(struct work_struct *work) +@@ -2574,7 +2526,7 @@ static void wq_barrier_func(struct work_struct *work) * underneath us, so we can't reliably determine pwq from @target. * * CONTEXT: @@ -1174,7 +1180,7 @@ */ static void insert_wq_barrier(struct pool_workqueue *pwq, struct wq_barrier *barr, -@@ -2655,7 +2607,7 @@ static bool flush_workqueue_prep_pwqs(struct workqueue_struct *wq, +@@ -2661,7 +2613,7 @@ static bool flush_workqueue_prep_pwqs(struct workqueue_struct *wq, for_each_pwq(pwq, wq) { struct worker_pool *pool = pwq->pool; @@ -1183,7 +1189,7 @@ if (flush_color >= 0) { WARN_ON_ONCE(pwq->flush_color != -1); -@@ -2672,7 +2624,7 @@ static bool flush_workqueue_prep_pwqs(struct workqueue_struct *wq, +@@ -2678,7 +2630,7 @@ static bool flush_workqueue_prep_pwqs(struct workqueue_struct *wq, pwq->work_color = work_color; } @@ -1192,7 +1198,7 @@ } if (flush_color >= 0 && atomic_dec_and_test(&wq->nr_pwqs_to_flush)) -@@ -2872,9 +2824,9 @@ void drain_workqueue(struct workqueue_struct *wq) +@@ -2878,9 +2830,9 @@ void drain_workqueue(struct workqueue_struct *wq) for_each_pwq(pwq, wq) { bool drained; @@ -1204,7 +1210,7 @@ if (drained) continue; -@@ -2910,7 +2862,7 @@ static bool start_flush_work(struct work_struct *work, struct wq_barrier *barr, +@@ -2916,7 +2868,7 @@ static bool start_flush_work(struct work_struct *work, struct wq_barrier *barr, return false; } @@ -1213,7 +1219,7 @@ /* see the comment in try_to_grab_pending() with the same code */ pwq = get_work_pwq(work); if (pwq) { -@@ -2926,7 +2878,7 @@ static bool start_flush_work(struct work_struct *work, struct wq_barrier *barr, +@@ -2932,7 +2884,7 @@ static bool start_flush_work(struct work_struct *work, struct wq_barrier *barr, check_flush_dependency(pwq->wq, work); insert_wq_barrier(pwq, barr, work, worker); @@ -1222,7 +1228,7 @@ /* * Force a lock recursion deadlock when using flush_work() inside a -@@ -2945,7 +2897,7 @@ static bool start_flush_work(struct work_struct *work, struct wq_barrier *barr, +@@ -2951,7 +2903,7 @@ static bool start_flush_work(struct work_struct *work, struct wq_barrier *barr, rcu_read_unlock(); return true; already_gone: @@ -1231,7 +1237,7 @@ rcu_read_unlock(); return false; } -@@ -3046,7 +2998,7 @@ static bool __cancel_work_timer(struct work_struct *work, bool is_dwork) +@@ -3052,7 +3004,7 @@ static bool __cancel_work_timer(struct work_struct *work, bool is_dwork) /* tell other tasks trying to grab @work to back off */ mark_work_canceling(work); @@ -1240,7 +1246,7 @@ /* * This allows canceling during early boot. We know that @work -@@ -3107,10 +3059,10 @@ EXPORT_SYMBOL_GPL(cancel_work_sync); +@@ -3113,10 +3065,10 @@ EXPORT_SYMBOL_GPL(cancel_work_sync); */ bool flush_delayed_work(struct delayed_work *dwork) { @@ -1253,7 +1259,7 @@ return flush_work(&dwork->work); } EXPORT_SYMBOL(flush_delayed_work); -@@ -3148,7 +3100,7 @@ static bool __cancel_work(struct work_struct *work, bool is_dwork) +@@ -3154,7 +3106,7 @@ static bool __cancel_work(struct work_struct *work, bool is_dwork) return false; set_work_pool_and_clear_pending(work, get_work_pool_id(work)); @@ -1262,7 +1268,7 @@ return ret; } -@@ -3258,7 +3210,7 @@ EXPORT_SYMBOL_GPL(execute_in_process_context); +@@ -3264,7 +3216,7 @@ EXPORT_SYMBOL_GPL(execute_in_process_context); * * Undo alloc_workqueue_attrs(). */ @@ -1271,7 +1277,7 @@ { if (attrs) { free_cpumask_var(attrs->cpumask); -@@ -3268,21 +3220,20 @@ void free_workqueue_attrs(struct workqueue_attrs *attrs) +@@ -3274,21 +3226,20 @@ void free_workqueue_attrs(struct workqueue_attrs *attrs) /** * alloc_workqueue_attrs - allocate a workqueue_attrs @@ -1296,7 +1302,7 @@ goto fail; cpumask_copy(attrs->cpumask, cpu_possible_mask); -@@ -3339,7 +3290,7 @@ static bool wqattrs_equal(const struct workqueue_attrs *a, +@@ -3345,7 +3296,7 @@ static bool wqattrs_equal(const struct workqueue_attrs *a, */ static int init_worker_pool(struct worker_pool *pool) { @@ -1305,7 +1311,7 @@ pool->id = -1; pool->cpu = -1; pool->node = NUMA_NO_NODE; -@@ -3360,7 +3311,7 @@ static int init_worker_pool(struct worker_pool *pool) +@@ -3366,7 +3317,7 @@ static int init_worker_pool(struct worker_pool *pool) pool->refcnt = 1; /* shouldn't fail above this point */ @@ -1314,7 +1320,7 @@ if (!pool->attrs) return -ENOMEM; return 0; -@@ -3425,15 +3376,15 @@ static void put_unbound_pool(struct worker_pool *pool) +@@ -3431,15 +3382,15 @@ static void put_unbound_pool(struct worker_pool *pool) * @pool's workers from blocking on attach_mutex. We're the last * manager and @pool gets freed with the flag set. */ @@ -1333,7 +1339,7 @@ mutex_lock(&wq_pool_attach_mutex); if (!list_empty(&pool->workers)) -@@ -3587,7 +3538,7 @@ static void pwq_adjust_max_active(struct pool_workqueue *pwq) +@@ -3593,7 +3544,7 @@ static void pwq_adjust_max_active(struct pool_workqueue *pwq) return; /* this function can be called during early boot w/ irq disabled */ @@ -1342,7 +1348,7 @@ /* * During [un]freezing, the caller is responsible for ensuring that -@@ -3610,7 +3561,7 @@ static void pwq_adjust_max_active(struct pool_workqueue *pwq) +@@ -3616,7 +3567,7 @@ static void pwq_adjust_max_active(struct pool_workqueue *pwq) pwq->max_active = 0; } @@ -1351,7 +1357,7 @@ } /* initialize newly alloced @pwq which is associated with @wq and @pool */ -@@ -3783,8 +3734,8 @@ apply_wqattrs_prepare(struct workqueue_struct *wq, +@@ -3789,8 +3740,8 @@ apply_wqattrs_prepare(struct workqueue_struct *wq, ctx = kzalloc(struct_size(ctx, pwq_tbl, nr_node_ids), GFP_KERNEL); @@ -1362,7 +1368,7 @@ if (!ctx || !new_attrs || !tmp_attrs) goto out_free; -@@ -3920,7 +3871,7 @@ static int apply_workqueue_attrs_locked(struct workqueue_struct *wq, +@@ -3926,7 +3877,7 @@ static int apply_workqueue_attrs_locked(struct workqueue_struct *wq, * * Return: 0 on success and -errno on failure. */ @@ -1371,7 +1377,7 @@ const struct workqueue_attrs *attrs) { int ret; -@@ -3931,7 +3882,6 @@ int apply_workqueue_attrs(struct workqueue_struct *wq, +@@ -3937,7 +3888,6 @@ int apply_workqueue_attrs(struct workqueue_struct *wq, return ret; } @@ -1379,7 +1385,7 @@ /** * wq_update_unbound_numa - update NUMA affinity of a wq for CPU hot[un]plug -@@ -4009,9 +3959,9 @@ static void wq_update_unbound_numa(struct workqueue_struct *wq, int cpu, +@@ -4015,9 +3965,9 @@ static void wq_update_unbound_numa(struct workqueue_struct *wq, int cpu, use_dfl_pwq: mutex_lock(&wq->mutex); @@ -1391,7 +1397,7 @@ old_pwq = numa_pwq_tbl_install(wq, node, wq->dfl_pwq); out_unlock: mutex_unlock(&wq->mutex); -@@ -4130,7 +4080,7 @@ struct workqueue_struct *__alloc_workqueue_key(const char *fmt, +@@ -4136,7 +4086,7 @@ struct workqueue_struct *__alloc_workqueue_key(const char *fmt, return NULL; if (flags & WQ_UNBOUND) { @@ -1400,7 +1406,19 @@ if (!wq->unbound_attrs) goto err_free_wq; } -@@ -4399,10 +4349,10 @@ unsigned int work_busy(struct work_struct *work) +@@ -4223,9 +4173,9 @@ void destroy_workqueue(struct workqueue_struct *wq) + struct worker *rescuer = wq->rescuer; + + /* this prevents new queueing */ +- spin_lock_irq(&wq_mayday_lock); ++ raw_spin_lock_irq(&wq_mayday_lock); + wq->rescuer = NULL; +- spin_unlock_irq(&wq_mayday_lock); ++ raw_spin_unlock_irq(&wq_mayday_lock); + + /* rescuer will empty maydays list before exiting */ + kthread_stop(rescuer->task); +@@ -4420,10 +4370,10 @@ unsigned int work_busy(struct work_struct *work) rcu_read_lock(); pool = get_work_pool(work); if (pool) { @@ -1413,7 +1431,7 @@ } rcu_read_unlock(); -@@ -4608,10 +4558,10 @@ void show_workqueue_state(void) +@@ -4630,10 +4580,10 @@ void show_workqueue_state(void) pr_info("workqueue %s: flags=0x%x\n", wq->name, wq->flags); for_each_pwq(pwq, wq) { @@ -1426,7 +1444,7 @@ /* * We could be printing a lot from atomic context, e.g. * sysrq-t -> show_workqueue_state(). Avoid triggering -@@ -4625,7 +4575,7 @@ void show_workqueue_state(void) +@@ -4647,7 +4597,7 @@ void show_workqueue_state(void) struct worker *worker; bool first = true; @@ -1435,7 +1453,7 @@ if (pool->nr_workers == pool->nr_idle) goto next_pool; -@@ -4644,7 +4594,7 @@ void show_workqueue_state(void) +@@ -4666,7 +4616,7 @@ void show_workqueue_state(void) } pr_cont("\n"); next_pool: @@ -1444,7 +1462,7 @@ /* * We could be printing a lot from atomic context, e.g. * sysrq-t -> show_workqueue_state(). Avoid triggering -@@ -4674,7 +4624,7 @@ void wq_worker_comm(char *buf, size_t size, struct task_struct *task) +@@ -4696,7 +4646,7 @@ void wq_worker_comm(char *buf, size_t size, struct task_struct *task) struct worker_pool *pool = worker->pool; if (pool) { @@ -1453,7 +1471,7 @@ /* * ->desc tracks information (wq name or * set_worker_desc()) for the latest execution. If -@@ -4688,7 +4638,7 @@ void wq_worker_comm(char *buf, size_t size, struct task_struct *task) +@@ -4710,7 +4660,7 @@ void wq_worker_comm(char *buf, size_t size, struct task_struct *task) scnprintf(buf + off, size - off, "-%s", worker->desc); } @@ -1462,7 +1480,7 @@ } } -@@ -4719,7 +4669,7 @@ static void unbind_workers(int cpu) +@@ -4741,7 +4691,7 @@ static void unbind_workers(int cpu) for_each_cpu_worker_pool(pool, cpu) { mutex_lock(&wq_pool_attach_mutex); @@ -1471,7 +1489,7 @@ /* * We've blocked all attach/detach operations. Make all workers -@@ -4733,7 +4683,7 @@ static void unbind_workers(int cpu) +@@ -4755,7 +4705,7 @@ static void unbind_workers(int cpu) pool->flags |= POOL_DISASSOCIATED; @@ -1480,7 +1498,7 @@ mutex_unlock(&wq_pool_attach_mutex); /* -@@ -4759,9 +4709,9 @@ static void unbind_workers(int cpu) +@@ -4781,9 +4731,9 @@ static void unbind_workers(int cpu) * worker blocking could lead to lengthy stalls. Kick off * unbound chain execution of currently pending work items. */ @@ -1492,7 +1510,7 @@ } } -@@ -4788,7 +4738,7 @@ static void rebind_workers(struct worker_pool *pool) +@@ -4810,7 +4760,7 @@ static void rebind_workers(struct worker_pool *pool) WARN_ON_ONCE(set_cpus_allowed_ptr(worker->task, pool->attrs->cpumask) < 0); @@ -1501,7 +1519,7 @@ pool->flags &= ~POOL_DISASSOCIATED; -@@ -4827,7 +4777,7 @@ static void rebind_workers(struct worker_pool *pool) +@@ -4849,7 +4799,7 @@ static void rebind_workers(struct worker_pool *pool) WRITE_ONCE(worker->flags, worker_flags); } @@ -1510,7 +1528,7 @@ } /** -@@ -5279,7 +5229,7 @@ static struct workqueue_attrs *wq_sysfs_prep_attrs(struct workqueue_struct *wq) +@@ -5301,7 +5251,7 @@ static struct workqueue_attrs *wq_sysfs_prep_attrs(struct workqueue_struct *wq) lockdep_assert_held(&wq_pool_mutex); @@ -1519,7 +1537,7 @@ if (!attrs) return NULL; -@@ -5701,7 +5651,7 @@ static void __init wq_numa_init(void) +@@ -5723,7 +5673,7 @@ static void __init wq_numa_init(void) return; } @@ -1528,7 +1546,7 @@ BUG_ON(!wq_update_unbound_numa_attrs_buf); /* -@@ -5776,7 +5726,7 @@ int __init workqueue_init_early(void) +@@ -5798,7 +5748,7 @@ int __init workqueue_init_early(void) for (i = 0; i < NR_STD_WORKER_POOLS; i++) { struct workqueue_attrs *attrs; @@ -1537,7 +1555,7 @@ attrs->nice = std_nice[i]; unbound_std_wq_attrs[i] = attrs; -@@ -5785,7 +5735,7 @@ int __init workqueue_init_early(void) +@@ -5807,7 +5757,7 @@ int __init workqueue_init_early(void) * guaranteed by max_active which is enforced by pwqs. * Turn off NUMA so that dfl_pwq is used for all nodes. */ @@ -1546,3 +1564,6 @@ attrs->nice = std_nice[i]; attrs->no_numa = true; ordered_wq_attrs[i] = attrs; +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/0290-Linux-4.19.82-rt30-REBASE.patch linux-4.19.98/debian/patches-rt/0290-Linux-4.19.82-rt30-REBASE.patch --- linux-4.19.87/debian/patches-rt/0290-Linux-4.19.82-rt30-REBASE.patch 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0290-Linux-4.19.82-rt30-REBASE.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -From: Steven Rostedt -Date: Mon, 14 Oct 2019 13:24:30 -0400 -Subject: [PATCH 290/290] Linux 4.19.82-rt30 REBASE -Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=968a307194d9b66f841f0728ad8dd4d197bd5c92 - ---- - localversion-rt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/localversion-rt b/localversion-rt -index 1199ebade17b..b72862e06be4 100644 ---- a/localversion-rt -+++ b/localversion-rt -@@ -1 +1 @@ ---rt16 -+-rt30 diff -Nru linux-4.19.87/debian/patches-rt/0290-Linux-4.19.94-rt38-REBASE.patch linux-4.19.98/debian/patches-rt/0290-Linux-4.19.94-rt38-REBASE.patch --- linux-4.19.87/debian/patches-rt/0290-Linux-4.19.94-rt38-REBASE.patch 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/0290-Linux-4.19.94-rt38-REBASE.patch 2020-01-26 13:26:49.000000000 +0000 @@ -0,0 +1,20 @@ +From dee368fe90e9506b8a4c9948fb611fb77dda153f Mon Sep 17 00:00:00 2001 +From: Steven Rostedt +Date: Mon, 14 Oct 2019 13:24:30 -0400 +Subject: [PATCH 290/290] Linux 4.19.94-rt38 REBASE +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.94-rt38.tar.xz + +--- + localversion-rt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/localversion-rt b/localversion-rt +index 1199ebade17b..49bae8d6aa67 100644 +--- a/localversion-rt ++++ b/localversion-rt +@@ -1 +1 @@ +--rt16 ++-rt38 +-- +2.24.1 + diff -Nru linux-4.19.87/debian/patches-rt/series linux-4.19.98/debian/patches-rt/series --- linux-4.19.87/debian/patches-rt/series 2019-11-30 12:53:12.000000000 +0000 +++ linux-4.19.98/debian/patches-rt/series 2020-01-26 13:26:49.000000000 +0000 @@ -287,4 +287,4 @@ 0287-revert-block.patch 0288-block-blk-mq-move-blk_queue_usage_counter_release-in.patch 0289-workqueue-rework.patch -0290-Linux-4.19.82-rt30-REBASE.patch +0290-Linux-4.19.94-rt38-REBASE.patch diff -Nru linux-4.19.87/debian/rules.gen linux-4.19.98/debian/rules.gen --- linux-4.19.87/debian/rules.gen 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/rules.gen 2020-01-26 20:01:13.000000000 +0000 @@ -2,725 +2,725 @@ 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_powerpcspe 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='4.19.0-7' ARCH='alpha' KERNEL_ARCH='alpha' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-alpha-generic-di nic-modules-4.19.0-7-alpha-generic-di nic-wireless-modules-4.19.0-7-alpha-generic-di nic-shared-modules-4.19.0-7-alpha-generic-di serial-modules-4.19.0-7-alpha-generic-di usb-serial-modules-4.19.0-7-alpha-generic-di ppp-modules-4.19.0-7-alpha-generic-di pata-modules-4.19.0-7-alpha-generic-di cdrom-core-modules-4.19.0-7-alpha-generic-di scsi-core-modules-4.19.0-7-alpha-generic-di scsi-modules-4.19.0-7-alpha-generic-di scsi-nic-modules-4.19.0-7-alpha-generic-di loop-modules-4.19.0-7-alpha-generic-di btrfs-modules-4.19.0-7-alpha-generic-di ext4-modules-4.19.0-7-alpha-generic-di isofs-modules-4.19.0-7-alpha-generic-di jfs-modules-4.19.0-7-alpha-generic-di xfs-modules-4.19.0-7-alpha-generic-di fat-modules-4.19.0-7-alpha-generic-di md-modules-4.19.0-7-alpha-generic-di multipath-modules-4.19.0-7-alpha-generic-di usb-modules-4.19.0-7-alpha-generic-di usb-storage-modules-4.19.0-7-alpha-generic-di fb-modules-4.19.0-7-alpha-generic-di input-modules-4.19.0-7-alpha-generic-di event-modules-4.19.0-7-alpha-generic-di mouse-modules-4.19.0-7-alpha-generic-di nic-pcmcia-modules-4.19.0-7-alpha-generic-di pcmcia-modules-4.19.0-7-alpha-generic-di nic-usb-modules-4.19.0-7-alpha-generic-di sata-modules-4.19.0-7-alpha-generic-di i2c-modules-4.19.0-7-alpha-generic-di crc-modules-4.19.0-7-alpha-generic-di crypto-modules-4.19.0-7-alpha-generic-di crypto-dm-modules-4.19.0-7-alpha-generic-di ata-modules-4.19.0-7-alpha-generic-di nbd-modules-4.19.0-7-alpha-generic-di squashfs-modules-4.19.0-7-alpha-generic-di zlib-modules-4.19.0-7-alpha-generic-di compress-modules-4.19.0-7-alpha-generic-di fuse-modules-4.19.0-7-alpha-generic-di srm-modules-4.19.0-7-alpha-generic-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_alpha ABINAME='4.19.0-8' ARCH='alpha' KERNEL_ARCH='alpha' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-alpha-generic-di nic-modules-4.19.0-8-alpha-generic-di nic-wireless-modules-4.19.0-8-alpha-generic-di nic-shared-modules-4.19.0-8-alpha-generic-di serial-modules-4.19.0-8-alpha-generic-di usb-serial-modules-4.19.0-8-alpha-generic-di ppp-modules-4.19.0-8-alpha-generic-di pata-modules-4.19.0-8-alpha-generic-di cdrom-core-modules-4.19.0-8-alpha-generic-di scsi-core-modules-4.19.0-8-alpha-generic-di scsi-modules-4.19.0-8-alpha-generic-di scsi-nic-modules-4.19.0-8-alpha-generic-di loop-modules-4.19.0-8-alpha-generic-di btrfs-modules-4.19.0-8-alpha-generic-di ext4-modules-4.19.0-8-alpha-generic-di isofs-modules-4.19.0-8-alpha-generic-di jfs-modules-4.19.0-8-alpha-generic-di xfs-modules-4.19.0-8-alpha-generic-di fat-modules-4.19.0-8-alpha-generic-di md-modules-4.19.0-8-alpha-generic-di multipath-modules-4.19.0-8-alpha-generic-di usb-modules-4.19.0-8-alpha-generic-di usb-storage-modules-4.19.0-8-alpha-generic-di fb-modules-4.19.0-8-alpha-generic-di input-modules-4.19.0-8-alpha-generic-di event-modules-4.19.0-8-alpha-generic-di mouse-modules-4.19.0-8-alpha-generic-di nic-pcmcia-modules-4.19.0-8-alpha-generic-di pcmcia-modules-4.19.0-8-alpha-generic-di nic-usb-modules-4.19.0-8-alpha-generic-di sata-modules-4.19.0-8-alpha-generic-di i2c-modules-4.19.0-8-alpha-generic-di crc-modules-4.19.0-8-alpha-generic-di crypto-modules-4.19.0-8-alpha-generic-di crypto-dm-modules-4.19.0-8-alpha-generic-di ata-modules-4.19.0-8-alpha-generic-di nbd-modules-4.19.0-8-alpha-generic-di squashfs-modules-4.19.0-8-alpha-generic-di zlib-modules-4.19.0-8-alpha-generic-di compress-modules-4.19.0-8-alpha-generic-di fuse-modules-4.19.0-8-alpha-generic-di srm-modules-4.19.0-8-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='4.19.0-7' ARCH='alpha' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-generic' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-alpha-generic\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-generic' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-generic' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='alpha' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-generic' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-alpha-generic\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-generic' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-generic' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='alpha' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-smp' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-alpha-smp\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-smp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='alpha' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-smp' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-alpha-smp\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-smp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_alpha_none_real: binary-arch_alpha_real:: setup_alpha binary-arch_alpha_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='alpha' KERNEL_ARCH='alpha' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='alpha' KERNEL_ARCH='alpha' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='amd64' KERNEL_ARCH='x86' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-amd64-di nic-modules-4.19.0-7-amd64-di nic-wireless-modules-4.19.0-7-amd64-di nic-shared-modules-4.19.0-7-amd64-di serial-modules-4.19.0-7-amd64-di usb-serial-modules-4.19.0-7-amd64-di ppp-modules-4.19.0-7-amd64-di pata-modules-4.19.0-7-amd64-di cdrom-core-modules-4.19.0-7-amd64-di firewire-core-modules-4.19.0-7-amd64-di scsi-core-modules-4.19.0-7-amd64-di scsi-modules-4.19.0-7-amd64-di scsi-nic-modules-4.19.0-7-amd64-di loop-modules-4.19.0-7-amd64-di btrfs-modules-4.19.0-7-amd64-di ext4-modules-4.19.0-7-amd64-di isofs-modules-4.19.0-7-amd64-di jfs-modules-4.19.0-7-amd64-di xfs-modules-4.19.0-7-amd64-di fat-modules-4.19.0-7-amd64-di md-modules-4.19.0-7-amd64-di multipath-modules-4.19.0-7-amd64-di usb-modules-4.19.0-7-amd64-di usb-storage-modules-4.19.0-7-amd64-di pcmcia-storage-modules-4.19.0-7-amd64-di fb-modules-4.19.0-7-amd64-di input-modules-4.19.0-7-amd64-di event-modules-4.19.0-7-amd64-di mouse-modules-4.19.0-7-amd64-di nic-pcmcia-modules-4.19.0-7-amd64-di pcmcia-modules-4.19.0-7-amd64-di nic-usb-modules-4.19.0-7-amd64-di sata-modules-4.19.0-7-amd64-di acpi-modules-4.19.0-7-amd64-di i2c-modules-4.19.0-7-amd64-di crc-modules-4.19.0-7-amd64-di crypto-modules-4.19.0-7-amd64-di crypto-dm-modules-4.19.0-7-amd64-di efi-modules-4.19.0-7-amd64-di ata-modules-4.19.0-7-amd64-di mmc-core-modules-4.19.0-7-amd64-di mmc-modules-4.19.0-7-amd64-di nbd-modules-4.19.0-7-amd64-di squashfs-modules-4.19.0-7-amd64-di speakup-modules-4.19.0-7-amd64-di uinput-modules-4.19.0-7-amd64-di sound-modules-4.19.0-7-amd64-di compress-modules-4.19.0-7-amd64-di udf-modules-4.19.0-7-amd64-di fuse-modules-4.19.0-7-amd64-di mtd-core-modules-4.19.0-7-amd64-di' UDEB_UNSIGNED_TEST_BUILD=True + $(MAKE) -f debian/rules.real install-udeb_amd64 ABINAME='4.19.0-8' ARCH='amd64' KERNEL_ARCH='x86' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-amd64-di nic-modules-4.19.0-8-amd64-di nic-wireless-modules-4.19.0-8-amd64-di nic-shared-modules-4.19.0-8-amd64-di serial-modules-4.19.0-8-amd64-di usb-serial-modules-4.19.0-8-amd64-di ppp-modules-4.19.0-8-amd64-di pata-modules-4.19.0-8-amd64-di cdrom-core-modules-4.19.0-8-amd64-di firewire-core-modules-4.19.0-8-amd64-di scsi-core-modules-4.19.0-8-amd64-di scsi-modules-4.19.0-8-amd64-di scsi-nic-modules-4.19.0-8-amd64-di loop-modules-4.19.0-8-amd64-di btrfs-modules-4.19.0-8-amd64-di ext4-modules-4.19.0-8-amd64-di isofs-modules-4.19.0-8-amd64-di jfs-modules-4.19.0-8-amd64-di xfs-modules-4.19.0-8-amd64-di fat-modules-4.19.0-8-amd64-di md-modules-4.19.0-8-amd64-di multipath-modules-4.19.0-8-amd64-di usb-modules-4.19.0-8-amd64-di usb-storage-modules-4.19.0-8-amd64-di pcmcia-storage-modules-4.19.0-8-amd64-di fb-modules-4.19.0-8-amd64-di input-modules-4.19.0-8-amd64-di event-modules-4.19.0-8-amd64-di mouse-modules-4.19.0-8-amd64-di nic-pcmcia-modules-4.19.0-8-amd64-di pcmcia-modules-4.19.0-8-amd64-di nic-usb-modules-4.19.0-8-amd64-di sata-modules-4.19.0-8-amd64-di acpi-modules-4.19.0-8-amd64-di i2c-modules-4.19.0-8-amd64-di crc-modules-4.19.0-8-amd64-di crypto-modules-4.19.0-8-amd64-di crypto-dm-modules-4.19.0-8-amd64-di efi-modules-4.19.0-8-amd64-di ata-modules-4.19.0-8-amd64-di mmc-core-modules-4.19.0-8-amd64-di mmc-modules-4.19.0-8-amd64-di nbd-modules-4.19.0-8-amd64-di squashfs-modules-4.19.0-8-amd64-di speakup-modules-4.19.0-8-amd64-di uinput-modules-4.19.0-8-amd64-di sound-modules-4.19.0-8-amd64-di compress-modules-4.19.0-8-amd64-di udf-modules-4.19.0-8-amd64-di fuse-modules-4.19.0-8-amd64-di mtd-core-modules-4.19.0-8-amd64-di' UDEB_UNSIGNED_TEST_BUILD=True binary-arch_amd64:: - $(MAKE) -f debian/rules.real install-signed-template_amd64 ABINAME='4.19.0-7' ARCH='amd64' KERNEL_ARCH='x86' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real install-signed-template_amd64 ABINAME='4.19.0-8' ARCH='amd64' KERNEL_ARCH='x86' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_amd64_extra:: $(MAKE) -f debian/rules.real install-dummy ARCH='amd64' DH_OPTIONS='-plinux-compiler-gcc-8-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='4.19.0-7' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-amd64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-amd64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' 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='4.19.0-7' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-cloud-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/amd64/config.cloud-amd64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-cloud-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-cloud-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-amd64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-cloud-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/amd64/config.cloud-amd64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-cloud-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-cloud-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-amd64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' binary-arch_amd64_none_real: binary-arch_amd64_real:: setup_amd64 binary-arch_amd64_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='amd64' KERNEL_ARCH='x86' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='amd64' KERNEL_ARCH='x86' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-rt-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-amd64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-amd64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-rt-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-amd64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-amd64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' 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='4.19.0-7' ARCH='arm64' KERNEL_ARCH='arm64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-arm64-di nic-modules-4.19.0-7-arm64-di nic-wireless-modules-4.19.0-7-arm64-di nic-shared-modules-4.19.0-7-arm64-di usb-serial-modules-4.19.0-7-arm64-di ppp-modules-4.19.0-7-arm64-di cdrom-core-modules-4.19.0-7-arm64-di scsi-core-modules-4.19.0-7-arm64-di scsi-modules-4.19.0-7-arm64-di scsi-nic-modules-4.19.0-7-arm64-di loop-modules-4.19.0-7-arm64-di btrfs-modules-4.19.0-7-arm64-di ext4-modules-4.19.0-7-arm64-di isofs-modules-4.19.0-7-arm64-di jfs-modules-4.19.0-7-arm64-di xfs-modules-4.19.0-7-arm64-di fat-modules-4.19.0-7-arm64-di md-modules-4.19.0-7-arm64-di multipath-modules-4.19.0-7-arm64-di usb-modules-4.19.0-7-arm64-di usb-storage-modules-4.19.0-7-arm64-di fb-modules-4.19.0-7-arm64-di input-modules-4.19.0-7-arm64-di event-modules-4.19.0-7-arm64-di nic-usb-modules-4.19.0-7-arm64-di sata-modules-4.19.0-7-arm64-di i2c-modules-4.19.0-7-arm64-di crc-modules-4.19.0-7-arm64-di crypto-modules-4.19.0-7-arm64-di crypto-dm-modules-4.19.0-7-arm64-di efi-modules-4.19.0-7-arm64-di ata-modules-4.19.0-7-arm64-di mmc-modules-4.19.0-7-arm64-di nbd-modules-4.19.0-7-arm64-di squashfs-modules-4.19.0-7-arm64-di uinput-modules-4.19.0-7-arm64-di compress-modules-4.19.0-7-arm64-di leds-modules-4.19.0-7-arm64-di udf-modules-4.19.0-7-arm64-di fuse-modules-4.19.0-7-arm64-di mtd-core-modules-4.19.0-7-arm64-di' UDEB_UNSIGNED_TEST_BUILD=True + $(MAKE) -f debian/rules.real install-udeb_arm64 ABINAME='4.19.0-8' ARCH='arm64' KERNEL_ARCH='arm64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-arm64-di nic-modules-4.19.0-8-arm64-di nic-wireless-modules-4.19.0-8-arm64-di nic-shared-modules-4.19.0-8-arm64-di usb-serial-modules-4.19.0-8-arm64-di ppp-modules-4.19.0-8-arm64-di cdrom-core-modules-4.19.0-8-arm64-di scsi-core-modules-4.19.0-8-arm64-di scsi-modules-4.19.0-8-arm64-di scsi-nic-modules-4.19.0-8-arm64-di loop-modules-4.19.0-8-arm64-di btrfs-modules-4.19.0-8-arm64-di ext4-modules-4.19.0-8-arm64-di isofs-modules-4.19.0-8-arm64-di jfs-modules-4.19.0-8-arm64-di xfs-modules-4.19.0-8-arm64-di fat-modules-4.19.0-8-arm64-di md-modules-4.19.0-8-arm64-di multipath-modules-4.19.0-8-arm64-di usb-modules-4.19.0-8-arm64-di usb-storage-modules-4.19.0-8-arm64-di fb-modules-4.19.0-8-arm64-di input-modules-4.19.0-8-arm64-di event-modules-4.19.0-8-arm64-di nic-usb-modules-4.19.0-8-arm64-di sata-modules-4.19.0-8-arm64-di i2c-modules-4.19.0-8-arm64-di crc-modules-4.19.0-8-arm64-di crypto-modules-4.19.0-8-arm64-di crypto-dm-modules-4.19.0-8-arm64-di efi-modules-4.19.0-8-arm64-di ata-modules-4.19.0-8-arm64-di mmc-modules-4.19.0-8-arm64-di nbd-modules-4.19.0-8-arm64-di squashfs-modules-4.19.0-8-arm64-di uinput-modules-4.19.0-8-arm64-di compress-modules-4.19.0-8-arm64-di leds-modules-4.19.0-8-arm64-di udf-modules-4.19.0-8-arm64-di fuse-modules-4.19.0-8-arm64-di mtd-core-modules-4.19.0-8-arm64-di' UDEB_UNSIGNED_TEST_BUILD=True binary-arch_arm64:: - $(MAKE) -f debian/rules.real install-signed-template_arm64 ABINAME='4.19.0-7' ARCH='arm64' KERNEL_ARCH='arm64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real install-signed-template_arm64 ABINAME='4.19.0-8' ARCH='arm64' KERNEL_ARCH='arm64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_arm64_none: binary-arch_arm64_none_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='4.19.0-7' ARCH='arm64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-arm64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='arm64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-arm64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' binary-arch_arm64_none_real: binary-arch_arm64_real:: setup_arm64 binary-arch_arm64_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='arm64' KERNEL_ARCH='arm64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='arm64' KERNEL_ARCH='arm64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='arm64' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-rt-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-rt-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-rt-arm64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-arm64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='arm64' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-rt-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-rt-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-rt-arm64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-arm64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' 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='4.19.0-7' ARCH='arm64ilp32' KERNEL_ARCH='arm64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='arm64ilp32' KERNEL_ARCH='arm64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='armel' KERNEL_ARCH='arm' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-marvell-di nic-modules-4.19.0-7-marvell-di nic-shared-modules-4.19.0-7-marvell-di usb-serial-modules-4.19.0-7-marvell-di ppp-modules-4.19.0-7-marvell-di cdrom-core-modules-4.19.0-7-marvell-di scsi-core-modules-4.19.0-7-marvell-di loop-modules-4.19.0-7-marvell-di ipv6-modules-4.19.0-7-marvell-di btrfs-modules-4.19.0-7-marvell-di ext4-modules-4.19.0-7-marvell-di isofs-modules-4.19.0-7-marvell-di jffs2-modules-4.19.0-7-marvell-di jfs-modules-4.19.0-7-marvell-di fat-modules-4.19.0-7-marvell-di minix-modules-4.19.0-7-marvell-di md-modules-4.19.0-7-marvell-di multipath-modules-4.19.0-7-marvell-di usb-modules-4.19.0-7-marvell-di usb-storage-modules-4.19.0-7-marvell-di fb-modules-4.19.0-7-marvell-di input-modules-4.19.0-7-marvell-di event-modules-4.19.0-7-marvell-di mouse-modules-4.19.0-7-marvell-di nic-usb-modules-4.19.0-7-marvell-di sata-modules-4.19.0-7-marvell-di crc-modules-4.19.0-7-marvell-di crypto-modules-4.19.0-7-marvell-di crypto-dm-modules-4.19.0-7-marvell-di mmc-core-modules-4.19.0-7-marvell-di mmc-modules-4.19.0-7-marvell-di nbd-modules-4.19.0-7-marvell-di squashfs-modules-4.19.0-7-marvell-di uinput-modules-4.19.0-7-marvell-di zlib-modules-4.19.0-7-marvell-di compress-modules-4.19.0-7-marvell-di leds-modules-4.19.0-7-marvell-di udf-modules-4.19.0-7-marvell-di fuse-modules-4.19.0-7-marvell-di mtd-modules-4.19.0-7-marvell-di mtd-core-modules-4.19.0-7-marvell-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_armel ABINAME='4.19.0-8' ARCH='armel' KERNEL_ARCH='arm' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-marvell-di nic-modules-4.19.0-8-marvell-di nic-shared-modules-4.19.0-8-marvell-di usb-serial-modules-4.19.0-8-marvell-di ppp-modules-4.19.0-8-marvell-di cdrom-core-modules-4.19.0-8-marvell-di scsi-core-modules-4.19.0-8-marvell-di loop-modules-4.19.0-8-marvell-di ipv6-modules-4.19.0-8-marvell-di btrfs-modules-4.19.0-8-marvell-di ext4-modules-4.19.0-8-marvell-di isofs-modules-4.19.0-8-marvell-di jffs2-modules-4.19.0-8-marvell-di jfs-modules-4.19.0-8-marvell-di fat-modules-4.19.0-8-marvell-di minix-modules-4.19.0-8-marvell-di md-modules-4.19.0-8-marvell-di multipath-modules-4.19.0-8-marvell-di usb-modules-4.19.0-8-marvell-di usb-storage-modules-4.19.0-8-marvell-di fb-modules-4.19.0-8-marvell-di input-modules-4.19.0-8-marvell-di event-modules-4.19.0-8-marvell-di mouse-modules-4.19.0-8-marvell-di nic-usb-modules-4.19.0-8-marvell-di sata-modules-4.19.0-8-marvell-di crc-modules-4.19.0-8-marvell-di crypto-modules-4.19.0-8-marvell-di crypto-dm-modules-4.19.0-8-marvell-di mmc-core-modules-4.19.0-8-marvell-di mmc-modules-4.19.0-8-marvell-di nbd-modules-4.19.0-8-marvell-di squashfs-modules-4.19.0-8-marvell-di uinput-modules-4.19.0-8-marvell-di zlib-modules-4.19.0-8-marvell-di compress-modules-4.19.0-8-marvell-di leds-modules-4.19.0-8-marvell-di udf-modules-4.19.0-8-marvell-di fuse-modules-4.19.0-8-marvell-di mtd-modules-4.19.0-8-marvell-di mtd-core-modules-4.19.0-8-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-8-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='4.19.0-7' ARCH='armel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='marvell' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-marvell\""' KERNEL_ARCH='arm' LOCALVERSION='-marvell' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-marvell' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='armel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='marvell' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-marvell\""' KERNEL_ARCH='arm' LOCALVERSION='-marvell' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-marvell' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='armel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='rpi' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-rpi\""' KERNEL_ARCH='arm' LOCALVERSION='-rpi' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-rpi' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='armel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='rpi' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-rpi\""' KERNEL_ARCH='arm' LOCALVERSION='-rpi' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-rpi' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_armel_real:: setup_armel binary-arch_armel_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='armel' KERNEL_ARCH='arm' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='armel' KERNEL_ARCH='arm' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='armhf' KERNEL_ARCH='arm' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-armmp-di nic-modules-4.19.0-7-armmp-di nic-wireless-modules-4.19.0-7-armmp-di nic-shared-modules-4.19.0-7-armmp-di usb-serial-modules-4.19.0-7-armmp-di ppp-modules-4.19.0-7-armmp-di pata-modules-4.19.0-7-armmp-di cdrom-core-modules-4.19.0-7-armmp-di scsi-core-modules-4.19.0-7-armmp-di scsi-modules-4.19.0-7-armmp-di scsi-nic-modules-4.19.0-7-armmp-di loop-modules-4.19.0-7-armmp-di btrfs-modules-4.19.0-7-armmp-di ext4-modules-4.19.0-7-armmp-di isofs-modules-4.19.0-7-armmp-di jfs-modules-4.19.0-7-armmp-di fat-modules-4.19.0-7-armmp-di md-modules-4.19.0-7-armmp-di multipath-modules-4.19.0-7-armmp-di usb-modules-4.19.0-7-armmp-di usb-storage-modules-4.19.0-7-armmp-di fb-modules-4.19.0-7-armmp-di input-modules-4.19.0-7-armmp-di event-modules-4.19.0-7-armmp-di nic-usb-modules-4.19.0-7-armmp-di sata-modules-4.19.0-7-armmp-di i2c-modules-4.19.0-7-armmp-di crc-modules-4.19.0-7-armmp-di crypto-modules-4.19.0-7-armmp-di crypto-dm-modules-4.19.0-7-armmp-di efi-modules-4.19.0-7-armmp-di ata-modules-4.19.0-7-armmp-di mmc-modules-4.19.0-7-armmp-di nbd-modules-4.19.0-7-armmp-di squashfs-modules-4.19.0-7-armmp-di uinput-modules-4.19.0-7-armmp-di zlib-modules-4.19.0-7-armmp-di compress-modules-4.19.0-7-armmp-di leds-modules-4.19.0-7-armmp-di udf-modules-4.19.0-7-armmp-di fuse-modules-4.19.0-7-armmp-di mtd-modules-4.19.0-7-armmp-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_armhf ABINAME='4.19.0-8' ARCH='armhf' KERNEL_ARCH='arm' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-armmp-di nic-modules-4.19.0-8-armmp-di nic-wireless-modules-4.19.0-8-armmp-di nic-shared-modules-4.19.0-8-armmp-di usb-serial-modules-4.19.0-8-armmp-di ppp-modules-4.19.0-8-armmp-di pata-modules-4.19.0-8-armmp-di cdrom-core-modules-4.19.0-8-armmp-di scsi-core-modules-4.19.0-8-armmp-di scsi-modules-4.19.0-8-armmp-di scsi-nic-modules-4.19.0-8-armmp-di loop-modules-4.19.0-8-armmp-di btrfs-modules-4.19.0-8-armmp-di ext4-modules-4.19.0-8-armmp-di isofs-modules-4.19.0-8-armmp-di jfs-modules-4.19.0-8-armmp-di fat-modules-4.19.0-8-armmp-di md-modules-4.19.0-8-armmp-di multipath-modules-4.19.0-8-armmp-di usb-modules-4.19.0-8-armmp-di usb-storage-modules-4.19.0-8-armmp-di fb-modules-4.19.0-8-armmp-di input-modules-4.19.0-8-armmp-di event-modules-4.19.0-8-armmp-di nic-usb-modules-4.19.0-8-armmp-di sata-modules-4.19.0-8-armmp-di i2c-modules-4.19.0-8-armmp-di crc-modules-4.19.0-8-armmp-di crypto-modules-4.19.0-8-armmp-di crypto-dm-modules-4.19.0-8-armmp-di efi-modules-4.19.0-8-armmp-di ata-modules-4.19.0-8-armmp-di mmc-modules-4.19.0-8-armmp-di nbd-modules-4.19.0-8-armmp-di squashfs-modules-4.19.0-8-armmp-di uinput-modules-4.19.0-8-armmp-di zlib-modules-4.19.0-8-armmp-di compress-modules-4.19.0-8-armmp-di leds-modules-4.19.0-8-armmp-di udf-modules-4.19.0-8-armmp-di fuse-modules-4.19.0-8-armmp-di mtd-modules-4.19.0-8-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-8-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='4.19.0-7' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='armmp-lpae' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-armmp-lpae\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp-lpae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp-lpae' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='armmp-lpae' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-armmp-lpae\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp-lpae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp-lpae' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' binary-arch_armhf_none_armmp_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-7' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' binary-arch_armhf_none_real: binary-arch_armhf_real:: setup_armhf binary-arch_armhf_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='armhf' KERNEL_ARCH='arm' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='armhf' KERNEL_ARCH='arm' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-rt-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-rt-armmp' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-armmp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-rt-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-rt-armmp' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-armmp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' binary-arch_armhf_rt_real: binary-arch_hppa:: binary-arch_hppa_none binary-arch_hppa_real binary-arch_hppa:: - $(MAKE) -f debian/rules.real install-udeb_hppa ABINAME='4.19.0-7' ARCH='hppa' KERNEL_ARCH='parisc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-parisc-di nic-modules-4.19.0-7-parisc-di nic-shared-modules-4.19.0-7-parisc-di serial-modules-4.19.0-7-parisc-di usb-serial-modules-4.19.0-7-parisc-di ppp-modules-4.19.0-7-parisc-di pata-modules-4.19.0-7-parisc-di cdrom-core-modules-4.19.0-7-parisc-di scsi-core-modules-4.19.0-7-parisc-di scsi-modules-4.19.0-7-parisc-di loop-modules-4.19.0-7-parisc-di btrfs-modules-4.19.0-7-parisc-di ext4-modules-4.19.0-7-parisc-di isofs-modules-4.19.0-7-parisc-di jfs-modules-4.19.0-7-parisc-di xfs-modules-4.19.0-7-parisc-di fat-modules-4.19.0-7-parisc-di md-modules-4.19.0-7-parisc-di multipath-modules-4.19.0-7-parisc-di usb-modules-4.19.0-7-parisc-di usb-storage-modules-4.19.0-7-parisc-di input-modules-4.19.0-7-parisc-di event-modules-4.19.0-7-parisc-di mouse-modules-4.19.0-7-parisc-di nic-usb-modules-4.19.0-7-parisc-di sata-modules-4.19.0-7-parisc-di crc-modules-4.19.0-7-parisc-di crypto-modules-4.19.0-7-parisc-di crypto-dm-modules-4.19.0-7-parisc-di ata-modules-4.19.0-7-parisc-di nbd-modules-4.19.0-7-parisc-di squashfs-modules-4.19.0-7-parisc-di zlib-modules-4.19.0-7-parisc-di compress-modules-4.19.0-7-parisc-di fuse-modules-4.19.0-7-parisc-di kernel-image-4.19.0-7-parisc64-smp-di nic-modules-4.19.0-7-parisc64-smp-di nic-shared-modules-4.19.0-7-parisc64-smp-di serial-modules-4.19.0-7-parisc64-smp-di usb-serial-modules-4.19.0-7-parisc64-smp-di ppp-modules-4.19.0-7-parisc64-smp-di pata-modules-4.19.0-7-parisc64-smp-di cdrom-core-modules-4.19.0-7-parisc64-smp-di scsi-core-modules-4.19.0-7-parisc64-smp-di scsi-modules-4.19.0-7-parisc64-smp-di loop-modules-4.19.0-7-parisc64-smp-di btrfs-modules-4.19.0-7-parisc64-smp-di ext4-modules-4.19.0-7-parisc64-smp-di isofs-modules-4.19.0-7-parisc64-smp-di jfs-modules-4.19.0-7-parisc64-smp-di xfs-modules-4.19.0-7-parisc64-smp-di fat-modules-4.19.0-7-parisc64-smp-di md-modules-4.19.0-7-parisc64-smp-di multipath-modules-4.19.0-7-parisc64-smp-di usb-modules-4.19.0-7-parisc64-smp-di usb-storage-modules-4.19.0-7-parisc64-smp-di fb-modules-4.19.0-7-parisc64-smp-di input-modules-4.19.0-7-parisc64-smp-di event-modules-4.19.0-7-parisc64-smp-di mouse-modules-4.19.0-7-parisc64-smp-di nic-usb-modules-4.19.0-7-parisc64-smp-di sata-modules-4.19.0-7-parisc64-smp-di crc-modules-4.19.0-7-parisc64-smp-di crypto-modules-4.19.0-7-parisc64-smp-di crypto-dm-modules-4.19.0-7-parisc64-smp-di ata-modules-4.19.0-7-parisc64-smp-di nbd-modules-4.19.0-7-parisc64-smp-di squashfs-modules-4.19.0-7-parisc64-smp-di zlib-modules-4.19.0-7-parisc64-smp-di compress-modules-4.19.0-7-parisc64-smp-di fuse-modules-4.19.0-7-parisc64-smp-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_hppa ABINAME='4.19.0-8' ARCH='hppa' KERNEL_ARCH='parisc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-parisc-di nic-modules-4.19.0-8-parisc-di nic-shared-modules-4.19.0-8-parisc-di serial-modules-4.19.0-8-parisc-di usb-serial-modules-4.19.0-8-parisc-di ppp-modules-4.19.0-8-parisc-di pata-modules-4.19.0-8-parisc-di cdrom-core-modules-4.19.0-8-parisc-di scsi-core-modules-4.19.0-8-parisc-di scsi-modules-4.19.0-8-parisc-di loop-modules-4.19.0-8-parisc-di btrfs-modules-4.19.0-8-parisc-di ext4-modules-4.19.0-8-parisc-di isofs-modules-4.19.0-8-parisc-di jfs-modules-4.19.0-8-parisc-di xfs-modules-4.19.0-8-parisc-di fat-modules-4.19.0-8-parisc-di md-modules-4.19.0-8-parisc-di multipath-modules-4.19.0-8-parisc-di usb-modules-4.19.0-8-parisc-di usb-storage-modules-4.19.0-8-parisc-di input-modules-4.19.0-8-parisc-di event-modules-4.19.0-8-parisc-di mouse-modules-4.19.0-8-parisc-di nic-usb-modules-4.19.0-8-parisc-di sata-modules-4.19.0-8-parisc-di crc-modules-4.19.0-8-parisc-di crypto-modules-4.19.0-8-parisc-di crypto-dm-modules-4.19.0-8-parisc-di ata-modules-4.19.0-8-parisc-di nbd-modules-4.19.0-8-parisc-di squashfs-modules-4.19.0-8-parisc-di zlib-modules-4.19.0-8-parisc-di compress-modules-4.19.0-8-parisc-di fuse-modules-4.19.0-8-parisc-di kernel-image-4.19.0-8-parisc64-smp-di nic-modules-4.19.0-8-parisc64-smp-di nic-shared-modules-4.19.0-8-parisc64-smp-di serial-modules-4.19.0-8-parisc64-smp-di usb-serial-modules-4.19.0-8-parisc64-smp-di ppp-modules-4.19.0-8-parisc64-smp-di pata-modules-4.19.0-8-parisc64-smp-di cdrom-core-modules-4.19.0-8-parisc64-smp-di scsi-core-modules-4.19.0-8-parisc64-smp-di scsi-modules-4.19.0-8-parisc64-smp-di loop-modules-4.19.0-8-parisc64-smp-di btrfs-modules-4.19.0-8-parisc64-smp-di ext4-modules-4.19.0-8-parisc64-smp-di isofs-modules-4.19.0-8-parisc64-smp-di jfs-modules-4.19.0-8-parisc64-smp-di xfs-modules-4.19.0-8-parisc64-smp-di fat-modules-4.19.0-8-parisc64-smp-di md-modules-4.19.0-8-parisc64-smp-di multipath-modules-4.19.0-8-parisc64-smp-di usb-modules-4.19.0-8-parisc64-smp-di usb-storage-modules-4.19.0-8-parisc64-smp-di fb-modules-4.19.0-8-parisc64-smp-di input-modules-4.19.0-8-parisc64-smp-di event-modules-4.19.0-8-parisc64-smp-di mouse-modules-4.19.0-8-parisc64-smp-di nic-usb-modules-4.19.0-8-parisc64-smp-di sata-modules-4.19.0-8-parisc64-smp-di crc-modules-4.19.0-8-parisc64-smp-di crypto-modules-4.19.0-8-parisc64-smp-di crypto-dm-modules-4.19.0-8-parisc64-smp-di ata-modules-4.19.0-8-parisc64-smp-di nbd-modules-4.19.0-8-parisc64-smp-di squashfs-modules-4.19.0-8-parisc64-smp-di zlib-modules-4.19.0-8-parisc64-smp-di compress-modules-4.19.0-8-parisc64-smp-di fuse-modules-4.19.0-8-parisc64-smp-di' UDEB_UNSIGNED_TEST_BUILD=False binary-arch_hppa_none: binary-arch_hppa_none_parisc binary-arch_hppa_none_parisc-smp binary-arch_hppa_none_parisc64-smp binary-arch_hppa_none_real binary-arch_hppa_none_parisc: binary-arch_hppa_none_parisc_real binary-arch_hppa_none_parisc-smp: binary-arch_hppa_none_parisc-smp_real binary-arch_hppa_none_parisc-smp_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-7' ARCH='hppa' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc-smp' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-parisc-smp' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc-smp' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-7-parisc-smp\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc-smp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='hppa' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc-smp' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-parisc-smp' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc-smp' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-8-parisc-smp\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc-smp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_hppa_none_parisc64-smp: binary-arch_hppa_none_parisc64-smp_real binary-arch_hppa_none_parisc64-smp_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-7' ARCH='hppa' CFLAGS_KERNEL='-fno-cse-follow-jumps' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc64-smp' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-parisc64-smp' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc64-smp' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-7-parisc64-smp\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc64-smp' OVERRIDE_HOST_TYPE='hppa64-linux-gnu' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='hppa' CFLAGS_KERNEL='-fno-cse-follow-jumps' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc64-smp' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-parisc64-smp' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc64-smp' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-8-parisc64-smp\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc64-smp' OVERRIDE_HOST_TYPE='hppa64-linux-gnu' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_hppa_none_parisc_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-7' ARCH='hppa' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-parisc' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-7-parisc\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='hppa' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-parisc' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-8-parisc\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_hppa_none_real: binary-arch_hppa_real:: setup_hppa binary-arch_hppa_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='hppa' KERNEL_ARCH='parisc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='hppa' KERNEL_ARCH='parisc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='i386' KERNEL_ARCH='x86' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-686-di nic-modules-4.19.0-7-686-di nic-wireless-modules-4.19.0-7-686-di nic-shared-modules-4.19.0-7-686-di serial-modules-4.19.0-7-686-di usb-serial-modules-4.19.0-7-686-di ppp-modules-4.19.0-7-686-di pata-modules-4.19.0-7-686-di cdrom-core-modules-4.19.0-7-686-di firewire-core-modules-4.19.0-7-686-di scsi-core-modules-4.19.0-7-686-di scsi-modules-4.19.0-7-686-di scsi-nic-modules-4.19.0-7-686-di loop-modules-4.19.0-7-686-di btrfs-modules-4.19.0-7-686-di ext4-modules-4.19.0-7-686-di isofs-modules-4.19.0-7-686-di jfs-modules-4.19.0-7-686-di xfs-modules-4.19.0-7-686-di fat-modules-4.19.0-7-686-di md-modules-4.19.0-7-686-di multipath-modules-4.19.0-7-686-di usb-modules-4.19.0-7-686-di usb-storage-modules-4.19.0-7-686-di pcmcia-storage-modules-4.19.0-7-686-di fb-modules-4.19.0-7-686-di input-modules-4.19.0-7-686-di event-modules-4.19.0-7-686-di mouse-modules-4.19.0-7-686-di nic-pcmcia-modules-4.19.0-7-686-di pcmcia-modules-4.19.0-7-686-di nic-usb-modules-4.19.0-7-686-di sata-modules-4.19.0-7-686-di acpi-modules-4.19.0-7-686-di i2c-modules-4.19.0-7-686-di crc-modules-4.19.0-7-686-di crypto-modules-4.19.0-7-686-di crypto-dm-modules-4.19.0-7-686-di efi-modules-4.19.0-7-686-di ata-modules-4.19.0-7-686-di mmc-core-modules-4.19.0-7-686-di mmc-modules-4.19.0-7-686-di nbd-modules-4.19.0-7-686-di squashfs-modules-4.19.0-7-686-di speakup-modules-4.19.0-7-686-di uinput-modules-4.19.0-7-686-di sound-modules-4.19.0-7-686-di compress-modules-4.19.0-7-686-di udf-modules-4.19.0-7-686-di fuse-modules-4.19.0-7-686-di mtd-core-modules-4.19.0-7-686-di kernel-image-4.19.0-7-686-pae-di nic-modules-4.19.0-7-686-pae-di nic-wireless-modules-4.19.0-7-686-pae-di nic-shared-modules-4.19.0-7-686-pae-di serial-modules-4.19.0-7-686-pae-di usb-serial-modules-4.19.0-7-686-pae-di ppp-modules-4.19.0-7-686-pae-di pata-modules-4.19.0-7-686-pae-di cdrom-core-modules-4.19.0-7-686-pae-di firewire-core-modules-4.19.0-7-686-pae-di scsi-core-modules-4.19.0-7-686-pae-di scsi-modules-4.19.0-7-686-pae-di scsi-nic-modules-4.19.0-7-686-pae-di loop-modules-4.19.0-7-686-pae-di btrfs-modules-4.19.0-7-686-pae-di ext4-modules-4.19.0-7-686-pae-di isofs-modules-4.19.0-7-686-pae-di jfs-modules-4.19.0-7-686-pae-di xfs-modules-4.19.0-7-686-pae-di fat-modules-4.19.0-7-686-pae-di md-modules-4.19.0-7-686-pae-di multipath-modules-4.19.0-7-686-pae-di usb-modules-4.19.0-7-686-pae-di usb-storage-modules-4.19.0-7-686-pae-di pcmcia-storage-modules-4.19.0-7-686-pae-di fb-modules-4.19.0-7-686-pae-di input-modules-4.19.0-7-686-pae-di event-modules-4.19.0-7-686-pae-di mouse-modules-4.19.0-7-686-pae-di nic-pcmcia-modules-4.19.0-7-686-pae-di pcmcia-modules-4.19.0-7-686-pae-di nic-usb-modules-4.19.0-7-686-pae-di sata-modules-4.19.0-7-686-pae-di acpi-modules-4.19.0-7-686-pae-di i2c-modules-4.19.0-7-686-pae-di crc-modules-4.19.0-7-686-pae-di crypto-modules-4.19.0-7-686-pae-di crypto-dm-modules-4.19.0-7-686-pae-di efi-modules-4.19.0-7-686-pae-di ata-modules-4.19.0-7-686-pae-di mmc-core-modules-4.19.0-7-686-pae-di mmc-modules-4.19.0-7-686-pae-di nbd-modules-4.19.0-7-686-pae-di squashfs-modules-4.19.0-7-686-pae-di speakup-modules-4.19.0-7-686-pae-di uinput-modules-4.19.0-7-686-pae-di sound-modules-4.19.0-7-686-pae-di compress-modules-4.19.0-7-686-pae-di udf-modules-4.19.0-7-686-pae-di fuse-modules-4.19.0-7-686-pae-di mtd-core-modules-4.19.0-7-686-pae-di' UDEB_UNSIGNED_TEST_BUILD=True + $(MAKE) -f debian/rules.real install-udeb_i386 ABINAME='4.19.0-8' ARCH='i386' KERNEL_ARCH='x86' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-686-di nic-modules-4.19.0-8-686-di nic-wireless-modules-4.19.0-8-686-di nic-shared-modules-4.19.0-8-686-di serial-modules-4.19.0-8-686-di usb-serial-modules-4.19.0-8-686-di ppp-modules-4.19.0-8-686-di pata-modules-4.19.0-8-686-di cdrom-core-modules-4.19.0-8-686-di firewire-core-modules-4.19.0-8-686-di scsi-core-modules-4.19.0-8-686-di scsi-modules-4.19.0-8-686-di scsi-nic-modules-4.19.0-8-686-di loop-modules-4.19.0-8-686-di btrfs-modules-4.19.0-8-686-di ext4-modules-4.19.0-8-686-di isofs-modules-4.19.0-8-686-di jfs-modules-4.19.0-8-686-di xfs-modules-4.19.0-8-686-di fat-modules-4.19.0-8-686-di md-modules-4.19.0-8-686-di multipath-modules-4.19.0-8-686-di usb-modules-4.19.0-8-686-di usb-storage-modules-4.19.0-8-686-di pcmcia-storage-modules-4.19.0-8-686-di fb-modules-4.19.0-8-686-di input-modules-4.19.0-8-686-di event-modules-4.19.0-8-686-di mouse-modules-4.19.0-8-686-di nic-pcmcia-modules-4.19.0-8-686-di pcmcia-modules-4.19.0-8-686-di nic-usb-modules-4.19.0-8-686-di sata-modules-4.19.0-8-686-di acpi-modules-4.19.0-8-686-di i2c-modules-4.19.0-8-686-di crc-modules-4.19.0-8-686-di crypto-modules-4.19.0-8-686-di crypto-dm-modules-4.19.0-8-686-di efi-modules-4.19.0-8-686-di ata-modules-4.19.0-8-686-di mmc-core-modules-4.19.0-8-686-di mmc-modules-4.19.0-8-686-di nbd-modules-4.19.0-8-686-di squashfs-modules-4.19.0-8-686-di speakup-modules-4.19.0-8-686-di uinput-modules-4.19.0-8-686-di sound-modules-4.19.0-8-686-di compress-modules-4.19.0-8-686-di udf-modules-4.19.0-8-686-di fuse-modules-4.19.0-8-686-di mtd-core-modules-4.19.0-8-686-di kernel-image-4.19.0-8-686-pae-di nic-modules-4.19.0-8-686-pae-di nic-wireless-modules-4.19.0-8-686-pae-di nic-shared-modules-4.19.0-8-686-pae-di serial-modules-4.19.0-8-686-pae-di usb-serial-modules-4.19.0-8-686-pae-di ppp-modules-4.19.0-8-686-pae-di pata-modules-4.19.0-8-686-pae-di cdrom-core-modules-4.19.0-8-686-pae-di firewire-core-modules-4.19.0-8-686-pae-di scsi-core-modules-4.19.0-8-686-pae-di scsi-modules-4.19.0-8-686-pae-di scsi-nic-modules-4.19.0-8-686-pae-di loop-modules-4.19.0-8-686-pae-di btrfs-modules-4.19.0-8-686-pae-di ext4-modules-4.19.0-8-686-pae-di isofs-modules-4.19.0-8-686-pae-di jfs-modules-4.19.0-8-686-pae-di xfs-modules-4.19.0-8-686-pae-di fat-modules-4.19.0-8-686-pae-di md-modules-4.19.0-8-686-pae-di multipath-modules-4.19.0-8-686-pae-di usb-modules-4.19.0-8-686-pae-di usb-storage-modules-4.19.0-8-686-pae-di pcmcia-storage-modules-4.19.0-8-686-pae-di fb-modules-4.19.0-8-686-pae-di input-modules-4.19.0-8-686-pae-di event-modules-4.19.0-8-686-pae-di mouse-modules-4.19.0-8-686-pae-di nic-pcmcia-modules-4.19.0-8-686-pae-di pcmcia-modules-4.19.0-8-686-pae-di nic-usb-modules-4.19.0-8-686-pae-di sata-modules-4.19.0-8-686-pae-di acpi-modules-4.19.0-8-686-pae-di i2c-modules-4.19.0-8-686-pae-di crc-modules-4.19.0-8-686-pae-di crypto-modules-4.19.0-8-686-pae-di crypto-dm-modules-4.19.0-8-686-pae-di efi-modules-4.19.0-8-686-pae-di ata-modules-4.19.0-8-686-pae-di mmc-core-modules-4.19.0-8-686-pae-di mmc-modules-4.19.0-8-686-pae-di nbd-modules-4.19.0-8-686-pae-di squashfs-modules-4.19.0-8-686-pae-di speakup-modules-4.19.0-8-686-pae-di uinput-modules-4.19.0-8-686-pae-di sound-modules-4.19.0-8-686-pae-di compress-modules-4.19.0-8-686-pae-di udf-modules-4.19.0-8-686-pae-di fuse-modules-4.19.0-8-686-pae-di mtd-core-modules-4.19.0-8-686-pae-di' UDEB_UNSIGNED_TEST_BUILD=True binary-arch_i386:: - $(MAKE) -f debian/rules.real install-signed-template_i386 ABINAME='4.19.0-7' ARCH='i386' KERNEL_ARCH='x86' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real install-signed-template_i386 ABINAME='4.19.0-8' ARCH='i386' KERNEL_ARCH='x86' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_i386_extra:: $(MAKE) -f debian/rules.real install-dummy ARCH='i386' DH_OPTIONS='-plinux-compiler-gcc-8-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='4.19.0-7' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-686-pae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686-pae' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-686-pae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686-pae' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' binary-arch_i386_none_686_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-7' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='686' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-686\""' KERNEL_ARCH='x86' LOCALVERSION='-686' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='686' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-686\""' KERNEL_ARCH='x86' LOCALVERSION='-686' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' binary-arch_i386_none_real: binary-arch_i386_real:: setup_i386 binary-arch_i386_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='i386' KERNEL_ARCH='x86' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='i386' KERNEL_ARCH='x86' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-rt-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-686-pae' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-686-pae' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-rt-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-686-pae' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-686-pae' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' 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='4.19.0-7' ARCH='ia64' KERNEL_ARCH='ia64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-itanium-di nic-modules-4.19.0-7-itanium-di nic-shared-modules-4.19.0-7-itanium-di serial-modules-4.19.0-7-itanium-di usb-serial-modules-4.19.0-7-itanium-di ppp-modules-4.19.0-7-itanium-di pata-modules-4.19.0-7-itanium-di cdrom-core-modules-4.19.0-7-itanium-di firewire-core-modules-4.19.0-7-itanium-di scsi-core-modules-4.19.0-7-itanium-di scsi-modules-4.19.0-7-itanium-di scsi-nic-modules-4.19.0-7-itanium-di loop-modules-4.19.0-7-itanium-di btrfs-modules-4.19.0-7-itanium-di ext4-modules-4.19.0-7-itanium-di isofs-modules-4.19.0-7-itanium-di jfs-modules-4.19.0-7-itanium-di xfs-modules-4.19.0-7-itanium-di fat-modules-4.19.0-7-itanium-di md-modules-4.19.0-7-itanium-di multipath-modules-4.19.0-7-itanium-di usb-modules-4.19.0-7-itanium-di usb-storage-modules-4.19.0-7-itanium-di fb-modules-4.19.0-7-itanium-di input-modules-4.19.0-7-itanium-di event-modules-4.19.0-7-itanium-di mouse-modules-4.19.0-7-itanium-di pcmcia-modules-4.19.0-7-itanium-di nic-usb-modules-4.19.0-7-itanium-di sata-modules-4.19.0-7-itanium-di i2c-modules-4.19.0-7-itanium-di crc-modules-4.19.0-7-itanium-di crypto-modules-4.19.0-7-itanium-di crypto-dm-modules-4.19.0-7-itanium-di ata-modules-4.19.0-7-itanium-di nbd-modules-4.19.0-7-itanium-di squashfs-modules-4.19.0-7-itanium-di uinput-modules-4.19.0-7-itanium-di compress-modules-4.19.0-7-itanium-di udf-modules-4.19.0-7-itanium-di fuse-modules-4.19.0-7-itanium-di mtd-core-modules-4.19.0-7-itanium-di ide-core-modules-4.19.0-7-itanium-di ide-modules-4.19.0-7-itanium-di sn-modules-4.19.0-7-itanium-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_ia64 ABINAME='4.19.0-8' ARCH='ia64' KERNEL_ARCH='ia64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-itanium-di nic-modules-4.19.0-8-itanium-di nic-shared-modules-4.19.0-8-itanium-di serial-modules-4.19.0-8-itanium-di usb-serial-modules-4.19.0-8-itanium-di ppp-modules-4.19.0-8-itanium-di pata-modules-4.19.0-8-itanium-di cdrom-core-modules-4.19.0-8-itanium-di firewire-core-modules-4.19.0-8-itanium-di scsi-core-modules-4.19.0-8-itanium-di scsi-modules-4.19.0-8-itanium-di scsi-nic-modules-4.19.0-8-itanium-di loop-modules-4.19.0-8-itanium-di btrfs-modules-4.19.0-8-itanium-di ext4-modules-4.19.0-8-itanium-di isofs-modules-4.19.0-8-itanium-di jfs-modules-4.19.0-8-itanium-di xfs-modules-4.19.0-8-itanium-di fat-modules-4.19.0-8-itanium-di md-modules-4.19.0-8-itanium-di multipath-modules-4.19.0-8-itanium-di usb-modules-4.19.0-8-itanium-di usb-storage-modules-4.19.0-8-itanium-di fb-modules-4.19.0-8-itanium-di input-modules-4.19.0-8-itanium-di event-modules-4.19.0-8-itanium-di mouse-modules-4.19.0-8-itanium-di pcmcia-modules-4.19.0-8-itanium-di nic-usb-modules-4.19.0-8-itanium-di sata-modules-4.19.0-8-itanium-di i2c-modules-4.19.0-8-itanium-di crc-modules-4.19.0-8-itanium-di crypto-modules-4.19.0-8-itanium-di crypto-dm-modules-4.19.0-8-itanium-di ata-modules-4.19.0-8-itanium-di nbd-modules-4.19.0-8-itanium-di squashfs-modules-4.19.0-8-itanium-di uinput-modules-4.19.0-8-itanium-di compress-modules-4.19.0-8-itanium-di udf-modules-4.19.0-8-itanium-di fuse-modules-4.19.0-8-itanium-di mtd-core-modules-4.19.0-8-itanium-di ide-core-modules-4.19.0-8-itanium-di ide-modules-4.19.0-8-itanium-di sn-modules-4.19.0-8-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='4.19.0-7' ARCH='ia64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='itanium' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-itanium' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.itanium' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-itanium\""' KERNEL_ARCH='ia64' LOCALVERSION='-itanium' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-itanium' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='ia64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='itanium' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-itanium' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.itanium' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-itanium\""' KERNEL_ARCH='ia64' LOCALVERSION='-itanium' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-itanium' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='ia64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mckinley' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-mckinley' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.mckinley' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-mckinley\""' KERNEL_ARCH='ia64' LOCALVERSION='-mckinley' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mckinley' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='ia64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mckinley' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-mckinley' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.mckinley' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-mckinley\""' KERNEL_ARCH='ia64' LOCALVERSION='-mckinley' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mckinley' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_ia64_none_real: binary-arch_ia64_real:: setup_ia64 binary-arch_ia64_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='ia64' KERNEL_ARCH='ia64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='ia64' KERNEL_ARCH='ia64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_m68k:: binary-arch_m68k_none binary-arch_m68k_real binary-arch_m68k:: - $(MAKE) -f debian/rules.real install-udeb_m68k ABINAME='4.19.0-7' ARCH='m68k' KERNEL_ARCH='m68k' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-m68k-di nic-modules-4.19.0-7-m68k-di nic-shared-modules-4.19.0-7-m68k-di ppp-modules-4.19.0-7-m68k-di pata-modules-4.19.0-7-m68k-di cdrom-core-modules-4.19.0-7-m68k-di scsi-core-modules-4.19.0-7-m68k-di scsi-modules-4.19.0-7-m68k-di loop-modules-4.19.0-7-m68k-di btrfs-modules-4.19.0-7-m68k-di ext4-modules-4.19.0-7-m68k-di isofs-modules-4.19.0-7-m68k-di fat-modules-4.19.0-7-m68k-di hfs-modules-4.19.0-7-m68k-di affs-modules-4.19.0-7-m68k-di md-modules-4.19.0-7-m68k-di crc-modules-4.19.0-7-m68k-di crypto-modules-4.19.0-7-m68k-di ata-modules-4.19.0-7-m68k-di nbd-modules-4.19.0-7-m68k-di squashfs-modules-4.19.0-7-m68k-di zlib-modules-4.19.0-7-m68k-di compress-modules-4.19.0-7-m68k-di udf-modules-4.19.0-7-m68k-di fuse-modules-4.19.0-7-m68k-di ide-core-modules-4.19.0-7-m68k-di ide-modules-4.19.0-7-m68k-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_m68k ABINAME='4.19.0-8' ARCH='m68k' KERNEL_ARCH='m68k' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-m68k-di nic-modules-4.19.0-8-m68k-di nic-shared-modules-4.19.0-8-m68k-di ppp-modules-4.19.0-8-m68k-di pata-modules-4.19.0-8-m68k-di cdrom-core-modules-4.19.0-8-m68k-di scsi-core-modules-4.19.0-8-m68k-di scsi-modules-4.19.0-8-m68k-di loop-modules-4.19.0-8-m68k-di btrfs-modules-4.19.0-8-m68k-di ext4-modules-4.19.0-8-m68k-di isofs-modules-4.19.0-8-m68k-di fat-modules-4.19.0-8-m68k-di hfs-modules-4.19.0-8-m68k-di affs-modules-4.19.0-8-m68k-di md-modules-4.19.0-8-m68k-di crc-modules-4.19.0-8-m68k-di crypto-modules-4.19.0-8-m68k-di ata-modules-4.19.0-8-m68k-di nbd-modules-4.19.0-8-m68k-di squashfs-modules-4.19.0-8-m68k-di zlib-modules-4.19.0-8-m68k-di compress-modules-4.19.0-8-m68k-di udf-modules-4.19.0-8-m68k-di fuse-modules-4.19.0-8-m68k-di ide-core-modules-4.19.0-8-m68k-di ide-modules-4.19.0-8-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='4.19.0-7' ARCH='m68k' CFLAGS_KERNEL='-ffreestanding' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='m68k' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-m68k' KCONFIG='debian/config/config debian/config/m68k/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-m68k\""' KERNEL_ARCH='m68k' LOCALVERSION='-m68k' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-m68k' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='m68k' CFLAGS_KERNEL='-ffreestanding' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='m68k' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-m68k' KCONFIG='debian/config/config debian/config/m68k/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-m68k\""' KERNEL_ARCH='m68k' LOCALVERSION='-m68k' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-m68k' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_m68k_none_real: binary-arch_m68k_real:: setup_m68k binary-arch_m68k_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='m68k' KERNEL_ARCH='m68k' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='m68k' KERNEL_ARCH='m68k' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_mips:: binary-arch_mips_none binary-arch_mips_real binary-arch_mips:: - $(MAKE) -f debian/rules.real install-udeb_mips ABINAME='4.19.0-7' ARCH='mips' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-4kc-malta-di nic-modules-4.19.0-7-4kc-malta-di nic-wireless-modules-4.19.0-7-4kc-malta-di nic-shared-modules-4.19.0-7-4kc-malta-di usb-serial-modules-4.19.0-7-4kc-malta-di ppp-modules-4.19.0-7-4kc-malta-di pata-modules-4.19.0-7-4kc-malta-di cdrom-core-modules-4.19.0-7-4kc-malta-di scsi-core-modules-4.19.0-7-4kc-malta-di scsi-modules-4.19.0-7-4kc-malta-di scsi-nic-modules-4.19.0-7-4kc-malta-di loop-modules-4.19.0-7-4kc-malta-di btrfs-modules-4.19.0-7-4kc-malta-di ext4-modules-4.19.0-7-4kc-malta-di isofs-modules-4.19.0-7-4kc-malta-di jfs-modules-4.19.0-7-4kc-malta-di xfs-modules-4.19.0-7-4kc-malta-di fat-modules-4.19.0-7-4kc-malta-di hfs-modules-4.19.0-7-4kc-malta-di affs-modules-4.19.0-7-4kc-malta-di minix-modules-4.19.0-7-4kc-malta-di md-modules-4.19.0-7-4kc-malta-di multipath-modules-4.19.0-7-4kc-malta-di usb-modules-4.19.0-7-4kc-malta-di usb-storage-modules-4.19.0-7-4kc-malta-di fb-modules-4.19.0-7-4kc-malta-di input-modules-4.19.0-7-4kc-malta-di event-modules-4.19.0-7-4kc-malta-di mouse-modules-4.19.0-7-4kc-malta-di nic-usb-modules-4.19.0-7-4kc-malta-di sata-modules-4.19.0-7-4kc-malta-di i2c-modules-4.19.0-7-4kc-malta-di crc-modules-4.19.0-7-4kc-malta-di crypto-modules-4.19.0-7-4kc-malta-di crypto-dm-modules-4.19.0-7-4kc-malta-di ata-modules-4.19.0-7-4kc-malta-di mmc-core-modules-4.19.0-7-4kc-malta-di mmc-modules-4.19.0-7-4kc-malta-di nbd-modules-4.19.0-7-4kc-malta-di squashfs-modules-4.19.0-7-4kc-malta-di sound-modules-4.19.0-7-4kc-malta-di zlib-modules-4.19.0-7-4kc-malta-di compress-modules-4.19.0-7-4kc-malta-di udf-modules-4.19.0-7-4kc-malta-di fuse-modules-4.19.0-7-4kc-malta-di mtd-core-modules-4.19.0-7-4kc-malta-di kernel-image-4.19.0-7-octeon-di nic-modules-4.19.0-7-octeon-di nic-wireless-modules-4.19.0-7-octeon-di nic-shared-modules-4.19.0-7-octeon-di usb-serial-modules-4.19.0-7-octeon-di ppp-modules-4.19.0-7-octeon-di pata-modules-4.19.0-7-octeon-di cdrom-core-modules-4.19.0-7-octeon-di scsi-core-modules-4.19.0-7-octeon-di scsi-modules-4.19.0-7-octeon-di scsi-nic-modules-4.19.0-7-octeon-di loop-modules-4.19.0-7-octeon-di btrfs-modules-4.19.0-7-octeon-di ext4-modules-4.19.0-7-octeon-di isofs-modules-4.19.0-7-octeon-di jfs-modules-4.19.0-7-octeon-di xfs-modules-4.19.0-7-octeon-di fat-modules-4.19.0-7-octeon-di hfs-modules-4.19.0-7-octeon-di affs-modules-4.19.0-7-octeon-di minix-modules-4.19.0-7-octeon-di md-modules-4.19.0-7-octeon-di multipath-modules-4.19.0-7-octeon-di usb-modules-4.19.0-7-octeon-di usb-storage-modules-4.19.0-7-octeon-di input-modules-4.19.0-7-octeon-di event-modules-4.19.0-7-octeon-di nic-usb-modules-4.19.0-7-octeon-di sata-modules-4.19.0-7-octeon-di crc-modules-4.19.0-7-octeon-di crypto-modules-4.19.0-7-octeon-di crypto-dm-modules-4.19.0-7-octeon-di nbd-modules-4.19.0-7-octeon-di squashfs-modules-4.19.0-7-octeon-di rtc-modules-4.19.0-7-octeon-di sound-modules-4.19.0-7-octeon-di zlib-modules-4.19.0-7-octeon-di compress-modules-4.19.0-7-octeon-di udf-modules-4.19.0-7-octeon-di fuse-modules-4.19.0-7-octeon-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_mips ABINAME='4.19.0-8' ARCH='mips' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-4kc-malta-di nic-modules-4.19.0-8-4kc-malta-di nic-wireless-modules-4.19.0-8-4kc-malta-di nic-shared-modules-4.19.0-8-4kc-malta-di usb-serial-modules-4.19.0-8-4kc-malta-di ppp-modules-4.19.0-8-4kc-malta-di pata-modules-4.19.0-8-4kc-malta-di cdrom-core-modules-4.19.0-8-4kc-malta-di scsi-core-modules-4.19.0-8-4kc-malta-di scsi-modules-4.19.0-8-4kc-malta-di scsi-nic-modules-4.19.0-8-4kc-malta-di loop-modules-4.19.0-8-4kc-malta-di btrfs-modules-4.19.0-8-4kc-malta-di ext4-modules-4.19.0-8-4kc-malta-di isofs-modules-4.19.0-8-4kc-malta-di jfs-modules-4.19.0-8-4kc-malta-di xfs-modules-4.19.0-8-4kc-malta-di fat-modules-4.19.0-8-4kc-malta-di hfs-modules-4.19.0-8-4kc-malta-di affs-modules-4.19.0-8-4kc-malta-di minix-modules-4.19.0-8-4kc-malta-di md-modules-4.19.0-8-4kc-malta-di multipath-modules-4.19.0-8-4kc-malta-di usb-modules-4.19.0-8-4kc-malta-di usb-storage-modules-4.19.0-8-4kc-malta-di fb-modules-4.19.0-8-4kc-malta-di input-modules-4.19.0-8-4kc-malta-di event-modules-4.19.0-8-4kc-malta-di mouse-modules-4.19.0-8-4kc-malta-di nic-usb-modules-4.19.0-8-4kc-malta-di sata-modules-4.19.0-8-4kc-malta-di i2c-modules-4.19.0-8-4kc-malta-di crc-modules-4.19.0-8-4kc-malta-di crypto-modules-4.19.0-8-4kc-malta-di crypto-dm-modules-4.19.0-8-4kc-malta-di ata-modules-4.19.0-8-4kc-malta-di mmc-core-modules-4.19.0-8-4kc-malta-di mmc-modules-4.19.0-8-4kc-malta-di nbd-modules-4.19.0-8-4kc-malta-di squashfs-modules-4.19.0-8-4kc-malta-di sound-modules-4.19.0-8-4kc-malta-di zlib-modules-4.19.0-8-4kc-malta-di compress-modules-4.19.0-8-4kc-malta-di udf-modules-4.19.0-8-4kc-malta-di fuse-modules-4.19.0-8-4kc-malta-di mtd-core-modules-4.19.0-8-4kc-malta-di kernel-image-4.19.0-8-octeon-di nic-modules-4.19.0-8-octeon-di nic-wireless-modules-4.19.0-8-octeon-di nic-shared-modules-4.19.0-8-octeon-di usb-serial-modules-4.19.0-8-octeon-di ppp-modules-4.19.0-8-octeon-di pata-modules-4.19.0-8-octeon-di cdrom-core-modules-4.19.0-8-octeon-di scsi-core-modules-4.19.0-8-octeon-di scsi-modules-4.19.0-8-octeon-di scsi-nic-modules-4.19.0-8-octeon-di loop-modules-4.19.0-8-octeon-di btrfs-modules-4.19.0-8-octeon-di ext4-modules-4.19.0-8-octeon-di isofs-modules-4.19.0-8-octeon-di jfs-modules-4.19.0-8-octeon-di xfs-modules-4.19.0-8-octeon-di fat-modules-4.19.0-8-octeon-di hfs-modules-4.19.0-8-octeon-di affs-modules-4.19.0-8-octeon-di minix-modules-4.19.0-8-octeon-di md-modules-4.19.0-8-octeon-di multipath-modules-4.19.0-8-octeon-di usb-modules-4.19.0-8-octeon-di usb-storage-modules-4.19.0-8-octeon-di input-modules-4.19.0-8-octeon-di event-modules-4.19.0-8-octeon-di nic-usb-modules-4.19.0-8-octeon-di sata-modules-4.19.0-8-octeon-di crc-modules-4.19.0-8-octeon-di crypto-modules-4.19.0-8-octeon-di crypto-dm-modules-4.19.0-8-octeon-di nbd-modules-4.19.0-8-octeon-di squashfs-modules-4.19.0-8-octeon-di rtc-modules-4.19.0-8-octeon-di sound-modules-4.19.0-8-octeon-di zlib-modules-4.19.0-8-octeon-di compress-modules-4.19.0-8-octeon-di udf-modules-4.19.0-8-octeon-di fuse-modules-4.19.0-8-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='4.19.0-7' ARCH='mips64' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-5kc-malta-di nic-modules-4.19.0-7-5kc-malta-di nic-wireless-modules-4.19.0-7-5kc-malta-di nic-shared-modules-4.19.0-7-5kc-malta-di usb-serial-modules-4.19.0-7-5kc-malta-di ppp-modules-4.19.0-7-5kc-malta-di pata-modules-4.19.0-7-5kc-malta-di cdrom-core-modules-4.19.0-7-5kc-malta-di scsi-core-modules-4.19.0-7-5kc-malta-di scsi-modules-4.19.0-7-5kc-malta-di scsi-nic-modules-4.19.0-7-5kc-malta-di loop-modules-4.19.0-7-5kc-malta-di btrfs-modules-4.19.0-7-5kc-malta-di ext4-modules-4.19.0-7-5kc-malta-di isofs-modules-4.19.0-7-5kc-malta-di jfs-modules-4.19.0-7-5kc-malta-di xfs-modules-4.19.0-7-5kc-malta-di fat-modules-4.19.0-7-5kc-malta-di hfs-modules-4.19.0-7-5kc-malta-di affs-modules-4.19.0-7-5kc-malta-di minix-modules-4.19.0-7-5kc-malta-di md-modules-4.19.0-7-5kc-malta-di multipath-modules-4.19.0-7-5kc-malta-di usb-modules-4.19.0-7-5kc-malta-di usb-storage-modules-4.19.0-7-5kc-malta-di fb-modules-4.19.0-7-5kc-malta-di input-modules-4.19.0-7-5kc-malta-di event-modules-4.19.0-7-5kc-malta-di mouse-modules-4.19.0-7-5kc-malta-di nic-usb-modules-4.19.0-7-5kc-malta-di sata-modules-4.19.0-7-5kc-malta-di i2c-modules-4.19.0-7-5kc-malta-di crc-modules-4.19.0-7-5kc-malta-di crypto-modules-4.19.0-7-5kc-malta-di crypto-dm-modules-4.19.0-7-5kc-malta-di ata-modules-4.19.0-7-5kc-malta-di mmc-core-modules-4.19.0-7-5kc-malta-di mmc-modules-4.19.0-7-5kc-malta-di nbd-modules-4.19.0-7-5kc-malta-di squashfs-modules-4.19.0-7-5kc-malta-di sound-modules-4.19.0-7-5kc-malta-di zlib-modules-4.19.0-7-5kc-malta-di compress-modules-4.19.0-7-5kc-malta-di udf-modules-4.19.0-7-5kc-malta-di fuse-modules-4.19.0-7-5kc-malta-di mtd-core-modules-4.19.0-7-5kc-malta-di kernel-image-4.19.0-7-octeon-di nic-modules-4.19.0-7-octeon-di nic-wireless-modules-4.19.0-7-octeon-di nic-shared-modules-4.19.0-7-octeon-di usb-serial-modules-4.19.0-7-octeon-di ppp-modules-4.19.0-7-octeon-di pata-modules-4.19.0-7-octeon-di cdrom-core-modules-4.19.0-7-octeon-di scsi-core-modules-4.19.0-7-octeon-di scsi-modules-4.19.0-7-octeon-di scsi-nic-modules-4.19.0-7-octeon-di loop-modules-4.19.0-7-octeon-di btrfs-modules-4.19.0-7-octeon-di ext4-modules-4.19.0-7-octeon-di isofs-modules-4.19.0-7-octeon-di jfs-modules-4.19.0-7-octeon-di xfs-modules-4.19.0-7-octeon-di fat-modules-4.19.0-7-octeon-di hfs-modules-4.19.0-7-octeon-di affs-modules-4.19.0-7-octeon-di minix-modules-4.19.0-7-octeon-di md-modules-4.19.0-7-octeon-di multipath-modules-4.19.0-7-octeon-di usb-modules-4.19.0-7-octeon-di usb-storage-modules-4.19.0-7-octeon-di input-modules-4.19.0-7-octeon-di event-modules-4.19.0-7-octeon-di nic-usb-modules-4.19.0-7-octeon-di sata-modules-4.19.0-7-octeon-di crc-modules-4.19.0-7-octeon-di crypto-modules-4.19.0-7-octeon-di crypto-dm-modules-4.19.0-7-octeon-di nbd-modules-4.19.0-7-octeon-di squashfs-modules-4.19.0-7-octeon-di rtc-modules-4.19.0-7-octeon-di sound-modules-4.19.0-7-octeon-di zlib-modules-4.19.0-7-octeon-di compress-modules-4.19.0-7-octeon-di udf-modules-4.19.0-7-octeon-di fuse-modules-4.19.0-7-octeon-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_mips64 ABINAME='4.19.0-8' ARCH='mips64' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-5kc-malta-di nic-modules-4.19.0-8-5kc-malta-di nic-wireless-modules-4.19.0-8-5kc-malta-di nic-shared-modules-4.19.0-8-5kc-malta-di usb-serial-modules-4.19.0-8-5kc-malta-di ppp-modules-4.19.0-8-5kc-malta-di pata-modules-4.19.0-8-5kc-malta-di cdrom-core-modules-4.19.0-8-5kc-malta-di scsi-core-modules-4.19.0-8-5kc-malta-di scsi-modules-4.19.0-8-5kc-malta-di scsi-nic-modules-4.19.0-8-5kc-malta-di loop-modules-4.19.0-8-5kc-malta-di btrfs-modules-4.19.0-8-5kc-malta-di ext4-modules-4.19.0-8-5kc-malta-di isofs-modules-4.19.0-8-5kc-malta-di jfs-modules-4.19.0-8-5kc-malta-di xfs-modules-4.19.0-8-5kc-malta-di fat-modules-4.19.0-8-5kc-malta-di hfs-modules-4.19.0-8-5kc-malta-di affs-modules-4.19.0-8-5kc-malta-di minix-modules-4.19.0-8-5kc-malta-di md-modules-4.19.0-8-5kc-malta-di multipath-modules-4.19.0-8-5kc-malta-di usb-modules-4.19.0-8-5kc-malta-di usb-storage-modules-4.19.0-8-5kc-malta-di fb-modules-4.19.0-8-5kc-malta-di input-modules-4.19.0-8-5kc-malta-di event-modules-4.19.0-8-5kc-malta-di mouse-modules-4.19.0-8-5kc-malta-di nic-usb-modules-4.19.0-8-5kc-malta-di sata-modules-4.19.0-8-5kc-malta-di i2c-modules-4.19.0-8-5kc-malta-di crc-modules-4.19.0-8-5kc-malta-di crypto-modules-4.19.0-8-5kc-malta-di crypto-dm-modules-4.19.0-8-5kc-malta-di ata-modules-4.19.0-8-5kc-malta-di mmc-core-modules-4.19.0-8-5kc-malta-di mmc-modules-4.19.0-8-5kc-malta-di nbd-modules-4.19.0-8-5kc-malta-di squashfs-modules-4.19.0-8-5kc-malta-di sound-modules-4.19.0-8-5kc-malta-di zlib-modules-4.19.0-8-5kc-malta-di compress-modules-4.19.0-8-5kc-malta-di udf-modules-4.19.0-8-5kc-malta-di fuse-modules-4.19.0-8-5kc-malta-di mtd-core-modules-4.19.0-8-5kc-malta-di kernel-image-4.19.0-8-octeon-di nic-modules-4.19.0-8-octeon-di nic-wireless-modules-4.19.0-8-octeon-di nic-shared-modules-4.19.0-8-octeon-di usb-serial-modules-4.19.0-8-octeon-di ppp-modules-4.19.0-8-octeon-di pata-modules-4.19.0-8-octeon-di cdrom-core-modules-4.19.0-8-octeon-di scsi-core-modules-4.19.0-8-octeon-di scsi-modules-4.19.0-8-octeon-di scsi-nic-modules-4.19.0-8-octeon-di loop-modules-4.19.0-8-octeon-di btrfs-modules-4.19.0-8-octeon-di ext4-modules-4.19.0-8-octeon-di isofs-modules-4.19.0-8-octeon-di jfs-modules-4.19.0-8-octeon-di xfs-modules-4.19.0-8-octeon-di fat-modules-4.19.0-8-octeon-di hfs-modules-4.19.0-8-octeon-di affs-modules-4.19.0-8-octeon-di minix-modules-4.19.0-8-octeon-di md-modules-4.19.0-8-octeon-di multipath-modules-4.19.0-8-octeon-di usb-modules-4.19.0-8-octeon-di usb-storage-modules-4.19.0-8-octeon-di input-modules-4.19.0-8-octeon-di event-modules-4.19.0-8-octeon-di nic-usb-modules-4.19.0-8-octeon-di sata-modules-4.19.0-8-octeon-di crc-modules-4.19.0-8-octeon-di crypto-modules-4.19.0-8-octeon-di crypto-dm-modules-4.19.0-8-octeon-di nbd-modules-4.19.0-8-octeon-di squashfs-modules-4.19.0-8-octeon-di rtc-modules-4.19.0-8-octeon-di sound-modules-4.19.0-8-octeon-di zlib-modules-4.19.0-8-octeon-di compress-modules-4.19.0-8-octeon-di udf-modules-4.19.0-8-octeon-di fuse-modules-4.19.0-8-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='4.19.0-7' ARCH='mips64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='mips64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mips64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='mips64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_mips64_none_real: binary-arch_mips64_real:: setup_mips64 binary-arch_mips64_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='mips64' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='mips64' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_mips64el:: binary-arch_mips64el_none binary-arch_mips64el_real binary-arch_mips64el:: - $(MAKE) -f debian/rules.real install-udeb_mips64el ABINAME='4.19.0-7' ARCH='mips64el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-5kc-malta-di nic-modules-4.19.0-7-5kc-malta-di nic-wireless-modules-4.19.0-7-5kc-malta-di nic-shared-modules-4.19.0-7-5kc-malta-di usb-serial-modules-4.19.0-7-5kc-malta-di ppp-modules-4.19.0-7-5kc-malta-di pata-modules-4.19.0-7-5kc-malta-di cdrom-core-modules-4.19.0-7-5kc-malta-di scsi-core-modules-4.19.0-7-5kc-malta-di scsi-modules-4.19.0-7-5kc-malta-di scsi-nic-modules-4.19.0-7-5kc-malta-di loop-modules-4.19.0-7-5kc-malta-di btrfs-modules-4.19.0-7-5kc-malta-di ext4-modules-4.19.0-7-5kc-malta-di isofs-modules-4.19.0-7-5kc-malta-di jfs-modules-4.19.0-7-5kc-malta-di xfs-modules-4.19.0-7-5kc-malta-di fat-modules-4.19.0-7-5kc-malta-di hfs-modules-4.19.0-7-5kc-malta-di affs-modules-4.19.0-7-5kc-malta-di minix-modules-4.19.0-7-5kc-malta-di md-modules-4.19.0-7-5kc-malta-di multipath-modules-4.19.0-7-5kc-malta-di usb-modules-4.19.0-7-5kc-malta-di usb-storage-modules-4.19.0-7-5kc-malta-di fb-modules-4.19.0-7-5kc-malta-di input-modules-4.19.0-7-5kc-malta-di event-modules-4.19.0-7-5kc-malta-di mouse-modules-4.19.0-7-5kc-malta-di nic-usb-modules-4.19.0-7-5kc-malta-di sata-modules-4.19.0-7-5kc-malta-di i2c-modules-4.19.0-7-5kc-malta-di crc-modules-4.19.0-7-5kc-malta-di crypto-modules-4.19.0-7-5kc-malta-di crypto-dm-modules-4.19.0-7-5kc-malta-di ata-modules-4.19.0-7-5kc-malta-di mmc-core-modules-4.19.0-7-5kc-malta-di mmc-modules-4.19.0-7-5kc-malta-di nbd-modules-4.19.0-7-5kc-malta-di squashfs-modules-4.19.0-7-5kc-malta-di sound-modules-4.19.0-7-5kc-malta-di zlib-modules-4.19.0-7-5kc-malta-di compress-modules-4.19.0-7-5kc-malta-di udf-modules-4.19.0-7-5kc-malta-di fuse-modules-4.19.0-7-5kc-malta-di mtd-core-modules-4.19.0-7-5kc-malta-di kernel-image-4.19.0-7-loongson-3-di nic-modules-4.19.0-7-loongson-3-di nic-wireless-modules-4.19.0-7-loongson-3-di nic-shared-modules-4.19.0-7-loongson-3-di usb-serial-modules-4.19.0-7-loongson-3-di ppp-modules-4.19.0-7-loongson-3-di pata-modules-4.19.0-7-loongson-3-di cdrom-core-modules-4.19.0-7-loongson-3-di firewire-core-modules-4.19.0-7-loongson-3-di scsi-core-modules-4.19.0-7-loongson-3-di scsi-modules-4.19.0-7-loongson-3-di scsi-nic-modules-4.19.0-7-loongson-3-di loop-modules-4.19.0-7-loongson-3-di btrfs-modules-4.19.0-7-loongson-3-di ext4-modules-4.19.0-7-loongson-3-di isofs-modules-4.19.0-7-loongson-3-di jfs-modules-4.19.0-7-loongson-3-di xfs-modules-4.19.0-7-loongson-3-di fat-modules-4.19.0-7-loongson-3-di hfs-modules-4.19.0-7-loongson-3-di affs-modules-4.19.0-7-loongson-3-di minix-modules-4.19.0-7-loongson-3-di nfs-modules-4.19.0-7-loongson-3-di md-modules-4.19.0-7-loongson-3-di multipath-modules-4.19.0-7-loongson-3-di usb-modules-4.19.0-7-loongson-3-di usb-storage-modules-4.19.0-7-loongson-3-di fb-modules-4.19.0-7-loongson-3-di input-modules-4.19.0-7-loongson-3-di event-modules-4.19.0-7-loongson-3-di nic-usb-modules-4.19.0-7-loongson-3-di sata-modules-4.19.0-7-loongson-3-di crc-modules-4.19.0-7-loongson-3-di crypto-modules-4.19.0-7-loongson-3-di crypto-dm-modules-4.19.0-7-loongson-3-di ata-modules-4.19.0-7-loongson-3-di nbd-modules-4.19.0-7-loongson-3-di squashfs-modules-4.19.0-7-loongson-3-di speakup-modules-4.19.0-7-loongson-3-di sound-modules-4.19.0-7-loongson-3-di zlib-modules-4.19.0-7-loongson-3-di compress-modules-4.19.0-7-loongson-3-di udf-modules-4.19.0-7-loongson-3-di fuse-modules-4.19.0-7-loongson-3-di mtd-core-modules-4.19.0-7-loongson-3-di kernel-image-4.19.0-7-octeon-di nic-modules-4.19.0-7-octeon-di nic-wireless-modules-4.19.0-7-octeon-di nic-shared-modules-4.19.0-7-octeon-di usb-serial-modules-4.19.0-7-octeon-di ppp-modules-4.19.0-7-octeon-di pata-modules-4.19.0-7-octeon-di cdrom-core-modules-4.19.0-7-octeon-di scsi-core-modules-4.19.0-7-octeon-di scsi-modules-4.19.0-7-octeon-di scsi-nic-modules-4.19.0-7-octeon-di loop-modules-4.19.0-7-octeon-di btrfs-modules-4.19.0-7-octeon-di ext4-modules-4.19.0-7-octeon-di isofs-modules-4.19.0-7-octeon-di jfs-modules-4.19.0-7-octeon-di xfs-modules-4.19.0-7-octeon-di fat-modules-4.19.0-7-octeon-di hfs-modules-4.19.0-7-octeon-di affs-modules-4.19.0-7-octeon-di minix-modules-4.19.0-7-octeon-di md-modules-4.19.0-7-octeon-di multipath-modules-4.19.0-7-octeon-di usb-modules-4.19.0-7-octeon-di usb-storage-modules-4.19.0-7-octeon-di input-modules-4.19.0-7-octeon-di event-modules-4.19.0-7-octeon-di nic-usb-modules-4.19.0-7-octeon-di sata-modules-4.19.0-7-octeon-di crc-modules-4.19.0-7-octeon-di crypto-modules-4.19.0-7-octeon-di crypto-dm-modules-4.19.0-7-octeon-di nbd-modules-4.19.0-7-octeon-di squashfs-modules-4.19.0-7-octeon-di rtc-modules-4.19.0-7-octeon-di sound-modules-4.19.0-7-octeon-di zlib-modules-4.19.0-7-octeon-di compress-modules-4.19.0-7-octeon-di udf-modules-4.19.0-7-octeon-di fuse-modules-4.19.0-7-octeon-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_mips64el ABINAME='4.19.0-8' ARCH='mips64el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-5kc-malta-di nic-modules-4.19.0-8-5kc-malta-di nic-wireless-modules-4.19.0-8-5kc-malta-di nic-shared-modules-4.19.0-8-5kc-malta-di usb-serial-modules-4.19.0-8-5kc-malta-di ppp-modules-4.19.0-8-5kc-malta-di pata-modules-4.19.0-8-5kc-malta-di cdrom-core-modules-4.19.0-8-5kc-malta-di scsi-core-modules-4.19.0-8-5kc-malta-di scsi-modules-4.19.0-8-5kc-malta-di scsi-nic-modules-4.19.0-8-5kc-malta-di loop-modules-4.19.0-8-5kc-malta-di btrfs-modules-4.19.0-8-5kc-malta-di ext4-modules-4.19.0-8-5kc-malta-di isofs-modules-4.19.0-8-5kc-malta-di jfs-modules-4.19.0-8-5kc-malta-di xfs-modules-4.19.0-8-5kc-malta-di fat-modules-4.19.0-8-5kc-malta-di hfs-modules-4.19.0-8-5kc-malta-di affs-modules-4.19.0-8-5kc-malta-di minix-modules-4.19.0-8-5kc-malta-di md-modules-4.19.0-8-5kc-malta-di multipath-modules-4.19.0-8-5kc-malta-di usb-modules-4.19.0-8-5kc-malta-di usb-storage-modules-4.19.0-8-5kc-malta-di fb-modules-4.19.0-8-5kc-malta-di input-modules-4.19.0-8-5kc-malta-di event-modules-4.19.0-8-5kc-malta-di mouse-modules-4.19.0-8-5kc-malta-di nic-usb-modules-4.19.0-8-5kc-malta-di sata-modules-4.19.0-8-5kc-malta-di i2c-modules-4.19.0-8-5kc-malta-di crc-modules-4.19.0-8-5kc-malta-di crypto-modules-4.19.0-8-5kc-malta-di crypto-dm-modules-4.19.0-8-5kc-malta-di ata-modules-4.19.0-8-5kc-malta-di mmc-core-modules-4.19.0-8-5kc-malta-di mmc-modules-4.19.0-8-5kc-malta-di nbd-modules-4.19.0-8-5kc-malta-di squashfs-modules-4.19.0-8-5kc-malta-di sound-modules-4.19.0-8-5kc-malta-di zlib-modules-4.19.0-8-5kc-malta-di compress-modules-4.19.0-8-5kc-malta-di udf-modules-4.19.0-8-5kc-malta-di fuse-modules-4.19.0-8-5kc-malta-di mtd-core-modules-4.19.0-8-5kc-malta-di kernel-image-4.19.0-8-loongson-3-di nic-modules-4.19.0-8-loongson-3-di nic-wireless-modules-4.19.0-8-loongson-3-di nic-shared-modules-4.19.0-8-loongson-3-di usb-serial-modules-4.19.0-8-loongson-3-di ppp-modules-4.19.0-8-loongson-3-di pata-modules-4.19.0-8-loongson-3-di cdrom-core-modules-4.19.0-8-loongson-3-di firewire-core-modules-4.19.0-8-loongson-3-di scsi-core-modules-4.19.0-8-loongson-3-di scsi-modules-4.19.0-8-loongson-3-di scsi-nic-modules-4.19.0-8-loongson-3-di loop-modules-4.19.0-8-loongson-3-di btrfs-modules-4.19.0-8-loongson-3-di ext4-modules-4.19.0-8-loongson-3-di isofs-modules-4.19.0-8-loongson-3-di jfs-modules-4.19.0-8-loongson-3-di xfs-modules-4.19.0-8-loongson-3-di fat-modules-4.19.0-8-loongson-3-di hfs-modules-4.19.0-8-loongson-3-di affs-modules-4.19.0-8-loongson-3-di minix-modules-4.19.0-8-loongson-3-di nfs-modules-4.19.0-8-loongson-3-di md-modules-4.19.0-8-loongson-3-di multipath-modules-4.19.0-8-loongson-3-di usb-modules-4.19.0-8-loongson-3-di usb-storage-modules-4.19.0-8-loongson-3-di fb-modules-4.19.0-8-loongson-3-di input-modules-4.19.0-8-loongson-3-di event-modules-4.19.0-8-loongson-3-di nic-usb-modules-4.19.0-8-loongson-3-di sata-modules-4.19.0-8-loongson-3-di crc-modules-4.19.0-8-loongson-3-di crypto-modules-4.19.0-8-loongson-3-di crypto-dm-modules-4.19.0-8-loongson-3-di ata-modules-4.19.0-8-loongson-3-di nbd-modules-4.19.0-8-loongson-3-di squashfs-modules-4.19.0-8-loongson-3-di speakup-modules-4.19.0-8-loongson-3-di sound-modules-4.19.0-8-loongson-3-di zlib-modules-4.19.0-8-loongson-3-di compress-modules-4.19.0-8-loongson-3-di udf-modules-4.19.0-8-loongson-3-di fuse-modules-4.19.0-8-loongson-3-di mtd-core-modules-4.19.0-8-loongson-3-di kernel-image-4.19.0-8-octeon-di nic-modules-4.19.0-8-octeon-di nic-wireless-modules-4.19.0-8-octeon-di nic-shared-modules-4.19.0-8-octeon-di usb-serial-modules-4.19.0-8-octeon-di ppp-modules-4.19.0-8-octeon-di pata-modules-4.19.0-8-octeon-di cdrom-core-modules-4.19.0-8-octeon-di scsi-core-modules-4.19.0-8-octeon-di scsi-modules-4.19.0-8-octeon-di scsi-nic-modules-4.19.0-8-octeon-di loop-modules-4.19.0-8-octeon-di btrfs-modules-4.19.0-8-octeon-di ext4-modules-4.19.0-8-octeon-di isofs-modules-4.19.0-8-octeon-di jfs-modules-4.19.0-8-octeon-di xfs-modules-4.19.0-8-octeon-di fat-modules-4.19.0-8-octeon-di hfs-modules-4.19.0-8-octeon-di affs-modules-4.19.0-8-octeon-di minix-modules-4.19.0-8-octeon-di md-modules-4.19.0-8-octeon-di multipath-modules-4.19.0-8-octeon-di usb-modules-4.19.0-8-octeon-di usb-storage-modules-4.19.0-8-octeon-di input-modules-4.19.0-8-octeon-di event-modules-4.19.0-8-octeon-di nic-usb-modules-4.19.0-8-octeon-di sata-modules-4.19.0-8-octeon-di crc-modules-4.19.0-8-octeon-di crypto-modules-4.19.0-8-octeon-di crypto-dm-modules-4.19.0-8-octeon-di nbd-modules-4.19.0-8-octeon-di squashfs-modules-4.19.0-8-octeon-di rtc-modules-4.19.0-8-octeon-di sound-modules-4.19.0-8-octeon-di zlib-modules-4.19.0-8-octeon-di compress-modules-4.19.0-8-octeon-di udf-modules-4.19.0-8-octeon-di fuse-modules-4.19.0-8-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='4.19.0-7' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_mips64el_none_real: binary-arch_mips64el_real:: setup_mips64el binary-arch_mips64el_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='mips64el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='mips64el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_mips64r6:: binary-arch_mips64r6_none binary-arch_mips64r6_real binary-arch_mips64r6:: - $(MAKE) -f debian/rules.real install-udeb_mips64r6 ABINAME='4.19.0-7' ARCH='mips64r6' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-mips64r6-di nic-shared-modules-4.19.0-7-mips64r6-di loop-modules-4.19.0-7-mips64r6-di btrfs-modules-4.19.0-7-mips64r6-di ext4-modules-4.19.0-7-mips64r6-di isofs-modules-4.19.0-7-mips64r6-di jfs-modules-4.19.0-7-mips64r6-di xfs-modules-4.19.0-7-mips64r6-di md-modules-4.19.0-7-mips64r6-di multipath-modules-4.19.0-7-mips64r6-di crc-modules-4.19.0-7-mips64r6-di crypto-modules-4.19.0-7-mips64r6-di crypto-dm-modules-4.19.0-7-mips64r6-di nbd-modules-4.19.0-7-mips64r6-di squashfs-modules-4.19.0-7-mips64r6-di zlib-modules-4.19.0-7-mips64r6-di compress-modules-4.19.0-7-mips64r6-di udf-modules-4.19.0-7-mips64r6-di fuse-modules-4.19.0-7-mips64r6-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_mips64r6 ABINAME='4.19.0-8' ARCH='mips64r6' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-mips64r6-di nic-shared-modules-4.19.0-8-mips64r6-di loop-modules-4.19.0-8-mips64r6-di btrfs-modules-4.19.0-8-mips64r6-di ext4-modules-4.19.0-8-mips64r6-di isofs-modules-4.19.0-8-mips64r6-di jfs-modules-4.19.0-8-mips64r6-di xfs-modules-4.19.0-8-mips64r6-di md-modules-4.19.0-8-mips64r6-di multipath-modules-4.19.0-8-mips64r6-di crc-modules-4.19.0-8-mips64r6-di crypto-modules-4.19.0-8-mips64r6-di crypto-dm-modules-4.19.0-8-mips64r6-di nbd-modules-4.19.0-8-mips64r6-di squashfs-modules-4.19.0-8-mips64r6-di zlib-modules-4.19.0-8-mips64r6-di compress-modules-4.19.0-8-mips64r6-di udf-modules-4.19.0-8-mips64r6-di fuse-modules-4.19.0-8-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='4.19.0-7' ARCH='mips64r6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='mips64r6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_mips64r6_none_real: binary-arch_mips64r6_real:: setup_mips64r6 binary-arch_mips64r6_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='mips64r6' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='mips64r6' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_mips64r6el:: binary-arch_mips64r6el_none binary-arch_mips64r6el_real binary-arch_mips64r6el:: - $(MAKE) -f debian/rules.real install-udeb_mips64r6el ABINAME='4.19.0-7' ARCH='mips64r6el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-mips64r6el-di nic-shared-modules-4.19.0-7-mips64r6el-di loop-modules-4.19.0-7-mips64r6el-di btrfs-modules-4.19.0-7-mips64r6el-di ext4-modules-4.19.0-7-mips64r6el-di isofs-modules-4.19.0-7-mips64r6el-di jfs-modules-4.19.0-7-mips64r6el-di xfs-modules-4.19.0-7-mips64r6el-di md-modules-4.19.0-7-mips64r6el-di multipath-modules-4.19.0-7-mips64r6el-di crc-modules-4.19.0-7-mips64r6el-di crypto-modules-4.19.0-7-mips64r6el-di crypto-dm-modules-4.19.0-7-mips64r6el-di nbd-modules-4.19.0-7-mips64r6el-di squashfs-modules-4.19.0-7-mips64r6el-di zlib-modules-4.19.0-7-mips64r6el-di compress-modules-4.19.0-7-mips64r6el-di udf-modules-4.19.0-7-mips64r6el-di fuse-modules-4.19.0-7-mips64r6el-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_mips64r6el ABINAME='4.19.0-8' ARCH='mips64r6el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-mips64r6el-di nic-shared-modules-4.19.0-8-mips64r6el-di loop-modules-4.19.0-8-mips64r6el-di btrfs-modules-4.19.0-8-mips64r6el-di ext4-modules-4.19.0-8-mips64r6el-di isofs-modules-4.19.0-8-mips64r6el-di jfs-modules-4.19.0-8-mips64r6el-di xfs-modules-4.19.0-8-mips64r6el-di md-modules-4.19.0-8-mips64r6el-di multipath-modules-4.19.0-8-mips64r6el-di crc-modules-4.19.0-8-mips64r6el-di crypto-modules-4.19.0-8-mips64r6el-di crypto-dm-modules-4.19.0-8-mips64r6el-di nbd-modules-4.19.0-8-mips64r6el-di squashfs-modules-4.19.0-8-mips64r6el-di zlib-modules-4.19.0-8-mips64r6el-di compress-modules-4.19.0-8-mips64r6el-di udf-modules-4.19.0-8-mips64r6el-di fuse-modules-4.19.0-8-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='4.19.0-7' ARCH='mips64r6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='mips64r6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_mips64r6el_none_real: binary-arch_mips64r6el_real:: setup_mips64r6el binary-arch_mips64r6el_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='mips64r6el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='mips64r6el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_mips_none_real: binary-arch_mips_real:: setup_mips binary-arch_mips_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='mips' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='mips' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_mipsel:: binary-arch_mipsel_none binary-arch_mipsel_real binary-arch_mipsel:: - $(MAKE) -f debian/rules.real install-udeb_mipsel ABINAME='4.19.0-7' ARCH='mipsel' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-4kc-malta-di nic-modules-4.19.0-7-4kc-malta-di nic-wireless-modules-4.19.0-7-4kc-malta-di nic-shared-modules-4.19.0-7-4kc-malta-di usb-serial-modules-4.19.0-7-4kc-malta-di ppp-modules-4.19.0-7-4kc-malta-di pata-modules-4.19.0-7-4kc-malta-di cdrom-core-modules-4.19.0-7-4kc-malta-di scsi-core-modules-4.19.0-7-4kc-malta-di scsi-modules-4.19.0-7-4kc-malta-di scsi-nic-modules-4.19.0-7-4kc-malta-di loop-modules-4.19.0-7-4kc-malta-di btrfs-modules-4.19.0-7-4kc-malta-di ext4-modules-4.19.0-7-4kc-malta-di isofs-modules-4.19.0-7-4kc-malta-di jfs-modules-4.19.0-7-4kc-malta-di xfs-modules-4.19.0-7-4kc-malta-di fat-modules-4.19.0-7-4kc-malta-di hfs-modules-4.19.0-7-4kc-malta-di affs-modules-4.19.0-7-4kc-malta-di minix-modules-4.19.0-7-4kc-malta-di md-modules-4.19.0-7-4kc-malta-di multipath-modules-4.19.0-7-4kc-malta-di usb-modules-4.19.0-7-4kc-malta-di usb-storage-modules-4.19.0-7-4kc-malta-di fb-modules-4.19.0-7-4kc-malta-di input-modules-4.19.0-7-4kc-malta-di event-modules-4.19.0-7-4kc-malta-di mouse-modules-4.19.0-7-4kc-malta-di nic-usb-modules-4.19.0-7-4kc-malta-di sata-modules-4.19.0-7-4kc-malta-di i2c-modules-4.19.0-7-4kc-malta-di crc-modules-4.19.0-7-4kc-malta-di crypto-modules-4.19.0-7-4kc-malta-di crypto-dm-modules-4.19.0-7-4kc-malta-di ata-modules-4.19.0-7-4kc-malta-di mmc-core-modules-4.19.0-7-4kc-malta-di mmc-modules-4.19.0-7-4kc-malta-di nbd-modules-4.19.0-7-4kc-malta-di squashfs-modules-4.19.0-7-4kc-malta-di sound-modules-4.19.0-7-4kc-malta-di zlib-modules-4.19.0-7-4kc-malta-di compress-modules-4.19.0-7-4kc-malta-di udf-modules-4.19.0-7-4kc-malta-di fuse-modules-4.19.0-7-4kc-malta-di mtd-core-modules-4.19.0-7-4kc-malta-di kernel-image-4.19.0-7-loongson-3-di nic-modules-4.19.0-7-loongson-3-di nic-wireless-modules-4.19.0-7-loongson-3-di nic-shared-modules-4.19.0-7-loongson-3-di usb-serial-modules-4.19.0-7-loongson-3-di ppp-modules-4.19.0-7-loongson-3-di pata-modules-4.19.0-7-loongson-3-di cdrom-core-modules-4.19.0-7-loongson-3-di firewire-core-modules-4.19.0-7-loongson-3-di scsi-core-modules-4.19.0-7-loongson-3-di scsi-modules-4.19.0-7-loongson-3-di scsi-nic-modules-4.19.0-7-loongson-3-di loop-modules-4.19.0-7-loongson-3-di btrfs-modules-4.19.0-7-loongson-3-di ext4-modules-4.19.0-7-loongson-3-di isofs-modules-4.19.0-7-loongson-3-di jfs-modules-4.19.0-7-loongson-3-di xfs-modules-4.19.0-7-loongson-3-di fat-modules-4.19.0-7-loongson-3-di hfs-modules-4.19.0-7-loongson-3-di affs-modules-4.19.0-7-loongson-3-di minix-modules-4.19.0-7-loongson-3-di nfs-modules-4.19.0-7-loongson-3-di md-modules-4.19.0-7-loongson-3-di multipath-modules-4.19.0-7-loongson-3-di usb-modules-4.19.0-7-loongson-3-di usb-storage-modules-4.19.0-7-loongson-3-di fb-modules-4.19.0-7-loongson-3-di input-modules-4.19.0-7-loongson-3-di event-modules-4.19.0-7-loongson-3-di nic-usb-modules-4.19.0-7-loongson-3-di sata-modules-4.19.0-7-loongson-3-di crc-modules-4.19.0-7-loongson-3-di crypto-modules-4.19.0-7-loongson-3-di crypto-dm-modules-4.19.0-7-loongson-3-di ata-modules-4.19.0-7-loongson-3-di nbd-modules-4.19.0-7-loongson-3-di squashfs-modules-4.19.0-7-loongson-3-di speakup-modules-4.19.0-7-loongson-3-di sound-modules-4.19.0-7-loongson-3-di zlib-modules-4.19.0-7-loongson-3-di compress-modules-4.19.0-7-loongson-3-di udf-modules-4.19.0-7-loongson-3-di fuse-modules-4.19.0-7-loongson-3-di mtd-core-modules-4.19.0-7-loongson-3-di kernel-image-4.19.0-7-octeon-di nic-modules-4.19.0-7-octeon-di nic-wireless-modules-4.19.0-7-octeon-di nic-shared-modules-4.19.0-7-octeon-di usb-serial-modules-4.19.0-7-octeon-di ppp-modules-4.19.0-7-octeon-di pata-modules-4.19.0-7-octeon-di cdrom-core-modules-4.19.0-7-octeon-di scsi-core-modules-4.19.0-7-octeon-di scsi-modules-4.19.0-7-octeon-di scsi-nic-modules-4.19.0-7-octeon-di loop-modules-4.19.0-7-octeon-di btrfs-modules-4.19.0-7-octeon-di ext4-modules-4.19.0-7-octeon-di isofs-modules-4.19.0-7-octeon-di jfs-modules-4.19.0-7-octeon-di xfs-modules-4.19.0-7-octeon-di fat-modules-4.19.0-7-octeon-di hfs-modules-4.19.0-7-octeon-di affs-modules-4.19.0-7-octeon-di minix-modules-4.19.0-7-octeon-di md-modules-4.19.0-7-octeon-di multipath-modules-4.19.0-7-octeon-di usb-modules-4.19.0-7-octeon-di usb-storage-modules-4.19.0-7-octeon-di input-modules-4.19.0-7-octeon-di event-modules-4.19.0-7-octeon-di nic-usb-modules-4.19.0-7-octeon-di sata-modules-4.19.0-7-octeon-di crc-modules-4.19.0-7-octeon-di crypto-modules-4.19.0-7-octeon-di crypto-dm-modules-4.19.0-7-octeon-di nbd-modules-4.19.0-7-octeon-di squashfs-modules-4.19.0-7-octeon-di rtc-modules-4.19.0-7-octeon-di sound-modules-4.19.0-7-octeon-di zlib-modules-4.19.0-7-octeon-di compress-modules-4.19.0-7-octeon-di udf-modules-4.19.0-7-octeon-di fuse-modules-4.19.0-7-octeon-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_mipsel ABINAME='4.19.0-8' ARCH='mipsel' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-4kc-malta-di nic-modules-4.19.0-8-4kc-malta-di nic-wireless-modules-4.19.0-8-4kc-malta-di nic-shared-modules-4.19.0-8-4kc-malta-di usb-serial-modules-4.19.0-8-4kc-malta-di ppp-modules-4.19.0-8-4kc-malta-di pata-modules-4.19.0-8-4kc-malta-di cdrom-core-modules-4.19.0-8-4kc-malta-di scsi-core-modules-4.19.0-8-4kc-malta-di scsi-modules-4.19.0-8-4kc-malta-di scsi-nic-modules-4.19.0-8-4kc-malta-di loop-modules-4.19.0-8-4kc-malta-di btrfs-modules-4.19.0-8-4kc-malta-di ext4-modules-4.19.0-8-4kc-malta-di isofs-modules-4.19.0-8-4kc-malta-di jfs-modules-4.19.0-8-4kc-malta-di xfs-modules-4.19.0-8-4kc-malta-di fat-modules-4.19.0-8-4kc-malta-di hfs-modules-4.19.0-8-4kc-malta-di affs-modules-4.19.0-8-4kc-malta-di minix-modules-4.19.0-8-4kc-malta-di md-modules-4.19.0-8-4kc-malta-di multipath-modules-4.19.0-8-4kc-malta-di usb-modules-4.19.0-8-4kc-malta-di usb-storage-modules-4.19.0-8-4kc-malta-di fb-modules-4.19.0-8-4kc-malta-di input-modules-4.19.0-8-4kc-malta-di event-modules-4.19.0-8-4kc-malta-di mouse-modules-4.19.0-8-4kc-malta-di nic-usb-modules-4.19.0-8-4kc-malta-di sata-modules-4.19.0-8-4kc-malta-di i2c-modules-4.19.0-8-4kc-malta-di crc-modules-4.19.0-8-4kc-malta-di crypto-modules-4.19.0-8-4kc-malta-di crypto-dm-modules-4.19.0-8-4kc-malta-di ata-modules-4.19.0-8-4kc-malta-di mmc-core-modules-4.19.0-8-4kc-malta-di mmc-modules-4.19.0-8-4kc-malta-di nbd-modules-4.19.0-8-4kc-malta-di squashfs-modules-4.19.0-8-4kc-malta-di sound-modules-4.19.0-8-4kc-malta-di zlib-modules-4.19.0-8-4kc-malta-di compress-modules-4.19.0-8-4kc-malta-di udf-modules-4.19.0-8-4kc-malta-di fuse-modules-4.19.0-8-4kc-malta-di mtd-core-modules-4.19.0-8-4kc-malta-di kernel-image-4.19.0-8-loongson-3-di nic-modules-4.19.0-8-loongson-3-di nic-wireless-modules-4.19.0-8-loongson-3-di nic-shared-modules-4.19.0-8-loongson-3-di usb-serial-modules-4.19.0-8-loongson-3-di ppp-modules-4.19.0-8-loongson-3-di pata-modules-4.19.0-8-loongson-3-di cdrom-core-modules-4.19.0-8-loongson-3-di firewire-core-modules-4.19.0-8-loongson-3-di scsi-core-modules-4.19.0-8-loongson-3-di scsi-modules-4.19.0-8-loongson-3-di scsi-nic-modules-4.19.0-8-loongson-3-di loop-modules-4.19.0-8-loongson-3-di btrfs-modules-4.19.0-8-loongson-3-di ext4-modules-4.19.0-8-loongson-3-di isofs-modules-4.19.0-8-loongson-3-di jfs-modules-4.19.0-8-loongson-3-di xfs-modules-4.19.0-8-loongson-3-di fat-modules-4.19.0-8-loongson-3-di hfs-modules-4.19.0-8-loongson-3-di affs-modules-4.19.0-8-loongson-3-di minix-modules-4.19.0-8-loongson-3-di nfs-modules-4.19.0-8-loongson-3-di md-modules-4.19.0-8-loongson-3-di multipath-modules-4.19.0-8-loongson-3-di usb-modules-4.19.0-8-loongson-3-di usb-storage-modules-4.19.0-8-loongson-3-di fb-modules-4.19.0-8-loongson-3-di input-modules-4.19.0-8-loongson-3-di event-modules-4.19.0-8-loongson-3-di nic-usb-modules-4.19.0-8-loongson-3-di sata-modules-4.19.0-8-loongson-3-di crc-modules-4.19.0-8-loongson-3-di crypto-modules-4.19.0-8-loongson-3-di crypto-dm-modules-4.19.0-8-loongson-3-di ata-modules-4.19.0-8-loongson-3-di nbd-modules-4.19.0-8-loongson-3-di squashfs-modules-4.19.0-8-loongson-3-di speakup-modules-4.19.0-8-loongson-3-di sound-modules-4.19.0-8-loongson-3-di zlib-modules-4.19.0-8-loongson-3-di compress-modules-4.19.0-8-loongson-3-di udf-modules-4.19.0-8-loongson-3-di fuse-modules-4.19.0-8-loongson-3-di mtd-core-modules-4.19.0-8-loongson-3-di kernel-image-4.19.0-8-octeon-di nic-modules-4.19.0-8-octeon-di nic-wireless-modules-4.19.0-8-octeon-di nic-shared-modules-4.19.0-8-octeon-di usb-serial-modules-4.19.0-8-octeon-di ppp-modules-4.19.0-8-octeon-di pata-modules-4.19.0-8-octeon-di cdrom-core-modules-4.19.0-8-octeon-di scsi-core-modules-4.19.0-8-octeon-di scsi-modules-4.19.0-8-octeon-di scsi-nic-modules-4.19.0-8-octeon-di loop-modules-4.19.0-8-octeon-di btrfs-modules-4.19.0-8-octeon-di ext4-modules-4.19.0-8-octeon-di isofs-modules-4.19.0-8-octeon-di jfs-modules-4.19.0-8-octeon-di xfs-modules-4.19.0-8-octeon-di fat-modules-4.19.0-8-octeon-di hfs-modules-4.19.0-8-octeon-di affs-modules-4.19.0-8-octeon-di minix-modules-4.19.0-8-octeon-di md-modules-4.19.0-8-octeon-di multipath-modules-4.19.0-8-octeon-di usb-modules-4.19.0-8-octeon-di usb-storage-modules-4.19.0-8-octeon-di input-modules-4.19.0-8-octeon-di event-modules-4.19.0-8-octeon-di nic-usb-modules-4.19.0-8-octeon-di sata-modules-4.19.0-8-octeon-di crc-modules-4.19.0-8-octeon-di crypto-modules-4.19.0-8-octeon-di crypto-dm-modules-4.19.0-8-octeon-di nbd-modules-4.19.0-8-octeon-di squashfs-modules-4.19.0-8-octeon-di rtc-modules-4.19.0-8-octeon-di sound-modules-4.19.0-8-octeon-di zlib-modules-4.19.0-8-octeon-di compress-modules-4.19.0-8-octeon-di udf-modules-4.19.0-8-octeon-di fuse-modules-4.19.0-8-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='4.19.0-7' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_mipsel_none_real: binary-arch_mipsel_real:: setup_mipsel binary-arch_mipsel_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='mipsel' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='mipsel' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mipsn32' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='mipsn32' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mipsn32el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='mipsn32el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mipsn32r6' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='mipsn32r6' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mipsn32r6el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='mipsn32r6el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_mipsr6:: binary-arch_mipsr6_none binary-arch_mipsr6_real binary-arch_mipsr6:: - $(MAKE) -f debian/rules.real install-udeb_mipsr6 ABINAME='4.19.0-7' ARCH='mipsr6' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-mips32r6-di nic-shared-modules-4.19.0-7-mips32r6-di loop-modules-4.19.0-7-mips32r6-di btrfs-modules-4.19.0-7-mips32r6-di ext4-modules-4.19.0-7-mips32r6-di isofs-modules-4.19.0-7-mips32r6-di jfs-modules-4.19.0-7-mips32r6-di xfs-modules-4.19.0-7-mips32r6-di md-modules-4.19.0-7-mips32r6-di multipath-modules-4.19.0-7-mips32r6-di crc-modules-4.19.0-7-mips32r6-di crypto-modules-4.19.0-7-mips32r6-di crypto-dm-modules-4.19.0-7-mips32r6-di nbd-modules-4.19.0-7-mips32r6-di squashfs-modules-4.19.0-7-mips32r6-di zlib-modules-4.19.0-7-mips32r6-di compress-modules-4.19.0-7-mips32r6-di udf-modules-4.19.0-7-mips32r6-di fuse-modules-4.19.0-7-mips32r6-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_mipsr6 ABINAME='4.19.0-8' ARCH='mipsr6' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-mips32r6-di nic-shared-modules-4.19.0-8-mips32r6-di loop-modules-4.19.0-8-mips32r6-di btrfs-modules-4.19.0-8-mips32r6-di ext4-modules-4.19.0-8-mips32r6-di isofs-modules-4.19.0-8-mips32r6-di jfs-modules-4.19.0-8-mips32r6-di xfs-modules-4.19.0-8-mips32r6-di md-modules-4.19.0-8-mips32r6-di multipath-modules-4.19.0-8-mips32r6-di crc-modules-4.19.0-8-mips32r6-di crypto-modules-4.19.0-8-mips32r6-di crypto-dm-modules-4.19.0-8-mips32r6-di nbd-modules-4.19.0-8-mips32r6-di squashfs-modules-4.19.0-8-mips32r6-di zlib-modules-4.19.0-8-mips32r6-di compress-modules-4.19.0-8-mips32r6-di udf-modules-4.19.0-8-mips32r6-di fuse-modules-4.19.0-8-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='4.19.0-7' ARCH='mipsr6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips32r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='mipsr6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips32r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mipsr6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='mipsr6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_mipsr6_none_real: binary-arch_mipsr6_real:: setup_mipsr6 binary-arch_mipsr6_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='mipsr6' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='mipsr6' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_mipsr6el:: binary-arch_mipsr6el_none binary-arch_mipsr6el_real binary-arch_mipsr6el:: - $(MAKE) -f debian/rules.real install-udeb_mipsr6el ABINAME='4.19.0-7' ARCH='mipsr6el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-mips32r6el-di nic-shared-modules-4.19.0-7-mips32r6el-di loop-modules-4.19.0-7-mips32r6el-di btrfs-modules-4.19.0-7-mips32r6el-di ext4-modules-4.19.0-7-mips32r6el-di isofs-modules-4.19.0-7-mips32r6el-di jfs-modules-4.19.0-7-mips32r6el-di xfs-modules-4.19.0-7-mips32r6el-di md-modules-4.19.0-7-mips32r6el-di multipath-modules-4.19.0-7-mips32r6el-di crc-modules-4.19.0-7-mips32r6el-di crypto-modules-4.19.0-7-mips32r6el-di crypto-dm-modules-4.19.0-7-mips32r6el-di nbd-modules-4.19.0-7-mips32r6el-di squashfs-modules-4.19.0-7-mips32r6el-di zlib-modules-4.19.0-7-mips32r6el-di compress-modules-4.19.0-7-mips32r6el-di udf-modules-4.19.0-7-mips32r6el-di fuse-modules-4.19.0-7-mips32r6el-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_mipsr6el ABINAME='4.19.0-8' ARCH='mipsr6el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-mips32r6el-di nic-shared-modules-4.19.0-8-mips32r6el-di loop-modules-4.19.0-8-mips32r6el-di btrfs-modules-4.19.0-8-mips32r6el-di ext4-modules-4.19.0-8-mips32r6el-di isofs-modules-4.19.0-8-mips32r6el-di jfs-modules-4.19.0-8-mips32r6el-di xfs-modules-4.19.0-8-mips32r6el-di md-modules-4.19.0-8-mips32r6el-di multipath-modules-4.19.0-8-mips32r6el-di crc-modules-4.19.0-8-mips32r6el-di crypto-modules-4.19.0-8-mips32r6el-di crypto-dm-modules-4.19.0-8-mips32r6el-di nbd-modules-4.19.0-8-mips32r6el-di squashfs-modules-4.19.0-8-mips32r6el-di zlib-modules-4.19.0-8-mips32r6el-di compress-modules-4.19.0-8-mips32r6el-di udf-modules-4.19.0-8-mips32r6el-di fuse-modules-4.19.0-8-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='4.19.0-7' ARCH='mipsr6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips32r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6el' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='mipsr6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips32r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6el' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mipsr6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='mipsr6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_mipsr6el_none_real: binary-arch_mipsr6el_real:: setup_mipsr6el binary-arch_mipsr6el_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='mipsr6el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='mipsr6el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_powerpc:: binary-arch_powerpc_none binary-arch_powerpc_real binary-arch_powerpc:: - $(MAKE) -f debian/rules.real install-udeb_powerpc ABINAME='4.19.0-7' ARCH='powerpc' KERNEL_ARCH='powerpc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-powerpc-di nic-modules-4.19.0-7-powerpc-di nic-wireless-modules-4.19.0-7-powerpc-di nic-shared-modules-4.19.0-7-powerpc-di serial-modules-4.19.0-7-powerpc-di usb-serial-modules-4.19.0-7-powerpc-di ppp-modules-4.19.0-7-powerpc-di pata-modules-4.19.0-7-powerpc-di cdrom-core-modules-4.19.0-7-powerpc-di firewire-core-modules-4.19.0-7-powerpc-di scsi-core-modules-4.19.0-7-powerpc-di scsi-modules-4.19.0-7-powerpc-di scsi-nic-modules-4.19.0-7-powerpc-di loop-modules-4.19.0-7-powerpc-di btrfs-modules-4.19.0-7-powerpc-di ext4-modules-4.19.0-7-powerpc-di isofs-modules-4.19.0-7-powerpc-di jfs-modules-4.19.0-7-powerpc-di xfs-modules-4.19.0-7-powerpc-di fat-modules-4.19.0-7-powerpc-di hfs-modules-4.19.0-7-powerpc-di affs-modules-4.19.0-7-powerpc-di md-modules-4.19.0-7-powerpc-di multipath-modules-4.19.0-7-powerpc-di usb-modules-4.19.0-7-powerpc-di usb-storage-modules-4.19.0-7-powerpc-di pcmcia-storage-modules-4.19.0-7-powerpc-di fb-modules-4.19.0-7-powerpc-di input-modules-4.19.0-7-powerpc-di event-modules-4.19.0-7-powerpc-di mouse-modules-4.19.0-7-powerpc-di nic-pcmcia-modules-4.19.0-7-powerpc-di pcmcia-modules-4.19.0-7-powerpc-di nic-usb-modules-4.19.0-7-powerpc-di sata-modules-4.19.0-7-powerpc-di crc-modules-4.19.0-7-powerpc-di crypto-modules-4.19.0-7-powerpc-di crypto-dm-modules-4.19.0-7-powerpc-di ata-modules-4.19.0-7-powerpc-di mmc-core-modules-4.19.0-7-powerpc-di nbd-modules-4.19.0-7-powerpc-di squashfs-modules-4.19.0-7-powerpc-di uinput-modules-4.19.0-7-powerpc-di zlib-modules-4.19.0-7-powerpc-di compress-modules-4.19.0-7-powerpc-di udf-modules-4.19.0-7-powerpc-di fuse-modules-4.19.0-7-powerpc-di kernel-image-4.19.0-7-powerpc64-di nic-modules-4.19.0-7-powerpc64-di nic-wireless-modules-4.19.0-7-powerpc64-di nic-shared-modules-4.19.0-7-powerpc64-di serial-modules-4.19.0-7-powerpc64-di usb-serial-modules-4.19.0-7-powerpc64-di ppp-modules-4.19.0-7-powerpc64-di pata-modules-4.19.0-7-powerpc64-di cdrom-core-modules-4.19.0-7-powerpc64-di firewire-core-modules-4.19.0-7-powerpc64-di scsi-core-modules-4.19.0-7-powerpc64-di scsi-modules-4.19.0-7-powerpc64-di scsi-nic-modules-4.19.0-7-powerpc64-di loop-modules-4.19.0-7-powerpc64-di btrfs-modules-4.19.0-7-powerpc64-di ext4-modules-4.19.0-7-powerpc64-di isofs-modules-4.19.0-7-powerpc64-di jfs-modules-4.19.0-7-powerpc64-di xfs-modules-4.19.0-7-powerpc64-di fat-modules-4.19.0-7-powerpc64-di hfs-modules-4.19.0-7-powerpc64-di affs-modules-4.19.0-7-powerpc64-di md-modules-4.19.0-7-powerpc64-di multipath-modules-4.19.0-7-powerpc64-di usb-modules-4.19.0-7-powerpc64-di usb-storage-modules-4.19.0-7-powerpc64-di pcmcia-storage-modules-4.19.0-7-powerpc64-di fb-modules-4.19.0-7-powerpc64-di input-modules-4.19.0-7-powerpc64-di event-modules-4.19.0-7-powerpc64-di mouse-modules-4.19.0-7-powerpc64-di nic-pcmcia-modules-4.19.0-7-powerpc64-di pcmcia-modules-4.19.0-7-powerpc64-di nic-usb-modules-4.19.0-7-powerpc64-di sata-modules-4.19.0-7-powerpc64-di i2c-modules-4.19.0-7-powerpc64-di crc-modules-4.19.0-7-powerpc64-di crypto-modules-4.19.0-7-powerpc64-di crypto-dm-modules-4.19.0-7-powerpc64-di ata-modules-4.19.0-7-powerpc64-di mmc-core-modules-4.19.0-7-powerpc64-di nbd-modules-4.19.0-7-powerpc64-di squashfs-modules-4.19.0-7-powerpc64-di uinput-modules-4.19.0-7-powerpc64-di compress-modules-4.19.0-7-powerpc64-di udf-modules-4.19.0-7-powerpc64-di fuse-modules-4.19.0-7-powerpc64-di mtd-core-modules-4.19.0-7-powerpc64-di hypervisor-modules-4.19.0-7-powerpc64-di fancontrol-modules-4.19.0-7-powerpc64-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_powerpc ABINAME='4.19.0-8' ARCH='powerpc' KERNEL_ARCH='powerpc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-powerpc-di nic-modules-4.19.0-8-powerpc-di nic-wireless-modules-4.19.0-8-powerpc-di nic-shared-modules-4.19.0-8-powerpc-di serial-modules-4.19.0-8-powerpc-di usb-serial-modules-4.19.0-8-powerpc-di ppp-modules-4.19.0-8-powerpc-di pata-modules-4.19.0-8-powerpc-di cdrom-core-modules-4.19.0-8-powerpc-di firewire-core-modules-4.19.0-8-powerpc-di scsi-core-modules-4.19.0-8-powerpc-di scsi-modules-4.19.0-8-powerpc-di scsi-nic-modules-4.19.0-8-powerpc-di loop-modules-4.19.0-8-powerpc-di btrfs-modules-4.19.0-8-powerpc-di ext4-modules-4.19.0-8-powerpc-di isofs-modules-4.19.0-8-powerpc-di jfs-modules-4.19.0-8-powerpc-di xfs-modules-4.19.0-8-powerpc-di fat-modules-4.19.0-8-powerpc-di hfs-modules-4.19.0-8-powerpc-di affs-modules-4.19.0-8-powerpc-di md-modules-4.19.0-8-powerpc-di multipath-modules-4.19.0-8-powerpc-di usb-modules-4.19.0-8-powerpc-di usb-storage-modules-4.19.0-8-powerpc-di pcmcia-storage-modules-4.19.0-8-powerpc-di fb-modules-4.19.0-8-powerpc-di input-modules-4.19.0-8-powerpc-di event-modules-4.19.0-8-powerpc-di mouse-modules-4.19.0-8-powerpc-di nic-pcmcia-modules-4.19.0-8-powerpc-di pcmcia-modules-4.19.0-8-powerpc-di nic-usb-modules-4.19.0-8-powerpc-di sata-modules-4.19.0-8-powerpc-di crc-modules-4.19.0-8-powerpc-di crypto-modules-4.19.0-8-powerpc-di crypto-dm-modules-4.19.0-8-powerpc-di ata-modules-4.19.0-8-powerpc-di mmc-core-modules-4.19.0-8-powerpc-di nbd-modules-4.19.0-8-powerpc-di squashfs-modules-4.19.0-8-powerpc-di uinput-modules-4.19.0-8-powerpc-di zlib-modules-4.19.0-8-powerpc-di compress-modules-4.19.0-8-powerpc-di udf-modules-4.19.0-8-powerpc-di fuse-modules-4.19.0-8-powerpc-di kernel-image-4.19.0-8-powerpc64-di nic-modules-4.19.0-8-powerpc64-di nic-wireless-modules-4.19.0-8-powerpc64-di nic-shared-modules-4.19.0-8-powerpc64-di serial-modules-4.19.0-8-powerpc64-di usb-serial-modules-4.19.0-8-powerpc64-di ppp-modules-4.19.0-8-powerpc64-di pata-modules-4.19.0-8-powerpc64-di cdrom-core-modules-4.19.0-8-powerpc64-di firewire-core-modules-4.19.0-8-powerpc64-di scsi-core-modules-4.19.0-8-powerpc64-di scsi-modules-4.19.0-8-powerpc64-di scsi-nic-modules-4.19.0-8-powerpc64-di loop-modules-4.19.0-8-powerpc64-di btrfs-modules-4.19.0-8-powerpc64-di ext4-modules-4.19.0-8-powerpc64-di isofs-modules-4.19.0-8-powerpc64-di jfs-modules-4.19.0-8-powerpc64-di xfs-modules-4.19.0-8-powerpc64-di fat-modules-4.19.0-8-powerpc64-di hfs-modules-4.19.0-8-powerpc64-di affs-modules-4.19.0-8-powerpc64-di md-modules-4.19.0-8-powerpc64-di multipath-modules-4.19.0-8-powerpc64-di usb-modules-4.19.0-8-powerpc64-di usb-storage-modules-4.19.0-8-powerpc64-di pcmcia-storage-modules-4.19.0-8-powerpc64-di fb-modules-4.19.0-8-powerpc64-di input-modules-4.19.0-8-powerpc64-di event-modules-4.19.0-8-powerpc64-di mouse-modules-4.19.0-8-powerpc64-di nic-pcmcia-modules-4.19.0-8-powerpc64-di pcmcia-modules-4.19.0-8-powerpc64-di nic-usb-modules-4.19.0-8-powerpc64-di sata-modules-4.19.0-8-powerpc64-di i2c-modules-4.19.0-8-powerpc64-di crc-modules-4.19.0-8-powerpc64-di crypto-modules-4.19.0-8-powerpc64-di crypto-dm-modules-4.19.0-8-powerpc64-di ata-modules-4.19.0-8-powerpc64-di mmc-core-modules-4.19.0-8-powerpc64-di nbd-modules-4.19.0-8-powerpc64-di squashfs-modules-4.19.0-8-powerpc64-di uinput-modules-4.19.0-8-powerpc64-di compress-modules-4.19.0-8-powerpc64-di udf-modules-4.19.0-8-powerpc64-di fuse-modules-4.19.0-8-powerpc64-di mtd-core-modules-4.19.0-8-powerpc64-di hypervisor-modules-4.19.0-8-powerpc64-di fancontrol-modules-4.19.0-8-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='4.19.0-7' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-powerpc-smp\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc-smp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-powerpc-smp\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc-smp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' 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='4.19.0-7' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' binary-arch_powerpc_none_powerpc_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-7' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-powerpc' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-powerpc\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-powerpc' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-powerpc\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' binary-arch_powerpc_none_real: binary-arch_powerpc_real:: setup_powerpc binary-arch_powerpc_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='powerpc' KERNEL_ARCH='powerpc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='powerpc' KERNEL_ARCH='powerpc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_powerpcspe: binary-arch_powerpcspe_none binary-arch_powerpcspe_real binary-arch_powerpcspe_none: binary-arch_powerpcspe_none_powerpcspe binary-arch_powerpcspe_none_real binary-arch_powerpcspe_none_powerpcspe: binary-arch_powerpcspe_none_powerpcspe_real binary-arch_powerpcspe_none_powerpcspe_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-7' ARCH='powerpcspe' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpcspe' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-powerpcspe' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpcspe/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-powerpcspe\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpcspe' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpcspe' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='powerpcspe' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpcspe' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-powerpcspe' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpcspe/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-powerpcspe\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpcspe' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpcspe' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' binary-arch_powerpcspe_none_real: binary-arch_powerpcspe_real:: setup_powerpcspe binary-arch_powerpcspe_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='powerpcspe' KERNEL_ARCH='powerpc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='powerpcspe' KERNEL_ARCH='powerpc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_ppc64:: binary-arch_ppc64_none binary-arch_ppc64_real binary-arch_ppc64:: - $(MAKE) -f debian/rules.real install-udeb_ppc64 ABINAME='4.19.0-7' ARCH='ppc64' KERNEL_ARCH='powerpc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-powerpc64-di nic-modules-4.19.0-7-powerpc64-di nic-wireless-modules-4.19.0-7-powerpc64-di nic-shared-modules-4.19.0-7-powerpc64-di serial-modules-4.19.0-7-powerpc64-di usb-serial-modules-4.19.0-7-powerpc64-di ppp-modules-4.19.0-7-powerpc64-di pata-modules-4.19.0-7-powerpc64-di cdrom-core-modules-4.19.0-7-powerpc64-di firewire-core-modules-4.19.0-7-powerpc64-di scsi-core-modules-4.19.0-7-powerpc64-di scsi-modules-4.19.0-7-powerpc64-di scsi-nic-modules-4.19.0-7-powerpc64-di loop-modules-4.19.0-7-powerpc64-di btrfs-modules-4.19.0-7-powerpc64-di ext4-modules-4.19.0-7-powerpc64-di isofs-modules-4.19.0-7-powerpc64-di jfs-modules-4.19.0-7-powerpc64-di xfs-modules-4.19.0-7-powerpc64-di fat-modules-4.19.0-7-powerpc64-di hfs-modules-4.19.0-7-powerpc64-di affs-modules-4.19.0-7-powerpc64-di md-modules-4.19.0-7-powerpc64-di multipath-modules-4.19.0-7-powerpc64-di usb-modules-4.19.0-7-powerpc64-di usb-storage-modules-4.19.0-7-powerpc64-di pcmcia-storage-modules-4.19.0-7-powerpc64-di fb-modules-4.19.0-7-powerpc64-di input-modules-4.19.0-7-powerpc64-di event-modules-4.19.0-7-powerpc64-di mouse-modules-4.19.0-7-powerpc64-di nic-pcmcia-modules-4.19.0-7-powerpc64-di pcmcia-modules-4.19.0-7-powerpc64-di nic-usb-modules-4.19.0-7-powerpc64-di sata-modules-4.19.0-7-powerpc64-di i2c-modules-4.19.0-7-powerpc64-di crc-modules-4.19.0-7-powerpc64-di crypto-modules-4.19.0-7-powerpc64-di crypto-dm-modules-4.19.0-7-powerpc64-di ata-modules-4.19.0-7-powerpc64-di mmc-core-modules-4.19.0-7-powerpc64-di nbd-modules-4.19.0-7-powerpc64-di squashfs-modules-4.19.0-7-powerpc64-di uinput-modules-4.19.0-7-powerpc64-di compress-modules-4.19.0-7-powerpc64-di udf-modules-4.19.0-7-powerpc64-di fuse-modules-4.19.0-7-powerpc64-di mtd-core-modules-4.19.0-7-powerpc64-di hypervisor-modules-4.19.0-7-powerpc64-di fancontrol-modules-4.19.0-7-powerpc64-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_ppc64 ABINAME='4.19.0-8' ARCH='ppc64' KERNEL_ARCH='powerpc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-powerpc64-di nic-modules-4.19.0-8-powerpc64-di nic-wireless-modules-4.19.0-8-powerpc64-di nic-shared-modules-4.19.0-8-powerpc64-di serial-modules-4.19.0-8-powerpc64-di usb-serial-modules-4.19.0-8-powerpc64-di ppp-modules-4.19.0-8-powerpc64-di pata-modules-4.19.0-8-powerpc64-di cdrom-core-modules-4.19.0-8-powerpc64-di firewire-core-modules-4.19.0-8-powerpc64-di scsi-core-modules-4.19.0-8-powerpc64-di scsi-modules-4.19.0-8-powerpc64-di scsi-nic-modules-4.19.0-8-powerpc64-di loop-modules-4.19.0-8-powerpc64-di btrfs-modules-4.19.0-8-powerpc64-di ext4-modules-4.19.0-8-powerpc64-di isofs-modules-4.19.0-8-powerpc64-di jfs-modules-4.19.0-8-powerpc64-di xfs-modules-4.19.0-8-powerpc64-di fat-modules-4.19.0-8-powerpc64-di hfs-modules-4.19.0-8-powerpc64-di affs-modules-4.19.0-8-powerpc64-di md-modules-4.19.0-8-powerpc64-di multipath-modules-4.19.0-8-powerpc64-di usb-modules-4.19.0-8-powerpc64-di usb-storage-modules-4.19.0-8-powerpc64-di pcmcia-storage-modules-4.19.0-8-powerpc64-di fb-modules-4.19.0-8-powerpc64-di input-modules-4.19.0-8-powerpc64-di event-modules-4.19.0-8-powerpc64-di mouse-modules-4.19.0-8-powerpc64-di nic-pcmcia-modules-4.19.0-8-powerpc64-di pcmcia-modules-4.19.0-8-powerpc64-di nic-usb-modules-4.19.0-8-powerpc64-di sata-modules-4.19.0-8-powerpc64-di i2c-modules-4.19.0-8-powerpc64-di crc-modules-4.19.0-8-powerpc64-di crypto-modules-4.19.0-8-powerpc64-di crypto-dm-modules-4.19.0-8-powerpc64-di ata-modules-4.19.0-8-powerpc64-di mmc-core-modules-4.19.0-8-powerpc64-di nbd-modules-4.19.0-8-powerpc64-di squashfs-modules-4.19.0-8-powerpc64-di uinput-modules-4.19.0-8-powerpc64-di compress-modules-4.19.0-8-powerpc64-di udf-modules-4.19.0-8-powerpc64-di fuse-modules-4.19.0-8-powerpc64-di mtd-core-modules-4.19.0-8-powerpc64-di hypervisor-modules-4.19.0-8-powerpc64-di fancontrol-modules-4.19.0-8-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='4.19.0-7' ARCH='ppc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='ppc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' binary-arch_ppc64_none_real: binary-arch_ppc64_real:: setup_ppc64 binary-arch_ppc64_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='ppc64' KERNEL_ARCH='powerpc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='ppc64' KERNEL_ARCH='powerpc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_ppc64el:: binary-arch_ppc64el_none binary-arch_ppc64el_real binary-arch_ppc64el:: - $(MAKE) -f debian/rules.real install-udeb_ppc64el ABINAME='4.19.0-7' ARCH='ppc64el' KERNEL_ARCH='powerpc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-powerpc64le-di nic-modules-4.19.0-7-powerpc64le-di nic-wireless-modules-4.19.0-7-powerpc64le-di nic-shared-modules-4.19.0-7-powerpc64le-di serial-modules-4.19.0-7-powerpc64le-di usb-serial-modules-4.19.0-7-powerpc64le-di ppp-modules-4.19.0-7-powerpc64le-di cdrom-core-modules-4.19.0-7-powerpc64le-di firewire-core-modules-4.19.0-7-powerpc64le-di scsi-core-modules-4.19.0-7-powerpc64le-di scsi-modules-4.19.0-7-powerpc64le-di scsi-nic-modules-4.19.0-7-powerpc64le-di loop-modules-4.19.0-7-powerpc64le-di btrfs-modules-4.19.0-7-powerpc64le-di ext4-modules-4.19.0-7-powerpc64le-di isofs-modules-4.19.0-7-powerpc64le-di jfs-modules-4.19.0-7-powerpc64le-di xfs-modules-4.19.0-7-powerpc64le-di fat-modules-4.19.0-7-powerpc64le-di md-modules-4.19.0-7-powerpc64le-di multipath-modules-4.19.0-7-powerpc64le-di usb-modules-4.19.0-7-powerpc64le-di usb-storage-modules-4.19.0-7-powerpc64le-di fb-modules-4.19.0-7-powerpc64le-di input-modules-4.19.0-7-powerpc64le-di event-modules-4.19.0-7-powerpc64le-di mouse-modules-4.19.0-7-powerpc64le-di nic-usb-modules-4.19.0-7-powerpc64le-di sata-modules-4.19.0-7-powerpc64le-di i2c-modules-4.19.0-7-powerpc64le-di crc-modules-4.19.0-7-powerpc64le-di crypto-modules-4.19.0-7-powerpc64le-di crypto-dm-modules-4.19.0-7-powerpc64le-di ata-modules-4.19.0-7-powerpc64le-di nbd-modules-4.19.0-7-powerpc64le-di squashfs-modules-4.19.0-7-powerpc64le-di uinput-modules-4.19.0-7-powerpc64le-di compress-modules-4.19.0-7-powerpc64le-di udf-modules-4.19.0-7-powerpc64le-di fuse-modules-4.19.0-7-powerpc64le-di mtd-core-modules-4.19.0-7-powerpc64le-di hypervisor-modules-4.19.0-7-powerpc64le-di fancontrol-modules-4.19.0-7-powerpc64le-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_ppc64el ABINAME='4.19.0-8' ARCH='ppc64el' KERNEL_ARCH='powerpc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-powerpc64le-di nic-modules-4.19.0-8-powerpc64le-di nic-wireless-modules-4.19.0-8-powerpc64le-di nic-shared-modules-4.19.0-8-powerpc64le-di serial-modules-4.19.0-8-powerpc64le-di usb-serial-modules-4.19.0-8-powerpc64le-di ppp-modules-4.19.0-8-powerpc64le-di cdrom-core-modules-4.19.0-8-powerpc64le-di firewire-core-modules-4.19.0-8-powerpc64le-di scsi-core-modules-4.19.0-8-powerpc64le-di scsi-modules-4.19.0-8-powerpc64le-di scsi-nic-modules-4.19.0-8-powerpc64le-di loop-modules-4.19.0-8-powerpc64le-di btrfs-modules-4.19.0-8-powerpc64le-di ext4-modules-4.19.0-8-powerpc64le-di isofs-modules-4.19.0-8-powerpc64le-di jfs-modules-4.19.0-8-powerpc64le-di xfs-modules-4.19.0-8-powerpc64le-di fat-modules-4.19.0-8-powerpc64le-di md-modules-4.19.0-8-powerpc64le-di multipath-modules-4.19.0-8-powerpc64le-di usb-modules-4.19.0-8-powerpc64le-di usb-storage-modules-4.19.0-8-powerpc64le-di fb-modules-4.19.0-8-powerpc64le-di input-modules-4.19.0-8-powerpc64le-di event-modules-4.19.0-8-powerpc64le-di mouse-modules-4.19.0-8-powerpc64le-di nic-usb-modules-4.19.0-8-powerpc64le-di sata-modules-4.19.0-8-powerpc64le-di i2c-modules-4.19.0-8-powerpc64le-di crc-modules-4.19.0-8-powerpc64le-di crypto-modules-4.19.0-8-powerpc64le-di crypto-dm-modules-4.19.0-8-powerpc64le-di ata-modules-4.19.0-8-powerpc64le-di nbd-modules-4.19.0-8-powerpc64le-di squashfs-modules-4.19.0-8-powerpc64le-di uinput-modules-4.19.0-8-powerpc64le-di compress-modules-4.19.0-8-powerpc64le-di udf-modules-4.19.0-8-powerpc64le-di fuse-modules-4.19.0-8-powerpc64le-di mtd-core-modules-4.19.0-8-powerpc64le-di hypervisor-modules-4.19.0-8-powerpc64le-di fancontrol-modules-4.19.0-8-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='4.19.0-7' ARCH='ppc64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64le' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-powerpc64le\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64le' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64le' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='ppc64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64le' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-powerpc64le\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64le' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64le' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' binary-arch_ppc64el_none_real: binary-arch_ppc64el_real:: setup_ppc64el binary-arch_ppc64el_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='ppc64el' KERNEL_ARCH='powerpc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='ppc64el' KERNEL_ARCH='powerpc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_riscv64:: binary-arch_riscv64_none binary-arch_riscv64_real binary-arch_riscv64:: - $(MAKE) -f debian/rules.real install-udeb_riscv64 ABINAME='4.19.0-7' ARCH='riscv64' KERNEL_ARCH='riscv' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-riscv64-di nic-modules-4.19.0-7-riscv64-di nic-wireless-modules-4.19.0-7-riscv64-di nic-shared-modules-4.19.0-7-riscv64-di usb-serial-modules-4.19.0-7-riscv64-di ppp-modules-4.19.0-7-riscv64-di pata-modules-4.19.0-7-riscv64-di cdrom-core-modules-4.19.0-7-riscv64-di scsi-core-modules-4.19.0-7-riscv64-di scsi-modules-4.19.0-7-riscv64-di scsi-nic-modules-4.19.0-7-riscv64-di loop-modules-4.19.0-7-riscv64-di btrfs-modules-4.19.0-7-riscv64-di ext4-modules-4.19.0-7-riscv64-di isofs-modules-4.19.0-7-riscv64-di jfs-modules-4.19.0-7-riscv64-di fat-modules-4.19.0-7-riscv64-di md-modules-4.19.0-7-riscv64-di multipath-modules-4.19.0-7-riscv64-di usb-modules-4.19.0-7-riscv64-di usb-storage-modules-4.19.0-7-riscv64-di fb-modules-4.19.0-7-riscv64-di input-modules-4.19.0-7-riscv64-di event-modules-4.19.0-7-riscv64-di nic-usb-modules-4.19.0-7-riscv64-di sata-modules-4.19.0-7-riscv64-di i2c-modules-4.19.0-7-riscv64-di crc-modules-4.19.0-7-riscv64-di crypto-modules-4.19.0-7-riscv64-di crypto-dm-modules-4.19.0-7-riscv64-di ata-modules-4.19.0-7-riscv64-di nbd-modules-4.19.0-7-riscv64-di squashfs-modules-4.19.0-7-riscv64-di zlib-modules-4.19.0-7-riscv64-di compress-modules-4.19.0-7-riscv64-di udf-modules-4.19.0-7-riscv64-di fuse-modules-4.19.0-7-riscv64-di mtd-modules-4.19.0-7-riscv64-di mtd-core-modules-4.19.0-7-riscv64-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_riscv64 ABINAME='4.19.0-8' ARCH='riscv64' KERNEL_ARCH='riscv' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-riscv64-di nic-modules-4.19.0-8-riscv64-di nic-wireless-modules-4.19.0-8-riscv64-di nic-shared-modules-4.19.0-8-riscv64-di usb-serial-modules-4.19.0-8-riscv64-di ppp-modules-4.19.0-8-riscv64-di pata-modules-4.19.0-8-riscv64-di cdrom-core-modules-4.19.0-8-riscv64-di scsi-core-modules-4.19.0-8-riscv64-di scsi-modules-4.19.0-8-riscv64-di scsi-nic-modules-4.19.0-8-riscv64-di loop-modules-4.19.0-8-riscv64-di btrfs-modules-4.19.0-8-riscv64-di ext4-modules-4.19.0-8-riscv64-di isofs-modules-4.19.0-8-riscv64-di jfs-modules-4.19.0-8-riscv64-di fat-modules-4.19.0-8-riscv64-di md-modules-4.19.0-8-riscv64-di multipath-modules-4.19.0-8-riscv64-di usb-modules-4.19.0-8-riscv64-di usb-storage-modules-4.19.0-8-riscv64-di fb-modules-4.19.0-8-riscv64-di input-modules-4.19.0-8-riscv64-di event-modules-4.19.0-8-riscv64-di nic-usb-modules-4.19.0-8-riscv64-di sata-modules-4.19.0-8-riscv64-di i2c-modules-4.19.0-8-riscv64-di crc-modules-4.19.0-8-riscv64-di crypto-modules-4.19.0-8-riscv64-di crypto-dm-modules-4.19.0-8-riscv64-di ata-modules-4.19.0-8-riscv64-di nbd-modules-4.19.0-8-riscv64-di squashfs-modules-4.19.0-8-riscv64-di zlib-modules-4.19.0-8-riscv64-di compress-modules-4.19.0-8-riscv64-di udf-modules-4.19.0-8-riscv64-di fuse-modules-4.19.0-8-riscv64-di mtd-modules-4.19.0-8-riscv64-di mtd-core-modules-4.19.0-8-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='4.19.0-7' ARCH='riscv64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='riscv64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-riscv64' KCONFIG='debian/config/config debian/config/riscv64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-riscv64\""' KERNEL_ARCH='riscv' LOCALVERSION='-riscv64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-riscv64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='riscv64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='riscv64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-riscv64' KCONFIG='debian/config/config debian/config/riscv64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-riscv64\""' KERNEL_ARCH='riscv' LOCALVERSION='-riscv64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-riscv64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' binary-arch_riscv64_real:: setup_riscv64 binary-arch_riscv64_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='riscv64' KERNEL_ARCH='riscv' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='riscv64' KERNEL_ARCH='riscv' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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-8-s390' binary-arch_s390_real:: setup_s390 binary-arch_s390_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='s390' KERNEL_ARCH='s390' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='s390' KERNEL_ARCH='s390' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='s390x' KERNEL_ARCH='s390' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-s390x-di nic-modules-4.19.0-7-s390x-di cdrom-core-modules-4.19.0-7-s390x-di scsi-core-modules-4.19.0-7-s390x-di scsi-modules-4.19.0-7-s390x-di loop-modules-4.19.0-7-s390x-di btrfs-modules-4.19.0-7-s390x-di ext4-modules-4.19.0-7-s390x-di isofs-modules-4.19.0-7-s390x-di xfs-modules-4.19.0-7-s390x-di fat-modules-4.19.0-7-s390x-di md-modules-4.19.0-7-s390x-di multipath-modules-4.19.0-7-s390x-di crc-modules-4.19.0-7-s390x-di crypto-modules-4.19.0-7-s390x-di crypto-dm-modules-4.19.0-7-s390x-di nbd-modules-4.19.0-7-s390x-di zlib-modules-4.19.0-7-s390x-di compress-modules-4.19.0-7-s390x-di udf-modules-4.19.0-7-s390x-di fuse-modules-4.19.0-7-s390x-di mtd-core-modules-4.19.0-7-s390x-di dasd-modules-4.19.0-7-s390x-di dasd-extra-modules-4.19.0-7-s390x-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_s390x ABINAME='4.19.0-8' ARCH='s390x' KERNEL_ARCH='s390' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-s390x-di nic-modules-4.19.0-8-s390x-di cdrom-core-modules-4.19.0-8-s390x-di scsi-core-modules-4.19.0-8-s390x-di scsi-modules-4.19.0-8-s390x-di loop-modules-4.19.0-8-s390x-di btrfs-modules-4.19.0-8-s390x-di ext4-modules-4.19.0-8-s390x-di isofs-modules-4.19.0-8-s390x-di xfs-modules-4.19.0-8-s390x-di fat-modules-4.19.0-8-s390x-di md-modules-4.19.0-8-s390x-di multipath-modules-4.19.0-8-s390x-di crc-modules-4.19.0-8-s390x-di crypto-modules-4.19.0-8-s390x-di crypto-dm-modules-4.19.0-8-s390x-di nbd-modules-4.19.0-8-s390x-di zlib-modules-4.19.0-8-s390x-di compress-modules-4.19.0-8-s390x-di udf-modules-4.19.0-8-s390x-di fuse-modules-4.19.0-8-s390x-di mtd-core-modules-4.19.0-8-s390x-di dasd-modules-4.19.0-8-s390x-di dasd-extra-modules-4.19.0-8-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-8-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='4.19.0-7' ARCH='s390x' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='s390x' IMAGE_FILE='arch/s390/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-s390x' KCONFIG='debian/config/config debian/config/s390x/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-s390x\""' KERNEL_ARCH='s390' LOCALVERSION='-s390x' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-s390x' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='s390x' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='s390x' IMAGE_FILE='arch/s390/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-s390x' KCONFIG='debian/config/config debian/config/s390x/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-s390x\""' KERNEL_ARCH='s390' LOCALVERSION='-s390x' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-s390x' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' binary-arch_s390x_real:: setup_s390x binary-arch_s390x_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='s390x' KERNEL_ARCH='s390' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='s390x' KERNEL_ARCH='s390' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='sh3' KERNEL_ARCH='sh' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='sh3' KERNEL_ARCH='sh' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_sh4:: binary-arch_sh4_none binary-arch_sh4_real binary-arch_sh4:: - $(MAKE) -f debian/rules.real install-udeb_sh4 ABINAME='4.19.0-7' ARCH='sh4' KERNEL_ARCH='sh' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-sh7751r-di nic-modules-4.19.0-7-sh7751r-di nic-shared-modules-4.19.0-7-sh7751r-di usb-serial-modules-4.19.0-7-sh7751r-di ppp-modules-4.19.0-7-sh7751r-di pata-modules-4.19.0-7-sh7751r-di cdrom-core-modules-4.19.0-7-sh7751r-di firewire-core-modules-4.19.0-7-sh7751r-di loop-modules-4.19.0-7-sh7751r-di btrfs-modules-4.19.0-7-sh7751r-di ext4-modules-4.19.0-7-sh7751r-di isofs-modules-4.19.0-7-sh7751r-di jfs-modules-4.19.0-7-sh7751r-di xfs-modules-4.19.0-7-sh7751r-di fat-modules-4.19.0-7-sh7751r-di minix-modules-4.19.0-7-sh7751r-di md-modules-4.19.0-7-sh7751r-di multipath-modules-4.19.0-7-sh7751r-di usb-storage-modules-4.19.0-7-sh7751r-di nic-usb-modules-4.19.0-7-sh7751r-di sata-modules-4.19.0-7-sh7751r-di i2c-modules-4.19.0-7-sh7751r-di crc-modules-4.19.0-7-sh7751r-di crypto-modules-4.19.0-7-sh7751r-di crypto-dm-modules-4.19.0-7-sh7751r-di nbd-modules-4.19.0-7-sh7751r-di squashfs-modules-4.19.0-7-sh7751r-di speakup-modules-4.19.0-7-sh7751r-di sound-modules-4.19.0-7-sh7751r-di zlib-modules-4.19.0-7-sh7751r-di compress-modules-4.19.0-7-sh7751r-di udf-modules-4.19.0-7-sh7751r-di fuse-modules-4.19.0-7-sh7751r-di kernel-image-4.19.0-7-sh7785lcr-di nic-modules-4.19.0-7-sh7785lcr-di nic-shared-modules-4.19.0-7-sh7785lcr-di usb-serial-modules-4.19.0-7-sh7785lcr-di ppp-modules-4.19.0-7-sh7785lcr-di pata-modules-4.19.0-7-sh7785lcr-di cdrom-core-modules-4.19.0-7-sh7785lcr-di firewire-core-modules-4.19.0-7-sh7785lcr-di loop-modules-4.19.0-7-sh7785lcr-di btrfs-modules-4.19.0-7-sh7785lcr-di ext4-modules-4.19.0-7-sh7785lcr-di isofs-modules-4.19.0-7-sh7785lcr-di jfs-modules-4.19.0-7-sh7785lcr-di xfs-modules-4.19.0-7-sh7785lcr-di fat-modules-4.19.0-7-sh7785lcr-di minix-modules-4.19.0-7-sh7785lcr-di md-modules-4.19.0-7-sh7785lcr-di multipath-modules-4.19.0-7-sh7785lcr-di nic-usb-modules-4.19.0-7-sh7785lcr-di sata-modules-4.19.0-7-sh7785lcr-di crc-modules-4.19.0-7-sh7785lcr-di crypto-modules-4.19.0-7-sh7785lcr-di crypto-dm-modules-4.19.0-7-sh7785lcr-di nbd-modules-4.19.0-7-sh7785lcr-di squashfs-modules-4.19.0-7-sh7785lcr-di speakup-modules-4.19.0-7-sh7785lcr-di sound-modules-4.19.0-7-sh7785lcr-di zlib-modules-4.19.0-7-sh7785lcr-di compress-modules-4.19.0-7-sh7785lcr-di udf-modules-4.19.0-7-sh7785lcr-di fuse-modules-4.19.0-7-sh7785lcr-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_sh4 ABINAME='4.19.0-8' ARCH='sh4' KERNEL_ARCH='sh' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-sh7751r-di nic-modules-4.19.0-8-sh7751r-di nic-shared-modules-4.19.0-8-sh7751r-di usb-serial-modules-4.19.0-8-sh7751r-di ppp-modules-4.19.0-8-sh7751r-di pata-modules-4.19.0-8-sh7751r-di cdrom-core-modules-4.19.0-8-sh7751r-di firewire-core-modules-4.19.0-8-sh7751r-di loop-modules-4.19.0-8-sh7751r-di btrfs-modules-4.19.0-8-sh7751r-di ext4-modules-4.19.0-8-sh7751r-di isofs-modules-4.19.0-8-sh7751r-di jfs-modules-4.19.0-8-sh7751r-di xfs-modules-4.19.0-8-sh7751r-di fat-modules-4.19.0-8-sh7751r-di minix-modules-4.19.0-8-sh7751r-di md-modules-4.19.0-8-sh7751r-di multipath-modules-4.19.0-8-sh7751r-di usb-storage-modules-4.19.0-8-sh7751r-di nic-usb-modules-4.19.0-8-sh7751r-di sata-modules-4.19.0-8-sh7751r-di i2c-modules-4.19.0-8-sh7751r-di crc-modules-4.19.0-8-sh7751r-di crypto-modules-4.19.0-8-sh7751r-di crypto-dm-modules-4.19.0-8-sh7751r-di nbd-modules-4.19.0-8-sh7751r-di squashfs-modules-4.19.0-8-sh7751r-di speakup-modules-4.19.0-8-sh7751r-di sound-modules-4.19.0-8-sh7751r-di zlib-modules-4.19.0-8-sh7751r-di compress-modules-4.19.0-8-sh7751r-di udf-modules-4.19.0-8-sh7751r-di fuse-modules-4.19.0-8-sh7751r-di kernel-image-4.19.0-8-sh7785lcr-di nic-modules-4.19.0-8-sh7785lcr-di nic-shared-modules-4.19.0-8-sh7785lcr-di usb-serial-modules-4.19.0-8-sh7785lcr-di ppp-modules-4.19.0-8-sh7785lcr-di pata-modules-4.19.0-8-sh7785lcr-di cdrom-core-modules-4.19.0-8-sh7785lcr-di firewire-core-modules-4.19.0-8-sh7785lcr-di loop-modules-4.19.0-8-sh7785lcr-di btrfs-modules-4.19.0-8-sh7785lcr-di ext4-modules-4.19.0-8-sh7785lcr-di isofs-modules-4.19.0-8-sh7785lcr-di jfs-modules-4.19.0-8-sh7785lcr-di xfs-modules-4.19.0-8-sh7785lcr-di fat-modules-4.19.0-8-sh7785lcr-di minix-modules-4.19.0-8-sh7785lcr-di md-modules-4.19.0-8-sh7785lcr-di multipath-modules-4.19.0-8-sh7785lcr-di nic-usb-modules-4.19.0-8-sh7785lcr-di sata-modules-4.19.0-8-sh7785lcr-di crc-modules-4.19.0-8-sh7785lcr-di crypto-modules-4.19.0-8-sh7785lcr-di crypto-dm-modules-4.19.0-8-sh7785lcr-di nbd-modules-4.19.0-8-sh7785lcr-di squashfs-modules-4.19.0-8-sh7785lcr-di speakup-modules-4.19.0-8-sh7785lcr-di sound-modules-4.19.0-8-sh7785lcr-di zlib-modules-4.19.0-8-sh7785lcr-di compress-modules-4.19.0-8-sh7785lcr-di udf-modules-4.19.0-8-sh7785lcr-di fuse-modules-4.19.0-8-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='4.19.0-7' ARCH='sh4' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sh7751r' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-sh7751r' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7751r' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-sh7751r\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7751r' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7751r' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='sh4' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sh7751r' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-sh7751r' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7751r' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-sh7751r\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7751r' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7751r' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='sh4' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sh7785lcr' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-sh7785lcr' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7785lcr' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-sh7785lcr\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7785lcr' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7785lcr' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='sh4' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sh7785lcr' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-sh7785lcr' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7785lcr' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-sh7785lcr\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7785lcr' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7785lcr' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_sh4_real:: setup_sh4 binary-arch_sh4_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='sh4' KERNEL_ARCH='sh' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='sh4' KERNEL_ARCH='sh' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='sparc64' KERNEL_ARCH='sparc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-7-sparc64-di nic-modules-4.19.0-7-sparc64-di nic-shared-modules-4.19.0-7-sparc64-di usb-serial-modules-4.19.0-7-sparc64-di ppp-modules-4.19.0-7-sparc64-di pata-modules-4.19.0-7-sparc64-di cdrom-core-modules-4.19.0-7-sparc64-di scsi-core-modules-4.19.0-7-sparc64-di scsi-modules-4.19.0-7-sparc64-di btrfs-modules-4.19.0-7-sparc64-di ext4-modules-4.19.0-7-sparc64-di isofs-modules-4.19.0-7-sparc64-di jfs-modules-4.19.0-7-sparc64-di ufs-modules-4.19.0-7-sparc64-di xfs-modules-4.19.0-7-sparc64-di fat-modules-4.19.0-7-sparc64-di md-modules-4.19.0-7-sparc64-di multipath-modules-4.19.0-7-sparc64-di usb-modules-4.19.0-7-sparc64-di usb-storage-modules-4.19.0-7-sparc64-di fb-modules-4.19.0-7-sparc64-di input-modules-4.19.0-7-sparc64-di nic-usb-modules-4.19.0-7-sparc64-di sata-modules-4.19.0-7-sparc64-di i2c-modules-4.19.0-7-sparc64-di crc-modules-4.19.0-7-sparc64-di crypto-modules-4.19.0-7-sparc64-di crypto-dm-modules-4.19.0-7-sparc64-di ata-modules-4.19.0-7-sparc64-di nbd-modules-4.19.0-7-sparc64-di squashfs-modules-4.19.0-7-sparc64-di zlib-modules-4.19.0-7-sparc64-di compress-modules-4.19.0-7-sparc64-di udf-modules-4.19.0-7-sparc64-di fuse-modules-4.19.0-7-sparc64-di' UDEB_UNSIGNED_TEST_BUILD=False + $(MAKE) -f debian/rules.real install-udeb_sparc64 ABINAME='4.19.0-8' ARCH='sparc64' KERNEL_ARCH='sparc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' PACKAGE_NAMES='kernel-image-4.19.0-8-sparc64-di nic-modules-4.19.0-8-sparc64-di nic-shared-modules-4.19.0-8-sparc64-di usb-serial-modules-4.19.0-8-sparc64-di ppp-modules-4.19.0-8-sparc64-di pata-modules-4.19.0-8-sparc64-di cdrom-core-modules-4.19.0-8-sparc64-di scsi-core-modules-4.19.0-8-sparc64-di scsi-modules-4.19.0-8-sparc64-di btrfs-modules-4.19.0-8-sparc64-di ext4-modules-4.19.0-8-sparc64-di isofs-modules-4.19.0-8-sparc64-di jfs-modules-4.19.0-8-sparc64-di ufs-modules-4.19.0-8-sparc64-di xfs-modules-4.19.0-8-sparc64-di fat-modules-4.19.0-8-sparc64-di md-modules-4.19.0-8-sparc64-di multipath-modules-4.19.0-8-sparc64-di usb-modules-4.19.0-8-sparc64-di usb-storage-modules-4.19.0-8-sparc64-di fb-modules-4.19.0-8-sparc64-di input-modules-4.19.0-8-sparc64-di nic-usb-modules-4.19.0-8-sparc64-di sata-modules-4.19.0-8-sparc64-di i2c-modules-4.19.0-8-sparc64-di crc-modules-4.19.0-8-sparc64-di crypto-modules-4.19.0-8-sparc64-di crypto-dm-modules-4.19.0-8-sparc64-di ata-modules-4.19.0-8-sparc64-di nbd-modules-4.19.0-8-sparc64-di squashfs-modules-4.19.0-8-sparc64-di zlib-modules-4.19.0-8-sparc64-di compress-modules-4.19.0-8-sparc64-di udf-modules-4.19.0-8-sparc64-di fuse-modules-4.19.0-8-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='4.19.0-7' ARCH='sparc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-sparc64-smp\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64-smp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='sparc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-sparc64-smp\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64-smp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_sparc64_none_sparc64_real:: - $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-7' ARCH='sparc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-sparc64\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-flavour ABINAME='4.19.0-8' ARCH='sparc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-sparc64\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_sparc64_real:: setup_sparc64 binary-arch_sparc64_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='sparc64' KERNEL_ARCH='sparc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='sparc64' KERNEL_ARCH='sparc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-arch_sparc_real:: setup_sparc binary-arch_sparc_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='sparc' KERNEL_ARCH='sparc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='sparc' KERNEL_ARCH='sparc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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-8-x86' binary-arch_x32_real:: setup_x32 binary-arch_x32_real:: - $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-7' ARCH='x32' KERNEL_ARCH='x86' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-arch-arch ABINAME='4.19.0-8' ARCH='x32' KERNEL_ARCH='x86' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-indep:: binary-indep_none binary-indep_rt binary-indep:: - $(MAKE) -f debian/rules.real binary-indep ABINAME='4.19.0-7' ALL_FEATURESETS='none rt' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-indep ABINAME='4.19.0-8' ALL_FEATURESETS='none rt' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-indep_none: binary-indep_none_real binary-indep_none_real:: - $(MAKE) -f debian/rules.real binary-indep-featureset ABINAME='4.19.0-7' ALL_KERNEL_ARCHES='alpha arm arm64 ia64 m68k mips parisc powerpc riscv s390 sh sparc x86' FEATURESET='none' LOCALVERSION='' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-indep-featureset ABINAME='4.19.0-8' ALL_KERNEL_ARCHES='alpha arm arm64 ia64 m68k mips parisc powerpc riscv s390 sh sparc x86' FEATURESET='none' LOCALVERSION='' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' binary-indep_rt: binary-indep_rt_real binary-indep_rt_real:: - $(MAKE) -f debian/rules.real binary-indep-featureset ABINAME='4.19.0-7' ALL_KERNEL_ARCHES='arm arm64 x86' FEATURESET='rt' LOCALVERSION='-rt' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real binary-indep-featureset ABINAME='4.19.0-8' ALL_KERNEL_ARCHES='arm arm64 x86' FEATURESET='rt' LOCALVERSION='-rt' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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_powerpcspe 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='4.19.0-7' ARCH='alpha' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-generic' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-alpha-generic\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-generic' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-generic' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='alpha' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-generic' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-alpha-generic\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-generic' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-generic' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='alpha' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-smp' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-alpha-smp\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-smp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='alpha' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-smp' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-alpha-smp\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-smp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_alpha_none_real: build-arch_alpha_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='alpha' KERNEL_ARCH='alpha' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='alpha' KERNEL_ARCH='alpha' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-amd64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-amd64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' 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='4.19.0-7' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-cloud-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/amd64/config.cloud-amd64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-cloud-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-cloud-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-amd64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-cloud-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/amd64/config.cloud-amd64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-cloud-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-cloud-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-amd64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' build-arch_amd64_none_real: build-arch_amd64_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='amd64' KERNEL_ARCH='x86' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='amd64' KERNEL_ARCH='x86' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-rt-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-amd64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-amd64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-rt-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-amd64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-amd64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' 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_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='4.19.0-7' ARCH='arm64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-arm64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='arm64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-arm64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' build-arch_arm64_none_real: build-arch_arm64_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='arm64' KERNEL_ARCH='arm64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='arm64' KERNEL_ARCH='arm64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='arm64' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-rt-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-rt-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-rt-arm64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-arm64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='arm64' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-rt-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-rt-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-rt-arm64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-arm64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' 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='4.19.0-7' ARCH='arm64ilp32' KERNEL_ARCH='arm64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='arm64ilp32' KERNEL_ARCH='arm64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='armel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='marvell' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-marvell\""' KERNEL_ARCH='arm' LOCALVERSION='-marvell' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-marvell' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='armel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='marvell' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-marvell\""' KERNEL_ARCH='arm' LOCALVERSION='-marvell' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-marvell' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='armel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='rpi' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-rpi\""' KERNEL_ARCH='arm' LOCALVERSION='-rpi' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-rpi' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='armel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='rpi' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-rpi\""' KERNEL_ARCH='arm' LOCALVERSION='-rpi' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-rpi' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_armel_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='armel' KERNEL_ARCH='arm' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='armel' KERNEL_ARCH='arm' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='armmp-lpae' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-armmp-lpae\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp-lpae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp-lpae' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='armmp-lpae' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-armmp-lpae\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp-lpae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp-lpae' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' build-arch_armhf_none_armmp_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-7' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' build-arch_armhf_none_real: build-arch_armhf_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='armhf' KERNEL_ARCH='arm' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='armhf' KERNEL_ARCH='arm' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-rt-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-rt-armmp' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-armmp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-rt-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-rt-armmp' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-armmp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' 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_parisc-smp build-arch_hppa_none_parisc64-smp build-arch_hppa_none_real build-arch_hppa_none_parisc: build-arch_hppa_none_parisc_real build-arch_hppa_none_parisc-smp: build-arch_hppa_none_parisc-smp_real build-arch_hppa_none_parisc-smp_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-7' ARCH='hppa' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc-smp' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-parisc-smp' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc-smp' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-7-parisc-smp\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc-smp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='hppa' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc-smp' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-parisc-smp' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc-smp' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-8-parisc-smp\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc-smp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_hppa_none_parisc64-smp: build-arch_hppa_none_parisc64-smp_real build-arch_hppa_none_parisc64-smp_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-7' ARCH='hppa' CFLAGS_KERNEL='-fno-cse-follow-jumps' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc64-smp' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-parisc64-smp' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc64-smp' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-7-parisc64-smp\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc64-smp' OVERRIDE_HOST_TYPE='hppa64-linux-gnu' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='hppa' CFLAGS_KERNEL='-fno-cse-follow-jumps' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc64-smp' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-parisc64-smp' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc64-smp' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-8-parisc64-smp\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc64-smp' OVERRIDE_HOST_TYPE='hppa64-linux-gnu' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_hppa_none_parisc_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-7' ARCH='hppa' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-parisc' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-7-parisc\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='hppa' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-parisc' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-8-parisc\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_hppa_none_real: build-arch_hppa_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='hppa' KERNEL_ARCH='parisc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='hppa' KERNEL_ARCH='parisc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-686-pae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686-pae' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-686-pae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686-pae' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' build-arch_i386_none_686_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-7' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='686' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-686\""' KERNEL_ARCH='x86' LOCALVERSION='-686' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='686' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-686\""' KERNEL_ARCH='x86' LOCALVERSION='-686' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' build-arch_i386_none_real: build-arch_i386_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='i386' KERNEL_ARCH='x86' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='i386' KERNEL_ARCH='x86' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-rt-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-686-pae' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-686-pae' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-rt-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-686-pae' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-686-pae' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' 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='4.19.0-7' ARCH='ia64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='itanium' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-itanium' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.itanium' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-itanium\""' KERNEL_ARCH='ia64' LOCALVERSION='-itanium' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-itanium' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='ia64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='itanium' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-itanium' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.itanium' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-itanium\""' KERNEL_ARCH='ia64' LOCALVERSION='-itanium' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-itanium' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='ia64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mckinley' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-mckinley' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.mckinley' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-mckinley\""' KERNEL_ARCH='ia64' LOCALVERSION='-mckinley' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mckinley' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='ia64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mckinley' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-mckinley' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.mckinley' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-mckinley\""' KERNEL_ARCH='ia64' LOCALVERSION='-mckinley' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mckinley' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_ia64_none_real: build-arch_ia64_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='ia64' KERNEL_ARCH='ia64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='ia64' KERNEL_ARCH='ia64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='m68k' CFLAGS_KERNEL='-ffreestanding' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='m68k' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-m68k' KCONFIG='debian/config/config debian/config/m68k/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-m68k\""' KERNEL_ARCH='m68k' LOCALVERSION='-m68k' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-m68k' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='m68k' CFLAGS_KERNEL='-ffreestanding' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='m68k' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-m68k' KCONFIG='debian/config/config debian/config/m68k/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-m68k\""' KERNEL_ARCH='m68k' LOCALVERSION='-m68k' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-m68k' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_m68k_none_real: build-arch_m68k_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='m68k' KERNEL_ARCH='m68k' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='m68k' KERNEL_ARCH='m68k' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mips64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='mips64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mips64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='mips64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_mips64_none_real: build-arch_mips64_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='mips64' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='mips64' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_mips64el_none_real: build-arch_mips64el_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='mips64el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='mips64el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mips64r6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='mips64r6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_mips64r6_none_real: build-arch_mips64r6_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='mips64r6' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='mips64r6' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mips64r6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='mips64r6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_mips64r6el_none_real: build-arch_mips64r6el_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='mips64r6el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='mips64r6el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_mips_none_real: build-arch_mips_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='mips' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='mips' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_mipsel_none_real: build-arch_mipsel_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='mipsel' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='mipsel' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_mipsn32: build-arch_mipsn32_real build-arch_mipsn32_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='mipsn32' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='mipsn32' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_mipsn32el: build-arch_mipsn32el_real build-arch_mipsn32el_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='mipsn32el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='mipsn32el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_mipsn32r6: build-arch_mipsn32r6_real build-arch_mipsn32r6_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='mipsn32r6' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='mipsn32r6' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_mipsn32r6el: build-arch_mipsn32r6el_real build-arch_mipsn32r6el_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='mipsn32r6el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='mipsn32r6el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mipsr6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips32r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='mipsr6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips32r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mipsr6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='mipsr6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_mipsr6_none_real: build-arch_mipsr6_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='mipsr6' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='mipsr6' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mipsr6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips32r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6el' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='mipsr6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips32r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6el' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mipsr6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='mipsr6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_mipsr6el_none_real: build-arch_mipsr6el_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='mipsr6el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='mipsr6el' KERNEL_ARCH='mips' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-powerpc-smp\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc-smp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-powerpc-smp\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc-smp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' 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='4.19.0-7' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' build-arch_powerpc_none_powerpc_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-7' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-powerpc' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-powerpc\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-powerpc' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-powerpc\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' build-arch_powerpc_none_real: build-arch_powerpc_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='powerpc' KERNEL_ARCH='powerpc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='powerpc' KERNEL_ARCH='powerpc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_powerpcspe: build-arch_powerpcspe_none build-arch_powerpcspe_real build-arch_powerpcspe_none: build-arch_powerpcspe_none_powerpcspe build-arch_powerpcspe_none_real build-arch_powerpcspe_none_powerpcspe: build-arch_powerpcspe_none_powerpcspe_real build-arch_powerpcspe_none_powerpcspe_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-7' ARCH='powerpcspe' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpcspe' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-powerpcspe' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpcspe/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-powerpcspe\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpcspe' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpcspe' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='powerpcspe' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpcspe' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-powerpcspe' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpcspe/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-powerpcspe\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpcspe' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpcspe' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' build-arch_powerpcspe_none_real: build-arch_powerpcspe_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='powerpcspe' KERNEL_ARCH='powerpc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='powerpcspe' KERNEL_ARCH='powerpc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='ppc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='ppc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' build-arch_ppc64_none_real: build-arch_ppc64_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='ppc64' KERNEL_ARCH='powerpc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='ppc64' KERNEL_ARCH='powerpc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='ppc64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64le' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-powerpc64le\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64le' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64le' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='ppc64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64le' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-powerpc64le\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64le' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64le' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' build-arch_ppc64el_none_real: build-arch_ppc64el_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='ppc64el' KERNEL_ARCH='powerpc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='ppc64el' KERNEL_ARCH='powerpc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='riscv64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='riscv64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-riscv64' KCONFIG='debian/config/config debian/config/riscv64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-riscv64\""' KERNEL_ARCH='riscv' LOCALVERSION='-riscv64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-riscv64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='riscv64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='riscv64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-riscv64' KCONFIG='debian/config/config debian/config/riscv64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-riscv64\""' KERNEL_ARCH='riscv' LOCALVERSION='-riscv64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-riscv64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' build-arch_riscv64_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='riscv64' KERNEL_ARCH='riscv' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='riscv64' KERNEL_ARCH='riscv' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_s390: build-arch_s390_real build-arch_s390_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='s390' KERNEL_ARCH='s390' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='s390' KERNEL_ARCH='s390' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='s390x' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='s390x' IMAGE_FILE='arch/s390/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-s390x' KCONFIG='debian/config/config debian/config/s390x/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-s390x\""' KERNEL_ARCH='s390' LOCALVERSION='-s390x' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-s390x' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='s390x' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='s390x' IMAGE_FILE='arch/s390/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-s390x' KCONFIG='debian/config/config debian/config/s390x/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-s390x\""' KERNEL_ARCH='s390' LOCALVERSION='-s390x' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-s390x' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' build-arch_s390x_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='s390x' KERNEL_ARCH='s390' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='s390x' KERNEL_ARCH='s390' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_sh3: build-arch_sh3_real build-arch_sh3_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='sh3' KERNEL_ARCH='sh' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='sh3' KERNEL_ARCH='sh' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='sh4' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sh7751r' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-sh7751r' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7751r' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-sh7751r\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7751r' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7751r' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='sh4' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sh7751r' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-sh7751r' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7751r' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-sh7751r\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7751r' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7751r' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='sh4' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sh7785lcr' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-sh7785lcr' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7785lcr' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-sh7785lcr\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7785lcr' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7785lcr' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='sh4' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sh7785lcr' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-sh7785lcr' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7785lcr' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-sh7785lcr\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7785lcr' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7785lcr' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_sh4_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='sh4' KERNEL_ARCH='sh' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='sh4' KERNEL_ARCH='sh' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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 @@ -728,162 +728,162 @@ 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='4.19.0-7' ARCH='sparc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-sparc64-smp\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64-smp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='sparc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-sparc64-smp\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64-smp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_sparc64_none_sparc64_real:: - $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-7' ARCH='sparc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-sparc64\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-flavour ABINAME='4.19.0-8' ARCH='sparc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-sparc64\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_sparc64_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='sparc64' KERNEL_ARCH='sparc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='sparc64' KERNEL_ARCH='sparc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_sparc_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='sparc' KERNEL_ARCH='sparc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='sparc' KERNEL_ARCH='sparc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-arch_x32: build-arch_x32_real build-arch_x32_real:: - $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-7' ARCH='x32' KERNEL_ARCH='x86' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-arch-arch ABINAME='4.19.0-8' ARCH='x32' KERNEL_ARCH='x86' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' build-indep:: build-indep_none build-indep_rt build-indep:: - $(MAKE) -f debian/rules.real build-indep ABINAME='4.19.0-7' ALL_FEATURESETS='none rt' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real build-indep ABINAME='4.19.0-8' ALL_FEATURESETS='none rt' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='alpha' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-generic' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-alpha-generic\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-generic' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-generic' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.alpha_none_alpha-generic ABINAME='4.19.0-8' ARCH='alpha' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-generic' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-alpha-generic\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-generic' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-generic' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.alpha_none_alpha-smp:: - $(MAKE) -f debian/rules.real debian/build/config.alpha_none_alpha-smp ABINAME='4.19.0-7' ARCH='alpha' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-smp' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-alpha-smp\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-smp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.alpha_none_alpha-smp ABINAME='4.19.0-8' ARCH='alpha' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-smp' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-alpha-smp\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-smp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.amd64_none_amd64:: - $(MAKE) -f debian/rules.real debian/build/config.amd64_none_amd64 ABINAME='4.19.0-7' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-amd64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.amd64_none_amd64 ABINAME='4.19.0-8' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-amd64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' debian/build/config.amd64_none_cloud-amd64:: - $(MAKE) -f debian/rules.real debian/build/config.amd64_none_cloud-amd64 ABINAME='4.19.0-7' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-cloud-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/amd64/config.cloud-amd64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-cloud-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-cloud-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-amd64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.amd64_none_cloud-amd64 ABINAME='4.19.0-8' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-cloud-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/amd64/config.cloud-amd64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-cloud-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-cloud-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-amd64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' debian/build/config.amd64_rt_amd64:: - $(MAKE) -f debian/rules.real debian/build/config.amd64_rt_amd64 ABINAME='4.19.0-7' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-rt-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-amd64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-amd64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.amd64_rt_amd64 ABINAME='4.19.0-8' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-rt-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-amd64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-amd64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' debian/build/config.arm64_none_arm64:: - $(MAKE) -f debian/rules.real debian/build/config.arm64_none_arm64 ABINAME='4.19.0-7' ARCH='arm64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-arm64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.arm64_none_arm64 ABINAME='4.19.0-8' ARCH='arm64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-arm64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' debian/build/config.arm64_rt_arm64:: - $(MAKE) -f debian/rules.real debian/build/config.arm64_rt_arm64 ABINAME='4.19.0-7' ARCH='arm64' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-rt-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-rt-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-rt-arm64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-arm64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.arm64_rt_arm64 ABINAME='4.19.0-8' ARCH='arm64' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-rt-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-rt-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-rt-arm64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-arm64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' debian/build/config.armel_none_marvell:: - $(MAKE) -f debian/rules.real debian/build/config.armel_none_marvell ABINAME='4.19.0-7' ARCH='armel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='marvell' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-marvell\""' KERNEL_ARCH='arm' LOCALVERSION='-marvell' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-marvell' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.armel_none_marvell ABINAME='4.19.0-8' ARCH='armel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='marvell' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-marvell\""' KERNEL_ARCH='arm' LOCALVERSION='-marvell' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-marvell' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.armel_none_rpi:: - $(MAKE) -f debian/rules.real debian/build/config.armel_none_rpi ABINAME='4.19.0-7' ARCH='armel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='rpi' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-rpi\""' KERNEL_ARCH='arm' LOCALVERSION='-rpi' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-rpi' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.armel_none_rpi ABINAME='4.19.0-8' ARCH='armel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='rpi' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-rpi\""' KERNEL_ARCH='arm' LOCALVERSION='-rpi' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-rpi' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.armhf_none_armmp:: - $(MAKE) -f debian/rules.real debian/build/config.armhf_none_armmp ABINAME='4.19.0-7' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.armhf_none_armmp ABINAME='4.19.0-8' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' debian/build/config.armhf_none_armmp-lpae:: - $(MAKE) -f debian/rules.real debian/build/config.armhf_none_armmp-lpae ABINAME='4.19.0-7' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='armmp-lpae' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-armmp-lpae\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp-lpae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp-lpae' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.armhf_none_armmp-lpae ABINAME='4.19.0-8' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='armmp-lpae' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-armmp-lpae\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp-lpae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp-lpae' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' debian/build/config.armhf_rt_armmp:: - $(MAKE) -f debian/rules.real debian/build/config.armhf_rt_armmp ABINAME='4.19.0-7' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-rt-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-rt-armmp' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-armmp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.armhf_rt_armmp ABINAME='4.19.0-8' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-rt-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-rt-armmp' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-armmp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' debian/build/config.hppa_none_parisc:: - $(MAKE) -f debian/rules.real debian/build/config.hppa_none_parisc ABINAME='4.19.0-7' ARCH='hppa' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-parisc' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-7-parisc\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.hppa_none_parisc ABINAME='4.19.0-8' ARCH='hppa' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-parisc' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-8-parisc\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.hppa_none_parisc-smp:: - $(MAKE) -f debian/rules.real debian/build/config.hppa_none_parisc-smp ABINAME='4.19.0-7' ARCH='hppa' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc-smp' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-parisc-smp' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc-smp' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-7-parisc-smp\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc-smp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.hppa_none_parisc-smp ABINAME='4.19.0-8' ARCH='hppa' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc-smp' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-parisc-smp' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc-smp' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-8-parisc-smp\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc-smp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.hppa_none_parisc64-smp:: - $(MAKE) -f debian/rules.real debian/build/config.hppa_none_parisc64-smp ABINAME='4.19.0-7' ARCH='hppa' CFLAGS_KERNEL='-fno-cse-follow-jumps' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc64-smp' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-parisc64-smp' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc64-smp' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-7-parisc64-smp\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc64-smp' OVERRIDE_HOST_TYPE='hppa64-linux-gnu' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.hppa_none_parisc64-smp ABINAME='4.19.0-8' ARCH='hppa' CFLAGS_KERNEL='-fno-cse-follow-jumps' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc64-smp' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-parisc64-smp' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc64-smp' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-8-parisc64-smp\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc64-smp' OVERRIDE_HOST_TYPE='hppa64-linux-gnu' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.i386_none_686:: - $(MAKE) -f debian/rules.real debian/build/config.i386_none_686 ABINAME='4.19.0-7' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='686' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-686\""' KERNEL_ARCH='x86' LOCALVERSION='-686' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.i386_none_686 ABINAME='4.19.0-8' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='686' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-686\""' KERNEL_ARCH='x86' LOCALVERSION='-686' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' debian/build/config.i386_none_686-pae:: - $(MAKE) -f debian/rules.real debian/build/config.i386_none_686-pae ABINAME='4.19.0-7' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-686-pae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686-pae' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.i386_none_686-pae ABINAME='4.19.0-8' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-686-pae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686-pae' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' debian/build/config.i386_rt_686-pae:: - $(MAKE) -f debian/rules.real debian/build/config.i386_rt_686-pae ABINAME='4.19.0-7' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-rt-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-686-pae' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-686-pae' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.i386_rt_686-pae ABINAME='4.19.0-8' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-rt-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-686-pae' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-686-pae' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' debian/build/config.ia64_none_itanium:: - $(MAKE) -f debian/rules.real debian/build/config.ia64_none_itanium ABINAME='4.19.0-7' ARCH='ia64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='itanium' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-itanium' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.itanium' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-itanium\""' KERNEL_ARCH='ia64' LOCALVERSION='-itanium' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-itanium' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.ia64_none_itanium ABINAME='4.19.0-8' ARCH='ia64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='itanium' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-itanium' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.itanium' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-itanium\""' KERNEL_ARCH='ia64' LOCALVERSION='-itanium' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-itanium' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.ia64_none_mckinley:: - $(MAKE) -f debian/rules.real debian/build/config.ia64_none_mckinley ABINAME='4.19.0-7' ARCH='ia64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mckinley' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-mckinley' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.mckinley' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-mckinley\""' KERNEL_ARCH='ia64' LOCALVERSION='-mckinley' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mckinley' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.ia64_none_mckinley ABINAME='4.19.0-8' ARCH='ia64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mckinley' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-mckinley' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.mckinley' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-mckinley\""' KERNEL_ARCH='ia64' LOCALVERSION='-mckinley' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mckinley' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.m68k_none_m68k:: - $(MAKE) -f debian/rules.real debian/build/config.m68k_none_m68k ABINAME='4.19.0-7' ARCH='m68k' CFLAGS_KERNEL='-ffreestanding' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='m68k' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-m68k' KCONFIG='debian/config/config debian/config/m68k/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-m68k\""' KERNEL_ARCH='m68k' LOCALVERSION='-m68k' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-m68k' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.m68k_none_m68k ABINAME='4.19.0-8' ARCH='m68k' CFLAGS_KERNEL='-ffreestanding' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='m68k' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-m68k' KCONFIG='debian/config/config debian/config/m68k/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-m68k\""' KERNEL_ARCH='m68k' LOCALVERSION='-m68k' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-m68k' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.mips64_none_5kc-malta:: - $(MAKE) -f debian/rules.real debian/build/config.mips64_none_5kc-malta ABINAME='4.19.0-7' ARCH='mips64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.mips64_none_5kc-malta ABINAME='4.19.0-8' ARCH='mips64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.mips64_none_octeon:: - $(MAKE) -f debian/rules.real debian/build/config.mips64_none_octeon ABINAME='4.19.0-7' ARCH='mips64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.mips64_none_octeon ABINAME='4.19.0-8' ARCH='mips64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.mips64el_none_5kc-malta:: - $(MAKE) -f debian/rules.real debian/build/config.mips64el_none_5kc-malta ABINAME='4.19.0-7' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.mips64el_none_5kc-malta ABINAME='4.19.0-8' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.mips64el_none_loongson-3:: - $(MAKE) -f debian/rules.real debian/build/config.mips64el_none_loongson-3 ABINAME='4.19.0-7' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.mips64el_none_loongson-3 ABINAME='4.19.0-8' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.mips64el_none_octeon:: - $(MAKE) -f debian/rules.real debian/build/config.mips64el_none_octeon ABINAME='4.19.0-7' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.mips64el_none_octeon ABINAME='4.19.0-8' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.mips64r6_none_mips64r6:: - $(MAKE) -f debian/rules.real debian/build/config.mips64r6_none_mips64r6 ABINAME='4.19.0-7' ARCH='mips64r6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.mips64r6_none_mips64r6 ABINAME='4.19.0-8' ARCH='mips64r6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.mips64r6el_none_mips64r6el:: - $(MAKE) -f debian/rules.real debian/build/config.mips64r6el_none_mips64r6el ABINAME='4.19.0-7' ARCH='mips64r6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.mips64r6el_none_mips64r6el ABINAME='4.19.0-8' ARCH='mips64r6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.mips_none_4kc-malta:: - $(MAKE) -f debian/rules.real debian/build/config.mips_none_4kc-malta ABINAME='4.19.0-7' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.mips_none_4kc-malta ABINAME='4.19.0-8' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.mips_none_5kc-malta:: - $(MAKE) -f debian/rules.real debian/build/config.mips_none_5kc-malta ABINAME='4.19.0-7' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.mips_none_5kc-malta ABINAME='4.19.0-8' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.mips_none_octeon:: - $(MAKE) -f debian/rules.real debian/build/config.mips_none_octeon ABINAME='4.19.0-7' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.mips_none_octeon ABINAME='4.19.0-8' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.mipsel_none_4kc-malta:: - $(MAKE) -f debian/rules.real debian/build/config.mipsel_none_4kc-malta ABINAME='4.19.0-7' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.mipsel_none_4kc-malta ABINAME='4.19.0-8' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.mipsel_none_5kc-malta:: - $(MAKE) -f debian/rules.real debian/build/config.mipsel_none_5kc-malta ABINAME='4.19.0-7' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.mipsel_none_5kc-malta ABINAME='4.19.0-8' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.mipsel_none_loongson-3:: - $(MAKE) -f debian/rules.real debian/build/config.mipsel_none_loongson-3 ABINAME='4.19.0-7' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.mipsel_none_loongson-3 ABINAME='4.19.0-8' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.mipsel_none_octeon:: - $(MAKE) -f debian/rules.real debian/build/config.mipsel_none_octeon ABINAME='4.19.0-7' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.mipsel_none_octeon ABINAME='4.19.0-8' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.mipsr6_none_mips32r6:: - $(MAKE) -f debian/rules.real debian/build/config.mipsr6_none_mips32r6 ABINAME='4.19.0-7' ARCH='mipsr6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips32r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.mipsr6_none_mips32r6 ABINAME='4.19.0-8' ARCH='mipsr6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips32r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.mipsr6_none_mips64r6:: - $(MAKE) -f debian/rules.real debian/build/config.mipsr6_none_mips64r6 ABINAME='4.19.0-7' ARCH='mipsr6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.mipsr6_none_mips64r6 ABINAME='4.19.0-8' ARCH='mipsr6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.mipsr6el_none_mips32r6el:: - $(MAKE) -f debian/rules.real debian/build/config.mipsr6el_none_mips32r6el ABINAME='4.19.0-7' ARCH='mipsr6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips32r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6el' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.mipsr6el_none_mips32r6el ABINAME='4.19.0-8' ARCH='mipsr6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips32r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6el' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.mipsr6el_none_mips64r6el:: - $(MAKE) -f debian/rules.real debian/build/config.mipsr6el_none_mips64r6el ABINAME='4.19.0-7' ARCH='mipsr6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.mipsr6el_none_mips64r6el ABINAME='4.19.0-8' ARCH='mipsr6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.powerpc_none_powerpc:: - $(MAKE) -f debian/rules.real debian/build/config.powerpc_none_powerpc ABINAME='4.19.0-7' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-powerpc' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-powerpc\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.powerpc_none_powerpc ABINAME='4.19.0-8' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-powerpc' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-powerpc\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' debian/build/config.powerpc_none_powerpc-smp:: - $(MAKE) -f debian/rules.real debian/build/config.powerpc_none_powerpc-smp ABINAME='4.19.0-7' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-powerpc-smp\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc-smp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.powerpc_none_powerpc-smp ABINAME='4.19.0-8' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-powerpc-smp\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc-smp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' debian/build/config.powerpc_none_powerpc64:: - $(MAKE) -f debian/rules.real debian/build/config.powerpc_none_powerpc64 ABINAME='4.19.0-7' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.powerpc_none_powerpc64 ABINAME='4.19.0-8' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' debian/build/config.powerpcspe_none_powerpcspe:: - $(MAKE) -f debian/rules.real debian/build/config.powerpcspe_none_powerpcspe ABINAME='4.19.0-7' ARCH='powerpcspe' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpcspe' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-powerpcspe' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpcspe/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-powerpcspe\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpcspe' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpcspe' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.powerpcspe_none_powerpcspe ABINAME='4.19.0-8' ARCH='powerpcspe' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpcspe' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-powerpcspe' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpcspe/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-powerpcspe\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpcspe' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpcspe' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' debian/build/config.ppc64_none_powerpc64:: - $(MAKE) -f debian/rules.real debian/build/config.ppc64_none_powerpc64 ABINAME='4.19.0-7' ARCH='ppc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.ppc64_none_powerpc64 ABINAME='4.19.0-8' ARCH='ppc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' debian/build/config.ppc64el_none_powerpc64le:: - $(MAKE) -f debian/rules.real debian/build/config.ppc64el_none_powerpc64le ABINAME='4.19.0-7' ARCH='ppc64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64le' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-powerpc64le\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64le' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64le' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.ppc64el_none_powerpc64le ABINAME='4.19.0-8' ARCH='ppc64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64le' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-powerpc64le\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64le' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64le' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' debian/build/config.riscv64_none_riscv64:: - $(MAKE) -f debian/rules.real debian/build/config.riscv64_none_riscv64 ABINAME='4.19.0-7' ARCH='riscv64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='riscv64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-riscv64' KCONFIG='debian/config/config debian/config/riscv64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-riscv64\""' KERNEL_ARCH='riscv' LOCALVERSION='-riscv64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-riscv64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.riscv64_none_riscv64 ABINAME='4.19.0-8' ARCH='riscv64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='riscv64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-riscv64' KCONFIG='debian/config/config debian/config/riscv64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-riscv64\""' KERNEL_ARCH='riscv' LOCALVERSION='-riscv64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-riscv64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' debian/build/config.s390x_none_s390x:: - $(MAKE) -f debian/rules.real debian/build/config.s390x_none_s390x ABINAME='4.19.0-7' ARCH='s390x' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='s390x' IMAGE_FILE='arch/s390/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-s390x' KCONFIG='debian/config/config debian/config/s390x/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-s390x\""' KERNEL_ARCH='s390' LOCALVERSION='-s390x' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-s390x' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.s390x_none_s390x ABINAME='4.19.0-8' ARCH='s390x' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='s390x' IMAGE_FILE='arch/s390/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-s390x' KCONFIG='debian/config/config debian/config/s390x/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-s390x\""' KERNEL_ARCH='s390' LOCALVERSION='-s390x' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-s390x' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' debian/build/config.sh4_none_sh7751r:: - $(MAKE) -f debian/rules.real debian/build/config.sh4_none_sh7751r ABINAME='4.19.0-7' ARCH='sh4' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sh7751r' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-sh7751r' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7751r' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-sh7751r\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7751r' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7751r' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.sh4_none_sh7751r ABINAME='4.19.0-8' ARCH='sh4' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sh7751r' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-sh7751r' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7751r' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-sh7751r\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7751r' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7751r' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.sh4_none_sh7785lcr:: - $(MAKE) -f debian/rules.real debian/build/config.sh4_none_sh7785lcr ABINAME='4.19.0-7' ARCH='sh4' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sh7785lcr' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-sh7785lcr' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7785lcr' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-sh7785lcr\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7785lcr' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7785lcr' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.sh4_none_sh7785lcr ABINAME='4.19.0-8' ARCH='sh4' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sh7785lcr' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-sh7785lcr' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7785lcr' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-sh7785lcr\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7785lcr' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7785lcr' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.sparc64_none_sparc64:: - $(MAKE) -f debian/rules.real debian/build/config.sparc64_none_sparc64 ABINAME='4.19.0-7' ARCH='sparc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-sparc64\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.sparc64_none_sparc64 ABINAME='4.19.0-8' ARCH='sparc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-sparc64\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' debian/build/config.sparc64_none_sparc64-smp:: - $(MAKE) -f debian/rules.real debian/build/config.sparc64_none_sparc64-smp ABINAME='4.19.0-7' ARCH='sparc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-sparc64-smp\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64-smp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real debian/build/config.sparc64_none_sparc64-smp ABINAME='4.19.0-8' ARCH='sparc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-sparc64-smp\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64-smp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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_powerpcspe 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='4.19.0-7' ARCH='alpha' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-generic' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-alpha-generic\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-generic' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-generic' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='alpha' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-generic' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-alpha-generic\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-generic' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-generic' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='alpha' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-smp' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-alpha-smp\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-smp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='alpha' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='alpha-smp' IMAGE_FILE='arch/alpha/boot/vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-alpha-smp\""' KERNEL_ARCH='alpha' LOCALVERSION='-alpha-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-alpha-smp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-amd64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-amd64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' 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='4.19.0-7' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-cloud-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/amd64/config.cloud-amd64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-cloud-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-cloud-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-amd64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='cloud-amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-cloud-amd64-unsigned' KCONFIG='debian/config/config debian/config/kernelarch-x86/config debian/config/amd64/config debian/config/amd64/config.cloud-amd64' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-cloud-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-cloud-amd64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-cloud-amd64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' 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='4.19.0-7' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-rt-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-amd64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-amd64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='amd64' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='amd64' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-rt-amd64\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-amd64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-amd64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' 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_real setup_arm64_none_arm64: setup_arm64_none_arm64_real setup_arm64_none_arm64_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-7' ARCH='arm64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-arm64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='arm64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-arm64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-arm64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' 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='4.19.0-7' ARCH='arm64' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-rt-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-rt-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-rt-arm64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-arm64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='arm64' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='arm64' IMAGE_FILE='arch/arm64/boot/Image' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-rt-arm64-unsigned' KCONFIG='debian/config/config debian/config/arm64/config debian/config/featureset-rt/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-rt-arm64\""' KERNEL_ARCH='arm64' LOCALVERSION='-rt-arm64' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-arm64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' setup_arm64_rt_real: setup_arm64ilp32: setup_arm64ilp32_real setup_arm64ilp32_real: @@ -891,38 +891,38 @@ 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='4.19.0-7' ARCH='armel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='marvell' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-marvell\""' KERNEL_ARCH='arm' LOCALVERSION='-marvell' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-marvell' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='armel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='marvell' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-marvell\""' KERNEL_ARCH='arm' LOCALVERSION='-marvell' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-marvell' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='armel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='rpi' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-rpi\""' KERNEL_ARCH='arm' LOCALVERSION='-rpi' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-rpi' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='armel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='rpi' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-rpi\""' KERNEL_ARCH='arm' LOCALVERSION='-rpi' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-rpi' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='armmp-lpae' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-armmp-lpae\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp-lpae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp-lpae' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='armmp-lpae' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-armmp-lpae\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp-lpae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp-lpae' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' setup_armhf_none_armmp_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-7' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-armmp' KCONFIG='debian/config/config debian/config/kernelarch-arm/config debian/config/armhf/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-armmp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-armmp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' 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='4.19.0-7' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-rt-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-rt-armmp' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-armmp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='armhf' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='armmp' IMAGE_FILE='arch/arm/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-rt-armmp\""' KERNEL_ARCH='arm' LOCALVERSION='-rt-armmp' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-armmp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' setup_armhf_rt_real: setup_hppa: setup_hppa_none setup_hppa_real setup_hppa_none: setup_hppa_none_parisc setup_hppa_none_parisc-smp setup_hppa_none_parisc64-smp setup_hppa_none_real setup_hppa_none_parisc: setup_hppa_none_parisc_real setup_hppa_none_parisc-smp: setup_hppa_none_parisc-smp_real setup_hppa_none_parisc-smp_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-7' ARCH='hppa' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc-smp' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-parisc-smp' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc-smp' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-7-parisc-smp\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc-smp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='hppa' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc-smp' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-parisc-smp' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc-smp' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-8-parisc-smp\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc-smp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' setup_hppa_none_parisc64-smp: setup_hppa_none_parisc64-smp_real setup_hppa_none_parisc64-smp_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-7' ARCH='hppa' CFLAGS_KERNEL='-fno-cse-follow-jumps' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc64-smp' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-parisc64-smp' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc64-smp' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-7-parisc64-smp\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc64-smp' OVERRIDE_HOST_TYPE='hppa64-linux-gnu' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='hppa' CFLAGS_KERNEL='-fno-cse-follow-jumps' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc64-smp' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-parisc64-smp' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc64-smp' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-8-parisc64-smp\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc64-smp' OVERRIDE_HOST_TYPE='hppa64-linux-gnu' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' setup_hppa_none_parisc_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-7' ARCH='hppa' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-parisc' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-7-parisc\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='hppa' COMPILER='gcc-8' FEATURESET='none' FLAVOUR='parisc' IMAGE_FILE='arch/parisc/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-parisc' KCONFIG='debian/config/config debian/config/hppa/config debian/config/hppa/config.parisc' KCONFIG_OPTIONS=' -o "BUILD_SALT=\"4.19.0-8-parisc\""' KERNEL_ARCH='parisc' LOCALVERSION='-parisc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-parisc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' setup_hppa_none_real: setup_hppa_real: setup_i386: setup_i386_none setup_i386_real setup_i386_rt @@ -930,31 +930,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='4.19.0-7' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-686-pae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686-pae' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-686-pae' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686-pae' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' setup_i386_none_686_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-7' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='686' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-686\""' KERNEL_ARCH='x86' LOCALVERSION='-686' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='686' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-686\""' KERNEL_ARCH='x86' LOCALVERSION='-686' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-686' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' 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='4.19.0-7' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-7-rt-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-686-pae' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-686-pae' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='i386' COMPILER='gcc-8' DEBUG='True' FEATURESET='rt' FLAVOUR='686-pae' IMAGE_FILE='arch/x86/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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 MODULE_SIG=y -o "BUILD_SALT=\"4.19.0-8-rt-686-pae\""' KERNEL_ARCH='x86' LOCALVERSION='-rt-686-pae' LOCALVERSION_HEADERS='-rt' LOCALVERSION_IMAGE='-rt-686-pae' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' 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='4.19.0-7' ARCH='ia64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='itanium' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-itanium' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.itanium' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-itanium\""' KERNEL_ARCH='ia64' LOCALVERSION='-itanium' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-itanium' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='ia64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='itanium' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-itanium' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.itanium' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-itanium\""' KERNEL_ARCH='ia64' LOCALVERSION='-itanium' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-itanium' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' setup_ia64_none_mckinley: setup_ia64_none_mckinley_real setup_ia64_none_mckinley_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-7' ARCH='ia64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mckinley' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-mckinley' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.mckinley' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-mckinley\""' KERNEL_ARCH='ia64' LOCALVERSION='-mckinley' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mckinley' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='ia64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mckinley' IMAGE_FILE='vmlinux.gz' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-mckinley' KCONFIG='debian/config/config debian/config/ia64/config debian/config/ia64/config.mckinley' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-mckinley\""' KERNEL_ARCH='ia64' LOCALVERSION='-mckinley' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mckinley' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='m68k' CFLAGS_KERNEL='-ffreestanding' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='m68k' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-m68k' KCONFIG='debian/config/config debian/config/m68k/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-m68k\""' KERNEL_ARCH='m68k' LOCALVERSION='-m68k' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-m68k' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='m68k' CFLAGS_KERNEL='-ffreestanding' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='m68k' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-m68k' KCONFIG='debian/config/config debian/config/m68k/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-m68k\""' KERNEL_ARCH='m68k' LOCALVERSION='-m68k' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-m68k' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' setup_m68k_none_real: setup_m68k_real: setup_mips: setup_mips_none setup_mips_real @@ -962,65 +962,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='4.19.0-7' ARCH='mips64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='mips64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' setup_mips64_none_octeon: setup_mips64_none_octeon_real setup_mips64_none_octeon_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-7' ARCH='mips64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='mips64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' setup_mips64el_none_octeon: setup_mips64el_none_octeon_real setup_mips64el_none_octeon_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-7' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='mips64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mips64r6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='mips64r6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mips64r6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='mips64r6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' setup_mips_none_octeon: setup_mips_none_octeon_real setup_mips_none_octeon_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-7' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='mips' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='4kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-4kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-4kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-4kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='5kc-malta' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-5kc-malta\""' KERNEL_ARCH='mips' LOCALVERSION='-5kc-malta' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-5kc-malta' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='loongson-3' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-loongson-3\""' KERNEL_ARCH='mips' LOCALVERSION='-loongson-3' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-loongson-3' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' setup_mipsel_none_octeon: setup_mipsel_none_octeon_real setup_mipsel_none_octeon_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-7' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='mipsel' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='octeon' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-octeon\""' KERNEL_ARCH='mips' LOCALVERSION='-octeon' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-octeon' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' setup_mipsel_none_real: setup_mipsel_real: setup_mipsn32: setup_mipsn32_real @@ -1035,20 +1035,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='4.19.0-7' ARCH='mipsr6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips32r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='mipsr6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips32r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' setup_mipsr6_none_mips64r6: setup_mipsr6_none_mips64r6_real setup_mipsr6_none_mips64r6_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-7' ARCH='mipsr6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='mipsr6' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips64r6\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' 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='4.19.0-7' ARCH='mipsr6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips32r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6el' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='mipsr6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips32r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips32r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips32r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips32r6el' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' setup_mipsr6el_none_mips64r6el: setup_mipsr6el_none_mips64r6el_real setup_mipsr6el_none_mips64r6el_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-7' ARCH='mipsr6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='mipsr6el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='mips64r6el' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-mips64r6el\""' KERNEL_ARCH='mips' LOCALVERSION='-mips64r6el' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-mips64r6el' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' setup_mipsr6el_none_real: setup_mipsr6el_real: setup_none: setup_none_real @@ -1058,33 +1058,33 @@ 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='4.19.0-7' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-powerpc-smp\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc-smp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-powerpc-smp\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc-smp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' setup_powerpc_none_powerpc64: setup_powerpc_none_powerpc64_real setup_powerpc_none_powerpc64_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-7' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' setup_powerpc_none_powerpc_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-7' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-powerpc' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-powerpc\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='powerpc' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-powerpc' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpc/config.powerpc' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-powerpc\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' setup_powerpc_none_real: setup_powerpc_real: setup_powerpcspe: setup_powerpcspe_none setup_powerpcspe_real setup_powerpcspe_none: setup_powerpcspe_none_powerpcspe setup_powerpcspe_none_real setup_powerpcspe_none_powerpcspe: setup_powerpcspe_none_powerpcspe_real setup_powerpcspe_none_powerpcspe_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-7' ARCH='powerpcspe' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpcspe' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-powerpcspe' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpcspe/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-powerpcspe\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpcspe' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpcspe' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='powerpcspe' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpcspe' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-powerpcspe' KCONFIG='debian/config/config debian/config/kernelarch-powerpc/config debian/config/powerpcspe/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-powerpcspe\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpcspe' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpcspe' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' setup_powerpcspe_none_real: setup_powerpcspe_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='4.19.0-7' ARCH='ppc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='ppc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-powerpc64\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' 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='4.19.0-7' ARCH='ppc64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64le' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-powerpc64le\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64le' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64le' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='ppc64el' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='powerpc64le' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-powerpc64le\""' KERNEL_ARCH='powerpc' LOCALVERSION='-powerpc64le' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-powerpc64le' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' setup_ppc64el_none_real: setup_ppc64el_real: setup_riscv64: setup_riscv64_none setup_riscv64_real @@ -1092,7 +1092,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='4.19.0-7' ARCH='riscv64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='riscv64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-riscv64' KCONFIG='debian/config/config debian/config/riscv64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-riscv64\""' KERNEL_ARCH='riscv' LOCALVERSION='-riscv64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-riscv64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='riscv64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='riscv64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-riscv64' KCONFIG='debian/config/config debian/config/riscv64/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-riscv64\""' KERNEL_ARCH='riscv' LOCALVERSION='-riscv64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-riscv64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' setup_riscv64_real: setup_rt: setup_rt_real setup_rt_real: @@ -1103,7 +1103,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='4.19.0-7' ARCH='s390x' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='s390x' IMAGE_FILE='arch/s390/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-s390x' KCONFIG='debian/config/config debian/config/s390x/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-s390x\""' KERNEL_ARCH='s390' LOCALVERSION='-s390x' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-s390x' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='s390x' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='s390x' IMAGE_FILE='arch/s390/boot/bzImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-s390x' KCONFIG='debian/config/config debian/config/s390x/config' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-s390x\""' KERNEL_ARCH='s390' LOCALVERSION='-s390x' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-s390x' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VDSO='True' VERSION='4.19' setup_s390x_real: setup_sh3: setup_sh3_real setup_sh3_real: @@ -1112,10 +1112,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='4.19.0-7' ARCH='sh4' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sh7751r' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-sh7751r' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7751r' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-sh7751r\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7751r' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7751r' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='sh4' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sh7751r' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-sh7751r' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7751r' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-sh7751r\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7751r' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7751r' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' setup_sh4_none_sh7785lcr: setup_sh4_none_sh7785lcr_real setup_sh4_none_sh7785lcr_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-7' ARCH='sh4' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sh7785lcr' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-sh7785lcr' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7785lcr' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-7-sh7785lcr\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7785lcr' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7785lcr' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='sh4' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sh7785lcr' IMAGE_FILE='arch/sh/boot/zImage' IMAGE_INSTALL_STEM='vmlinuz' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-sh7785lcr' KCONFIG='debian/config/config debian/config/sh4/config debian/config/sh4/config.sh7785lcr' KCONFIG_OPTIONS=' -o DEBUG_INFO=y -o "BUILD_SALT=\"4.19.0-8-sh7785lcr\""' KERNEL_ARCH='sh' LOCALVERSION='-sh7785lcr' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sh7785lcr' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' setup_sh4_real: setup_sparc: setup_sparc_real setup_sparc64: setup_sparc64_none setup_sparc64_real @@ -1124,9 +1124,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='4.19.0-7' ARCH='sparc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-sparc64-smp\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64-smp' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='sparc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64-smp' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-sparc64-smp\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64-smp' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64-smp' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' setup_sparc64_none_sparc64_real:: - $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-7' ARCH='sparc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-7-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=\"4.19.0-7-sparc64\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real setup-arch-flavour ABINAME='4.19.0-8' ARCH='sparc64' COMPILER='gcc-8' DEBUG='True' FEATURESET='none' FLAVOUR='sparc64' IMAGE_FILE='vmlinux' IMAGE_INSTALL_STEM='vmlinux' IMAGE_PACKAGE_NAME='linux-image-4.19.0-8-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=\"4.19.0-8-sparc64\""' KERNEL_ARCH='sparc' LOCALVERSION='-sparc64' LOCALVERSION_HEADERS='' LOCALVERSION_IMAGE='-sparc64' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' setup_sparc64_real: setup_sparc_real: setup_x32: setup_x32_real @@ -1134,7 +1134,7 @@ source: source_none source_rt source_none: source_none_real source_none_real:: - $(MAKE) -f debian/rules.real source-featureset ABINAME='4.19.0-7' FEATURESET='none' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real source-featureset ABINAME='4.19.0-8' FEATURESET='none' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' source_rt: source_rt_real source_rt_real:: - $(MAKE) -f debian/rules.real source-featureset ABINAME='4.19.0-7' FEATURESET='rt' SOURCEVERSION='4.19.87-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' + $(MAKE) -f debian/rules.real source-featureset ABINAME='4.19.0-8' FEATURESET='rt' SOURCEVERSION='4.19.98-1' SOURCE_BASENAME='linux' UPSTREAMVERSION='4.19' VERSION='4.19' diff -Nru linux-4.19.87/debian/tests/control linux-4.19.98/debian/tests/control --- linux-4.19.87/debian/tests/control 2019-12-03 05:58:41.000000000 +0000 +++ linux-4.19.98/debian/tests/control 2020-01-26 20:01:13.000000000 +0000 @@ -3,6 +3,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-4.19.0-7-alpha-generic [alpha], linux-image-4.19.0-7-alpha-smp [alpha], linux-image-4.19.0-7-amd64-unsigned [amd64], linux-image-4.19.0-7-cloud-amd64-unsigned [amd64], linux-image-4.19.0-7-rt-amd64-unsigned [amd64], linux-image-4.19.0-7-arm64-unsigned [arm64], linux-image-4.19.0-7-rt-arm64-unsigned [arm64], linux-image-4.19.0-7-marvell [armel], linux-image-4.19.0-7-rpi [armel], linux-image-4.19.0-7-armmp [armhf], linux-image-4.19.0-7-armmp-lpae [armhf], linux-image-4.19.0-7-rt-armmp [armhf], linux-image-4.19.0-7-parisc [hppa], linux-image-4.19.0-7-parisc-smp [hppa], linux-image-4.19.0-7-parisc64-smp [hppa], linux-image-4.19.0-7-686-unsigned [i386], linux-image-4.19.0-7-686-pae-unsigned [i386], linux-image-4.19.0-7-rt-686-pae-unsigned [i386], linux-image-4.19.0-7-itanium [ia64], linux-image-4.19.0-7-mckinley [ia64], linux-image-4.19.0-7-m68k [m68k], linux-image-4.19.0-7-4kc-malta [mips mipsel], linux-image-4.19.0-7-5kc-malta [mips mips64 mips64el mipsel], linux-image-4.19.0-7-octeon [mips mips64 mips64el mipsel], linux-image-4.19.0-7-loongson-3 [mips64el mipsel], linux-image-4.19.0-7-mips64r6 [mips64r6 mipsr6], linux-image-4.19.0-7-mips64r6el [mips64r6el mipsr6el], linux-image-4.19.0-7-mips32r6 [mipsr6], linux-image-4.19.0-7-mips32r6el [mipsr6el], linux-image-4.19.0-7-powerpc [powerpc], linux-image-4.19.0-7-powerpc-smp [powerpc], linux-image-4.19.0-7-powerpc64 [powerpc ppc64], linux-image-4.19.0-7-powerpcspe [powerpcspe], linux-image-4.19.0-7-powerpc64le [ppc64el], linux-image-4.19.0-7-riscv64 [riscv64], linux-image-4.19.0-7-s390x [s390x], linux-image-4.19.0-7-sh7751r [sh4], linux-image-4.19.0-7-sh7785lcr [sh4], linux-image-4.19.0-7-sparc64 [sparc64], linux-image-4.19.0-7-sparc64-smp [sparc64] +Depends: kexec-tools, python3, gcc, make, libpopt-dev, gcc-multilib [amd64], bc, fuse, libfuse-dev, pkg-config, linux-image-4.19.0-8-alpha-generic [alpha], linux-image-4.19.0-8-alpha-smp [alpha], linux-image-4.19.0-8-amd64-unsigned [amd64], linux-image-4.19.0-8-cloud-amd64-unsigned [amd64], linux-image-4.19.0-8-rt-amd64-unsigned [amd64], linux-image-4.19.0-8-arm64-unsigned [arm64], linux-image-4.19.0-8-rt-arm64-unsigned [arm64], linux-image-4.19.0-8-marvell [armel], linux-image-4.19.0-8-rpi [armel], linux-image-4.19.0-8-armmp [armhf], linux-image-4.19.0-8-armmp-lpae [armhf], linux-image-4.19.0-8-rt-armmp [armhf], linux-image-4.19.0-8-parisc [hppa], linux-image-4.19.0-8-parisc-smp [hppa], linux-image-4.19.0-8-parisc64-smp [hppa], linux-image-4.19.0-8-686-unsigned [i386], linux-image-4.19.0-8-686-pae-unsigned [i386], linux-image-4.19.0-8-rt-686-pae-unsigned [i386], linux-image-4.19.0-8-itanium [ia64], linux-image-4.19.0-8-mckinley [ia64], linux-image-4.19.0-8-m68k [m68k], linux-image-4.19.0-8-4kc-malta [mips mipsel], linux-image-4.19.0-8-5kc-malta [mips mips64 mips64el mipsel], linux-image-4.19.0-8-octeon [mips mips64 mips64el mipsel], linux-image-4.19.0-8-loongson-3 [mips64el mipsel], linux-image-4.19.0-8-mips64r6 [mips64r6 mipsr6], linux-image-4.19.0-8-mips64r6el [mips64r6el mipsr6el], linux-image-4.19.0-8-mips32r6 [mipsr6], linux-image-4.19.0-8-mips32r6el [mipsr6el], linux-image-4.19.0-8-powerpc [powerpc], linux-image-4.19.0-8-powerpc-smp [powerpc], linux-image-4.19.0-8-powerpc64 [powerpc ppc64], linux-image-4.19.0-8-powerpcspe [powerpcspe], linux-image-4.19.0-8-powerpc64le [ppc64el], linux-image-4.19.0-8-riscv64 [riscv64], linux-image-4.19.0-8-s390x [s390x], linux-image-4.19.0-8-sh7751r [sh4], linux-image-4.19.0-8-sh7785lcr [sh4], linux-image-4.19.0-8-sparc64 [sparc64], linux-image-4.19.0-8-sparc64-smp [sparc64] Classes: smp diff -Nru linux-4.19.87/drivers/acpi/acpi_lpss.c linux-4.19.98/drivers/acpi/acpi_lpss.c --- linux-4.19.87/drivers/acpi/acpi_lpss.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/acpi/acpi_lpss.c 2020-01-23 07:21:39.000000000 +0000 @@ -665,12 +665,7 @@ * have _PS0 and _PS3 without _PSC (and no power resources), so * acpi_bus_init_power() will assume that the BIOS has put them into D0. */ - ret = acpi_device_fix_up_power(adev); - if (ret) { - /* Skip the device, but continue the namespace scan. */ - ret = 0; - goto err_out; - } + acpi_device_fix_up_power(adev); adev->driver_data = pdata; pdev = acpi_create_platform_device(adev, dev_desc->properties); diff -Nru linux-4.19.87/drivers/acpi/apei/ghes.c linux-4.19.98/drivers/acpi/apei/ghes.c --- linux-4.19.87/drivers/acpi/apei/ghes.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/acpi/apei/ghes.c 2020-01-23 07:21:39.000000000 +0000 @@ -33,7 +33,6 @@ #include #include #include -#include #include #include #include @@ -171,40 +170,40 @@ return 0; } -static void ghes_estatus_pool_free_chunk_page(struct gen_pool *pool, +static void ghes_estatus_pool_free_chunk(struct gen_pool *pool, struct gen_pool_chunk *chunk, void *data) { - free_page(chunk->start_addr); + vfree((void *)chunk->start_addr); } static void ghes_estatus_pool_exit(void) { gen_pool_for_each_chunk(ghes_estatus_pool, - ghes_estatus_pool_free_chunk_page, NULL); + ghes_estatus_pool_free_chunk, NULL); gen_pool_destroy(ghes_estatus_pool); } static int ghes_estatus_pool_expand(unsigned long len) { - unsigned long i, pages, size, addr; - int ret; + unsigned long size, addr; ghes_estatus_pool_size_request += PAGE_ALIGN(len); size = gen_pool_size(ghes_estatus_pool); if (size >= ghes_estatus_pool_size_request) return 0; - pages = (ghes_estatus_pool_size_request - size) / PAGE_SIZE; - for (i = 0; i < pages; i++) { - addr = __get_free_page(GFP_KERNEL); - if (!addr) - return -ENOMEM; - ret = gen_pool_add(ghes_estatus_pool, addr, PAGE_SIZE, -1); - if (ret) - return ret; - } - return 0; + addr = (unsigned long)vmalloc(PAGE_ALIGN(len)); + if (!addr) + return -ENOMEM; + + /* + * New allocation must be visible in all pgd before it can be found by + * an NMI allocating from the pool. + */ + vmalloc_sync_all(); + + return gen_pool_add(ghes_estatus_pool, addr, PAGE_ALIGN(len), -1); } static int map_gen_v2(struct ghes *ghes) @@ -949,7 +948,6 @@ sev = ghes_severity(ghes->estatus->error_severity); if (sev >= GHES_SEV_PANIC) { - oops_begin(); ghes_print_queued_estatus(); __ghes_panic(ghes); } diff -Nru linux-4.19.87/drivers/acpi/bus.c linux-4.19.98/drivers/acpi/bus.c --- linux-4.19.87/drivers/acpi/bus.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/acpi/bus.c 2020-01-23 07:21:39.000000000 +0000 @@ -166,7 +166,7 @@ { acpi_status status; - if (!*data) + if (!data) return -EINVAL; status = acpi_get_data(handle, acpi_bus_private_data_handler, data); diff -Nru linux-4.19.87/drivers/acpi/button.c linux-4.19.98/drivers/acpi/button.c --- linux-4.19.87/drivers/acpi/button.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/acpi/button.c 2020-01-23 07:21:39.000000000 +0000 @@ -91,6 +91,17 @@ DMI_MATCH(DMI_BIOS_VERSION, "BYT70A.YNCHENG.WIN.007"), }, }, + { + /* + * Medion Akoya E2215T, notification of the LID device only + * happens on close, not on open and _LID always returns closed. + */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "MEDION"), + DMI_MATCH(DMI_PRODUCT_NAME, "E2215T MD60198"), + }, + .driver_data = (void *)(long)ACPI_BUTTON_LID_INIT_OPEN, + }, {} }; diff -Nru linux-4.19.87/drivers/acpi/device_pm.c linux-4.19.98/drivers/acpi/device_pm.c --- linux-4.19.87/drivers/acpi/device_pm.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/acpi/device_pm.c 2020-01-23 07:21:39.000000000 +0000 @@ -1254,9 +1254,19 @@ */ int acpi_dev_pm_attach(struct device *dev, bool power_on) { + /* + * Skip devices whose ACPI companions match the device IDs below, + * because they require special power management handling incompatible + * with the generic ACPI PM domain. + */ + static const struct acpi_device_id special_pm_ids[] = { + {"PNP0C0B", }, /* Generic ACPI fan */ + {"INT3404", }, /* Fan */ + {} + }; struct acpi_device *adev = ACPI_COMPANION(dev); - if (!adev) + if (!adev || !acpi_match_device_ids(adev, special_pm_ids)) return 0; /* diff -Nru linux-4.19.87/drivers/acpi/osl.c linux-4.19.98/drivers/acpi/osl.c --- linux-4.19.87/drivers/acpi/osl.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/acpi/osl.c 2020-01-23 07:21:39.000000000 +0000 @@ -374,19 +374,21 @@ } EXPORT_SYMBOL_GPL(acpi_os_map_memory); -static void acpi_os_drop_map_ref(struct acpi_ioremap *map) +/* Must be called with mutex_lock(&acpi_ioremap_lock) */ +static unsigned long acpi_os_drop_map_ref(struct acpi_ioremap *map) { - if (!--map->refcount) + unsigned long refcount = --map->refcount; + + if (!refcount) list_del_rcu(&map->list); + return refcount; } static void acpi_os_map_cleanup(struct acpi_ioremap *map) { - if (!map->refcount) { - synchronize_rcu_expedited(); - acpi_unmap(map->phys, map->virt); - kfree(map); - } + synchronize_rcu_expedited(); + acpi_unmap(map->phys, map->virt); + kfree(map); } /** @@ -406,6 +408,7 @@ void __ref acpi_os_unmap_iomem(void __iomem *virt, acpi_size size) { struct acpi_ioremap *map; + unsigned long refcount; if (!acpi_permanent_mmap) { __acpi_unmap_table(virt, size); @@ -419,10 +422,11 @@ WARN(true, PREFIX "%s: bad address %p\n", __func__, virt); return; } - acpi_os_drop_map_ref(map); + refcount = acpi_os_drop_map_ref(map); mutex_unlock(&acpi_ioremap_lock); - acpi_os_map_cleanup(map); + if (!refcount) + acpi_os_map_cleanup(map); } EXPORT_SYMBOL_GPL(acpi_os_unmap_iomem); @@ -457,6 +461,7 @@ { u64 addr; struct acpi_ioremap *map; + unsigned long refcount; if (gas->space_id != ACPI_ADR_SPACE_SYSTEM_MEMORY) return; @@ -472,10 +477,11 @@ mutex_unlock(&acpi_ioremap_lock); return; } - acpi_os_drop_map_ref(map); + refcount = acpi_os_drop_map_ref(map); mutex_unlock(&acpi_ioremap_lock); - acpi_os_map_cleanup(map); + if (!refcount) + acpi_os_map_cleanup(map); } EXPORT_SYMBOL(acpi_os_unmap_generic_address); diff -Nru linux-4.19.87/drivers/acpi/sysfs.c linux-4.19.98/drivers/acpi/sysfs.c --- linux-4.19.87/drivers/acpi/sysfs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/acpi/sysfs.c 2020-01-23 07:21:39.000000000 +0000 @@ -816,14 +816,14 @@ * interface: * echo unmask > /sys/firmware/acpi/interrupts/gpe00 */ -#define ACPI_MASKABLE_GPE_MAX 0xFF +#define ACPI_MASKABLE_GPE_MAX 0x100 static DECLARE_BITMAP(acpi_masked_gpes_map, ACPI_MASKABLE_GPE_MAX) __initdata; static int __init acpi_gpe_set_masked_gpes(char *val) { u8 gpe; - if (kstrtou8(val, 0, &gpe) || gpe > ACPI_MASKABLE_GPE_MAX) + if (kstrtou8(val, 0, &gpe)) return -EINVAL; set_bit(gpe, acpi_masked_gpes_map); @@ -835,7 +835,7 @@ { acpi_handle handle; acpi_status status; - u8 gpe; + u16 gpe; for_each_set_bit(gpe, acpi_masked_gpes_map, ACPI_MASKABLE_GPE_MAX) { status = acpi_get_gpe_device(gpe, &handle); diff -Nru linux-4.19.87/drivers/android/binder_alloc.c linux-4.19.98/drivers/android/binder_alloc.c --- linux-4.19.87/drivers/android/binder_alloc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/android/binder_alloc.c 2020-01-23 07:21:39.000000000 +0000 @@ -295,8 +295,7 @@ return 0; free_range: - for (page_addr = end - PAGE_SIZE; page_addr >= start; - page_addr -= PAGE_SIZE) { + for (page_addr = end - PAGE_SIZE; 1; page_addr -= PAGE_SIZE) { bool ret; size_t index; @@ -309,6 +308,8 @@ WARN_ON(!ret); trace_binder_free_lru_end(alloc, index); + if (page_addr == start) + break; continue; err_vm_insert_page_failed: @@ -318,7 +319,8 @@ page->page_ptr = NULL; err_alloc_page_failed: err_page_ptr_cleared: - ; + if (page_addr == start) + break; } err_no_vma: if (mm) { @@ -880,14 +882,20 @@ int free = 0; mutex_lock(&alloc->mutex); - for (i = 0; i < alloc->buffer_size / PAGE_SIZE; i++) { - page = &alloc->pages[i]; - if (!page->page_ptr) - free++; - else if (list_empty(&page->lru)) - active++; - else - lru++; + /* + * Make sure the binder_alloc is fully initialized, otherwise we might + * read inconsistent state. + */ + if (binder_alloc_get_vma(alloc) != NULL) { + for (i = 0; i < alloc->buffer_size / PAGE_SIZE; i++) { + page = &alloc->pages[i]; + if (!page->page_ptr) + free++; + else if (list_empty(&page->lru)) + active++; + else + lru++; + } } mutex_unlock(&alloc->mutex); seq_printf(m, " pages: %d:%d:%d\n", active, lru, free); diff -Nru linux-4.19.87/drivers/ata/ahci_brcm.c linux-4.19.98/drivers/ata/ahci_brcm.c --- linux-4.19.87/drivers/ata/ahci_brcm.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/ata/ahci_brcm.c 2020-01-23 07:21:39.000000000 +0000 @@ -25,6 +25,7 @@ #include #include #include +#include #include #include "ahci.h" @@ -84,8 +85,7 @@ }; enum brcm_ahci_quirks { - BRCM_AHCI_QUIRK_NO_NCQ = BIT(0), - BRCM_AHCI_QUIRK_SKIP_PHY_ENABLE = BIT(1), + BRCM_AHCI_QUIRK_SKIP_PHY_ENABLE = BIT(0), }; struct brcm_ahci_priv { @@ -94,6 +94,7 @@ u32 port_mask; u32 quirks; enum brcm_ahci_version version; + struct reset_control *rcdev; }; static inline u32 brcm_sata_readreg(void __iomem *addr) @@ -220,19 +221,12 @@ brcm_sata_phy_disable(priv, i); } -static u32 brcm_ahci_get_portmask(struct platform_device *pdev, +static u32 brcm_ahci_get_portmask(struct ahci_host_priv *hpriv, struct brcm_ahci_priv *priv) { - void __iomem *ahci; - struct resource *res; u32 impl; - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "ahci"); - ahci = devm_ioremap_resource(&pdev->dev, res); - if (IS_ERR(ahci)) - return 0; - - impl = readl(ahci + HOST_PORTS_IMPL); + impl = readl(hpriv->mmio + HOST_PORTS_IMPL); if (fls(impl) > SATA_TOP_MAX_PHYS) dev_warn(priv->dev, "warning: more ports than PHYs (%#x)\n", @@ -240,9 +234,6 @@ else if (!impl) dev_info(priv->dev, "no ports found\n"); - devm_iounmap(&pdev->dev, ahci); - devm_release_mem_region(&pdev->dev, res->start, resource_size(res)); - return impl; } @@ -292,6 +283,13 @@ /* Perform the SATA PHY reset sequence */ brcm_sata_phy_disable(priv, ap->port_no); + /* Reset the SATA clock */ + ahci_platform_disable_clks(hpriv); + msleep(10); + + ahci_platform_enable_clks(hpriv); + msleep(10); + /* Bring the PHY back on */ brcm_sata_phy_enable(priv, ap->port_no); @@ -354,11 +352,10 @@ struct ata_host *host = dev_get_drvdata(dev); struct ahci_host_priv *hpriv = host->private_data; struct brcm_ahci_priv *priv = hpriv->plat_data; - int ret; - ret = ahci_platform_suspend(dev); brcm_sata_phys_disable(priv); - return ret; + + return ahci_platform_suspend(dev); } static int brcm_ahci_resume(struct device *dev) @@ -366,11 +363,44 @@ struct ata_host *host = dev_get_drvdata(dev); struct ahci_host_priv *hpriv = host->private_data; struct brcm_ahci_priv *priv = hpriv->plat_data; + int ret; + + /* Make sure clocks are turned on before re-configuration */ + ret = ahci_platform_enable_clks(hpriv); + if (ret) + return ret; brcm_sata_init(priv); brcm_sata_phys_enable(priv); brcm_sata_alpm_init(hpriv); - return ahci_platform_resume(dev); + + /* Since we had to enable clocks earlier on, we cannot use + * ahci_platform_resume() as-is since a second call to + * ahci_platform_enable_resources() would bump up the resources + * (regulators, clocks, PHYs) count artificially so we copy the part + * after ahci_platform_enable_resources(). + */ + ret = ahci_platform_enable_phys(hpriv); + if (ret) + goto out_disable_phys; + + ret = ahci_platform_resume_host(dev); + if (ret) + goto out_disable_platform_phys; + + /* We resumed so update PM runtime state */ + pm_runtime_disable(dev); + pm_runtime_set_active(dev); + pm_runtime_enable(dev); + + return 0; + +out_disable_platform_phys: + ahci_platform_disable_phys(hpriv); +out_disable_phys: + brcm_sata_phys_disable(priv); + ahci_platform_disable_clks(hpriv); + return ret; } #endif @@ -411,44 +441,76 @@ if (IS_ERR(priv->top_ctrl)) return PTR_ERR(priv->top_ctrl); - if ((priv->version == BRCM_SATA_BCM7425) || - (priv->version == BRCM_SATA_NSP)) { - priv->quirks |= BRCM_AHCI_QUIRK_NO_NCQ; + /* Reset is optional depending on platform */ + priv->rcdev = devm_reset_control_get(&pdev->dev, "ahci"); + if (!IS_ERR_OR_NULL(priv->rcdev)) + reset_control_deassert(priv->rcdev); + + hpriv = ahci_platform_get_resources(pdev, 0); + if (IS_ERR(hpriv)) { + ret = PTR_ERR(hpriv); + goto out_reset; + } + + hpriv->plat_data = priv; + hpriv->flags = AHCI_HFLAG_WAKE_BEFORE_STOP | AHCI_HFLAG_NO_WRITE_TO_RO; + + switch (priv->version) { + case BRCM_SATA_BCM7425: + hpriv->flags |= AHCI_HFLAG_DELAY_ENGINE; + /* fall through */ + case BRCM_SATA_NSP: + hpriv->flags |= AHCI_HFLAG_NO_NCQ; priv->quirks |= BRCM_AHCI_QUIRK_SKIP_PHY_ENABLE; + break; + default: + break; } + ret = ahci_platform_enable_clks(hpriv); + if (ret) + goto out_reset; + + /* Must be first so as to configure endianness including that + * of the standard AHCI register space. + */ brcm_sata_init(priv); - priv->port_mask = brcm_ahci_get_portmask(pdev, priv); - if (!priv->port_mask) - return -ENODEV; + /* Initializes priv->port_mask which is used below */ + priv->port_mask = brcm_ahci_get_portmask(hpriv, priv); + if (!priv->port_mask) { + ret = -ENODEV; + goto out_disable_clks; + } + /* Must be done before ahci_platform_enable_phys() */ brcm_sata_phys_enable(priv); - hpriv = ahci_platform_get_resources(pdev, 0); - if (IS_ERR(hpriv)) - return PTR_ERR(hpriv); - hpriv->plat_data = priv; - hpriv->flags = AHCI_HFLAG_WAKE_BEFORE_STOP; - brcm_sata_alpm_init(hpriv); - ret = ahci_platform_enable_resources(hpriv); + ret = ahci_platform_enable_phys(hpriv); if (ret) - return ret; - - if (priv->quirks & BRCM_AHCI_QUIRK_NO_NCQ) - hpriv->flags |= AHCI_HFLAG_NO_NCQ; - hpriv->flags |= AHCI_HFLAG_NO_WRITE_TO_RO; + goto out_disable_phys; ret = ahci_platform_init_host(pdev, hpriv, &ahci_brcm_port_info, &ahci_platform_sht); if (ret) - return ret; + goto out_disable_platform_phys; dev_info(dev, "Broadcom AHCI SATA3 registered\n"); return 0; + +out_disable_platform_phys: + ahci_platform_disable_phys(hpriv); +out_disable_phys: + brcm_sata_phys_disable(priv); +out_disable_clks: + ahci_platform_disable_clks(hpriv); +out_reset: + if (!IS_ERR_OR_NULL(priv->rcdev)) + reset_control_assert(priv->rcdev); + return ret; } static int brcm_ahci_remove(struct platform_device *pdev) @@ -458,12 +520,12 @@ struct brcm_ahci_priv *priv = hpriv->plat_data; int ret; + brcm_sata_phys_disable(priv); + ret = ata_platform_remove_one(pdev); if (ret) return ret; - brcm_sata_phys_disable(priv); - return 0; } diff -Nru linux-4.19.87/drivers/ata/ahci_mvebu.c linux-4.19.98/drivers/ata/ahci_mvebu.c --- linux-4.19.87/drivers/ata/ahci_mvebu.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/ata/ahci_mvebu.c 2020-01-23 07:21:39.000000000 +0000 @@ -28,6 +28,10 @@ #define AHCI_WINDOW_BASE(win) (0x64 + ((win) << 4)) #define AHCI_WINDOW_SIZE(win) (0x68 + ((win) << 4)) +struct ahci_mvebu_plat_data { + int (*plat_config)(struct ahci_host_priv *hpriv); +}; + static void ahci_mvebu_mbus_config(struct ahci_host_priv *hpriv, const struct mbus_dram_target_info *dram) { @@ -62,6 +66,22 @@ writel(0x80, hpriv->mmio + AHCI_VENDOR_SPECIFIC_0_DATA); } +static int ahci_mvebu_armada_380_config(struct ahci_host_priv *hpriv) +{ + const struct mbus_dram_target_info *dram; + int rc = 0; + + dram = mv_mbus_dram_info(); + if (dram) + ahci_mvebu_mbus_config(hpriv, dram); + else + rc = -ENODEV; + + ahci_mvebu_regret_option(hpriv); + + return rc; +} + /** * ahci_mvebu_stop_engine * @@ -126,13 +146,10 @@ { struct ata_host *host = platform_get_drvdata(pdev); struct ahci_host_priv *hpriv = host->private_data; - const struct mbus_dram_target_info *dram; + const struct ahci_mvebu_plat_data *pdata = hpriv->plat_data; - dram = mv_mbus_dram_info(); - if (dram) - ahci_mvebu_mbus_config(hpriv, dram); - - ahci_mvebu_regret_option(hpriv); + if (pdata->plat_config) + pdata->plat_config(hpriv); return ahci_platform_resume_host(&pdev->dev); } @@ -154,28 +171,31 @@ static int ahci_mvebu_probe(struct platform_device *pdev) { + const struct ahci_mvebu_plat_data *pdata; struct ahci_host_priv *hpriv; - const struct mbus_dram_target_info *dram; int rc; + pdata = of_device_get_match_data(&pdev->dev); + if (!pdata) + return -EINVAL; + hpriv = ahci_platform_get_resources(pdev, 0); if (IS_ERR(hpriv)) return PTR_ERR(hpriv); + hpriv->plat_data = (void *)pdata; + rc = ahci_platform_enable_resources(hpriv); if (rc) return rc; hpriv->stop_engine = ahci_mvebu_stop_engine; - if (of_device_is_compatible(pdev->dev.of_node, - "marvell,armada-380-ahci")) { - dram = mv_mbus_dram_info(); - if (!dram) - return -ENODEV; - - ahci_mvebu_mbus_config(hpriv, dram); - ahci_mvebu_regret_option(hpriv); + pdata = hpriv->plat_data; + if (pdata->plat_config) { + rc = pdata->plat_config(hpriv); + if (rc) + goto disable_resources; } rc = ahci_platform_init_host(pdev, hpriv, &ahci_mvebu_port_info, @@ -190,9 +210,23 @@ return rc; } +static const struct ahci_mvebu_plat_data ahci_mvebu_armada_380_plat_data = { + .plat_config = ahci_mvebu_armada_380_config, +}; + +static const struct ahci_mvebu_plat_data ahci_mvebu_armada_3700_plat_data = { + .plat_config = NULL, +}; + static const struct of_device_id ahci_mvebu_of_match[] = { - { .compatible = "marvell,armada-380-ahci", }, - { .compatible = "marvell,armada-3700-ahci", }, + { + .compatible = "marvell,armada-380-ahci", + .data = &ahci_mvebu_armada_380_plat_data, + }, + { + .compatible = "marvell,armada-3700-ahci", + .data = &ahci_mvebu_armada_3700_plat_data, + }, { }, }; MODULE_DEVICE_TABLE(of, ahci_mvebu_of_match); diff -Nru linux-4.19.87/drivers/ata/libahci_platform.c linux-4.19.98/drivers/ata/libahci_platform.c --- linux-4.19.87/drivers/ata/libahci_platform.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/ata/libahci_platform.c 2020-01-23 07:21:39.000000000 +0000 @@ -47,7 +47,7 @@ * RETURNS: * 0 on success otherwise a negative error code */ -static int ahci_platform_enable_phys(struct ahci_host_priv *hpriv) +int ahci_platform_enable_phys(struct ahci_host_priv *hpriv) { int rc, i; @@ -72,6 +72,7 @@ } return rc; } +EXPORT_SYMBOL_GPL(ahci_platform_enable_phys); /** * ahci_platform_disable_phys - Disable PHYs @@ -79,7 +80,7 @@ * * This function disables all PHYs found in hpriv->phys. */ -static void ahci_platform_disable_phys(struct ahci_host_priv *hpriv) +void ahci_platform_disable_phys(struct ahci_host_priv *hpriv) { int i; @@ -88,6 +89,7 @@ phy_exit(hpriv->phys[i]); } } +EXPORT_SYMBOL_GPL(ahci_platform_disable_phys); /** * ahci_platform_enable_clks - Enable platform clocks diff -Nru linux-4.19.87/drivers/ata/libata-core.c linux-4.19.98/drivers/ata/libata-core.c --- linux-4.19.87/drivers/ata/libata-core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/ata/libata-core.c 2020-01-23 07:21:39.000000000 +0000 @@ -5344,6 +5344,30 @@ } /** + * ata_qc_get_active - get bitmask of active qcs + * @ap: port in question + * + * LOCKING: + * spin_lock_irqsave(host lock) + * + * RETURNS: + * Bitmask of active qcs + */ +u64 ata_qc_get_active(struct ata_port *ap) +{ + u64 qc_active = ap->qc_active; + + /* ATA_TAG_INTERNAL is sent to hw as tag 0 */ + if (qc_active & (1ULL << ATA_TAG_INTERNAL)) { + qc_active |= (1 << 0); + qc_active &= ~(1ULL << ATA_TAG_INTERNAL); + } + + return qc_active; +} +EXPORT_SYMBOL_GPL(ata_qc_get_active); + +/** * ata_qc_complete_multiple - Complete multiple qcs successfully * @ap: port in question * @qc_active: new qc_active mask @@ -6726,6 +6750,9 @@ { int i; + /* Ensure ata_port probe has completed */ + async_synchronize_full(); + for (i = 0; i < host->n_ports; i++) ata_port_detach(host->ports[i]); diff -Nru linux-4.19.87/drivers/ata/sata_fsl.c linux-4.19.98/drivers/ata/sata_fsl.c --- linux-4.19.87/drivers/ata/sata_fsl.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/ata/sata_fsl.c 2020-01-23 07:21:39.000000000 +0000 @@ -1283,7 +1283,7 @@ i, ioread32(hcr_base + CC), ioread32(hcr_base + CA)); } - ata_qc_complete_multiple(ap, ap->qc_active ^ done_mask); + ata_qc_complete_multiple(ap, ata_qc_get_active(ap) ^ done_mask); return; } else if ((ap->qc_active & (1ULL << ATA_TAG_INTERNAL))) { diff -Nru linux-4.19.87/drivers/ata/sata_mv.c linux-4.19.98/drivers/ata/sata_mv.c --- linux-4.19.87/drivers/ata/sata_mv.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/ata/sata_mv.c 2020-01-23 07:21:39.000000000 +0000 @@ -2840,7 +2840,7 @@ } if (work_done) { - ata_qc_complete_multiple(ap, ap->qc_active ^ done_mask); + ata_qc_complete_multiple(ap, ata_qc_get_active(ap) ^ done_mask); /* Update the software queue position index in hardware */ writelfl((pp->crpb_dma & EDMA_RSP_Q_BASE_LO_MASK) | diff -Nru linux-4.19.87/drivers/ata/sata_nv.c linux-4.19.98/drivers/ata/sata_nv.c --- linux-4.19.87/drivers/ata/sata_nv.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/ata/sata_nv.c 2020-01-23 07:21:39.000000000 +0000 @@ -1000,7 +1000,7 @@ check_commands = 0; check_commands &= ~(1 << pos); } - ata_qc_complete_multiple(ap, ap->qc_active ^ done_mask); + ata_qc_complete_multiple(ap, ata_qc_get_active(ap) ^ done_mask); } } diff -Nru linux-4.19.87/drivers/base/platform.c linux-4.19.98/drivers/base/platform.c --- linux-4.19.87/drivers/base/platform.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/base/platform.c 2020-01-23 07:21:39.000000000 +0000 @@ -26,6 +26,7 @@ #include #include #include +#include #include "base.h" #include "power/power.h" @@ -525,6 +526,8 @@ if (!pdev->dev.dma_mask) goto err; + kmemleak_ignore(pdev->dev.dma_mask); + *pdev->dev.dma_mask = pdevinfo->dma_mask; pdev->dev.coherent_dma_mask = pdevinfo->dma_mask; } diff -Nru linux-4.19.87/drivers/block/drbd/drbd_main.c linux-4.19.98/drivers/block/drbd/drbd_main.c --- linux-4.19.87/drivers/block/drbd/drbd_main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/block/drbd/drbd_main.c 2020-01-23 07:21:39.000000000 +0000 @@ -796,7 +796,6 @@ if (nc->tentative && connection->agreed_pro_version < 92) { rcu_read_unlock(); - mutex_unlock(&sock->mutex); drbd_err(connection, "--dry-run is not supported by peer"); return -EOPNOTSUPP; } diff -Nru linux-4.19.87/drivers/block/drbd/drbd_nl.c linux-4.19.98/drivers/block/drbd/drbd_nl.c --- linux-4.19.87/drivers/block/drbd/drbd_nl.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/block/drbd/drbd_nl.c 2020-01-23 07:21:39.000000000 +0000 @@ -1515,6 +1515,30 @@ } } +static int disk_opts_check_al_size(struct drbd_device *device, struct disk_conf *dc) +{ + int err = -EBUSY; + + if (device->act_log && + device->act_log->nr_elements == dc->al_extents) + return 0; + + drbd_suspend_io(device); + /* If IO completion is currently blocked, we would likely wait + * "forever" for the activity log to become unused. So we don't. */ + if (atomic_read(&device->ap_bio_cnt)) + goto out; + + wait_event(device->al_wait, lc_try_lock(device->act_log)); + drbd_al_shrink(device); + err = drbd_check_al_size(device, dc); + lc_unlock(device->act_log); + wake_up(&device->al_wait); +out: + drbd_resume_io(device); + return err; +} + int drbd_adm_disk_opts(struct sk_buff *skb, struct genl_info *info) { struct drbd_config_context adm_ctx; @@ -1577,15 +1601,12 @@ } } - drbd_suspend_io(device); - wait_event(device->al_wait, lc_try_lock(device->act_log)); - drbd_al_shrink(device); - err = drbd_check_al_size(device, new_disk_conf); - lc_unlock(device->act_log); - wake_up(&device->al_wait); - drbd_resume_io(device); - + err = disk_opts_check_al_size(device, new_disk_conf); if (err) { + /* Could be just "busy". Ignore? + * Introduce dedicated error code? */ + drbd_msg_put_info(adm_ctx.reply_skb, + "Try again without changing current al-extents setting"); retcode = ERR_NOMEM; goto fail_unlock; } @@ -1935,9 +1956,9 @@ } } - if (device->state.conn < C_CONNECTED && - device->state.role == R_PRIMARY && device->ed_uuid && - (device->ed_uuid & ~((u64)1)) != (nbc->md.uuid[UI_CURRENT] & ~((u64)1))) { + if (device->state.pdsk != D_UP_TO_DATE && device->ed_uuid && + (device->state.role == R_PRIMARY || device->state.peer == R_PRIMARY) && + (device->ed_uuid & ~((u64)1)) != (nbc->md.uuid[UI_CURRENT] & ~((u64)1))) { drbd_err(device, "Can only attach to data with current UUID=%016llX\n", (unsigned long long)device->ed_uuid); retcode = ERR_DATA_NOT_CURRENT; diff -Nru linux-4.19.87/drivers/block/drbd/drbd_receiver.c linux-4.19.98/drivers/block/drbd/drbd_receiver.c --- linux-4.19.87/drivers/block/drbd/drbd_receiver.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/block/drbd/drbd_receiver.c 2020-01-23 07:21:39.000000000 +0000 @@ -3980,6 +3980,7 @@ struct o_qlim *o = (connection->agreed_features & DRBD_FF_WSAME) ? p->qlim : NULL; enum determine_dev_size dd = DS_UNCHANGED; sector_t p_size, p_usize, p_csize, my_usize; + sector_t new_size, cur_size; int ldsc = 0; /* local disk size changed */ enum dds_flags ddsf; @@ -3987,6 +3988,7 @@ if (!peer_device) return config_unknown_volume(connection, pi); device = peer_device->device; + cur_size = drbd_get_capacity(device->this_bdev); p_size = be64_to_cpu(p->d_size); p_usize = be64_to_cpu(p->u_size); @@ -3997,7 +3999,6 @@ device->p_size = p_size; if (get_ldev(device)) { - sector_t new_size, cur_size; rcu_read_lock(); my_usize = rcu_dereference(device->ldev->disk_conf)->disk_size; rcu_read_unlock(); @@ -4015,7 +4016,6 @@ /* Never shrink a device with usable data during connect. But allow online shrinking if we are connected. */ new_size = drbd_new_dev_size(device, device->ldev, p_usize, 0); - cur_size = drbd_get_capacity(device->this_bdev); if (new_size < cur_size && device->state.disk >= D_OUTDATED && device->state.conn < C_CONNECTED) { @@ -4080,9 +4080,36 @@ * * However, if he sends a zero current size, * take his (user-capped or) backing disk size anyways. + * + * Unless of course he does not have a disk himself. + * In which case we ignore this completely. */ + sector_t new_size = p_csize ?: p_usize ?: p_size; drbd_reconsider_queue_parameters(device, NULL, o); - drbd_set_my_capacity(device, p_csize ?: p_usize ?: p_size); + if (new_size == 0) { + /* Ignore, peer does not know nothing. */ + } else if (new_size == cur_size) { + /* nothing to do */ + } else if (cur_size != 0 && p_size == 0) { + drbd_warn(device, "Ignored diskless peer device size (peer:%llu != me:%llu sectors)!\n", + (unsigned long long)new_size, (unsigned long long)cur_size); + } else if (new_size < cur_size && device->state.role == R_PRIMARY) { + drbd_err(device, "The peer's device size is too small! (%llu < %llu sectors); demote me first!\n", + (unsigned long long)new_size, (unsigned long long)cur_size); + conn_request_state(peer_device->connection, NS(conn, C_DISCONNECTING), CS_HARD); + return -EIO; + } else { + /* I believe the peer, if + * - I don't have a current size myself + * - we agree on the size anyways + * - I do have a current size, am Secondary, + * and he has the only disk + * - I do have a current size, am Primary, + * and he has the only disk, + * which is larger than my current size + */ + drbd_set_my_capacity(device, new_size); + } } if (get_ldev(device)) { @@ -4368,6 +4395,25 @@ if (peer_state.conn == C_AHEAD) ns.conn = C_BEHIND; + /* TODO: + * if (primary and diskless and peer uuid != effective uuid) + * abort attach on peer; + * + * If this node does not have good data, was already connected, but + * the peer did a late attach only now, trying to "negotiate" with me, + * AND I am currently Primary, possibly frozen, with some specific + * "effective" uuid, this should never be reached, really, because + * we first send the uuids, then the current state. + * + * In this scenario, we already dropped the connection hard + * when we received the unsuitable uuids (receive_uuids(). + * + * Should we want to change this, that is: not drop the connection in + * receive_uuids() already, then we would need to add a branch here + * that aborts the attach of "unsuitable uuids" on the peer in case + * this node is currently Diskless Primary. + */ + if (device->p_uuid && peer_state.disk >= D_NEGOTIATING && get_ldev_if_state(device, D_NEGOTIATING)) { int cr; /* consider resync */ diff -Nru linux-4.19.87/drivers/block/drbd/drbd_state.c linux-4.19.98/drivers/block/drbd/drbd_state.c --- linux-4.19.87/drivers/block/drbd/drbd_state.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/block/drbd/drbd_state.c 2020-01-23 07:21:39.000000000 +0000 @@ -688,11 +688,9 @@ CS_VERBOSE | CS_ORDERED | CS_INHIBIT_MD_IO); } -enum drbd_state_rv -drbd_request_detach_interruptible(struct drbd_device *device) +int drbd_request_detach_interruptible(struct drbd_device *device) { - enum drbd_state_rv rv; - int ret; + int ret, rv; drbd_suspend_io(device); /* so no-one is stuck in drbd_al_begin_io */ wait_event_interruptible(device->state_wait, diff -Nru linux-4.19.87/drivers/block/drbd/drbd_state.h linux-4.19.98/drivers/block/drbd/drbd_state.h --- linux-4.19.87/drivers/block/drbd/drbd_state.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/block/drbd/drbd_state.h 2020-01-23 07:21:39.000000000 +0000 @@ -131,7 +131,7 @@ enum chg_state_flags, struct completion *done); extern void print_st_err(struct drbd_device *, union drbd_state, - union drbd_state, int); + union drbd_state, enum drbd_state_rv); enum drbd_state_rv _conn_request_state(struct drbd_connection *connection, union drbd_state mask, union drbd_state val, @@ -162,8 +162,7 @@ } /* for use in adm_detach() (drbd_adm_detach(), drbd_adm_down()) */ -enum drbd_state_rv -drbd_request_detach_interruptible(struct drbd_device *device); +int drbd_request_detach_interruptible(struct drbd_device *device); enum drbd_role conn_highest_role(struct drbd_connection *connection); enum drbd_role conn_highest_peer(struct drbd_connection *connection); diff -Nru linux-4.19.87/drivers/block/loop.c linux-4.19.98/drivers/block/loop.c --- linux-4.19.87/drivers/block/loop.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/block/loop.c 2020-01-23 07:21:39.000000000 +0000 @@ -416,18 +416,20 @@ return ret; } -static int lo_discard(struct loop_device *lo, struct request *rq, loff_t pos) +static int lo_fallocate(struct loop_device *lo, struct request *rq, loff_t pos, + int mode) { /* - * We use punch hole to reclaim the free space used by the - * image a.k.a. discard. However we do not support discard if - * encryption is enabled, because it may give an attacker - * useful information. + * We use fallocate to manipulate the space mappings used by the image + * a.k.a. discard/zerorange. However we do not support this if + * encryption is enabled, because it may give an attacker useful + * information. */ struct file *file = lo->lo_backing_file; - int mode = FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE; int ret; + mode |= FALLOC_FL_KEEP_SIZE; + if ((!file->f_op->fallocate) || lo->lo_encrypt_key_size) { ret = -EOPNOTSUPP; goto out; @@ -596,9 +598,17 @@ switch (req_op(rq)) { case REQ_OP_FLUSH: return lo_req_flush(lo, rq); - case REQ_OP_DISCARD: case REQ_OP_WRITE_ZEROES: - return lo_discard(lo, rq, pos); + /* + * If the caller doesn't want deallocation, call zeroout to + * write zeroes the range. Otherwise, punch them out. + */ + return lo_fallocate(lo, rq, pos, + (rq->cmd_flags & REQ_NOUNMAP) ? + FALLOC_FL_ZERO_RANGE : + FALLOC_FL_PUNCH_HOLE); + case REQ_OP_DISCARD: + return lo_fallocate(lo, rq, pos, FALLOC_FL_PUNCH_HOLE); case REQ_OP_WRITE: if (lo->transfer) return lo_write_transfer(lo, rq, pos); diff -Nru linux-4.19.87/drivers/block/nbd.c linux-4.19.98/drivers/block/nbd.c --- linux-4.19.87/drivers/block/nbd.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/block/nbd.c 2020-01-23 07:21:39.000000000 +0000 @@ -1247,10 +1247,10 @@ mutex_unlock(&nbd->config_lock); ret = wait_event_interruptible(config->recv_wq, atomic_read(&config->recv_threads) == 0); - if (ret) { + if (ret) sock_shutdown(nbd); - flush_workqueue(nbd->recv_workq); - } + flush_workqueue(nbd->recv_workq); + mutex_lock(&nbd->config_lock); nbd_bdev_reset(bdev); /* user requested, ignore socket errors */ diff -Nru linux-4.19.87/drivers/block/rsxx/core.c linux-4.19.98/drivers/block/rsxx/core.c --- linux-4.19.87/drivers/block/rsxx/core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/block/rsxx/core.c 2020-01-23 07:21:39.000000000 +0000 @@ -1014,8 +1014,10 @@ cancel_work_sync(&card->event_work); + destroy_workqueue(card->event_wq); rsxx_destroy_dev(card); rsxx_dma_destroy(card); + destroy_workqueue(card->creg_ctrl.creg_wq); spin_lock_irqsave(&card->irq_lock, flags); rsxx_disable_ier_and_isr(card, CR_INTR_ALL); diff -Nru linux-4.19.87/drivers/block/xen-blkback/blkback.c linux-4.19.98/drivers/block/xen-blkback/blkback.c --- linux-4.19.87/drivers/block/xen-blkback/blkback.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/block/xen-blkback/blkback.c 2020-01-23 07:21:39.000000000 +0000 @@ -936,6 +936,8 @@ out_of_memory: pr_alert("%s: out of memory\n", __func__); put_free_pages(ring, pages_to_gnt, segs_to_map); + for (i = last_map; i < num; i++) + pages[i]->handle = BLKBACK_INVALID_HANDLE; return -ENOMEM; } diff -Nru linux-4.19.87/drivers/block/xen-blkback/xenbus.c linux-4.19.98/drivers/block/xen-blkback/xenbus.c --- linux-4.19.87/drivers/block/xen-blkback/xenbus.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/block/xen-blkback/xenbus.c 2020-01-23 07:21:39.000000000 +0000 @@ -179,6 +179,15 @@ blkif->domid = domid; atomic_set(&blkif->refcnt, 1); init_completion(&blkif->drain_complete); + + /* + * Because freeing back to the cache may be deferred, it is not + * safe to unload the module (and hence destroy the cache) until + * this has completed. To prevent premature unloading, take an + * extra module reference here and release only when the object + * has been freed back to the cache. + */ + __module_get(THIS_MODULE); INIT_WORK(&blkif->free_work, xen_blkif_deferred_free); return blkif; @@ -328,6 +337,7 @@ /* Make sure everything is drained before shutting down */ kmem_cache_free(xen_blkif_cachep, blkif); + module_put(THIS_MODULE); } int __init xen_blkif_interface_init(void) diff -Nru linux-4.19.87/drivers/block/xen-blkfront.c linux-4.19.98/drivers/block/xen-blkfront.c --- linux-4.19.87/drivers/block/xen-blkfront.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/block/xen-blkfront.c 2020-01-23 07:21:39.000000000 +0000 @@ -1113,8 +1113,8 @@ if (!VDEV_IS_EXTENDED(info->vdevice)) { err = xen_translate_vdev(info->vdevice, &minor, &offset); if (err) - return err; - nr_parts = PARTS_PER_DISK; + return err; + nr_parts = PARTS_PER_DISK; } else { minor = BLKIF_MINOR_EXT(info->vdevice); nr_parts = PARTS_PER_EXT_DISK; diff -Nru linux-4.19.87/drivers/bluetooth/btusb.c linux-4.19.98/drivers/bluetooth/btusb.c --- linux-4.19.87/drivers/bluetooth/btusb.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/bluetooth/btusb.c 2020-01-23 07:21:39.000000000 +0000 @@ -1138,7 +1138,7 @@ if (data->setup_on_usb) { err = data->setup_on_usb(hdev); if (err < 0) - return err; + goto setup_fail; } data->intf->needs_remote_wakeup = 1; @@ -1170,6 +1170,7 @@ failed: clear_bit(BTUSB_INTR_RUNNING, &data->flags); +setup_fail: usb_autopm_put_interface(data->intf); return err; } diff -Nru linux-4.19.87/drivers/bluetooth/hci_bcm.c linux-4.19.98/drivers/bluetooth/hci_bcm.c --- linux-4.19.87/drivers/bluetooth/hci_bcm.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/bluetooth/hci_bcm.c 2020-01-23 07:21:39.000000000 +0000 @@ -51,6 +51,12 @@ #define BCM_LM_DIAG_PKT 0x07 #define BCM_LM_DIAG_SIZE 63 +#define BCM_TYPE49_PKT 0x31 +#define BCM_TYPE49_SIZE 0 + +#define BCM_TYPE52_PKT 0x34 +#define BCM_TYPE52_SIZE 0 + #define BCM_AUTOSUSPEND_DELAY 5000 /* default autosleep delay */ /** @@ -564,12 +570,28 @@ .lsize = 0, \ .maxlen = BCM_NULL_SIZE +#define BCM_RECV_TYPE49 \ + .type = BCM_TYPE49_PKT, \ + .hlen = BCM_TYPE49_SIZE, \ + .loff = 0, \ + .lsize = 0, \ + .maxlen = BCM_TYPE49_SIZE + +#define BCM_RECV_TYPE52 \ + .type = BCM_TYPE52_PKT, \ + .hlen = BCM_TYPE52_SIZE, \ + .loff = 0, \ + .lsize = 0, \ + .maxlen = BCM_TYPE52_SIZE + static const struct h4_recv_pkt bcm_recv_pkts[] = { { H4_RECV_ACL, .recv = hci_recv_frame }, { H4_RECV_SCO, .recv = hci_recv_frame }, { H4_RECV_EVENT, .recv = hci_recv_frame }, { BCM_RECV_LM_DIAG, .recv = hci_recv_diag }, { BCM_RECV_NULL, .recv = hci_recv_diag }, + { BCM_RECV_TYPE49, .recv = hci_recv_diag }, + { BCM_RECV_TYPE52, .recv = hci_recv_diag }, }; static int bcm_recv(struct hci_uart *hu, const void *data, int count) diff -Nru linux-4.19.87/drivers/bus/ti-sysc.c linux-4.19.98/drivers/bus/ti-sysc.c --- linux-4.19.87/drivers/bus/ti-sysc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/bus/ti-sysc.c 2020-01-23 07:21:39.000000000 +0000 @@ -91,6 +91,9 @@ struct delayed_work idle_work; }; +static void sysc_parse_dts_quirks(struct sysc *ddata, struct device_node *np, + bool is_child); + void sysc_write(struct sysc *ddata, int offset, u32 value) { writel_relaxed(value, ddata->module_va + offset); @@ -214,8 +217,13 @@ if (!ddata->clocks) return -ENOMEM; - for (i = 0; i < ddata->nr_clocks; i++) { - error = sysc_get_one_clock(ddata, ddata->clock_roles[i]); + for (i = 0; i < SYSC_MAX_CLOCKS; i++) { + const char *name = ddata->clock_roles[i]; + + if (!name) + continue; + + error = sysc_get_one_clock(ddata, name); if (error && error != -ENOENT) return error; } @@ -374,6 +382,7 @@ dev_warn(ddata->dev, "really a child ti,hwmods property?"); sysc_check_quirk_stdout(ddata, np); + sysc_parse_dts_quirks(ddata, np, true); return 0; } @@ -1343,23 +1352,37 @@ .mask = SYSC_QUIRK_NO_RESET_ON_INIT, }, }; -static int sysc_init_dts_quirks(struct sysc *ddata) +static void sysc_parse_dts_quirks(struct sysc *ddata, struct device_node *np, + bool is_child) { - struct device_node *np = ddata->dev->of_node; const struct property *prop; - int i, len, error; - u32 val; - - ddata->legacy_mode = of_get_property(np, "ti,hwmods", NULL); + int i, len; for (i = 0; i < ARRAY_SIZE(sysc_dts_quirks); i++) { - prop = of_get_property(np, sysc_dts_quirks[i].name, &len); + const char *name = sysc_dts_quirks[i].name; + + prop = of_get_property(np, name, &len); if (!prop) continue; ddata->cfg.quirks |= sysc_dts_quirks[i].mask; + if (is_child) { + dev_warn(ddata->dev, + "dts flag should be at module level for %s\n", + name); + } } +} + +static int sysc_init_dts_quirks(struct sysc *ddata) +{ + struct device_node *np = ddata->dev->of_node; + int error; + u32 val; + + ddata->legacy_mode = of_get_property(np, "ti,hwmods", NULL); + sysc_parse_dts_quirks(ddata, np, false); error = of_property_read_u32(np, "ti,sysc-delay-us", &val); if (!error) { if (val > 255) { diff -Nru linux-4.19.87/drivers/cdrom/cdrom.c linux-4.19.98/drivers/cdrom/cdrom.c --- linux-4.19.87/drivers/cdrom/cdrom.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/cdrom/cdrom.c 2020-01-23 07:21:39.000000000 +0000 @@ -996,6 +996,12 @@ tracks->xa = 0; tracks->error = 0; cd_dbg(CD_COUNT_TRACKS, "entering cdrom_count_tracks\n"); + + if (!CDROM_CAN(CDC_PLAY_AUDIO)) { + tracks->error = CDS_NO_INFO; + return; + } + /* Grab the TOC header so we can see how many tracks there are */ ret = cdi->ops->audio_ioctl(cdi, CDROMREADTOCHDR, &header); if (ret) { @@ -1162,7 +1168,8 @@ ret = open_for_data(cdi); if (ret) goto err; - cdrom_mmc3_profile(cdi); + if (CDROM_CAN(CDC_GENERIC_PACKET)) + cdrom_mmc3_profile(cdi); if (mode & FMODE_WRITE) { ret = -EROFS; if (cdrom_open_write(cdi)) @@ -2882,6 +2889,9 @@ it doesn't give enough information or fails. then we return the toc contents. */ use_toc: + if (!CDROM_CAN(CDC_PLAY_AUDIO)) + return -ENOSYS; + toc.cdte_format = CDROM_MSF; toc.cdte_track = CDROM_LEADOUT; if ((ret = cdi->ops->audio_ioctl(cdi, CDROMREADTOCENTRY, &toc))) diff -Nru linux-4.19.87/drivers/char/hw_random/omap-rng.c linux-4.19.98/drivers/char/hw_random/omap-rng.c --- linux-4.19.87/drivers/char/hw_random/omap-rng.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/char/hw_random/omap-rng.c 2020-01-23 07:21:39.000000000 +0000 @@ -66,6 +66,13 @@ #define OMAP4_RNG_OUTPUT_SIZE 0x8 #define EIP76_RNG_OUTPUT_SIZE 0x10 +/* + * EIP76 RNG takes approx. 700us to produce 16 bytes of output data + * as per testing results. And to account for the lack of udelay()'s + * reliability, we keep the timeout as 1000us. + */ +#define RNG_DATA_FILL_TIMEOUT 100 + enum { RNG_OUTPUT_0_REG = 0, RNG_OUTPUT_1_REG, @@ -176,7 +183,7 @@ if (max < priv->pdata->data_size) return 0; - for (i = 0; i < 20; i++) { + for (i = 0; i < RNG_DATA_FILL_TIMEOUT; i++) { present = priv->pdata->data_present(priv); if (present || !wait) break; diff -Nru linux-4.19.87/drivers/char/hw_random/omap3-rom-rng.c linux-4.19.98/drivers/char/hw_random/omap3-rom-rng.c --- linux-4.19.87/drivers/char/hw_random/omap3-rom-rng.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/char/hw_random/omap3-rom-rng.c 2020-01-23 07:21:39.000000000 +0000 @@ -121,7 +121,8 @@ { cancel_delayed_work_sync(&idle_work); hwrng_unregister(&omap3_rom_rng_ops); - clk_disable_unprepare(rng_clk); + if (!rng_idle) + clk_disable_unprepare(rng_clk); return 0; } diff -Nru linux-4.19.87/drivers/char/hw_random/stm32-rng.c linux-4.19.98/drivers/char/hw_random/stm32-rng.c --- linux-4.19.87/drivers/char/hw_random/stm32-rng.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/char/hw_random/stm32-rng.c 2020-01-23 07:21:39.000000000 +0000 @@ -169,6 +169,13 @@ return devm_hwrng_register(dev, &priv->rng); } +static int stm32_rng_remove(struct platform_device *ofdev) +{ + pm_runtime_disable(&ofdev->dev); + + return 0; +} + #ifdef CONFIG_PM static int stm32_rng_runtime_suspend(struct device *dev) { @@ -210,6 +217,7 @@ .of_match_table = stm32_rng_match, }, .probe = stm32_rng_probe, + .remove = stm32_rng_remove, }; module_platform_driver(stm32_rng_driver); diff -Nru linux-4.19.87/drivers/char/ipmi/ipmi_msghandler.c linux-4.19.98/drivers/char/ipmi/ipmi_msghandler.c --- linux-4.19.87/drivers/char/ipmi/ipmi_msghandler.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/char/ipmi/ipmi_msghandler.c 2020-01-23 07:21:39.000000000 +0000 @@ -447,6 +447,8 @@ #define IPMI_IPMB_NUM_SEQ 64 struct ipmi_smi { + struct module *owner; + /* What interface number are we? */ int intf_num; @@ -1139,6 +1141,11 @@ if (rv) goto out_kfree; + if (!try_module_get(intf->owner)) { + rv = -ENODEV; + goto out_kfree; + } + /* Note that each existing user holds a refcount to the interface. */ kref_get(&intf->refcount); @@ -1269,6 +1276,7 @@ } kref_put(&intf->refcount, intf_free); + module_put(intf->owner); } int ipmi_destroy_user(struct ipmi_user *user) @@ -2384,7 +2392,7 @@ * been recently fetched, this will just use the cached data. Otherwise * it will run a new fetch. * - * Except for the first time this is called (in ipmi_register_smi()), + * Except for the first time this is called (in ipmi_add_smi()), * this will always return good data; */ static int __bmc_get_device_id(struct ipmi_smi *intf, struct bmc_device *bmc, @@ -3304,10 +3312,11 @@ kref_put(&intf->refcount, intf_free); } -int ipmi_register_smi(const struct ipmi_smi_handlers *handlers, - void *send_info, - struct device *si_dev, - unsigned char slave_addr) +int ipmi_add_smi(struct module *owner, + const struct ipmi_smi_handlers *handlers, + void *send_info, + struct device *si_dev, + unsigned char slave_addr) { int i, j; int rv; @@ -3333,7 +3342,7 @@ return rv; } - + intf->owner = owner; intf->bmc = &intf->tmp_bmc; INIT_LIST_HEAD(&intf->bmc->intfs); mutex_init(&intf->bmc->dyn_mutex); @@ -3440,7 +3449,7 @@ return rv; } -EXPORT_SYMBOL(ipmi_register_smi); +EXPORT_SYMBOL(ipmi_add_smi); static void deliver_smi_err_response(struct ipmi_smi *intf, struct ipmi_smi_msg *msg, diff -Nru linux-4.19.87/drivers/char/lp.c linux-4.19.98/drivers/char/lp.c --- linux-4.19.87/drivers/char/lp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/char/lp.c 2020-01-23 07:21:39.000000000 +0000 @@ -708,6 +708,10 @@ if (copy_from_user(karg, arg, sizeof(karg))) return -EFAULT; + /* sparc64 suseconds_t is 32-bit only */ + if (IS_ENABLED(CONFIG_SPARC64) && !in_compat_syscall()) + karg[1] >>= 32; + return lp_set_timeout(minor, karg[0], karg[1]); } diff -Nru linux-4.19.87/drivers/char/ppdev.c linux-4.19.98/drivers/char/ppdev.c --- linux-4.19.87/drivers/char/ppdev.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/char/ppdev.c 2020-01-23 07:21:39.000000000 +0000 @@ -623,20 +623,27 @@ if (copy_from_user(time32, argp, sizeof(time32))) return -EFAULT; + if ((time32[0] < 0) || (time32[1] < 0)) + return -EINVAL; + return pp_set_timeout(pp->pdev, time32[0], time32[1]); case PPSETTIME64: if (copy_from_user(time64, argp, sizeof(time64))) return -EFAULT; + if ((time64[0] < 0) || (time64[1] < 0)) + return -EINVAL; + + if (IS_ENABLED(CONFIG_SPARC64) && !in_compat_syscall()) + time64[1] >>= 32; + return pp_set_timeout(pp->pdev, time64[0], time64[1]); case PPGETTIME32: jiffies_to_timespec64(pp->pdev->timeout, &ts); time32[0] = ts.tv_sec; time32[1] = ts.tv_nsec / NSEC_PER_USEC; - if ((time32[0] < 0) || (time32[1] < 0)) - return -EINVAL; if (copy_to_user(argp, time32, sizeof(time32))) return -EFAULT; @@ -647,8 +654,9 @@ jiffies_to_timespec64(pp->pdev->timeout, &ts); time64[0] = ts.tv_sec; time64[1] = ts.tv_nsec / NSEC_PER_USEC; - if ((time64[0] < 0) || (time64[1] < 0)) - return -EINVAL; + + if (IS_ENABLED(CONFIG_SPARC64) && !in_compat_syscall()) + time64[1] <<= 32; if (copy_to_user(argp, time64, sizeof(time64))) return -EFAULT; diff -Nru linux-4.19.87/drivers/char/tpm/tpm2-cmd.c linux-4.19.98/drivers/char/tpm/tpm2-cmd.c --- linux-4.19.87/drivers/char/tpm/tpm2-cmd.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/char/tpm/tpm2-cmd.c 2020-01-23 07:21:39.000000000 +0000 @@ -938,6 +938,10 @@ chip->cc_attrs_tbl = devm_kcalloc(&chip->dev, 4, nr_commands, GFP_KERNEL); + if (!chip->cc_attrs_tbl) { + rc = -ENOMEM; + goto out; + } rc = tpm_buf_init(&buf, TPM2_ST_NO_SESSIONS, TPM2_CC_GET_CAPABILITY); if (rc) diff -Nru linux-4.19.87/drivers/clk/at91/clk-generated.c linux-4.19.98/drivers/clk/at91/clk-generated.c --- linux-4.19.87/drivers/clk/at91/clk-generated.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/at91/clk-generated.c 2020-01-23 07:21:39.000000000 +0000 @@ -284,7 +284,7 @@ static struct clk_hw * __init at91_clk_register_generated(struct regmap *regmap, spinlock_t *lock, const char *name, const char **parent_names, - u8 num_parents, u8 id, + u8 num_parents, u8 id, bool pll_audio, const struct clk_range *range) { struct clk_generated *gck; @@ -308,6 +308,7 @@ gck->regmap = regmap; gck->lock = lock; gck->range = *range; + gck->audio_pll_allowed = pll_audio; clk_generated_startup(gck); hw = &gck->hw; @@ -333,7 +334,6 @@ struct device_node *gcknp; struct clk_range range = CLK_RANGE(0, 0); struct regmap *regmap; - struct clk_generated *gck; num_parents = of_clk_get_parent_count(np); if (num_parents == 0 || num_parents > GENERATED_SOURCE_MAX) @@ -350,6 +350,8 @@ return; for_each_child_of_node(np, gcknp) { + bool pll_audio = false; + if (of_property_read_u32(gcknp, "reg", &id)) continue; @@ -362,24 +364,14 @@ of_at91_get_clk_range(gcknp, "atmel,clk-output-range", &range); + if (of_device_is_compatible(np, "atmel,sama5d2-clk-generated") && + (id == GCK_ID_I2S0 || id == GCK_ID_I2S1 || + id == GCK_ID_CLASSD)) + pll_audio = true; + hw = at91_clk_register_generated(regmap, &pmc_pcr_lock, name, parent_names, num_parents, - id, &range); - - gck = to_clk_generated(hw); - - if (of_device_is_compatible(np, - "atmel,sama5d2-clk-generated")) { - if (gck->id == GCK_ID_SSC0 || gck->id == GCK_ID_SSC1 || - gck->id == GCK_ID_I2S0 || gck->id == GCK_ID_I2S1 || - gck->id == GCK_ID_CLASSD) - gck->audio_pll_allowed = true; - else - gck->audio_pll_allowed = false; - } else { - gck->audio_pll_allowed = false; - } - + id, pll_audio, &range); if (IS_ERR(hw)) continue; diff -Nru linux-4.19.87/drivers/clk/at91/clk-main.c linux-4.19.98/drivers/clk/at91/clk-main.c --- linux-4.19.87/drivers/clk/at91/clk-main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/at91/clk-main.c 2020-01-23 07:21:39.000000000 +0000 @@ -162,7 +162,7 @@ if (bypass) regmap_update_bits(regmap, AT91_CKGR_MOR, MOR_KEY_MASK | - AT91_PMC_MOSCEN, + AT91_PMC_OSCBYPASS, AT91_PMC_OSCBYPASS | AT91_PMC_KEY); hw = &osc->hw; @@ -354,7 +354,10 @@ regmap_read(regmap, AT91_CKGR_MCFR, &mcfr); if (mcfr & AT91_PMC_MAINRDY) return 0; - usleep_range(MAINF_LOOP_MIN_WAIT, MAINF_LOOP_MAX_WAIT); + if (system_state < SYSTEM_RUNNING) + udelay(MAINF_LOOP_MIN_WAIT); + else + usleep_range(MAINF_LOOP_MIN_WAIT, MAINF_LOOP_MAX_WAIT); } while (time_before(prep_time, timeout)); return -ETIMEDOUT; diff -Nru linux-4.19.87/drivers/clk/at91/sckc.c linux-4.19.98/drivers/clk/at91/sckc.c --- linux-4.19.87/drivers/clk/at91/sckc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/at91/sckc.c 2020-01-23 07:21:39.000000000 +0000 @@ -74,7 +74,10 @@ writel(tmp | AT91_SCKC_OSC32EN, sckcr); - usleep_range(osc->startup_usec, osc->startup_usec + 1); + if (system_state < SYSTEM_RUNNING) + udelay(osc->startup_usec); + else + usleep_range(osc->startup_usec, osc->startup_usec + 1); return 0; } @@ -197,7 +200,10 @@ writel(readl(sckcr) | AT91_SCKC_RCEN, sckcr); - usleep_range(osc->startup_usec, osc->startup_usec + 1); + if (system_state < SYSTEM_RUNNING) + udelay(osc->startup_usec); + else + usleep_range(osc->startup_usec, osc->startup_usec + 1); return 0; } @@ -310,7 +316,10 @@ writel(tmp, sckcr); - usleep_range(SLOWCK_SW_TIME_USEC, SLOWCK_SW_TIME_USEC + 1); + if (system_state < SYSTEM_RUNNING) + udelay(SLOWCK_SW_TIME_USEC); + else + usleep_range(SLOWCK_SW_TIME_USEC, SLOWCK_SW_TIME_USEC + 1); return 0; } @@ -443,7 +452,10 @@ return 0; } - usleep_range(osc->startup_usec, osc->startup_usec + 1); + if (system_state < SYSTEM_RUNNING) + udelay(osc->startup_usec); + else + usleep_range(osc->startup_usec, osc->startup_usec + 1); osc->prepared = true; return 0; diff -Nru linux-4.19.87/drivers/clk/clk-gpio.c linux-4.19.98/drivers/clk/clk-gpio.c --- linux-4.19.87/drivers/clk/clk-gpio.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/clk-gpio.c 2020-01-23 07:21:39.000000000 +0000 @@ -248,7 +248,7 @@ else clk = clk_register_gpio_gate(&pdev->dev, node->name, parent_names ? parent_names[0] : NULL, gpiod, - 0); + CLK_SET_RATE_PARENT); if (IS_ERR(clk)) return PTR_ERR(clk); diff -Nru linux-4.19.87/drivers/clk/clk-stm32mp1.c linux-4.19.98/drivers/clk/clk-stm32mp1.c --- linux-4.19.87/drivers/clk/clk-stm32mp1.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/clk-stm32mp1.c 2020-01-23 07:21:39.000000000 +0000 @@ -121,7 +121,7 @@ }; static const char * const axi_src[] = { - "ck_hsi", "ck_hse", "pll2_p", "pll3_p" + "ck_hsi", "ck_hse", "pll2_p" }; static const char * const per_src[] = { @@ -225,19 +225,19 @@ }; static const char * const fdcan_src[] = { - "ck_hse", "pll3_q", "pll4_q" + "ck_hse", "pll3_q", "pll4_q", "pll4_r" }; static const char * const sai_src[] = { - "pll4_q", "pll3_q", "i2s_ckin", "ck_per" + "pll4_q", "pll3_q", "i2s_ckin", "ck_per", "pll3_r" }; static const char * const sai2_src[] = { - "pll4_q", "pll3_q", "i2s_ckin", "ck_per", "spdif_ck_symb" + "pll4_q", "pll3_q", "i2s_ckin", "ck_per", "spdif_ck_symb", "pll3_r" }; static const char * const adc12_src[] = { - "pll4_q", "ck_per" + "pll4_r", "ck_per", "pll3_q" }; static const char * const dsi_src[] = { @@ -269,7 +269,7 @@ static const struct clk_div_table mcu_div_table[] = { { 0, 1 }, { 1, 2 }, { 2, 4 }, { 3, 8 }, { 4, 16 }, { 5, 32 }, { 6, 64 }, { 7, 128 }, - { 8, 512 }, { 9, 512 }, { 10, 512}, { 11, 512 }, + { 8, 256 }, { 9, 512 }, { 10, 512}, { 11, 512 }, { 12, 512 }, { 13, 512 }, { 14, 512}, { 15, 512 }, { 0 }, }; @@ -1286,10 +1286,11 @@ MGATE_MP1(_id, _name, _parent, _flags, _mgate) #define KCLK(_id, _name, _parents, _flags, _mgate, _mmux)\ - COMPOSITE(_id, _name, _parents, CLK_OPS_PARENT_ENABLE | _flags,\ - _MGATE_MP1(_mgate),\ - _MMUX(_mmux),\ - _NO_DIV) + COMPOSITE(_id, _name, _parents, CLK_OPS_PARENT_ENABLE |\ + CLK_SET_RATE_NO_REPARENT | _flags,\ + _MGATE_MP1(_mgate),\ + _MMUX(_mmux),\ + _NO_DIV) enum { G_SAI1, @@ -1655,8 +1656,8 @@ static const struct clock_config stm32mp1_clock_cfg[] = { /* Oscillator divider */ - DIV(NO_ID, "clk-hsi-div", "clk-hsi", 0, RCC_HSICFGR, 0, 2, - CLK_DIVIDER_READ_ONLY), + DIV(NO_ID, "clk-hsi-div", "clk-hsi", CLK_DIVIDER_POWER_OF_TWO, + RCC_HSICFGR, 0, 2, CLK_DIVIDER_READ_ONLY), /* External / Internal Oscillators */ GATE_MP1(CK_HSE, "ck_hse", "clk-hse", 0, RCC_OCENSETR, 8, 0), @@ -1952,7 +1953,8 @@ MGATE_MP1(GPU_K, "gpu_k", "pll2_q", 0, G_GPU), MGATE_MP1(DAC12_K, "dac12_k", "ck_lsi", 0, G_DAC12), - COMPOSITE(ETHPTP_K, "ethptp_k", eth_src, CLK_OPS_PARENT_ENABLE, + COMPOSITE(ETHPTP_K, "ethptp_k", eth_src, CLK_OPS_PARENT_ENABLE | + CLK_SET_RATE_NO_REPARENT, _NO_GATE, _MMUX(M_ETHCK), _DIV(RCC_ETHCKSELR, 4, 4, CLK_DIVIDER_ALLOW_ZERO, NULL)), diff -Nru linux-4.19.87/drivers/clk/clk.c linux-4.19.98/drivers/clk/clk.c --- linux-4.19.87/drivers/clk/clk.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/clk.c 2020-01-23 07:21:39.000000000 +0000 @@ -3066,11 +3066,17 @@ if (core->flags & CLK_IS_CRITICAL) { unsigned long flags; - clk_core_prepare(core); + ret = clk_core_prepare(core); + if (ret) + goto out; flags = clk_enable_lock(); - clk_core_enable(core); + ret = clk_core_enable(core); clk_enable_unlock(flags); + if (ret) { + clk_core_unprepare(core); + goto out; + } } /* diff -Nru linux-4.19.87/drivers/clk/mediatek/clk-cpumux.c linux-4.19.98/drivers/clk/mediatek/clk-cpumux.c --- linux-4.19.87/drivers/clk/mediatek/clk-cpumux.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/mediatek/clk-cpumux.c 2020-01-23 07:21:39.000000000 +0000 @@ -53,7 +53,7 @@ .set_parent = clk_cpumux_set_parent, }; -static struct clk __init * +static struct clk * mtk_clk_register_cpumux(const struct mtk_composite *mux, struct regmap *regmap) { @@ -84,9 +84,9 @@ return clk; } -int __init mtk_clk_register_cpumuxes(struct device_node *node, - const struct mtk_composite *clks, int num, - struct clk_onecell_data *clk_data) +int mtk_clk_register_cpumuxes(struct device_node *node, + const struct mtk_composite *clks, int num, + struct clk_onecell_data *clk_data) { int i; struct clk *clk; diff -Nru linux-4.19.87/drivers/clk/mediatek/clk-mt7622.c linux-4.19.98/drivers/clk/mediatek/clk-mt7622.c --- linux-4.19.87/drivers/clk/mediatek/clk-mt7622.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/mediatek/clk-mt7622.c 2020-01-23 07:21:39.000000000 +0000 @@ -513,7 +513,7 @@ GATE_PERI1(CLK_PERI_IRTX_PD, "peri_irtx_pd", "irtx_sel", 2), }; -static struct mtk_composite infra_muxes[] __initdata = { +static struct mtk_composite infra_muxes[] = { MUX(CLK_INFRA_MUX1_SEL, "infra_mux1_sel", infra_mux1_parents, 0x000, 2, 2), }; @@ -652,7 +652,7 @@ return of_clk_add_provider(node, of_clk_src_onecell_get, clk_data); } -static int __init mtk_infrasys_init(struct platform_device *pdev) +static int mtk_infrasys_init(struct platform_device *pdev) { struct device_node *node = pdev->dev.of_node; struct clk_onecell_data *clk_data; diff -Nru linux-4.19.87/drivers/clk/meson/gxbb.c linux-4.19.98/drivers/clk/meson/gxbb.c --- linux-4.19.87/drivers/clk/meson/gxbb.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/meson/gxbb.c 2020-01-23 07:21:39.000000000 +0000 @@ -295,6 +295,12 @@ .shift = 9, .width = 5, }, + /* + * On gxl, there is a register shift due to + * HHI_HDMI_PLL_CNTL1 which does not exist on gxbb, + * so we use the HHI_HDMI_PLL_CNTL2 define from GXBB + * instead which is defined at the same offset. + */ .frac = { /* * On gxl, there is a register shift due to @@ -304,7 +310,7 @@ */ .reg_off = HHI_HDMI_PLL_CNTL + 4, .shift = 0, - .width = 12, + .width = 10, }, .od = { .reg_off = HHI_HDMI_PLL_CNTL + 8, @@ -836,6 +842,7 @@ .ops = &clk_regmap_divider_ops, .parent_names = (const char *[]){ "sar_adc_clk_sel" }, .num_parents = 1, + .flags = CLK_SET_RATE_PARENT, }, }; diff -Nru linux-4.19.87/drivers/clk/meson/meson8b.c linux-4.19.98/drivers/clk/meson/meson8b.c --- linux-4.19.87/drivers/clk/meson/meson8b.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/meson/meson8b.c 2020-01-23 07:21:39.000000000 +0000 @@ -144,7 +144,7 @@ }, .n = { .reg_off = HHI_VID_PLL_CNTL, - .shift = 9, + .shift = 10, .width = 5, }, .od = { diff -Nru linux-4.19.87/drivers/clk/pxa/clk-pxa27x.c linux-4.19.98/drivers/clk/pxa/clk-pxa27x.c --- linux-4.19.87/drivers/clk/pxa/clk-pxa27x.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/pxa/clk-pxa27x.c 2020-01-23 07:21:39.000000000 +0000 @@ -463,6 +463,7 @@ }; static struct dummy_clk dummy_clks[] __initdata = { DUMMY_CLK(NULL, "pxa27x-gpio", "osc_32_768khz"), + DUMMY_CLK(NULL, "pxa-rtc", "osc_32_768khz"), DUMMY_CLK(NULL, "sa1100-rtc", "osc_32_768khz"), DUMMY_CLK("UARTCLK", "pxa2xx-ir", "STUART"), }; diff -Nru linux-4.19.87/drivers/clk/qcom/clk-rcg2.c linux-4.19.98/drivers/clk/qcom/clk-rcg2.c --- linux-4.19.87/drivers/clk/qcom/clk-rcg2.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/qcom/clk-rcg2.c 2020-01-23 07:21:39.000000000 +0000 @@ -206,6 +206,8 @@ if (clk_flags & CLK_SET_RATE_PARENT) { rate = f->freq; if (f->pre_div) { + if (!rate) + rate = req->rate; rate /= 2; rate *= f->pre_div + 1; } diff -Nru linux-4.19.87/drivers/clk/qcom/common.c linux-4.19.98/drivers/clk/qcom/common.c --- linux-4.19.87/drivers/clk/qcom/common.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/qcom/common.c 2020-01-23 07:21:39.000000000 +0000 @@ -29,6 +29,9 @@ if (!f) return NULL; + if (!f->freq) + return f; + for (; f->freq; f++) if (rate <= f->freq) return f; diff -Nru linux-4.19.87/drivers/clk/qcom/gcc-msm8998.c linux-4.19.98/drivers/clk/qcom/gcc-msm8998.c --- linux-4.19.87/drivers/clk/qcom/gcc-msm8998.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/qcom/gcc-msm8998.c 2020-01-23 07:21:39.000000000 +0000 @@ -2402,7 +2402,7 @@ static struct clk_branch gcc_ufs_rx_symbol_0_clk = { .halt_reg = 0x75014, - .halt_check = BRANCH_HALT, + .halt_check = BRANCH_HALT_SKIP, .clkr = { .enable_reg = 0x75014, .enable_mask = BIT(0), @@ -2415,7 +2415,7 @@ static struct clk_branch gcc_ufs_rx_symbol_1_clk = { .halt_reg = 0x7605c, - .halt_check = BRANCH_HALT, + .halt_check = BRANCH_HALT_SKIP, .clkr = { .enable_reg = 0x7605c, .enable_mask = BIT(0), @@ -2428,7 +2428,7 @@ static struct clk_branch gcc_ufs_tx_symbol_0_clk = { .halt_reg = 0x75010, - .halt_check = BRANCH_HALT, + .halt_check = BRANCH_HALT_SKIP, .clkr = { .enable_reg = 0x75010, .enable_mask = BIT(0), @@ -2743,25 +2743,25 @@ }; static const struct qcom_reset_map gcc_msm8998_resets[] = { - [GCC_BLSP1_QUP1_BCR] = { 0x102400 }, - [GCC_BLSP1_QUP2_BCR] = { 0x110592 }, - [GCC_BLSP1_QUP3_BCR] = { 0x118784 }, - [GCC_BLSP1_QUP4_BCR] = { 0x126976 }, - [GCC_BLSP1_QUP5_BCR] = { 0x135168 }, - [GCC_BLSP1_QUP6_BCR] = { 0x143360 }, - [GCC_BLSP2_QUP1_BCR] = { 0x155648 }, - [GCC_BLSP2_QUP2_BCR] = { 0x163840 }, - [GCC_BLSP2_QUP3_BCR] = { 0x172032 }, - [GCC_BLSP2_QUP4_BCR] = { 0x180224 }, - [GCC_BLSP2_QUP5_BCR] = { 0x188416 }, - [GCC_BLSP2_QUP6_BCR] = { 0x196608 }, - [GCC_PCIE_0_BCR] = { 0x438272 }, - [GCC_PDM_BCR] = { 0x208896 }, - [GCC_SDCC2_BCR] = { 0x81920 }, - [GCC_SDCC4_BCR] = { 0x90112 }, - [GCC_TSIF_BCR] = { 0x221184 }, - [GCC_UFS_BCR] = { 0x479232 }, - [GCC_USB_30_BCR] = { 0x61440 }, + [GCC_BLSP1_QUP1_BCR] = { 0x19000 }, + [GCC_BLSP1_QUP2_BCR] = { 0x1b000 }, + [GCC_BLSP1_QUP3_BCR] = { 0x1d000 }, + [GCC_BLSP1_QUP4_BCR] = { 0x1f000 }, + [GCC_BLSP1_QUP5_BCR] = { 0x21000 }, + [GCC_BLSP1_QUP6_BCR] = { 0x23000 }, + [GCC_BLSP2_QUP1_BCR] = { 0x26000 }, + [GCC_BLSP2_QUP2_BCR] = { 0x28000 }, + [GCC_BLSP2_QUP3_BCR] = { 0x2a000 }, + [GCC_BLSP2_QUP4_BCR] = { 0x2c000 }, + [GCC_BLSP2_QUP5_BCR] = { 0x2e000 }, + [GCC_BLSP2_QUP6_BCR] = { 0x30000 }, + [GCC_PCIE_0_BCR] = { 0x6b000 }, + [GCC_PDM_BCR] = { 0x33000 }, + [GCC_SDCC2_BCR] = { 0x14000 }, + [GCC_SDCC4_BCR] = { 0x16000 }, + [GCC_TSIF_BCR] = { 0x36000 }, + [GCC_UFS_BCR] = { 0x75000 }, + [GCC_USB_30_BCR] = { 0xf000 }, }; static const struct regmap_config gcc_msm8998_regmap_config = { diff -Nru linux-4.19.87/drivers/clk/qcom/gcc-sdm845.c linux-4.19.98/drivers/clk/qcom/gcc-sdm845.c --- linux-4.19.87/drivers/clk/qcom/gcc-sdm845.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/qcom/gcc-sdm845.c 2020-01-23 07:21:39.000000000 +0000 @@ -3150,6 +3150,7 @@ .name = "hlos1_vote_aggre_noc_mmu_audio_tbu_gdsc", }, .pwrsts = PWRSTS_OFF_ON, + .flags = VOTABLE, }; static struct gdsc hlos1_vote_aggre_noc_mmu_pcie_tbu_gdsc = { @@ -3158,6 +3159,7 @@ .name = "hlos1_vote_aggre_noc_mmu_pcie_tbu_gdsc", }, .pwrsts = PWRSTS_OFF_ON, + .flags = VOTABLE, }; static struct gdsc hlos1_vote_aggre_noc_mmu_tbu1_gdsc = { @@ -3166,6 +3168,7 @@ .name = "hlos1_vote_aggre_noc_mmu_tbu1_gdsc", }, .pwrsts = PWRSTS_OFF_ON, + .flags = VOTABLE, }; static struct gdsc hlos1_vote_aggre_noc_mmu_tbu2_gdsc = { @@ -3174,6 +3177,7 @@ .name = "hlos1_vote_aggre_noc_mmu_tbu2_gdsc", }, .pwrsts = PWRSTS_OFF_ON, + .flags = VOTABLE, }; static struct gdsc hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc = { @@ -3182,6 +3186,7 @@ .name = "hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc", }, .pwrsts = PWRSTS_OFF_ON, + .flags = VOTABLE, }; static struct gdsc hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc = { @@ -3190,6 +3195,7 @@ .name = "hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc", }, .pwrsts = PWRSTS_OFF_ON, + .flags = VOTABLE, }; static struct gdsc hlos1_vote_mmnoc_mmu_tbu_sf_gdsc = { @@ -3198,6 +3204,7 @@ .name = "hlos1_vote_mmnoc_mmu_tbu_sf_gdsc", }, .pwrsts = PWRSTS_OFF_ON, + .flags = VOTABLE, }; static struct clk_regmap *gcc_sdm845_clocks[] = { diff -Nru linux-4.19.87/drivers/clk/renesas/r8a77990-cpg-mssr.c linux-4.19.98/drivers/clk/renesas/r8a77990-cpg-mssr.c --- linux-4.19.87/drivers/clk/renesas/r8a77990-cpg-mssr.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/renesas/r8a77990-cpg-mssr.c 2020-01-23 07:21:39.000000000 +0000 @@ -175,8 +175,8 @@ DEF_MOD("ehci0", 703, R8A77990_CLK_S3D4), DEF_MOD("hsusb", 704, R8A77990_CLK_S3D4), DEF_MOD("csi40", 716, R8A77990_CLK_CSI0), - DEF_MOD("du1", 723, R8A77990_CLK_S2D1), - DEF_MOD("du0", 724, R8A77990_CLK_S2D1), + DEF_MOD("du1", 723, R8A77990_CLK_S1D1), + DEF_MOD("du0", 724, R8A77990_CLK_S1D1), DEF_MOD("lvds", 727, R8A77990_CLK_S2D1), DEF_MOD("vin5", 806, R8A77990_CLK_S1D2), diff -Nru linux-4.19.87/drivers/clk/renesas/r8a77995-cpg-mssr.c linux-4.19.98/drivers/clk/renesas/r8a77995-cpg-mssr.c --- linux-4.19.87/drivers/clk/renesas/r8a77995-cpg-mssr.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/renesas/r8a77995-cpg-mssr.c 2020-01-23 07:21:39.000000000 +0000 @@ -141,8 +141,8 @@ DEF_MOD("vspbs", 627, R8A77995_CLK_S0D1), DEF_MOD("ehci0", 703, R8A77995_CLK_S3D2), DEF_MOD("hsusb", 704, R8A77995_CLK_S3D2), - DEF_MOD("du1", 723, R8A77995_CLK_S2D1), - DEF_MOD("du0", 724, R8A77995_CLK_S2D1), + DEF_MOD("du1", 723, R8A77995_CLK_S1D1), + DEF_MOD("du0", 724, R8A77995_CLK_S1D1), DEF_MOD("lvds", 727, R8A77995_CLK_S2D1), DEF_MOD("vin7", 804, R8A77995_CLK_S1D2), DEF_MOD("vin6", 805, R8A77995_CLK_S1D2), diff -Nru linux-4.19.87/drivers/clk/renesas/rcar-gen3-cpg.c linux-4.19.98/drivers/clk/renesas/rcar-gen3-cpg.c --- linux-4.19.87/drivers/clk/renesas/rcar-gen3-cpg.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/renesas/rcar-gen3-cpg.c 2020-01-23 07:21:39.000000000 +0000 @@ -361,7 +361,7 @@ struct sd_clock *clock; struct clk *clk; unsigned int i; - u32 sd_fc; + u32 val; clock = kzalloc(sizeof(*clock), GFP_KERNEL); if (!clock) @@ -378,17 +378,9 @@ clock->div_table = cpg_sd_div_table; clock->div_num = ARRAY_SIZE(cpg_sd_div_table); - sd_fc = readl(clock->csn.reg) & CPG_SD_FC_MASK; - for (i = 0; i < clock->div_num; i++) - if (sd_fc == (clock->div_table[i].val & CPG_SD_FC_MASK)) - break; - - if (WARN_ON(i >= clock->div_num)) { - kfree(clock); - return ERR_PTR(-EINVAL); - } - - clock->cur_div_idx = i; + val = readl(clock->csn.reg) & ~CPG_SD_FC_MASK; + val |= CPG_SD_STP_MASK | (clock->div_table[0].val & CPG_SD_FC_MASK); + writel(val, clock->csn.reg); clock->div_max = clock->div_table[0].div; clock->div_min = clock->div_max; diff -Nru linux-4.19.87/drivers/clk/rockchip/clk-rk3188.c linux-4.19.98/drivers/clk/rockchip/clk-rk3188.c --- linux-4.19.87/drivers/clk/rockchip/clk-rk3188.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/rockchip/clk-rk3188.c 2020-01-23 07:21:39.000000000 +0000 @@ -362,8 +362,8 @@ RK2928_CLKGATE_CON(2), 5, GFLAGS), MUX(SCLK_MAC, "sclk_macref", mux_sclk_macref_p, CLK_SET_RATE_PARENT, RK2928_CLKSEL_CON(21), 4, 1, MFLAGS), - GATE(0, "sclk_mac_lbtest", "sclk_macref", - RK2928_CLKGATE_CON(2), 12, 0, GFLAGS), + GATE(0, "sclk_mac_lbtest", "sclk_macref", 0, + RK2928_CLKGATE_CON(2), 12, GFLAGS), COMPOSITE(0, "hsadc_src", mux_pll_src_gpll_cpll_p, 0, RK2928_CLKSEL_CON(22), 0, 1, MFLAGS, 8, 8, DFLAGS, @@ -391,8 +391,8 @@ * Clock-Architecture Diagram 4 */ - GATE(SCLK_SMC, "sclk_smc", "hclk_peri", - RK2928_CLKGATE_CON(2), 4, 0, GFLAGS), + GATE(SCLK_SMC, "sclk_smc", "hclk_peri", 0, + RK2928_CLKGATE_CON(2), 4, GFLAGS), COMPOSITE_NOMUX(SCLK_SPI0, "sclk_spi0", "pclk_peri", 0, RK2928_CLKSEL_CON(25), 0, 7, DFLAGS, diff -Nru linux-4.19.87/drivers/clk/rockchip/clk-rk3328.c linux-4.19.98/drivers/clk/rockchip/clk-rk3328.c --- linux-4.19.87/drivers/clk/rockchip/clk-rk3328.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/rockchip/clk-rk3328.c 2020-01-23 07:21:39.000000000 +0000 @@ -392,7 +392,7 @@ RK3328_CLKGATE_CON(1), 5, GFLAGS, &rk3328_i2s1_fracmux), GATE(SCLK_I2S1, "clk_i2s1", "i2s1_pre", CLK_SET_RATE_PARENT, - RK3328_CLKGATE_CON(0), 6, GFLAGS), + RK3328_CLKGATE_CON(1), 6, GFLAGS), COMPOSITE_NODIV(SCLK_I2S1_OUT, "i2s1_out", mux_i2s1out_p, 0, RK3328_CLKSEL_CON(8), 12, 1, MFLAGS, RK3328_CLKGATE_CON(1), 7, GFLAGS), diff -Nru linux-4.19.87/drivers/clk/samsung/clk-exynos5420.c linux-4.19.98/drivers/clk/samsung/clk-exynos5420.c --- linux-4.19.87/drivers/clk/samsung/clk-exynos5420.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/samsung/clk-exynos5420.c 2020-01-23 07:21:39.000000000 +0000 @@ -171,12 +171,20 @@ GATE_BUS_CPU, GATE_SCLK_CPU, CLKOUT_CMU_CPU, + APLL_CON0, + KPLL_CON0, + CPLL_CON0, + DPLL_CON0, EPLL_CON0, EPLL_CON1, EPLL_CON2, RPLL_CON0, RPLL_CON1, RPLL_CON2, + IPLL_CON0, + SPLL_CON0, + VPLL_CON0, + MPLL_CON0, SRC_TOP0, SRC_TOP1, SRC_TOP2, diff -Nru linux-4.19.87/drivers/clk/samsung/clk-exynos5433.c linux-4.19.98/drivers/clk/samsung/clk-exynos5433.c --- linux-4.19.87/drivers/clk/samsung/clk-exynos5433.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/samsung/clk-exynos5433.c 2020-01-23 07:21:39.000000000 +0000 @@ -16,6 +16,7 @@ #include #include #include +#include #include @@ -5527,6 +5528,8 @@ data->clk_save = samsung_clk_alloc_reg_dump(info->clk_regs, info->nr_clk_regs); + if (!data->clk_save) + return -ENOMEM; data->nr_clk_save = info->nr_clk_regs; data->clk_suspend = info->suspend_regs; data->nr_clk_suspend = info->nr_suspend_regs; @@ -5535,12 +5538,19 @@ if (data->nr_pclks > 0) { data->pclks = devm_kcalloc(dev, sizeof(struct clk *), data->nr_pclks, GFP_KERNEL); - + if (!data->pclks) { + kfree(data->clk_save); + return -ENOMEM; + } for (i = 0; i < data->nr_pclks; i++) { struct clk *clk = of_clk_get(dev->of_node, i); - if (IS_ERR(clk)) + if (IS_ERR(clk)) { + kfree(data->clk_save); + while (--i >= 0) + clk_put(data->pclks[i]); return PTR_ERR(clk); + } data->pclks[i] = clk; } } diff -Nru linux-4.19.87/drivers/clk/sprd/common.c linux-4.19.98/drivers/clk/sprd/common.c --- linux-4.19.87/drivers/clk/sprd/common.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/sprd/common.c 2020-01-23 07:21:39.000000000 +0000 @@ -45,7 +45,7 @@ if (of_find_property(node, "sprd,syscon", NULL)) { regmap = syscon_regmap_lookup_by_phandle(node, "sprd,syscon"); - if (IS_ERR_OR_NULL(regmap)) { + if (IS_ERR(regmap)) { pr_err("%s: failed to get syscon regmap\n", __func__); return PTR_ERR(regmap); } diff -Nru linux-4.19.87/drivers/clk/sunxi/clk-sunxi.c linux-4.19.98/drivers/clk/sunxi/clk-sunxi.c --- linux-4.19.87/drivers/clk/sunxi/clk-sunxi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/sunxi/clk-sunxi.c 2020-01-23 07:21:39.000000000 +0000 @@ -1086,8 +1086,8 @@ rate_hw, rate_ops, gate_hw, &clk_gate_ops, clkflags | - data->div[i].critical ? - CLK_IS_CRITICAL : 0); + (data->div[i].critical ? + CLK_IS_CRITICAL : 0)); WARN_ON(IS_ERR(clk_data->clks[i])); } diff -Nru linux-4.19.87/drivers/clk/sunxi-ng/ccu-sun50i-a64.c linux-4.19.98/drivers/clk/sunxi-ng/ccu-sun50i-a64.c --- linux-4.19.87/drivers/clk/sunxi-ng/ccu-sun50i-a64.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/sunxi-ng/ccu-sun50i-a64.c 2020-01-23 07:21:39.000000000 +0000 @@ -582,7 +582,7 @@ static const u8 dsi_dphy_table[] = { 0, 2, }; static SUNXI_CCU_M_WITH_MUX_TABLE_GATE(dsi_dphy_clk, "dsi-dphy", dsi_dphy_parents, dsi_dphy_table, - 0x168, 0, 4, 8, 2, BIT(31), CLK_SET_RATE_PARENT); + 0x168, 0, 4, 8, 2, BIT(15), CLK_SET_RATE_PARENT); static SUNXI_CCU_M_WITH_GATE(gpu_clk, "gpu", "pll-gpu", 0x1a0, 0, 3, BIT(31), CLK_SET_RATE_PARENT); diff -Nru linux-4.19.87/drivers/clk/sunxi-ng/ccu-sun8i-h3.c linux-4.19.98/drivers/clk/sunxi-ng/ccu-sun8i-h3.c --- linux-4.19.87/drivers/clk/sunxi-ng/ccu-sun8i-h3.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/sunxi-ng/ccu-sun8i-h3.c 2020-01-23 07:21:39.000000000 +0000 @@ -475,7 +475,7 @@ static SUNXI_CCU_M_WITH_MUX_GATE(csi_sclk_clk, "csi-sclk", csi_sclk_parents, 0x134, 16, 4, 24, 3, BIT(31), 0); -static const char * const csi_mclk_parents[] = { "osc24M", "pll-video", "pll-periph0" }; +static const char * const csi_mclk_parents[] = { "osc24M", "pll-video", "pll-periph1" }; static SUNXI_CCU_M_WITH_MUX_GATE(csi_mclk_clk, "csi-mclk", csi_mclk_parents, 0x134, 0, 5, 8, 3, BIT(15), 0); diff -Nru linux-4.19.87/drivers/clk/sunxi-ng/ccu-sun9i-a80.c linux-4.19.98/drivers/clk/sunxi-ng/ccu-sun9i-a80.c --- linux-4.19.87/drivers/clk/sunxi-ng/ccu-sun9i-a80.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/sunxi-ng/ccu-sun9i-a80.c 2020-01-23 07:21:39.000000000 +0000 @@ -1231,7 +1231,7 @@ /* Enforce d1 = 0, d2 = 0 for Audio PLL */ val = readl(reg + SUN9I_A80_PLL_AUDIO_REG); - val &= (BIT(16) & BIT(18)); + val &= ~(BIT(16) | BIT(18)); writel(val, reg + SUN9I_A80_PLL_AUDIO_REG); /* Enforce P = 1 for both CPU cluster PLLs */ diff -Nru linux-4.19.87/drivers/clk/ti/clk-dra7-atl.c linux-4.19.98/drivers/clk/ti/clk-dra7-atl.c --- linux-4.19.87/drivers/clk/ti/clk-dra7-atl.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/ti/clk-dra7-atl.c 2020-01-23 07:21:39.000000000 +0000 @@ -174,7 +174,6 @@ struct clk_init_data init = { NULL }; const char **parent_names = NULL; struct clk *clk; - int ret; clk_hw = kzalloc(sizeof(*clk_hw), GFP_KERNEL); if (!clk_hw) { @@ -207,11 +206,6 @@ clk = ti_clk_register(NULL, &clk_hw->hw, node->name); if (!IS_ERR(clk)) { - ret = ti_clk_add_alias(NULL, clk, node->name); - if (ret) { - clk_unregister(clk); - goto cleanup; - } of_clk_add_provider(node, of_clk_src_simple_get, clk); kfree(parent_names); return; diff -Nru linux-4.19.87/drivers/clk/ti/clkctrl.c linux-4.19.98/drivers/clk/ti/clkctrl.c --- linux-4.19.87/drivers/clk/ti/clkctrl.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clk/ti/clkctrl.c 2020-01-23 07:21:39.000000000 +0000 @@ -100,11 +100,12 @@ * can be from a timer that requires pm_runtime access, which * will eventually bring us here with timekeeping_suspended, * during both suspend entry and resume paths. This happens - * at least on am43xx platform. + * at least on am43xx platform. Account for flakeyness + * with udelay() by multiplying the timeout value by 2. */ if (unlikely(_early_timeout || timekeeping_suspended)) { if (time->cycles++ < timeout) { - udelay(1); + udelay(1 * 2); return false; } } else { diff -Nru linux-4.19.87/drivers/clocksource/asm9260_timer.c linux-4.19.98/drivers/clocksource/asm9260_timer.c --- linux-4.19.87/drivers/clocksource/asm9260_timer.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clocksource/asm9260_timer.c 2020-01-23 07:21:39.000000000 +0000 @@ -198,6 +198,10 @@ } clk = of_clk_get(np, 0); + if (IS_ERR(clk)) { + pr_err("Failed to get clk!\n"); + return PTR_ERR(clk); + } ret = clk_prepare_enable(clk); if (ret) { diff -Nru linux-4.19.87/drivers/clocksource/timer-fttmr010.c linux-4.19.98/drivers/clocksource/timer-fttmr010.c --- linux-4.19.87/drivers/clocksource/timer-fttmr010.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clocksource/timer-fttmr010.c 2020-01-23 07:21:39.000000000 +0000 @@ -21,7 +21,7 @@ #include /* - * Register definitions for the timers + * Register definitions common for all the timer variants. */ #define TIMER1_COUNT (0x00) #define TIMER1_LOAD (0x04) @@ -36,9 +36,10 @@ #define TIMER3_MATCH1 (0x28) #define TIMER3_MATCH2 (0x2c) #define TIMER_CR (0x30) -#define TIMER_INTR_STATE (0x34) -#define TIMER_INTR_MASK (0x38) +/* + * Control register (TMC30) bit fields for fttmr010/gemini/moxart timers. + */ #define TIMER_1_CR_ENABLE BIT(0) #define TIMER_1_CR_CLOCK BIT(1) #define TIMER_1_CR_INT BIT(2) @@ -53,8 +54,9 @@ #define TIMER_3_CR_UPDOWN BIT(11) /* - * The Aspeed AST2400 moves bits around in the control register - * and lacks bits for setting the timer to count upwards. + * Control register (TMC30) bit fields for aspeed ast2400/ast2500 timers. + * The aspeed timers move bits around in the control register and lacks + * bits for setting the timer to count upwards. */ #define TIMER_1_CR_ASPEED_ENABLE BIT(0) #define TIMER_1_CR_ASPEED_CLOCK BIT(1) @@ -66,6 +68,18 @@ #define TIMER_3_CR_ASPEED_CLOCK BIT(9) #define TIMER_3_CR_ASPEED_INT BIT(10) +/* + * Interrupt status/mask register definitions for fttmr010/gemini/moxart + * timers. + * The registers don't exist and they are not needed on aspeed timers + * because: + * - aspeed timer overflow interrupt is controlled by bits in Control + * Register (TMC30). + * - aspeed timers always generate interrupt when either one of the + * Match registers equals to Status register. + */ +#define TIMER_INTR_STATE (0x34) +#define TIMER_INTR_MASK (0x38) #define TIMER_1_INT_MATCH1 BIT(0) #define TIMER_1_INT_MATCH2 BIT(1) #define TIMER_1_INT_OVERFLOW BIT(2) @@ -80,7 +94,7 @@ struct fttmr010 { void __iomem *base; unsigned int tick_rate; - bool count_down; + bool is_aspeed; u32 t1_enable_val; struct clock_event_device clkevt; #ifdef CONFIG_ARM @@ -130,7 +144,7 @@ cr &= ~fttmr010->t1_enable_val; writel(cr, fttmr010->base + TIMER_CR); - if (fttmr010->count_down) { + if (fttmr010->is_aspeed) { /* * ASPEED Timer Controller will load TIMER1_LOAD register * into TIMER1_COUNT register when the timer is re-enabled. @@ -175,16 +189,17 @@ /* Setup counter start from 0 or ~0 */ writel(0, fttmr010->base + TIMER1_COUNT); - if (fttmr010->count_down) + if (fttmr010->is_aspeed) { writel(~0, fttmr010->base + TIMER1_LOAD); - else + } else { writel(0, fttmr010->base + TIMER1_LOAD); - /* Enable interrupt */ - cr = readl(fttmr010->base + TIMER_INTR_MASK); - cr &= ~(TIMER_1_INT_OVERFLOW | TIMER_1_INT_MATCH2); - cr |= TIMER_1_INT_MATCH1; - writel(cr, fttmr010->base + TIMER_INTR_MASK); + /* Enable interrupt */ + cr = readl(fttmr010->base + TIMER_INTR_MASK); + cr &= ~(TIMER_1_INT_OVERFLOW | TIMER_1_INT_MATCH2); + cr |= TIMER_1_INT_MATCH1; + writel(cr, fttmr010->base + TIMER_INTR_MASK); + } return 0; } @@ -201,9 +216,8 @@ writel(cr, fttmr010->base + TIMER_CR); /* Setup timer to fire at 1/HZ intervals. */ - if (fttmr010->count_down) { + if (fttmr010->is_aspeed) { writel(period, fttmr010->base + TIMER1_LOAD); - writel(0, fttmr010->base + TIMER1_MATCH1); } else { cr = 0xffffffff - (period - 1); writel(cr, fttmr010->base + TIMER1_COUNT); @@ -281,23 +295,21 @@ } /* - * The Aspeed AST2400 moves bits around in the control register, - * otherwise it works the same. + * The Aspeed timers move bits around in the control register. */ if (is_aspeed) { fttmr010->t1_enable_val = TIMER_1_CR_ASPEED_ENABLE | TIMER_1_CR_ASPEED_INT; - /* Downward not available */ - fttmr010->count_down = true; + fttmr010->is_aspeed = true; } else { fttmr010->t1_enable_val = TIMER_1_CR_ENABLE | TIMER_1_CR_INT; - } - /* - * Reset the interrupt mask and status - */ - writel(TIMER_INT_ALL_MASK, fttmr010->base + TIMER_INTR_MASK); - writel(0, fttmr010->base + TIMER_INTR_STATE); + /* + * Reset the interrupt mask and status + */ + writel(TIMER_INT_ALL_MASK, fttmr010->base + TIMER_INTR_MASK); + writel(0, fttmr010->base + TIMER_INTR_STATE); + } /* * Enable timer 1 count up, timer 2 count up, except on Aspeed, @@ -306,9 +318,8 @@ if (is_aspeed) val = TIMER_2_CR_ASPEED_ENABLE; else { - val = TIMER_2_CR_ENABLE; - if (!fttmr010->count_down) - val |= TIMER_1_CR_UPDOWN | TIMER_2_CR_UPDOWN; + val = TIMER_2_CR_ENABLE | TIMER_1_CR_UPDOWN | + TIMER_2_CR_UPDOWN; } writel(val, fttmr010->base + TIMER_CR); @@ -321,7 +332,7 @@ writel(0, fttmr010->base + TIMER2_MATCH1); writel(0, fttmr010->base + TIMER2_MATCH2); - if (fttmr010->count_down) { + if (fttmr010->is_aspeed) { writel(~0, fttmr010->base + TIMER2_LOAD); clocksource_mmio_init(fttmr010->base + TIMER2_COUNT, "FTTMR010-TIMER2", @@ -371,7 +382,7 @@ #ifdef CONFIG_ARM /* Also use this timer for delays */ - if (fttmr010->count_down) + if (fttmr010->is_aspeed) fttmr010->delay_timer.read_current_timer = fttmr010_read_current_timer_down; else diff -Nru linux-4.19.87/drivers/clocksource/timer-mediatek.c linux-4.19.98/drivers/clocksource/timer-mediatek.c --- linux-4.19.87/drivers/clocksource/timer-mediatek.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clocksource/timer-mediatek.c 2020-01-23 07:21:39.000000000 +0000 @@ -277,15 +277,12 @@ ret = timer_of_init(node, &to); if (ret) - goto err; + return ret; clockevents_config_and_register(&to.clkevt, timer_of_rate(&to), TIMER_SYNC_TICKS, 0xffffffff); return 0; -err: - timer_of_cleanup(&to); - return ret; } static int __init mtk_gpt_init(struct device_node *node) @@ -302,7 +299,7 @@ ret = timer_of_init(node, &to); if (ret) - goto err; + return ret; /* Configure clock source */ mtk_gpt_setup(&to, TIMER_CLK_SRC, GPT_CTRL_OP_FREERUN); @@ -320,9 +317,6 @@ mtk_gpt_enable_irq(&to, TIMER_CLK_EVT); return 0; -err: - timer_of_cleanup(&to); - return ret; } TIMER_OF_DECLARE(mtk_mt6577, "mediatek,mt6577-timer", mtk_gpt_init); TIMER_OF_DECLARE(mtk_mt6765, "mediatek,mt6765-timer", mtk_syst_init); diff -Nru linux-4.19.87/drivers/clocksource/timer-of.c linux-4.19.98/drivers/clocksource/timer-of.c --- linux-4.19.87/drivers/clocksource/timer-of.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/clocksource/timer-of.c 2020-01-23 07:21:39.000000000 +0000 @@ -199,7 +199,7 @@ } if (!to->clkevt.name) - to->clkevt.name = np->name; + to->clkevt.name = np->full_name; to->np = np; diff -Nru linux-4.19.87/drivers/cpufreq/cpufreq.c linux-4.19.98/drivers/cpufreq/cpufreq.c --- linux-4.19.87/drivers/cpufreq/cpufreq.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/cpufreq/cpufreq.c 2020-01-23 07:21:39.000000000 +0000 @@ -2480,6 +2480,13 @@ if (cpufreq_disabled()) return -ENODEV; + /* + * The cpufreq core depends heavily on the availability of device + * structure, make sure they are available before proceeding further. + */ + if (!get_cpu_device(0)) + return -EPROBE_DEFER; + if (!driver_data || !driver_data->verify || !driver_data->init || !(driver_data->setpolicy || driver_data->target_index || driver_data->target) || diff -Nru linux-4.19.87/drivers/cpufreq/imx6q-cpufreq.c linux-4.19.98/drivers/cpufreq/imx6q-cpufreq.c --- linux-4.19.87/drivers/cpufreq/imx6q-cpufreq.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/cpufreq/imx6q-cpufreq.c 2020-01-23 07:21:39.000000000 +0000 @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -295,20 +296,32 @@ #define OCOTP_CFG3_6ULL_SPEED_792MHZ 0x2 #define OCOTP_CFG3_6ULL_SPEED_900MHZ 0x3 -static void imx6ul_opp_check_speed_grading(struct device *dev) +static int imx6ul_opp_check_speed_grading(struct device *dev) { - struct device_node *np; - void __iomem *base; u32 val; + int ret = 0; - np = of_find_compatible_node(NULL, NULL, "fsl,imx6ul-ocotp"); - if (!np) - return; + if (of_find_property(dev->of_node, "nvmem-cells", NULL)) { + ret = nvmem_cell_read_u32(dev, "speed_grade", &val); + if (ret) + return ret; + } else { + struct device_node *np; + void __iomem *base; - base = of_iomap(np, 0); - if (!base) { - dev_err(dev, "failed to map ocotp\n"); - goto put_node; + np = of_find_compatible_node(NULL, NULL, "fsl,imx6ul-ocotp"); + if (!np) + return -ENOENT; + + base = of_iomap(np, 0); + of_node_put(np); + if (!base) { + dev_err(dev, "failed to map ocotp\n"); + return -EFAULT; + } + + val = readl_relaxed(base + OCOTP_CFG3); + iounmap(base); } /* @@ -319,7 +332,6 @@ * 2b'11: 900000000Hz on i.MX6ULL only; * We need to set the max speed of ARM according to fuse map. */ - val = readl_relaxed(base + OCOTP_CFG3); val >>= OCOTP_CFG3_SPEED_SHIFT; val &= 0x3; @@ -339,9 +351,7 @@ dev_warn(dev, "failed to disable 900MHz OPP\n"); } - iounmap(base); -put_node: - of_node_put(np); + return ret; } static int imx6q_cpufreq_probe(struct platform_device *pdev) @@ -399,10 +409,18 @@ } if (of_machine_is_compatible("fsl,imx6ul") || - of_machine_is_compatible("fsl,imx6ull")) - imx6ul_opp_check_speed_grading(cpu_dev); - else + of_machine_is_compatible("fsl,imx6ull")) { + ret = imx6ul_opp_check_speed_grading(cpu_dev); + if (ret == -EPROBE_DEFER) + return ret; + if (ret) { + dev_err(cpu_dev, "failed to read ocotp: %d\n", + ret); + return ret; + } + } else { imx6q_opp_check_speed_grading(cpu_dev); + } /* Because we have added the OPPs here, we must free them */ free_opp = true; diff -Nru linux-4.19.87/drivers/cpufreq/powernv-cpufreq.c linux-4.19.98/drivers/cpufreq/powernv-cpufreq.c --- linux-4.19.87/drivers/cpufreq/powernv-cpufreq.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/cpufreq/powernv-cpufreq.c 2020-01-23 07:21:39.000000000 +0000 @@ -1042,9 +1042,14 @@ static int init_chip_info(void) { - unsigned int chip[256]; + unsigned int *chip; unsigned int cpu, i; unsigned int prev_chip_id = UINT_MAX; + int ret = 0; + + chip = kcalloc(num_possible_cpus(), sizeof(*chip), GFP_KERNEL); + if (!chip) + return -ENOMEM; for_each_possible_cpu(cpu) { unsigned int id = cpu_to_chip_id(cpu); @@ -1056,8 +1061,10 @@ } chips = kcalloc(nr_chips, sizeof(struct chip), GFP_KERNEL); - if (!chips) - return -ENOMEM; + if (!chips) { + ret = -ENOMEM; + goto free_and_return; + } for (i = 0; i < nr_chips; i++) { chips[i].id = chip[i]; @@ -1067,7 +1074,9 @@ per_cpu(chip_info, cpu) = &chips[i]; } - return 0; +free_and_return: + kfree(chip); + return ret; } static inline void clean_chip_info(void) diff -Nru linux-4.19.87/drivers/cpuidle/driver.c linux-4.19.98/drivers/cpuidle/driver.c --- linux-4.19.87/drivers/cpuidle/driver.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/cpuidle/driver.c 2020-01-23 07:21:39.000000000 +0000 @@ -62,24 +62,23 @@ * __cpuidle_set_driver - set per CPU driver variables for the given driver. * @drv: a valid pointer to a struct cpuidle_driver * - * For each CPU in the driver's cpumask, unset the registered driver per CPU - * to @drv. - * - * Returns 0 on success, -EBUSY if the CPUs have driver(s) already. + * Returns 0 on success, -EBUSY if any CPU in the cpumask have a driver + * different from drv already. */ static inline int __cpuidle_set_driver(struct cpuidle_driver *drv) { int cpu; for_each_cpu(cpu, drv->cpumask) { + struct cpuidle_driver *old_drv; - if (__cpuidle_get_cpu_driver(cpu)) { - __cpuidle_unset_driver(drv); + old_drv = __cpuidle_get_cpu_driver(cpu); + if (old_drv && old_drv != drv) return -EBUSY; - } + } + for_each_cpu(cpu, drv->cpumask) per_cpu(cpuidle_drivers, cpu) = drv; - } return 0; } diff -Nru linux-4.19.87/drivers/crypto/amcc/crypto4xx_core.c linux-4.19.98/drivers/crypto/amcc/crypto4xx_core.c --- linux-4.19.87/drivers/crypto/amcc/crypto4xx_core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/crypto/amcc/crypto4xx_core.c 2020-01-23 07:21:39.000000000 +0000 @@ -373,12 +373,8 @@ dma_alloc_coherent(dev->core_dev->device, PPC4XX_SD_BUFFER_SIZE * PPC4XX_NUM_SD, &dev->scatter_buffer_pa, GFP_ATOMIC); - if (!dev->scatter_buffer_va) { - dma_free_coherent(dev->core_dev->device, - sizeof(struct ce_sd) * PPC4XX_NUM_SD, - dev->sdr, dev->sdr_pa); + if (!dev->scatter_buffer_va) return -ENOMEM; - } for (i = 0; i < PPC4XX_NUM_SD; i++) { dev->sdr[i].ptr = dev->scatter_buffer_pa + diff -Nru linux-4.19.87/drivers/crypto/atmel-aes.c linux-4.19.98/drivers/crypto/atmel-aes.c --- linux-4.19.87/drivers/crypto/atmel-aes.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/crypto/atmel-aes.c 2020-01-23 07:21:39.000000000 +0000 @@ -148,7 +148,7 @@ u32 key2[AES_KEYSIZE_256 / sizeof(u32)]; }; -#ifdef CONFIG_CRYPTO_DEV_ATMEL_AUTHENC +#if IS_ENABLED(CONFIG_CRYPTO_DEV_ATMEL_AUTHENC) struct atmel_aes_authenc_ctx { struct atmel_aes_base_ctx base; struct atmel_sha_authenc_ctx *auth; @@ -160,7 +160,7 @@ u32 lastc[AES_BLOCK_SIZE / sizeof(u32)]; }; -#ifdef CONFIG_CRYPTO_DEV_ATMEL_AUTHENC +#if IS_ENABLED(CONFIG_CRYPTO_DEV_ATMEL_AUTHENC) struct atmel_aes_authenc_reqctx { struct atmel_aes_reqctx base; @@ -489,13 +489,36 @@ return (dd->flags & AES_FLAGS_ENCRYPT); } -#ifdef CONFIG_CRYPTO_DEV_ATMEL_AUTHENC +#if IS_ENABLED(CONFIG_CRYPTO_DEV_ATMEL_AUTHENC) static void atmel_aes_authenc_complete(struct atmel_aes_dev *dd, int err); #endif +static void atmel_aes_set_iv_as_last_ciphertext_block(struct atmel_aes_dev *dd) +{ + struct ablkcipher_request *req = ablkcipher_request_cast(dd->areq); + struct atmel_aes_reqctx *rctx = ablkcipher_request_ctx(req); + struct crypto_ablkcipher *ablkcipher = crypto_ablkcipher_reqtfm(req); + unsigned int ivsize = crypto_ablkcipher_ivsize(ablkcipher); + + if (req->nbytes < ivsize) + return; + + if (rctx->mode & AES_FLAGS_ENCRYPT) { + scatterwalk_map_and_copy(req->info, req->dst, + req->nbytes - ivsize, ivsize, 0); + } else { + if (req->src == req->dst) + memcpy(req->info, rctx->lastc, ivsize); + else + scatterwalk_map_and_copy(req->info, req->src, + req->nbytes - ivsize, + ivsize, 0); + } +} + static inline int atmel_aes_complete(struct atmel_aes_dev *dd, int err) { -#ifdef CONFIG_CRYPTO_DEV_ATMEL_AUTHENC +#if IS_ENABLED(CONFIG_CRYPTO_DEV_ATMEL_AUTHENC) if (dd->ctx->is_aead) atmel_aes_authenc_complete(dd, err); #endif @@ -503,26 +526,8 @@ clk_disable(dd->iclk); dd->flags &= ~AES_FLAGS_BUSY; - if (!dd->ctx->is_aead) { - struct ablkcipher_request *req = - ablkcipher_request_cast(dd->areq); - struct atmel_aes_reqctx *rctx = ablkcipher_request_ctx(req); - struct crypto_ablkcipher *ablkcipher = - crypto_ablkcipher_reqtfm(req); - int ivsize = crypto_ablkcipher_ivsize(ablkcipher); - - if (rctx->mode & AES_FLAGS_ENCRYPT) { - scatterwalk_map_and_copy(req->info, req->dst, - req->nbytes - ivsize, ivsize, 0); - } else { - if (req->src == req->dst) { - memcpy(req->info, rctx->lastc, ivsize); - } else { - scatterwalk_map_and_copy(req->info, req->src, - req->nbytes - ivsize, ivsize, 0); - } - } - } + if (!dd->ctx->is_aead) + atmel_aes_set_iv_as_last_ciphertext_block(dd); if (dd->is_async) dd->areq->complete(dd->areq, err); @@ -1128,10 +1133,12 @@ rctx->mode = mode; if (!(mode & AES_FLAGS_ENCRYPT) && (req->src == req->dst)) { - int ivsize = crypto_ablkcipher_ivsize(ablkcipher); + unsigned int ivsize = crypto_ablkcipher_ivsize(ablkcipher); - scatterwalk_map_and_copy(rctx->lastc, req->src, - (req->nbytes - ivsize), ivsize, 0); + if (req->nbytes >= ivsize) + scatterwalk_map_and_copy(rctx->lastc, req->src, + req->nbytes - ivsize, + ivsize, 0); } return atmel_aes_handle_queue(dd, &req->base); @@ -1976,7 +1983,7 @@ } }; -#ifdef CONFIG_CRYPTO_DEV_ATMEL_AUTHENC +#if IS_ENABLED(CONFIG_CRYPTO_DEV_ATMEL_AUTHENC) /* authenc aead functions */ static int atmel_aes_authenc_start(struct atmel_aes_dev *dd); @@ -2463,7 +2470,7 @@ { int i; -#ifdef CONFIG_CRYPTO_DEV_ATMEL_AUTHENC +#if IS_ENABLED(CONFIG_CRYPTO_DEV_ATMEL_AUTHENC) if (dd->caps.has_authenc) for (i = 0; i < ARRAY_SIZE(aes_authenc_algs); i++) crypto_unregister_aead(&aes_authenc_algs[i]); @@ -2510,7 +2517,7 @@ goto err_aes_xts_alg; } -#ifdef CONFIG_CRYPTO_DEV_ATMEL_AUTHENC +#if IS_ENABLED(CONFIG_CRYPTO_DEV_ATMEL_AUTHENC) if (dd->caps.has_authenc) { for (i = 0; i < ARRAY_SIZE(aes_authenc_algs); i++) { err = crypto_register_aead(&aes_authenc_algs[i]); @@ -2522,7 +2529,7 @@ return 0; -#ifdef CONFIG_CRYPTO_DEV_ATMEL_AUTHENC +#if IS_ENABLED(CONFIG_CRYPTO_DEV_ATMEL_AUTHENC) /* i = ARRAY_SIZE(aes_authenc_algs); */ err_aes_authenc_alg: for (j = 0; j < i; j++) @@ -2713,7 +2720,7 @@ atmel_aes_get_cap(aes_dd); -#ifdef CONFIG_CRYPTO_DEV_ATMEL_AUTHENC +#if IS_ENABLED(CONFIG_CRYPTO_DEV_ATMEL_AUTHENC) if (aes_dd->caps.has_authenc && !atmel_sha_authenc_is_ready()) { err = -EPROBE_DEFER; goto iclk_unprepare; diff -Nru linux-4.19.87/drivers/crypto/atmel-authenc.h linux-4.19.98/drivers/crypto/atmel-authenc.h --- linux-4.19.87/drivers/crypto/atmel-authenc.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/crypto/atmel-authenc.h 2020-01-23 07:21:39.000000000 +0000 @@ -23,7 +23,7 @@ #ifndef __ATMEL_AUTHENC_H__ #define __ATMEL_AUTHENC_H__ -#ifdef CONFIG_CRYPTO_DEV_ATMEL_AUTHENC +#if IS_ENABLED(CONFIG_CRYPTO_DEV_ATMEL_AUTHENC) #include #include diff -Nru linux-4.19.87/drivers/crypto/atmel-sha.c linux-4.19.98/drivers/crypto/atmel-sha.c --- linux-4.19.87/drivers/crypto/atmel-sha.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/crypto/atmel-sha.c 2020-01-23 07:21:39.000000000 +0000 @@ -2215,7 +2215,7 @@ }, }; -#ifdef CONFIG_CRYPTO_DEV_ATMEL_AUTHENC +#if IS_ENABLED(CONFIG_CRYPTO_DEV_ATMEL_AUTHENC) /* authenc functions */ static int atmel_sha_authenc_init2(struct atmel_sha_dev *dd); diff -Nru linux-4.19.87/drivers/crypto/bcm/cipher.c linux-4.19.98/drivers/crypto/bcm/cipher.c --- linux-4.19.87/drivers/crypto/bcm/cipher.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/crypto/bcm/cipher.c 2020-01-23 07:21:39.000000000 +0000 @@ -4634,12 +4634,16 @@ hash->halg.statesize = sizeof(struct spu_hash_export_s); if (driver_alg->auth_info.mode != HASH_MODE_HMAC) { - hash->setkey = ahash_setkey; hash->init = ahash_init; hash->update = ahash_update; hash->final = ahash_final; hash->finup = ahash_finup; hash->digest = ahash_digest; + if ((driver_alg->auth_info.alg == HASH_ALG_AES) && + ((driver_alg->auth_info.mode == HASH_MODE_XCBC) || + (driver_alg->auth_info.mode == HASH_MODE_CMAC))) { + hash->setkey = ahash_setkey; + } } else { hash->setkey = ahash_hmac_setkey; hash->init = ahash_hmac_init; diff -Nru linux-4.19.87/drivers/crypto/ccp/ccp-dmaengine.c linux-4.19.98/drivers/crypto/ccp/ccp-dmaengine.c --- linux-4.19.87/drivers/crypto/ccp/ccp-dmaengine.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/crypto/ccp/ccp-dmaengine.c 2020-01-23 07:21:39.000000000 +0000 @@ -340,6 +340,7 @@ desc->tx_desc.flags = flags; desc->tx_desc.tx_submit = ccp_tx_submit; desc->ccp = chan->ccp; + INIT_LIST_HEAD(&desc->entry); INIT_LIST_HEAD(&desc->pending); INIT_LIST_HEAD(&desc->active); desc->status = DMA_IN_PROGRESS; diff -Nru linux-4.19.87/drivers/crypto/chelsio/chtls/chtls.h linux-4.19.98/drivers/crypto/chelsio/chtls/chtls.h --- linux-4.19.87/drivers/crypto/chelsio/chtls/chtls.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/crypto/chelsio/chtls/chtls.h 2020-01-23 07:21:39.000000000 +0000 @@ -153,6 +153,11 @@ unsigned int cdev_state; }; +struct chtls_listen { + struct chtls_dev *cdev; + struct sock *sk; +}; + struct chtls_hws { struct sk_buff_head sk_recv_queue; u8 txqid; diff -Nru linux-4.19.87/drivers/crypto/chelsio/chtls/chtls_main.c linux-4.19.98/drivers/crypto/chelsio/chtls/chtls_main.c --- linux-4.19.87/drivers/crypto/chelsio/chtls/chtls_main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/crypto/chelsio/chtls/chtls_main.c 2020-01-23 07:21:39.000000000 +0000 @@ -55,24 +55,19 @@ static int listen_notify_handler(struct notifier_block *this, unsigned long event, void *data) { - struct chtls_dev *cdev; - struct sock *sk; - int ret; + struct chtls_listen *clisten; + int ret = NOTIFY_DONE; - sk = data; - ret = NOTIFY_DONE; + clisten = (struct chtls_listen *)data; switch (event) { case CHTLS_LISTEN_START: + ret = chtls_listen_start(clisten->cdev, clisten->sk); + kfree(clisten); + break; case CHTLS_LISTEN_STOP: - mutex_lock(&cdev_list_lock); - list_for_each_entry(cdev, &cdev_list, list) { - if (event == CHTLS_LISTEN_START) - ret = chtls_listen_start(cdev, sk); - else - chtls_listen_stop(cdev, sk); - } - mutex_unlock(&cdev_list_lock); + chtls_listen_stop(clisten->cdev, clisten->sk); + kfree(clisten); break; } return ret; @@ -90,8 +85,9 @@ return 0; } -static int chtls_start_listen(struct sock *sk) +static int chtls_start_listen(struct chtls_dev *cdev, struct sock *sk) { + struct chtls_listen *clisten; int err; if (sk->sk_protocol != IPPROTO_TCP) @@ -102,21 +98,33 @@ return -EADDRNOTAVAIL; sk->sk_backlog_rcv = listen_backlog_rcv; + clisten = kmalloc(sizeof(*clisten), GFP_KERNEL); + if (!clisten) + return -ENOMEM; + clisten->cdev = cdev; + clisten->sk = sk; mutex_lock(¬ify_mutex); err = raw_notifier_call_chain(&listen_notify_list, - CHTLS_LISTEN_START, sk); + CHTLS_LISTEN_START, clisten); mutex_unlock(¬ify_mutex); return err; } -static void chtls_stop_listen(struct sock *sk) +static void chtls_stop_listen(struct chtls_dev *cdev, struct sock *sk) { + struct chtls_listen *clisten; + if (sk->sk_protocol != IPPROTO_TCP) return; + clisten = kmalloc(sizeof(*clisten), GFP_KERNEL); + if (!clisten) + return; + clisten->cdev = cdev; + clisten->sk = sk; mutex_lock(¬ify_mutex); raw_notifier_call_chain(&listen_notify_list, - CHTLS_LISTEN_STOP, sk); + CHTLS_LISTEN_STOP, clisten); mutex_unlock(¬ify_mutex); } @@ -138,15 +146,19 @@ static int chtls_create_hash(struct tls_device *dev, struct sock *sk) { + struct chtls_dev *cdev = to_chtls_dev(dev); + if (sk->sk_state == TCP_LISTEN) - return chtls_start_listen(sk); + return chtls_start_listen(cdev, sk); return 0; } static void chtls_destroy_hash(struct tls_device *dev, struct sock *sk) { + struct chtls_dev *cdev = to_chtls_dev(dev); + if (sk->sk_state == TCP_LISTEN) - chtls_stop_listen(sk); + chtls_stop_listen(cdev, sk); } static void chtls_register_dev(struct chtls_dev *cdev) diff -Nru linux-4.19.87/drivers/crypto/mxc-scc.c linux-4.19.98/drivers/crypto/mxc-scc.c --- linux-4.19.87/drivers/crypto/mxc-scc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/crypto/mxc-scc.c 2020-01-23 07:21:39.000000000 +0000 @@ -178,12 +178,12 @@ else from = scc->black_memory; - dev_dbg(scc->dev, "pcopy: from 0x%p %d bytes\n", from, + dev_dbg(scc->dev, "pcopy: from 0x%p %zu bytes\n", from, ctx->dst_nents * 8); len = sg_pcopy_from_buffer(ablkreq->dst, ctx->dst_nents, from, ctx->size, ctx->offset); if (!len) { - dev_err(scc->dev, "pcopy err from 0x%p (len=%d)\n", from, len); + dev_err(scc->dev, "pcopy err from 0x%p (len=%zu)\n", from, len); return -EINVAL; } @@ -274,7 +274,7 @@ len = sg_pcopy_to_buffer(req->src, ctx->src_nents, to, len, ctx->offset); if (!len) { - dev_err(scc->dev, "pcopy err to 0x%p (len=%d)\n", to, len); + dev_err(scc->dev, "pcopy err to 0x%p (len=%zu)\n", to, len); return -EINVAL; } @@ -335,9 +335,9 @@ return; } - dev_dbg(scc->dev, "Start encryption (0x%p/0x%p)\n", - (void *)readl(scc->base + SCC_SCM_RED_START), - (void *)readl(scc->base + SCC_SCM_BLACK_START)); + dev_dbg(scc->dev, "Start encryption (0x%x/0x%x)\n", + readl(scc->base + SCC_SCM_RED_START), + readl(scc->base + SCC_SCM_BLACK_START)); /* clear interrupt control registers */ writel(SCC_SCM_INTR_CTRL_CLR_INTR, diff -Nru linux-4.19.87/drivers/crypto/stm32/stm32-hash.c linux-4.19.98/drivers/crypto/stm32/stm32-hash.c --- linux-4.19.87/drivers/crypto/stm32/stm32-hash.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/crypto/stm32/stm32-hash.c 2020-01-23 07:21:39.000000000 +0000 @@ -365,7 +365,7 @@ return -ETIMEDOUT; if ((hdev->flags & HASH_FLAGS_HMAC) && - (hdev->flags & ~HASH_FLAGS_HMAC_KEY)) { + (!(hdev->flags & HASH_FLAGS_HMAC_KEY))) { hdev->flags |= HASH_FLAGS_HMAC_KEY; stm32_hash_write_key(hdev); if (stm32_hash_wait_busy(hdev)) diff -Nru linux-4.19.87/drivers/crypto/sunxi-ss/sun4i-ss-cipher.c linux-4.19.98/drivers/crypto/sunxi-ss/sun4i-ss-cipher.c --- linux-4.19.87/drivers/crypto/sunxi-ss/sun4i-ss-cipher.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/crypto/sunxi-ss/sun4i-ss-cipher.c 2020-01-23 07:21:39.000000000 +0000 @@ -81,7 +81,8 @@ oi = 0; oo = 0; do { - todo = min3(rx_cnt, ileft, (mi.length - oi) / 4); + todo = min(rx_cnt, ileft); + todo = min_t(size_t, todo, (mi.length - oi) / 4); if (todo) { ileft -= todo; writesl(ss->base + SS_RXFIFO, mi.addr + oi, todo); @@ -96,7 +97,8 @@ rx_cnt = SS_RXFIFO_SPACES(spaces); tx_cnt = SS_TXFIFO_SPACES(spaces); - todo = min3(tx_cnt, oleft, (mo.length - oo) / 4); + todo = min(tx_cnt, oleft); + todo = min_t(size_t, todo, (mo.length - oo) / 4); if (todo) { oleft -= todo; readsl(ss->base + SS_TXFIFO, mo.addr + oo, todo); @@ -220,7 +222,8 @@ * todo is the number of consecutive 4byte word that we * can read from current SG */ - todo = min3(rx_cnt, ileft / 4, (mi.length - oi) / 4); + todo = min(rx_cnt, ileft / 4); + todo = min_t(size_t, todo, (mi.length - oi) / 4); if (todo && !ob) { writesl(ss->base + SS_RXFIFO, mi.addr + oi, todo); @@ -234,8 +237,8 @@ * we need to be able to write all buf in one * pass, so it is why we min() with rx_cnt */ - todo = min3(rx_cnt * 4 - ob, ileft, - mi.length - oi); + todo = min(rx_cnt * 4 - ob, ileft); + todo = min_t(size_t, todo, mi.length - oi); memcpy(buf + ob, mi.addr + oi, todo); ileft -= todo; oi += todo; @@ -255,7 +258,8 @@ spaces = readl(ss->base + SS_FCSR); rx_cnt = SS_RXFIFO_SPACES(spaces); tx_cnt = SS_TXFIFO_SPACES(spaces); - dev_dbg(ss->dev, "%x %u/%u %u/%u cnt=%u %u/%u %u/%u cnt=%u %u\n", + dev_dbg(ss->dev, + "%x %u/%zu %u/%u cnt=%u %u/%zu %u/%u cnt=%u %u\n", mode, oi, mi.length, ileft, areq->cryptlen, rx_cnt, oo, mo.length, oleft, areq->cryptlen, tx_cnt, ob); @@ -263,7 +267,8 @@ if (!tx_cnt) continue; /* todo in 4bytes word */ - todo = min3(tx_cnt, oleft / 4, (mo.length - oo) / 4); + todo = min(tx_cnt, oleft / 4); + todo = min_t(size_t, todo, (mo.length - oo) / 4); if (todo) { readsl(ss->base + SS_TXFIFO, mo.addr + oo, todo); oleft -= todo * 4; @@ -287,7 +292,8 @@ * no more than remaining buffer * no need to test against oleft */ - todo = min(mo.length - oo, obl - obo); + todo = min_t(size_t, + mo.length - oo, obl - obo); memcpy(mo.addr + oo, bufo + obo, todo); oleft -= todo; obo += todo; diff -Nru linux-4.19.87/drivers/crypto/sunxi-ss/sun4i-ss-hash.c linux-4.19.98/drivers/crypto/sunxi-ss/sun4i-ss-hash.c --- linux-4.19.87/drivers/crypto/sunxi-ss/sun4i-ss-hash.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/crypto/sunxi-ss/sun4i-ss-hash.c 2020-01-23 07:21:39.000000000 +0000 @@ -276,8 +276,8 @@ */ while (op->len < 64 && i < end) { /* how many bytes we can read from current SG */ - in_r = min3(mi.length - in_i, end - i, - 64 - op->len); + in_r = min(end - i, 64 - op->len); + in_r = min_t(size_t, mi.length - in_i, in_r); memcpy(op->buf + op->len, mi.addr + in_i, in_r); op->len += in_r; i += in_r; @@ -297,8 +297,8 @@ } if (mi.length - in_i > 3 && i < end) { /* how many bytes we can read from current SG */ - in_r = min3(mi.length - in_i, areq->nbytes - i, - ((mi.length - in_i) / 4) * 4); + in_r = min_t(size_t, mi.length - in_i, areq->nbytes - i); + in_r = min_t(size_t, ((mi.length - in_i) / 4) * 4, in_r); /* how many bytes we can write in the device*/ todo = min3((u32)(end - i) / 4, rx_cnt, (u32)in_r / 4); writesl(ss->base + SS_RXFIFO, mi.addr + in_i, todo); @@ -324,8 +324,8 @@ if ((areq->nbytes - i) < 64) { while (i < areq->nbytes && in_i < mi.length && op->len < 64) { /* how many bytes we can read from current SG */ - in_r = min3(mi.length - in_i, areq->nbytes - i, - 64 - op->len); + in_r = min(areq->nbytes - i, 64 - op->len); + in_r = min_t(size_t, mi.length - in_i, in_r); memcpy(op->buf + op->len, mi.addr + in_i, in_r); op->len += in_r; i += in_r; diff -Nru linux-4.19.87/drivers/crypto/virtio/virtio_crypto_algs.c linux-4.19.98/drivers/crypto/virtio/virtio_crypto_algs.c --- linux-4.19.87/drivers/crypto/virtio/virtio_crypto_algs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/crypto/virtio/virtio_crypto_algs.c 2020-01-23 07:21:39.000000000 +0000 @@ -117,8 +117,6 @@ *alg = VIRTIO_CRYPTO_CIPHER_AES_CBC; break; default: - pr_err("virtio_crypto: Unsupported key length: %d\n", - key_len); return -EINVAL; } return 0; @@ -451,6 +449,11 @@ goto free; } memcpy(iv, req->info, ivsize); + if (!vc_sym_req->encrypt) + scatterwalk_map_and_copy(req->info, req->src, + req->nbytes - AES_BLOCK_SIZE, + AES_BLOCK_SIZE, 0); + sg_init_one(&iv_sg, iv, ivsize); sgs[num_out++] = &iv_sg; vc_sym_req->iv = iv; @@ -498,6 +501,11 @@ /* Use the first data virtqueue as default */ struct data_queue *data_vq = &vcrypto->data_vq[0]; + if (!req->nbytes) + return 0; + if (req->nbytes % AES_BLOCK_SIZE) + return -EINVAL; + vc_req->dataq = data_vq; vc_req->alg_cb = virtio_crypto_dataq_sym_callback; vc_sym_req->ablkcipher_ctx = ctx; @@ -518,6 +526,11 @@ /* Use the first data virtqueue as default */ struct data_queue *data_vq = &vcrypto->data_vq[0]; + if (!req->nbytes) + return 0; + if (req->nbytes % AES_BLOCK_SIZE) + return -EINVAL; + vc_req->dataq = data_vq; vc_req->alg_cb = virtio_crypto_dataq_sym_callback; vc_sym_req->ablkcipher_ctx = ctx; @@ -577,6 +590,10 @@ struct ablkcipher_request *req, int err) { + if (vc_sym_req->encrypt) + scatterwalk_map_and_copy(req->info, req->dst, + req->nbytes - AES_BLOCK_SIZE, + AES_BLOCK_SIZE, 0); crypto_finalize_ablkcipher_request(vc_sym_req->base.dataq->engine, req, err); kzfree(vc_sym_req->iv); diff -Nru linux-4.19.87/drivers/crypto/vmx/Makefile linux-4.19.98/drivers/crypto/vmx/Makefile --- linux-4.19.87/drivers/crypto/vmx/Makefile 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/crypto/vmx/Makefile 2020-01-23 07:21:39.000000000 +0000 @@ -3,13 +3,13 @@ vmx-crypto-objs := vmx.o aesp8-ppc.o ghashp8-ppc.o aes.o aes_cbc.o aes_ctr.o aes_xts.o ghash.o ifeq ($(CONFIG_CPU_LITTLE_ENDIAN),y) -TARGET := linux-ppc64le +override flavour := linux-ppc64le else -TARGET := linux-ppc64 +override flavour := linux-ppc64 endif quiet_cmd_perl = PERL $@ - cmd_perl = $(PERL) $(<) $(TARGET) > $(@) + cmd_perl = $(PERL) $(<) $(flavour) > $(@) targets += aesp8-ppc.S ghashp8-ppc.S diff -Nru linux-4.19.87/drivers/devfreq/devfreq.c linux-4.19.98/drivers/devfreq/devfreq.c --- linux-4.19.87/drivers/devfreq/devfreq.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/devfreq/devfreq.c 2020-01-23 07:21:39.000000000 +0000 @@ -163,6 +163,7 @@ int lev, prev_lev, ret = 0; unsigned long cur_time; + lockdep_assert_held(&devfreq->lock); cur_time = jiffies; /* Immediately exit if previous_freq is not initialized yet. */ @@ -537,26 +538,30 @@ void *devp) { struct devfreq *devfreq = container_of(nb, struct devfreq, nb); - int ret; + int err = -EINVAL; mutex_lock(&devfreq->lock); devfreq->scaling_min_freq = find_available_min_freq(devfreq); - if (!devfreq->scaling_min_freq) { - mutex_unlock(&devfreq->lock); - return -EINVAL; - } + if (!devfreq->scaling_min_freq) + goto out; devfreq->scaling_max_freq = find_available_max_freq(devfreq); if (!devfreq->scaling_max_freq) { - mutex_unlock(&devfreq->lock); - return -EINVAL; + devfreq->scaling_max_freq = ULONG_MAX; + goto out; } - ret = update_devfreq(devfreq); + err = update_devfreq(devfreq); + +out: mutex_unlock(&devfreq->lock); + if (err) + dev_err(devfreq->dev.parent, + "failed to update frequency from OPP notifier (%d)\n", + err); - return ret; + return NOTIFY_OK; } /** @@ -570,11 +575,6 @@ struct devfreq *devfreq = to_devfreq(dev); mutex_lock(&devfreq_list_lock); - if (IS_ERR(find_device_devfreq(devfreq->dev.parent))) { - mutex_unlock(&devfreq_list_lock); - dev_warn(&devfreq->dev, "releasing devfreq which doesn't exist\n"); - return; - } list_del(&devfreq->node); mutex_unlock(&devfreq_list_lock); @@ -629,6 +629,7 @@ devfreq->dev.parent = dev; devfreq->dev.class = devfreq_class; devfreq->dev.release = devfreq_dev_release; + INIT_LIST_HEAD(&devfreq->node); devfreq->profile = profile; strncpy(devfreq->governor_name, governor_name, DEVFREQ_NAME_LEN); devfreq->previous_freq = profile->initial_freq; @@ -1085,7 +1086,7 @@ * The devfreq with immutable governor (e.g., passive) shows * only own governor. */ - if (df->governor->immutable) { + if (df->governor && df->governor->immutable) { count = scnprintf(&buf[count], DEVFREQ_NAME_LEN, "%s ", df->governor_name); /* @@ -1287,12 +1288,17 @@ int i, j; unsigned int max_state = devfreq->profile->max_state; - if (!devfreq->stop_polling && - devfreq_update_status(devfreq, devfreq->previous_freq)) - return 0; if (max_state == 0) return sprintf(buf, "Not Supported.\n"); + mutex_lock(&devfreq->lock); + if (!devfreq->stop_polling && + devfreq_update_status(devfreq, devfreq->previous_freq)) { + mutex_unlock(&devfreq->lock); + return 0; + } + mutex_unlock(&devfreq->lock); + len = sprintf(buf, " From : To\n"); len += sprintf(buf + len, " :"); for (i = 0; i < max_state; i++) diff -Nru linux-4.19.87/drivers/dma/coh901318.c linux-4.19.98/drivers/dma/coh901318.c --- linux-4.19.87/drivers/dma/coh901318.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/dma/coh901318.c 2020-01-23 07:21:39.000000000 +0000 @@ -1797,13 +1797,10 @@ static int coh901318_config(struct coh901318_chan *cohc, struct coh901318_params *param) { - unsigned long flags; const struct coh901318_params *p; int channel = cohc->id; void __iomem *virtbase = cohc->base->virtbase; - spin_lock_irqsave(&cohc->lock, flags); - if (param) p = param; else @@ -1823,8 +1820,6 @@ coh901318_set_conf(cohc, p->config); coh901318_set_ctrl(cohc, p->ctrl_lli_last); - spin_unlock_irqrestore(&cohc->lock, flags); - return 0; } diff -Nru linux-4.19.87/drivers/dma/dw/core.c linux-4.19.98/drivers/dma/dw/core.c --- linux-4.19.87/drivers/dma/dw/core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/dma/dw/core.c 2020-01-23 07:21:39.000000000 +0000 @@ -160,12 +160,14 @@ static void dwc_initialize_chan_dw(struct dw_dma_chan *dwc) { + struct dw_dma *dw = to_dw_dma(dwc->chan.device); u32 cfghi = DWC_CFGH_FIFO_MODE; u32 cfglo = DWC_CFGL_CH_PRIOR(dwc->priority); bool hs_polarity = dwc->dws.hs_polarity; cfghi |= DWC_CFGH_DST_PER(dwc->dws.dst_id); cfghi |= DWC_CFGH_SRC_PER(dwc->dws.src_id); + cfghi |= DWC_CFGH_PROTCTL(dw->pdata->protctl); /* Set polarity of handshake interface */ cfglo |= hs_polarity ? DWC_CFGL_HS_DST_POL | DWC_CFGL_HS_SRC_POL : 0; diff -Nru linux-4.19.87/drivers/dma/dw/platform.c linux-4.19.98/drivers/dma/dw/platform.c --- linux-4.19.87/drivers/dma/dw/platform.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/dma/dw/platform.c 2020-01-23 07:21:39.000000000 +0000 @@ -162,6 +162,12 @@ pdata->multi_block[tmp] = 1; } + if (!of_property_read_u32(np, "snps,dma-protection-control", &tmp)) { + if (tmp > CHAN_PROTCTL_MASK) + return NULL; + pdata->protctl = tmp; + } + return pdata; } #else diff -Nru linux-4.19.87/drivers/dma/dw/regs.h linux-4.19.98/drivers/dma/dw/regs.h --- linux-4.19.87/drivers/dma/dw/regs.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/dma/dw/regs.h 2020-01-23 07:21:39.000000000 +0000 @@ -200,6 +200,10 @@ #define DWC_CFGH_FCMODE (1 << 0) #define DWC_CFGH_FIFO_MODE (1 << 1) #define DWC_CFGH_PROTCTL(x) ((x) << 2) +#define DWC_CFGH_PROTCTL_DATA (0 << 2) /* data access - always set */ +#define DWC_CFGH_PROTCTL_PRIV (1 << 2) /* privileged -> AHB HPROT[1] */ +#define DWC_CFGH_PROTCTL_BUFFER (2 << 2) /* bufferable -> AHB HPROT[2] */ +#define DWC_CFGH_PROTCTL_CACHE (4 << 2) /* cacheable -> AHB HPROT[3] */ #define DWC_CFGH_DS_UPD_EN (1 << 5) #define DWC_CFGH_SS_UPD_EN (1 << 6) #define DWC_CFGH_SRC_PER(x) ((x) << 7) diff -Nru linux-4.19.87/drivers/dma/ioat/dma.c linux-4.19.98/drivers/dma/ioat/dma.c --- linux-4.19.87/drivers/dma/ioat/dma.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/dma/ioat/dma.c 2020-01-23 07:21:39.000000000 +0000 @@ -388,10 +388,11 @@ descs->virt = dma_alloc_coherent(to_dev(ioat_chan), SZ_2M, &descs->hw, flags); - if (!descs->virt && (i > 0)) { + if (!descs->virt) { int idx; for (idx = 0; idx < i; idx++) { + descs = &ioat_chan->descs[idx]; dma_free_coherent(to_dev(ioat_chan), SZ_2M, descs->virt, descs->hw); descs->virt = NULL; diff -Nru linux-4.19.87/drivers/dma/k3dma.c linux-4.19.98/drivers/dma/k3dma.c --- linux-4.19.87/drivers/dma/k3dma.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/dma/k3dma.c 2020-01-23 07:21:39.000000000 +0000 @@ -222,9 +222,11 @@ c = p->vchan; if (c && (tc1 & BIT(i))) { spin_lock_irqsave(&c->vc.lock, flags); - vchan_cookie_complete(&p->ds_run->vd); - p->ds_done = p->ds_run; - p->ds_run = NULL; + if (p->ds_run != NULL) { + vchan_cookie_complete(&p->ds_run->vd); + p->ds_done = p->ds_run; + p->ds_run = NULL; + } spin_unlock_irqrestore(&c->vc.lock, flags); } if (c && (tc2 & BIT(i))) { @@ -264,6 +266,10 @@ if (BIT(c->phy->idx) & k3_dma_get_chan_stat(d)) return -EAGAIN; + /* Avoid losing track of ds_run if a transaction is in flight */ + if (c->phy->ds_run) + return -EAGAIN; + if (vd) { struct k3_dma_desc_sw *ds = container_of(vd, struct k3_dma_desc_sw, vd); diff -Nru linux-4.19.87/drivers/dma/stm32-dma.c linux-4.19.98/drivers/dma/stm32-dma.c --- linux-4.19.87/drivers/dma/stm32-dma.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/dma/stm32-dma.c 2020-01-23 07:21:39.000000000 +0000 @@ -308,20 +308,12 @@ static bool stm32_dma_is_burst_possible(u32 buf_len, u32 threshold) { - switch (threshold) { - case STM32_DMA_FIFO_THRESHOLD_FULL: - if (buf_len >= STM32_DMA_MAX_BURST) - return true; - else - return false; - case STM32_DMA_FIFO_THRESHOLD_HALFFULL: - if (buf_len >= STM32_DMA_MAX_BURST / 2) - return true; - else - return false; - default: - return false; - } + /* + * Buffer or period length has to be aligned on FIFO depth. + * Otherwise bytes may be stuck within FIFO at buffer or period + * length. + */ + return ((buf_len % ((threshold + 1) * 4)) == 0); } static u32 stm32_dma_get_best_burst(u32 buf_len, u32 max_burst, u32 threshold, diff -Nru linux-4.19.87/drivers/dma/xilinx/xilinx_dma.c linux-4.19.98/drivers/dma/xilinx/xilinx_dma.c --- linux-4.19.87/drivers/dma/xilinx/xilinx_dma.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/dma/xilinx/xilinx_dma.c 2020-01-23 07:21:39.000000000 +0000 @@ -1427,6 +1427,7 @@ chan->err = false; chan->idle = true; + chan->desc_pendingcount = 0; chan->desc_submitcount = 0; return err; diff -Nru linux-4.19.87/drivers/dma-buf/sync_file.c linux-4.19.98/drivers/dma-buf/sync_file.c --- linux-4.19.87/drivers/dma-buf/sync_file.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/dma-buf/sync_file.c 2020-01-23 07:21:39.000000000 +0000 @@ -230,7 +230,7 @@ a_fences = get_fences(a, &a_num_fences); b_fences = get_fences(b, &b_num_fences); if (a_num_fences > INT_MAX - b_num_fences) - return NULL; + goto err; num_fences = a_num_fences + b_num_fences; diff -Nru linux-4.19.87/drivers/edac/ghes_edac.c linux-4.19.98/drivers/edac/ghes_edac.c --- linux-4.19.87/drivers/edac/ghes_edac.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/edac/ghes_edac.c 2020-01-23 07:21:39.000000000 +0000 @@ -210,6 +210,7 @@ /* Cleans the error report buffer */ memset(e, 0, sizeof (*e)); e->error_count = 1; + e->grain = 1; strcpy(e->label, "unknown label"); e->msg = pvt->msg; e->other_detail = pvt->other_detail; @@ -305,7 +306,7 @@ /* Error grain */ if (mem_err->validation_bits & CPER_MEM_VALID_PA_MASK) - e->grain = ~(mem_err->physical_addr_mask & ~PAGE_MASK); + e->grain = ~mem_err->physical_addr_mask + 1; /* Memory error location, mapped on e->location */ p = e->location; @@ -412,8 +413,13 @@ if (p > pvt->other_detail) *(p - 1) = '\0'; + /* Sanity-check driver-supplied grain value. */ + if (WARN_ON_ONCE(!e->grain)) + e->grain = 1; + + grain_bits = fls_long(e->grain - 1); + /* Generate the trace event */ - grain_bits = fls_long(e->grain); snprintf(pvt->detail_location, sizeof(pvt->detail_location), "APEI location: %s %s", e->location, e->other_detail); trace_mc_event(type, e->msg, e->label, e->error_count, diff -Nru linux-4.19.87/drivers/extcon/extcon-max8997.c linux-4.19.98/drivers/extcon/extcon-max8997.c --- linux-4.19.87/drivers/extcon/extcon-max8997.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/extcon/extcon-max8997.c 2020-01-23 07:21:39.000000000 +0000 @@ -321,12 +321,10 @@ { int ret = 0; - if (usb_type == MAX8997_USB_HOST) { - ret = max8997_muic_set_path(info, info->path_usb, attached); - if (ret < 0) { - dev_err(info->dev, "failed to update muic register\n"); - return ret; - } + ret = max8997_muic_set_path(info, info->path_usb, attached); + if (ret < 0) { + dev_err(info->dev, "failed to update muic register\n"); + return ret; } switch (usb_type) { diff -Nru linux-4.19.87/drivers/extcon/extcon-sm5502.c linux-4.19.98/drivers/extcon/extcon-sm5502.c --- linux-4.19.87/drivers/extcon/extcon-sm5502.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/extcon/extcon-sm5502.c 2020-01-23 07:21:39.000000000 +0000 @@ -69,6 +69,10 @@ /* Default value of SM5502 register to bring up MUIC device. */ static struct reg_data sm5502_reg_data[] = { { + .reg = SM5502_REG_RESET, + .val = SM5502_REG_RESET_MASK, + .invert = true, + }, { .reg = SM5502_REG_CONTROL, .val = SM5502_REG_CONTROL_MASK_INT_MASK, .invert = false, diff -Nru linux-4.19.87/drivers/extcon/extcon-sm5502.h linux-4.19.98/drivers/extcon/extcon-sm5502.h --- linux-4.19.87/drivers/extcon/extcon-sm5502.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/extcon/extcon-sm5502.h 2020-01-23 07:21:39.000000000 +0000 @@ -241,6 +241,8 @@ #define DM_DP_SWITCH_UART ((DM_DP_CON_SWITCH_UART <hh_data + HH_DATA_OFF(sizeof(*h))); h->h_proto = type; memcpy(h->h_dest, neigh->ha, net->addr_len); - hh->hh_len = FWNET_HLEN; + + /* Pairs with the READ_ONCE() in neigh_resolve_output(), + * neigh_hh_output() and neigh_update_hhs(). + */ + smp_store_release(&hh->hh_len, FWNET_HLEN); return 0; } diff -Nru linux-4.19.87/drivers/firmware/arm_scmi/bus.c linux-4.19.98/drivers/firmware/arm_scmi/bus.c --- linux-4.19.87/drivers/firmware/arm_scmi/bus.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/firmware/arm_scmi/bus.c 2020-01-23 07:21:39.000000000 +0000 @@ -135,8 +135,10 @@ return NULL; id = ida_simple_get(&scmi_bus_id, 1, 0, GFP_KERNEL); - if (id < 0) - goto free_mem; + if (id < 0) { + kfree(scmi_dev); + return NULL; + } scmi_dev->id = id; scmi_dev->protocol_id = protocol; @@ -154,8 +156,6 @@ put_dev: put_device(&scmi_dev->dev); ida_simple_remove(&scmi_bus_id, id); -free_mem: - kfree(scmi_dev); return NULL; } diff -Nru linux-4.19.87/drivers/firmware/arm_sdei.c linux-4.19.98/drivers/firmware/arm_sdei.c --- linux-4.19.87/drivers/firmware/arm_sdei.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/firmware/arm_sdei.c 2020-01-23 07:21:39.000000000 +0000 @@ -1009,7 +1009,6 @@ static bool __init sdei_present_dt(void) { - struct platform_device *pdev; struct device_node *np, *fw_np; fw_np = of_find_node_by_name(NULL, "firmware"); @@ -1017,14 +1016,9 @@ return false; np = of_find_matching_node(fw_np, sdei_of_match); - of_node_put(fw_np); if (!np) return false; - - pdev = of_platform_device_create(np, sdei_driver.driver.name, NULL); of_node_put(np); - if (!pdev) - return false; return true; } diff -Nru linux-4.19.87/drivers/firmware/efi/libstub/gop.c linux-4.19.98/drivers/firmware/efi/libstub/gop.c --- linux-4.19.87/drivers/firmware/efi/libstub/gop.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/firmware/efi/libstub/gop.c 2020-01-23 07:21:39.000000000 +0000 @@ -86,30 +86,6 @@ } static efi_status_t -__gop_query32(efi_system_table_t *sys_table_arg, - struct efi_graphics_output_protocol_32 *gop32, - struct efi_graphics_output_mode_info **info, - unsigned long *size, u64 *fb_base) -{ - struct efi_graphics_output_protocol_mode_32 *mode; - efi_graphics_output_protocol_query_mode query_mode; - efi_status_t status; - unsigned long m; - - m = gop32->mode; - mode = (struct efi_graphics_output_protocol_mode_32 *)m; - query_mode = (void *)(unsigned long)gop32->query_mode; - - status = __efi_call_early(query_mode, (void *)gop32, mode->mode, size, - info); - if (status != EFI_SUCCESS) - return status; - - *fb_base = mode->frame_buffer_base; - return status; -} - -static efi_status_t setup_gop32(efi_system_table_t *sys_table_arg, struct screen_info *si, efi_guid_t *proto, unsigned long size, void **gop_handle) { @@ -121,7 +97,7 @@ u64 fb_base; struct efi_pixel_bitmask pixel_info; int pixel_format; - efi_status_t status = EFI_NOT_FOUND; + efi_status_t status; u32 *handles = (u32 *)(unsigned long)gop_handle; int i; @@ -130,6 +106,7 @@ nr_gops = size / sizeof(u32); for (i = 0; i < nr_gops; i++) { + struct efi_graphics_output_protocol_mode_32 *mode; struct efi_graphics_output_mode_info *info = NULL; efi_guid_t conout_proto = EFI_CONSOLE_OUT_DEVICE_GUID; bool conout_found = false; @@ -147,9 +124,11 @@ if (status == EFI_SUCCESS) conout_found = true; - status = __gop_query32(sys_table_arg, gop32, &info, &size, - ¤t_fb_base); - if (status == EFI_SUCCESS && (!first_gop || conout_found) && + mode = (void *)(unsigned long)gop32->mode; + info = (void *)(unsigned long)mode->info; + current_fb_base = mode->frame_buffer_base; + + if ((!first_gop || conout_found) && info->pixel_format != PIXEL_BLT_ONLY) { /* * Systems that use the UEFI Console Splitter may @@ -177,7 +156,7 @@ /* Did we find any GOPs? */ if (!first_gop) - goto out; + return EFI_NOT_FOUND; /* EFI framebuffer */ si->orig_video_isVGA = VIDEO_TYPE_EFI; @@ -199,32 +178,8 @@ si->lfb_size = si->lfb_linelength * si->lfb_height; si->capabilities |= VIDEO_CAPABILITY_SKIP_QUIRKS; -out: - return status; -} - -static efi_status_t -__gop_query64(efi_system_table_t *sys_table_arg, - struct efi_graphics_output_protocol_64 *gop64, - struct efi_graphics_output_mode_info **info, - unsigned long *size, u64 *fb_base) -{ - struct efi_graphics_output_protocol_mode_64 *mode; - efi_graphics_output_protocol_query_mode query_mode; - efi_status_t status; - unsigned long m; - m = gop64->mode; - mode = (struct efi_graphics_output_protocol_mode_64 *)m; - query_mode = (void *)(unsigned long)gop64->query_mode; - - status = __efi_call_early(query_mode, (void *)gop64, mode->mode, size, - info); - if (status != EFI_SUCCESS) - return status; - - *fb_base = mode->frame_buffer_base; - return status; + return EFI_SUCCESS; } static efi_status_t @@ -239,7 +194,7 @@ u64 fb_base; struct efi_pixel_bitmask pixel_info; int pixel_format; - efi_status_t status = EFI_NOT_FOUND; + efi_status_t status; u64 *handles = (u64 *)(unsigned long)gop_handle; int i; @@ -248,6 +203,7 @@ nr_gops = size / sizeof(u64); for (i = 0; i < nr_gops; i++) { + struct efi_graphics_output_protocol_mode_64 *mode; struct efi_graphics_output_mode_info *info = NULL; efi_guid_t conout_proto = EFI_CONSOLE_OUT_DEVICE_GUID; bool conout_found = false; @@ -265,9 +221,11 @@ if (status == EFI_SUCCESS) conout_found = true; - status = __gop_query64(sys_table_arg, gop64, &info, &size, - ¤t_fb_base); - if (status == EFI_SUCCESS && (!first_gop || conout_found) && + mode = (void *)(unsigned long)gop64->mode; + info = (void *)(unsigned long)mode->info; + current_fb_base = mode->frame_buffer_base; + + if ((!first_gop || conout_found) && info->pixel_format != PIXEL_BLT_ONLY) { /* * Systems that use the UEFI Console Splitter may @@ -295,7 +253,7 @@ /* Did we find any GOPs? */ if (!first_gop) - goto out; + return EFI_NOT_FOUND; /* EFI framebuffer */ si->orig_video_isVGA = VIDEO_TYPE_EFI; @@ -317,8 +275,8 @@ si->lfb_size = si->lfb_linelength * si->lfb_height; si->capabilities |= VIDEO_CAPABILITY_SKIP_QUIRKS; -out: - return status; + + return EFI_SUCCESS; } /* diff -Nru linux-4.19.87/drivers/firmware/qcom_scm-64.c linux-4.19.98/drivers/firmware/qcom_scm-64.c --- linux-4.19.87/drivers/firmware/qcom_scm-64.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/firmware/qcom_scm-64.c 2020-01-23 07:21:39.000000000 +0000 @@ -158,7 +158,7 @@ kfree(args_virt); } - if (res->a0 < 0) + if ((long)res->a0 < 0) return qcom_scm_remap_error(res->a0); return 0; diff -Nru linux-4.19.87/drivers/firmware/raspberrypi.c linux-4.19.98/drivers/firmware/raspberrypi.c --- linux-4.19.87/drivers/firmware/raspberrypi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/firmware/raspberrypi.c 2020-01-23 07:21:39.000000000 +0000 @@ -14,6 +14,7 @@ #include #include #include +#include #include #define MBOX_MSG(chan, data28) (((data28) & ~0xf) | ((chan) & 0xf)) @@ -21,8 +22,6 @@ #define MBOX_DATA28(msg) ((msg) & ~0xf) #define MBOX_CHAN_PROPERTY 8 -#define MAX_RPI_FW_PROP_BUF_SIZE 32 - static struct platform_device *rpi_hwmon; struct rpi_firmware { @@ -144,28 +143,30 @@ int rpi_firmware_property(struct rpi_firmware *fw, u32 tag, void *tag_data, size_t buf_size) { - /* Single tags are very small (generally 8 bytes), so the - * stack should be safe. - */ - u8 data[sizeof(struct rpi_firmware_property_tag_header) + - MAX_RPI_FW_PROP_BUF_SIZE]; - struct rpi_firmware_property_tag_header *header = - (struct rpi_firmware_property_tag_header *)data; + struct rpi_firmware_property_tag_header *header; int ret; - if (WARN_ON(buf_size > sizeof(data) - sizeof(*header))) - return -EINVAL; + /* Some mailboxes can use over 1k bytes. Rather than checking + * size and using stack or kmalloc depending on requirements, + * just use kmalloc. Mailboxes don't get called enough to worry + * too much about the time taken in the allocation. + */ + void *data = kmalloc(sizeof(*header) + buf_size, GFP_KERNEL); + if (!data) + return -ENOMEM; + + header = data; header->tag = tag; header->buf_size = buf_size; header->req_resp_size = 0; - memcpy(data + sizeof(struct rpi_firmware_property_tag_header), - tag_data, buf_size); + memcpy(data + sizeof(*header), tag_data, buf_size); + + ret = rpi_firmware_property_list(fw, data, buf_size + sizeof(*header)); + + memcpy(tag_data, data + sizeof(*header), buf_size); - ret = rpi_firmware_property_list(fw, &data, buf_size + sizeof(*header)); - memcpy(tag_data, - data + sizeof(struct rpi_firmware_property_tag_header), - buf_size); + kfree(data); return ret; } diff -Nru linux-4.19.87/drivers/fsi/fsi-core.c linux-4.19.98/drivers/fsi/fsi-core.c --- linux-4.19.87/drivers/fsi/fsi-core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/fsi/fsi-core.c 2020-01-23 07:21:39.000000000 +0000 @@ -552,6 +552,31 @@ return 0; } +static unsigned long aligned_access_size(size_t offset, size_t count) +{ + unsigned long offset_unit, count_unit; + + /* Criteria: + * + * 1. Access size must be less than or equal to the maximum access + * width or the highest power-of-two factor of offset + * 2. Access size must be less than or equal to the amount specified by + * count + * + * The access width is optimal if we can calculate 1 to be strictly + * equal while still satisfying 2. + */ + + /* Find 1 by the bottom bit of offset (with a 4 byte access cap) */ + offset_unit = BIT(__builtin_ctzl(offset | 4)); + + /* Find 2 by the top bit of count */ + count_unit = BIT(8 * sizeof(unsigned long) - 1 - __builtin_clzl(count)); + + /* Constrain the maximum access width to the minimum of both criteria */ + return BIT(__builtin_ctzl(offset_unit | count_unit)); +} + static ssize_t fsi_slave_sysfs_raw_read(struct file *file, struct kobject *kobj, struct bin_attribute *attr, char *buf, loff_t off, size_t count) @@ -567,8 +592,7 @@ return -EINVAL; for (total_len = 0; total_len < count; total_len += read_len) { - read_len = min_t(size_t, count, 4); - read_len -= off & 0x3; + read_len = aligned_access_size(off, count - total_len); rc = fsi_slave_read(slave, off, buf + total_len, read_len); if (rc) @@ -595,8 +619,7 @@ return -EINVAL; for (total_len = 0; total_len < count; total_len += write_len) { - write_len = min_t(size_t, count, 4); - write_len -= off & 0x3; + write_len = aligned_access_size(off, count - total_len); rc = fsi_slave_write(slave, off, buf + total_len, write_len); if (rc) diff -Nru linux-4.19.87/drivers/gpio/gpio-mpc8xxx.c linux-4.19.98/drivers/gpio/gpio-mpc8xxx.c --- linux-4.19.87/drivers/gpio/gpio-mpc8xxx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpio/gpio-mpc8xxx.c 2020-01-23 07:21:39.000000000 +0000 @@ -317,6 +317,7 @@ return -ENOMEM; gc = &mpc8xxx_gc->gc; + gc->parent = &pdev->dev; if (of_property_read_bool(np, "little-endian")) { ret = bgpio_init(gc, &pdev->dev, 4, @@ -348,7 +349,8 @@ * It's assumed that only a single type of gpio controller is available * on the current machine, so overwriting global data is fine. */ - mpc8xxx_irq_chip.irq_set_type = devtype->irq_set_type; + if (devtype->irq_set_type) + mpc8xxx_irq_chip.irq_set_type = devtype->irq_set_type; if (devtype->gpio_dir_out) gc->direction_output = devtype->gpio_dir_out; diff -Nru linux-4.19.87/drivers/gpio/gpio-pca953x.c linux-4.19.98/drivers/gpio/gpio-pca953x.c --- linux-4.19.87/drivers/gpio/gpio-pca953x.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpio/gpio-pca953x.c 2020-01-23 07:21:39.000000000 +0000 @@ -58,7 +58,7 @@ #define PCA_GPIO_MASK 0x00FF #define PCAL_GPIO_MASK 0x1f -#define PCAL_PINCTRL_MASK 0xe0 +#define PCAL_PINCTRL_MASK 0x60 #define PCA_INT 0x0100 #define PCA_PCAL 0x0200 diff -Nru linux-4.19.87/drivers/gpio/gpio-raspberrypi-exp.c linux-4.19.98/drivers/gpio/gpio-raspberrypi-exp.c --- linux-4.19.87/drivers/gpio/gpio-raspberrypi-exp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpio/gpio-raspberrypi-exp.c 2020-01-23 07:21:39.000000000 +0000 @@ -206,6 +206,7 @@ } fw = rpi_firmware_get(fw_node); + of_node_put(fw_node); if (!fw) return -EPROBE_DEFER; diff -Nru linux-4.19.87/drivers/gpio/gpio-zynq.c linux-4.19.98/drivers/gpio/gpio-zynq.c --- linux-4.19.87/drivers/gpio/gpio-zynq.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpio/gpio-zynq.c 2020-01-23 07:21:39.000000000 +0000 @@ -639,6 +639,8 @@ unsigned int bank_num; for (bank_num = 0; bank_num < gpio->p_data->max_bank; bank_num++) { + writel_relaxed(ZYNQ_GPIO_IXR_DISABLE_ALL, gpio->base_addr + + ZYNQ_GPIO_INTDIS_OFFSET(bank_num)); writel_relaxed(gpio->context.datalsw[bank_num], gpio->base_addr + ZYNQ_GPIO_DATA_LSW_OFFSET(bank_num)); @@ -648,9 +650,6 @@ writel_relaxed(gpio->context.dirm[bank_num], gpio->base_addr + ZYNQ_GPIO_DIRM_OFFSET(bank_num)); - writel_relaxed(gpio->context.int_en[bank_num], - gpio->base_addr + - ZYNQ_GPIO_INTEN_OFFSET(bank_num)); writel_relaxed(gpio->context.int_type[bank_num], gpio->base_addr + ZYNQ_GPIO_INTTYPE_OFFSET(bank_num)); @@ -660,6 +659,9 @@ writel_relaxed(gpio->context.int_any[bank_num], gpio->base_addr + ZYNQ_GPIO_INTANY_OFFSET(bank_num)); + writel_relaxed(~(gpio->context.int_en[bank_num]), + gpio->base_addr + + ZYNQ_GPIO_INTEN_OFFSET(bank_num)); } } diff -Nru linux-4.19.87/drivers/gpio/gpiolib-acpi.c linux-4.19.98/drivers/gpio/gpiolib-acpi.c --- linux-4.19.87/drivers/gpio/gpiolib-acpi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpio/gpiolib-acpi.c 2020-01-23 07:21:39.000000000 +0000 @@ -24,11 +24,19 @@ #include "gpiolib.h" +#define QUIRK_NO_EDGE_EVENTS_ON_BOOT 0x01l +#define QUIRK_NO_WAKEUP 0x02l + static int run_edge_events_on_boot = -1; module_param(run_edge_events_on_boot, int, 0444); MODULE_PARM_DESC(run_edge_events_on_boot, "Run edge _AEI event-handlers at boot: 0=no, 1=yes, -1=auto"); +static int honor_wakeup = -1; +module_param(honor_wakeup, int, 0444); +MODULE_PARM_DESC(honor_wakeup, + "Honor the ACPI wake-capable flag: 0=no, 1=yes, -1=auto"); + /** * struct acpi_gpio_event - ACPI GPIO event handler data * @@ -278,7 +286,7 @@ event->handle = evt_handle; event->handler = handler; event->irq = irq; - event->irq_is_wake = agpio->wake_capable == ACPI_WAKE_CAPABLE; + event->irq_is_wake = honor_wakeup && agpio->wake_capable == ACPI_WAKE_CAPABLE; event->pin = pin; event->desc = desc; @@ -1263,25 +1271,75 @@ /* We must use _sync so that this runs after the first deferred_probe run */ late_initcall_sync(acpi_gpio_handle_deferred_request_irqs); -static const struct dmi_system_id run_edge_events_on_boot_blacklist[] = { +static const struct dmi_system_id gpiolib_acpi_quirks[] = { { + /* + * The Minix Neo Z83-4 has a micro-USB-B id-pin handler for + * a non existing micro-USB-B connector which puts the HDMI + * DDC pins in GPIO mode, breaking HDMI support. + */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "MINIX"), DMI_MATCH(DMI_PRODUCT_NAME, "Z83-4"), - } + }, + .driver_data = (void *)QUIRK_NO_EDGE_EVENTS_ON_BOOT, + }, + { + /* + * The Terra Pad 1061 has a micro-USB-B id-pin handler, which + * instead of controlling the actual micro-USB-B turns the 5V + * boost for its USB-A connector off. The actual micro-USB-B + * connector is wired for charging only. + */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Wortmann_AG"), + DMI_MATCH(DMI_PRODUCT_NAME, "TERRA_PAD_1061"), + }, + .driver_data = (void *)QUIRK_NO_EDGE_EVENTS_ON_BOOT, + }, + { + /* + * Various HP X2 10 Cherry Trail models use an external + * embedded-controller connected via I2C + an ACPI GPIO + * event handler. The embedded controller generates various + * spurious wakeup events when suspended. So disable wakeup + * for its handler (it uses the only ACPI GPIO event handler). + * This breaks wakeup when opening the lid, the user needs + * to press the power-button to wakeup the system. The + * alternative is suspend simply not working, which is worse. + */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "HP"), + DMI_MATCH(DMI_PRODUCT_NAME, "HP x2 Detachable 10-p0XX"), + }, + .driver_data = (void *)QUIRK_NO_WAKEUP, }, {} /* Terminating entry */ }; static int acpi_gpio_setup_params(void) { + const struct dmi_system_id *id; + long quirks = 0; + + id = dmi_first_match(gpiolib_acpi_quirks); + if (id) + quirks = (long)id->driver_data; + if (run_edge_events_on_boot < 0) { - if (dmi_check_system(run_edge_events_on_boot_blacklist)) + if (quirks & QUIRK_NO_EDGE_EVENTS_ON_BOOT) run_edge_events_on_boot = 0; else run_edge_events_on_boot = 1; } + if (honor_wakeup < 0) { + if (quirks & QUIRK_NO_WAKEUP) + honor_wakeup = 0; + else + honor_wakeup = 1; + } + return 0; } diff -Nru linux-4.19.87/drivers/gpio/gpiolib.c linux-4.19.98/drivers/gpio/gpiolib.c --- linux-4.19.87/drivers/gpio/gpiolib.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpio/gpiolib.c 2020-01-23 07:21:39.000000000 +0000 @@ -217,6 +217,14 @@ chip = gpiod_to_chip(desc); offset = gpio_chip_hwgpio(desc); + /* + * Open drain emulation using input mode may incorrectly report + * input here, fix that up. + */ + if (test_bit(FLAG_OPEN_DRAIN, &desc->flags) && + test_bit(FLAG_IS_OUT, &desc->flags)) + return 0; + if (!chip->get_direction) return status; @@ -3749,8 +3757,9 @@ if (chip->ngpio <= p->chip_hwnum) { dev_err(dev, - "requested GPIO %d is out of range [0..%d] for chip %s\n", - idx, chip->ngpio, chip->label); + "requested GPIO %u (%u) is out of range [0..%u] for chip %s\n", + idx, p->chip_hwnum, chip->ngpio - 1, + chip->label); return ERR_PTR(-EINVAL); } diff -Nru linux-4.19.87/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c linux-4.19.98/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c --- linux-4.19.87/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c 2020-01-23 07:21:39.000000000 +0000 @@ -138,6 +138,7 @@ } dma_fence_put(fence); + fence = NULL; r = amdgpu_bo_kmap(vram_obj, &vram_map); if (r) { @@ -183,6 +184,7 @@ } dma_fence_put(fence); + fence = NULL; r = amdgpu_bo_kmap(gtt_obj[i], >t_map); if (r) { diff -Nru linux-4.19.87/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c linux-4.19.98/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c --- linux-4.19.87/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c 2020-01-23 07:21:39.000000000 +0000 @@ -700,10 +700,8 @@ id->oa_base != job->oa_base || id->oa_size != job->oa_size); bool vm_flush_needed = job->vm_needs_flush; - bool pasid_mapping_needed = id->pasid != job->pasid || - !id->pasid_mapping || - !dma_fence_is_signaled(id->pasid_mapping); struct dma_fence *fence = NULL; + bool pasid_mapping_needed = false; unsigned patch_offset = 0; int r; @@ -713,6 +711,12 @@ pasid_mapping_needed = true; } + mutex_lock(&id_mgr->lock); + if (id->pasid != job->pasid || !id->pasid_mapping || + !dma_fence_is_signaled(id->pasid_mapping)) + pasid_mapping_needed = true; + mutex_unlock(&id_mgr->lock); + gds_switch_needed &= !!ring->funcs->emit_gds_switch; vm_flush_needed &= !!ring->funcs->emit_vm_flush && job->vm_pd_addr != AMDGPU_BO_INVALID_OFFSET; @@ -752,9 +756,11 @@ } if (pasid_mapping_needed) { + mutex_lock(&id_mgr->lock); id->pasid = job->pasid; dma_fence_put(id->pasid_mapping); id->pasid_mapping = dma_fence_get(fence); + mutex_unlock(&id_mgr->lock); } dma_fence_put(fence); diff -Nru linux-4.19.87/drivers/gpu/drm/amd/amdgpu/df_v3_6.c linux-4.19.98/drivers/gpu/drm/amd/amdgpu/df_v3_6.c --- linux-4.19.87/drivers/gpu/drm/amd/amdgpu/df_v3_6.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/amd/amdgpu/df_v3_6.c 2020-01-23 07:21:39.000000000 +0000 @@ -75,23 +75,29 @@ { u32 tmp; - /* Put DF on broadcast mode */ - adev->df_funcs->enable_broadcast_mode(adev, true); + if (adev->cg_flags & AMD_CG_SUPPORT_DF_MGCG) { + /* Put DF on broadcast mode */ + adev->df_funcs->enable_broadcast_mode(adev, true); - if (enable && (adev->cg_flags & AMD_CG_SUPPORT_DF_MGCG)) { - tmp = RREG32_SOC15(DF, 0, mmDF_PIE_AON0_DfGlobalClkGater); - tmp &= ~DF_PIE_AON0_DfGlobalClkGater__MGCGMode_MASK; - tmp |= DF_V3_6_MGCG_ENABLE_15_CYCLE_DELAY; - WREG32_SOC15(DF, 0, mmDF_PIE_AON0_DfGlobalClkGater, tmp); - } else { - tmp = RREG32_SOC15(DF, 0, mmDF_PIE_AON0_DfGlobalClkGater); - tmp &= ~DF_PIE_AON0_DfGlobalClkGater__MGCGMode_MASK; - tmp |= DF_V3_6_MGCG_DISABLE; - WREG32_SOC15(DF, 0, mmDF_PIE_AON0_DfGlobalClkGater, tmp); - } + if (enable) { + tmp = RREG32_SOC15(DF, 0, + mmDF_PIE_AON0_DfGlobalClkGater); + tmp &= ~DF_PIE_AON0_DfGlobalClkGater__MGCGMode_MASK; + tmp |= DF_V3_6_MGCG_ENABLE_15_CYCLE_DELAY; + WREG32_SOC15(DF, 0, + mmDF_PIE_AON0_DfGlobalClkGater, tmp); + } else { + tmp = RREG32_SOC15(DF, 0, + mmDF_PIE_AON0_DfGlobalClkGater); + tmp &= ~DF_PIE_AON0_DfGlobalClkGater__MGCGMode_MASK; + tmp |= DF_V3_6_MGCG_DISABLE; + WREG32_SOC15(DF, 0, + mmDF_PIE_AON0_DfGlobalClkGater, tmp); + } - /* Exit broadcast mode */ - adev->df_funcs->enable_broadcast_mode(adev, false); + /* Exit broadcast mode */ + adev->df_funcs->enable_broadcast_mode(adev, false); + } } static void df_v3_6_get_clockgating_state(struct amdgpu_device *adev, diff -Nru linux-4.19.87/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c linux-4.19.98/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c --- linux-4.19.87/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c 2020-01-23 07:21:39.000000000 +0000 @@ -6405,7 +6405,23 @@ bool write64bit = flags & AMDGPU_FENCE_FLAG_64BIT; bool int_sel = flags & AMDGPU_FENCE_FLAG_INT; - /* EVENT_WRITE_EOP - flush caches, send int */ + /* Workaround for cache flush problems. First send a dummy EOP + * event down the pipe with seq one below. + */ + amdgpu_ring_write(ring, PACKET3(PACKET3_EVENT_WRITE_EOP, 4)); + amdgpu_ring_write(ring, (EOP_TCL1_ACTION_EN | + EOP_TC_ACTION_EN | + EOP_TC_WB_ACTION_EN | + EVENT_TYPE(CACHE_FLUSH_AND_INV_TS_EVENT) | + EVENT_INDEX(5))); + amdgpu_ring_write(ring, addr & 0xfffffffc); + amdgpu_ring_write(ring, (upper_32_bits(addr) & 0xffff) | + DATA_SEL(1) | INT_SEL(0)); + amdgpu_ring_write(ring, lower_32_bits(seq - 1)); + amdgpu_ring_write(ring, upper_32_bits(seq - 1)); + + /* Then send the real EOP event down the pipe: + * EVENT_WRITE_EOP - flush caches, send int */ amdgpu_ring_write(ring, PACKET3(PACKET3_EVENT_WRITE_EOP, 4)); amdgpu_ring_write(ring, (EOP_TCL1_ACTION_EN | EOP_TC_ACTION_EN | @@ -7154,7 +7170,7 @@ 5 + /* COND_EXEC */ 7 + /* PIPELINE_SYNC */ VI_FLUSH_GPU_TLB_NUM_WREG * 5 + 9 + /* VM_FLUSH */ - 8 + /* FENCE for VM_FLUSH */ + 12 + /* FENCE for VM_FLUSH */ 20 + /* GDS switch */ 4 + /* double SWITCH_BUFFER, the first COND_EXEC jump to the place just @@ -7166,7 +7182,7 @@ 31 + /* DE_META */ 3 + /* CNTX_CTRL */ 5 + /* HDP_INVL */ - 8 + 8 + /* FENCE x2 */ + 12 + 12 + /* FENCE x2 */ 2, /* SWITCH_BUFFER */ .emit_ib_size = 4, /* gfx_v8_0_ring_emit_ib_gfx */ .emit_ib = gfx_v8_0_ring_emit_ib_gfx, diff -Nru linux-4.19.87/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c linux-4.19.98/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c --- linux-4.19.87/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c 2020-01-23 07:21:39.000000000 +0000 @@ -2187,7 +2187,8 @@ * And it's needed by gfxoff feature. */ if (adev->gfx.rlc.is_rlc_v2_1) { - gfx_v9_1_init_rlc_save_restore_list(adev); + if (adev->asic_type == CHIP_VEGA12) + gfx_v9_1_init_rlc_save_restore_list(adev); gfx_v9_0_enable_save_restore_machine(adev); } diff -Nru linux-4.19.87/drivers/gpu/drm/amd/amdgpu/si_ih.c linux-4.19.98/drivers/gpu/drm/amd/amdgpu/si_ih.c --- linux-4.19.87/drivers/gpu/drm/amd/amdgpu/si_ih.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/amd/amdgpu/si_ih.c 2020-01-23 07:21:39.000000000 +0000 @@ -62,7 +62,8 @@ u64 wptr_off; si_ih_disable_interrupts(adev); - WREG32(INTERRUPT_CNTL2, adev->irq.ih.gpu_addr >> 8); + /* set dummy read address to dummy page address */ + WREG32(INTERRUPT_CNTL2, adev->dummy_page_addr >> 8); interrupt_cntl = RREG32(INTERRUPT_CNTL); interrupt_cntl &= ~IH_DUMMY_RD_OVERRIDE; interrupt_cntl &= ~IH_REQ_NONSNOOP_EN; diff -Nru linux-4.19.87/drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c linux-4.19.98/drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c --- linux-4.19.87/drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c 2020-01-23 07:21:39.000000000 +0000 @@ -62,6 +62,11 @@ } kfd->ih_wq = alloc_workqueue("KFD IH", WQ_HIGHPRI, 1); + if (unlikely(!kfd->ih_wq)) { + kfifo_free(&kfd->ih_fifo); + dev_err(kfd_chardev(), "Failed to allocate KFD IH workqueue\n"); + return -ENOMEM; + } spin_lock_init(&kfd->interrupt_lock); INIT_WORK(&kfd->interrupt_work, interrupt_wq); diff -Nru linux-4.19.87/drivers/gpu/drm/amd/display/dc/core/dc_link.c linux-4.19.98/drivers/gpu/drm/amd/display/dc/core/dc_link.c --- linux-4.19.87/drivers/gpu/drm/amd/display/dc/core/dc_link.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/amd/display/dc/core/dc_link.c 2020-01-23 07:21:39.000000000 +0000 @@ -348,7 +348,7 @@ if (GPIO_RESULT_OK != dal_ddc_open( ddc, GPIO_MODE_INPUT, GPIO_DDC_CONFIG_TYPE_MODE_I2C)) { - dal_gpio_destroy_ddc(&ddc); + dal_ddc_close(ddc); return present; } @@ -1950,7 +1950,7 @@ break; } - if (dongle_caps->dongle_type != DISPLAY_DONGLE_DP_HDMI_CONVERTER || + if (dpcd_caps->dongle_type != DISPLAY_DONGLE_DP_HDMI_CONVERTER || dongle_caps->extendedCapValid == false) return true; diff -Nru linux-4.19.87/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c linux-4.19.98/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c --- linux-4.19.87/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c 2020-01-23 07:21:39.000000000 +0000 @@ -2172,6 +2172,7 @@ uint8_t data, struct dc_link *link) { union dp_downstream_port_present ds_port = { .byte = data }; + memset(&link->dpcd_caps.dongle_caps, 0, sizeof(link->dpcd_caps.dongle_caps)); /* decode converter info*/ if (!ds_port.fields.PORT_PRESENT) { diff -Nru linux-4.19.87/drivers/gpu/drm/arm/malidp_mw.c linux-4.19.98/drivers/gpu/drm/arm/malidp_mw.c --- linux-4.19.87/drivers/gpu/drm/arm/malidp_mw.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/arm/malidp_mw.c 2020-01-23 07:21:39.000000000 +0000 @@ -55,7 +55,7 @@ return MODE_OK; } -const struct drm_connector_helper_funcs malidp_mw_connector_helper_funcs = { +static const struct drm_connector_helper_funcs malidp_mw_connector_helper_funcs = { .get_modes = malidp_mw_connector_get_modes, .mode_valid = malidp_mw_connector_mode_valid, }; diff -Nru linux-4.19.87/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c linux-4.19.98/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c --- linux-4.19.87/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c 2020-01-23 07:21:39.000000000 +0000 @@ -382,7 +382,7 @@ cfg |= ATMEL_HLCDC_LAYER_LAEN; else cfg |= ATMEL_HLCDC_LAYER_GAEN | - ATMEL_HLCDC_LAYER_GA(state->base.alpha >> 8); + ATMEL_HLCDC_LAYER_GA(state->base.alpha); } if (state->disc_h && state->disc_w) diff -Nru linux-4.19.87/drivers/gpu/drm/bridge/analogix-anx78xx.c linux-4.19.98/drivers/gpu/drm/bridge/analogix-anx78xx.c --- linux-4.19.87/drivers/gpu/drm/bridge/analogix-anx78xx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/bridge/analogix-anx78xx.c 2020-01-23 07:21:39.000000000 +0000 @@ -725,7 +725,9 @@ /* 1.0V digital core power regulator */ pdata->dvdd10 = devm_regulator_get(dev, "dvdd10"); if (IS_ERR(pdata->dvdd10)) { - DRM_ERROR("DVDD10 regulator not found\n"); + if (PTR_ERR(pdata->dvdd10) != -EPROBE_DEFER) + DRM_ERROR("DVDD10 regulator not found\n"); + return PTR_ERR(pdata->dvdd10); } @@ -1341,7 +1343,9 @@ err = anx78xx_init_pdata(anx78xx); if (err) { - DRM_ERROR("Failed to initialize pdata: %d\n", err); + if (err != -EPROBE_DEFER) + DRM_ERROR("Failed to initialize pdata: %d\n", err); + return err; } diff -Nru linux-4.19.87/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c linux-4.19.98/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c --- linux-4.19.87/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c 2020-01-23 07:21:39.000000000 +0000 @@ -39,6 +39,7 @@ #include +#define DDC_CI_ADDR 0x37 #define DDC_SEGMENT_ADDR 0x30 #define HDMI_EDID_LEN 512 @@ -320,6 +321,15 @@ u8 addr = msgs[0].addr; int i, ret = 0; + if (addr == DDC_CI_ADDR) + /* + * The internal I2C controller does not support the multi-byte + * read and write operations needed for DDC/CI. + * TOFIX: Blacklist the DDC/CI address until we filter out + * unsupported I2C operations. + */ + return -EOPNOTSUPP; + dev_dbg(hdmi->dev, "xfer: num: %d, addr: %#x\n", num, addr); for (i = 0; i < num; i++) { @@ -1747,7 +1757,7 @@ /* HDMI Initialization Step E - Configure audio */ hdmi_clk_regenerator_update_pixel_clock(hdmi); - hdmi_enable_audio_clk(hdmi, true); + hdmi_enable_audio_clk(hdmi, hdmi->audio_enable); } /* not for DVI mode */ diff -Nru linux-4.19.87/drivers/gpu/drm/drm_dp_mst_topology.c linux-4.19.98/drivers/gpu/drm/drm_dp_mst_topology.c --- linux-4.19.87/drivers/gpu/drm/drm_dp_mst_topology.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/drm_dp_mst_topology.c 2020-01-23 07:21:39.000000000 +0000 @@ -274,7 +274,7 @@ memcpy(&buf[idx], req->u.i2c_read.transactions[i].bytes, req->u.i2c_read.transactions[i].num_bytes); idx += req->u.i2c_read.transactions[i].num_bytes; - buf[idx] = (req->u.i2c_read.transactions[i].no_stop_bit & 0x1) << 5; + buf[idx] = (req->u.i2c_read.transactions[i].no_stop_bit & 0x1) << 4; buf[idx] |= (req->u.i2c_read.transactions[i].i2c_transaction_delay & 0xf); idx++; } @@ -1582,7 +1582,11 @@ if (ret != 1) DRM_DEBUG_KMS("failed to send msg in q %d\n", ret); - txmsg->dst->tx_slots[txmsg->seqno] = NULL; + if (txmsg->seqno != -1) { + WARN_ON((unsigned int)txmsg->seqno > + ARRAY_SIZE(txmsg->dst->tx_slots)); + txmsg->dst->tx_slots[txmsg->seqno] = NULL; + } } static void drm_dp_queue_down_tx(struct drm_dp_mst_topology_mgr *mgr, diff -Nru linux-4.19.87/drivers/gpu/drm/drm_fb_helper.c linux-4.19.98/drivers/gpu/drm/drm_fb_helper.c --- linux-4.19.87/drivers/gpu/drm/drm_fb_helper.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/drm_fb_helper.c 2020-01-23 07:21:39.000000000 +0000 @@ -1702,7 +1702,7 @@ * Changes struct fb_var_screeninfo are currently not pushed back * to KMS, hence fail if different settings are requested. */ - if (var->bits_per_pixel != fb->format->cpp[0] * 8 || + if (var->bits_per_pixel > fb->format->cpp[0] * 8 || var->xres > fb->width || var->yres > fb->height || var->xres_virtual > fb->width || var->yres_virtual > fb->height) { DRM_DEBUG("fb requested width/height/bpp can't fit in current fb " @@ -1728,6 +1728,11 @@ } /* + * Likewise, bits_per_pixel should be rounded up to a supported value. + */ + var->bits_per_pixel = fb->format->cpp[0] * 8; + + /* * drm fbdev emulation doesn't support changing the pixel format at all, * so reject all pixel format changing requests. */ diff -Nru linux-4.19.87/drivers/gpu/drm/drm_property.c linux-4.19.98/drivers/gpu/drm/drm_property.c --- linux-4.19.87/drivers/gpu/drm/drm_property.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/drm_property.c 2020-01-23 07:21:39.000000000 +0000 @@ -556,7 +556,7 @@ struct drm_property_blob *blob; int ret; - if (!length || length > ULONG_MAX - sizeof(struct drm_property_blob)) + if (!length || length > INT_MAX - sizeof(struct drm_property_blob)) return ERR_PTR(-EINVAL); blob = kvzalloc(sizeof(struct drm_property_blob)+length, GFP_KERNEL); diff -Nru linux-4.19.87/drivers/gpu/drm/drm_vblank.c linux-4.19.98/drivers/gpu/drm/drm_vblank.c --- linux-4.19.87/drivers/gpu/drm/drm_vblank.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/drm_vblank.c 2020-01-23 07:21:39.000000000 +0000 @@ -1572,7 +1572,7 @@ unsigned int flags, pipe, high_pipe; if (!dev->irq_enabled) - return -EINVAL; + return -EOPNOTSUPP; if (vblwait->request.type & _DRM_VBLANK_SIGNAL) return -EINVAL; @@ -1813,7 +1813,7 @@ return -EINVAL; if (!dev->irq_enabled) - return -EINVAL; + return -EOPNOTSUPP; crtc = drm_crtc_find(dev, file_priv, get_seq->crtc_id); if (!crtc) @@ -1871,7 +1871,7 @@ return -EINVAL; if (!dev->irq_enabled) - return -EINVAL; + return -EOPNOTSUPP; crtc = drm_crtc_find(dev, file_priv, queue_seq->crtc_id); if (!crtc) diff -Nru linux-4.19.87/drivers/gpu/drm/exynos/exynos_drm_gsc.c linux-4.19.98/drivers/gpu/drm/exynos/exynos_drm_gsc.c --- linux-4.19.87/drivers/gpu/drm/exynos/exynos_drm_gsc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/exynos/exynos_drm_gsc.c 2020-01-23 07:21:39.000000000 +0000 @@ -1292,6 +1292,7 @@ { struct device *dev = &pdev->dev; + component_del(dev, &gsc_component_ops); pm_runtime_dont_use_autosuspend(dev); pm_runtime_disable(dev); diff -Nru linux-4.19.87/drivers/gpu/drm/gma500/oaktrail_crtc.c linux-4.19.98/drivers/gpu/drm/gma500/oaktrail_crtc.c --- linux-4.19.87/drivers/gpu/drm/gma500/oaktrail_crtc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/gma500/oaktrail_crtc.c 2020-01-23 07:21:39.000000000 +0000 @@ -139,6 +139,7 @@ s32 freq_error, min_error = 100000; memset(best_clock, 0, sizeof(*best_clock)); + memset(&clock, 0, sizeof(clock)); for (clock.m = limit->m.min; clock.m <= limit->m.max; clock.m++) { for (clock.n = limit->n.min; clock.n <= limit->n.max; @@ -195,6 +196,7 @@ int err = target; memset(best_clock, 0, sizeof(*best_clock)); + memset(&clock, 0, sizeof(clock)); for (clock.m = limit->m.min; clock.m <= limit->m.max; clock.m++) { for (clock.p1 = limit->p1.min; clock.p1 <= limit->p1.max; diff -Nru linux-4.19.87/drivers/gpu/drm/i810/i810_dma.c linux-4.19.98/drivers/gpu/drm/i810/i810_dma.c --- linux-4.19.87/drivers/gpu/drm/i810/i810_dma.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/i810/i810_dma.c 2020-01-23 07:21:39.000000000 +0000 @@ -721,7 +721,7 @@ if (nbox > I810_NR_SAREA_CLIPRECTS) nbox = I810_NR_SAREA_CLIPRECTS; - if (used > 4 * 1024) + if (used < 0 || used > 4 * 1024) used = 0; if (sarea_priv->dirty) @@ -1041,7 +1041,7 @@ if (u != I810_BUF_CLIENT) DRM_DEBUG("MC found buffer that isn't mine!\n"); - if (used > 4 * 1024) + if (used < 0 || used > 4 * 1024) used = 0; sarea_priv->dirty = 0x7f; diff -Nru linux-4.19.87/drivers/gpu/drm/i915/i915_gem_context.c linux-4.19.98/drivers/gpu/drm/i915/i915_gem_context.c --- linux-4.19.87/drivers/gpu/drm/i915/i915_gem_context.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/i915/i915_gem_context.c 2020-01-23 07:21:39.000000000 +0000 @@ -770,18 +770,19 @@ if (args->ctx_id == DEFAULT_CONTEXT_HANDLE) return -ENOENT; + ret = i915_mutex_lock_interruptible(dev); + if (ret) + return ret; + ctx = i915_gem_context_lookup(file_priv, args->ctx_id); - if (!ctx) + if (!ctx) { + mutex_unlock(&dev->struct_mutex); return -ENOENT; - - ret = mutex_lock_interruptible(&dev->struct_mutex); - if (ret) - goto out; + } __destroy_hw_context(ctx, file_priv); mutex_unlock(&dev->struct_mutex); -out: i915_gem_context_put(ctx); return 0; } diff -Nru linux-4.19.87/drivers/gpu/drm/i915/intel_lrc.c linux-4.19.98/drivers/gpu/drm/i915/intel_lrc.c --- linux-4.19.87/drivers/gpu/drm/i915/intel_lrc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/i915/intel_lrc.c 2020-01-23 07:21:39.000000000 +0000 @@ -1562,6 +1562,15 @@ /* WaFlushCoherentL3CacheLinesAtContextSwitch:skl,bxt,glk */ batch = gen8_emit_flush_coherentl3_wa(engine, batch); + /* WaClearSlmSpaceAtContextSwitch:skl,bxt,kbl,glk,cfl */ + batch = gen8_emit_pipe_control(batch, + PIPE_CONTROL_FLUSH_L3 | + PIPE_CONTROL_GLOBAL_GTT_IVB | + PIPE_CONTROL_CS_STALL | + PIPE_CONTROL_QW_WRITE, + i915_ggtt_offset(engine->scratch) + + 2 * CACHELINE_BYTES); + batch = emit_lri(batch, lri, ARRAY_SIZE(lri)); /* WaClearSlmSpaceAtContextSwitch:kbl */ diff -Nru linux-4.19.87/drivers/gpu/drm/i915/selftests/i915_random.h linux-4.19.98/drivers/gpu/drm/i915/selftests/i915_random.h --- linux-4.19.87/drivers/gpu/drm/i915/selftests/i915_random.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/i915/selftests/i915_random.h 2020-01-23 07:21:39.000000000 +0000 @@ -25,6 +25,7 @@ #ifndef __I915_SELFTESTS_RANDOM_H__ #define __I915_SELFTESTS_RANDOM_H__ +#include #include #include "../i915_selftest.h" diff -Nru linux-4.19.87/drivers/gpu/drm/meson/meson_venc_cvbs.c linux-4.19.98/drivers/gpu/drm/meson/meson_venc_cvbs.c --- linux-4.19.87/drivers/gpu/drm/meson/meson_venc_cvbs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/meson/meson_venc_cvbs.c 2020-01-23 07:21:39.000000000 +0000 @@ -75,6 +75,25 @@ }, }; +static const struct meson_cvbs_mode * +meson_cvbs_get_mode(const struct drm_display_mode *req_mode) +{ + int i; + + for (i = 0; i < MESON_CVBS_MODES_COUNT; ++i) { + struct meson_cvbs_mode *meson_mode = &meson_cvbs_modes[i]; + + if (drm_mode_match(req_mode, &meson_mode->mode, + DRM_MODE_MATCH_TIMINGS | + DRM_MODE_MATCH_CLOCK | + DRM_MODE_MATCH_FLAGS | + DRM_MODE_MATCH_3D_FLAGS)) + return meson_mode; + } + + return NULL; +} + /* Connector */ static void meson_cvbs_connector_destroy(struct drm_connector *connector) @@ -147,14 +166,8 @@ struct drm_crtc_state *crtc_state, struct drm_connector_state *conn_state) { - int i; - - for (i = 0; i < MESON_CVBS_MODES_COUNT; ++i) { - struct meson_cvbs_mode *meson_mode = &meson_cvbs_modes[i]; - - if (drm_mode_equal(&crtc_state->mode, &meson_mode->mode)) - return 0; - } + if (meson_cvbs_get_mode(&crtc_state->mode)) + return 0; return -EINVAL; } @@ -192,24 +205,17 @@ struct drm_display_mode *mode, struct drm_display_mode *adjusted_mode) { + const struct meson_cvbs_mode *meson_mode = meson_cvbs_get_mode(mode); struct meson_venc_cvbs *meson_venc_cvbs = encoder_to_meson_venc_cvbs(encoder); struct meson_drm *priv = meson_venc_cvbs->priv; - int i; - for (i = 0; i < MESON_CVBS_MODES_COUNT; ++i) { - struct meson_cvbs_mode *meson_mode = &meson_cvbs_modes[i]; + if (meson_mode) { + meson_venci_cvbs_mode_set(priv, meson_mode->enci); - if (drm_mode_equal(mode, &meson_mode->mode)) { - meson_venci_cvbs_mode_set(priv, - meson_mode->enci); - - /* Setup 27MHz vclk2 for ENCI and VDAC */ - meson_vclk_setup(priv, MESON_VCLK_TARGET_CVBS, - MESON_VCLK_CVBS, MESON_VCLK_CVBS, - MESON_VCLK_CVBS, true); - break; - } + /* Setup 27MHz vclk2 for ENCI and VDAC */ + meson_vclk_setup(priv, MESON_VCLK_TARGET_CVBS, MESON_VCLK_CVBS, + MESON_VCLK_CVBS, MESON_VCLK_CVBS, true); } } diff -Nru linux-4.19.87/drivers/gpu/drm/msm/msm_debugfs.c linux-4.19.98/drivers/gpu/drm/msm/msm_debugfs.c --- linux-4.19.87/drivers/gpu/drm/msm/msm_debugfs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/msm/msm_debugfs.c 2020-01-23 07:21:39.000000000 +0000 @@ -53,12 +53,8 @@ struct msm_gpu_show_priv *show_priv = m->private; struct msm_drm_private *priv = show_priv->dev->dev_private; struct msm_gpu *gpu = priv->gpu; - int ret; - - ret = mutex_lock_interruptible(&show_priv->dev->struct_mutex); - if (ret) - return ret; + mutex_lock(&show_priv->dev->struct_mutex); gpu->funcs->gpu_state_put(show_priv->state); mutex_unlock(&show_priv->dev->struct_mutex); diff -Nru linux-4.19.87/drivers/gpu/drm/msm/msm_gpu.c linux-4.19.98/drivers/gpu/drm/msm/msm_gpu.c --- linux-4.19.87/drivers/gpu/drm/msm/msm_gpu.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/msm/msm_gpu.c 2020-01-23 07:21:39.000000000 +0000 @@ -25,6 +25,7 @@ #include #include #include +#include /* * Power Management: diff -Nru linux-4.19.87/drivers/gpu/drm/nouveau/nouveau_connector.h linux-4.19.98/drivers/gpu/drm/nouveau/nouveau_connector.h --- linux-4.19.87/drivers/gpu/drm/nouveau/nouveau_connector.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/nouveau/nouveau_connector.h 2020-01-23 07:21:39.000000000 +0000 @@ -29,6 +29,7 @@ #include +#include #include #include #include @@ -37,6 +38,60 @@ struct nvkm_i2c_port; +#define nouveau_conn_atom(p) \ + container_of((p), struct nouveau_conn_atom, state) + +struct nouveau_conn_atom { + struct drm_connector_state state; + + struct { + /* The enum values specifically defined here match nv50/gf119 + * hw values, and the code relies on this. + */ + enum { + DITHERING_MODE_OFF = 0x00, + DITHERING_MODE_ON = 0x01, + DITHERING_MODE_DYNAMIC2X2 = 0x10 | DITHERING_MODE_ON, + DITHERING_MODE_STATIC2X2 = 0x18 | DITHERING_MODE_ON, + DITHERING_MODE_TEMPORAL = 0x20 | DITHERING_MODE_ON, + DITHERING_MODE_AUTO + } mode; + enum { + DITHERING_DEPTH_6BPC = 0x00, + DITHERING_DEPTH_8BPC = 0x02, + DITHERING_DEPTH_AUTO + } depth; + } dither; + + struct { + int mode; /* DRM_MODE_SCALE_* */ + struct { + enum { + UNDERSCAN_OFF, + UNDERSCAN_ON, + UNDERSCAN_AUTO, + } mode; + u32 hborder; + u32 vborder; + } underscan; + bool full; + } scaler; + + struct { + int color_vibrance; + int vibrant_hue; + } procamp; + + union { + struct { + bool dither:1; + bool scaler:1; + bool procamp:1; + }; + u8 mask; + } set; +}; + struct nouveau_connector { struct drm_connector base; enum dcb_connector_type type; @@ -111,61 +166,6 @@ extern int nouveau_duallink; extern int nouveau_hdmimhz; -#include -#define nouveau_conn_atom(p) \ - container_of((p), struct nouveau_conn_atom, state) - -struct nouveau_conn_atom { - struct drm_connector_state state; - - struct { - /* The enum values specifically defined here match nv50/gf119 - * hw values, and the code relies on this. - */ - enum { - DITHERING_MODE_OFF = 0x00, - DITHERING_MODE_ON = 0x01, - DITHERING_MODE_DYNAMIC2X2 = 0x10 | DITHERING_MODE_ON, - DITHERING_MODE_STATIC2X2 = 0x18 | DITHERING_MODE_ON, - DITHERING_MODE_TEMPORAL = 0x20 | DITHERING_MODE_ON, - DITHERING_MODE_AUTO - } mode; - enum { - DITHERING_DEPTH_6BPC = 0x00, - DITHERING_DEPTH_8BPC = 0x02, - DITHERING_DEPTH_AUTO - } depth; - } dither; - - struct { - int mode; /* DRM_MODE_SCALE_* */ - struct { - enum { - UNDERSCAN_OFF, - UNDERSCAN_ON, - UNDERSCAN_AUTO, - } mode; - u32 hborder; - u32 vborder; - } underscan; - bool full; - } scaler; - - struct { - int color_vibrance; - int vibrant_hue; - } procamp; - - union { - struct { - bool dither:1; - bool scaler:1; - bool procamp:1; - }; - u8 mask; - } set; -}; - void nouveau_conn_attach_properties(struct drm_connector *); void nouveau_conn_reset(struct drm_connector *); struct drm_connector_state * diff -Nru linux-4.19.87/drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.c linux-4.19.98/drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.c --- linux-4.19.87/drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.c 2020-01-23 07:21:39.000000000 +0000 @@ -94,6 +94,8 @@ return ret; bar_len = device->func->resource_size(device, bar_nr); + if (!bar_len) + return -ENOMEM; if (bar_nr == 3 && bar->bar2_halve) bar_len >>= 1; diff -Nru linux-4.19.87/drivers/gpu/drm/nouveau/nvkm/subdev/bar/nv50.c linux-4.19.98/drivers/gpu/drm/nouveau/nvkm/subdev/bar/nv50.c --- linux-4.19.87/drivers/gpu/drm/nouveau/nvkm/subdev/bar/nv50.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/nouveau/nvkm/subdev/bar/nv50.c 2020-01-23 07:21:39.000000000 +0000 @@ -174,6 +174,8 @@ ret = nvkm_vmm_new(device, start, limit-- - start, NULL, 0, &bar1_lock, "bar1", &bar->bar1_vmm); + if (ret) + return ret; atomic_inc(&bar->bar1_vmm->engref[NVKM_SUBDEV_BAR]); bar->bar1_vmm->debug = bar->base.subdev.debug; diff -Nru linux-4.19.87/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c linux-4.19.98/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c --- linux-4.19.87/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c 2020-01-23 07:21:39.000000000 +0000 @@ -1423,7 +1423,7 @@ void nvkm_vmm_part(struct nvkm_vmm *vmm, struct nvkm_memory *inst) { - if (inst && vmm->func->part) { + if (inst && vmm && vmm->func->part) { mutex_lock(&vmm->mutex); vmm->func->part(vmm, inst); mutex_unlock(&vmm->mutex); diff -Nru linux-4.19.87/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c linux-4.19.98/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c --- linux-4.19.87/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c 2020-01-23 07:21:39.000000000 +0000 @@ -427,6 +427,7 @@ return PTR_ERR(ts->dsi); } + drm_panel_init(&ts->base); ts->base.dev = dev; ts->base.funcs = &rpi_touchscreen_funcs; diff -Nru linux-4.19.87/drivers/gpu/drm/panel/panel-sitronix-st7789v.c linux-4.19.98/drivers/gpu/drm/panel/panel-sitronix-st7789v.c --- linux-4.19.87/drivers/gpu/drm/panel/panel-sitronix-st7789v.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/panel/panel-sitronix-st7789v.c 2020-01-23 07:21:39.000000000 +0000 @@ -380,6 +380,7 @@ spi_set_drvdata(spi, ctx); ctx->spi = spi; + drm_panel_init(&ctx->panel); ctx->panel.dev = &spi->dev; ctx->panel.funcs = &st7789v_drm_funcs; diff -Nru linux-4.19.87/drivers/gpu/drm/radeon/r100.c linux-4.19.98/drivers/gpu/drm/radeon/r100.c --- linux-4.19.87/drivers/gpu/drm/radeon/r100.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/radeon/r100.c 2020-01-23 07:21:39.000000000 +0000 @@ -1820,8 +1820,8 @@ track->textures[i].use_pitch = 1; } else { track->textures[i].use_pitch = 0; - track->textures[i].width = 1 << ((idx_value >> RADEON_TXFORMAT_WIDTH_SHIFT) & RADEON_TXFORMAT_WIDTH_MASK); - track->textures[i].height = 1 << ((idx_value >> RADEON_TXFORMAT_HEIGHT_SHIFT) & RADEON_TXFORMAT_HEIGHT_MASK); + track->textures[i].width = 1 << ((idx_value & RADEON_TXFORMAT_WIDTH_MASK) >> RADEON_TXFORMAT_WIDTH_SHIFT); + track->textures[i].height = 1 << ((idx_value & RADEON_TXFORMAT_HEIGHT_MASK) >> RADEON_TXFORMAT_HEIGHT_SHIFT); } if (idx_value & RADEON_TXFORMAT_CUBIC_MAP_ENABLE) track->textures[i].tex_coord_type = 2; diff -Nru linux-4.19.87/drivers/gpu/drm/radeon/r200.c linux-4.19.98/drivers/gpu/drm/radeon/r200.c --- linux-4.19.87/drivers/gpu/drm/radeon/r200.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/radeon/r200.c 2020-01-23 07:21:39.000000000 +0000 @@ -476,8 +476,8 @@ track->textures[i].use_pitch = 1; } else { track->textures[i].use_pitch = 0; - track->textures[i].width = 1 << ((idx_value >> RADEON_TXFORMAT_WIDTH_SHIFT) & RADEON_TXFORMAT_WIDTH_MASK); - track->textures[i].height = 1 << ((idx_value >> RADEON_TXFORMAT_HEIGHT_SHIFT) & RADEON_TXFORMAT_HEIGHT_MASK); + track->textures[i].width = 1 << ((idx_value & RADEON_TXFORMAT_WIDTH_MASK) >> RADEON_TXFORMAT_WIDTH_SHIFT); + track->textures[i].height = 1 << ((idx_value & RADEON_TXFORMAT_HEIGHT_MASK) >> RADEON_TXFORMAT_HEIGHT_SHIFT); } if (idx_value & R200_TXFORMAT_LOOKUP_DISABLE) track->textures[i].lookup_disable = true; diff -Nru linux-4.19.87/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c linux-4.19.98/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c --- linux-4.19.87/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c 2020-01-23 07:21:39.000000000 +0000 @@ -651,8 +651,6 @@ struct sun4i_hdmi *hdmi = dev_get_drvdata(dev); cec_unregister_adapter(hdmi->cec_adap); - drm_connector_cleanup(&hdmi->connector); - drm_encoder_cleanup(&hdmi->encoder); i2c_del_adapter(hdmi->i2c); clk_disable_unprepare(hdmi->mod_clk); clk_disable_unprepare(hdmi->bus_clk); diff -Nru linux-4.19.87/drivers/gpu/drm/sun4i/sun4i_tcon.c linux-4.19.98/drivers/gpu/drm/sun4i/sun4i_tcon.c --- linux-4.19.87/drivers/gpu/drm/sun4i/sun4i_tcon.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/sun4i/sun4i_tcon.c 2020-01-23 07:21:39.000000000 +0000 @@ -423,7 +423,7 @@ WARN_ON(!tcon->quirks->has_channel_0); - tcon->dclk_min_div = 6; + tcon->dclk_min_div = tcon->quirks->dclk_min_div; tcon->dclk_max_div = 127; sun4i_tcon0_mode_set_common(tcon, mode); @@ -1249,12 +1249,14 @@ static const struct sun4i_tcon_quirks sun4i_a10_quirks = { .has_channel_0 = true, .has_channel_1 = true, + .dclk_min_div = 4, .set_mux = sun4i_a10_tcon_set_mux, }; static const struct sun4i_tcon_quirks sun5i_a13_quirks = { .has_channel_0 = true, .has_channel_1 = true, + .dclk_min_div = 4, .set_mux = sun5i_a13_tcon_set_mux, }; @@ -1263,6 +1265,7 @@ .has_channel_1 = true, .has_lvds_alt = true, .needs_de_be_mux = true, + .dclk_min_div = 1, .set_mux = sun6i_tcon_set_mux, }; @@ -1270,11 +1273,13 @@ .has_channel_0 = true, .has_channel_1 = true, .needs_de_be_mux = true, + .dclk_min_div = 1, }; static const struct sun4i_tcon_quirks sun7i_a20_quirks = { .has_channel_0 = true, .has_channel_1 = true, + .dclk_min_div = 4, /* Same display pipeline structure as A10 */ .set_mux = sun4i_a10_tcon_set_mux, }; @@ -1282,11 +1287,13 @@ static const struct sun4i_tcon_quirks sun8i_a33_quirks = { .has_channel_0 = true, .has_lvds_alt = true, + .dclk_min_div = 1, }; static const struct sun4i_tcon_quirks sun8i_a83t_lcd_quirks = { .supports_lvds = true, .has_channel_0 = true, + .dclk_min_div = 1, }; static const struct sun4i_tcon_quirks sun8i_a83t_tv_quirks = { @@ -1295,11 +1302,13 @@ static const struct sun4i_tcon_quirks sun8i_v3s_quirks = { .has_channel_0 = true, + .dclk_min_div = 1, }; static const struct sun4i_tcon_quirks sun9i_a80_tcon_lcd_quirks = { - .has_channel_0 = true, - .needs_edp_reset = true, + .has_channel_0 = true, + .needs_edp_reset = true, + .dclk_min_div = 1, }; static const struct sun4i_tcon_quirks sun9i_a80_tcon_tv_quirks = { diff -Nru linux-4.19.87/drivers/gpu/drm/sun4i/sun4i_tcon.h linux-4.19.98/drivers/gpu/drm/sun4i/sun4i_tcon.h --- linux-4.19.87/drivers/gpu/drm/sun4i/sun4i_tcon.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/sun4i/sun4i_tcon.h 2020-01-23 07:21:39.000000000 +0000 @@ -224,6 +224,7 @@ bool needs_de_be_mux; /* sun6i needs mux to select backend */ bool needs_edp_reset; /* a80 edp reset needed for tcon0 access */ bool supports_lvds; /* Does the TCON support an LVDS output? */ + u8 dclk_min_div; /* minimum divider for TCON0 DCLK */ /* callback to handle tcon muxing options */ int (*set_mux)(struct sun4i_tcon *, const struct drm_encoder *); diff -Nru linux-4.19.87/drivers/gpu/drm/tegra/sor.c linux-4.19.98/drivers/gpu/drm/tegra/sor.c --- linux-4.19.87/drivers/gpu/drm/tegra/sor.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/tegra/sor.c 2020-01-23 07:21:39.000000000 +0000 @@ -2922,6 +2922,11 @@ * earlier */ sor->pad = TEGRA_IO_PAD_HDMI_DP0 + sor->index; + } else { + if (sor->soc->supports_edp) + sor->index = 0; + else + sor->index = 1; } return 0; diff -Nru linux-4.19.87/drivers/gpu/drm/ttm/ttm_page_alloc.c linux-4.19.98/drivers/gpu/drm/ttm/ttm_page_alloc.c --- linux-4.19.87/drivers/gpu/drm/ttm/ttm_page_alloc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/drm/ttm/ttm_page_alloc.c 2020-01-23 07:21:39.000000000 +0000 @@ -732,8 +732,8 @@ #ifdef CONFIG_TRANSPARENT_HUGEPAGE if (!(flags & TTM_PAGE_FLAG_DMA32) && (npages - i) >= HPAGE_PMD_NR) { - for (j = 0; j < HPAGE_PMD_NR; ++j) - if (p++ != pages[i + j]) + for (j = 1; j < HPAGE_PMD_NR; ++j) + if (++p != pages[i + j]) break; if (j == HPAGE_PMD_NR) @@ -767,8 +767,8 @@ if (!p) break; - for (j = 0; j < HPAGE_PMD_NR; ++j) - if (p++ != pages[i + j]) + for (j = 1; j < HPAGE_PMD_NR; ++j) + if (++p != pages[i + j]) break; if (j != HPAGE_PMD_NR) diff -Nru linux-4.19.87/drivers/gpu/host1x/hw/hw_host1x06_uclass.h linux-4.19.98/drivers/gpu/host1x/hw/hw_host1x06_uclass.h --- linux-4.19.87/drivers/gpu/host1x/hw/hw_host1x06_uclass.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/host1x/hw/hw_host1x06_uclass.h 2020-01-23 07:21:39.000000000 +0000 @@ -59,7 +59,7 @@ host1x_uclass_incr_syncpt_r() static inline u32 host1x_uclass_incr_syncpt_cond_f(u32 v) { - return (v & 0xff) << 8; + return (v & 0xff) << 10; } #define HOST1X_UCLASS_INCR_SYNCPT_COND_F(v) \ host1x_uclass_incr_syncpt_cond_f(v) diff -Nru linux-4.19.87/drivers/gpu/host1x/job.c linux-4.19.98/drivers/gpu/host1x/job.c --- linux-4.19.87/drivers/gpu/host1x/job.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/host1x/job.c 2020-01-23 07:21:39.000000000 +0000 @@ -447,7 +447,8 @@ return err; } -static inline int copy_gathers(struct host1x_job *job, struct device *dev) +static inline int copy_gathers(struct device *host, struct host1x_job *job, + struct device *dev) { struct host1x_firewall fw; size_t size = 0; @@ -470,12 +471,12 @@ * Try a non-blocking allocation from a higher priority pools first, * as awaiting for the allocation here is a major performance hit. */ - job->gather_copy_mapped = dma_alloc_wc(dev, size, &job->gather_copy, + job->gather_copy_mapped = dma_alloc_wc(host, size, &job->gather_copy, GFP_NOWAIT); /* the higher priority allocation failed, try the generic-blocking */ if (!job->gather_copy_mapped) - job->gather_copy_mapped = dma_alloc_wc(dev, size, + job->gather_copy_mapped = dma_alloc_wc(host, size, &job->gather_copy, GFP_KERNEL); if (!job->gather_copy_mapped) @@ -523,7 +524,7 @@ goto out; if (IS_ENABLED(CONFIG_TEGRA_HOST1X_FIREWALL)) { - err = copy_gathers(job, dev); + err = copy_gathers(host->dev, job, dev); if (err) goto out; } @@ -584,7 +585,7 @@ job->num_unpins = 0; if (job->gather_copy_size) - dma_free_wc(job->channel->dev, job->gather_copy_size, + dma_free_wc(host->dev, job->gather_copy_size, job->gather_copy_mapped, job->gather_copy); } EXPORT_SYMBOL(host1x_job_unpin); diff -Nru linux-4.19.87/drivers/gpu/ipu-v3/ipu-pre.c linux-4.19.98/drivers/gpu/ipu-v3/ipu-pre.c --- linux-4.19.87/drivers/gpu/ipu-v3/ipu-pre.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/gpu/ipu-v3/ipu-pre.c 2020-01-23 07:21:39.000000000 +0000 @@ -106,6 +106,7 @@ void *buffer_virt; bool in_use; unsigned int safe_window_end; + unsigned int last_bufaddr; }; static DEFINE_MUTEX(ipu_pre_list_mutex); @@ -185,6 +186,7 @@ writel(bufaddr, pre->regs + IPU_PRE_CUR_BUF); writel(bufaddr, pre->regs + IPU_PRE_NEXT_BUF); + pre->last_bufaddr = bufaddr; val = IPU_PRE_PREF_ENG_CTRL_INPUT_PIXEL_FORMAT(0) | IPU_PRE_PREF_ENG_CTRL_INPUT_ACTIVE_BPP(active_bpp) | @@ -242,7 +244,11 @@ unsigned short current_yblock; u32 val; + if (bufaddr == pre->last_bufaddr) + return; + writel(bufaddr, pre->regs + IPU_PRE_NEXT_BUF); + pre->last_bufaddr = bufaddr; do { if (time_after(jiffies, timeout)) { diff -Nru linux-4.19.87/drivers/hid/hid-core.c linux-4.19.98/drivers/hid/hid-core.c --- linux-4.19.87/drivers/hid/hid-core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/hid/hid-core.c 2020-01-23 07:21:39.000000000 +0000 @@ -212,6 +212,18 @@ } /* + * Concatenate usage which defines 16 bits or less with the + * currently defined usage page to form a 32 bit usage + */ + +static void complete_usage(struct hid_parser *parser, unsigned int index) +{ + parser->local.usage[index] &= 0xFFFF; + parser->local.usage[index] |= + (parser->global.usage_page & 0xFFFF) << 16; +} + +/* * Add a usage to the temporary parser table. */ @@ -222,6 +234,14 @@ return -1; } parser->local.usage[parser->local.usage_index] = usage; + + /* + * If Usage item only includes usage id, concatenate it with + * currently defined usage page + */ + if (size <= 2) + complete_usage(parser, parser->local.usage_index); + parser->local.usage_size[parser->local.usage_index] = size; parser->local.collection_index[parser->local.usage_index] = parser->collection_stack_ptr ? @@ -268,6 +288,12 @@ offset = report->size; report->size += parser->global.report_size * parser->global.report_count; + /* Total size check: Allow for possible report index byte */ + if (report->size > (HID_MAX_BUFFER_SIZE - 1) << 3) { + hid_err(parser->device, "report is too long\n"); + return -1; + } + if (!parser->local.usage_index) /* Ignore padding fields */ return 0; @@ -542,13 +568,32 @@ * usage value." */ -static void hid_concatenate_usage_page(struct hid_parser *parser) +static void hid_concatenate_last_usage_page(struct hid_parser *parser) { int i; + unsigned int usage_page; + unsigned int current_page; + + if (!parser->local.usage_index) + return; + + usage_page = parser->global.usage_page; + + /* + * Concatenate usage page again only if last declared Usage Page + * has not been already used in previous usages concatenation + */ + for (i = parser->local.usage_index - 1; i >= 0; i--) { + if (parser->local.usage_size[i] > 2) + /* Ignore extended usages */ + continue; + + current_page = parser->local.usage[i] >> 16; + if (current_page == usage_page) + break; - for (i = 0; i < parser->local.usage_index; i++) - if (parser->local.usage_size[i] <= 2) - parser->local.usage[i] += parser->global.usage_page << 16; + complete_usage(parser, i); + } } /* @@ -560,7 +605,7 @@ __u32 data; int ret; - hid_concatenate_usage_page(parser); + hid_concatenate_last_usage_page(parser); data = item_udata(item); @@ -741,6 +786,10 @@ if (usage == 0xff0000c5 && parser->global.report_count == 256 && parser->global.report_size == 8) parser->scan_flags |= HID_SCAN_FLAG_MT_WIN_8; + + if (usage == 0xff0000c6 && parser->global.report_count == 1 && + parser->global.report_size == 8) + parser->scan_flags |= HID_SCAN_FLAG_MT_WIN_8; } static void hid_scan_collection(struct hid_parser *parser, unsigned type) @@ -771,7 +820,7 @@ __u32 data; int i; - hid_concatenate_usage_page(parser); + hid_concatenate_last_usage_page(parser); data = item_udata(item); diff -Nru linux-4.19.87/drivers/hid/hid-ids.h linux-4.19.98/drivers/hid/hid-ids.h --- linux-4.19.87/drivers/hid/hid-ids.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/hid/hid-ids.h 2020-01-23 07:21:39.000000000 +0000 @@ -563,6 +563,7 @@ #define USB_PRODUCT_ID_HP_PIXART_OEM_USB_OPTICAL_MOUSE_094A 0x094a #define USB_PRODUCT_ID_HP_PIXART_OEM_USB_OPTICAL_MOUSE_0941 0x0941 #define USB_PRODUCT_ID_HP_PIXART_OEM_USB_OPTICAL_MOUSE_0641 0x0641 +#define USB_PRODUCT_ID_HP_PIXART_OEM_USB_OPTICAL_MOUSE_1f4a 0x1f4a #define USB_VENDOR_ID_HUION 0x256c #define USB_DEVICE_ID_HUION_TABLET 0x006e diff -Nru linux-4.19.87/drivers/hid/hid-input.c linux-4.19.98/drivers/hid/hid-input.c --- linux-4.19.87/drivers/hid/hid-input.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/hid/hid-input.c 2020-01-23 07:21:39.000000000 +0000 @@ -1125,9 +1125,15 @@ } mapped: - if (device->driver->input_mapped && device->driver->input_mapped(device, - hidinput, field, usage, &bit, &max) < 0) - goto ignore; + if (device->driver->input_mapped && + device->driver->input_mapped(device, hidinput, field, usage, + &bit, &max) < 0) { + /* + * The driver indicated that no further generic handling + * of the usage is desired. + */ + return; + } set_bit(usage->type, input->evbit); @@ -1208,9 +1214,11 @@ set_bit(MSC_SCAN, input->mscbit); } -ignore: return; +ignore: + usage->type = 0; + usage->code = 0; } void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct hid_usage *usage, __s32 value) diff -Nru linux-4.19.87/drivers/hid/hid-logitech-hidpp.c linux-4.19.98/drivers/hid/hid-logitech-hidpp.c --- linux-4.19.87/drivers/hid/hid-logitech-hidpp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/hid/hid-logitech-hidpp.c 2020-01-23 07:21:39.000000000 +0000 @@ -978,6 +978,9 @@ ret = hidpp_send_fap_command_sync(hidpp, feature_index, CMD_BATTERY_LEVEL_STATUS_GET_BATTERY_LEVEL_STATUS, NULL, 0, &response); + /* Ignore these intermittent errors */ + if (ret == HIDPP_ERROR_RESOURCE_ERROR) + return -EIO; if (ret > 0) { hid_err(hidpp->hid_dev, "%s: received protocol error 0x%02x\n", __func__, ret); diff -Nru linux-4.19.87/drivers/hid/hid-quirks.c linux-4.19.98/drivers/hid/hid-quirks.c --- linux-4.19.87/drivers/hid/hid-quirks.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/hid/hid-quirks.c 2020-01-23 07:21:39.000000000 +0000 @@ -96,6 +96,7 @@ { HID_USB_DEVICE(USB_VENDOR_ID_HP, USB_PRODUCT_ID_HP_PIXART_OEM_USB_OPTICAL_MOUSE_094A), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_HP, USB_PRODUCT_ID_HP_PIXART_OEM_USB_OPTICAL_MOUSE_0941), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_HP, USB_PRODUCT_ID_HP_PIXART_OEM_USB_OPTICAL_MOUSE_0641), HID_QUIRK_ALWAYS_POLL }, + { HID_USB_DEVICE(USB_VENDOR_ID_HP, USB_PRODUCT_ID_HP_PIXART_OEM_USB_OPTICAL_MOUSE_1f4a), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_IDEACOM, USB_DEVICE_ID_IDEACOM_IDC6680), HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_INNOMEDIA, USB_DEVICE_ID_INNEX_GENESIS_ATARI), HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_M610X), HID_QUIRK_MULTI_INPUT }, diff -Nru linux-4.19.87/drivers/hid/hid-rmi.c linux-4.19.98/drivers/hid/hid-rmi.c --- linux-4.19.87/drivers/hid/hid-rmi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/hid/hid-rmi.c 2020-01-23 07:21:39.000000000 +0000 @@ -737,7 +737,8 @@ { struct rmi_data *hdata = hid_get_drvdata(hdev); - if (hdata->device_flags & RMI_DEVICE) { + if ((hdata->device_flags & RMI_DEVICE) + && test_bit(RMI_STARTED, &hdata->flags)) { clear_bit(RMI_STARTED, &hdata->flags); cancel_work_sync(&hdata->reset_work); rmi_unregister_transport_device(&hdata->xport); diff -Nru linux-4.19.87/drivers/hid/hidraw.c linux-4.19.98/drivers/hid/hidraw.c --- linux-4.19.87/drivers/hid/hidraw.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/hid/hidraw.c 2020-01-23 07:21:39.000000000 +0000 @@ -257,13 +257,14 @@ static __poll_t hidraw_poll(struct file *file, poll_table *wait) { struct hidraw_list *list = file->private_data; + __poll_t mask = EPOLLOUT | EPOLLWRNORM; /* hidraw is always writable */ poll_wait(file, &list->hidraw->wait, wait); if (list->head != list->tail) - return EPOLLIN | EPOLLRDNORM; + mask |= EPOLLIN | EPOLLRDNORM; if (!list->hidraw->exist) - return EPOLLERR | EPOLLHUP; - return 0; + mask |= EPOLLERR | EPOLLHUP; + return mask; } static int hidraw_open(struct inode *inode, struct file *file) diff -Nru linux-4.19.87/drivers/hid/i2c-hid/i2c-hid-core.c linux-4.19.98/drivers/hid/i2c-hid/i2c-hid-core.c --- linux-4.19.87/drivers/hid/i2c-hid/i2c-hid-core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/hid/i2c-hid/i2c-hid-core.c 2020-01-23 07:21:39.000000000 +0000 @@ -51,6 +51,7 @@ #define I2C_HID_QUIRK_NO_RUNTIME_PM BIT(2) #define I2C_HID_QUIRK_DELAY_AFTER_SLEEP BIT(3) #define I2C_HID_QUIRK_BOGUS_IRQ BIT(4) +#define I2C_HID_QUIRK_RESET_ON_RESUME BIT(5) /* flags */ #define I2C_HID_STARTED 0 @@ -182,6 +183,8 @@ I2C_HID_QUIRK_NO_RUNTIME_PM }, { USB_VENDOR_ID_ELAN, HID_ANY_ID, I2C_HID_QUIRK_BOGUS_IRQ }, + { USB_VENDOR_ID_ALPS_JP, HID_ANY_ID, + I2C_HID_QUIRK_RESET_ON_RESUME }, { 0, 0 } }; @@ -1290,8 +1293,15 @@ * solves "incomplete reports" on Raydium devices 2386:3118 and * 2386:4B33 and fixes various SIS touchscreens no longer sending * data after a suspend/resume. + * + * However some ALPS touchpads generate IRQ storm without reset, so + * let's still reset them here. */ - ret = i2c_hid_set_power(client, I2C_HID_PWR_ON); + if (ihid->quirks & I2C_HID_QUIRK_RESET_ON_RESUME) + ret = i2c_hid_hwreset(client); + else + ret = i2c_hid_set_power(client, I2C_HID_PWR_ON); + if (ret) return ret; diff -Nru linux-4.19.87/drivers/hid/intel-ish-hid/ishtp-hid.c linux-4.19.98/drivers/hid/intel-ish-hid/ishtp-hid.c --- linux-4.19.87/drivers/hid/intel-ish-hid/ishtp-hid.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/hid/intel-ish-hid/ishtp-hid.c 2020-01-23 07:21:39.000000000 +0000 @@ -222,7 +222,7 @@ err_hid_device: kfree(hid_data); err_hid_data: - kfree(hid); + hid_destroy_device(hid); return rv; } diff -Nru linux-4.19.87/drivers/hid/uhid.c linux-4.19.98/drivers/hid/uhid.c --- linux-4.19.87/drivers/hid/uhid.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/hid/uhid.c 2020-01-23 07:21:39.000000000 +0000 @@ -769,13 +769,14 @@ static __poll_t uhid_char_poll(struct file *file, poll_table *wait) { struct uhid_device *uhid = file->private_data; + __poll_t mask = EPOLLOUT | EPOLLWRNORM; /* uhid is always writable */ poll_wait(file, &uhid->waitq, wait); if (uhid->head != uhid->tail) - return EPOLLIN | EPOLLRDNORM; + mask |= EPOLLIN | EPOLLRDNORM; - return 0; + return mask; } static const struct file_operations uhid_fops = { diff -Nru linux-4.19.87/drivers/hid/usbhid/hiddev.c linux-4.19.98/drivers/hid/usbhid/hiddev.c --- linux-4.19.87/drivers/hid/usbhid/hiddev.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/hid/usbhid/hiddev.c 2020-01-23 07:21:39.000000000 +0000 @@ -254,12 +254,51 @@ return 0; } +static int __hiddev_open(struct hiddev *hiddev, struct file *file) +{ + struct hiddev_list *list; + int error; + + lockdep_assert_held(&hiddev->existancelock); + + list = vzalloc(sizeof(*list)); + if (!list) + return -ENOMEM; + + mutex_init(&list->thread_lock); + list->hiddev = hiddev; + + if (!hiddev->open++) { + error = hid_hw_power(hiddev->hid, PM_HINT_FULLON); + if (error < 0) + goto err_drop_count; + + error = hid_hw_open(hiddev->hid); + if (error < 0) + goto err_normal_power; + } + + spin_lock_irq(&hiddev->list_lock); + list_add_tail(&list->node, &hiddev->list); + spin_unlock_irq(&hiddev->list_lock); + + file->private_data = list; + + return 0; + +err_normal_power: + hid_hw_power(hiddev->hid, PM_HINT_NORMAL); +err_drop_count: + hiddev->open--; + vfree(list); + return error; +} + /* * open file op */ static int hiddev_open(struct inode *inode, struct file *file) { - struct hiddev_list *list; struct usb_interface *intf; struct hid_device *hid; struct hiddev *hiddev; @@ -268,66 +307,14 @@ intf = usbhid_find_interface(iminor(inode)); if (!intf) return -ENODEV; + hid = usb_get_intfdata(intf); hiddev = hid->hiddev; - if (!(list = vzalloc(sizeof(struct hiddev_list)))) - return -ENOMEM; - mutex_init(&list->thread_lock); - list->hiddev = hiddev; - file->private_data = list; - - /* - * no need for locking because the USB major number - * is shared which usbcore guards against disconnect - */ - if (list->hiddev->exist) { - if (!list->hiddev->open++) { - res = hid_hw_open(hiddev->hid); - if (res < 0) - goto bail; - } - } else { - res = -ENODEV; - goto bail; - } - - spin_lock_irq(&list->hiddev->list_lock); - list_add_tail(&list->node, &hiddev->list); - spin_unlock_irq(&list->hiddev->list_lock); - mutex_lock(&hiddev->existancelock); - /* - * recheck exist with existance lock held to - * avoid opening a disconnected device - */ - if (!list->hiddev->exist) { - res = -ENODEV; - goto bail_unlock; - } - if (!list->hiddev->open++) - if (list->hiddev->exist) { - struct hid_device *hid = hiddev->hid; - res = hid_hw_power(hid, PM_HINT_FULLON); - if (res < 0) - goto bail_unlock; - res = hid_hw_open(hid); - if (res < 0) - goto bail_normal_power; - } - mutex_unlock(&hiddev->existancelock); - return 0; -bail_normal_power: - hid_hw_power(hid, PM_HINT_NORMAL); -bail_unlock: + res = hiddev->exist ? __hiddev_open(hiddev, file) : -ENODEV; mutex_unlock(&hiddev->existancelock); - spin_lock_irq(&list->hiddev->list_lock); - list_del(&list->node); - spin_unlock_irq(&list->hiddev->list_lock); -bail: - file->private_data = NULL; - vfree(list); return res; } diff -Nru linux-4.19.87/drivers/hwmon/pmbus/ibm-cffps.c linux-4.19.98/drivers/hwmon/pmbus/ibm-cffps.c --- linux-4.19.87/drivers/hwmon/pmbus/ibm-cffps.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/hwmon/pmbus/ibm-cffps.c 2020-01-23 07:21:39.000000000 +0000 @@ -269,8 +269,8 @@ return rc; } -static void ibm_cffps_led_brightness_set(struct led_classdev *led_cdev, - enum led_brightness brightness) +static int ibm_cffps_led_brightness_set(struct led_classdev *led_cdev, + enum led_brightness brightness) { int rc; struct ibm_cffps *psu = container_of(led_cdev, struct ibm_cffps, led); @@ -286,9 +286,11 @@ rc = i2c_smbus_write_byte_data(psu->client, CFFPS_SYS_CONFIG_CMD, psu->led_state); if (rc < 0) - return; + return rc; led_cdev->brightness = brightness; + + return 0; } static int ibm_cffps_led_blink_set(struct led_classdev *led_cdev, @@ -324,7 +326,7 @@ client->addr); psu->led.name = psu->led_name; psu->led.max_brightness = LED_FULL; - psu->led.brightness_set = ibm_cffps_led_brightness_set; + psu->led.brightness_set_blocking = ibm_cffps_led_brightness_set; psu->led.blink_set = ibm_cffps_led_blink_set; rc = devm_led_classdev_register(dev, &psu->led); diff -Nru linux-4.19.87/drivers/hwtracing/coresight/coresight-etm4x-sysfs.c linux-4.19.98/drivers/hwtracing/coresight/coresight-etm4x-sysfs.c --- linux-4.19.87/drivers/hwtracing/coresight/coresight-etm4x-sysfs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/hwtracing/coresight/coresight-etm4x-sysfs.c 2020-01-23 07:21:39.000000000 +0000 @@ -655,10 +655,13 @@ if (kstrtoul(buf, 16, &val)) return -EINVAL; + + /* mask off max threshold before checking min value */ + val &= ETM_CYC_THRESHOLD_MASK; if (val < drvdata->ccitmin) return -EINVAL; - config->ccctlr = val & ETM_CYC_THRESHOLD_MASK; + config->ccctlr = val; return size; } static DEVICE_ATTR_RW(cyc_threshold); @@ -689,14 +692,16 @@ return -EINVAL; if (!drvdata->nr_addr_cmp) return -EINVAL; + /* - * Bit[7:0] selects which address range comparator is used for - * branch broadcast control. + * Bit[8] controls include(1) / exclude(0), bits[0-7] select + * individual range comparators. If include then at least 1 + * range must be selected. */ - if (BMVAL(val, 0, 7) > drvdata->nr_addr_cmp) + if ((val & BIT(8)) && (BMVAL(val, 0, 7) == 0)) return -EINVAL; - config->bb_ctrl = val; + config->bb_ctrl = val & GENMASK(8, 0); return size; } static DEVICE_ATTR_RW(bb_ctrl); @@ -1329,8 +1334,8 @@ spin_lock(&drvdata->spinlock); idx = config->seq_idx; - /* RST, bits[7:0] */ - config->seq_ctrl[idx] = val & 0xFF; + /* Seq control has two masks B[15:8] F[7:0] */ + config->seq_ctrl[idx] = val & 0xFFFF; spin_unlock(&drvdata->spinlock); return size; } @@ -1585,7 +1590,7 @@ if (idx % 2 != 0) /* PAIRINV, bit[21] */ val &= ~BIT(21); - config->res_ctrl[idx] = val; + config->res_ctrl[idx] = val & GENMASK(21, 0); spin_unlock(&drvdata->spinlock); return size; } diff -Nru linux-4.19.87/drivers/hwtracing/intel_th/core.c linux-4.19.98/drivers/hwtracing/intel_th/core.c --- linux-4.19.87/drivers/hwtracing/intel_th/core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/hwtracing/intel_th/core.c 2020-01-23 07:21:39.000000000 +0000 @@ -629,10 +629,8 @@ } err = intel_th_device_add_resources(thdev, res, subdev->nres); - if (err) { - put_device(&thdev->dev); + if (err) goto fail_put_device; - } if (subdev->type == INTEL_TH_OUTPUT) { thdev->dev.devt = MKDEV(th->major, th->num_thdevs); @@ -646,10 +644,8 @@ } err = device_add(&thdev->dev); - if (err) { - put_device(&thdev->dev); + if (err) goto fail_free_res; - } /* need switch driver to be loaded to enumerate the rest */ if (subdev->type == INTEL_TH_SWITCH && !req) { diff -Nru linux-4.19.87/drivers/hwtracing/intel_th/pci.c linux-4.19.98/drivers/hwtracing/intel_th/pci.c --- linux-4.19.87/drivers/hwtracing/intel_th/pci.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/hwtracing/intel_th/pci.c 2020-01-23 07:21:39.000000000 +0000 @@ -181,11 +181,26 @@ .driver_data = (kernel_ulong_t)&intel_th_2x, }, { + /* Comet Lake PCH-V */ + PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0xa3a6), + .driver_data = (kernel_ulong_t)&intel_th_2x, + }, + { /* Ice Lake NNPI */ PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x45c5), .driver_data = (kernel_ulong_t)&intel_th_2x, }, { + /* Ice Lake CPU */ + PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x8a29), + .driver_data = (kernel_ulong_t)&intel_th_2x, + }, + { + /* Tiger Lake CPU */ + PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x9a33), + .driver_data = (kernel_ulong_t)&intel_th_2x, + }, + { /* Tiger Lake PCH */ PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0xa0a6), .driver_data = (kernel_ulong_t)&intel_th_2x, @@ -195,6 +210,11 @@ PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x4da6), .driver_data = (kernel_ulong_t)&intel_th_2x, }, + { + /* Elkhart Lake */ + PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x4b26), + .driver_data = (kernel_ulong_t)&intel_th_2x, + }, { 0 }, }; diff -Nru linux-4.19.87/drivers/i2c/busses/i2c-imx.c linux-4.19.98/drivers/i2c/busses/i2c-imx.c --- linux-4.19.87/drivers/i2c/busses/i2c-imx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/i2c/busses/i2c-imx.c 2020-01-23 07:21:39.000000000 +0000 @@ -1090,7 +1090,8 @@ /* Get I2C clock */ i2c_imx->clk = devm_clk_get(&pdev->dev, NULL); if (IS_ERR(i2c_imx->clk)) { - dev_err(&pdev->dev, "can't get I2C clock\n"); + if (PTR_ERR(i2c_imx->clk) != -EPROBE_DEFER) + dev_err(&pdev->dev, "can't get I2C clock\n"); return PTR_ERR(i2c_imx->clk); } diff -Nru linux-4.19.87/drivers/i2c/i2c-core-base.c linux-4.19.98/drivers/i2c/i2c-core-base.c --- linux-4.19.87/drivers/i2c/i2c-core-base.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/i2c/i2c-core-base.c 2020-01-23 07:21:39.000000000 +0000 @@ -194,10 +194,11 @@ * If we can set SDA, we will always create a STOP to ensure additional * pulses will do no harm. This is achieved by letting SDA follow SCL * half a cycle later. Check the 'incomplete_write_byte' fault injector - * for details. + * for details. Note that we must honour tsu:sto, 4us, but lets use 5us + * here for simplicity. */ bri->set_scl(adap, scl); - ndelay(RECOVERY_NDELAY / 2); + ndelay(RECOVERY_NDELAY); if (bri->set_sda) bri->set_sda(adap, scl); ndelay(RECOVERY_NDELAY / 2); @@ -219,7 +220,13 @@ scl = !scl; bri->set_scl(adap, scl); /* Creating STOP again, see above */ - ndelay(RECOVERY_NDELAY / 2); + if (scl) { + /* Honour minimum tsu:sto */ + ndelay(RECOVERY_NDELAY); + } else { + /* Honour minimum tf and thd:dat */ + ndelay(RECOVERY_NDELAY / 2); + } if (bri->set_sda) bri->set_sda(adap, scl); ndelay(RECOVERY_NDELAY / 2); diff -Nru linux-4.19.87/drivers/i2c/i2c-core-of.c linux-4.19.98/drivers/i2c/i2c-core-of.c --- linux-4.19.87/drivers/i2c/i2c-core-of.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/i2c/i2c-core-of.c 2020-01-23 07:21:39.000000000 +0000 @@ -253,14 +253,14 @@ } client = of_i2c_register_device(adap, rd->dn); - put_device(&adap->dev); - if (IS_ERR(client)) { dev_err(&adap->dev, "failed to create client for '%pOF'\n", rd->dn); + put_device(&adap->dev); of_node_clear_flag(rd->dn, OF_POPULATED); return notifier_from_errno(PTR_ERR(client)); } + put_device(&adap->dev); break; case OF_RECONFIG_CHANGE_REMOVE: /* already depopulated? */ diff -Nru linux-4.19.87/drivers/iio/adc/dln2-adc.c linux-4.19.98/drivers/iio/adc/dln2-adc.c --- linux-4.19.87/drivers/iio/adc/dln2-adc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/iio/adc/dln2-adc.c 2020-01-23 07:21:39.000000000 +0000 @@ -527,6 +527,10 @@ u16 conflict; unsigned int trigger_chan; + ret = iio_triggered_buffer_postenable(indio_dev); + if (ret) + return ret; + mutex_lock(&dln2->mutex); /* Enable ADC */ @@ -540,6 +544,7 @@ (int)conflict); ret = -EBUSY; } + iio_triggered_buffer_predisable(indio_dev); return ret; } @@ -553,6 +558,7 @@ mutex_unlock(&dln2->mutex); if (ret < 0) { dev_dbg(&dln2->pdev->dev, "Problem in %s\n", __func__); + iio_triggered_buffer_predisable(indio_dev); return ret; } } else { @@ -560,12 +566,12 @@ mutex_unlock(&dln2->mutex); } - return iio_triggered_buffer_postenable(indio_dev); + return 0; } static int dln2_adc_triggered_buffer_predisable(struct iio_dev *indio_dev) { - int ret; + int ret, ret2; struct dln2_adc *dln2 = iio_priv(indio_dev); mutex_lock(&dln2->mutex); @@ -580,12 +586,14 @@ ret = dln2_adc_set_port_enabled(dln2, false, NULL); mutex_unlock(&dln2->mutex); - if (ret < 0) { + if (ret < 0) dev_dbg(&dln2->pdev->dev, "Problem in %s\n", __func__); - return ret; - } - return iio_triggered_buffer_predisable(indio_dev); + ret2 = iio_triggered_buffer_predisable(indio_dev); + if (ret == 0) + ret = ret2; + + return ret; } static const struct iio_buffer_setup_ops dln2_adc_buffer_setup_ops = { diff -Nru linux-4.19.87/drivers/iio/adc/max1027.c linux-4.19.98/drivers/iio/adc/max1027.c --- linux-4.19.87/drivers/iio/adc/max1027.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/iio/adc/max1027.c 2020-01-23 07:21:39.000000000 +0000 @@ -460,6 +460,14 @@ goto fail_dev_register; } + /* Internal reset */ + st->reg = MAX1027_RST_REG; + ret = spi_write(st->spi, &st->reg, 1); + if (ret < 0) { + dev_err(&indio_dev->dev, "Failed to reset the ADC\n"); + return ret; + } + /* Disable averaging */ st->reg = MAX1027_AVG_REG; ret = spi_write(st->spi, &st->reg, 1); diff -Nru linux-4.19.87/drivers/iio/adc/max9611.c linux-4.19.98/drivers/iio/adc/max9611.c --- linux-4.19.87/drivers/iio/adc/max9611.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/iio/adc/max9611.c 2020-01-23 07:21:39.000000000 +0000 @@ -92,6 +92,12 @@ #define MAX9611_TEMP_SCALE_NUM 1000000 #define MAX9611_TEMP_SCALE_DIV 2083 +/* + * Conversion time is 2 ms (typically) at Ta=25 degreeC + * No maximum value is known, so play it safe. + */ +#define MAX9611_CONV_TIME_US_RANGE 3000, 3300 + struct max9611_dev { struct device *dev; struct i2c_client *i2c_client; @@ -239,11 +245,9 @@ return ret; } - /* - * need a delay here to make register configuration - * stabilize. 1 msec at least, from empirical testing. - */ - usleep_range(1000, 2000); + /* need a delay here to make register configuration stabilize. */ + + usleep_range(MAX9611_CONV_TIME_US_RANGE); ret = i2c_smbus_read_word_swapped(max9611->i2c_client, reg_addr); if (ret < 0) { @@ -510,7 +514,7 @@ MAX9611_REG_CTRL2, 0); return ret; } - usleep_range(1000, 2000); + usleep_range(MAX9611_CONV_TIME_US_RANGE); return 0; } diff -Nru linux-4.19.87/drivers/iio/dac/Kconfig linux-4.19.98/drivers/iio/dac/Kconfig --- linux-4.19.87/drivers/iio/dac/Kconfig 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/iio/dac/Kconfig 2020-01-23 07:21:39.000000000 +0000 @@ -59,8 +59,8 @@ help Say yes here to build support for Analog Devices AD5300, AD5301, AD5310, AD5311, AD5320, AD5321, AD5444, AD5446, AD5450, AD5451, AD5452, AD5453, - AD5512A, AD5541A, AD5542A, AD5543, AD5553, AD5601, AD5602, AD5611, AD5612, - AD5620, AD5621, AD5622, AD5640, AD5641, AD5660, AD5662 DACs + AD5512A, AD5541A, AD5542A, AD5543, AD5553, AD5600, AD5601, AD5602, AD5611, + AD5612, AD5620, AD5621, AD5622, AD5640, AD5641, AD5660, AD5662 DACs as well as Texas Instruments DAC081S101, DAC101S101, DAC121S101. To compile this driver as a module, choose M here: the diff -Nru linux-4.19.87/drivers/iio/dac/ad5446.c linux-4.19.98/drivers/iio/dac/ad5446.c --- linux-4.19.87/drivers/iio/dac/ad5446.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/iio/dac/ad5446.c 2020-01-23 07:21:39.000000000 +0000 @@ -328,6 +328,7 @@ ID_AD5541A, ID_AD5512A, ID_AD5553, + ID_AD5600, ID_AD5601, ID_AD5611, ID_AD5621, @@ -382,6 +383,10 @@ .channel = AD5446_CHANNEL(14, 16, 0), .write = ad5446_write, }, + [ID_AD5600] = { + .channel = AD5446_CHANNEL(16, 16, 0), + .write = ad5446_write, + }, [ID_AD5601] = { .channel = AD5446_CHANNEL_POWERDOWN(8, 16, 6), .write = ad5446_write, @@ -449,6 +454,7 @@ {"ad5542a", ID_AD5541A}, /* ad5541a and ad5542a are compatible */ {"ad5543", ID_AD5541A}, /* ad5541a and ad5543 are compatible */ {"ad5553", ID_AD5553}, + {"ad5600", ID_AD5600}, {"ad5601", ID_AD5601}, {"ad5611", ID_AD5611}, {"ad5621", ID_AD5621}, diff -Nru linux-4.19.87/drivers/iio/humidity/hdc100x.c linux-4.19.98/drivers/iio/humidity/hdc100x.c --- linux-4.19.87/drivers/iio/humidity/hdc100x.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/iio/humidity/hdc100x.c 2020-01-23 07:21:39.000000000 +0000 @@ -229,7 +229,7 @@ *val2 = 65536; return IIO_VAL_FRACTIONAL; } else { - *val = 100; + *val = 100000; *val2 = 65536; return IIO_VAL_FRACTIONAL; } diff -Nru linux-4.19.87/drivers/iio/imu/adis16480.c linux-4.19.98/drivers/iio/imu/adis16480.c --- linux-4.19.87/drivers/iio/imu/adis16480.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/iio/imu/adis16480.c 2020-01-23 07:21:39.000000000 +0000 @@ -376,12 +376,14 @@ case IIO_MAGN: case IIO_PRESSURE: ret = adis_read_reg_16(&st->adis, reg, &val16); - *bias = sign_extend32(val16, 15); + if (ret == 0) + *bias = sign_extend32(val16, 15); break; case IIO_ANGL_VEL: case IIO_ACCEL: ret = adis_read_reg_32(&st->adis, reg, &val32); - *bias = sign_extend32(val32, 31); + if (ret == 0) + *bias = sign_extend32(val32, 31); break; default: ret = -EINVAL; @@ -727,6 +729,7 @@ .read_raw = &adis16480_read_raw, .write_raw = &adis16480_write_raw, .update_scan_mode = adis_update_scan_mode, + .debugfs_reg_access = adis_debugfs_reg_access, }; static int adis16480_stop_device(struct iio_dev *indio_dev) diff -Nru linux-4.19.87/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c linux-4.19.98/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c --- linux-4.19.87/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c 2020-01-23 07:21:39.000000000 +0000 @@ -122,6 +122,7 @@ .reg = ®_set_6050, .config = &chip_config_6050, .fifo_size = 1024, + .temp = {INV_MPU6050_TEMP_OFFSET, INV_MPU6050_TEMP_SCALE}, }, { .whoami = INV_MPU6500_WHOAMI_VALUE, @@ -129,6 +130,7 @@ .reg = ®_set_6500, .config = &chip_config_6050, .fifo_size = 512, + .temp = {INV_MPU6500_TEMP_OFFSET, INV_MPU6500_TEMP_SCALE}, }, { .whoami = INV_MPU6515_WHOAMI_VALUE, @@ -136,6 +138,7 @@ .reg = ®_set_6500, .config = &chip_config_6050, .fifo_size = 512, + .temp = {INV_MPU6500_TEMP_OFFSET, INV_MPU6500_TEMP_SCALE}, }, { .whoami = INV_MPU6000_WHOAMI_VALUE, @@ -143,6 +146,7 @@ .reg = ®_set_6050, .config = &chip_config_6050, .fifo_size = 1024, + .temp = {INV_MPU6050_TEMP_OFFSET, INV_MPU6050_TEMP_SCALE}, }, { .whoami = INV_MPU9150_WHOAMI_VALUE, @@ -150,6 +154,7 @@ .reg = ®_set_6050, .config = &chip_config_6050, .fifo_size = 1024, + .temp = {INV_MPU6050_TEMP_OFFSET, INV_MPU6050_TEMP_SCALE}, }, { .whoami = INV_MPU9250_WHOAMI_VALUE, @@ -157,6 +162,7 @@ .reg = ®_set_6500, .config = &chip_config_6050, .fifo_size = 512, + .temp = {INV_MPU6500_TEMP_OFFSET, INV_MPU6500_TEMP_SCALE}, }, { .whoami = INV_MPU9255_WHOAMI_VALUE, @@ -164,6 +170,7 @@ .reg = ®_set_6500, .config = &chip_config_6050, .fifo_size = 512, + .temp = {INV_MPU6500_TEMP_OFFSET, INV_MPU6500_TEMP_SCALE}, }, { .whoami = INV_ICM20608_WHOAMI_VALUE, @@ -171,6 +178,7 @@ .reg = ®_set_6500, .config = &chip_config_6050, .fifo_size = 512, + .temp = {INV_ICM20608_TEMP_OFFSET, INV_ICM20608_TEMP_SCALE}, }, { .whoami = INV_ICM20602_WHOAMI_VALUE, @@ -178,6 +186,7 @@ .reg = ®_set_icm20602, .config = &chip_config_6050, .fifo_size = 1008, + .temp = {INV_ICM20608_TEMP_OFFSET, INV_ICM20608_TEMP_SCALE}, }, }; @@ -478,12 +487,8 @@ return IIO_VAL_INT_PLUS_MICRO; case IIO_TEMP: - *val = 0; - if (st->chip_type == INV_ICM20602) - *val2 = INV_ICM20602_TEMP_SCALE; - else - *val2 = INV_MPU6050_TEMP_SCALE; - + *val = st->hw->temp.scale / 1000000; + *val2 = st->hw->temp.scale % 1000000; return IIO_VAL_INT_PLUS_MICRO; default: return -EINVAL; @@ -491,11 +496,7 @@ case IIO_CHAN_INFO_OFFSET: switch (chan->type) { case IIO_TEMP: - if (st->chip_type == INV_ICM20602) - *val = INV_ICM20602_TEMP_OFFSET; - else - *val = INV_MPU6050_TEMP_OFFSET; - + *val = st->hw->temp.offset; return IIO_VAL_INT; default: return -EINVAL; @@ -859,6 +860,25 @@ INV_MPU6050_CHAN(IIO_ACCEL, IIO_MOD_Z, INV_MPU6050_SCAN_ACCL_Z), }; +static const unsigned long inv_mpu_scan_masks[] = { + /* 3-axis accel */ + BIT(INV_MPU6050_SCAN_ACCL_X) + | BIT(INV_MPU6050_SCAN_ACCL_Y) + | BIT(INV_MPU6050_SCAN_ACCL_Z), + /* 3-axis gyro */ + BIT(INV_MPU6050_SCAN_GYRO_X) + | BIT(INV_MPU6050_SCAN_GYRO_Y) + | BIT(INV_MPU6050_SCAN_GYRO_Z), + /* 6-axis accel + gyro */ + BIT(INV_MPU6050_SCAN_ACCL_X) + | BIT(INV_MPU6050_SCAN_ACCL_Y) + | BIT(INV_MPU6050_SCAN_ACCL_Z) + | BIT(INV_MPU6050_SCAN_GYRO_X) + | BIT(INV_MPU6050_SCAN_GYRO_Y) + | BIT(INV_MPU6050_SCAN_GYRO_Z), + 0, +}; + static const struct iio_chan_spec inv_icm20602_channels[] = { IIO_CHAN_SOFT_TIMESTAMP(INV_ICM20602_SCAN_TIMESTAMP), { @@ -885,6 +905,28 @@ INV_MPU6050_CHAN(IIO_ACCEL, IIO_MOD_Z, INV_ICM20602_SCAN_ACCL_Z), }; +static const unsigned long inv_icm20602_scan_masks[] = { + /* 3-axis accel + temp (mandatory) */ + BIT(INV_ICM20602_SCAN_ACCL_X) + | BIT(INV_ICM20602_SCAN_ACCL_Y) + | BIT(INV_ICM20602_SCAN_ACCL_Z) + | BIT(INV_ICM20602_SCAN_TEMP), + /* 3-axis gyro + temp (mandatory) */ + BIT(INV_ICM20602_SCAN_GYRO_X) + | BIT(INV_ICM20602_SCAN_GYRO_Y) + | BIT(INV_ICM20602_SCAN_GYRO_Z) + | BIT(INV_ICM20602_SCAN_TEMP), + /* 6-axis accel + gyro + temp (mandatory) */ + BIT(INV_ICM20602_SCAN_ACCL_X) + | BIT(INV_ICM20602_SCAN_ACCL_Y) + | BIT(INV_ICM20602_SCAN_ACCL_Z) + | BIT(INV_ICM20602_SCAN_GYRO_X) + | BIT(INV_ICM20602_SCAN_GYRO_Y) + | BIT(INV_ICM20602_SCAN_GYRO_Z) + | BIT(INV_ICM20602_SCAN_TEMP), + 0, +}; + /* * The user can choose any frequency between INV_MPU6050_MIN_FIFO_RATE and * INV_MPU6050_MAX_FIFO_RATE, but only these frequencies are matched by the @@ -1089,9 +1131,11 @@ if (chip_type == INV_ICM20602) { indio_dev->channels = inv_icm20602_channels; indio_dev->num_channels = ARRAY_SIZE(inv_icm20602_channels); + indio_dev->available_scan_masks = inv_icm20602_scan_masks; } else { indio_dev->channels = inv_mpu_channels; indio_dev->num_channels = ARRAY_SIZE(inv_mpu_channels); + indio_dev->available_scan_masks = inv_mpu_scan_masks; } indio_dev->info = &mpu_info; diff -Nru linux-4.19.87/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h linux-4.19.98/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h --- linux-4.19.87/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h 2020-01-23 07:21:39.000000000 +0000 @@ -109,6 +109,7 @@ * @reg: register map of the chip. * @config: configuration of the chip. * @fifo_size: size of the FIFO in bytes. + * @temp: offset and scale to apply to raw temperature. */ struct inv_mpu6050_hw { u8 whoami; @@ -116,6 +117,10 @@ const struct inv_mpu6050_reg_map *reg; const struct inv_mpu6050_chip_config *config; size_t fifo_size; + struct { + int offset; + int scale; + } temp; }; /* @@ -224,16 +229,19 @@ #define INV_MPU6050_REG_UP_TIME_MIN 5000 #define INV_MPU6050_REG_UP_TIME_MAX 10000 -#define INV_MPU6050_TEMP_OFFSET 12421 -#define INV_MPU6050_TEMP_SCALE 2941 +#define INV_MPU6050_TEMP_OFFSET 12420 +#define INV_MPU6050_TEMP_SCALE 2941176 #define INV_MPU6050_MAX_GYRO_FS_PARAM 3 #define INV_MPU6050_MAX_ACCL_FS_PARAM 3 #define INV_MPU6050_THREE_AXIS 3 #define INV_MPU6050_GYRO_CONFIG_FSR_SHIFT 3 #define INV_MPU6050_ACCL_CONFIG_FSR_SHIFT 3 -#define INV_ICM20602_TEMP_OFFSET 8170 -#define INV_ICM20602_TEMP_SCALE 3060 +#define INV_MPU6500_TEMP_OFFSET 7011 +#define INV_MPU6500_TEMP_SCALE 2995178 + +#define INV_ICM20608_TEMP_OFFSET 8170 +#define INV_ICM20608_TEMP_SCALE 3059976 /* 6 + 6 round up and plus 8 */ #define INV_MPU6050_OUTPUT_DATA_SIZE 24 diff -Nru linux-4.19.87/drivers/iio/industrialio-buffer.c linux-4.19.98/drivers/iio/industrialio-buffer.c --- linux-4.19.87/drivers/iio/industrialio-buffer.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/iio/industrialio-buffer.c 2020-01-23 07:21:39.000000000 +0000 @@ -570,7 +570,7 @@ const unsigned long *mask, bool timestamp) { unsigned bytes = 0; - int length, i; + int length, i, largest = 0; /* How much space will the demuxed element take? */ for_each_set_bit(i, mask, @@ -578,13 +578,17 @@ length = iio_storage_bytes_for_si(indio_dev, i); bytes = ALIGN(bytes, length); bytes += length; + largest = max(largest, length); } if (timestamp) { length = iio_storage_bytes_for_timestamp(indio_dev); bytes = ALIGN(bytes, length); bytes += length; + largest = max(largest, length); } + + bytes = ALIGN(bytes, largest); return bytes; } diff -Nru linux-4.19.87/drivers/iio/light/bh1750.c linux-4.19.98/drivers/iio/light/bh1750.c --- linux-4.19.87/drivers/iio/light/bh1750.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/iio/light/bh1750.c 2020-01-23 07:21:39.000000000 +0000 @@ -62,9 +62,9 @@ u16 int_time_low_mask; u16 int_time_high_mask; -} +}; -static const bh1750_chip_info_tbl[] = { +static const struct bh1750_chip_info bh1750_chip_info_tbl[] = { [BH1710] = { 140, 1022, 300, 400, 250000000, 2, 0x001F, 0x03E0 }, [BH1721] = { 140, 1020, 300, 400, 250000000, 2, 0x0010, 0x03E0 }, [BH1750] = { 31, 254, 69, 1740, 57500000, 1, 0x001F, 0x00E0 }, diff -Nru linux-4.19.87/drivers/infiniband/core/cma.c linux-4.19.98/drivers/infiniband/core/cma.c --- linux-4.19.87/drivers/infiniband/core/cma.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/core/cma.c 2020-01-23 07:21:39.000000000 +0000 @@ -4658,6 +4658,7 @@ err: unregister_netdevice_notifier(&cma_nb); ib_sa_unregister_client(&sa_client); + unregister_pernet_subsys(&cma_pernet_operations); err_wq: destroy_workqueue(cma_wq); return ret; diff -Nru linux-4.19.87/drivers/infiniband/hw/bnxt_re/ib_verbs.c linux-4.19.98/drivers/infiniband/hw/bnxt_re/ib_verbs.c --- linux-4.19.87/drivers/infiniband/hw/bnxt_re/ib_verbs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/hw/bnxt_re/ib_verbs.c 2020-01-23 07:21:39.000000000 +0000 @@ -1446,7 +1446,7 @@ dev_err(rdev_to_dev(rdev), "SRQ copy to udata failed!"); bnxt_qplib_destroy_srq(&rdev->qplib_res, &srq->qplib_srq); - goto exit; + goto fail; } } if (nq) @@ -3368,8 +3368,10 @@ int rc; rc = bnxt_qplib_free_mrw(&rdev->qplib_res, &mr->qplib_mr); - if (rc) + if (rc) { dev_err(rdev_to_dev(rdev), "Dereg MR failed: %#x\n", rc); + return rc; + } if (mr->pages) { rc = bnxt_qplib_free_fast_reg_page_list(&rdev->qplib_res, diff -Nru linux-4.19.87/drivers/infiniband/hw/bnxt_re/qplib_fp.c linux-4.19.98/drivers/infiniband/hw/bnxt_re/qplib_fp.c --- linux-4.19.87/drivers/infiniband/hw/bnxt_re/qplib_fp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/hw/bnxt_re/qplib_fp.c 2020-01-23 07:21:39.000000000 +0000 @@ -2273,13 +2273,13 @@ /* Add qp to flush list of the CQ */ bnxt_qplib_add_flush_qp(qp); } else { + /* Before we complete, do WA 9060 */ + if (do_wa9060(qp, cq, cq_cons, sw_sq_cons, + cqe_sq_cons)) { + *lib_qp = qp; + goto out; + } if (swq->flags & SQ_SEND_FLAGS_SIGNAL_COMP) { - /* Before we complete, do WA 9060 */ - if (do_wa9060(qp, cq, cq_cons, sw_sq_cons, - cqe_sq_cons)) { - *lib_qp = qp; - goto out; - } cqe->status = CQ_REQ_STATUS_OK; cqe++; (*budget)--; diff -Nru linux-4.19.87/drivers/infiniband/hw/bnxt_re/qplib_sp.c linux-4.19.98/drivers/infiniband/hw/bnxt_re/qplib_sp.c --- linux-4.19.87/drivers/infiniband/hw/bnxt_re/qplib_sp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/hw/bnxt_re/qplib_sp.c 2020-01-23 07:21:39.000000000 +0000 @@ -775,9 +775,8 @@ req.cos0 = cpu_to_le16(cids[0]); req.cos1 = cpu_to_le16(cids[1]); - bnxt_qplib_rcfw_send_message(rcfw, (void *)&req, (void *)&resp, NULL, - 0); - return 0; + return bnxt_qplib_rcfw_send_message(rcfw, (void *)&req, (void *)&resp, + NULL, 0); } int bnxt_qplib_get_roce_stats(struct bnxt_qplib_rcfw *rcfw, diff -Nru linux-4.19.87/drivers/infiniband/hw/cxgb4/cm.c linux-4.19.98/drivers/infiniband/hw/cxgb4/cm.c --- linux-4.19.87/drivers/infiniband/hw/cxgb4/cm.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/hw/cxgb4/cm.c 2020-01-23 07:21:39.000000000 +0000 @@ -2798,7 +2798,8 @@ break; case MPA_REQ_SENT: (void)stop_ep_timer(ep); - if (mpa_rev == 1 || (mpa_rev == 2 && ep->tried_with_mpa_v1)) + if (status != CPL_ERR_CONN_RESET || mpa_rev == 1 || + (mpa_rev == 2 && ep->tried_with_mpa_v1)) connect_reply_upcall(ep, -ECONNRESET); else { /* diff -Nru linux-4.19.87/drivers/infiniband/hw/hfi1/chip.c linux-4.19.98/drivers/infiniband/hw/hfi1/chip.c --- linux-4.19.87/drivers/infiniband/hw/hfi1/chip.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/hw/hfi1/chip.c 2020-01-23 07:21:39.000000000 +0000 @@ -1074,6 +1074,8 @@ static void log_physical_state(struct hfi1_pportdata *ppd, u32 state); static int wait_physical_linkstate(struct hfi1_pportdata *ppd, u32 state, int msecs); +static int wait_phys_link_out_of_offline(struct hfi1_pportdata *ppd, + int msecs); static void read_planned_down_reason_code(struct hfi1_devdata *dd, u8 *pdrrc); static void read_link_down_reason(struct hfi1_devdata *dd, u8 *ldr); static void handle_temp_err(struct hfi1_devdata *dd); @@ -10769,13 +10771,15 @@ break; ppd->port_error_action = 0; - ppd->host_link_state = HLS_DN_POLL; if (quick_linkup) { /* quick linkup does not go into polling */ ret = do_quick_linkup(dd); } else { ret1 = set_physical_link_state(dd, PLS_POLLING); + if (!ret1) + ret1 = wait_phys_link_out_of_offline(ppd, + 3000); if (ret1 != HCMD_SUCCESS) { dd_dev_err(dd, "Failed to transition to Polling link state, return 0x%x\n", @@ -10783,6 +10787,14 @@ ret = -EINVAL; } } + + /* + * Change the host link state after requesting DC8051 to + * change its physical state so that we can ignore any + * interrupt with stale LNI(XX) error, which will not be + * cleared until DC8051 transitions to Polling state. + */ + ppd->host_link_state = HLS_DN_POLL; ppd->offline_disabled_reason = HFI1_ODR_MASK(OPA_LINKDOWN_REASON_NONE); /* @@ -12907,6 +12919,39 @@ read_state, msecs); return -ETIMEDOUT; } + usleep_range(1950, 2050); /* sleep 2ms-ish */ + } + + log_state_transition(ppd, read_state); + return read_state; +} + +/* + * wait_phys_link_out_of_offline - wait for any out of offline state + * @ppd: port device + * @msecs: the number of milliseconds to wait + * + * Wait up to msecs milliseconds for any out of offline physical link + * state change to occur. + * Returns 0 if at least one state is reached, otherwise -ETIMEDOUT. + */ +static int wait_phys_link_out_of_offline(struct hfi1_pportdata *ppd, + int msecs) +{ + u32 read_state; + unsigned long timeout; + + timeout = jiffies + msecs_to_jiffies(msecs); + while (1) { + read_state = read_physical_state(ppd->dd); + if ((read_state & 0xF0) != PLS_OFFLINE) + break; + if (time_after(jiffies, timeout)) { + dd_dev_err(ppd->dd, + "timeout waiting for phy link out of offline. Read state 0x%x, %dms\n", + read_state, msecs); + return -ETIMEDOUT; + } usleep_range(1950, 2050); /* sleep 2ms-ish */ } diff -Nru linux-4.19.87/drivers/infiniband/hw/hfi1/vnic_sdma.c linux-4.19.98/drivers/infiniband/hw/hfi1/vnic_sdma.c --- linux-4.19.87/drivers/infiniband/hw/hfi1/vnic_sdma.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/hw/hfi1/vnic_sdma.c 2020-01-23 07:21:39.000000000 +0000 @@ -57,7 +57,6 @@ #define HFI1_VNIC_TXREQ_NAME_LEN 32 #define HFI1_VNIC_SDMA_DESC_WTRMRK 64 -#define HFI1_VNIC_SDMA_RETRY_COUNT 1 /* * struct vnic_txreq - VNIC transmit descriptor @@ -67,7 +66,6 @@ * @pad: pad buffer * @plen: pad length * @pbc_val: pbc value - * @retry_count: tx retry count */ struct vnic_txreq { struct sdma_txreq txreq; @@ -77,8 +75,6 @@ unsigned char pad[HFI1_VNIC_MAX_PAD]; u16 plen; __le64 pbc_val; - - u32 retry_count; }; static void vnic_sdma_complete(struct sdma_txreq *txreq, @@ -196,7 +192,6 @@ ret = build_vnic_tx_desc(sde, tx, pbc); if (unlikely(ret)) goto free_desc; - tx->retry_count = 0; ret = sdma_send_txreq(sde, &vnic_sdma->wait, &tx->txreq, vnic_sdma->pkts_sent); @@ -238,14 +233,14 @@ struct hfi1_vnic_sdma *vnic_sdma = container_of(wait, struct hfi1_vnic_sdma, wait); struct hfi1_ibdev *dev = &vnic_sdma->dd->verbs_dev; - struct vnic_txreq *tx = container_of(txreq, struct vnic_txreq, txreq); - if (sdma_progress(sde, seq, txreq)) - if (tx->retry_count++ < HFI1_VNIC_SDMA_RETRY_COUNT) - return -EAGAIN; + write_seqlock(&dev->iowait_lock); + if (sdma_progress(sde, seq, txreq)) { + write_sequnlock(&dev->iowait_lock); + return -EAGAIN; + } vnic_sdma->state = HFI1_VNIC_SDMA_Q_DEFERRED; - write_seqlock(&dev->iowait_lock); if (list_empty(&vnic_sdma->wait.list)) iowait_queue(pkts_sent, wait, &sde->dmawait); write_sequnlock(&dev->iowait_lock); diff -Nru linux-4.19.87/drivers/infiniband/hw/hns/hns_roce_hem.h linux-4.19.98/drivers/infiniband/hw/hns/hns_roce_hem.h --- linux-4.19.87/drivers/infiniband/hw/hns/hns_roce_hem.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/hw/hns/hns_roce_hem.h 2020-01-23 07:21:39.000000000 +0000 @@ -54,7 +54,7 @@ #define HNS_ROCE_HEM_CHUNK_LEN \ ((256 - sizeof(struct list_head) - 2 * sizeof(int)) / \ - (sizeof(struct scatterlist))) + (sizeof(struct scatterlist) + sizeof(void *))) #define check_whether_bt_num_3(type, hop_num) \ (type < HEM_TYPE_MTT && hop_num == 2) diff -Nru linux-4.19.87/drivers/infiniband/hw/hns/hns_roce_hw_v2.c linux-4.19.98/drivers/infiniband/hw/hns/hns_roce_hw_v2.c --- linux-4.19.87/drivers/infiniband/hw/hns/hns_roce_hw_v2.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/hw/hns/hns_roce_hw_v2.c 2020-01-23 07:21:39.000000000 +0000 @@ -1776,6 +1776,9 @@ struct hns_roce_v2_mpt_entry *mpt_entry = mb_buf; int ret = 0; + roce_set_field(mpt_entry->byte_4_pd_hop_st, V2_MPT_BYTE_4_MPT_ST_M, + V2_MPT_BYTE_4_MPT_ST_S, V2_MPT_ST_VALID); + if (flags & IB_MR_REREG_PD) { roce_set_field(mpt_entry->byte_4_pd_hop_st, V2_MPT_BYTE_4_PD_M, V2_MPT_BYTE_4_PD_S, pdn); @@ -3443,7 +3446,7 @@ struct device *dev = hr_dev->dev; int ret = -EINVAL; - context = kcalloc(2, sizeof(*context), GFP_KERNEL); + context = kcalloc(2, sizeof(*context), GFP_ATOMIC); if (!context) return -ENOMEM; @@ -3503,13 +3506,16 @@ roce_set_field(qpc_mask->byte_160_sq_ci_pi, V2_QPC_BYTE_160_SQ_PRODUCER_IDX_M, V2_QPC_BYTE_160_SQ_PRODUCER_IDX_S, 0); - roce_set_field(context->byte_84_rq_ci_pi, + + if (!ibqp->srq) { + roce_set_field(context->byte_84_rq_ci_pi, V2_QPC_BYTE_84_RQ_PRODUCER_IDX_M, V2_QPC_BYTE_84_RQ_PRODUCER_IDX_S, hr_qp->rq.head); - roce_set_field(qpc_mask->byte_84_rq_ci_pi, + roce_set_field(qpc_mask->byte_84_rq_ci_pi, V2_QPC_BYTE_84_RQ_PRODUCER_IDX_M, V2_QPC_BYTE_84_RQ_PRODUCER_IDX_S, 0); + } } if (attr_mask & IB_QP_AV) { @@ -3971,7 +3977,8 @@ if (hr_qp->ibqp.uobject) { if (hr_qp->sdb_en == 1) { hr_qp->sq.head = *(int *)(hr_qp->sdb.virt_addr); - hr_qp->rq.head = *(int *)(hr_qp->rdb.virt_addr); + if (hr_qp->rdb_en == 1) + hr_qp->rq.head = *(int *)(hr_qp->rdb.virt_addr); } else { dev_warn(hr_dev->dev, "flush cqe is unsupported in userspace!\n"); return; diff -Nru linux-4.19.87/drivers/infiniband/hw/hns/hns_roce_mr.c linux-4.19.98/drivers/infiniband/hw/hns/hns_roce_mr.c --- linux-4.19.87/drivers/infiniband/hw/hns/hns_roce_mr.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/hw/hns/hns_roce_mr.c 2020-01-23 07:21:39.000000000 +0000 @@ -1017,14 +1017,14 @@ goto err_umem; } } else { - int pbl_size = 1; + u64 pbl_size = 1; bt_size = (1 << (hr_dev->caps.pbl_ba_pg_sz + PAGE_SHIFT)) / 8; for (i = 0; i < hr_dev->caps.pbl_hop_num; i++) pbl_size *= bt_size; if (n > pbl_size) { dev_err(dev, - " MR len %lld err. MR page num is limited to %d!\n", + " MR len %lld err. MR page num is limited to %lld!\n", length, pbl_size); ret = -EINVAL; goto err_umem; diff -Nru linux-4.19.87/drivers/infiniband/hw/hns/hns_roce_qp.c linux-4.19.98/drivers/infiniband/hw/hns/hns_roce_qp.c --- linux-4.19.87/drivers/infiniband/hw/hns/hns_roce_qp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/hw/hns/hns_roce_qp.c 2020-01-23 07:21:39.000000000 +0000 @@ -522,7 +522,8 @@ static int hns_roce_qp_has_rq(struct ib_qp_init_attr *attr) { if (attr->qp_type == IB_QPT_XRC_INI || - attr->qp_type == IB_QPT_XRC_TGT || attr->srq) + attr->qp_type == IB_QPT_XRC_TGT || attr->srq || + !attr->cap.max_recv_wr) return 0; return 1; diff -Nru linux-4.19.87/drivers/infiniband/hw/mlx4/main.c linux-4.19.98/drivers/infiniband/hw/mlx4/main.c --- linux-4.19.87/drivers/infiniband/hw/mlx4/main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/hw/mlx4/main.c 2020-01-23 07:21:39.000000000 +0000 @@ -3069,16 +3069,17 @@ ibdev->ib_active = false; flush_workqueue(wq); - mlx4_ib_close_sriov(ibdev); - mlx4_ib_mad_cleanup(ibdev); - ib_unregister_device(&ibdev->ib_dev); - mlx4_ib_diag_cleanup(ibdev); if (ibdev->iboe.nb.notifier_call) { if (unregister_netdevice_notifier(&ibdev->iboe.nb)) pr_warn("failure unregistering notifier\n"); ibdev->iboe.nb.notifier_call = NULL; } + mlx4_ib_close_sriov(ibdev); + mlx4_ib_mad_cleanup(ibdev); + ib_unregister_device(&ibdev->ib_dev); + mlx4_ib_diag_cleanup(ibdev); + mlx4_qp_release_range(dev, ibdev->steer_qpn_base, ibdev->steer_qpn_count); kfree(ibdev->ib_uc_qpns_bitmap); diff -Nru linux-4.19.87/drivers/infiniband/hw/mlx4/sysfs.c linux-4.19.98/drivers/infiniband/hw/mlx4/sysfs.c --- linux-4.19.87/drivers/infiniband/hw/mlx4/sysfs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/hw/mlx4/sysfs.c 2020-01-23 07:21:39.000000000 +0000 @@ -353,16 +353,12 @@ static void get_name(struct mlx4_ib_dev *dev, char *name, int i, int max) { - char base_name[9]; - - /* pci_name format is: bus:dev:func -> xxxx:yy:zz.n */ - strlcpy(name, pci_name(dev->dev->persist->pdev), max); - strncpy(base_name, name, 8); /*till xxxx:yy:*/ - base_name[8] = '\0'; - /* with no ARI only 3 last bits are used so when the fn is higher than 8 + /* pci_name format is: bus:dev:func -> xxxx:yy:zz.n + * with no ARI only 3 last bits are used so when the fn is higher than 8 * need to add it to the dev num, so count in the last number will be * modulo 8 */ - sprintf(name, "%s%.2d.%d", base_name, (i/8), (i%8)); + snprintf(name, max, "%.8s%.2d.%d", pci_name(dev->dev->persist->pdev), + i / 8, i % 8); } struct mlx4_port { diff -Nru linux-4.19.87/drivers/infiniband/hw/mlx5/main.c linux-4.19.98/drivers/infiniband/hw/mlx5/main.c --- linux-4.19.87/drivers/infiniband/hw/mlx5/main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/hw/mlx5/main.c 2020-01-23 07:21:39.000000000 +0000 @@ -3286,10 +3286,6 @@ } INIT_LIST_HEAD(&handler->list); - if (dst) { - memcpy(&dest_arr[0], dst, sizeof(*dst)); - dest_num++; - } for (spec_index = 0; spec_index < flow_attr->num_of_specs; spec_index++) { err = parse_flow_attr(dev->mdev, spec->match_criteria, @@ -3303,6 +3299,11 @@ ib_flow += ((union ib_flow_spec *)ib_flow)->size; } + if (dst && !(flow_act.action & MLX5_FLOW_CONTEXT_ACTION_DROP)) { + memcpy(&dest_arr[0], dst, sizeof(*dst)); + dest_num++; + } + if (!flow_is_multicast_only(flow_attr)) set_underlay_qp(dev, spec, underlay_qpn); @@ -3340,10 +3341,8 @@ } if (flow_act.action & MLX5_FLOW_CONTEXT_ACTION_DROP) { - if (!(flow_act.action & MLX5_FLOW_CONTEXT_ACTION_COUNT)) { + if (!dest_num) rule_dst = NULL; - dest_num = 0; - } } else { if (is_egress) flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_ALLOW; diff -Nru linux-4.19.87/drivers/infiniband/hw/mlx5/mr.c linux-4.19.98/drivers/infiniband/hw/mlx5/mr.c --- linux-4.19.87/drivers/infiniband/hw/mlx5/mr.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/hw/mlx5/mr.c 2020-01-23 07:21:39.000000000 +0000 @@ -457,7 +457,7 @@ if (entry < 0 || entry >= MAX_MR_CACHE_ENTRIES) { mlx5_ib_err(dev, "cache entry %d is out of range\n", entry); - return NULL; + return ERR_PTR(-EINVAL); } ent = &cache->ent[entry]; diff -Nru linux-4.19.87/drivers/infiniband/hw/qedr/qedr_iw_cm.c linux-4.19.98/drivers/infiniband/hw/qedr/qedr_iw_cm.c --- linux-4.19.87/drivers/infiniband/hw/qedr/qedr_iw_cm.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/hw/qedr/qedr_iw_cm.c 2020-01-23 07:21:39.000000000 +0000 @@ -492,6 +492,8 @@ int i; qp = idr_find(&dev->qpidr.idr, conn_param->qpn); + if (unlikely(!qp)) + return -EINVAL; laddr = (struct sockaddr_in *)&cm_id->m_local_addr; raddr = (struct sockaddr_in *)&cm_id->m_remote_addr; diff -Nru linux-4.19.87/drivers/infiniband/hw/qedr/verbs.c linux-4.19.98/drivers/infiniband/hw/qedr/verbs.c --- linux-4.19.87/drivers/infiniband/hw/qedr/verbs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/hw/qedr/verbs.c 2020-01-23 07:21:39.000000000 +0000 @@ -1701,6 +1701,14 @@ if (qp->urq.umem) ib_umem_release(qp->urq.umem); qp->urq.umem = NULL; + + if (rdma_protocol_roce(&dev->ibdev, 1)) { + qedr_free_pbl(dev, &qp->usq.pbl_info, qp->usq.pbl_tbl); + qedr_free_pbl(dev, &qp->urq.pbl_info, qp->urq.pbl_tbl); + } else { + kfree(qp->usq.pbl_tbl); + kfree(qp->urq.pbl_tbl); + } } static int qedr_create_user_qp(struct qedr_dev *dev, @@ -2809,8 +2817,8 @@ dev->ops->rdma_free_tid(dev->rdma_ctx, mr->hw_mr.itid); - if ((mr->type != QEDR_MR_DMA) && (mr->type != QEDR_MR_FRMR)) - qedr_free_pbl(dev, &mr->info.pbl_info, mr->info.pbl_table); + if (mr->type != QEDR_MR_DMA) + free_mr_info(dev, &mr->info); /* it could be user registered memory. */ if (mr->umem) diff -Nru linux-4.19.87/drivers/infiniband/hw/qib/qib_sdma.c linux-4.19.98/drivers/infiniband/hw/qib/qib_sdma.c --- linux-4.19.87/drivers/infiniband/hw/qib/qib_sdma.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/hw/qib/qib_sdma.c 2020-01-23 07:21:39.000000000 +0000 @@ -576,8 +576,10 @@ dw = (len + 3) >> 2; addr = dma_map_single(&ppd->dd->pcidev->dev, sge->vaddr, dw << 2, DMA_TO_DEVICE); - if (dma_mapping_error(&ppd->dd->pcidev->dev, addr)) + if (dma_mapping_error(&ppd->dd->pcidev->dev, addr)) { + ret = -ENOMEM; goto unmap; + } sdmadesc[0] = 0; make_sdma_desc(ppd, sdmadesc, (u64) addr, dw, dwoffset); /* SDmaUseLargeBuf has to be set in every descriptor */ diff -Nru linux-4.19.87/drivers/infiniband/hw/qib/qib_sysfs.c linux-4.19.98/drivers/infiniband/hw/qib/qib_sysfs.c --- linux-4.19.87/drivers/infiniband/hw/qib/qib_sysfs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/hw/qib/qib_sysfs.c 2020-01-23 07:21:39.000000000 +0000 @@ -301,6 +301,9 @@ struct qib_pportdata *ppd = container_of(kobj, struct qib_pportdata, pport_kobj); + if (!pattr->show) + return -EIO; + return pattr->show(ppd, buf); } @@ -312,6 +315,9 @@ struct qib_pportdata *ppd = container_of(kobj, struct qib_pportdata, pport_kobj); + if (!pattr->store) + return -EIO; + return pattr->store(ppd, buf, len); } diff -Nru linux-4.19.87/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c linux-4.19.98/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c --- linux-4.19.87/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c 2020-01-23 07:21:39.000000000 +0000 @@ -555,7 +555,7 @@ if (!atomic_add_unless(&dev->num_ahs, 1, dev->dsr->caps.max_ah)) return ERR_PTR(-ENOMEM); - ah = kzalloc(sizeof(*ah), GFP_KERNEL); + ah = kzalloc(sizeof(*ah), GFP_ATOMIC); if (!ah) { atomic_dec(&dev->num_ahs); return ERR_PTR(-ENOMEM); diff -Nru linux-4.19.87/drivers/infiniband/sw/rxe/rxe_hw_counters.c linux-4.19.98/drivers/infiniband/sw/rxe/rxe_hw_counters.c --- linux-4.19.87/drivers/infiniband/sw/rxe/rxe_hw_counters.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/sw/rxe/rxe_hw_counters.c 2020-01-23 07:21:39.000000000 +0000 @@ -59,7 +59,7 @@ return -EINVAL; for (cnt = 0; cnt < ARRAY_SIZE(rxe_counter_name); cnt++) - stats->value[cnt] = dev->stats_counters[cnt]; + stats->value[cnt] = atomic64_read(&dev->stats_counters[cnt]); return ARRAY_SIZE(rxe_counter_name); } diff -Nru linux-4.19.87/drivers/infiniband/sw/rxe/rxe_recv.c linux-4.19.98/drivers/infiniband/sw/rxe/rxe_recv.c --- linux-4.19.87/drivers/infiniband/sw/rxe/rxe_recv.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/sw/rxe/rxe_recv.c 2020-01-23 07:21:39.000000000 +0000 @@ -391,7 +391,7 @@ calc_icrc = rxe_icrc_hdr(pkt, skb); calc_icrc = rxe_crc32(rxe, calc_icrc, (u8 *)payload_addr(pkt), - payload_size(pkt)); + payload_size(pkt) + bth_pad(pkt)); calc_icrc = (__force u32)cpu_to_be32(~calc_icrc); if (unlikely(calc_icrc != pack_icrc)) { if (skb->protocol == htons(ETH_P_IPV6)) diff -Nru linux-4.19.87/drivers/infiniband/sw/rxe/rxe_req.c linux-4.19.98/drivers/infiniband/sw/rxe/rxe_req.c --- linux-4.19.87/drivers/infiniband/sw/rxe/rxe_req.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/sw/rxe/rxe_req.c 2020-01-23 07:21:39.000000000 +0000 @@ -500,6 +500,12 @@ if (err) return err; } + if (bth_pad(pkt)) { + u8 *pad = payload_addr(pkt) + paylen; + + memset(pad, 0, bth_pad(pkt)); + crc = rxe_crc32(rxe, crc, pad, bth_pad(pkt)); + } } p = payload_addr(pkt) + paylen + bth_pad(pkt); diff -Nru linux-4.19.87/drivers/infiniband/sw/rxe/rxe_resp.c linux-4.19.98/drivers/infiniband/sw/rxe/rxe_resp.c --- linux-4.19.87/drivers/infiniband/sw/rxe/rxe_resp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/sw/rxe/rxe_resp.c 2020-01-23 07:21:39.000000000 +0000 @@ -737,6 +737,13 @@ if (err) pr_err("Failed copying memory\n"); + if (bth_pad(&ack_pkt)) { + struct rxe_dev *rxe = to_rdev(qp->ibqp.device); + u8 *pad = payload_addr(&ack_pkt) + payload; + + memset(pad, 0, bth_pad(&ack_pkt)); + icrc = rxe_crc32(rxe, icrc, pad, bth_pad(&ack_pkt)); + } p = payload_addr(&ack_pkt) + payload + bth_pad(&ack_pkt); *p = ~icrc; diff -Nru linux-4.19.87/drivers/infiniband/sw/rxe/rxe_verbs.h linux-4.19.98/drivers/infiniband/sw/rxe/rxe_verbs.h --- linux-4.19.87/drivers/infiniband/sw/rxe/rxe_verbs.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/sw/rxe/rxe_verbs.h 2020-01-23 07:21:39.000000000 +0000 @@ -409,16 +409,16 @@ spinlock_t mmap_offset_lock; /* guard mmap_offset */ int mmap_offset; - u64 stats_counters[RXE_NUM_OF_COUNTERS]; + atomic64_t stats_counters[RXE_NUM_OF_COUNTERS]; struct rxe_port port; struct list_head list; struct crypto_shash *tfm; }; -static inline void rxe_counter_inc(struct rxe_dev *rxe, enum rxe_counters cnt) +static inline void rxe_counter_inc(struct rxe_dev *rxe, enum rxe_counters index) { - rxe->stats_counters[cnt]++; + atomic64_inc(&rxe->stats_counters[index]); } static inline struct rxe_dev *to_rdev(struct ib_device *dev) diff -Nru linux-4.19.87/drivers/infiniband/ulp/iser/iscsi_iser.c linux-4.19.98/drivers/infiniband/ulp/iser/iscsi_iser.c --- linux-4.19.87/drivers/infiniband/ulp/iser/iscsi_iser.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/ulp/iser/iscsi_iser.c 2020-01-23 07:21:39.000000000 +0000 @@ -646,6 +646,7 @@ if (ib_conn->pi_support) { u32 sig_caps = ib_conn->device->ib_device->attrs.sig_prot_cap; + shost->sg_prot_tablesize = shost->sg_tablesize; scsi_host_set_prot(shost, iser_dif_prot_caps(sig_caps)); scsi_host_set_guard(shost, SHOST_DIX_GUARD_IP | SHOST_DIX_GUARD_CRC); diff -Nru linux-4.19.87/drivers/infiniband/ulp/srp/ib_srp.c linux-4.19.98/drivers/infiniband/ulp/srp/ib_srp.c --- linux-4.19.87/drivers/infiniband/ulp/srp/ib_srp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/ulp/srp/ib_srp.c 2020-01-23 07:21:39.000000000 +0000 @@ -2357,6 +2357,7 @@ if (srp_post_send(ch, iu, len)) { shost_printk(KERN_ERR, target->scsi_host, PFX "Send failed\n"); + scmnd->result = DID_ERROR << 16; goto err_unmap; } diff -Nru linux-4.19.87/drivers/infiniband/ulp/srpt/ib_srpt.c linux-4.19.98/drivers/infiniband/ulp/srpt/ib_srpt.c --- linux-4.19.87/drivers/infiniband/ulp/srpt/ib_srpt.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/infiniband/ulp/srpt/ib_srpt.c 2020-01-23 07:21:39.000000000 +0000 @@ -1324,9 +1324,11 @@ struct srpt_send_ioctx *ioctx, u64 tag, int status) { + struct se_cmd *cmd = &ioctx->cmd; struct srp_rsp *srp_rsp; const u8 *sense_data; int sense_data_len, max_sense_len; + u32 resid = cmd->residual_count; /* * The lowest bit of all SAM-3 status codes is zero (see also @@ -1348,6 +1350,28 @@ srp_rsp->tag = tag; srp_rsp->status = status; + if (cmd->se_cmd_flags & SCF_UNDERFLOW_BIT) { + if (cmd->data_direction == DMA_TO_DEVICE) { + /* residual data from an underflow write */ + srp_rsp->flags = SRP_RSP_FLAG_DOUNDER; + srp_rsp->data_out_res_cnt = cpu_to_be32(resid); + } else if (cmd->data_direction == DMA_FROM_DEVICE) { + /* residual data from an underflow read */ + srp_rsp->flags = SRP_RSP_FLAG_DIUNDER; + srp_rsp->data_in_res_cnt = cpu_to_be32(resid); + } + } else if (cmd->se_cmd_flags & SCF_OVERFLOW_BIT) { + if (cmd->data_direction == DMA_TO_DEVICE) { + /* residual data from an overflow write */ + srp_rsp->flags = SRP_RSP_FLAG_DOOVER; + srp_rsp->data_out_res_cnt = cpu_to_be32(resid); + } else if (cmd->data_direction == DMA_FROM_DEVICE) { + /* residual data from an overflow read */ + srp_rsp->flags = SRP_RSP_FLAG_DIOVER; + srp_rsp->data_in_res_cnt = cpu_to_be32(resid); + } + } + if (sense_data_len) { BUILD_BUG_ON(MIN_MAX_RSP_SIZE <= sizeof(*srp_rsp)); max_sense_len = ch->max_ti_iu_len - sizeof(*srp_rsp); diff -Nru linux-4.19.87/drivers/input/evdev.c linux-4.19.98/drivers/input/evdev.c --- linux-4.19.87/drivers/input/evdev.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/input/evdev.c 2020-01-23 07:21:39.000000000 +0000 @@ -241,13 +241,13 @@ */ client->tail = (client->head - 2) & (client->bufsize - 1); - client->buffer[client->tail].input_event_sec = - event->input_event_sec; - client->buffer[client->tail].input_event_usec = - event->input_event_usec; - client->buffer[client->tail].type = EV_SYN; - client->buffer[client->tail].code = SYN_DROPPED; - client->buffer[client->tail].value = 0; + client->buffer[client->tail] = (struct input_event) { + .input_event_sec = event->input_event_sec, + .input_event_usec = event->input_event_usec, + .type = EV_SYN, + .code = SYN_DROPPED, + .value = 0, + }; client->packet_head = client->tail; } diff -Nru linux-4.19.87/drivers/input/input.c linux-4.19.98/drivers/input/input.c --- linux-4.19.87/drivers/input/input.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/input/input.c 2020-01-23 07:21:39.000000000 +0000 @@ -858,16 +858,18 @@ } } - __clear_bit(*old_keycode, dev->keybit); - __set_bit(ke->keycode, dev->keybit); - - for (i = 0; i < dev->keycodemax; i++) { - if (input_fetch_keycode(dev, i) == *old_keycode) { - __set_bit(*old_keycode, dev->keybit); - break; /* Setting the bit twice is useless, so break */ + if (*old_keycode <= KEY_MAX) { + __clear_bit(*old_keycode, dev->keybit); + for (i = 0; i < dev->keycodemax; i++) { + if (input_fetch_keycode(dev, i) == *old_keycode) { + __set_bit(*old_keycode, dev->keybit); + /* Setting the bit twice is useless, so break */ + break; + } } } + __set_bit(ke->keycode, dev->keybit); return 0; } @@ -923,9 +925,13 @@ * Simulate keyup event if keycode is not present * in the keymap anymore */ - if (test_bit(EV_KEY, dev->evbit) && - !is_event_supported(old_keycode, dev->keybit, KEY_MAX) && - __test_and_clear_bit(old_keycode, dev->key)) { + if (old_keycode > KEY_MAX) { + dev_warn(dev->dev.parent ?: &dev->dev, + "%s: got too big old keycode %#x\n", + __func__, old_keycode); + } else if (test_bit(EV_KEY, dev->evbit) && + !is_event_supported(old_keycode, dev->keybit, KEY_MAX) && + __test_and_clear_bit(old_keycode, dev->key)) { struct input_value vals[] = { { EV_KEY, old_keycode, 0 }, input_value_sync diff -Nru linux-4.19.87/drivers/input/joystick/psxpad-spi.c linux-4.19.98/drivers/input/joystick/psxpad-spi.c --- linux-4.19.87/drivers/input/joystick/psxpad-spi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/input/joystick/psxpad-spi.c 2020-01-23 07:21:39.000000000 +0000 @@ -292,7 +292,7 @@ if (!pad) return -ENOMEM; - pdev = input_allocate_polled_device(); + pdev = devm_input_allocate_polled_device(&spi->dev); if (!pdev) { dev_err(&spi->dev, "failed to allocate input device\n"); return -ENOMEM; diff -Nru linux-4.19.87/drivers/input/misc/uinput.c linux-4.19.98/drivers/input/misc/uinput.c --- linux-4.19.87/drivers/input/misc/uinput.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/input/misc/uinput.c 2020-01-23 07:21:39.000000000 +0000 @@ -87,12 +87,16 @@ struct uinput_device *udev = input_get_drvdata(dev); struct timespec64 ts; - udev->buff[udev->head].type = type; - udev->buff[udev->head].code = code; - udev->buff[udev->head].value = value; ktime_get_ts64(&ts); - udev->buff[udev->head].input_event_sec = ts.tv_sec; - udev->buff[udev->head].input_event_usec = ts.tv_nsec / NSEC_PER_USEC; + + udev->buff[udev->head] = (struct input_event) { + .input_event_sec = ts.tv_sec, + .input_event_usec = ts.tv_nsec / NSEC_PER_USEC, + .type = type, + .code = code, + .value = value, + }; + udev->head = (udev->head + 1) % UINPUT_BUFFER_SIZE; wake_up_interruptible(&udev->waitq); diff -Nru linux-4.19.87/drivers/input/mouse/synaptics.c linux-4.19.98/drivers/input/mouse/synaptics.c --- linux-4.19.87/drivers/input/mouse/synaptics.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/input/mouse/synaptics.c 2020-01-23 07:21:39.000000000 +0000 @@ -175,6 +175,7 @@ "LEN0071", /* T480 */ "LEN0072", /* X1 Carbon Gen 5 (2017) - Elan/ALPS trackpoint */ "LEN0073", /* X1 Carbon G5 (Elantech) */ + "LEN0091", /* X1 Carbon 6 */ "LEN0092", /* X1 Carbon 6 */ "LEN0093", /* T480 */ "LEN0096", /* X280 */ diff -Nru linux-4.19.87/drivers/input/rmi4/rmi_f34v7.c linux-4.19.98/drivers/input/rmi4/rmi_f34v7.c --- linux-4.19.87/drivers/input/rmi4/rmi_f34v7.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/input/rmi4/rmi_f34v7.c 2020-01-23 07:21:39.000000000 +0000 @@ -1192,6 +1192,9 @@ { int ret; + f34->fn->rmi_dev->driver->set_irq_bits(f34->fn->rmi_dev, + f34->fn->irq_mask); + rmi_f34v7_read_queries_bl_version(f34); f34->v7.image = fw->data; diff -Nru linux-4.19.87/drivers/input/rmi4/rmi_smbus.c linux-4.19.98/drivers/input/rmi4/rmi_smbus.c --- linux-4.19.87/drivers/input/rmi4/rmi_smbus.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/input/rmi4/rmi_smbus.c 2020-01-23 07:21:39.000000000 +0000 @@ -166,7 +166,6 @@ /* prepare to write next block of bytes */ cur_len -= SMB_MAX_COUNT; databuff += SMB_MAX_COUNT; - rmiaddr += SMB_MAX_COUNT; } exit: mutex_unlock(&rmi_smb->page_mutex); @@ -218,7 +217,6 @@ /* prepare to read next block of bytes */ cur_len -= SMB_MAX_COUNT; databuff += SMB_MAX_COUNT; - rmiaddr += SMB_MAX_COUNT; } retval = 0; diff -Nru linux-4.19.87/drivers/input/serio/gscps2.c linux-4.19.98/drivers/input/serio/gscps2.c --- linux-4.19.87/drivers/input/serio/gscps2.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/input/serio/gscps2.c 2020-01-23 07:21:39.000000000 +0000 @@ -381,9 +381,9 @@ goto fail; #endif - printk(KERN_INFO "serio: %s port at 0x%p irq %d @ %s\n", + pr_info("serio: %s port at 0x%08lx irq %d @ %s\n", ps2port->port->name, - ps2port->addr, + hpa, ps2port->padev->irq, ps2port->port->phys); diff -Nru linux-4.19.87/drivers/input/serio/hp_sdc.c linux-4.19.98/drivers/input/serio/hp_sdc.c --- linux-4.19.87/drivers/input/serio/hp_sdc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/input/serio/hp_sdc.c 2020-01-23 07:21:39.000000000 +0000 @@ -884,8 +884,8 @@ "HP SDC NMI", &hp_sdc)) goto err2; - printk(KERN_INFO PREFIX "HP SDC at 0x%p, IRQ %d (NMI IRQ %d)\n", - (void *)hp_sdc.base_io, hp_sdc.irq, hp_sdc.nmi); + pr_info(PREFIX "HP SDC at 0x%08lx, IRQ %d (NMI IRQ %d)\n", + hp_sdc.base_io, hp_sdc.irq, hp_sdc.nmi); hp_sdc_status_in8(); hp_sdc_data_in8(); diff -Nru linux-4.19.87/drivers/input/touchscreen/atmel_mxt_ts.c linux-4.19.98/drivers/input/touchscreen/atmel_mxt_ts.c --- linux-4.19.87/drivers/input/touchscreen/atmel_mxt_ts.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/input/touchscreen/atmel_mxt_ts.c 2020-01-23 07:21:39.000000000 +0000 @@ -3162,6 +3162,8 @@ mutex_unlock(&input_dev->mutex); + disable_irq(data->irq); + return 0; } @@ -3174,6 +3176,8 @@ if (!input_dev) return 0; + enable_irq(data->irq); + mutex_lock(&input_dev->mutex); if (input_dev->users) diff -Nru linux-4.19.87/drivers/input/touchscreen/cyttsp4_core.c linux-4.19.98/drivers/input/touchscreen/cyttsp4_core.c --- linux-4.19.87/drivers/input/touchscreen/cyttsp4_core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/input/touchscreen/cyttsp4_core.c 2020-01-23 07:21:39.000000000 +0000 @@ -2000,11 +2000,6 @@ /* get sysinfo */ md->si = &cd->sysinfo; - if (!md->si) { - dev_err(dev, "%s: Fail get sysinfo pointer from core p=%p\n", - __func__, md->si); - goto error_get_sysinfo; - } rc = cyttsp4_setup_input_device(cd); if (rc) @@ -2014,8 +2009,6 @@ error_init_input: input_free_device(md->input); -error_get_sysinfo: - input_set_drvdata(md->input, NULL); error_alloc_failed: dev_err(dev, "%s failed.\n", __func__); return rc; diff -Nru linux-4.19.87/drivers/input/touchscreen/goodix.c linux-4.19.98/drivers/input/touchscreen/goodix.c --- linux-4.19.87/drivers/input/touchscreen/goodix.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/input/touchscreen/goodix.c 2020-01-23 07:21:39.000000000 +0000 @@ -128,6 +128,15 @@ static const struct dmi_system_id rotated_screen[] = { #if defined(CONFIG_DMI) && defined(CONFIG_X86) { + .ident = "Teclast X89", + .matches = { + /* tPAD is too generic, also match on bios date */ + DMI_MATCH(DMI_BOARD_VENDOR, "TECLAST"), + DMI_MATCH(DMI_BOARD_NAME, "tPAD"), + DMI_MATCH(DMI_BIOS_DATE, "12/19/2014"), + }, + }, + { .ident = "WinBook TW100", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "WinBook"), diff -Nru linux-4.19.87/drivers/iommu/amd_iommu.c linux-4.19.98/drivers/iommu/amd_iommu.c --- linux-4.19.87/drivers/iommu/amd_iommu.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/iommu/amd_iommu.c 2020-01-23 07:21:39.000000000 +0000 @@ -139,10 +139,14 @@ static inline int match_hid_uid(struct device *dev, struct acpihid_map_entry *entry) { + struct acpi_device *adev = ACPI_COMPANION(dev); const char *hid, *uid; - hid = acpi_device_hid(ACPI_COMPANION(dev)); - uid = acpi_device_uid(ACPI_COMPANION(dev)); + if (!adev) + return -ENODEV; + + hid = acpi_device_hid(adev); + uid = acpi_device_uid(adev); if (!hid || !(*hid)) return -ENODEV; @@ -545,7 +549,7 @@ dev_data = get_dev_data(&pdev->dev); if (dev_data && __ratelimit(&dev_data->rs)) { - dev_err(&pdev->dev, "AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x%04x address=0x%016llx flags=0x%04x]\n", + dev_err(&pdev->dev, "Event logged [IO_PAGE_FAULT domain=0x%04x address=0x%016llx flags=0x%04x]\n", domain_id, address, flags); } else if (printk_ratelimit()) { pr_err("AMD-Vi: Event logged [IO_PAGE_FAULT device=%02x:%02x.%x domain=0x%04x address=0x%016llx flags=0x%04x]\n", @@ -585,43 +589,41 @@ if (type == EVENT_TYPE_IO_FAULT) { amd_iommu_report_page_fault(devid, pasid, address, flags); return; - } else { - dev_err(dev, "AMD-Vi: Event logged ["); } switch (type) { case EVENT_TYPE_ILL_DEV: - dev_err(dev, "ILLEGAL_DEV_TABLE_ENTRY device=%02x:%02x.%x pasid=0x%05x address=0x%016llx flags=0x%04x]\n", + dev_err(dev, "Event logged [ILLEGAL_DEV_TABLE_ENTRY device=%02x:%02x.%x pasid=0x%05x address=0x%016llx flags=0x%04x]\n", PCI_BUS_NUM(devid), PCI_SLOT(devid), PCI_FUNC(devid), pasid, address, flags); dump_dte_entry(devid); break; case EVENT_TYPE_DEV_TAB_ERR: - dev_err(dev, "DEV_TAB_HARDWARE_ERROR device=%02x:%02x.%x " + dev_err(dev, "Event logged [DEV_TAB_HARDWARE_ERROR device=%02x:%02x.%x " "address=0x%016llx flags=0x%04x]\n", PCI_BUS_NUM(devid), PCI_SLOT(devid), PCI_FUNC(devid), address, flags); break; case EVENT_TYPE_PAGE_TAB_ERR: - dev_err(dev, "PAGE_TAB_HARDWARE_ERROR device=%02x:%02x.%x domain=0x%04x address=0x%016llx flags=0x%04x]\n", + dev_err(dev, "Event logged [PAGE_TAB_HARDWARE_ERROR device=%02x:%02x.%x domain=0x%04x address=0x%016llx flags=0x%04x]\n", PCI_BUS_NUM(devid), PCI_SLOT(devid), PCI_FUNC(devid), pasid, address, flags); break; case EVENT_TYPE_ILL_CMD: - dev_err(dev, "ILLEGAL_COMMAND_ERROR address=0x%016llx]\n", address); + dev_err(dev, "Event logged [ILLEGAL_COMMAND_ERROR address=0x%016llx]\n", address); dump_command(address); break; case EVENT_TYPE_CMD_HARD_ERR: - dev_err(dev, "COMMAND_HARDWARE_ERROR address=0x%016llx flags=0x%04x]\n", + dev_err(dev, "Event logged [COMMAND_HARDWARE_ERROR address=0x%016llx flags=0x%04x]\n", address, flags); break; case EVENT_TYPE_IOTLB_INV_TO: - dev_err(dev, "IOTLB_INV_TIMEOUT device=%02x:%02x.%x address=0x%016llx]\n", + dev_err(dev, "Event logged [IOTLB_INV_TIMEOUT device=%02x:%02x.%x address=0x%016llx]\n", PCI_BUS_NUM(devid), PCI_SLOT(devid), PCI_FUNC(devid), address); break; case EVENT_TYPE_INV_DEV_REQ: - dev_err(dev, "INVALID_DEVICE_REQUEST device=%02x:%02x.%x pasid=0x%05x address=0x%016llx flags=0x%04x]\n", + dev_err(dev, "Event logged [INVALID_DEVICE_REQUEST device=%02x:%02x.%x pasid=0x%05x address=0x%016llx flags=0x%04x]\n", PCI_BUS_NUM(devid), PCI_SLOT(devid), PCI_FUNC(devid), pasid, address, flags); break; @@ -629,12 +631,12 @@ pasid = ((event[0] >> 16) & 0xFFFF) | ((event[1] << 6) & 0xF0000); tag = event[1] & 0x03FF; - dev_err(dev, "INVALID_PPR_REQUEST device=%02x:%02x.%x pasid=0x%05x address=0x%016llx flags=0x%04x]\n", + dev_err(dev, "Event logged [INVALID_PPR_REQUEST device=%02x:%02x.%x pasid=0x%05x address=0x%016llx flags=0x%04x]\n", PCI_BUS_NUM(devid), PCI_SLOT(devid), PCI_FUNC(devid), pasid, address, flags); break; default: - dev_err(dev, "UNKNOWN event[0]=0x%08x event[1]=0x%08x event[2]=0x%08x event[3]=0x%08x\n", + dev_err(dev, "Event logged [UNKNOWN event[0]=0x%08x event[1]=0x%08x event[2]=0x%08x event[3]=0x%08x\n", event[0], event[1], event[2], event[3]); } diff -Nru linux-4.19.87/drivers/iommu/iommu.c linux-4.19.98/drivers/iommu/iommu.c --- linux-4.19.87/drivers/iommu/iommu.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/iommu/iommu.c 2020-01-23 07:21:39.000000000 +0000 @@ -650,6 +650,7 @@ mutex_unlock(&group->mutex); dev->iommu_group = NULL; kobject_put(group->devices_kobj); + sysfs_remove_link(group->devices_kobj, device->name); err_free_name: kfree(device->name); err_remove_link: diff -Nru linux-4.19.87/drivers/iommu/iova.c linux-4.19.98/drivers/iommu/iova.c --- linux-4.19.87/drivers/iommu/iova.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/iommu/iova.c 2020-01-23 07:21:39.000000000 +0000 @@ -236,7 +236,7 @@ struct iova *alloc_iova_mem(void) { - return kmem_cache_alloc(iova_cache, GFP_ATOMIC); + return kmem_cache_zalloc(iova_cache, GFP_ATOMIC); } EXPORT_SYMBOL(alloc_iova_mem); diff -Nru linux-4.19.87/drivers/iommu/mtk_iommu.c linux-4.19.98/drivers/iommu/mtk_iommu.c --- linux-4.19.87/drivers/iommu/mtk_iommu.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/iommu/mtk_iommu.c 2020-01-23 07:21:39.000000000 +0000 @@ -394,7 +394,7 @@ static void mtk_iommu_iotlb_sync(struct iommu_domain *domain) { - mtk_iommu_tlb_sync(mtk_iommu_get_m4u_data()); + mtk_iommu_tlb_flush_all(mtk_iommu_get_m4u_data()); } static phys_addr_t mtk_iommu_iova_to_phys(struct iommu_domain *domain, diff -Nru linux-4.19.87/drivers/iommu/rockchip-iommu.c linux-4.19.98/drivers/iommu/rockchip-iommu.c --- linux-4.19.87/drivers/iommu/rockchip-iommu.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/iommu/rockchip-iommu.c 2020-01-23 07:21:39.000000000 +0000 @@ -977,13 +977,13 @@ if (!dma_dev) return NULL; - rk_domain = devm_kzalloc(dma_dev, sizeof(*rk_domain), GFP_KERNEL); + rk_domain = kzalloc(sizeof(*rk_domain), GFP_KERNEL); if (!rk_domain) return NULL; if (type == IOMMU_DOMAIN_DMA && iommu_get_dma_cookie(&rk_domain->domain)) - return NULL; + goto err_free_domain; /* * rk32xx iommus use a 2 level pagetable. @@ -1018,6 +1018,8 @@ err_put_cookie: if (type == IOMMU_DOMAIN_DMA) iommu_put_dma_cookie(&rk_domain->domain); +err_free_domain: + kfree(rk_domain); return NULL; } @@ -1046,6 +1048,7 @@ if (domain->type == IOMMU_DOMAIN_DMA) iommu_put_dma_cookie(&rk_domain->domain); + kfree(rk_domain); } static int rk_iommu_add_device(struct device *dev) diff -Nru linux-4.19.87/drivers/iommu/tegra-smmu.c linux-4.19.98/drivers/iommu/tegra-smmu.c --- linux-4.19.87/drivers/iommu/tegra-smmu.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/iommu/tegra-smmu.c 2020-01-23 07:21:39.000000000 +0000 @@ -164,9 +164,9 @@ return (addr & smmu->pfn_mask) == addr; } -static dma_addr_t smmu_pde_to_dma(u32 pde) +static dma_addr_t smmu_pde_to_dma(struct tegra_smmu *smmu, u32 pde) { - return pde << 12; + return (dma_addr_t)(pde & smmu->pfn_mask) << 12; } static void smmu_flush_ptc_all(struct tegra_smmu *smmu) @@ -551,6 +551,7 @@ dma_addr_t *dmap) { unsigned int pd_index = iova_pd_index(iova); + struct tegra_smmu *smmu = as->smmu; struct page *pt_page; u32 *pd; @@ -559,7 +560,7 @@ return NULL; pd = page_address(as->pd); - *dmap = smmu_pde_to_dma(pd[pd_index]); + *dmap = smmu_pde_to_dma(smmu, pd[pd_index]); return tegra_smmu_pte_offset(pt_page, iova); } @@ -601,7 +602,7 @@ } else { u32 *pd = page_address(as->pd); - *dmap = smmu_pde_to_dma(pd[pde]); + *dmap = smmu_pde_to_dma(smmu, pd[pde]); } return tegra_smmu_pte_offset(as->pts[pde], iova); @@ -626,7 +627,7 @@ if (--as->count[pde] == 0) { struct tegra_smmu *smmu = as->smmu; u32 *pd = page_address(as->pd); - dma_addr_t pte_dma = smmu_pde_to_dma(pd[pde]); + dma_addr_t pte_dma = smmu_pde_to_dma(smmu, pd[pde]); tegra_smmu_set_pde(as, iova, 0); diff -Nru linux-4.19.87/drivers/irqchip/Kconfig linux-4.19.98/drivers/irqchip/Kconfig --- linux-4.19.87/drivers/irqchip/Kconfig 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/irqchip/Kconfig 2020-01-23 07:21:39.000000000 +0000 @@ -371,8 +371,6 @@ Power Domain Controller driver to manage and configure wakeup IRQs for Qualcomm Technologies Inc (QTI) mobile chips. -endmenu - config SIFIVE_PLIC bool "SiFive Platform-Level Interrupt Controller" depends on RISCV @@ -384,3 +382,5 @@ interrupt sources are subordinate to the PLIC. If you don't know what to do here, say Y. + +endmenu diff -Nru linux-4.19.87/drivers/irqchip/irq-bcm7038-l1.c linux-4.19.98/drivers/irqchip/irq-bcm7038-l1.c --- linux-4.19.87/drivers/irqchip/irq-bcm7038-l1.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/irqchip/irq-bcm7038-l1.c 2020-01-23 07:21:39.000000000 +0000 @@ -284,6 +284,10 @@ pr_err("failed to map parent interrupt %d\n", parent_irq); return -EINVAL; } + + if (of_property_read_bool(dn, "brcm,irq-can-wake")) + enable_irq_wake(parent_irq); + irq_set_chained_handler_and_data(parent_irq, bcm7038_l1_irq_handle, intc); diff -Nru linux-4.19.87/drivers/irqchip/irq-ingenic.c linux-4.19.98/drivers/irqchip/irq-ingenic.c --- linux-4.19.87/drivers/irqchip/irq-ingenic.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/irqchip/irq-ingenic.c 2020-01-23 07:21:39.000000000 +0000 @@ -117,6 +117,14 @@ goto out_unmap_irq; } + domain = irq_domain_add_legacy(node, num_chips * 32, + JZ4740_IRQ_BASE, 0, + &irq_domain_simple_ops, NULL); + if (!domain) { + err = -ENOMEM; + goto out_unmap_base; + } + for (i = 0; i < num_chips; i++) { /* Mask all irqs */ writel(0xffffffff, intc->base + (i * CHIP_SIZE) + @@ -143,14 +151,11 @@ IRQ_NOPROBE | IRQ_LEVEL); } - domain = irq_domain_add_legacy(node, num_chips * 32, JZ4740_IRQ_BASE, 0, - &irq_domain_simple_ops, NULL); - if (!domain) - pr_warn("unable to register IRQ domain\n"); - setup_irq(parent_irq, &intc_cascade_action); return 0; +out_unmap_base: + iounmap(intc->base); out_unmap_irq: irq_dispose_mapping(parent_irq); out_free: diff -Nru linux-4.19.87/drivers/isdn/gigaset/usb-gigaset.c linux-4.19.98/drivers/isdn/gigaset/usb-gigaset.c --- linux-4.19.87/drivers/isdn/gigaset/usb-gigaset.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/isdn/gigaset/usb-gigaset.c 2020-01-23 07:21:39.000000000 +0000 @@ -574,8 +574,7 @@ { struct usb_cardstate *ucs; - cs->hw.usb = ucs = - kmalloc(sizeof(struct usb_cardstate), GFP_KERNEL); + cs->hw.usb = ucs = kzalloc(sizeof(struct usb_cardstate), GFP_KERNEL); if (!ucs) { pr_err("out of memory\n"); return -ENOMEM; @@ -587,9 +586,6 @@ ucs->bchars[3] = 0; ucs->bchars[4] = 0x11; ucs->bchars[5] = 0x13; - ucs->bulk_out_buffer = NULL; - ucs->bulk_out_urb = NULL; - ucs->read_urb = NULL; tasklet_init(&cs->write_tasklet, gigaset_modem_fill, (unsigned long) cs); @@ -688,6 +684,11 @@ return -ENODEV; } + if (hostif->desc.bNumEndpoints < 2) { + dev_err(&interface->dev, "missing endpoints\n"); + return -ENODEV; + } + dev_info(&udev->dev, "%s: Device matched ... !\n", __func__); /* allocate memory for our device state and initialize it */ @@ -707,6 +708,12 @@ endpoint = &hostif->endpoint[0].desc; + if (!usb_endpoint_is_bulk_out(endpoint)) { + dev_err(&interface->dev, "missing bulk-out endpoint\n"); + retval = -ENODEV; + goto error; + } + buffer_size = le16_to_cpu(endpoint->wMaxPacketSize); ucs->bulk_out_size = buffer_size; ucs->bulk_out_epnum = usb_endpoint_num(endpoint); @@ -726,6 +733,12 @@ endpoint = &hostif->endpoint[1].desc; + if (!usb_endpoint_is_int_in(endpoint)) { + dev_err(&interface->dev, "missing int-in endpoint\n"); + retval = -ENODEV; + goto error; + } + ucs->busy = 0; ucs->read_urb = usb_alloc_urb(0, GFP_KERNEL); diff -Nru linux-4.19.87/drivers/leds/leds-lm3692x.c linux-4.19.98/drivers/leds/leds-lm3692x.c --- linux-4.19.87/drivers/leds/leds-lm3692x.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/leds/leds-lm3692x.c 2020-01-23 07:21:39.000000000 +0000 @@ -337,9 +337,18 @@ return ret; } - led->regulator = devm_regulator_get(&led->client->dev, "vled"); - if (IS_ERR(led->regulator)) + led->regulator = devm_regulator_get_optional(&led->client->dev, "vled"); + if (IS_ERR(led->regulator)) { + ret = PTR_ERR(led->regulator); + if (ret != -ENODEV) { + if (ret != -EPROBE_DEFER) + dev_err(&led->client->dev, + "Failed to get vled regulator: %d\n", + ret); + return ret; + } led->regulator = NULL; + } child = device_get_next_child_node(&led->client->dev, child); if (!child) { diff -Nru linux-4.19.87/drivers/leds/trigger/ledtrig-netdev.c linux-4.19.98/drivers/leds/trigger/ledtrig-netdev.c --- linux-4.19.87/drivers/leds/trigger/ledtrig-netdev.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/leds/trigger/ledtrig-netdev.c 2020-01-23 07:21:39.000000000 +0000 @@ -302,10 +302,12 @@ container_of(nb, struct led_netdev_data, notifier); if (evt != NETDEV_UP && evt != NETDEV_DOWN && evt != NETDEV_CHANGE - && evt != NETDEV_REGISTER && evt != NETDEV_UNREGISTER) + && evt != NETDEV_REGISTER && evt != NETDEV_UNREGISTER + && evt != NETDEV_CHANGENAME) return NOTIFY_DONE; if (!(dev == trigger_data->net_dev || + (evt == NETDEV_CHANGENAME && !strcmp(dev->name, trigger_data->device_name)) || (evt == NETDEV_REGISTER && !strcmp(dev->name, trigger_data->device_name)))) return NOTIFY_DONE; @@ -315,6 +317,7 @@ clear_bit(NETDEV_LED_MODE_LINKUP, &trigger_data->mode); switch (evt) { + case NETDEV_CHANGENAME: case NETDEV_REGISTER: if (trigger_data->net_dev) dev_put(trigger_data->net_dev); diff -Nru linux-4.19.87/drivers/mailbox/imx-mailbox.c linux-4.19.98/drivers/mailbox/imx-mailbox.c --- linux-4.19.87/drivers/mailbox/imx-mailbox.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mailbox/imx-mailbox.c 2020-01-23 07:21:39.000000000 +0000 @@ -214,8 +214,10 @@ struct imx_mu_priv *priv = to_imx_mu_priv(chan->mbox); struct imx_mu_con_priv *cp = chan->con_priv; - if (cp->type == IMX_MU_TYPE_TXDB) + if (cp->type == IMX_MU_TYPE_TXDB) { tasklet_kill(&cp->txdb_tasklet); + return; + } imx_mu_xcr_rmw(priv, 0, IMX_MU_xCR_TIEn(cp->idx) | IMX_MU_xCR_RIEn(cp->idx)); diff -Nru linux-4.19.87/drivers/mailbox/mailbox-test.c linux-4.19.98/drivers/mailbox/mailbox-test.c --- linux-4.19.87/drivers/mailbox/mailbox-test.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mailbox/mailbox-test.c 2020-01-23 07:21:39.000000000 +0000 @@ -363,22 +363,24 @@ /* It's okay for MMIO to be NULL */ res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - size = resource_size(res); tdev->tx_mmio = devm_ioremap_resource(&pdev->dev, res); - if (PTR_ERR(tdev->tx_mmio) == -EBUSY) + if (PTR_ERR(tdev->tx_mmio) == -EBUSY) { /* if reserved area in SRAM, try just ioremap */ + size = resource_size(res); tdev->tx_mmio = devm_ioremap(&pdev->dev, res->start, size); - else if (IS_ERR(tdev->tx_mmio)) + } else if (IS_ERR(tdev->tx_mmio)) { tdev->tx_mmio = NULL; + } /* If specified, second reg entry is Rx MMIO */ res = platform_get_resource(pdev, IORESOURCE_MEM, 1); - size = resource_size(res); tdev->rx_mmio = devm_ioremap_resource(&pdev->dev, res); - if (PTR_ERR(tdev->rx_mmio) == -EBUSY) + if (PTR_ERR(tdev->rx_mmio) == -EBUSY) { + size = resource_size(res); tdev->rx_mmio = devm_ioremap(&pdev->dev, res->start, size); - else if (IS_ERR(tdev->rx_mmio)) + } else if (IS_ERR(tdev->rx_mmio)) { tdev->rx_mmio = tdev->tx_mmio; + } tdev->tx_channel = mbox_test_request_channel(pdev, "tx"); tdev->rx_channel = mbox_test_request_channel(pdev, "rx"); diff -Nru linux-4.19.87/drivers/mailbox/stm32-ipcc.c linux-4.19.98/drivers/mailbox/stm32-ipcc.c --- linux-4.19.87/drivers/mailbox/stm32-ipcc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mailbox/stm32-ipcc.c 2020-01-23 07:21:39.000000000 +0000 @@ -50,6 +50,7 @@ void __iomem *reg_base; void __iomem *reg_proc; struct clk *clk; + spinlock_t lock; /* protect access to IPCC registers */ int irqs[IPCC_IRQ_NUM]; int wkp; u32 proc_id; @@ -58,14 +59,24 @@ u32 xmr; }; -static inline void stm32_ipcc_set_bits(void __iomem *reg, u32 mask) +static inline void stm32_ipcc_set_bits(spinlock_t *lock, void __iomem *reg, + u32 mask) { + unsigned long flags; + + spin_lock_irqsave(lock, flags); writel_relaxed(readl_relaxed(reg) | mask, reg); + spin_unlock_irqrestore(lock, flags); } -static inline void stm32_ipcc_clr_bits(void __iomem *reg, u32 mask) +static inline void stm32_ipcc_clr_bits(spinlock_t *lock, void __iomem *reg, + u32 mask) { + unsigned long flags; + + spin_lock_irqsave(lock, flags); writel_relaxed(readl_relaxed(reg) & ~mask, reg); + spin_unlock_irqrestore(lock, flags); } static irqreturn_t stm32_ipcc_rx_irq(int irq, void *data) @@ -92,7 +103,7 @@ mbox_chan_received_data(&ipcc->controller.chans[chan], NULL); - stm32_ipcc_set_bits(ipcc->reg_proc + IPCC_XSCR, + stm32_ipcc_set_bits(&ipcc->lock, ipcc->reg_proc + IPCC_XSCR, RX_BIT_CHAN(chan)); ret = IRQ_HANDLED; @@ -121,7 +132,7 @@ dev_dbg(dev, "%s: chan:%d tx\n", __func__, chan); /* mask 'tx channel free' interrupt */ - stm32_ipcc_set_bits(ipcc->reg_proc + IPCC_XMR, + stm32_ipcc_set_bits(&ipcc->lock, ipcc->reg_proc + IPCC_XMR, TX_BIT_CHAN(chan)); mbox_chan_txdone(&ipcc->controller.chans[chan], 0); @@ -141,10 +152,12 @@ dev_dbg(ipcc->controller.dev, "%s: chan:%d\n", __func__, chan); /* set channel n occupied */ - stm32_ipcc_set_bits(ipcc->reg_proc + IPCC_XSCR, TX_BIT_CHAN(chan)); + stm32_ipcc_set_bits(&ipcc->lock, ipcc->reg_proc + IPCC_XSCR, + TX_BIT_CHAN(chan)); /* unmask 'tx channel free' interrupt */ - stm32_ipcc_clr_bits(ipcc->reg_proc + IPCC_XMR, TX_BIT_CHAN(chan)); + stm32_ipcc_clr_bits(&ipcc->lock, ipcc->reg_proc + IPCC_XMR, + TX_BIT_CHAN(chan)); return 0; } @@ -163,7 +176,8 @@ } /* unmask 'rx channel occupied' interrupt */ - stm32_ipcc_clr_bits(ipcc->reg_proc + IPCC_XMR, RX_BIT_CHAN(chan)); + stm32_ipcc_clr_bits(&ipcc->lock, ipcc->reg_proc + IPCC_XMR, + RX_BIT_CHAN(chan)); return 0; } @@ -175,7 +189,7 @@ controller); /* mask rx/tx interrupt */ - stm32_ipcc_set_bits(ipcc->reg_proc + IPCC_XMR, + stm32_ipcc_set_bits(&ipcc->lock, ipcc->reg_proc + IPCC_XMR, RX_BIT_CHAN(chan) | TX_BIT_CHAN(chan)); clk_disable_unprepare(ipcc->clk); @@ -208,6 +222,8 @@ if (!ipcc) return -ENOMEM; + spin_lock_init(&ipcc->lock); + /* proc_id */ if (of_property_read_u32(np, "st,proc-id", &ipcc->proc_id)) { dev_err(dev, "Missing st,proc-id\n"); @@ -259,9 +275,10 @@ } /* mask and enable rx/tx irq */ - stm32_ipcc_set_bits(ipcc->reg_proc + IPCC_XMR, + stm32_ipcc_set_bits(&ipcc->lock, ipcc->reg_proc + IPCC_XMR, RX_BIT_MASK | TX_BIT_MASK); - stm32_ipcc_set_bits(ipcc->reg_proc + IPCC_XCR, XCR_RXOIE | XCR_TXOIE); + stm32_ipcc_set_bits(&ipcc->lock, ipcc->reg_proc + IPCC_XCR, + XCR_RXOIE | XCR_TXOIE); /* wakeup */ if (of_property_read_bool(np, "wakeup-source")) { diff -Nru linux-4.19.87/drivers/md/bcache/alloc.c linux-4.19.98/drivers/md/bcache/alloc.c --- linux-4.19.87/drivers/md/bcache/alloc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/bcache/alloc.c 2020-01-23 07:21:39.000000000 +0000 @@ -377,7 +377,10 @@ if (!fifo_full(&ca->free_inc)) goto retry_invalidate; - bch_prio_write(ca); + if (bch_prio_write(ca, false) < 0) { + ca->invalidate_needs_gc = 1; + wake_up_gc(ca->set); + } } } out: diff -Nru linux-4.19.87/drivers/md/bcache/bcache.h linux-4.19.98/drivers/md/bcache/bcache.h --- linux-4.19.87/drivers/md/bcache/bcache.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/bcache/bcache.h 2020-01-23 07:21:39.000000000 +0000 @@ -959,7 +959,7 @@ __printf(2, 3) bool bch_cache_set_error(struct cache_set *c, const char *fmt, ...); -void bch_prio_write(struct cache *ca); +int bch_prio_write(struct cache *ca, bool wait); void bch_write_bdev_super(struct cached_dev *dc, struct closure *parent); extern struct workqueue_struct *bcache_wq; diff -Nru linux-4.19.87/drivers/md/bcache/btree.c linux-4.19.98/drivers/md/bcache/btree.c --- linux-4.19.87/drivers/md/bcache/btree.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/bcache/btree.c 2020-01-23 07:21:39.000000000 +0000 @@ -713,6 +713,8 @@ * IO can always make forward progress: */ nr /= c->btree_pages; + if (nr == 0) + nr = 1; nr = min_t(unsigned long, nr, mca_can_free(c)); i = 0; diff -Nru linux-4.19.87/drivers/md/bcache/debug.c linux-4.19.98/drivers/md/bcache/debug.c --- linux-4.19.87/drivers/md/bcache/debug.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/bcache/debug.c 2020-01-23 07:21:39.000000000 +0000 @@ -249,8 +249,7 @@ void bch_debug_exit(void) { - if (!IS_ERR_OR_NULL(bcache_debug)) - debugfs_remove_recursive(bcache_debug); + debugfs_remove_recursive(bcache_debug); } void __init bch_debug_init(struct kobject *kobj) diff -Nru linux-4.19.87/drivers/md/bcache/super.c linux-4.19.98/drivers/md/bcache/super.c --- linux-4.19.87/drivers/md/bcache/super.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/bcache/super.c 2020-01-23 07:21:39.000000000 +0000 @@ -525,12 +525,29 @@ closure_sync(cl); } -void bch_prio_write(struct cache *ca) +int bch_prio_write(struct cache *ca, bool wait) { int i; struct bucket *b; struct closure cl; + pr_debug("free_prio=%zu, free_none=%zu, free_inc=%zu", + fifo_used(&ca->free[RESERVE_PRIO]), + fifo_used(&ca->free[RESERVE_NONE]), + fifo_used(&ca->free_inc)); + + /* + * Pre-check if there are enough free buckets. In the non-blocking + * scenario it's better to fail early rather than starting to allocate + * buckets and do a cleanup later in case of failure. + */ + if (!wait) { + size_t avail = fifo_used(&ca->free[RESERVE_PRIO]) + + fifo_used(&ca->free[RESERVE_NONE]); + if (prio_buckets(ca) > avail) + return -ENOMEM; + } + closure_init_stack(&cl); lockdep_assert_held(&ca->set->bucket_lock); @@ -540,9 +557,6 @@ atomic_long_add(ca->sb.bucket_size * prio_buckets(ca), &ca->meta_sectors_written); - //pr_debug("free %zu, free_inc %zu, unused %zu", fifo_used(&ca->free), - // fifo_used(&ca->free_inc), fifo_used(&ca->unused)); - for (i = prio_buckets(ca) - 1; i >= 0; --i) { long bucket; struct prio_set *p = ca->disk_buckets; @@ -560,7 +574,7 @@ p->magic = pset_magic(&ca->sb); p->csum = bch_crc64(&p->magic, bucket_bytes(ca) - 8); - bucket = bch_bucket_alloc(ca, RESERVE_PRIO, true); + bucket = bch_bucket_alloc(ca, RESERVE_PRIO, wait); BUG_ON(bucket == -1); mutex_unlock(&ca->set->bucket_lock); @@ -589,6 +603,7 @@ ca->prio_last_buckets[i] = ca->prio_buckets[i]; } + return 0; } static void prio_read(struct cache *ca, uint64_t bucket) @@ -747,20 +762,28 @@ static void bcache_device_free(struct bcache_device *d) { + struct gendisk *disk = d->disk; + lockdep_assert_held(&bch_register_lock); - pr_info("%s stopped", d->disk->disk_name); + if (disk) + pr_info("%s stopped", disk->disk_name); + else + pr_err("bcache device (NULL gendisk) stopped"); if (d->c) bcache_device_detach(d); - if (d->disk && d->disk->flags & GENHD_FL_UP) - del_gendisk(d->disk); - if (d->disk && d->disk->queue) - blk_cleanup_queue(d->disk->queue); - if (d->disk) { + + if (disk) { + if (disk->flags & GENHD_FL_UP) + del_gendisk(disk); + + if (disk->queue) + blk_cleanup_queue(disk->queue); + ida_simple_remove(&bcache_device_idx, - first_minor_to_idx(d->disk->first_minor)); - put_disk(d->disk); + first_minor_to_idx(disk->first_minor)); + put_disk(disk); } bioset_exit(&d->bio_split); @@ -1491,8 +1514,7 @@ struct cache *ca; unsigned int i; - if (!IS_ERR_OR_NULL(c->debug)) - debugfs_remove(c->debug); + debugfs_remove(c->debug); bch_open_buckets_free(c); bch_btree_cache_free(c); @@ -1877,7 +1899,7 @@ mutex_lock(&c->bucket_lock); for_each_cache(ca, c, i) - bch_prio_write(ca); + bch_prio_write(ca, true); mutex_unlock(&c->bucket_lock); err = "cannot allocate new UUID bucket"; diff -Nru linux-4.19.87/drivers/md/bcache/writeback.c linux-4.19.98/drivers/md/bcache/writeback.c --- linux-4.19.87/drivers/md/bcache/writeback.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/bcache/writeback.c 2020-01-23 07:21:39.000000000 +0000 @@ -781,7 +781,7 @@ bch_keybuf_init(&dc->writeback_keys); dc->writeback_metadata = true; - dc->writeback_running = true; + dc->writeback_running = false; dc->writeback_percent = 10; dc->writeback_delay = 30; atomic_long_set(&dc->writeback_rate.rate, 1024); @@ -810,6 +810,7 @@ destroy_workqueue(dc->writeback_write_wq); return PTR_ERR(dc->writeback_thread); } + dc->writeback_running = true; WARN_ON(test_and_set_bit(BCACHE_DEV_WB_RUNNING, &dc->disk.flags)); schedule_delayed_work(&dc->writeback_rate_update, diff -Nru linux-4.19.87/drivers/md/dm-flakey.c linux-4.19.98/drivers/md/dm-flakey.c --- linux-4.19.87/drivers/md/dm-flakey.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/dm-flakey.c 2020-01-23 07:21:39.000000000 +0000 @@ -287,20 +287,31 @@ static void corrupt_bio_data(struct bio *bio, struct flakey_c *fc) { - unsigned bio_bytes = bio_cur_bytes(bio); - char *data = bio_data(bio); + unsigned int corrupt_bio_byte = fc->corrupt_bio_byte - 1; + + struct bvec_iter iter; + struct bio_vec bvec; + + if (!bio_has_data(bio)) + return; /* - * Overwrite the Nth byte of the data returned. + * Overwrite the Nth byte of the bio's data, on whichever page + * it falls. */ - if (data && bio_bytes >= fc->corrupt_bio_byte) { - data[fc->corrupt_bio_byte - 1] = fc->corrupt_bio_value; - - DMDEBUG("Corrupting data bio=%p by writing %u to byte %u " - "(rw=%c bi_opf=%u bi_sector=%llu cur_bytes=%u)\n", - bio, fc->corrupt_bio_value, fc->corrupt_bio_byte, - (bio_data_dir(bio) == WRITE) ? 'w' : 'r', bio->bi_opf, - (unsigned long long)bio->bi_iter.bi_sector, bio_bytes); + bio_for_each_segment(bvec, bio, iter) { + if (bio_iter_len(bio, iter) > corrupt_bio_byte) { + char *segment = (page_address(bio_iter_page(bio, iter)) + + bio_iter_offset(bio, iter)); + segment[corrupt_bio_byte] = fc->corrupt_bio_value; + DMDEBUG("Corrupting data bio=%p by writing %u to byte %u " + "(rw=%c bi_opf=%u bi_sector=%llu size=%u)\n", + bio, fc->corrupt_bio_value, fc->corrupt_bio_byte, + (bio_data_dir(bio) == WRITE) ? 'w' : 'r', bio->bi_opf, + (unsigned long long)bio->bi_iter.bi_sector, bio->bi_iter.bi_size); + break; + } + corrupt_bio_byte -= bio_iter_len(bio, iter); } } diff -Nru linux-4.19.87/drivers/md/dm-mpath.c linux-4.19.98/drivers/md/dm-mpath.c --- linux-4.19.87/drivers/md/dm-mpath.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/dm-mpath.c 2020-01-23 07:21:39.000000000 +0000 @@ -609,45 +609,10 @@ return pgpath; } -static struct pgpath *__map_bio_fast(struct multipath *m, struct bio *bio) -{ - struct pgpath *pgpath; - unsigned long flags; - - /* Do we need to select a new pgpath? */ - /* - * FIXME: currently only switching path if no path (due to failure, etc) - * - which negates the point of using a path selector - */ - pgpath = READ_ONCE(m->current_pgpath); - if (!pgpath) - pgpath = choose_pgpath(m, bio->bi_iter.bi_size); - - if (!pgpath) { - if (test_bit(MPATHF_QUEUE_IF_NO_PATH, &m->flags)) { - /* Queue for the daemon to resubmit */ - spin_lock_irqsave(&m->lock, flags); - bio_list_add(&m->queued_bios, bio); - spin_unlock_irqrestore(&m->lock, flags); - queue_work(kmultipathd, &m->process_queued_bios); - - return ERR_PTR(-EAGAIN); - } - return NULL; - } - - return pgpath; -} - static int __multipath_map_bio(struct multipath *m, struct bio *bio, struct dm_mpath_io *mpio) { - struct pgpath *pgpath; - - if (!m->hw_handler_name) - pgpath = __map_bio_fast(m, bio); - else - pgpath = __map_bio(m, bio); + struct pgpath *pgpath = __map_bio(m, bio); if (IS_ERR(pgpath)) return DM_MAPIO_SUBMITTED; diff -Nru linux-4.19.87/drivers/md/dm-raid.c linux-4.19.98/drivers/md/dm-raid.c --- linux-4.19.87/drivers/md/dm-raid.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/dm-raid.c 2020-01-23 07:21:39.000000000 +0000 @@ -3690,8 +3690,7 @@ set_bit(MD_RECOVERY_INTR, &mddev->recovery); md_reap_sync_thread(mddev); } - } else if (test_bit(MD_RECOVERY_RUNNING, &mddev->recovery) || - test_bit(MD_RECOVERY_NEEDED, &mddev->recovery)) + } else if (decipher_sync_action(mddev, mddev->recovery) != st_idle) return -EBUSY; else if (!strcasecmp(argv[0], "resync")) ; /* MD_RECOVERY_NEEDED set below */ diff -Nru linux-4.19.87/drivers/md/dm-snap-persistent.c linux-4.19.98/drivers/md/dm-snap-persistent.c --- linux-4.19.87/drivers/md/dm-snap-persistent.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/dm-snap-persistent.c 2020-01-23 07:21:39.000000000 +0000 @@ -17,7 +17,7 @@ #include #define DM_MSG_PREFIX "persistent snapshot" -#define DM_CHUNK_SIZE_DEFAULT_SECTORS 32 /* 16KB */ +#define DM_CHUNK_SIZE_DEFAULT_SECTORS 32U /* 16KB */ #define DM_PREFETCH_CHUNKS 12 diff -Nru linux-4.19.87/drivers/md/dm-writecache.c linux-4.19.98/drivers/md/dm-writecache.c --- linux-4.19.87/drivers/md/dm-writecache.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/dm-writecache.c 2020-01-23 07:21:39.000000000 +0000 @@ -1223,7 +1223,8 @@ } } while (bio->bi_iter.bi_size); - if (unlikely(wc->uncommitted_blocks >= wc->autocommit_blocks)) + if (unlikely(bio->bi_opf & REQ_FUA || + wc->uncommitted_blocks >= wc->autocommit_blocks)) writecache_flush(wc); else writecache_schedule_autocommit(wc); diff -Nru linux-4.19.87/drivers/md/dm-zoned-metadata.c linux-4.19.98/drivers/md/dm-zoned-metadata.c --- linux-4.19.87/drivers/md/dm-zoned-metadata.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/dm-zoned-metadata.c 2020-01-23 07:21:39.000000000 +0000 @@ -552,6 +552,7 @@ TASK_UNINTERRUPTIBLE); if (test_bit(DMZ_META_ERROR, &mblk->state)) { dmz_release_mblock(zmd, mblk); + dmz_check_bdev(zmd->dev); return ERR_PTR(-EIO); } @@ -623,6 +624,8 @@ ret = submit_bio_wait(bio); bio_put(bio); + if (ret) + dmz_check_bdev(zmd->dev); return ret; } @@ -689,6 +692,7 @@ TASK_UNINTERRUPTIBLE); if (test_bit(DMZ_META_ERROR, &mblk->state)) { clear_bit(DMZ_META_ERROR, &mblk->state); + dmz_check_bdev(zmd->dev); ret = -EIO; } nr_mblks_submitted--; @@ -766,7 +770,7 @@ /* If there are no dirty metadata blocks, just flush the device cache */ if (list_empty(&write_list)) { ret = blkdev_issue_flush(zmd->dev->bdev, GFP_NOIO, NULL); - goto out; + goto err; } /* @@ -776,7 +780,7 @@ */ ret = dmz_log_dirty_mblocks(zmd, &write_list); if (ret) - goto out; + goto err; /* * The log is on disk. It is now safe to update in place @@ -784,11 +788,11 @@ */ ret = dmz_write_dirty_mblocks(zmd, &write_list, zmd->mblk_primary); if (ret) - goto out; + goto err; ret = dmz_write_sb(zmd, zmd->mblk_primary); if (ret) - goto out; + goto err; while (!list_empty(&write_list)) { mblk = list_first_entry(&write_list, struct dmz_mblock, link); @@ -803,16 +807,20 @@ zmd->sb_gen++; out: - if (ret && !list_empty(&write_list)) { - spin_lock(&zmd->mblk_lock); - list_splice(&write_list, &zmd->mblk_dirty_list); - spin_unlock(&zmd->mblk_lock); - } - dmz_unlock_flush(zmd); up_write(&zmd->mblk_sem); return ret; + +err: + if (!list_empty(&write_list)) { + spin_lock(&zmd->mblk_lock); + list_splice(&write_list, &zmd->mblk_dirty_list); + spin_unlock(&zmd->mblk_lock); + } + if (!dmz_check_bdev(zmd->dev)) + ret = -EIO; + goto out; } /* @@ -1235,6 +1243,7 @@ if (ret) { dmz_dev_err(zmd->dev, "Get zone %u report failed", dmz_id(zmd, zone)); + dmz_check_bdev(zmd->dev); return ret; } diff -Nru linux-4.19.87/drivers/md/dm-zoned-reclaim.c linux-4.19.98/drivers/md/dm-zoned-reclaim.c --- linux-4.19.87/drivers/md/dm-zoned-reclaim.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/dm-zoned-reclaim.c 2020-01-23 07:21:39.000000000 +0000 @@ -81,6 +81,7 @@ "Align zone %u wp %llu to %llu (wp+%u) blocks failed %d", dmz_id(zmd, zone), (unsigned long long)wp_block, (unsigned long long)block, nr_blocks, ret); + dmz_check_bdev(zrc->dev); return ret; } @@ -488,12 +489,7 @@ ret = dmz_do_reclaim(zrc); if (ret) { dmz_dev_debug(zrc->dev, "Reclaim error %d\n", ret); - if (ret == -EIO) - /* - * LLD might be performing some error handling sequence - * at the underlying device. To not interfere, do not - * attempt to schedule the next reclaim run immediately. - */ + if (!dmz_check_bdev(zrc->dev)) return; } diff -Nru linux-4.19.87/drivers/md/dm-zoned-target.c linux-4.19.98/drivers/md/dm-zoned-target.c --- linux-4.19.87/drivers/md/dm-zoned-target.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/dm-zoned-target.c 2020-01-23 07:21:39.000000000 +0000 @@ -79,6 +79,8 @@ if (status != BLK_STS_OK && bio->bi_status == BLK_STS_OK) bio->bi_status = status; + if (bio->bi_status != BLK_STS_OK) + bioctx->target->dev->flags |= DMZ_CHECK_BDEV; if (atomic_dec_and_test(&bioctx->ref)) { struct dm_zone *zone = bioctx->zone; @@ -564,32 +566,52 @@ } /* - * Check the backing device availability. If it's on the way out, + * Check if the backing device is being removed. If it's on the way out, * start failing I/O. Reclaim and metadata components also call this * function to cleanly abort operation in the event of such failure. */ bool dmz_bdev_is_dying(struct dmz_dev *dmz_dev) { - struct gendisk *disk; + if (dmz_dev->flags & DMZ_BDEV_DYING) + return true; - if (!(dmz_dev->flags & DMZ_BDEV_DYING)) { - disk = dmz_dev->bdev->bd_disk; - if (blk_queue_dying(bdev_get_queue(dmz_dev->bdev))) { - dmz_dev_warn(dmz_dev, "Backing device queue dying"); - dmz_dev->flags |= DMZ_BDEV_DYING; - } else if (disk->fops->check_events) { - if (disk->fops->check_events(disk, 0) & - DISK_EVENT_MEDIA_CHANGE) { - dmz_dev_warn(dmz_dev, "Backing device offline"); - dmz_dev->flags |= DMZ_BDEV_DYING; - } - } + if (dmz_dev->flags & DMZ_CHECK_BDEV) + return !dmz_check_bdev(dmz_dev); + + if (blk_queue_dying(bdev_get_queue(dmz_dev->bdev))) { + dmz_dev_warn(dmz_dev, "Backing device queue dying"); + dmz_dev->flags |= DMZ_BDEV_DYING; } return dmz_dev->flags & DMZ_BDEV_DYING; } /* + * Check the backing device availability. This detects such events as + * backing device going offline due to errors, media removals, etc. + * This check is less efficient than dmz_bdev_is_dying() and should + * only be performed as a part of error handling. + */ +bool dmz_check_bdev(struct dmz_dev *dmz_dev) +{ + struct gendisk *disk; + + dmz_dev->flags &= ~DMZ_CHECK_BDEV; + + if (dmz_bdev_is_dying(dmz_dev)) + return false; + + disk = dmz_dev->bdev->bd_disk; + if (disk->fops->check_events && + disk->fops->check_events(disk, 0) & DISK_EVENT_MEDIA_CHANGE) { + dmz_dev_warn(dmz_dev, "Backing device offline"); + dmz_dev->flags |= DMZ_BDEV_DYING; + } + + return !(dmz_dev->flags & DMZ_BDEV_DYING); +} + +/* * Process a new BIO. */ static int dmz_map(struct dm_target *ti, struct bio *bio) @@ -902,8 +924,8 @@ { struct dmz_target *dmz = ti->private; - if (dmz_bdev_is_dying(dmz->dev)) - return -ENODEV; + if (!dmz_check_bdev(dmz->dev)) + return -EIO; *bdev = dmz->dev->bdev; diff -Nru linux-4.19.87/drivers/md/dm-zoned.h linux-4.19.98/drivers/md/dm-zoned.h --- linux-4.19.87/drivers/md/dm-zoned.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/dm-zoned.h 2020-01-23 07:21:39.000000000 +0000 @@ -71,6 +71,7 @@ /* Device flags. */ #define DMZ_BDEV_DYING (1 << 0) +#define DMZ_CHECK_BDEV (2 << 0) /* * Zone descriptor. @@ -254,5 +255,6 @@ * Functions defined in dm-zoned-target.c */ bool dmz_bdev_is_dying(struct dmz_dev *dmz_dev); +bool dmz_check_bdev(struct dmz_dev *dmz_dev); #endif /* DM_ZONED_H */ diff -Nru linux-4.19.87/drivers/md/md-bitmap.c linux-4.19.98/drivers/md/md-bitmap.c --- linux-4.19.87/drivers/md/md-bitmap.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/md-bitmap.c 2020-01-23 07:21:39.000000000 +0000 @@ -2132,6 +2132,7 @@ memcpy(page_address(store.sb_page), page_address(bitmap->storage.sb_page), sizeof(bitmap_super_t)); + spin_lock_irq(&bitmap->counts.lock); md_bitmap_file_unmap(&bitmap->storage); bitmap->storage = store; @@ -2147,7 +2148,6 @@ blocks = min(old_counts.chunks << old_counts.chunkshift, chunks << chunkshift); - spin_lock_irq(&bitmap->counts.lock); /* For cluster raid, need to pre-allocate bitmap */ if (mddev_is_clustered(bitmap->mddev)) { unsigned long page; diff -Nru linux-4.19.87/drivers/md/md-linear.c linux-4.19.98/drivers/md/md-linear.c --- linux-4.19.87/drivers/md/md-linear.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/md-linear.c 2020-01-23 07:21:39.000000000 +0000 @@ -252,10 +252,9 @@ sector_t start_sector, end_sector, data_offset; sector_t bio_sector = bio->bi_iter.bi_sector; - if (unlikely(bio->bi_opf & REQ_PREFLUSH)) { - md_flush_request(mddev, bio); + if (unlikely(bio->bi_opf & REQ_PREFLUSH) + && md_flush_request(mddev, bio)) return true; - } tmp_dev = which_dev(mddev, bio_sector); start_sector = tmp_dev->end_sector - tmp_dev->rdev->sectors; diff -Nru linux-4.19.87/drivers/md/md-multipath.c linux-4.19.98/drivers/md/md-multipath.c --- linux-4.19.87/drivers/md/md-multipath.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/md-multipath.c 2020-01-23 07:21:39.000000000 +0000 @@ -112,10 +112,9 @@ struct multipath_bh * mp_bh; struct multipath_info *multipath; - if (unlikely(bio->bi_opf & REQ_PREFLUSH)) { - md_flush_request(mddev, bio); + if (unlikely(bio->bi_opf & REQ_PREFLUSH) + && md_flush_request(mddev, bio)) return true; - } mp_bh = mempool_alloc(&conf->pool, GFP_NOIO); diff -Nru linux-4.19.87/drivers/md/md.c linux-4.19.98/drivers/md/md.c --- linux-4.19.87/drivers/md/md.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/md.c 2020-01-23 07:21:39.000000000 +0000 @@ -487,7 +487,13 @@ } } -void md_flush_request(struct mddev *mddev, struct bio *bio) +/* + * Manages consolidation of flushes and submitting any flushes needed for + * a bio with REQ_PREFLUSH. Returns true if the bio is finished or is + * being finished in another context. Returns false if the flushing is + * complete but still needs the I/O portion of the bio to be processed. + */ +bool md_flush_request(struct mddev *mddev, struct bio *bio) { ktime_t start = ktime_get_boottime(); spin_lock_irq(&mddev->lock); @@ -512,9 +518,10 @@ bio_endio(bio); else { bio->bi_opf &= ~REQ_PREFLUSH; - mddev->pers->make_request(mddev, bio); + return false; } } + return true; } EXPORT_SYMBOL(md_flush_request); diff -Nru linux-4.19.87/drivers/md/md.h linux-4.19.98/drivers/md/md.h --- linux-4.19.87/drivers/md/md.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/md.h 2020-01-23 07:21:39.000000000 +0000 @@ -532,7 +532,7 @@ int level; struct list_head list; struct module *owner; - bool (*make_request)(struct mddev *mddev, struct bio *bio); + bool __must_check (*make_request)(struct mddev *mddev, struct bio *bio); /* * start up works that do NOT require md_thread. tasks that * requires md_thread should go into start() @@ -684,7 +684,7 @@ extern void md_finish_reshape(struct mddev *mddev); extern int mddev_congested(struct mddev *mddev, int bits); -extern void md_flush_request(struct mddev *mddev, struct bio *bio); +extern bool __must_check md_flush_request(struct mddev *mddev, struct bio *bio); extern void md_super_write(struct mddev *mddev, struct md_rdev *rdev, sector_t sector, int size, struct page *page); extern int md_super_wait(struct mddev *mddev); diff -Nru linux-4.19.87/drivers/md/persistent-data/dm-btree-remove.c linux-4.19.98/drivers/md/persistent-data/dm-btree-remove.c --- linux-4.19.87/drivers/md/persistent-data/dm-btree-remove.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/persistent-data/dm-btree-remove.c 2020-01-23 07:21:39.000000000 +0000 @@ -203,7 +203,13 @@ struct btree_node *right = r->n; uint32_t nr_left = le32_to_cpu(left->header.nr_entries); uint32_t nr_right = le32_to_cpu(right->header.nr_entries); - unsigned threshold = 2 * merge_threshold(left) + 1; + /* + * Ensure the number of entries in each child will be greater + * than or equal to (max_entries / 3 + 1), so no matter which + * child is used for removal, the number will still be not + * less than (max_entries / 3). + */ + unsigned int threshold = 2 * (merge_threshold(left) + 1); if (nr_left + nr_right < threshold) { /* diff -Nru linux-4.19.87/drivers/md/raid0.c linux-4.19.98/drivers/md/raid0.c --- linux-4.19.87/drivers/md/raid0.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/raid0.c 2020-01-23 07:21:39.000000000 +0000 @@ -94,7 +94,7 @@ char b[BDEVNAME_SIZE]; char b2[BDEVNAME_SIZE]; struct r0conf *conf = kzalloc(sizeof(*conf), GFP_KERNEL); - unsigned short blksize = 512; + unsigned blksize = 512; *private_conf = ERR_PTR(-ENOMEM); if (!conf) @@ -580,10 +580,9 @@ unsigned chunk_sects; unsigned sectors; - if (unlikely(bio->bi_opf & REQ_PREFLUSH)) { - md_flush_request(mddev, bio); + if (unlikely(bio->bi_opf & REQ_PREFLUSH) + && md_flush_request(mddev, bio)) return true; - } if (unlikely((bio_op(bio) == REQ_OP_DISCARD))) { raid0_handle_discard(mddev, bio); @@ -620,7 +619,7 @@ tmp_dev = map_sector(mddev, zone, sector, §or); break; default: - WARN("md/raid0:%s: Invalid layout\n", mdname(mddev)); + WARN(1, "md/raid0:%s: Invalid layout\n", mdname(mddev)); bio_io_error(bio); return true; } diff -Nru linux-4.19.87/drivers/md/raid1.c linux-4.19.98/drivers/md/raid1.c --- linux-4.19.87/drivers/md/raid1.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/raid1.c 2020-01-23 07:21:39.000000000 +0000 @@ -1537,10 +1537,9 @@ { sector_t sectors; - if (unlikely(bio->bi_opf & REQ_PREFLUSH)) { - md_flush_request(mddev, bio); + if (unlikely(bio->bi_opf & REQ_PREFLUSH) + && md_flush_request(mddev, bio)) return true; - } /* * There is a limit to the maximum size, but @@ -2757,7 +2756,7 @@ write_targets++; } } - if (bio->bi_end_io) { + if (rdev && bio->bi_end_io) { atomic_inc(&rdev->nr_pending); bio->bi_iter.bi_sector = sector_nr + rdev->data_offset; bio_set_dev(bio, rdev->bdev); diff -Nru linux-4.19.87/drivers/md/raid10.c linux-4.19.98/drivers/md/raid10.c --- linux-4.19.87/drivers/md/raid10.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/raid10.c 2020-01-23 07:21:39.000000000 +0000 @@ -1562,10 +1562,9 @@ int chunk_sects = chunk_mask + 1; int sectors = bio_sectors(bio); - if (unlikely(bio->bi_opf & REQ_PREFLUSH)) { - md_flush_request(mddev, bio); + if (unlikely(bio->bi_opf & REQ_PREFLUSH) + && md_flush_request(mddev, bio)) return true; - } if (!md_write_start(mddev, bio)) return false; diff -Nru linux-4.19.87/drivers/md/raid5.c linux-4.19.98/drivers/md/raid5.c --- linux-4.19.87/drivers/md/raid5.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/md/raid5.c 2020-01-23 07:21:39.000000000 +0000 @@ -5590,8 +5590,8 @@ if (ret == 0) return true; if (ret == -ENODEV) { - md_flush_request(mddev, bi); - return true; + if (md_flush_request(mddev, bi)) + return true; } /* ret == -EAGAIN, fallback */ /* @@ -5724,7 +5724,7 @@ do_flush = false; } - if (!sh->batch_head) + if (!sh->batch_head || sh == sh->batch_head) set_bit(STRIPE_HANDLE, &sh->state); clear_bit(STRIPE_DELAYED, &sh->state); if ((!sh->batch_head || sh == sh->batch_head) && diff -Nru linux-4.19.87/drivers/media/cec/cec-adap.c linux-4.19.98/drivers/media/cec/cec-adap.c --- linux-4.19.87/drivers/media/cec/cec-adap.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/cec/cec-adap.c 2020-01-23 07:21:39.000000000 +0000 @@ -365,7 +365,8 @@ } else { list_del_init(&data->list); if (!(data->msg.tx_status & CEC_TX_STATUS_OK)) - data->adap->transmit_queue_sz--; + if (!WARN_ON(!data->adap->transmit_queue_sz)) + data->adap->transmit_queue_sz--; } if (data->msg.tx_status & CEC_TX_STATUS_OK) { @@ -417,6 +418,14 @@ * need to do anything special in that case. */ } + /* + * If something went wrong and this counter isn't what it should + * be, then this will reset it back to 0. Warn if it is not 0, + * since it indicates a bug, either in this framework or in a + * CEC driver. + */ + if (WARN_ON(adap->transmit_queue_sz)) + adap->transmit_queue_sz = 0; } /* @@ -441,7 +450,7 @@ bool timeout = false; u8 attempts; - if (adap->transmitting) { + if (adap->transmit_in_progress) { int err; /* @@ -476,7 +485,7 @@ goto unlock; } - if (adap->transmitting && timeout) { + if (adap->transmit_in_progress && timeout) { /* * If we timeout, then log that. Normally this does * not happen and it is an indication of a faulty CEC @@ -485,14 +494,18 @@ * so much traffic on the bus that the adapter was * unable to transmit for CEC_XFER_TIMEOUT_MS (2.1s). */ - pr_warn("cec-%s: message %*ph timed out\n", adap->name, - adap->transmitting->msg.len, - adap->transmitting->msg.msg); + if (adap->transmitting) { + pr_warn("cec-%s: message %*ph timed out\n", adap->name, + adap->transmitting->msg.len, + adap->transmitting->msg.msg); + /* Just give up on this. */ + cec_data_cancel(adap->transmitting, + CEC_TX_STATUS_TIMEOUT); + } else { + pr_warn("cec-%s: transmit timed out\n", adap->name); + } adap->transmit_in_progress = false; adap->tx_timeouts++; - /* Just give up on this. */ - cec_data_cancel(adap->transmitting, - CEC_TX_STATUS_TIMEOUT); goto unlock; } @@ -507,7 +520,8 @@ data = list_first_entry(&adap->transmit_queue, struct cec_data, list); list_del_init(&data->list); - adap->transmit_queue_sz--; + if (!WARN_ON(!data->adap->transmit_queue_sz)) + adap->transmit_queue_sz--; /* Make this the current transmitting message */ adap->transmitting = data; @@ -1038,11 +1052,11 @@ valid_la = false; else if (!cec_msg_is_broadcast(msg) && !(dir_fl & DIRECTED)) valid_la = false; - else if (cec_msg_is_broadcast(msg) && !(dir_fl & BCAST1_4)) + else if (cec_msg_is_broadcast(msg) && !(dir_fl & BCAST)) valid_la = false; else if (cec_msg_is_broadcast(msg) && - adap->log_addrs.cec_version >= CEC_OP_CEC_VERSION_2_0 && - !(dir_fl & BCAST2_0)) + adap->log_addrs.cec_version < CEC_OP_CEC_VERSION_2_0 && + !(dir_fl & BCAST1_4)) valid_la = false; } if (valid_la && min_len) { @@ -1437,6 +1451,13 @@ las->log_addr[i], cec_phys_addr_exp(adap->phys_addr)); cec_transmit_msg_fh(adap, &msg, NULL, false); + + /* Report Vendor ID */ + if (adap->log_addrs.vendor_id != CEC_VENDOR_ID_NONE) { + cec_msg_device_vendor_id(&msg, + adap->log_addrs.vendor_id); + cec_transmit_msg_fh(adap, &msg, NULL, false); + } } adap->kthread_config = NULL; complete(&adap->config_completion); diff -Nru linux-4.19.87/drivers/media/i2c/ov2659.c linux-4.19.98/drivers/media/i2c/ov2659.c --- linux-4.19.87/drivers/media/i2c/ov2659.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/i2c/ov2659.c 2020-01-23 07:21:39.000000000 +0000 @@ -419,10 +419,14 @@ { REG_TIMING_YINC, 0x11 }, { REG_TIMING_VERT_FORMAT, 0x80 }, { REG_TIMING_HORIZ_FORMAT, 0x00 }, + { 0x370a, 0x12 }, { 0x3a03, 0xe8 }, { 0x3a09, 0x6f }, { 0x3a0b, 0x5d }, { 0x3a15, 0x9a }, + { REG_VFIFO_READ_START_H, 0x00 }, + { REG_VFIFO_READ_START_L, 0x80 }, + { REG_ISP_CTRL02, 0x00 }, { REG_NULL, 0x00 }, }; @@ -1203,11 +1207,15 @@ goto unlock; } - ov2659_set_pixel_clock(ov2659); - ov2659_set_frame_size(ov2659); - ov2659_set_format(ov2659); - ov2659_set_streaming(ov2659, 1); - ov2659->streaming = on; + ret = ov2659_set_pixel_clock(ov2659); + if (!ret) + ret = ov2659_set_frame_size(ov2659); + if (!ret) + ret = ov2659_set_format(ov2659); + if (!ret) { + ov2659_set_streaming(ov2659, 1); + ov2659->streaming = on; + } unlock: mutex_unlock(&ov2659->lock); diff -Nru linux-4.19.87/drivers/media/i2c/ov6650.c linux-4.19.98/drivers/media/i2c/ov6650.c --- linux-4.19.87/drivers/media/i2c/ov6650.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/i2c/ov6650.c 2020-01-23 07:21:39.000000000 +0000 @@ -203,7 +203,6 @@ unsigned long pclk_max; /* from resolution and format */ struct v4l2_fract tpf; /* as requested with s_frame_interval */ u32 code; - enum v4l2_colorspace colorspace; }; @@ -216,6 +215,17 @@ MEDIA_BUS_FMT_Y8_1X8, }; +static const struct v4l2_mbus_framefmt ov6650_def_fmt = { + .width = W_CIF, + .height = H_CIF, + .code = MEDIA_BUS_FMT_SBGGR8_1X8, + .colorspace = V4L2_COLORSPACE_SRGB, + .field = V4L2_FIELD_NONE, + .ycbcr_enc = V4L2_YCBCR_ENC_DEFAULT, + .quantization = V4L2_QUANTIZATION_DEFAULT, + .xfer_func = V4L2_XFER_FUNC_DEFAULT, +}; + /* read a register */ static int ov6650_reg_read(struct i2c_client *client, u8 reg, u8 *val) { @@ -469,38 +479,39 @@ { struct i2c_client *client = v4l2_get_subdevdata(sd); struct ov6650 *priv = to_ov6650(client); - struct v4l2_rect rect = sel->r; int ret; if (sel->which != V4L2_SUBDEV_FORMAT_ACTIVE || sel->target != V4L2_SEL_TGT_CROP) return -EINVAL; - v4l_bound_align_image(&rect.width, 2, W_CIF, 1, - &rect.height, 2, H_CIF, 1, 0); - v4l_bound_align_image(&rect.left, DEF_HSTRT << 1, - (DEF_HSTRT << 1) + W_CIF - (__s32)rect.width, 1, - &rect.top, DEF_VSTRT << 1, - (DEF_VSTRT << 1) + H_CIF - (__s32)rect.height, 1, - 0); + v4l_bound_align_image(&sel->r.width, 2, W_CIF, 1, + &sel->r.height, 2, H_CIF, 1, 0); + v4l_bound_align_image(&sel->r.left, DEF_HSTRT << 1, + (DEF_HSTRT << 1) + W_CIF - (__s32)sel->r.width, 1, + &sel->r.top, DEF_VSTRT << 1, + (DEF_VSTRT << 1) + H_CIF - (__s32)sel->r.height, + 1, 0); - ret = ov6650_reg_write(client, REG_HSTRT, rect.left >> 1); + ret = ov6650_reg_write(client, REG_HSTRT, sel->r.left >> 1); if (!ret) { - priv->rect.left = rect.left; + priv->rect.width += priv->rect.left - sel->r.left; + priv->rect.left = sel->r.left; ret = ov6650_reg_write(client, REG_HSTOP, - (rect.left + rect.width) >> 1); + (sel->r.left + sel->r.width) >> 1); } if (!ret) { - priv->rect.width = rect.width; - ret = ov6650_reg_write(client, REG_VSTRT, rect.top >> 1); + priv->rect.width = sel->r.width; + ret = ov6650_reg_write(client, REG_VSTRT, sel->r.top >> 1); } if (!ret) { - priv->rect.top = rect.top; + priv->rect.height += priv->rect.top - sel->r.top; + priv->rect.top = sel->r.top; ret = ov6650_reg_write(client, REG_VSTOP, - (rect.top + rect.height) >> 1); + (sel->r.top + sel->r.height) >> 1); } if (!ret) - priv->rect.height = rect.height; + priv->rect.height = sel->r.height; return ret; } @@ -516,12 +527,20 @@ if (format->pad) return -EINVAL; - mf->width = priv->rect.width >> priv->half_scale; - mf->height = priv->rect.height >> priv->half_scale; - mf->code = priv->code; - mf->colorspace = priv->colorspace; - mf->field = V4L2_FIELD_NONE; + /* initialize response with default media bus frame format */ + *mf = ov6650_def_fmt; + + /* update media bus format code and frame size */ + if (format->which == V4L2_SUBDEV_FORMAT_TRY) { + mf->width = cfg->try_fmt.width; + mf->height = cfg->try_fmt.height; + mf->code = cfg->try_fmt.code; + } else { + mf->width = priv->rect.width >> priv->half_scale; + mf->height = priv->rect.height >> priv->half_scale; + mf->code = priv->code; + } return 0; } @@ -614,7 +633,6 @@ dev_err(&client->dev, "Pixel format not handled: 0x%x\n", code); return -EINVAL; } - priv->code = code; if (code == MEDIA_BUS_FMT_Y8_1X8 || code == MEDIA_BUS_FMT_SBGGR8_1X8) { @@ -627,11 +645,6 @@ priv->pclk_max = 8000000; } - if (code == MEDIA_BUS_FMT_SBGGR8_1X8) - priv->colorspace = V4L2_COLORSPACE_SRGB; - else if (code != 0) - priv->colorspace = V4L2_COLORSPACE_JPEG; - if (half_scale) { dev_dbg(&client->dev, "max resolution: QCIF\n"); coma_set |= COMA_QCIF; @@ -640,7 +653,6 @@ dev_dbg(&client->dev, "max resolution: CIF\n"); coma_mask |= COMA_QCIF; } - priv->half_scale = half_scale; clkrc = CLKRC_12MHz; mclk = 12000000; @@ -658,14 +670,14 @@ ret = ov6650_reg_rmw(client, REG_COMA, coma_set, coma_mask); if (!ret) ret = ov6650_reg_write(client, REG_CLKRC, clkrc); - if (!ret) - ret = ov6650_reg_rmw(client, REG_COML, coml_set, coml_mask); - if (!ret) { - mf->colorspace = priv->colorspace; - mf->width = priv->rect.width >> half_scale; - mf->height = priv->rect.height >> half_scale; + priv->half_scale = half_scale; + + ret = ov6650_reg_rmw(client, REG_COML, coml_set, coml_mask); } + if (!ret) + priv->code = code; + return ret; } @@ -684,8 +696,6 @@ v4l_bound_align_image(&mf->width, 2, W_CIF, 1, &mf->height, 2, H_CIF, 1, 0); - mf->field = V4L2_FIELD_NONE; - switch (mf->code) { case MEDIA_BUS_FMT_Y10_1X10: mf->code = MEDIA_BUS_FMT_Y8_1X8; @@ -695,20 +705,39 @@ case MEDIA_BUS_FMT_YUYV8_2X8: case MEDIA_BUS_FMT_VYUY8_2X8: case MEDIA_BUS_FMT_UYVY8_2X8: - mf->colorspace = V4L2_COLORSPACE_JPEG; break; default: mf->code = MEDIA_BUS_FMT_SBGGR8_1X8; /* fall through */ case MEDIA_BUS_FMT_SBGGR8_1X8: - mf->colorspace = V4L2_COLORSPACE_SRGB; break; } - if (format->which == V4L2_SUBDEV_FORMAT_ACTIVE) - return ov6650_s_fmt(sd, mf); - cfg->try_fmt = *mf; + if (format->which == V4L2_SUBDEV_FORMAT_TRY) { + /* store media bus format code and frame size in pad config */ + cfg->try_fmt.width = mf->width; + cfg->try_fmt.height = mf->height; + cfg->try_fmt.code = mf->code; + + /* return default mbus frame format updated with pad config */ + *mf = ov6650_def_fmt; + mf->width = cfg->try_fmt.width; + mf->height = cfg->try_fmt.height; + mf->code = cfg->try_fmt.code; + } else { + /* apply new media bus format code and frame size */ + int ret = ov6650_s_fmt(sd, mf); + + if (ret) + return ret; + + /* return default format updated with active size and code */ + *mf = ov6650_def_fmt; + mf->width = priv->rect.width >> priv->half_scale; + mf->height = priv->rect.height >> priv->half_scale; + mf->code = priv->code; + } return 0; } @@ -1002,7 +1031,6 @@ priv->rect.height = H_CIF; priv->half_scale = false; priv->code = MEDIA_BUS_FMT_YUYV8_2X8; - priv->colorspace = V4L2_COLORSPACE_JPEG; ret = ov6650_video_probe(client); if (ret) diff -Nru linux-4.19.87/drivers/media/i2c/smiapp/smiapp-core.c linux-4.19.98/drivers/media/i2c/smiapp/smiapp-core.c --- linux-4.19.87/drivers/media/i2c/smiapp/smiapp-core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/i2c/smiapp/smiapp-core.c 2020-01-23 07:21:39.000000000 +0000 @@ -3108,19 +3108,23 @@ if (rval < 0) goto out_media_entity_cleanup; - rval = v4l2_async_register_subdev_sensor_common(&sensor->src->sd); - if (rval < 0) - goto out_media_entity_cleanup; - pm_runtime_set_active(&client->dev); pm_runtime_get_noresume(&client->dev); pm_runtime_enable(&client->dev); + + rval = v4l2_async_register_subdev_sensor_common(&sensor->src->sd); + if (rval < 0) + goto out_disable_runtime_pm; + pm_runtime_set_autosuspend_delay(&client->dev, 1000); pm_runtime_use_autosuspend(&client->dev); pm_runtime_put_autosuspend(&client->dev); return 0; +out_disable_runtime_pm: + pm_runtime_disable(&client->dev); + out_media_entity_cleanup: media_entity_cleanup(&sensor->src->sd.entity); diff -Nru linux-4.19.87/drivers/media/pci/cx88/cx88-video.c linux-4.19.98/drivers/media/pci/cx88/cx88-video.c --- linux-4.19.87/drivers/media/pci/cx88/cx88-video.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/pci/cx88/cx88-video.c 2020-01-23 07:21:39.000000000 +0000 @@ -1312,7 +1312,7 @@ core = cx88_core_get(dev->pci); if (!core) { err = -EINVAL; - goto fail_free; + goto fail_disable; } dev->core = core; @@ -1358,7 +1358,7 @@ cc->step, cc->default_value); if (!vc) { err = core->audio_hdl.error; - goto fail_core; + goto fail_irq; } vc->priv = (void *)cc; } @@ -1372,7 +1372,7 @@ cc->step, cc->default_value); if (!vc) { err = core->video_hdl.error; - goto fail_core; + goto fail_irq; } vc->priv = (void *)cc; if (vc->id == V4L2_CID_CHROMA_AGC) @@ -1535,11 +1535,14 @@ fail_unreg: cx8800_unregister_video(dev); - free_irq(pci_dev->irq, dev); mutex_unlock(&core->lock); +fail_irq: + free_irq(pci_dev->irq, dev); fail_core: core->v4ldev = NULL; cx88_core_put(core, dev->pci); +fail_disable: + pci_disable_device(pci_dev); fail_free: kfree(dev); return err; diff -Nru linux-4.19.87/drivers/media/platform/am437x/am437x-vpfe.c linux-4.19.98/drivers/media/platform/am437x/am437x-vpfe.c --- linux-4.19.87/drivers/media/platform/am437x/am437x-vpfe.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/platform/am437x/am437x-vpfe.c 2020-01-23 07:21:39.000000000 +0000 @@ -1848,6 +1848,10 @@ if (!(sdinfo->inputs[0].capabilities & V4L2_IN_CAP_STD)) return -ENODATA; + /* if trying to set the same std then nothing to do */ + if (vpfe_standards[vpfe->std_index].std_id == std_id) + return 0; + /* If streaming is started, return error */ if (vb2_is_busy(&vpfe->buffer_queue)) { vpfe_err(vpfe, "%s device busy\n", __func__); diff -Nru linux-4.19.87/drivers/media/platform/atmel/atmel-isc.c linux-4.19.98/drivers/media/platform/atmel/atmel-isc.c --- linux-4.19.87/drivers/media/platform/atmel/atmel-isc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/platform/atmel/atmel-isc.c 2020-01-23 07:21:39.000000000 +0000 @@ -1895,6 +1895,8 @@ struct vb2_queue *q = &isc->vb2_vidq; int ret; + INIT_WORK(&isc->awb_work, isc_awb_work); + ret = v4l2_device_register_subdev_nodes(&isc->v4l2_dev); if (ret < 0) { v4l2_err(&isc->v4l2_dev, "Failed to register subdev nodes\n"); @@ -1948,8 +1950,6 @@ return ret; } - INIT_WORK(&isc->awb_work, isc_awb_work); - /* Register video device */ strlcpy(vdev->name, ATMEL_ISC_NAME, sizeof(vdev->name)); vdev->release = video_device_release_empty; @@ -2062,8 +2062,11 @@ break; } - subdev_entity->asd = devm_kzalloc(dev, - sizeof(*subdev_entity->asd), GFP_KERNEL); + /* asd will be freed by the subsystem once it's added to the + * notifier list + */ + subdev_entity->asd = kzalloc(sizeof(*subdev_entity->asd), + GFP_KERNEL); if (!subdev_entity->asd) { of_node_put(rem); ret = -ENOMEM; @@ -2209,6 +2212,7 @@ &subdev_entity->notifier); if (ret) { dev_err(dev, "fail to register async notifier\n"); + kfree(subdev_entity->asd); goto cleanup_subdev; } diff -Nru linux-4.19.87/drivers/media/platform/cadence/cdns-csi2rx.c linux-4.19.98/drivers/media/platform/cadence/cdns-csi2rx.c --- linux-4.19.87/drivers/media/platform/cadence/cdns-csi2rx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/platform/cadence/cdns-csi2rx.c 2020-01-23 07:21:39.000000000 +0000 @@ -129,7 +129,7 @@ */ for (i = csi2rx->num_lanes; i < csi2rx->max_lanes; i++) { unsigned int idx = find_first_zero_bit(&lanes_used, - sizeof(lanes_used)); + csi2rx->max_lanes); set_bit(idx, &lanes_used); reg |= CSI2RX_STATIC_CFG_DLANE_MAP(i, i + 1); } diff -Nru linux-4.19.87/drivers/media/platform/coda/coda-common.c linux-4.19.98/drivers/media/platform/coda/coda-common.c --- linux-4.19.87/drivers/media/platform/coda/coda-common.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/platform/coda/coda-common.c 2020-01-23 07:21:39.000000000 +0000 @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -2101,17 +2102,6 @@ return coda_queue_init(priv, dst_vq); } -static int coda_next_free_instance(struct coda_dev *dev) -{ - int idx = ffz(dev->instance_mask); - - if ((idx < 0) || - (dev->devtype->product == CODA_DX6 && idx > CODADX6_MAX_INSTANCES)) - return -EBUSY; - - return idx; -} - /* * File operations */ @@ -2120,7 +2110,8 @@ { struct video_device *vdev = video_devdata(file); struct coda_dev *dev = video_get_drvdata(vdev); - struct coda_ctx *ctx = NULL; + struct coda_ctx *ctx; + unsigned int max = ~0; char *name; int ret; int idx; @@ -2129,12 +2120,13 @@ if (!ctx) return -ENOMEM; - idx = coda_next_free_instance(dev); + if (dev->devtype->product == CODA_DX6) + max = CODADX6_MAX_INSTANCES - 1; + idx = ida_alloc_max(&dev->ida, max, GFP_KERNEL); if (idx < 0) { ret = idx; goto err_coda_max; } - set_bit(idx, &dev->instance_mask); name = kasprintf(GFP_KERNEL, "context%d", idx); if (!name) { @@ -2243,8 +2235,8 @@ err_pm_get: v4l2_fh_del(&ctx->fh); v4l2_fh_exit(&ctx->fh); - clear_bit(ctx->idx, &dev->instance_mask); err_coda_name_init: + ida_free(&dev->ida, ctx->idx); err_coda_max: kfree(ctx); return ret; @@ -2286,7 +2278,7 @@ pm_runtime_put_sync(&dev->plat_dev->dev); v4l2_fh_del(&ctx->fh); v4l2_fh_exit(&ctx->fh); - clear_bit(ctx->idx, &dev->instance_mask); + ida_free(&dev->ida, ctx->idx); if (ctx->ops->release) ctx->ops->release(ctx); debugfs_remove_recursive(ctx->debugfs_entry); @@ -2747,6 +2739,7 @@ mutex_init(&dev->dev_mutex); mutex_init(&dev->coda_mutex); + ida_init(&dev->ida); dev->debugfs_root = debugfs_create_dir("coda", NULL); if (!dev->debugfs_root) @@ -2834,6 +2827,7 @@ coda_free_aux_buf(dev, &dev->tempbuf); coda_free_aux_buf(dev, &dev->workbuf); debugfs_remove_recursive(dev->debugfs_root); + ida_destroy(&dev->ida); return 0; } diff -Nru linux-4.19.87/drivers/media/platform/coda/coda.h linux-4.19.98/drivers/media/platform/coda/coda.h --- linux-4.19.87/drivers/media/platform/coda/coda.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/platform/coda/coda.h 2020-01-23 07:21:39.000000000 +0000 @@ -16,6 +16,7 @@ #define __CODA_H__ #include +#include #include #include #include @@ -95,7 +96,7 @@ struct workqueue_struct *workqueue; struct v4l2_m2m_dev *m2m_dev; struct list_head instances; - unsigned long instance_mask; + struct ida ida; struct dentry *debugfs_root; }; diff -Nru linux-4.19.87/drivers/media/platform/exynos4-is/fimc-isp-video.c linux-4.19.98/drivers/media/platform/exynos4-is/fimc-isp-video.c --- linux-4.19.87/drivers/media/platform/exynos4-is/fimc-isp-video.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/platform/exynos4-is/fimc-isp-video.c 2020-01-23 07:21:39.000000000 +0000 @@ -316,7 +316,7 @@ ivc->streaming = 0; } - vb2_fop_release(file); + _vb2_fop_release(file, NULL); if (v4l2_fh_is_singular_file(file)) { fimc_pipeline_call(&ivc->ve, close); diff -Nru linux-4.19.87/drivers/media/platform/qcom/venus/core.c linux-4.19.98/drivers/media/platform/qcom/venus/core.c --- linux-4.19.87/drivers/media/platform/qcom/venus/core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/platform/qcom/venus/core.c 2020-01-23 07:21:39.000000000 +0000 @@ -430,10 +430,11 @@ }; static const struct freq_tbl msm8996_freq_table[] = { - { 1944000, 490000000 }, /* 4k UHD @ 60 */ - { 972000, 320000000 }, /* 4k UHD @ 30 */ - { 489600, 150000000 }, /* 1080p @ 60 */ - { 244800, 75000000 }, /* 1080p @ 30 */ + { 1944000, 520000000 }, /* 4k UHD @ 60 (decode only) */ + { 972000, 520000000 }, /* 4k UHD @ 30 */ + { 489600, 346666667 }, /* 1080p @ 60 */ + { 244800, 150000000 }, /* 1080p @ 30 */ + { 108000, 75000000 }, /* 720p @ 30 */ }; static const struct reg_val msm8996_reg_preset[] = { diff -Nru linux-4.19.87/drivers/media/platform/qcom/venus/hfi_venus.c linux-4.19.98/drivers/media/platform/qcom/venus/hfi_venus.c --- linux-4.19.87/drivers/media/platform/qcom/venus/hfi_venus.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/platform/qcom/venus/hfi_venus.c 2020-01-23 07:21:39.000000000 +0000 @@ -1484,6 +1484,7 @@ { struct venus_hfi_device *hdev = to_hfi_priv(core); struct device *dev = core->dev; + u32 ctrl_status; bool val; int ret; @@ -1499,6 +1500,10 @@ return -EINVAL; } + ctrl_status = venus_readl(hdev, CPU_CS_SCIACMDARG0); + if (ctrl_status & CPU_CS_SCIACMDARG0_PC_READY) + goto power_off; + /* * Power collapse sequence for Venus 3xx and 4xx versions: * 1. Check for ARM9 and video core to be idle by checking WFI bit @@ -1523,6 +1528,7 @@ if (ret) return ret; +power_off: mutex_lock(&hdev->lock); ret = venus_power_off(hdev); diff -Nru linux-4.19.87/drivers/media/platform/qcom/venus/vdec.c linux-4.19.98/drivers/media/platform/qcom/venus/vdec.c --- linux-4.19.87/drivers/media/platform/qcom/venus/vdec.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/platform/qcom/venus/vdec.c 2020-01-23 07:21:39.000000000 +0000 @@ -1115,9 +1115,6 @@ .unlocked_ioctl = video_ioctl2, .poll = v4l2_m2m_fop_poll, .mmap = v4l2_m2m_fop_mmap, -#ifdef CONFIG_COMPAT - .compat_ioctl32 = v4l2_compat_ioctl32, -#endif }; static int vdec_probe(struct platform_device *pdev) diff -Nru linux-4.19.87/drivers/media/platform/qcom/venus/venc.c linux-4.19.98/drivers/media/platform/qcom/venus/venc.c --- linux-4.19.87/drivers/media/platform/qcom/venus/venc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/platform/qcom/venus/venc.c 2020-01-23 07:21:39.000000000 +0000 @@ -1220,9 +1220,6 @@ .unlocked_ioctl = video_ioctl2, .poll = v4l2_m2m_fop_poll, .mmap = v4l2_m2m_fop_mmap, -#ifdef CONFIG_COMPAT - .compat_ioctl32 = v4l2_compat_ioctl32, -#endif }; static int venc_probe(struct platform_device *pdev) diff -Nru linux-4.19.87/drivers/media/platform/rcar-vin/rcar-v4l2.c linux-4.19.98/drivers/media/platform/rcar-vin/rcar-v4l2.c --- linux-4.19.87/drivers/media/platform/rcar-vin/rcar-v4l2.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/platform/rcar-vin/rcar-v4l2.c 2020-01-23 07:21:39.000000000 +0000 @@ -196,6 +196,7 @@ ret = v4l2_subdev_call(sd, pad, set_fmt, pad_cfg, &format); if (ret < 0 && ret != -ENOIOCTLCMD) goto done; + ret = 0; v4l2_fill_pix_format(pix, &format.format); @@ -230,7 +231,7 @@ done: v4l2_subdev_free_pad_config(pad_cfg); - return 0; + return ret; } static int rvin_querycap(struct file *file, void *priv, diff -Nru linux-4.19.87/drivers/media/platform/rcar_drif.c linux-4.19.98/drivers/media/platform/rcar_drif.c --- linux-4.19.87/drivers/media/platform/rcar_drif.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/platform/rcar_drif.c 2020-01-23 07:21:39.000000000 +0000 @@ -912,6 +912,7 @@ { struct rcar_drif_sdr *sdr = video_drvdata(file); + memset(f->fmt.sdr.reserved, 0, sizeof(f->fmt.sdr.reserved)); f->fmt.sdr.pixelformat = sdr->fmt->pixelformat; f->fmt.sdr.buffersize = sdr->fmt->buffersize; diff -Nru linux-4.19.87/drivers/media/platform/sti/bdisp/bdisp-v4l2.c linux-4.19.98/drivers/media/platform/sti/bdisp/bdisp-v4l2.c --- linux-4.19.87/drivers/media/platform/sti/bdisp/bdisp-v4l2.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/platform/sti/bdisp/bdisp-v4l2.c 2020-01-23 07:21:39.000000000 +0000 @@ -651,8 +651,7 @@ dev_dbg(bdisp->dev, "%s\n", __func__); - if (mutex_lock_interruptible(&bdisp->lock)) - return -ERESTARTSYS; + mutex_lock(&bdisp->lock); v4l2_m2m_ctx_release(ctx->fh.m2m_ctx); diff -Nru linux-4.19.87/drivers/media/platform/stm32/stm32-dcmi.c linux-4.19.98/drivers/media/platform/stm32/stm32-dcmi.c --- linux-4.19.87/drivers/media/platform/stm32/stm32-dcmi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/platform/stm32/stm32-dcmi.c 2020-01-23 07:21:39.000000000 +0000 @@ -164,6 +164,9 @@ int errors_count; int overrun_count; int buffers_count; + + /* Ensure DMA operations atomicity */ + struct mutex dma_lock; }; static inline struct stm32_dcmi *notifier_to_dcmi(struct v4l2_async_notifier *n) @@ -314,6 +317,13 @@ return ret; } + /* + * Avoid call of dmaengine_terminate_all() between + * dmaengine_prep_slave_single() and dmaengine_submit() + * by locking the whole DMA submission sequence + */ + mutex_lock(&dcmi->dma_lock); + /* Prepare a DMA transaction */ desc = dmaengine_prep_slave_single(dcmi->dma_chan, buf->paddr, buf->size, @@ -322,6 +332,7 @@ if (!desc) { dev_err(dcmi->dev, "%s: DMA dmaengine_prep_slave_single failed for buffer phy=%pad size=%zu\n", __func__, &buf->paddr, buf->size); + mutex_unlock(&dcmi->dma_lock); return -EINVAL; } @@ -333,9 +344,12 @@ dcmi->dma_cookie = dmaengine_submit(desc); if (dma_submit_error(dcmi->dma_cookie)) { dev_err(dcmi->dev, "%s: DMA submission failed\n", __func__); + mutex_unlock(&dcmi->dma_lock); return -ENXIO; } + mutex_unlock(&dcmi->dma_lock); + dma_async_issue_pending(dcmi->dma_chan); return 0; @@ -570,9 +584,9 @@ int ret; ret = pm_runtime_get_sync(dcmi->dev); - if (ret) { - dev_err(dcmi->dev, "%s: Failed to start streaming, cannot get sync\n", - __func__); + if (ret < 0) { + dev_err(dcmi->dev, "%s: Failed to start streaming, cannot get sync (%d)\n", + __func__, ret); goto err_release_buffers; } @@ -717,7 +731,9 @@ spin_unlock_irq(&dcmi->irqlock); /* Stop all pending DMA operations */ + mutex_lock(&dcmi->dma_lock); dmaengine_terminate_all(dcmi->dma_chan); + mutex_unlock(&dcmi->dma_lock); pm_runtime_put(dcmi->dev); @@ -1719,6 +1735,7 @@ spin_lock_init(&dcmi->irqlock); mutex_init(&dcmi->lock); + mutex_init(&dcmi->dma_lock); init_completion(&dcmi->complete); INIT_LIST_HEAD(&dcmi->buffers); diff -Nru linux-4.19.87/drivers/media/platform/ti-vpe/vpdma.h linux-4.19.98/drivers/media/platform/ti-vpe/vpdma.h --- linux-4.19.87/drivers/media/platform/ti-vpe/vpdma.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/platform/ti-vpe/vpdma.h 2020-01-23 07:21:39.000000000 +0000 @@ -60,6 +60,7 @@ * line stride of source and dest * buffers should be 16 byte aligned */ +#define VPDMA_MAX_STRIDE 65520 /* Max line stride 16 byte aligned */ #define VPDMA_DTD_DESC_SIZE 32 /* 8 words */ #define VPDMA_CFD_CTD_DESC_SIZE 16 /* 4 words */ diff -Nru linux-4.19.87/drivers/media/platform/ti-vpe/vpe.c linux-4.19.98/drivers/media/platform/ti-vpe/vpe.c --- linux-4.19.87/drivers/media/platform/ti-vpe/vpe.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/platform/ti-vpe/vpe.c 2020-01-23 07:21:39.000000000 +0000 @@ -352,20 +352,25 @@ }; /* find our format description corresponding to the passed v4l2_format */ -static struct vpe_fmt *find_format(struct v4l2_format *f) +static struct vpe_fmt *__find_format(u32 fourcc) { struct vpe_fmt *fmt; unsigned int k; for (k = 0; k < ARRAY_SIZE(vpe_formats); k++) { fmt = &vpe_formats[k]; - if (fmt->fourcc == f->fmt.pix.pixelformat) + if (fmt->fourcc == fourcc) return fmt; } return NULL; } +static struct vpe_fmt *find_format(struct v4l2_format *f) +{ + return __find_format(f->fmt.pix.pixelformat); +} + /* * there is one vpe_dev structure in the driver, it is shared by * all instances. @@ -1027,11 +1032,14 @@ dma_addr_t dma_addr; u32 flags = 0; u32 offset = 0; + u32 stride; if (port == VPE_PORT_MV_OUT) { vpdma_fmt = &vpdma_misc_fmts[VPDMA_DATA_FMT_MV]; dma_addr = ctx->mv_buf_dma[mv_buf_selector]; q_data = &ctx->q_data[Q_DATA_SRC]; + stride = ALIGN((q_data->width * vpdma_fmt->depth) >> 3, + VPDMA_STRIDE_ALIGN); } else { /* to incorporate interleaved formats */ int plane = fmt->coplanar ? p_data->vb_part : 0; @@ -1058,6 +1066,7 @@ } /* Apply the offset */ dma_addr += offset; + stride = q_data->bytesperline[VPE_LUMA]; } if (q_data->flags & Q_DATA_FRAME_1D) @@ -1069,7 +1078,7 @@ MAX_W, MAX_H); vpdma_add_out_dtd(&ctx->desc_list, q_data->width, - q_data->bytesperline[VPE_LUMA], &q_data->c_rect, + stride, &q_data->c_rect, vpdma_fmt, dma_addr, MAX_OUT_WIDTH_REG1, MAX_OUT_HEIGHT_REG1, p_data->channel, flags); } @@ -1088,10 +1097,13 @@ dma_addr_t dma_addr; u32 flags = 0; u32 offset = 0; + u32 stride; if (port == VPE_PORT_MV_IN) { vpdma_fmt = &vpdma_misc_fmts[VPDMA_DATA_FMT_MV]; dma_addr = ctx->mv_buf_dma[mv_buf_selector]; + stride = ALIGN((q_data->width * vpdma_fmt->depth) >> 3, + VPDMA_STRIDE_ALIGN); } else { /* to incorporate interleaved formats */ int plane = fmt->coplanar ? p_data->vb_part : 0; @@ -1118,6 +1130,7 @@ } /* Apply the offset */ dma_addr += offset; + stride = q_data->bytesperline[VPE_LUMA]; if (q_data->flags & Q_DATA_INTERLACED_SEQ_TB) { /* @@ -1153,10 +1166,10 @@ if (p_data->vb_part && fmt->fourcc == V4L2_PIX_FMT_NV12) frame_height /= 2; - vpdma_add_in_dtd(&ctx->desc_list, q_data->width, - q_data->bytesperline[VPE_LUMA], &q_data->c_rect, - vpdma_fmt, dma_addr, p_data->channel, field, flags, frame_width, - frame_height, 0, 0); + vpdma_add_in_dtd(&ctx->desc_list, q_data->width, stride, + &q_data->c_rect, vpdma_fmt, dma_addr, + p_data->channel, field, flags, frame_width, + frame_height, 0, 0); } /* @@ -1405,9 +1418,6 @@ /* the previous dst mv buffer becomes the next src mv buffer */ ctx->src_mv_buf_selector = !ctx->src_mv_buf_selector; - if (ctx->aborting) - goto finished; - s_vb = ctx->src_vbs[0]; d_vb = ctx->dst_vb; @@ -1418,6 +1428,7 @@ d_vb->timecode = s_vb->timecode; d_vb->sequence = ctx->sequence; + s_vb->sequence = ctx->sequence; d_q_data = &ctx->q_data[Q_DATA_DST]; if (d_q_data->flags & Q_IS_INTERLACED) { @@ -1471,6 +1482,9 @@ ctx->src_vbs[0] = NULL; ctx->dst_vb = NULL; + if (ctx->aborting) + goto finished; + ctx->bufs_completed++; if (ctx->bufs_completed < ctx->bufs_per_job && job_ready(ctx)) { device_run(ctx); @@ -1583,9 +1597,9 @@ unsigned int stride = 0; if (!fmt || !(fmt->types & type)) { - vpe_err(ctx->dev, "Fourcc format (0x%08x) invalid.\n", + vpe_dbg(ctx->dev, "Fourcc format (0x%08x) invalid.\n", pix->pixelformat); - return -EINVAL; + fmt = __find_format(V4L2_PIX_FMT_YUYV); } if (pix->field != V4L2_FIELD_NONE && pix->field != V4L2_FIELD_ALTERNATE @@ -1632,7 +1646,7 @@ &pix->height, MIN_H, MAX_H, H_ALIGN, S_ALIGN); - if (!pix->num_planes) + if (!pix->num_planes || pix->num_planes > 2) pix->num_planes = fmt->coplanar ? 2 : 1; else if (pix->num_planes > 1 && !fmt->coplanar) pix->num_planes = 1; @@ -1671,6 +1685,10 @@ if (stride > plane_fmt->bytesperline) plane_fmt->bytesperline = stride; + plane_fmt->bytesperline = clamp_t(u32, plane_fmt->bytesperline, + stride, + VPDMA_MAX_STRIDE); + plane_fmt->bytesperline = ALIGN(plane_fmt->bytesperline, VPDMA_STRIDE_ALIGN); @@ -2291,7 +2309,7 @@ v4l2_ctrl_handler_setup(hdl); s_q_data = &ctx->q_data[Q_DATA_SRC]; - s_q_data->fmt = &vpe_formats[2]; + s_q_data->fmt = __find_format(V4L2_PIX_FMT_YUYV); s_q_data->width = 1920; s_q_data->height = 1080; s_q_data->nplanes = 1; @@ -2369,6 +2387,12 @@ mutex_lock(&dev->dev_mutex); free_mv_buffers(ctx); + + vpdma_unmap_desc_buf(dev->vpdma, &ctx->desc_list.buf); + vpdma_unmap_desc_buf(dev->vpdma, &ctx->mmr_adb); + vpdma_unmap_desc_buf(dev->vpdma, &ctx->sc_coeff_h); + vpdma_unmap_desc_buf(dev->vpdma, &ctx->sc_coeff_v); + vpdma_free_desc_list(&ctx->desc_list); vpdma_free_desc_buf(&ctx->mmr_adb); diff -Nru linux-4.19.87/drivers/media/platform/vimc/vimc-common.c linux-4.19.98/drivers/media/platform/vimc/vimc-common.c --- linux-4.19.87/drivers/media/platform/vimc/vimc-common.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/platform/vimc/vimc-common.c 2020-01-23 07:21:39.000000000 +0000 @@ -241,6 +241,8 @@ /* Start the stream in the subdevice direct connected */ pad = media_entity_remote_pad(&ent->pads[i]); + if (!pad) + continue; if (!is_media_entity_v4l2_subdev(pad->entity)) return -EINVAL; diff -Nru linux-4.19.87/drivers/media/platform/vimc/vimc-core.c linux-4.19.98/drivers/media/platform/vimc/vimc-core.c --- linux-4.19.87/drivers/media/platform/vimc/vimc-core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/platform/vimc/vimc-core.c 2020-01-23 07:21:39.000000000 +0000 @@ -243,10 +243,7 @@ static int vimc_comp_compare(struct device *comp, void *data) { - const struct platform_device *pdev = to_platform_device(comp); - const char *name = data; - - return !strcmp(pdev->dev.platform_data, name); + return comp == data; } static struct component_match *vimc_add_subdevs(struct vimc_device *vimc) @@ -276,7 +273,7 @@ } component_match_add(&vimc->pdev.dev, &match, vimc_comp_compare, - (void *)vimc->pipe_cfg->ents[i].name); + &vimc->subdevs[i]->dev); } return match; diff -Nru linux-4.19.87/drivers/media/radio/radio-wl1273.c linux-4.19.98/drivers/media/radio/radio-wl1273.c --- linux-4.19.87/drivers/media/radio/radio-wl1273.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/radio/radio-wl1273.c 2020-01-23 07:21:39.000000000 +0000 @@ -1156,8 +1156,7 @@ if (radio->rds_users > 0) { radio->rds_users--; if (radio->rds_users == 0) { - if (mutex_lock_interruptible(&core->lock)) - return -EINTR; + mutex_lock(&core->lock); radio->irq_flags &= ~WL1273_RDS_EVENT; diff -Nru linux-4.19.87/drivers/media/radio/si470x/radio-si470x-i2c.c linux-4.19.98/drivers/media/radio/si470x/radio-si470x-i2c.c --- linux-4.19.87/drivers/media/radio/si470x/radio-si470x-i2c.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/radio/si470x/radio-si470x-i2c.c 2020-01-23 07:21:39.000000000 +0000 @@ -485,6 +485,8 @@ video_unregister_device(&radio->videodev); kfree(radio); + v4l2_ctrl_handler_free(&radio->hdl); + v4l2_device_unregister(&radio->v4l2_dev); return 0; } diff -Nru linux-4.19.87/drivers/media/spi/cxd2880-spi.c linux-4.19.98/drivers/media/spi/cxd2880-spi.c --- linux-4.19.87/drivers/media/spi/cxd2880-spi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/spi/cxd2880-spi.c 2020-01-23 07:21:39.000000000 +0000 @@ -536,6 +536,7 @@ if (!dvb_attach(cxd2880_attach, &dvb_spi->dvb_fe, &config)) { pr_err("cxd2880_attach failed\n"); + ret = -ENODEV; goto fail_attach; } diff -Nru linux-4.19.87/drivers/media/usb/b2c2/flexcop-usb.c linux-4.19.98/drivers/media/usb/b2c2/flexcop-usb.c --- linux-4.19.87/drivers/media/usb/b2c2/flexcop-usb.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/usb/b2c2/flexcop-usb.c 2020-01-23 07:21:39.000000000 +0000 @@ -294,7 +294,7 @@ mutex_unlock(&fc_usb->data_mutex); - return 0; + return ret; } /* actual bus specific access functions, @@ -503,7 +503,13 @@ static int flexcop_usb_init(struct flexcop_usb *fc_usb) { /* use the alternate setting with the larges buffer */ - usb_set_interface(fc_usb->udev,0,1); + int ret = usb_set_interface(fc_usb->udev, 0, 1); + + if (ret) { + err("set interface failed."); + return ret; + } + switch (fc_usb->udev->speed) { case USB_SPEED_LOW: err("cannot handle USB speed because it is too slow."); diff -Nru linux-4.19.87/drivers/media/usb/dvb-usb/af9005.c linux-4.19.98/drivers/media/usb/dvb-usb/af9005.c --- linux-4.19.87/drivers/media/usb/dvb-usb/af9005.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/usb/dvb-usb/af9005.c 2020-01-23 07:21:39.000000000 +0000 @@ -985,8 +985,9 @@ else if (reply == 0x02) *cold = 0; else - return -EIO; - deb_info("Identify state cold = %d\n", *cold); + ret = -EIO; + if (!ret) + deb_info("Identify state cold = %d\n", *cold); err: kfree(buf); diff -Nru linux-4.19.87/drivers/media/usb/pulse8-cec/pulse8-cec.c linux-4.19.98/drivers/media/usb/pulse8-cec/pulse8-cec.c --- linux-4.19.87/drivers/media/usb/pulse8-cec/pulse8-cec.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/usb/pulse8-cec/pulse8-cec.c 2020-01-23 07:21:39.000000000 +0000 @@ -121,6 +121,7 @@ unsigned int vers; struct completion cmd_done; struct work_struct work; + u8 work_result; struct delayed_work ping_eeprom_work; struct cec_msg rx_msg; u8 data[DATA_SIZE]; @@ -142,8 +143,10 @@ { struct pulse8 *pulse8 = container_of(work, struct pulse8, work); + u8 result = pulse8->work_result; - switch (pulse8->data[0] & 0x3f) { + pulse8->work_result = 0; + switch (result & 0x3f) { case MSGCODE_FRAME_DATA: cec_received_msg(pulse8->adap, &pulse8->rx_msg); break; @@ -177,12 +180,12 @@ pulse8->escape = false; } else if (data == MSGEND) { struct cec_msg *msg = &pulse8->rx_msg; + u8 msgcode = pulse8->buf[0]; if (debug) dev_info(pulse8->dev, "received: %*ph\n", pulse8->idx, pulse8->buf); - pulse8->data[0] = pulse8->buf[0]; - switch (pulse8->buf[0] & 0x3f) { + switch (msgcode & 0x3f) { case MSGCODE_FRAME_START: msg->len = 1; msg->msg[0] = pulse8->buf[1]; @@ -191,14 +194,20 @@ if (msg->len == CEC_MAX_MSG_SIZE) break; msg->msg[msg->len++] = pulse8->buf[1]; - if (pulse8->buf[0] & MSGCODE_FRAME_EOM) + if (msgcode & MSGCODE_FRAME_EOM) { + WARN_ON(pulse8->work_result); + pulse8->work_result = msgcode; schedule_work(&pulse8->work); + break; + } break; case MSGCODE_TRANSMIT_SUCCEEDED: case MSGCODE_TRANSMIT_FAILED_LINE: case MSGCODE_TRANSMIT_FAILED_ACK: case MSGCODE_TRANSMIT_FAILED_TIMEOUT_DATA: case MSGCODE_TRANSMIT_FAILED_TIMEOUT_LINE: + WARN_ON(pulse8->work_result); + pulse8->work_result = msgcode; schedule_work(&pulse8->work); break; case MSGCODE_HIGH_ERROR: @@ -585,7 +594,7 @@ else pulse8->config_pending = true; mutex_unlock(&pulse8->config_lock); - return err; + return log_addr == CEC_LOG_ADDR_INVALID ? 0 : err; } static int pulse8_cec_adap_transmit(struct cec_adapter *adap, u8 attempts, diff -Nru linux-4.19.87/drivers/media/usb/pvrusb2/pvrusb2-v4l2.c linux-4.19.98/drivers/media/usb/pvrusb2/pvrusb2-v4l2.c --- linux-4.19.87/drivers/media/usb/pvrusb2/pvrusb2-v4l2.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/usb/pvrusb2/pvrusb2-v4l2.c 2020-01-23 07:21:39.000000000 +0000 @@ -916,8 +916,12 @@ pvr2_v4l2_dev_disassociate_parent(vp->dev_video); pvr2_v4l2_dev_disassociate_parent(vp->dev_radio); if (!list_empty(&vp->dev_video->devbase.fh_list) || - !list_empty(&vp->dev_radio->devbase.fh_list)) + (vp->dev_radio && + !list_empty(&vp->dev_radio->devbase.fh_list))) { + pvr2_trace(PVR2_TRACE_STRUCT, + "pvr2_v4l2 internal_check exit-empty id=%p", vp); return; + } pvr2_v4l2_destroy_no_lock(vp); } @@ -953,7 +957,8 @@ kfree(fhp); if (vp->channel.mc_head->disconnect_flag && list_empty(&vp->dev_video->devbase.fh_list) && - list_empty(&vp->dev_radio->devbase.fh_list)) { + (!vp->dev_radio || + list_empty(&vp->dev_radio->devbase.fh_list))) { pvr2_v4l2_destroy_no_lock(vp); } return 0; diff -Nru linux-4.19.87/drivers/media/usb/stkwebcam/stk-webcam.c linux-4.19.98/drivers/media/usb/stkwebcam/stk-webcam.c --- linux-4.19.87/drivers/media/usb/stkwebcam/stk-webcam.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/usb/stkwebcam/stk-webcam.c 2020-01-23 07:21:39.000000000 +0000 @@ -164,7 +164,11 @@ *value = *buf; kfree(buf); - return ret; + + if (ret < 0) + return ret; + else + return 0; } static int stk_start_stream(struct stk_camera *dev) diff -Nru linux-4.19.87/drivers/media/usb/uvc/uvc_driver.c linux-4.19.98/drivers/media/usb/uvc/uvc_driver.c --- linux-4.19.87/drivers/media/usb/uvc/uvc_driver.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/usb/uvc/uvc_driver.c 2020-01-23 07:21:39.000000000 +0000 @@ -391,6 +391,39 @@ } /* ------------------------------------------------------------------------ + * Streaming Object Management + */ + +static void uvc_stream_delete(struct uvc_streaming *stream) +{ + mutex_destroy(&stream->mutex); + + usb_put_intf(stream->intf); + + kfree(stream->format); + kfree(stream->header.bmaControls); + kfree(stream); +} + +static struct uvc_streaming *uvc_stream_new(struct uvc_device *dev, + struct usb_interface *intf) +{ + struct uvc_streaming *stream; + + stream = kzalloc(sizeof(*stream), GFP_KERNEL); + if (stream == NULL) + return NULL; + + mutex_init(&stream->mutex); + + stream->dev = dev; + stream->intf = usb_get_intf(intf); + stream->intfnum = intf->cur_altsetting->desc.bInterfaceNumber; + + return stream; +} + +/* ------------------------------------------------------------------------ * Descriptors parsing */ @@ -682,17 +715,12 @@ return -EINVAL; } - streaming = kzalloc(sizeof(*streaming), GFP_KERNEL); + streaming = uvc_stream_new(dev, intf); if (streaming == NULL) { usb_driver_release_interface(&uvc_driver.driver, intf); - return -EINVAL; + return -ENOMEM; } - mutex_init(&streaming->mutex); - streaming->dev = dev; - streaming->intf = usb_get_intf(intf); - streaming->intfnum = intf->cur_altsetting->desc.bInterfaceNumber; - /* The Pico iMage webcam has its class-specific interface descriptors * after the endpoint descriptors. */ @@ -899,10 +927,7 @@ error: usb_driver_release_interface(&uvc_driver.driver, intf); - usb_put_intf(intf); - kfree(streaming->format); - kfree(streaming->header.bmaControls); - kfree(streaming); + uvc_stream_delete(streaming); return ret; } @@ -1818,7 +1843,7 @@ * is released. * * As this function is called after or during disconnect(), all URBs have - * already been canceled by the USB core. There is no need to kill the + * already been cancelled by the USB core. There is no need to kill the * interrupt URB manually. */ static void uvc_delete(struct kref *kref) @@ -1856,10 +1881,7 @@ streaming = list_entry(p, struct uvc_streaming, list); usb_driver_release_interface(&uvc_driver.driver, streaming->intf); - usb_put_intf(streaming->intf); - kfree(streaming->format); - kfree(streaming->header.bmaControls); - kfree(streaming); + uvc_stream_delete(streaming); } kfree(dev); diff -Nru linux-4.19.87/drivers/media/usb/zr364xx/zr364xx.c linux-4.19.98/drivers/media/usb/zr364xx/zr364xx.c --- linux-4.19.87/drivers/media/usb/zr364xx/zr364xx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/usb/zr364xx/zr364xx.c 2020-01-23 07:21:39.000000000 +0000 @@ -703,7 +703,8 @@ struct zr364xx_camera *cam = video_drvdata(file); strlcpy(cap->driver, DRIVER_DESC, sizeof(cap->driver)); - strlcpy(cap->card, cam->udev->product, sizeof(cap->card)); + if (cam->udev->product) + strlcpy(cap->card, cam->udev->product, sizeof(cap->card)); strlcpy(cap->bus_info, dev_name(&cam->udev->dev), sizeof(cap->bus_info)); cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | diff -Nru linux-4.19.87/drivers/media/v4l2-core/v4l2-ctrls.c linux-4.19.98/drivers/media/v4l2-core/v4l2-ctrls.c --- linux-4.19.87/drivers/media/v4l2-core/v4l2-ctrls.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/v4l2-core/v4l2-ctrls.c 2020-01-23 07:21:39.000000000 +0000 @@ -1145,6 +1145,7 @@ case V4L2_CID_FLASH_STROBE_STOP: case V4L2_CID_AUTO_FOCUS_START: case V4L2_CID_AUTO_FOCUS_STOP: + case V4L2_CID_DO_WHITE_BALANCE: *type = V4L2_CTRL_TYPE_BUTTON; *flags |= V4L2_CTRL_FLAG_WRITE_ONLY | V4L2_CTRL_FLAG_EXECUTE_ON_WRITE; diff -Nru linux-4.19.87/drivers/media/v4l2-core/v4l2-ioctl.c linux-4.19.98/drivers/media/v4l2-core/v4l2-ioctl.c --- linux-4.19.87/drivers/media/v4l2-core/v4l2-ioctl.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/media/v4l2-core/v4l2-ioctl.c 2020-01-23 07:21:39.000000000 +0000 @@ -1415,10 +1415,26 @@ return ret; } +static void v4l_pix_format_touch(struct v4l2_pix_format *p) +{ + /* + * The v4l2_pix_format structure contains fields that make no sense for + * touch. Set them to default values in this case. + */ + + p->field = V4L2_FIELD_NONE; + p->colorspace = V4L2_COLORSPACE_RAW; + p->flags = 0; + p->ycbcr_enc = 0; + p->quantization = 0; + p->xfer_func = 0; +} + static int v4l_g_fmt(const struct v4l2_ioctl_ops *ops, struct file *file, void *fh, void *arg) { struct v4l2_format *p = arg; + struct video_device *vfd = video_devdata(file); int ret = check_fmt(file, p->type); if (ret) @@ -1456,6 +1472,8 @@ ret = ops->vidioc_g_fmt_vid_cap(file, fh, arg); /* just in case the driver zeroed it again */ p->fmt.pix.priv = V4L2_PIX_FMT_PRIV_MAGIC; + if (vfd->vfl_type == VFL_TYPE_TOUCH) + v4l_pix_format_touch(&p->fmt.pix); return ret; case V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE: return ops->vidioc_g_fmt_vid_cap_mplane(file, fh, arg); @@ -1491,21 +1509,6 @@ return -EINVAL; } -static void v4l_pix_format_touch(struct v4l2_pix_format *p) -{ - /* - * The v4l2_pix_format structure contains fields that make no sense for - * touch. Set them to default values in this case. - */ - - p->field = V4L2_FIELD_NONE; - p->colorspace = V4L2_COLORSPACE_RAW; - p->flags = 0; - p->ycbcr_enc = 0; - p->quantization = 0; - p->xfer_func = 0; -} - static int v4l_s_fmt(const struct v4l2_ioctl_ops *ops, struct file *file, void *fh, void *arg) { diff -Nru linux-4.19.87/drivers/memory/omap-gpmc.c linux-4.19.98/drivers/memory/omap-gpmc.c --- linux-4.19.87/drivers/memory/omap-gpmc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/memory/omap-gpmc.c 2020-01-23 07:21:39.000000000 +0000 @@ -21,6 +21,7 @@ #include #include #include +#include /* GPIO descriptor enum */ #include #include #include diff -Nru linux-4.19.87/drivers/message/fusion/mptctl.c linux-4.19.98/drivers/message/fusion/mptctl.c --- linux-4.19.87/drivers/message/fusion/mptctl.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/message/fusion/mptctl.c 2020-01-23 07:21:39.000000000 +0000 @@ -100,19 +100,19 @@ * Function prototypes. Called from OS entry point mptctl_ioctl. * arg contents specific to function. */ -static int mptctl_fw_download(unsigned long arg); -static int mptctl_getiocinfo(unsigned long arg, unsigned int cmd); -static int mptctl_gettargetinfo(unsigned long arg); -static int mptctl_readtest(unsigned long arg); -static int mptctl_mpt_command(unsigned long arg); -static int mptctl_eventquery(unsigned long arg); -static int mptctl_eventenable(unsigned long arg); -static int mptctl_eventreport(unsigned long arg); -static int mptctl_replace_fw(unsigned long arg); - -static int mptctl_do_reset(unsigned long arg); -static int mptctl_hp_hostinfo(unsigned long arg, unsigned int cmd); -static int mptctl_hp_targetinfo(unsigned long arg); +static int mptctl_fw_download(MPT_ADAPTER *iocp, unsigned long arg); +static int mptctl_getiocinfo(MPT_ADAPTER *iocp, unsigned long arg, unsigned int cmd); +static int mptctl_gettargetinfo(MPT_ADAPTER *iocp, unsigned long arg); +static int mptctl_readtest(MPT_ADAPTER *iocp, unsigned long arg); +static int mptctl_mpt_command(MPT_ADAPTER *iocp, unsigned long arg); +static int mptctl_eventquery(MPT_ADAPTER *iocp, unsigned long arg); +static int mptctl_eventenable(MPT_ADAPTER *iocp, unsigned long arg); +static int mptctl_eventreport(MPT_ADAPTER *iocp, unsigned long arg); +static int mptctl_replace_fw(MPT_ADAPTER *iocp, unsigned long arg); + +static int mptctl_do_reset(MPT_ADAPTER *iocp, unsigned long arg); +static int mptctl_hp_hostinfo(MPT_ADAPTER *iocp, unsigned long arg, unsigned int cmd); +static int mptctl_hp_targetinfo(MPT_ADAPTER *iocp, unsigned long arg); static int mptctl_probe(struct pci_dev *, const struct pci_device_id *); static void mptctl_remove(struct pci_dev *); @@ -123,8 +123,8 @@ /* * Private function calls. */ -static int mptctl_do_mpt_command(struct mpt_ioctl_command karg, void __user *mfPtr); -static int mptctl_do_fw_download(int ioc, char __user *ufwbuf, size_t fwlen); +static int mptctl_do_mpt_command(MPT_ADAPTER *iocp, struct mpt_ioctl_command karg, void __user *mfPtr); +static int mptctl_do_fw_download(MPT_ADAPTER *iocp, char __user *ufwbuf, size_t fwlen); static MptSge_t *kbuf_alloc_2_sgl(int bytes, u32 dir, int sge_offset, int *frags, struct buflist **blp, dma_addr_t *sglbuf_dma, MPT_ADAPTER *ioc); static void kfree_sgl(MptSge_t *sgl, dma_addr_t sgl_dma, @@ -656,19 +656,19 @@ * by TM and FW reloads. */ if ((cmd & ~IOCSIZE_MASK) == (MPTIOCINFO & ~IOCSIZE_MASK)) { - return mptctl_getiocinfo(arg, _IOC_SIZE(cmd)); + return mptctl_getiocinfo(iocp, arg, _IOC_SIZE(cmd)); } else if (cmd == MPTTARGETINFO) { - return mptctl_gettargetinfo(arg); + return mptctl_gettargetinfo(iocp, arg); } else if (cmd == MPTTEST) { - return mptctl_readtest(arg); + return mptctl_readtest(iocp, arg); } else if (cmd == MPTEVENTQUERY) { - return mptctl_eventquery(arg); + return mptctl_eventquery(iocp, arg); } else if (cmd == MPTEVENTENABLE) { - return mptctl_eventenable(arg); + return mptctl_eventenable(iocp, arg); } else if (cmd == MPTEVENTREPORT) { - return mptctl_eventreport(arg); + return mptctl_eventreport(iocp, arg); } else if (cmd == MPTFWREPLACE) { - return mptctl_replace_fw(arg); + return mptctl_replace_fw(iocp, arg); } /* All of these commands require an interrupt or @@ -678,15 +678,15 @@ return ret; if (cmd == MPTFWDOWNLOAD) - ret = mptctl_fw_download(arg); + ret = mptctl_fw_download(iocp, arg); else if (cmd == MPTCOMMAND) - ret = mptctl_mpt_command(arg); + ret = mptctl_mpt_command(iocp, arg); else if (cmd == MPTHARDRESET) - ret = mptctl_do_reset(arg); + ret = mptctl_do_reset(iocp, arg); else if ((cmd & ~IOCSIZE_MASK) == (HP_GETHOSTINFO & ~IOCSIZE_MASK)) - ret = mptctl_hp_hostinfo(arg, _IOC_SIZE(cmd)); + ret = mptctl_hp_hostinfo(iocp, arg, _IOC_SIZE(cmd)); else if (cmd == HP_GETTARGETINFO) - ret = mptctl_hp_targetinfo(arg); + ret = mptctl_hp_targetinfo(iocp, arg); else ret = -EINVAL; @@ -705,11 +705,10 @@ return ret; } -static int mptctl_do_reset(unsigned long arg) +static int mptctl_do_reset(MPT_ADAPTER *iocp, unsigned long arg) { struct mpt_ioctl_diag_reset __user *urinfo = (void __user *) arg; struct mpt_ioctl_diag_reset krinfo; - MPT_ADAPTER *iocp; if (copy_from_user(&krinfo, urinfo, sizeof(struct mpt_ioctl_diag_reset))) { printk(KERN_ERR MYNAM "%s@%d::mptctl_do_reset - " @@ -718,12 +717,6 @@ return -EFAULT; } - if (mpt_verify_adapter(krinfo.hdr.iocnum, &iocp) < 0) { - printk(KERN_DEBUG MYNAM "%s@%d::mptctl_do_reset - ioc%d not found!\n", - __FILE__, __LINE__, krinfo.hdr.iocnum); - return -ENODEV; /* (-6) No such device or address */ - } - dctlprintk(iocp, printk(MYIOC_s_DEBUG_FMT "mptctl_do_reset called.\n", iocp->name)); @@ -754,7 +747,7 @@ * -ENOMSG if FW upload returned bad status */ static int -mptctl_fw_download(unsigned long arg) +mptctl_fw_download(MPT_ADAPTER *iocp, unsigned long arg) { struct mpt_fw_xfer __user *ufwdl = (void __user *) arg; struct mpt_fw_xfer kfwdl; @@ -766,7 +759,7 @@ return -EFAULT; } - return mptctl_do_fw_download(kfwdl.iocnum, kfwdl.bufp, kfwdl.fwlen); + return mptctl_do_fw_download(iocp, kfwdl.bufp, kfwdl.fwlen); } /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ @@ -784,11 +777,10 @@ * -ENOMSG if FW upload returned bad status */ static int -mptctl_do_fw_download(int ioc, char __user *ufwbuf, size_t fwlen) +mptctl_do_fw_download(MPT_ADAPTER *iocp, char __user *ufwbuf, size_t fwlen) { FWDownload_t *dlmsg; MPT_FRAME_HDR *mf; - MPT_ADAPTER *iocp; FWDownloadTCSGE_t *ptsge; MptSge_t *sgl, *sgIn; char *sgOut; @@ -808,17 +800,10 @@ pFWDownloadReply_t ReplyMsg = NULL; unsigned long timeleft; - if (mpt_verify_adapter(ioc, &iocp) < 0) { - printk(KERN_DEBUG MYNAM "ioctl_fwdl - ioc%d not found!\n", - ioc); - return -ENODEV; /* (-6) No such device or address */ - } else { - - /* Valid device. Get a message frame and construct the FW download message. - */ - if ((mf = mpt_get_msg_frame(mptctl_id, iocp)) == NULL) - return -EAGAIN; - } + /* Valid device. Get a message frame and construct the FW download message. + */ + if ((mf = mpt_get_msg_frame(mptctl_id, iocp)) == NULL) + return -EAGAIN; dctlprintk(iocp, printk(MYIOC_s_DEBUG_FMT "mptctl_do_fwdl called. mptctl_id = %xh.\n", iocp->name, mptctl_id)); @@ -826,8 +811,6 @@ iocp->name, ufwbuf)); dctlprintk(iocp, printk(MYIOC_s_DEBUG_FMT "DbG: kfwdl.fwlen = %d\n", iocp->name, (int)fwlen)); - dctlprintk(iocp, printk(MYIOC_s_DEBUG_FMT "DbG: kfwdl.ioc = %04xh\n", - iocp->name, ioc)); dlmsg = (FWDownload_t*) mf; ptsge = (FWDownloadTCSGE_t *) &dlmsg->SGL; @@ -1238,13 +1221,11 @@ * -ENODEV if no such device/adapter */ static int -mptctl_getiocinfo (unsigned long arg, unsigned int data_size) +mptctl_getiocinfo (MPT_ADAPTER *ioc, unsigned long arg, unsigned int data_size) { struct mpt_ioctl_iocinfo __user *uarg = (void __user *) arg; struct mpt_ioctl_iocinfo *karg; - MPT_ADAPTER *ioc; struct pci_dev *pdev; - int iocnum; unsigned int port; int cim_rev; struct scsi_device *sdev; @@ -1272,14 +1253,6 @@ return PTR_ERR(karg); } - if (((iocnum = mpt_verify_adapter(karg->hdr.iocnum, &ioc)) < 0) || - (ioc == NULL)) { - printk(KERN_DEBUG MYNAM "%s::mptctl_getiocinfo() @%d - ioc%d not found!\n", - __FILE__, __LINE__, iocnum); - kfree(karg); - return -ENODEV; - } - /* Verify the data transfer size is correct. */ if (karg->hdr.maxDataSize != data_size) { printk(MYIOC_s_ERR_FMT "%s@%d::mptctl_getiocinfo - " @@ -1385,15 +1358,13 @@ * -ENODEV if no such device/adapter */ static int -mptctl_gettargetinfo (unsigned long arg) +mptctl_gettargetinfo (MPT_ADAPTER *ioc, unsigned long arg) { struct mpt_ioctl_targetinfo __user *uarg = (void __user *) arg; struct mpt_ioctl_targetinfo karg; - MPT_ADAPTER *ioc; VirtDevice *vdevice; char *pmem; int *pdata; - int iocnum; int numDevices = 0; int lun; int maxWordsLeft; @@ -1408,13 +1379,6 @@ return -EFAULT; } - if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) || - (ioc == NULL)) { - printk(KERN_DEBUG MYNAM "%s::mptctl_gettargetinfo() @%d - ioc%d not found!\n", - __FILE__, __LINE__, iocnum); - return -ENODEV; - } - dctlprintk(ioc, printk(MYIOC_s_DEBUG_FMT "mptctl_gettargetinfo called.\n", ioc->name)); /* Get the port number and set the maximum number of bytes @@ -1510,12 +1474,10 @@ * -ENODEV if no such device/adapter */ static int -mptctl_readtest (unsigned long arg) +mptctl_readtest (MPT_ADAPTER *ioc, unsigned long arg) { struct mpt_ioctl_test __user *uarg = (void __user *) arg; struct mpt_ioctl_test karg; - MPT_ADAPTER *ioc; - int iocnum; if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_test))) { printk(KERN_ERR MYNAM "%s@%d::mptctl_readtest - " @@ -1524,13 +1486,6 @@ return -EFAULT; } - if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) || - (ioc == NULL)) { - printk(KERN_DEBUG MYNAM "%s::mptctl_readtest() @%d - ioc%d not found!\n", - __FILE__, __LINE__, iocnum); - return -ENODEV; - } - dctlprintk(ioc, printk(MYIOC_s_DEBUG_FMT "mptctl_readtest called.\n", ioc->name)); /* Fill in the data and return the structure to the calling @@ -1571,12 +1526,10 @@ * -ENODEV if no such device/adapter */ static int -mptctl_eventquery (unsigned long arg) +mptctl_eventquery (MPT_ADAPTER *ioc, unsigned long arg) { struct mpt_ioctl_eventquery __user *uarg = (void __user *) arg; struct mpt_ioctl_eventquery karg; - MPT_ADAPTER *ioc; - int iocnum; if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_eventquery))) { printk(KERN_ERR MYNAM "%s@%d::mptctl_eventquery - " @@ -1585,13 +1538,6 @@ return -EFAULT; } - if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) || - (ioc == NULL)) { - printk(KERN_DEBUG MYNAM "%s::mptctl_eventquery() @%d - ioc%d not found!\n", - __FILE__, __LINE__, iocnum); - return -ENODEV; - } - dctlprintk(ioc, printk(MYIOC_s_DEBUG_FMT "mptctl_eventquery called.\n", ioc->name)); karg.eventEntries = MPTCTL_EVENT_LOG_SIZE; @@ -1610,12 +1556,10 @@ /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ static int -mptctl_eventenable (unsigned long arg) +mptctl_eventenable (MPT_ADAPTER *ioc, unsigned long arg) { struct mpt_ioctl_eventenable __user *uarg = (void __user *) arg; struct mpt_ioctl_eventenable karg; - MPT_ADAPTER *ioc; - int iocnum; if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_eventenable))) { printk(KERN_ERR MYNAM "%s@%d::mptctl_eventenable - " @@ -1624,13 +1568,6 @@ return -EFAULT; } - if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) || - (ioc == NULL)) { - printk(KERN_DEBUG MYNAM "%s::mptctl_eventenable() @%d - ioc%d not found!\n", - __FILE__, __LINE__, iocnum); - return -ENODEV; - } - dctlprintk(ioc, printk(MYIOC_s_DEBUG_FMT "mptctl_eventenable called.\n", ioc->name)); if (ioc->events == NULL) { @@ -1658,12 +1595,10 @@ /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ static int -mptctl_eventreport (unsigned long arg) +mptctl_eventreport (MPT_ADAPTER *ioc, unsigned long arg) { struct mpt_ioctl_eventreport __user *uarg = (void __user *) arg; struct mpt_ioctl_eventreport karg; - MPT_ADAPTER *ioc; - int iocnum; int numBytes, maxEvents, max; if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_eventreport))) { @@ -1673,12 +1608,6 @@ return -EFAULT; } - if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) || - (ioc == NULL)) { - printk(KERN_DEBUG MYNAM "%s::mptctl_eventreport() @%d - ioc%d not found!\n", - __FILE__, __LINE__, iocnum); - return -ENODEV; - } dctlprintk(ioc, printk(MYIOC_s_DEBUG_FMT "mptctl_eventreport called.\n", ioc->name)); @@ -1712,12 +1641,10 @@ /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ static int -mptctl_replace_fw (unsigned long arg) +mptctl_replace_fw (MPT_ADAPTER *ioc, unsigned long arg) { struct mpt_ioctl_replace_fw __user *uarg = (void __user *) arg; struct mpt_ioctl_replace_fw karg; - MPT_ADAPTER *ioc; - int iocnum; int newFwSize; if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_replace_fw))) { @@ -1727,13 +1654,6 @@ return -EFAULT; } - if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) || - (ioc == NULL)) { - printk(KERN_DEBUG MYNAM "%s::mptctl_replace_fw() @%d - ioc%d not found!\n", - __FILE__, __LINE__, iocnum); - return -ENODEV; - } - dctlprintk(ioc, printk(MYIOC_s_DEBUG_FMT "mptctl_replace_fw called.\n", ioc->name)); /* If caching FW, Free the old FW image @@ -1780,12 +1700,10 @@ * -ENOMEM if memory allocation error */ static int -mptctl_mpt_command (unsigned long arg) +mptctl_mpt_command (MPT_ADAPTER *ioc, unsigned long arg) { struct mpt_ioctl_command __user *uarg = (void __user *) arg; struct mpt_ioctl_command karg; - MPT_ADAPTER *ioc; - int iocnum; int rc; @@ -1796,14 +1714,7 @@ return -EFAULT; } - if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) || - (ioc == NULL)) { - printk(KERN_DEBUG MYNAM "%s::mptctl_mpt_command() @%d - ioc%d not found!\n", - __FILE__, __LINE__, iocnum); - return -ENODEV; - } - - rc = mptctl_do_mpt_command (karg, &uarg->MF); + rc = mptctl_do_mpt_command (ioc, karg, &uarg->MF); return rc; } @@ -1821,9 +1732,8 @@ * -EPERM if SCSI I/O and target is untagged */ static int -mptctl_do_mpt_command (struct mpt_ioctl_command karg, void __user *mfPtr) +mptctl_do_mpt_command (MPT_ADAPTER *ioc, struct mpt_ioctl_command karg, void __user *mfPtr) { - MPT_ADAPTER *ioc; MPT_FRAME_HDR *mf = NULL; MPIHeader_t *hdr; char *psge; @@ -1832,7 +1742,7 @@ dma_addr_t dma_addr_in; dma_addr_t dma_addr_out; int sgSize = 0; /* Num SG elements */ - int iocnum, flagsLength; + int flagsLength; int sz, rc = 0; int msgContext; u16 req_idx; @@ -1847,13 +1757,6 @@ bufIn.kptr = bufOut.kptr = NULL; bufIn.len = bufOut.len = 0; - if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) || - (ioc == NULL)) { - printk(KERN_DEBUG MYNAM "%s::mptctl_do_mpt_command() @%d - ioc%d not found!\n", - __FILE__, __LINE__, iocnum); - return -ENODEV; - } - spin_lock_irqsave(&ioc->taskmgmt_lock, flags); if (ioc->ioc_reset_in_progress) { spin_unlock_irqrestore(&ioc->taskmgmt_lock, flags); @@ -2418,17 +2321,15 @@ * -ENOMEM if memory allocation error */ static int -mptctl_hp_hostinfo(unsigned long arg, unsigned int data_size) +mptctl_hp_hostinfo(MPT_ADAPTER *ioc, unsigned long arg, unsigned int data_size) { hp_host_info_t __user *uarg = (void __user *) arg; - MPT_ADAPTER *ioc; struct pci_dev *pdev; char *pbuf=NULL; dma_addr_t buf_dma; hp_host_info_t karg; CONFIGPARMS cfg; ConfigPageHeader_t hdr; - int iocnum; int rc, cim_rev; ToolboxIstwiReadWriteRequest_t *IstwiRWRequest; MPT_FRAME_HDR *mf = NULL; @@ -2452,12 +2353,6 @@ return -EFAULT; } - if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) || - (ioc == NULL)) { - printk(KERN_DEBUG MYNAM "%s::mptctl_hp_hostinfo() @%d - ioc%d not found!\n", - __FILE__, __LINE__, iocnum); - return -ENODEV; - } dctlprintk(ioc, printk(MYIOC_s_DEBUG_FMT ": mptctl_hp_hostinfo called.\n", ioc->name)); @@ -2659,15 +2554,13 @@ * -ENOMEM if memory allocation error */ static int -mptctl_hp_targetinfo(unsigned long arg) +mptctl_hp_targetinfo(MPT_ADAPTER *ioc, unsigned long arg) { hp_target_info_t __user *uarg = (void __user *) arg; SCSIDevicePage0_t *pg0_alloc; SCSIDevicePage3_t *pg3_alloc; - MPT_ADAPTER *ioc; MPT_SCSI_HOST *hd = NULL; hp_target_info_t karg; - int iocnum; int data_sz; dma_addr_t page_dma; CONFIGPARMS cfg; @@ -2681,12 +2574,6 @@ return -EFAULT; } - if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) || - (ioc == NULL)) { - printk(KERN_DEBUG MYNAM "%s::mptctl_hp_targetinfo() @%d - ioc%d not found!\n", - __FILE__, __LINE__, iocnum); - return -ENODEV; - } if (karg.hdr.id >= MPT_MAX_FC_DEVICES) return -EINVAL; dctlprintk(ioc, printk(MYIOC_s_DEBUG_FMT "mptctl_hp_targetinfo called.\n", @@ -2854,7 +2741,7 @@ kfw.fwlen = kfw32.fwlen; kfw.bufp = compat_ptr(kfw32.bufp); - ret = mptctl_do_fw_download(kfw.iocnum, kfw.bufp, kfw.fwlen); + ret = mptctl_do_fw_download(iocp, kfw.bufp, kfw.fwlen); mutex_unlock(&iocp->ioctl_cmds.mutex); @@ -2908,7 +2795,7 @@ /* Pass new structure to do_mpt_command */ - ret = mptctl_do_mpt_command (karg, &uarg->MF); + ret = mptctl_do_mpt_command (iocp, karg, &uarg->MF); mutex_unlock(&iocp->ioctl_cmds.mutex); diff -Nru linux-4.19.87/drivers/misc/altera-stapl/altera.c linux-4.19.98/drivers/misc/altera-stapl/altera.c --- linux-4.19.87/drivers/misc/altera-stapl/altera.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/misc/altera-stapl/altera.c 2020-01-23 07:21:39.000000000 +0000 @@ -2176,8 +2176,7 @@ key_ptr = &p[note_strings + get_unaligned_be32( &p[note_table + (8 * i)])]; - if ((strncasecmp(key, key_ptr, strlen(key_ptr)) == 0) && - (key != NULL)) { + if (key && !strncasecmp(key, key_ptr, strlen(key_ptr))) { status = 0; value_ptr = &p[note_strings + diff -Nru linux-4.19.87/drivers/misc/enclosure.c linux-4.19.98/drivers/misc/enclosure.c --- linux-4.19.87/drivers/misc/enclosure.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/misc/enclosure.c 2020-01-23 07:21:39.000000000 +0000 @@ -419,10 +419,9 @@ cdev = &edev->component[i]; if (cdev->dev == dev) { enclosure_remove_links(cdev); - device_del(&cdev->cdev); put_device(dev); cdev->dev = NULL; - return device_add(&cdev->cdev); + return 0; } } return -ENODEV; diff -Nru linux-4.19.87/drivers/misc/mei/bus.c linux-4.19.98/drivers/misc/mei/bus.c --- linux-4.19.87/drivers/misc/mei/bus.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/misc/mei/bus.c 2020-01-23 07:21:39.000000000 +0000 @@ -883,15 +883,16 @@ /** * mei_cl_bus_set_name - set device name for me client device + * - + * Example: 0000:00:16.0-55213584-9a29-4916-badf-0fb7ed682aeb * * @cldev: me client device */ static inline void mei_cl_bus_set_name(struct mei_cl_device *cldev) { - dev_set_name(&cldev->dev, "mei:%s:%pUl:%02X", - cldev->name, - mei_me_cl_uuid(cldev->me_cl), - mei_me_cl_ver(cldev->me_cl)); + dev_set_name(&cldev->dev, "%s-%pUl", + dev_name(cldev->bus->dev), + mei_me_cl_uuid(cldev->me_cl)); } /** diff -Nru linux-4.19.87/drivers/misc/mei/hw-me-regs.h linux-4.19.98/drivers/misc/mei/hw-me-regs.h --- linux-4.19.87/drivers/misc/mei/hw-me-regs.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/misc/mei/hw-me-regs.h 2020-01-23 07:21:39.000000000 +0000 @@ -141,6 +141,7 @@ #define MEI_DEV_ID_CMP_LP 0x02e0 /* Comet Point LP */ #define MEI_DEV_ID_CMP_LP_3 0x02e4 /* Comet Point LP 3 (iTouch) */ +#define MEI_DEV_ID_CMP_V 0xA3BA /* Comet Point Lake V */ #define MEI_DEV_ID_ICP_LP 0x34E0 /* Ice Lake Point LP */ diff -Nru linux-4.19.87/drivers/misc/mei/pci-me.c linux-4.19.98/drivers/misc/mei/pci-me.c --- linux-4.19.87/drivers/misc/mei/pci-me.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/misc/mei/pci-me.c 2020-01-23 07:21:39.000000000 +0000 @@ -107,6 +107,7 @@ {MEI_PCI_DEVICE(MEI_DEV_ID_CMP_LP, MEI_ME_PCH12_CFG)}, {MEI_PCI_DEVICE(MEI_DEV_ID_CMP_LP_3, MEI_ME_PCH8_CFG)}, + {MEI_PCI_DEVICE(MEI_DEV_ID_CMP_V, MEI_ME_PCH12_CFG)}, {MEI_PCI_DEVICE(MEI_DEV_ID_ICP_LP, MEI_ME_PCH12_CFG)}, diff -Nru linux-4.19.87/drivers/mmc/core/block.c linux-4.19.98/drivers/mmc/core/block.c --- linux-4.19.87/drivers/mmc/core/block.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mmc/core/block.c 2020-01-23 07:21:39.000000000 +0000 @@ -409,38 +409,6 @@ return 0; } -static int ioctl_rpmb_card_status_poll(struct mmc_card *card, u32 *status, - u32 retries_max) -{ - int err; - u32 retry_count = 0; - - if (!status || !retries_max) - return -EINVAL; - - do { - err = __mmc_send_status(card, status, 5); - if (err) - break; - - if (!R1_STATUS(*status) && - (R1_CURRENT_STATE(*status) != R1_STATE_PRG)) - break; /* RPMB programming operation complete */ - - /* - * Rechedule to give the MMC device a chance to continue - * processing the previous command without being polled too - * frequently. - */ - usleep_range(1000, 5000); - } while (++retry_count < retries_max); - - if (retry_count == retries_max) - err = -EPERM; - - return err; -} - static int ioctl_do_sanitize(struct mmc_card *card) { int err; @@ -469,6 +437,58 @@ return err; } +static inline bool mmc_blk_in_tran_state(u32 status) +{ + /* + * Some cards mishandle the status bits, so make sure to check both the + * busy indication and the card state. + */ + return status & R1_READY_FOR_DATA && + (R1_CURRENT_STATE(status) == R1_STATE_TRAN); +} + +static int card_busy_detect(struct mmc_card *card, unsigned int timeout_ms, + u32 *resp_errs) +{ + unsigned long timeout = jiffies + msecs_to_jiffies(timeout_ms); + int err = 0; + u32 status; + + do { + bool done = time_after(jiffies, timeout); + + err = __mmc_send_status(card, &status, 5); + if (err) { + dev_err(mmc_dev(card->host), + "error %d requesting status\n", err); + return err; + } + + /* Accumulate any response error bits seen */ + if (resp_errs) + *resp_errs |= status; + + /* + * Timeout if the device never becomes ready for data and never + * leaves the program state. + */ + if (done) { + dev_err(mmc_dev(card->host), + "Card stuck in wrong state! %s status: %#x\n", + __func__, status); + return -ETIMEDOUT; + } + + /* + * Some cards mishandle the status bits, + * so make sure to check both the busy + * indication and the card state. + */ + } while (!mmc_blk_in_tran_state(status)); + + return err; +} + static int __mmc_blk_ioctl_cmd(struct mmc_card *card, struct mmc_blk_data *md, struct mmc_blk_ioc_data *idata) { @@ -478,7 +498,6 @@ struct scatterlist sg; int err; unsigned int target_part; - u32 status = 0; if (!card || !md || !idata) return -EINVAL; @@ -612,16 +631,12 @@ memcpy(&(idata->ic.response), cmd.resp, sizeof(cmd.resp)); - if (idata->rpmb) { + if (idata->rpmb || (cmd.flags & MMC_RSP_R1B)) { /* - * Ensure RPMB command has completed by polling CMD13 + * Ensure RPMB/R1B command has completed by polling CMD13 * "Send Status". */ - err = ioctl_rpmb_card_status_poll(card, &status, 5); - if (err) - dev_err(mmc_dev(card->host), - "%s: Card Status=0x%08X, error %d\n", - __func__, status, err); + err = card_busy_detect(card, MMC_BLK_TIMEOUT_MS, NULL); } return err; @@ -971,58 +986,6 @@ return ms; } -static inline bool mmc_blk_in_tran_state(u32 status) -{ - /* - * Some cards mishandle the status bits, so make sure to check both the - * busy indication and the card state. - */ - return status & R1_READY_FOR_DATA && - (R1_CURRENT_STATE(status) == R1_STATE_TRAN); -} - -static int card_busy_detect(struct mmc_card *card, unsigned int timeout_ms, - struct request *req, u32 *resp_errs) -{ - unsigned long timeout = jiffies + msecs_to_jiffies(timeout_ms); - int err = 0; - u32 status; - - do { - bool done = time_after(jiffies, timeout); - - err = __mmc_send_status(card, &status, 5); - if (err) { - pr_err("%s: error %d requesting status\n", - req->rq_disk->disk_name, err); - return err; - } - - /* Accumulate any response error bits seen */ - if (resp_errs) - *resp_errs |= status; - - /* - * Timeout if the device never becomes ready for data and never - * leaves the program state. - */ - if (done) { - pr_err("%s: Card stuck in wrong state! %s %s status: %#x\n", - mmc_hostname(card->host), - req->rq_disk->disk_name, __func__, status); - return -ETIMEDOUT; - } - - /* - * Some cards mishandle the status bits, - * so make sure to check both the busy - * indication and the card state. - */ - } while (!mmc_blk_in_tran_state(status)); - - return err; -} - static int mmc_blk_reset(struct mmc_blk_data *md, struct mmc_host *host, int type) { @@ -1678,7 +1641,7 @@ mmc_blk_send_stop(card, timeout); - err = card_busy_detect(card, timeout, req, NULL); + err = card_busy_detect(card, timeout, NULL); mmc_retune_release(card->host); @@ -1902,7 +1865,7 @@ if (mmc_host_is_spi(card->host) || rq_data_dir(req) == READ) return 0; - err = card_busy_detect(card, MMC_BLK_TIMEOUT_MS, req, &status); + err = card_busy_detect(card, MMC_BLK_TIMEOUT_MS, &status); /* * Do not assume data transferred correctly if there are any error bits @@ -2384,12 +2347,6 @@ snprintf(md->disk->disk_name, sizeof(md->disk->disk_name), "mmcblk%u%s", card->host->index, subname ? subname : ""); - if (mmc_card_mmc(card)) - blk_queue_logical_block_size(md->queue.queue, - card->ext_csd.data_sector_size); - else - blk_queue_logical_block_size(md->queue.queue, 512); - set_capacity(md->disk, size); if (mmc_host_cmd23(card->host)) { diff -Nru linux-4.19.87/drivers/mmc/core/queue.c linux-4.19.98/drivers/mmc/core/queue.c --- linux-4.19.87/drivers/mmc/core/queue.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mmc/core/queue.c 2020-01-23 07:21:39.000000000 +0000 @@ -355,6 +355,7 @@ { struct mmc_host *host = card->host; u64 limit = BLK_BOUNCE_HIGH; + unsigned block_size = 512; if (mmc_dev(host)->dma_mask && *mmc_dev(host)->dma_mask) limit = (u64)dma_max_pfn(mmc_dev(host)) << PAGE_SHIFT; @@ -368,7 +369,13 @@ blk_queue_max_hw_sectors(mq->queue, min(host->max_blk_count, host->max_req_size / 512)); blk_queue_max_segments(mq->queue, host->max_segs); - blk_queue_max_segment_size(mq->queue, host->max_seg_size); + + if (mmc_card_mmc(card)) + block_size = card->ext_csd.data_sector_size; + + blk_queue_logical_block_size(mq->queue, block_size); + blk_queue_max_segment_size(mq->queue, + round_down(host->max_seg_size, block_size)); INIT_WORK(&mq->recovery_work, mmc_mq_recovery_handler); INIT_WORK(&mq->complete_work, mmc_blk_mq_complete_work); diff -Nru linux-4.19.87/drivers/mmc/host/meson-gx-mmc.c linux-4.19.98/drivers/mmc/host/meson-gx-mmc.c --- linux-4.19.87/drivers/mmc/host/meson-gx-mmc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mmc/host/meson-gx-mmc.c 2020-01-23 07:21:39.000000000 +0000 @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -90,9 +91,11 @@ #define CFG_CLK_ALWAYS_ON BIT(18) #define CFG_CHK_DS BIT(20) #define CFG_AUTO_CLK BIT(23) +#define CFG_ERR_ABORT BIT(27) #define SD_EMMC_STATUS 0x48 #define STATUS_BUSY BIT(31) +#define STATUS_DESC_BUSY BIT(30) #define STATUS_DATI GENMASK(23, 16) #define SD_EMMC_IRQ_EN 0x4c @@ -930,6 +933,7 @@ 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); @@ -1024,6 +1028,17 @@ u32 irq_en, status, raw_status; irqreturn_t ret = IRQ_NONE; + irq_en = readl(host->regs + SD_EMMC_IRQ_EN); + raw_status = readl(host->regs + SD_EMMC_STATUS); + status = raw_status & irq_en; + + if (!status) { + dev_dbg(host->dev, + "Unexpected IRQ! irq_en 0x%08x - status 0x%08x\n", + irq_en, raw_status); + return IRQ_NONE; + } + if (WARN_ON(!host) || WARN_ON(!host->cmd)) return IRQ_NONE; @@ -1031,22 +1046,18 @@ cmd = host->cmd; data = cmd->data; - irq_en = readl(host->regs + SD_EMMC_IRQ_EN); - raw_status = readl(host->regs + SD_EMMC_STATUS); - status = raw_status & irq_en; - cmd->error = 0; if (status & IRQ_CRC_ERR) { dev_dbg(host->dev, "CRC Error - status 0x%08x\n", status); cmd->error = -EILSEQ; - ret = IRQ_HANDLED; + ret = IRQ_WAKE_THREAD; goto out; } if (status & IRQ_TIMEOUTS) { dev_dbg(host->dev, "Timeout - status 0x%08x\n", status); cmd->error = -ETIMEDOUT; - ret = IRQ_HANDLED; + ret = IRQ_WAKE_THREAD; goto out; } @@ -1071,17 +1082,49 @@ /* ack all enabled interrupts */ writel(irq_en, host->regs + SD_EMMC_STATUS); + if (cmd->error) { + /* Stop desc in case of errors */ + u32 start = readl(host->regs + SD_EMMC_START); + + start &= ~START_DESC_BUSY; + writel(start, host->regs + SD_EMMC_START); + } + if (ret == IRQ_HANDLED) meson_mmc_request_done(host->mmc, cmd->mrq); - else if (ret == IRQ_NONE) - dev_warn(host->dev, - "Unexpected IRQ! status=0x%08x, irq_en=0x%08x\n", - raw_status, irq_en); spin_unlock(&host->lock); return ret; } +static int meson_mmc_wait_desc_stop(struct meson_host *host) +{ + int loop; + u32 status; + + /* + * It may sometimes take a while for it to actually halt. Here, we + * are giving it 5ms to comply + * + * If we don't confirm the descriptor is stopped, it might raise new + * IRQs after we have called mmc_request_done() which is bad. + */ + for (loop = 50; loop; loop--) { + status = readl(host->regs + SD_EMMC_STATUS); + if (status & (STATUS_BUSY | STATUS_DESC_BUSY)) + udelay(100); + else + break; + } + + if (status & (STATUS_BUSY | STATUS_DESC_BUSY)) { + dev_err(host->dev, "Timed out waiting for host to stop\n"); + return -ETIMEDOUT; + } + + return 0; +} + static irqreturn_t meson_mmc_irq_thread(int irq, void *dev_id) { struct meson_host *host = dev_id; @@ -1092,6 +1135,13 @@ if (WARN_ON(!cmd)) return IRQ_NONE; + if (cmd->error) { + meson_mmc_wait_desc_stop(host); + meson_mmc_request_done(host->mmc, cmd->mrq); + + return IRQ_HANDLED; + } + data = cmd->data; if (meson_mmc_bounce_buf_read(data)) { xfer_bytes = data->blksz * data->blocks; @@ -1132,6 +1182,9 @@ cfg |= FIELD_PREP(CFG_RC_CC_MASK, ilog2(SD_EMMC_CFG_CMD_GAP)); cfg |= FIELD_PREP(CFG_BLK_LEN_MASK, ilog2(SD_EMMC_CFG_BLK_SIZE)); + /* abort chain on R/W errors */ + cfg |= CFG_ERR_ABORT; + writel(cfg, host->regs + SD_EMMC_CFG); } diff -Nru linux-4.19.87/drivers/mmc/host/mtk-sd.c linux-4.19.98/drivers/mmc/host/mtk-sd.c --- linux-4.19.87/drivers/mmc/host/mtk-sd.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mmc/host/mtk-sd.c 2020-01-23 07:21:39.000000000 +0000 @@ -228,6 +228,7 @@ #define MSDC_PATCH_BIT_SPCPUSH (0x1 << 29) /* RW */ #define MSDC_PATCH_BIT_DECRCTMO (0x1 << 30) /* RW */ +#define MSDC_PATCH_BIT1_CMDTA (0x7 << 3) /* RW */ #define MSDC_PATCH_BIT1_STOP_DLY (0xf << 8) /* RW */ #define MSDC_PATCH_BIT2_CFGRESP (0x1 << 15) /* RW */ @@ -1673,6 +1674,7 @@ /* select EMMC50 PAD CMD tune */ sdr_set_bits(host->base + PAD_CMD_TUNE, BIT(0)); + sdr_set_field(host->base + MSDC_PATCH_BIT1, MSDC_PATCH_BIT1_CMDTA, 2); if (mmc->ios.timing == MMC_TIMING_MMC_HS200 || mmc->ios.timing == MMC_TIMING_UHS_SDR104) diff -Nru linux-4.19.87/drivers/mmc/host/omap_hsmmc.c linux-4.19.98/drivers/mmc/host/omap_hsmmc.c --- linux-4.19.87/drivers/mmc/host/omap_hsmmc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mmc/host/omap_hsmmc.c 2020-01-23 07:21:39.000000000 +0000 @@ -1661,6 +1661,36 @@ if (mmc_pdata(host)->init_card) mmc_pdata(host)->init_card(card); + else if (card->type == MMC_TYPE_SDIO || + card->type == MMC_TYPE_SD_COMBO) { + struct device_node *np = mmc_dev(mmc)->of_node; + + /* + * REVISIT: should be moved to sdio core and made more + * general e.g. by expanding the DT bindings of child nodes + * to provide a mechanism to provide this information: + * Documentation/devicetree/bindings/mmc/mmc-card.txt + */ + + np = of_get_compatible_child(np, "ti,wl1251"); + if (np) { + /* + * We have TI wl1251 attached to MMC3. Pass this + * information to the SDIO core because it can't be + * probed by normal methods. + */ + + dev_info(host->dev, "found wl1251\n"); + card->quirks |= MMC_QUIRK_NONSTD_SDIO; + card->cccr.wide_bus = 1; + card->cis.vendor = 0x104c; + card->cis.device = 0x9066; + card->cis.blksize = 512; + card->cis.max_dtr = 24000000; + card->ocr = 0x80; + of_node_put(np); + } + } } static void omap_hsmmc_enable_sdio_irq(struct mmc_host *mmc, int enable) diff -Nru linux-4.19.87/drivers/mmc/host/sdhci-msm.c linux-4.19.98/drivers/mmc/host/sdhci-msm.c --- linux-4.19.87/drivers/mmc/host/sdhci-msm.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mmc/host/sdhci-msm.c 2020-01-23 07:21:39.000000000 +0000 @@ -108,7 +108,7 @@ #define CORE_PWRSAVE_DLL BIT(3) -#define DDR_CONFIG_POR_VAL 0x80040853 +#define DDR_CONFIG_POR_VAL 0x80040873 #define INVALID_TUNING_PHASE -1 @@ -157,8 +157,9 @@ u32 core_ddr_200_cfg; u32 core_vendor_spec3; u32 core_dll_config_2; + u32 core_dll_config_3; + u32 core_ddr_config_old; /* Applicable to sdcc minor ver < 0x49 */ u32 core_ddr_config; - u32 core_ddr_config_2; }; static const struct sdhci_msm_offset sdhci_msm_v5_offset = { @@ -186,8 +187,8 @@ .core_ddr_200_cfg = 0x224, .core_vendor_spec3 = 0x250, .core_dll_config_2 = 0x254, - .core_ddr_config = 0x258, - .core_ddr_config_2 = 0x25c, + .core_dll_config_3 = 0x258, + .core_ddr_config = 0x25c, }; static const struct sdhci_msm_offset sdhci_msm_mci_offset = { @@ -216,8 +217,8 @@ .core_ddr_200_cfg = 0x184, .core_vendor_spec3 = 0x1b0, .core_dll_config_2 = 0x1b4, - .core_ddr_config = 0x1b8, - .core_ddr_config_2 = 0x1bc, + .core_ddr_config_old = 0x1b8, + .core_ddr_config = 0x1bc, }; struct sdhci_msm_variant_ops { @@ -260,6 +261,7 @@ const struct sdhci_msm_offset *offset; bool use_cdr; u32 transfer_mode; + bool updated_ddr_cfg; }; static const struct sdhci_msm_offset *sdhci_priv_msm_offset(struct sdhci_host *host) @@ -931,8 +933,10 @@ static int sdhci_msm_cm_dll_sdc4_calibration(struct sdhci_host *host) { struct mmc_host *mmc = host->mmc; - u32 dll_status, config; + u32 dll_status, config, ddr_cfg_offset; int ret; + struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); + struct sdhci_msm_host *msm_host = sdhci_pltfm_priv(pltfm_host); const struct sdhci_msm_offset *msm_offset = sdhci_priv_msm_offset(host); @@ -945,8 +949,11 @@ * bootloaders. In the future, if this changes, then the desired * values will need to be programmed appropriately. */ - writel_relaxed(DDR_CONFIG_POR_VAL, host->ioaddr + - msm_offset->core_ddr_config); + if (msm_host->updated_ddr_cfg) + ddr_cfg_offset = msm_offset->core_ddr_config; + else + ddr_cfg_offset = msm_offset->core_ddr_config_old; + writel_relaxed(DDR_CONFIG_POR_VAL, host->ioaddr + ddr_cfg_offset); if (mmc->ios.enhanced_strobe) { config = readl_relaxed(host->ioaddr + @@ -1862,6 +1869,9 @@ msm_offset->core_vendor_spec_capabilities0); } + if (core_major == 1 && core_minor >= 0x49) + msm_host->updated_ddr_cfg = true; + /* * Power on reset state may trigger power irq if previous status of * PWRCTL was either BUS_ON or IO_HIGH_V. So before enabling pwr irq diff -Nru linux-4.19.87/drivers/mmc/host/sdhci-of-esdhc.c linux-4.19.98/drivers/mmc/host/sdhci-of-esdhc.c --- linux-4.19.87/drivers/mmc/host/sdhci-of-esdhc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mmc/host/sdhci-of-esdhc.c 2020-01-23 07:21:39.000000000 +0000 @@ -648,9 +648,6 @@ sdhci_writel(host, host->ier, SDHCI_INT_ENABLE); sdhci_writel(host, host->ier, SDHCI_SIGNAL_ENABLE); - if (of_find_compatible_node(NULL, NULL, "fsl,p2020-esdhc")) - mdelay(5); - if (mask & SDHCI_RESET_ALL) { val = sdhci_readl(host, ESDHC_TBCTL); val &= ~ESDHC_TB_EN; @@ -926,8 +923,8 @@ host->quirks &= ~SDHCI_QUIRK_NO_BUSY_IRQ; if (of_find_compatible_node(NULL, NULL, "fsl,p2020-esdhc")) { - host->quirks2 |= SDHCI_QUIRK_RESET_AFTER_REQUEST; - host->quirks2 |= SDHCI_QUIRK_BROKEN_TIMEOUT_VAL; + host->quirks |= SDHCI_QUIRK_RESET_AFTER_REQUEST; + host->quirks |= SDHCI_QUIRK_BROKEN_TIMEOUT_VAL; } if (of_device_is_compatible(np, "fsl,p5040-esdhc") || diff -Nru linux-4.19.87/drivers/mmc/host/sdhci-pci-core.c linux-4.19.98/drivers/mmc/host/sdhci-pci-core.c --- linux-4.19.87/drivers/mmc/host/sdhci-pci-core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mmc/host/sdhci-pci-core.c 2020-01-23 07:21:39.000000000 +0000 @@ -30,6 +30,7 @@ #include #include #include +#include #include "cqhci.h" @@ -732,11 +733,18 @@ return 0; } +static bool glk_broken_cqhci(struct sdhci_pci_slot *slot) +{ + return slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_GLK_EMMC && + dmi_match(DMI_BIOS_VENDOR, "LENOVO"); +} + static int glk_emmc_probe_slot(struct sdhci_pci_slot *slot) { int ret = byt_emmc_probe_slot(slot); - slot->host->mmc->caps2 |= MMC_CAP2_CQE; + if (!glk_broken_cqhci(slot)) + slot->host->mmc->caps2 |= MMC_CAP2_CQE; if (slot->chip->pdev->device != PCI_DEVICE_ID_INTEL_GLK_EMMC) { slot->host->mmc->caps2 |= MMC_CAP2_HS400_ES, diff -Nru linux-4.19.87/drivers/mmc/host/sdhci.c linux-4.19.98/drivers/mmc/host/sdhci.c --- linux-4.19.87/drivers/mmc/host/sdhci.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mmc/host/sdhci.c 2020-01-23 07:21:39.000000000 +0000 @@ -1713,9 +1713,7 @@ ctrl_2 |= SDHCI_CTRL_UHS_SDR104; else if (timing == MMC_TIMING_UHS_SDR12) ctrl_2 |= SDHCI_CTRL_UHS_SDR12; - else if (timing == MMC_TIMING_SD_HS || - timing == MMC_TIMING_MMC_HS || - timing == MMC_TIMING_UHS_SDR25) + else if (timing == MMC_TIMING_UHS_SDR25) ctrl_2 |= SDHCI_CTRL_UHS_SDR25; else if (timing == MMC_TIMING_UHS_SDR50) ctrl_2 |= SDHCI_CTRL_UHS_SDR50; @@ -2246,8 +2244,8 @@ sdhci_send_tuning(host, opcode); if (!host->tuning_done) { - pr_info("%s: Tuning timeout, falling back to fixed sampling clock\n", - mmc_hostname(host->mmc)); + pr_debug("%s: Tuning timeout, falling back to fixed sampling clock\n", + mmc_hostname(host->mmc)); sdhci_abort_tuning(host, opcode); return; } @@ -3551,6 +3549,9 @@ mmc_hostname(mmc), host->version); } + if (host->quirks & SDHCI_QUIRK_BROKEN_CQE) + mmc->caps2 &= ~MMC_CAP2_CQE; + if (host->quirks & SDHCI_QUIRK_FORCE_DMA) host->flags |= SDHCI_USE_SDMA; else if (!(host->caps & SDHCI_CAN_DO_SDMA)) diff -Nru linux-4.19.87/drivers/mmc/host/sdhci.h linux-4.19.98/drivers/mmc/host/sdhci.h --- linux-4.19.87/drivers/mmc/host/sdhci.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mmc/host/sdhci.h 2020-01-23 07:21:39.000000000 +0000 @@ -391,6 +391,8 @@ #define SDHCI_QUIRK_BROKEN_CARD_DETECTION (1<<15) /* Controller reports inverted write-protect state */ #define SDHCI_QUIRK_INVERTED_WRITE_PROTECT (1<<16) +/* Controller has unusable command queue engine */ +#define SDHCI_QUIRK_BROKEN_CQE (1<<17) /* Controller does not like fast PIO transfers */ #define SDHCI_QUIRK_PIO_NEEDS_DELAY (1<<18) /* Controller has to be forced to use block size of 2048 bytes */ diff -Nru linux-4.19.87/drivers/mmc/host/tmio_mmc_core.c linux-4.19.98/drivers/mmc/host/tmio_mmc_core.c --- linux-4.19.87/drivers/mmc/host/tmio_mmc_core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mmc/host/tmio_mmc_core.c 2020-01-23 07:21:39.000000000 +0000 @@ -1267,7 +1267,7 @@ return ret; } - mmc->caps |= MMC_CAP_4_BIT_DATA | pdata->capabilities; + mmc->caps |= MMC_CAP_ERASE | MMC_CAP_4_BIT_DATA | pdata->capabilities; mmc->caps2 |= pdata->capabilities2; mmc->max_segs = pdata->max_segs ? : 32; mmc->max_blk_size = 512; diff -Nru linux-4.19.87/drivers/mtd/devices/mchp23k256.c linux-4.19.98/drivers/mtd/devices/mchp23k256.c --- linux-4.19.87/drivers/mtd/devices/mchp23k256.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mtd/devices/mchp23k256.c 2020-01-23 07:21:39.000000000 +0000 @@ -68,15 +68,17 @@ struct spi_transfer transfer[2] = {}; struct spi_message message; unsigned char command[MAX_CMD_SIZE]; - int ret; + int ret, cmd_len; spi_message_init(&message); + cmd_len = mchp23k256_cmdsz(flash); + command[0] = MCHP23K256_CMD_WRITE; mchp23k256_addr2cmd(flash, to, command); transfer[0].tx_buf = command; - transfer[0].len = mchp23k256_cmdsz(flash); + transfer[0].len = cmd_len; spi_message_add_tail(&transfer[0], &message); transfer[1].tx_buf = buf; @@ -92,8 +94,8 @@ if (ret) return ret; - if (retlen && message.actual_length > sizeof(command)) - *retlen += message.actual_length - sizeof(command); + if (retlen && message.actual_length > cmd_len) + *retlen += message.actual_length - cmd_len; return 0; } @@ -105,16 +107,18 @@ struct spi_transfer transfer[2] = {}; struct spi_message message; unsigned char command[MAX_CMD_SIZE]; - int ret; + int ret, cmd_len; spi_message_init(&message); + cmd_len = mchp23k256_cmdsz(flash); + memset(&transfer, 0, sizeof(transfer)); command[0] = MCHP23K256_CMD_READ; mchp23k256_addr2cmd(flash, from, command); transfer[0].tx_buf = command; - transfer[0].len = mchp23k256_cmdsz(flash); + transfer[0].len = cmd_len; spi_message_add_tail(&transfer[0], &message); transfer[1].rx_buf = buf; @@ -130,8 +134,8 @@ if (ret) return ret; - if (retlen && message.actual_length > sizeof(command)) - *retlen += message.actual_length - sizeof(command); + if (retlen && message.actual_length > cmd_len) + *retlen += message.actual_length - cmd_len; return 0; } diff -Nru linux-4.19.87/drivers/mtd/devices/spear_smi.c linux-4.19.98/drivers/mtd/devices/spear_smi.c --- linux-4.19.87/drivers/mtd/devices/spear_smi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mtd/devices/spear_smi.c 2020-01-23 07:21:39.000000000 +0000 @@ -592,6 +592,26 @@ return 0; } +/* + * The purpose of this function is to ensure a memcpy_toio() with byte writes + * only. Its structure is inspired from the ARM implementation of _memcpy_toio() + * which also does single byte writes but cannot be used here as this is just an + * implementation detail and not part of the API. Not mentioning the comment + * stating that _memcpy_toio() should be optimized. + */ +static void spear_smi_memcpy_toio_b(volatile void __iomem *dest, + const void *src, size_t len) +{ + const unsigned char *from = src; + + while (len) { + len--; + writeb(*from, dest); + from++; + dest++; + } +} + static inline int spear_smi_cpy_toio(struct spear_smi *dev, u32 bank, void __iomem *dest, const void *src, size_t len) { @@ -614,7 +634,23 @@ ctrlreg1 = readl(dev->io_base + SMI_CR1); writel((ctrlreg1 | WB_MODE) & ~SW_MODE, dev->io_base + SMI_CR1); - memcpy_toio(dest, src, len); + /* + * In Write Burst mode (WB_MODE), the specs states that writes must be: + * - incremental + * - of the same size + * The ARM implementation of memcpy_toio() will optimize the number of + * I/O by using as much 4-byte writes as possible, surrounded by + * 2-byte/1-byte access if: + * - the destination is not 4-byte aligned + * - the length is not a multiple of 4-byte. + * Avoid this alternance of write access size by using our own 'byte + * access' helper if at least one of the two conditions above is true. + */ + if (IS_ALIGNED(len, sizeof(u32)) && + IS_ALIGNED((uintptr_t)dest, sizeof(u32))) + memcpy_toio(dest, src, len); + else + spear_smi_memcpy_toio_b(dest, src, len); writel(ctrlreg1, dev->io_base + SMI_CR1); diff -Nru linux-4.19.87/drivers/mtd/mtdcore.h linux-4.19.98/drivers/mtd/mtdcore.h --- linux-4.19.87/drivers/mtd/mtdcore.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mtd/mtdcore.h 2020-01-23 07:21:39.000000000 +0000 @@ -7,7 +7,7 @@ extern struct mutex mtd_table_mutex; struct mtd_info *__mtd_next_device(int i); -int add_mtd_device(struct mtd_info *mtd); +int __must_check add_mtd_device(struct mtd_info *mtd); int del_mtd_device(struct mtd_info *mtd); int add_mtd_partitions(struct mtd_info *, const struct mtd_partition *, int); int del_mtd_partitions(struct mtd_info *); diff -Nru linux-4.19.87/drivers/mtd/mtdpart.c linux-4.19.98/drivers/mtd/mtdpart.c --- linux-4.19.87/drivers/mtd/mtdpart.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mtd/mtdpart.c 2020-01-23 07:21:39.000000000 +0000 @@ -612,10 +612,21 @@ list_add(&new->list, &mtd_partitions); mutex_unlock(&mtd_partitions_mutex); - add_mtd_device(&new->mtd); + ret = add_mtd_device(&new->mtd); + if (ret) + goto err_remove_part; mtd_add_partition_attrs(new); + return 0; + +err_remove_part: + mutex_lock(&mtd_partitions_mutex); + list_del(&new->list); + mutex_unlock(&mtd_partitions_mutex); + + free_partition(new); + return ret; } EXPORT_SYMBOL_GPL(mtd_add_partition); @@ -706,22 +717,31 @@ { struct mtd_part *slave; uint64_t cur_offset = 0; - int i; + int i, ret; printk(KERN_NOTICE "Creating %d MTD partitions on \"%s\":\n", nbparts, master->name); for (i = 0; i < nbparts; i++) { slave = allocate_partition(master, parts + i, i, cur_offset); if (IS_ERR(slave)) { - del_mtd_partitions(master); - return PTR_ERR(slave); + ret = PTR_ERR(slave); + goto err_del_partitions; } mutex_lock(&mtd_partitions_mutex); list_add(&slave->list, &mtd_partitions); mutex_unlock(&mtd_partitions_mutex); - add_mtd_device(&slave->mtd); + ret = add_mtd_device(&slave->mtd); + if (ret) { + mutex_lock(&mtd_partitions_mutex); + list_del(&slave->list); + mutex_unlock(&mtd_partitions_mutex); + + free_partition(slave); + goto err_del_partitions; + } + mtd_add_partition_attrs(slave); /* Look for subpartitions */ parse_mtd_partitions(&slave->mtd, parts[i].types, NULL); @@ -730,6 +750,11 @@ } return 0; + +err_del_partitions: + del_mtd_partitions(master); + + return ret; } static DEFINE_SPINLOCK(part_parser_lock); diff -Nru linux-4.19.87/drivers/mtd/nand/onenand/omap2.c linux-4.19.98/drivers/mtd/nand/onenand/omap2.c --- linux-4.19.87/drivers/mtd/nand/onenand/omap2.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mtd/nand/onenand/omap2.c 2020-01-23 07:21:39.000000000 +0000 @@ -341,7 +341,8 @@ struct dma_async_tx_descriptor *tx; dma_cookie_t cookie; - tx = dmaengine_prep_dma_memcpy(c->dma_chan, dst, src, count, 0); + tx = dmaengine_prep_dma_memcpy(c->dma_chan, dst, src, count, + DMA_CTRL_ACK | DMA_PREP_INTERRUPT); if (!tx) { dev_err(&c->pdev->dev, "Failed to prepare DMA memcpy\n"); return -EIO; diff -Nru linux-4.19.87/drivers/mtd/nand/raw/atmel/nand-controller.c linux-4.19.98/drivers/mtd/nand/raw/atmel/nand-controller.c --- linux-4.19.87/drivers/mtd/nand/raw/atmel/nand-controller.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mtd/nand/raw/atmel/nand-controller.c 2020-01-23 07:21:39.000000000 +0000 @@ -1826,7 +1826,7 @@ ret = of_property_read_u32(np, "#size-cells", &val); if (ret) { - dev_err(dev, "missing #address-cells property\n"); + dev_err(dev, "missing #size-cells property\n"); return ret; } diff -Nru linux-4.19.87/drivers/mtd/nand/raw/atmel/pmecc.c linux-4.19.98/drivers/mtd/nand/raw/atmel/pmecc.c --- linux-4.19.87/drivers/mtd/nand/raw/atmel/pmecc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mtd/nand/raw/atmel/pmecc.c 2020-01-23 07:21:39.000000000 +0000 @@ -876,23 +876,32 @@ { struct platform_device *pdev; struct atmel_pmecc *pmecc, **ptr; + int ret; pdev = of_find_device_by_node(np); - if (!pdev || !platform_get_drvdata(pdev)) + if (!pdev) return ERR_PTR(-EPROBE_DEFER); + pmecc = platform_get_drvdata(pdev); + if (!pmecc) { + ret = -EPROBE_DEFER; + goto err_put_device; + } ptr = devres_alloc(devm_atmel_pmecc_put, sizeof(*ptr), GFP_KERNEL); - if (!ptr) - return ERR_PTR(-ENOMEM); - - get_device(&pdev->dev); - pmecc = platform_get_drvdata(pdev); + if (!ptr) { + ret = -ENOMEM; + goto err_put_device; + } *ptr = pmecc; devres_add(userdev, ptr); return pmecc; + +err_put_device: + put_device(&pdev->dev); + return ERR_PTR(ret); } static const int atmel_pmecc_strengths[] = { 2, 4, 8, 12, 24, 32 }; diff -Nru linux-4.19.87/drivers/mtd/nand/raw/sunxi_nand.c linux-4.19.98/drivers/mtd/nand/raw/sunxi_nand.c --- linux-4.19.87/drivers/mtd/nand/raw/sunxi_nand.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mtd/nand/raw/sunxi_nand.c 2020-01-23 07:21:39.000000000 +0000 @@ -1397,7 +1397,7 @@ sunxi_nfc_randomizer_enable(mtd); writel((NAND_CMD_RNDIN << 8) | NAND_CMD_PAGEPROG, - nfc->regs + NFC_REG_RCMD_SET); + nfc->regs + NFC_REG_WCMD_SET); dma_async_issue_pending(nfc->dmac); diff -Nru linux-4.19.87/drivers/mtd/spi-nor/spi-nor.c linux-4.19.98/drivers/mtd/spi-nor/spi-nor.c --- linux-4.19.87/drivers/mtd/spi-nor/spi-nor.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mtd/spi-nor/spi-nor.c 2020-01-23 07:21:39.000000000 +0000 @@ -1294,7 +1294,7 @@ size_t *retlen, u_char *buf) { struct spi_nor *nor = mtd_to_spi_nor(mtd); - int ret; + ssize_t ret; dev_dbg(nor->dev, "from 0x%08x, len %zd\n", (u32)from, len); @@ -1523,7 +1523,7 @@ */ static int write_sr_cr(struct spi_nor *nor, u8 *sr_cr) { - int ret; + ssize_t ret; write_enable(nor); @@ -2459,7 +2459,7 @@ memset(params, 0, sizeof(*params)); /* Set SPI NOR sizes. */ - params->size = info->sector_size * info->n_sectors; + params->size = (u64)info->sector_size * info->n_sectors; params->page_size = info->page_size; /* (Fast) Read settings. */ diff -Nru linux-4.19.87/drivers/mtd/ubi/build.c linux-4.19.98/drivers/mtd/ubi/build.c --- linux-4.19.87/drivers/mtd/ubi/build.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mtd/ubi/build.c 2020-01-23 07:21:39.000000000 +0000 @@ -1101,10 +1101,10 @@ ubi_wl_close(ubi); ubi_free_internal_volumes(ubi); vfree(ubi->vtbl); - put_mtd_device(ubi->mtd); vfree(ubi->peb_buf); vfree(ubi->fm_buf); ubi_msg(ubi, "mtd%d is detached", ubi->mtd->index); + put_mtd_device(ubi->mtd); put_device(&ubi->dev); return 0; } diff -Nru linux-4.19.87/drivers/mtd/ubi/kapi.c linux-4.19.98/drivers/mtd/ubi/kapi.c --- linux-4.19.87/drivers/mtd/ubi/kapi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/mtd/ubi/kapi.c 2020-01-23 07:21:39.000000000 +0000 @@ -227,9 +227,9 @@ out_free: kfree(desc); out_put_ubi: - ubi_put_device(ubi); ubi_err(ubi, "cannot open device %d, volume %d, error %d", ubi_num, vol_id, err); + ubi_put_device(ubi); return ERR_PTR(err); } EXPORT_SYMBOL_GPL(ubi_open_volume); diff -Nru linux-4.19.87/drivers/net/Kconfig linux-4.19.98/drivers/net/Kconfig --- linux-4.19.87/drivers/net/Kconfig 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/Kconfig 2020-01-23 07:21:39.000000000 +0000 @@ -197,9 +197,9 @@ config GENEVE tristate "Generic Network Virtualization Encapsulation" - depends on INET && NET_UDP_TUNNEL + depends on INET depends on IPV6 || !IPV6 - select NET_IP_TUNNEL + select NET_UDP_TUNNEL select GRO_CELLS ---help--- This allows one to create geneve virtual interfaces that provide diff -Nru linux-4.19.87/drivers/net/bonding/bond_main.c linux-4.19.98/drivers/net/bonding/bond_main.c --- linux-4.19.87/drivers/net/bonding/bond_main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/bonding/bond_main.c 2020-01-23 07:21:39.000000000 +0000 @@ -2223,9 +2223,6 @@ } else if (BOND_MODE(bond) != BOND_MODE_ACTIVEBACKUP) { /* make it immediately active */ bond_set_active_slave(slave); - } else if (slave != primary) { - /* prevent it from being the active one */ - bond_set_backup_slave(slave); } netdev_info(bond->dev, "link status definitely up for interface %s, %u Mbps %s duplex\n", diff -Nru linux-4.19.87/drivers/net/can/c_can/c_can.c linux-4.19.98/drivers/net/can/c_can/c_can.c --- linux-4.19.87/drivers/net/can/c_can/c_can.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/can/c_can/c_can.c 2020-01-23 07:21:39.000000000 +0000 @@ -52,6 +52,7 @@ #define CONTROL_EX_PDR BIT(8) /* control register */ +#define CONTROL_SWR BIT(15) #define CONTROL_TEST BIT(7) #define CONTROL_CCE BIT(6) #define CONTROL_DISABLE_AR BIT(5) @@ -572,6 +573,26 @@ IF_MCONT_RCV_EOB); } +static int c_can_software_reset(struct net_device *dev) +{ + struct c_can_priv *priv = netdev_priv(dev); + int retry = 0; + + if (priv->type != BOSCH_D_CAN) + return 0; + + priv->write_reg(priv, C_CAN_CTRL_REG, CONTROL_SWR | CONTROL_INIT); + while (priv->read_reg(priv, C_CAN_CTRL_REG) & CONTROL_SWR) { + msleep(20); + if (retry++ > 100) { + netdev_err(dev, "CCTRL: software reset failed\n"); + return -EIO; + } + } + + return 0; +} + /* * Configure C_CAN chip: * - enable/disable auto-retransmission @@ -581,6 +602,11 @@ static int c_can_chip_config(struct net_device *dev) { struct c_can_priv *priv = netdev_priv(dev); + int err; + + err = c_can_software_reset(dev); + if (err) + return err; /* enable automatic retransmission */ priv->write_reg(priv, C_CAN_CTRL_REG, CONTROL_ENABLE_AR); diff -Nru linux-4.19.87/drivers/net/can/flexcan.c linux-4.19.98/drivers/net/can/flexcan.c --- linux-4.19.87/drivers/net/can/flexcan.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/can/flexcan.c 2020-01-23 07:21:39.000000000 +0000 @@ -566,6 +566,7 @@ struct can_frame *cf; bool rx_errors = false, tx_errors = false; u32 timestamp; + int err; timestamp = priv->read(®s->timer) << 16; @@ -614,7 +615,9 @@ if (tx_errors) dev->stats.tx_errors++; - can_rx_offload_queue_sorted(&priv->offload, skb, timestamp); + err = can_rx_offload_queue_sorted(&priv->offload, skb, timestamp); + if (err) + dev->stats.rx_fifo_errors++; } static void flexcan_irq_state(struct net_device *dev, u32 reg_esr) @@ -627,6 +630,7 @@ int flt; struct can_berr_counter bec; u32 timestamp; + int err; timestamp = priv->read(®s->timer) << 16; @@ -658,7 +662,9 @@ if (unlikely(new_state == CAN_STATE_BUS_OFF)) can_bus_off(dev); - can_rx_offload_queue_sorted(&priv->offload, skb, timestamp); + err = can_rx_offload_queue_sorted(&priv->offload, skb, timestamp); + if (err) + dev->stats.rx_fifo_errors++; } static inline struct flexcan_priv *rx_offload_to_priv(struct can_rx_offload *offload) diff -Nru linux-4.19.87/drivers/net/can/mscan/mscan.c linux-4.19.98/drivers/net/can/mscan/mscan.c --- linux-4.19.87/drivers/net/can/mscan/mscan.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/can/mscan/mscan.c 2020-01-23 07:21:39.000000000 +0000 @@ -392,13 +392,12 @@ struct net_device *dev = napi->dev; struct mscan_regs __iomem *regs = priv->reg_base; struct net_device_stats *stats = &dev->stats; - int npackets = 0; - int ret = 1; + int work_done = 0; struct sk_buff *skb; struct can_frame *frame; u8 canrflg; - while (npackets < quota) { + while (work_done < quota) { canrflg = in_8(®s->canrflg); if (!(canrflg & (MSCAN_RXF | MSCAN_ERR_IF))) break; @@ -419,18 +418,18 @@ stats->rx_packets++; stats->rx_bytes += frame->can_dlc; - npackets++; + work_done++; netif_receive_skb(skb); } - if (!(in_8(®s->canrflg) & (MSCAN_RXF | MSCAN_ERR_IF))) { - napi_complete(&priv->napi); - clear_bit(F_RX_PROGRESS, &priv->flags); - if (priv->can.state < CAN_STATE_BUS_OFF) - out_8(®s->canrier, priv->shadow_canrier); - ret = 0; + if (work_done < quota) { + if (likely(napi_complete_done(&priv->napi, work_done))) { + clear_bit(F_RX_PROGRESS, &priv->flags); + if (priv->can.state < CAN_STATE_BUS_OFF) + out_8(®s->canrier, priv->shadow_canrier); + } } - return ret; + return work_done; } static irqreturn_t mscan_isr(int irq, void *dev_id) diff -Nru linux-4.19.87/drivers/net/can/rx-offload.c linux-4.19.98/drivers/net/can/rx-offload.c --- linux-4.19.87/drivers/net/can/rx-offload.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/can/rx-offload.c 2020-01-23 07:21:39.000000000 +0000 @@ -116,37 +116,95 @@ return cb_b->timestamp - cb_a->timestamp; } -static struct sk_buff *can_rx_offload_offload_one(struct can_rx_offload *offload, unsigned int n) +/** + * can_rx_offload_offload_one() - Read one CAN frame from HW + * @offload: pointer to rx_offload context + * @n: number of mailbox to read + * + * The task of this function is to read a CAN frame from mailbox @n + * from the device and return the mailbox's content as a struct + * sk_buff. + * + * If the struct can_rx_offload::skb_queue exceeds the maximal queue + * length (struct can_rx_offload::skb_queue_len_max) or no skb can be + * allocated, the mailbox contents is discarded by reading it into an + * overflow buffer. This way the mailbox is marked as free by the + * driver. + * + * Return: A pointer to skb containing the CAN frame on success. + * + * NULL if the mailbox @n is empty. + * + * ERR_PTR() in case of an error + */ +static struct sk_buff * +can_rx_offload_offload_one(struct can_rx_offload *offload, unsigned int n) { - struct sk_buff *skb = NULL; + struct sk_buff *skb = NULL, *skb_error = NULL; struct can_rx_offload_cb *cb; struct can_frame *cf; int ret; - /* If queue is full or skb not available, read to discard mailbox */ - if (likely(skb_queue_len(&offload->skb_queue) <= - offload->skb_queue_len_max)) + if (likely(skb_queue_len(&offload->skb_queue) < + offload->skb_queue_len_max)) { skb = alloc_can_skb(offload->dev, &cf); + if (unlikely(!skb)) + skb_error = ERR_PTR(-ENOMEM); /* skb alloc failed */ + } else { + skb_error = ERR_PTR(-ENOBUFS); /* skb_queue is full */ + } - if (!skb) { + /* If queue is full or skb not available, drop by reading into + * overflow buffer. + */ + if (unlikely(skb_error)) { struct can_frame cf_overflow; u32 timestamp; ret = offload->mailbox_read(offload, &cf_overflow, ×tamp, n); - if (ret) - offload->dev->stats.rx_dropped++; - return NULL; + /* Mailbox was empty. */ + if (unlikely(!ret)) + return NULL; + + /* Mailbox has been read and we're dropping it or + * there was a problem reading the mailbox. + * + * Increment error counters in any case. + */ + offload->dev->stats.rx_dropped++; + offload->dev->stats.rx_fifo_errors++; + + /* There was a problem reading the mailbox, propagate + * error value. + */ + if (unlikely(ret < 0)) + return ERR_PTR(ret); + + return skb_error; } cb = can_rx_offload_get_cb(skb); ret = offload->mailbox_read(offload, cf, &cb->timestamp, n); - if (!ret) { + + /* Mailbox was empty. */ + if (unlikely(!ret)) { kfree_skb(skb); return NULL; } + /* There was a problem reading the mailbox, propagate error value. */ + if (unlikely(ret < 0)) { + kfree_skb(skb); + + offload->dev->stats.rx_dropped++; + offload->dev->stats.rx_fifo_errors++; + + return ERR_PTR(ret); + } + + /* Mailbox was read. */ return skb; } @@ -166,8 +224,8 @@ continue; skb = can_rx_offload_offload_one(offload, i); - if (!skb) - break; + if (IS_ERR_OR_NULL(skb)) + continue; __skb_queue_add_sort(&skb_queue, skb, can_rx_offload_compare); } @@ -197,7 +255,13 @@ struct sk_buff *skb; int received = 0; - while ((skb = can_rx_offload_offload_one(offload, 0))) { + while (1) { + skb = can_rx_offload_offload_one(offload, 0); + if (IS_ERR(skb)) + continue; + if (!skb) + break; + skb_queue_tail(&offload->skb_queue, skb); received++; } @@ -261,8 +325,10 @@ struct sk_buff *skb) { if (skb_queue_len(&offload->skb_queue) > - offload->skb_queue_len_max) - return -ENOMEM; + offload->skb_queue_len_max) { + kfree_skb(skb); + return -ENOBUFS; + } skb_queue_tail(&offload->skb_queue, skb); can_rx_offload_schedule(offload); diff -Nru linux-4.19.87/drivers/net/can/slcan.c linux-4.19.98/drivers/net/can/slcan.c --- linux-4.19.87/drivers/net/can/slcan.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/can/slcan.c 2020-01-23 07:21:39.000000000 +0000 @@ -613,6 +613,7 @@ sl->tty = NULL; tty->disc_data = NULL; clear_bit(SLF_INUSE, &sl->flags); + slc_free_netdev(sl->dev); free_netdev(sl->dev); err_exit: diff -Nru linux-4.19.87/drivers/net/can/spi/mcp251x.c linux-4.19.98/drivers/net/can/spi/mcp251x.c --- linux-4.19.87/drivers/net/can/spi/mcp251x.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/can/spi/mcp251x.c 2020-01-23 07:21:39.000000000 +0000 @@ -773,6 +773,7 @@ if (priv->after_suspend) { mcp251x_hw_reset(spi); mcp251x_setup(net, spi); + priv->force_quit = 0; if (priv->after_suspend & AFTER_SUSPEND_RESTART) { mcp251x_set_normal_mode(spi); } else if (priv->after_suspend & AFTER_SUSPEND_UP) { @@ -784,7 +785,6 @@ mcp251x_hw_sleep(spi); } priv->after_suspend = 0; - priv->force_quit = 0; } if (priv->restart_tx) { diff -Nru linux-4.19.87/drivers/net/can/usb/gs_usb.c linux-4.19.98/drivers/net/can/usb/gs_usb.c --- linux-4.19.87/drivers/net/can/usb/gs_usb.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/can/usb/gs_usb.c 2020-01-23 07:21:39.000000000 +0000 @@ -926,7 +926,7 @@ GS_USB_BREQ_HOST_FORMAT, USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_INTERFACE, 1, - intf->altsetting[0].desc.bInterfaceNumber, + intf->cur_altsetting->desc.bInterfaceNumber, hconf, sizeof(*hconf), 1000); @@ -949,7 +949,7 @@ GS_USB_BREQ_DEVICE_CONFIG, USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_INTERFACE, 1, - intf->altsetting[0].desc.bInterfaceNumber, + intf->cur_altsetting->desc.bInterfaceNumber, dconf, sizeof(*dconf), 1000); diff -Nru linux-4.19.87/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c linux-4.19.98/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c --- linux-4.19.87/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c 2020-01-23 07:21:39.000000000 +0000 @@ -1590,7 +1590,7 @@ struct usb_endpoint_descriptor *ep; int i; - iface_desc = &dev->intf->altsetting[0]; + iface_desc = dev->intf->cur_altsetting; for (i = 0; i < iface_desc->desc.bNumEndpoints; ++i) { ep = &iface_desc->endpoint[i].desc; diff -Nru linux-4.19.87/drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c linux-4.19.98/drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c --- linux-4.19.87/drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c 2020-01-23 07:21:39.000000000 +0000 @@ -608,7 +608,7 @@ struct kvaser_cmd *cmd; int err; - cmd = kmalloc(sizeof(*cmd), GFP_ATOMIC); + cmd = kzalloc(sizeof(*cmd), GFP_ATOMIC); if (!cmd) return -ENOMEM; @@ -1140,7 +1140,7 @@ struct kvaser_cmd *cmd; int rc; - cmd = kmalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); if (!cmd) return -ENOMEM; @@ -1206,7 +1206,7 @@ struct kvaser_cmd *cmd; int rc; - cmd = kmalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); if (!cmd) return -ENOMEM; @@ -1310,7 +1310,7 @@ struct usb_endpoint_descriptor *endpoint; int i; - iface_desc = &dev->intf->altsetting[0]; + iface_desc = dev->intf->cur_altsetting; for (i = 0; i < iface_desc->desc.bNumEndpoints; ++i) { endpoint = &iface_desc->endpoint[i].desc; diff -Nru linux-4.19.87/drivers/net/can/usb/peak_usb/pcan_usb.c linux-4.19.98/drivers/net/can/usb/peak_usb/pcan_usb.c --- linux-4.19.87/drivers/net/can/usb/peak_usb/pcan_usb.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/can/usb/peak_usb/pcan_usb.c 2020-01-23 07:21:39.000000000 +0000 @@ -444,8 +444,8 @@ } if ((n & PCAN_USB_ERROR_BUS_LIGHT) == 0) { /* no error (back to active state) */ - mc->pdev->dev.can.state = CAN_STATE_ERROR_ACTIVE; - return 0; + new_state = CAN_STATE_ERROR_ACTIVE; + break; } break; @@ -468,9 +468,9 @@ } if ((n & PCAN_USB_ERROR_BUS_HEAVY) == 0) { - /* no error (back to active state) */ - mc->pdev->dev.can.state = CAN_STATE_ERROR_ACTIVE; - return 0; + /* no error (back to warning state) */ + new_state = CAN_STATE_ERROR_WARNING; + break; } break; @@ -509,6 +509,11 @@ mc->pdev->dev.can.can_stats.error_warning++; break; + case CAN_STATE_ERROR_ACTIVE: + cf->can_id |= CAN_ERR_CRTL; + cf->data[1] = CAN_ERR_CRTL_ACTIVE; + break; + default: /* CAN_STATE_MAX (trick to handle other errors) */ cf->can_id |= CAN_ERR_CRTL; diff -Nru linux-4.19.87/drivers/net/can/usb/ucan.c linux-4.19.98/drivers/net/can/usb/ucan.c --- linux-4.19.87/drivers/net/can/usb/ucan.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/can/usb/ucan.c 2020-01-23 07:21:39.000000000 +0000 @@ -796,7 +796,7 @@ up); usb_anchor_urb(urb, &up->rx_urbs); - ret = usb_submit_urb(urb, GFP_KERNEL); + ret = usb_submit_urb(urb, GFP_ATOMIC); if (ret < 0) { netdev_err(up->netdev, diff -Nru linux-4.19.87/drivers/net/can/xilinx_can.c linux-4.19.98/drivers/net/can/xilinx_can.c --- linux-4.19.87/drivers/net/can/xilinx_can.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/can/xilinx_can.c 2020-01-23 07:21:39.000000000 +0000 @@ -612,7 +612,7 @@ * * Return: NETDEV_TX_OK on success and NETDEV_TX_BUSY when the tx queue is full */ -static int xcan_start_xmit(struct sk_buff *skb, struct net_device *ndev) +static netdev_tx_t xcan_start_xmit(struct sk_buff *skb, struct net_device *ndev) { struct xcan_priv *priv = netdev_priv(ndev); int ret; diff -Nru linux-4.19.87/drivers/net/dsa/Kconfig linux-4.19.98/drivers/net/dsa/Kconfig --- linux-4.19.87/drivers/net/dsa/Kconfig 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/dsa/Kconfig 2020-01-23 07:21:39.000000000 +0000 @@ -66,6 +66,7 @@ config NET_DSA_SMSC_LAN9303 tristate select NET_DSA_TAG_LAN9303 + select REGMAP ---help--- This enables support for the SMSC/Microchip LAN9303 3 port ethernet switch chips. diff -Nru linux-4.19.87/drivers/net/dsa/bcm_sf2.c linux-4.19.98/drivers/net/dsa/bcm_sf2.c --- linux-4.19.87/drivers/net/dsa/bcm_sf2.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/dsa/bcm_sf2.c 2020-01-23 07:21:39.000000000 +0000 @@ -309,11 +309,10 @@ * send them to our master MDIO bus controller */ if (addr == BRCM_PSEUDO_PHY_ADDR && priv->indir_phy_mask & BIT(addr)) - bcm_sf2_sw_indir_rw(priv, 0, addr, regnum, val); + return bcm_sf2_sw_indir_rw(priv, 0, addr, regnum, val); else - mdiobus_write_nested(priv->master_mii_bus, addr, regnum, val); - - return 0; + return mdiobus_write_nested(priv->master_mii_bus, addr, + regnum, val); } static irqreturn_t bcm_sf2_switch_0_isr(int irq, void *dev_id) diff -Nru linux-4.19.87/drivers/net/dsa/mv88e6xxx/chip.c linux-4.19.98/drivers/net/dsa/mv88e6xxx/chip.c --- linux-4.19.87/drivers/net/dsa/mv88e6xxx/chip.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/dsa/mv88e6xxx/chip.c 2020-01-23 07:21:39.000000000 +0000 @@ -2645,11 +2645,22 @@ mutex_unlock(&chip->reg_lock); if (reg == MII_PHYSID2) { - /* Some internal PHYS don't have a model number. Use - * the mv88e6390 family model number instead. - */ - if (!(val & 0x3f0)) - val |= MV88E6XXX_PORT_SWITCH_ID_PROD_6390 >> 4; + /* Some internal PHYs don't have a model number. */ + if (chip->info->family != MV88E6XXX_FAMILY_6165) + /* Then there is the 6165 family. It gets is + * PHYs correct. But it can also have two + * SERDES interfaces in the PHY address + * space. And these don't have a model + * number. But they are not PHYs, so we don't + * want to give them something a PHY driver + * will recognise. + * + * Use the mv88e6390 family model number + * instead, for anything which really could be + * a PHY, + */ + if (!(val & 0x3f0)) + val |= MV88E6XXX_PORT_SWITCH_ID_PROD_6390 >> 4; } return err ? err : val; diff -Nru linux-4.19.87/drivers/net/dsa/mv88e6xxx/global1.c linux-4.19.98/drivers/net/dsa/mv88e6xxx/global1.c --- linux-4.19.87/drivers/net/dsa/mv88e6xxx/global1.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/dsa/mv88e6xxx/global1.c 2020-01-23 07:21:39.000000000 +0000 @@ -371,6 +371,11 @@ { u16 ptr = MV88E6390_G1_MONITOR_MGMT_CTL_PTR_CPU_DEST; + /* Use the default high priority for management frames sent to + * the CPU. + */ + port |= MV88E6390_G1_MONITOR_MGMT_CTL_PTR_CPU_DEST_MGMTPRI; + return mv88e6390_g1_monitor_write(chip, ptr, port); } diff -Nru linux-4.19.87/drivers/net/dsa/mv88e6xxx/global1.h linux-4.19.98/drivers/net/dsa/mv88e6xxx/global1.h --- linux-4.19.87/drivers/net/dsa/mv88e6xxx/global1.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/dsa/mv88e6xxx/global1.h 2020-01-23 07:21:39.000000000 +0000 @@ -197,6 +197,7 @@ #define MV88E6390_G1_MONITOR_MGMT_CTL_PTR_INGRESS_DEST 0x2000 #define MV88E6390_G1_MONITOR_MGMT_CTL_PTR_EGRESS_DEST 0x2100 #define MV88E6390_G1_MONITOR_MGMT_CTL_PTR_CPU_DEST 0x3000 +#define MV88E6390_G1_MONITOR_MGMT_CTL_PTR_CPU_DEST_MGMTPRI 0x00e0 #define MV88E6390_G1_MONITOR_MGMT_CTL_DATA_MASK 0x00ff /* Offset 0x1C: Global Control 2 */ diff -Nru linux-4.19.87/drivers/net/ethernet/amazon/ena/ena_netdev.c linux-4.19.98/drivers/net/ethernet/amazon/ena/ena_netdev.c --- linux-4.19.87/drivers/net/ethernet/amazon/ena/ena_netdev.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/amazon/ena/ena_netdev.c 2020-01-23 07:21:39.000000000 +0000 @@ -1197,8 +1197,8 @@ struct ena_napi *ena_napi = container_of(napi, struct ena_napi, napi); struct ena_ring *tx_ring, *rx_ring; - u32 tx_work_done; - u32 rx_work_done; + int tx_work_done; + int rx_work_done = 0; int tx_budget; int napi_comp_call = 0; int ret; @@ -1215,7 +1215,11 @@ } tx_work_done = ena_clean_tx_irq(tx_ring, tx_budget); - rx_work_done = ena_clean_rx_irq(rx_ring, napi, budget); + /* On netpoll the budget is zero and the handler should only clean the + * tx completions. + */ + if (likely(budget)) + rx_work_done = ena_clean_rx_irq(rx_ring, napi, budget); /* If the device is about to reset or down, avoid unmask * the interrupt and return 0 so NAPI won't reschedule diff -Nru linux-4.19.87/drivers/net/ethernet/aquantia/atlantic/aq_cfg.h linux-4.19.98/drivers/net/ethernet/aquantia/atlantic/aq_cfg.h --- linux-4.19.87/drivers/net/ethernet/aquantia/atlantic/aq_cfg.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/aquantia/atlantic/aq_cfg.h 2020-01-23 07:21:39.000000000 +0000 @@ -42,8 +42,8 @@ #define AQ_CFG_IS_LRO_DEF 1U /* RSS */ -#define AQ_CFG_RSS_INDIRECTION_TABLE_MAX 128U -#define AQ_CFG_RSS_HASHKEY_SIZE 320U +#define AQ_CFG_RSS_INDIRECTION_TABLE_MAX 64U +#define AQ_CFG_RSS_HASHKEY_SIZE 40U #define AQ_CFG_IS_RSS_DEF 1U #define AQ_CFG_NUM_RSS_QUEUES_DEF AQ_CFG_VECS_DEF diff -Nru linux-4.19.87/drivers/net/ethernet/aquantia/atlantic/aq_nic.c linux-4.19.98/drivers/net/ethernet/aquantia/atlantic/aq_nic.c --- linux-4.19.87/drivers/net/ethernet/aquantia/atlantic/aq_nic.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/aquantia/atlantic/aq_nic.c 2020-01-23 07:21:39.000000000 +0000 @@ -44,7 +44,7 @@ struct aq_rss_parameters *rss_params = &cfg->aq_rss; int i = 0; - static u8 rss_key[40] = { + static u8 rss_key[AQ_CFG_RSS_HASHKEY_SIZE] = { 0x1e, 0xad, 0x71, 0x87, 0x65, 0xfc, 0x26, 0x7d, 0x0d, 0x45, 0x67, 0x74, 0xcd, 0x06, 0x1a, 0x18, 0xb6, 0xc1, 0xf0, 0xc7, 0xbb, 0x18, 0xbe, 0xf8, diff -Nru linux-4.19.87/drivers/net/ethernet/atheros/atl1e/atl1e_main.c linux-4.19.98/drivers/net/ethernet/atheros/atl1e/atl1e_main.c --- linux-4.19.87/drivers/net/ethernet/atheros/atl1e/atl1e_main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/atheros/atl1e/atl1e_main.c 2020-01-23 07:21:39.000000000 +0000 @@ -473,7 +473,9 @@ { struct atl1e_adapter *adapter = netdev_priv(netdev); - atl1e_write_phy_reg(&adapter->hw, reg_num & MDIO_REG_ADDR_MASK, val); + if (atl1e_write_phy_reg(&adapter->hw, + reg_num & MDIO_REG_ADDR_MASK, val)) + netdev_err(netdev, "write phy register failed\n"); } static int atl1e_mii_ioctl(struct net_device *netdev, diff -Nru linux-4.19.87/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h linux-4.19.98/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h --- linux-4.19.87/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h 2020-01-23 07:21:39.000000000 +0000 @@ -1113,7 +1113,7 @@ for (i = 0; i < E1H_FUNC_MAX / 2; i++) { u32 func_config = MF_CFG_RD(bp, - func_mf_config[BP_PORT(bp) + 2 * i]. + func_mf_config[BP_PATH(bp) + 2 * i]. config); func_num += ((func_config & FUNC_MF_CFG_FUNC_HIDE) ? 0 : 1); diff -Nru linux-4.19.87/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c linux-4.19.98/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c --- linux-4.19.87/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c 2020-01-23 07:21:39.000000000 +0000 @@ -9995,10 +9995,18 @@ */ static void bnx2x_parity_recover(struct bnx2x *bp) { - bool global = false; u32 error_recovered, error_unrecovered; - bool is_parity; + bool is_parity, global = false; +#ifdef CONFIG_BNX2X_SRIOV + int vf_idx; + for (vf_idx = 0; vf_idx < bp->requested_nr_virtfn; vf_idx++) { + struct bnx2x_virtf *vf = BP_VF(bp, vf_idx); + + if (vf) + vf->state = VF_LOST; + } +#endif DP(NETIF_MSG_HW, "Handling parity\n"); while (1) { switch (bp->recovery_state) { diff -Nru linux-4.19.87/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c linux-4.19.98/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c --- linux-4.19.87/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c 2020-01-23 07:21:39.000000000 +0000 @@ -2394,15 +2394,21 @@ /* send the ramrod on all the queues of the PF */ for_each_eth_queue(bp, i) { struct bnx2x_fastpath *fp = &bp->fp[i]; + int tx_idx; /* Set the appropriate Queue object */ q_params.q_obj = &bnx2x_sp_obj(bp, fp).q_obj; - /* Update the Queue state */ - rc = bnx2x_queue_state_change(bp, &q_params); - if (rc) { - BNX2X_ERR("Failed to configure Tx switching\n"); - return rc; + for (tx_idx = FIRST_TX_COS_INDEX; + tx_idx < fp->max_cos; tx_idx++) { + q_params.params.update.cid_index = tx_idx; + + /* Update the Queue state */ + rc = bnx2x_queue_state_change(bp, &q_params); + if (rc) { + BNX2X_ERR("Failed to configure Tx switching\n"); + return rc; + } } } diff -Nru linux-4.19.87/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.h linux-4.19.98/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.h --- linux-4.19.87/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.h 2020-01-23 07:21:39.000000000 +0000 @@ -139,6 +139,7 @@ #define VF_ACQUIRED 1 /* VF acquired, but not initialized */ #define VF_ENABLED 2 /* VF Enabled */ #define VF_RESET 3 /* VF FLR'd, pending cleanup */ +#define VF_LOST 4 /* Recovery while VFs are loaded */ bool flr_clnup_stage; /* true during flr cleanup */ bool malicious; /* true if FW indicated so, until FLR */ diff -Nru linux-4.19.87/drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c linux-4.19.98/drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c --- linux-4.19.87/drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c 2020-01-23 07:21:39.000000000 +0000 @@ -2114,6 +2114,18 @@ { int i; + if (vf->state == VF_LOST) { + /* Just ack the FW and return if VFs are lost + * in case of parity error. VFs are supposed to be timedout + * on waiting for PF response. + */ + DP(BNX2X_MSG_IOV, + "VF 0x%x lost, not handling the request\n", vf->abs_vfid); + + storm_memset_vf_mbx_ack(bp, vf->abs_vfid); + return; + } + /* check if tlv type is known */ if (bnx2x_tlv_supported(mbx->first_tlv.tl.type)) { /* Lock the per vf op mutex and note the locker's identity. diff -Nru linux-4.19.87/drivers/net/ethernet/broadcom/bnxt/bnxt.c linux-4.19.98/drivers/net/ethernet/broadcom/bnxt/bnxt.c --- linux-4.19.87/drivers/net/ethernet/broadcom/bnxt/bnxt.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/broadcom/bnxt/bnxt.c 2020-01-23 07:21:39.000000000 +0000 @@ -7148,6 +7148,9 @@ test_bit(BNXT_STATE_READ_STATS, &bp->state)); } +static void bnxt_get_ring_stats(struct bnxt *bp, + struct rtnl_link_stats64 *stats); + static void __bnxt_close_nic(struct bnxt *bp, bool irq_re_init, bool link_re_init) { @@ -7173,6 +7176,9 @@ del_timer_sync(&bp->timer); bnxt_free_skbs(bp); + /* Save ring stats before shutdown */ + if (bp->bnapi) + bnxt_get_ring_stats(bp, &bp->net_stats_prev); if (irq_re_init) { bnxt_free_irq(bp); bnxt_del_napi(bp); @@ -7234,23 +7240,12 @@ return -EOPNOTSUPP; } -static void -bnxt_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) +static void bnxt_get_ring_stats(struct bnxt *bp, + struct rtnl_link_stats64 *stats) { - u32 i; - struct bnxt *bp = netdev_priv(dev); + int i; - set_bit(BNXT_STATE_READ_STATS, &bp->state); - /* Make sure bnxt_close_nic() sees that we are reading stats before - * we check the BNXT_STATE_OPEN flag. - */ - smp_mb__after_atomic(); - if (!test_bit(BNXT_STATE_OPEN, &bp->state)) { - clear_bit(BNXT_STATE_READ_STATS, &bp->state); - return; - } - /* TODO check if we need to synchronize with bnxt_close path */ for (i = 0; i < bp->cp_nr_rings; i++) { struct bnxt_napi *bnapi = bp->bnapi[i]; struct bnxt_cp_ring_info *cpr = &bnapi->cp_ring; @@ -7279,6 +7274,40 @@ stats->tx_dropped += le64_to_cpu(hw_stats->tx_drop_pkts); } +} + +static void bnxt_add_prev_stats(struct bnxt *bp, + struct rtnl_link_stats64 *stats) +{ + struct rtnl_link_stats64 *prev_stats = &bp->net_stats_prev; + + stats->rx_packets += prev_stats->rx_packets; + stats->tx_packets += prev_stats->tx_packets; + stats->rx_bytes += prev_stats->rx_bytes; + stats->tx_bytes += prev_stats->tx_bytes; + stats->rx_missed_errors += prev_stats->rx_missed_errors; + stats->multicast += prev_stats->multicast; + stats->tx_dropped += prev_stats->tx_dropped; +} + +static void +bnxt_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) +{ + struct bnxt *bp = netdev_priv(dev); + + set_bit(BNXT_STATE_READ_STATS, &bp->state); + /* Make sure bnxt_close_nic() sees that we are reading stats before + * we check the BNXT_STATE_OPEN flag. + */ + smp_mb__after_atomic(); + if (!test_bit(BNXT_STATE_OPEN, &bp->state)) { + clear_bit(BNXT_STATE_READ_STATS, &bp->state); + *stats = bp->net_stats_prev; + return; + } + + bnxt_get_ring_stats(bp, stats); + bnxt_add_prev_stats(bp, stats); if (bp->flags & BNXT_FLAG_PORT_STATS) { struct rx_port_stats *rx = bp->hw_rx_port_stats; diff -Nru linux-4.19.87/drivers/net/ethernet/broadcom/bnxt/bnxt.h linux-4.19.98/drivers/net/ethernet/broadcom/bnxt/bnxt.h --- linux-4.19.87/drivers/net/ethernet/broadcom/bnxt/bnxt.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/broadcom/bnxt/bnxt.h 2020-01-23 07:21:39.000000000 +0000 @@ -1302,6 +1302,7 @@ void *hwrm_cmd_resp_addr; dma_addr_t hwrm_cmd_resp_dma_addr; + struct rtnl_link_stats64 net_stats_prev; struct rx_port_stats *hw_rx_port_stats; struct tx_port_stats *hw_tx_port_stats; struct rx_port_stats_ext *hw_rx_port_stats_ext; diff -Nru linux-4.19.87/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c linux-4.19.98/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c --- linux-4.19.87/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c 2020-01-23 07:21:39.000000000 +0000 @@ -1444,14 +1444,22 @@ rc = hwrm_send_message(bp, &req, sizeof(req), FLASH_NVRAM_TIMEOUT); dma_free_coherent(&bp->pdev->dev, data_len, kmem, dma_handle); + if (rc == HWRM_ERR_CODE_RESOURCE_ACCESS_DENIED) { + netdev_info(dev, + "PF does not have admin privileges to flash the device\n"); + rc = -EACCES; + } else if (rc) { + rc = -EIO; + } return rc; } static int bnxt_firmware_reset(struct net_device *dev, u16 dir_type) { - struct bnxt *bp = netdev_priv(dev); struct hwrm_fw_reset_input req = {0}; + struct bnxt *bp = netdev_priv(dev); + int rc; bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_FW_RESET, -1, -1); @@ -1491,7 +1499,15 @@ return -EINVAL; } - return hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT); + rc = hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT); + if (rc == HWRM_ERR_CODE_RESOURCE_ACCESS_DENIED) { + netdev_info(dev, + "PF does not have admin privileges to reset the device\n"); + rc = -EACCES; + } else if (rc) { + rc = -EIO; + } + return rc; } static int bnxt_flash_firmware(struct net_device *dev, @@ -1698,9 +1714,9 @@ struct hwrm_nvm_install_update_output *resp = bp->hwrm_cmd_resp_addr; struct hwrm_nvm_install_update_input install = {0}; const struct firmware *fw; + int rc, hwrm_err = 0; u32 item_len; u16 index; - int rc; bnxt_hwrm_fw_set_time(bp); @@ -1743,15 +1759,16 @@ memcpy(kmem, fw->data, fw->size); modify.host_src_addr = cpu_to_le64(dma_handle); - rc = hwrm_send_message(bp, &modify, sizeof(modify), - FLASH_PACKAGE_TIMEOUT); + hwrm_err = hwrm_send_message(bp, &modify, + sizeof(modify), + FLASH_PACKAGE_TIMEOUT); dma_free_coherent(&bp->pdev->dev, fw->size, kmem, dma_handle); } } release_firmware(fw); - if (rc) - return rc; + if (rc || hwrm_err) + goto err_exit; if ((install_type & 0xffff) == 0) install_type >>= 16; @@ -1759,12 +1776,10 @@ install.install_type = cpu_to_le32(install_type); mutex_lock(&bp->hwrm_cmd_lock); - rc = _hwrm_send_message(bp, &install, sizeof(install), - INSTALL_PACKAGE_TIMEOUT); - if (rc) { - rc = -EOPNOTSUPP; + hwrm_err = _hwrm_send_message(bp, &install, sizeof(install), + INSTALL_PACKAGE_TIMEOUT); + if (hwrm_err) goto flash_pkg_exit; - } if (resp->error_code) { u8 error_code = ((struct hwrm_err_output *)resp)->cmd_err; @@ -1772,12 +1787,11 @@ if (error_code == NVM_INSTALL_UPDATE_CMD_ERR_CODE_FRAG_ERR) { install.flags |= cpu_to_le16( NVM_INSTALL_UPDATE_REQ_FLAGS_ALLOWED_TO_DEFRAG); - rc = _hwrm_send_message(bp, &install, sizeof(install), - INSTALL_PACKAGE_TIMEOUT); - if (rc) { - rc = -EOPNOTSUPP; + hwrm_err = _hwrm_send_message(bp, &install, + sizeof(install), + INSTALL_PACKAGE_TIMEOUT); + if (hwrm_err) goto flash_pkg_exit; - } } } @@ -1788,6 +1802,14 @@ } flash_pkg_exit: mutex_unlock(&bp->hwrm_cmd_lock); +err_exit: + if (hwrm_err == HWRM_ERR_CODE_RESOURCE_ACCESS_DENIED) { + netdev_info(dev, + "PF does not have admin privileges to flash the device\n"); + rc = -EACCES; + } else if (hwrm_err) { + rc = -EOPNOTSUPP; + } return rc; } @@ -2368,17 +2390,37 @@ return hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT); } +static int bnxt_query_force_speeds(struct bnxt *bp, u16 *force_speeds) +{ + struct hwrm_port_phy_qcaps_output *resp = bp->hwrm_cmd_resp_addr; + struct hwrm_port_phy_qcaps_input req = {0}; + int rc; + + bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_PORT_PHY_QCAPS, -1, -1); + mutex_lock(&bp->hwrm_cmd_lock); + rc = _hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT); + if (!rc) + *force_speeds = le16_to_cpu(resp->supported_speeds_force_mode); + + mutex_unlock(&bp->hwrm_cmd_lock); + return rc; +} + static int bnxt_disable_an_for_lpbk(struct bnxt *bp, struct hwrm_port_phy_cfg_input *req) { struct bnxt_link_info *link_info = &bp->link_info; - u16 fw_advertising = link_info->advertising; + u16 fw_advertising; u16 fw_speed; int rc; if (!link_info->autoneg) return 0; + rc = bnxt_query_force_speeds(bp, &fw_advertising); + if (rc) + return rc; + fw_speed = PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_1GB; if (netif_carrier_ok(bp->dev)) fw_speed = bp->link_info.link_speed; @@ -2736,8 +2778,15 @@ } } - if (info->dest_buf) - memcpy(info->dest_buf + off, dma_buf, len); + if (info->dest_buf) { + if ((info->seg_start + off + len) <= + BNXT_COREDUMP_BUF_LEN(info->buf_len)) { + memcpy(info->dest_buf + off, dma_buf, len); + } else { + rc = -ENOBUFS; + break; + } + } if (cmn_req->req_type == cpu_to_le16(HWRM_DBG_COREDUMP_RETRIEVE)) @@ -2791,7 +2840,7 @@ static int bnxt_hwrm_dbg_coredump_retrieve(struct bnxt *bp, u16 component_id, u16 segment_id, u32 *seg_len, - void *buf, u32 offset) + void *buf, u32 buf_len, u32 offset) { struct hwrm_dbg_coredump_retrieve_input req = {0}; struct bnxt_hwrm_dbg_dma_info info = {NULL}; @@ -2806,8 +2855,11 @@ seq_no); info.data_len_off = offsetof(struct hwrm_dbg_coredump_retrieve_output, data_len); - if (buf) + if (buf) { info.dest_buf = buf + offset; + info.buf_len = buf_len; + info.seg_start = offset; + } rc = bnxt_hwrm_dbg_dma_data(bp, &req, sizeof(req), &info); if (!rc) @@ -2897,14 +2949,17 @@ static int bnxt_get_coredump(struct bnxt *bp, void *buf, u32 *dump_len) { u32 ver_get_resp_len = sizeof(struct hwrm_ver_get_output); + u32 offset = 0, seg_hdr_len, seg_record_len, buf_len = 0; struct coredump_segment_record *seg_record = NULL; - u32 offset = 0, seg_hdr_len, seg_record_len; struct bnxt_coredump_segment_hdr seg_hdr; struct bnxt_coredump coredump = {NULL}; time64_t start_time; u16 start_utc; int rc = 0, i; + if (buf) + buf_len = *dump_len; + start_time = ktime_get_real_seconds(); start_utc = sys_tz.tz_minuteswest * 60; seg_hdr_len = sizeof(seg_hdr); @@ -2937,6 +2992,12 @@ u32 duration = 0, seg_len = 0; unsigned long start, end; + if (buf && ((offset + seg_hdr_len) > + BNXT_COREDUMP_BUF_LEN(buf_len))) { + rc = -ENOBUFS; + goto err; + } + start = jiffies; rc = bnxt_hwrm_dbg_coredump_initiate(bp, comp_id, seg_id); @@ -2949,9 +3010,11 @@ /* Write segment data into the buffer */ rc = bnxt_hwrm_dbg_coredump_retrieve(bp, comp_id, seg_id, - &seg_len, buf, + &seg_len, buf, buf_len, offset + seg_hdr_len); - if (rc) + if (rc && rc == -ENOBUFS) + goto err; + else if (rc) netdev_err(bp->dev, "Failed to retrieve coredump for seg = %d\n", seg_record->segment_id); @@ -2981,7 +3044,8 @@ rc); kfree(coredump.data); *dump_len += sizeof(struct bnxt_coredump_record); - + if (rc == -ENOBUFS) + netdev_err(bp->dev, "Firmware returned large coredump buffer"); return rc; } diff -Nru linux-4.19.87/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.h linux-4.19.98/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.h --- linux-4.19.87/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.h 2020-01-23 07:21:39.000000000 +0000 @@ -31,6 +31,8 @@ u16 total_segs; }; +#define BNXT_COREDUMP_BUF_LEN(len) ((len) - sizeof(struct bnxt_coredump_record)) + struct bnxt_hwrm_dbg_dma_info { void *dest_buf; int dest_buf_size; @@ -38,6 +40,8 @@ u16 seq_off; u16 data_len_off; u16 segs; + u32 seg_start; + u32 buf_len; }; struct hwrm_dbg_cmn_input { diff -Nru linux-4.19.87/drivers/net/ethernet/broadcom/genet/bcmgenet.c linux-4.19.98/drivers/net/ethernet/broadcom/genet/bcmgenet.c --- linux-4.19.87/drivers/net/ethernet/broadcom/genet/bcmgenet.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/broadcom/genet/bcmgenet.c 2020-01-23 07:21:39.000000000 +0000 @@ -1998,8 +1998,6 @@ /* issue soft reset with (rg)mii loopback to ensure a stable rxclk */ bcmgenet_umac_writel(priv, CMD_SW_RESET | CMD_LCL_LOOP_EN, UMAC_CMD); - udelay(2); - bcmgenet_umac_writel(priv, 0, UMAC_CMD); } static void bcmgenet_intr_disable(struct bcmgenet_priv *priv) @@ -2621,8 +2619,10 @@ spin_unlock_irq(&priv->lock); if (status & UMAC_IRQ_PHY_DET_R && - priv->dev->phydev->autoneg != AUTONEG_ENABLE) + priv->dev->phydev->autoneg != AUTONEG_ENABLE) { phy_init_hw(priv->dev->phydev); + genphy_config_aneg(priv->dev->phydev); + } /* Link UP/DOWN event */ if (status & UMAC_IRQ_LINK_EVENT) @@ -3675,6 +3675,7 @@ phy_init_hw(dev->phydev); /* Speed settings must be restored */ + genphy_config_aneg(dev->phydev); bcmgenet_mii_config(priv->dev, false); bcmgenet_set_hw_addr(priv, dev->dev_addr); diff -Nru linux-4.19.87/drivers/net/ethernet/broadcom/genet/bcmmii.c linux-4.19.98/drivers/net/ethernet/broadcom/genet/bcmmii.c --- linux-4.19.87/drivers/net/ethernet/broadcom/genet/bcmmii.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/broadcom/genet/bcmmii.c 2020-01-23 07:21:39.000000000 +0000 @@ -184,8 +184,38 @@ const char *phy_name = NULL; u32 id_mode_dis = 0; u32 port_ctrl; + int bmcr = -1; + int ret; u32 reg; + /* MAC clocking workaround during reset of umac state machines */ + reg = bcmgenet_umac_readl(priv, UMAC_CMD); + if (reg & CMD_SW_RESET) { + /* An MII PHY must be isolated to prevent TXC contention */ + if (priv->phy_interface == PHY_INTERFACE_MODE_MII) { + ret = phy_read(phydev, MII_BMCR); + if (ret >= 0) { + bmcr = ret; + ret = phy_write(phydev, MII_BMCR, + bmcr | BMCR_ISOLATE); + } + if (ret) { + netdev_err(dev, "failed to isolate PHY\n"); + return ret; + } + } + /* Switch MAC clocking to RGMII generated clock */ + bcmgenet_sys_writel(priv, PORT_MODE_EXT_GPHY, SYS_PORT_CTRL); + /* Ensure 5 clks with Rx disabled + * followed by 5 clks with Reset asserted + */ + udelay(4); + reg &= ~(CMD_SW_RESET | CMD_LCL_LOOP_EN); + bcmgenet_umac_writel(priv, reg, UMAC_CMD); + /* Ensure 5 more clocks before Rx is enabled */ + udelay(2); + } + priv->ext_phy = !priv->internal_phy && (priv->phy_interface != PHY_INTERFACE_MODE_MOCA); @@ -217,6 +247,9 @@ phydev->supported &= PHY_BASIC_FEATURES; bcmgenet_sys_writel(priv, PORT_MODE_EXT_EPHY, SYS_PORT_CTRL); + /* Restore the MII PHY after isolation */ + if (bmcr >= 0) + phy_write(phydev, MII_BMCR, bmcr); break; case PHY_INTERFACE_MODE_REVMII: diff -Nru linux-4.19.87/drivers/net/ethernet/cadence/macb.h linux-4.19.98/drivers/net/ethernet/cadence/macb.h --- linux-4.19.87/drivers/net/ethernet/cadence/macb.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/cadence/macb.h 2020-01-23 07:21:39.000000000 +0000 @@ -499,7 +499,11 @@ /* Bitfields in TISUBN */ #define GEM_SUBNSINCR_OFFSET 0 -#define GEM_SUBNSINCR_SIZE 16 +#define GEM_SUBNSINCRL_OFFSET 24 +#define GEM_SUBNSINCRL_SIZE 8 +#define GEM_SUBNSINCRH_OFFSET 0 +#define GEM_SUBNSINCRH_SIZE 16 +#define GEM_SUBNSINCR_SIZE 24 /* Bitfields in TI */ #define GEM_NSINCR_OFFSET 0 diff -Nru linux-4.19.87/drivers/net/ethernet/cadence/macb_main.c linux-4.19.98/drivers/net/ethernet/cadence/macb_main.c --- linux-4.19.87/drivers/net/ethernet/cadence/macb_main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/cadence/macb_main.c 2020-01-23 07:21:39.000000000 +0000 @@ -860,7 +860,9 @@ /* First, update TX stats if needed */ if (skb) { - if (gem_ptp_do_txstamp(queue, skb, desc) == 0) { + if (unlikely(skb_shinfo(skb)->tx_flags & + SKBTX_HW_TSTAMP) && + gem_ptp_do_txstamp(queue, skb, desc) == 0) { /* skb now belongs to timestamp buffer * and will be removed later */ @@ -3328,7 +3330,7 @@ if (!err) err = -ENODEV; - dev_err(&pdev->dev, "failed to get macb_clk (%u)\n", err); + dev_err(&pdev->dev, "failed to get macb_clk (%d)\n", err); return err; } @@ -3337,7 +3339,7 @@ if (!err) err = -ENODEV; - dev_err(&pdev->dev, "failed to get hclk (%u)\n", err); + dev_err(&pdev->dev, "failed to get hclk (%d)\n", err); return err; } @@ -3351,25 +3353,25 @@ err = clk_prepare_enable(*pclk); if (err) { - dev_err(&pdev->dev, "failed to enable pclk (%u)\n", err); + dev_err(&pdev->dev, "failed to enable pclk (%d)\n", err); return err; } err = clk_prepare_enable(*hclk); if (err) { - dev_err(&pdev->dev, "failed to enable hclk (%u)\n", err); + dev_err(&pdev->dev, "failed to enable hclk (%d)\n", err); goto err_disable_pclk; } err = clk_prepare_enable(*tx_clk); if (err) { - dev_err(&pdev->dev, "failed to enable tx_clk (%u)\n", err); + dev_err(&pdev->dev, "failed to enable tx_clk (%d)\n", err); goto err_disable_hclk; } err = clk_prepare_enable(*rx_clk); if (err) { - dev_err(&pdev->dev, "failed to enable rx_clk (%u)\n", err); + dev_err(&pdev->dev, "failed to enable rx_clk (%d)\n", err); goto err_disable_txclk; } @@ -3839,7 +3841,7 @@ err = clk_prepare_enable(*pclk); if (err) { - dev_err(&pdev->dev, "failed to enable pclk (%u)\n", err); + dev_err(&pdev->dev, "failed to enable pclk (%d)\n", err); return err; } @@ -4192,6 +4194,7 @@ mdiobus_free(bp->mii_bus); unregister_netdev(dev); + tasklet_kill(&bp->hresp_err_tasklet); clk_disable_unprepare(bp->tx_clk); clk_disable_unprepare(bp->hclk); clk_disable_unprepare(bp->pclk); diff -Nru linux-4.19.87/drivers/net/ethernet/cadence/macb_ptp.c linux-4.19.98/drivers/net/ethernet/cadence/macb_ptp.c --- linux-4.19.87/drivers/net/ethernet/cadence/macb_ptp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/cadence/macb_ptp.c 2020-01-23 07:21:39.000000000 +0000 @@ -115,7 +115,10 @@ * to take effect. */ spin_lock_irqsave(&bp->tsu_clk_lock, flags); - gem_writel(bp, TISUBN, GEM_BF(SUBNSINCR, incr_spec->sub_ns)); + /* RegBit[15:0] = Subns[23:8]; RegBit[31:24] = Subns[7:0] */ + gem_writel(bp, TISUBN, GEM_BF(SUBNSINCRL, incr_spec->sub_ns) | + GEM_BF(SUBNSINCRH, (incr_spec->sub_ns >> + GEM_SUBNSINCRL_SIZE))); gem_writel(bp, TI, GEM_BF(NSINCR, incr_spec->ns)); spin_unlock_irqrestore(&bp->tsu_clk_lock, flags); diff -Nru linux-4.19.87/drivers/net/ethernet/cavium/thunder/thunder_bgx.c linux-4.19.98/drivers/net/ethernet/cavium/thunder/thunder_bgx.c --- linux-4.19.87/drivers/net/ethernet/cavium/thunder/thunder_bgx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/cavium/thunder/thunder_bgx.c 2020-01-23 07:21:39.000000000 +0000 @@ -1118,7 +1118,7 @@ phy_interface_mode(lmac->lmac_type))) return -ENODEV; - phy_start_aneg(lmac->phydev); + phy_start(lmac->phydev); return 0; } diff -Nru linux-4.19.87/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c linux-4.19.98/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c --- linux-4.19.87/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c 2020-01-23 07:21:39.000000000 +0000 @@ -3035,6 +3035,9 @@ int tot_uld_entries = 0; int i; + if (!is_uld(adap)) + goto lld_only; + mutex_lock(&uld_mutex); for (i = 0; i < CXGB4_TX_MAX; i++) tot_uld_entries += sge_qinfo_uld_txq_entries(adap, i); @@ -3045,6 +3048,7 @@ } mutex_unlock(&uld_mutex); +lld_only: return DIV_ROUND_UP(adap->sge.ethqsets, 4) + tot_uld_entries + DIV_ROUND_UP(MAX_CTRL_QUEUES, 4) + 1; diff -Nru linux-4.19.87/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c linux-4.19.98/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c --- linux-4.19.87/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c 2020-01-23 07:21:39.000000000 +0000 @@ -722,6 +722,10 @@ if (adapter->flags & USING_MSIX) name_msix_vecs(adapter); + + /* Initialize hash mac addr list*/ + INIT_LIST_HEAD(&adapter->mac_hlist); + adapter->flags |= FULL_INIT_DONE; } @@ -747,8 +751,6 @@ enable_rx(adapter); t4vf_sge_start(adapter); - /* Initialize hash mac addr list*/ - INIT_LIST_HEAD(&adapter->mac_hlist); return 0; } diff -Nru linux-4.19.87/drivers/net/ethernet/cirrus/ep93xx_eth.c linux-4.19.98/drivers/net/ethernet/cirrus/ep93xx_eth.c --- linux-4.19.87/drivers/net/ethernet/cirrus/ep93xx_eth.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/cirrus/ep93xx_eth.c 2020-01-23 07:21:39.000000000 +0000 @@ -767,6 +767,7 @@ { struct net_device *dev; struct ep93xx_priv *ep; + struct resource *mem; dev = platform_get_drvdata(pdev); if (dev == NULL) @@ -782,8 +783,8 @@ iounmap(ep->base_addr); if (ep->res != NULL) { - release_resource(ep->res); - kfree(ep->res); + mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); + release_mem_region(mem->start, resource_size(mem)); } free_netdev(dev); diff -Nru linux-4.19.87/drivers/net/ethernet/cortina/gemini.c linux-4.19.98/drivers/net/ethernet/cortina/gemini.c --- linux-4.19.87/drivers/net/ethernet/cortina/gemini.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/cortina/gemini.c 2020-01-23 07:21:39.000000000 +0000 @@ -577,6 +577,8 @@ if (port->txq_dma_base & ~DMA_Q_BASE_MASK) { dev_warn(geth->dev, "TX queue base is not aligned\n"); + dma_free_coherent(geth->dev, len * sizeof(*desc_ring), + desc_ring, port->txq_dma_base); kfree(skb_tab); return -ENOMEM; } diff -Nru linux-4.19.87/drivers/net/ethernet/freescale/fec_main.c linux-4.19.98/drivers/net/ethernet/freescale/fec_main.c --- linux-4.19.87/drivers/net/ethernet/freescale/fec_main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/freescale/fec_main.c 2020-01-23 07:21:39.000000000 +0000 @@ -3597,6 +3597,11 @@ struct net_device *ndev = platform_get_drvdata(pdev); struct fec_enet_private *fep = netdev_priv(ndev); struct device_node *np = pdev->dev.of_node; + int ret; + + ret = pm_runtime_get_sync(&pdev->dev); + if (ret < 0) + return ret; cancel_work_sync(&fep->tx_timeout_work); fec_ptp_stop(pdev); @@ -3604,13 +3609,17 @@ fec_enet_mii_remove(fep); if (fep->reg_phy) regulator_disable(fep->reg_phy); - pm_runtime_put(&pdev->dev); - pm_runtime_disable(&pdev->dev); + if (of_phy_is_fixed_link(np)) of_phy_deregister_fixed_link(np); of_node_put(fep->phy_node); free_netdev(ndev); + clk_disable_unprepare(fep->clk_ahb); + clk_disable_unprepare(fep->clk_ipg); + pm_runtime_put_noidle(&pdev->dev); + pm_runtime_disable(&pdev->dev); + return 0; } diff -Nru linux-4.19.87/drivers/net/ethernet/hisilicon/hip04_eth.c linux-4.19.98/drivers/net/ethernet/hisilicon/hip04_eth.c --- linux-4.19.87/drivers/net/ethernet/hisilicon/hip04_eth.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/hisilicon/hip04_eth.c 2020-01-23 07:21:39.000000000 +0000 @@ -456,9 +456,9 @@ skb_tx_timestamp(skb); hip04_set_xmit_desc(priv, phys); - priv->tx_head = TX_NEXT(tx_head); count++; netdev_sent_queue(ndev, skb->len); + priv->tx_head = TX_NEXT(tx_head); stats->tx_bytes += skb->len; stats->tx_packets++; diff -Nru linux-4.19.87/drivers/net/ethernet/hisilicon/hns/hns_enet.c linux-4.19.98/drivers/net/ethernet/hisilicon/hns/hns_enet.c --- linux-4.19.87/drivers/net/ethernet/hisilicon/hns/hns_enet.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/hisilicon/hns/hns_enet.c 2020-01-23 07:21:39.000000000 +0000 @@ -569,7 +569,6 @@ skb = *out_skb = napi_alloc_skb(&ring_data->napi, HNS_RX_HEAD_SIZE); if (unlikely(!skb)) { - netdev_err(ndev, "alloc rx skb fail\n"); ring->stats.sw_err_cnt++; return -ENOMEM; } @@ -1060,7 +1059,6 @@ container_of(napi, struct hns_nic_ring_data, napi); struct hnae_ring *ring = ring_data->ring; -try_again: clean_complete += ring_data->poll_one( ring_data, budget - clean_complete, ring_data->ex_process); @@ -1070,7 +1068,7 @@ napi_complete(napi); ring->q->handle->dev->ops->toggle_ring_irq(ring, 0); } else { - goto try_again; + return budget; } } diff -Nru linux-4.19.87/drivers/net/ethernet/hisilicon/hns3/hnae3.c linux-4.19.98/drivers/net/ethernet/hisilicon/hns3/hnae3.c --- linux-4.19.87/drivers/net/ethernet/hisilicon/hns3/hnae3.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/hisilicon/hns3/hnae3.c 2020-01-23 07:21:39.000000000 +0000 @@ -173,8 +173,12 @@ if (!id) continue; - /* ae_dev init should set flag */ + if (!ae_algo->ops) { + dev_err(&ae_dev->pdev->dev, "ae_algo ops are null\n"); + continue; + } ae_dev->ops = ae_algo->ops; + ret = ae_algo->ops->init_ae_dev(ae_dev); if (ret) { dev_err(&ae_dev->pdev->dev, @@ -182,6 +186,7 @@ continue; } + /* ae_dev init should set flag */ hnae3_set_bit(ae_dev->flag, HNAE3_DEV_INITED_B, 1); /* check the client list for the match with this ae_dev type and @@ -239,7 +244,7 @@ * @ae_dev: the AE device * NOTE: the duplicated name will not be checked */ -void hnae3_register_ae_dev(struct hnae3_ae_dev *ae_dev) +int hnae3_register_ae_dev(struct hnae3_ae_dev *ae_dev) { const struct pci_device_id *id; struct hnae3_ae_algo *ae_algo; @@ -256,14 +261,13 @@ if (!id) continue; - ae_dev->ops = ae_algo->ops; - - if (!ae_dev->ops) { - dev_err(&ae_dev->pdev->dev, "ae_dev ops are null\n"); + if (!ae_algo->ops) { + dev_err(&ae_dev->pdev->dev, "ae_algo ops are null\n"); + ret = -EOPNOTSUPP; goto out_err; } + ae_dev->ops = ae_algo->ops; - /* ae_dev init should set flag */ ret = ae_dev->ops->init_ae_dev(ae_dev); if (ret) { dev_err(&ae_dev->pdev->dev, @@ -271,6 +275,7 @@ goto out_err; } + /* ae_dev init should set flag */ hnae3_set_bit(ae_dev->flag, HNAE3_DEV_INITED_B, 1); break; } @@ -286,8 +291,15 @@ ret); } + mutex_unlock(&hnae3_common_lock); + + return 0; + out_err: + list_del(&ae_dev->node); mutex_unlock(&hnae3_common_lock); + + return ret; } EXPORT_SYMBOL(hnae3_register_ae_dev); diff -Nru linux-4.19.87/drivers/net/ethernet/hisilicon/hns3/hnae3.h linux-4.19.98/drivers/net/ethernet/hisilicon/hns3/hnae3.h --- linux-4.19.87/drivers/net/ethernet/hisilicon/hns3/hnae3.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/hisilicon/hns3/hnae3.h 2020-01-23 07:21:39.000000000 +0000 @@ -513,7 +513,7 @@ #define hnae3_get_bit(origin, shift) \ hnae3_get_field((origin), (0x1 << (shift)), (shift)) -void hnae3_register_ae_dev(struct hnae3_ae_dev *ae_dev); +int hnae3_register_ae_dev(struct hnae3_ae_dev *ae_dev); void hnae3_unregister_ae_dev(struct hnae3_ae_dev *ae_dev); void hnae3_unregister_ae_algo(struct hnae3_ae_algo *ae_algo); diff -Nru linux-4.19.87/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c linux-4.19.98/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c --- linux-4.19.87/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c 2020-01-23 07:21:39.000000000 +0000 @@ -1474,6 +1474,9 @@ time_after(jiffies, (trans_start + ndev->watchdog_timeo))) { timeout_queue = i; + netdev_info(ndev, "queue state: 0x%lx, delta msecs: %u\n", + q->state, + jiffies_to_msecs(jiffies - trans_start)); break; } } @@ -1604,9 +1607,13 @@ ae_dev->dev_type = HNAE3_DEV_KNIC; pci_set_drvdata(pdev, ae_dev); - hnae3_register_ae_dev(ae_dev); + ret = hnae3_register_ae_dev(ae_dev); + if (ret) { + devm_kfree(&pdev->dev, ae_dev); + pci_set_drvdata(pdev, NULL); + } - return 0; + return ret; } /* hns3_remove - Device removal routine @@ -1620,6 +1627,7 @@ hns3_disable_sriov(pdev); hnae3_unregister_ae_dev(ae_dev); + pci_set_drvdata(pdev, NULL); } /** @@ -2366,7 +2374,7 @@ u32 time_passed_ms; u16 new_int_gl; - if (!ring_group->coal.int_gl || !tqp_vector->last_jiffies) + if (!tqp_vector->last_jiffies) return false; if (ring_group->total_packets == 0) { diff -Nru linux-4.19.87/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c linux-4.19.98/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c --- linux-4.19.87/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c 2020-01-23 07:21:39.000000000 +0000 @@ -260,6 +260,8 @@ if (desc_ret == HCLGE_CMD_EXEC_SUCCESS) retval = 0; + else if (desc_ret == HCLGE_CMD_NOT_SUPPORTED) + retval = -EOPNOTSUPP; else retval = -EIO; hw->cmq.last_status = desc_ret; diff -Nru linux-4.19.87/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h linux-4.19.98/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h --- linux-4.19.87/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h 2020-01-23 07:21:39.000000000 +0000 @@ -39,7 +39,7 @@ enum hclge_cmd_return_status { HCLGE_CMD_EXEC_SUCCESS = 0, HCLGE_CMD_NO_AUTH = 1, - HCLGE_CMD_NOT_EXEC = 2, + HCLGE_CMD_NOT_SUPPORTED = 2, HCLGE_CMD_QUEUE_FULL = 3, }; diff -Nru linux-4.19.87/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c linux-4.19.98/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c --- linux-4.19.87/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c 2020-01-23 07:21:39.000000000 +0000 @@ -245,6 +245,9 @@ hdev->flag & HCLGE_FLAG_MQPRIO_ENABLE) return -EINVAL; + if (pfc->pfc_en == hdev->tm_info.pfc_en) + return 0; + prio_tc = hdev->tm_info.prio_tc; pfc_map = 0; @@ -257,10 +260,8 @@ } } - if (pfc_map == hdev->tm_info.hw_pfc_map) - return 0; - hdev->tm_info.hw_pfc_map = pfc_map; + hdev->tm_info.pfc_en = pfc->pfc_en; return hclge_pause_setup_hw(hdev); } diff -Nru linux-4.19.87/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h linux-4.19.98/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h --- linux-4.19.87/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h 2020-01-23 07:21:39.000000000 +0000 @@ -249,6 +249,7 @@ struct hclge_tc_info tc_info[HNAE3_MAX_TC]; enum hclge_fc_mode fc_mode; u8 hw_pfc_map; /* Allow for packet drop or not on this TC */ + u8 pfc_en; /* PFC enabled or not for user priority */ }; struct hclge_comm_stats_str { diff -Nru linux-4.19.87/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c linux-4.19.98/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c --- linux-4.19.87/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c 2020-01-23 07:21:39.000000000 +0000 @@ -1162,7 +1162,7 @@ HCLGE_RX_MAC_PAUSE_EN_MSK; return hclge_pfc_pause_en_cfg(hdev, enable_bitmap, - hdev->tm_info.hw_pfc_map); + hdev->tm_info.pfc_en); } /* Each Tc has a 1024 queue sets to backpress, it divides to diff -Nru linux-4.19.87/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c linux-4.19.98/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c --- linux-4.19.87/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c 2020-01-23 07:21:39.000000000 +0000 @@ -26,7 +26,12 @@ static inline struct hclgevf_dev *hclgevf_ae_get_hdev( struct hnae3_handle *handle) { - return container_of(handle, struct hclgevf_dev, nic); + if (!handle->client) + return container_of(handle, struct hclgevf_dev, nic); + else if (handle->client->type == HNAE3_CLIENT_ROCE) + return container_of(handle, struct hclgevf_dev, roce); + else + return container_of(handle, struct hclgevf_dev, nic); } static int hclgevf_tqps_update_stats(struct hnae3_handle *handle) diff -Nru linux-4.19.87/drivers/net/ethernet/huawei/hinic/hinic_main.c linux-4.19.98/drivers/net/ethernet/huawei/hinic/hinic_main.c --- linux-4.19.87/drivers/net/ethernet/huawei/hinic/hinic_main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/huawei/hinic/hinic_main.c 2020-01-23 07:21:39.000000000 +0000 @@ -600,9 +600,6 @@ u16 vid = 0; int err; - if (!is_valid_ether_addr(addr)) - return -EADDRNOTAVAIL; - netif_info(nic_dev, drv, netdev, "set mac addr = %02x %02x %02x %02x %02x %02x\n", addr[0], addr[1], addr[2], addr[3], addr[4], addr[5]); @@ -726,6 +723,7 @@ { struct hinic_rx_mode_work *rx_mode_work = work_to_rx_mode_work(work); struct hinic_dev *nic_dev = rx_mode_work_to_nic_dev(rx_mode_work); + struct netdev_hw_addr *ha; netif_info(nic_dev, drv, nic_dev->netdev, "set rx mode work\n"); @@ -733,6 +731,9 @@ __dev_uc_sync(nic_dev->netdev, add_mac_addr, remove_mac_addr); __dev_mc_sync(nic_dev->netdev, add_mac_addr, remove_mac_addr); + + netdev_for_each_mc_addr(ha, nic_dev->netdev) + add_mac_addr(nic_dev->netdev, ha->addr); } static void hinic_set_rx_mode(struct net_device *netdev) diff -Nru linux-4.19.87/drivers/net/ethernet/huawei/hinic/hinic_rx.c linux-4.19.98/drivers/net/ethernet/huawei/hinic/hinic_rx.c --- linux-4.19.87/drivers/net/ethernet/huawei/hinic/hinic_rx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/huawei/hinic/hinic_rx.c 2020-01-23 07:21:39.000000000 +0000 @@ -207,9 +207,9 @@ wmb(); /* write all the wqes before update PI */ hinic_rq_update(rxq->rq, prod_idx); + tasklet_schedule(&rxq->rx_task); } - tasklet_schedule(&rxq->rx_task); return i; } diff -Nru linux-4.19.87/drivers/net/ethernet/intel/e100.c linux-4.19.98/drivers/net/ethernet/intel/e100.c --- linux-4.19.87/drivers/net/ethernet/intel/e100.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/intel/e100.c 2020-01-23 07:21:39.000000000 +0000 @@ -1345,8 +1345,8 @@ fw = e100_request_firmware(nic); /* If it's NULL, then no ucode is required */ - if (!fw || IS_ERR(fw)) - return PTR_ERR(fw); + if (IS_ERR_OR_NULL(fw)) + return PTR_ERR_OR_ZERO(fw); if ((err = e100_exec_cb(nic, (void *)fw, e100_setup_ucode))) netif_err(nic, probe, nic->netdev, diff -Nru linux-4.19.87/drivers/net/ethernet/intel/i40e/i40e_ethtool.c linux-4.19.98/drivers/net/ethernet/intel/i40e/i40e_ethtool.c --- linux-4.19.87/drivers/net/ethernet/intel/i40e/i40e_ethtool.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/intel/i40e/i40e_ethtool.c 2020-01-23 07:21:39.000000000 +0000 @@ -1136,6 +1136,7 @@ i40e_status status; u8 aq_failures; int err = 0; + u32 is_an; /* Changing the port's flow control is not supported if this isn't the * port's controlling PF @@ -1148,15 +1149,14 @@ if (vsi != pf->vsi[pf->lan_vsi]) return -EOPNOTSUPP; - if (pause->autoneg != ((hw_link_info->an_info & I40E_AQ_AN_COMPLETED) ? - AUTONEG_ENABLE : AUTONEG_DISABLE)) { + is_an = hw_link_info->an_info & I40E_AQ_AN_COMPLETED; + if (pause->autoneg != is_an) { netdev_info(netdev, "To change autoneg please use: ethtool -s autoneg \n"); return -EOPNOTSUPP; } /* If we have link and don't have autoneg */ - if (!test_bit(__I40E_DOWN, pf->state) && - !(hw_link_info->an_info & I40E_AQ_AN_COMPLETED)) { + if (!test_bit(__I40E_DOWN, pf->state) && !is_an) { /* Send message that it might not necessarily work*/ netdev_info(netdev, "Autoneg did not complete so changing settings may not result in an actual change.\n"); } @@ -1207,7 +1207,7 @@ err = -EAGAIN; } - if (!test_bit(__I40E_DOWN, pf->state)) { + if (!test_bit(__I40E_DOWN, pf->state) && is_an) { /* Give it a little more time to try to come back */ msleep(75); if (!test_bit(__I40E_DOWN, pf->state)) diff -Nru linux-4.19.87/drivers/net/ethernet/intel/i40e/i40e_main.c linux-4.19.98/drivers/net/ethernet/intel/i40e/i40e_main.c --- linux-4.19.87/drivers/net/ethernet/intel/i40e/i40e_main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/intel/i40e/i40e_main.c 2020-01-23 07:21:39.000000000 +0000 @@ -3441,14 +3441,14 @@ q_vector->rx.target_itr = ITR_TO_REG(vsi->rx_rings[i]->itr_setting); wr32(hw, I40E_PFINT_ITRN(I40E_RX_ITR, vector - 1), - q_vector->rx.target_itr); + q_vector->rx.target_itr >> 1); q_vector->rx.current_itr = q_vector->rx.target_itr; q_vector->tx.next_update = jiffies + 1; q_vector->tx.target_itr = ITR_TO_REG(vsi->tx_rings[i]->itr_setting); wr32(hw, I40E_PFINT_ITRN(I40E_TX_ITR, vector - 1), - q_vector->tx.target_itr); + q_vector->tx.target_itr >> 1); q_vector->tx.current_itr = q_vector->tx.target_itr; wr32(hw, I40E_PFINT_RATEN(vector - 1), @@ -3553,11 +3553,11 @@ /* set the ITR configuration */ q_vector->rx.next_update = jiffies + 1; q_vector->rx.target_itr = ITR_TO_REG(vsi->rx_rings[0]->itr_setting); - wr32(hw, I40E_PFINT_ITR0(I40E_RX_ITR), q_vector->rx.target_itr); + wr32(hw, I40E_PFINT_ITR0(I40E_RX_ITR), q_vector->rx.target_itr >> 1); q_vector->rx.current_itr = q_vector->rx.target_itr; q_vector->tx.next_update = jiffies + 1; q_vector->tx.target_itr = ITR_TO_REG(vsi->tx_rings[0]->itr_setting); - wr32(hw, I40E_PFINT_ITR0(I40E_TX_ITR), q_vector->tx.target_itr); + wr32(hw, I40E_PFINT_ITR0(I40E_TX_ITR), q_vector->tx.target_itr >> 1); q_vector->tx.current_itr = q_vector->tx.target_itr; i40e_enable_misc_int_causes(pf); @@ -10735,7 +10735,7 @@ /* associate no queues to the misc vector */ wr32(hw, I40E_PFINT_LNKLST0, I40E_QUEUE_END_OF_LIST); - wr32(hw, I40E_PFINT_ITR0(I40E_RX_ITR), I40E_ITR_8K); + wr32(hw, I40E_PFINT_ITR0(I40E_RX_ITR), I40E_ITR_8K >> 1); i40e_flush(hw); diff -Nru linux-4.19.87/drivers/net/ethernet/intel/ice/ice_adminq_cmd.h linux-4.19.98/drivers/net/ethernet/intel/ice/ice_adminq_cmd.h --- linux-4.19.87/drivers/net/ethernet/intel/ice/ice_adminq_cmd.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/intel/ice/ice_adminq_cmd.h 2020-01-23 07:21:39.000000000 +0000 @@ -1056,10 +1056,10 @@ #define ICE_AQC_NVM_LAST_CMD BIT(0) #define ICE_AQC_NVM_PCIR_REQ BIT(0) /* Used by NVM Update reply */ #define ICE_AQC_NVM_PRESERVATION_S 1 -#define ICE_AQC_NVM_PRESERVATION_M (3 << CSR_AQ_NVM_PRESERVATION_S) -#define ICE_AQC_NVM_NO_PRESERVATION (0 << CSR_AQ_NVM_PRESERVATION_S) +#define ICE_AQC_NVM_PRESERVATION_M (3 << ICE_AQC_NVM_PRESERVATION_S) +#define ICE_AQC_NVM_NO_PRESERVATION (0 << ICE_AQC_NVM_PRESERVATION_S) #define ICE_AQC_NVM_PRESERVE_ALL BIT(1) -#define ICE_AQC_NVM_PRESERVE_SELECTED (3 << CSR_AQ_NVM_PRESERVATION_S) +#define ICE_AQC_NVM_PRESERVE_SELECTED (3 << ICE_AQC_NVM_PRESERVATION_S) #define ICE_AQC_NVM_FLASH_ONLY BIT(7) __le16 module_typeid; __le16 length; diff -Nru linux-4.19.87/drivers/net/ethernet/intel/ice/ice_controlq.c linux-4.19.98/drivers/net/ethernet/intel/ice/ice_controlq.c --- linux-4.19.87/drivers/net/ethernet/intel/ice/ice_controlq.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/intel/ice/ice_controlq.c 2020-01-23 07:21:39.000000000 +0000 @@ -911,7 +911,7 @@ if (ice_sq_done(hw, cq)) break; - mdelay(1); + udelay(ICE_CTL_Q_SQ_CMD_USEC); total_delay++; } while (total_delay < cq->sq_cmd_timeout); diff -Nru linux-4.19.87/drivers/net/ethernet/intel/ice/ice_controlq.h linux-4.19.98/drivers/net/ethernet/intel/ice/ice_controlq.h --- linux-4.19.87/drivers/net/ethernet/intel/ice/ice_controlq.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/intel/ice/ice_controlq.h 2020-01-23 07:21:39.000000000 +0000 @@ -30,8 +30,9 @@ ICE_CTL_Q_ADMIN, }; -/* Control Queue default settings */ -#define ICE_CTL_Q_SQ_CMD_TIMEOUT 250 /* msecs */ +/* Control Queue timeout settings - max delay 250ms */ +#define ICE_CTL_Q_SQ_CMD_TIMEOUT 2500 /* Count 2500 times */ +#define ICE_CTL_Q_SQ_CMD_USEC 100 /* Check every 100usec */ struct ice_ctl_q_ring { void *dma_head; /* Virtual address to dma head */ diff -Nru linux-4.19.87/drivers/net/ethernet/intel/ice/ice_switch.c linux-4.19.98/drivers/net/ethernet/intel/ice/ice_switch.c --- linux-4.19.87/drivers/net/ethernet/intel/ice/ice_switch.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/intel/ice/ice_switch.c 2020-01-23 07:21:39.000000000 +0000 @@ -1023,6 +1023,9 @@ u16 vsi_id = new_fltr->fwd_id.vsi_id; enum ice_adminq_opc opcode; + if (!m_entry->vsi_list_info) + return ICE_ERR_CFG; + /* A rule already exists with the new VSI being added */ if (test_bit(vsi_id, m_entry->vsi_list_info->vsi_map)) return 0; diff -Nru linux-4.19.87/drivers/net/ethernet/intel/ice/ice_txrx.c linux-4.19.98/drivers/net/ethernet/intel/ice/ice_txrx.c --- linux-4.19.87/drivers/net/ethernet/intel/ice/ice_txrx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/intel/ice/ice_txrx.c 2020-01-23 07:21:39.000000000 +0000 @@ -1106,7 +1106,8 @@ napi_complete_done(napi, work_done); if (test_bit(ICE_FLAG_MSIX_ENA, pf->flags)) ice_irq_dynamic_ena(&vsi->back->hw, vsi, q_vector); - return 0; + + return min(work_done, budget - 1); } /* helper function for building cmd/type/offset */ diff -Nru linux-4.19.87/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c linux-4.19.98/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c --- linux-4.19.87/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c 2020-01-23 07:21:39.000000000 +0000 @@ -8551,7 +8551,8 @@ if (unlikely(skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP) && adapter->ptp_clock) { - if (!test_and_set_bit_lock(__IXGBE_PTP_TX_IN_PROGRESS, + if (adapter->tstamp_config.tx_type == HWTSTAMP_TX_ON && + !test_and_set_bit_lock(__IXGBE_PTP_TX_IN_PROGRESS, &adapter->state)) { skb_shinfo(skb)->tx_flags |= SKBTX_IN_PROGRESS; tx_flags |= IXGBE_TX_FLAGS_TSTAMP; diff -Nru linux-4.19.87/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c linux-4.19.98/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c --- linux-4.19.87/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c 2020-01-23 07:21:39.000000000 +0000 @@ -3341,7 +3341,7 @@ valid = true; } - if (priv->hw_version == MVPP22 && port->link_irq && !port->phylink) { + if (priv->hw_version == MVPP22 && port->link_irq) { err = request_irq(port->link_irq, mvpp2_link_status_isr, 0, dev->name, port); if (err) { @@ -5132,6 +5132,8 @@ if (has_acpi_companion(&pdev->dev)) { acpi_id = acpi_match_device(pdev->dev.driver->acpi_match_table, &pdev->dev); + if (!acpi_id) + return -EINVAL; priv->hw_version = (unsigned long)acpi_id->driver_data; } else { priv->hw_version = diff -Nru linux-4.19.87/drivers/net/ethernet/mellanox/mlx4/main.c linux-4.19.98/drivers/net/ethernet/mellanox/mlx4/main.c --- linux-4.19.87/drivers/net/ethernet/mellanox/mlx4/main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/mellanox/mlx4/main.c 2020-01-23 07:21:39.000000000 +0000 @@ -313,7 +313,7 @@ for (i = 0; i < dev->caps.num_ports - 1; i++) { if (port_type[i] != port_type[i + 1]) { mlx4_err(dev, "Only same port types supported on this HCA, aborting\n"); - return -EINVAL; + return -EOPNOTSUPP; } } } @@ -322,7 +322,7 @@ if (!(port_type[i] & dev->caps.supported_type[i+1])) { mlx4_err(dev, "Requested port type for port %d is not supported on this HCA\n", i + 1); - return -EINVAL; + return -EOPNOTSUPP; } } return 0; @@ -1188,8 +1188,7 @@ mlx4_err(mdev, "Requested port type for port %d is not supported on this HCA\n", info->port); - err = -EINVAL; - goto err_sup; + return -EOPNOTSUPP; } mlx4_stop_sense(mdev); @@ -1211,7 +1210,7 @@ for (i = 1; i <= mdev->caps.num_ports; i++) { if (mdev->caps.possible_type[i] == MLX4_PORT_TYPE_AUTO) { mdev->caps.possible_type[i] = mdev->caps.port_type[i]; - err = -EINVAL; + err = -EOPNOTSUPP; } } } @@ -1237,7 +1236,7 @@ out: mlx4_start_sense(mdev); mutex_unlock(&priv->port_mutex); -err_sup: + return err; } diff -Nru linux-4.19.87/drivers/net/ethernet/mellanox/mlx5/core/en/port_buffer.c linux-4.19.98/drivers/net/ethernet/mellanox/mlx5/core/en/port_buffer.c --- linux-4.19.87/drivers/net/ethernet/mellanox/mlx5/core/en/port_buffer.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/mellanox/mlx5/core/en/port_buffer.c 2020-01-23 07:21:39.000000000 +0000 @@ -155,8 +155,11 @@ } if (port_buffer->buffer[i].size < - (xoff + max_mtu + (1 << MLX5E_BUFFER_CELL_SHIFT))) + (xoff + max_mtu + (1 << MLX5E_BUFFER_CELL_SHIFT))) { + pr_err("buffer_size[%d]=%d is not enough for lossless buffer\n", + i, port_buffer->buffer[i].size); return -ENOMEM; + } port_buffer->buffer[i].xoff = port_buffer->buffer[i].size - xoff; port_buffer->buffer[i].xon = @@ -232,6 +235,26 @@ return 0; } +static int fill_pfc_en(struct mlx5_core_dev *mdev, u8 *pfc_en) +{ + u32 g_rx_pause, g_tx_pause; + int err; + + err = mlx5_query_port_pause(mdev, &g_rx_pause, &g_tx_pause); + if (err) + return err; + + /* If global pause enabled, set all active buffers to lossless. + * Otherwise, check PFC setting. + */ + if (g_rx_pause || g_tx_pause) + *pfc_en = 0xff; + else + err = mlx5_query_port_pfc(mdev, pfc_en, NULL); + + return err; +} + #define MINIMUM_MAX_MTU 9216 int mlx5e_port_manual_buffer_config(struct mlx5e_priv *priv, u32 change, unsigned int mtu, @@ -277,7 +300,7 @@ if (change & MLX5E_PORT_BUFFER_PRIO2BUFFER) { update_prio2buffer = true; - err = mlx5_query_port_pfc(priv->mdev, &curr_pfc_en, NULL); + err = fill_pfc_en(priv->mdev, &curr_pfc_en); if (err) return err; diff -Nru linux-4.19.87/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c linux-4.19.98/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c --- linux-4.19.87/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c 2020-01-23 07:21:39.000000000 +0000 @@ -1320,7 +1320,7 @@ break; case MLX5_MODULE_ID_SFP: modinfo->type = ETH_MODULE_SFF_8472; - modinfo->eeprom_len = MLX5_EEPROM_PAGE_LENGTH; + modinfo->eeprom_len = ETH_MODULE_SFF_8472_LEN; break; default: netdev_err(priv->netdev, "%s: cable type not recognized:0x%x\n", diff -Nru linux-4.19.87/drivers/net/ethernet/mellanox/mlx5/core/main.c linux-4.19.98/drivers/net/ethernet/mellanox/mlx5/core/main.c --- linux-4.19.87/drivers/net/ethernet/mellanox/mlx5/core/main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/mellanox/mlx5/core/main.c 2020-01-23 07:21:39.000000000 +0000 @@ -859,11 +859,9 @@ priv->numa_node = dev_to_node(&dev->pdev->dev); - priv->dbg_root = debugfs_create_dir(dev_name(&pdev->dev), mlx5_debugfs_root); - if (!priv->dbg_root) { - dev_err(&pdev->dev, "Cannot create debugfs dir, aborting\n"); - return -ENOMEM; - } + if (mlx5_debugfs_root) + priv->dbg_root = + debugfs_create_dir(pci_name(pdev), mlx5_debugfs_root); err = mlx5_pci_enable_device(dev); if (err) { diff -Nru linux-4.19.87/drivers/net/ethernet/mellanox/mlx5/core/qp.c linux-4.19.98/drivers/net/ethernet/mellanox/mlx5/core/qp.c --- linux-4.19.87/drivers/net/ethernet/mellanox/mlx5/core/qp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/mellanox/mlx5/core/qp.c 2020-01-23 07:21:39.000000000 +0000 @@ -132,7 +132,7 @@ if (!is_event_type_allowed((rsn >> MLX5_USER_INDEX_LEN), event_type)) { mlx5_core_warn(dev, "event 0x%.2x is not allowed on resource 0x%.8x\n", event_type, rsn); - return; + goto out; } switch (common->res) { @@ -150,7 +150,7 @@ default: mlx5_core_warn(dev, "invalid resource type for 0x%x\n", rsn); } - +out: mlx5_core_put_rsc(common); } diff -Nru linux-4.19.87/drivers/net/ethernet/mellanox/mlxfw/mlxfw_mfa2.c linux-4.19.98/drivers/net/ethernet/mellanox/mlxfw/mlxfw_mfa2.c --- linux-4.19.87/drivers/net/ethernet/mellanox/mlxfw/mlxfw_mfa2.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/mellanox/mlxfw/mlxfw_mfa2.c 2020-01-23 07:21:39.000000000 +0000 @@ -37,6 +37,7 @@ #include #include #include +#include #include #include "mlxfw_mfa2.h" #include "mlxfw_mfa2_file.h" @@ -579,7 +580,7 @@ comp_size = be32_to_cpu(comp->size); comp_buf_size = comp_size + mlxfw_mfa2_comp_magic_len; - comp_data = kmalloc(sizeof(*comp_data) + comp_buf_size, GFP_KERNEL); + comp_data = vzalloc(sizeof(*comp_data) + comp_buf_size); if (!comp_data) return ERR_PTR(-ENOMEM); comp_data->comp.data_size = comp_size; @@ -601,7 +602,7 @@ comp_data->comp.data = comp_data->buff + mlxfw_mfa2_comp_magic_len; return &comp_data->comp; err_out: - kfree(comp_data); + vfree(comp_data); return ERR_PTR(err); } @@ -610,7 +611,7 @@ const struct mlxfw_mfa2_comp_data *comp_data; comp_data = container_of(comp, struct mlxfw_mfa2_comp_data, comp); - kfree(comp_data); + vfree(comp_data); } void mlxfw_mfa2_file_fini(struct mlxfw_mfa2_file *mfa2_file) diff -Nru linux-4.19.87/drivers/net/ethernet/mellanox/mlxsw/spectrum.c linux-4.19.98/drivers/net/ethernet/mellanox/mlxsw/spectrum.c --- linux-4.19.87/drivers/net/ethernet/mellanox/mlxsw/spectrum.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/mellanox/mlxsw/spectrum.c 2020-01-23 07:21:39.000000000 +0000 @@ -1061,6 +1061,9 @@ periodic_hw_stats.update_dw.work); if (!netif_carrier_ok(mlxsw_sp_port->dev)) + /* Note: mlxsw_sp_port_down_wipe_counters() clears the cache as + * necessary when port goes down. + */ goto out; mlxsw_sp_port_get_hw_stats(mlxsw_sp_port->dev, @@ -3309,6 +3312,15 @@ return 0; } +static void +mlxsw_sp_port_down_wipe_counters(struct mlxsw_sp_port *mlxsw_sp_port) +{ + int i; + + for (i = 0; i < TC_MAX_QUEUE; i++) + mlxsw_sp_port->periodic_hw_stats.xstats.backlog[i] = 0; +} + static void mlxsw_sp_pude_event_func(const struct mlxsw_reg_info *reg, char *pude_pl, void *priv) { @@ -3329,6 +3341,7 @@ } else { netdev_info(mlxsw_sp_port->dev, "link down\n"); netif_carrier_off(mlxsw_sp_port->dev); + mlxsw_sp_port_down_wipe_counters(mlxsw_sp_port); } } diff -Nru linux-4.19.87/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c linux-4.19.98/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c --- linux-4.19.87/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c 2020-01-23 07:21:39.000000000 +0000 @@ -195,6 +195,20 @@ return -EOPNOTSUPP; } +static u64 +mlxsw_sp_xstats_backlog(struct mlxsw_sp_port_xstats *xstats, int tclass_num) +{ + return xstats->backlog[tclass_num] + + xstats->backlog[tclass_num + 8]; +} + +static u64 +mlxsw_sp_xstats_tail_drop(struct mlxsw_sp_port_xstats *xstats, int tclass_num) +{ + return xstats->tail_drop[tclass_num] + + xstats->tail_drop[tclass_num + 8]; +} + static void mlxsw_sp_qdisc_bstats_per_priority_get(struct mlxsw_sp_port_xstats *xstats, u8 prio_bitmap, u64 *tx_packets, @@ -269,7 +283,7 @@ &stats_base->tx_bytes); red_base->prob_mark = xstats->ecn; red_base->prob_drop = xstats->wred_drop[tclass_num]; - red_base->pdrop = xstats->tail_drop[tclass_num]; + red_base->pdrop = mlxsw_sp_xstats_tail_drop(xstats, tclass_num); stats_base->overlimits = red_base->prob_drop + red_base->prob_mark; stats_base->drops = red_base->prob_drop + red_base->pdrop; @@ -369,7 +383,8 @@ early_drops = xstats->wred_drop[tclass_num] - xstats_base->prob_drop; marks = xstats->ecn - xstats_base->prob_mark; - pdrops = xstats->tail_drop[tclass_num] - xstats_base->pdrop; + pdrops = mlxsw_sp_xstats_tail_drop(xstats, tclass_num) - + xstats_base->pdrop; res->pdrop += pdrops; res->prob_drop += early_drops; @@ -402,9 +417,10 @@ overlimits = xstats->wred_drop[tclass_num] + xstats->ecn - stats_base->overlimits; - drops = xstats->wred_drop[tclass_num] + xstats->tail_drop[tclass_num] - + drops = xstats->wred_drop[tclass_num] + + mlxsw_sp_xstats_tail_drop(xstats, tclass_num) - stats_base->drops; - backlog = xstats->backlog[tclass_num]; + backlog = mlxsw_sp_xstats_backlog(xstats, tclass_num); _bstats_update(stats_ptr->bstats, tx_bytes, tx_packets); stats_ptr->qstats->overlimits += overlimits; @@ -575,9 +591,9 @@ tx_packets = stats->tx_packets - stats_base->tx_packets; for (i = 0; i < IEEE_8021QAZ_MAX_TCS; i++) { - drops += xstats->tail_drop[i]; + drops += mlxsw_sp_xstats_tail_drop(xstats, i); drops += xstats->wred_drop[i]; - backlog += xstats->backlog[i]; + backlog += mlxsw_sp_xstats_backlog(xstats, i); } drops = drops - stats_base->drops; @@ -613,7 +629,7 @@ stats_base->drops = 0; for (i = 0; i < IEEE_8021QAZ_MAX_TCS; i++) { - stats_base->drops += xstats->tail_drop[i]; + stats_base->drops += mlxsw_sp_xstats_tail_drop(xstats, i); stats_base->drops += xstats->wred_drop[i]; } @@ -650,6 +666,13 @@ mlxsw_sp_port->tclass_qdiscs[tclass_num].handle == p->child_handle) return 0; + if (!p->child_handle) { + /* This is an invisible FIFO replacing the original Qdisc. + * Ignore it--the original Qdisc's destroy will follow. + */ + return 0; + } + /* See if the grafted qdisc is already offloaded on any tclass. If so, * unoffload it. */ diff -Nru linux-4.19.87/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c linux-4.19.98/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c --- linux-4.19.87/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c 2020-01-23 07:21:39.000000000 +0000 @@ -1215,15 +1215,12 @@ { u32 ul_tb_id = l3mdev_fib_table(ul_dev) ? : RT_TABLE_MAIN; enum mlxsw_sp_ipip_type ipipt = ipip_entry->ipipt; - struct net_device *ipip_ul_dev; if (mlxsw_sp->router->ipip_ops_arr[ipipt]->ul_proto != ul_proto) return false; - ipip_ul_dev = __mlxsw_sp_ipip_netdev_ul_dev_get(ipip_entry->ol_dev); return mlxsw_sp_ipip_entry_saddr_matches(mlxsw_sp, ul_proto, ul_dip, - ul_tb_id, ipip_entry) && - (!ipip_ul_dev || ipip_ul_dev == ul_dev); + ul_tb_id, ipip_entry); } /* Given decap parameters, find the corresponding IPIP entry. */ @@ -2231,7 +2228,7 @@ static void mlxsw_sp_nexthop_neigh_update(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_neigh_entry *neigh_entry, - bool removing); + bool removing, bool dead); static enum mlxsw_reg_rauht_op mlxsw_sp_rauht_op(bool adding) { @@ -2362,7 +2359,8 @@ memcpy(neigh_entry->ha, ha, ETH_ALEN); mlxsw_sp_neigh_entry_update(mlxsw_sp, neigh_entry, entry_connected); - mlxsw_sp_nexthop_neigh_update(mlxsw_sp, neigh_entry, !entry_connected); + mlxsw_sp_nexthop_neigh_update(mlxsw_sp, neigh_entry, !entry_connected, + dead); if (!neigh_entry->connected && list_empty(&neigh_entry->nexthop_list)) mlxsw_sp_neigh_entry_destroy(mlxsw_sp, neigh_entry); @@ -3326,13 +3324,79 @@ nh->update = 1; } +static int +mlxsw_sp_nexthop_dead_neigh_replace(struct mlxsw_sp *mlxsw_sp, + struct mlxsw_sp_neigh_entry *neigh_entry) +{ + struct neighbour *n, *old_n = neigh_entry->key.n; + struct mlxsw_sp_nexthop *nh; + bool entry_connected; + u8 nud_state, dead; + int err; + + nh = list_first_entry(&neigh_entry->nexthop_list, + struct mlxsw_sp_nexthop, neigh_list_node); + + n = neigh_lookup(nh->nh_grp->neigh_tbl, &nh->gw_addr, nh->rif->dev); + if (!n) { + n = neigh_create(nh->nh_grp->neigh_tbl, &nh->gw_addr, + nh->rif->dev); + if (IS_ERR(n)) + return PTR_ERR(n); + neigh_event_send(n, NULL); + } + + mlxsw_sp_neigh_entry_remove(mlxsw_sp, neigh_entry); + neigh_entry->key.n = n; + err = mlxsw_sp_neigh_entry_insert(mlxsw_sp, neigh_entry); + if (err) + goto err_neigh_entry_insert; + + read_lock_bh(&n->lock); + nud_state = n->nud_state; + dead = n->dead; + read_unlock_bh(&n->lock); + entry_connected = nud_state & NUD_VALID && !dead; + + list_for_each_entry(nh, &neigh_entry->nexthop_list, + neigh_list_node) { + neigh_release(old_n); + neigh_clone(n); + __mlxsw_sp_nexthop_neigh_update(nh, !entry_connected); + mlxsw_sp_nexthop_group_refresh(mlxsw_sp, nh->nh_grp); + } + + neigh_release(n); + + return 0; + +err_neigh_entry_insert: + neigh_entry->key.n = old_n; + mlxsw_sp_neigh_entry_insert(mlxsw_sp, neigh_entry); + neigh_release(n); + return err; +} + static void mlxsw_sp_nexthop_neigh_update(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_neigh_entry *neigh_entry, - bool removing) + bool removing, bool dead) { struct mlxsw_sp_nexthop *nh; + if (list_empty(&neigh_entry->nexthop_list)) + return; + + if (dead) { + int err; + + err = mlxsw_sp_nexthop_dead_neigh_replace(mlxsw_sp, + neigh_entry); + if (err) + dev_err(mlxsw_sp->bus_info->dev, "Failed to replace dead neigh\n"); + return; + } + list_for_each_entry(nh, &neigh_entry->nexthop_list, neigh_list_node) { __mlxsw_sp_nexthop_neigh_update(nh, removing); diff -Nru linux-4.19.87/drivers/net/ethernet/mscc/ocelot.h linux-4.19.98/drivers/net/ethernet/mscc/ocelot.h --- linux-4.19.87/drivers/net/ethernet/mscc/ocelot.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/mscc/ocelot.h 2020-01-23 07:21:39.000000000 +0000 @@ -541,7 +541,7 @@ #define ocelot_write_rix(ocelot, val, reg, ri) __ocelot_write_ix(ocelot, val, reg, reg##_RSZ * (ri)) #define ocelot_write(ocelot, val, reg) __ocelot_write_ix(ocelot, val, reg, 0) -void __ocelot_rmw_ix(struct ocelot *ocelot, u32 val, u32 reg, u32 mask, +void __ocelot_rmw_ix(struct ocelot *ocelot, u32 val, u32 mask, u32 reg, u32 offset); #define ocelot_rmw_ix(ocelot, val, m, reg, gi, ri) __ocelot_rmw_ix(ocelot, val, m, reg, reg##_GSZ * (gi) + reg##_RSZ * (ri)) #define ocelot_rmw_gix(ocelot, val, m, reg, gi) __ocelot_rmw_ix(ocelot, val, m, reg, reg##_GSZ * (gi)) diff -Nru linux-4.19.87/drivers/net/ethernet/qlogic/qede/qede_filter.c linux-4.19.98/drivers/net/ethernet/qlogic/qede/qede_filter.c --- linux-4.19.87/drivers/net/ethernet/qlogic/qede/qede_filter.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/qlogic/qede/qede_filter.c 2020-01-23 07:21:39.000000000 +0000 @@ -1230,7 +1230,7 @@ netif_addr_lock_bh(ndev); mc_count = netdev_mc_count(ndev); - if (mc_count < 64) { + if (mc_count <= 64) { netdev_for_each_mc_addr(ha, ndev) { ether_addr_copy(temp, ha->addr); temp += ETH_ALEN; diff -Nru linux-4.19.87/drivers/net/ethernet/qlogic/qede/qede_main.c linux-4.19.98/drivers/net/ethernet/qlogic/qede/qede_main.c --- linux-4.19.87/drivers/net/ethernet/qlogic/qede/qede_main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/qlogic/qede/qede_main.c 2020-01-23 07:21:39.000000000 +0000 @@ -1362,6 +1362,7 @@ rxq->rx_buf_seg_size = roundup_pow_of_two(size); } else { rxq->rx_buf_seg_size = PAGE_SIZE; + edev->ndev->features &= ~NETIF_F_GRO_HW; } /* Allocate the parallel driver ring for Rx buffers */ @@ -1406,6 +1407,7 @@ } } + edev->gro_disable = !(edev->ndev->features & NETIF_F_GRO_HW); if (!edev->gro_disable) qede_set_tpa_param(rxq); err: @@ -1606,8 +1608,6 @@ snprintf(fp->name, sizeof(fp->name), "%s-fp-%d", edev->ndev->name, queue_id); } - - edev->gro_disable = !(edev->ndev->features & NETIF_F_GRO_HW); } static int qede_set_real_num_queues(struct qede_dev *edev) diff -Nru linux-4.19.87/drivers/net/ethernet/qlogic/qla3xxx.c linux-4.19.98/drivers/net/ethernet/qlogic/qla3xxx.c --- linux-4.19.87/drivers/net/ethernet/qlogic/qla3xxx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/qlogic/qla3xxx.c 2020-01-23 07:21:39.000000000 +0000 @@ -2757,6 +2757,9 @@ int err; for (i = 0; i < qdev->num_large_buffers; i++) { + lrg_buf_cb = &qdev->lrg_buf[i]; + memset(lrg_buf_cb, 0, sizeof(struct ql_rcv_buf_cb)); + skb = netdev_alloc_skb(qdev->ndev, qdev->lrg_buffer_len); if (unlikely(!skb)) { @@ -2767,11 +2770,7 @@ ql_free_large_buffers(qdev); return -ENOMEM; } else { - - lrg_buf_cb = &qdev->lrg_buf[i]; - memset(lrg_buf_cb, 0, sizeof(struct ql_rcv_buf_cb)); lrg_buf_cb->index = i; - lrg_buf_cb->skb = skb; /* * We save some space to copy the ethhdr from first * buffer @@ -2793,6 +2792,7 @@ return -ENOMEM; } + lrg_buf_cb->skb = skb; dma_unmap_addr_set(lrg_buf_cb, mapaddr, map); dma_unmap_len_set(lrg_buf_cb, maplen, qdev->lrg_buffer_len - diff -Nru linux-4.19.87/drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c linux-4.19.98/drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c --- linux-4.19.87/drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c 2020-01-23 07:21:39.000000000 +0000 @@ -301,10 +301,13 @@ struct rmnet_port *port; u16 mux_id; + if (!dev) + return -ENODEV; + real_dev = __dev_get_by_index(dev_net(dev), nla_get_u32(tb[IFLA_LINK])); - if (!real_dev || !dev || !rmnet_is_real_dev_registered(real_dev)) + if (!real_dev || !rmnet_is_real_dev_registered(real_dev)) return -ENODEV; port = rmnet_get_port_rtnl(real_dev); diff -Nru linux-4.19.87/drivers/net/ethernet/renesas/ravb.h linux-4.19.98/drivers/net/ethernet/renesas/ravb.h --- linux-4.19.87/drivers/net/ethernet/renesas/ravb.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/renesas/ravb.h 2020-01-23 07:21:39.000000000 +0000 @@ -1029,7 +1029,6 @@ phy_interface_t phy_interface; int msg_enable; int speed; - int duplex; int emac_irq; enum ravb_chip_id chip_id; int rx_irqs[NUM_RX_QUEUE]; diff -Nru linux-4.19.87/drivers/net/ethernet/renesas/ravb_main.c linux-4.19.98/drivers/net/ethernet/renesas/ravb_main.c --- linux-4.19.87/drivers/net/ethernet/renesas/ravb_main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/renesas/ravb_main.c 2020-01-23 07:21:39.000000000 +0000 @@ -82,13 +82,6 @@ return error; } -static void ravb_set_duplex(struct net_device *ndev) -{ - struct ravb_private *priv = netdev_priv(ndev); - - ravb_modify(ndev, ECMR, ECMR_DM, priv->duplex ? ECMR_DM : 0); -} - static void ravb_set_rate(struct net_device *ndev) { struct ravb_private *priv = netdev_priv(ndev); @@ -398,13 +391,11 @@ /* E-MAC init function */ static void ravb_emac_init(struct net_device *ndev) { - struct ravb_private *priv = netdev_priv(ndev); - /* Receive frame limit set register */ ravb_write(ndev, ndev->mtu + ETH_HLEN + VLAN_HLEN + ETH_FCS_LEN, RFLR); /* EMAC Mode: PAUSE prohibition; Duplex; RX Checksum; TX; RX */ - ravb_write(ndev, ECMR_ZPF | (priv->duplex ? ECMR_DM : 0) | + ravb_write(ndev, ECMR_ZPF | ECMR_DM | (ndev->features & NETIF_F_RXCSUM ? ECMR_RCSC : 0) | ECMR_TE | ECMR_RE, ECMR); @@ -992,12 +983,6 @@ ravb_rcv_snd_disable(ndev); if (phydev->link) { - if (phydev->duplex != priv->duplex) { - new_state = true; - priv->duplex = phydev->duplex; - ravb_set_duplex(ndev); - } - if (phydev->speed != priv->speed) { new_state = true; priv->speed = phydev->speed; @@ -1012,7 +997,6 @@ new_state = true; priv->link = 0; priv->speed = 0; - priv->duplex = -1; } /* Enable TX and RX right over here, if E-MAC change is ignored */ @@ -1042,7 +1026,6 @@ priv->link = 0; priv->speed = 0; - priv->duplex = -1; /* Try connecting to PHY */ pn = of_parse_phandle(np, "phy-handle", 0); diff -Nru linux-4.19.87/drivers/net/ethernet/renesas/sh_eth.c linux-4.19.98/drivers/net/ethernet/renesas/sh_eth.c --- linux-4.19.87/drivers/net/ethernet/renesas/sh_eth.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/renesas/sh_eth.c 2020-01-23 07:21:39.000000000 +0000 @@ -2184,24 +2184,28 @@ if (cd->tsu) { add_tsu_reg(ARSTR); add_tsu_reg(TSU_CTRST); - add_tsu_reg(TSU_FWEN0); - add_tsu_reg(TSU_FWEN1); - add_tsu_reg(TSU_FCM); - add_tsu_reg(TSU_BSYSL0); - add_tsu_reg(TSU_BSYSL1); - add_tsu_reg(TSU_PRISL0); - add_tsu_reg(TSU_PRISL1); - add_tsu_reg(TSU_FWSL0); - add_tsu_reg(TSU_FWSL1); + if (cd->dual_port) { + add_tsu_reg(TSU_FWEN0); + add_tsu_reg(TSU_FWEN1); + add_tsu_reg(TSU_FCM); + add_tsu_reg(TSU_BSYSL0); + add_tsu_reg(TSU_BSYSL1); + add_tsu_reg(TSU_PRISL0); + add_tsu_reg(TSU_PRISL1); + add_tsu_reg(TSU_FWSL0); + add_tsu_reg(TSU_FWSL1); + } add_tsu_reg(TSU_FWSLC); - add_tsu_reg(TSU_QTAGM0); - add_tsu_reg(TSU_QTAGM1); - add_tsu_reg(TSU_FWSR); - add_tsu_reg(TSU_FWINMK); - add_tsu_reg(TSU_ADQT0); - add_tsu_reg(TSU_ADQT1); - add_tsu_reg(TSU_VTAG0); - add_tsu_reg(TSU_VTAG1); + if (cd->dual_port) { + add_tsu_reg(TSU_QTAGM0); + add_tsu_reg(TSU_QTAGM1); + add_tsu_reg(TSU_FWSR); + add_tsu_reg(TSU_FWINMK); + add_tsu_reg(TSU_ADQT0); + add_tsu_reg(TSU_ADQT1); + add_tsu_reg(TSU_VTAG0); + add_tsu_reg(TSU_VTAG1); + } add_tsu_reg(TSU_ADSBSY); add_tsu_reg(TSU_TEN); add_tsu_reg(TSU_POST1); diff -Nru linux-4.19.87/drivers/net/ethernet/sfc/ef10.c linux-4.19.98/drivers/net/ethernet/sfc/ef10.c --- linux-4.19.87/drivers/net/ethernet/sfc/ef10.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/sfc/ef10.c 2020-01-23 07:21:39.000000000 +0000 @@ -6042,22 +6042,25 @@ { NVRAM_PARTITION_TYPE_LICENSE, 0, 0, "sfc_license" }, { NVRAM_PARTITION_TYPE_PHY_MIN, 0xff, 0, "sfc_phy_fw" }, }; +#define EF10_NVRAM_PARTITION_COUNT ARRAY_SIZE(efx_ef10_nvram_types) static int efx_ef10_mtd_probe_partition(struct efx_nic *efx, struct efx_mcdi_mtd_partition *part, - unsigned int type) + unsigned int type, + unsigned long *found) { MCDI_DECLARE_BUF(inbuf, MC_CMD_NVRAM_METADATA_IN_LEN); MCDI_DECLARE_BUF(outbuf, MC_CMD_NVRAM_METADATA_OUT_LENMAX); const struct efx_ef10_nvram_type_info *info; size_t size, erase_size, outlen; + int type_idx = 0; bool protected; int rc; - for (info = efx_ef10_nvram_types; ; info++) { - if (info == - efx_ef10_nvram_types + ARRAY_SIZE(efx_ef10_nvram_types)) + for (type_idx = 0; ; type_idx++) { + if (type_idx == EF10_NVRAM_PARTITION_COUNT) return -ENODEV; + info = efx_ef10_nvram_types + type_idx; if ((type & ~info->type_mask) == info->type) break; } @@ -6070,6 +6073,13 @@ if (protected) return -ENODEV; /* hide it */ + /* If we've already exposed a partition of this type, hide this + * duplicate. All operations on MTDs are keyed by the type anyway, + * so we can't act on the duplicate. + */ + if (__test_and_set_bit(type_idx, found)) + return -EEXIST; + part->nvram_type = type; MCDI_SET_DWORD(inbuf, NVRAM_METADATA_IN_TYPE, type); @@ -6098,6 +6108,7 @@ static int efx_ef10_mtd_probe(struct efx_nic *efx) { MCDI_DECLARE_BUF(outbuf, MC_CMD_NVRAM_PARTITIONS_OUT_LENMAX); + DECLARE_BITMAP(found, EF10_NVRAM_PARTITION_COUNT) = { 0 }; struct efx_mcdi_mtd_partition *parts; size_t outlen, n_parts_total, i, n_parts; unsigned int type; @@ -6126,11 +6137,13 @@ for (i = 0; i < n_parts_total; i++) { type = MCDI_ARRAY_DWORD(outbuf, NVRAM_PARTITIONS_OUT_TYPE_ID, i); - rc = efx_ef10_mtd_probe_partition(efx, &parts[n_parts], type); - if (rc == 0) - n_parts++; - else if (rc != -ENODEV) + rc = efx_ef10_mtd_probe_partition(efx, &parts[n_parts], type, + found); + if (rc == -EEXIST || rc == -ENODEV) + continue; + if (rc) goto fail; + n_parts++; } rc = efx_mtd_add(efx, &parts[0].common, n_parts, sizeof(*parts)); diff -Nru linux-4.19.87/drivers/net/ethernet/stmicro/stmmac/common.h linux-4.19.98/drivers/net/ethernet/stmicro/stmmac/common.h --- linux-4.19.87/drivers/net/ethernet/stmicro/stmmac/common.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/stmicro/stmmac/common.h 2020-01-23 07:21:39.000000000 +0000 @@ -363,9 +363,8 @@ unsigned int frpes; }; -/* GMAC TX FIFO is 8K, Rx FIFO is 16K */ -#define BUF_SIZE_16KiB 16384 -/* RX Buffer size must be < 8191 and multiple of 4/8/16 bytes */ +/* RX Buffer size must be multiple of 4/8/16 bytes */ +#define BUF_SIZE_16KiB 16368 #define BUF_SIZE_8KiB 8188 #define BUF_SIZE_4KiB 4096 #define BUF_SIZE_2KiB 2048 diff -Nru linux-4.19.87/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c linux-4.19.98/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c --- linux-4.19.87/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c 2020-01-23 07:21:39.000000000 +0000 @@ -118,6 +118,14 @@ struct device *dev = dwmac->dev; const char *parent_name, *mux_parent_names[MUX_CLK_NUM_PARENTS]; struct meson8b_dwmac_clk_configs *clk_configs; + static const struct clk_div_table div_table[] = { + { .div = 2, .val = 2, }, + { .div = 3, .val = 3, }, + { .div = 4, .val = 4, }, + { .div = 5, .val = 5, }, + { .div = 6, .val = 6, }, + { .div = 7, .val = 7, }, + }; clk_configs = devm_kzalloc(dev, sizeof(*clk_configs), GFP_KERNEL); if (!clk_configs) @@ -152,9 +160,9 @@ clk_configs->m250_div.reg = dwmac->regs + PRG_ETH0; clk_configs->m250_div.shift = PRG_ETH0_CLK_M250_DIV_SHIFT; clk_configs->m250_div.width = PRG_ETH0_CLK_M250_DIV_WIDTH; - clk_configs->m250_div.flags = CLK_DIVIDER_ONE_BASED | - CLK_DIVIDER_ALLOW_ZERO | - CLK_DIVIDER_ROUND_CLOSEST; + clk_configs->m250_div.table = div_table; + clk_configs->m250_div.flags = CLK_DIVIDER_ALLOW_ZERO | + CLK_DIVIDER_ROUND_CLOSEST; clk = meson8b_dwmac_register_clk(dwmac, "m250_div", &parent_name, 1, &clk_divider_ops, &clk_configs->m250_div.hw); diff -Nru linux-4.19.87/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c linux-4.19.98/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c --- linux-4.19.87/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c 2020-01-23 07:21:39.000000000 +0000 @@ -946,6 +946,9 @@ /* default */ break; case PHY_INTERFACE_MODE_RGMII: + case PHY_INTERFACE_MODE_RGMII_ID: + case PHY_INTERFACE_MODE_RGMII_RXID: + case PHY_INTERFACE_MODE_RGMII_TXID: reg |= SYSCON_EPIT | SYSCON_ETCS_INT_GMII; break; case PHY_INTERFACE_MODE_RMII: diff -Nru linux-4.19.87/drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c linux-4.19.98/drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c --- linux-4.19.87/drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c 2020-01-23 07:21:39.000000000 +0000 @@ -53,13 +53,15 @@ * rate, which then uses the auto-reparenting feature of the * clock driver, and enabling/disabling the clock. */ - if (gmac->interface == PHY_INTERFACE_MODE_RGMII) { + if (phy_interface_mode_is_rgmii(gmac->interface)) { clk_set_rate(gmac->tx_clk, SUN7I_GMAC_GMII_RGMII_RATE); clk_prepare_enable(gmac->tx_clk); gmac->clk_enabled = 1; } else { clk_set_rate(gmac->tx_clk, SUN7I_GMAC_MII_RATE); - clk_prepare(gmac->tx_clk); + ret = clk_prepare(gmac->tx_clk); + if (ret) + return ret; } return 0; diff -Nru linux-4.19.87/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h linux-4.19.98/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h --- linux-4.19.87/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h 2020-01-23 07:21:39.000000000 +0000 @@ -169,6 +169,8 @@ #define XGMAC_DMA_CH_RX_CONTROL(x) (0x00003108 + (0x80 * (x))) #define XGMAC_RxPBL GENMASK(21, 16) #define XGMAC_RxPBL_SHIFT 16 +#define XGMAC_RBSZ GENMASK(14, 1) +#define XGMAC_RBSZ_SHIFT 1 #define XGMAC_RXST BIT(0) #define XGMAC_DMA_CH_TxDESC_LADDR(x) (0x00003114 + (0x80 * (x))) #define XGMAC_DMA_CH_RxDESC_LADDR(x) (0x0000311c + (0x80 * (x))) diff -Nru linux-4.19.87/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c linux-4.19.98/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c --- linux-4.19.87/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c 2020-01-23 07:21:39.000000000 +0000 @@ -379,7 +379,8 @@ u32 value; value = readl(ioaddr + XGMAC_DMA_CH_RX_CONTROL(chan)); - value |= bfsize << 1; + value &= ~XGMAC_RBSZ; + value |= bfsize << XGMAC_RBSZ_SHIFT; writel(value, ioaddr + XGMAC_DMA_CH_RX_CONTROL(chan)); } diff -Nru linux-4.19.87/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c linux-4.19.98/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c --- linux-4.19.87/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 2020-01-23 07:21:39.000000000 +0000 @@ -54,7 +54,7 @@ #include "dwxgmac2.h" #include "hwif.h" -#define STMMAC_ALIGN(x) __ALIGN_KERNEL(x, SMP_CACHE_BYTES) +#define STMMAC_ALIGN(x) ALIGN(ALIGN(x, SMP_CACHE_BYTES), 16) #define TSO_MAX_BUFF_SIZE (SZ_16K - 1) /* Module parameters */ @@ -1082,7 +1082,9 @@ { int ret = bufsize; - if (mtu >= BUF_SIZE_4KiB) + if (mtu >= BUF_SIZE_8KiB) + ret = BUF_SIZE_16KiB; + else if (mtu >= BUF_SIZE_4KiB) ret = BUF_SIZE_8KiB; else if (mtu >= BUF_SIZE_2KiB) ret = BUF_SIZE_4KiB; @@ -2997,6 +2999,7 @@ tx_q->tx_tail_addr = tx_q->dma_tx_phy + (tx_q->cur_tx * sizeof(*desc)); stmmac_set_tx_tail_ptr(priv, priv->ioaddr, tx_q->tx_tail_addr, queue); + stmmac_tx_timer_arm(priv, queue); return NETDEV_TX_OK; @@ -3210,6 +3213,7 @@ tx_q->tx_tail_addr = tx_q->dma_tx_phy + (tx_q->cur_tx * sizeof(*desc)); stmmac_set_tx_tail_ptr(priv, priv->ioaddr, tx_q->tx_tail_addr, queue); + stmmac_tx_timer_arm(priv, queue); return NETDEV_TX_OK; @@ -3604,12 +3608,24 @@ static int stmmac_change_mtu(struct net_device *dev, int new_mtu) { struct stmmac_priv *priv = netdev_priv(dev); + int txfifosz = priv->plat->tx_fifo_size; + + if (txfifosz == 0) + txfifosz = priv->dma_cap.tx_fifo_size; + + txfifosz /= priv->plat->tx_queues_to_use; if (netif_running(dev)) { netdev_err(priv->dev, "must be stopped to change its MTU\n"); return -EBUSY; } + new_mtu = STMMAC_ALIGN(new_mtu); + + /* If condition true, FIFO is too small or MTU too large */ + if ((txfifosz < new_mtu) || (new_mtu > BUF_SIZE_16KiB)) + return -EINVAL; + dev->mtu = new_mtu; netdev_update_features(dev); diff -Nru linux-4.19.87/drivers/net/ethernet/ti/cpsw.c linux-4.19.98/drivers/net/ethernet/ti/cpsw.c --- linux-4.19.87/drivers/net/ethernet/ti/cpsw.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/ti/cpsw.c 2020-01-23 07:21:39.000000000 +0000 @@ -954,8 +954,8 @@ { struct cpsw_common *cpsw = dev_id; - cpdma_ctlr_eoi(cpsw->dma, CPDMA_EOI_RX); writel(0, &cpsw->wr_regs->rx_en); + cpdma_ctlr_eoi(cpsw->dma, CPDMA_EOI_RX); if (cpsw->quirk_irq) { disable_irq_nosync(cpsw->irqs_table[0]); diff -Nru linux-4.19.87/drivers/net/ethernet/ti/cpsw_ale.c linux-4.19.98/drivers/net/ethernet/ti/cpsw_ale.c --- linux-4.19.87/drivers/net/ethernet/ti/cpsw_ale.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/ti/cpsw_ale.c 2020-01-23 07:21:39.000000000 +0000 @@ -793,6 +793,7 @@ void cpsw_ale_stop(struct cpsw_ale *ale) { del_timer_sync(&ale->timer); + cpsw_ale_control_set(ale, 0, ALE_CLEAR, 1); cpsw_ale_control_set(ale, 0, ALE_ENABLE, 0); } EXPORT_SYMBOL_GPL(cpsw_ale_stop); @@ -877,6 +878,7 @@ ALE_UNKNOWNVLAN_FORCE_UNTAG_EGRESS; } + cpsw_ale_control_set(ale, 0, ALE_CLEAR, 1); return ale; } EXPORT_SYMBOL_GPL(cpsw_ale_create); diff -Nru linux-4.19.87/drivers/net/ethernet/ti/cpts.c linux-4.19.98/drivers/net/ethernet/ti/cpts.c --- linux-4.19.87/drivers/net/ethernet/ti/cpts.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/ethernet/ti/cpts.c 2020-01-23 07:21:39.000000000 +0000 @@ -119,9 +119,7 @@ if (time_after(jiffies, skb_cb->tmo)) { /* timeout any expired skbs over 1s */ - dev_dbg(cpts->dev, - "expiring tx timestamp mtype %u seqid %04x\n", - mtype, seqid); + dev_dbg(cpts->dev, "expiring tx timestamp from txq\n"); __skb_unlink(skb, &cpts->txq); dev_consume_skb_any(skb); } @@ -572,7 +570,9 @@ return ERR_CAST(cpts->refclk); } - clk_prepare(cpts->refclk); + ret = clk_prepare(cpts->refclk); + if (ret) + return ERR_PTR(ret); cpts->cc.read = cpts_systim_read; cpts->cc.mask = CLOCKSOURCE_MASK(32); diff -Nru linux-4.19.87/drivers/net/fjes/fjes_main.c linux-4.19.98/drivers/net/fjes/fjes_main.c --- linux-4.19.87/drivers/net/fjes/fjes_main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/fjes/fjes_main.c 2020-01-23 07:21:39.000000000 +0000 @@ -181,6 +181,9 @@ /* create platform_device */ plat_dev = platform_device_register_simple(DRV_NAME, 0, fjes_resource, ARRAY_SIZE(fjes_resource)); + if (IS_ERR(plat_dev)) + return PTR_ERR(plat_dev); + device->driver_data = plat_dev; return 0; diff -Nru linux-4.19.87/drivers/net/gtp.c linux-4.19.98/drivers/net/gtp.c --- linux-4.19.87/drivers/net/gtp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/gtp.c 2020-01-23 07:21:39.000000000 +0000 @@ -42,7 +42,6 @@ struct hlist_node hlist_addr; union { - u64 tid; struct { u64 tid; u16 flow; @@ -545,7 +544,7 @@ mtu = dst_mtu(&rt->dst); } - rt->dst.ops->update_pmtu(&rt->dst, NULL, skb, mtu); + 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)) { @@ -645,9 +644,16 @@ } static int gtp_hashtable_new(struct gtp_dev *gtp, int hsize); -static void gtp_hashtable_free(struct gtp_dev *gtp); static int gtp_encap_enable(struct gtp_dev *gtp, struct nlattr *data[]); +static void gtp_destructor(struct net_device *dev) +{ + struct gtp_dev *gtp = netdev_priv(dev); + + kfree(gtp->addr_hash); + kfree(gtp->tid_hash); +} + static int gtp_newlink(struct net *src_net, struct net_device *dev, struct nlattr *tb[], struct nlattr *data[], struct netlink_ext_ack *extack) @@ -665,10 +671,13 @@ if (err < 0) return err; - if (!data[IFLA_GTP_PDP_HASHSIZE]) + if (!data[IFLA_GTP_PDP_HASHSIZE]) { hashsize = 1024; - else + } else { hashsize = nla_get_u32(data[IFLA_GTP_PDP_HASHSIZE]); + if (!hashsize) + hashsize = 1024; + } err = gtp_hashtable_new(gtp, hashsize); if (err < 0) @@ -682,13 +691,15 @@ gn = net_generic(dev_net(dev), gtp_net_id); list_add_rcu(>p->list, &gn->gtp_dev_list); + dev->priv_destructor = gtp_destructor; netdev_dbg(dev, "registered new GTP interface\n"); return 0; out_hashtable: - gtp_hashtable_free(gtp); + kfree(gtp->addr_hash); + kfree(gtp->tid_hash); out_encap: gtp_encap_disable(gtp); return err; @@ -697,9 +708,14 @@ static void gtp_dellink(struct net_device *dev, struct list_head *head) { struct gtp_dev *gtp = netdev_priv(dev); + struct pdp_ctx *pctx; + int i; + + for (i = 0; i < gtp->hash_size; i++) + hlist_for_each_entry_rcu(pctx, >p->tid_hash[i], hlist_tid) + pdp_context_delete(pctx); gtp_encap_disable(gtp); - gtp_hashtable_free(gtp); list_del_rcu(>p->list); unregister_netdevice_queue(dev, head); } @@ -777,20 +793,6 @@ return -ENOMEM; } -static void gtp_hashtable_free(struct gtp_dev *gtp) -{ - struct pdp_ctx *pctx; - int i; - - for (i = 0; i < gtp->hash_size; i++) - hlist_for_each_entry_rcu(pctx, >p->tid_hash[i], hlist_tid) - pdp_context_delete(pctx); - - synchronize_rcu(); - kfree(gtp->addr_hash); - kfree(gtp->tid_hash); -} - static struct sock *gtp_encap_enable_socket(int fd, int type, struct gtp_dev *gtp) { @@ -816,7 +818,7 @@ lock_sock(sock->sk); if (sock->sk->sk_user_data) { sk = ERR_PTR(-EBUSY); - goto out_sock; + goto out_rel_sock; } sk = sock->sk; @@ -829,8 +831,9 @@ setup_udp_tunnel_sock(sock_net(sock->sk), sock, &tuncfg); -out_sock: +out_rel_sock: release_sock(sock->sk); +out_sock: sockfd_put(sock); return sk; } @@ -931,24 +934,31 @@ } } -static int ipv4_pdp_add(struct gtp_dev *gtp, struct sock *sk, - struct genl_info *info) +static int gtp_pdp_add(struct gtp_dev *gtp, struct sock *sk, + struct genl_info *info) { + struct pdp_ctx *pctx, *pctx_tid = NULL; struct net_device *dev = gtp->dev; u32 hash_ms, hash_tid = 0; - struct pdp_ctx *pctx; + unsigned int version; bool found = false; __be32 ms_addr; ms_addr = nla_get_be32(info->attrs[GTPA_MS_ADDRESS]); hash_ms = ipv4_hashfn(ms_addr) % gtp->hash_size; + version = nla_get_u32(info->attrs[GTPA_VERSION]); - hlist_for_each_entry_rcu(pctx, >p->addr_hash[hash_ms], hlist_addr) { - if (pctx->ms_addr_ip4.s_addr == ms_addr) { - found = true; - break; - } - } + pctx = ipv4_pdp_find(gtp, ms_addr); + if (pctx) + found = true; + if (version == GTP_V0) + pctx_tid = gtp0_pdp_find(gtp, + nla_get_u64(info->attrs[GTPA_TID])); + else if (version == GTP_V1) + pctx_tid = gtp1_pdp_find(gtp, + nla_get_u32(info->attrs[GTPA_I_TEI])); + if (pctx_tid) + found = true; if (found) { if (info->nlhdr->nlmsg_flags & NLM_F_EXCL) @@ -956,6 +966,11 @@ if (info->nlhdr->nlmsg_flags & NLM_F_REPLACE) return -EOPNOTSUPP; + if (pctx && pctx_tid) + return -EEXIST; + if (!pctx) + pctx = pctx_tid; + ipv4_pdp_fill(pctx, info); if (pctx->gtp_version == GTP_V0) @@ -1079,7 +1094,7 @@ goto out_unlock; } - err = ipv4_pdp_add(gtp, sk, info); + err = gtp_pdp_add(gtp, sk, info); out_unlock: rcu_read_unlock(); @@ -1237,43 +1252,46 @@ struct netlink_callback *cb) { struct gtp_dev *last_gtp = (struct gtp_dev *)cb->args[2], *gtp; + int i, j, bucket = cb->args[0], skip = cb->args[1]; struct net *net = sock_net(skb->sk); - struct gtp_net *gn = net_generic(net, gtp_net_id); - unsigned long tid = cb->args[1]; - int i, k = cb->args[0], ret; struct pdp_ctx *pctx; + struct gtp_net *gn; + + gn = net_generic(net, gtp_net_id); if (cb->args[4]) return 0; + rcu_read_lock(); list_for_each_entry_rcu(gtp, &gn->gtp_dev_list, list) { if (last_gtp && last_gtp != gtp) continue; else last_gtp = NULL; - for (i = k; i < gtp->hash_size; i++) { - hlist_for_each_entry_rcu(pctx, >p->tid_hash[i], hlist_tid) { - if (tid && tid != pctx->u.tid) - continue; - else - tid = 0; - - ret = gtp_genl_fill_info(skb, - NETLINK_CB(cb->skb).portid, - cb->nlh->nlmsg_seq, - cb->nlh->nlmsg_type, pctx); - if (ret < 0) { + for (i = bucket; i < gtp->hash_size; i++) { + j = 0; + hlist_for_each_entry_rcu(pctx, >p->tid_hash[i], + hlist_tid) { + if (j >= skip && + gtp_genl_fill_info(skb, + NETLINK_CB(cb->skb).portid, + cb->nlh->nlmsg_seq, + cb->nlh->nlmsg_type, pctx)) { cb->args[0] = i; - cb->args[1] = pctx->u.tid; + cb->args[1] = j; cb->args[2] = (unsigned long)gtp; goto out; } + j++; } + skip = 0; } + bucket = 0; } cb->args[4] = 1; out: + rcu_read_unlock(); return skb->len; } diff -Nru linux-4.19.87/drivers/net/hamradio/6pack.c linux-4.19.98/drivers/net/hamradio/6pack.c --- linux-4.19.87/drivers/net/hamradio/6pack.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/hamradio/6pack.c 2020-01-23 07:21:39.000000000 +0000 @@ -654,10 +654,10 @@ { struct sixpack *sp; - write_lock_bh(&disc_data_lock); + write_lock_irq(&disc_data_lock); sp = tty->disc_data; tty->disc_data = NULL; - write_unlock_bh(&disc_data_lock); + write_unlock_irq(&disc_data_lock); if (!sp) return; diff -Nru linux-4.19.87/drivers/net/hamradio/mkiss.c linux-4.19.98/drivers/net/hamradio/mkiss.c --- linux-4.19.87/drivers/net/hamradio/mkiss.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/hamradio/mkiss.c 2020-01-23 07:21:39.000000000 +0000 @@ -783,10 +783,10 @@ { struct mkiss *ax; - write_lock_bh(&disc_data_lock); + write_lock_irq(&disc_data_lock); ax = tty->disc_data; tty->disc_data = NULL; - write_unlock_bh(&disc_data_lock); + write_unlock_irq(&disc_data_lock); if (!ax) return; diff -Nru linux-4.19.87/drivers/net/hyperv/hyperv_net.h linux-4.19.98/drivers/net/hyperv/hyperv_net.h --- linux-4.19.87/drivers/net/hyperv/hyperv_net.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/hyperv/hyperv_net.h 2020-01-23 07:21:39.000000000 +0000 @@ -181,7 +181,6 @@ u8 hw_mac_adr[ETH_ALEN]; u8 rss_key[NETVSC_HASH_KEYLEN]; - u16 rx_table[ITAB_NUM]; }; @@ -933,6 +932,8 @@ u32 tx_table[VRSS_SEND_TAB_SIZE]; + u16 rx_table[ITAB_NUM]; + /* Ethtool settings */ u8 duplex; u32 speed; diff -Nru linux-4.19.87/drivers/net/hyperv/netvsc_drv.c linux-4.19.98/drivers/net/hyperv/netvsc_drv.c --- linux-4.19.87/drivers/net/hyperv/netvsc_drv.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/hyperv/netvsc_drv.c 2020-01-23 07:21:39.000000000 +0000 @@ -1688,7 +1688,7 @@ rndis_dev = ndev->extension; if (indir) { for (i = 0; i < ITAB_NUM; i++) - indir[i] = rndis_dev->rx_table[i]; + indir[i] = ndc->rx_table[i]; } if (key) @@ -1718,7 +1718,7 @@ return -EINVAL; for (i = 0; i < ITAB_NUM; i++) - rndis_dev->rx_table[i] = indir[i]; + ndc->rx_table[i] = indir[i]; } if (!key) { diff -Nru linux-4.19.87/drivers/net/hyperv/rndis_filter.c linux-4.19.98/drivers/net/hyperv/rndis_filter.c --- linux-4.19.87/drivers/net/hyperv/rndis_filter.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/hyperv/rndis_filter.c 2020-01-23 07:21:39.000000000 +0000 @@ -719,6 +719,7 @@ const u8 *rss_key, u16 flag) { struct net_device *ndev = rdev->ndev; + struct net_device_context *ndc = netdev_priv(ndev); struct rndis_request *request; struct rndis_set_request *set; struct rndis_set_complete *set_complete; @@ -758,7 +759,7 @@ /* Set indirection table entries */ itab = (u32 *)(rssp + 1); for (i = 0; i < ITAB_NUM; i++) - itab[i] = rdev->rx_table[i]; + itab[i] = ndc->rx_table[i]; /* Set hask key values */ keyp = (u8 *)((unsigned long)rssp + rssp->hashkey_offset); @@ -1244,6 +1245,7 @@ struct netvsc_device_info *device_info) { struct net_device *net = hv_get_drvdata(dev); + struct net_device_context *ndc = netdev_priv(net); struct netvsc_device *net_device; struct rndis_device *rndis_device; struct ndis_recv_scale_cap rsscap; @@ -1330,9 +1332,11 @@ /* We will use the given number of channels if available. */ net_device->num_chn = min(net_device->max_chn, device_info->num_chn); - for (i = 0; i < ITAB_NUM; i++) - rndis_device->rx_table[i] = ethtool_rxfh_indir_default( + if (!netif_is_rxfh_configured(net)) { + for (i = 0; i < ITAB_NUM; i++) + ndc->rx_table[i] = ethtool_rxfh_indir_default( i, net_device->num_chn); + } atomic_set(&net_device->open_chn, 1); vmbus_set_sc_create_callback(dev->channel, netvsc_sc_open); @@ -1371,8 +1375,6 @@ /* Halt and release the rndis device */ rndis_filter_halt_device(net_dev, rndis_dev); - net_dev->extension = NULL; - netvsc_device_remove(dev); } diff -Nru linux-4.19.87/drivers/net/macvlan.c linux-4.19.98/drivers/net/macvlan.c --- linux-4.19.87/drivers/net/macvlan.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/macvlan.c 2020-01-23 07:21:39.000000000 +0000 @@ -363,10 +363,11 @@ } spin_unlock(&port->bc_queue.lock); + schedule_work(&port->bc_work); + if (err) goto free_nskb; - schedule_work(&port->bc_work); return; free_nskb: @@ -516,10 +517,11 @@ const struct macvlan_dev *dest; if (vlan->mode == MACVLAN_MODE_BRIDGE) { - const struct ethhdr *eth = (void *)skb->data; + const struct ethhdr *eth = skb_eth_hdr(skb); /* send to other bridge ports directly */ if (is_multicast_ether_addr(eth->h_dest)) { + skb_reset_mac_header(skb); macvlan_broadcast(skb, port, dev, MACVLAN_MODE_BRIDGE); goto xmit_world; } diff -Nru linux-4.19.87/drivers/net/phy/dp83867.c linux-4.19.98/drivers/net/phy/dp83867.c --- linux-4.19.87/drivers/net/phy/dp83867.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/phy/dp83867.c 2020-01-23 07:21:39.000000000 +0000 @@ -86,6 +86,10 @@ #define DP83867_IO_MUX_CFG_CLK_O_SEL_MASK (0x1f << 8) #define DP83867_IO_MUX_CFG_CLK_O_SEL_SHIFT 8 +/* CFG3 bits */ +#define DP83867_CFG3_INT_OE BIT(7) +#define DP83867_CFG3_ROBUST_AUTO_MDIX BIT(9) + /* CFG4 bits */ #define DP83867_CFG4_PORT_MIRROR_EN BIT(0) @@ -331,12 +335,13 @@ return ret; } + val = phy_read(phydev, DP83867_CFG3); /* Enable Interrupt output INT_OE in CFG3 register */ - if (phy_interrupt_is_valid(phydev)) { - val = phy_read(phydev, DP83867_CFG3); - val |= BIT(7); - phy_write(phydev, DP83867_CFG3, val); - } + if (phy_interrupt_is_valid(phydev)) + val |= DP83867_CFG3_INT_OE; + + val |= DP83867_CFG3_ROBUST_AUTO_MDIX; + phy_write(phydev, DP83867_CFG3, val); if (dp83867->port_mirroring != DP83867_PORT_MIRROING_KEEP) dp83867_config_port_mirroring(phydev); diff -Nru linux-4.19.87/drivers/net/phy/phy_device.c linux-4.19.98/drivers/net/phy/phy_device.c --- linux-4.19.87/drivers/net/phy/phy_device.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/phy/phy_device.c 2020-01-23 07:21:39.000000000 +0000 @@ -420,8 +420,8 @@ mdiodev->device_free = phy_mdio_device_free; mdiodev->device_remove = phy_mdio_device_remove; - dev->speed = 0; - dev->duplex = -1; + dev->speed = SPEED_UNKNOWN; + dev->duplex = DUPLEX_UNKNOWN; dev->pause = 0; dev->asym_pause = 0; dev->link = 0; diff -Nru linux-4.19.87/drivers/net/slip/slip.c linux-4.19.98/drivers/net/slip/slip.c --- linux-4.19.87/drivers/net/slip/slip.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/slip/slip.c 2020-01-23 07:21:39.000000000 +0000 @@ -855,6 +855,7 @@ sl->tty = NULL; tty->disc_data = NULL; clear_bit(SLF_INUSE, &sl->flags); + sl_free_netdev(sl->dev); free_netdev(sl->dev); err_exit: diff -Nru linux-4.19.87/drivers/net/tun.c linux-4.19.98/drivers/net/tun.c --- linux-4.19.87/drivers/net/tun.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/tun.c 2020-01-23 07:21:39.000000000 +0000 @@ -319,8 +319,8 @@ tfile->napi_enabled = napi_en; tfile->napi_frags_enabled = napi_en && napi_frags; if (napi_en) { - netif_napi_add(tun->dev, &tfile->napi, tun_napi_poll, - NAPI_POLL_WEIGHT); + netif_tx_napi_add(tun->dev, &tfile->napi, tun_napi_poll, + NAPI_POLL_WEIGHT); napi_enable(&tfile->napi); } } diff -Nru linux-4.19.87/drivers/net/usb/lan78xx.c linux-4.19.98/drivers/net/usb/lan78xx.c --- linux-4.19.87/drivers/net/usb/lan78xx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/usb/lan78xx.c 2020-01-23 07:21:39.000000000 +0000 @@ -522,7 +522,7 @@ } } else { netdev_warn(dev->net, - "Failed to read stat ret = 0x%x", ret); + "Failed to read stat ret = %d", ret); } kfree(stats); @@ -1823,6 +1823,7 @@ dev->mdiobus->read = lan78xx_mdiobus_read; dev->mdiobus->write = lan78xx_mdiobus_write; dev->mdiobus->name = "lan78xx-mdiobus"; + dev->mdiobus->parent = &dev->udev->dev; snprintf(dev->mdiobus->id, MII_BUS_ID_SIZE, "usb-%03d:%03d", dev->udev->bus->busnum, dev->udev->devnum); @@ -2735,11 +2736,6 @@ return 0; } -static int lan78xx_linearize(struct sk_buff *skb) -{ - return skb_linearize(skb); -} - static struct sk_buff *lan78xx_tx_prep(struct lan78xx_net *dev, struct sk_buff *skb, gfp_t flags) { @@ -2750,8 +2746,10 @@ return NULL; } - if (lan78xx_linearize(skb) < 0) + if (skb_linearize(skb)) { + dev_kfree_skb_any(skb); return NULL; + } tx_cmd_a = (u32)(skb->len & TX_CMD_A_LEN_MASK_) | TX_CMD_A_FCS_; @@ -3771,6 +3769,7 @@ /* MTU range: 68 - 9000 */ netdev->max_mtu = MAX_SINGLE_PACKET_SIZE; + netif_set_gso_max_size(netdev, MAX_SINGLE_PACKET_SIZE - MAX_HEADER); dev->ep_blkin = (intf->cur_altsetting)->endpoint + 0; dev->ep_blkout = (intf->cur_altsetting)->endpoint + 1; diff -Nru linux-4.19.87/drivers/net/usb/r8152.c linux-4.19.98/drivers/net/usb/r8152.c --- linux-4.19.87/drivers/net/usb/r8152.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/usb/r8152.c 2020-01-23 07:21:39.000000000 +0000 @@ -5167,6 +5167,9 @@ return -ENODEV; } + if (intf->cur_altsetting->desc.bNumEndpoints < 3) + return -ENODEV; + usb_reset_device(udev); netdev = alloc_etherdev(sizeof(struct r8152)); if (!netdev) { diff -Nru linux-4.19.87/drivers/net/vxlan.c linux-4.19.98/drivers/net/vxlan.c --- linux-4.19.87/drivers/net/vxlan.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/vxlan.c 2020-01-23 07:21:39.000000000 +0000 @@ -2217,7 +2217,7 @@ ndst = &rt->dst; skb_tunnel_check_pmtu(skb, ndst, VXLAN_HEADROOM); - tos = ip_tunnel_ecn_encap(tos, old_iph, skb); + tos = ip_tunnel_ecn_encap(RT_TOS(tos), old_iph, skb); ttl = ttl ? : ip4_dst_hoplimit(&rt->dst); err = vxlan_build_skb(skb, ndst, sizeof(struct iphdr), vni, md, flags, udp_sum); @@ -2254,7 +2254,7 @@ skb_tunnel_check_pmtu(skb, ndst, VXLAN6_HEADROOM); - tos = ip_tunnel_ecn_encap(tos, old_iph, skb); + tos = ip_tunnel_ecn_encap(RT_TOS(tos), old_iph, skb); ttl = ttl ? : ip6_dst_hoplimit(ndst); skb_scrub_packet(skb, xnet); err = vxlan_build_skb(skb, ndst, sizeof(struct ipv6hdr), @@ -3213,6 +3213,7 @@ struct vxlan_net *vn = net_generic(net, vxlan_net_id); struct vxlan_dev *vxlan = netdev_priv(dev); struct vxlan_fdb *f = NULL; + bool unregister = false; int err; err = vxlan_dev_configure(net, dev, conf, false, extack); @@ -3238,12 +3239,11 @@ err = register_netdevice(dev); if (err) goto errout; + unregister = true; err = rtnl_configure_link(dev, NULL); - if (err) { - unregister_netdevice(dev); + if (err) goto errout; - } /* notify default fdb entry */ if (f) @@ -3251,9 +3251,16 @@ list_add(&vxlan->next, &vn->vxlan_list); return 0; + errout: + /* unregister_netdevice() destroys the default FDB entry with deletion + * notification. But the addition notification was not sent yet, so + * destroy the entry by hand here. + */ if (f) vxlan_fdb_destroy(vxlan, f, false); + if (unregister) + unregister_netdevice(dev); return err; } diff -Nru linux-4.19.87/drivers/net/wan/fsl_ucc_hdlc.c linux-4.19.98/drivers/net/wan/fsl_ucc_hdlc.c --- linux-4.19.87/drivers/net/wan/fsl_ucc_hdlc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wan/fsl_ucc_hdlc.c 2020-01-23 07:21:39.000000000 +0000 @@ -76,7 +76,7 @@ }, }; -static struct ucc_tdm_info utdm_info[MAX_HDLC_NUM]; +static struct ucc_tdm_info utdm_info[UCC_MAX_NUM]; static int uhdlc_init(struct ucc_hdlc_private *priv) { @@ -1113,7 +1113,6 @@ if (register_hdlc_device(dev)) { ret = -ENOBUFS; pr_err("ucc_hdlc: unable to register hdlc device\n"); - free_netdev(dev); goto free_dev; } diff -Nru linux-4.19.87/drivers/net/wireless/ath/ar5523/ar5523.c linux-4.19.98/drivers/net/wireless/ath/ar5523/ar5523.c --- linux-4.19.87/drivers/net/wireless/ath/ar5523/ar5523.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/ath/ar5523/ar5523.c 2020-01-23 07:21:39.000000000 +0000 @@ -255,7 +255,8 @@ if (flags & AR5523_CMD_FLAG_MAGIC) hdr->magic = cpu_to_be32(1 << 24); - memcpy(hdr + 1, idata, ilen); + if (ilen) + memcpy(hdr + 1, idata, ilen); cmd->odata = odata; cmd->olen = olen; diff -Nru linux-4.19.87/drivers/net/wireless/ath/ath10k/coredump.c linux-4.19.98/drivers/net/wireless/ath/ath10k/coredump.c --- linux-4.19.87/drivers/net/wireless/ath/ath10k/coredump.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/ath/ath10k/coredump.c 2020-01-23 07:21:39.000000000 +0000 @@ -1105,9 +1105,11 @@ dump_tlv = (struct ath10k_tlv_dump_data *)(buf + sofar); dump_tlv->type = cpu_to_le32(ATH10K_FW_CRASH_DUMP_RAM_DATA); dump_tlv->tlv_len = cpu_to_le32(crash_data->ramdump_buf_len); - memcpy(dump_tlv->tlv_data, crash_data->ramdump_buf, - crash_data->ramdump_buf_len); - sofar += sizeof(*dump_tlv) + crash_data->ramdump_buf_len; + if (crash_data->ramdump_buf_len) { + memcpy(dump_tlv->tlv_data, crash_data->ramdump_buf, + crash_data->ramdump_buf_len); + sofar += sizeof(*dump_tlv) + crash_data->ramdump_buf_len; + } } spin_unlock_bh(&ar->data_lock); @@ -1154,6 +1156,9 @@ if (test_bit(ATH10K_FW_CRASH_DUMP_RAM_DATA, &ath10k_coredump_mask)) { crash_data->ramdump_buf_len = ath10k_coredump_get_ramdump_size(ar); + if (!crash_data->ramdump_buf_len) + return 0; + crash_data->ramdump_buf = vzalloc(crash_data->ramdump_buf_len); if (!crash_data->ramdump_buf) return -ENOMEM; diff -Nru linux-4.19.87/drivers/net/wireless/ath/ath10k/mac.c linux-4.19.98/drivers/net/wireless/ath/ath10k/mac.c --- linux-4.19.87/drivers/net/wireless/ath/ath10k/mac.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/ath/ath10k/mac.c 2020-01-23 07:21:39.000000000 +0000 @@ -3651,7 +3651,7 @@ struct ieee80211_vif *vif, enum ath10k_hw_txrx_mode txmode, enum ath10k_mac_tx_path txpath, - struct sk_buff *skb) + struct sk_buff *skb, bool noque_offchan) { struct ieee80211_hw *hw = ar->hw; struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); @@ -3679,10 +3679,10 @@ } } - if (info->flags & IEEE80211_TX_CTL_TX_OFFCHAN) { + if (!noque_offchan && info->flags & IEEE80211_TX_CTL_TX_OFFCHAN) { if (!ath10k_mac_tx_frm_has_freq(ar)) { - ath10k_dbg(ar, ATH10K_DBG_MAC, "queued offchannel skb %pK\n", - skb); + ath10k_dbg(ar, ATH10K_DBG_MAC, "mac queued offchannel skb %pK len %d\n", + skb, skb->len); skb_queue_tail(&ar->offchan_tx_queue, skb); ieee80211_queue_work(hw, &ar->offchan_tx_work); @@ -3744,8 +3744,8 @@ mutex_lock(&ar->conf_mutex); - ath10k_dbg(ar, ATH10K_DBG_MAC, "mac offchannel skb %pK\n", - skb); + ath10k_dbg(ar, ATH10K_DBG_MAC, "mac offchannel skb %pK len %d\n", + skb, skb->len); hdr = (struct ieee80211_hdr *)skb->data; peer_addr = ieee80211_get_DA(hdr); @@ -3791,7 +3791,7 @@ txmode = ath10k_mac_tx_h_get_txmode(ar, vif, sta, skb); txpath = ath10k_mac_tx_h_get_txpath(ar, skb, txmode); - ret = ath10k_mac_tx(ar, vif, txmode, txpath, skb); + ret = ath10k_mac_tx(ar, vif, txmode, txpath, skb, true); if (ret) { ath10k_warn(ar, "failed to transmit offchannel frame: %d\n", ret); @@ -3801,8 +3801,8 @@ time_left = wait_for_completion_timeout(&ar->offchan_tx_completed, 3 * HZ); if (time_left == 0) - ath10k_warn(ar, "timed out waiting for offchannel skb %pK\n", - skb); + ath10k_warn(ar, "timed out waiting for offchannel skb %pK, len: %d\n", + skb, skb->len); if (!peer && tmp_peer_created) { ret = ath10k_peer_delete(ar, vdev_id, peer_addr); @@ -3844,8 +3844,10 @@ ar->running_fw->fw_file.fw_features)) { paddr = dma_map_single(ar->dev, skb->data, skb->len, DMA_TO_DEVICE); - if (!paddr) + if (dma_mapping_error(ar->dev, paddr)) { + ieee80211_free_txskb(ar->hw, skb); continue; + } ret = ath10k_wmi_mgmt_tx_send(ar, skb, paddr); if (ret) { ath10k_warn(ar, "failed to transmit management frame by ref via WMI: %d\n", @@ -3998,7 +4000,7 @@ spin_unlock_bh(&ar->htt.tx_lock); } - ret = ath10k_mac_tx(ar, vif, txmode, txpath, skb); + ret = ath10k_mac_tx(ar, vif, txmode, txpath, skb, false); if (unlikely(ret)) { ath10k_warn(ar, "failed to push frame: %d\n", ret); @@ -4280,7 +4282,7 @@ spin_unlock_bh(&ar->htt.tx_lock); } - ret = ath10k_mac_tx(ar, vif, txmode, txpath, skb); + ret = ath10k_mac_tx(ar, vif, txmode, txpath, skb, false); if (ret) { ath10k_warn(ar, "failed to transmit frame: %d\n", ret); if (is_htt) { diff -Nru linux-4.19.87/drivers/net/wireless/ath/ath10k/pci.c linux-4.19.98/drivers/net/wireless/ath/ath10k/pci.c --- linux-4.19.87/drivers/net/wireless/ath/ath10k/pci.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/ath/ath10k/pci.c 2020-01-23 07:21:39.000000000 +0000 @@ -2052,6 +2052,11 @@ ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot hif stop\n"); + ath10k_pci_irq_disable(ar); + ath10k_pci_irq_sync(ar); + napi_synchronize(&ar->napi); + napi_disable(&ar->napi); + /* Most likely the device has HTT Rx ring configured. The only way to * prevent the device from accessing (and possible corrupting) host * memory is to reset the chip now. @@ -2065,10 +2070,6 @@ */ ath10k_pci_safe_chip_reset(ar); - ath10k_pci_irq_disable(ar); - ath10k_pci_irq_sync(ar); - napi_synchronize(&ar->napi); - napi_disable(&ar->napi); ath10k_pci_flush(ar); spin_lock_irqsave(&ar_pci->ps_lock, flags); diff -Nru linux-4.19.87/drivers/net/wireless/ath/ath10k/txrx.c linux-4.19.98/drivers/net/wireless/ath/ath10k/txrx.c --- linux-4.19.87/drivers/net/wireless/ath/ath10k/txrx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/ath/ath10k/txrx.c 2020-01-23 07:21:39.000000000 +0000 @@ -101,6 +101,8 @@ info = IEEE80211_SKB_CB(msdu); memset(&info->status, 0, sizeof(info->status)); + info->status.rates[0].idx = -1; + trace_ath10k_txrx_tx_unref(ar, tx_done->msdu_id); if (!(info->flags & IEEE80211_TX_CTL_NO_ACK)) diff -Nru linux-4.19.87/drivers/net/wireless/ath/ath10k/usb.c linux-4.19.98/drivers/net/wireless/ath/ath10k/usb.c --- linux-4.19.87/drivers/net/wireless/ath/ath10k/usb.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/ath/ath10k/usb.c 2020-01-23 07:21:39.000000000 +0000 @@ -454,6 +454,7 @@ ath10k_dbg(ar, ATH10K_DBG_USB_BULK, "usb bulk transmit failed: %d\n", ret); usb_unanchor_urb(urb); + usb_free_urb(urb); ret = -EINVAL; goto err_free_urb_to_pipe; } diff -Nru linux-4.19.87/drivers/net/wireless/ath/ath6kl/cfg80211.c linux-4.19.98/drivers/net/wireless/ath/ath6kl/cfg80211.c --- linux-4.19.87/drivers/net/wireless/ath/ath6kl/cfg80211.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/ath/ath6kl/cfg80211.c 2020-01-23 07:21:39.000000000 +0000 @@ -939,7 +939,7 @@ else ssid_list[i].flag = ANY_SSID_FLAG; - if (n_match_ssid == 0) + if (ar->wiphy->max_match_sets != 0 && n_match_ssid == 0) ssid_list[i].flag |= MATCH_SSID_FLAG; } @@ -1093,7 +1093,7 @@ if (vif->scan_req->n_ssids && vif->scan_req->ssids[0].ssid_len) { for (i = 0; i < vif->scan_req->n_ssids; i++) { ath6kl_wmi_probedssid_cmd(ar->wmi, vif->fw_vif_idx, - i + 1, DISABLE_SSID_FLAG, + i, DISABLE_SSID_FLAG, 0, NULL); } } diff -Nru linux-4.19.87/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c linux-4.19.98/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c --- linux-4.19.87/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c 2020-01-23 07:21:39.000000000 +0000 @@ -973,6 +973,8 @@ struct ath_htc_rx_status *rxstatus; struct ath_rx_status rx_stats; bool decrypt_error = false; + __be16 rs_datalen; + bool is_phyerr; if (skb->len < HTC_RX_FRAME_HEADER_SIZE) { ath_err(common, "Corrupted RX frame, dropping (len: %d)\n", @@ -982,11 +984,24 @@ rxstatus = (struct ath_htc_rx_status *)skb->data; - if (be16_to_cpu(rxstatus->rs_datalen) - - (skb->len - HTC_RX_FRAME_HEADER_SIZE) != 0) { + rs_datalen = be16_to_cpu(rxstatus->rs_datalen); + if (unlikely(rs_datalen - + (skb->len - HTC_RX_FRAME_HEADER_SIZE) != 0)) { ath_err(common, "Corrupted RX data len, dropping (dlen: %d, skblen: %d)\n", - rxstatus->rs_datalen, skb->len); + rs_datalen, skb->len); + goto rx_next; + } + + is_phyerr = rxstatus->rs_status & ATH9K_RXERR_PHY; + /* + * Discard zero-length packets and packets smaller than an ACK + * which are not PHY_ERROR (short radar pulses have a length of 3) + */ + if (unlikely(!rs_datalen || (rs_datalen < 10 && !is_phyerr))) { + ath_warn(common, + "Short RX data len, dropping (dlen: %d)\n", + rs_datalen); goto rx_next; } @@ -1011,7 +1026,7 @@ * Process PHY errors and return so that the packet * can be dropped. */ - if (rx_stats.rs_status & ATH9K_RXERR_PHY) { + if (unlikely(is_phyerr)) { /* TODO: Not using DFS processing now. */ if (ath_cmn_process_fft(&priv->spec_priv, hdr, &rx_stats, rx_status->mactime)) { diff -Nru linux-4.19.87/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c linux-4.19.98/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c --- linux-4.19.87/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c 2020-01-23 07:21:39.000000000 +0000 @@ -6314,6 +6314,16 @@ .tx = 0xffff, .rx = BIT(IEEE80211_STYPE_ACTION >> 4) | BIT(IEEE80211_STYPE_PROBE_REQ >> 4) + }, + [NL80211_IFTYPE_AP] = { + .tx = 0xffff, + .rx = BIT(IEEE80211_STYPE_ASSOC_REQ >> 4) | + BIT(IEEE80211_STYPE_REASSOC_REQ >> 4) | + BIT(IEEE80211_STYPE_PROBE_REQ >> 4) | + BIT(IEEE80211_STYPE_DISASSOC >> 4) | + BIT(IEEE80211_STYPE_AUTH >> 4) | + BIT(IEEE80211_STYPE_DEAUTH >> 4) | + BIT(IEEE80211_STYPE_ACTION >> 4) } }; diff -Nru linux-4.19.87/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c linux-4.19.98/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c --- linux-4.19.87/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c 2020-01-23 07:21:39.000000000 +0000 @@ -1246,6 +1246,11 @@ brcmf_proto_detach_pre_delif(drvr); + if (drvr->mon_if) { + brcmf_net_detach(drvr->mon_if->ndev, false); + drvr->mon_if = NULL; + } + /* make sure primary interface removed last */ for (i = BRCMF_MAX_IFS-1; i > -1; i--) brcmf_remove_interface(drvr->iflist[i], false); diff -Nru linux-4.19.87/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c linux-4.19.98/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c --- linux-4.19.87/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c 2020-01-23 07:21:39.000000000 +0000 @@ -49,6 +49,10 @@ #define DCMD_RESP_TIMEOUT msecs_to_jiffies(2500) #define CTL_DONE_TIMEOUT msecs_to_jiffies(2500) +/* watermark expressed in number of words */ +#define DEFAULT_F2_WATERMARK 0x8 +#define CY_4373_F2_WATERMARK 0x40 + #ifdef DEBUG #define BRCMF_TRAP_INFO_SIZE 80 @@ -138,6 +142,8 @@ /* 1: isolate internal sdio signals, put external pads in tri-state; requires * sdio bus power cycle to clear (rev 9) */ #define SBSDIO_DEVCTL_PADS_ISO 0x08 +/* 1: enable F2 Watermark */ +#define SBSDIO_DEVCTL_F2WM_ENAB 0x10 /* Force SD->SB reset mapping (rev 11) */ #define SBSDIO_DEVCTL_SB_RST_CTL 0x30 /* Determined by CoreControl bit */ @@ -4060,6 +4066,7 @@ void *nvram; u32 nvram_len; u8 saveclk; + u8 devctl; brcmf_dbg(TRACE, "Enter: dev=%s, err=%d\n", dev_name(dev), err); @@ -4115,8 +4122,26 @@ brcmf_sdiod_writel(sdiod, core->base + SD_REG(hostintmask), bus->hostintmask, NULL); - - brcmf_sdiod_writeb(sdiod, SBSDIO_WATERMARK, 8, &err); + switch (sdiod->func1->device) { + case SDIO_DEVICE_ID_CYPRESS_4373: + brcmf_dbg(INFO, "set F2 watermark to 0x%x*4 bytes\n", + CY_4373_F2_WATERMARK); + brcmf_sdiod_writeb(sdiod, SBSDIO_WATERMARK, + CY_4373_F2_WATERMARK, &err); + devctl = brcmf_sdiod_readb(sdiod, SBSDIO_DEVICE_CTL, + &err); + devctl |= SBSDIO_DEVCTL_F2WM_ENAB; + brcmf_sdiod_writeb(sdiod, SBSDIO_DEVICE_CTL, devctl, + &err); + brcmf_sdiod_writeb(sdiod, SBSDIO_FUNC1_MESBUSYCTRL, + CY_4373_F2_WATERMARK | + SBSDIO_MESBUSYCTRL_ENAB, &err); + break; + default: + brcmf_sdiod_writeb(sdiod, SBSDIO_WATERMARK, + DEFAULT_F2_WATERMARK, &err); + break; + } } else { /* Disable F2 again */ sdio_disable_func(sdiod->func2); diff -Nru linux-4.19.87/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h linux-4.19.98/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h --- linux-4.19.87/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.h 2020-01-23 07:21:39.000000000 +0000 @@ -77,7 +77,7 @@ #define SBSDIO_GPIO_OUT 0x10006 /* gpio enable */ #define SBSDIO_GPIO_EN 0x10007 -/* rev < 7, watermark for sdio device */ +/* rev < 7, watermark for sdio device TX path */ #define SBSDIO_WATERMARK 0x10008 /* control busy signal generation */ #define SBSDIO_DEVICE_CTL 0x10009 @@ -104,6 +104,13 @@ #define SBSDIO_FUNC1_RFRAMEBCHI 0x1001C /* MesBusyCtl (rev 11) */ #define SBSDIO_FUNC1_MESBUSYCTRL 0x1001D +/* Watermark for sdio device RX path */ +#define SBSDIO_MESBUSY_RXFIFO_WM_MASK 0x7F +#define SBSDIO_MESBUSY_RXFIFO_WM_SHIFT 0 +/* Enable busy capability for MES access */ +#define SBSDIO_MESBUSYCTRL_ENAB 0x80 +#define SBSDIO_MESBUSYCTRL_ENAB_SHIFT 7 + /* Sdio Core Rev 12 */ #define SBSDIO_FUNC1_WAKEUPCTRL 0x1001E #define SBSDIO_FUNC1_WCTRL_ALPWAIT_MASK 0x1 diff -Nru linux-4.19.87/drivers/net/wireless/intel/iwlwifi/cfg/22000.c linux-4.19.98/drivers/net/wireless/intel/iwlwifi/cfg/22000.c --- linux-4.19.87/drivers/net/wireless/intel/iwlwifi/cfg/22000.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/intel/iwlwifi/cfg/22000.c 2020-01-23 07:21:39.000000000 +0000 @@ -321,7 +321,6 @@ MODULE_FIRMWARE(IWL_22000_JF_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX)); MODULE_FIRMWARE(IWL_22000_HR_A_F0_QNJ_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX)); MODULE_FIRMWARE(IWL_22000_HR_B_F0_QNJ_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX)); -MODULE_FIRMWARE(IWL_22000_QU_B_HR_B_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX)); MODULE_FIRMWARE(IWL_22000_HR_B_QNJ_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX)); MODULE_FIRMWARE(IWL_22000_JF_B0_QNJ_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX)); MODULE_FIRMWARE(IWL_22000_HR_A0_QNJ_MODULE_FIRMWARE(IWL_22000_UCODE_API_MAX)); diff -Nru linux-4.19.87/drivers/net/wireless/intel/iwlwifi/dvm/led.c linux-4.19.98/drivers/net/wireless/intel/iwlwifi/dvm/led.c --- linux-4.19.87/drivers/net/wireless/intel/iwlwifi/dvm/led.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/intel/iwlwifi/dvm/led.c 2020-01-23 07:21:39.000000000 +0000 @@ -185,6 +185,9 @@ priv->led.name = kasprintf(GFP_KERNEL, "%s-led", wiphy_name(priv->hw->wiphy)); + if (!priv->led.name) + return; + priv->led.brightness_set = iwl_led_brightness_set; priv->led.blink_set = iwl_led_blink_set; priv->led.max_brightness = 1; diff -Nru linux-4.19.87/drivers/net/wireless/intel/iwlwifi/dvm/main.c linux-4.19.98/drivers/net/wireless/intel/iwlwifi/dvm/main.c --- linux-4.19.87/drivers/net/wireless/intel/iwlwifi/dvm/main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/intel/iwlwifi/dvm/main.c 2020-01-23 07:21:39.000000000 +0000 @@ -1227,6 +1227,23 @@ return 0; } +static int iwl_nvm_check_version(struct iwl_nvm_data *data, + struct iwl_trans *trans) +{ + if (data->nvm_version >= trans->cfg->nvm_ver || + data->calib_version >= trans->cfg->nvm_calib_ver) { + IWL_DEBUG_INFO(trans, "device EEPROM VER=0x%x, CALIB=0x%x\n", + data->nvm_version, data->calib_version); + return 0; + } + + IWL_ERR(trans, + "Unsupported (too old) EEPROM VER=0x%x < 0x%x CALIB=0x%x < 0x%x\n", + data->nvm_version, trans->cfg->nvm_ver, + data->calib_version, trans->cfg->nvm_calib_ver); + return -EINVAL; +} + static struct iwl_op_mode *iwl_op_mode_dvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg, const struct iwl_fw *fw, diff -Nru linux-4.19.87/drivers/net/wireless/intel/iwlwifi/fw/dbg.c linux-4.19.98/drivers/net/wireless/intel/iwlwifi/fw/dbg.c --- linux-4.19.87/drivers/net/wireless/intel/iwlwifi/fw/dbg.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/intel/iwlwifi/fw/dbg.c 2020-01-23 07:21:39.000000000 +0000 @@ -547,6 +547,7 @@ if (new_page) __free_page(new_page); } + kfree(table); return NULL; } alloc_size = min_t(int, size, PAGE_SIZE); diff -Nru linux-4.19.87/drivers/net/wireless/intel/iwlwifi/iwl-eeprom-parse.c linux-4.19.98/drivers/net/wireless/intel/iwlwifi/iwl-eeprom-parse.c --- linux-4.19.87/drivers/net/wireless/intel/iwlwifi/iwl-eeprom-parse.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/intel/iwlwifi/iwl-eeprom-parse.c 2020-01-23 07:21:39.000000000 +0000 @@ -928,22 +928,3 @@ return NULL; } IWL_EXPORT_SYMBOL(iwl_parse_eeprom_data); - -/* helper functions */ -int iwl_nvm_check_version(struct iwl_nvm_data *data, - struct iwl_trans *trans) -{ - if (data->nvm_version >= trans->cfg->nvm_ver || - data->calib_version >= trans->cfg->nvm_calib_ver) { - IWL_DEBUG_INFO(trans, "device EEPROM VER=0x%x, CALIB=0x%x\n", - data->nvm_version, data->calib_version); - return 0; - } - - IWL_ERR(trans, - "Unsupported (too old) EEPROM VER=0x%x < 0x%x CALIB=0x%x < 0x%x\n", - data->nvm_version, trans->cfg->nvm_ver, - data->calib_version, trans->cfg->nvm_calib_ver); - return -EINVAL; -} -IWL_EXPORT_SYMBOL(iwl_nvm_check_version); diff -Nru linux-4.19.87/drivers/net/wireless/intel/iwlwifi/iwl-eeprom-parse.h linux-4.19.98/drivers/net/wireless/intel/iwlwifi/iwl-eeprom-parse.h --- linux-4.19.87/drivers/net/wireless/intel/iwlwifi/iwl-eeprom-parse.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/intel/iwlwifi/iwl-eeprom-parse.h 2020-01-23 07:21:39.000000000 +0000 @@ -7,6 +7,7 @@ * * Copyright(c) 2008 - 2014 Intel Corporation. All rights reserved. * Copyright(c) 2015 Intel Mobile Communications GmbH + * Copyright (C) 2018 Intel Corporation * * This program is free software; you can redistribute it and/or modify * it under the terms of version 2 of the GNU General Public License as @@ -33,6 +34,7 @@ * * Copyright(c) 2005 - 2014 Intel Corporation. All rights reserved. * Copyright(c) 2015 Intel Mobile Communications GmbH + * Copyright (C) 2018 Intel Corporation * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -122,9 +124,6 @@ iwl_parse_eeprom_data(struct device *dev, const struct iwl_cfg *cfg, const u8 *eeprom, size_t eeprom_size); -int iwl_nvm_check_version(struct iwl_nvm_data *data, - struct iwl_trans *trans); - int iwl_init_sband_channels(struct iwl_nvm_data *data, struct ieee80211_supported_band *sband, int n_channels, enum nl80211_band band); diff -Nru linux-4.19.87/drivers/net/wireless/intel/iwlwifi/iwl-prph.h linux-4.19.98/drivers/net/wireless/intel/iwlwifi/iwl-prph.h --- linux-4.19.87/drivers/net/wireless/intel/iwlwifi/iwl-prph.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/intel/iwlwifi/iwl-prph.h 2020-01-23 07:21:39.000000000 +0000 @@ -8,6 +8,7 @@ * Copyright(c) 2005 - 2014 Intel Corporation. All rights reserved. * Copyright(c) 2013 - 2014 Intel Mobile Communications GmbH * Copyright(c) 2016 Intel Deutschland GmbH + * Copyright (C) 2018 Intel Corporation * * This program is free software; you can redistribute it and/or modify * it under the terms of version 2 of the GNU General Public License as @@ -35,6 +36,7 @@ * Copyright(c) 2005 - 2014 Intel Corporation. All rights reserved. * Copyright(c) 2013 - 2014 Intel Mobile Communications GmbH * Copyright(c) 2016 Intel Deutschland GmbH + * Copyright (C) 2018 Intel Corporation * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -399,6 +401,7 @@ #define AUX_MISC_MASTER1_SMPHR_STATUS 0xA20800 #define RSA_ENABLE 0xA24B08 #define PREG_AUX_BUS_WPROT_0 0xA04CC0 +#define PREG_PRPH_WPROT_0 0xA04CE0 #define SB_CPU_1_STATUS 0xA01E30 #define SB_CPU_2_STATUS 0xA01E34 #define UMAG_SB_CPU_1_STATUS 0xA038C0 @@ -425,4 +428,8 @@ #define UREG_CHICK (0xA05C00) #define UREG_CHICK_MSI_ENABLE BIT(24) #define UREG_CHICK_MSIX_ENABLE BIT(25) + +#define HPM_DEBUG 0xA03440 +#define PERSISTENCE_BIT BIT(12) +#define PREG_WFPM_ACCESS BIT(12) #endif /* __iwl_prph_h__ */ diff -Nru linux-4.19.87/drivers/net/wireless/intel/iwlwifi/mvm/fw.c linux-4.19.98/drivers/net/wireless/intel/iwlwifi/mvm/fw.c --- linux-4.19.87/drivers/net/wireless/intel/iwlwifi/mvm/fw.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/intel/iwlwifi/mvm/fw.c 2020-01-23 07:21:39.000000000 +0000 @@ -547,7 +547,9 @@ if (mvm->nvm_file_name) iwl_mvm_load_nvm_to_nic(mvm); - WARN_ON(iwl_nvm_check_version(mvm->nvm_data, mvm->trans)); + WARN_ONCE(mvm->nvm_data->nvm_version < mvm->trans->cfg->nvm_ver, + "Too old NVM version (0x%0x, required = 0x%0x)", + mvm->nvm_data->nvm_version, mvm->trans->cfg->nvm_ver); /* * abort after reading the nvm in case RF Kill is on, we will complete diff -Nru linux-4.19.87/drivers/net/wireless/intel/iwlwifi/mvm/led.c linux-4.19.98/drivers/net/wireless/intel/iwlwifi/mvm/led.c --- linux-4.19.87/drivers/net/wireless/intel/iwlwifi/mvm/led.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/intel/iwlwifi/mvm/led.c 2020-01-23 07:21:39.000000000 +0000 @@ -131,6 +131,9 @@ mvm->led.name = kasprintf(GFP_KERNEL, "%s-led", wiphy_name(mvm->hw->wiphy)); + if (!mvm->led.name) + return -ENOMEM; + mvm->led.brightness_set = iwl_led_brightness_set; mvm->led.max_brightness = 1; diff -Nru linux-4.19.87/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c linux-4.19.98/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c --- linux-4.19.87/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 2020-01-23 07:21:39.000000000 +0000 @@ -820,6 +820,21 @@ !ieee80211_is_bufferable_mmpdu(hdr->frame_control)) sta = NULL; + /* If there is no sta, and it's not offchannel - send through AP */ + if (info->control.vif->type == NL80211_IFTYPE_STATION && + info->hw_queue != IWL_MVM_OFFCHANNEL_QUEUE && !sta) { + struct iwl_mvm_vif *mvmvif = + iwl_mvm_vif_from_mac80211(info->control.vif); + u8 ap_sta_id = READ_ONCE(mvmvif->ap_sta_id); + + if (ap_sta_id < IWL_MVM_STATION_COUNT) { + /* mac80211 holds rcu read lock */ + sta = rcu_dereference(mvm->fw_id_to_mac_id[ap_sta_id]); + if (IS_ERR_OR_NULL(sta)) + goto drop; + } + } + if (sta) { if (iwl_mvm_defer_tx(mvm, sta, skb)) return; diff -Nru linux-4.19.87/drivers/net/wireless/intel/iwlwifi/mvm/rx.c linux-4.19.98/drivers/net/wireless/intel/iwlwifi/mvm/rx.c --- linux-4.19.87/drivers/net/wireless/intel/iwlwifi/mvm/rx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/intel/iwlwifi/mvm/rx.c 2020-01-23 07:21:39.000000000 +0000 @@ -62,6 +62,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ +#include #include #include #include "iwl-trans.h" @@ -360,7 +361,7 @@ rx_res = (struct iwl_rx_mpdu_res_start *)pkt->data; hdr = (struct ieee80211_hdr *)(pkt->data + sizeof(*rx_res)); len = le16_to_cpu(rx_res->byte_count); - rx_pkt_status = le32_to_cpup((__le32 *) + rx_pkt_status = get_unaligned_le32((__le32 *) (pkt->data + sizeof(*rx_res) + len)); /* Dont use dev_alloc_skb(), we'll have enough headroom once diff -Nru linux-4.19.87/drivers/net/wireless/intel/iwlwifi/mvm/sta.c linux-4.19.98/drivers/net/wireless/intel/iwlwifi/mvm/sta.c --- linux-4.19.87/drivers/net/wireless/intel/iwlwifi/mvm/sta.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/intel/iwlwifi/mvm/sta.c 2020-01-23 07:21:39.000000000 +0000 @@ -440,6 +440,16 @@ rcu_read_unlock(); + /* + * The TX path may have been using this TXQ_ID from the tid_data, + * so make sure it's no longer running so that we can safely reuse + * this TXQ later. We've set all the TIDs to IWL_MVM_INVALID_QUEUE + * above, but nothing guarantees we've stopped using them. Thus, + * without this, we could get to iwl_mvm_disable_txq() and remove + * the queue while still sending frames to it. + */ + synchronize_net(); + return disable_agg_tids; } diff -Nru linux-4.19.87/drivers/net/wireless/intel/iwlwifi/mvm/utils.c linux-4.19.98/drivers/net/wireless/intel/iwlwifi/mvm/utils.c --- linux-4.19.87/drivers/net/wireless/intel/iwlwifi/mvm/utils.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/intel/iwlwifi/mvm/utils.c 2020-01-23 07:21:39.000000000 +0000 @@ -1804,6 +1804,7 @@ void iwl_mvm_resume_tcm(struct iwl_mvm *mvm) { int mac; + bool low_latency = false; spin_lock_bh(&mvm->tcm.lock); mvm->tcm.ts = jiffies; @@ -1815,10 +1816,23 @@ memset(&mdata->tx.pkts, 0, sizeof(mdata->tx.pkts)); memset(&mdata->rx.airtime, 0, sizeof(mdata->rx.airtime)); memset(&mdata->tx.airtime, 0, sizeof(mdata->tx.airtime)); + + if (mvm->tcm.result.low_latency[mac]) + low_latency = true; } /* The TCM data needs to be reset before "paused" flag changes */ smp_mb(); mvm->tcm.paused = false; + + /* + * if the current load is not low or low latency is active, force + * re-evaluation to cover the case of no traffic. + */ + if (mvm->tcm.result.global_load > IWL_MVM_TRAFFIC_LOW) + schedule_delayed_work(&mvm->tcm.work, MVM_TCM_PERIOD); + else if (low_latency) + schedule_delayed_work(&mvm->tcm.work, MVM_LL_PERIOD); + spin_unlock_bh(&mvm->tcm.lock); } diff -Nru linux-4.19.87/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c linux-4.19.98/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c --- linux-4.19.87/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c 2020-01-23 07:21:39.000000000 +0000 @@ -102,13 +102,9 @@ /* allocate ucode sections in dram and set addresses */ ret = iwl_pcie_init_fw_sec(trans, fw, &prph_scratch->dram); - if (ret) { - dma_free_coherent(trans->dev, - sizeof(*prph_scratch), - prph_scratch, - trans_pcie->prph_scratch_dma_addr); - return ret; - } + if (ret) + goto err_free_prph_scratch; + /* Allocate prph information * currently we don't assign to the prph info anything, but it would get @@ -116,16 +112,20 @@ prph_info = dma_alloc_coherent(trans->dev, sizeof(*prph_info), &trans_pcie->prph_info_dma_addr, GFP_KERNEL); - if (!prph_info) - return -ENOMEM; + if (!prph_info) { + ret = -ENOMEM; + goto err_free_prph_scratch; + } /* Allocate context info */ ctxt_info_gen3 = dma_alloc_coherent(trans->dev, sizeof(*ctxt_info_gen3), &trans_pcie->ctxt_info_dma_addr, GFP_KERNEL); - if (!ctxt_info_gen3) - return -ENOMEM; + if (!ctxt_info_gen3) { + ret = -ENOMEM; + goto err_free_prph_info; + } ctxt_info_gen3->prph_info_base_addr = cpu_to_le64(trans_pcie->prph_info_dma_addr); @@ -176,6 +176,20 @@ iwl_set_bit(trans, CSR_GP_CNTRL, CSR_AUTO_FUNC_INIT); return 0; + +err_free_prph_info: + dma_free_coherent(trans->dev, + sizeof(*prph_info), + prph_info, + trans_pcie->prph_info_dma_addr); + +err_free_prph_scratch: + dma_free_coherent(trans->dev, + sizeof(*prph_scratch), + prph_scratch, + trans_pcie->prph_scratch_dma_addr); + return ret; + } void iwl_pcie_ctxt_info_gen3_free(struct iwl_trans *trans) diff -Nru linux-4.19.87/drivers/net/wireless/intel/iwlwifi/pcie/drv.c linux-4.19.98/drivers/net/wireless/intel/iwlwifi/pcie/drv.c --- linux-4.19.87/drivers/net/wireless/intel/iwlwifi/pcie/drv.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/intel/iwlwifi/pcie/drv.c 2020-01-23 07:21:39.000000000 +0000 @@ -888,7 +888,7 @@ {IWL_PCI_DEVICE(0x34F0, 0x0040, iwl22000_2ax_cfg_hr)}, {IWL_PCI_DEVICE(0x34F0, 0x0070, iwl22000_2ax_cfg_hr)}, {IWL_PCI_DEVICE(0x34F0, 0x0078, iwl22000_2ax_cfg_hr)}, - {IWL_PCI_DEVICE(0x34F0, 0x0310, iwl22000_2ac_cfg_jf)}, + {IWL_PCI_DEVICE(0x34F0, 0x0310, iwl22000_2ax_cfg_hr)}, {IWL_PCI_DEVICE(0x40C0, 0x0000, iwl22560_2ax_cfg_su_cdb)}, {IWL_PCI_DEVICE(0x40C0, 0x0010, iwl22560_2ax_cfg_su_cdb)}, {IWL_PCI_DEVICE(0x40c0, 0x0090, iwl22560_2ax_cfg_su_cdb)}, diff -Nru linux-4.19.87/drivers/net/wireless/intel/iwlwifi/pcie/trans.c linux-4.19.98/drivers/net/wireless/intel/iwlwifi/pcie/trans.c --- linux-4.19.87/drivers/net/wireless/intel/iwlwifi/pcie/trans.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/intel/iwlwifi/pcie/trans.c 2020-01-23 07:21:39.000000000 +0000 @@ -1747,6 +1747,7 @@ static int _iwl_trans_pcie_start_hw(struct iwl_trans *trans, bool low_power) { struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); + u32 hpm; int err; lockdep_assert_held(&trans_pcie->mutex); @@ -1757,6 +1758,17 @@ return err; } + hpm = iwl_trans_read_prph(trans, HPM_DEBUG); + if (hpm != 0xa5a5a5a0 && (hpm & PERSISTENCE_BIT)) { + if (iwl_trans_read_prph(trans, PREG_PRPH_WPROT_0) & + PREG_WFPM_ACCESS) { + IWL_ERR(trans, + "Error, can not clear persistence bit\n"); + return -EPERM; + } + iwl_trans_write_prph(trans, HPM_DEBUG, hpm & ~PERSISTENCE_BIT); + } + iwl_trans_pcie_sw_reset(trans); err = iwl_pcie_apm_init(trans); @@ -3403,8 +3415,26 @@ #if IS_ENABLED(CONFIG_IWLMVM) trans->hw_rf_id = iwl_read32(trans, CSR_HW_RF_ID); - if (CSR_HW_RF_ID_TYPE_CHIP_ID(trans->hw_rf_id) == - CSR_HW_RF_ID_TYPE_CHIP_ID(CSR_HW_RF_ID_TYPE_HR)) { + if (cfg == &iwl22000_2ax_cfg_hr) { + if (CSR_HW_RF_ID_TYPE_CHIP_ID(trans->hw_rf_id) == + CSR_HW_RF_ID_TYPE_CHIP_ID(CSR_HW_RF_ID_TYPE_HR)) { + trans->cfg = &iwl22000_2ax_cfg_hr; + } else if (CSR_HW_RF_ID_TYPE_CHIP_ID(trans->hw_rf_id) == + CSR_HW_RF_ID_TYPE_CHIP_ID(CSR_HW_RF_ID_TYPE_JF)) { + trans->cfg = &iwl22000_2ax_cfg_jf; + } else if (CSR_HW_RF_ID_TYPE_CHIP_ID(trans->hw_rf_id) == + CSR_HW_RF_ID_TYPE_CHIP_ID(CSR_HW_RF_ID_TYPE_HRCDB)) { + IWL_ERR(trans, "RF ID HRCDB is not supported\n"); + ret = -EINVAL; + goto out_no_pci; + } else { + IWL_ERR(trans, "Unrecognized RF ID 0x%08x\n", + CSR_HW_RF_ID_TYPE_CHIP_ID(trans->hw_rf_id)); + ret = -EINVAL; + goto out_no_pci; + } + } else if (CSR_HW_RF_ID_TYPE_CHIP_ID(trans->hw_rf_id) == + CSR_HW_RF_ID_TYPE_CHIP_ID(CSR_HW_RF_ID_TYPE_HR)) { u32 hw_status; hw_status = iwl_read_prph(trans, UMAG_GEN_HW_STATUS); diff -Nru linux-4.19.87/drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c linux-4.19.98/drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c --- linux-4.19.87/drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c 2020-01-23 07:21:39.000000000 +0000 @@ -242,27 +242,23 @@ struct ieee80211_hdr *hdr = (void *)skb->data; unsigned int snap_ip_tcp_hdrlen, ip_hdrlen, total_len, hdr_room; unsigned int mss = skb_shinfo(skb)->gso_size; - u16 length, iv_len, amsdu_pad; + u16 length, amsdu_pad; u8 *start_hdr; struct iwl_tso_hdr_page *hdr_page; struct page **page_ptr; struct tso_t tso; - /* if the packet is protected, then it must be CCMP or GCMP */ - iv_len = ieee80211_has_protected(hdr->frame_control) ? - IEEE80211_CCMP_HDR_LEN : 0; - trace_iwlwifi_dev_tx(trans->dev, skb, tfd, sizeof(*tfd), &dev_cmd->hdr, start_len, 0); ip_hdrlen = skb_transport_header(skb) - skb_network_header(skb); snap_ip_tcp_hdrlen = 8 + ip_hdrlen + tcp_hdrlen(skb); - total_len = skb->len - snap_ip_tcp_hdrlen - hdr_len - iv_len; + total_len = skb->len - snap_ip_tcp_hdrlen - hdr_len; amsdu_pad = 0; /* total amount of header we may need for this A-MSDU */ hdr_room = DIV_ROUND_UP(total_len, mss) * - (3 + snap_ip_tcp_hdrlen + sizeof(struct ethhdr)) + iv_len; + (3 + snap_ip_tcp_hdrlen + sizeof(struct ethhdr)); /* Our device supports 9 segments at most, it will fit in 1 page */ hdr_page = get_page_hdr(trans, hdr_room); @@ -273,14 +269,12 @@ start_hdr = hdr_page->pos; page_ptr = (void *)((u8 *)skb->cb + trans_pcie->page_offs); *page_ptr = hdr_page->page; - memcpy(hdr_page->pos, skb->data + hdr_len, iv_len); - hdr_page->pos += iv_len; /* - * Pull the ieee80211 header + IV to be able to use TSO core, + * Pull the ieee80211 header to be able to use TSO core, * we will restore it for the tx_status flow. */ - skb_pull(skb, hdr_len + iv_len); + skb_pull(skb, hdr_len); /* * Remove the length of all the headers that we don't actually @@ -355,8 +349,8 @@ } } - /* re -add the WiFi header and IV */ - skb_push(skb, hdr_len + iv_len); + /* re -add the WiFi header */ + skb_push(skb, hdr_len); return 0; @@ -560,18 +554,6 @@ spin_lock(&txq->lock); - if (trans->cfg->device_family >= IWL_DEVICE_FAMILY_22560) { - struct iwl_tx_cmd_gen3 *tx_cmd_gen3 = - (void *)dev_cmd->payload; - - cmd_len = le16_to_cpu(tx_cmd_gen3->len); - } else { - struct iwl_tx_cmd_gen2 *tx_cmd_gen2 = - (void *)dev_cmd->payload; - - cmd_len = le16_to_cpu(tx_cmd_gen2->len); - } - if (iwl_queue_space(trans, txq) < txq->high_mark) { iwl_stop_queue(trans, txq); @@ -609,6 +591,18 @@ return -1; } + if (trans->cfg->device_family >= IWL_DEVICE_FAMILY_22560) { + struct iwl_tx_cmd_gen3 *tx_cmd_gen3 = + (void *)dev_cmd->payload; + + cmd_len = le16_to_cpu(tx_cmd_gen3->len); + } else { + struct iwl_tx_cmd_gen2 *tx_cmd_gen2 = + (void *)dev_cmd->payload; + + cmd_len = le16_to_cpu(tx_cmd_gen2->len); + } + /* Set up entry for this TFD in Tx byte-count array */ iwl_pcie_gen2_update_byte_tbl(trans_pcie, txq, cmd_len, iwl_pcie_gen2_get_num_tbs(trans, tfd)); diff -Nru linux-4.19.87/drivers/net/wireless/intel/iwlwifi/pcie/tx.c linux-4.19.98/drivers/net/wireless/intel/iwlwifi/pcie/tx.c --- linux-4.19.87/drivers/net/wireless/intel/iwlwifi/pcie/tx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/intel/iwlwifi/pcie/tx.c 2020-01-23 07:21:39.000000000 +0000 @@ -1247,11 +1247,11 @@ if (idx >= trans->cfg->base_params->max_tfd_queue_size || (!iwl_queue_used(txq, idx))) { - IWL_ERR(trans, - "%s: Read index for DMA queue txq id (%d), index %d is out of range [0-%d] %d %d.\n", - __func__, txq_id, idx, - trans->cfg->base_params->max_tfd_queue_size, - txq->write_ptr, txq->read_ptr); + WARN_ONCE(test_bit(txq_id, trans_pcie->queue_used), + "%s: Read index for DMA queue txq id (%d), index %d is out of range [0-%d] %d %d.\n", + __func__, txq_id, idx, + trans->cfg->base_params->max_tfd_queue_size, + txq->write_ptr, txq->read_ptr); return; } diff -Nru linux-4.19.87/drivers/net/wireless/marvell/libertas/if_sdio.c linux-4.19.98/drivers/net/wireless/marvell/libertas/if_sdio.c --- linux-4.19.87/drivers/net/wireless/marvell/libertas/if_sdio.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/marvell/libertas/if_sdio.c 2020-01-23 07:21:39.000000000 +0000 @@ -1183,6 +1183,10 @@ spin_lock_init(&card->lock); card->workqueue = alloc_workqueue("libertas_sdio", WQ_MEM_RECLAIM, 0); + if (unlikely(!card->workqueue)) { + ret = -ENOMEM; + goto err_queue; + } INIT_WORK(&card->packet_worker, if_sdio_host_to_card_worker); init_waitqueue_head(&card->pwron_waitq); @@ -1234,6 +1238,7 @@ lbs_remove_card(priv); free: destroy_workqueue(card->workqueue); +err_queue: while (card->packets) { packet = card->packets; card->packets = card->packets->next; diff -Nru linux-4.19.87/drivers/net/wireless/marvell/mwifiex/debugfs.c linux-4.19.98/drivers/net/wireless/marvell/mwifiex/debugfs.c --- linux-4.19.87/drivers/net/wireless/marvell/mwifiex/debugfs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/marvell/mwifiex/debugfs.c 2020-01-23 07:21:39.000000000 +0000 @@ -273,15 +273,13 @@ "total samples = %d\n", atomic_read(&phist_data->num_samples)); - p += sprintf(p, "rx rates (in Mbps): 0=1M 1=2M"); - p += sprintf(p, "2=5.5M 3=11M 4=6M 5=9M 6=12M\n"); - p += sprintf(p, "7=18M 8=24M 9=36M 10=48M 11=54M"); - p += sprintf(p, "12-27=MCS0-15(BW20) 28-43=MCS0-15(BW40)\n"); + p += sprintf(p, + "rx rates (in Mbps): 0=1M 1=2M 2=5.5M 3=11M 4=6M 5=9M 6=12M\n" + "7=18M 8=24M 9=36M 10=48M 11=54M 12-27=MCS0-15(BW20) 28-43=MCS0-15(BW40)\n"); if (ISSUPP_11ACENABLED(priv->adapter->fw_cap_info)) { - p += sprintf(p, "44-53=MCS0-9(VHT:BW20)"); - p += sprintf(p, "54-63=MCS0-9(VHT:BW40)"); - p += sprintf(p, "64-73=MCS0-9(VHT:BW80)\n\n"); + p += sprintf(p, + "44-53=MCS0-9(VHT:BW20) 54-63=MCS0-9(VHT:BW40) 64-73=MCS0-9(VHT:BW80)\n\n"); } else { p += sprintf(p, "\n"); } @@ -310,7 +308,7 @@ for (i = 0; i < MWIFIEX_MAX_NOISE_FLR; i++) { value = atomic_read(&phist_data->noise_flr[i]); if (value) - p += sprintf(p, "noise_flr[-%02ddBm] = %d\n", + p += sprintf(p, "noise_flr[%02ddBm] = %d\n", (int)(i-128), value); } for (i = 0; i < MWIFIEX_MAX_SIG_STRENGTH; i++) { diff -Nru linux-4.19.87/drivers/net/wireless/marvell/mwifiex/main.c linux-4.19.98/drivers/net/wireless/marvell/mwifiex/main.c --- linux-4.19.87/drivers/net/wireless/marvell/mwifiex/main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/marvell/mwifiex/main.c 2020-01-23 07:21:39.000000000 +0000 @@ -960,10 +960,10 @@ mac_addr = old_mac_addr; - if (priv->bss_type == MWIFIEX_BSS_TYPE_P2P) + if (priv->bss_type == MWIFIEX_BSS_TYPE_P2P) { mac_addr |= BIT_ULL(MWIFIEX_MAC_LOCAL_ADMIN_BIT); - - if (mwifiex_get_intf_num(priv->adapter, priv->bss_type) > 1) { + mac_addr += priv->bss_num; + } else if (priv->adapter->priv[0] != priv) { /* Set mac address based on bss_type/bss_num */ mac_addr ^= BIT_ULL(priv->bss_type + 8); mac_addr += priv->bss_num; diff -Nru linux-4.19.87/drivers/net/wireless/marvell/mwifiex/pcie.c linux-4.19.98/drivers/net/wireless/marvell/mwifiex/pcie.c --- linux-4.19.87/drivers/net/wireless/marvell/mwifiex/pcie.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/marvell/mwifiex/pcie.c 2020-01-23 07:21:39.000000000 +0000 @@ -691,8 +691,11 @@ skb_put(skb, MAX_EVENT_SIZE); if (mwifiex_map_pci_memory(adapter, skb, MAX_EVENT_SIZE, - PCI_DMA_FROMDEVICE)) + PCI_DMA_FROMDEVICE)) { + kfree_skb(skb); + kfree(card->evtbd_ring_vbase); return -1; + } buf_pa = MWIFIEX_SKB_DMA_ADDR(skb); @@ -1033,8 +1036,10 @@ } skb_put(skb, MWIFIEX_UPLD_SIZE); if (mwifiex_map_pci_memory(adapter, skb, MWIFIEX_UPLD_SIZE, - PCI_DMA_FROMDEVICE)) + PCI_DMA_FROMDEVICE)) { + kfree_skb(skb); return -1; + } card->cmdrsp_buf = skb; diff -Nru linux-4.19.87/drivers/net/wireless/marvell/mwifiex/scan.c linux-4.19.98/drivers/net/wireless/marvell/mwifiex/scan.c --- linux-4.19.87/drivers/net/wireless/marvell/mwifiex/scan.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/marvell/mwifiex/scan.c 2020-01-23 07:21:39.000000000 +0000 @@ -1906,15 +1906,17 @@ ETH_ALEN)) mwifiex_update_curr_bss_params(priv, bss); - cfg80211_put_bss(priv->wdev.wiphy, bss); - } - if ((chan->flags & IEEE80211_CHAN_RADAR) || - (chan->flags & IEEE80211_CHAN_NO_IR)) { - mwifiex_dbg(adapter, INFO, - "radar or passive channel %d\n", - channel); - mwifiex_save_hidden_ssid_channels(priv, bss); + if ((chan->flags & IEEE80211_CHAN_RADAR) || + (chan->flags & IEEE80211_CHAN_NO_IR)) { + mwifiex_dbg(adapter, INFO, + "radar or passive channel %d\n", + channel); + mwifiex_save_hidden_ssid_channels(priv, + bss); + } + + cfg80211_put_bss(priv->wdev.wiphy, bss); } } } else { diff -Nru linux-4.19.87/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c linux-4.19.98/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c --- linux-4.19.87/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c 2020-01-23 07:21:39.000000000 +0000 @@ -229,6 +229,14 @@ "11D: skip setting domain info in FW\n"); return 0; } + + if (country_ie_len > + (IEEE80211_COUNTRY_STRING_LEN + MWIFIEX_MAX_TRIPLET_802_11D)) { + mwifiex_dbg(priv->adapter, ERROR, + "11D: country_ie_len overflow!, deauth AP\n"); + return -EINVAL; + } + memcpy(priv->adapter->country_code, &country_ie[2], 2); domain_info->country_code[0] = country_ie[2]; @@ -272,8 +280,9 @@ priv->scan_block = false; if (bss) { - if (adapter->region_code == 0x00) - mwifiex_process_country_ie(priv, bss); + if (adapter->region_code == 0x00 && + mwifiex_process_country_ie(priv, bss)) + return -EINVAL; /* Allocate and fill new bss descriptor */ bss_desc = kzalloc(sizeof(struct mwifiex_bssdescriptor), diff -Nru linux-4.19.87/drivers/net/wireless/marvell/mwifiex/tdls.c linux-4.19.98/drivers/net/wireless/marvell/mwifiex/tdls.c --- linux-4.19.87/drivers/net/wireless/marvell/mwifiex/tdls.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/marvell/mwifiex/tdls.c 2020-01-23 07:21:39.000000000 +0000 @@ -956,59 +956,117 @@ switch (*pos) { case WLAN_EID_SUPP_RATES: + if (pos[1] > 32) + return; sta_ptr->tdls_cap.rates_len = pos[1]; for (i = 0; i < pos[1]; i++) sta_ptr->tdls_cap.rates[i] = pos[i + 2]; break; case WLAN_EID_EXT_SUPP_RATES: + if (pos[1] > 32) + return; basic = sta_ptr->tdls_cap.rates_len; + if (pos[1] > 32 - basic) + return; for (i = 0; i < pos[1]; i++) sta_ptr->tdls_cap.rates[basic + i] = pos[i + 2]; sta_ptr->tdls_cap.rates_len += pos[1]; break; case WLAN_EID_HT_CAPABILITY: - memcpy((u8 *)&sta_ptr->tdls_cap.ht_capb, pos, + if (pos > end - sizeof(struct ieee80211_ht_cap) - 2) + return; + if (pos[1] != sizeof(struct ieee80211_ht_cap)) + return; + /* copy the ie's value into ht_capb*/ + memcpy((u8 *)&sta_ptr->tdls_cap.ht_capb, pos + 2, sizeof(struct ieee80211_ht_cap)); sta_ptr->is_11n_enabled = 1; break; case WLAN_EID_HT_OPERATION: - memcpy(&sta_ptr->tdls_cap.ht_oper, pos, + if (pos > end - + sizeof(struct ieee80211_ht_operation) - 2) + return; + if (pos[1] != sizeof(struct ieee80211_ht_operation)) + return; + /* copy the ie's value into ht_oper*/ + memcpy(&sta_ptr->tdls_cap.ht_oper, pos + 2, sizeof(struct ieee80211_ht_operation)); break; case WLAN_EID_BSS_COEX_2040: + if (pos > end - 3) + return; + if (pos[1] != 1) + return; sta_ptr->tdls_cap.coex_2040 = pos[2]; break; case WLAN_EID_EXT_CAPABILITY: + if (pos > end - sizeof(struct ieee_types_header)) + return; + if (pos[1] < sizeof(struct ieee_types_header)) + return; + if (pos[1] > 8) + return; memcpy((u8 *)&sta_ptr->tdls_cap.extcap, pos, sizeof(struct ieee_types_header) + min_t(u8, pos[1], 8)); break; case WLAN_EID_RSN: + if (pos > end - sizeof(struct ieee_types_header)) + return; + if (pos[1] < sizeof(struct ieee_types_header)) + return; + if (pos[1] > IEEE_MAX_IE_SIZE - + sizeof(struct ieee_types_header)) + return; memcpy((u8 *)&sta_ptr->tdls_cap.rsn_ie, pos, sizeof(struct ieee_types_header) + min_t(u8, pos[1], IEEE_MAX_IE_SIZE - sizeof(struct ieee_types_header))); break; case WLAN_EID_QOS_CAPA: + if (pos > end - 3) + return; + if (pos[1] != 1) + return; sta_ptr->tdls_cap.qos_info = pos[2]; break; case WLAN_EID_VHT_OPERATION: - if (priv->adapter->is_hw_11ac_capable) - memcpy(&sta_ptr->tdls_cap.vhtoper, pos, + if (priv->adapter->is_hw_11ac_capable) { + if (pos > end - + sizeof(struct ieee80211_vht_operation) - 2) + return; + if (pos[1] != + sizeof(struct ieee80211_vht_operation)) + return; + /* copy the ie's value into vhtoper*/ + memcpy(&sta_ptr->tdls_cap.vhtoper, pos + 2, sizeof(struct ieee80211_vht_operation)); + } break; case WLAN_EID_VHT_CAPABILITY: if (priv->adapter->is_hw_11ac_capable) { - memcpy((u8 *)&sta_ptr->tdls_cap.vhtcap, pos, + if (pos > end - + sizeof(struct ieee80211_vht_cap) - 2) + return; + if (pos[1] != sizeof(struct ieee80211_vht_cap)) + return; + /* copy the ie's value into vhtcap*/ + memcpy((u8 *)&sta_ptr->tdls_cap.vhtcap, pos + 2, sizeof(struct ieee80211_vht_cap)); sta_ptr->is_11ac_enabled = 1; } break; case WLAN_EID_AID: - if (priv->adapter->is_hw_11ac_capable) + if (priv->adapter->is_hw_11ac_capable) { + if (pos > end - 4) + return; + if (pos[1] != 2) + return; sta_ptr->tdls_cap.aid = get_unaligned_le16((pos + 2)); + } + break; default: break; } diff -Nru linux-4.19.87/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c linux-4.19.98/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c --- linux-4.19.87/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c 2020-01-23 07:21:39.000000000 +0000 @@ -444,12 +444,13 @@ skb_queue_tail(&priv->rx_queue, skb); usb_anchor_urb(entry, &priv->anchored); ret = usb_submit_urb(entry, GFP_KERNEL); - usb_put_urb(entry); if (ret) { skb_unlink(skb, &priv->rx_queue); usb_unanchor_urb(entry); + usb_put_urb(entry); goto err; } + usb_put_urb(entry); } return ret; diff -Nru linux-4.19.87/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h linux-4.19.98/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h --- linux-4.19.87/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h 2020-01-23 07:21:39.000000000 +0000 @@ -1349,6 +1349,7 @@ u8 has_s0s1:1; u8 has_tx_report:1; u8 gen2_thermal_meter:1; + u8 needs_full_init:1; u32 adda_1t_init; u32 adda_1t_path_on; u32 adda_2t_path_on_a; diff -Nru linux-4.19.87/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c linux-4.19.98/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c --- linux-4.19.87/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c 2020-01-23 07:21:39.000000000 +0000 @@ -1673,6 +1673,7 @@ .has_s0s1 = 1, .has_tx_report = 1, .gen2_thermal_meter = 1, + .needs_full_init = 1, .adda_1t_init = 0x01c00014, .adda_1t_path_on = 0x01c00014, .adda_2t_path_on_a = 0x01c00014, diff -Nru linux-4.19.87/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c linux-4.19.98/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c --- linux-4.19.87/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c 2020-01-23 07:21:39.000000000 +0000 @@ -3905,6 +3905,9 @@ else macpower = true; + if (fops->needs_full_init) + macpower = false; + ret = fops->power_on(priv); if (ret < 0) { dev_warn(dev, "%s: Failed power on\n", __func__); @@ -5450,6 +5453,7 @@ ret = usb_submit_urb(urb, GFP_KERNEL); if (ret) { usb_unanchor_urb(urb); + usb_free_urb(urb); goto error; } diff -Nru linux-4.19.87/drivers/net/wireless/realtek/rtlwifi/regd.c linux-4.19.98/drivers/net/wireless/realtek/rtlwifi/regd.c --- linux-4.19.87/drivers/net/wireless/realtek/rtlwifi/regd.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/realtek/rtlwifi/regd.c 2020-01-23 07:21:39.000000000 +0000 @@ -427,7 +427,7 @@ struct wiphy *wiphy = hw->wiphy; struct country_code_to_enum_rd *country = NULL; - if (wiphy == NULL || &rtlpriv->regd == NULL) + if (!wiphy) return -EINVAL; /* init country_code from efuse channel plan */ diff -Nru linux-4.19.87/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c linux-4.19.98/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c --- linux-4.19.87/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c 2020-01-23 07:21:39.000000000 +0000 @@ -1556,6 +1556,8 @@ * This is maybe necessary: * rtlpriv->cfg->ops->fill_tx_cmddesc(hw, buffer, 1, 1, skb); */ + dev_kfree_skb(skb); + return true; } diff -Nru linux-4.19.87/drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c linux-4.19.98/drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c --- linux-4.19.87/drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c 2020-01-23 07:21:39.000000000 +0000 @@ -1198,6 +1198,7 @@ rtl_write_dword(rtlpriv, REG_HIMR, rtlpci->irq_mask[0] & 0xFFFFFFFF); rtl_write_dword(rtlpriv, REG_HIMRE, rtlpci->irq_mask[1] & 0xFFFFFFFF); + rtlpci->irq_enabled = true; } void rtl92de_disable_interrupt(struct ieee80211_hw *hw) @@ -1207,7 +1208,7 @@ rtl_write_dword(rtlpriv, REG_HIMR, IMR8190_DISABLED); rtl_write_dword(rtlpriv, REG_HIMRE, IMR8190_DISABLED); - synchronize_irq(rtlpci->pdev->irq); + rtlpci->irq_enabled = false; } static void _rtl92de_poweroff_adapter(struct ieee80211_hw *hw) @@ -1373,7 +1374,7 @@ bcn_interval = mac->beacon_interval; atim_window = 2; - /*rtl92de_disable_interrupt(hw); */ + rtl92de_disable_interrupt(hw); rtl_write_word(rtlpriv, REG_ATIMWND, atim_window); rtl_write_word(rtlpriv, REG_BCN_INTERVAL, bcn_interval); rtl_write_word(rtlpriv, REG_BCNTCFG, 0x660f); @@ -1393,9 +1394,9 @@ RT_TRACE(rtlpriv, COMP_BEACON, DBG_DMESG, "beacon_interval:%d\n", bcn_interval); - /* rtl92de_disable_interrupt(hw); */ + rtl92de_disable_interrupt(hw); rtl_write_word(rtlpriv, REG_BCN_INTERVAL, bcn_interval); - /* rtl92de_enable_interrupt(hw); */ + rtl92de_enable_interrupt(hw); } void rtl92de_update_interrupt_mask(struct ieee80211_hw *hw, diff -Nru linux-4.19.87/drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c linux-4.19.98/drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c --- linux-4.19.87/drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c 2020-01-23 07:21:39.000000000 +0000 @@ -238,6 +238,7 @@ .led_control = rtl92de_led_control, .set_desc = rtl92de_set_desc, .get_desc = rtl92de_get_desc, + .is_tx_desc_closed = rtl92de_is_tx_desc_closed, .tx_polling = rtl92de_tx_polling, .enable_hw_sec = rtl92de_enable_hw_security_config, .set_key = rtl92de_set_key, diff -Nru linux-4.19.87/drivers/net/wireless/realtek/rtlwifi/rtl8192de/trx.c linux-4.19.98/drivers/net/wireless/realtek/rtlwifi/rtl8192de/trx.c --- linux-4.19.87/drivers/net/wireless/realtek/rtlwifi/rtl8192de/trx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/realtek/rtlwifi/rtl8192de/trx.c 2020-01-23 07:21:39.000000000 +0000 @@ -840,13 +840,15 @@ break; } } else { - struct rx_desc_92c *pdesc = (struct rx_desc_92c *)p_desc; switch (desc_name) { case HW_DESC_OWN: - ret = GET_RX_DESC_OWN(pdesc); + ret = GET_RX_DESC_OWN(p_desc); break; case HW_DESC_RXPKT_LEN: - ret = GET_RX_DESC_PKT_LEN(pdesc); + ret = GET_RX_DESC_PKT_LEN(p_desc); + break; + case HW_DESC_RXBUFF_ADDR: + ret = GET_RX_DESC_BUFF_ADDR(p_desc); break; default: WARN_ONCE(true, "rtl8192de: ERR rxdesc :%d not processed\n", @@ -857,6 +859,23 @@ return ret; } +bool rtl92de_is_tx_desc_closed(struct ieee80211_hw *hw, + u8 hw_queue, u16 index) +{ + struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); + struct rtl8192_tx_ring *ring = &rtlpci->tx_ring[hw_queue]; + u8 *entry = (u8 *)(&ring->desc[ring->idx]); + u8 own = (u8)rtl92de_get_desc(hw, entry, true, HW_DESC_OWN); + + /* a beacon packet will only use the first + * descriptor by defaut, and the own bit may not + * be cleared by the hardware + */ + if (own) + return false; + return true; +} + void rtl92de_tx_polling(struct ieee80211_hw *hw, u8 hw_queue) { struct rtl_priv *rtlpriv = rtl_priv(hw); diff -Nru linux-4.19.87/drivers/net/wireless/realtek/rtlwifi/rtl8192de/trx.h linux-4.19.98/drivers/net/wireless/realtek/rtlwifi/rtl8192de/trx.h --- linux-4.19.87/drivers/net/wireless/realtek/rtlwifi/rtl8192de/trx.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/realtek/rtlwifi/rtl8192de/trx.h 2020-01-23 07:21:39.000000000 +0000 @@ -737,6 +737,8 @@ u8 desc_name, u8 *val); u64 rtl92de_get_desc(struct ieee80211_hw *hw, u8 *p_desc, bool istx, u8 desc_name); +bool rtl92de_is_tx_desc_closed(struct ieee80211_hw *hw, + u8 hw_queue, u16 index); void rtl92de_tx_polling(struct ieee80211_hw *hw, u8 hw_queue); void rtl92de_tx_fill_cmddesc(struct ieee80211_hw *hw, u8 *pdesc, bool b_firstseg, bool b_lastseg, diff -Nru linux-4.19.87/drivers/net/wireless/realtek/rtlwifi/usb.c linux-4.19.98/drivers/net/wireless/realtek/rtlwifi/usb.c --- linux-4.19.87/drivers/net/wireless/realtek/rtlwifi/usb.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/realtek/rtlwifi/usb.c 2020-01-23 07:21:39.000000000 +0000 @@ -1050,8 +1050,10 @@ rtlpriv->hw = hw; rtlpriv->usb_data = kcalloc(RTL_USB_MAX_RX_COUNT, sizeof(u32), GFP_KERNEL); - if (!rtlpriv->usb_data) + if (!rtlpriv->usb_data) { + ieee80211_free_hw(hw); return -ENOMEM; + } /* this spin lock must be initialized early */ spin_lock_init(&rtlpriv->locks.usb_lock); @@ -1112,6 +1114,7 @@ _rtl_usb_io_handler_release(hw); usb_put_dev(udev); complete(&rtlpriv->firmware_loading_complete); + kfree(rtlpriv->usb_data); return -ENODEV; } EXPORT_SYMBOL(rtl_usb_probe); diff -Nru linux-4.19.87/drivers/net/wireless/rsi/rsi_91x_mgmt.c linux-4.19.98/drivers/net/wireless/rsi/rsi_91x_mgmt.c --- linux-4.19.87/drivers/net/wireless/rsi/rsi_91x_mgmt.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/rsi/rsi_91x_mgmt.c 2020-01-23 07:21:39.000000000 +0000 @@ -1583,6 +1583,7 @@ skb_pull(skb, (64 - dword_align_bytes)); if (rsi_prepare_beacon(common, skb)) { rsi_dbg(ERR_ZONE, "Failed to prepare beacon\n"); + dev_kfree_skb(skb); return -EINVAL; } skb_queue_tail(&common->tx_queue[MGMT_BEACON_Q], skb); diff -Nru linux-4.19.87/drivers/net/wireless/st/cw1200/fwio.c linux-4.19.98/drivers/net/wireless/st/cw1200/fwio.c --- linux-4.19.87/drivers/net/wireless/st/cw1200/fwio.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/net/wireless/st/cw1200/fwio.c 2020-01-23 07:21:39.000000000 +0000 @@ -323,12 +323,12 @@ goto out; } - priv->hw_type = cw1200_get_hw_type(val32, &major_revision); - if (priv->hw_type < 0) { + ret = cw1200_get_hw_type(val32, &major_revision); + if (ret < 0) { pr_err("Can't deduce hardware type.\n"); - ret = -ENOTSUPP; goto out; } + priv->hw_type = ret; /* Set DPLL Reg value, and read back to confirm writes work */ ret = cw1200_reg_write_32(priv, ST90TDS_TSET_GEN_R_W_REG_ID, diff -Nru linux-4.19.87/drivers/nfc/nxp-nci/i2c.c linux-4.19.98/drivers/nfc/nxp-nci/i2c.c --- linux-4.19.87/drivers/nfc/nxp-nci/i2c.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/nfc/nxp-nci/i2c.c 2020-01-23 07:21:39.000000000 +0000 @@ -236,8 +236,10 @@ if (r == -EREMOTEIO) { phy->hard_fault = r; - skb = NULL; - } else if (r < 0) { + if (info->mode == NXP_NCI_MODE_FW) + nxp_nci_fw_recv_frame(phy->ndev, NULL); + } + if (r < 0) { nfc_err(&client->dev, "Read failed with error %d\n", r); goto exit_irq_handled; } diff -Nru linux-4.19.87/drivers/nfc/pn533/usb.c linux-4.19.98/drivers/nfc/pn533/usb.c --- linux-4.19.87/drivers/nfc/pn533/usb.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/nfc/pn533/usb.c 2020-01-23 07:21:39.000000000 +0000 @@ -403,7 +403,7 @@ cmd, sizeof(cmd), false); rc = usb_bulk_msg(phy->udev, phy->out_urb->pipe, buffer, sizeof(cmd), - &transferred, 0); + &transferred, 5000); kfree(buffer); if (rc || (transferred != sizeof(cmd))) { nfc_err(&phy->udev->dev, diff -Nru linux-4.19.87/drivers/nvdimm/btt.c linux-4.19.98/drivers/nvdimm/btt.c --- linux-4.19.87/drivers/nvdimm/btt.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/nvdimm/btt.c 2020-01-23 07:21:39.000000000 +0000 @@ -1260,11 +1260,11 @@ ret = btt_data_read(arena, page, off, postmap, cur_len); if (ret) { - int rc; - /* Media error - set the e_flag */ - rc = btt_map_write(arena, premap, postmap, 0, 1, - NVDIMM_IO_ATOMIC); + if (btt_map_write(arena, premap, postmap, 0, 1, NVDIMM_IO_ATOMIC)) + dev_warn_ratelimited(to_dev(arena), + "Error persistently tracking bad blocks at %#x\n", + premap); goto out_rtt; } diff -Nru linux-4.19.87/drivers/nvme/host/core.c linux-4.19.98/drivers/nvme/host/core.c --- linux-4.19.87/drivers/nvme/host/core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/nvme/host/core.c 2020-01-23 07:21:39.000000000 +0000 @@ -551,9 +551,25 @@ struct nvme_dsm_range *range; struct bio *bio; - range = kmalloc_array(segments, sizeof(*range), GFP_ATOMIC); - if (!range) - return BLK_STS_RESOURCE; + /* + * Some devices do not consider the DSM 'Number of Ranges' field when + * determining how much data to DMA. Always allocate memory for maximum + * number of segments to prevent device reading beyond end of buffer. + */ + static const size_t alloc_size = sizeof(*range) * NVME_DSM_MAX_RANGES; + + range = kzalloc(alloc_size, GFP_ATOMIC | __GFP_NOWARN); + if (!range) { + /* + * If we fail allocation our range, fallback to the controller + * discard page. If that's also busy, it's safe to return + * busy, as we know we can make progress once that's freed. + */ + if (test_and_set_bit_lock(0, &ns->ctrl->discard_page_busy)) + return BLK_STS_RESOURCE; + + range = page_address(ns->ctrl->discard_page); + } __rq_for_each_bio(bio, req) { u64 slba = nvme_block_nr(ns, bio->bi_iter.bi_sector); @@ -568,7 +584,10 @@ } if (WARN_ON_ONCE(n != segments)) { - kfree(range); + if (virt_to_page(range) == ns->ctrl->discard_page) + clear_bit_unlock(0, &ns->ctrl->discard_page_busy); + else + kfree(range); return BLK_STS_IOERR; } @@ -580,7 +599,7 @@ req->special_vec.bv_page = virt_to_page(range); req->special_vec.bv_offset = offset_in_page(range); - req->special_vec.bv_len = sizeof(*range) * segments; + req->special_vec.bv_len = alloc_size; req->rq_flags |= RQF_SPECIAL_PAYLOAD; return BLK_STS_OK; @@ -653,8 +672,13 @@ blk_rq_bytes(req) >> ns->lba_shift); } if (req->rq_flags & RQF_SPECIAL_PAYLOAD) { - kfree(page_address(req->special_vec.bv_page) + - req->special_vec.bv_offset); + struct nvme_ns *ns = req->rq_disk->private_data; + struct page *page = req->special_vec.bv_page; + + if (page == ns->ctrl->discard_page) + clear_bit_unlock(0, &ns->ctrl->discard_page_busy); + else + kfree(page_address(page) + req->special_vec.bv_offset); } } EXPORT_SYMBOL_GPL(nvme_cleanup_cmd); @@ -3551,6 +3575,7 @@ ida_simple_remove(&nvme_instance_ida, ctrl->instance); kfree(ctrl->effects); nvme_mpath_uninit(ctrl); + __free_page(ctrl->discard_page); if (subsys) { mutex_lock(&subsys->lock); @@ -3592,6 +3617,14 @@ memset(&ctrl->ka_cmd, 0, sizeof(ctrl->ka_cmd)); ctrl->ka_cmd.common.opcode = nvme_admin_keep_alive; + BUILD_BUG_ON(NVME_DSM_MAX_RANGES * sizeof(struct nvme_dsm_range) > + PAGE_SIZE); + ctrl->discard_page = alloc_page(GFP_KERNEL); + if (!ctrl->discard_page) { + ret = -ENOMEM; + goto out; + } + ret = ida_simple_get(&nvme_instance_ida, 0, 0, GFP_KERNEL); if (ret < 0) goto out; @@ -3625,10 +3658,12 @@ return 0; out_free_name: - kfree_const(dev->kobj.name); + kfree_const(ctrl->device->kobj.name); out_release_instance: ida_simple_remove(&nvme_instance_ida, ctrl->instance); out: + if (ctrl->discard_page) + __free_page(ctrl->discard_page); return ret; } EXPORT_SYMBOL_GPL(nvme_init_ctrl); diff -Nru linux-4.19.87/drivers/nvme/host/fc.c linux-4.19.98/drivers/nvme/host/fc.c --- linux-4.19.87/drivers/nvme/host/fc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/nvme/host/fc.c 2020-01-23 07:21:39.000000000 +0000 @@ -342,7 +342,8 @@ !template->ls_req || !template->fcp_io || !template->ls_abort || !template->fcp_abort || !template->max_hw_queues || !template->max_sgl_segments || - !template->max_dif_sgl_segments || !template->dma_boundary) { + !template->max_dif_sgl_segments || !template->dma_boundary || + !template->module) { ret = -EINVAL; goto out_reghost_failed; } @@ -1986,6 +1987,7 @@ { struct nvme_fc_ctrl *ctrl = container_of(ref, struct nvme_fc_ctrl, ref); + struct nvme_fc_lport *lport = ctrl->lport; unsigned long flags; if (ctrl->ctrl.tagset) { @@ -2011,6 +2013,7 @@ if (ctrl->ctrl.opts) nvmf_free_options(ctrl->ctrl.opts); kfree(ctrl); + module_put(lport->ops->module); } static void @@ -2891,10 +2894,22 @@ static void __nvme_fc_terminate_io(struct nvme_fc_ctrl *ctrl) { - nvme_stop_keep_alive(&ctrl->ctrl); + /* + * if state is connecting - the error occurred as part of a + * reconnect attempt. The create_association error paths will + * clean up any outstanding io. + * + * if it's a different state - ensure all pending io is + * terminated. Given this can delay while waiting for the + * aborted io to return, we recheck adapter state below + * before changing state. + */ + if (ctrl->ctrl.state != NVME_CTRL_CONNECTING) { + nvme_stop_keep_alive(&ctrl->ctrl); - /* will block will waiting for io to terminate */ - nvme_fc_delete_association(ctrl); + /* will block will waiting for io to terminate */ + nvme_fc_delete_association(ctrl); + } if (ctrl->ctrl.state != NVME_CTRL_CONNECTING && !nvme_change_ctrl_state(&ctrl->ctrl, NVME_CTRL_CONNECTING)) @@ -3040,10 +3055,15 @@ goto out_fail; } + if (!try_module_get(lport->ops->module)) { + ret = -EUNATCH; + goto out_free_ctrl; + } + idx = ida_simple_get(&nvme_fc_ctrl_cnt, 0, 0, GFP_KERNEL); if (idx < 0) { ret = -ENOSPC; - goto out_free_ctrl; + goto out_mod_put; } ctrl->ctrl.opts = opts; @@ -3185,6 +3205,8 @@ out_free_ida: put_device(ctrl->dev); ida_simple_remove(&nvme_fc_ctrl_cnt, ctrl->cnum); +out_mod_put: + module_put(lport->ops->module); out_free_ctrl: kfree(ctrl); out_fail: diff -Nru linux-4.19.87/drivers/nvme/host/nvme.h linux-4.19.98/drivers/nvme/host/nvme.h --- linux-4.19.87/drivers/nvme/host/nvme.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/nvme/host/nvme.h 2020-01-23 07:21:39.000000000 +0000 @@ -238,6 +238,9 @@ u16 maxcmd; int nr_reconnects; struct nvmf_ctrl_options *opts; + + struct page *discard_page; + unsigned long discard_page_busy; }; struct nvme_subsystem { diff -Nru linux-4.19.87/drivers/nvme/target/fcloop.c linux-4.19.98/drivers/nvme/target/fcloop.c --- linux-4.19.87/drivers/nvme/target/fcloop.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/nvme/target/fcloop.c 2020-01-23 07:21:39.000000000 +0000 @@ -825,6 +825,7 @@ #define FCLOOP_DMABOUND_4G 0xFFFFFFFF static struct nvme_fc_port_template fctemplate = { + .module = THIS_MODULE, .localport_delete = fcloop_localport_delete, .remoteport_delete = fcloop_remoteport_delete, .create_queue = fcloop_create_queue, diff -Nru linux-4.19.87/drivers/nvmem/imx-ocotp.c linux-4.19.98/drivers/nvmem/imx-ocotp.c --- linux-4.19.87/drivers/nvmem/imx-ocotp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/nvmem/imx-ocotp.c 2020-01-23 07:21:39.000000000 +0000 @@ -466,6 +466,10 @@ if (IS_ERR(priv->clk)) return PTR_ERR(priv->clk); + clk_prepare_enable(priv->clk); + imx_ocotp_clr_err_if_set(priv->base); + clk_disable_unprepare(priv->clk); + priv->params = of_device_get_match_data(&pdev->dev); imx_ocotp_nvmem_config.size = 4 * priv->params->nregs; imx_ocotp_nvmem_config.dev = dev; diff -Nru linux-4.19.87/drivers/of/overlay.c linux-4.19.98/drivers/of/overlay.c --- linux-4.19.87/drivers/of/overlay.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/of/overlay.c 2020-01-23 07:21:39.000000000 +0000 @@ -305,7 +305,6 @@ { struct property *new_prop = NULL, *prop; int ret = 0; - bool check_for_non_overlay_node = false; if (target->in_livetree) if (!of_prop_cmp(overlay_prop->name, "name") || @@ -318,6 +317,25 @@ else prop = NULL; + if (prop) { + if (!of_prop_cmp(prop->name, "#address-cells")) { + if (!of_prop_val_eq(prop, overlay_prop)) { + pr_err("ERROR: changing value of #address-cells is not allowed in %pOF\n", + target->np); + ret = -EINVAL; + } + return ret; + + } else if (!of_prop_cmp(prop->name, "#size-cells")) { + if (!of_prop_val_eq(prop, overlay_prop)) { + pr_err("ERROR: changing value of #size-cells is not allowed in %pOF\n", + target->np); + ret = -EINVAL; + } + return ret; + } + } + if (is_symbols_prop) { if (prop) return -EINVAL; @@ -330,33 +348,18 @@ return -ENOMEM; if (!prop) { - check_for_non_overlay_node = true; if (!target->in_livetree) { new_prop->next = target->np->deadprops; target->np->deadprops = new_prop; } ret = of_changeset_add_property(&ovcs->cset, target->np, new_prop); - } else if (!of_prop_cmp(prop->name, "#address-cells")) { - if (!of_prop_val_eq(prop, new_prop)) { - pr_err("ERROR: changing value of #address-cells is not allowed in %pOF\n", - target->np); - ret = -EINVAL; - } - } else if (!of_prop_cmp(prop->name, "#size-cells")) { - if (!of_prop_val_eq(prop, new_prop)) { - pr_err("ERROR: changing value of #size-cells is not allowed in %pOF\n", - target->np); - ret = -EINVAL; - } } else { - check_for_non_overlay_node = true; ret = of_changeset_update_property(&ovcs->cset, target->np, new_prop); } - if (check_for_non_overlay_node && - !of_node_check_flag(target->np, OF_OVERLAY)) + if (!of_node_check_flag(target->np, OF_OVERLAY)) pr_err("WARNING: memory leak will occur if overlay removed, property: %pOF/%s\n", target->np, new_prop->name); diff -Nru linux-4.19.87/drivers/of/unittest.c linux-4.19.98/drivers/of/unittest.c --- linux-4.19.87/drivers/of/unittest.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/of/unittest.c 2020-01-23 07:21:39.000000000 +0000 @@ -1133,8 +1133,10 @@ full_name = kasprintf(GFP_KERNEL, "%pOF", np); if (!strcmp(full_name, "/__local_fixups__") || - !strcmp(full_name, "/__fixups__")) + !strcmp(full_name, "/__fixups__")) { + kfree(full_name); return; + } dup = of_find_node_by_path(full_name); kfree(full_name); diff -Nru linux-4.19.87/drivers/parport/share.c linux-4.19.98/drivers/parport/share.c --- linux-4.19.87/drivers/parport/share.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/parport/share.c 2020-01-23 07:21:39.000000000 +0000 @@ -230,6 +230,18 @@ return 0; } +/* + * Iterates through all the devices connected to the bus and return 1 + * if the device is a parallel port. + */ + +static int port_detect(struct device *dev, void *dev_drv) +{ + if (is_parport(dev)) + return 1; + return 0; +} + /** * parport_register_driver - register a parallel port device driver * @drv: structure describing the driver @@ -282,6 +294,15 @@ if (ret) return ret; + /* + * check if bus has any parallel port registered, if + * none is found then load the lowlevel driver. + */ + ret = bus_for_each_dev(&parport_bus_type, NULL, NULL, + port_detect); + if (!ret) + get_lowlevel_driver(); + mutex_lock(®istration_lock); if (drv->match_port) bus_for_each_dev(&parport_bus_type, NULL, drv, diff -Nru linux-4.19.87/drivers/pci/controller/dwc/pcie-designware-host.c linux-4.19.98/drivers/pci/controller/dwc/pcie-designware-host.c --- linux-4.19.87/drivers/pci/controller/dwc/pcie-designware-host.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pci/controller/dwc/pcie-designware-host.c 2020-01-23 07:21:39.000000000 +0000 @@ -78,7 +78,8 @@ irqreturn_t dw_handle_msi_irq(struct pcie_port *pp) { int i, pos, irq; - u32 val, num_ctrls; + unsigned long val; + u32 status, num_ctrls; irqreturn_t ret = IRQ_NONE; num_ctrls = pp->num_vectors / MAX_MSI_IRQS_PER_CTRL; @@ -86,14 +87,14 @@ for (i = 0; i < num_ctrls; i++) { dw_pcie_rd_own_conf(pp, PCIE_MSI_INTR0_STATUS + (i * MSI_REG_CTRL_BLOCK_SIZE), - 4, &val); - if (!val) + 4, &status); + if (!status) continue; ret = IRQ_HANDLED; + val = status; pos = 0; - while ((pos = find_next_bit((unsigned long *) &val, - MAX_MSI_IRQS_PER_CTRL, + while ((pos = find_next_bit(&val, MAX_MSI_IRQS_PER_CTRL, pos)) != MAX_MSI_IRQS_PER_CTRL) { irq = irq_find_mapping(pp->irq_domain, (i * MAX_MSI_IRQS_PER_CTRL) + diff -Nru linux-4.19.87/drivers/pci/controller/pcie-rcar.c linux-4.19.98/drivers/pci/controller/pcie-rcar.c --- linux-4.19.87/drivers/pci/controller/pcie-rcar.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pci/controller/pcie-rcar.c 2020-01-23 07:21:39.000000000 +0000 @@ -93,8 +93,11 @@ #define LINK_SPEED_2_5GTS (1 << 16) #define LINK_SPEED_5_0GTS (2 << 16) #define MACCTLR 0x011058 +#define MACCTLR_NFTS_MASK GENMASK(23, 16) /* The name is from SH7786 */ #define SPEED_CHANGE BIT(24) #define SCRAMBLE_DISABLE BIT(27) +#define LTSMDIS BIT(31) +#define MACCTLR_INIT_VAL (LTSMDIS | MACCTLR_NFTS_MASK) #define PMSR 0x01105c #define MACS2R 0x011078 #define MACCGSPSETR 0x011084 @@ -615,6 +618,8 @@ if (IS_ENABLED(CONFIG_PCI_MSI)) rcar_pci_write_reg(pcie, 0x801f0000, PCIEMSITXR); + rcar_pci_write_reg(pcie, MACCTLR_INIT_VAL, MACCTLR); + /* Finish initialization - establish a PCI Express link */ rcar_pci_write_reg(pcie, CFINIT, PCIETCTLR); @@ -1237,6 +1242,7 @@ return 0; /* Re-establish the PCIe link */ + rcar_pci_write_reg(pcie, MACCTLR_INIT_VAL, MACCTLR); rcar_pci_write_reg(pcie, CFINIT, PCIETCTLR); return rcar_pcie_wait_for_dl(pcie); } diff -Nru linux-4.19.87/drivers/pci/hotplug/acpiphp_glue.c linux-4.19.98/drivers/pci/hotplug/acpiphp_glue.c --- linux-4.19.87/drivers/pci/hotplug/acpiphp_glue.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pci/hotplug/acpiphp_glue.c 2020-01-23 07:21:39.000000000 +0000 @@ -449,8 +449,15 @@ /* Scan non-hotplug bridges that need to be reconfigured */ for_each_pci_bridge(dev, bus) { - if (!hotplug_is_native(dev)) - max = pci_scan_bridge(bus, dev, max, 1); + if (hotplug_is_native(dev)) + continue; + + max = pci_scan_bridge(bus, dev, max, 1); + if (dev->subordinate) { + pcibios_resource_survey_bus(dev->subordinate); + pci_bus_size_bridges(dev->subordinate); + pci_bus_assign_resources(dev->subordinate); + } } } @@ -480,7 +487,6 @@ if (PCI_SLOT(dev->devfn) == slot->device) acpiphp_native_scan_bridge(dev); } - pci_assign_unassigned_bridge_resources(bus->self); } else { LIST_HEAD(add_list); int max, pass; diff -Nru linux-4.19.87/drivers/pci/hotplug/pciehp.h linux-4.19.98/drivers/pci/hotplug/pciehp.h --- linux-4.19.87/drivers/pci/hotplug/pciehp.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pci/hotplug/pciehp.h 2020-01-23 07:21:39.000000000 +0000 @@ -106,6 +106,7 @@ * that has not yet been cleared by the user * @pending_events: used by the IRQ handler to save events retrieved from the * Slot Status register for later consumption by the IRQ thread + * @ist_running: flag to keep user request waiting while IRQ thread is running * @request_result: result of last user request submitted to the IRQ thread * @requester: wait queue to wake up on completion of user request, * used for synchronous slot enable/disable request via sysfs @@ -125,6 +126,7 @@ unsigned int notification_enabled:1; unsigned int power_fault_detected; atomic_t pending_events; + unsigned int ist_running; int request_result; wait_queue_head_t requester; }; diff -Nru linux-4.19.87/drivers/pci/hotplug/pciehp_ctrl.c linux-4.19.98/drivers/pci/hotplug/pciehp_ctrl.c --- linux-4.19.87/drivers/pci/hotplug/pciehp_ctrl.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pci/hotplug/pciehp_ctrl.c 2020-01-23 07:21:39.000000000 +0000 @@ -383,7 +383,8 @@ ctrl->request_result = -ENODEV; pciehp_request(ctrl, PCI_EXP_SLTSTA_PDC); wait_event(ctrl->requester, - !atomic_read(&ctrl->pending_events)); + !atomic_read(&ctrl->pending_events) && + !ctrl->ist_running); return ctrl->request_result; case POWERON_STATE: ctrl_info(ctrl, "Slot(%s): Already in powering on state\n", @@ -416,7 +417,8 @@ mutex_unlock(&p_slot->lock); pciehp_request(ctrl, DISABLE_SLOT); wait_event(ctrl->requester, - !atomic_read(&ctrl->pending_events)); + !atomic_read(&ctrl->pending_events) && + !ctrl->ist_running); return ctrl->request_result; case POWEROFF_STATE: ctrl_info(ctrl, "Slot(%s): Already in powering off state\n", diff -Nru linux-4.19.87/drivers/pci/hotplug/pciehp_hpc.c linux-4.19.98/drivers/pci/hotplug/pciehp_hpc.c --- linux-4.19.87/drivers/pci/hotplug/pciehp_hpc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pci/hotplug/pciehp_hpc.c 2020-01-23 07:21:39.000000000 +0000 @@ -620,6 +620,7 @@ irqreturn_t ret; u32 events; + ctrl->ist_running = true; pci_config_pm_runtime_get(pdev); /* rerun pciehp_isr() if the port was inaccessible on interrupt */ @@ -666,6 +667,7 @@ up_read(&ctrl->reset_lock); pci_config_pm_runtime_put(pdev); + ctrl->ist_running = false; wake_up(&ctrl->requester); return IRQ_HANDLED; } diff -Nru linux-4.19.87/drivers/pci/hotplug/rpaphp_core.c linux-4.19.98/drivers/pci/hotplug/rpaphp_core.c --- linux-4.19.87/drivers/pci/hotplug/rpaphp_core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pci/hotplug/rpaphp_core.c 2020-01-23 07:21:39.000000000 +0000 @@ -154,11 +154,11 @@ return speed; } -static int get_children_props(struct device_node *dn, const int **drc_indexes, - const int **drc_names, const int **drc_types, - const int **drc_power_domains) +static int get_children_props(struct device_node *dn, const __be32 **drc_indexes, + const __be32 **drc_names, const __be32 **drc_types, + const __be32 **drc_power_domains) { - const int *indexes, *names, *types, *domains; + const __be32 *indexes, *names, *types, *domains; indexes = of_get_property(dn, "ibm,drc-indexes", NULL); names = of_get_property(dn, "ibm,drc-names", NULL); @@ -194,8 +194,8 @@ char *drc_type, unsigned int my_index) { char *name_tmp, *type_tmp; - const int *indexes, *names; - const int *types, *domains; + const __be32 *indexes, *names; + const __be32 *types, *domains; int i, rc; rc = get_children_props(dn->parent, &indexes, &names, &types, &domains); @@ -208,7 +208,7 @@ /* Iterate through parent properties, looking for my-drc-index */ for (i = 0; i < be32_to_cpu(indexes[0]); i++) { - if ((unsigned int) indexes[i + 1] == my_index) + if (be32_to_cpu(indexes[i + 1]) == my_index) break; name_tmp += (strlen(name_tmp) + 1); @@ -239,6 +239,8 @@ value = of_prop_next_u32(info, NULL, &entries); if (!value) return -EINVAL; + else + value++; for (j = 0; j < entries; j++) { of_read_drc_info_cell(&info, &value, &drc); @@ -246,9 +248,10 @@ /* Should now know end of current entry */ /* Found it */ - if (my_index <= drc.last_drc_index) { + if (my_index >= drc.drc_index_start && my_index <= drc.last_drc_index) { + int index = my_index - drc.drc_index_start; sprintf(cell_drc_name, "%s%d", drc.drc_name_prefix, - my_index); + drc.drc_name_suffix_start + index); break; } } @@ -265,7 +268,7 @@ int rpaphp_check_drc_props(struct device_node *dn, char *drc_name, char *drc_type) { - const unsigned int *my_index; + const __be32 *my_index; my_index = of_get_property(dn, "ibm,my-drc-index", NULL); if (!my_index) { @@ -273,12 +276,12 @@ return -EINVAL; } - if (firmware_has_feature(FW_FEATURE_DRC_INFO)) + if (of_find_property(dn->parent, "ibm,drc-info", NULL)) return rpaphp_check_drc_props_v2(dn, drc_name, drc_type, - *my_index); + be32_to_cpu(*my_index)); else return rpaphp_check_drc_props_v1(dn, drc_name, drc_type, - *my_index); + be32_to_cpu(*my_index)); } EXPORT_SYMBOL_GPL(rpaphp_check_drc_props); @@ -309,10 +312,11 @@ * for built-in pci slots (even when the built-in slots are * dlparable.) */ -static int is_php_dn(struct device_node *dn, const int **indexes, - const int **names, const int **types, const int **power_domains) +static int is_php_dn(struct device_node *dn, const __be32 **indexes, + const __be32 **names, const __be32 **types, + const __be32 **power_domains) { - const int *drc_types; + const __be32 *drc_types; int rc; rc = get_children_props(dn, indexes, names, &drc_types, power_domains); @@ -347,7 +351,7 @@ struct slot *slot; int retval = 0; int i; - const int *indexes, *names, *types, *power_domains; + const __be32 *indexes, *names, *types, *power_domains; char *name, *type; if (!dn->name || strcmp(dn->name, "pci")) diff -Nru linux-4.19.87/drivers/pci/msi.c linux-4.19.98/drivers/pci/msi.c --- linux-4.19.87/drivers/pci/msi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pci/msi.c 2020-01-23 07:21:39.000000000 +0000 @@ -211,7 +211,7 @@ return 0; mask_bits &= ~PCI_MSIX_ENTRY_CTRL_MASKBIT; - if (flag) + if (flag & PCI_MSIX_ENTRY_CTRL_MASKBIT) mask_bits |= PCI_MSIX_ENTRY_CTRL_MASKBIT; writel(mask_bits, pci_msix_desc_addr(desc) + PCI_MSIX_ENTRY_VECTOR_CTRL); @@ -1155,7 +1155,8 @@ const struct irq_affinity *affd) { static const struct irq_affinity msi_default_affd; - int vecs = -ENOSPC; + int msix_vecs = -ENOSPC; + int msi_vecs = -ENOSPC; if (flags & PCI_IRQ_AFFINITY) { if (!affd) @@ -1166,16 +1167,17 @@ } if (flags & PCI_IRQ_MSIX) { - vecs = __pci_enable_msix_range(dev, NULL, min_vecs, max_vecs, - affd); - if (vecs > 0) - return vecs; + msix_vecs = __pci_enable_msix_range(dev, NULL, min_vecs, + max_vecs, affd); + if (msix_vecs > 0) + return msix_vecs; } if (flags & PCI_IRQ_MSI) { - vecs = __pci_enable_msi_range(dev, min_vecs, max_vecs, affd); - if (vecs > 0) - return vecs; + msi_vecs = __pci_enable_msi_range(dev, min_vecs, max_vecs, + affd); + if (msi_vecs > 0) + return msi_vecs; } /* use legacy irq if allowed */ @@ -1186,7 +1188,9 @@ } } - return vecs; + if (msix_vecs == -ENOSPC) + return -ENOSPC; + return msi_vecs; } EXPORT_SYMBOL(pci_alloc_irq_vectors_affinity); diff -Nru linux-4.19.87/drivers/pci/pci-driver.c linux-4.19.98/drivers/pci/pci-driver.c --- linux-4.19.87/drivers/pci/pci-driver.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pci/pci-driver.c 2020-01-23 07:21:39.000000000 +0000 @@ -1042,17 +1042,22 @@ return error; } - if (pci_has_legacy_pm_support(pci_dev)) - return pci_legacy_resume_early(dev); - /* - * pci_restore_state() requires the device to be in D0 (because of MSI - * restoration among other things), so force it into D0 in case the - * driver's "freeze" callbacks put it into a low-power state directly. + * Both the legacy ->resume_early() and the new pm->thaw_noirq() + * callbacks assume the device has been returned to D0 and its + * config state has been restored. + * + * In addition, pci_restore_state() restores MSI-X state in MMIO + * space, which requires the device to be in D0, so return it to D0 + * in case the driver's "freeze" callbacks put it into a low-power + * state. */ pci_set_power_state(pci_dev, PCI_D0); pci_restore_state(pci_dev); + if (pci_has_legacy_pm_support(pci_dev)) + return pci_legacy_resume_early(dev); + if (drv && drv->pm && drv->pm->thaw_noirq) error = drv->pm->thaw_noirq(dev); diff -Nru linux-4.19.87/drivers/pci/pcie/ptm.c linux-4.19.98/drivers/pci/pcie/ptm.c --- linux-4.19.87/drivers/pci/pcie/ptm.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pci/pcie/ptm.c 2020-01-23 07:21:39.000000000 +0000 @@ -21,7 +21,7 @@ snprintf(clock_desc, sizeof(clock_desc), ">254ns"); break; default: - snprintf(clock_desc, sizeof(clock_desc), "%udns", + snprintf(clock_desc, sizeof(clock_desc), "%uns", dev->ptm_granularity); break; } diff -Nru linux-4.19.87/drivers/pci/quirks.c linux-4.19.98/drivers/pci/quirks.c --- linux-4.19.87/drivers/pci/quirks.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pci/quirks.c 2020-01-23 07:21:39.000000000 +0000 @@ -4219,15 +4219,21 @@ static bool pci_quirk_cavium_acs_match(struct pci_dev *dev) { + if (!pci_is_pcie(dev) || pci_pcie_type(dev) != PCI_EXP_TYPE_ROOT_PORT) + return false; + + switch (dev->device) { /* - * Effectively selects all downstream ports for whole ThunderX 1 - * family by 0xf800 mask (which represents 8 SoCs), while the lower - * bits of device ID are used to indicate which subdevice is used - * within the SoC. + * Effectively selects all downstream ports for whole ThunderX1 + * (which represents 8 SoCs). */ - return (pci_is_pcie(dev) && - (pci_pcie_type(dev) == PCI_EXP_TYPE_ROOT_PORT) && - ((dev->device & 0xf800) == 0xa000)); + case 0xa000 ... 0xa7ff: /* ThunderX1 */ + case 0xaf84: /* ThunderX2 */ + case 0xb884: /* ThunderX3 */ + return true; + default: + return false; + } } static int pci_quirk_cavium_acs(struct pci_dev *dev, u16 acs_flags) @@ -4576,7 +4582,7 @@ #define INTEL_BSPR_REG_BPPD (1 << 9) /* Upstream Peer Decode Configuration Register */ -#define INTEL_UPDCR_REG 0x1114 +#define INTEL_UPDCR_REG 0x1014 /* 5:0 Peer Decode Enable bits */ #define INTEL_UPDCR_REG_MASK 0x3f diff -Nru linux-4.19.87/drivers/pci/switch/switchtec.c linux-4.19.98/drivers/pci/switch/switchtec.c --- linux-4.19.87/drivers/pci/switch/switchtec.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pci/switch/switchtec.c 2020-01-23 07:21:39.000000000 +0000 @@ -13,7 +13,7 @@ #include #include #include - +#include #include MODULE_DESCRIPTION("Microsemi Switchtec(tm) PCIe Management Driver"); @@ -633,7 +633,7 @@ u32 reg; s.global = ioread32(&stdev->mmio_sw_event->global_summary); - s.part_bitmap = ioread32(&stdev->mmio_sw_event->part_event_bitmap); + s.part_bitmap = readq(&stdev->mmio_sw_event->part_event_bitmap); s.local_part = ioread32(&stdev->mmio_part_cfg->part_event_summary); for (i = 0; i < stdev->partition_count; i++) { diff -Nru linux-4.19.87/drivers/phy/motorola/phy-cpcap-usb.c linux-4.19.98/drivers/phy/motorola/phy-cpcap-usb.c --- linux-4.19.87/drivers/phy/motorola/phy-cpcap-usb.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/phy/motorola/phy-cpcap-usb.c 2020-01-23 07:21:39.000000000 +0000 @@ -207,6 +207,19 @@ static int cpcap_usb_set_uart_mode(struct cpcap_phy_ddata *ddata); static int cpcap_usb_set_usb_mode(struct cpcap_phy_ddata *ddata); +static void cpcap_usb_try_musb_mailbox(struct cpcap_phy_ddata *ddata, + enum musb_vbus_id_status status) +{ + int error; + + error = musb_mailbox(status); + if (!error) + return; + + dev_dbg(ddata->dev, "%s: musb_mailbox failed: %i\n", + __func__, error); +} + static void cpcap_usb_detect(struct work_struct *work) { struct cpcap_phy_ddata *ddata; @@ -226,9 +239,7 @@ if (error) goto out_err; - error = musb_mailbox(MUSB_ID_GROUND); - if (error) - goto out_err; + cpcap_usb_try_musb_mailbox(ddata, MUSB_ID_GROUND); error = regmap_update_bits(ddata->reg, CPCAP_REG_USBC3, CPCAP_BIT_VBUSSTBY_EN, @@ -255,9 +266,7 @@ error = cpcap_usb_set_usb_mode(ddata); if (error) goto out_err; - error = musb_mailbox(MUSB_ID_GROUND); - if (error) - goto out_err; + cpcap_usb_try_musb_mailbox(ddata, MUSB_ID_GROUND); return; } @@ -267,22 +276,18 @@ error = cpcap_usb_set_usb_mode(ddata); if (error) goto out_err; - error = musb_mailbox(MUSB_VBUS_VALID); - if (error) - goto out_err; + cpcap_usb_try_musb_mailbox(ddata, MUSB_VBUS_VALID); return; } + cpcap_usb_try_musb_mailbox(ddata, MUSB_VBUS_OFF); + /* Default to debug UART mode */ error = cpcap_usb_set_uart_mode(ddata); if (error) goto out_err; - error = musb_mailbox(MUSB_VBUS_OFF); - if (error) - goto out_err; - dev_dbg(ddata->dev, "set UART mode\n"); return; @@ -647,9 +652,7 @@ if (error) dev_err(ddata->dev, "could not set UART mode\n"); - error = musb_mailbox(MUSB_VBUS_OFF); - if (error) - dev_err(ddata->dev, "could not set mailbox\n"); + cpcap_usb_try_musb_mailbox(ddata, MUSB_VBUS_OFF); usb_remove_phy(&ddata->phy); cancel_delayed_work_sync(&ddata->detect_work); diff -Nru linux-4.19.87/drivers/phy/qualcomm/phy-qcom-usb-hs.c linux-4.19.98/drivers/phy/qualcomm/phy-qcom-usb-hs.c --- linux-4.19.87/drivers/phy/qualcomm/phy-qcom-usb-hs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/phy/qualcomm/phy-qcom-usb-hs.c 2020-01-23 07:21:39.000000000 +0000 @@ -160,8 +160,8 @@ /* setup initial state */ qcom_usb_hs_phy_vbus_notifier(&uphy->vbus_notify, state, uphy->vbus_edev); - ret = devm_extcon_register_notifier(&ulpi->dev, uphy->vbus_edev, - EXTCON_USB, &uphy->vbus_notify); + ret = extcon_register_notifier(uphy->vbus_edev, EXTCON_USB, + &uphy->vbus_notify); if (ret) goto err_ulpi; } @@ -182,6 +182,9 @@ { struct qcom_usb_hs_phy *uphy = phy_get_drvdata(phy); + if (uphy->vbus_edev) + extcon_unregister_notifier(uphy->vbus_edev, EXTCON_USB, + &uphy->vbus_notify); regulator_disable(uphy->v3p3); regulator_disable(uphy->v1p8); clk_disable_unprepare(uphy->sleep_clk); diff -Nru linux-4.19.87/drivers/phy/renesas/phy-rcar-gen3-usb2.c linux-4.19.98/drivers/phy/renesas/phy-rcar-gen3-usb2.c --- linux-4.19.87/drivers/phy/renesas/phy-rcar-gen3-usb2.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/phy/renesas/phy-rcar-gen3-usb2.c 2020-01-23 07:21:39.000000000 +0000 @@ -23,6 +23,7 @@ #include #include #include +#include #include #include @@ -241,9 +242,9 @@ if (!ch->has_otg_pins || !ch->phy->init_count) return -EIO; - if (!strncmp(buf, "host", strlen("host"))) + if (sysfs_streq(buf, "host")) new_mode = PHY_MODE_USB_HOST; - else if (!strncmp(buf, "peripheral", strlen("peripheral"))) + else if (sysfs_streq(buf, "peripheral")) new_mode = PHY_MODE_USB_DEVICE; else return -EINVAL; diff -Nru linux-4.19.87/drivers/pinctrl/devicetree.c linux-4.19.98/drivers/pinctrl/devicetree.c --- linux-4.19.87/drivers/pinctrl/devicetree.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pinctrl/devicetree.c 2020-01-23 07:21:39.000000000 +0000 @@ -40,6 +40,13 @@ static void dt_free_map(struct pinctrl_dev *pctldev, struct pinctrl_map *map, unsigned num_maps) { + int i; + + for (i = 0; i < num_maps; ++i) { + kfree_const(map[i].dev_name); + map[i].dev_name = NULL; + } + if (pctldev) { const struct pinctrl_ops *ops = pctldev->desc->pctlops; if (ops->dt_free_map) @@ -74,7 +81,13 @@ /* Initialize common mapping table entry fields */ for (i = 0; i < num_maps; i++) { - map[i].dev_name = dev_name(p->dev); + const char *devname; + + devname = kstrdup_const(dev_name(p->dev), GFP_KERNEL); + if (!devname) + goto err_free_map; + + map[i].dev_name = devname; map[i].name = statename; if (pctldev) map[i].ctrl_dev_name = dev_name(pctldev->dev); @@ -82,10 +95,8 @@ /* Remember the converted mapping table entries */ dt_map = kzalloc(sizeof(*dt_map), GFP_KERNEL); - if (!dt_map) { - dt_free_map(pctldev, map, num_maps); - return -ENOMEM; - } + if (!dt_map) + goto err_free_map; dt_map->pctldev = pctldev; dt_map->map = map; @@ -93,6 +104,10 @@ list_add_tail(&dt_map->node, &p->dt_maps); return pinctrl_register_map(map, num_maps, false); + +err_free_map: + dt_free_map(pctldev, map, num_maps); + return -ENOMEM; } struct pinctrl_dev *of_pinctrl_get(struct device_node *np) diff -Nru linux-4.19.87/drivers/pinctrl/intel/pinctrl-baytrail.c linux-4.19.98/drivers/pinctrl/intel/pinctrl-baytrail.c --- linux-4.19.87/drivers/pinctrl/intel/pinctrl-baytrail.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pinctrl/intel/pinctrl-baytrail.c 2020-01-23 07:21:39.000000000 +0000 @@ -196,7 +196,6 @@ struct platform_device *pdev; struct pinctrl_dev *pctl_dev; struct pinctrl_desc pctl_desc; - raw_spinlock_t lock; const struct byt_pinctrl_soc_data *soc_data; struct byt_community *communities_copy; struct byt_gpio_pin_context *saved_context; @@ -707,6 +706,8 @@ NULL, }; +static DEFINE_RAW_SPINLOCK(byt_lock); + static struct byt_community *byt_get_community(struct byt_gpio *vg, unsigned int pin) { @@ -848,7 +849,7 @@ unsigned long flags; int i; - raw_spin_lock_irqsave(&vg->lock, flags); + raw_spin_lock_irqsave(&byt_lock, flags); for (i = 0; i < group.npins; i++) { void __iomem *padcfg0; @@ -868,7 +869,7 @@ writel(value, padcfg0); } - raw_spin_unlock_irqrestore(&vg->lock, flags); + raw_spin_unlock_irqrestore(&byt_lock, flags); } static void byt_set_group_mixed_mux(struct byt_gpio *vg, @@ -878,7 +879,7 @@ unsigned long flags; int i; - raw_spin_lock_irqsave(&vg->lock, flags); + raw_spin_lock_irqsave(&byt_lock, flags); for (i = 0; i < group.npins; i++) { void __iomem *padcfg0; @@ -898,7 +899,7 @@ writel(value, padcfg0); } - raw_spin_unlock_irqrestore(&vg->lock, flags); + raw_spin_unlock_irqrestore(&byt_lock, flags); } static int byt_set_mux(struct pinctrl_dev *pctldev, unsigned int func_selector, @@ -947,11 +948,11 @@ unsigned long flags; u32 value; - raw_spin_lock_irqsave(&vg->lock, flags); + raw_spin_lock_irqsave(&byt_lock, flags); value = readl(reg); value &= ~(BYT_TRIG_POS | BYT_TRIG_NEG | BYT_TRIG_LVL); writel(value, reg); - raw_spin_unlock_irqrestore(&vg->lock, flags); + raw_spin_unlock_irqrestore(&byt_lock, flags); } static int byt_gpio_request_enable(struct pinctrl_dev *pctl_dev, @@ -963,7 +964,7 @@ u32 value, gpio_mux; unsigned long flags; - raw_spin_lock_irqsave(&vg->lock, flags); + raw_spin_lock_irqsave(&byt_lock, flags); /* * In most cases, func pin mux 000 means GPIO function. @@ -985,7 +986,7 @@ "pin %u forcibly re-configured as GPIO\n", offset); } - raw_spin_unlock_irqrestore(&vg->lock, flags); + raw_spin_unlock_irqrestore(&byt_lock, flags); pm_runtime_get(&vg->pdev->dev); @@ -1013,7 +1014,7 @@ unsigned long flags; u32 value; - raw_spin_lock_irqsave(&vg->lock, flags); + raw_spin_lock_irqsave(&byt_lock, flags); value = readl(val_reg); value &= ~BYT_DIR_MASK; @@ -1030,7 +1031,7 @@ "Potential Error: Setting GPIO with direct_irq_en to output"); writel(value, val_reg); - raw_spin_unlock_irqrestore(&vg->lock, flags); + raw_spin_unlock_irqrestore(&byt_lock, flags); return 0; } @@ -1099,11 +1100,11 @@ u32 conf, pull, val, debounce; u16 arg = 0; - raw_spin_lock_irqsave(&vg->lock, flags); + raw_spin_lock_irqsave(&byt_lock, flags); conf = readl(conf_reg); pull = conf & BYT_PULL_ASSIGN_MASK; val = readl(val_reg); - raw_spin_unlock_irqrestore(&vg->lock, flags); + raw_spin_unlock_irqrestore(&byt_lock, flags); switch (param) { case PIN_CONFIG_BIAS_DISABLE: @@ -1130,9 +1131,9 @@ if (!(conf & BYT_DEBOUNCE_EN)) return -EINVAL; - raw_spin_lock_irqsave(&vg->lock, flags); + raw_spin_lock_irqsave(&byt_lock, flags); debounce = readl(db_reg); - raw_spin_unlock_irqrestore(&vg->lock, flags); + raw_spin_unlock_irqrestore(&byt_lock, flags); switch (debounce & BYT_DEBOUNCE_PULSE_MASK) { case BYT_DEBOUNCE_PULSE_375US: @@ -1184,7 +1185,7 @@ u32 conf, val, debounce; int i, ret = 0; - raw_spin_lock_irqsave(&vg->lock, flags); + raw_spin_lock_irqsave(&byt_lock, flags); conf = readl(conf_reg); val = readl(val_reg); @@ -1292,7 +1293,7 @@ if (!ret) writel(conf, conf_reg); - raw_spin_unlock_irqrestore(&vg->lock, flags); + raw_spin_unlock_irqrestore(&byt_lock, flags); return ret; } @@ -1317,9 +1318,9 @@ unsigned long flags; u32 val; - raw_spin_lock_irqsave(&vg->lock, flags); + raw_spin_lock_irqsave(&byt_lock, flags); val = readl(reg); - raw_spin_unlock_irqrestore(&vg->lock, flags); + raw_spin_unlock_irqrestore(&byt_lock, flags); return !!(val & BYT_LEVEL); } @@ -1334,13 +1335,13 @@ if (!reg) return; - raw_spin_lock_irqsave(&vg->lock, flags); + raw_spin_lock_irqsave(&byt_lock, flags); old_val = readl(reg); if (value) writel(old_val | BYT_LEVEL, reg); else writel(old_val & ~BYT_LEVEL, reg); - raw_spin_unlock_irqrestore(&vg->lock, flags); + raw_spin_unlock_irqrestore(&byt_lock, flags); } static int byt_gpio_get_direction(struct gpio_chip *chip, unsigned int offset) @@ -1353,9 +1354,9 @@ if (!reg) return -EINVAL; - raw_spin_lock_irqsave(&vg->lock, flags); + raw_spin_lock_irqsave(&byt_lock, flags); value = readl(reg); - raw_spin_unlock_irqrestore(&vg->lock, flags); + raw_spin_unlock_irqrestore(&byt_lock, flags); if (!(value & BYT_OUTPUT_EN)) return GPIOF_DIR_OUT; @@ -1398,14 +1399,14 @@ const char *label; unsigned int pin; - raw_spin_lock_irqsave(&vg->lock, flags); + raw_spin_lock_irqsave(&byt_lock, flags); pin = vg->soc_data->pins[i].number; reg = byt_gpio_reg(vg, pin, BYT_CONF0_REG); if (!reg) { seq_printf(s, "Could not retrieve pin %i conf0 reg\n", pin); - raw_spin_unlock_irqrestore(&vg->lock, flags); + raw_spin_unlock_irqrestore(&byt_lock, flags); continue; } conf0 = readl(reg); @@ -1414,11 +1415,11 @@ if (!reg) { seq_printf(s, "Could not retrieve pin %i val reg\n", pin); - raw_spin_unlock_irqrestore(&vg->lock, flags); + raw_spin_unlock_irqrestore(&byt_lock, flags); continue; } val = readl(reg); - raw_spin_unlock_irqrestore(&vg->lock, flags); + raw_spin_unlock_irqrestore(&byt_lock, flags); comm = byt_get_community(vg, pin); if (!comm) { @@ -1502,9 +1503,9 @@ if (!reg) return; - raw_spin_lock(&vg->lock); + raw_spin_lock(&byt_lock); writel(BIT(offset % 32), reg); - raw_spin_unlock(&vg->lock); + raw_spin_unlock(&byt_lock); } static void byt_irq_mask(struct irq_data *d) @@ -1528,7 +1529,7 @@ if (!reg) return; - raw_spin_lock_irqsave(&vg->lock, flags); + raw_spin_lock_irqsave(&byt_lock, flags); value = readl(reg); switch (irqd_get_trigger_type(d)) { @@ -1551,7 +1552,7 @@ writel(value, reg); - raw_spin_unlock_irqrestore(&vg->lock, flags); + raw_spin_unlock_irqrestore(&byt_lock, flags); } static int byt_irq_type(struct irq_data *d, unsigned int type) @@ -1565,7 +1566,7 @@ if (!reg || offset >= vg->chip.ngpio) return -EINVAL; - raw_spin_lock_irqsave(&vg->lock, flags); + raw_spin_lock_irqsave(&byt_lock, flags); value = readl(reg); WARN(value & BYT_DIRECT_IRQ_EN, @@ -1587,7 +1588,7 @@ else if (type & IRQ_TYPE_LEVEL_MASK) irq_set_handler_locked(d, handle_level_irq); - raw_spin_unlock_irqrestore(&vg->lock, flags); + raw_spin_unlock_irqrestore(&byt_lock, flags); return 0; } @@ -1623,9 +1624,9 @@ continue; } - raw_spin_lock(&vg->lock); + raw_spin_lock(&byt_lock); pending = readl(reg); - raw_spin_unlock(&vg->lock); + raw_spin_unlock(&byt_lock); for_each_set_bit(pin, &pending, 32) { virq = irq_find_mapping(vg->chip.irq.domain, base + pin); generic_handle_irq(virq); @@ -1828,8 +1829,6 @@ return PTR_ERR(vg->pctl_dev); } - raw_spin_lock_init(&vg->lock); - ret = byt_gpio_probe(vg); if (ret) return ret; @@ -1845,8 +1844,11 @@ { struct platform_device *pdev = to_platform_device(dev); struct byt_gpio *vg = platform_get_drvdata(pdev); + unsigned long flags; int i; + raw_spin_lock_irqsave(&byt_lock, flags); + for (i = 0; i < vg->soc_data->npins; i++) { void __iomem *reg; u32 value; @@ -1867,6 +1869,7 @@ vg->saved_context[i].val = value; } + raw_spin_unlock_irqrestore(&byt_lock, flags); return 0; } @@ -1874,8 +1877,11 @@ { struct platform_device *pdev = to_platform_device(dev); struct byt_gpio *vg = platform_get_drvdata(pdev); + unsigned long flags; int i; + raw_spin_lock_irqsave(&byt_lock, flags); + for (i = 0; i < vg->soc_data->npins; i++) { void __iomem *reg; u32 value; @@ -1913,6 +1919,7 @@ } } + raw_spin_unlock_irqrestore(&byt_lock, flags); return 0; } #endif diff -Nru linux-4.19.87/drivers/pinctrl/intel/pinctrl-cherryview.c linux-4.19.98/drivers/pinctrl/intel/pinctrl-cherryview.c --- linux-4.19.87/drivers/pinctrl/intel/pinctrl-cherryview.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pinctrl/intel/pinctrl-cherryview.c 2020-01-23 07:21:39.000000000 +0000 @@ -157,6 +157,7 @@ * @pctldesc: Pin controller description * @pctldev: Pointer to the pin controller device * @chip: GPIO chip in this pin controller + * @irqchip: IRQ chip in this pin controller * @regs: MMIO registers * @intr_lines: Stores mapping between 16 HW interrupt wires and GPIO * offset (in GPIO number space) @@ -170,6 +171,7 @@ struct pinctrl_desc pctldesc; struct pinctrl_dev *pctldev; struct gpio_chip chip; + struct irq_chip irqchip; void __iomem *regs; unsigned intr_lines[16]; const struct chv_community *community; @@ -1477,16 +1479,6 @@ return 0; } -static struct irq_chip chv_gpio_irqchip = { - .name = "chv-gpio", - .irq_startup = chv_gpio_irq_startup, - .irq_ack = chv_gpio_irq_ack, - .irq_mask = chv_gpio_irq_mask, - .irq_unmask = chv_gpio_irq_unmask, - .irq_set_type = chv_gpio_irq_type, - .flags = IRQCHIP_SKIP_SET_WAKE, -}; - static void chv_gpio_irq_handler(struct irq_desc *desc) { struct gpio_chip *gc = irq_desc_get_handler_data(desc); @@ -1626,7 +1618,15 @@ } } - ret = gpiochip_irqchip_add(chip, &chv_gpio_irqchip, 0, + pctrl->irqchip.name = "chv-gpio"; + pctrl->irqchip.irq_startup = chv_gpio_irq_startup; + pctrl->irqchip.irq_ack = chv_gpio_irq_ack; + pctrl->irqchip.irq_mask = chv_gpio_irq_mask; + pctrl->irqchip.irq_unmask = chv_gpio_irq_unmask; + pctrl->irqchip.irq_set_type = chv_gpio_irq_type; + pctrl->irqchip.flags = IRQCHIP_SKIP_SET_WAKE; + + ret = gpiochip_irqchip_add(chip, &pctrl->irqchip, 0, handle_bad_irq, IRQ_TYPE_NONE); if (ret) { dev_err(pctrl->dev, "failed to add IRQ chip\n"); @@ -1643,7 +1643,7 @@ } } - gpiochip_set_chained_irqchip(chip, &chv_gpio_irqchip, irq, + gpiochip_set_chained_irqchip(chip, &pctrl->irqchip, irq, chv_gpio_irq_handler); return 0; } diff -Nru linux-4.19.87/drivers/pinctrl/intel/pinctrl-lewisburg.c linux-4.19.98/drivers/pinctrl/intel/pinctrl-lewisburg.c --- linux-4.19.87/drivers/pinctrl/intel/pinctrl-lewisburg.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pinctrl/intel/pinctrl-lewisburg.c 2020-01-23 07:21:39.000000000 +0000 @@ -31,6 +31,7 @@ .npins = ((e) - (s) + 1), \ } +/* Lewisburg */ static const struct pinctrl_pin_desc lbg_pins[] = { /* GPP_A */ PINCTRL_PIN(0, "RCINB"), @@ -70,7 +71,7 @@ PINCTRL_PIN(33, "SRCCLKREQB_4"), PINCTRL_PIN(34, "SRCCLKREQB_5"), PINCTRL_PIN(35, "GPP_B_11"), - PINCTRL_PIN(36, "GLB_RST_WARN_N"), + PINCTRL_PIN(36, "SLP_S0B"), PINCTRL_PIN(37, "PLTRSTB"), PINCTRL_PIN(38, "SPKR"), PINCTRL_PIN(39, "GPP_B_15"), @@ -183,96 +184,96 @@ PINCTRL_PIN(141, "GBE_PCI_DIS"), PINCTRL_PIN(142, "GBE_LAN_DIS"), PINCTRL_PIN(143, "GPP_I_10"), - PINCTRL_PIN(144, "GPIO_RCOMP_3P3"), /* GPP_J */ - PINCTRL_PIN(145, "GBE_LED_0_0"), - PINCTRL_PIN(146, "GBE_LED_0_1"), - PINCTRL_PIN(147, "GBE_LED_1_0"), - PINCTRL_PIN(148, "GBE_LED_1_1"), - PINCTRL_PIN(149, "GBE_LED_2_0"), - PINCTRL_PIN(150, "GBE_LED_2_1"), - PINCTRL_PIN(151, "GBE_LED_3_0"), - PINCTRL_PIN(152, "GBE_LED_3_1"), - PINCTRL_PIN(153, "GBE_SCL_0"), - PINCTRL_PIN(154, "GBE_SDA_0"), - PINCTRL_PIN(155, "GBE_SCL_1"), - PINCTRL_PIN(156, "GBE_SDA_1"), - PINCTRL_PIN(157, "GBE_SCL_2"), - PINCTRL_PIN(158, "GBE_SDA_2"), - PINCTRL_PIN(159, "GBE_SCL_3"), - PINCTRL_PIN(160, "GBE_SDA_3"), - PINCTRL_PIN(161, "GBE_SDP_0_0"), - PINCTRL_PIN(162, "GBE_SDP_0_1"), - PINCTRL_PIN(163, "GBE_SDP_1_0"), - PINCTRL_PIN(164, "GBE_SDP_1_1"), - PINCTRL_PIN(165, "GBE_SDP_2_0"), - PINCTRL_PIN(166, "GBE_SDP_2_1"), - PINCTRL_PIN(167, "GBE_SDP_3_0"), - PINCTRL_PIN(168, "GBE_SDP_3_1"), + PINCTRL_PIN(144, "GBE_LED_0_0"), + PINCTRL_PIN(145, "GBE_LED_0_1"), + PINCTRL_PIN(146, "GBE_LED_1_0"), + PINCTRL_PIN(147, "GBE_LED_1_1"), + PINCTRL_PIN(148, "GBE_LED_2_0"), + PINCTRL_PIN(149, "GBE_LED_2_1"), + PINCTRL_PIN(150, "GBE_LED_3_0"), + PINCTRL_PIN(151, "GBE_LED_3_1"), + PINCTRL_PIN(152, "GBE_SCL_0"), + PINCTRL_PIN(153, "GBE_SDA_0"), + PINCTRL_PIN(154, "GBE_SCL_1"), + PINCTRL_PIN(155, "GBE_SDA_1"), + PINCTRL_PIN(156, "GBE_SCL_2"), + PINCTRL_PIN(157, "GBE_SDA_2"), + PINCTRL_PIN(158, "GBE_SCL_3"), + PINCTRL_PIN(159, "GBE_SDA_3"), + PINCTRL_PIN(160, "GBE_SDP_0_0"), + PINCTRL_PIN(161, "GBE_SDP_0_1"), + PINCTRL_PIN(162, "GBE_SDP_1_0"), + PINCTRL_PIN(163, "GBE_SDP_1_1"), + PINCTRL_PIN(164, "GBE_SDP_2_0"), + PINCTRL_PIN(165, "GBE_SDP_2_1"), + PINCTRL_PIN(166, "GBE_SDP_3_0"), + PINCTRL_PIN(167, "GBE_SDP_3_1"), /* GPP_K */ - PINCTRL_PIN(169, "GBE_RMIICLK"), - PINCTRL_PIN(170, "GBE_RMII_TXD_0"), - PINCTRL_PIN(171, "GBE_RMII_TXD_1"), + PINCTRL_PIN(168, "GBE_RMIICLK"), + PINCTRL_PIN(169, "GBE_RMII_RXD_0"), + PINCTRL_PIN(170, "GBE_RMII_RXD_1"), + PINCTRL_PIN(171, "GBE_RMII_CRS_DV"), PINCTRL_PIN(172, "GBE_RMII_TX_EN"), - PINCTRL_PIN(173, "GBE_RMII_CRS_DV"), - PINCTRL_PIN(174, "GBE_RMII_RXD_0"), - PINCTRL_PIN(175, "GBE_RMII_RXD_1"), - PINCTRL_PIN(176, "GBE_RMII_RX_ER"), - PINCTRL_PIN(177, "GBE_RMII_ARBIN"), - PINCTRL_PIN(178, "GBE_RMII_ARB_OUT"), - PINCTRL_PIN(179, "PE_RST_N"), - PINCTRL_PIN(180, "GPIO_RCOMP_1P8_3P3"), + PINCTRL_PIN(173, "GBE_RMII_TXD_0"), + PINCTRL_PIN(174, "GBE_RMII_TXD_1"), + PINCTRL_PIN(175, "GBE_RMII_RX_ER"), + PINCTRL_PIN(176, "GBE_RMII_ARBIN"), + PINCTRL_PIN(177, "GBE_RMII_ARB_OUT"), + PINCTRL_PIN(178, "PE_RST_N"), /* GPP_G */ - PINCTRL_PIN(181, "FAN_TACH_0"), - PINCTRL_PIN(182, "FAN_TACH_1"), - PINCTRL_PIN(183, "FAN_TACH_2"), - PINCTRL_PIN(184, "FAN_TACH_3"), - PINCTRL_PIN(185, "FAN_TACH_4"), - PINCTRL_PIN(186, "FAN_TACH_5"), - PINCTRL_PIN(187, "FAN_TACH_6"), - PINCTRL_PIN(188, "FAN_TACH_7"), - PINCTRL_PIN(189, "FAN_PWM_0"), - PINCTRL_PIN(190, "FAN_PWM_1"), - PINCTRL_PIN(191, "FAN_PWM_2"), - PINCTRL_PIN(192, "FAN_PWM_3"), - PINCTRL_PIN(193, "GSXDOUT"), - PINCTRL_PIN(194, "GSXSLOAD"), - PINCTRL_PIN(195, "GSXDIN"), - PINCTRL_PIN(196, "GSXSRESETB"), - PINCTRL_PIN(197, "GSXCLK"), - PINCTRL_PIN(198, "ADR_COMPLETE"), - PINCTRL_PIN(199, "NMIB"), - PINCTRL_PIN(200, "SMIB"), - PINCTRL_PIN(201, "SSATA_DEVSLP_0"), - PINCTRL_PIN(202, "SSATA_DEVSLP_1"), - PINCTRL_PIN(203, "SSATA_DEVSLP_2"), - PINCTRL_PIN(204, "SSATAXPCIE0_SSATAGP0"), + PINCTRL_PIN(179, "FAN_TACH_0"), + PINCTRL_PIN(180, "FAN_TACH_1"), + PINCTRL_PIN(181, "FAN_TACH_2"), + PINCTRL_PIN(182, "FAN_TACH_3"), + PINCTRL_PIN(183, "FAN_TACH_4"), + PINCTRL_PIN(184, "FAN_TACH_5"), + PINCTRL_PIN(185, "FAN_TACH_6"), + PINCTRL_PIN(186, "FAN_TACH_7"), + PINCTRL_PIN(187, "FAN_PWM_0"), + PINCTRL_PIN(188, "FAN_PWM_1"), + PINCTRL_PIN(189, "FAN_PWM_2"), + PINCTRL_PIN(190, "FAN_PWM_3"), + PINCTRL_PIN(191, "GSXDOUT"), + PINCTRL_PIN(192, "GSXSLOAD"), + PINCTRL_PIN(193, "GSXDIN"), + PINCTRL_PIN(194, "GSXSRESETB"), + PINCTRL_PIN(195, "GSXCLK"), + PINCTRL_PIN(196, "ADR_COMPLETE"), + PINCTRL_PIN(197, "NMIB"), + PINCTRL_PIN(198, "SMIB"), + PINCTRL_PIN(199, "SSATA_DEVSLP_0"), + PINCTRL_PIN(200, "SSATA_DEVSLP_1"), + PINCTRL_PIN(201, "SSATA_DEVSLP_2"), + PINCTRL_PIN(202, "SSATAXPCIE0_SSATAGP0"), /* GPP_H */ - PINCTRL_PIN(205, "SRCCLKREQB_6"), - PINCTRL_PIN(206, "SRCCLKREQB_7"), - PINCTRL_PIN(207, "SRCCLKREQB_8"), - PINCTRL_PIN(208, "SRCCLKREQB_9"), - PINCTRL_PIN(209, "SRCCLKREQB_10"), - PINCTRL_PIN(210, "SRCCLKREQB_11"), - PINCTRL_PIN(211, "SRCCLKREQB_12"), - PINCTRL_PIN(212, "SRCCLKREQB_13"), - PINCTRL_PIN(213, "SRCCLKREQB_14"), - PINCTRL_PIN(214, "SRCCLKREQB_15"), - PINCTRL_PIN(215, "SML2CLK"), - PINCTRL_PIN(216, "SML2DATA"), - PINCTRL_PIN(217, "SML2ALERTB"), - PINCTRL_PIN(218, "SML3CLK"), - PINCTRL_PIN(219, "SML3DATA"), - PINCTRL_PIN(220, "SML3ALERTB"), - PINCTRL_PIN(221, "SML4CLK"), - PINCTRL_PIN(222, "SML4DATA"), - PINCTRL_PIN(223, "SML4ALERTB"), - PINCTRL_PIN(224, "SSATAXPCIE1_SSATAGP1"), - PINCTRL_PIN(225, "SSATAXPCIE2_SSATAGP2"), - PINCTRL_PIN(226, "SSATAXPCIE3_SSATAGP3"), - PINCTRL_PIN(227, "SSATAXPCIE4_SSATAGP4"), - PINCTRL_PIN(228, "SSATAXPCIE5_SSATAGP5"), + PINCTRL_PIN(203, "SRCCLKREQB_6"), + PINCTRL_PIN(204, "SRCCLKREQB_7"), + PINCTRL_PIN(205, "SRCCLKREQB_8"), + PINCTRL_PIN(206, "SRCCLKREQB_9"), + PINCTRL_PIN(207, "SRCCLKREQB_10"), + PINCTRL_PIN(208, "SRCCLKREQB_11"), + PINCTRL_PIN(209, "SRCCLKREQB_12"), + PINCTRL_PIN(210, "SRCCLKREQB_13"), + PINCTRL_PIN(211, "SRCCLKREQB_14"), + PINCTRL_PIN(212, "SRCCLKREQB_15"), + PINCTRL_PIN(213, "SML2CLK"), + PINCTRL_PIN(214, "SML2DATA"), + PINCTRL_PIN(215, "SML2ALERTB"), + PINCTRL_PIN(216, "SML3CLK"), + PINCTRL_PIN(217, "SML3DATA"), + PINCTRL_PIN(218, "SML3ALERTB"), + PINCTRL_PIN(219, "SML4CLK"), + PINCTRL_PIN(220, "SML4DATA"), + PINCTRL_PIN(221, "SML4ALERTB"), + PINCTRL_PIN(222, "SSATAXPCIE1_SSATAGP1"), + PINCTRL_PIN(223, "SSATAXPCIE2_SSATAGP2"), + PINCTRL_PIN(224, "SSATAXPCIE3_SSATAGP3"), + PINCTRL_PIN(225, "SSATAXPCIE4_SSATAGP4"), + PINCTRL_PIN(226, "SSATAXPCIE5_SSATAGP5"), /* GPP_L */ + PINCTRL_PIN(227, "GPP_L_0"), + PINCTRL_PIN(228, "EC_CSME_INTR_OUT"), PINCTRL_PIN(229, "VISA2CH0_D0"), PINCTRL_PIN(230, "VISA2CH0_D1"), PINCTRL_PIN(231, "VISA2CH0_D2"), diff -Nru linux-4.19.87/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c linux-4.19.98/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c --- linux-4.19.87/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c 2020-01-23 07:21:39.000000000 +0000 @@ -592,10 +592,10 @@ regmap_read(info->regmap, in_reg, &in_val); /* Set initial polarity based on current input level. */ - if (in_val & d->mask) - val |= d->mask; /* falling */ + if (in_val & BIT(d->hwirq % GPIO_PER_REG)) + val |= BIT(d->hwirq % GPIO_PER_REG); /* falling */ else - val &= ~d->mask; /* rising */ + val &= ~(BIT(d->hwirq % GPIO_PER_REG)); /* rising */ break; } default: diff -Nru linux-4.19.87/drivers/pinctrl/pinctrl-amd.c linux-4.19.98/drivers/pinctrl/pinctrl-amd.c --- linux-4.19.87/drivers/pinctrl/pinctrl-amd.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pinctrl/pinctrl-amd.c 2020-01-23 07:21:39.000000000 +0000 @@ -544,7 +544,8 @@ irqreturn_t ret = IRQ_NONE; unsigned int i, irqnr; unsigned long flags; - u32 *regs, regval; + u32 __iomem *regs; + u32 regval; u64 status, mask; /* Read the wake status */ diff -Nru linux-4.19.87/drivers/pinctrl/pinctrl-xway.c linux-4.19.98/drivers/pinctrl/pinctrl-xway.c --- linux-4.19.87/drivers/pinctrl/pinctrl-xway.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pinctrl/pinctrl-xway.c 2020-01-23 07:21:39.000000000 +0000 @@ -1746,14 +1746,6 @@ } xway_pctrl_desc.pins = xway_info.pads; - /* register the gpio chip */ - xway_chip.parent = &pdev->dev; - ret = devm_gpiochip_add_data(&pdev->dev, &xway_chip, NULL); - if (ret) { - dev_err(&pdev->dev, "Failed to register gpio chip\n"); - return ret; - } - /* setup the data needed by pinctrl */ xway_pctrl_desc.name = dev_name(&pdev->dev); xway_pctrl_desc.npins = xway_chip.ngpio; @@ -1775,10 +1767,33 @@ return ret; } - /* finish with registering the gpio range in pinctrl */ - xway_gpio_range.npins = xway_chip.ngpio; - xway_gpio_range.base = xway_chip.base; - pinctrl_add_gpio_range(xway_info.pctrl, &xway_gpio_range); + /* register the gpio chip */ + xway_chip.parent = &pdev->dev; + xway_chip.owner = THIS_MODULE; + xway_chip.of_node = pdev->dev.of_node; + ret = devm_gpiochip_add_data(&pdev->dev, &xway_chip, NULL); + if (ret) { + dev_err(&pdev->dev, "Failed to register gpio chip\n"); + return ret; + } + + /* + * For DeviceTree-supported systems, the gpio core checks the + * pinctrl's device node for the "gpio-ranges" property. + * If it is present, it takes care of adding the pin ranges + * for the driver. In this case the driver can skip ahead. + * + * In order to remain compatible with older, existing DeviceTree + * files which don't set the "gpio-ranges" property or systems that + * utilize ACPI the driver has to call gpiochip_add_pin_range(). + */ + if (!of_property_read_bool(pdev->dev.of_node, "gpio-ranges")) { + /* finish with registering the gpio range in pinctrl */ + xway_gpio_range.npins = xway_chip.ngpio; + xway_gpio_range.base = xway_chip.base; + pinctrl_add_gpio_range(xway_info.pctrl, &xway_gpio_range); + } + dev_info(&pdev->dev, "Init done\n"); return 0; } diff -Nru linux-4.19.87/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c linux-4.19.98/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c --- linux-4.19.87/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c 2020-01-23 07:21:39.000000000 +0000 @@ -762,12 +762,23 @@ return ret; } - ret = gpiochip_add_pin_range(&pctrl->chip, - dev_name(pctrl->dev), - 0, 0, pctrl->chip.ngpio); - if (ret) { - dev_err(pctrl->dev, "failed to add pin range\n"); - goto unregister_gpiochip; + /* + * For DeviceTree-supported systems, the gpio core checks the + * pinctrl's device node for the "gpio-ranges" property. + * If it is present, it takes care of adding the pin ranges + * for the driver. In this case the driver can skip ahead. + * + * In order to remain compatible with older, existing DeviceTree + * files which don't set the "gpio-ranges" property or systems that + * utilize ACPI the driver has to call gpiochip_add_pin_range(). + */ + if (!of_property_read_bool(pctrl->dev->of_node, "gpio-ranges")) { + ret = gpiochip_add_pin_range(&pctrl->chip, dev_name(pctrl->dev), + 0, 0, pctrl->chip.ngpio); + if (ret) { + dev_err(pctrl->dev, "failed to add pin range\n"); + goto unregister_gpiochip; + } } platform_set_drvdata(pdev, pctrl); diff -Nru linux-4.19.87/drivers/pinctrl/samsung/pinctrl-exynos.c linux-4.19.98/drivers/pinctrl/samsung/pinctrl-exynos.c --- linux-4.19.87/drivers/pinctrl/samsung/pinctrl-exynos.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pinctrl/samsung/pinctrl-exynos.c 2020-01-23 07:21:39.000000000 +0000 @@ -494,8 +494,10 @@ if (match) { irq_chip = kmemdup(match->data, sizeof(*irq_chip), GFP_KERNEL); - if (!irq_chip) + if (!irq_chip) { + of_node_put(np); return -ENOMEM; + } wkup_np = np; break; } @@ -512,6 +514,7 @@ bank->nr_pins, &exynos_eint_irqd_ops, bank); if (!bank->irq_domain) { dev_err(dev, "wkup irq domain add failed\n"); + of_node_put(wkup_np); return -ENXIO; } @@ -526,8 +529,10 @@ weint_data = devm_kcalloc(dev, bank->nr_pins, sizeof(*weint_data), GFP_KERNEL); - if (!weint_data) + if (!weint_data) { + of_node_put(wkup_np); return -ENOMEM; + } for (idx = 0; idx < bank->nr_pins; ++idx) { irq = irq_of_parse_and_map(bank->of_node, idx); @@ -544,10 +549,13 @@ } } - if (!muxed_banks) + if (!muxed_banks) { + of_node_put(wkup_np); return 0; + } irq = irq_of_parse_and_map(wkup_np, 0); + of_node_put(wkup_np); if (!irq) { dev_err(dev, "irq number for muxed EINTs not found\n"); return 0; diff -Nru linux-4.19.87/drivers/pinctrl/samsung/pinctrl-s3c24xx.c linux-4.19.98/drivers/pinctrl/samsung/pinctrl-s3c24xx.c --- linux-4.19.87/drivers/pinctrl/samsung/pinctrl-s3c24xx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pinctrl/samsung/pinctrl-s3c24xx.c 2020-01-23 07:21:39.000000000 +0000 @@ -490,8 +490,10 @@ return -ENODEV; eint_data = devm_kzalloc(dev, sizeof(*eint_data), GFP_KERNEL); - if (!eint_data) + if (!eint_data) { + of_node_put(eint_np); return -ENOMEM; + } eint_data->drvdata = d; @@ -503,12 +505,14 @@ irq = irq_of_parse_and_map(eint_np, i); if (!irq) { dev_err(dev, "failed to get wakeup EINT IRQ %d\n", i); + of_node_put(eint_np); return -ENXIO; } eint_data->parents[i] = irq; irq_set_chained_handler_and_data(irq, handlers[i], eint_data); } + of_node_put(eint_np); bank = d->pin_banks; for (i = 0; i < d->nr_banks; ++i, ++bank) { diff -Nru linux-4.19.87/drivers/pinctrl/samsung/pinctrl-s3c64xx.c linux-4.19.98/drivers/pinctrl/samsung/pinctrl-s3c64xx.c --- linux-4.19.87/drivers/pinctrl/samsung/pinctrl-s3c64xx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pinctrl/samsung/pinctrl-s3c64xx.c 2020-01-23 07:21:39.000000000 +0000 @@ -704,8 +704,10 @@ return -ENODEV; data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL); - if (!data) + if (!data) { + of_node_put(eint0_np); return -ENOMEM; + } data->drvdata = d; for (i = 0; i < NUM_EINT0_IRQ; ++i) { @@ -714,6 +716,7 @@ irq = irq_of_parse_and_map(eint0_np, i); if (!irq) { dev_err(dev, "failed to get wakeup EINT IRQ %d\n", i); + of_node_put(eint0_np); return -ENXIO; } @@ -721,6 +724,7 @@ s3c64xx_eint0_handlers[i], data); } + of_node_put(eint0_np); bank = d->pin_banks; for (i = 0; i < d->nr_banks; ++i, ++bank) { diff -Nru linux-4.19.87/drivers/pinctrl/samsung/pinctrl-samsung.c linux-4.19.98/drivers/pinctrl/samsung/pinctrl-samsung.c --- linux-4.19.87/drivers/pinctrl/samsung/pinctrl-samsung.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pinctrl/samsung/pinctrl-samsung.c 2020-01-23 07:21:39.000000000 +0000 @@ -272,6 +272,7 @@ &reserved_maps, num_maps); if (ret < 0) { samsung_dt_free_map(pctldev, *map, *num_maps); + of_node_put(np); return ret; } } @@ -785,8 +786,10 @@ if (!of_get_child_count(cfg_np)) { ret = samsung_pinctrl_create_function(dev, drvdata, cfg_np, func); - if (ret < 0) + if (ret < 0) { + of_node_put(cfg_np); return ERR_PTR(ret); + } if (ret > 0) { ++func; ++func_cnt; @@ -797,8 +800,11 @@ for_each_child_of_node(cfg_np, func_np) { ret = samsung_pinctrl_create_function(dev, drvdata, func_np, func); - if (ret < 0) + if (ret < 0) { + of_node_put(func_np); + of_node_put(cfg_np); return ERR_PTR(ret); + } if (ret > 0) { ++func; ++func_cnt; diff -Nru linux-4.19.87/drivers/pinctrl/sh-pfc/pfc-r8a77990.c linux-4.19.98/drivers/pinctrl/sh-pfc/pfc-r8a77990.c --- linux-4.19.87/drivers/pinctrl/sh-pfc/pfc-r8a77990.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pinctrl/sh-pfc/pfc-r8a77990.c 2020-01-23 07:21:39.000000000 +0000 @@ -395,7 +395,7 @@ #define MOD_SEL0_24 FM(SEL_HSCIF0_0) FM(SEL_HSCIF0_1) #define MOD_SEL0_23 FM(SEL_HSCIF1_0) FM(SEL_HSCIF1_1) #define MOD_SEL0_22 FM(SEL_HSCIF2_0) FM(SEL_HSCIF2_1) -#define MOD_SEL0_21_20 FM(SEL_I2C1_0) FM(SEL_I2C1_1) FM(SEL_I2C1_2) FM(SEL_I2C1_3) FM(SEL_I2C1_4) F_(0, 0) F_(0, 0) F_(0, 0) +#define MOD_SEL0_21_20 FM(SEL_I2C1_0) FM(SEL_I2C1_1) FM(SEL_I2C1_2) FM(SEL_I2C1_3) #define MOD_SEL0_19_18_17 FM(SEL_I2C2_0) FM(SEL_I2C2_1) FM(SEL_I2C2_2) FM(SEL_I2C2_3) FM(SEL_I2C2_4) F_(0, 0) F_(0, 0) F_(0, 0) #define MOD_SEL0_16 FM(SEL_NDFC_0) FM(SEL_NDFC_1) #define MOD_SEL0_15 FM(SEL_PWM0_0) FM(SEL_PWM0_1) diff -Nru linux-4.19.87/drivers/pinctrl/sh-pfc/pfc-sh7264.c linux-4.19.98/drivers/pinctrl/sh-pfc/pfc-sh7264.c --- linux-4.19.87/drivers/pinctrl/sh-pfc/pfc-sh7264.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pinctrl/sh-pfc/pfc-sh7264.c 2020-01-23 07:21:39.000000000 +0000 @@ -1716,6 +1716,9 @@ }, { PINMUX_CFG_REG("PFCR3", 0xfffe38a8, 16, 4) { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, PF12MD_000, PF12MD_001, 0, PF12MD_011, PF12MD_100, PF12MD_101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } @@ -1759,8 +1762,10 @@ 0, 0, 0, 0, 0, 0, 0, 0, PF1MD_000, PF1MD_001, PF1MD_010, PF1MD_011, PF1MD_100, PF1MD_101, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0 - } + 0, 0, 0, 0, 0, 0, 0, 0, + PF0MD_000, PF0MD_001, PF0MD_010, PF0MD_011, + PF0MD_100, PF0MD_101, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 } }, { PINMUX_CFG_REG("PFIOR0", 0xfffe38b2, 16, 1) { diff -Nru linux-4.19.87/drivers/pinctrl/sh-pfc/pfc-sh7734.c linux-4.19.98/drivers/pinctrl/sh-pfc/pfc-sh7734.c --- linux-4.19.87/drivers/pinctrl/sh-pfc/pfc-sh7734.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pinctrl/sh-pfc/pfc-sh7734.c 2020-01-23 07:21:39.000000000 +0000 @@ -1453,7 +1453,7 @@ GPIO_FN(ET0_ETXD2_A), GPIO_FN(EX_CS5), GPIO_FN(SD1_CMD_A), GPIO_FN(ATADIR), GPIO_FN(QSSL_B), GPIO_FN(ET0_ETXD3_A), - GPIO_FN(RD_WR), GPIO_FN(TCLK1_B), + GPIO_FN(RD_WR), GPIO_FN(TCLK0), GPIO_FN(CAN_CLK_B), GPIO_FN(ET0_ETXD4), GPIO_FN(EX_WAIT0), GPIO_FN(TCLK1_B), GPIO_FN(EX_WAIT1), GPIO_FN(SD1_DAT0_A), GPIO_FN(DREQ2), GPIO_FN(CAN1_TX_C), GPIO_FN(ET0_LINK_C), GPIO_FN(ET0_ETXD5_A), @@ -1949,7 +1949,7 @@ /* IP3_20 [1] */ FN_EX_WAIT0, FN_TCLK1_B, /* IP3_19_18 [2] */ - FN_RD_WR, FN_TCLK1_B, 0, 0, + FN_RD_WR, FN_TCLK0, FN_CAN_CLK_B, FN_ET0_ETXD4, /* IP3_17_15 [3] */ FN_EX_CS5, FN_SD1_CMD_A, FN_ATADIR, FN_QSSL_B, FN_ET0_ETXD3_A, 0, 0, 0, @@ -2213,22 +2213,22 @@ /* IP10_22 [1] */ FN_CAN_CLK_A, FN_RX4_D, /* IP10_21_19 [3] */ - FN_AUDIO_CLKOUT, FN_TX1_E, FN_HRTS0_C, FN_FSE_B, - FN_LCD_M_DISP_B, 0, 0, 0, + FN_AUDIO_CLKOUT, FN_TX1_E, 0, FN_HRTS0_C, FN_FSE_B, + FN_LCD_M_DISP_B, 0, 0, /* IP10_18_16 [3] */ - FN_AUDIO_CLKC, FN_SCK1_E, FN_HCTS0_C, FN_FRB_B, - FN_LCD_VEPWC_B, 0, 0, 0, + FN_AUDIO_CLKC, FN_SCK1_E, 0, FN_HCTS0_C, FN_FRB_B, + FN_LCD_VEPWC_B, 0, 0, /* IP10_15 [1] */ FN_AUDIO_CLKB_A, FN_LCD_CLK_B, /* IP10_14_12 [3] */ FN_AUDIO_CLKA_A, FN_VI1_CLK_B, FN_SCK1_D, FN_IECLK_B, FN_LCD_FLM_B, 0, 0, 0, /* IP10_11_9 [3] */ - FN_SSI_SDATA3, FN_VI1_7_B, FN_HTX0_C, FN_FWE_B, - FN_LCD_CL2_B, 0, 0, 0, + FN_SSI_SDATA3, FN_VI1_7_B, 0, FN_HTX0_C, FN_FWE_B, + FN_LCD_CL2_B, 0, 0, /* IP10_8_6 [3] */ - FN_SSI_SDATA2, FN_VI1_6_B, FN_HRX0_C, FN_FRE_B, - FN_LCD_CL1_B, 0, 0, 0, + FN_SSI_SDATA2, FN_VI1_6_B, 0, FN_HRX0_C, FN_FRE_B, + FN_LCD_CL1_B, 0, 0, /* IP10_5_3 [3] */ FN_SSI_WS23, FN_VI1_5_B, FN_TX1_D, FN_HSCK0_C, FN_FALE_B, FN_LCD_DON_B, 0, 0, 0, diff -Nru linux-4.19.87/drivers/pinctrl/stm32/pinctrl-stm32.c linux-4.19.98/drivers/pinctrl/stm32/pinctrl-stm32.c --- linux-4.19.87/drivers/pinctrl/stm32/pinctrl-stm32.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pinctrl/stm32/pinctrl-stm32.c 2020-01-23 07:21:39.000000000 +0000 @@ -410,7 +410,7 @@ unsigned int num_configs; bool has_config = 0; unsigned reserve = 0; - int num_pins, num_funcs, maps_per_pin, i, err; + int num_pins, num_funcs, maps_per_pin, i, err = 0; pctl = pinctrl_dev_get_drvdata(pctldev); @@ -437,41 +437,45 @@ if (has_config && num_pins >= 1) maps_per_pin++; - if (!num_pins || !maps_per_pin) - return -EINVAL; + if (!num_pins || !maps_per_pin) { + err = -EINVAL; + goto exit; + } reserve = num_pins * maps_per_pin; err = pinctrl_utils_reserve_map(pctldev, map, reserved_maps, num_maps, reserve); if (err) - return err; + goto exit; for (i = 0; i < num_pins; i++) { err = of_property_read_u32_index(node, "pinmux", i, &pinfunc); if (err) - return err; + goto exit; pin = STM32_GET_PIN_NO(pinfunc); func = STM32_GET_PIN_FUNC(pinfunc); if (!stm32_pctrl_is_function_valid(pctl, pin, func)) { dev_err(pctl->dev, "invalid function.\n"); - return -EINVAL; + err = -EINVAL; + goto exit; } grp = stm32_pctrl_find_group_by_pin(pctl, pin); if (!grp) { dev_err(pctl->dev, "unable to match pin %d to group\n", pin); - return -EINVAL; + err = -EINVAL; + goto exit; } err = stm32_pctrl_dt_node_to_map_func(pctl, pin, func, grp, map, reserved_maps, num_maps); if (err) - return err; + goto exit; if (has_config) { err = pinctrl_utils_add_map_configs(pctldev, map, @@ -479,11 +483,13 @@ configs, num_configs, PIN_MAP_TYPE_CONFIGS_GROUP); if (err) - return err; + goto exit; } } - return 0; +exit: + kfree(configs); + return err; } static int stm32_pctrl_dt_node_to_map(struct pinctrl_dev *pctldev, diff -Nru linux-4.19.87/drivers/pinctrl/ti/pinctrl-ti-iodelay.c linux-4.19.98/drivers/pinctrl/ti/pinctrl-ti-iodelay.c --- linux-4.19.87/drivers/pinctrl/ti/pinctrl-ti-iodelay.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pinctrl/ti/pinctrl-ti-iodelay.c 2020-01-23 07:21:39.000000000 +0000 @@ -496,7 +496,7 @@ return -EINVAL; rows = pinctrl_count_index_with_args(np, name); - if (rows == -EINVAL) + if (rows < 0) return rows; *map = devm_kzalloc(iod->dev, sizeof(**map), GFP_KERNEL); diff -Nru linux-4.19.87/drivers/platform/x86/asus-wmi.c linux-4.19.98/drivers/platform/x86/asus-wmi.c --- linux-4.19.87/drivers/platform/x86/asus-wmi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/platform/x86/asus-wmi.c 2020-01-23 07:21:39.000000000 +0000 @@ -463,13 +463,7 @@ asus = container_of(work, struct asus_wmi, kbd_led_work); - /* - * bits 0-2: level - * bit 7: light on/off - */ - if (asus->kbd_led_wk > 0) - ctrl_param = 0x80 | (asus->kbd_led_wk & 0x7F); - + ctrl_param = 0x80 | (asus->kbd_led_wk & 0x7F); asus_wmi_set_devstate(ASUS_WMI_DEVID_KBD_BACKLIGHT, ctrl_param, NULL); led_classdev_notify_brightness_hw_changed(&asus->kbd_led, asus->kbd_led_wk); } diff -Nru linux-4.19.87/drivers/platform/x86/gpd-pocket-fan.c linux-4.19.98/drivers/platform/x86/gpd-pocket-fan.c --- linux-4.19.87/drivers/platform/x86/gpd-pocket-fan.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/platform/x86/gpd-pocket-fan.c 2020-01-23 07:21:39.000000000 +0000 @@ -16,17 +16,27 @@ #define MAX_SPEED 3 -static int temp_limits[3] = { 55000, 60000, 65000 }; +#define TEMP_LIMIT0_DEFAULT 55000 +#define TEMP_LIMIT1_DEFAULT 60000 +#define TEMP_LIMIT2_DEFAULT 65000 + +#define HYSTERESIS_DEFAULT 3000 + +#define SPEED_ON_AC_DEFAULT 2 + +static int temp_limits[3] = { + TEMP_LIMIT0_DEFAULT, TEMP_LIMIT1_DEFAULT, TEMP_LIMIT2_DEFAULT, +}; module_param_array(temp_limits, int, NULL, 0444); MODULE_PARM_DESC(temp_limits, "Millicelsius values above which the fan speed increases"); -static int hysteresis = 3000; +static int hysteresis = HYSTERESIS_DEFAULT; module_param(hysteresis, int, 0444); MODULE_PARM_DESC(hysteresis, "Hysteresis in millicelsius before lowering the fan speed"); -static int speed_on_ac = 2; +static int speed_on_ac = SPEED_ON_AC_DEFAULT; module_param(speed_on_ac, int, 0444); MODULE_PARM_DESC(speed_on_ac, "minimum fan speed to allow when system is powered by AC"); @@ -120,18 +130,21 @@ if (temp_limits[i] < 40000 || temp_limits[i] > 70000) { dev_err(&pdev->dev, "Invalid temp-limit %d (must be between 40000 and 70000)\n", temp_limits[i]); - return -EINVAL; + temp_limits[0] = TEMP_LIMIT0_DEFAULT; + temp_limits[1] = TEMP_LIMIT1_DEFAULT; + temp_limits[2] = TEMP_LIMIT2_DEFAULT; + break; } } if (hysteresis < 1000 || hysteresis > 10000) { dev_err(&pdev->dev, "Invalid hysteresis %d (must be between 1000 and 10000)\n", hysteresis); - return -EINVAL; + hysteresis = HYSTERESIS_DEFAULT; } if (speed_on_ac < 0 || speed_on_ac > MAX_SPEED) { dev_err(&pdev->dev, "Invalid speed_on_ac %d (must be between 0 and 3)\n", speed_on_ac); - return -EINVAL; + speed_on_ac = SPEED_ON_AC_DEFAULT; } fan = devm_kzalloc(&pdev->dev, sizeof(*fan), GFP_KERNEL); diff -Nru linux-4.19.87/drivers/platform/x86/hp-wmi.c linux-4.19.98/drivers/platform/x86/hp-wmi.c --- linux-4.19.87/drivers/platform/x86/hp-wmi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/platform/x86/hp-wmi.c 2020-01-23 07:21:39.000000000 +0000 @@ -78,7 +78,7 @@ u32 command; u32 commandtype; u32 datasize; - u32 data; + u8 data[128]; }; enum hp_wmi_commandtype { @@ -229,7 +229,7 @@ .command = command, .commandtype = query, .datasize = insize, - .data = 0, + .data = { 0 }, }; struct acpi_buffer input = { sizeof(struct bios_args), &args }; struct acpi_buffer output = { ACPI_ALLOCATE_BUFFER, NULL }; @@ -241,7 +241,7 @@ if (WARN_ON(insize > sizeof(args.data))) return -EINVAL; - memcpy(&args.data, buffer, insize); + memcpy(&args.data[0], buffer, insize); wmi_evaluate_method(HPWMI_BIOS_GUID, 0, mid, &input, &output); @@ -313,7 +313,7 @@ static int __init hp_wmi_bios_2009_later(void) { - int state = 0; + u8 state[128]; int ret = hp_wmi_perform_query(HPWMI_FEATURE2_QUERY, HPWMI_READ, &state, sizeof(state), sizeof(state)); if (!ret) @@ -393,7 +393,7 @@ int err, i; err = hp_wmi_perform_query(HPWMI_WIRELESS2_QUERY, HPWMI_READ, &state, - 0, sizeof(state)); + sizeof(state), sizeof(state)); if (err) return err; @@ -790,7 +790,7 @@ int err, i; err = hp_wmi_perform_query(HPWMI_WIRELESS2_QUERY, HPWMI_READ, &state, - 0, sizeof(state)); + sizeof(state), sizeof(state)); if (err) return err < 0 ? err : -EINVAL; diff -Nru linux-4.19.87/drivers/platform/x86/mlx-platform.c linux-4.19.98/drivers/platform/x86/mlx-platform.c --- linux-4.19.87/drivers/platform/x86/mlx-platform.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/platform/x86/mlx-platform.c 2020-01-23 07:21:39.000000000 +0000 @@ -1421,7 +1421,7 @@ mlxplat_hotplug = &mlxplat_mlxcpld_msn201x_data; mlxplat_hotplug->deferred_nr = mlxplat_default_channels[i - 1][MLXPLAT_CPLD_GRP_CHNL_NUM - 1]; - mlxplat_led = &mlxplat_default_ng_led_data; + mlxplat_led = &mlxplat_msn21xx_led_data; mlxplat_regs_io = &mlxplat_msn21xx_regs_io_data; return 1; @@ -1439,7 +1439,7 @@ mlxplat_hotplug = &mlxplat_mlxcpld_default_ng_data; mlxplat_hotplug->deferred_nr = mlxplat_msn21xx_channels[MLXPLAT_CPLD_GRP_CHNL_NUM - 1]; - mlxplat_led = &mlxplat_msn21xx_led_data; + mlxplat_led = &mlxplat_default_ng_led_data; mlxplat_fan = &mlxplat_default_fan_data; return 1; diff -Nru linux-4.19.87/drivers/platform/x86/pmc_atom.c linux-4.19.98/drivers/platform/x86/pmc_atom.c --- linux-4.19.87/drivers/platform/x86/pmc_atom.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/platform/x86/pmc_atom.c 2020-01-23 07:21:39.000000000 +0000 @@ -452,6 +452,14 @@ DMI_MATCH(DMI_PRODUCT_VERSION, "6ES7647-8B"), }, }, + { + .ident = "CONNECT X300", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "SIEMENS AG"), + DMI_MATCH(DMI_PRODUCT_VERSION, "A5E45074588"), + }, + }, + { /*sentinel*/ } }; diff -Nru linux-4.19.87/drivers/power/avs/smartreflex.c linux-4.19.98/drivers/power/avs/smartreflex.c --- linux-4.19.87/drivers/power/avs/smartreflex.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/power/avs/smartreflex.c 2020-01-23 07:21:39.000000000 +0000 @@ -1010,8 +1010,7 @@ if (sr_info->autocomp_active) sr_stop_vddautocomp(sr_info); - if (sr_info->dbg_dir) - debugfs_remove_recursive(sr_info->dbg_dir); + debugfs_remove_recursive(sr_info->dbg_dir); pm_runtime_disable(&pdev->dev); list_del(&sr_info->node); diff -Nru linux-4.19.87/drivers/power/supply/cpcap-battery.c linux-4.19.98/drivers/power/supply/cpcap-battery.c --- linux-4.19.87/drivers/power/supply/cpcap-battery.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/power/supply/cpcap-battery.c 2020-01-23 07:21:39.000000000 +0000 @@ -82,7 +82,7 @@ }; struct cpcap_coulomb_counter_data { - s32 sample; /* 24-bits */ + s32 sample; /* 24 or 32 bits */ s32 accumulator; s16 offset; /* 10-bits */ }; @@ -213,7 +213,7 @@ * TI or ST coulomb counter in the PMIC. */ static int cpcap_battery_cc_raw_div(struct cpcap_battery_ddata *ddata, - u32 sample, s32 accumulator, + s32 sample, s32 accumulator, s16 offset, u32 divider) { s64 acc; @@ -224,7 +224,6 @@ if (!divider) return 0; - sample &= 0xffffff; /* 24-bits, unsigned */ offset &= 0x7ff; /* 10-bits, signed */ switch (ddata->vendor) { @@ -259,7 +258,7 @@ /* 3600000μAms = 1μAh */ static int cpcap_battery_cc_to_uah(struct cpcap_battery_ddata *ddata, - u32 sample, s32 accumulator, + s32 sample, s32 accumulator, s16 offset) { return cpcap_battery_cc_raw_div(ddata, sample, @@ -268,7 +267,7 @@ } static int cpcap_battery_cc_to_ua(struct cpcap_battery_ddata *ddata, - u32 sample, s32 accumulator, + s32 sample, s32 accumulator, s16 offset) { return cpcap_battery_cc_raw_div(ddata, sample, @@ -312,6 +311,8 @@ /* Sample value CPCAP_REG_CCS1 & 2 */ ccd->sample = (buf[1] & 0x0fff) << 16; ccd->sample |= buf[0]; + if (ddata->vendor == CPCAP_VENDOR_TI) + ccd->sample = sign_extend32(24, ccd->sample); /* Accumulator value CPCAP_REG_CCA1 & 2 */ ccd->accumulator = ((s16)buf[3]) << 16; diff -Nru linux-4.19.87/drivers/ptp/ptp_clock.c linux-4.19.98/drivers/ptp/ptp_clock.c --- linux-4.19.87/drivers/ptp/ptp_clock.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/ptp/ptp_clock.c 2020-01-23 07:21:39.000000000 +0000 @@ -175,10 +175,11 @@ .read = ptp_read, }; -static void delete_ptp_clock(struct posix_clock *pc) +static void ptp_clock_release(struct device *dev) { - struct ptp_clock *ptp = container_of(pc, struct ptp_clock, clock); + struct ptp_clock *ptp = container_of(dev, struct ptp_clock, dev); + ptp_cleanup_pin_groups(ptp); mutex_destroy(&ptp->tsevq_mux); mutex_destroy(&ptp->pincfg_mux); ida_simple_remove(&ptp_clocks_map, ptp->index); @@ -222,7 +223,6 @@ } ptp->clock.ops = ptp_clock_ops; - ptp->clock.release = delete_ptp_clock; ptp->info = info; ptp->devid = MKDEV(major, index); ptp->index = index; @@ -249,15 +249,6 @@ if (err) goto no_pin_groups; - /* Create a new device in our class. */ - ptp->dev = device_create_with_groups(ptp_class, parent, ptp->devid, - ptp, ptp->pin_attr_groups, - "ptp%d", ptp->index); - if (IS_ERR(ptp->dev)) { - err = PTR_ERR(ptp->dev); - goto no_device; - } - /* Register a new PPS source. */ if (info->pps) { struct pps_source_info pps; @@ -273,8 +264,18 @@ } } - /* Create a posix clock. */ - err = posix_clock_register(&ptp->clock, ptp->devid); + /* Initialize a new device of our class in our clock structure. */ + device_initialize(&ptp->dev); + ptp->dev.devt = ptp->devid; + ptp->dev.class = ptp_class; + ptp->dev.parent = parent; + ptp->dev.groups = ptp->pin_attr_groups; + ptp->dev.release = ptp_clock_release; + dev_set_drvdata(&ptp->dev, ptp); + dev_set_name(&ptp->dev, "ptp%d", ptp->index); + + /* Create a posix clock and link it to the device. */ + err = posix_clock_register(&ptp->clock, &ptp->dev); if (err) { pr_err("failed to create posix clock\n"); goto no_clock; @@ -286,8 +287,6 @@ if (ptp->pps_source) pps_unregister_source(ptp->pps_source); no_pps: - device_destroy(ptp_class, ptp->devid); -no_device: ptp_cleanup_pin_groups(ptp); no_pin_groups: if (ptp->kworker) @@ -317,10 +316,8 @@ if (ptp->pps_source) pps_unregister_source(ptp->pps_source); - device_destroy(ptp_class, ptp->devid); - ptp_cleanup_pin_groups(ptp); - posix_clock_unregister(&ptp->clock); + return 0; } EXPORT_SYMBOL(ptp_clock_unregister); diff -Nru linux-4.19.87/drivers/ptp/ptp_private.h linux-4.19.98/drivers/ptp/ptp_private.h --- linux-4.19.87/drivers/ptp/ptp_private.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/ptp/ptp_private.h 2020-01-23 07:21:39.000000000 +0000 @@ -41,7 +41,7 @@ struct ptp_clock { struct posix_clock clock; - struct device *dev; + struct device dev; struct ptp_clock_info *info; dev_t devid; int index; /* index into clocks.map */ diff -Nru linux-4.19.87/drivers/pwm/core.c linux-4.19.98/drivers/pwm/core.c --- linux-4.19.87/drivers/pwm/core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pwm/core.c 2020-01-23 07:21:39.000000000 +0000 @@ -874,6 +874,7 @@ if (pwm->chip->ops->free) pwm->chip->ops->free(pwm->chip, pwm); + pwm_set_chip_data(pwm, NULL); pwm->label = NULL; module_put(pwm->chip->ops->owner); diff -Nru linux-4.19.87/drivers/pwm/pwm-bcm-iproc.c linux-4.19.98/drivers/pwm/pwm-bcm-iproc.c --- linux-4.19.87/drivers/pwm/pwm-bcm-iproc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pwm/pwm-bcm-iproc.c 2020-01-23 07:21:39.000000000 +0000 @@ -187,6 +187,7 @@ static const struct pwm_ops iproc_pwm_ops = { .apply = iproc_pwmc_apply, .get_state = iproc_pwmc_get_state, + .owner = THIS_MODULE, }; static int iproc_pwmc_probe(struct platform_device *pdev) diff -Nru linux-4.19.87/drivers/pwm/pwm-berlin.c linux-4.19.98/drivers/pwm/pwm-berlin.c --- linux-4.19.87/drivers/pwm/pwm-berlin.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pwm/pwm-berlin.c 2020-01-23 07:21:39.000000000 +0000 @@ -84,7 +84,6 @@ { struct berlin_pwm_channel *channel = pwm_get_chip_data(pwm); - pwm_set_chip_data(pwm, NULL); kfree(channel); } diff -Nru linux-4.19.87/drivers/pwm/pwm-clps711x.c linux-4.19.98/drivers/pwm/pwm-clps711x.c --- linux-4.19.87/drivers/pwm/pwm-clps711x.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pwm/pwm-clps711x.c 2020-01-23 07:21:39.000000000 +0000 @@ -48,7 +48,7 @@ static unsigned int clps711x_get_duty(struct pwm_device *pwm, unsigned int v) { /* Duty cycle 0..15 max */ - return DIV_ROUND_CLOSEST(v * 0xf, pwm_get_period(pwm)); + return DIV_ROUND_CLOSEST(v * 0xf, pwm->args.period); } static int clps711x_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm) @@ -71,7 +71,7 @@ struct clps711x_chip *priv = to_clps711x_chip(chip); unsigned int duty; - if (period_ns != pwm_get_period(pwm)) + if (period_ns != pwm->args.period) return -EINVAL; duty = clps711x_get_duty(pwm, duty_ns); diff -Nru linux-4.19.87/drivers/pwm/pwm-pca9685.c linux-4.19.98/drivers/pwm/pwm-pca9685.c --- linux-4.19.87/drivers/pwm/pwm-pca9685.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pwm/pwm-pca9685.c 2020-01-23 07:21:39.000000000 +0000 @@ -176,7 +176,6 @@ pm_runtime_put(pca->chip.dev); mutex_lock(&pca->lock); pwm = &pca->chip.pwms[offset]; - pwm_set_chip_data(pwm, NULL); mutex_unlock(&pca->lock); } diff -Nru linux-4.19.87/drivers/pwm/pwm-samsung.c linux-4.19.98/drivers/pwm/pwm-samsung.c --- linux-4.19.87/drivers/pwm/pwm-samsung.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/pwm/pwm-samsung.c 2020-01-23 07:21:39.000000000 +0000 @@ -238,7 +238,6 @@ static void pwm_samsung_free(struct pwm_chip *chip, struct pwm_device *pwm) { devm_kfree(chip->dev, pwm_get_chip_data(pwm)); - pwm_set_chip_data(pwm, NULL); } static int pwm_samsung_enable(struct pwm_chip *chip, struct pwm_device *pwm) diff -Nru linux-4.19.87/drivers/regulator/88pm800-regulator.c linux-4.19.98/drivers/regulator/88pm800-regulator.c --- linux-4.19.87/drivers/regulator/88pm800-regulator.c 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/drivers/regulator/88pm800-regulator.c 2020-01-23 07:21:39.000000000 +0000 @@ -0,0 +1,305 @@ +/* + * Regulators driver for Marvell 88PM800 + * + * Copyright (C) 2012 Marvell International Ltd. + * Joseph(Yossi) Hanin + * Yi Zhang + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* LDO1 with DVC[0..3] */ +#define PM800_LDO1_VOUT (0x08) /* VOUT1 */ +#define PM800_LDO1_VOUT_2 (0x09) +#define PM800_LDO1_VOUT_3 (0x0A) +#define PM800_LDO2_VOUT (0x0B) +#define PM800_LDO3_VOUT (0x0C) +#define PM800_LDO4_VOUT (0x0D) +#define PM800_LDO5_VOUT (0x0E) +#define PM800_LDO6_VOUT (0x0F) +#define PM800_LDO7_VOUT (0x10) +#define PM800_LDO8_VOUT (0x11) +#define PM800_LDO9_VOUT (0x12) +#define PM800_LDO10_VOUT (0x13) +#define PM800_LDO11_VOUT (0x14) +#define PM800_LDO12_VOUT (0x15) +#define PM800_LDO13_VOUT (0x16) +#define PM800_LDO14_VOUT (0x17) +#define PM800_LDO15_VOUT (0x18) +#define PM800_LDO16_VOUT (0x19) +#define PM800_LDO17_VOUT (0x1A) +#define PM800_LDO18_VOUT (0x1B) +#define PM800_LDO19_VOUT (0x1C) + +/* BUCK1 with DVC[0..3] */ +#define PM800_BUCK1 (0x3C) +#define PM800_BUCK1_1 (0x3D) +#define PM800_BUCK1_2 (0x3E) +#define PM800_BUCK1_3 (0x3F) +#define PM800_BUCK2 (0x40) +#define PM800_BUCK3 (0x41) +#define PM800_BUCK4 (0x42) +#define PM800_BUCK4_1 (0x43) +#define PM800_BUCK4_2 (0x44) +#define PM800_BUCK4_3 (0x45) +#define PM800_BUCK5 (0x46) + +#define PM800_BUCK_ENA (0x50) +#define PM800_LDO_ENA1_1 (0x51) +#define PM800_LDO_ENA1_2 (0x52) +#define PM800_LDO_ENA1_3 (0x53) + +#define PM800_LDO_ENA2_1 (0x56) +#define PM800_LDO_ENA2_2 (0x57) +#define PM800_LDO_ENA2_3 (0x58) + +#define PM800_BUCK1_MISC1 (0x78) +#define PM800_BUCK3_MISC1 (0x7E) +#define PM800_BUCK4_MISC1 (0x81) +#define PM800_BUCK5_MISC1 (0x84) + +struct pm800_regulator_info { + struct regulator_desc desc; + int max_ua; +}; + +struct pm800_regulators { + struct pm80x_chip *chip; + struct regmap *map; +}; + +/* + * vreg - the buck regs string. + * ereg - the string for the enable register. + * ebit - the bit number in the enable register. + * amax - the current + * Buck has 2 kinds of voltage steps. It is easy to find voltage by ranges, + * not the constant voltage table. + * n_volt - Number of available selectors + */ +#define PM800_BUCK(match, vreg, ereg, ebit, amax, volt_ranges, n_volt) \ +{ \ + .desc = { \ + .name = #vreg, \ + .of_match = of_match_ptr(#match), \ + .regulators_node = of_match_ptr("regulators"), \ + .ops = &pm800_volt_range_ops, \ + .type = REGULATOR_VOLTAGE, \ + .id = PM800_ID_##vreg, \ + .owner = THIS_MODULE, \ + .n_voltages = n_volt, \ + .linear_ranges = volt_ranges, \ + .n_linear_ranges = ARRAY_SIZE(volt_ranges), \ + .vsel_reg = PM800_##vreg, \ + .vsel_mask = 0x7f, \ + .enable_reg = PM800_##ereg, \ + .enable_mask = 1 << (ebit), \ + }, \ + .max_ua = (amax), \ +} + +/* + * vreg - the LDO regs string + * ereg - the string for the enable register. + * ebit - the bit number in the enable register. + * amax - the current + * volt_table - the LDO voltage table + * For all the LDOes, there are too many ranges. Using volt_table will be + * simpler and faster. + */ +#define PM800_LDO(match, vreg, ereg, ebit, amax, ldo_volt_table) \ +{ \ + .desc = { \ + .name = #vreg, \ + .of_match = of_match_ptr(#match), \ + .regulators_node = of_match_ptr("regulators"), \ + .ops = &pm800_volt_table_ops, \ + .type = REGULATOR_VOLTAGE, \ + .id = PM800_ID_##vreg, \ + .owner = THIS_MODULE, \ + .n_voltages = ARRAY_SIZE(ldo_volt_table), \ + .vsel_reg = PM800_##vreg##_VOUT, \ + .vsel_mask = 0xf, \ + .enable_reg = PM800_##ereg, \ + .enable_mask = 1 << (ebit), \ + .volt_table = ldo_volt_table, \ + }, \ + .max_ua = (amax), \ +} + +/* Ranges are sorted in ascending order. */ +static const struct regulator_linear_range buck1_volt_range[] = { + REGULATOR_LINEAR_RANGE(600000, 0, 0x4f, 12500), + REGULATOR_LINEAR_RANGE(1600000, 0x50, 0x54, 50000), +}; + +/* BUCK 2~5 have same ranges. */ +static const struct regulator_linear_range buck2_5_volt_range[] = { + REGULATOR_LINEAR_RANGE(600000, 0, 0x4f, 12500), + REGULATOR_LINEAR_RANGE(1600000, 0x50, 0x72, 50000), +}; + +static const unsigned int ldo1_volt_table[] = { + 600000, 650000, 700000, 750000, 800000, 850000, 900000, 950000, + 1000000, 1050000, 1100000, 1150000, 1200000, 1300000, 1400000, 1500000, +}; + +static const unsigned int ldo2_volt_table[] = { + 1700000, 1800000, 1900000, 2000000, 2100000, 2500000, 2700000, 2800000, +}; + +/* LDO 3~17 have same voltage table. */ +static const unsigned int ldo3_17_volt_table[] = { + 1200000, 1250000, 1700000, 1800000, 1850000, 1900000, 2500000, 2600000, + 2700000, 2750000, 2800000, 2850000, 2900000, 3000000, 3100000, 3300000, +}; + +/* LDO 18~19 have same voltage table. */ +static const unsigned int ldo18_19_volt_table[] = { + 1700000, 1800000, 1900000, 2500000, 2800000, 2900000, 3100000, 3300000, +}; + +static int pm800_get_current_limit(struct regulator_dev *rdev) +{ + struct pm800_regulator_info *info = rdev_get_drvdata(rdev); + + return info->max_ua; +} + +static const struct regulator_ops pm800_volt_range_ops = { + .list_voltage = regulator_list_voltage_linear_range, + .map_voltage = regulator_map_voltage_linear_range, + .set_voltage_sel = regulator_set_voltage_sel_regmap, + .get_voltage_sel = regulator_get_voltage_sel_regmap, + .enable = regulator_enable_regmap, + .disable = regulator_disable_regmap, + .is_enabled = regulator_is_enabled_regmap, + .get_current_limit = pm800_get_current_limit, +}; + +static const struct regulator_ops pm800_volt_table_ops = { + .list_voltage = regulator_list_voltage_table, + .map_voltage = regulator_map_voltage_iterate, + .set_voltage_sel = regulator_set_voltage_sel_regmap, + .get_voltage_sel = regulator_get_voltage_sel_regmap, + .enable = regulator_enable_regmap, + .disable = regulator_disable_regmap, + .is_enabled = regulator_is_enabled_regmap, + .get_current_limit = pm800_get_current_limit, +}; + +/* The array is indexed by id(PM800_ID_XXX) */ +static struct pm800_regulator_info pm800_regulator_info[] = { + PM800_BUCK(buck1, BUCK1, BUCK_ENA, 0, 3000000, buck1_volt_range, 0x55), + PM800_BUCK(buck2, BUCK2, BUCK_ENA, 1, 1200000, buck2_5_volt_range, 0x73), + PM800_BUCK(buck3, BUCK3, BUCK_ENA, 2, 1200000, buck2_5_volt_range, 0x73), + PM800_BUCK(buck4, BUCK4, BUCK_ENA, 3, 1200000, buck2_5_volt_range, 0x73), + PM800_BUCK(buck5, BUCK5, BUCK_ENA, 4, 1200000, buck2_5_volt_range, 0x73), + + PM800_LDO(ldo1, LDO1, LDO_ENA1_1, 0, 200000, ldo1_volt_table), + PM800_LDO(ldo2, LDO2, LDO_ENA1_1, 1, 10000, ldo2_volt_table), + PM800_LDO(ldo3, LDO3, LDO_ENA1_1, 2, 300000, ldo3_17_volt_table), + PM800_LDO(ldo4, LDO4, LDO_ENA1_1, 3, 300000, ldo3_17_volt_table), + PM800_LDO(ldo5, LDO5, LDO_ENA1_1, 4, 300000, ldo3_17_volt_table), + PM800_LDO(ldo6, LDO6, LDO_ENA1_1, 5, 300000, ldo3_17_volt_table), + PM800_LDO(ldo7, LDO7, LDO_ENA1_1, 6, 300000, ldo3_17_volt_table), + PM800_LDO(ldo8, LDO8, LDO_ENA1_1, 7, 300000, ldo3_17_volt_table), + PM800_LDO(ldo9, LDO9, LDO_ENA1_2, 0, 300000, ldo3_17_volt_table), + PM800_LDO(ldo10, LDO10, LDO_ENA1_2, 1, 300000, ldo3_17_volt_table), + PM800_LDO(ldo11, LDO11, LDO_ENA1_2, 2, 300000, ldo3_17_volt_table), + PM800_LDO(ldo12, LDO12, LDO_ENA1_2, 3, 300000, ldo3_17_volt_table), + PM800_LDO(ldo13, LDO13, LDO_ENA1_2, 4, 300000, ldo3_17_volt_table), + PM800_LDO(ldo14, LDO14, LDO_ENA1_2, 5, 300000, ldo3_17_volt_table), + PM800_LDO(ldo15, LDO15, LDO_ENA1_2, 6, 300000, ldo3_17_volt_table), + PM800_LDO(ldo16, LDO16, LDO_ENA1_2, 7, 300000, ldo3_17_volt_table), + PM800_LDO(ldo17, LDO17, LDO_ENA1_3, 0, 300000, ldo3_17_volt_table), + PM800_LDO(ldo18, LDO18, LDO_ENA1_3, 1, 200000, ldo18_19_volt_table), + PM800_LDO(ldo19, LDO19, LDO_ENA1_3, 2, 200000, ldo18_19_volt_table), +}; + +static int pm800_regulator_probe(struct platform_device *pdev) +{ + struct pm80x_chip *chip = dev_get_drvdata(pdev->dev.parent); + struct pm80x_platform_data *pdata = dev_get_platdata(pdev->dev.parent); + struct pm800_regulators *pm800_data; + struct regulator_config config = { }; + struct regulator_init_data *init_data; + int i, ret; + + if (pdata && pdata->num_regulators) { + unsigned int count = 0; + + /* Check whether num_regulator is valid. */ + for (i = 0; i < ARRAY_SIZE(pdata->regulators); i++) { + if (pdata->regulators[i]) + count++; + } + if (count != pdata->num_regulators) + return -EINVAL; + } + + pm800_data = devm_kzalloc(&pdev->dev, sizeof(*pm800_data), + GFP_KERNEL); + if (!pm800_data) + return -ENOMEM; + + pm800_data->map = chip->subchip->regmap_power; + pm800_data->chip = chip; + + platform_set_drvdata(pdev, pm800_data); + + config.dev = chip->dev; + config.regmap = pm800_data->map; + for (i = 0; i < PM800_ID_RG_MAX; i++) { + struct regulator_dev *regulator; + + if (pdata && pdata->num_regulators) { + init_data = pdata->regulators[i]; + if (!init_data) + continue; + + config.init_data = init_data; + } + + config.driver_data = &pm800_regulator_info[i]; + + regulator = devm_regulator_register(&pdev->dev, + &pm800_regulator_info[i].desc, &config); + if (IS_ERR(regulator)) { + ret = PTR_ERR(regulator); + dev_err(&pdev->dev, "Failed to register %s\n", + pm800_regulator_info[i].desc.name); + return ret; + } + } + + return 0; +} + +static struct platform_driver pm800_regulator_driver = { + .driver = { + .name = "88pm80x-regulator", + }, + .probe = pm800_regulator_probe, +}; + +module_platform_driver(pm800_regulator_driver); + +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Joseph(Yossi) Hanin "); +MODULE_DESCRIPTION("Regulator Driver for Marvell 88PM800 PMIC"); +MODULE_ALIAS("platform:88pm800-regulator"); diff -Nru linux-4.19.87/drivers/regulator/88pm800.c linux-4.19.98/drivers/regulator/88pm800.c --- linux-4.19.87/drivers/regulator/88pm800.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/regulator/88pm800.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,305 +0,0 @@ -/* - * Regulators driver for Marvell 88PM800 - * - * Copyright (C) 2012 Marvell International Ltd. - * Joseph(Yossi) Hanin - * Yi Zhang - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* LDO1 with DVC[0..3] */ -#define PM800_LDO1_VOUT (0x08) /* VOUT1 */ -#define PM800_LDO1_VOUT_2 (0x09) -#define PM800_LDO1_VOUT_3 (0x0A) -#define PM800_LDO2_VOUT (0x0B) -#define PM800_LDO3_VOUT (0x0C) -#define PM800_LDO4_VOUT (0x0D) -#define PM800_LDO5_VOUT (0x0E) -#define PM800_LDO6_VOUT (0x0F) -#define PM800_LDO7_VOUT (0x10) -#define PM800_LDO8_VOUT (0x11) -#define PM800_LDO9_VOUT (0x12) -#define PM800_LDO10_VOUT (0x13) -#define PM800_LDO11_VOUT (0x14) -#define PM800_LDO12_VOUT (0x15) -#define PM800_LDO13_VOUT (0x16) -#define PM800_LDO14_VOUT (0x17) -#define PM800_LDO15_VOUT (0x18) -#define PM800_LDO16_VOUT (0x19) -#define PM800_LDO17_VOUT (0x1A) -#define PM800_LDO18_VOUT (0x1B) -#define PM800_LDO19_VOUT (0x1C) - -/* BUCK1 with DVC[0..3] */ -#define PM800_BUCK1 (0x3C) -#define PM800_BUCK1_1 (0x3D) -#define PM800_BUCK1_2 (0x3E) -#define PM800_BUCK1_3 (0x3F) -#define PM800_BUCK2 (0x40) -#define PM800_BUCK3 (0x41) -#define PM800_BUCK4 (0x42) -#define PM800_BUCK4_1 (0x43) -#define PM800_BUCK4_2 (0x44) -#define PM800_BUCK4_3 (0x45) -#define PM800_BUCK5 (0x46) - -#define PM800_BUCK_ENA (0x50) -#define PM800_LDO_ENA1_1 (0x51) -#define PM800_LDO_ENA1_2 (0x52) -#define PM800_LDO_ENA1_3 (0x53) - -#define PM800_LDO_ENA2_1 (0x56) -#define PM800_LDO_ENA2_2 (0x57) -#define PM800_LDO_ENA2_3 (0x58) - -#define PM800_BUCK1_MISC1 (0x78) -#define PM800_BUCK3_MISC1 (0x7E) -#define PM800_BUCK4_MISC1 (0x81) -#define PM800_BUCK5_MISC1 (0x84) - -struct pm800_regulator_info { - struct regulator_desc desc; - int max_ua; -}; - -struct pm800_regulators { - struct pm80x_chip *chip; - struct regmap *map; -}; - -/* - * vreg - the buck regs string. - * ereg - the string for the enable register. - * ebit - the bit number in the enable register. - * amax - the current - * Buck has 2 kinds of voltage steps. It is easy to find voltage by ranges, - * not the constant voltage table. - * n_volt - Number of available selectors - */ -#define PM800_BUCK(match, vreg, ereg, ebit, amax, volt_ranges, n_volt) \ -{ \ - .desc = { \ - .name = #vreg, \ - .of_match = of_match_ptr(#match), \ - .regulators_node = of_match_ptr("regulators"), \ - .ops = &pm800_volt_range_ops, \ - .type = REGULATOR_VOLTAGE, \ - .id = PM800_ID_##vreg, \ - .owner = THIS_MODULE, \ - .n_voltages = n_volt, \ - .linear_ranges = volt_ranges, \ - .n_linear_ranges = ARRAY_SIZE(volt_ranges), \ - .vsel_reg = PM800_##vreg, \ - .vsel_mask = 0x7f, \ - .enable_reg = PM800_##ereg, \ - .enable_mask = 1 << (ebit), \ - }, \ - .max_ua = (amax), \ -} - -/* - * vreg - the LDO regs string - * ereg - the string for the enable register. - * ebit - the bit number in the enable register. - * amax - the current - * volt_table - the LDO voltage table - * For all the LDOes, there are too many ranges. Using volt_table will be - * simpler and faster. - */ -#define PM800_LDO(match, vreg, ereg, ebit, amax, ldo_volt_table) \ -{ \ - .desc = { \ - .name = #vreg, \ - .of_match = of_match_ptr(#match), \ - .regulators_node = of_match_ptr("regulators"), \ - .ops = &pm800_volt_table_ops, \ - .type = REGULATOR_VOLTAGE, \ - .id = PM800_ID_##vreg, \ - .owner = THIS_MODULE, \ - .n_voltages = ARRAY_SIZE(ldo_volt_table), \ - .vsel_reg = PM800_##vreg##_VOUT, \ - .vsel_mask = 0xf, \ - .enable_reg = PM800_##ereg, \ - .enable_mask = 1 << (ebit), \ - .volt_table = ldo_volt_table, \ - }, \ - .max_ua = (amax), \ -} - -/* Ranges are sorted in ascending order. */ -static const struct regulator_linear_range buck1_volt_range[] = { - REGULATOR_LINEAR_RANGE(600000, 0, 0x4f, 12500), - REGULATOR_LINEAR_RANGE(1600000, 0x50, 0x54, 50000), -}; - -/* BUCK 2~5 have same ranges. */ -static const struct regulator_linear_range buck2_5_volt_range[] = { - REGULATOR_LINEAR_RANGE(600000, 0, 0x4f, 12500), - REGULATOR_LINEAR_RANGE(1600000, 0x50, 0x72, 50000), -}; - -static const unsigned int ldo1_volt_table[] = { - 600000, 650000, 700000, 750000, 800000, 850000, 900000, 950000, - 1000000, 1050000, 1100000, 1150000, 1200000, 1300000, 1400000, 1500000, -}; - -static const unsigned int ldo2_volt_table[] = { - 1700000, 1800000, 1900000, 2000000, 2100000, 2500000, 2700000, 2800000, -}; - -/* LDO 3~17 have same voltage table. */ -static const unsigned int ldo3_17_volt_table[] = { - 1200000, 1250000, 1700000, 1800000, 1850000, 1900000, 2500000, 2600000, - 2700000, 2750000, 2800000, 2850000, 2900000, 3000000, 3100000, 3300000, -}; - -/* LDO 18~19 have same voltage table. */ -static const unsigned int ldo18_19_volt_table[] = { - 1700000, 1800000, 1900000, 2500000, 2800000, 2900000, 3100000, 3300000, -}; - -static int pm800_get_current_limit(struct regulator_dev *rdev) -{ - struct pm800_regulator_info *info = rdev_get_drvdata(rdev); - - return info->max_ua; -} - -static const struct regulator_ops pm800_volt_range_ops = { - .list_voltage = regulator_list_voltage_linear_range, - .map_voltage = regulator_map_voltage_linear_range, - .set_voltage_sel = regulator_set_voltage_sel_regmap, - .get_voltage_sel = regulator_get_voltage_sel_regmap, - .enable = regulator_enable_regmap, - .disable = regulator_disable_regmap, - .is_enabled = regulator_is_enabled_regmap, - .get_current_limit = pm800_get_current_limit, -}; - -static const struct regulator_ops pm800_volt_table_ops = { - .list_voltage = regulator_list_voltage_table, - .map_voltage = regulator_map_voltage_iterate, - .set_voltage_sel = regulator_set_voltage_sel_regmap, - .get_voltage_sel = regulator_get_voltage_sel_regmap, - .enable = regulator_enable_regmap, - .disable = regulator_disable_regmap, - .is_enabled = regulator_is_enabled_regmap, - .get_current_limit = pm800_get_current_limit, -}; - -/* The array is indexed by id(PM800_ID_XXX) */ -static struct pm800_regulator_info pm800_regulator_info[] = { - PM800_BUCK(buck1, BUCK1, BUCK_ENA, 0, 3000000, buck1_volt_range, 0x55), - PM800_BUCK(buck2, BUCK2, BUCK_ENA, 1, 1200000, buck2_5_volt_range, 0x73), - PM800_BUCK(buck3, BUCK3, BUCK_ENA, 2, 1200000, buck2_5_volt_range, 0x73), - PM800_BUCK(buck4, BUCK4, BUCK_ENA, 3, 1200000, buck2_5_volt_range, 0x73), - PM800_BUCK(buck5, BUCK5, BUCK_ENA, 4, 1200000, buck2_5_volt_range, 0x73), - - PM800_LDO(ldo1, LDO1, LDO_ENA1_1, 0, 200000, ldo1_volt_table), - PM800_LDO(ldo2, LDO2, LDO_ENA1_1, 1, 10000, ldo2_volt_table), - PM800_LDO(ldo3, LDO3, LDO_ENA1_1, 2, 300000, ldo3_17_volt_table), - PM800_LDO(ldo4, LDO4, LDO_ENA1_1, 3, 300000, ldo3_17_volt_table), - PM800_LDO(ldo5, LDO5, LDO_ENA1_1, 4, 300000, ldo3_17_volt_table), - PM800_LDO(ldo6, LDO6, LDO_ENA1_1, 5, 300000, ldo3_17_volt_table), - PM800_LDO(ldo7, LDO7, LDO_ENA1_1, 6, 300000, ldo3_17_volt_table), - PM800_LDO(ldo8, LDO8, LDO_ENA1_1, 7, 300000, ldo3_17_volt_table), - PM800_LDO(ldo9, LDO9, LDO_ENA1_2, 0, 300000, ldo3_17_volt_table), - PM800_LDO(ldo10, LDO10, LDO_ENA1_2, 1, 300000, ldo3_17_volt_table), - PM800_LDO(ldo11, LDO11, LDO_ENA1_2, 2, 300000, ldo3_17_volt_table), - PM800_LDO(ldo12, LDO12, LDO_ENA1_2, 3, 300000, ldo3_17_volt_table), - PM800_LDO(ldo13, LDO13, LDO_ENA1_2, 4, 300000, ldo3_17_volt_table), - PM800_LDO(ldo14, LDO14, LDO_ENA1_2, 5, 300000, ldo3_17_volt_table), - PM800_LDO(ldo15, LDO15, LDO_ENA1_2, 6, 300000, ldo3_17_volt_table), - PM800_LDO(ldo16, LDO16, LDO_ENA1_2, 7, 300000, ldo3_17_volt_table), - PM800_LDO(ldo17, LDO17, LDO_ENA1_3, 0, 300000, ldo3_17_volt_table), - PM800_LDO(ldo18, LDO18, LDO_ENA1_3, 1, 200000, ldo18_19_volt_table), - PM800_LDO(ldo19, LDO19, LDO_ENA1_3, 2, 200000, ldo18_19_volt_table), -}; - -static int pm800_regulator_probe(struct platform_device *pdev) -{ - struct pm80x_chip *chip = dev_get_drvdata(pdev->dev.parent); - struct pm80x_platform_data *pdata = dev_get_platdata(pdev->dev.parent); - struct pm800_regulators *pm800_data; - struct regulator_config config = { }; - struct regulator_init_data *init_data; - int i, ret; - - if (pdata && pdata->num_regulators) { - unsigned int count = 0; - - /* Check whether num_regulator is valid. */ - for (i = 0; i < ARRAY_SIZE(pdata->regulators); i++) { - if (pdata->regulators[i]) - count++; - } - if (count != pdata->num_regulators) - return -EINVAL; - } - - pm800_data = devm_kzalloc(&pdev->dev, sizeof(*pm800_data), - GFP_KERNEL); - if (!pm800_data) - return -ENOMEM; - - pm800_data->map = chip->subchip->regmap_power; - pm800_data->chip = chip; - - platform_set_drvdata(pdev, pm800_data); - - config.dev = chip->dev; - config.regmap = pm800_data->map; - for (i = 0; i < PM800_ID_RG_MAX; i++) { - struct regulator_dev *regulator; - - if (pdata && pdata->num_regulators) { - init_data = pdata->regulators[i]; - if (!init_data) - continue; - - config.init_data = init_data; - } - - config.driver_data = &pm800_regulator_info[i]; - - regulator = devm_regulator_register(&pdev->dev, - &pm800_regulator_info[i].desc, &config); - if (IS_ERR(regulator)) { - ret = PTR_ERR(regulator); - dev_err(&pdev->dev, "Failed to register %s\n", - pm800_regulator_info[i].desc.name); - return ret; - } - } - - return 0; -} - -static struct platform_driver pm800_regulator_driver = { - .driver = { - .name = "88pm80x-regulator", - }, - .probe = pm800_regulator_probe, -}; - -module_platform_driver(pm800_regulator_driver); - -MODULE_LICENSE("GPL"); -MODULE_AUTHOR("Joseph(Yossi) Hanin "); -MODULE_DESCRIPTION("Regulator Driver for Marvell 88PM800 PMIC"); -MODULE_ALIAS("platform:88pm800-regulator"); diff -Nru linux-4.19.87/drivers/regulator/Makefile linux-4.19.98/drivers/regulator/Makefile --- linux-4.19.87/drivers/regulator/Makefile 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/regulator/Makefile 2020-01-23 07:21:39.000000000 +0000 @@ -11,7 +11,7 @@ obj-$(CONFIG_REGULATOR_USERSPACE_CONSUMER) += userspace-consumer.o obj-$(CONFIG_REGULATOR_88PG86X) += 88pg86x.o -obj-$(CONFIG_REGULATOR_88PM800) += 88pm800.o +obj-$(CONFIG_REGULATOR_88PM800) += 88pm800-regulator.o obj-$(CONFIG_REGULATOR_88PM8607) += 88pm8607.o obj-$(CONFIG_REGULATOR_CPCAP) += cpcap-regulator.o obj-$(CONFIG_REGULATOR_AAT2870) += aat2870-regulator.o diff -Nru linux-4.19.87/drivers/regulator/ab8500.c linux-4.19.98/drivers/regulator/ab8500.c --- linux-4.19.87/drivers/regulator/ab8500.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/regulator/ab8500.c 2020-01-23 07:21:39.000000000 +0000 @@ -956,23 +956,6 @@ .update_val_idle = 0x82, .update_val_normal = 0x02, }, - [AB8505_LDO_USB] = { - .desc = { - .name = "LDO-USB", - .ops = &ab8500_regulator_mode_ops, - .type = REGULATOR_VOLTAGE, - .id = AB8505_LDO_USB, - .owner = THIS_MODULE, - .n_voltages = 1, - .volt_table = fixed_3300000_voltage, - }, - .update_bank = 0x03, - .update_reg = 0x82, - .update_mask = 0x03, - .update_val = 0x01, - .update_val_idle = 0x03, - .update_val_normal = 0x01, - }, [AB8505_LDO_AUDIO] = { .desc = { .name = "LDO-AUDIO", diff -Nru linux-4.19.87/drivers/regulator/core.c linux-4.19.98/drivers/regulator/core.c --- linux-4.19.87/drivers/regulator/core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/regulator/core.c 2020-01-23 07:21:39.000000000 +0000 @@ -1724,8 +1724,8 @@ regulator = create_regulator(rdev, dev, id); if (regulator == NULL) { regulator = ERR_PTR(-ENOMEM); - put_device(&rdev->dev); module_put(rdev->owner); + put_device(&rdev->dev); return regulator; } @@ -1851,13 +1851,13 @@ rdev->open_count--; rdev->exclusive = 0; - put_device(&rdev->dev); regulator_unlock(rdev); kfree_const(regulator->supply_name); kfree(regulator); module_put(rdev->owner); + put_device(&rdev->dev); } /** diff -Nru linux-4.19.87/drivers/regulator/max8907-regulator.c linux-4.19.98/drivers/regulator/max8907-regulator.c --- linux-4.19.87/drivers/regulator/max8907-regulator.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/regulator/max8907-regulator.c 2020-01-23 07:21:39.000000000 +0000 @@ -299,7 +299,10 @@ memcpy(pmic->desc, max8907_regulators, sizeof(pmic->desc)); /* Backwards compatibility with MAX8907B; SD1 uses different voltages */ - regmap_read(max8907->regmap_gen, MAX8907_REG_II2RR, &val); + ret = regmap_read(max8907->regmap_gen, MAX8907_REG_II2RR, &val); + if (ret) + return ret; + if ((val & MAX8907_II2RR_VERSION_MASK) == MAX8907_II2RR_VERSION_REV_B) { pmic->desc[MAX8907_SD1].min_uV = 637500; @@ -336,14 +339,20 @@ } if (pmic->desc[i].ops == &max8907_ldo_ops) { - regmap_read(config.regmap, pmic->desc[i].enable_reg, + ret = regmap_read(config.regmap, pmic->desc[i].enable_reg, &val); + if (ret) + return ret; + if ((val & MAX8907_MASK_LDO_SEQ) != MAX8907_MASK_LDO_SEQ) pmic->desc[i].ops = &max8907_ldo_hwctl_ops; } else if (pmic->desc[i].ops == &max8907_out5v_ops) { - regmap_read(config.regmap, pmic->desc[i].enable_reg, + ret = regmap_read(config.regmap, pmic->desc[i].enable_reg, &val); + if (ret) + return ret; + if ((val & (MAX8907_MASK_OUT5V_VINEN | MAX8907_MASK_OUT5V_ENSRC)) != MAX8907_MASK_OUT5V_ENSRC) diff -Nru linux-4.19.87/drivers/regulator/palmas-regulator.c linux-4.19.98/drivers/regulator/palmas-regulator.c --- linux-4.19.87/drivers/regulator/palmas-regulator.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/regulator/palmas-regulator.c 2020-01-23 07:21:39.000000000 +0000 @@ -443,13 +443,16 @@ static int palmas_set_mode_smps(struct regulator_dev *dev, unsigned int mode) { int id = rdev_get_id(dev); + int ret; struct palmas_pmic *pmic = rdev_get_drvdata(dev); struct palmas_pmic_driver_data *ddata = pmic->palmas->pmic_ddata; struct palmas_regs_info *rinfo = &ddata->palmas_regs_info[id]; unsigned int reg; bool rail_enable = true; - palmas_smps_read(pmic->palmas, rinfo->ctrl_addr, ®); + ret = palmas_smps_read(pmic->palmas, rinfo->ctrl_addr, ®); + if (ret) + return ret; reg &= ~PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK; diff -Nru linux-4.19.87/drivers/regulator/rn5t618-regulator.c linux-4.19.98/drivers/regulator/rn5t618-regulator.c --- linux-4.19.87/drivers/regulator/rn5t618-regulator.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/regulator/rn5t618-regulator.c 2020-01-23 07:21:39.000000000 +0000 @@ -154,6 +154,7 @@ module_platform_driver(rn5t618_regulator_driver); +MODULE_ALIAS("platform:rn5t618-regulator"); MODULE_AUTHOR("Beniamino Galvani "); MODULE_DESCRIPTION("RN5T618 regulator driver"); MODULE_LICENSE("GPL v2"); diff -Nru linux-4.19.87/drivers/regulator/tps65910-regulator.c linux-4.19.98/drivers/regulator/tps65910-regulator.c --- linux-4.19.87/drivers/regulator/tps65910-regulator.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/regulator/tps65910-regulator.c 2020-01-23 07:21:39.000000000 +0000 @@ -1102,8 +1102,10 @@ platform_set_drvdata(pdev, pmic); /* Give control of all register to control port */ - tps65910_reg_set_bits(pmic->mfd, TPS65910_DEVCTRL, + err = tps65910_reg_set_bits(pmic->mfd, TPS65910_DEVCTRL, DEVCTRL_SR_CTL_I2C_SEL_MASK); + if (err < 0) + return err; switch (tps65910_chip_id(tps65910)) { case TPS65910: diff -Nru linux-4.19.87/drivers/reset/core.c linux-4.19.98/drivers/reset/core.c --- linux-4.19.87/drivers/reset/core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/reset/core.c 2020-01-23 07:21:39.000000000 +0000 @@ -607,6 +607,7 @@ for (i = 0; i < resets->num_rstcs; i++) __reset_control_put_internal(resets->rstc[i]); mutex_unlock(&reset_list_mutex); + kfree(resets); } /** diff -Nru linux-4.19.87/drivers/rpmsg/qcom_glink_native.c linux-4.19.98/drivers/rpmsg/qcom_glink_native.c --- linux-4.19.87/drivers/rpmsg/qcom_glink_native.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/rpmsg/qcom_glink_native.c 2020-01-23 07:21:39.000000000 +0000 @@ -241,10 +241,31 @@ { struct glink_channel *channel = container_of(ref, struct glink_channel, refcount); + struct glink_core_rx_intent *intent; + struct glink_core_rx_intent *tmp; unsigned long flags; + int iid; + + /* cancel pending rx_done work */ + cancel_work_sync(&channel->intent_work); spin_lock_irqsave(&channel->intent_lock, flags); + /* Free all non-reuse intents pending rx_done work */ + list_for_each_entry_safe(intent, tmp, &channel->done_intents, node) { + if (!intent->reuse) { + kfree(intent->data); + kfree(intent); + } + } + + idr_for_each_entry(&channel->liids, tmp, iid) { + kfree(tmp->data); + kfree(tmp); + } idr_destroy(&channel->liids); + + idr_for_each_entry(&channel->riids, tmp, iid) + kfree(tmp); idr_destroy(&channel->riids); spin_unlock_irqrestore(&channel->intent_lock, flags); @@ -1097,13 +1118,12 @@ close_link: /* * Send a close request to "undo" our open-ack. The close-ack will - * release the last reference. + * release qcom_glink_send_open_req() reference and the last reference + * will be relesed after receiving remote_close or transport unregister + * by calling qcom_glink_native_remove(). */ qcom_glink_send_close_req(glink, channel); - /* Release qcom_glink_send_open_req() reference */ - kref_put(&channel->refcount, qcom_glink_channel_release); - return ret; } @@ -1418,15 +1438,13 @@ ret = rpmsg_register_device(rpdev); if (ret) - goto free_rpdev; + goto rcid_remove; channel->rpdev = rpdev; } return 0; -free_rpdev: - kfree(rpdev); rcid_remove: spin_lock_irqsave(&glink->idr_lock, flags); idr_remove(&glink->rcids, channel->rcid); @@ -1547,6 +1565,18 @@ } } +static void qcom_glink_cancel_rx_work(struct qcom_glink *glink) +{ + struct glink_defer_cmd *dcmd; + struct glink_defer_cmd *tmp; + + /* cancel any pending deferred rx_work */ + cancel_work_sync(&glink->rx_work); + + list_for_each_entry_safe(dcmd, tmp, &glink->rx_queue, node) + kfree(dcmd); +} + struct qcom_glink *qcom_glink_native_probe(struct device *dev, unsigned long features, struct qcom_glink_pipe *rx, @@ -1622,23 +1652,24 @@ struct glink_channel *channel; int cid; int ret; - unsigned long flags; disable_irq(glink->irq); - cancel_work_sync(&glink->rx_work); + qcom_glink_cancel_rx_work(glink); ret = device_for_each_child(glink->dev, NULL, qcom_glink_remove_device); if (ret) dev_warn(glink->dev, "Can't remove GLINK devices: %d\n", ret); - spin_lock_irqsave(&glink->idr_lock, flags); /* Release any defunct local channels, waiting for close-ack */ idr_for_each_entry(&glink->lcids, channel, cid) kref_put(&channel->refcount, qcom_glink_channel_release); + /* Release any defunct local channels, waiting for close-req */ + idr_for_each_entry(&glink->rcids, channel, cid) + kref_put(&channel->refcount, qcom_glink_channel_release); + idr_destroy(&glink->lcids); idr_destroy(&glink->rcids); - spin_unlock_irqrestore(&glink->idr_lock, flags); mbox_free_channel(glink->mbox_chan); } EXPORT_SYMBOL_GPL(qcom_glink_native_remove); diff -Nru linux-4.19.87/drivers/rpmsg/qcom_glink_smem.c linux-4.19.98/drivers/rpmsg/qcom_glink_smem.c --- linux-4.19.87/drivers/rpmsg/qcom_glink_smem.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/rpmsg/qcom_glink_smem.c 2020-01-23 07:21:39.000000000 +0000 @@ -105,7 +105,7 @@ tail = le32_to_cpu(*pipe->tail); tail += count; - if (tail > pipe->native.length) + if (tail >= pipe->native.length) tail -= pipe->native.length; *pipe->tail = cpu_to_le32(tail); diff -Nru linux-4.19.87/drivers/rtc/interface.c linux-4.19.98/drivers/rtc/interface.c --- linux-4.19.87/drivers/rtc/interface.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/rtc/interface.c 2020-01-23 07:21:39.000000000 +0000 @@ -127,7 +127,7 @@ int rtc_set_time(struct rtc_device *rtc, struct rtc_time *tm) { - int err; + int err, uie; err = rtc_valid_tm(tm); if (err != 0) @@ -139,6 +139,17 @@ rtc_subtract_offset(rtc, tm); +#ifdef CONFIG_RTC_INTF_DEV_UIE_EMUL + uie = rtc->uie_rtctimer.enabled || rtc->uie_irq_active; +#else + uie = rtc->uie_rtctimer.enabled; +#endif + if (uie) { + err = rtc_update_irq_enable(rtc, 0); + if (err) + return err; + } + err = mutex_lock_interruptible(&rtc->ops_lock); if (err) return err; @@ -162,6 +173,12 @@ /* A timer might have just expired */ schedule_work(&rtc->irqwork); + if (uie) { + err = rtc_update_irq_enable(rtc, 1); + if (err) + return err; + } + trace_rtc_set_time(rtc_tm_to_time64(tm), err); return err; } diff -Nru linux-4.19.87/drivers/rtc/rtc-brcmstb-waketimer.c linux-4.19.98/drivers/rtc/rtc-brcmstb-waketimer.c --- linux-4.19.87/drivers/rtc/rtc-brcmstb-waketimer.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/rtc/rtc-brcmstb-waketimer.c 2020-01-23 07:21:39.000000000 +0000 @@ -287,6 +287,7 @@ struct brcmstb_waketmr *timer = dev_get_drvdata(&pdev->dev); unregister_reboot_notifier(&timer->reboot_notifier); + clk_disable_unprepare(timer->clk); return 0; } diff -Nru linux-4.19.87/drivers/rtc/rtc-max77686.c linux-4.19.98/drivers/rtc/rtc-max77686.c --- linux-4.19.87/drivers/rtc/rtc-max77686.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/rtc/rtc-max77686.c 2020-01-23 07:21:39.000000000 +0000 @@ -360,7 +360,7 @@ out: mutex_unlock(&info->lock); - return 0; + return ret; } static int max77686_rtc_set_time(struct device *dev, struct rtc_time *tm) diff -Nru linux-4.19.87/drivers/rtc/rtc-max8997.c linux-4.19.98/drivers/rtc/rtc-max8997.c --- linux-4.19.87/drivers/rtc/rtc-max8997.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/rtc/rtc-max8997.c 2020-01-23 07:21:39.000000000 +0000 @@ -215,7 +215,7 @@ out: mutex_unlock(&info->lock); - return 0; + return ret; } static int max8997_rtc_stop_alarm(struct max8997_rtc_info *info) diff -Nru linux-4.19.87/drivers/rtc/rtc-msm6242.c linux-4.19.98/drivers/rtc/rtc-msm6242.c --- linux-4.19.87/drivers/rtc/rtc-msm6242.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/rtc/rtc-msm6242.c 2020-01-23 07:21:39.000000000 +0000 @@ -132,7 +132,8 @@ msm6242_read(priv, MSM6242_SECOND1); tm->tm_min = msm6242_read(priv, MSM6242_MINUTE10) * 10 + msm6242_read(priv, MSM6242_MINUTE1); - tm->tm_hour = (msm6242_read(priv, MSM6242_HOUR10 & 3)) * 10 + + tm->tm_hour = (msm6242_read(priv, MSM6242_HOUR10) & + MSM6242_HOUR10_HR_MASK) * 10 + msm6242_read(priv, MSM6242_HOUR1); tm->tm_mday = msm6242_read(priv, MSM6242_DAY10) * 10 + msm6242_read(priv, MSM6242_DAY1); diff -Nru linux-4.19.87/drivers/rtc/rtc-mt6397.c linux-4.19.98/drivers/rtc/rtc-mt6397.c --- linux-4.19.87/drivers/rtc/rtc-mt6397.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/rtc/rtc-mt6397.c 2020-01-23 07:21:39.000000000 +0000 @@ -55,6 +55,14 @@ #define RTC_AL_SEC 0x0018 +#define RTC_AL_SEC_MASK 0x003f +#define RTC_AL_MIN_MASK 0x003f +#define RTC_AL_HOU_MASK 0x001f +#define RTC_AL_DOM_MASK 0x001f +#define RTC_AL_DOW_MASK 0x0007 +#define RTC_AL_MTH_MASK 0x000f +#define RTC_AL_YEA_MASK 0x007f + #define RTC_PDN2 0x002e #define RTC_PDN2_PWRON_ALARM BIT(4) @@ -111,7 +119,7 @@ irqen = irqsta & ~RTC_IRQ_EN_AL; mutex_lock(&rtc->lock); if (regmap_write(rtc->regmap, rtc->addr_base + RTC_IRQ_EN, - irqen) < 0) + irqen) == 0) mtk_rtc_write_trigger(rtc); mutex_unlock(&rtc->lock); @@ -233,12 +241,12 @@ alm->pending = !!(pdn2 & RTC_PDN2_PWRON_ALARM); mutex_unlock(&rtc->lock); - tm->tm_sec = data[RTC_OFFSET_SEC]; - tm->tm_min = data[RTC_OFFSET_MIN]; - tm->tm_hour = data[RTC_OFFSET_HOUR]; - tm->tm_mday = data[RTC_OFFSET_DOM]; - tm->tm_mon = data[RTC_OFFSET_MTH]; - tm->tm_year = data[RTC_OFFSET_YEAR]; + tm->tm_sec = data[RTC_OFFSET_SEC] & RTC_AL_SEC_MASK; + tm->tm_min = data[RTC_OFFSET_MIN] & RTC_AL_MIN_MASK; + tm->tm_hour = data[RTC_OFFSET_HOUR] & RTC_AL_HOU_MASK; + tm->tm_mday = data[RTC_OFFSET_DOM] & RTC_AL_DOM_MASK; + tm->tm_mon = data[RTC_OFFSET_MTH] & RTC_AL_MTH_MASK; + tm->tm_year = data[RTC_OFFSET_YEAR] & RTC_AL_YEA_MASK; tm->tm_year += RTC_MIN_YEAR_OFFSET; tm->tm_mon--; @@ -259,14 +267,25 @@ tm->tm_year -= RTC_MIN_YEAR_OFFSET; tm->tm_mon++; - data[RTC_OFFSET_SEC] = tm->tm_sec; - data[RTC_OFFSET_MIN] = tm->tm_min; - data[RTC_OFFSET_HOUR] = tm->tm_hour; - data[RTC_OFFSET_DOM] = tm->tm_mday; - data[RTC_OFFSET_MTH] = tm->tm_mon; - data[RTC_OFFSET_YEAR] = tm->tm_year; - mutex_lock(&rtc->lock); + ret = regmap_bulk_read(rtc->regmap, rtc->addr_base + RTC_AL_SEC, + data, RTC_OFFSET_COUNT); + if (ret < 0) + goto exit; + + data[RTC_OFFSET_SEC] = ((data[RTC_OFFSET_SEC] & ~(RTC_AL_SEC_MASK)) | + (tm->tm_sec & RTC_AL_SEC_MASK)); + data[RTC_OFFSET_MIN] = ((data[RTC_OFFSET_MIN] & ~(RTC_AL_MIN_MASK)) | + (tm->tm_min & RTC_AL_MIN_MASK)); + data[RTC_OFFSET_HOUR] = ((data[RTC_OFFSET_HOUR] & ~(RTC_AL_HOU_MASK)) | + (tm->tm_hour & RTC_AL_HOU_MASK)); + data[RTC_OFFSET_DOM] = ((data[RTC_OFFSET_DOM] & ~(RTC_AL_DOM_MASK)) | + (tm->tm_mday & RTC_AL_DOM_MASK)); + data[RTC_OFFSET_MTH] = ((data[RTC_OFFSET_MTH] & ~(RTC_AL_MTH_MASK)) | + (tm->tm_mon & RTC_AL_MTH_MASK)); + data[RTC_OFFSET_YEAR] = ((data[RTC_OFFSET_YEAR] & ~(RTC_AL_YEA_MASK)) | + (tm->tm_year & RTC_AL_YEA_MASK)); + if (alm->enabled) { ret = regmap_bulk_write(rtc->regmap, rtc->addr_base + RTC_AL_SEC, diff -Nru linux-4.19.87/drivers/rtc/rtc-s3c.c linux-4.19.98/drivers/rtc/rtc-s3c.c --- linux-4.19.87/drivers/rtc/rtc-s3c.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/rtc/rtc-s3c.c 2020-01-23 07:21:39.000000000 +0000 @@ -327,7 +327,6 @@ struct rtc_time *tm = &alrm->time; unsigned int alrm_en; int ret; - int year = tm->tm_year - 100; dev_dbg(dev, "s3c_rtc_setalarm: %d, %04d.%02d.%02d %02d:%02d:%02d\n", alrm->enabled, @@ -356,11 +355,6 @@ writeb(bin2bcd(tm->tm_hour), info->base + S3C2410_ALMHOUR); } - if (year < 100 && year >= 0) { - alrm_en |= S3C2410_RTCALM_YEAREN; - writeb(bin2bcd(year), info->base + S3C2410_ALMYEAR); - } - if (tm->tm_mon < 12 && tm->tm_mon >= 0) { alrm_en |= S3C2410_RTCALM_MONEN; writeb(bin2bcd(tm->tm_mon + 1), info->base + S3C2410_ALMMON); diff -Nru linux-4.19.87/drivers/s390/block/dasd_eckd.c linux-4.19.98/drivers/s390/block/dasd_eckd.c --- linux-4.19.87/drivers/s390/block/dasd_eckd.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/s390/block/dasd_eckd.c 2020-01-23 07:21:39.000000000 +0000 @@ -1135,7 +1135,8 @@ { struct dasd_eckd_private *private = device->private; int fcx_in_css, fcx_in_gneq, fcx_in_features; - int tpm, mdc; + unsigned int mdc; + int tpm; if (dasd_nofcx) return 0; @@ -1149,7 +1150,7 @@ return 0; mdc = ccw_device_get_mdc(device->cdev, 0); - if (mdc < 0) { + if (mdc == 0) { dev_warn(&device->cdev->dev, "Detecting the maximum supported data size for zHPF requests failed\n"); return 0; } else { @@ -1160,12 +1161,12 @@ static int verify_fcx_max_data(struct dasd_device *device, __u8 lpm) { struct dasd_eckd_private *private = device->private; - int mdc; + unsigned int mdc; u32 fcx_max_data; if (private->fcx_max_data) { mdc = ccw_device_get_mdc(device->cdev, lpm); - if ((mdc < 0)) { + if (mdc == 0) { dev_warn(&device->cdev->dev, "Detecting the maximum data size for zHPF " "requests failed (rc=%d) for a new path %x\n", @@ -1769,7 +1770,7 @@ dasd_free_block(device->block); device->block = NULL; out_err1: - kfree(private->conf_data); + dasd_eckd_clear_conf_data(device); kfree(device->private); device->private = NULL; return rc; @@ -1778,7 +1779,6 @@ static void dasd_eckd_uncheck_device(struct dasd_device *device) { struct dasd_eckd_private *private = device->private; - int i; if (!private) return; @@ -1788,21 +1788,7 @@ private->sneq = NULL; private->vdsneq = NULL; private->gneq = NULL; - private->conf_len = 0; - for (i = 0; i < 8; i++) { - kfree(device->path[i].conf_data); - if ((__u8 *)device->path[i].conf_data == - private->conf_data) { - private->conf_data = NULL; - private->conf_len = 0; - } - device->path[i].conf_data = NULL; - device->path[i].cssid = 0; - device->path[i].ssid = 0; - device->path[i].chpid = 0; - } - kfree(private->conf_data); - private->conf_data = NULL; + dasd_eckd_clear_conf_data(device); } static struct dasd_ccw_req * diff -Nru linux-4.19.87/drivers/s390/cio/device_ops.c linux-4.19.98/drivers/s390/cio/device_ops.c --- linux-4.19.87/drivers/s390/cio/device_ops.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/s390/cio/device_ops.c 2020-01-23 07:21:39.000000000 +0000 @@ -624,7 +624,7 @@ * @mask: mask of paths to use * * Return the number of 64K-bytes blocks all paths at least support - * for a transport command. Return values <= 0 indicate failures. + * for a transport command. Return value 0 indicates failure. */ int ccw_device_get_mdc(struct ccw_device *cdev, u8 mask) { diff -Nru linux-4.19.87/drivers/s390/crypto/ap_queue.c linux-4.19.98/drivers/s390/crypto/ap_queue.c --- linux-4.19.87/drivers/s390/crypto/ap_queue.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/s390/crypto/ap_queue.c 2020-01-23 07:21:39.000000000 +0000 @@ -14,6 +14,9 @@ #include #include "ap_bus.h" +#include "ap_debug.h" + +static void __ap_flush_queue(struct ap_queue *aq); /** * ap_queue_enable_interruption(): Enable interruption on an AP queue. @@ -541,7 +544,25 @@ return rc; } -static DEVICE_ATTR_RO(reset); +static ssize_t reset_store(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t count) +{ + struct ap_queue *aq = to_ap_queue(dev); + + spin_lock_bh(&aq->lock); + __ap_flush_queue(aq); + aq->state = AP_STATE_RESET_START; + ap_wait(ap_sm_event(aq, AP_EVENT_POLL)); + spin_unlock_bh(&aq->lock); + + AP_DBF(DBF_INFO, "reset queue=%02x.%04x triggered by user\n", + AP_QID_CARD(aq->qid), AP_QID_QUEUE(aq->qid)); + + return count; +} + +static DEVICE_ATTR_RW(reset); static ssize_t interrupt_show(struct device *dev, struct device_attribute *attr, char *buf) diff -Nru linux-4.19.87/drivers/s390/crypto/zcrypt_error.h linux-4.19.98/drivers/s390/crypto/zcrypt_error.h --- linux-4.19.87/drivers/s390/crypto/zcrypt_error.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/s390/crypto/zcrypt_error.h 2020-01-23 07:21:39.000000000 +0000 @@ -62,6 +62,7 @@ #define REP82_ERROR_EVEN_MOD_IN_OPND 0x85 #define REP82_ERROR_RESERVED_FIELD 0x88 #define REP82_ERROR_INVALID_DOMAIN_PENDING 0x8A +#define REP82_ERROR_FILTERED_BY_HYPERVISOR 0x8B #define REP82_ERROR_TRANSPORT_FAIL 0x90 #define REP82_ERROR_PACKET_TRUNCATED 0xA0 #define REP82_ERROR_ZERO_BUFFER_LEN 0xB0 @@ -92,6 +93,7 @@ case REP82_ERROR_INVALID_DOMAIN_PRECHECK: case REP82_ERROR_INVALID_DOMAIN_PENDING: case REP82_ERROR_INVALID_SPECIAL_CMD: + case REP82_ERROR_FILTERED_BY_HYPERVISOR: // REP88_ERROR_INVALID_KEY // '82' CEX2A // REP88_ERROR_OPERAND // '84' CEX2A // REP88_ERROR_OPERAND_EVEN_MOD // '85' CEX2A diff -Nru linux-4.19.87/drivers/s390/net/qeth_l2_main.c linux-4.19.98/drivers/s390/net/qeth_l2_main.c --- linux-4.19.87/drivers/s390/net/qeth_l2_main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/s390/net/qeth_l2_main.c 2020-01-23 07:21:39.000000000 +0000 @@ -2285,8 +2285,7 @@ /* check if VNICC is currently enabled */ bool qeth_l2_vnicc_is_in_use(struct qeth_card *card) { - /* if everything is turned off, VNICC is not active */ - if (!card->options.vnicc.cur_chars) + if (!card->options.vnicc.sup_chars) return false; /* default values are only OK if rx_bcast was not enabled by user * or the card is offline. @@ -2367,7 +2366,6 @@ error = qeth_l2_vnicc_recover_timeout(card, QETH_VNICC_LEARNING, timeout); chars_tmp = card->options.vnicc.wanted_chars ^ QETH_VNICC_DEFAULT; - chars_tmp |= QETH_VNICC_BRIDGE_INVISIBLE; chars_len = sizeof(card->options.vnicc.wanted_chars) * BITS_PER_BYTE; for_each_set_bit(i, &chars_tmp, chars_len) { vnicc = BIT(i); diff -Nru linux-4.19.87/drivers/s390/scsi/zfcp_dbf.c linux-4.19.98/drivers/s390/scsi/zfcp_dbf.c --- linux-4.19.87/drivers/s390/scsi/zfcp_dbf.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/s390/scsi/zfcp_dbf.c 2020-01-23 07:21:39.000000000 +0000 @@ -94,11 +94,9 @@ memcpy(rec->u.res.fsf_status_qual, &q_head->fsf_status_qual, FSF_STATUS_QUALIFIER_SIZE); - if (req->fsf_command != FSF_QTCB_FCP_CMND) { - rec->pl_len = q_head->log_length; - zfcp_dbf_pl_write(dbf, (char *)q_pref + q_head->log_start, - rec->pl_len, "fsf_res", req->req_id); - } + rec->pl_len = q_head->log_length; + zfcp_dbf_pl_write(dbf, (char *)q_pref + q_head->log_start, + rec->pl_len, "fsf_res", req->req_id); debug_event(dbf->hba, level, rec, sizeof(*rec)); spin_unlock_irqrestore(&dbf->hba_lock, flags); diff -Nru linux-4.19.87/drivers/s390/scsi/zfcp_erp.c linux-4.19.98/drivers/s390/scsi/zfcp_erp.c --- linux-4.19.87/drivers/s390/scsi/zfcp_erp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/s390/scsi/zfcp_erp.c 2020-01-23 07:21:39.000000000 +0000 @@ -172,9 +172,6 @@ adapter, ZFCP_STATUS_COMMON_ERP_FAILED); } break; - default: - need = 0; - break; } return need; diff -Nru linux-4.19.87/drivers/s390/scsi/zfcp_fsf.c linux-4.19.98/drivers/s390/scsi/zfcp_fsf.c --- linux-4.19.87/drivers/s390/scsi/zfcp_fsf.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/s390/scsi/zfcp_fsf.c 2020-01-23 07:21:39.000000000 +0000 @@ -2104,11 +2104,8 @@ break; case FSF_CMND_LENGTH_NOT_VALID: dev_err(&req->adapter->ccw_device->dev, - "Incorrect CDB length %d, LUN 0x%016Lx on " - "port 0x%016Lx closed\n", - req->qtcb->bottom.io.fcp_cmnd_length, - (unsigned long long)zfcp_scsi_dev_lun(sdev), - (unsigned long long)zfcp_sdev->port->wwpn); + "Incorrect FCP_CMND length %d, FCP device closed\n", + req->qtcb->bottom.io.fcp_cmnd_length); zfcp_erp_adapter_shutdown(req->adapter, 0, "fssfch4"); req->status |= ZFCP_STATUS_FSFREQ_ERROR; break; diff -Nru linux-4.19.87/drivers/scsi/NCR5380.c linux-4.19.98/drivers/scsi/NCR5380.c --- linux-4.19.87/drivers/scsi/NCR5380.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/NCR5380.c 2020-01-23 07:21:39.000000000 +0000 @@ -129,6 +129,9 @@ #define NCR5380_release_dma_irq(x) #endif +static unsigned int disconnect_mask = ~0; +module_param(disconnect_mask, int, 0444); + static int do_abort(struct Scsi_Host *); static void do_reset(struct Scsi_Host *); static void bus_reset_cleanup(struct Scsi_Host *); @@ -946,7 +949,8 @@ int err; bool ret = true; bool can_disconnect = instance->irq != NO_IRQ && - cmd->cmnd[0] != REQUEST_SENSE; + cmd->cmnd[0] != REQUEST_SENSE && + (disconnect_mask & BIT(scmd_id(cmd))); NCR5380_dprint(NDEBUG_ARBITRATION, instance); dsprintk(NDEBUG_ARBITRATION, instance, "starting arbitration, id = %d\n", diff -Nru linux-4.19.87/drivers/scsi/atari_scsi.c linux-4.19.98/drivers/scsi/atari_scsi.c --- linux-4.19.87/drivers/scsi/atari_scsi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/atari_scsi.c 2020-01-23 07:21:39.000000000 +0000 @@ -742,7 +742,7 @@ atari_scsi_template.sg_tablesize = SG_ALL; } else { atari_scsi_template.can_queue = 1; - atari_scsi_template.sg_tablesize = SG_NONE; + atari_scsi_template.sg_tablesize = 1; } if (setup_can_queue > 0) @@ -751,8 +751,8 @@ if (setup_cmd_per_lun > 0) atari_scsi_template.cmd_per_lun = setup_cmd_per_lun; - /* Leave sg_tablesize at 0 on a Falcon! */ - if (ATARIHW_PRESENT(TT_SCSI) && setup_sg_tablesize >= 0) + /* Don't increase sg_tablesize on Falcon! */ + if (ATARIHW_PRESENT(TT_SCSI) && setup_sg_tablesize > 0) atari_scsi_template.sg_tablesize = setup_sg_tablesize; if (setup_hostid >= 0) { diff -Nru linux-4.19.87/drivers/scsi/bfa/bfad_attr.c linux-4.19.98/drivers/scsi/bfa/bfad_attr.c --- linux-4.19.87/drivers/scsi/bfa/bfad_attr.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/bfa/bfad_attr.c 2020-01-23 07:21:39.000000000 +0000 @@ -283,8 +283,10 @@ rc = bfa_port_get_stats(BFA_FCPORT(&bfad->bfa), fcstats, bfad_hcb_comp, &fcomp); spin_unlock_irqrestore(&bfad->bfad_lock, flags); - if (rc != BFA_STATUS_OK) + if (rc != BFA_STATUS_OK) { + kfree(fcstats); return NULL; + } wait_for_completion(&fcomp.comp); diff -Nru linux-4.19.87/drivers/scsi/bnx2i/bnx2i_iscsi.c linux-4.19.98/drivers/scsi/bnx2i/bnx2i_iscsi.c --- linux-4.19.87/drivers/scsi/bnx2i/bnx2i_iscsi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/bnx2i/bnx2i_iscsi.c 2020-01-23 07:21:39.000000000 +0000 @@ -915,12 +915,12 @@ INIT_LIST_HEAD(&hba->ep_ofld_list); INIT_LIST_HEAD(&hba->ep_active_list); INIT_LIST_HEAD(&hba->ep_destroy_list); - pci_dev_put(hba->pcidev); if (hba->regview) { pci_iounmap(hba->pcidev, hba->regview); hba->regview = NULL; } + pci_dev_put(hba->pcidev); bnx2i_free_mp_bdt(hba); bnx2i_release_free_cid_que(hba); iscsi_host_free(shost); diff -Nru linux-4.19.87/drivers/scsi/csiostor/csio_init.c linux-4.19.98/drivers/scsi/csiostor/csio_init.c --- linux-4.19.87/drivers/scsi/csiostor/csio_init.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/csiostor/csio_init.c 2020-01-23 07:21:39.000000000 +0000 @@ -649,7 +649,7 @@ if (csio_lnode_init(ln, hw, pln)) goto err_shost_put; - if (scsi_add_host(shost, dev)) + if (scsi_add_host_with_dma(shost, dev, &hw->pdev->dev)) goto err_lnode_exit; return ln; diff -Nru linux-4.19.87/drivers/scsi/csiostor/csio_lnode.c linux-4.19.98/drivers/scsi/csiostor/csio_lnode.c --- linux-4.19.87/drivers/scsi/csiostor/csio_lnode.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/csiostor/csio_lnode.c 2020-01-23 07:21:39.000000000 +0000 @@ -301,6 +301,7 @@ struct fc_fdmi_port_name *port_name; uint8_t buf[64]; uint8_t *fc4_type; + unsigned long flags; if (fdmi_req->wr_status != FW_SUCCESS) { csio_ln_dbg(ln, "WR error:%x in processing fdmi rhba cmd\n", @@ -385,13 +386,13 @@ len = (uint32_t)(pld - (uint8_t *)cmd); /* Submit FDMI RPA request */ - spin_lock_irq(&hw->lock); + spin_lock_irqsave(&hw->lock, flags); if (csio_ln_mgmt_submit_req(fdmi_req, csio_ln_fdmi_done, FCOE_CT, &fdmi_req->dma_buf, len)) { CSIO_INC_STATS(ln, n_fdmi_err); csio_ln_dbg(ln, "Failed to issue fdmi rpa req\n"); } - spin_unlock_irq(&hw->lock); + spin_unlock_irqrestore(&hw->lock, flags); } /* @@ -412,6 +413,7 @@ struct fc_fdmi_rpl *reg_pl; struct fs_fdmi_attrs *attrib_blk; uint8_t buf[64]; + unsigned long flags; if (fdmi_req->wr_status != FW_SUCCESS) { csio_ln_dbg(ln, "WR error:%x in processing fdmi dprt cmd\n", @@ -491,13 +493,13 @@ attrib_blk->numattrs = htonl(numattrs); /* Submit FDMI RHBA request */ - spin_lock_irq(&hw->lock); + spin_lock_irqsave(&hw->lock, flags); if (csio_ln_mgmt_submit_req(fdmi_req, csio_ln_fdmi_rhba_cbfn, FCOE_CT, &fdmi_req->dma_buf, len)) { CSIO_INC_STATS(ln, n_fdmi_err); csio_ln_dbg(ln, "Failed to issue fdmi rhba req\n"); } - spin_unlock_irq(&hw->lock); + spin_unlock_irqrestore(&hw->lock, flags); } /* @@ -512,6 +514,7 @@ void *cmd; struct fc_fdmi_port_name *port_name; uint32_t len; + unsigned long flags; if (fdmi_req->wr_status != FW_SUCCESS) { csio_ln_dbg(ln, "WR error:%x in processing fdmi dhba cmd\n", @@ -542,13 +545,13 @@ len += sizeof(*port_name); /* Submit FDMI request */ - spin_lock_irq(&hw->lock); + spin_lock_irqsave(&hw->lock, flags); if (csio_ln_mgmt_submit_req(fdmi_req, csio_ln_fdmi_dprt_cbfn, FCOE_CT, &fdmi_req->dma_buf, len)) { CSIO_INC_STATS(ln, n_fdmi_err); csio_ln_dbg(ln, "Failed to issue fdmi dprt req\n"); } - spin_unlock_irq(&hw->lock); + spin_unlock_irqrestore(&hw->lock, flags); } /** diff -Nru linux-4.19.87/drivers/scsi/cxgbi/libcxgbi.c linux-4.19.98/drivers/scsi/cxgbi/libcxgbi.c --- linux-4.19.87/drivers/scsi/cxgbi/libcxgbi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/cxgbi/libcxgbi.c 2020-01-23 07:21:39.000000000 +0000 @@ -121,7 +121,8 @@ "cdev 0x%p, p# %u.\n", cdev, cdev->nports); cxgbi_hbas_remove(cdev); cxgbi_device_portmap_cleanup(cdev); - cxgbi_ppm_release(cdev->cdev2ppm(cdev)); + if (cdev->cdev2ppm) + cxgbi_ppm_release(cdev->cdev2ppm(cdev)); if (cdev->pmap.max_connect) cxgbi_free_big_mem(cdev->pmap.port_csk); kfree(cdev); diff -Nru linux-4.19.87/drivers/scsi/esas2r/esas2r_flash.c linux-4.19.98/drivers/scsi/esas2r/esas2r_flash.c --- linux-4.19.87/drivers/scsi/esas2r/esas2r_flash.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/esas2r/esas2r_flash.c 2020-01-23 07:21:39.000000000 +0000 @@ -1197,6 +1197,7 @@ if (!esas2r_read_flash_block(a, a->nvram, FLS_OFFSET_NVR, sizeof(struct esas2r_sas_nvram))) { esas2r_hdebug("NVRAM read failed, using defaults"); + up(&a->nvram_semaphore); return false; } diff -Nru linux-4.19.87/drivers/scsi/fnic/vnic_dev.c linux-4.19.98/drivers/scsi/fnic/vnic_dev.c --- linux-4.19.87/drivers/scsi/fnic/vnic_dev.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/fnic/vnic_dev.c 2020-01-23 07:21:39.000000000 +0000 @@ -445,26 +445,26 @@ int vnic_dev_hang_notify(struct vnic_dev *vdev) { - u64 a0, a1; + u64 a0 = 0, a1 = 0; int wait = 1000; return vnic_dev_cmd(vdev, CMD_HANG_NOTIFY, &a0, &a1, wait); } int vnic_dev_mac_addr(struct vnic_dev *vdev, u8 *mac_addr) { - u64 a0, a1; + u64 a[2] = {}; int wait = 1000; int err, i; for (i = 0; i < ETH_ALEN; i++) mac_addr[i] = 0; - err = vnic_dev_cmd(vdev, CMD_MAC_ADDR, &a0, &a1, wait); + err = vnic_dev_cmd(vdev, CMD_MAC_ADDR, &a[0], &a[1], wait); if (err) return err; for (i = 0; i < ETH_ALEN; i++) - mac_addr[i] = ((u8 *)&a0)[i]; + mac_addr[i] = ((u8 *)&a)[i]; return 0; } @@ -489,30 +489,30 @@ void vnic_dev_add_addr(struct vnic_dev *vdev, u8 *addr) { - u64 a0 = 0, a1 = 0; + u64 a[2] = {}; int wait = 1000; int err; int i; for (i = 0; i < ETH_ALEN; i++) - ((u8 *)&a0)[i] = addr[i]; + ((u8 *)&a)[i] = addr[i]; - err = vnic_dev_cmd(vdev, CMD_ADDR_ADD, &a0, &a1, wait); + err = vnic_dev_cmd(vdev, CMD_ADDR_ADD, &a[0], &a[1], wait); if (err) pr_err("Can't add addr [%pM], %d\n", addr, err); } void vnic_dev_del_addr(struct vnic_dev *vdev, u8 *addr) { - u64 a0 = 0, a1 = 0; + u64 a[2] = {}; int wait = 1000; int err; int i; for (i = 0; i < ETH_ALEN; i++) - ((u8 *)&a0)[i] = addr[i]; + ((u8 *)&a)[i] = addr[i]; - err = vnic_dev_cmd(vdev, CMD_ADDR_DEL, &a0, &a1, wait); + err = vnic_dev_cmd(vdev, CMD_ADDR_DEL, &a[0], &a[1], wait); if (err) pr_err("Can't del addr [%pM], %d\n", addr, err); } diff -Nru linux-4.19.87/drivers/scsi/hisi_sas/hisi_sas.h linux-4.19.98/drivers/scsi/hisi_sas/hisi_sas.h --- linux-4.19.87/drivers/scsi/hisi_sas/hisi_sas.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/hisi_sas/hisi_sas.h 2020-01-23 07:21:39.000000000 +0000 @@ -220,7 +220,7 @@ int (*slot_index_alloc)(struct hisi_hba *hisi_hba, int *slot_idx, struct domain_device *device); struct hisi_sas_device *(*alloc_dev)(struct domain_device *device); - void (*sl_notify)(struct hisi_hba *hisi_hba, int phy_no); + void (*sl_notify_ssp)(struct hisi_hba *hisi_hba, int phy_no); int (*get_free_slot)(struct hisi_hba *hisi_hba, struct hisi_sas_dq *dq); void (*start_delivery)(struct hisi_sas_dq *dq); void (*prep_ssp)(struct hisi_hba *hisi_hba, diff -Nru linux-4.19.87/drivers/scsi/hisi_sas/hisi_sas_main.c linux-4.19.98/drivers/scsi/hisi_sas/hisi_sas_main.c --- linux-4.19.87/drivers/scsi/hisi_sas/hisi_sas_main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/hisi_sas/hisi_sas_main.c 2020-01-23 07:21:39.000000000 +0000 @@ -485,7 +485,13 @@ struct hisi_sas_dq *dq = NULL; if (unlikely(test_bit(HISI_SAS_REJECT_CMD_BIT, &hisi_hba->flags))) { - if (in_softirq()) + /* + * For IOs from upper layer, it may already disable preempt + * in the IO path, if disable preempt again in down(), + * function schedule() will report schedule_bug(), so check + * preemptible() before goto down(). + */ + if (!preemptible()) return -EINVAL; down(&hisi_hba->sem); @@ -716,7 +722,8 @@ struct asd_sas_phy *sas_phy = &phy->sas_phy; int phy_no = sas_phy->id; - hisi_hba->hw->sl_notify(hisi_hba, phy_no); /* This requires a sleep */ + if (phy->identify.target_port_protocols == SAS_PROTOCOL_SSP) + hisi_hba->hw->sl_notify_ssp(hisi_hba, phy_no); hisi_sas_bytes_dmaed(hisi_hba, phy_no); } @@ -885,7 +892,7 @@ return hisi_sas_task_exec(task, gfp_flags, 0, NULL); } -static void hisi_sas_phy_set_linkrate(struct hisi_hba *hisi_hba, int phy_no, +static int hisi_sas_phy_set_linkrate(struct hisi_hba *hisi_hba, int phy_no, struct sas_phy_linkrates *r) { struct sas_phy_linkrates _r; @@ -894,6 +901,9 @@ struct asd_sas_phy *sas_phy = &phy->sas_phy; enum sas_linkrate min, max; + if (r->minimum_linkrate > SAS_LINK_RATE_1_5_GBPS) + return -EINVAL; + if (r->maximum_linkrate == SAS_LINK_RATE_UNKNOWN) { max = sas_phy->phy->maximum_linkrate; min = r->minimum_linkrate; @@ -901,7 +911,7 @@ max = r->maximum_linkrate; min = sas_phy->phy->minimum_linkrate; } else - return; + return -EINVAL; _r.maximum_linkrate = max; _r.minimum_linkrate = min; @@ -913,6 +923,8 @@ msleep(100); hisi_hba->hw->phy_set_linkrate(hisi_hba, phy_no, &_r); hisi_hba->hw->phy_start(hisi_hba, phy_no); + + return 0; } static int hisi_sas_control_phy(struct asd_sas_phy *sas_phy, enum phy_func func, @@ -938,8 +950,7 @@ break; case PHY_FUNC_SET_LINK_RATE: - hisi_sas_phy_set_linkrate(hisi_hba, phy_no, funcdata); - break; + return hisi_sas_phy_set_linkrate(hisi_hba, phy_no, funcdata); case PHY_FUNC_GET_EVENTS: if (hisi_hba->hw->get_events) { hisi_hba->hw->get_events(hisi_hba, phy_no); diff -Nru linux-4.19.87/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c linux-4.19.98/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c --- linux-4.19.87/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c 2020-01-23 07:21:39.000000000 +0000 @@ -834,7 +834,7 @@ mod_timer(timer, jiffies + HZ); } -static void sl_notify_v1_hw(struct hisi_hba *hisi_hba, int phy_no) +static void sl_notify_ssp_v1_hw(struct hisi_hba *hisi_hba, int phy_no) { u32 sl_control; @@ -1822,7 +1822,7 @@ static const struct hisi_sas_hw hisi_sas_v1_hw = { .hw_init = hisi_sas_v1_init, .setup_itct = setup_itct_v1_hw, - .sl_notify = sl_notify_v1_hw, + .sl_notify_ssp = sl_notify_ssp_v1_hw, .clear_itct = clear_itct_v1_hw, .prep_smp = prep_smp_v1_hw, .prep_ssp = prep_ssp_v1_hw, diff -Nru linux-4.19.87/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c linux-4.19.98/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c --- linux-4.19.87/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c 2020-01-23 07:21:39.000000000 +0000 @@ -1584,7 +1584,7 @@ } } -static void sl_notify_v2_hw(struct hisi_hba *hisi_hba, int phy_no) +static void sl_notify_ssp_v2_hw(struct hisi_hba *hisi_hba, int phy_no) { u32 sl_control; @@ -3575,7 +3575,7 @@ .setup_itct = setup_itct_v2_hw, .slot_index_alloc = slot_index_alloc_quirk_v2_hw, .alloc_dev = alloc_dev_quirk_v2_hw, - .sl_notify = sl_notify_v2_hw, + .sl_notify_ssp = sl_notify_ssp_v2_hw, .get_wideport_bitmap = get_wideport_bitmap_v2_hw, .clear_itct = clear_itct_v2_hw, .free_device = free_device_v2_hw, diff -Nru linux-4.19.87/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c linux-4.19.98/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c --- linux-4.19.87/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c 2020-01-23 07:21:39.000000000 +0000 @@ -827,7 +827,7 @@ } } -static void sl_notify_v3_hw(struct hisi_hba *hisi_hba, int phy_no) +static void sl_notify_ssp_v3_hw(struct hisi_hba *hisi_hba, int phy_no) { u32 sl_control; @@ -1520,6 +1520,7 @@ u32 irq_value, irq_msk; struct hisi_hba *hisi_hba = p; struct device *dev = hisi_hba->dev; + struct pci_dev *pdev = hisi_hba->pci_dev; int i; irq_msk = hisi_sas_read32(hisi_hba, ENT_INT_SRC_MSK3); @@ -1551,6 +1552,17 @@ error->msg, irq_value); queue_work(hisi_hba->wq, &hisi_hba->rst_work); } + + if (pdev->revision < 0x21) { + u32 reg_val; + + reg_val = hisi_sas_read32(hisi_hba, + AXI_MASTER_CFG_BASE + + AM_CTRL_GLOBAL); + reg_val |= AM_CTRL_SHUTDOWN_REQ_MSK; + hisi_sas_write32(hisi_hba, AXI_MASTER_CFG_BASE + + AM_CTRL_GLOBAL, reg_val); + } } if (irq_value & BIT(ENT_INT_SRC3_ITC_INT_OFF)) { @@ -2115,7 +2127,7 @@ .get_wideport_bitmap = get_wideport_bitmap_v3_hw, .complete_hdr_size = sizeof(struct hisi_sas_complete_v3_hdr), .clear_itct = clear_itct_v3_hw, - .sl_notify = sl_notify_v3_hw, + .sl_notify_ssp = sl_notify_ssp_v3_hw, .prep_ssp = prep_ssp_v3_hw, .prep_smp = prep_smp_v3_hw, .prep_stp = prep_ata_v3_hw, diff -Nru linux-4.19.87/drivers/scsi/iscsi_tcp.c linux-4.19.98/drivers/scsi/iscsi_tcp.c --- linux-4.19.87/drivers/scsi/iscsi_tcp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/iscsi_tcp.c 2020-01-23 07:21:39.000000000 +0000 @@ -374,8 +374,16 @@ { struct iscsi_conn *conn = task->conn; unsigned int noreclaim_flag; + struct iscsi_tcp_conn *tcp_conn = conn->dd_data; + struct iscsi_sw_tcp_conn *tcp_sw_conn = tcp_conn->dd_data; int rc = 0; + if (!tcp_sw_conn->sock) { + iscsi_conn_printk(KERN_ERR, conn, + "Transport not bound to socket!\n"); + return -EINVAL; + } + noreclaim_flag = memalloc_noreclaim_save(); while (iscsi_sw_tcp_xmit_qlen(conn)) { diff -Nru linux-4.19.87/drivers/scsi/libiscsi.c linux-4.19.98/drivers/scsi/libiscsi.c --- linux-4.19.87/drivers/scsi/libiscsi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/libiscsi.c 2020-01-23 07:21:39.000000000 +0000 @@ -1983,7 +1983,7 @@ ISCSI_DBG_EH(session, "scsi cmd %p timedout\n", sc); - spin_lock(&session->frwd_lock); + spin_lock_bh(&session->frwd_lock); task = (struct iscsi_task *)sc->SCp.ptr; if (!task) { /* @@ -2110,7 +2110,7 @@ done: if (task) task->last_timeout = jiffies; - spin_unlock(&session->frwd_lock); + spin_unlock_bh(&session->frwd_lock); ISCSI_DBG_EH(session, "return %s\n", rc == BLK_EH_RESET_TIMER ? "timer reset" : "shutdown or nh"); return rc; diff -Nru linux-4.19.87/drivers/scsi/libsas/sas_discover.c linux-4.19.98/drivers/scsi/libsas/sas_discover.c --- linux-4.19.87/drivers/scsi/libsas/sas_discover.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/libsas/sas_discover.c 2020-01-23 07:21:39.000000000 +0000 @@ -97,12 +97,21 @@ else dev->dev_type = SAS_SATA_DEV; dev->tproto = SAS_PROTOCOL_SATA; - } else { + } else if (port->oob_mode == SAS_OOB_MODE) { struct sas_identify_frame *id = (struct sas_identify_frame *) dev->frame_rcvd; dev->dev_type = id->dev_type; dev->iproto = id->initiator_bits; dev->tproto = id->target_bits; + } else { + /* If the oob mode is OOB_NOT_CONNECTED, the port is + * disconnected due to race with PHY down. We cannot + * continue to discover this port + */ + sas_put_device(dev); + pr_warn("Port %016llx is disconnected when discovering\n", + SAS_ADDR(port->attached_sas_addr)); + return -ENODEV; } sas_init_dev(dev); diff -Nru linux-4.19.87/drivers/scsi/libsas/sas_expander.c linux-4.19.98/drivers/scsi/libsas/sas_expander.c --- linux-4.19.87/drivers/scsi/libsas/sas_expander.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/libsas/sas_expander.c 2020-01-23 07:21:39.000000000 +0000 @@ -614,7 +614,14 @@ } res = smp_execute_task(dev, pc_req, PC_REQ_SIZE, pc_resp,PC_RESP_SIZE); - + if (res) { + pr_err("ex %016llx phy%02d PHY control failed: %d\n", + SAS_ADDR(dev->sas_addr), phy_id, res); + } else if (pc_resp[2] != SMP_RESP_FUNC_ACC) { + pr_err("ex %016llx phy%02d PHY control failed: function result 0x%x\n", + SAS_ADDR(dev->sas_addr), phy_id, pc_resp[2]); + res = pc_resp[2]; + } kfree(pc_resp); kfree(pc_req); return res; @@ -817,6 +824,26 @@ #ifdef CONFIG_SCSI_SAS_ATA if ((phy->attached_tproto & SAS_PROTOCOL_STP) || phy->attached_sata_dev) { + if (child->linkrate > parent->min_linkrate) { + struct sas_phy_linkrates rates = { + .maximum_linkrate = parent->min_linkrate, + .minimum_linkrate = parent->min_linkrate, + }; + int ret; + + pr_notice("ex %016llx phy%02d SATA device linkrate > min pathway connection rate, attempting to lower device linkrate\n", + SAS_ADDR(child->sas_addr), phy_id); + ret = sas_smp_phy_control(parent, phy_id, + PHY_FUNC_LINK_RESET, &rates); + if (ret) { + pr_err("ex %016llx phy%02d SATA device could not set linkrate (%d)\n", + SAS_ADDR(child->sas_addr), phy_id, ret); + goto out_free; + } + pr_notice("ex %016llx phy%02d SATA device set linkrate successfully\n", + SAS_ADDR(child->sas_addr), phy_id); + child->linkrate = child->min_linkrate; + } res = sas_get_ata_info(child, phy); if (res) goto out_free; diff -Nru linux-4.19.87/drivers/scsi/lpfc/lpfc.h linux-4.19.98/drivers/scsi/lpfc/lpfc.h --- linux-4.19.87/drivers/scsi/lpfc/lpfc.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/lpfc/lpfc.h 2020-01-23 07:21:39.000000000 +0000 @@ -966,7 +966,8 @@ struct list_head port_list; struct lpfc_vport *pport; /* physical lpfc_vport pointer */ uint16_t max_vpi; /* Maximum virtual nports */ -#define LPFC_MAX_VPI 0xFFFF /* Max number of VPI supported */ +#define LPFC_MAX_VPI 0xFF /* Max number VPI supported 0 - 0xff */ +#define LPFC_MAX_VPORTS 0x100 /* Max vports per port, with pport */ uint16_t max_vports; /* * For IOV HBAs max_vpi can change * after a reset. max_vports is max @@ -1236,6 +1237,12 @@ static inline struct lpfc_sli_ring * lpfc_phba_elsring(struct lpfc_hba *phba) { + /* Return NULL if sli_rev has become invalid due to bad fw */ + if (phba->sli_rev != LPFC_SLI_REV4 && + phba->sli_rev != LPFC_SLI_REV3 && + phba->sli_rev != LPFC_SLI_REV2) + return NULL; + if (phba->sli_rev == LPFC_SLI_REV4) { if (phba->sli4_hba.els_wq) return phba->sli4_hba.els_wq->pring; diff -Nru linux-4.19.87/drivers/scsi/lpfc/lpfc_attr.c linux-4.19.98/drivers/scsi/lpfc/lpfc_attr.c --- linux-4.19.87/drivers/scsi/lpfc/lpfc_attr.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/lpfc/lpfc_attr.c 2020-01-23 07:21:39.000000000 +0000 @@ -1332,7 +1332,7 @@ return -EACCES; if ((phba->sli_rev < LPFC_SLI_REV4) || - (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) != + (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) < LPFC_SLI_INTF_IF_TYPE_2)) return -EPERM; @@ -1632,6 +1632,9 @@ max_vpi = (bf_get(lpfc_mbx_rd_conf_vpi_count, rd_config) > 0) ? (bf_get(lpfc_mbx_rd_conf_vpi_count, rd_config) - 1) : 0; + /* Limit the max we support */ + if (max_vpi > LPFC_MAX_VPI) + max_vpi = LPFC_MAX_VPI; if (mvpi) *mvpi = max_vpi; if (avpi) @@ -1647,8 +1650,13 @@ *axri = pmb->un.varRdConfig.avail_xri; if (mvpi) *mvpi = pmb->un.varRdConfig.max_vpi; - if (avpi) - *avpi = pmb->un.varRdConfig.avail_vpi; + if (avpi) { + /* avail_vpi is only valid if link is up and ready */ + if (phba->link_state == LPFC_HBA_READY) + *avpi = pmb->un.varRdConfig.avail_vpi; + else + *avpi = pmb->un.varRdConfig.max_vpi; + } } mempool_free(pmboxq, phba->mbox_mem_pool); @@ -3841,8 +3849,9 @@ val); return -EINVAL; } - if (phba->pcidev->device == PCI_DEVICE_ID_LANCER_G6_FC && - val == 4) { + if ((phba->pcidev->device == PCI_DEVICE_ID_LANCER_G6_FC || + phba->pcidev->device == PCI_DEVICE_ID_LANCER_G7_FC) && + val == 4) { lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT, "3114 Loop mode not supported\n"); return -EINVAL; @@ -4264,7 +4273,7 @@ uint32_t prev_val, if_type; if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf); - if (if_type == LPFC_SLI_INTF_IF_TYPE_2 && + if (if_type >= LPFC_SLI_INTF_IF_TYPE_2 && phba->hba_flag & HBA_FORCED_LINK_SPEED) return -EPERM; diff -Nru linux-4.19.87/drivers/scsi/lpfc/lpfc_bsg.c linux-4.19.98/drivers/scsi/lpfc/lpfc_bsg.c --- linux-4.19.87/drivers/scsi/lpfc/lpfc_bsg.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/lpfc/lpfc_bsg.c 2020-01-23 07:21:39.000000000 +0000 @@ -2221,7 +2221,7 @@ if (phba->sli_rev < LPFC_SLI_REV4) rc = lpfc_sli3_bsg_diag_loopback_mode(phba, job); - else if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) == + else if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) >= LPFC_SLI_INTF_IF_TYPE_2) rc = lpfc_sli4_bsg_diag_loopback_mode(phba, job); else @@ -2261,7 +2261,7 @@ if (phba->sli_rev < LPFC_SLI_REV4) return -ENODEV; - if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) != + if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) < LPFC_SLI_INTF_IF_TYPE_2) return -ENODEV; @@ -2353,7 +2353,7 @@ rc = -ENODEV; goto job_error; } - if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) != + if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) < LPFC_SLI_INTF_IF_TYPE_2) { rc = -ENODEV; goto job_error; @@ -4419,12 +4419,6 @@ phba->mbox_ext_buf_ctx.seqNum++; nemb_tp = phba->mbox_ext_buf_ctx.nembType; - dd_data = kmalloc(sizeof(struct bsg_job_data), GFP_KERNEL); - if (!dd_data) { - rc = -ENOMEM; - goto job_error; - } - pbuf = (uint8_t *)dmabuf->virt; size = job->request_payload.payload_len; sg_copy_to_buffer(job->request_payload.sg_list, @@ -4461,6 +4455,13 @@ "2968 SLI_CONFIG ext-buffer wr all %d " "ebuffers received\n", phba->mbox_ext_buf_ctx.numBuf); + + dd_data = kmalloc(sizeof(struct bsg_job_data), GFP_KERNEL); + if (!dd_data) { + rc = -ENOMEM; + goto job_error; + } + /* mailbox command structure for base driver */ pmboxq = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); if (!pmboxq) { @@ -4509,6 +4510,8 @@ return SLI_CONFIG_HANDLED; job_error: + if (pmboxq) + mempool_free(pmboxq, phba->mbox_mem_pool); lpfc_bsg_dma_page_free(phba, dmabuf); kfree(dd_data); diff -Nru linux-4.19.87/drivers/scsi/lpfc/lpfc_els.c linux-4.19.98/drivers/scsi/lpfc/lpfc_els.c --- linux-4.19.87/drivers/scsi/lpfc/lpfc_els.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/lpfc/lpfc_els.c 2020-01-23 07:21:39.000000000 +0000 @@ -1343,6 +1343,8 @@ Fabric_DID); pring = lpfc_phba_elsring(phba); + if (unlikely(!pring)) + return -EIO; /* * Check the txcmplq for an iocb that matches the nport the driver is @@ -4108,7 +4110,7 @@ mempool_free(mbox, phba->mbox_mem_pool); } out: - if (ndlp && NLP_CHK_NODE_ACT(ndlp)) { + if (ndlp && NLP_CHK_NODE_ACT(ndlp) && shost) { spin_lock_irq(shost->host_lock); ndlp->nlp_flag &= ~(NLP_ACC_REGLOGIN | NLP_RM_DFLT_RPI); spin_unlock_irq(shost->host_lock); @@ -5557,7 +5559,7 @@ struct ls_rjt stat; if (phba->sli_rev < LPFC_SLI_REV4 || - bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) != + bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) < LPFC_SLI_INTF_IF_TYPE_2) { rjt_err = LSRJT_UNABLE_TPC; rjt_expl = LSEXP_REQ_UNSUPPORTED; diff -Nru linux-4.19.87/drivers/scsi/lpfc/lpfc_hbadisc.c linux-4.19.98/drivers/scsi/lpfc/lpfc_hbadisc.c --- linux-4.19.87/drivers/scsi/lpfc/lpfc_hbadisc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/lpfc/lpfc_hbadisc.c 2020-01-23 07:21:39.000000000 +0000 @@ -4780,7 +4780,7 @@ if (phba->sli_rev == LPFC_SLI_REV4 && (!(vport->load_flag & FC_UNLOADING)) && (bf_get(lpfc_sli_intf_if_type, - &phba->sli4_hba.sli_intf) == + &phba->sli4_hba.sli_intf) >= LPFC_SLI_INTF_IF_TYPE_2) && (kref_read(&ndlp->kref) > 0)) { mbox->context1 = lpfc_nlp_get(ndlp); @@ -5231,9 +5231,14 @@ /* If we've already received a PLOGI from this NPort * we don't need to try to discover it again. */ - if (ndlp->nlp_flag & NLP_RCV_PLOGI) + if (ndlp->nlp_flag & NLP_RCV_PLOGI && + !(ndlp->nlp_type & + (NLP_FCP_TARGET | NLP_NVME_TARGET))) return NULL; + ndlp->nlp_prev_state = ndlp->nlp_state; + lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); + spin_lock_irq(shost->host_lock); ndlp->nlp_flag |= NLP_NPR_2B_DISC; spin_unlock_irq(shost->host_lock); diff -Nru linux-4.19.87/drivers/scsi/lpfc/lpfc_init.c linux-4.19.98/drivers/scsi/lpfc/lpfc_init.c --- linux-4.19.87/drivers/scsi/lpfc/lpfc_init.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/lpfc/lpfc_init.c 2020-01-23 07:21:39.000000000 +0000 @@ -1801,7 +1801,12 @@ lpfc_offline(phba); /* release interrupt for possible resource change */ lpfc_sli4_disable_intr(phba); - lpfc_sli_brdrestart(phba); + rc = lpfc_sli_brdrestart(phba); + if (rc) { + lpfc_printf_log(phba, KERN_ERR, LOG_INIT, + "6309 Failed to restart board\n"); + return rc; + } /* request and enable interrupt */ intr_mode = lpfc_sli4_enable_intr(phba, phba->intr_mode); if (intr_mode == LPFC_INTR_ERROR) { @@ -7761,6 +7766,9 @@ bf_get(lpfc_mbx_rd_conf_xri_base, rd_config); phba->sli4_hba.max_cfg_param.max_vpi = bf_get(lpfc_mbx_rd_conf_vpi_count, rd_config); + /* Limit the max we support */ + if (phba->sli4_hba.max_cfg_param.max_vpi > LPFC_MAX_VPORTS) + phba->sli4_hba.max_cfg_param.max_vpi = LPFC_MAX_VPORTS; phba->sli4_hba.max_cfg_param.vpi_base = bf_get(lpfc_mbx_rd_conf_vpi_base, rd_config); phba->sli4_hba.max_cfg_param.max_rpi = diff -Nru linux-4.19.87/drivers/scsi/lpfc/lpfc_mbox.c linux-4.19.98/drivers/scsi/lpfc/lpfc_mbox.c --- linux-4.19.87/drivers/scsi/lpfc/lpfc_mbox.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/lpfc/lpfc_mbox.c 2020-01-23 07:21:39.000000000 +0000 @@ -513,9 +513,9 @@ break; } - if (phba->pcidev->device == PCI_DEVICE_ID_LANCER_G6_FC && - mb->un.varInitLnk.link_flags & FLAGS_TOPOLOGY_MODE_LOOP) { - /* Failover is not tried for Lancer G6 */ + if ((phba->pcidev->device == PCI_DEVICE_ID_LANCER_G6_FC || + phba->pcidev->device == PCI_DEVICE_ID_LANCER_G7_FC) && + mb->un.varInitLnk.link_flags & FLAGS_TOPOLOGY_MODE_LOOP) { mb->un.varInitLnk.link_flags = FLAGS_TOPOLOGY_MODE_PT_PT; phba->cfg_topology = FLAGS_TOPOLOGY_MODE_PT_PT; } diff -Nru linux-4.19.87/drivers/scsi/lpfc/lpfc_nportdisc.c linux-4.19.98/drivers/scsi/lpfc/lpfc_nportdisc.c --- linux-4.19.87/drivers/scsi/lpfc/lpfc_nportdisc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/lpfc/lpfc_nportdisc.c 2020-01-23 07:21:39.000000000 +0000 @@ -483,8 +483,10 @@ * single discovery thread, this will cause a huge delay in * discovery. Also this will cause multiple state machines * running in parallel for this node. + * This only applies to a fabric environment. */ - if (ndlp->nlp_state == NLP_STE_PLOGI_ISSUE) { + if ((ndlp->nlp_state == NLP_STE_PLOGI_ISSUE) && + (vport->fc_flag & FC_FABRIC)) { /* software abort outstanding PLOGI */ lpfc_els_abort(phba, ndlp); } diff -Nru linux-4.19.87/drivers/scsi/lpfc/lpfc_nvme.c linux-4.19.98/drivers/scsi/lpfc/lpfc_nvme.c --- linux-4.19.87/drivers/scsi/lpfc/lpfc_nvme.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/lpfc/lpfc_nvme.c 2020-01-23 07:21:39.000000000 +0000 @@ -1856,7 +1856,6 @@ bf_set(abort_cmd_criteria, &abts_wqe->abort_cmd, T_XRI_TAG); /* word 7 */ - bf_set(wqe_ct, &abts_wqe->abort_cmd.wqe_com, 0); bf_set(wqe_cmnd, &abts_wqe->abort_cmd.wqe_com, CMD_ABORT_XRI_CX); bf_set(wqe_class, &abts_wqe->abort_cmd.wqe_com, nvmereq_wqe->iocb.ulpClass); @@ -1871,7 +1870,6 @@ abts_buf->iotag); /* word 10 */ - bf_set(wqe_wqid, &abts_wqe->abort_cmd.wqe_com, nvmereq_wqe->hba_wqidx); bf_set(wqe_qosd, &abts_wqe->abort_cmd.wqe_com, 1); bf_set(wqe_lenloc, &abts_wqe->abort_cmd.wqe_com, LPFC_WQE_LENLOC_NONE); @@ -1905,6 +1903,8 @@ /* Declare and initialization an instance of the FC NVME template. */ static struct nvme_fc_port_template lpfc_nvme_template = { + .module = THIS_MODULE, + /* initiator-based functions */ .localport_delete = lpfc_nvme_localport_delete, .remoteport_delete = lpfc_nvme_remoteport_delete, diff -Nru linux-4.19.87/drivers/scsi/lpfc/lpfc_scsi.c linux-4.19.98/drivers/scsi/lpfc/lpfc_scsi.c --- linux-4.19.87/drivers/scsi/lpfc/lpfc_scsi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/lpfc/lpfc_scsi.c 2020-01-23 07:21:39.000000000 +0000 @@ -2732,6 +2732,7 @@ int datasegcnt, protsegcnt, datadir = scsi_cmnd->sc_data_direction; int prot_group_type = 0; int fcpdl; + struct lpfc_vport *vport = phba->pport; /* * Start the lpfc command prep by bumping the bpl beyond fcp_cmnd @@ -2837,6 +2838,14 @@ */ iocb_cmd->un.fcpi.fcpi_parm = fcpdl; + /* + * For First burst, we may need to adjust the initial transfer + * length for DIF + */ + if (iocb_cmd->un.fcpi.fcpi_XRdy && + (fcpdl < vport->cfg_first_burst_size)) + iocb_cmd->un.fcpi.fcpi_XRdy = fcpdl; + return 0; err: if (lpfc_cmd->seg_cnt) @@ -3401,6 +3410,7 @@ int datasegcnt, protsegcnt, datadir = scsi_cmnd->sc_data_direction; int prot_group_type = 0; int fcpdl; + struct lpfc_vport *vport = phba->pport; /* * Start the lpfc command prep by bumping the sgl beyond fcp_cmnd @@ -3517,6 +3527,14 @@ iocb_cmd->un.fcpi.fcpi_parm = fcpdl; /* + * For First burst, we may need to adjust the initial transfer + * length for DIF + */ + if (iocb_cmd->un.fcpi.fcpi_XRdy && + (fcpdl < vport->cfg_first_burst_size)) + iocb_cmd->un.fcpi.fcpi_XRdy = fcpdl; + + /* * If the OAS driver feature is enabled and the lun is enabled for * OAS, set the oas iocb related flags. */ diff -Nru linux-4.19.87/drivers/scsi/lpfc/lpfc_sli.c linux-4.19.98/drivers/scsi/lpfc/lpfc_sli.c --- linux-4.19.87/drivers/scsi/lpfc/lpfc_sli.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/lpfc/lpfc_sli.c 2020-01-23 07:21:39.000000000 +0000 @@ -4640,6 +4640,8 @@ hba_aer_enabled = phba->hba_flag & HBA_AER_ENABLED; rc = lpfc_sli4_brdreset(phba); + if (rc) + return rc; spin_lock_irq(&phba->hbalock); phba->pport->stopped = 0; @@ -10987,19 +10989,12 @@ /* Complete prepping the abort wqe and issue to the FW. */ abts_wqe = &abtsiocbp->wqe; - bf_set(abort_cmd_ia, &abts_wqe->abort_cmd, 0); - bf_set(abort_cmd_criteria, &abts_wqe->abort_cmd, T_XRI_TAG); - /* Explicitly set reserved fields to zero.*/ - abts_wqe->abort_cmd.rsrvd4 = 0; - abts_wqe->abort_cmd.rsrvd5 = 0; - - /* WQE Common - word 6. Context is XRI tag. Set 0. */ - bf_set(wqe_xri_tag, &abts_wqe->abort_cmd.wqe_com, 0); - bf_set(wqe_ctxt_tag, &abts_wqe->abort_cmd.wqe_com, 0); + /* Clear any stale WQE contents */ + memset(abts_wqe, 0, sizeof(union lpfc_wqe)); + bf_set(abort_cmd_criteria, &abts_wqe->abort_cmd, T_XRI_TAG); /* word 7 */ - bf_set(wqe_ct, &abts_wqe->abort_cmd.wqe_com, 0); bf_set(wqe_cmnd, &abts_wqe->abort_cmd.wqe_com, CMD_ABORT_XRI_CX); bf_set(wqe_class, &abts_wqe->abort_cmd.wqe_com, cmdiocb->iocb.ulpClass); @@ -11014,7 +11009,6 @@ abtsiocbp->iotag); /* word 10 */ - bf_set(wqe_wqid, &abts_wqe->abort_cmd.wqe_com, cmdiocb->hba_wqidx); bf_set(wqe_qosd, &abts_wqe->abort_cmd.wqe_com, 1); bf_set(wqe_lenloc, &abts_wqe->abort_cmd.wqe_com, LPFC_WQE_LENLOC_NONE); @@ -12934,13 +12928,19 @@ phba->sli.sli_flag &= ~LPFC_SLI_MBOX_ACTIVE; /* Setting active mailbox pointer need to be in sync to flag clear */ phba->sli.mbox_active = NULL; + if (bf_get(lpfc_trailer_consumed, mcqe)) + lpfc_sli4_mq_release(phba->sli4_hba.mbx_wq); spin_unlock_irqrestore(&phba->hbalock, iflags); /* Wake up worker thread to post the next pending mailbox command */ lpfc_worker_wake_up(phba); + return workposted; + out_no_mqe_complete: + spin_lock_irqsave(&phba->hbalock, iflags); if (bf_get(lpfc_trailer_consumed, mcqe)) lpfc_sli4_mq_release(phba->sli4_hba.mbx_wq); - return workposted; + spin_unlock_irqrestore(&phba->hbalock, iflags); + return false; } /** @@ -17867,6 +17867,13 @@ static void __lpfc_sli4_free_rpi(struct lpfc_hba *phba, int rpi) { + /* + * if the rpi value indicates a prior unreg has already + * been done, skip the unreg. + */ + if (rpi == LPFC_RPI_ALLOC_ERROR) + return; + if (test_and_clear_bit(rpi, phba->sli4_hba.rpi_bmask)) { phba->sli4_hba.rpi_count--; phba->sli4_hba.max_cfg_param.rpi_used--; diff -Nru linux-4.19.87/drivers/scsi/mac_scsi.c linux-4.19.98/drivers/scsi/mac_scsi.c --- linux-4.19.87/drivers/scsi/mac_scsi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/mac_scsi.c 2020-01-23 07:21:39.000000000 +0000 @@ -429,7 +429,7 @@ mac_scsi_template.can_queue = setup_can_queue; if (setup_cmd_per_lun > 0) mac_scsi_template.cmd_per_lun = setup_cmd_per_lun; - if (setup_sg_tablesize >= 0) + if (setup_sg_tablesize > 0) mac_scsi_template.sg_tablesize = setup_sg_tablesize; if (setup_hostid >= 0) mac_scsi_template.this_id = setup_hostid & 7; diff -Nru linux-4.19.87/drivers/scsi/mpt3sas/mpt3sas_ctl.c linux-4.19.98/drivers/scsi/mpt3sas/mpt3sas_ctl.c --- linux-4.19.87/drivers/scsi/mpt3sas/mpt3sas_ctl.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/mpt3sas/mpt3sas_ctl.c 2020-01-23 07:21:39.000000000 +0000 @@ -1597,7 +1597,8 @@ " for diag buffers, requested size(%d)\n", ioc->name, __func__, request_data_sz); mpt3sas_base_free_smid(ioc, smid); - return -ENOMEM; + rc = -ENOMEM; + goto out; } ioc->diag_buffer[buffer_type] = request_data; ioc->diag_buffer_sz[buffer_type] = request_data_sz; diff -Nru linux-4.19.87/drivers/scsi/pm8001/pm80xx_hwi.c linux-4.19.98/drivers/scsi/pm8001/pm80xx_hwi.c --- linux-4.19.87/drivers/scsi/pm8001/pm80xx_hwi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/pm8001/pm80xx_hwi.c 2020-01-23 07:21:39.000000000 +0000 @@ -2382,6 +2382,8 @@ pm8001_printk("task 0x%p done with io_status 0x%x" " resp 0x%x stat 0x%x but aborted by upper layer!\n", t, status, ts->resp, ts->stat)); + if (t->slow_task) + complete(&t->slow_task->completion); pm8001_ccb_task_free(pm8001_ha, t, ccb, tag); } else { spin_unlock_irqrestore(&t->task_state_lock, flags); diff -Nru linux-4.19.87/drivers/scsi/qedf/qedf_els.c linux-4.19.98/drivers/scsi/qedf/qedf_els.c --- linux-4.19.87/drivers/scsi/qedf/qedf_els.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/qedf/qedf_els.c 2020-01-23 07:21:39.000000000 +0000 @@ -23,8 +23,6 @@ int rc = 0; uint32_t did, sid; uint16_t xid; - uint32_t start_time = jiffies / HZ; - uint32_t current_time; struct fcoe_wqe *sqe; unsigned long flags; u16 sqe_idx; @@ -59,18 +57,12 @@ goto els_err; } -retry_els: els_req = qedf_alloc_cmd(fcport, QEDF_ELS); if (!els_req) { - current_time = jiffies / HZ; - if ((current_time - start_time) > 10) { - QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, - "els: Failed els 0x%x\n", op); - rc = -ENOMEM; - goto els_err; - } - mdelay(20 * USEC_PER_MSEC); - goto retry_els; + QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_ELS, + "Failed to alloc ELS request 0x%x\n", op); + rc = -ENOMEM; + goto els_err; } QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_ELS, "initiate_els els_req = " diff -Nru linux-4.19.87/drivers/scsi/qla2xxx/qla_attr.c linux-4.19.98/drivers/scsi/qla2xxx/qla_attr.c --- linux-4.19.87/drivers/scsi/qla2xxx/qla_attr.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/qla2xxx/qla_attr.c 2020-01-23 07:21:39.000000000 +0000 @@ -655,7 +655,8 @@ break; } else { /* Make sure FC side is not in reset */ - qla2x00_wait_for_hba_online(vha); + WARN_ON_ONCE(qla2x00_wait_for_hba_online(vha) != + QLA_SUCCESS); /* Issue MPI reset */ scsi_block_requests(vha->host); @@ -2161,6 +2162,8 @@ test_bit(FCPORT_UPDATE_NEEDED, &vha->dpc_flags)) msleep(1000); + qla_nvme_delete(vha); + qla24xx_disable_vp(vha); qla2x00_wait_for_sess_deletion(vha); diff -Nru linux-4.19.87/drivers/scsi/qla2xxx/qla_bsg.c linux-4.19.98/drivers/scsi/qla2xxx/qla_bsg.c --- linux-4.19.87/drivers/scsi/qla2xxx/qla_bsg.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/qla2xxx/qla_bsg.c 2020-01-23 07:21:39.000000000 +0000 @@ -342,6 +342,8 @@ dma_map_sg(&ha->pdev->dev, bsg_job->request_payload.sg_list, bsg_job->request_payload.sg_cnt, DMA_TO_DEVICE); if (!req_sg_cnt) { + dma_unmap_sg(&ha->pdev->dev, bsg_job->request_payload.sg_list, + bsg_job->request_payload.sg_cnt, DMA_TO_DEVICE); rval = -ENOMEM; goto done_free_fcport; } @@ -349,6 +351,8 @@ rsp_sg_cnt = dma_map_sg(&ha->pdev->dev, bsg_job->reply_payload.sg_list, bsg_job->reply_payload.sg_cnt, DMA_FROM_DEVICE); if (!rsp_sg_cnt) { + dma_unmap_sg(&ha->pdev->dev, bsg_job->reply_payload.sg_list, + bsg_job->reply_payload.sg_cnt, DMA_FROM_DEVICE); rval = -ENOMEM; goto done_free_fcport; } @@ -1775,8 +1779,8 @@ uint16_t nextlid = 0; uint32_t tot_dsds; srb_t *sp = NULL; - uint32_t req_data_len = 0; - uint32_t rsp_data_len = 0; + uint32_t req_data_len; + uint32_t rsp_data_len; /* Check the type of the adapter */ if (!IS_BIDI_CAPABLE(ha)) { @@ -1881,6 +1885,9 @@ goto done_unmap_sg; } + req_data_len = bsg_job->request_payload.payload_len; + rsp_data_len = bsg_job->reply_payload.payload_len; + if (req_data_len != rsp_data_len) { rval = EXT_STATUS_BUSY; ql_log(ql_log_warn, vha, 0x70aa, @@ -1888,10 +1895,6 @@ goto done_unmap_sg; } - req_data_len = bsg_job->request_payload.payload_len; - rsp_data_len = bsg_job->reply_payload.payload_len; - - /* Alloc SRB structure */ sp = qla2x00_get_sp(vha, &(vha->bidir_fcport), GFP_KERNEL); if (!sp) { diff -Nru linux-4.19.87/drivers/scsi/qla2xxx/qla_gs.c linux-4.19.98/drivers/scsi/qla2xxx/qla_gs.c --- linux-4.19.87/drivers/scsi/qla2xxx/qla_gs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/qla2xxx/qla_gs.c 2020-01-23 07:21:39.000000000 +0000 @@ -3264,7 +3264,7 @@ fcport->flags &= ~(FCF_ASYNC_SENT | FCF_ASYNC_ACTIVE); if (res == QLA_FUNCTION_TIMEOUT) - return; + goto done; if (res == (DID_ERROR << 16)) { /* entry status error */ diff -Nru linux-4.19.87/drivers/scsi/qla2xxx/qla_init.c linux-4.19.98/drivers/scsi/qla2xxx/qla_init.c --- linux-4.19.87/drivers/scsi/qla2xxx/qla_init.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/qla2xxx/qla_init.c 2020-01-23 07:21:39.000000000 +0000 @@ -242,15 +242,13 @@ qla2x00_init_timer(sp, qla2x00_get_async_timeout(vha) + 2); sp->done = qla2x00_async_login_sp_done; - if (N2N_TOPO(fcport->vha->hw) && fcport_is_bigger(fcport)) { + if (N2N_TOPO(fcport->vha->hw) && fcport_is_bigger(fcport)) lio->u.logio.flags |= SRB_LOGIN_PRLI_ONLY; - } else { + else lio->u.logio.flags |= SRB_LOGIN_COND_PLOGI; - if (fcport->fc4f_nvme) - lio->u.logio.flags |= SRB_LOGIN_SKIP_PRLI; - - } + if (fcport->fc4f_nvme) + lio->u.logio.flags |= SRB_LOGIN_SKIP_PRLI; ql_dbg(ql_dbg_disc, vha, 0x2072, "Async-login - %8phC hdl=%x, loopid=%x portid=%02x%02x%02x " @@ -293,9 +291,6 @@ struct srb_iocb *lio; int rval = QLA_FUNCTION_FAILED; - if (!vha->flags.online || (fcport->flags & FCF_ASYNC_SENT)) - return rval; - fcport->flags |= FCF_ASYNC_SENT; sp = qla2x00_get_sp(vha, fcport, GFP_KERNEL); if (!sp) @@ -438,6 +433,7 @@ e->u.fcport.fcport = fcport; fcport->flags |= FCF_ASYNC_ACTIVE; + fcport->disc_state = DSC_LOGIN_PEND; return qla2x00_post_work(vha, e); } @@ -970,6 +966,7 @@ e->u.fcport.fcport = fcport; fcport->flags |= FCF_ASYNC_ACTIVE; + fcport->disc_state = DSC_LOGIN_PEND; return qla2x00_post_work(vha, e); } @@ -987,13 +984,11 @@ "Async done-%s res %x, WWPN %8phC mb[1]=%x mb[2]=%x \n", sp->name, res, fcport->port_name, mb[1], mb[2]); - if (res == QLA_FUNCTION_TIMEOUT) { - dma_pool_free(sp->vha->hw->s_dma_pool, sp->u.iocb_cmd.u.mbx.in, - sp->u.iocb_cmd.u.mbx.in_dma); - return; - } - fcport->flags &= ~(FCF_ASYNC_SENT | FCF_ASYNC_ACTIVE); + + if (res == QLA_FUNCTION_TIMEOUT) + goto done; + memset(&ea, 0, sizeof(ea)); ea.event = FCME_GPDB_DONE; ea.fcport = fcport; @@ -1001,6 +996,7 @@ qla2x00_fcport_event_handler(vha, &ea); +done: dma_pool_free(ha->s_dma_pool, sp->u.iocb_cmd.u.mbx.in, sp->u.iocb_cmd.u.mbx.in_dma); @@ -4819,14 +4815,8 @@ set_bit(RSCN_UPDATE, &flags); clear_bit(LOCAL_LOOP_UPDATE, &flags); - } else if (ha->current_topology == ISP_CFG_N) { - clear_bit(RSCN_UPDATE, &flags); - if (qla_tgt_mode_enabled(vha)) { - /* allow the other side to start the login */ - clear_bit(LOCAL_LOOP_UPDATE, &flags); - set_bit(RELOGIN_NEEDED, &vha->dpc_flags); - } - } else if (ha->current_topology == ISP_CFG_NL) { + } else if (ha->current_topology == ISP_CFG_NL || + ha->current_topology == ISP_CFG_N) { clear_bit(RSCN_UPDATE, &flags); set_bit(LOCAL_LOOP_UPDATE, &flags); } else if (!vha->flags.online || @@ -5720,8 +5710,7 @@ if (test_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags)) break; - if ((fcport->flags & FCF_FABRIC_DEVICE) == 0 || - (fcport->flags & FCF_LOGIN_NEEDED) == 0) + if ((fcport->flags & FCF_FABRIC_DEVICE) == 0) continue; if (fcport->scan_state == QLA_FCPORT_SCAN) { @@ -5744,7 +5733,8 @@ } } - if (fcport->scan_state == QLA_FCPORT_FOUND) + if (fcport->scan_state == QLA_FCPORT_FOUND && + (fcport->flags & FCF_LOGIN_NEEDED) != 0) qla24xx_fcport_handle_login(vha, fcport); } return (rval); @@ -8727,8 +8717,6 @@ struct qla_hw_data *ha = qpair->hw; qpair->delete_in_progress = 1; - while (atomic_read(&qpair->ref_count)) - msleep(500); ret = qla25xx_delete_req_que(vha, qpair->req); if (ret != QLA_SUCCESS) diff -Nru linux-4.19.87/drivers/scsi/qla2xxx/qla_iocb.c linux-4.19.98/drivers/scsi/qla2xxx/qla_iocb.c --- linux-4.19.87/drivers/scsi/qla2xxx/qla_iocb.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/qla2xxx/qla_iocb.c 2020-01-23 07:21:39.000000000 +0000 @@ -2537,7 +2537,8 @@ ql_dbg(ql_dbg_io + ql_dbg_buffer, vha, 0x3073, "PLOGI ELS IOCB:\n"); ql_dump_buffer(ql_log_info, vha, 0x0109, - (uint8_t *)els_iocb, 0x70); + (uint8_t *)els_iocb, + sizeof(*els_iocb)); } else { els_iocb->tx_byte_count = sizeof(struct els_logo_payload); els_iocb->tx_address[0] = @@ -2703,7 +2704,8 @@ ql_dbg(ql_dbg_disc + ql_dbg_buffer, vha, 0x3073, "PLOGI buffer:\n"); ql_dump_buffer(ql_dbg_disc + ql_dbg_buffer, vha, 0x0109, - (uint8_t *)elsio->u.els_plogi.els_plogi_pyld, 0x70); + (uint8_t *)elsio->u.els_plogi.els_plogi_pyld, + sizeof(*elsio->u.els_plogi.els_plogi_pyld)); rval = qla2x00_start_sp(sp); if (rval != QLA_SUCCESS) { diff -Nru linux-4.19.87/drivers/scsi/qla2xxx/qla_isr.c linux-4.19.98/drivers/scsi/qla2xxx/qla_isr.c --- linux-4.19.87/drivers/scsi/qla2xxx/qla_isr.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/qla2xxx/qla_isr.c 2020-01-23 07:21:39.000000000 +0000 @@ -1049,8 +1049,6 @@ ql_dbg(ql_dbg_async, vha, 0x5011, "Asynchronous PORT UPDATE ignored %04x/%04x/%04x.\n", mb[1], mb[2], mb[3]); - - qlt_async_event(mb[0], vha, mb); break; } @@ -1067,8 +1065,6 @@ set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags); set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags); set_bit(VP_CONFIG_OK, &vha->vp_flags); - - qlt_async_event(mb[0], vha, mb); break; case MBA_RSCN_UPDATE: /* State Change Registration */ @@ -3418,10 +3414,8 @@ ha->msix_count, ret); goto msix_out; } else if (ret < ha->msix_count) { - ql_log(ql_log_warn, vha, 0x00c6, - "MSI-X: Failed to enable support " - "with %d vectors, using %d vectors.\n", - ha->msix_count, ret); + ql_log(ql_log_info, vha, 0x00c6, + "MSI-X: Using %d vectors\n", ret); ha->msix_count = ret; /* Recalculate queue values */ if (ha->mqiobase && (ql2xmqsupport || ql2xnvmeenable)) { @@ -3579,7 +3573,7 @@ skip_msix: ql_log(ql_log_info, vha, 0x0037, - "Falling back-to MSI mode -%d.\n", ret); + "Falling back-to MSI mode -- ret=%d.\n", ret); if (!IS_QLA24XX(ha) && !IS_QLA2532(ha) && !IS_QLA8432(ha) && !IS_QLA8001(ha) && !IS_P3P_TYPE(ha) && !IS_QLAFX00(ha) && @@ -3587,13 +3581,13 @@ goto skip_msi; ret = pci_alloc_irq_vectors(ha->pdev, 1, 1, PCI_IRQ_MSI); - if (!ret) { + if (ret > 0) { ql_dbg(ql_dbg_init, vha, 0x0038, "MSI: Enabled.\n"); ha->flags.msi_enabled = 1; } else ql_log(ql_log_warn, vha, 0x0039, - "Falling back-to INTa mode -- %d.\n", ret); + "Falling back-to INTa mode -- ret=%d.\n", ret); skip_msi: /* Skip INTx on ISP82xx. */ diff -Nru linux-4.19.87/drivers/scsi/qla2xxx/qla_mbx.c linux-4.19.98/drivers/scsi/qla2xxx/qla_mbx.c --- linux-4.19.87/drivers/scsi/qla2xxx/qla_mbx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/qla2xxx/qla_mbx.c 2020-01-23 07:21:39.000000000 +0000 @@ -3871,6 +3871,7 @@ vha->d_id.b24 = 0; vha->d_id.b.al_pa = 1; ha->flags.n2n_bigger = 1; + ha->flags.n2n_ae = 0; id.b.al_pa = 2; ql_dbg(ql_dbg_async, vha, 0x5075, @@ -3881,6 +3882,7 @@ "Format 1: Remote login - Waiting for WWPN %8phC.\n", rptid_entry->u.f1.port_name); ha->flags.n2n_bigger = 0; + ha->flags.n2n_ae = 1; } qla24xx_post_newsess_work(vha, &id, rptid_entry->u.f1.port_name, @@ -3892,7 +3894,6 @@ /* if our portname is higher then initiate N2N login */ set_bit(N2N_LOGIN_NEEDED, &vha->dpc_flags); - ha->flags.n2n_ae = 1; return; break; case TOPO_FL: @@ -6131,17 +6132,13 @@ case QLA_SUCCESS: ql_dbg(ql_dbg_mbx, vha, 0x119d, "%s: %s done.\n", __func__, sp->name); - sp->free(sp); break; default: ql_dbg(ql_dbg_mbx, vha, 0x119e, "%s: %s Failed. %x.\n", __func__, sp->name, rval); - sp->free(sp); break; } - return rval; - done_free_sp: sp->free(sp); done: diff -Nru linux-4.19.87/drivers/scsi/qla2xxx/qla_mid.c linux-4.19.98/drivers/scsi/qla2xxx/qla_mid.c --- linux-4.19.87/drivers/scsi/qla2xxx/qla_mid.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/qla2xxx/qla_mid.c 2020-01-23 07:21:39.000000000 +0000 @@ -931,7 +931,7 @@ sp = qla2x00_get_sp(base_vha, NULL, GFP_KERNEL); if (!sp) - goto done; + return rval; sp->type = SRB_CTRL_VP; sp->name = "ctrl_vp"; @@ -946,7 +946,7 @@ ql_dbg(ql_dbg_async, vha, 0xffff, "%s: %s Failed submission. %x.\n", __func__, sp->name, rval); - goto done_free_sp; + goto done; } ql_dbg(ql_dbg_vport, vha, 0x113f, "%s hndl %x submitted\n", @@ -962,16 +962,13 @@ case QLA_SUCCESS: ql_dbg(ql_dbg_vport, vha, 0xffff, "%s: %s done.\n", __func__, sp->name); - goto done_free_sp; + break; default: ql_dbg(ql_dbg_vport, vha, 0xffff, "%s: %s Failed. %x.\n", __func__, sp->name, rval); - goto done_free_sp; + break; } done: - return rval; - -done_free_sp: sp->free(sp); return rval; } diff -Nru linux-4.19.87/drivers/scsi/qla2xxx/qla_nvme.c linux-4.19.98/drivers/scsi/qla2xxx/qla_nvme.c --- linux-4.19.87/drivers/scsi/qla2xxx/qla_nvme.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/qla2xxx/qla_nvme.c 2020-01-23 07:21:39.000000000 +0000 @@ -474,21 +474,10 @@ int rval = -ENODEV; srb_t *sp; struct qla_qpair *qpair = hw_queue_handle; - struct nvme_private *priv; + struct nvme_private *priv = fd->private; struct qla_nvme_rport *qla_rport = rport->private; - if (!fd || !qpair) { - ql_log(ql_log_warn, NULL, 0x2134, - "NO NVMe request or Queue Handle\n"); - return rval; - } - - priv = fd->private; fcport = qla_rport->fcport; - if (!fcport) { - ql_log(ql_log_warn, NULL, 0x210e, "No fcport ptr\n"); - return rval; - } vha = fcport->vha; @@ -517,6 +506,7 @@ sp->name = "nvme_cmd"; sp->done = qla_nvme_sp_done; sp->qpair = qpair; + sp->vha = vha; nvme = &sp->u.iocb_cmd; nvme->u.nvme.desc = fd; @@ -564,12 +554,13 @@ schedule_work(&fcport->free_work); } - fcport->nvme_flag &= ~(NVME_FLAG_REGISTERED | NVME_FLAG_DELETING); + fcport->nvme_flag &= ~NVME_FLAG_DELETING; ql_log(ql_log_info, fcport->vha, 0x2110, "remoteport_delete of %p completed.\n", fcport); } static struct nvme_fc_port_template qla_nvme_fc_transport = { + .module = THIS_MODULE, .localport_delete = qla_nvme_localport_delete, .remoteport_delete = qla_nvme_remoteport_delete, .create_queue = qla_nvme_alloc_queue, diff -Nru linux-4.19.87/drivers/scsi/qla2xxx/qla_os.c linux-4.19.98/drivers/scsi/qla2xxx/qla_os.c --- linux-4.19.87/drivers/scsi/qla2xxx/qla_os.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/qla2xxx/qla_os.c 2020-01-23 07:21:39.000000000 +0000 @@ -1029,7 +1029,7 @@ ql_dbg(ql_dbg_io + ql_dbg_verbose, vha, 0x3078, "Start scsi failed rval=%d for cmd=%p.\n", rval, cmd); if (rval == QLA_INTERFACE_ERROR) - goto qc24_fail_command; + goto qc24_free_sp_fail_command; goto qc24_host_busy_free_sp; } @@ -1044,6 +1044,11 @@ qc24_target_busy: return SCSI_MLQUEUE_TARGET_BUSY; +qc24_free_sp_fail_command: + sp->free(sp); + CMD_SP(cmd) = NULL; + qla2xxx_rel_qpair_sp(sp->qpair, sp); + qc24_fail_command: cmd->scsi_done(cmd); @@ -3538,6 +3543,8 @@ spin_unlock_irqrestore(&ha->vport_slock, flags); mutex_unlock(&ha->vport_lock); + qla_nvme_delete(vha); + fc_vport_terminate(vha->fc_vport); scsi_host_put(vha->host); diff -Nru linux-4.19.87/drivers/scsi/qla2xxx/qla_target.c linux-4.19.98/drivers/scsi/qla2xxx/qla_target.c --- linux-4.19.87/drivers/scsi/qla2xxx/qla_target.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/qla2xxx/qla_target.c 2020-01-23 07:21:39.000000000 +0000 @@ -1261,7 +1261,6 @@ "Scheduling sess %p for deletion %8phC\n", sess, sess->port_name); - INIT_WORK(&sess->del_work, qla24xx_delete_sess_fn); WARN_ON(!queue_work(sess->vha->hw->wq, &sess->del_work)); } @@ -4780,6 +4779,7 @@ switch (sess->disc_state) { case DSC_DELETED: + case DSC_LOGIN_PEND: qlt_plogi_ack_unref(vha, pla); break; @@ -6062,7 +6062,6 @@ struct qla_hw_data *ha = vha->hw; struct fc_port *sess = NULL; unsigned long flags = 0, flags2 = 0; - uint32_t be_s_id; uint8_t s_id[3]; int rc; @@ -6075,8 +6074,7 @@ s_id[1] = prm->abts.fcp_hdr_le.s_id[1]; s_id[2] = prm->abts.fcp_hdr_le.s_id[0]; - sess = ha->tgt.tgt_ops->find_sess_by_s_id(vha, - (unsigned char *)&be_s_id); + sess = ha->tgt.tgt_ops->find_sess_by_s_id(vha, s_id); if (!sess) { spin_unlock_irqrestore(&ha->tgt.sess_lock, flags2); @@ -6545,7 +6543,8 @@ } else { set_bit(ISP_ABORT_NEEDED, &base_vha->dpc_flags); qla2xxx_wake_dpc(base_vha); - qla2x00_wait_for_hba_online(base_vha); + WARN_ON_ONCE(qla2x00_wait_for_hba_online(base_vha) != + QLA_SUCCESS); } } EXPORT_SYMBOL(qlt_enable_vha); @@ -6575,7 +6574,9 @@ set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); qla2xxx_wake_dpc(vha); - qla2x00_wait_for_hba_online(vha); + if (qla2x00_wait_for_hba_online(vha) != QLA_SUCCESS) + ql_dbg(ql_dbg_tgt, vha, 0xe081, + "qla2x00_wait_for_hba_online() failed\n"); } /* diff -Nru linux-4.19.87/drivers/scsi/qla2xxx/tcm_qla2xxx.c linux-4.19.98/drivers/scsi/qla2xxx/tcm_qla2xxx.c --- linux-4.19.87/drivers/scsi/qla2xxx/tcm_qla2xxx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/qla2xxx/tcm_qla2xxx.c 2020-01-23 07:21:39.000000000 +0000 @@ -926,38 +926,14 @@ atomic_read(&tpg->lport_tpg_enabled)); } -static void tcm_qla2xxx_depend_tpg(struct work_struct *work) -{ - struct tcm_qla2xxx_tpg *base_tpg = container_of(work, - struct tcm_qla2xxx_tpg, tpg_base_work); - struct se_portal_group *se_tpg = &base_tpg->se_tpg; - struct scsi_qla_host *base_vha = base_tpg->lport->qla_vha; - - if (!target_depend_item(&se_tpg->tpg_group.cg_item)) { - atomic_set(&base_tpg->lport_tpg_enabled, 1); - qlt_enable_vha(base_vha); - } - complete(&base_tpg->tpg_base_comp); -} - -static void tcm_qla2xxx_undepend_tpg(struct work_struct *work) -{ - struct tcm_qla2xxx_tpg *base_tpg = container_of(work, - struct tcm_qla2xxx_tpg, tpg_base_work); - struct se_portal_group *se_tpg = &base_tpg->se_tpg; - struct scsi_qla_host *base_vha = base_tpg->lport->qla_vha; - - if (!qlt_stop_phase1(base_vha->vha_tgt.qla_tgt)) { - atomic_set(&base_tpg->lport_tpg_enabled, 0); - target_undepend_item(&se_tpg->tpg_group.cg_item); - } - complete(&base_tpg->tpg_base_comp); -} - static ssize_t tcm_qla2xxx_tpg_enable_store(struct config_item *item, const char *page, size_t count) { struct se_portal_group *se_tpg = to_tpg(item); + struct se_wwn *se_wwn = se_tpg->se_tpg_wwn; + struct tcm_qla2xxx_lport *lport = container_of(se_wwn, + struct tcm_qla2xxx_lport, lport_wwn); + struct scsi_qla_host *vha = lport->qla_vha; struct tcm_qla2xxx_tpg *tpg = container_of(se_tpg, struct tcm_qla2xxx_tpg, se_tpg); unsigned long op; @@ -976,24 +952,16 @@ if (atomic_read(&tpg->lport_tpg_enabled)) return -EEXIST; - INIT_WORK(&tpg->tpg_base_work, tcm_qla2xxx_depend_tpg); + atomic_set(&tpg->lport_tpg_enabled, 1); + qlt_enable_vha(vha); } else { if (!atomic_read(&tpg->lport_tpg_enabled)) return count; - INIT_WORK(&tpg->tpg_base_work, tcm_qla2xxx_undepend_tpg); + atomic_set(&tpg->lport_tpg_enabled, 0); + qlt_stop_phase1(vha->vha_tgt.qla_tgt); } - init_completion(&tpg->tpg_base_comp); - schedule_work(&tpg->tpg_base_work); - wait_for_completion(&tpg->tpg_base_comp); - if (op) { - if (!atomic_read(&tpg->lport_tpg_enabled)) - return -ENODEV; - } else { - if (atomic_read(&tpg->lport_tpg_enabled)) - return -EPERM; - } return count; } diff -Nru linux-4.19.87/drivers/scsi/qla2xxx/tcm_qla2xxx.h linux-4.19.98/drivers/scsi/qla2xxx/tcm_qla2xxx.h --- linux-4.19.87/drivers/scsi/qla2xxx/tcm_qla2xxx.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/qla2xxx/tcm_qla2xxx.h 2020-01-23 07:21:39.000000000 +0000 @@ -48,9 +48,6 @@ struct tcm_qla2xxx_tpg_attrib tpg_attrib; /* Returned by tcm_qla2xxx_make_tpg() */ struct se_portal_group se_tpg; - /* Items for dealing with configfs_depend_item */ - struct completion tpg_base_comp; - struct work_struct tpg_base_work; }; struct tcm_qla2xxx_fc_loopid { diff -Nru linux-4.19.87/drivers/scsi/qla4xxx/ql4_mbx.c linux-4.19.98/drivers/scsi/qla4xxx/ql4_mbx.c --- linux-4.19.87/drivers/scsi/qla4xxx/ql4_mbx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/qla4xxx/ql4_mbx.c 2020-01-23 07:21:39.000000000 +0000 @@ -640,9 +640,6 @@ if (qla4xxx_get_ifcb(ha, &mbox_cmd[0], &mbox_sts[0], init_fw_cb_dma) != QLA_SUCCESS) { - dma_free_coherent(&ha->pdev->dev, - sizeof(struct addr_ctrl_blk), - init_fw_cb, init_fw_cb_dma); goto exit_init_fw_cb; } diff -Nru linux-4.19.87/drivers/scsi/qla4xxx/ql4_os.c linux-4.19.98/drivers/scsi/qla4xxx/ql4_os.c --- linux-4.19.87/drivers/scsi/qla4xxx/ql4_os.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/qla4xxx/ql4_os.c 2020-01-23 07:21:39.000000000 +0000 @@ -4280,7 +4280,6 @@ return QLA_SUCCESS; mem_alloc_error_exit: - qla4xxx_mem_free(ha); return QLA_ERROR; } diff -Nru linux-4.19.87/drivers/scsi/scsi_debug.c linux-4.19.98/drivers/scsi/scsi_debug.c --- linux-4.19.87/drivers/scsi/scsi_debug.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/scsi_debug.c 2020-01-23 07:21:39.000000000 +0000 @@ -5351,6 +5351,11 @@ return -EINVAL; } + if (sdebug_num_tgts < 0) { + pr_err("num_tgts must be >= 0\n"); + return -EINVAL; + } + if (sdebug_guard > 1) { pr_err("guard must be 0 or 1\n"); return -EINVAL; diff -Nru linux-4.19.87/drivers/scsi/scsi_trace.c linux-4.19.98/drivers/scsi/scsi_trace.c --- linux-4.19.87/drivers/scsi/scsi_trace.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/scsi_trace.c 2020-01-23 07:21:39.000000000 +0000 @@ -21,7 +21,7 @@ #include #define SERVICE_ACTION16(cdb) (cdb[1] & 0x1f) -#define SERVICE_ACTION32(cdb) ((cdb[8] << 8) | cdb[9]) +#define SERVICE_ACTION32(cdb) (get_unaligned_be16(&cdb[8])) static const char * scsi_trace_misc(struct trace_seq *, unsigned char *, int); @@ -30,15 +30,18 @@ scsi_trace_rw6(struct trace_seq *p, unsigned char *cdb, int len) { const char *ret = trace_seq_buffer_ptr(p); - sector_t lba = 0, txlen = 0; + u32 lba = 0, txlen; lba |= ((cdb[1] & 0x1F) << 16); lba |= (cdb[2] << 8); lba |= cdb[3]; - txlen = cdb[4]; + /* + * From SBC-2: a TRANSFER LENGTH field set to zero specifies that 256 + * logical blocks shall be read (READ(6)) or written (WRITE(6)). + */ + txlen = cdb[4] ? cdb[4] : 256; - trace_seq_printf(p, "lba=%llu txlen=%llu", - (unsigned long long)lba, (unsigned long long)txlen); + trace_seq_printf(p, "lba=%u txlen=%u", lba, txlen); trace_seq_putc(p, 0); return ret; @@ -48,17 +51,12 @@ scsi_trace_rw10(struct trace_seq *p, unsigned char *cdb, int len) { const char *ret = trace_seq_buffer_ptr(p); - sector_t lba = 0, txlen = 0; + u32 lba, txlen; - lba |= (cdb[2] << 24); - lba |= (cdb[3] << 16); - lba |= (cdb[4] << 8); - lba |= cdb[5]; - txlen |= (cdb[7] << 8); - txlen |= cdb[8]; + lba = get_unaligned_be32(&cdb[2]); + txlen = get_unaligned_be16(&cdb[7]); - trace_seq_printf(p, "lba=%llu txlen=%llu protect=%u", - (unsigned long long)lba, (unsigned long long)txlen, + trace_seq_printf(p, "lba=%u txlen=%u protect=%u", lba, txlen, cdb[1] >> 5); if (cdb[0] == WRITE_SAME) @@ -73,19 +71,12 @@ scsi_trace_rw12(struct trace_seq *p, unsigned char *cdb, int len) { const char *ret = trace_seq_buffer_ptr(p); - sector_t lba = 0, txlen = 0; + u32 lba, txlen; - lba |= (cdb[2] << 24); - lba |= (cdb[3] << 16); - lba |= (cdb[4] << 8); - lba |= cdb[5]; - txlen |= (cdb[6] << 24); - txlen |= (cdb[7] << 16); - txlen |= (cdb[8] << 8); - txlen |= cdb[9]; + lba = get_unaligned_be32(&cdb[2]); + txlen = get_unaligned_be32(&cdb[6]); - trace_seq_printf(p, "lba=%llu txlen=%llu protect=%u", - (unsigned long long)lba, (unsigned long long)txlen, + trace_seq_printf(p, "lba=%u txlen=%u protect=%u", lba, txlen, cdb[1] >> 5); trace_seq_putc(p, 0); @@ -96,23 +87,13 @@ scsi_trace_rw16(struct trace_seq *p, unsigned char *cdb, int len) { const char *ret = trace_seq_buffer_ptr(p); - sector_t lba = 0, txlen = 0; + u64 lba; + u32 txlen; - lba |= ((u64)cdb[2] << 56); - lba |= ((u64)cdb[3] << 48); - lba |= ((u64)cdb[4] << 40); - lba |= ((u64)cdb[5] << 32); - lba |= (cdb[6] << 24); - lba |= (cdb[7] << 16); - lba |= (cdb[8] << 8); - lba |= cdb[9]; - txlen |= (cdb[10] << 24); - txlen |= (cdb[11] << 16); - txlen |= (cdb[12] << 8); - txlen |= cdb[13]; + lba = get_unaligned_be64(&cdb[2]); + txlen = get_unaligned_be32(&cdb[10]); - trace_seq_printf(p, "lba=%llu txlen=%llu protect=%u", - (unsigned long long)lba, (unsigned long long)txlen, + trace_seq_printf(p, "lba=%llu txlen=%u protect=%u", lba, txlen, cdb[1] >> 5); if (cdb[0] == WRITE_SAME_16) @@ -127,8 +108,8 @@ scsi_trace_rw32(struct trace_seq *p, unsigned char *cdb, int len) { const char *ret = trace_seq_buffer_ptr(p), *cmd; - sector_t lba = 0, txlen = 0; - u32 ei_lbrt = 0; + u64 lba; + u32 ei_lbrt, txlen; switch (SERVICE_ACTION32(cdb)) { case READ_32: @@ -148,26 +129,12 @@ goto out; } - lba |= ((u64)cdb[12] << 56); - lba |= ((u64)cdb[13] << 48); - lba |= ((u64)cdb[14] << 40); - lba |= ((u64)cdb[15] << 32); - lba |= (cdb[16] << 24); - lba |= (cdb[17] << 16); - lba |= (cdb[18] << 8); - lba |= cdb[19]; - ei_lbrt |= (cdb[20] << 24); - ei_lbrt |= (cdb[21] << 16); - ei_lbrt |= (cdb[22] << 8); - ei_lbrt |= cdb[23]; - txlen |= (cdb[28] << 24); - txlen |= (cdb[29] << 16); - txlen |= (cdb[30] << 8); - txlen |= cdb[31]; - - trace_seq_printf(p, "%s_32 lba=%llu txlen=%llu protect=%u ei_lbrt=%u", - cmd, (unsigned long long)lba, - (unsigned long long)txlen, cdb[10] >> 5, ei_lbrt); + lba = get_unaligned_be64(&cdb[12]); + ei_lbrt = get_unaligned_be32(&cdb[20]); + txlen = get_unaligned_be32(&cdb[28]); + + trace_seq_printf(p, "%s_32 lba=%llu txlen=%u protect=%u ei_lbrt=%u", + cmd, lba, txlen, cdb[10] >> 5, ei_lbrt); if (SERVICE_ACTION32(cdb) == WRITE_SAME_32) trace_seq_printf(p, " unmap=%u", cdb[10] >> 3 & 1); @@ -182,7 +149,7 @@ scsi_trace_unmap(struct trace_seq *p, unsigned char *cdb, int len) { const char *ret = trace_seq_buffer_ptr(p); - unsigned int regions = cdb[7] << 8 | cdb[8]; + unsigned int regions = get_unaligned_be16(&cdb[7]); trace_seq_printf(p, "regions=%u", (regions - 8) / 16); trace_seq_putc(p, 0); @@ -194,8 +161,8 @@ scsi_trace_service_action_in(struct trace_seq *p, unsigned char *cdb, int len) { const char *ret = trace_seq_buffer_ptr(p), *cmd; - sector_t lba = 0; - u32 alloc_len = 0; + u64 lba; + u32 alloc_len; switch (SERVICE_ACTION16(cdb)) { case SAI_READ_CAPACITY_16: @@ -209,21 +176,10 @@ goto out; } - lba |= ((u64)cdb[2] << 56); - lba |= ((u64)cdb[3] << 48); - lba |= ((u64)cdb[4] << 40); - lba |= ((u64)cdb[5] << 32); - lba |= (cdb[6] << 24); - lba |= (cdb[7] << 16); - lba |= (cdb[8] << 8); - lba |= cdb[9]; - alloc_len |= (cdb[10] << 24); - alloc_len |= (cdb[11] << 16); - alloc_len |= (cdb[12] << 8); - alloc_len |= cdb[13]; + lba = get_unaligned_be64(&cdb[2]); + alloc_len = get_unaligned_be32(&cdb[10]); - trace_seq_printf(p, "%s lba=%llu alloc_len=%u", cmd, - (unsigned long long)lba, alloc_len); + trace_seq_printf(p, "%s lba=%llu alloc_len=%u", cmd, lba, alloc_len); out: trace_seq_putc(p, 0); diff -Nru linux-4.19.87/drivers/scsi/sd.c linux-4.19.98/drivers/scsi/sd.c --- linux-4.19.87/drivers/scsi/sd.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/sd.c 2020-01-23 07:21:39.000000000 +0000 @@ -1685,20 +1685,30 @@ static int sd_compat_ioctl(struct block_device *bdev, fmode_t mode, unsigned int cmd, unsigned long arg) { - struct scsi_device *sdev = scsi_disk(bdev->bd_disk)->device; + struct gendisk *disk = bdev->bd_disk; + struct scsi_disk *sdkp = scsi_disk(disk); + struct scsi_device *sdev = sdkp->device; + void __user *p = compat_ptr(arg); int error; + error = scsi_verify_blk_ioctl(bdev, cmd); + if (error < 0) + return error; + error = scsi_ioctl_block_when_processing_errors(sdev, cmd, (mode & FMODE_NDELAY) != 0); if (error) return error; + + if (is_sed_ioctl(cmd)) + return sed_ioctl(sdkp->opal_dev, cmd, p); /* * Let the static ioctl translation table take care of it. */ if (!sdev->host->hostt->compat_ioctl) return -ENOIOCTLCMD; - return sdev->host->hostt->compat_ioctl(sdev, cmd, (void __user *)arg); + return sdev->host->hostt->compat_ioctl(sdev, cmd, p); } #endif @@ -2195,8 +2205,10 @@ u8 type; int ret = 0; - if (scsi_device_protection(sdp) == 0 || (buffer[12] & 1) == 0) + if (scsi_device_protection(sdp) == 0 || (buffer[12] & 1) == 0) { + sdkp->protection_type = 0; return ret; + } type = ((buffer[12] >> 1) & 7) + 1; /* P_TYPE 0 = Type 1 */ diff -Nru linux-4.19.87/drivers/scsi/sun3_scsi.c linux-4.19.98/drivers/scsi/sun3_scsi.c --- linux-4.19.87/drivers/scsi/sun3_scsi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/sun3_scsi.c 2020-01-23 07:21:39.000000000 +0000 @@ -498,7 +498,7 @@ .eh_host_reset_handler = sun3scsi_host_reset, .can_queue = 16, .this_id = 7, - .sg_tablesize = SG_NONE, + .sg_tablesize = 1, .cmd_per_lun = 2, .use_clustering = DISABLE_CLUSTERING, .cmd_size = NCR5380_CMD_SIZE, @@ -520,7 +520,7 @@ sun3_scsi_template.can_queue = setup_can_queue; if (setup_cmd_per_lun > 0) sun3_scsi_template.cmd_per_lun = setup_cmd_per_lun; - if (setup_sg_tablesize >= 0) + if (setup_sg_tablesize > 0) sun3_scsi_template.sg_tablesize = setup_sg_tablesize; if (setup_hostid >= 0) sun3_scsi_template.this_id = setup_hostid & 7; diff -Nru linux-4.19.87/drivers/scsi/ufs/ufshcd.c linux-4.19.98/drivers/scsi/ufs/ufshcd.c --- linux-4.19.87/drivers/scsi/ufs/ufshcd.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/ufs/ufshcd.c 2020-01-23 07:21:39.000000000 +0000 @@ -3011,10 +3011,10 @@ goto out_unlock; } - hba->dev_cmd.query.descriptor = NULL; *buf_len = be16_to_cpu(response->upiu_res.length); out_unlock: + hba->dev_cmd.query.descriptor = NULL; mutex_unlock(&hba->dev_cmd.lock); out: ufshcd_release(hba); @@ -3875,15 +3875,24 @@ ktime_to_us(ktime_sub(ktime_get(), start)), ret); if (ret) { + int err; + dev_err(hba->dev, "%s: hibern8 enter failed. ret = %d\n", __func__, ret); /* - * If link recovery fails then return error so that caller - * don't retry the hibern8 enter again. + * If link recovery fails then return error code returned from + * ufshcd_link_recovery(). + * If link recovery succeeds then return -EAGAIN to attempt + * hibern8 enter retry again. */ - if (ufshcd_link_recovery(hba)) - ret = -ENOLINK; + err = ufshcd_link_recovery(hba); + if (err) { + dev_err(hba->dev, "%s: link recovery failed", __func__); + ret = err; + } else { + ret = -EAGAIN; + } } else ufshcd_vops_hibern8_notify(hba, UIC_CMD_DME_HIBER_ENTER, POST_CHANGE); @@ -3897,7 +3906,7 @@ for (retries = UIC_HIBERN8_ENTER_RETRIES; retries > 0; retries--) { ret = __ufshcd_uic_hibern8_enter(hba); - if (!ret || ret == -ENOLINK) + if (!ret) goto out; } out: diff -Nru linux-4.19.87/drivers/scsi/zorro_esp.c linux-4.19.98/drivers/scsi/zorro_esp.c --- linux-4.19.87/drivers/scsi/zorro_esp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/scsi/zorro_esp.c 2020-01-23 07:21:39.000000000 +0000 @@ -245,7 +245,14 @@ static u32 zorro_esp_dma_length_limit(struct esp *esp, u32 dma_addr, u32 dma_len) { - return dma_len > 0xFFFF ? 0xFFFF : dma_len; + return dma_len > (1U << 16) ? (1U << 16) : dma_len; +} + +static u32 fastlane_esp_dma_length_limit(struct esp *esp, u32 dma_addr, + u32 dma_len) +{ + /* The old driver used 0xfffc as limit, so do that here too */ + return dma_len > 0xfffc ? 0xfffc : dma_len; } static void zorro_esp_reset_dma(struct esp *esp) @@ -818,7 +825,7 @@ .unmap_single = zorro_esp_unmap_single, .unmap_sg = zorro_esp_unmap_sg, .irq_pending = fastlane_esp_irq_pending, - .dma_length_limit = zorro_esp_dma_length_limit, + .dma_length_limit = fastlane_esp_dma_length_limit, .reset_dma = zorro_esp_reset_dma, .dma_drain = zorro_esp_dma_drain, .dma_invalidate = fastlane_esp_dma_invalidate, diff -Nru linux-4.19.87/drivers/slimbus/qcom-ngd-ctrl.c linux-4.19.98/drivers/slimbus/qcom-ngd-ctrl.c --- linux-4.19.87/drivers/slimbus/qcom-ngd-ctrl.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/slimbus/qcom-ngd-ctrl.c 2020-01-23 07:21:39.000000000 +0000 @@ -1326,11 +1326,12 @@ { const struct ngd_reg_offset_data *data; struct qcom_slim_ngd *ngd; + const struct of_device_id *match; struct device_node *node; u32 id; - data = of_match_node(qcom_slim_ngd_dt_match, parent->of_node)->data; - + match = of_match_node(qcom_slim_ngd_dt_match, parent->of_node); + data = match->data; for_each_available_child_of_node(parent->of_node, node) { if (of_property_read_u32(node, "reg", &id)) continue; diff -Nru linux-4.19.87/drivers/soc/Makefile linux-4.19.98/drivers/soc/Makefile --- linux-4.19.87/drivers/soc/Makefile 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/soc/Makefile 2020-01-23 07:21:39.000000000 +0000 @@ -13,7 +13,7 @@ obj-$(CONFIG_ARCH_MXC) += imx/ obj-$(CONFIG_SOC_XWAY) += lantiq/ obj-y += mediatek/ -obj-$(CONFIG_ARCH_MESON) += amlogic/ +obj-y += amlogic/ obj-y += qcom/ obj-y += renesas/ obj-$(CONFIG_ARCH_ROCKCHIP) += rockchip/ diff -Nru linux-4.19.87/drivers/soc/renesas/r8a77970-sysc.c linux-4.19.98/drivers/soc/renesas/r8a77970-sysc.c --- linux-4.19.87/drivers/soc/renesas/r8a77970-sysc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/soc/renesas/r8a77970-sysc.c 2020-01-23 07:21:39.000000000 +0000 @@ -27,8 +27,8 @@ { "a3ir", 0x180, 0, R8A77970_PD_A3IR, R8A77970_PD_ALWAYS_ON }, { "a2ir0", 0x400, 0, R8A77970_PD_A2IR0, R8A77970_PD_A3IR }, { "a2ir1", 0x400, 1, R8A77970_PD_A2IR1, R8A77970_PD_A3IR }, - { "a2ir2", 0x400, 2, R8A77970_PD_A2IR2, R8A77970_PD_A3IR }, - { "a2ir3", 0x400, 3, R8A77970_PD_A2IR3, R8A77970_PD_A3IR }, + { "a2dp", 0x400, 2, R8A77970_PD_A2DP, R8A77970_PD_A3IR }, + { "a2cn", 0x400, 3, R8A77970_PD_A2CN, R8A77970_PD_A3IR }, { "a2sc0", 0x400, 4, R8A77970_PD_A2SC0, R8A77970_PD_A3IR }, { "a2sc1", 0x400, 5, R8A77970_PD_A2SC1, R8A77970_PD_A3IR }, }; diff -Nru linux-4.19.87/drivers/soc/renesas/r8a77980-sysc.c linux-4.19.98/drivers/soc/renesas/r8a77980-sysc.c --- linux-4.19.87/drivers/soc/renesas/r8a77980-sysc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/soc/renesas/r8a77980-sysc.c 2020-01-23 07:21:39.000000000 +0000 @@ -38,12 +38,12 @@ { "a2sc2", 0x400, 8, R8A77980_PD_A2SC2, R8A77980_PD_A3IR }, { "a2sc3", 0x400, 9, R8A77980_PD_A2SC3, R8A77980_PD_A3IR }, { "a2sc4", 0x400, 10, R8A77980_PD_A2SC4, R8A77980_PD_A3IR }, - { "a2pd0", 0x400, 11, R8A77980_PD_A2PD0, R8A77980_PD_A3IR }, - { "a2pd1", 0x400, 12, R8A77980_PD_A2PD1, R8A77980_PD_A3IR }, + { "a2dp0", 0x400, 11, R8A77980_PD_A2DP0, R8A77980_PD_A3IR }, + { "a2dp1", 0x400, 12, R8A77980_PD_A2DP1, R8A77980_PD_A3IR }, { "a2cn", 0x400, 13, R8A77980_PD_A2CN, R8A77980_PD_A3IR }, - { "a3vip", 0x2c0, 0, R8A77980_PD_A3VIP, R8A77980_PD_ALWAYS_ON }, - { "a3vip1", 0x300, 0, R8A77980_PD_A3VIP1, R8A77980_PD_A3VIP }, - { "a3vip2", 0x280, 0, R8A77980_PD_A3VIP2, R8A77980_PD_A3VIP }, + { "a3vip0", 0x2c0, 0, R8A77980_PD_A3VIP0, R8A77980_PD_ALWAYS_ON }, + { "a3vip1", 0x300, 0, R8A77980_PD_A3VIP1, R8A77980_PD_ALWAYS_ON }, + { "a3vip2", 0x280, 0, R8A77980_PD_A3VIP2, R8A77980_PD_ALWAYS_ON }, }; const struct rcar_sysc_info r8a77980_sysc_info __initconst = { diff -Nru linux-4.19.87/drivers/soc/renesas/r8a77990-sysc.c linux-4.19.98/drivers/soc/renesas/r8a77990-sysc.c --- linux-4.19.87/drivers/soc/renesas/r8a77990-sysc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/soc/renesas/r8a77990-sysc.c 2020-01-23 07:21:39.000000000 +0000 @@ -28,19 +28,6 @@ { "3dg-b", 0x100, 1, R8A77990_PD_3DG_B, R8A77990_PD_3DG_A }, }; -static void __init rcar_sysc_fix_parent(struct rcar_sysc_area *areas, - unsigned int num_areas, u8 id, - int new_parent) -{ - unsigned int i; - - for (i = 0; i < num_areas; i++) - if (areas[i].isr_bit == id) { - areas[i].parent = new_parent; - return; - } -} - /* Fixups for R-Car E3 ES1.0 revision */ static const struct soc_device_attribute r8a77990[] __initconst = { { .soc_id = "r8a77990", .revision = "ES1.0" }, @@ -50,12 +37,10 @@ static int __init r8a77990_sysc_init(void) { if (soc_device_match(r8a77990)) { - rcar_sysc_fix_parent(r8a77990_areas, - ARRAY_SIZE(r8a77990_areas), - R8A77990_PD_3DG_A, R8A77990_PD_3DG_B); - rcar_sysc_fix_parent(r8a77990_areas, - ARRAY_SIZE(r8a77990_areas), - R8A77990_PD_3DG_B, R8A77990_PD_ALWAYS_ON); + /* Fix incorrect 3DG hierarchy */ + swap(r8a77990_areas[7], r8a77990_areas[8]); + r8a77990_areas[7].parent = R8A77990_PD_ALWAYS_ON; + r8a77990_areas[8].parent = R8A77990_PD_3DG_B; } return 0; diff -Nru linux-4.19.87/drivers/soundwire/intel.c linux-4.19.98/drivers/soundwire/intel.c --- linux-4.19.87/drivers/soundwire/intel.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/soundwire/intel.c 2020-01-23 07:21:39.000000000 +0000 @@ -352,7 +352,10 @@ unsigned int link_id = sdw->instance; int pdi_conf = 0; - pdi->intel_alh_id = (link_id * 16) + pdi->num + 5; + /* the Bulk and PCM streams are not contiguous */ + pdi->intel_alh_id = (link_id * 16) + pdi->num + 3; + if (pdi->num >= 2) + pdi->intel_alh_id += 2; /* * Program stream parameters to stream SHIM register @@ -381,7 +384,10 @@ unsigned int link_id = sdw->instance; unsigned int conf; - pdi->intel_alh_id = (link_id * 16) + pdi->num + 5; + /* the Bulk and PCM streams are not contiguous */ + pdi->intel_alh_id = (link_id * 16) + pdi->num + 3; + if (pdi->num >= 2) + pdi->intel_alh_id += 2; /* Program Stream config ALH register */ conf = intel_readl(alh, SDW_ALH_STRMZCFG(pdi->intel_alh_id)); diff -Nru linux-4.19.87/drivers/spi/spi-atmel.c linux-4.19.98/drivers/spi/spi-atmel.c --- linux-4.19.87/drivers/spi/spi-atmel.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/spi/spi-atmel.c 2020-01-23 07:21:39.000000000 +0000 @@ -305,7 +305,6 @@ bool use_cs_gpios; bool keep_cs; - bool cs_active; u32 fifo_size; }; @@ -1193,10 +1192,8 @@ as = spi_master_get_devdata(spi->master); /* see notes above re chipselect */ - if (!atmel_spi_is_v2(as) - && spi->chip_select == 0 - && (spi->mode & SPI_CS_HIGH)) { - dev_dbg(&spi->dev, "setup: can't be active-high\n"); + if (!as->use_cs_gpios && (spi->mode & SPI_CS_HIGH)) { + dev_warn(&spi->dev, "setup: non GPIO CS can't be active-high\n"); return -EINVAL; } @@ -1383,11 +1380,9 @@ &msg->transfers)) { as->keep_cs = true; } else { - as->cs_active = !as->cs_active; - if (as->cs_active) - cs_activate(as, msg->spi); - else - cs_deactivate(as, msg->spi); + cs_deactivate(as, msg->spi); + udelay(10); + cs_activate(as, msg->spi); } } @@ -1410,7 +1405,6 @@ atmel_spi_lock(as); cs_activate(as, spi); - as->cs_active = true; as->keep_cs = false; msg->status = 0; diff -Nru linux-4.19.87/drivers/spi/spi-cavium-thunderx.c linux-4.19.98/drivers/spi/spi-cavium-thunderx.c --- linux-4.19.87/drivers/spi/spi-cavium-thunderx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/spi/spi-cavium-thunderx.c 2020-01-23 07:21:39.000000000 +0000 @@ -81,6 +81,7 @@ error: clk_disable_unprepare(p->clk); + pci_release_regions(pdev); spi_master_put(master); return ret; } @@ -95,6 +96,7 @@ return; clk_disable_unprepare(p->clk); + pci_release_regions(pdev); /* Put everything in a known state. */ writeq(0, p->register_base + OCTEON_SPI_CFG(p)); } diff -Nru linux-4.19.87/drivers/spi/spi-fsl-spi.c linux-4.19.98/drivers/spi/spi-fsl-spi.c --- linux-4.19.87/drivers/spi/spi-fsl-spi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/spi/spi-fsl-spi.c 2020-01-23 07:21:39.000000000 +0000 @@ -832,9 +832,9 @@ if (ret) goto err; - irq = irq_of_parse_and_map(np, 0); - if (!irq) { - ret = -EINVAL; + irq = platform_get_irq(ofdev, 0); + if (irq < 0) { + ret = irq; goto err; } @@ -847,7 +847,6 @@ return 0; err: - irq_dispose_mapping(irq); if (type == TYPE_FSL) of_fsl_spi_free_chipselects(dev); return ret; diff -Nru linux-4.19.87/drivers/spi/spi-img-spfi.c linux-4.19.98/drivers/spi/spi-img-spfi.c --- linux-4.19.87/drivers/spi/spi-img-spfi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/spi/spi-img-spfi.c 2020-01-23 07:21:39.000000000 +0000 @@ -676,6 +676,8 @@ dma_release_channel(spfi->tx_ch); if (spfi->rx_ch) dma_release_channel(spfi->rx_ch); + spfi->tx_ch = NULL; + spfi->rx_ch = NULL; dev_warn(spfi->dev, "Failed to get DMA channels, falling back to PIO mode\n"); } else { master->dma_tx = spfi->tx_ch; diff -Nru linux-4.19.87/drivers/spi/spi-pxa2xx.c linux-4.19.98/drivers/spi/spi-pxa2xx.c --- linux-4.19.87/drivers/spi/spi-pxa2xx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/spi/spi-pxa2xx.c 2020-01-23 07:21:39.000000000 +0000 @@ -1470,7 +1470,13 @@ } ssp->clk = devm_clk_get(&pdev->dev, NULL); + if (IS_ERR(ssp->clk)) + return NULL; + ssp->irq = platform_get_irq(pdev, 0); + if (ssp->irq < 0) + return NULL; + ssp->type = type; ssp->pdev = pdev; ssp->port_id = pxa2xx_spi_get_port_id(adev); diff -Nru linux-4.19.87/drivers/spi/spi-sprd-adi.c linux-4.19.98/drivers/spi/spi-sprd-adi.c --- linux-4.19.87/drivers/spi/spi-sprd-adi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/spi/spi-sprd-adi.c 2020-01-23 07:21:39.000000000 +0000 @@ -367,6 +367,9 @@ val |= BIT_WDG_RUN | BIT_WDG_RST; sprd_adi_write(sadi, sadi->slave_pbase + REG_WDG_CTRL, val); + /* Lock the watchdog */ + sprd_adi_write(sadi, sadi->slave_pbase + REG_WDG_LOCK, ~WDG_UNLOCK_KEY); + mdelay(1000); dev_emerg(sadi->dev, "Unable to restart system\n"); diff -Nru linux-4.19.87/drivers/spi/spi-st-ssc4.c linux-4.19.98/drivers/spi/spi-st-ssc4.c --- linux-4.19.87/drivers/spi/spi-st-ssc4.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/spi/spi-st-ssc4.c 2020-01-23 07:21:39.000000000 +0000 @@ -385,6 +385,7 @@ return 0; clk_disable: + pm_runtime_disable(&pdev->dev); clk_disable_unprepare(spi_st->clk); put_master: spi_master_put(master); @@ -396,6 +397,8 @@ struct spi_master *master = platform_get_drvdata(pdev); struct spi_st *spi_st = spi_master_get_devdata(master); + pm_runtime_disable(&pdev->dev); + clk_disable_unprepare(spi_st->clk); pinctrl_pm_select_sleep_state(&pdev->dev); diff -Nru linux-4.19.87/drivers/spi/spi-tegra20-slink.c linux-4.19.98/drivers/spi/spi-tegra20-slink.c --- linux-4.19.87/drivers/spi/spi-tegra20-slink.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/spi/spi-tegra20-slink.c 2020-01-23 07:21:39.000000000 +0000 @@ -1078,7 +1078,7 @@ ret = clk_enable(tspi->clk); if (ret < 0) { dev_err(&pdev->dev, "Clock enable failed %d\n", ret); - goto exit_free_master; + goto exit_clk_unprepare; } spi_irq = platform_get_irq(pdev, 0); @@ -1151,6 +1151,8 @@ free_irq(spi_irq, tspi); exit_clk_disable: clk_disable(tspi->clk); +exit_clk_unprepare: + clk_unprepare(tspi->clk); exit_free_master: spi_master_put(master); return ret; @@ -1164,6 +1166,7 @@ free_irq(tspi->irq, tspi); clk_disable(tspi->clk); + clk_unprepare(tspi->clk); if (tspi->tx_dma_chan) tegra_slink_deinit_dma_param(tspi, false); diff -Nru linux-4.19.87/drivers/spi/spi-ti-qspi.c linux-4.19.98/drivers/spi/spi-ti-qspi.c --- linux-4.19.87/drivers/spi/spi-ti-qspi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/spi/spi-ti-qspi.c 2020-01-23 07:21:39.000000000 +0000 @@ -69,6 +69,7 @@ u32 dc; bool mmap_enabled; + int current_cs; }; #define QSPI_PID (0x0) @@ -494,6 +495,7 @@ MEM_CS_EN(spi->chip_select)); } qspi->mmap_enabled = true; + qspi->current_cs = spi->chip_select; } static void ti_qspi_disable_memory_map(struct spi_device *spi) @@ -505,6 +507,7 @@ regmap_update_bits(qspi->ctrl_base, qspi->ctrl_reg, MEM_CS_MASK, 0); qspi->mmap_enabled = false; + qspi->current_cs = -1; } static void ti_qspi_setup_mmap_read(struct spi_device *spi, u8 opcode, @@ -550,7 +553,7 @@ mutex_lock(&qspi->list_lock); - if (!qspi->mmap_enabled) + if (!qspi->mmap_enabled || qspi->current_cs != mem->spi->chip_select) ti_qspi_enable_memory_map(mem->spi); ti_qspi_setup_mmap_read(mem->spi, op->cmd.opcode, op->data.buswidth, op->addr.nbytes, op->dummy.nbytes); @@ -807,6 +810,7 @@ } } qspi->mmap_enabled = false; + qspi->current_cs = -1; ret = devm_spi_register_master(&pdev->dev, master); if (!ret) diff -Nru linux-4.19.87/drivers/spi/spidev.c linux-4.19.98/drivers/spi/spidev.c --- linux-4.19.87/drivers/spi/spidev.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/spi/spidev.c 2020-01-23 07:21:39.000000000 +0000 @@ -634,6 +634,9 @@ if (dofree) kfree(spidev); } +#ifdef CONFIG_SPI_SLAVE + spi_slave_abort(spidev->spi); +#endif mutex_unlock(&device_list_lock); return 0; diff -Nru linux-4.19.87/drivers/staging/comedi/drivers/adv_pci1710.c linux-4.19.98/drivers/staging/comedi/drivers/adv_pci1710.c --- linux-4.19.87/drivers/staging/comedi/drivers/adv_pci1710.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/staging/comedi/drivers/adv_pci1710.c 2020-01-23 07:21:39.000000000 +0000 @@ -46,8 +46,8 @@ #define PCI171X_RANGE_UNI BIT(4) #define PCI171X_RANGE_GAIN(x) (((x) & 0x7) << 0) #define PCI171X_MUX_REG 0x04 /* W: A/D multiplexor control */ -#define PCI171X_MUX_CHANH(x) (((x) & 0xf) << 8) -#define PCI171X_MUX_CHANL(x) (((x) & 0xf) << 0) +#define PCI171X_MUX_CHANH(x) (((x) & 0xff) << 8) +#define PCI171X_MUX_CHANL(x) (((x) & 0xff) << 0) #define PCI171X_MUX_CHAN(x) (PCI171X_MUX_CHANH(x) | PCI171X_MUX_CHANL(x)) #define PCI171X_STATUS_REG 0x06 /* R: status register */ #define PCI171X_STATUS_IRQ BIT(11) /* 1=IRQ occurred */ diff -Nru linux-4.19.87/drivers/staging/comedi/drivers/gsc_hpdi.c linux-4.19.98/drivers/staging/comedi/drivers/gsc_hpdi.c --- linux-4.19.87/drivers/staging/comedi/drivers/gsc_hpdi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/staging/comedi/drivers/gsc_hpdi.c 2020-01-23 07:21:39.000000000 +0000 @@ -623,6 +623,11 @@ dma_alloc_coherent(&pcidev->dev, DMA_BUFFER_SIZE, &devpriv->dio_buffer_phys_addr[i], GFP_KERNEL); + if (!devpriv->dio_buffer[i]) { + dev_warn(dev->class_dev, + "failed to allocate DMA buffer\n"); + return -ENOMEM; + } } /* allocate dma descriptors */ devpriv->dma_desc = dma_alloc_coherent(&pcidev->dev, @@ -630,6 +635,11 @@ NUM_DMA_DESCRIPTORS, &devpriv->dma_desc_phys_addr, GFP_KERNEL); + if (!devpriv->dma_desc) { + dev_warn(dev->class_dev, + "failed to allocate DMA descriptors\n"); + return -ENOMEM; + } if (devpriv->dma_desc_phys_addr & 0xf) { dev_warn(dev->class_dev, " dma descriptors not quad-word aligned (bug)\n"); diff -Nru linux-4.19.87/drivers/staging/erofs/xattr.c linux-4.19.98/drivers/staging/erofs/xattr.c --- linux-4.19.87/drivers/staging/erofs/xattr.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/staging/erofs/xattr.c 2020-01-23 07:21:39.000000000 +0000 @@ -638,6 +638,8 @@ struct listxattr_iter it; ret = init_inode_xattrs(d_inode(dentry)); + if (ret == -ENOATTR) + return 0; if (ret) return ret; diff -Nru linux-4.19.87/drivers/staging/fbtft/fbtft-core.c linux-4.19.98/drivers/staging/fbtft/fbtft-core.c --- linux-4.19.87/drivers/staging/fbtft/fbtft-core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/staging/fbtft/fbtft-core.c 2020-01-23 07:21:39.000000000 +0000 @@ -771,7 +771,7 @@ fbdefio->deferred_io = fbtft_deferred_io; fb_deferred_io_init(info); - strncpy(info->fix.id, dev->driver->name, 16); + snprintf(info->fix.id, sizeof(info->fix.id), "%s", dev->driver->name); info->fix.type = FB_TYPE_PACKED_PIXELS; info->fix.visual = FB_VISUAL_TRUECOLOR; info->fix.xpanstep = 0; diff -Nru linux-4.19.87/drivers/staging/iio/addac/adt7316-i2c.c linux-4.19.98/drivers/staging/iio/addac/adt7316-i2c.c --- linux-4.19.87/drivers/staging/iio/addac/adt7316-i2c.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/staging/iio/addac/adt7316-i2c.c 2020-01-23 07:21:39.000000000 +0000 @@ -35,6 +35,8 @@ return ret; } + *data = ret; + return 0; } diff -Nru linux-4.19.87/drivers/staging/rtl8188eu/core/rtw_xmit.c linux-4.19.98/drivers/staging/rtl8188eu/core/rtw_xmit.c --- linux-4.19.87/drivers/staging/rtl8188eu/core/rtw_xmit.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/staging/rtl8188eu/core/rtw_xmit.c 2020-01-23 07:21:39.000000000 +0000 @@ -778,7 +778,7 @@ memcpy(pwlanhdr->addr2, get_bssid(pmlmepriv), ETH_ALEN); memcpy(pwlanhdr->addr3, pattrib->src, ETH_ALEN); - if (psta->qos_option) + if (psta && psta->qos_option) qos_option = true; } else if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE) || check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE)) { @@ -786,7 +786,7 @@ memcpy(pwlanhdr->addr2, pattrib->src, ETH_ALEN); memcpy(pwlanhdr->addr3, get_bssid(pmlmepriv), ETH_ALEN); - if (psta->qos_option) + if (psta && psta->qos_option) qos_option = true; } else { RT_TRACE(_module_rtl871x_xmit_c_, _drv_err_, ("fw_state:%x is not allowed to xmit frame\n", get_fwstate(pmlmepriv))); diff -Nru linux-4.19.87/drivers/staging/rtl8188eu/os_dep/usb_intf.c linux-4.19.98/drivers/staging/rtl8188eu/os_dep/usb_intf.c --- linux-4.19.87/drivers/staging/rtl8188eu/os_dep/usb_intf.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/staging/rtl8188eu/os_dep/usb_intf.c 2020-01-23 07:21:39.000000000 +0000 @@ -37,6 +37,7 @@ {USB_DEVICE(0x2001, 0x3311)}, /* DLink GO-USB-N150 REV B1 */ {USB_DEVICE(0x2001, 0x331B)}, /* D-Link DWA-121 rev B1 */ {USB_DEVICE(0x2357, 0x010c)}, /* TP-Link TL-WN722N v2 */ + {USB_DEVICE(0x2357, 0x0111)}, /* TP-Link TL-WN727N v5.21 */ {USB_DEVICE(0x0df6, 0x0076)}, /* Sitecom N150 v2 */ {USB_DEVICE(USB_VENDER_ID_REALTEK, 0xffef)}, /* Rosewill RNX-N150NUB */ {} /* Terminating entry */ @@ -70,7 +71,7 @@ phost_conf = pusbd->actconfig; pconf_desc = &phost_conf->desc; - phost_iface = &usb_intf->altsetting[0]; + phost_iface = usb_intf->cur_altsetting; piface_desc = &phost_iface->desc; pdvobjpriv->NumInterfaces = pconf_desc->bNumInterfaces; diff -Nru linux-4.19.87/drivers/staging/rtl8192e/rtl8192e/rtl_core.c linux-4.19.98/drivers/staging/rtl8192e/rtl8192e/rtl_core.c --- linux-4.19.87/drivers/staging/rtl8192e/rtl8192e/rtl_core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/staging/rtl8192e/rtl8192e/rtl_core.c 2020-01-23 07:21:39.000000000 +0000 @@ -1627,14 +1627,15 @@ memcpy((unsigned char *)(skb->cb), &dev, sizeof(dev)); skb_push(skb, priv->rtllib->tx_headroom); ret = _rtl92e_tx(dev, skb); - if (ret != 0) - kfree_skb(skb); if (queue_index != MGNT_QUEUE) { priv->rtllib->stats.tx_bytes += (skb->len - priv->rtllib->tx_headroom); priv->rtllib->stats.tx_packets++; } + + if (ret != 0) + kfree_skb(skb); } static int _rtl92e_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) diff -Nru linux-4.19.87/drivers/staging/rtl8192u/r8192U_core.c linux-4.19.98/drivers/staging/rtl8192u/r8192U_core.c --- linux-4.19.87/drivers/staging/rtl8192u/r8192U_core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/staging/rtl8192u/r8192U_core.c 2020-01-23 07:21:39.000000000 +0000 @@ -1467,7 +1467,7 @@ (struct tx_fwinfo_819x_usb *)(skb->data + USB_HWDESC_HEADER_LEN); struct usb_device *udev = priv->udev; int pend; - int status; + int status, rt = -1; struct urb *tx_urb = NULL, *tx_urb_zero = NULL; unsigned int idx_pipe; @@ -1611,8 +1611,10 @@ } if (bSend0Byte) { tx_urb_zero = usb_alloc_urb(0, GFP_ATOMIC); - if (!tx_urb_zero) - return -ENOMEM; + if (!tx_urb_zero) { + rt = -ENOMEM; + goto error; + } usb_fill_bulk_urb(tx_urb_zero, udev, usb_sndbulkpipe(udev, idx_pipe), &zero, 0, tx_zero_isr, dev); @@ -1622,7 +1624,7 @@ "Error TX URB for zero byte %d, error %d", atomic_read(&priv->tx_pending[tcb_desc->queue_index]), status); - return -1; + goto error; } } netif_trans_update(dev); @@ -1633,7 +1635,12 @@ RT_TRACE(COMP_ERR, "Error TX URB %d, error %d", atomic_read(&priv->tx_pending[tcb_desc->queue_index]), status); - return -1; + +error: + dev_kfree_skb_any(skb); + usb_free_urb(tx_urb); + usb_free_urb(tx_urb_zero); + return rt; } static short rtl8192_usb_initendpoints(struct net_device *dev) diff -Nru linux-4.19.87/drivers/staging/rtl8712/usb_intf.c linux-4.19.98/drivers/staging/rtl8712/usb_intf.c --- linux-4.19.87/drivers/staging/rtl8712/usb_intf.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/staging/rtl8712/usb_intf.c 2020-01-23 07:21:39.000000000 +0000 @@ -275,7 +275,7 @@ pdvobjpriv->padapter = padapter; padapter->EepromAddressSize = 6; - phost_iface = &pintf->altsetting[0]; + phost_iface = pintf->cur_altsetting; piface_desc = &phost_iface->desc; pdvobjpriv->nr_endpoint = piface_desc->bNumEndpoints; if (pusbd->speed == USB_SPEED_HIGH) { diff -Nru linux-4.19.87/drivers/staging/rtl8723bs/os_dep/sdio_intf.c linux-4.19.98/drivers/staging/rtl8723bs/os_dep/sdio_intf.c --- linux-4.19.87/drivers/staging/rtl8723bs/os_dep/sdio_intf.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/staging/rtl8723bs/os_dep/sdio_intf.c 2020-01-23 07:21:39.000000000 +0000 @@ -17,18 +17,13 @@ static const struct sdio_device_id sdio_ids[] = { { SDIO_DEVICE(0x024c, 0x0523), }, + { SDIO_DEVICE(0x024c, 0x0525), }, { SDIO_DEVICE(0x024c, 0x0623), }, { SDIO_DEVICE(0x024c, 0x0626), }, { SDIO_DEVICE(0x024c, 0xb723), }, { /* end: all zeroes */ }, }; -static const struct acpi_device_id acpi_ids[] = { - {"OBDA8723", 0x0000}, - {} -}; - MODULE_DEVICE_TABLE(sdio, sdio_ids); -MODULE_DEVICE_TABLE(acpi, acpi_ids); static int rtw_drv_init(struct sdio_func *func, const struct sdio_device_id *id); static void rtw_dev_remove(struct sdio_func *func); diff -Nru linux-4.19.87/drivers/staging/vt6656/device.h linux-4.19.98/drivers/staging/vt6656/device.h --- linux-4.19.87/drivers/staging/vt6656/device.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/staging/vt6656/device.h 2020-01-23 07:21:39.000000000 +0000 @@ -259,6 +259,7 @@ u8 mac_hw; /* netdev */ struct usb_device *usb; + struct usb_interface *intf; u64 tsf_time; u8 rx_rate; diff -Nru linux-4.19.87/drivers/staging/vt6656/main_usb.c linux-4.19.98/drivers/staging/vt6656/main_usb.c --- linux-4.19.87/drivers/staging/vt6656/main_usb.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/staging/vt6656/main_usb.c 2020-01-23 07:21:39.000000000 +0000 @@ -955,6 +955,7 @@ priv = hw->priv; priv->hw = hw; priv->usb = udev; + priv->intf = intf; vnt_set_options(priv); diff -Nru linux-4.19.87/drivers/staging/vt6656/wcmd.c linux-4.19.98/drivers/staging/vt6656/wcmd.c --- linux-4.19.87/drivers/staging/vt6656/wcmd.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/staging/vt6656/wcmd.c 2020-01-23 07:21:39.000000000 +0000 @@ -99,6 +99,7 @@ if (vnt_init(priv)) { /* If fail all ends TODO retry */ dev_err(&priv->usb->dev, "failed to start\n"); + usb_set_intfdata(priv->intf, NULL); ieee80211_free_hw(priv->hw); return; } diff -Nru linux-4.19.87/drivers/target/iscsi/iscsi_target.c linux-4.19.98/drivers/target/iscsi/iscsi_target.c --- linux-4.19.87/drivers/target/iscsi/iscsi_target.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/target/iscsi/iscsi_target.c 2020-01-23 07:21:39.000000000 +0000 @@ -1157,7 +1157,9 @@ hdr->cmdsn, be32_to_cpu(hdr->data_length), payload_length, conn->cid); - target_get_sess_cmd(&cmd->se_cmd, true); + if (target_get_sess_cmd(&cmd->se_cmd, true) < 0) + return iscsit_add_reject_cmd(cmd, + ISCSI_REASON_WAITING_FOR_LOGOUT, buf); cmd->sense_reason = transport_lookup_cmd_lun(&cmd->se_cmd, scsilun_to_int(&hdr->lun)); @@ -1998,7 +2000,9 @@ conn->sess->se_sess, 0, DMA_NONE, TCM_SIMPLE_TAG, cmd->sense_buffer + 2); - target_get_sess_cmd(&cmd->se_cmd, true); + if (target_get_sess_cmd(&cmd->se_cmd, true) < 0) + return iscsit_add_reject_cmd(cmd, + ISCSI_REASON_WAITING_FOR_LOGOUT, buf); /* * TASK_REASSIGN for ERL=2 / connection stays inside of @@ -4204,6 +4208,8 @@ * must wait until they have completed. */ iscsit_check_conn_usage_count(conn); + target_sess_cmd_list_set_waiting(sess->se_sess); + target_wait_for_sess_cmds(sess->se_sess); ahash_request_free(conn->conn_tx_hash); if (conn->conn_rx_hash) { diff -Nru linux-4.19.87/drivers/target/iscsi/iscsi_target_auth.c linux-4.19.98/drivers/target/iscsi/iscsi_target_auth.c --- linux-4.19.87/drivers/target/iscsi/iscsi_target_auth.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/target/iscsi/iscsi_target_auth.c 2020-01-23 07:21:39.000000000 +0000 @@ -78,7 +78,7 @@ if (!token) goto out; - if (!strncmp(token, "5", 1)) { + if (!strcmp(token, "5")) { pr_debug("Selected MD5 Algorithm\n"); kfree(orig); return CHAP_DIGEST_MD5; diff -Nru linux-4.19.87/drivers/target/target_core_fabric_lib.c linux-4.19.98/drivers/target/target_core_fabric_lib.c --- linux-4.19.87/drivers/target/target_core_fabric_lib.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/target/target_core_fabric_lib.c 2020-01-23 07:21:39.000000000 +0000 @@ -131,7 +131,7 @@ memset(buf + 8, 0, leading_zero_bytes); rc = hex2bin(buf + 8 + leading_zero_bytes, p, count); if (rc < 0) { - pr_debug("hex2bin failed for %s: %d\n", __func__, rc); + pr_debug("hex2bin failed for %s: %d\n", p, rc); return rc; } diff -Nru linux-4.19.87/drivers/target/target_core_user.c linux-4.19.98/drivers/target/target_core_user.c --- linux-4.19.87/drivers/target/target_core_user.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/target/target_core_user.c 2020-01-23 07:21:39.000000000 +0000 @@ -962,7 +962,7 @@ * 0 success * 1 internally queued to wait for ring memory to free. */ -static sense_reason_t queue_cmd_ring(struct tcmu_cmd *tcmu_cmd, int *scsi_err) +static int queue_cmd_ring(struct tcmu_cmd *tcmu_cmd, sense_reason_t *scsi_err) { struct tcmu_dev *udev = tcmu_cmd->tcmu_dev; struct se_cmd *se_cmd = tcmu_cmd->se_cmd; diff -Nru linux-4.19.87/drivers/thermal/thermal_core.c linux-4.19.98/drivers/thermal/thermal_core.c --- linux-4.19.87/drivers/thermal/thermal_core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/thermal/thermal_core.c 2020-01-23 07:21:39.000000000 +0000 @@ -296,7 +296,7 @@ mod_delayed_work(system_freezable_wq, &tz->poll_queue, msecs_to_jiffies(delay)); else - cancel_delayed_work_sync(&tz->poll_queue); + cancel_delayed_work(&tz->poll_queue); } static void monitor_thermal_zone(struct thermal_zone_device *tz) @@ -1349,7 +1349,7 @@ mutex_unlock(&thermal_list_lock); - thermal_zone_device_set_polling(tz, 0); + cancel_delayed_work_sync(&tz->poll_queue); thermal_set_governor(tz, NULL); diff -Nru linux-4.19.87/drivers/thunderbolt/switch.c linux-4.19.98/drivers/thunderbolt/switch.c --- linux-4.19.87/drivers/thunderbolt/switch.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/thunderbolt/switch.c 2020-01-23 07:21:39.000000000 +0000 @@ -167,7 +167,7 @@ static int nvm_authenticate_host(struct tb_switch *sw) { - int ret; + int ret = 0; /* * Root switch NVM upgrade requires that we disconnect the @@ -175,6 +175,8 @@ * already). */ if (!sw->safe_mode) { + u32 status; + ret = tb_domain_disconnect_all_paths(sw->tb); if (ret) return ret; @@ -183,7 +185,16 @@ * everything goes well so getting timeout is expected. */ ret = dma_port_flash_update_auth(sw->dma_port); - return ret == -ETIMEDOUT ? 0 : ret; + if (!ret || ret == -ETIMEDOUT) + return 0; + + /* + * Any error from update auth operation requires power + * cycling of the host router. + */ + tb_sw_warn(sw, "failed to authenticate NVM, power cycling\n"); + if (dma_port_flash_update_auth_status(sw->dma_port, &status) > 0) + nvm_set_auth_status(sw, status); } /* @@ -191,7 +202,7 @@ * switch. */ dma_port_power_cycle(sw->dma_port); - return 0; + return ret; } static int nvm_authenticate_device(struct tb_switch *sw) @@ -199,8 +210,16 @@ int ret, retries = 10; ret = dma_port_flash_update_auth(sw->dma_port); - if (ret && ret != -ETIMEDOUT) + switch (ret) { + case 0: + case -ETIMEDOUT: + case -EACCES: + case -EINVAL: + /* Power cycle is required */ + break; + default: return ret; + } /* * Poll here for the authentication status. It takes some time @@ -937,8 +956,6 @@ */ nvm_authenticate_start(sw); ret = nvm_authenticate_host(sw); - if (ret) - nvm_authenticate_complete(sw); } else { ret = nvm_authenticate_device(sw); } @@ -1332,13 +1349,16 @@ int ret; switch (sw->generation) { - case 3: - break; - case 2: /* Only root switch can be upgraded */ if (tb_route(sw)) return 0; + + /* fallthrough */ + case 3: + ret = tb_switch_set_uuid(sw); + if (ret) + return ret; break; default: @@ -1359,6 +1379,19 @@ return 0; /* + * If there is status already set then authentication failed + * when the dma_port_flash_update_auth() returned. Power cycling + * is not needed (it was done already) so only thing we do here + * is to unblock runtime PM of the root port. + */ + nvm_get_auth_status(sw, &status); + if (status) { + if (!tb_route(sw)) + nvm_authenticate_complete(sw); + return 0; + } + + /* * Check status of the previous flash authentication. If there * is one we need to power cycle the switch in any case to make * it functional again. @@ -1373,9 +1406,6 @@ if (status) { tb_sw_info(sw, "switch flash authentication failed\n"); - ret = tb_switch_set_uuid(sw); - if (ret) - return ret; nvm_set_auth_status(sw, status); } diff -Nru linux-4.19.87/drivers/tty/hvc/hvc_vio.c linux-4.19.98/drivers/tty/hvc/hvc_vio.c --- linux-4.19.87/drivers/tty/hvc/hvc_vio.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/tty/hvc/hvc_vio.c 2020-01-23 07:21:39.000000000 +0000 @@ -107,6 +107,14 @@ return got; } +/** + * hvterm_raw_put_chars: send characters to firmware for given vterm adapter + * @vtermno: The virtual terminal number. + * @buf: The characters to send. Because of the underlying hypercall in + * hvc_put_chars(), this buffer must be at least 16 bytes long, even if + * you are sending fewer chars. + * @count: number of chars to send. + */ static int hvterm_raw_put_chars(uint32_t vtermno, const char *buf, int count) { struct hvterm_priv *pv = hvterm_privs[vtermno]; @@ -219,6 +227,7 @@ static void udbg_hvc_putc(char c) { int count = -1; + unsigned char bounce_buffer[16]; if (!hvterm_privs[0]) return; @@ -229,7 +238,12 @@ do { switch(hvterm_privs[0]->proto) { case HV_PROTOCOL_RAW: - count = hvterm_raw_put_chars(0, &c, 1); + /* + * hvterm_raw_put_chars requires at least a 16-byte + * buffer, so go via the bounce buffer + */ + bounce_buffer[0] = c; + count = hvterm_raw_put_chars(0, bounce_buffer, 1); break; case HV_PROTOCOL_HVSI: count = hvterm_hvsi_put_chars(0, &c, 1); diff -Nru linux-4.19.87/drivers/tty/n_hdlc.c linux-4.19.98/drivers/tty/n_hdlc.c --- linux-4.19.87/drivers/tty/n_hdlc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/tty/n_hdlc.c 2020-01-23 07:21:39.000000000 +0000 @@ -613,7 +613,7 @@ } /* no data */ - if (file->f_flags & O_NONBLOCK) { + if (tty_io_nonblock(tty, file)) { ret = -EAGAIN; break; } @@ -680,7 +680,7 @@ if (tbuf) break; - if (file->f_flags & O_NONBLOCK) { + if (tty_io_nonblock(tty, file)) { error = -EAGAIN; break; } diff -Nru linux-4.19.87/drivers/tty/n_r3964.c linux-4.19.98/drivers/tty/n_r3964.c --- linux-4.19.87/drivers/tty/n_r3964.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/tty/n_r3964.c 2020-01-23 07:21:39.000000000 +0000 @@ -1078,7 +1078,7 @@ pMsg = remove_msg(pInfo, pClient); if (pMsg == NULL) { /* no messages available. */ - if (file->f_flags & O_NONBLOCK) { + if (tty_io_nonblock(tty, file)) { ret = -EAGAIN; goto unlock; } diff -Nru linux-4.19.87/drivers/tty/n_tty.c linux-4.19.98/drivers/tty/n_tty.c --- linux-4.19.87/drivers/tty/n_tty.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/tty/n_tty.c 2020-01-23 07:21:39.000000000 +0000 @@ -1702,7 +1702,7 @@ down_read(&tty->termios_rwsem); - while (1) { + do { /* * When PARMRK is set, each input char may take up to 3 chars * in the read buf; reduce the buffer space avail by 3x @@ -1744,7 +1744,7 @@ fp += n; count -= n; rcvd += n; - } + } while (!test_bit(TTY_LDISC_CHANGING, &tty->flags)); tty->receive_room = room; @@ -2211,7 +2211,7 @@ break; if (!timeout) break; - if (file->f_flags & O_NONBLOCK) { + if (tty_io_nonblock(tty, file)) { retval = -EAGAIN; break; } @@ -2365,7 +2365,7 @@ } if (!nr) break; - if (file->f_flags & O_NONBLOCK) { + if (tty_io_nonblock(tty, file)) { retval = -EAGAIN; break; } diff -Nru linux-4.19.87/drivers/tty/serdev/core.c linux-4.19.98/drivers/tty/serdev/core.c --- linux-4.19.87/drivers/tty/serdev/core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/tty/serdev/core.c 2020-01-23 07:21:39.000000000 +0000 @@ -526,6 +526,12 @@ return AE_OK; } +static const struct acpi_device_id serdev_acpi_devices_blacklist[] = { + { "INT3511", 0 }, + { "INT3512", 0 }, + { }, +}; + static acpi_status acpi_serdev_add_device(acpi_handle handle, u32 level, void *data, void **return_value) { @@ -535,6 +541,10 @@ if (acpi_bus_get_device(handle, &adev)) return AE_OK; + /* Skip if black listed */ + if (!acpi_match_device_ids(adev, serdev_acpi_devices_blacklist)) + return AE_OK; + return acpi_serdev_register_device(ctrl, adev); } diff -Nru linux-4.19.87/drivers/tty/serial/8250/8250_core.c linux-4.19.98/drivers/tty/serial/8250/8250_core.c --- linux-4.19.87/drivers/tty/serial/8250/8250_core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/tty/serial/8250/8250_core.c 2020-01-23 07:21:39.000000000 +0000 @@ -946,6 +946,21 @@ return NULL; } +static void serial_8250_overrun_backoff_work(struct work_struct *work) +{ + struct uart_8250_port *up = + container_of(to_delayed_work(work), struct uart_8250_port, + overrun_backoff); + struct uart_port *port = &up->port; + unsigned long flags; + + spin_lock_irqsave(&port->lock, flags); + up->ier |= UART_IER_RLSI | UART_IER_RDI; + up->port.read_status_mask |= UART_LSR_DR; + serial_out(up, UART_IER, up->ier); + spin_unlock_irqrestore(&port->lock, flags); +} + /** * serial8250_register_8250_port - register a serial port * @up: serial port template @@ -1059,7 +1074,18 @@ ret = 0; } + + /* Initialise interrupt backoff work if required */ + if (up->overrun_backoff_time_ms > 0) { + uart->overrun_backoff_time_ms = + up->overrun_backoff_time_ms; + INIT_DELAYED_WORK(&uart->overrun_backoff, + serial_8250_overrun_backoff_work); + } else { + uart->overrun_backoff_time_ms = 0; + } } + mutex_unlock(&serial_mutex); return ret; diff -Nru linux-4.19.87/drivers/tty/serial/8250/8250_fsl.c linux-4.19.98/drivers/tty/serial/8250/8250_fsl.c --- linux-4.19.87/drivers/tty/serial/8250/8250_fsl.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/tty/serial/8250/8250_fsl.c 2020-01-23 07:21:39.000000000 +0000 @@ -45,8 +45,29 @@ lsr = orig_lsr = up->port.serial_in(&up->port, UART_LSR); - if (lsr & (UART_LSR_DR | UART_LSR_BI)) + /* Process incoming characters first */ + if ((lsr & (UART_LSR_DR | UART_LSR_BI)) && + (up->ier & (UART_IER_RLSI | UART_IER_RDI))) { lsr = serial8250_rx_chars(up, lsr); + } + + /* Stop processing interrupts on input overrun */ + if ((orig_lsr & UART_LSR_OE) && (up->overrun_backoff_time_ms > 0)) { + unsigned long delay; + + up->ier = port->serial_in(port, UART_IER); + if (up->ier & (UART_IER_RLSI | UART_IER_RDI)) { + port->ops->stop_rx(port); + } else { + /* Keep restarting the timer until + * the input overrun subsides. + */ + cancel_delayed_work(&up->overrun_backoff); + } + + delay = msecs_to_jiffies(up->overrun_backoff_time_ms); + schedule_delayed_work(&up->overrun_backoff, delay); + } serial8250_modem_status(up); diff -Nru linux-4.19.87/drivers/tty/serial/8250/8250_of.c linux-4.19.98/drivers/tty/serial/8250/8250_of.c --- linux-4.19.87/drivers/tty/serial/8250/8250_of.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/tty/serial/8250/8250_of.c 2020-01-23 07:21:39.000000000 +0000 @@ -244,6 +244,11 @@ if (of_property_read_bool(ofdev->dev.of_node, "auto-flow-control")) port8250.capabilities |= UART_CAP_AFE; + if (of_property_read_u32(ofdev->dev.of_node, + "overrun-throttle-ms", + &port8250.overrun_backoff_time_ms) != 0) + port8250.overrun_backoff_time_ms = 0; + ret = serial8250_register_8250_port(&port8250); if (ret < 0) goto err_dispose; diff -Nru linux-4.19.87/drivers/tty/serial/amba-pl011.c linux-4.19.98/drivers/tty/serial/amba-pl011.c --- linux-4.19.87/drivers/tty/serial/amba-pl011.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/tty/serial/amba-pl011.c 2020-01-23 07:21:39.000000000 +0000 @@ -813,10 +813,8 @@ if (!uap->using_tx_dma) return; - /* Avoid deadlock with the DMA engine callback */ - spin_unlock(&uap->port.lock); - dmaengine_terminate_all(uap->dmatx.chan); - spin_lock(&uap->port.lock); + 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); diff -Nru linux-4.19.87/drivers/tty/serial/atmel_serial.c linux-4.19.98/drivers/tty/serial/atmel_serial.c --- linux-4.19.87/drivers/tty/serial/atmel_serial.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/tty/serial/atmel_serial.c 2020-01-23 07:21:39.000000000 +0000 @@ -2154,27 +2154,6 @@ mode |= ATMEL_US_USMODE_NORMAL; } - /* set the mode, clock divisor, parity, stop bits and data size */ - atmel_uart_writel(port, ATMEL_US_MR, mode); - - /* - * when switching the mode, set the RTS line state according to the - * new mode, otherwise keep the former state - */ - if ((old_mode & ATMEL_US_USMODE) != (mode & ATMEL_US_USMODE)) { - unsigned int rts_state; - - if ((mode & ATMEL_US_USMODE) == ATMEL_US_USMODE_HWHS) { - /* let the hardware control the RTS line */ - rts_state = ATMEL_US_RTSDIS; - } else { - /* force RTS line to low level */ - rts_state = ATMEL_US_RTSEN; - } - - atmel_uart_writel(port, ATMEL_US_CR, rts_state); - } - /* * Set the baud rate: * Fractional baudrate allows to setup output frequency more @@ -2200,6 +2179,28 @@ quot = cd | fp << ATMEL_US_FP_OFFSET; atmel_uart_writel(port, ATMEL_US_BRGR, quot); + + /* set the mode, clock divisor, parity, stop bits and data size */ + atmel_uart_writel(port, ATMEL_US_MR, mode); + + /* + * when switching the mode, set the RTS line state according to the + * new mode, otherwise keep the former state + */ + if ((old_mode & ATMEL_US_USMODE) != (mode & ATMEL_US_USMODE)) { + unsigned int rts_state; + + if ((mode & ATMEL_US_USMODE) == ATMEL_US_USMODE_HWHS) { + /* let the hardware control the RTS line */ + rts_state = ATMEL_US_RTSDIS; + } else { + /* force RTS line to low level */ + rts_state = ATMEL_US_RTSEN; + } + + atmel_uart_writel(port, ATMEL_US_CR, rts_state); + } + atmel_uart_writel(port, ATMEL_US_CR, ATMEL_US_RSTSTA | ATMEL_US_RSTRX); atmel_uart_writel(port, ATMEL_US_CR, ATMEL_US_TXEN | ATMEL_US_RXEN); atmel_port->tx_stopped = false; diff -Nru linux-4.19.87/drivers/tty/serial/fsl_lpuart.c linux-4.19.98/drivers/tty/serial/fsl_lpuart.c --- linux-4.19.87/drivers/tty/serial/fsl_lpuart.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/tty/serial/fsl_lpuart.c 2020-01-23 07:21:39.000000000 +0000 @@ -376,8 +376,8 @@ } sport->dma_tx_desc = dmaengine_prep_slave_sg(sport->dma_tx_chan, sgl, - sport->dma_tx_nents, - DMA_MEM_TO_DEV, DMA_PREP_INTERRUPT); + ret, DMA_MEM_TO_DEV, + DMA_PREP_INTERRUPT); if (!sport->dma_tx_desc) { dma_unmap_sg(dev, sgl, sport->dma_tx_nents, DMA_TO_DEVICE); dev_err(dev, "Cannot prepare TX slave DMA!\n"); diff -Nru linux-4.19.87/drivers/tty/serial/ifx6x60.c linux-4.19.98/drivers/tty/serial/ifx6x60.c --- linux-4.19.87/drivers/tty/serial/ifx6x60.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/tty/serial/ifx6x60.c 2020-01-23 07:21:39.000000000 +0000 @@ -1230,6 +1230,9 @@ struct ifx_spi_device *ifx_dev = spi_get_drvdata(spi); /* stop activity */ tasklet_kill(&ifx_dev->io_work_tasklet); + + pm_runtime_disable(&spi->dev); + /* free irq */ free_irq(gpio_to_irq(ifx_dev->gpio.reset_out), ifx_dev); free_irq(gpio_to_irq(ifx_dev->gpio.srdy), ifx_dev); diff -Nru linux-4.19.87/drivers/tty/serial/imx.c linux-4.19.98/drivers/tty/serial/imx.c --- linux-4.19.87/drivers/tty/serial/imx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/tty/serial/imx.c 2020-01-23 07:21:39.000000000 +0000 @@ -624,7 +624,7 @@ dev_err(dev, "DMA mapping error for TX.\n"); return; } - desc = dmaengine_prep_slave_sg(chan, sgl, sport->dma_tx_nents, + desc = dmaengine_prep_slave_sg(chan, sgl, ret, DMA_MEM_TO_DEV, DMA_PREP_INTERRUPT); if (!desc) { dma_unmap_sg(dev, sgl, sport->dma_tx_nents, @@ -2071,7 +2071,7 @@ retval = clk_prepare(sport->clk_per); if (retval) - clk_disable_unprepare(sport->clk_ipg); + clk_unprepare(sport->clk_ipg); error_console: return retval; diff -Nru linux-4.19.87/drivers/tty/serial/max310x.c linux-4.19.98/drivers/tty/serial/max310x.c --- linux-4.19.87/drivers/tty/serial/max310x.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/tty/serial/max310x.c 2020-01-23 07:21:39.000000000 +0000 @@ -844,12 +844,9 @@ static unsigned int max310x_tx_empty(struct uart_port *port) { - unsigned int lvl, sts; + u8 lvl = max310x_port_read(port, MAX310X_TXFIFOLVL_REG); - lvl = max310x_port_read(port, MAX310X_TXFIFOLVL_REG); - sts = max310x_port_read(port, MAX310X_IRQSTS_REG); - - return ((sts & MAX310X_IRQ_TXEMPTY_BIT) && !lvl) ? TIOCSER_TEMT : 0; + return lvl ? 0 : TIOCSER_TEMT; } static unsigned int max310x_get_mctrl(struct uart_port *port) diff -Nru linux-4.19.87/drivers/tty/serial/msm_serial.c linux-4.19.98/drivers/tty/serial/msm_serial.c --- linux-4.19.87/drivers/tty/serial/msm_serial.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/tty/serial/msm_serial.c 2020-01-23 07:21:39.000000000 +0000 @@ -980,6 +980,7 @@ static void msm_reset(struct uart_port *port) { struct msm_port *msm_port = UART_TO_MSM(port); + unsigned int mr; /* reset everything */ msm_write(port, UART_CR_CMD_RESET_RX, UART_CR); @@ -987,7 +988,10 @@ msm_write(port, UART_CR_CMD_RESET_ERR, UART_CR); msm_write(port, UART_CR_CMD_RESET_BREAK_INT, UART_CR); msm_write(port, UART_CR_CMD_RESET_CTS, UART_CR); - msm_write(port, UART_CR_CMD_SET_RFR, UART_CR); + msm_write(port, UART_CR_CMD_RESET_RFR, UART_CR); + mr = msm_read(port, UART_MR1); + mr &= ~UART_MR1_RX_RDY_CTL; + msm_write(port, mr, UART_MR1); /* Disable DM modes */ if (msm_port->is_uartdm) @@ -1576,6 +1580,7 @@ int num_newlines = 0; bool replaced = false; void __iomem *tf; + int locked = 1; if (is_uartdm) tf = port->membase + UARTDM_TF; @@ -1588,7 +1593,13 @@ num_newlines++; count += num_newlines; - spin_lock(&port->lock); + if (port->sysrq) + locked = 0; + else if (oops_in_progress) + locked = spin_trylock(&port->lock); + else + spin_lock(&port->lock); + if (is_uartdm) msm_reset_dm_count(port, count); @@ -1624,7 +1635,9 @@ iowrite32_rep(tf, buf, 1); i += num_chars; } - spin_unlock(&port->lock); + + if (locked) + spin_unlock(&port->lock); } static void msm_console_write(struct console *co, const char *s, diff -Nru linux-4.19.87/drivers/tty/serial/pch_uart.c linux-4.19.98/drivers/tty/serial/pch_uart.c --- linux-4.19.87/drivers/tty/serial/pch_uart.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/tty/serial/pch_uart.c 2020-01-23 07:21:39.000000000 +0000 @@ -235,6 +235,7 @@ struct dma_chan *chan_rx; struct scatterlist *sg_tx_p; int nent; + int orig_nent; struct scatterlist sg_rx; int tx_dma_use; void *rx_buf_virt; @@ -789,9 +790,10 @@ } xmit->tail &= UART_XMIT_SIZE - 1; async_tx_ack(priv->desc_tx); - dma_unmap_sg(port->dev, sg, priv->nent, DMA_TO_DEVICE); + dma_unmap_sg(port->dev, sg, priv->orig_nent, DMA_TO_DEVICE); priv->tx_dma_use = 0; priv->nent = 0; + priv->orig_nent = 0; kfree(priv->sg_tx_p); pch_uart_hal_enable_interrupt(priv, PCH_UART_HAL_TX_INT); } @@ -1015,6 +1017,7 @@ dev_err(priv->port.dev, "%s:dma_map_sg Failed\n", __func__); return 0; } + priv->orig_nent = num; priv->nent = nent; for (i = 0; i < nent; i++, sg++) { diff -Nru linux-4.19.87/drivers/tty/serial/qcom_geni_serial.c linux-4.19.98/drivers/tty/serial/qcom_geni_serial.c --- linux-4.19.87/drivers/tty/serial/qcom_geni_serial.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/tty/serial/qcom_geni_serial.c 2020-01-23 07:21:39.000000000 +0000 @@ -113,6 +113,8 @@ u32 *rx_fifo; u32 loopback; bool brk; + + unsigned int tx_remaining; }; static const struct uart_ops qcom_geni_console_pops; @@ -435,6 +437,7 @@ struct qcom_geni_serial_port *port; bool locked = true; unsigned long flags; + u32 geni_status; WARN_ON(co->index < 0 || co->index >= GENI_UART_CONS_PORTS); @@ -448,6 +451,8 @@ else spin_lock_irqsave(&uport->lock, flags); + geni_status = readl_relaxed(uport->membase + SE_GENI_STATUS); + /* Cancel the current write to log the fault */ if (!locked) { geni_se_cancel_m_cmd(&port->se); @@ -461,9 +466,19 @@ } writel_relaxed(M_CMD_CANCEL_EN, uport->membase + SE_GENI_M_IRQ_CLEAR); + } else if ((geni_status & M_GENI_CMD_ACTIVE) && !port->tx_remaining) { + /* + * It seems we can't interrupt existing transfers if all data + * has been sent, in which case we need to look for done first. + */ + qcom_geni_serial_poll_tx_done(uport); } __qcom_geni_serial_console_write(uport, s, count); + + if (port->tx_remaining) + qcom_geni_serial_setup_tx(uport, port->tx_remaining); + if (locked) spin_unlock_irqrestore(&uport->lock, flags); } @@ -694,40 +709,45 @@ port->handle_rx(uport, total_bytes, drop); } -static void qcom_geni_serial_handle_tx(struct uart_port *uport) +static void qcom_geni_serial_handle_tx(struct uart_port *uport, bool done, + bool active) { struct qcom_geni_serial_port *port = to_dev_port(uport, uport); struct circ_buf *xmit = &uport->state->xmit; size_t avail; size_t remaining; + size_t pending; int i; u32 status; unsigned int chunk; int tail; - u32 irq_en; - chunk = uart_circ_chars_pending(xmit); status = readl_relaxed(uport->membase + SE_GENI_TX_FIFO_STATUS); - /* Both FIFO and framework buffer are drained */ - if (!chunk && !status) { + + /* Complete the current tx command before taking newly added data */ + if (active) + pending = port->tx_remaining; + else + pending = uart_circ_chars_pending(xmit); + + /* All data has been transmitted and acknowledged as received */ + if (!pending && !status && done) { qcom_geni_serial_stop_tx(uport); goto out_write_wakeup; } - if (!uart_console(uport)) { - irq_en = readl_relaxed(uport->membase + SE_GENI_M_IRQ_EN); - irq_en &= ~(M_TX_FIFO_WATERMARK_EN); - writel_relaxed(0, uport->membase + SE_GENI_TX_WATERMARK_REG); - writel_relaxed(irq_en, uport->membase + SE_GENI_M_IRQ_EN); - } + avail = port->tx_fifo_depth - (status & TX_FIFO_WC); + avail *= port->tx_bytes_pw; - avail = (port->tx_fifo_depth - port->tx_wm) * port->tx_bytes_pw; tail = xmit->tail; - chunk = min3((size_t)chunk, (size_t)(UART_XMIT_SIZE - tail), avail); + chunk = min3(avail, pending, (size_t)(UART_XMIT_SIZE - tail)); if (!chunk) goto out_write_wakeup; - qcom_geni_serial_setup_tx(uport, chunk); + if (!port->tx_remaining) { + qcom_geni_serial_setup_tx(uport, pending); + port->tx_remaining = pending; + } remaining = chunk; for (i = 0; i < chunk; ) { @@ -746,11 +766,10 @@ tail += tx_bytes; uport->icount.tx += tx_bytes; remaining -= tx_bytes; + port->tx_remaining -= tx_bytes; } xmit->tail = tail & (UART_XMIT_SIZE - 1); - if (uart_console(uport)) - qcom_geni_serial_poll_tx_done(uport); out_write_wakeup: if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS) uart_write_wakeup(uport); @@ -760,6 +779,7 @@ { unsigned int m_irq_status; unsigned int s_irq_status; + unsigned int geni_status; struct uart_port *uport = dev; unsigned long flags; unsigned int m_irq_en; @@ -773,6 +793,7 @@ spin_lock_irqsave(&uport->lock, flags); m_irq_status = readl_relaxed(uport->membase + SE_GENI_M_IRQ_STATUS); s_irq_status = readl_relaxed(uport->membase + SE_GENI_S_IRQ_STATUS); + geni_status = readl_relaxed(uport->membase + SE_GENI_STATUS); m_irq_en = readl_relaxed(uport->membase + SE_GENI_M_IRQ_EN); writel_relaxed(m_irq_status, uport->membase + SE_GENI_M_IRQ_CLEAR); writel_relaxed(s_irq_status, uport->membase + SE_GENI_S_IRQ_CLEAR); @@ -787,7 +808,8 @@ if (m_irq_status & (M_TX_FIFO_WATERMARK_EN | M_CMD_DONE_EN) && m_irq_en & (M_TX_FIFO_WATERMARK_EN | M_CMD_DONE_EN)) - qcom_geni_serial_handle_tx(uport); + qcom_geni_serial_handle_tx(uport, m_irq_status & M_CMD_DONE_EN, + geni_status & M_GENI_CMD_ACTIVE); if (s_irq_status & S_GP_IRQ_0_EN || s_irq_status & S_GP_IRQ_1_EN) { if (s_irq_status & S_GP_IRQ_0_EN) diff -Nru linux-4.19.87/drivers/tty/serial/serial_core.c linux-4.19.98/drivers/tty/serial/serial_core.c --- linux-4.19.87/drivers/tty/serial/serial_core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/tty/serial/serial_core.c 2020-01-23 07:21:39.000000000 +0000 @@ -1112,7 +1112,7 @@ if (!uport) goto out; - if (uport->type != PORT_UNKNOWN) + if (uport->type != PORT_UNKNOWN && uport->ops->break_ctl) uport->ops->break_ctl(uport, break_state); ret = 0; out: @@ -2786,6 +2786,7 @@ if (uport->cons && uport->dev) of_console_check(uport->dev->of_node, uport->cons->name, uport->line); + tty_port_link_device(port, drv->tty_driver, uport->line); uart_configure_port(drv, state, uport); port->console = uart_console(uport); diff -Nru linux-4.19.87/drivers/tty/serial/sh-sci.c linux-4.19.98/drivers/tty/serial/sh-sci.c --- linux-4.19.87/drivers/tty/serial/sh-sci.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/tty/serial/sh-sci.c 2020-01-23 07:21:39.000000000 +0000 @@ -1359,7 +1359,7 @@ dmaengine_terminate_async(chan); for (i = 0; i < 2; i++) s->cookie_rx[i] = -EINVAL; - s->active_rx = -EINVAL; + s->active_rx = 0; s->chan_rx = NULL; sci_start_rx(port); if (!port_lock_held) diff -Nru linux-4.19.87/drivers/tty/tty_ldisc.c linux-4.19.98/drivers/tty/tty_ldisc.c --- linux-4.19.87/drivers/tty/tty_ldisc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/tty/tty_ldisc.c 2020-01-23 07:21:39.000000000 +0000 @@ -336,6 +336,11 @@ { int ret; + /* Kindly asking blocked readers to release the read side */ + set_bit(TTY_LDISC_CHANGING, &tty->flags); + wake_up_interruptible_all(&tty->read_wait); + wake_up_interruptible_all(&tty->write_wait); + ret = __tty_ldisc_lock(tty, timeout); if (!ret) return -EBUSY; @@ -346,6 +351,8 @@ void tty_ldisc_unlock(struct tty_struct *tty) { clear_bit(TTY_LDISC_HALTED, &tty->flags); + /* Can be cleared here - ldisc_unlock will wake up writers firstly */ + clear_bit(TTY_LDISC_CHANGING, &tty->flags); __tty_ldisc_unlock(tty); } diff -Nru linux-4.19.87/drivers/tty/vt/keyboard.c linux-4.19.98/drivers/tty/vt/keyboard.c --- linux-4.19.87/drivers/tty/vt/keyboard.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/tty/vt/keyboard.c 2020-01-23 07:21:39.000000000 +0000 @@ -1491,7 +1491,7 @@ if (event_type == EV_MSC && event_code == MSC_RAW && HW_RAW(handle->dev)) kbd_rawcode(value); - if (event_type == EV_KEY) + if (event_type == EV_KEY && event_code <= KEY_MAX) kbd_keycode(event_code, value, HW_RAW(handle->dev)); spin_unlock(&kbd_event_lock); diff -Nru linux-4.19.87/drivers/tty/vt/vc_screen.c linux-4.19.98/drivers/tty/vt/vc_screen.c --- linux-4.19.87/drivers/tty/vt/vc_screen.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/tty/vt/vc_screen.c 2020-01-23 07:21:39.000000000 +0000 @@ -437,6 +437,9 @@ size_t ret; char *con_buf; + if (use_unicode(inode)) + return -EOPNOTSUPP; + con_buf = (char *) __get_free_page(GFP_KERNEL); if (!con_buf) return -ENOMEM; diff -Nru linux-4.19.87/drivers/usb/atm/ueagle-atm.c linux-4.19.98/drivers/usb/atm/ueagle-atm.c --- linux-4.19.87/drivers/usb/atm/ueagle-atm.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/atm/ueagle-atm.c 2020-01-23 07:21:39.000000000 +0000 @@ -2168,10 +2168,11 @@ /* * Start the modem : init the data and start kernel thread */ -static int uea_boot(struct uea_softc *sc) +static int uea_boot(struct uea_softc *sc, struct usb_interface *intf) { - int ret, size; struct intr_pkt *intr; + int ret = -ENOMEM; + int size; uea_enters(INS_TO_USBDEV(sc)); @@ -2196,6 +2197,11 @@ if (UEA_CHIP_VERSION(sc) == ADI930) load_XILINX_firmware(sc); + if (intf->cur_altsetting->desc.bNumEndpoints < 1) { + ret = -ENODEV; + goto err0; + } + intr = kmalloc(size, GFP_KERNEL); if (!intr) goto err0; @@ -2207,8 +2213,7 @@ usb_fill_int_urb(sc->urb_int, sc->usb_dev, usb_rcvintpipe(sc->usb_dev, UEA_INTR_PIPE), intr, size, uea_intr, sc, - sc->usb_dev->actconfig->interface[0]->altsetting[0]. - endpoint[0].desc.bInterval); + intf->cur_altsetting->endpoint[0].desc.bInterval); ret = usb_submit_urb(sc->urb_int, GFP_KERNEL); if (ret < 0) { @@ -2223,6 +2228,7 @@ sc->kthread = kthread_create(uea_kthread, sc, "ueagle-atm"); if (IS_ERR(sc->kthread)) { uea_err(INS_TO_USBDEV(sc), "failed to create thread\n"); + ret = PTR_ERR(sc->kthread); goto err2; } @@ -2237,7 +2243,7 @@ kfree(intr); err0: uea_leaves(INS_TO_USBDEV(sc)); - return -ENOMEM; + return ret; } /* @@ -2598,7 +2604,7 @@ if (ret < 0) goto error; - ret = uea_boot(sc); + ret = uea_boot(sc, intf); if (ret < 0) goto error_rm_grp; diff -Nru linux-4.19.87/drivers/usb/chipidea/host.c linux-4.19.98/drivers/usb/chipidea/host.c --- linux-4.19.87/drivers/usb/chipidea/host.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/chipidea/host.c 2020-01-23 07:21:39.000000000 +0000 @@ -25,6 +25,7 @@ struct ehci_ci_priv { struct regulator *reg_vbus; + bool enabled; }; static int ehci_ci_portpower(struct usb_hcd *hcd, int portnum, bool enable) @@ -36,7 +37,7 @@ int ret = 0; int port = HCS_N_PORTS(ehci->hcs_params); - if (priv->reg_vbus) { + if (priv->reg_vbus && enable != priv->enabled) { if (port > 1) { dev_warn(dev, "Not support multi-port regulator control\n"); @@ -52,6 +53,7 @@ enable ? "enable" : "disable", ret); return ret; } + priv->enabled = enable; } if (enable && (ci->platdata->phy_mode == USBPHY_INTERFACE_MODE_HSIC)) { diff -Nru linux-4.19.87/drivers/usb/core/config.c linux-4.19.98/drivers/usb/core/config.c --- linux-4.19.87/drivers/usb/core/config.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/core/config.c 2020-01-23 07:21:39.000000000 +0000 @@ -203,9 +203,58 @@ [USB_ENDPOINT_XFER_INT] = 1024, }; -static int usb_parse_endpoint(struct device *ddev, int cfgno, int inum, - int asnum, struct usb_host_interface *ifp, int num_ep, - unsigned char *buffer, int size) +static bool endpoint_is_duplicate(struct usb_endpoint_descriptor *e1, + struct usb_endpoint_descriptor *e2) +{ + if (e1->bEndpointAddress == e2->bEndpointAddress) + return true; + + if (usb_endpoint_xfer_control(e1) || usb_endpoint_xfer_control(e2)) { + if (usb_endpoint_num(e1) == usb_endpoint_num(e2)) + return true; + } + + return false; +} + +/* + * Check for duplicate endpoint addresses in other interfaces and in the + * altsetting currently being parsed. + */ +static bool config_endpoint_is_duplicate(struct usb_host_config *config, + int inum, int asnum, struct usb_endpoint_descriptor *d) +{ + struct usb_endpoint_descriptor *epd; + struct usb_interface_cache *intfc; + struct usb_host_interface *alt; + int i, j, k; + + for (i = 0; i < config->desc.bNumInterfaces; ++i) { + intfc = config->intf_cache[i]; + + for (j = 0; j < intfc->num_altsetting; ++j) { + alt = &intfc->altsetting[j]; + + if (alt->desc.bInterfaceNumber == inum && + alt->desc.bAlternateSetting != asnum) + continue; + + for (k = 0; k < alt->desc.bNumEndpoints; ++k) { + epd = &alt->endpoint[k].desc; + + if (endpoint_is_duplicate(epd, d)) + return true; + } + } + } + + return false; +} + +static int usb_parse_endpoint(struct device *ddev, int cfgno, + struct usb_host_config *config, int inum, int asnum, + struct usb_host_interface *ifp, int num_ep, + unsigned char *buffer, int size) { unsigned char *buffer0 = buffer; struct usb_endpoint_descriptor *d; @@ -242,13 +291,10 @@ goto skip_to_next_endpoint_or_interface_descriptor; /* Check for duplicate endpoint addresses */ - for (i = 0; i < ifp->desc.bNumEndpoints; ++i) { - if (ifp->endpoint[i].desc.bEndpointAddress == - d->bEndpointAddress) { - dev_warn(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; - } + 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", + cfgno, inum, asnum, d->bEndpointAddress); + goto skip_to_next_endpoint_or_interface_descriptor; } endpoint = &ifp->endpoint[ifp->desc.bNumEndpoints]; @@ -346,12 +392,16 @@ endpoint->desc.wMaxPacketSize = cpu_to_le16(8); } - /* Validate the wMaxPacketSize field */ + /* + * Validate the wMaxPacketSize field. + * Some devices have isochronous endpoints in altsetting 0; + * the USB-2 spec requires such endpoints to have wMaxPacketSize = 0 + * (see the end of section 5.6.3), so don't warn about them. + */ maxp = usb_endpoint_maxp(&endpoint->desc); - if (maxp == 0) { - dev_warn(ddev, "config %d interface %d altsetting %d endpoint 0x%X has wMaxPacketSize 0, skipping\n", + 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", cfgno, inum, asnum, d->bEndpointAddress); - goto skip_to_next_endpoint_or_interface_descriptor; } /* Find the highest legal maxpacket size for this endpoint */ @@ -522,8 +572,8 @@ if (((struct usb_descriptor_header *) buffer)->bDescriptorType == USB_DT_INTERFACE) break; - retval = usb_parse_endpoint(ddev, cfgno, inum, asnum, alt, - num_ep, buffer, size); + retval = usb_parse_endpoint(ddev, cfgno, config, inum, asnum, + alt, num_ep, buffer, size); if (retval < 0) return retval; ++n; diff -Nru linux-4.19.87/drivers/usb/core/devio.c linux-4.19.98/drivers/usb/core/devio.c --- linux-4.19.87/drivers/usb/core/devio.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/core/devio.c 2020-01-23 07:21:39.000000000 +0000 @@ -739,8 +739,15 @@ intf = usb_ifnum_to_if(dev, ifnum); if (!intf) err = -ENOENT; - else + else { + unsigned int old_suppress; + + /* suppress uevents while claiming interface */ + old_suppress = dev_get_uevent_suppress(&intf->dev); + dev_set_uevent_suppress(&intf->dev, 1); err = usb_driver_claim_interface(&usbfs_driver, intf, ps); + dev_set_uevent_suppress(&intf->dev, old_suppress); + } if (err == 0) set_bit(ifnum, &ps->ifclaimed); return err; @@ -760,7 +767,13 @@ if (!intf) err = -ENOENT; else if (test_and_clear_bit(ifnum, &ps->ifclaimed)) { + unsigned int old_suppress; + + /* suppress uevents while releasing interface */ + old_suppress = dev_get_uevent_suppress(&intf->dev); + dev_set_uevent_suppress(&intf->dev, 1); usb_driver_release_interface(&usbfs_driver, intf); + dev_set_uevent_suppress(&intf->dev, old_suppress); err = 0; } return err; diff -Nru linux-4.19.87/drivers/usb/core/hub.c linux-4.19.98/drivers/usb/core/hub.c --- linux-4.19.87/drivers/usb/core/hub.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/core/hub.c 2020-01-23 07:21:39.000000000 +0000 @@ -1165,6 +1165,7 @@ * PORT_OVER_CURRENT is not. So check for any of them. */ if (udev || (portstatus & USB_PORT_STAT_CONNECTION) || + (portchange & USB_PORT_STAT_C_CONNECTION) || (portstatus & USB_PORT_STAT_OVERCURRENT) || (portchange & USB_PORT_STAT_C_OVERCURRENT)) set_bit(port1, hub->change_bits); @@ -2657,7 +2658,7 @@ #define SET_ADDRESS_TRIES 2 #define GET_DESCRIPTOR_TRIES 2 #define SET_CONFIG_TRIES (2 * (use_both_schemes + 1)) -#define USE_NEW_SCHEME(i, scheme) ((i) / 2 == (int)scheme) +#define USE_NEW_SCHEME(i, scheme) ((i) / 2 == (int)(scheme)) #define HUB_ROOT_RESET_TIME 60 /* times are in msec */ #define HUB_SHORT_RESET_TIME 10 @@ -5740,7 +5741,7 @@ /** * usb_reset_device - warn interface drivers and perform a USB port reset - * @udev: device to reset (not in SUSPENDED or NOTATTACHED state) + * @udev: device to reset (not in NOTATTACHED state) * * Warns all drivers bound to registered interfaces (using their pre_reset * method), performs the port reset, and then lets the drivers know that @@ -5768,8 +5769,7 @@ struct usb_host_config *config = udev->actconfig; struct usb_hub *hub = usb_hub_to_struct_hub(udev->parent); - if (udev->state == USB_STATE_NOTATTACHED || - udev->state == USB_STATE_SUSPENDED) { + if (udev->state == USB_STATE_NOTATTACHED) { dev_dbg(&udev->dev, "device reset not allowed in state %d\n", udev->state); return -EINVAL; diff -Nru linux-4.19.87/drivers/usb/core/urb.c linux-4.19.98/drivers/usb/core/urb.c --- linux-4.19.87/drivers/usb/core/urb.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/core/urb.c 2020-01-23 07:21:39.000000000 +0000 @@ -45,6 +45,7 @@ if (urb) { memset(urb, 0, sizeof(*urb)); kref_init(&urb->kref); + INIT_LIST_HEAD(&urb->urb_list); INIT_LIST_HEAD(&urb->anchor_list); } } diff -Nru linux-4.19.87/drivers/usb/dwc2/core.c linux-4.19.98/drivers/usb/dwc2/core.c --- linux-4.19.87/drivers/usb/dwc2/core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/dwc2/core.c 2020-01-23 07:21:39.000000000 +0000 @@ -524,7 +524,7 @@ greset |= GRSTCTL_CSFTRST; dwc2_writel(hsotg, greset, GRSTCTL); - if (dwc2_hsotg_wait_bit_clear(hsotg, GRSTCTL, GRSTCTL_CSFTRST, 50)) { + if (dwc2_hsotg_wait_bit_clear(hsotg, GRSTCTL, GRSTCTL_CSFTRST, 10000)) { dev_warn(hsotg->dev, "%s: HANG! Soft Reset timeout GRSTCTL GRSTCTL_CSFTRST\n", __func__); return -EBUSY; diff -Nru linux-4.19.87/drivers/usb/dwc3/core.c linux-4.19.98/drivers/usb/dwc3/core.c --- linux-4.19.87/drivers/usb/dwc3/core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/dwc3/core.c 2020-01-23 07:21:39.000000000 +0000 @@ -1481,7 +1481,8 @@ ret = dwc3_core_init(dwc); if (ret) { - dev_err(dev, "failed to initialize core\n"); + if (ret != -EPROBE_DEFER) + dev_err(dev, "failed to initialize core: %d\n", ret); goto err4; } diff -Nru linux-4.19.87/drivers/usb/dwc3/debug.h linux-4.19.98/drivers/usb/dwc3/debug.h --- linux-4.19.87/drivers/usb/dwc3/debug.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/dwc3/debug.h 2020-01-23 07:21:39.000000000 +0000 @@ -117,6 +117,35 @@ } /** + * dwc3_gadget_hs_link_string - returns highspeed and below link name + * @link_state: link state code + */ +static inline const char * +dwc3_gadget_hs_link_string(enum dwc3_link_state link_state) +{ + switch (link_state) { + case DWC3_LINK_STATE_U0: + return "On"; + case DWC3_LINK_STATE_U2: + return "Sleep"; + case DWC3_LINK_STATE_U3: + return "Suspend"; + case DWC3_LINK_STATE_SS_DIS: + return "Disconnected"; + case DWC3_LINK_STATE_RX_DET: + return "Early Suspend"; + case DWC3_LINK_STATE_RECOV: + return "Recovery"; + case DWC3_LINK_STATE_RESET: + return "Reset"; + case DWC3_LINK_STATE_RESUME: + return "Resume"; + default: + return "UNKNOWN link state\n"; + } +} + +/** * dwc3_trb_type_string - returns TRB type as a string * @type: the type of the TRB */ diff -Nru linux-4.19.87/drivers/usb/dwc3/debugfs.c linux-4.19.98/drivers/usb/dwc3/debugfs.c --- linux-4.19.87/drivers/usb/dwc3/debugfs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/dwc3/debugfs.c 2020-01-23 07:21:39.000000000 +0000 @@ -433,13 +433,17 @@ unsigned long flags; enum dwc3_link_state state; u32 reg; + u8 speed; spin_lock_irqsave(&dwc->lock, flags); reg = dwc3_readl(dwc->regs, DWC3_DSTS); state = DWC3_DSTS_USBLNKST(reg); - spin_unlock_irqrestore(&dwc->lock, flags); + speed = reg & DWC3_DSTS_CONNECTSPD; - seq_printf(s, "%s\n", dwc3_gadget_link_string(state)); + seq_printf(s, "%s\n", (speed >= DWC3_DSTS_SUPERSPEED) ? + dwc3_gadget_link_string(state) : + dwc3_gadget_hs_link_string(state)); + spin_unlock_irqrestore(&dwc->lock, flags); return 0; } @@ -457,6 +461,8 @@ unsigned long flags; enum dwc3_link_state state = 0; char buf[32]; + u32 reg; + u8 speed; if (copy_from_user(&buf, ubuf, min_t(size_t, sizeof(buf) - 1, count))) return -EFAULT; @@ -477,6 +483,15 @@ return -EINVAL; spin_lock_irqsave(&dwc->lock, flags); + reg = dwc3_readl(dwc->regs, DWC3_DSTS); + speed = reg & DWC3_DSTS_CONNECTSPD; + + if (speed < DWC3_DSTS_SUPERSPEED && + state != DWC3_LINK_STATE_RECOV) { + spin_unlock_irqrestore(&dwc->lock, flags); + return -EINVAL; + } + dwc3_gadget_set_link_state(dwc, state); spin_unlock_irqrestore(&dwc->lock, flags); diff -Nru linux-4.19.87/drivers/usb/dwc3/dwc3-pci.c linux-4.19.98/drivers/usb/dwc3/dwc3-pci.c --- linux-4.19.87/drivers/usb/dwc3/dwc3-pci.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/dwc3/dwc3-pci.c 2020-01-23 07:21:39.000000000 +0000 @@ -29,7 +29,8 @@ #define PCI_DEVICE_ID_INTEL_BXT_M 0x1aaa #define PCI_DEVICE_ID_INTEL_APL 0x5aaa #define PCI_DEVICE_ID_INTEL_KBP 0xa2b0 -#define PCI_DEVICE_ID_INTEL_CMLH 0x02ee +#define PCI_DEVICE_ID_INTEL_CMLLP 0x02ee +#define PCI_DEVICE_ID_INTEL_CMLH 0x06ee #define PCI_DEVICE_ID_INTEL_GLK 0x31aa #define PCI_DEVICE_ID_INTEL_CNPLP 0x9dee #define PCI_DEVICE_ID_INTEL_CNPH 0xa36e @@ -306,6 +307,9 @@ { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_MRFLD), (kernel_ulong_t) &dwc3_pci_mrfld_properties, }, + { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_CMLLP), + (kernel_ulong_t) &dwc3_pci_intel_properties, }, + { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_CMLH), (kernel_ulong_t) &dwc3_pci_intel_properties, }, diff -Nru linux-4.19.87/drivers/usb/dwc3/ep0.c linux-4.19.98/drivers/usb/dwc3/ep0.c --- linux-4.19.87/drivers/usb/dwc3/ep0.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/dwc3/ep0.c 2020-01-23 07:21:39.000000000 +0000 @@ -1110,6 +1110,9 @@ void dwc3_ep0_interrupt(struct dwc3 *dwc, const struct dwc3_event_depevt *event) { + struct dwc3_ep *dep = dwc->eps[event->endpoint_number]; + u8 cmd; + switch (event->endpoint_event) { case DWC3_DEPEVT_XFERCOMPLETE: dwc3_ep0_xfer_complete(dwc, event); @@ -1122,7 +1125,12 @@ case DWC3_DEPEVT_XFERINPROGRESS: case DWC3_DEPEVT_RXTXFIFOEVT: case DWC3_DEPEVT_STREAMEVT: + break; case DWC3_DEPEVT_EPCMDCMPLT: + cmd = DEPEVT_PARAMETER_CMD(event->parameters); + + if (cmd == DWC3_DEPCMD_ENDTRANSFER) + dep->flags &= ~DWC3_EP_TRANSFER_STARTED; break; } } diff -Nru linux-4.19.87/drivers/usb/dwc3/gadget.c linux-4.19.98/drivers/usb/dwc3/gadget.c --- linux-4.19.87/drivers/usb/dwc3/gadget.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/dwc3/gadget.c 2020-01-23 07:21:39.000000000 +0000 @@ -2271,6 +2271,13 @@ static bool dwc3_gadget_ep_request_completed(struct dwc3_request *req) { + /* + * For OUT direction, host may send less than the setup + * length. Return true for all OUT requests. + */ + if (!req->direction) + return true; + return req->request.actual == req->request.length; } @@ -2295,7 +2302,7 @@ req->request.actual = req->request.length - req->remaining; - if (!dwc3_gadget_ep_request_completed(req) && + if (!dwc3_gadget_ep_request_completed(req) || req->num_pending_sgs) { __dwc3_gadget_kick_transfer(dep); goto out; diff -Nru linux-4.19.87/drivers/usb/gadget/configfs.c linux-4.19.98/drivers/usb/gadget/configfs.c --- linux-4.19.87/drivers/usb/gadget/configfs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/gadget/configfs.c 2020-01-23 07:21:39.000000000 +0000 @@ -1544,6 +1544,7 @@ gi->composite.resume = NULL; gi->composite.max_speed = USB_SPEED_SUPER; + spin_lock_init(&gi->spinlock); mutex_init(&gi->lock); INIT_LIST_HEAD(&gi->string_list); INIT_LIST_HEAD(&gi->available_func); diff -Nru linux-4.19.87/drivers/usb/gadget/function/f_ecm.c linux-4.19.98/drivers/usb/gadget/function/f_ecm.c --- linux-4.19.87/drivers/usb/gadget/function/f_ecm.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/gadget/function/f_ecm.c 2020-01-23 07:21:39.000000000 +0000 @@ -621,8 +621,12 @@ DBG(cdev, "ecm deactivated\n"); - if (ecm->port.in_ep->enabled) + if (ecm->port.in_ep->enabled) { gether_disconnect(&ecm->port); + } else { + ecm->port.in_ep->desc = NULL; + ecm->port.out_ep->desc = NULL; + } usb_ep_disable(ecm->notify); ecm->notify->desc = NULL; diff -Nru linux-4.19.87/drivers/usb/gadget/function/f_rndis.c linux-4.19.98/drivers/usb/gadget/function/f_rndis.c --- linux-4.19.87/drivers/usb/gadget/function/f_rndis.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/gadget/function/f_rndis.c 2020-01-23 07:21:39.000000000 +0000 @@ -618,6 +618,7 @@ gether_disconnect(&rndis->port); usb_ep_disable(rndis->notify); + rndis->notify->desc = NULL; } /*-------------------------------------------------------------------------*/ diff -Nru linux-4.19.87/drivers/usb/gadget/function/u_serial.c linux-4.19.98/drivers/usb/gadget/function/u_serial.c --- linux-4.19.87/drivers/usb/gadget/function/u_serial.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/gadget/function/u_serial.c 2020-01-23 07:21:39.000000000 +0000 @@ -1246,8 +1246,10 @@ __func__, port_num, PTR_ERR(tty_dev)); ret = PTR_ERR(tty_dev); + mutex_lock(&ports[port_num].lock); port = ports[port_num].port; ports[port_num].port = NULL; + mutex_unlock(&ports[port_num].lock); gserial_free_port(port); goto err; } diff -Nru linux-4.19.87/drivers/usb/gadget/udc/dummy_hcd.c linux-4.19.98/drivers/usb/gadget/udc/dummy_hcd.c --- linux-4.19.87/drivers/usb/gadget/udc/dummy_hcd.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/gadget/udc/dummy_hcd.c 2020-01-23 07:21:39.000000000 +0000 @@ -1335,7 +1335,7 @@ u32 this_sg; bool next_sg; - to_host = usb_pipein(urb->pipe); + to_host = usb_urb_dir_in(urb); rbuf = req->req.buf + req->req.actual; if (!urb->num_sgs) { @@ -1423,7 +1423,7 @@ /* FIXME update emulated data toggle too */ - to_host = usb_pipein(urb->pipe); + to_host = usb_urb_dir_in(urb); if (unlikely(len == 0)) is_short = 1; else { @@ -1844,7 +1844,7 @@ /* find the gadget's ep for this request (if configured) */ address = usb_pipeendpoint (urb->pipe); - if (usb_pipein(urb->pipe)) + if (usb_urb_dir_in(urb)) address |= USB_DIR_IN; ep = find_endpoint(dum, address); if (!ep) { @@ -2399,7 +2399,7 @@ s = "?"; break; } s; }), - ep, ep ? (usb_pipein(urb->pipe) ? "in" : "out") : "", + ep, ep ? (usb_urb_dir_in(urb) ? "in" : "out") : "", ({ char *s; \ switch (usb_pipetype(urb->pipe)) { \ case PIPE_CONTROL: \ @@ -2739,7 +2739,7 @@ }; /*-------------------------------------------------------------------------*/ -#define MAX_NUM_UDC 2 +#define MAX_NUM_UDC 32 static struct platform_device *the_udc_pdev[MAX_NUM_UDC]; static struct platform_device *the_hcd_pdev[MAX_NUM_UDC]; diff -Nru linux-4.19.87/drivers/usb/gadget/udc/pch_udc.c linux-4.19.98/drivers/usb/gadget/udc/pch_udc.c --- linux-4.19.87/drivers/usb/gadget/udc/pch_udc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/gadget/udc/pch_udc.c 2020-01-23 07:21:39.000000000 +0000 @@ -1520,7 +1520,6 @@ td = phys_to_virt(addr); addr2 = (dma_addr_t)td->next; dma_pool_free(dev->data_requests, td, addr); - td->next = 0x00; addr = addr2; } req->chain_len = 1; diff -Nru linux-4.19.87/drivers/usb/host/ehci-omap.c linux-4.19.98/drivers/usb/host/ehci-omap.c --- linux-4.19.87/drivers/usb/host/ehci-omap.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/host/ehci-omap.c 2020-01-23 07:21:39.000000000 +0000 @@ -159,11 +159,12 @@ /* get the PHY device */ phy = devm_usb_get_phy_by_phandle(dev, "phys", i); if (IS_ERR(phy)) { - /* Don't bail out if PHY is not absolutely necessary */ - if (pdata->port_mode[i] != OMAP_EHCI_PORT_MODE_PHY) + ret = PTR_ERR(phy); + if (ret == -ENODEV) { /* no PHY */ + phy = NULL; continue; + } - ret = PTR_ERR(phy); if (ret != -EPROBE_DEFER) dev_err(dev, "Can't get PHY for port %d: %d\n", i, ret); diff -Nru linux-4.19.87/drivers/usb/host/ehci-q.c linux-4.19.98/drivers/usb/host/ehci-q.c --- linux-4.19.87/drivers/usb/host/ehci-q.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/host/ehci-q.c 2020-01-23 07:21:39.000000000 +0000 @@ -27,6 +27,10 @@ /*-------------------------------------------------------------------------*/ +/* PID Codes that are used here, from EHCI specification, Table 3-16. */ +#define PID_CODE_IN 1 +#define PID_CODE_SETUP 2 + /* fill a qtd, returning how much of the buffer we were able to queue up */ static int @@ -190,7 +194,7 @@ int status = -EINPROGRESS; /* count IN/OUT bytes, not SETUP (even short packets) */ - if (likely (QTD_PID (token) != 2)) + if (likely(QTD_PID(token) != PID_CODE_SETUP)) urb->actual_length += length - QTD_LENGTH (token); /* don't modify error codes */ @@ -206,6 +210,13 @@ if (token & QTD_STS_BABBLE) { /* FIXME "must" disable babbling device's port too */ status = -EOVERFLOW; + /* + * When MMF is active and PID Code is IN, queue is halted. + * EHCI Specification, Table 4-13. + */ + } else if ((token & QTD_STS_MMF) && + (QTD_PID(token) == PID_CODE_IN)) { + status = -EPROTO; /* CERR nonzero + halt --> stall */ } else if (QTD_CERR(token)) { status = -EPIPE; diff -Nru linux-4.19.87/drivers/usb/host/xhci-hub.c linux-4.19.98/drivers/usb/host/xhci-hub.c --- linux-4.19.87/drivers/usb/host/xhci-hub.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/host/xhci-hub.c 2020-01-23 07:21:39.000000000 +0000 @@ -831,7 +831,7 @@ static u32 xhci_get_port_status(struct usb_hcd *hcd, struct xhci_bus_state *bus_state, u16 wIndex, u32 raw_port_status, - unsigned long flags) + unsigned long *flags) __releases(&xhci->lock) __acquires(&xhci->lock) { @@ -868,6 +868,14 @@ status |= USB_PORT_STAT_C_BH_RESET << 16; if ((raw_port_status & PORT_CEC)) status |= USB_PORT_STAT_C_CONFIG_ERROR << 16; + + /* USB3 remote wake resume signaling completed */ + if (bus_state->port_remote_wakeup & (1 << wIndex) && + (raw_port_status & PORT_PLS_MASK) != XDEV_RESUME && + (raw_port_status & PORT_PLS_MASK) != XDEV_RECOVERY) { + bus_state->port_remote_wakeup &= ~(1 << wIndex); + usb_hcd_end_port_resume(&hcd->self, wIndex); + } } if (hcd->speed < HCD_USB3) { @@ -917,12 +925,12 @@ xhci_test_and_clear_bit(xhci, port, PORT_PLC); xhci_set_link_state(xhci, port, XDEV_U0); - spin_unlock_irqrestore(&xhci->lock, flags); + spin_unlock_irqrestore(&xhci->lock, *flags); time_left = wait_for_completion_timeout( &bus_state->rexit_done[wIndex], msecs_to_jiffies( XHCI_MAX_REXIT_TIMEOUT_MS)); - spin_lock_irqsave(&xhci->lock, flags); + spin_lock_irqsave(&xhci->lock, *flags); if (time_left) { slot_id = xhci_find_slot_id_by_port(hcd, @@ -1076,7 +1084,7 @@ } trace_xhci_get_port_status(wIndex, temp); status = xhci_get_port_status(hcd, bus_state, wIndex, temp, - flags); + &flags); if (status == 0xffffffff) goto error; diff -Nru linux-4.19.87/drivers/usb/host/xhci-mem.c linux-4.19.98/drivers/usb/host/xhci-mem.c --- linux-4.19.87/drivers/usb/host/xhci-mem.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/host/xhci-mem.c 2020-01-23 07:21:39.000000000 +0000 @@ -1909,13 +1909,17 @@ xhci->usb3_rhub.num_ports = 0; xhci->num_active_eps = 0; kfree(xhci->usb2_rhub.ports); + kfree(xhci->usb2_rhub.psi); kfree(xhci->usb3_rhub.ports); + kfree(xhci->usb3_rhub.psi); kfree(xhci->hw_ports); kfree(xhci->rh_bw); kfree(xhci->ext_caps); xhci->usb2_rhub.ports = NULL; + xhci->usb2_rhub.psi = NULL; xhci->usb3_rhub.ports = NULL; + xhci->usb3_rhub.psi = NULL; xhci->hw_ports = NULL; xhci->rh_bw = NULL; xhci->ext_caps = NULL; diff -Nru linux-4.19.87/drivers/usb/host/xhci-pci.c linux-4.19.98/drivers/usb/host/xhci-pci.c --- linux-4.19.87/drivers/usb/host/xhci-pci.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/host/xhci-pci.c 2020-01-23 07:21:39.000000000 +0000 @@ -493,6 +493,18 @@ retval = xhci_resume(xhci, hibernated); return retval; } + +static void xhci_pci_shutdown(struct usb_hcd *hcd) +{ + struct xhci_hcd *xhci = hcd_to_xhci(hcd); + struct pci_dev *pdev = to_pci_dev(hcd->self.controller); + + xhci_shutdown(hcd); + + /* Yet another workaround for spurious wakeups at shutdown with HSW */ + if (xhci->quirks & XHCI_SPURIOUS_WAKEUP) + pci_set_power_state(pdev, PCI_D3hot); +} #endif /* CONFIG_PM */ /*-------------------------------------------------------------------------*/ @@ -530,6 +542,7 @@ #ifdef CONFIG_PM xhci_pci_hc_driver.pci_suspend = xhci_pci_suspend; xhci_pci_hc_driver.pci_resume = xhci_pci_resume; + xhci_pci_hc_driver.shutdown = xhci_pci_shutdown; #endif return pci_register_driver(&xhci_pci_driver); } diff -Nru linux-4.19.87/drivers/usb/host/xhci-ring.c linux-4.19.98/drivers/usb/host/xhci-ring.c --- linux-4.19.87/drivers/usb/host/xhci-ring.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/host/xhci-ring.c 2020-01-23 07:21:39.000000000 +0000 @@ -1609,7 +1609,6 @@ slot_id = xhci_find_slot_id_by_port(hcd, xhci, hcd_portnum + 1); if (slot_id && xhci->devs[slot_id]) xhci->devs[slot_id]->flags |= VDEV_PORT_ERROR; - bus_state->port_remote_wakeup &= ~(1 << hcd_portnum); } if ((portsc & PORT_PLC) && (portsc & PORT_PLS_MASK) == XDEV_RESUME) { @@ -1630,6 +1629,7 @@ bus_state->port_remote_wakeup |= 1 << hcd_portnum; xhci_test_and_clear_bit(xhci, port, PORT_PLC); xhci_set_link_state(xhci, port, XDEV_U0); + usb_hcd_start_port_resume(&hcd->self, hcd_portnum); /* Need to wait until the next link state change * indicates the device is actually in U0. */ @@ -1669,7 +1669,6 @@ if (slot_id && xhci->devs[slot_id]) xhci_ring_device(xhci, slot_id); if (bus_state->port_remote_wakeup & (1 << hcd_portnum)) { - bus_state->port_remote_wakeup &= ~(1 << hcd_portnum); xhci_test_and_clear_bit(xhci, port, PORT_PLC); usb_wakeup_notification(hcd->self.root_hub, hcd_portnum + 1); @@ -2330,7 +2329,8 @@ case COMP_SUCCESS: if (EVENT_TRB_LEN(le32_to_cpu(event->transfer_len)) == 0) break; - if (xhci->quirks & XHCI_TRUST_TX_LENGTH) + if (xhci->quirks & XHCI_TRUST_TX_LENGTH || + ep_ring->last_td_was_short) trb_comp_code = COMP_SHORT_PACKET; else xhci_warn_ratelimited(xhci, diff -Nru linux-4.19.87/drivers/usb/host/xhci.c linux-4.19.98/drivers/usb/host/xhci.c --- linux-4.19.87/drivers/usb/host/xhci.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/host/xhci.c 2020-01-23 07:21:39.000000000 +0000 @@ -769,7 +769,7 @@ * * This will only ever be called with the main usb_hcd (the USB3 roothub). */ -static void xhci_shutdown(struct usb_hcd *hcd) +void xhci_shutdown(struct usb_hcd *hcd) { struct xhci_hcd *xhci = hcd_to_xhci(hcd); @@ -788,11 +788,8 @@ xhci_dbg_trace(xhci, trace_xhci_dbg_init, "xhci_shutdown completed - status = %x", readl(&xhci->op_regs->status)); - - /* Yet another workaround for spurious wakeups at shutdown with HSW */ - if (xhci->quirks & XHCI_SPURIOUS_WAKEUP) - pci_set_power_state(to_pci_dev(hcd->self.sysdev), PCI_D3hot); } +EXPORT_SYMBOL_GPL(xhci_shutdown); #ifdef CONFIG_PM static void xhci_save_registers(struct xhci_hcd *xhci) @@ -963,7 +960,7 @@ int xhci_suspend(struct xhci_hcd *xhci, bool do_wakeup) { int rc = 0; - unsigned int delay = XHCI_MAX_HALT_USEC; + unsigned int delay = XHCI_MAX_HALT_USEC * 2; struct usb_hcd *hcd = xhci_to_hcd(xhci); u32 command; u32 res; diff -Nru linux-4.19.87/drivers/usb/host/xhci.h linux-4.19.98/drivers/usb/host/xhci.h --- linux-4.19.87/drivers/usb/host/xhci.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/host/xhci.h 2020-01-23 07:21:39.000000000 +0000 @@ -2052,6 +2052,7 @@ int xhci_reset(struct xhci_hcd *xhci); int xhci_run(struct usb_hcd *hcd); int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks); +void xhci_shutdown(struct usb_hcd *hcd); void xhci_init_driver(struct hc_driver *drv, const struct xhci_driver_overrides *over); int xhci_disable_slot(struct xhci_hcd *xhci, u32 slot_id); diff -Nru linux-4.19.87/drivers/usb/misc/adutux.c linux-4.19.98/drivers/usb/misc/adutux.c --- linux-4.19.87/drivers/usb/misc/adutux.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/misc/adutux.c 2020-01-23 07:21:39.000000000 +0000 @@ -671,7 +671,7 @@ init_waitqueue_head(&dev->read_wait); init_waitqueue_head(&dev->write_wait); - res = usb_find_common_endpoints_reverse(&interface->altsetting[0], + res = usb_find_common_endpoints_reverse(interface->cur_altsetting, NULL, NULL, &dev->interrupt_in_endpoint, &dev->interrupt_out_endpoint); diff -Nru linux-4.19.87/drivers/usb/misc/idmouse.c linux-4.19.98/drivers/usb/misc/idmouse.c --- linux-4.19.87/drivers/usb/misc/idmouse.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/misc/idmouse.c 2020-01-23 07:21:39.000000000 +0000 @@ -337,7 +337,7 @@ int result; /* check if we have gotten the data or the hid interface */ - iface_desc = &interface->altsetting[0]; + iface_desc = interface->cur_altsetting; if (iface_desc->desc.bInterfaceClass != 0x0A) return -ENODEV; diff -Nru linux-4.19.87/drivers/usb/mon/mon_bin.c linux-4.19.98/drivers/usb/mon/mon_bin.c --- linux-4.19.87/drivers/usb/mon/mon_bin.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/mon/mon_bin.c 2020-01-23 07:21:39.000000000 +0000 @@ -1039,12 +1039,18 @@ mutex_lock(&rp->fetch_lock); spin_lock_irqsave(&rp->b_lock, flags); - mon_free_buff(rp->b_vec, rp->b_size/CHUNK_SIZE); - kfree(rp->b_vec); - rp->b_vec = vec; - rp->b_size = size; - rp->b_read = rp->b_in = rp->b_out = rp->b_cnt = 0; - rp->cnt_lost = 0; + if (rp->mmap_active) { + mon_free_buff(vec, size/CHUNK_SIZE); + kfree(vec); + ret = -EBUSY; + } else { + mon_free_buff(rp->b_vec, rp->b_size/CHUNK_SIZE); + kfree(rp->b_vec); + rp->b_vec = vec; + rp->b_size = size; + rp->b_read = rp->b_in = rp->b_out = rp->b_cnt = 0; + rp->cnt_lost = 0; + } spin_unlock_irqrestore(&rp->b_lock, flags); mutex_unlock(&rp->fetch_lock); } @@ -1216,13 +1222,21 @@ static void mon_bin_vma_open(struct vm_area_struct *vma) { struct mon_reader_bin *rp = vma->vm_private_data; + unsigned long flags; + + spin_lock_irqsave(&rp->b_lock, flags); rp->mmap_active++; + spin_unlock_irqrestore(&rp->b_lock, flags); } static void mon_bin_vma_close(struct vm_area_struct *vma) { + unsigned long flags; + struct mon_reader_bin *rp = vma->vm_private_data; + spin_lock_irqsave(&rp->b_lock, flags); rp->mmap_active--; + spin_unlock_irqrestore(&rp->b_lock, flags); } /* @@ -1234,16 +1248,12 @@ unsigned long offset, chunk_idx; struct page *pageptr; - mutex_lock(&rp->fetch_lock); offset = vmf->pgoff << PAGE_SHIFT; - if (offset >= rp->b_size) { - mutex_unlock(&rp->fetch_lock); + if (offset >= rp->b_size) return VM_FAULT_SIGBUS; - } chunk_idx = offset / CHUNK_SIZE; pageptr = rp->b_vec[chunk_idx].pg; get_page(pageptr); - mutex_unlock(&rp->fetch_lock); vmf->page = pageptr; return 0; } diff -Nru linux-4.19.87/drivers/usb/mtu3/mtu3_qmu.c linux-4.19.98/drivers/usb/mtu3/mtu3_qmu.c --- linux-4.19.87/drivers/usb/mtu3/mtu3_qmu.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/mtu3/mtu3_qmu.c 2020-01-23 07:21:39.000000000 +0000 @@ -427,7 +427,7 @@ return; } - dev_dbg(mtu->dev, "%s send ZLP for req=%p\n", __func__, mreq); + dev_dbg(mtu->dev, "%s send ZLP for req=%p\n", __func__, req); mtu3_clrbits(mbase, MU3D_EP_TXCR0(mep->epnum), TX_DMAREQEN); diff -Nru linux-4.19.87/drivers/usb/musb/musb_core.c linux-4.19.98/drivers/usb/musb/musb_core.c --- linux-4.19.87/drivers/usb/musb/musb_core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/musb/musb_core.c 2020-01-23 07:21:39.000000000 +0000 @@ -1842,6 +1842,9 @@ #define MUSB_QUIRK_B_INVALID_VBUS_91 (MUSB_DEVCTL_BDEVICE | \ (2 << MUSB_DEVCTL_VBUS_SHIFT) | \ MUSB_DEVCTL_SESSION) +#define MUSB_QUIRK_B_DISCONNECT_99 (MUSB_DEVCTL_BDEVICE | \ + (3 << MUSB_DEVCTL_VBUS_SHIFT) | \ + MUSB_DEVCTL_SESSION) #define MUSB_QUIRK_A_DISCONNECT_19 ((3 << MUSB_DEVCTL_VBUS_SHIFT) | \ MUSB_DEVCTL_SESSION) @@ -1864,6 +1867,11 @@ s = MUSB_DEVCTL_FSDEV | MUSB_DEVCTL_LSDEV | MUSB_DEVCTL_HR; switch (devctl & ~s) { + case MUSB_QUIRK_B_DISCONNECT_99: + musb_dbg(musb, "Poll devctl in case of suspend after disconnect\n"); + schedule_delayed_work(&musb->irq_work, + msecs_to_jiffies(1000)); + break; case MUSB_QUIRK_B_INVALID_VBUS_91: if (musb->quirk_retries && !musb->flush_irq_work) { musb_dbg(musb, @@ -2316,6 +2324,9 @@ musb_disable_interrupts(musb); musb_writeb(musb->mregs, MUSB_DEVCTL, 0); + /* MUSB_POWER_SOFTCONN might be already set, JZ4740 does this. */ + musb_writeb(musb->mregs, MUSB_POWER, 0); + /* Init IRQ workqueue before request_irq */ INIT_DELAYED_WORK(&musb->irq_work, musb_irq_work); INIT_DELAYED_WORK(&musb->deassert_reset_work, musb_deassert_reset); diff -Nru linux-4.19.87/drivers/usb/musb/musbhsdma.c linux-4.19.98/drivers/usb/musb/musbhsdma.c --- linux-4.19.87/drivers/usb/musb/musbhsdma.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/musb/musbhsdma.c 2020-01-23 07:21:39.000000000 +0000 @@ -425,7 +425,7 @@ controller->controller.channel_abort = dma_channel_abort; if (request_irq(irq, dma_controller_irq, 0, - dev_name(musb->controller), &controller->controller)) { + dev_name(musb->controller), controller)) { dev_err(dev, "request_irq %d failed!\n", irq); musb_dma_controller_destroy(&controller->controller); diff -Nru linux-4.19.87/drivers/usb/renesas_usbhs/common.h linux-4.19.98/drivers/usb/renesas_usbhs/common.h --- linux-4.19.87/drivers/usb/renesas_usbhs/common.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/renesas_usbhs/common.h 2020-01-23 07:21:39.000000000 +0000 @@ -157,11 +157,12 @@ #define VBSTS (1 << 7) /* VBUS_0 and VBUSIN_0 Input Status */ #define VALID (1 << 3) /* USB Request Receive */ -#define DVSQ_MASK (0x3 << 4) /* Device State */ +#define DVSQ_MASK (0x7 << 4) /* Device State */ #define POWER_STATE (0 << 4) #define DEFAULT_STATE (1 << 4) #define ADDRESS_STATE (2 << 4) #define CONFIGURATION_STATE (3 << 4) +#define SUSPENDED_STATE (4 << 4) #define CTSQ_MASK (0x7) /* Control Transfer Stage */ #define IDLE_SETUP_STAGE 0 /* Idle stage or setup stage */ diff -Nru linux-4.19.87/drivers/usb/renesas_usbhs/mod_gadget.c linux-4.19.98/drivers/usb/renesas_usbhs/mod_gadget.c --- linux-4.19.87/drivers/usb/renesas_usbhs/mod_gadget.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/renesas_usbhs/mod_gadget.c 2020-01-23 07:21:39.000000000 +0000 @@ -456,12 +456,18 @@ { struct usbhsg_gpriv *gpriv = usbhsg_priv_to_gpriv(priv); struct device *dev = usbhsg_gpriv_to_dev(gpriv); + int state = usbhs_status_get_device_state(irq_state); gpriv->gadget.speed = usbhs_bus_get_speed(priv); - dev_dbg(dev, "state = %x : speed : %d\n", - usbhs_status_get_device_state(irq_state), - gpriv->gadget.speed); + dev_dbg(dev, "state = %x : speed : %d\n", state, gpriv->gadget.speed); + + if (gpriv->gadget.speed != USB_SPEED_UNKNOWN && + (state & SUSPENDED_STATE)) { + if (gpriv->driver && gpriv->driver->suspend) + gpriv->driver->suspend(&gpriv->gadget); + usb_gadget_set_state(&gpriv->gadget, USB_STATE_SUSPENDED); + } return 0; } diff -Nru linux-4.19.87/drivers/usb/roles/class.c linux-4.19.98/drivers/usb/roles/class.c --- linux-4.19.87/drivers/usb/roles/class.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/roles/class.c 2020-01-23 07:21:39.000000000 +0000 @@ -130,8 +130,8 @@ void usb_role_switch_put(struct usb_role_switch *sw) { if (!IS_ERR_OR_NULL(sw)) { - put_device(&sw->dev); module_put(sw->dev.parent->driver->owner); + put_device(&sw->dev); } } EXPORT_SYMBOL_GPL(usb_role_switch_put); diff -Nru linux-4.19.87/drivers/usb/serial/ch341.c linux-4.19.98/drivers/usb/serial/ch341.c --- linux-4.19.87/drivers/usb/serial/ch341.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/serial/ch341.c 2020-01-23 07:21:39.000000000 +0000 @@ -589,9 +589,13 @@ static int ch341_reset_resume(struct usb_serial *serial) { struct usb_serial_port *port = serial->port[0]; - struct ch341_private *priv = usb_get_serial_port_data(port); + struct ch341_private *priv; int ret; + priv = usb_get_serial_port_data(port); + if (!priv) + return 0; + /* reconfigure ch341 serial port after bus-reset */ ch341_configure(serial->dev, priv); diff -Nru linux-4.19.87/drivers/usb/serial/f81534.c linux-4.19.98/drivers/usb/serial/f81534.c --- linux-4.19.87/drivers/usb/serial/f81534.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/serial/f81534.c 2020-01-23 07:21:39.000000000 +0000 @@ -45,14 +45,17 @@ #define F81534_CONFIG1_REG (0x09 + F81534_UART_BASE_ADDRESS) #define F81534_DEF_CONF_ADDRESS_START 0x3000 -#define F81534_DEF_CONF_SIZE 8 +#define F81534_DEF_CONF_SIZE 12 #define F81534_CUSTOM_ADDRESS_START 0x2f00 #define F81534_CUSTOM_DATA_SIZE 0x10 #define F81534_CUSTOM_NO_CUSTOM_DATA 0xff #define F81534_CUSTOM_VALID_TOKEN 0xf0 #define F81534_CONF_OFFSET 1 -#define F81534_CONF_GPIO_OFFSET 4 +#define F81534_CONF_INIT_GPIO_OFFSET 4 +#define F81534_CONF_WORK_GPIO_OFFSET 8 +#define F81534_CONF_GPIO_SHUTDOWN 7 +#define F81534_CONF_GPIO_RS232 1 #define F81534_MAX_DATA_BLOCK 64 #define F81534_MAX_BUS_RETRY 20 @@ -1359,8 +1362,19 @@ serial_priv = usb_get_serial_data(serial); port_priv = usb_get_serial_port_data(port); - idx = F81534_CONF_GPIO_OFFSET + port_priv->phy_num; + idx = F81534_CONF_INIT_GPIO_OFFSET + port_priv->phy_num; value = serial_priv->conf_data[idx]; + if (value >= F81534_CONF_GPIO_SHUTDOWN) { + /* + * Newer IC configure will make transceiver in shutdown mode on + * initial power on. We need enable it before using UARTs. + */ + idx = F81534_CONF_WORK_GPIO_OFFSET + port_priv->phy_num; + value = serial_priv->conf_data[idx]; + if (value >= F81534_CONF_GPIO_SHUTDOWN) + value = F81534_CONF_GPIO_RS232; + } + pins = &f81534_port_out_pins[port_priv->phy_num]; for (i = 0; i < ARRAY_SIZE(pins->pin); ++i) { diff -Nru linux-4.19.87/drivers/usb/serial/ftdi_sio.c linux-4.19.98/drivers/usb/serial/ftdi_sio.c --- linux-4.19.87/drivers/usb/serial/ftdi_sio.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/serial/ftdi_sio.c 2020-01-23 07:21:39.000000000 +0000 @@ -1023,6 +1023,9 @@ /* Sienna devices */ { USB_DEVICE(FTDI_VID, FTDI_SIENNA_PID) }, { USB_DEVICE(ECHELON_VID, ECHELON_U20_PID) }, + /* U-Blox devices */ + { USB_DEVICE(UBLOX_VID, UBLOX_C099F9P_ZED_PID) }, + { USB_DEVICE(UBLOX_VID, UBLOX_C099F9P_ODIN_PID) }, { } /* Terminating entry */ }; diff -Nru linux-4.19.87/drivers/usb/serial/ftdi_sio_ids.h linux-4.19.98/drivers/usb/serial/ftdi_sio_ids.h --- linux-4.19.87/drivers/usb/serial/ftdi_sio_ids.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/serial/ftdi_sio_ids.h 2020-01-23 07:21:39.000000000 +0000 @@ -1558,3 +1558,10 @@ */ #define UNJO_VID 0x22B7 #define UNJO_ISODEBUG_V1_PID 0x150D + +/* + * U-Blox products (http://www.u-blox.com). + */ +#define UBLOX_VID 0x1546 +#define UBLOX_C099F9P_ZED_PID 0x0502 +#define UBLOX_C099F9P_ODIN_PID 0x0503 diff -Nru linux-4.19.87/drivers/usb/serial/io_edgeport.c linux-4.19.98/drivers/usb/serial/io_edgeport.c --- linux-4.19.87/drivers/usb/serial/io_edgeport.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/serial/io_edgeport.c 2020-01-23 07:21:39.000000000 +0000 @@ -716,7 +716,7 @@ if (txCredits) { port = edge_serial->serial->port[portNumber]; edge_port = usb_get_serial_port_data(port); - if (edge_port->open) { + if (edge_port && edge_port->open) { spin_lock_irqsave(&edge_port->ep_lock, flags); edge_port->txCredits += txCredits; @@ -1734,7 +1734,8 @@ static void process_rcvd_data(struct edgeport_serial *edge_serial, unsigned char *buffer, __u16 bufferLength) { - struct device *dev = &edge_serial->serial->dev->dev; + struct usb_serial *serial = edge_serial->serial; + struct device *dev = &serial->dev->dev; struct usb_serial_port *port; struct edgeport_port *edge_port; __u16 lastBufferLength; @@ -1839,11 +1840,10 @@ /* spit this data back into the tty driver if this port is open */ - if (rxLen) { - port = edge_serial->serial->port[ - edge_serial->rxPort]; + if (rxLen && edge_serial->rxPort < serial->num_ports) { + port = serial->port[edge_serial->rxPort]; edge_port = usb_get_serial_port_data(port); - if (edge_port->open) { + if (edge_port && edge_port->open) { dev_dbg(dev, "%s - Sending %d bytes to TTY for port %d\n", __func__, rxLen, edge_serial->rxPort); @@ -1851,8 +1851,8 @@ rxLen); edge_port->port->icount.rx += rxLen; } - buffer += rxLen; } + buffer += rxLen; break; case EXPECT_HDR3: /* Expect 3rd byte of status header */ @@ -1887,6 +1887,8 @@ __u8 code = edge_serial->rxStatusCode; /* switch the port pointer to the one being currently talked about */ + if (edge_serial->rxPort >= edge_serial->serial->num_ports) + return; port = edge_serial->serial->port[edge_serial->rxPort]; edge_port = usb_get_serial_port_data(port); if (edge_port == NULL) { @@ -2919,16 +2921,18 @@ response = 0; if (edge_serial->is_epic) { + struct usb_host_interface *alt; + + alt = serial->interface->cur_altsetting; + /* EPIC thing, set up our interrupt polling now and our read * urb, so that the device knows it really is connected. */ interrupt_in_found = bulk_in_found = bulk_out_found = false; - for (i = 0; i < serial->interface->altsetting[0] - .desc.bNumEndpoints; ++i) { + for (i = 0; i < alt->desc.bNumEndpoints; ++i) { struct usb_endpoint_descriptor *endpoint; int buffer_size; - endpoint = &serial->interface->altsetting[0]. - endpoint[i].desc; + endpoint = &alt->endpoint[i].desc; buffer_size = usb_endpoint_maxp(endpoint); if (!interrupt_in_found && (usb_endpoint_is_int_in(endpoint))) { diff -Nru linux-4.19.87/drivers/usb/serial/keyspan.c linux-4.19.98/drivers/usb/serial/keyspan.c --- linux-4.19.87/drivers/usb/serial/keyspan.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/serial/keyspan.c 2020-01-23 07:21:39.000000000 +0000 @@ -1058,6 +1058,8 @@ for (i = 0; i < serial->num_ports; ++i) { port = serial->port[i]; p_priv = usb_get_serial_port_data(port); + if (!p_priv) + continue; if (p_priv->resend_cont) { dev_dbg(&port->dev, "%s - sending setup\n", __func__); @@ -1459,6 +1461,8 @@ for (i = 0; i < serial->num_ports; ++i) { port = serial->port[i]; p_priv = usb_get_serial_port_data(port); + if (!p_priv) + continue; if (p_priv->resend_cont) { dev_dbg(&port->dev, "%s - sending setup\n", __func__); diff -Nru linux-4.19.87/drivers/usb/serial/opticon.c linux-4.19.98/drivers/usb/serial/opticon.c --- linux-4.19.87/drivers/usb/serial/opticon.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/serial/opticon.c 2020-01-23 07:21:39.000000000 +0000 @@ -113,7 +113,7 @@ retval = usb_control_msg(serial->dev, usb_sndctrlpipe(serial->dev, 0), requesttype, USB_DIR_OUT|USB_TYPE_VENDOR|USB_RECIP_INTERFACE, - 0, 0, buffer, 1, 0); + 0, 0, buffer, 1, USB_CTRL_SET_TIMEOUT); kfree(buffer); if (retval < 0) diff -Nru linux-4.19.87/drivers/usb/serial/option.c linux-4.19.98/drivers/usb/serial/option.c --- linux-4.19.87/drivers/usb/serial/option.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/serial/option.c 2020-01-23 07:21:39.000000000 +0000 @@ -248,6 +248,7 @@ #define QUECTEL_PRODUCT_BG96 0x0296 #define QUECTEL_PRODUCT_EP06 0x0306 #define QUECTEL_PRODUCT_EM12 0x0512 +#define QUECTEL_PRODUCT_RM500Q 0x0800 #define CMOTECH_VENDOR_ID 0x16d8 #define CMOTECH_PRODUCT_6001 0x6001 @@ -567,6 +568,9 @@ /* Interface must have two endpoints */ #define NUMEP2 BIT(16) +/* Device needs ZLP */ +#define ZLP BIT(17) + static const struct usb_device_id option_ids[] = { { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) }, @@ -1101,6 +1105,11 @@ { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM12, 0xff, 0xff, 0xff), .driver_info = RSVD(1) | RSVD(2) | RSVD(3) | RSVD(4) | NUMEP2 }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM12, 0xff, 0, 0) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500Q, 0xff, 0xff, 0x30) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500Q, 0xff, 0, 0) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500Q, 0xff, 0xff, 0x10), + .driver_info = ZLP }, + { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6001) }, { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CMU_300) }, { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6003), @@ -1172,6 +1181,8 @@ .driver_info = NCTRL(0) | RSVD(3) }, { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1102, 0xff), /* Telit ME910 (ECM) */ .driver_info = NCTRL(0) }, + { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x110a, 0xff), /* Telit ME910G1 */ + .driver_info = NCTRL(0) | RSVD(3) }, { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE910), .driver_info = NCTRL(0) | RSVD(1) | RSVD(2) }, { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE910_USBCFG4), @@ -1196,6 +1207,8 @@ .driver_info = NCTRL(0) | RSVD(1) }, { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1901, 0xff), /* Telit LN940 (MBIM) */ .driver_info = NCTRL(0) }, + { USB_DEVICE(TELIT_VENDOR_ID, 0x9010), /* Telit SBL FN980 flashing device */ + .driver_info = NCTRL(0) | ZLP }, { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MF622, 0xff, 0xff, 0xff) }, /* ZTE WCDMA products */ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0002, 0xff, 0xff, 0xff), .driver_info = RSVD(1) }, @@ -2096,6 +2109,9 @@ if (!(device_flags & NCTRL(iface_desc->bInterfaceNumber))) data->use_send_setup = 1; + if (device_flags & ZLP) + data->use_zlp = 1; + spin_lock_init(&data->susp_lock); usb_set_serial_data(serial, data); diff -Nru linux-4.19.87/drivers/usb/serial/quatech2.c linux-4.19.98/drivers/usb/serial/quatech2.c --- linux-4.19.87/drivers/usb/serial/quatech2.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/serial/quatech2.c 2020-01-23 07:21:39.000000000 +0000 @@ -864,7 +864,10 @@ u8 newMSR = (u8) *ch; unsigned long flags; + /* May be called from qt2_process_read_urb() for an unbound port. */ port_priv = usb_get_serial_port_data(port); + if (!port_priv) + return; spin_lock_irqsave(&port_priv->lock, flags); port_priv->shadowMSR = newMSR; @@ -892,7 +895,10 @@ unsigned long flags; u8 newLSR = (u8) *ch; + /* May be called from qt2_process_read_urb() for an unbound port. */ port_priv = usb_get_serial_port_data(port); + if (!port_priv) + return; if (newLSR & UART_LSR_BI) newLSR &= (u8) (UART_LSR_OE | UART_LSR_BI); diff -Nru linux-4.19.87/drivers/usb/serial/usb-serial-simple.c linux-4.19.98/drivers/usb/serial/usb-serial-simple.c --- linux-4.19.87/drivers/usb/serial/usb-serial-simple.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/serial/usb-serial-simple.c 2020-01-23 07:21:39.000000000 +0000 @@ -86,6 +86,8 @@ #define MOTOROLA_TETRA_IDS() \ { USB_DEVICE(0x0cad, 0x9011) }, /* Motorola Solutions TETRA PEI */ \ { USB_DEVICE(0x0cad, 0x9012) }, /* MTP6550 */ \ + { USB_DEVICE(0x0cad, 0x9013) }, /* MTP3xxx */ \ + { USB_DEVICE(0x0cad, 0x9015) }, /* MTP85xx */ \ { USB_DEVICE(0x0cad, 0x9016) } /* TPG2200 */ DEVICE(motorola_tetra, MOTOROLA_TETRA_IDS); diff -Nru linux-4.19.87/drivers/usb/serial/usb-serial.c linux-4.19.98/drivers/usb/serial/usb-serial.c --- linux-4.19.87/drivers/usb/serial/usb-serial.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/serial/usb-serial.c 2020-01-23 07:21:39.000000000 +0000 @@ -1294,6 +1294,9 @@ return -EINVAL; } + /* Prevent individual ports from being unbound. */ + driver->driver.suppress_bind_attrs = true; + usb_serial_operations_init(driver); /* Add this device to our list of devices */ diff -Nru linux-4.19.87/drivers/usb/serial/usb-wwan.h linux-4.19.98/drivers/usb/serial/usb-wwan.h --- linux-4.19.87/drivers/usb/serial/usb-wwan.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/serial/usb-wwan.h 2020-01-23 07:21:39.000000000 +0000 @@ -36,6 +36,7 @@ spinlock_t susp_lock; unsigned int suspended:1; unsigned int use_send_setup:1; + unsigned int use_zlp:1; int in_flight; unsigned int open_ports; void *private; diff -Nru linux-4.19.87/drivers/usb/serial/usb_wwan.c linux-4.19.98/drivers/usb/serial/usb_wwan.c --- linux-4.19.87/drivers/usb/serial/usb_wwan.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/serial/usb_wwan.c 2020-01-23 07:21:39.000000000 +0000 @@ -490,6 +490,7 @@ void (*callback) (struct urb *)) { struct usb_serial *serial = port->serial; + struct usb_wwan_intf_private *intfdata = usb_get_serial_data(serial); struct urb *urb; urb = usb_alloc_urb(0, GFP_KERNEL); /* No ISO */ @@ -500,6 +501,9 @@ usb_sndbulkpipe(serial->dev, endpoint) | dir, buf, len, callback, ctx); + if (intfdata->use_zlp && dir == USB_DIR_OUT) + urb->transfer_flags |= URB_ZERO_PACKET; + return urb; } diff -Nru linux-4.19.87/drivers/usb/storage/uas.c linux-4.19.98/drivers/usb/storage/uas.c --- linux-4.19.87/drivers/usb/storage/uas.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/storage/uas.c 2020-01-23 07:21:39.000000000 +0000 @@ -832,6 +832,10 @@ sdev->wce_default_on = 1; } + /* Some disks cannot handle READ_CAPACITY_16 */ + if (devinfo->flags & US_FL_NO_READ_CAPACITY_16) + sdev->no_read_capacity_16 = 1; + /* * Some disks return the total number of blocks in response * to READ CAPACITY rather than the highest block number. @@ -841,6 +845,12 @@ sdev->fix_capacity = 1; /* + * in some cases we have to guess + */ + if (devinfo->flags & US_FL_CAPACITY_HEURISTICS) + sdev->guess_capacity = 1; + + /* * Some devices don't like MODE SENSE with page=0x3f, * which is the command used for checking if a device * is write-protected. Now that we tell the sd driver diff -Nru linux-4.19.87/drivers/usb/typec/class.c linux-4.19.98/drivers/usb/typec/class.c --- linux-4.19.87/drivers/usb/typec/class.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/typec/class.c 2020-01-23 07:21:39.000000000 +0000 @@ -1589,14 +1589,16 @@ port->sw = typec_switch_get(&port->dev); if (IS_ERR(port->sw)) { + ret = PTR_ERR(port->sw); put_device(&port->dev); - return ERR_CAST(port->sw); + return ERR_PTR(ret); } port->mux = typec_mux_get(&port->dev, "typec-mux"); if (IS_ERR(port->mux)) { + ret = PTR_ERR(port->mux); put_device(&port->dev); - return ERR_CAST(port->mux); + return ERR_PTR(ret); } ret = device_add(&port->dev); diff -Nru linux-4.19.87/drivers/usb/usbip/usbip_common.c linux-4.19.98/drivers/usb/usbip/usbip_common.c --- linux-4.19.87/drivers/usb/usbip/usbip_common.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/usbip/usbip_common.c 2020-01-23 07:21:39.000000000 +0000 @@ -727,6 +727,9 @@ copy -= recv; ret += recv; + + if (!copy) + break; } if (ret != size) diff -Nru linux-4.19.87/drivers/usb/usbip/vhci_rx.c linux-4.19.98/drivers/usb/usbip/vhci_rx.c --- linux-4.19.87/drivers/usb/usbip/vhci_rx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/usb/usbip/vhci_rx.c 2020-01-23 07:21:39.000000000 +0000 @@ -77,16 +77,21 @@ usbip_pack_pdu(pdu, urb, USBIP_RET_SUBMIT, 0); /* recv transfer buffer */ - if (usbip_recv_xbuff(ud, urb) < 0) - return; + if (usbip_recv_xbuff(ud, urb) < 0) { + urb->status = -EPROTO; + goto error; + } /* recv iso_packet_descriptor */ - if (usbip_recv_iso(ud, urb) < 0) - return; + if (usbip_recv_iso(ud, urb) < 0) { + urb->status = -EPROTO; + goto error; + } /* restore the padding in iso packets */ usbip_pad_iso(ud, urb); +error: if (usbip_dbg_flag_vhci_rx) usbip_dump_urb(urb); diff -Nru linux-4.19.87/drivers/vfio/pci/vfio_pci_intrs.c linux-4.19.98/drivers/vfio/pci/vfio_pci_intrs.c --- linux-4.19.87/drivers/vfio/pci/vfio_pci_intrs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/vfio/pci/vfio_pci_intrs.c 2020-01-23 07:21:39.000000000 +0000 @@ -297,8 +297,8 @@ irq = pci_irq_vector(pdev, vector); if (vdev->ctx[vector].trigger) { - free_irq(irq, vdev->ctx[vector].trigger); irq_bypass_unregister_producer(&vdev->ctx[vector].producer); + free_irq(irq, vdev->ctx[vector].trigger); kfree(vdev->ctx[vector].name); eventfd_ctx_put(vdev->ctx[vector].trigger); vdev->ctx[vector].trigger = NULL; diff -Nru linux-4.19.87/drivers/vfio/vfio_iommu_spapr_tce.c linux-4.19.98/drivers/vfio/vfio_iommu_spapr_tce.c --- linux-4.19.87/drivers/vfio/vfio_iommu_spapr_tce.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/vfio/vfio_iommu_spapr_tce.c 2020-01-23 07:21:39.000000000 +0000 @@ -371,6 +371,7 @@ { struct tce_container *container = iommu_data; struct tce_iommu_group *tcegrp; + struct tce_iommu_prereg *tcemem, *tmtmp; long i; while (tce_groups_attached(container)) { @@ -393,13 +394,8 @@ tce_iommu_free_table(container, tbl); } - while (!list_empty(&container->prereg_list)) { - struct tce_iommu_prereg *tcemem; - - tcemem = list_first_entry(&container->prereg_list, - struct tce_iommu_prereg, next); - WARN_ON_ONCE(tce_iommu_prereg_free(container, tcemem)); - } + list_for_each_entry_safe(tcemem, tmtmp, &container->prereg_list, next) + WARN_ON(tce_iommu_prereg_free(container, tcemem)); tce_iommu_disable(container); if (container->mm) diff -Nru linux-4.19.87/drivers/vhost/vsock.c linux-4.19.98/drivers/vhost/vsock.c --- linux-4.19.87/drivers/vhost/vsock.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/vhost/vsock.c 2020-01-23 07:21:39.000000000 +0000 @@ -436,7 +436,9 @@ virtio_transport_deliver_tap_pkt(pkt); /* Only accept correctly addressed packets */ - if (le64_to_cpu(pkt->hdr.src_cid) == vsock->guest_cid) + if (le64_to_cpu(pkt->hdr.src_cid) == vsock->guest_cid && + le64_to_cpu(pkt->hdr.dst_cid) == + vhost_transport_get_local_cid()) virtio_transport_recv_pkt(pkt); else virtio_transport_free_pkt(pkt); diff -Nru linux-4.19.87/drivers/video/hdmi.c linux-4.19.98/drivers/video/hdmi.c --- linux-4.19.87/drivers/video/hdmi.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/video/hdmi.c 2020-01-23 07:21:39.000000000 +0000 @@ -1039,12 +1039,12 @@ if (ptr[0] & 0x10) frame->active_aspect = ptr[1] & 0xf; if (ptr[0] & 0x8) { - frame->top_bar = (ptr[5] << 8) + ptr[6]; - frame->bottom_bar = (ptr[7] << 8) + ptr[8]; + frame->top_bar = (ptr[6] << 8) | ptr[5]; + frame->bottom_bar = (ptr[8] << 8) | ptr[7]; } if (ptr[0] & 0x4) { - frame->left_bar = (ptr[9] << 8) + ptr[10]; - frame->right_bar = (ptr[11] << 8) + ptr[12]; + frame->left_bar = (ptr[10] << 8) | ptr[9]; + frame->right_bar = (ptr[12] << 8) | ptr[11]; } frame->scan_mode = ptr[0] & 0x3; diff -Nru linux-4.19.87/drivers/virtio/virtio_balloon.c linux-4.19.98/drivers/virtio/virtio_balloon.c --- linux-4.19.87/drivers/virtio/virtio_balloon.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/virtio/virtio_balloon.c 2020-01-23 07:21:39.000000000 +0000 @@ -468,6 +468,17 @@ get_page(newpage); /* balloon reference */ + /* + * When we migrate a page to a different zone and adjusted the + * managed page count when inflating, we have to fixup the count of + * both involved zones. + */ + if (!virtio_has_feature(vb->vdev, VIRTIO_BALLOON_F_DEFLATE_ON_OOM) && + page_zone(page) != page_zone(newpage)) { + adjust_managed_page_count(page, 1); + adjust_managed_page_count(newpage, -1); + } + /* balloon's page migration 1st step -- inflate "newpage" */ spin_lock_irqsave(&vb_dev_info->pages_lock, flags); balloon_page_insert(vb_dev_info, newpage); diff -Nru linux-4.19.87/drivers/watchdog/aspeed_wdt.c linux-4.19.98/drivers/watchdog/aspeed_wdt.c --- linux-4.19.87/drivers/watchdog/aspeed_wdt.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/watchdog/aspeed_wdt.c 2020-01-23 07:21:39.000000000 +0000 @@ -207,11 +207,6 @@ if (IS_ERR(wdt->base)) return PTR_ERR(wdt->base); - /* - * The ast2400 wdt can run at PCLK, or 1MHz. The ast2500 only - * runs at 1MHz. We chose to always run at 1MHz, as there's no - * good reason to have a faster watchdog counter. - */ wdt->wdd.info = &aspeed_wdt_info; wdt->wdd.ops = &aspeed_wdt_ops; wdt->wdd.max_hw_heartbeat_ms = WDT_MAX_TIMEOUT_MS; @@ -227,7 +222,16 @@ return -EINVAL; config = ofdid->data; - wdt->ctrl = WDT_CTRL_1MHZ_CLK; + /* + * On clock rates: + * - ast2400 wdt can run at PCLK, or 1MHz + * - ast2500 only runs at 1MHz, hard coding bit 4 to 1 + * - ast2600 always runs at 1MHz + * + * Set the ast2400 to run at 1MHz as it simplifies the driver. + */ + if (of_device_is_compatible(np, "aspeed,ast2400-wdt")) + wdt->ctrl = WDT_CTRL_1MHZ_CLK; /* * Control reset on a per-device basis to ensure the diff -Nru linux-4.19.87/drivers/watchdog/meson_gxbb_wdt.c linux-4.19.98/drivers/watchdog/meson_gxbb_wdt.c --- linux-4.19.87/drivers/watchdog/meson_gxbb_wdt.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/watchdog/meson_gxbb_wdt.c 2020-01-23 07:21:39.000000000 +0000 @@ -89,8 +89,8 @@ reg = readl(data->reg_base + GXBB_WDT_TCNT_REG); - return ((reg >> GXBB_WDT_TCNT_CNT_SHIFT) - - (reg & GXBB_WDT_TCNT_SETUP_MASK)) / 1000; + return ((reg & GXBB_WDT_TCNT_SETUP_MASK) - + (reg >> GXBB_WDT_TCNT_CNT_SHIFT)) / 1000; } static const struct watchdog_ops meson_gxbb_wdt_ops = { diff -Nru linux-4.19.87/drivers/watchdog/sama5d4_wdt.c linux-4.19.98/drivers/watchdog/sama5d4_wdt.c --- linux-4.19.87/drivers/watchdog/sama5d4_wdt.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/watchdog/sama5d4_wdt.c 2020-01-23 07:21:39.000000000 +0000 @@ -111,9 +111,7 @@ u32 value = WDT_SEC2TICKS(timeout); wdt->mr &= ~AT91_WDT_WDV; - wdt->mr &= ~AT91_WDT_WDD; wdt->mr |= AT91_WDT_SET_WDV(value); - wdt->mr |= AT91_WDT_SET_WDD(value); /* * WDDIS has to be 0 when updating WDD/WDV. The datasheet states: When @@ -251,7 +249,7 @@ timeout = WDT_SEC2TICKS(wdd->timeout); - wdt->mr |= AT91_WDT_SET_WDD(timeout); + wdt->mr |= AT91_WDT_SET_WDD(WDT_SEC2TICKS(MAX_WDT_TIMEOUT)); wdt->mr |= AT91_WDT_SET_WDV(timeout); ret = sama5d4_wdt_init(wdt); diff -Nru linux-4.19.87/drivers/watchdog/watchdog_dev.c linux-4.19.98/drivers/watchdog/watchdog_dev.c --- linux-4.19.87/drivers/watchdog/watchdog_dev.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/watchdog/watchdog_dev.c 2020-01-23 07:21:39.000000000 +0000 @@ -38,7 +38,6 @@ #include /* For __init/__exit/... */ #include /* For hrtimers */ #include /* For printk/panic/... */ -#include /* For data references */ #include /* For kthread_work */ #include /* For handling misc devices */ #include /* For module stuff/... */ @@ -56,14 +55,14 @@ /* * struct watchdog_core_data - watchdog core internal data - * @kref: Reference count. + * @dev: The watchdog's internal device * @cdev: The watchdog's Character device. * @wdd: Pointer to watchdog device. * @lock: Lock for watchdog core. * @status: Watchdog core internal status bits. */ struct watchdog_core_data { - struct kref kref; + struct device dev; struct cdev cdev; struct watchdog_device *wdd; struct mutex lock; @@ -822,7 +821,7 @@ file->private_data = wd_data; if (!hw_running) - kref_get(&wd_data->kref); + get_device(&wd_data->dev); /* dev/watchdog is a virtual (and thus non-seekable) filesystem */ return nonseekable_open(inode, file); @@ -834,11 +833,11 @@ return err; } -static void watchdog_core_data_release(struct kref *kref) +static void watchdog_core_data_release(struct device *dev) { struct watchdog_core_data *wd_data; - wd_data = container_of(kref, struct watchdog_core_data, kref); + wd_data = container_of(dev, struct watchdog_core_data, dev); kfree(wd_data); } @@ -898,7 +897,7 @@ */ if (!running) { module_put(wd_data->cdev.owner); - kref_put(&wd_data->kref, watchdog_core_data_release); + put_device(&wd_data->dev); } return 0; } @@ -917,17 +916,22 @@ .fops = &watchdog_fops, }; +static struct class watchdog_class = { + .name = "watchdog", + .owner = THIS_MODULE, + .dev_groups = wdt_groups, +}; + /* * watchdog_cdev_register: register watchdog character device * @wdd: watchdog device - * @devno: character device number * * Register a watchdog character device including handling the legacy * /dev/watchdog node. /dev/watchdog is actually a miscdevice and * thus we set it up like that. */ -static int watchdog_cdev_register(struct watchdog_device *wdd, dev_t devno) +static int watchdog_cdev_register(struct watchdog_device *wdd) { struct watchdog_core_data *wd_data; int err; @@ -935,7 +939,6 @@ wd_data = kzalloc(sizeof(struct watchdog_core_data), GFP_KERNEL); if (!wd_data) return -ENOMEM; - kref_init(&wd_data->kref); mutex_init(&wd_data->lock); wd_data->wdd = wdd; @@ -964,23 +967,33 @@ } } + device_initialize(&wd_data->dev); + wd_data->dev.devt = MKDEV(MAJOR(watchdog_devt), wdd->id); + wd_data->dev.class = &watchdog_class; + wd_data->dev.parent = wdd->parent; + wd_data->dev.groups = wdd->groups; + wd_data->dev.release = watchdog_core_data_release; + dev_set_drvdata(&wd_data->dev, wdd); + dev_set_name(&wd_data->dev, "watchdog%d", wdd->id); + /* Fill in the data structures */ cdev_init(&wd_data->cdev, &watchdog_fops); - wd_data->cdev.owner = wdd->ops->owner; /* Add the device */ - err = cdev_add(&wd_data->cdev, devno, 1); + err = cdev_device_add(&wd_data->cdev, &wd_data->dev); if (err) { pr_err("watchdog%d unable to add device %d:%d\n", wdd->id, MAJOR(watchdog_devt), wdd->id); if (wdd->id == 0) { misc_deregister(&watchdog_miscdev); old_wd_data = NULL; - kref_put(&wd_data->kref, watchdog_core_data_release); + put_device(&wd_data->dev); } return err; } + wd_data->cdev.owner = wdd->ops->owner; + /* Record time of most recent heartbeat as 'just before now'. */ wd_data->last_hw_keepalive = ktime_sub(ktime_get(), 1); @@ -990,7 +1003,7 @@ */ if (watchdog_hw_running(wdd)) { __module_get(wdd->ops->owner); - kref_get(&wd_data->kref); + get_device(&wd_data->dev); if (handle_boot_enabled) hrtimer_start(&wd_data->timer, 0, HRTIMER_MODE_REL); else @@ -1013,7 +1026,7 @@ { struct watchdog_core_data *wd_data = wdd->wd_data; - cdev_del(&wd_data->cdev); + cdev_device_del(&wd_data->cdev, &wd_data->dev); if (wdd->id == 0) { misc_deregister(&watchdog_miscdev); old_wd_data = NULL; @@ -1032,15 +1045,9 @@ hrtimer_cancel(&wd_data->timer); kthread_cancel_work_sync(&wd_data->work); - kref_put(&wd_data->kref, watchdog_core_data_release); + put_device(&wd_data->dev); } -static struct class watchdog_class = { - .name = "watchdog", - .owner = THIS_MODULE, - .dev_groups = wdt_groups, -}; - static int watchdog_reboot_notifier(struct notifier_block *nb, unsigned long code, void *data) { @@ -1071,27 +1078,14 @@ int watchdog_dev_register(struct watchdog_device *wdd) { - struct device *dev; - dev_t devno; int ret; - devno = MKDEV(MAJOR(watchdog_devt), wdd->id); - - ret = watchdog_cdev_register(wdd, devno); + ret = watchdog_cdev_register(wdd); if (ret) return ret; - dev = device_create_with_groups(&watchdog_class, wdd->parent, - devno, wdd, wdd->groups, - "watchdog%d", wdd->id); - if (IS_ERR(dev)) { - watchdog_cdev_unregister(wdd); - return PTR_ERR(dev); - } - ret = watchdog_register_pretimeout(wdd); if (ret) { - device_destroy(&watchdog_class, devno); watchdog_cdev_unregister(wdd); return ret; } @@ -1099,7 +1093,8 @@ if (test_bit(WDOG_STOP_ON_REBOOT, &wdd->status)) { wdd->reboot_nb.notifier_call = watchdog_reboot_notifier; - ret = devm_register_reboot_notifier(dev, &wdd->reboot_nb); + ret = devm_register_reboot_notifier(&wdd->wd_data->dev, + &wdd->reboot_nb); if (ret) { pr_err("watchdog%d: Cannot register reboot notifier (%d)\n", wdd->id, ret); @@ -1121,7 +1116,6 @@ void watchdog_dev_unregister(struct watchdog_device *wdd) { watchdog_unregister_pretimeout(wdd); - device_destroy(&watchdog_class, wdd->wd_data->cdev.dev); watchdog_cdev_unregister(wdd); } diff -Nru linux-4.19.87/drivers/xen/Kconfig linux-4.19.98/drivers/xen/Kconfig --- linux-4.19.87/drivers/xen/Kconfig 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/xen/Kconfig 2020-01-23 07:21:39.000000000 +0000 @@ -158,7 +158,8 @@ config XEN_GNTDEV_DMABUF bool "Add support for dma-buf grant access device driver extension" - depends on XEN_GNTDEV && XEN_GRANT_DMA_ALLOC && DMA_SHARED_BUFFER + depends on XEN_GNTDEV && XEN_GRANT_DMA_ALLOC + select DMA_SHARED_BUFFER help Allows userspace processes and kernel modules to use Xen backed dma-buf implementation. With this extension grant references to diff -Nru linux-4.19.87/drivers/xen/balloon.c linux-4.19.98/drivers/xen/balloon.c --- linux-4.19.87/drivers/xen/balloon.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/xen/balloon.c 2020-01-23 07:21:39.000000000 +0000 @@ -395,7 +395,8 @@ #else static enum bp_state reserve_additional_memory(void) { - balloon_stats.target_pages = balloon_stats.current_pages; + balloon_stats.target_pages = balloon_stats.current_pages + + balloon_stats.target_unpopulated; return BP_ECANCELED; } #endif /* CONFIG_XEN_BALLOON_MEMORY_HOTPLUG */ diff -Nru linux-4.19.87/drivers/xen/pvcalls-front.c linux-4.19.98/drivers/xen/pvcalls-front.c --- linux-4.19.87/drivers/xen/pvcalls-front.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/xen/pvcalls-front.c 2020-01-23 07:21:39.000000000 +0000 @@ -504,8 +504,10 @@ virt_mb(); size = pvcalls_queued(prod, cons, array_size); - if (size >= array_size) + if (size > array_size) return -EINVAL; + if (size == array_size) + return 0; if (len > array_size - size) len = array_size - size; diff -Nru linux-4.19.87/drivers/xen/xen-pciback/pci_stub.c linux-4.19.98/drivers/xen/xen-pciback/pci_stub.c --- linux-4.19.87/drivers/xen/xen-pciback/pci_stub.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/drivers/xen/xen-pciback/pci_stub.c 2020-01-23 07:21:39.000000000 +0000 @@ -106,7 +106,8 @@ * is called from "unbind" which takes a device_lock mutex. */ __pci_reset_function_locked(dev); - if (pci_load_and_free_saved_state(dev, &dev_data->pci_saved_state)) + if (dev_data && + pci_load_and_free_saved_state(dev, &dev_data->pci_saved_state)) dev_info(&dev->dev, "Could not reload PCI state\n"); else pci_restore_state(dev); diff -Nru linux-4.19.87/firmware/Makefile linux-4.19.98/firmware/Makefile --- linux-4.19.87/firmware/Makefile 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/firmware/Makefile 2020-01-23 07:21:39.000000000 +0000 @@ -19,7 +19,7 @@ PROGBITS=$(if $(CONFIG_ARM),%,@)progbits; \ echo "/* Generated by firmware/Makefile */" > $@;\ echo " .section .rodata" >>$@;\ - echo " .p2align $${ASM_ALIGN}" >>$@;\ + echo " .p2align 4" >>$@;\ echo "_fw_$${FWSTR}_bin:" >>$@;\ echo " .incbin \"$(2)\"" >>$@;\ echo "_fw_end:" >>$@;\ diff -Nru linux-4.19.87/fs/afs/dynroot.c linux-4.19.98/fs/afs/dynroot.c --- linux-4.19.87/fs/afs/dynroot.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/afs/dynroot.c 2020-01-23 07:21:39.000000000 +0000 @@ -145,6 +145,9 @@ ASSERTCMP(d_inode(dentry), ==, NULL); + if (flags & LOOKUP_CREATE) + return ERR_PTR(-EOPNOTSUPP); + if (dentry->d_name.len >= AFSNAMEMAX) { _leave(" = -ENAMETOOLONG"); return ERR_PTR(-ENAMETOOLONG); diff -Nru linux-4.19.87/fs/afs/server.c linux-4.19.98/fs/afs/server.c --- linux-4.19.87/fs/afs/server.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/afs/server.c 2020-01-23 07:21:39.000000000 +0000 @@ -34,18 +34,11 @@ struct afs_server *afs_find_server(struct afs_net *net, const struct sockaddr_rxrpc *srx) { - const struct sockaddr_in6 *a = &srx->transport.sin6, *b; const struct afs_addr_list *alist; struct afs_server *server = NULL; unsigned int i; - bool ipv6 = true; int seq = 0, diff; - if (srx->transport.sin6.sin6_addr.s6_addr32[0] == 0 || - srx->transport.sin6.sin6_addr.s6_addr32[1] == 0 || - srx->transport.sin6.sin6_addr.s6_addr32[2] == htonl(0xffff)) - ipv6 = false; - rcu_read_lock(); do { @@ -54,7 +47,8 @@ server = NULL; read_seqbegin_or_lock(&net->fs_addr_lock, &seq); - if (ipv6) { + if (srx->transport.family == AF_INET6) { + const struct sockaddr_in6 *a = &srx->transport.sin6, *b; hlist_for_each_entry_rcu(server, &net->fs_addresses6, addr6_link) { alist = rcu_dereference(server->addresses); for (i = alist->nr_ipv4; i < alist->nr_addrs; i++) { @@ -70,15 +64,16 @@ } } } else { + const struct sockaddr_in *a = &srx->transport.sin, *b; hlist_for_each_entry_rcu(server, &net->fs_addresses4, addr4_link) { alist = rcu_dereference(server->addresses); for (i = 0; i < alist->nr_ipv4; i++) { - b = &alist->addrs[i].transport.sin6; - diff = ((u16 __force)a->sin6_port - - (u16 __force)b->sin6_port); + b = &alist->addrs[i].transport.sin; + diff = ((u16 __force)a->sin_port - + (u16 __force)b->sin_port); if (diff == 0) - diff = ((u32 __force)a->sin6_addr.s6_addr32[3] - - (u32 __force)b->sin6_addr.s6_addr32[3]); + diff = ((u32 __force)a->sin_addr.s_addr - + (u32 __force)b->sin_addr.s_addr); if (diff == 0) goto found; } diff -Nru linux-4.19.87/fs/afs/super.c linux-4.19.98/fs/afs/super.c --- linux-4.19.87/fs/afs/super.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/afs/super.c 2020-01-23 07:21:39.000000000 +0000 @@ -356,6 +356,7 @@ return (as->net_ns == as1->net_ns && as->volume && as->volume->vid == as1->volume->vid && + as->cell == as1->cell && !as->dyn_root); } @@ -404,7 +405,6 @@ /* allocate the root inode and dentry */ if (as->dyn_root) { inode = afs_iget_pseudo_dir(sb, true); - sb->s_flags |= SB_RDONLY; } else { sprintf(sb->s_id, "%u", as->volume->vid); afs_activate_volume(as->volume); diff -Nru linux-4.19.87/fs/autofs/expire.c linux-4.19.98/fs/autofs/expire.c --- linux-4.19.87/fs/autofs/expire.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/autofs/expire.c 2020-01-23 07:21:39.000000000 +0000 @@ -501,9 +501,10 @@ */ how &= ~AUTOFS_EXP_LEAVES; found = should_expire(expired, mnt, timeout, how); - if (!found || found != expired) - /* Something has changed, continue */ + if (found != expired) { // something has changed, continue + dput(found); goto next; + } if (expired != dentry) dput(dentry); diff -Nru linux-4.19.87/fs/block_dev.c linux-4.19.98/fs/block_dev.c --- linux-4.19.87/fs/block_dev.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/block_dev.c 2020-01-23 07:21:39.000000000 +0000 @@ -1328,11 +1328,7 @@ "resized disk %s\n", bdev->bd_disk ? bdev->bd_disk->disk_name : ""); } - - if (!bdev->bd_disk) - return; - if (disk_part_scan_enabled(bdev->bd_disk)) - bdev->bd_invalidated = 1; + bdev->bd_invalidated = 1; } /** @@ -1430,6 +1426,19 @@ static void __blkdev_put(struct block_device *bdev, fmode_t mode, int for_part); +static void bdev_disk_changed(struct block_device *bdev, bool invalidate) +{ + if (disk_part_scan_enabled(bdev->bd_disk)) { + if (invalidate) + invalidate_partitions(bdev->bd_disk, bdev); + else + rescan_partitions(bdev->bd_disk, bdev); + } else { + check_disk_size_change(bdev->bd_disk, bdev, !invalidate); + bdev->bd_invalidated = 0; + } +} + /* * bd_mutex locking: * @@ -1512,12 +1521,9 @@ * The latter is necessary to prevent ghost * partitions on a removed medium. */ - if (bdev->bd_invalidated) { - if (!ret) - rescan_partitions(disk, bdev); - else if (ret == -ENOMEDIUM) - invalidate_partitions(disk, bdev); - } + if (bdev->bd_invalidated && + (!ret || ret == -ENOMEDIUM)) + bdev_disk_changed(bdev, ret == -ENOMEDIUM); if (ret) goto out_clear; @@ -1550,12 +1556,9 @@ if (bdev->bd_disk->fops->open) ret = bdev->bd_disk->fops->open(bdev, mode); /* the same as first opener case, read comment there */ - if (bdev->bd_invalidated) { - if (!ret) - rescan_partitions(bdev->bd_disk, bdev); - else if (ret == -ENOMEDIUM) - invalidate_partitions(bdev->bd_disk, bdev); - } + if (bdev->bd_invalidated && + (!ret || ret == -ENOMEDIUM)) + bdev_disk_changed(bdev, ret == -ENOMEDIUM); if (ret) goto out_unlock_bdev; } diff -Nru linux-4.19.87/fs/btrfs/async-thread.c linux-4.19.98/fs/btrfs/async-thread.c --- linux-4.19.87/fs/btrfs/async-thread.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/async-thread.c 2020-01-23 07:21:39.000000000 +0000 @@ -252,16 +252,17 @@ } } -static void run_ordered_work(struct __btrfs_workqueue *wq) +static void run_ordered_work(struct __btrfs_workqueue *wq, + struct btrfs_work *self) { struct list_head *list = &wq->ordered_list; struct btrfs_work *work; spinlock_t *lock = &wq->list_lock; unsigned long flags; + void *wtag; + bool free_self = false; while (1) { - void *wtag; - spin_lock_irqsave(lock, flags); if (list_empty(list)) break; @@ -287,16 +288,47 @@ list_del(&work->ordered_list); spin_unlock_irqrestore(lock, flags); - /* - * We don't want to call the ordered free functions with the - * lock held though. Save the work as tag for the trace event, - * because the callback could free the structure. - */ - wtag = work; - work->ordered_free(work); - trace_btrfs_all_work_done(wq->fs_info, wtag); + if (work == self) { + /* + * This is the work item that the worker is currently + * executing. + * + * The kernel workqueue code guarantees non-reentrancy + * of work items. I.e., if a work item with the same + * address and work function is queued twice, the second + * execution is blocked until the first one finishes. A + * work item may be freed and recycled with the same + * work function; the workqueue code assumes that the + * original work item cannot depend on the recycled work + * item in that case (see find_worker_executing_work()). + * + * Note that the work of one Btrfs filesystem may depend + * on the work of another Btrfs filesystem via, e.g., a + * loop device. Therefore, we must not allow the current + * work item to be recycled until we are really done, + * otherwise we break the above assumption and can + * deadlock. + */ + free_self = true; + } else { + /* + * We don't want to call the ordered free functions with + * the lock held though. Save the work as tag for the + * trace event, because the callback could free the + * structure. + */ + wtag = work; + work->ordered_free(work); + trace_btrfs_all_work_done(wq->fs_info, wtag); + } } spin_unlock_irqrestore(lock, flags); + + if (free_self) { + wtag = self; + self->ordered_free(self); + trace_btrfs_all_work_done(wq->fs_info, wtag); + } } static void normal_work_helper(struct btrfs_work *work) @@ -324,7 +356,7 @@ work->func(work); if (need_order) { set_bit(WORK_DONE_BIT, &work->flags); - run_ordered_work(wq); + run_ordered_work(wq, work); } if (!need_order) trace_btrfs_all_work_done(wq->fs_info, wtag); diff -Nru linux-4.19.87/fs/btrfs/ctree.c linux-4.19.98/fs/btrfs/ctree.c --- linux-4.19.87/fs/btrfs/ctree.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/ctree.c 2020-01-23 07:21:39.000000000 +0000 @@ -390,7 +390,7 @@ for (node = rb_first(tm_root); node; node = next) { next = rb_next(node); tm = rb_entry(node, struct tree_mod_elem, node); - if (tm->seq > min_seq) + if (tm->seq >= min_seq) continue; rb_erase(node, tm_root); kfree(tm); diff -Nru linux-4.19.87/fs/btrfs/ctree.h linux-4.19.98/fs/btrfs/ctree.h --- linux-4.19.87/fs/btrfs/ctree.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/ctree.h 2020-01-23 07:21:39.000000000 +0000 @@ -3101,7 +3101,7 @@ /* file-item.c */ struct btrfs_dio_private; int btrfs_del_csums(struct btrfs_trans_handle *trans, - struct btrfs_fs_info *fs_info, u64 bytenr, u64 len); + struct btrfs_root *root, u64 bytenr, u64 len); blk_status_t btrfs_lookup_bio_sums(struct inode *inode, struct bio *bio, u32 *dst); blk_status_t btrfs_lookup_bio_sums_dio(struct inode *inode, struct bio *bio, u64 logical_offset); diff -Nru linux-4.19.87/fs/btrfs/delayed-inode.c linux-4.19.98/fs/btrfs/delayed-inode.c --- linux-4.19.87/fs/btrfs/delayed-inode.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/delayed-inode.c 2020-01-23 07:21:39.000000000 +0000 @@ -1939,12 +1939,19 @@ } inode_id = delayed_nodes[n - 1]->inode_id + 1; - - for (i = 0; i < n; i++) - refcount_inc(&delayed_nodes[i]->refs); + for (i = 0; i < n; i++) { + /* + * Don't increase refs in case the node is dead and + * about to be removed from the tree in the loop below + */ + if (!refcount_inc_not_zero(&delayed_nodes[i]->refs)) + delayed_nodes[i] = NULL; + } spin_unlock(&root->inode_lock); for (i = 0; i < n; i++) { + if (!delayed_nodes[i]) + continue; __btrfs_kill_delayed_node(delayed_nodes[i]); btrfs_release_delayed_node(delayed_nodes[i]); } diff -Nru linux-4.19.87/fs/btrfs/delayed-ref.c linux-4.19.98/fs/btrfs/delayed-ref.c --- linux-4.19.87/fs/btrfs/delayed-ref.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/delayed-ref.c 2020-01-23 07:21:39.000000000 +0000 @@ -234,8 +234,6 @@ ref->in_tree = 0; btrfs_put_delayed_ref(ref); atomic_dec(&delayed_refs->num_entries); - if (trans->delayed_ref_updates) - trans->delayed_ref_updates--; } static bool merge_ref(struct btrfs_trans_handle *trans, @@ -446,7 +444,6 @@ if (ref->action == BTRFS_ADD_DELAYED_REF) list_add_tail(&ref->add_list, &href->ref_add_list); atomic_inc(&root->num_entries); - trans->delayed_ref_updates++; spin_unlock(&href->lock); return ret; } diff -Nru linux-4.19.87/fs/btrfs/dev-replace.c linux-4.19.98/fs/btrfs/dev-replace.c --- linux-4.19.87/fs/btrfs/dev-replace.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/dev-replace.c 2020-01-23 07:21:39.000000000 +0000 @@ -810,16 +810,23 @@ btrfs_dev_replace_write_unlock(dev_replace); break; case BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED: - result = BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR; tgt_device = dev_replace->tgtdev; src_device = dev_replace->srcdev; btrfs_dev_replace_write_unlock(dev_replace); - btrfs_scrub_cancel(fs_info); - /* btrfs_dev_replace_finishing() will handle the cleanup part */ - btrfs_info_in_rcu(fs_info, - "dev_replace from %s (devid %llu) to %s canceled", - btrfs_dev_name(src_device), src_device->devid, - btrfs_dev_name(tgt_device)); + ret = btrfs_scrub_cancel(fs_info); + if (ret < 0) { + result = BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED; + } else { + result = BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR; + /* + * btrfs_dev_replace_finishing() will handle the + * cleanup part + */ + btrfs_info_in_rcu(fs_info, + "dev_replace from %s (devid %llu) to %s canceled", + btrfs_dev_name(src_device), src_device->devid, + btrfs_dev_name(tgt_device)); + } break; case BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED: /* diff -Nru linux-4.19.87/fs/btrfs/disk-io.c linux-4.19.98/fs/btrfs/disk-io.c --- linux-4.19.87/fs/btrfs/disk-io.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/disk-io.c 2020-01-23 07:21:39.000000000 +0000 @@ -1660,8 +1660,8 @@ bio->bi_status = end_io_wq->status; bio->bi_private = end_io_wq->private; bio->bi_end_io = end_io_wq->end_io; - kmem_cache_free(btrfs_end_io_wq_cache, end_io_wq); bio_endio(bio); + kmem_cache_free(btrfs_end_io_wq_cache, end_io_wq); } static int cleaner_kthread(void *arg) @@ -4350,6 +4350,8 @@ unpin = pinned_extents; again: while (1) { + struct extent_state *cached_state = NULL; + /* * The btrfs_finish_extent_commit() may get the same range as * ours between find_first_extent_bit and clear_extent_dirty. @@ -4358,13 +4360,14 @@ */ mutex_lock(&fs_info->unused_bg_unpin_mutex); ret = find_first_extent_bit(unpin, 0, &start, &end, - EXTENT_DIRTY, NULL); + EXTENT_DIRTY, &cached_state); if (ret) { mutex_unlock(&fs_info->unused_bg_unpin_mutex); break; } - clear_extent_dirty(unpin, start, end); + clear_extent_dirty(unpin, start, end, &cached_state); + free_extent_state(cached_state); btrfs_error_unpin_extent_range(fs_info, start, end); mutex_unlock(&fs_info->unused_bg_unpin_mutex); cond_resched(); diff -Nru linux-4.19.87/fs/btrfs/extent-tree.c linux-4.19.98/fs/btrfs/extent-tree.c --- linux-4.19.87/fs/btrfs/extent-tree.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/extent-tree.c 2020-01-23 07:21:39.000000000 +0000 @@ -2492,8 +2492,8 @@ btrfs_pin_extent(fs_info, head->bytenr, head->num_bytes, 1); if (head->is_data) { - ret = btrfs_del_csums(trans, fs_info, head->bytenr, - head->num_bytes); + ret = btrfs_del_csums(trans, fs_info->csum_root, + head->bytenr, head->num_bytes); } } @@ -6618,9 +6618,11 @@ unpin = &fs_info->freed_extents[0]; while (!trans->aborted) { + struct extent_state *cached_state = NULL; + mutex_lock(&fs_info->unused_bg_unpin_mutex); ret = find_first_extent_bit(unpin, 0, &start, &end, - EXTENT_DIRTY, NULL); + EXTENT_DIRTY, &cached_state); if (ret) { mutex_unlock(&fs_info->unused_bg_unpin_mutex); break; @@ -6630,9 +6632,10 @@ ret = btrfs_discard_extent(fs_info, start, end + 1 - start, NULL); - clear_extent_dirty(unpin, start, end); + clear_extent_dirty(unpin, start, end, &cached_state); unpin_extent_range(fs_info, start, end, true); mutex_unlock(&fs_info->unused_bg_unpin_mutex); + free_extent_state(cached_state); cond_resched(); } @@ -6877,7 +6880,8 @@ btrfs_release_path(path); if (is_data) { - ret = btrfs_del_csums(trans, info, bytenr, num_bytes); + ret = btrfs_del_csums(trans, info->csum_root, bytenr, + num_bytes); if (ret) { btrfs_abort_transaction(trans, ret); goto out; diff -Nru linux-4.19.87/fs/btrfs/extent_io.c linux-4.19.98/fs/btrfs/extent_io.c --- linux-4.19.87/fs/btrfs/extent_io.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/extent_io.c 2020-01-23 07:21:39.000000000 +0000 @@ -3956,7 +3956,7 @@ for (i = 0; i < nr_pages; i++) { struct page *page = pvec.pages[i]; - done_index = page->index; + done_index = page->index + 1; /* * At this point we hold neither the i_pages lock nor * the page lock: the page may be truncated or @@ -3993,16 +3993,6 @@ ret = 0; } if (ret < 0) { - /* - * done_index is set past this page, - * so media errors will not choke - * background writeout for the entire - * file. This has consequences for - * range_cyclic semantics (ie. it may - * not be suitable for data integrity - * writeout). - */ - done_index = page->index + 1; done = 1; break; } @@ -4898,12 +4888,14 @@ return eb; eb = alloc_dummy_extent_buffer(fs_info, start); if (!eb) - return NULL; + return ERR_PTR(-ENOMEM); eb->fs_info = fs_info; again: ret = radix_tree_preload(GFP_NOFS); - if (ret) + if (ret) { + exists = ERR_PTR(ret); goto free_eb; + } spin_lock(&fs_info->buffer_lock); ret = radix_tree_insert(&fs_info->buffer_radix, start >> PAGE_SHIFT, eb); diff -Nru linux-4.19.87/fs/btrfs/extent_io.h linux-4.19.98/fs/btrfs/extent_io.h --- linux-4.19.87/fs/btrfs/extent_io.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/extent_io.h 2020-01-23 07:21:39.000000000 +0000 @@ -348,11 +348,11 @@ } static inline int clear_extent_dirty(struct extent_io_tree *tree, u64 start, - u64 end) + u64 end, struct extent_state **cached) { return clear_extent_bit(tree, start, end, EXTENT_DIRTY | EXTENT_DELALLOC | - EXTENT_DO_ACCOUNTING, 0, 0, NULL); + EXTENT_DO_ACCOUNTING, 0, 0, cached); } int convert_extent_bit(struct extent_io_tree *tree, u64 start, u64 end, diff -Nru linux-4.19.87/fs/btrfs/file-item.c linux-4.19.98/fs/btrfs/file-item.c --- linux-4.19.87/fs/btrfs/file-item.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/file-item.c 2020-01-23 07:21:39.000000000 +0000 @@ -577,9 +577,9 @@ * range of bytes. */ int btrfs_del_csums(struct btrfs_trans_handle *trans, - struct btrfs_fs_info *fs_info, u64 bytenr, u64 len) + struct btrfs_root *root, u64 bytenr, u64 len) { - struct btrfs_root *root = fs_info->csum_root; + struct btrfs_fs_info *fs_info = trans->fs_info; struct btrfs_path *path; struct btrfs_key key; u64 end_byte = bytenr + len; @@ -589,6 +589,9 @@ u16 csum_size = btrfs_super_csum_size(fs_info->super_copy); int blocksize_bits = fs_info->sb->s_blocksize_bits; + ASSERT(root == fs_info->csum_root || + root->root_key.objectid == BTRFS_TREE_LOG_OBJECTID); + path = btrfs_alloc_path(); if (!path) return -ENOMEM; diff -Nru linux-4.19.87/fs/btrfs/file.c linux-4.19.98/fs/btrfs/file.c --- linux-4.19.87/fs/btrfs/file.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/file.c 2020-01-23 07:21:39.000000000 +0000 @@ -1636,6 +1636,7 @@ break; } + only_release_metadata = false; sector_offset = pos & (fs_info->sectorsize - 1); reserve_bytes = round_up(write_bytes + sector_offset, fs_info->sectorsize); @@ -1791,7 +1792,6 @@ set_extent_bit(&BTRFS_I(inode)->io_tree, lockstart, lockend, EXTENT_NORESERVE, NULL, NULL, GFP_NOFS); - only_release_metadata = false; } btrfs_drop_pages(pages, num_pages); @@ -1903,9 +1903,10 @@ (iocb->ki_flags & IOCB_NOWAIT)) return -EOPNOTSUPP; - if (!inode_trylock(inode)) { - if (iocb->ki_flags & IOCB_NOWAIT) + if (iocb->ki_flags & IOCB_NOWAIT) { + if (!inode_trylock(inode)) return -EAGAIN; + } else { inode_lock(inode); } diff -Nru linux-4.19.87/fs/btrfs/free-space-cache.c linux-4.19.98/fs/btrfs/free-space-cache.c --- linux-4.19.87/fs/btrfs/free-space-cache.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/free-space-cache.c 2020-01-23 07:21:39.000000000 +0000 @@ -382,6 +382,12 @@ if (uptodate && !PageUptodate(page)) { btrfs_readpage(NULL, page); lock_page(page); + if (page->mapping != inode->i_mapping) { + btrfs_err(BTRFS_I(inode)->root->fs_info, + "free space cache page truncated"); + io_ctl_drop_pages(io_ctl); + return -EIO; + } if (!PageUptodate(page)) { btrfs_err(BTRFS_I(inode)->root->fs_info, "error reading free space cache"); diff -Nru linux-4.19.87/fs/btrfs/inode.c linux-4.19.98/fs/btrfs/inode.c --- linux-4.19.87/fs/btrfs/inode.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/inode.c 2020-01-23 07:21:39.000000000 +0000 @@ -2161,12 +2161,16 @@ mapping_set_error(page->mapping, ret); end_extent_writepage(page, ret, page_start, page_end); ClearPageChecked(page); - goto out; + goto out_reserved; } ClearPageChecked(page); set_page_dirty(page); +out_reserved: btrfs_delalloc_release_extents(BTRFS_I(inode), PAGE_SIZE); + if (ret) + btrfs_delalloc_release_space(inode, data_reserved, page_start, + PAGE_SIZE, true); out: unlock_extent_cached(&BTRFS_I(inode)->io_tree, page_start, page_end, &cached_state); @@ -4116,18 +4120,30 @@ } static int btrfs_unlink_subvol(struct btrfs_trans_handle *trans, - struct inode *dir, u64 objectid, - const char *name, int name_len) + struct inode *dir, struct dentry *dentry) { struct btrfs_root *root = BTRFS_I(dir)->root; + struct btrfs_inode *inode = BTRFS_I(d_inode(dentry)); struct btrfs_path *path; struct extent_buffer *leaf; struct btrfs_dir_item *di; struct btrfs_key key; + const char *name = dentry->d_name.name; + int name_len = dentry->d_name.len; u64 index; int ret; + u64 objectid; u64 dir_ino = btrfs_ino(BTRFS_I(dir)); + if (btrfs_ino(inode) == BTRFS_FIRST_FREE_OBJECTID) { + objectid = inode->root->root_key.objectid; + } else if (btrfs_ino(inode) == BTRFS_EMPTY_SUBVOL_DIR_OBJECTID) { + objectid = inode->location.objectid; + } else { + WARN_ON(1); + return -EINVAL; + } + path = btrfs_alloc_path(); if (!path) return -ENOMEM; @@ -4152,13 +4168,16 @@ } btrfs_release_path(path); - ret = btrfs_del_root_ref(trans, objectid, root->root_key.objectid, - dir_ino, &index, name, name_len); - if (ret < 0) { - if (ret != -ENOENT) { - btrfs_abort_transaction(trans, ret); - goto out; - } + /* + * This is a placeholder inode for a subvolume we didn't have a + * reference to at the time of the snapshot creation. In the meantime + * we could have renamed the real subvol link into our snapshot, so + * depending on btrfs_del_root_ref to return -ENOENT here is incorret. + * Instead simply lookup the dir_index_item for this entry so we can + * remove it. Otherwise we know we have a ref to the root and we can + * call btrfs_del_root_ref, and it _shouldn't_ fail. + */ + if (btrfs_ino(inode) == BTRFS_EMPTY_SUBVOL_DIR_OBJECTID) { di = btrfs_search_dir_index_item(root, path, dir_ino, name, name_len); if (IS_ERR_OR_NULL(di)) { @@ -4173,8 +4192,16 @@ leaf = path->nodes[0]; btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); index = key.offset; + btrfs_release_path(path); + } else { + ret = btrfs_del_root_ref(trans, objectid, + root->root_key.objectid, dir_ino, + &index, name, name_len); + if (ret) { + btrfs_abort_transaction(trans, ret); + goto out; + } } - btrfs_release_path(path); ret = btrfs_delete_delayed_dir_index(trans, BTRFS_I(dir), index); if (ret) { @@ -4369,8 +4396,7 @@ btrfs_record_snapshot_destroy(trans, BTRFS_I(dir)); - ret = btrfs_unlink_subvol(trans, dir, dest->root_key.objectid, - dentry->d_name.name, dentry->d_name.len); + ret = btrfs_unlink_subvol(trans, dir, dentry); if (ret) { err = ret; btrfs_abort_transaction(trans, ret); @@ -4465,10 +4491,7 @@ return PTR_ERR(trans); if (unlikely(btrfs_ino(BTRFS_I(inode)) == BTRFS_EMPTY_SUBVOL_DIR_OBJECTID)) { - err = btrfs_unlink_subvol(trans, dir, - BTRFS_I(inode)->location.objectid, - dentry->d_name.name, - dentry->d_name.len); + err = btrfs_unlink_subvol(trans, dir, dentry); goto out; } @@ -5661,7 +5684,6 @@ static void inode_tree_del(struct inode *inode) { - struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); struct btrfs_root *root = BTRFS_I(inode)->root; int empty = 0; @@ -5674,7 +5696,6 @@ spin_unlock(&root->inode_lock); if (empty && btrfs_root_refs(&root->root_item) == 0) { - synchronize_srcu(&fs_info->subvol_srcu); spin_lock(&root->inode_lock); empty = RB_EMPTY_ROOT(&root->inode_tree); spin_unlock(&root->inode_lock); @@ -9469,7 +9490,6 @@ u64 new_ino = btrfs_ino(BTRFS_I(new_inode)); u64 old_idx = 0; u64 new_idx = 0; - u64 root_objectid; int ret; bool root_log_pinned = false; bool dest_log_pinned = false; @@ -9487,9 +9507,8 @@ btrfs_init_log_ctx(&ctx_dest, new_inode); /* close the race window with snapshot create/destroy ioctl */ - if (old_ino == BTRFS_FIRST_FREE_OBJECTID) - down_read(&fs_info->subvol_sem); - if (new_ino == BTRFS_FIRST_FREE_OBJECTID) + if (old_ino == BTRFS_FIRST_FREE_OBJECTID || + new_ino == BTRFS_FIRST_FREE_OBJECTID) down_read(&fs_info->subvol_sem); /* @@ -9506,6 +9525,9 @@ goto out_notrans; } + if (dest != root) + btrfs_record_root_in_trans(trans, dest); + /* * We need to find a free sequence number both in the source and * in the destination directory for the exchange. @@ -9573,10 +9595,7 @@ /* src is a subvolume */ if (old_ino == BTRFS_FIRST_FREE_OBJECTID) { - root_objectid = BTRFS_I(old_inode)->root->root_key.objectid; - ret = btrfs_unlink_subvol(trans, old_dir, root_objectid, - old_dentry->d_name.name, - old_dentry->d_name.len); + ret = btrfs_unlink_subvol(trans, old_dir, old_dentry); } else { /* src is an inode */ ret = __btrfs_unlink_inode(trans, root, BTRFS_I(old_dir), BTRFS_I(old_dentry->d_inode), @@ -9592,10 +9611,7 @@ /* dest is a subvolume */ if (new_ino == BTRFS_FIRST_FREE_OBJECTID) { - root_objectid = BTRFS_I(new_inode)->root->root_key.objectid; - ret = btrfs_unlink_subvol(trans, new_dir, root_objectid, - new_dentry->d_name.name, - new_dentry->d_name.len); + ret = btrfs_unlink_subvol(trans, new_dir, new_dentry); } else { /* dest is an inode */ ret = __btrfs_unlink_inode(trans, dest, BTRFS_I(new_dir), BTRFS_I(new_dentry->d_inode), @@ -9720,9 +9736,8 @@ ret = ret ? ret : ret2; } out_notrans: - if (new_ino == BTRFS_FIRST_FREE_OBJECTID) - up_read(&fs_info->subvol_sem); - if (old_ino == BTRFS_FIRST_FREE_OBJECTID) + if (new_ino == BTRFS_FIRST_FREE_OBJECTID || + old_ino == BTRFS_FIRST_FREE_OBJECTID) up_read(&fs_info->subvol_sem); ASSERT(list_empty(&ctx_root.list)); @@ -9794,7 +9809,6 @@ struct inode *new_inode = d_inode(new_dentry); struct inode *old_inode = d_inode(old_dentry); u64 index = 0; - u64 root_objectid; int ret; u64 old_ino = btrfs_ino(BTRFS_I(old_inode)); bool log_pinned = false; @@ -9902,10 +9916,7 @@ BTRFS_I(old_inode), 1); if (unlikely(old_ino == BTRFS_FIRST_FREE_OBJECTID)) { - root_objectid = BTRFS_I(old_inode)->root->root_key.objectid; - ret = btrfs_unlink_subvol(trans, old_dir, root_objectid, - old_dentry->d_name.name, - old_dentry->d_name.len); + ret = btrfs_unlink_subvol(trans, old_dir, old_dentry); } else { ret = __btrfs_unlink_inode(trans, root, BTRFS_I(old_dir), BTRFS_I(d_inode(old_dentry)), @@ -9924,10 +9935,7 @@ new_inode->i_ctime = current_time(new_inode); if (unlikely(btrfs_ino(BTRFS_I(new_inode)) == BTRFS_EMPTY_SUBVOL_DIR_OBJECTID)) { - root_objectid = BTRFS_I(new_inode)->location.objectid; - ret = btrfs_unlink_subvol(trans, new_dir, root_objectid, - new_dentry->d_name.name, - new_dentry->d_name.len); + ret = btrfs_unlink_subvol(trans, new_dir, new_dentry); BUG_ON(new_inode->i_nlink == 0); } else { ret = btrfs_unlink_inode(trans, dest, BTRFS_I(new_dir), diff -Nru linux-4.19.87/fs/btrfs/ioctl.c linux-4.19.98/fs/btrfs/ioctl.c --- linux-4.19.87/fs/btrfs/ioctl.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/ioctl.c 2020-01-23 07:21:39.000000000 +0000 @@ -709,11 +709,17 @@ btrfs_i_size_write(BTRFS_I(dir), dir->i_size + namelen * 2); ret = btrfs_update_inode(trans, root, dir); - BUG_ON(ret); + if (ret) { + btrfs_abort_transaction(trans, ret); + goto fail; + } ret = btrfs_add_root_ref(trans, objectid, root->root_key.objectid, btrfs_ino(BTRFS_I(dir)), index, name, namelen); - BUG_ON(ret); + if (ret) { + btrfs_abort_transaction(trans, ret); + goto fail; + } ret = btrfs_uuid_tree_add(trans, root_item->uuid, BTRFS_UUID_KEY_SUBVOL, objectid); diff -Nru linux-4.19.87/fs/btrfs/qgroup.c linux-4.19.98/fs/btrfs/qgroup.c --- linux-4.19.87/fs/btrfs/qgroup.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/qgroup.c 2020-01-23 07:21:39.000000000 +0000 @@ -2055,8 +2055,12 @@ u64 nr_old_roots = 0; int ret = 0; + /* + * If quotas get disabled meanwhile, the resouces need to be freed and + * we can't just exit here. + */ if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags)) - return 0; + goto out_free; if (new_roots) { if (!maybe_fs_roots(new_roots)) @@ -2862,12 +2866,12 @@ if (!(fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_RESCAN)) { btrfs_warn(fs_info, - "qgroup rescan init failed, qgroup is not enabled"); + "qgroup rescan init failed, qgroup rescan is not queued"); ret = -EINVAL; } else if (!(fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_ON)) { btrfs_warn(fs_info, - "qgroup rescan init failed, qgroup rescan is not queued"); + "qgroup rescan init failed, qgroup is not enabled"); ret = -EINVAL; } diff -Nru linux-4.19.87/fs/btrfs/reada.c linux-4.19.98/fs/btrfs/reada.c --- linux-4.19.87/fs/btrfs/reada.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/reada.c 2020-01-23 07:21:39.000000000 +0000 @@ -720,21 +720,19 @@ static void reada_start_machine_worker(struct btrfs_work *work) { struct reada_machine_work *rmw; - struct btrfs_fs_info *fs_info; int old_ioprio; rmw = container_of(work, struct reada_machine_work, work); - fs_info = rmw->fs_info; - - kfree(rmw); old_ioprio = IOPRIO_PRIO_VALUE(task_nice_ioclass(current), task_nice_ioprio(current)); set_task_ioprio(current, BTRFS_IOPRIO_READA); - __reada_start_machine(fs_info); + __reada_start_machine(rmw->fs_info); set_task_ioprio(current, old_ioprio); - atomic_dec(&fs_info->reada_works_cnt); + atomic_dec(&rmw->fs_info->reada_works_cnt); + + kfree(rmw); } static void __reada_start_machine(struct btrfs_fs_info *fs_info) diff -Nru linux-4.19.87/fs/btrfs/relocation.c linux-4.19.98/fs/btrfs/relocation.c --- linux-4.19.87/fs/btrfs/relocation.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/relocation.c 2020-01-23 07:21:39.000000000 +0000 @@ -4474,6 +4474,7 @@ fs_root = read_fs_root(fs_info, reloc_root->root_key.offset); if (IS_ERR(fs_root)) { err = PTR_ERR(fs_root); + list_add_tail(&reloc_root->root_list, &reloc_roots); goto out_free; } diff -Nru linux-4.19.87/fs/btrfs/root-tree.c linux-4.19.98/fs/btrfs/root-tree.c --- linux-4.19.87/fs/btrfs/root-tree.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/root-tree.c 2020-01-23 07:21:39.000000000 +0000 @@ -370,11 +370,13 @@ leaf = path->nodes[0]; ref = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_root_ref); - - WARN_ON(btrfs_root_ref_dirid(leaf, ref) != dirid); - WARN_ON(btrfs_root_ref_name_len(leaf, ref) != name_len); ptr = (unsigned long)(ref + 1); - WARN_ON(memcmp_extent_buffer(leaf, name, ptr, name_len)); + if ((btrfs_root_ref_dirid(leaf, ref) != dirid) || + (btrfs_root_ref_name_len(leaf, ref) != name_len) || + memcmp_extent_buffer(leaf, name, ptr, name_len)) { + err = -ENOENT; + goto out; + } *sequence = btrfs_root_ref_sequence(leaf, ref); ret = btrfs_del_item(trans, tree_root, path); diff -Nru linux-4.19.87/fs/btrfs/scrub.c linux-4.19.98/fs/btrfs/scrub.c --- linux-4.19.87/fs/btrfs/scrub.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/scrub.c 2020-01-23 07:21:39.000000000 +0000 @@ -2145,14 +2145,13 @@ scrub_write_block_to_dev_replace(sblock); } - scrub_block_put(sblock); - if (sctx->is_dev_replace && sctx->flush_all_writes) { mutex_lock(&sctx->wr_lock); scrub_wr_submit(sctx); mutex_unlock(&sctx->wr_lock); } + scrub_block_put(sblock); scrub_pending_bio_dec(sctx); } diff -Nru linux-4.19.87/fs/btrfs/send.c linux-4.19.98/fs/btrfs/send.c --- linux-4.19.87/fs/btrfs/send.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/send.c 2020-01-23 07:21:39.000000000 +0000 @@ -25,6 +25,14 @@ #include "compression.h" /* + * Maximum number of references an extent can have in order for us to attempt to + * issue clone operations instead of write operations. This currently exists to + * avoid hitting limitations of the backreference walking code (taking a lot of + * time and using too much memory for extents with large number of references). + */ +#define SEND_MAX_EXTENT_REFS 64 + +/* * A fs_path is a helper to dynamically build path names with unknown size. * It reallocates the internal buffer on demand. * It allows fast adding of path elements on the right side (normal path) and @@ -1303,6 +1311,7 @@ struct clone_root *cur_clone_root; struct btrfs_key found_key; struct btrfs_path *tmp_path; + struct btrfs_extent_item *ei; int compressed; u32 i; @@ -1352,7 +1361,6 @@ ret = extent_from_logical(fs_info, disk_byte, tmp_path, &found_key, &flags); up_read(&fs_info->commit_root_sem); - btrfs_release_path(tmp_path); if (ret < 0) goto out; @@ -1361,6 +1369,21 @@ goto out; } + ei = btrfs_item_ptr(tmp_path->nodes[0], tmp_path->slots[0], + struct btrfs_extent_item); + /* + * Backreference walking (iterate_extent_inodes() below) is currently + * too expensive when an extent has a large number of references, both + * in time spent and used memory. So for now just fallback to write + * operations instead of clone operations when an extent has more than + * a certain amount of references. + */ + if (btrfs_extent_refs(tmp_path->nodes[0], ei) > SEND_MAX_EXTENT_REFS) { + ret = -ENOENT; + goto out; + } + btrfs_release_path(tmp_path); + /* * Setup the clone roots. */ @@ -6616,12 +6639,6 @@ spin_unlock(&send_root->root_item_lock); /* - * This is done when we lookup the root, it should already be complete - * by the time we get here. - */ - WARN_ON(send_root->orphan_cleanup_state != ORPHAN_CLEANUP_DONE); - - /* * Userspace tools do the checks and warn the user if it's * not RO. */ diff -Nru linux-4.19.87/fs/btrfs/tests/free-space-tree-tests.c linux-4.19.98/fs/btrfs/tests/free-space-tree-tests.c --- linux-4.19.87/fs/btrfs/tests/free-space-tree-tests.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/tests/free-space-tree-tests.c 2020-01-23 07:21:39.000000000 +0000 @@ -462,9 +462,9 @@ root->fs_info->tree_root = root; root->node = alloc_test_extent_buffer(root->fs_info, nodesize); - if (!root->node) { + if (IS_ERR(root->node)) { test_err("couldn't allocate dummy buffer"); - ret = -ENOMEM; + ret = PTR_ERR(root->node); goto out; } btrfs_set_header_level(root->node, 0); diff -Nru linux-4.19.87/fs/btrfs/tests/qgroup-tests.c linux-4.19.98/fs/btrfs/tests/qgroup-tests.c --- linux-4.19.87/fs/btrfs/tests/qgroup-tests.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/tests/qgroup-tests.c 2020-01-23 07:21:39.000000000 +0000 @@ -484,9 +484,9 @@ * *cough*backref walking code*cough* */ root->node = alloc_test_extent_buffer(root->fs_info, nodesize); - if (!root->node) { + if (IS_ERR(root->node)) { test_err("couldn't allocate dummy buffer"); - ret = -ENOMEM; + ret = PTR_ERR(root->node); goto out; } btrfs_set_header_level(root->node, 0); diff -Nru linux-4.19.87/fs/btrfs/tree-log.c linux-4.19.98/fs/btrfs/tree-log.c --- linux-4.19.87/fs/btrfs/tree-log.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/tree-log.c 2020-01-23 07:21:39.000000000 +0000 @@ -795,7 +795,8 @@ struct btrfs_ordered_sum, list); if (!ret) - ret = btrfs_del_csums(trans, fs_info, + ret = btrfs_del_csums(trans, + fs_info->csum_root, sums->bytenr, sums->len); if (!ret) @@ -3866,6 +3867,28 @@ return 0; } +static int log_csums(struct btrfs_trans_handle *trans, + struct btrfs_root *log_root, + struct btrfs_ordered_sum *sums) +{ + int ret; + + /* + * Due to extent cloning, we might have logged a csum item that covers a + * subrange of a cloned extent, and later we can end up logging a csum + * item for a larger subrange of the same extent or the entire range. + * This would leave csum items in the log tree that cover the same range + * and break the searches for checksums in the log tree, resulting in + * some checksums missing in the fs/subvolume tree. So just delete (or + * trim and adjust) any existing csum items in the log for this range. + */ + ret = btrfs_del_csums(trans, log_root, sums->bytenr, sums->len); + if (ret) + return ret; + + return btrfs_csum_file_blocks(trans, log_root, sums); +} + static noinline int copy_items(struct btrfs_trans_handle *trans, struct btrfs_inode *inode, struct btrfs_path *dst_path, @@ -4011,7 +4034,7 @@ struct btrfs_ordered_sum, list); if (!ret) - ret = btrfs_csum_file_blocks(trans, log, sums); + ret = log_csums(trans, log, sums); list_del(&sums->list); kfree(sums); } @@ -4231,7 +4254,7 @@ struct btrfs_ordered_sum, list); if (!ret) - ret = btrfs_csum_file_blocks(trans, log_root, sums); + ret = log_csums(trans, log_root, sums); list_del(&sums->list); kfree(sums); } @@ -5997,9 +6020,28 @@ wc.replay_dest = btrfs_read_fs_root_no_name(fs_info, &tmp_key); if (IS_ERR(wc.replay_dest)) { ret = PTR_ERR(wc.replay_dest); + + /* + * We didn't find the subvol, likely because it was + * deleted. This is ok, simply skip this log and go to + * the next one. + * + * We need to exclude the root because we can't have + * other log replays overwriting this log as we'll read + * it back in a few more times. This will keep our + * block from being modified, and we'll just bail for + * each subsequent pass. + */ + if (ret == -ENOENT) + ret = btrfs_pin_extent_for_log_replay(fs_info, + log->node->start, + log->node->len); free_extent_buffer(log->node); free_extent_buffer(log->commit_root); kfree(log); + + if (!ret) + goto next; btrfs_handle_fs_error(fs_info, ret, "Couldn't read target root for tree log recovery."); goto error; @@ -6031,7 +6073,6 @@ &root->highest_objectid); } - key.offset = found_key.offset - 1; wc.replay_dest->log_root = NULL; free_extent_buffer(log->node); free_extent_buffer(log->commit_root); @@ -6039,9 +6080,10 @@ if (ret) goto error; - +next: if (found_key.offset == 0) break; + key.offset = found_key.offset - 1; } btrfs_release_path(path); diff -Nru linux-4.19.87/fs/btrfs/uuid-tree.c linux-4.19.98/fs/btrfs/uuid-tree.c --- linux-4.19.87/fs/btrfs/uuid-tree.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/uuid-tree.c 2020-01-23 07:21:39.000000000 +0000 @@ -324,6 +324,8 @@ } if (ret < 0 && ret != -ENOENT) goto out; + key.offset++; + goto again_search_slot; } item_size -= sizeof(subid_le); offset += sizeof(subid_le); diff -Nru linux-4.19.87/fs/btrfs/volumes.c linux-4.19.98/fs/btrfs/volumes.c --- linux-4.19.87/fs/btrfs/volumes.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/volumes.c 2020-01-23 07:21:39.000000000 +0000 @@ -96,7 +96,7 @@ .devs_min = 2, .tolerated_failures = 1, .devs_increment = 1, - .ncopies = 2, + .ncopies = 1, .raid_name = "raid5", .bg_flag = BTRFS_BLOCK_GROUP_RAID5, .mindev_error = BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET, @@ -108,7 +108,7 @@ .devs_min = 3, .tolerated_failures = 2, .devs_increment = 1, - .ncopies = 3, + .ncopies = 1, .raid_name = "raid6", .bg_flag = BTRFS_BLOCK_GROUP_RAID6, .mindev_error = BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET, @@ -6106,12 +6106,6 @@ int should_queue = 1; struct btrfs_pending_bios *pending_bios; - if (test_bit(BTRFS_DEV_STATE_MISSING, &device->dev_state) || - !device->bdev) { - bio_io_error(bio); - return; - } - /* don't bother with additional async steps for reads, right now */ if (bio_op(bio) == REQ_OP_READ) { btrfsic_submit_bio(bio); @@ -6240,7 +6234,8 @@ for (dev_nr = 0; dev_nr < total_devs; dev_nr++) { dev = bbio->stripes[dev_nr].dev; - if (!dev || !dev->bdev || + if (!dev || !dev->bdev || test_bit(BTRFS_DEV_STATE_MISSING, + &dev->dev_state) || (bio_op(first_bio) == REQ_OP_WRITE && !test_bit(BTRFS_DEV_STATE_WRITEABLE, &dev->dev_state))) { bbio_error(bbio, first_bio, logical); diff -Nru linux-4.19.87/fs/btrfs/volumes.h linux-4.19.98/fs/btrfs/volumes.h --- linux-4.19.87/fs/btrfs/volumes.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/btrfs/volumes.h 2020-01-23 07:21:39.000000000 +0000 @@ -304,7 +304,6 @@ u64 map_type; /* get from map_lookup->type */ bio_end_io_t *end_io; struct bio *orig_bio; - unsigned long flags; void *private; atomic_t error; int max_errors; diff -Nru linux-4.19.87/fs/ceph/super.c linux-4.19.98/fs/ceph/super.c --- linux-4.19.87/fs/ceph/super.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/ceph/super.c 2020-01-23 07:21:39.000000000 +0000 @@ -248,6 +248,7 @@ return -ENOMEM; break; case Opt_fscache_uniq: +#ifdef CONFIG_CEPH_FSCACHE kfree(fsopt->fscache_uniq); fsopt->fscache_uniq = kstrndup(argstr[0].from, argstr[0].to-argstr[0].from, @@ -256,7 +257,10 @@ return -ENOMEM; fsopt->flags |= CEPH_MOUNT_OPT_FSCACHE; break; - /* misc */ +#else + pr_err("fscache support is disabled\n"); + return -EINVAL; +#endif case Opt_wsize: if (intval < (int)PAGE_SIZE || intval > CEPH_MAX_WRITE_SIZE) return -EINVAL; @@ -328,10 +332,15 @@ fsopt->flags &= ~CEPH_MOUNT_OPT_INO32; break; case Opt_fscache: +#ifdef CONFIG_CEPH_FSCACHE fsopt->flags |= CEPH_MOUNT_OPT_FSCACHE; kfree(fsopt->fscache_uniq); fsopt->fscache_uniq = NULL; break; +#else + pr_err("fscache support is disabled\n"); + return -EINVAL; +#endif case Opt_nofscache: fsopt->flags &= ~CEPH_MOUNT_OPT_FSCACHE; kfree(fsopt->fscache_uniq); diff -Nru linux-4.19.87/fs/char_dev.c linux-4.19.98/fs/char_dev.c --- linux-4.19.87/fs/char_dev.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/char_dev.c 2020-01-23 07:21:39.000000000 +0000 @@ -361,7 +361,7 @@ if (owner && !try_module_get(owner)) return NULL; - kobj = kobject_get(&p->kobj); + kobj = kobject_get_unless_zero(&p->kobj); if (!kobj) module_put(owner); return kobj; diff -Nru linux-4.19.87/fs/cifs/cifs_debug.c linux-4.19.98/fs/cifs/cifs_debug.c --- linux-4.19.87/fs/cifs/cifs_debug.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/cifs/cifs_debug.c 2020-01-23 07:21:39.000000000 +0000 @@ -210,6 +210,11 @@ if (!server->rdma) goto skip_rdma; + if (!server->smbd_conn) { + seq_printf(m, "\nSMBDirect transport not available"); + goto skip_rdma; + } + seq_printf(m, "\nSMBDirect (in hex) protocol version: %x " "transport status: %x", server->smbd_conn->protocol, diff -Nru linux-4.19.87/fs/cifs/file.c linux-4.19.98/fs/cifs/file.c --- linux-4.19.87/fs/cifs/file.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/cifs/file.c 2020-01-23 07:21:39.000000000 +0000 @@ -312,9 +312,6 @@ INIT_LIST_HEAD(&fdlocks->locks); fdlocks->cfile = cfile; cfile->llist = fdlocks; - cifs_down_write(&cinode->lock_sem); - list_add(&fdlocks->llist, &cinode->llist); - up_write(&cinode->lock_sem); cfile->count = 1; cfile->pid = current->tgid; @@ -338,6 +335,10 @@ oplock = 0; } + cifs_down_write(&cinode->lock_sem); + list_add(&fdlocks->llist, &cinode->llist); + up_write(&cinode->lock_sem); + spin_lock(&tcon->open_file_lock); if (fid->pending_open->oplock != CIFS_OPLOCK_NO_CHANGE && oplock) oplock = fid->pending_open->oplock; @@ -725,6 +726,13 @@ if (backup_cred(cifs_sb)) create_options |= CREATE_OPEN_BACKUP_INTENT; + /* O_SYNC also has bit for O_DSYNC so following check picks up either */ + if (cfile->f_flags & O_SYNC) + create_options |= CREATE_WRITE_THROUGH; + + if (cfile->f_flags & O_DIRECT) + create_options |= CREATE_NO_BUFFER; + if (server->ops->get_lease_key) server->ops->get_lease_key(inode, &cfile->fid); diff -Nru linux-4.19.87/fs/cifs/smb2file.c linux-4.19.98/fs/cifs/smb2file.c --- linux-4.19.87/fs/cifs/smb2file.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/cifs/smb2file.c 2020-01-23 07:21:39.000000000 +0000 @@ -67,7 +67,7 @@ goto out; - if (oparms->tcon->use_resilient) { + if (oparms->tcon->use_resilient) { nr_ioctl_req.Timeout = 0; /* use server default (120 seconds) */ nr_ioctl_req.Reserved = 0; rc = SMB2_ioctl(xid, oparms->tcon, fid->persistent_fid, diff -Nru linux-4.19.87/fs/cifs/smb2misc.c linux-4.19.98/fs/cifs/smb2misc.c --- linux-4.19.87/fs/cifs/smb2misc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/cifs/smb2misc.c 2020-01-23 07:21:39.000000000 +0000 @@ -673,10 +673,10 @@ spin_lock(&cifs_tcp_ses_lock); list_for_each(tmp, &server->smb_ses_list) { ses = list_entry(tmp, struct cifs_ses, smb_ses_list); + list_for_each(tmp1, &ses->tcon_list) { tcon = list_entry(tmp1, struct cifs_tcon, tcon_list); - cifs_stats_inc(&tcon->stats.cifs_stats.num_oplock_brks); spin_lock(&tcon->open_file_lock); list_for_each(tmp2, &tcon->openFileList) { cfile = list_entry(tmp2, struct cifsFileInfo, @@ -688,6 +688,8 @@ continue; cifs_dbg(FYI, "file id match, oplock break\n"); + cifs_stats_inc( + &tcon->stats.cifs_stats.num_oplock_brks); cinode = CIFS_I(d_inode(cfile->dentry)); spin_lock(&cfile->file_info_lock); if (!CIFS_CACHE_WRITE(cinode) && @@ -720,9 +722,6 @@ return true; } spin_unlock(&tcon->open_file_lock); - spin_unlock(&cifs_tcp_ses_lock); - cifs_dbg(FYI, "No matching file for oplock break\n"); - return true; } } spin_unlock(&cifs_tcp_ses_lock); @@ -744,36 +743,67 @@ kfree(cancelled); } +/* Caller should already has an extra reference to @tcon */ +static int +__smb2_handle_cancelled_close(struct cifs_tcon *tcon, __u64 persistent_fid, + __u64 volatile_fid) +{ + struct close_cancelled_open *cancelled; + + cancelled = kzalloc(sizeof(*cancelled), GFP_KERNEL); + if (!cancelled) + return -ENOMEM; + + cancelled->fid.persistent_fid = persistent_fid; + cancelled->fid.volatile_fid = volatile_fid; + cancelled->tcon = tcon; + INIT_WORK(&cancelled->work, smb2_cancelled_close_fid); + WARN_ON(queue_work(cifsiod_wq, &cancelled->work) == false); + + return 0; +} + +int +smb2_handle_cancelled_close(struct cifs_tcon *tcon, __u64 persistent_fid, + __u64 volatile_fid) +{ + int rc; + + cifs_dbg(FYI, "%s: tc_count=%d\n", __func__, tcon->tc_count); + spin_lock(&cifs_tcp_ses_lock); + tcon->tc_count++; + spin_unlock(&cifs_tcp_ses_lock); + + rc = __smb2_handle_cancelled_close(tcon, persistent_fid, volatile_fid); + if (rc) + cifs_put_tcon(tcon); + + return rc; +} + int smb2_handle_cancelled_mid(char *buffer, struct TCP_Server_Info *server) { struct smb2_sync_hdr *sync_hdr = (struct smb2_sync_hdr *)buffer; struct smb2_create_rsp *rsp = (struct smb2_create_rsp *)buffer; struct cifs_tcon *tcon; - struct close_cancelled_open *cancelled; + int rc; if (sync_hdr->Command != SMB2_CREATE || sync_hdr->Status != STATUS_SUCCESS) return 0; - cancelled = kzalloc(sizeof(*cancelled), GFP_KERNEL); - if (!cancelled) - return -ENOMEM; - tcon = smb2_find_smb_tcon(server, sync_hdr->SessionId, sync_hdr->TreeId); - if (!tcon) { - kfree(cancelled); + if (!tcon) return -ENOENT; - } - cancelled->fid.persistent_fid = rsp->PersistentFileId; - cancelled->fid.volatile_fid = rsp->VolatileFileId; - cancelled->tcon = tcon; - INIT_WORK(&cancelled->work, smb2_cancelled_close_fid); - queue_work(cifsiod_wq, &cancelled->work); + rc = __smb2_handle_cancelled_close(tcon, rsp->PersistentFileId, + rsp->VolatileFileId); + if (rc) + cifs_put_tcon(tcon); - return 0; + return rc; } /** diff -Nru linux-4.19.87/fs/cifs/smb2pdu.c linux-4.19.98/fs/cifs/smb2pdu.c --- linux-4.19.87/fs/cifs/smb2pdu.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/cifs/smb2pdu.c 2020-01-23 07:21:39.000000000 +0000 @@ -168,7 +168,7 @@ if (tcon == NULL) return 0; - if (smb2_command == SMB2_TREE_CONNECT || smb2_command == SMB2_IOCTL) + if (smb2_command == SMB2_TREE_CONNECT) return 0; if (tcon->tidStatus == CifsExiting) { @@ -335,16 +335,9 @@ * SMB information in the SMB header. If the return code is zero, this * function must have filled in request_buf pointer. */ -static int -smb2_plain_req_init(__le16 smb2_command, struct cifs_tcon *tcon, - void **request_buf, unsigned int *total_len) +static int __smb2_plain_req_init(__le16 smb2_command, struct cifs_tcon *tcon, + void **request_buf, unsigned int *total_len) { - int rc; - - rc = smb2_reconnect(smb2_command, tcon); - if (rc) - return rc; - /* BB eventually switch this to SMB2 specific small buf size */ if (smb2_command == SMB2_SET_INFO) *request_buf = cifs_buf_get(); @@ -365,7 +358,31 @@ cifs_stats_inc(&tcon->num_smbs_sent); } - return rc; + return 0; +} + +static int smb2_plain_req_init(__le16 smb2_command, struct cifs_tcon *tcon, + void **request_buf, unsigned int *total_len) +{ + int rc; + + rc = smb2_reconnect(smb2_command, tcon); + if (rc) + return rc; + + return __smb2_plain_req_init(smb2_command, tcon, request_buf, + total_len); +} + +static int smb2_ioctl_req_init(u32 opcode, struct cifs_tcon *tcon, + void **request_buf, unsigned int *total_len) +{ + /* Skip reconnect only for FSCTL_VALIDATE_NEGOTIATE_INFO IOCTLs */ + if (opcode == FSCTL_VALIDATE_NEGOTIATE_INFO) { + return __smb2_plain_req_init(SMB2_IOCTL, tcon, request_buf, + total_len); + } + return smb2_plain_req_init(SMB2_IOCTL, tcon, request_buf, total_len); } @@ -2386,7 +2403,7 @@ if (!ses || !(ses->server)) return -EIO; - rc = smb2_plain_req_init(SMB2_IOCTL, tcon, (void **) &req, &total_len); + rc = smb2_ioctl_req_init(opcode, tcon, (void **) &req, &total_len); if (rc) return rc; @@ -2612,7 +2629,21 @@ SMB2_close(const unsigned int xid, struct cifs_tcon *tcon, u64 persistent_fid, u64 volatile_fid) { - return SMB2_close_flags(xid, tcon, persistent_fid, volatile_fid, 0); + int rc; + int tmp_rc; + + rc = SMB2_close_flags(xid, tcon, persistent_fid, volatile_fid, 0); + + /* retry close in a worker thread if this one is interrupted */ + if (rc == -EINTR) { + tmp_rc = smb2_handle_cancelled_close(tcon, persistent_fid, + volatile_fid); + if (tmp_rc) + cifs_dbg(VFS, "handle cancelled close fid 0x%llx returned error %d\n", + persistent_fid, tmp_rc); + } + + return rc; } int diff -Nru linux-4.19.87/fs/cifs/smb2proto.h linux-4.19.98/fs/cifs/smb2proto.h --- linux-4.19.87/fs/cifs/smb2proto.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/cifs/smb2proto.h 2020-01-23 07:21:39.000000000 +0000 @@ -204,6 +204,9 @@ extern int SMB2_oplock_break(const unsigned int xid, struct cifs_tcon *tcon, const u64 persistent_fid, const u64 volatile_fid, const __u8 oplock_level); +extern int smb2_handle_cancelled_close(struct cifs_tcon *tcon, + __u64 persistent_fid, + __u64 volatile_fid); extern int smb2_handle_cancelled_mid(char *buffer, struct TCP_Server_Info *server); void smb2_cancelled_close_fid(struct work_struct *work); diff -Nru linux-4.19.87/fs/cifs/smbdirect.c linux-4.19.98/fs/cifs/smbdirect.c --- linux-4.19.87/fs/cifs/smbdirect.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/cifs/smbdirect.c 2020-01-23 07:21:39.000000000 +0000 @@ -1164,7 +1164,7 @@ if (n_vec > SMBDIRECT_MAX_SGE) { cifs_dbg(VFS, "Can't fit data to SGL, n_vec=%d\n", n_vec); - return -ENOMEM; + return -EINVAL; } sg_init_table(sgl, n_vec); @@ -1491,6 +1491,7 @@ info->transport_status == SMBD_DESTROYED); destroy_workqueue(info->workqueue); + log_rdma_event(INFO, "rdma session destroyed\n"); kfree(info); } @@ -1528,8 +1529,9 @@ log_rdma_event(INFO, "creating rdma session\n"); server->smbd_conn = smbd_get_connection( server, (struct sockaddr *) &server->dstaddr); - log_rdma_event(INFO, "created rdma session info=%p\n", - server->smbd_conn); + + if (server->smbd_conn) + cifs_dbg(VFS, "RDMA transport re-established\n"); return server->smbd_conn ? 0 : -ENOENT; } diff -Nru linux-4.19.87/fs/cifs/transport.c linux-4.19.98/fs/cifs/transport.c --- linux-4.19.87/fs/cifs/transport.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/cifs/transport.c 2020-01-23 07:21:39.000000000 +0000 @@ -286,8 +286,11 @@ int val = 1; __be32 rfc1002_marker; - if (cifs_rdma_enabled(server) && server->smbd_conn) { - rc = smbd_send(server, num_rqst, rqst); + if (cifs_rdma_enabled(server)) { + /* return -EAGAIN when connecting or reconnecting */ + rc = -EAGAIN; + if (server->smbd_conn) + rc = smbd_send(server, num_rqst, rqst); goto smbd_done; } if (ssocket == NULL) diff -Nru linux-4.19.87/fs/compat_ioctl.c linux-4.19.98/fs/compat_ioctl.c --- linux-4.19.87/fs/compat_ioctl.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/compat_ioctl.c 2020-01-23 07:21:39.000000000 +0000 @@ -1401,10 +1401,11 @@ #endif case FICLONE: + goto do_ioctl; case FICLONERANGE: case FIDEDUPERANGE: case FS_IOC_FIEMAP: - goto do_ioctl; + goto found_handler; case FIBMAP: case FIGETBSZ: diff -Nru linux-4.19.87/fs/dlm/lockspace.c linux-4.19.98/fs/dlm/lockspace.c --- linux-4.19.87/fs/dlm/lockspace.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/dlm/lockspace.c 2020-01-23 07:21:39.000000000 +0000 @@ -807,6 +807,7 @@ dlm_delete_debug_file(ls); + idr_destroy(&ls->ls_recover_idr); kfree(ls->ls_recover_buf); /* diff -Nru linux-4.19.87/fs/dlm/member.c linux-4.19.98/fs/dlm/member.c --- linux-4.19.87/fs/dlm/member.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/dlm/member.c 2020-01-23 07:21:39.000000000 +0000 @@ -671,7 +671,7 @@ int dlm_ls_start(struct dlm_ls *ls) { struct dlm_recover *rv, *rv_old; - struct dlm_config_node *nodes; + struct dlm_config_node *nodes = NULL; int error, count; rv = kzalloc(sizeof(*rv), GFP_NOFS); diff -Nru linux-4.19.87/fs/dlm/memory.c linux-4.19.98/fs/dlm/memory.c --- linux-4.19.87/fs/dlm/memory.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/dlm/memory.c 2020-01-23 07:21:39.000000000 +0000 @@ -38,10 +38,8 @@ void dlm_memory_exit(void) { - if (lkb_cache) - kmem_cache_destroy(lkb_cache); - if (rsb_cache) - kmem_cache_destroy(rsb_cache); + kmem_cache_destroy(lkb_cache); + kmem_cache_destroy(rsb_cache); } char *dlm_allocate_lvb(struct dlm_ls *ls) @@ -86,8 +84,7 @@ struct dlm_user_args *ua; ua = lkb->lkb_ua; if (ua) { - if (ua->lksb.sb_lvbptr) - kfree(ua->lksb.sb_lvbptr); + kfree(ua->lksb.sb_lvbptr); kfree(ua); } } diff -Nru linux-4.19.87/fs/dlm/user.c linux-4.19.98/fs/dlm/user.c --- linux-4.19.87/fs/dlm/user.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/dlm/user.c 2020-01-23 07:21:39.000000000 +0000 @@ -25,6 +25,7 @@ #include "lvb_table.h" #include "user.h" #include "ast.h" +#include "config.h" static const char name_prefix[] = "dlm"; static const struct file_operations device_fops; @@ -404,7 +405,7 @@ if (!capable(CAP_SYS_ADMIN)) return -EPERM; - error = dlm_new_lockspace(params->name, NULL, params->flags, + error = dlm_new_lockspace(params->name, dlm_config.ci_cluster_name, params->flags, DLM_USER_LVB_LEN, NULL, NULL, NULL, &lockspace); if (error) diff -Nru linux-4.19.87/fs/drop_caches.c linux-4.19.98/fs/drop_caches.c --- linux-4.19.87/fs/drop_caches.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/drop_caches.c 2020-01-23 07:21:39.000000000 +0000 @@ -35,11 +35,11 @@ spin_unlock(&inode->i_lock); spin_unlock(&sb->s_inode_list_lock); - cond_resched(); invalidate_mapping_pages(inode->i_mapping, 0, -1); iput(toput_inode); toput_inode = inode; + cond_resched(); spin_lock(&sb->s_inode_list_lock); } spin_unlock(&sb->s_inode_list_lock); diff -Nru linux-4.19.87/fs/exofs/super.c linux-4.19.98/fs/exofs/super.c --- linux-4.19.87/fs/exofs/super.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/exofs/super.c 2020-01-23 07:21:39.000000000 +0000 @@ -705,21 +705,18 @@ /* * Read the superblock from the OSD and fill in the fields */ -static int exofs_fill_super(struct super_block *sb, void *data, int silent) +static int exofs_fill_super(struct super_block *sb, + struct exofs_mountopt *opts, + struct exofs_sb_info *sbi, + int silent) { struct inode *root; - struct exofs_mountopt *opts = data; - struct exofs_sb_info *sbi; /*extended info */ struct osd_dev *od; /* Master device */ struct exofs_fscb fscb; /*on-disk superblock info */ struct ore_comp comp; unsigned table_count; int ret; - sbi = kzalloc(sizeof(*sbi), GFP_KERNEL); - if (!sbi) - return -ENOMEM; - /* use mount options to fill superblock */ if (opts->is_osdname) { struct osd_dev_info odi = {.systemid_len = 0}; @@ -863,7 +860,9 @@ int flags, const char *dev_name, void *data) { + struct super_block *s; struct exofs_mountopt opts; + struct exofs_sb_info *sbi; int ret; ret = parse_options(data, &opts); @@ -872,9 +871,31 @@ return ERR_PTR(ret); } + sbi = kzalloc(sizeof(*sbi), GFP_KERNEL); + if (!sbi) { + kfree(opts.dev_name); + return ERR_PTR(-ENOMEM); + } + + s = sget(type, NULL, set_anon_super, flags, NULL); + + if (IS_ERR(s)) { + kfree(opts.dev_name); + kfree(sbi); + return ERR_CAST(s); + } + if (!opts.dev_name) opts.dev_name = dev_name; - return mount_nodev(type, flags, &opts, exofs_fill_super); + + + ret = exofs_fill_super(s, &opts, sbi, flags & SB_SILENT ? 1 : 0); + if (ret) { + deactivate_locked_super(s); + return ERR_PTR(ret); + } + s->s_flags |= SB_ACTIVE; + return dget(s->s_root); } /* diff -Nru linux-4.19.87/fs/exportfs/expfs.c linux-4.19.98/fs/exportfs/expfs.c --- linux-4.19.87/fs/exportfs/expfs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/exportfs/expfs.c 2020-01-23 07:21:39.000000000 +0000 @@ -517,26 +517,33 @@ * inode is actually connected to the parent. */ err = exportfs_get_name(mnt, target_dir, nbuf, result); - if (!err) { - inode_lock(target_dir->d_inode); - nresult = lookup_one_len(nbuf, target_dir, - strlen(nbuf)); - inode_unlock(target_dir->d_inode); - if (!IS_ERR(nresult)) { - if (nresult->d_inode) { - dput(result); - result = nresult; - } else - dput(nresult); - } + if (err) { + dput(target_dir); + goto err_result; } + inode_lock(target_dir->d_inode); + nresult = lookup_one_len(nbuf, target_dir, strlen(nbuf)); + if (!IS_ERR(nresult)) { + if (unlikely(nresult->d_inode != result->d_inode)) { + dput(nresult); + nresult = ERR_PTR(-ESTALE); + } + } + inode_unlock(target_dir->d_inode); /* * At this point we are done with the parent, but it's pinned * by the child dentry anyway. */ dput(target_dir); + if (IS_ERR(nresult)) { + err = PTR_ERR(nresult); + goto err_result; + } + dput(result); + result = nresult; + /* * And finally make sure the dentry is actually acceptable * to NFSD. diff -Nru linux-4.19.87/fs/ext2/inode.c linux-4.19.98/fs/ext2/inode.c --- linux-4.19.87/fs/ext2/inode.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/ext2/inode.c 2020-01-23 07:21:39.000000000 +0000 @@ -699,10 +699,13 @@ if (!partial) { count++; mutex_unlock(&ei->truncate_mutex); - if (err) - goto cleanup; goto got_it; } + + if (err) { + mutex_unlock(&ei->truncate_mutex); + goto cleanup; + } } /* diff -Nru linux-4.19.87/fs/ext4/dir.c linux-4.19.98/fs/ext4/dir.c --- linux-4.19.87/fs/ext4/dir.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/ext4/dir.c 2020-01-23 07:21:39.000000000 +0000 @@ -77,6 +77,11 @@ error_msg = "rec_len is too small for name_len"; else if (unlikely(((char *) de - buf) + rlen > size)) error_msg = "directory entry overrun"; + else if (unlikely(((char *) de - buf) + rlen > + size - EXT4_DIR_REC_LEN(1) && + ((char *) de - buf) + rlen != size)) { + error_msg = "directory entry too close to block end"; + } else if (unlikely(le32_to_cpu(de->inode) > le32_to_cpu(EXT4_SB(dir->i_sb)->s_es->s_inodes_count))) error_msg = "inode out of bounds"; diff -Nru linux-4.19.87/fs/ext4/inode.c linux-4.19.98/fs/ext4/inode.c --- linux-4.19.87/fs/ext4/inode.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/ext4/inode.c 2020-01-23 07:21:39.000000000 +0000 @@ -196,7 +196,12 @@ { handle_t *handle; int err; - int extra_credits = 3; + /* + * Credits for final inode cleanup and freeing: + * sb + inode (ext4_orphan_del()), block bitmap, group descriptor + * (xattr block freeing), bitmap, group descriptor (inode freeing) + */ + int extra_credits = 6; struct ext4_xattr_inode_array *ea_inode_array = NULL; trace_ext4_evict_inode(inode); @@ -252,8 +257,12 @@ if (!IS_NOQUOTA(inode)) extra_credits += EXT4_MAXQUOTAS_DEL_BLOCKS(inode->i_sb); + /* + * Block bitmap, group descriptor, and inode are accounted in both + * ext4_blocks_for_truncate() and extra_credits. So subtract 3. + */ handle = ext4_journal_start(inode, EXT4_HT_TRUNCATE, - ext4_blocks_for_truncate(inode)+extra_credits); + ext4_blocks_for_truncate(inode) + extra_credits - 3); if (IS_ERR(handle)) { ext4_std_error(inode->i_sb, PTR_ERR(handle)); /* @@ -3535,8 +3544,14 @@ return ret; } + /* + * Writes that span EOF might trigger an I/O size update on completion, + * so consider them to be dirty for the purposes of O_DSYNC, even if + * there is no other metadata changes being made or are pending here. + */ iomap->flags = 0; - if (ext4_inode_datasync_dirty(inode)) + if (ext4_inode_datasync_dirty(inode) || + offset + length > i_size_read(inode)) iomap->flags |= IOMAP_F_DIRTY; iomap->bdev = inode->i_sb->s_bdev; iomap->dax_dev = sbi->s_daxdev; @@ -3839,7 +3854,13 @@ * writes & truncates and since we take care of writing back page cache, * we are protected against page writeback as well. */ - inode_lock_shared(inode); + if (iocb->ki_flags & IOCB_NOWAIT) { + if (!inode_trylock_shared(inode)) + return -EAGAIN; + } else { + inode_lock_shared(inode); + } + ret = filemap_write_and_wait_range(mapping, iocb->ki_pos, iocb->ki_pos + count - 1); if (ret) @@ -5450,11 +5471,15 @@ offset = inode->i_size & (PAGE_SIZE - 1); /* - * All buffers in the last page remain valid? Then there's nothing to - * do. We do the check mainly to optimize the common PAGE_SIZE == - * blocksize case + * If the page is fully truncated, we don't need to wait for any commit + * (and we even should not as __ext4_journalled_invalidatepage() may + * strip all buffers from the page but keep the page dirty which can then + * confuse e.g. concurrent ext4_writepage() seeing dirty page without + * buffers). Also we don't need to wait for any commit if all buffers in + * the page remain valid. This is most beneficial for the common case of + * blocksize == PAGESIZE. */ - if (offset > PAGE_SIZE - i_blocksize(inode)) + if (!offset || offset > (PAGE_SIZE - i_blocksize(inode))) return; while (1) { page = find_lock_page(inode->i_mapping, @@ -5904,8 +5929,23 @@ { struct ext4_inode *raw_inode; struct ext4_xattr_ibody_header *header; + unsigned int inode_size = EXT4_INODE_SIZE(inode->i_sb); + struct ext4_inode_info *ei = EXT4_I(inode); int error; + /* this was checked at iget time, but double check for good measure */ + if ((EXT4_GOOD_OLD_INODE_SIZE + ei->i_extra_isize > inode_size) || + (ei->i_extra_isize & 3)) { + EXT4_ERROR_INODE(inode, "bad extra_isize %u (inode size %u)", + ei->i_extra_isize, + EXT4_INODE_SIZE(inode->i_sb)); + return -EFSCORRUPTED; + } + if ((new_extra_isize < ei->i_extra_isize) || + (new_extra_isize < 4) || + (new_extra_isize > inode_size - EXT4_GOOD_OLD_INODE_SIZE)) + return -EINVAL; /* Should never happen */ + raw_inode = ext4_raw_inode(iloc); header = IHDR(inode, raw_inode); @@ -5999,7 +6039,7 @@ error = ext4_journal_get_write_access(handle, iloc->bh); if (error) { brelse(iloc->bh); - goto out_stop; + goto out_unlock; } error = __ext4_expand_extra_isize(inode, new_extra_isize, iloc, @@ -6009,8 +6049,8 @@ if (!error) error = rc; +out_unlock: ext4_write_unlock_xattr(inode, &no_expand); -out_stop: ext4_journal_stop(handle); return error; } diff -Nru linux-4.19.87/fs/ext4/namei.c linux-4.19.98/fs/ext4/namei.c --- linux-4.19.87/fs/ext4/namei.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/ext4/namei.c 2020-01-23 07:21:39.000000000 +0000 @@ -2693,7 +2693,7 @@ { unsigned int offset; struct buffer_head *bh; - struct ext4_dir_entry_2 *de, *de1; + struct ext4_dir_entry_2 *de; struct super_block *sb; if (ext4_has_inline_data(inode)) { @@ -2718,19 +2718,25 @@ return true; de = (struct ext4_dir_entry_2 *) bh->b_data; - de1 = ext4_next_entry(de, sb->s_blocksize); - if (le32_to_cpu(de->inode) != inode->i_ino || - le32_to_cpu(de1->inode) == 0 || - strcmp(".", de->name) || strcmp("..", de1->name)) { - ext4_warning_inode(inode, "directory missing '.' and/or '..'"); + if (ext4_check_dir_entry(inode, NULL, de, bh, bh->b_data, bh->b_size, + 0) || + le32_to_cpu(de->inode) != inode->i_ino || strcmp(".", de->name)) { + ext4_warning_inode(inode, "directory missing '.'"); brelse(bh); return true; } - offset = ext4_rec_len_from_disk(de->rec_len, sb->s_blocksize) + - ext4_rec_len_from_disk(de1->rec_len, sb->s_blocksize); - de = ext4_next_entry(de1, sb->s_blocksize); + offset = ext4_rec_len_from_disk(de->rec_len, sb->s_blocksize); + de = ext4_next_entry(de, sb->s_blocksize); + if (ext4_check_dir_entry(inode, NULL, de, bh, bh->b_data, bh->b_size, + offset) || + le32_to_cpu(de->inode) == 0 || strcmp("..", de->name)) { + ext4_warning_inode(inode, "directory missing '..'"); + brelse(bh); + return true; + } + offset += ext4_rec_len_from_disk(de->rec_len, sb->s_blocksize); while (offset < inode->i_size) { - if ((void *) de >= (void *) (bh->b_data+sb->s_blocksize)) { + if (!(offset & (sb->s_blocksize - 1))) { unsigned int lblock; brelse(bh); lblock = offset >> EXT4_BLOCK_SIZE_BITS(sb); @@ -2741,12 +2747,11 @@ } if (IS_ERR(bh)) return true; - de = (struct ext4_dir_entry_2 *) bh->b_data; } + de = (struct ext4_dir_entry_2 *) (bh->b_data + + (offset & (sb->s_blocksize - 1))); if (ext4_check_dir_entry(inode, NULL, de, bh, bh->b_data, bh->b_size, offset)) { - de = (struct ext4_dir_entry_2 *)(bh->b_data + - sb->s_blocksize); offset = (offset | (sb->s_blocksize - 1)) + 1; continue; } @@ -2755,7 +2760,6 @@ return false; } offset += ext4_rec_len_from_disk(de->rec_len, sb->s_blocksize); - de = ext4_next_entry(de, sb->s_blocksize); } brelse(bh); return true; @@ -3056,18 +3060,17 @@ if (IS_DIRSYNC(dir)) ext4_handle_sync(handle); - if (inode->i_nlink == 0) { - ext4_warning_inode(inode, "Deleting file '%.*s' with no links", - dentry->d_name.len, dentry->d_name.name); - set_nlink(inode, 1); - } retval = ext4_delete_entry(handle, dir, de, bh); if (retval) goto end_unlink; dir->i_ctime = dir->i_mtime = current_time(dir); ext4_update_dx_flag(dir); ext4_mark_inode_dirty(handle, dir); - drop_nlink(inode); + if (inode->i_nlink == 0) + ext4_warning_inode(inode, "Deleting file '%.*s' with no links", + dentry->d_name.len, dentry->d_name.name); + else + drop_nlink(inode); if (!inode->i_nlink) ext4_orphan_add(handle, inode); inode->i_ctime = current_time(inode); diff -Nru linux-4.19.87/fs/ext4/super.c linux-4.19.98/fs/ext4/super.c --- linux-4.19.87/fs/ext4/super.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/ext4/super.c 2020-01-23 07:21:39.000000000 +0000 @@ -3517,12 +3517,15 @@ { struct ext4_sb_info *sbi = EXT4_SB(sb); struct ext4_super_block *es = sbi->s_es; + unsigned def_extra_isize = sizeof(struct ext4_inode) - + EXT4_GOOD_OLD_INODE_SIZE; - /* determine the minimum size of new large inodes, if present */ - if (sbi->s_inode_size > EXT4_GOOD_OLD_INODE_SIZE && - sbi->s_want_extra_isize == 0) { - sbi->s_want_extra_isize = sizeof(struct ext4_inode) - - EXT4_GOOD_OLD_INODE_SIZE; + if (sbi->s_inode_size == EXT4_GOOD_OLD_INODE_SIZE) { + sbi->s_want_extra_isize = 0; + return; + } + if (sbi->s_want_extra_isize < 4) { + sbi->s_want_extra_isize = def_extra_isize; if (ext4_has_feature_extra_isize(sb)) { if (sbi->s_want_extra_isize < le16_to_cpu(es->s_want_extra_isize)) @@ -3535,10 +3538,10 @@ } } /* Check if enough inode space is available */ - if (EXT4_GOOD_OLD_INODE_SIZE + sbi->s_want_extra_isize > - sbi->s_inode_size) { - sbi->s_want_extra_isize = sizeof(struct ext4_inode) - - EXT4_GOOD_OLD_INODE_SIZE; + if ((sbi->s_want_extra_isize > sbi->s_inode_size) || + (EXT4_GOOD_OLD_INODE_SIZE + sbi->s_want_extra_isize > + sbi->s_inode_size)) { + sbi->s_want_extra_isize = def_extra_isize; ext4_msg(sb, KERN_INFO, "required extra inode space not available"); } diff -Nru linux-4.19.87/fs/f2fs/data.c linux-4.19.98/fs/f2fs/data.c --- linux-4.19.87/fs/f2fs/data.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/f2fs/data.c 2020-01-23 07:21:39.000000000 +0000 @@ -1857,7 +1857,7 @@ loff_t i_size = i_size_read(inode); const pgoff_t end_index = ((unsigned long long) i_size) >> PAGE_SHIFT; - loff_t psize = (page->index + 1) << PAGE_SHIFT; + loff_t psize = (loff_t)(page->index + 1) << PAGE_SHIFT; unsigned offset = 0; bool need_balance_fs = false; int err = 0; diff -Nru linux-4.19.87/fs/f2fs/dir.c linux-4.19.98/fs/f2fs/dir.c --- linux-4.19.87/fs/f2fs/dir.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/f2fs/dir.c 2020-01-23 07:21:39.000000000 +0000 @@ -785,6 +785,7 @@ struct f2fs_dir_entry *de = NULL; struct fscrypt_str de_name = FSTR_INIT(NULL, 0); struct f2fs_sb_info *sbi = F2FS_I_SB(d->inode); + int err = 0; bit_pos = ((unsigned long)ctx->pos % d->max); @@ -805,9 +806,20 @@ de_name.name = d->filename[bit_pos]; de_name.len = le16_to_cpu(de->name_len); + /* check memory boundary before moving forward */ + bit_pos += GET_DENTRY_SLOTS(le16_to_cpu(de->name_len)); + if (unlikely(bit_pos > d->max || + le16_to_cpu(de->name_len) > F2FS_NAME_LEN)) { + f2fs_msg(sbi->sb, KERN_WARNING, + "%s: corrupted namelen=%d, run fsck to fix.", + __func__, le16_to_cpu(de->name_len)); + set_sbi_flag(sbi, SBI_NEED_FSCK); + err = -EINVAL; + goto out; + } + if (f2fs_encrypted_inode(d->inode)) { int save_len = fstr->len; - int err; err = fscrypt_fname_disk_to_usr(d->inode, (u32)de->hash_code, 0, @@ -826,10 +838,10 @@ if (sbi->readdir_ra == 1) f2fs_ra_node_page(sbi, le32_to_cpu(de->ino)); - bit_pos += GET_DENTRY_SLOTS(le16_to_cpu(de->name_len)); ctx->pos = start_pos + bit_pos; } - return 0; +out: + return err; } static int f2fs_readdir(struct file *file, struct dir_context *ctx) diff -Nru linux-4.19.87/fs/f2fs/f2fs.h linux-4.19.98/fs/f2fs/f2fs.h --- linux-4.19.87/fs/f2fs/f2fs.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/f2fs/f2fs.h 2020-01-23 07:21:39.000000000 +0000 @@ -2578,6 +2578,20 @@ f2fs_mark_inode_dirty_sync(inode, true); } +static inline bool f2fs_is_time_consistent(struct inode *inode) +{ + if (!timespec64_equal(F2FS_I(inode)->i_disk_time, &inode->i_atime)) + return false; + if (!timespec64_equal(F2FS_I(inode)->i_disk_time + 1, &inode->i_ctime)) + return false; + if (!timespec64_equal(F2FS_I(inode)->i_disk_time + 2, &inode->i_mtime)) + return false; + if (!timespec64_equal(F2FS_I(inode)->i_disk_time + 3, + &F2FS_I(inode)->i_crtime)) + return false; + return true; +} + static inline bool f2fs_skip_inode_update(struct inode *inode, int dsync) { bool ret; @@ -2595,14 +2609,7 @@ i_size_read(inode) & ~PAGE_MASK) return false; - if (!timespec64_equal(F2FS_I(inode)->i_disk_time, &inode->i_atime)) - return false; - if (!timespec64_equal(F2FS_I(inode)->i_disk_time + 1, &inode->i_ctime)) - return false; - if (!timespec64_equal(F2FS_I(inode)->i_disk_time + 2, &inode->i_mtime)) - return false; - if (!timespec64_equal(F2FS_I(inode)->i_disk_time + 3, - &F2FS_I(inode)->i_crtime)) + if (!f2fs_is_time_consistent(inode)) return false; down_read(&F2FS_I(inode)->i_sem); diff -Nru linux-4.19.87/fs/f2fs/file.c linux-4.19.98/fs/f2fs/file.c --- linux-4.19.87/fs/f2fs/file.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/f2fs/file.c 2020-01-23 07:21:39.000000000 +0000 @@ -1101,7 +1101,7 @@ } dn.ofs_in_node++; i++; - new_size = (dst + i) << PAGE_SHIFT; + new_size = (loff_t)(dst + i) << PAGE_SHIFT; if (dst_inode->i_size < new_size) f2fs_i_size_write(dst_inode, new_size); } while (--ilen && (do_replace[i] || blkaddr[i] == NULL_ADDR)); @@ -1667,7 +1667,7 @@ inode->i_ctime = current_time(inode); f2fs_set_inode_flags(inode); - f2fs_mark_inode_dirty_sync(inode, false); + f2fs_mark_inode_dirty_sync(inode, true); return 0; } @@ -2143,7 +2143,7 @@ } ret = f2fs_gc(sbi, range.sync, true, GET_SEGNO(sbi, range.start)); - range.start += sbi->blocks_per_seg; + range.start += BLKS_PER_SEC(sbi); if (range.start <= end) goto do_more; out: diff -Nru linux-4.19.87/fs/f2fs/gc.c linux-4.19.98/fs/f2fs/gc.c --- linux-4.19.87/fs/f2fs/gc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/f2fs/gc.c 2020-01-23 07:21:39.000000000 +0000 @@ -318,8 +318,7 @@ p.min_cost = get_max_cost(sbi, &p); if (*result != NULL_SEGNO) { - if (IS_DATASEG(get_seg_entry(sbi, *result)->type) && - get_valid_blocks(sbi, *result, false) && + if (get_valid_blocks(sbi, *result, false) && !sec_usage_check(sbi, GET_SEC_FROM_SEG(sbi, *result))) p.min_segno = *result; goto out; @@ -1081,9 +1080,9 @@ GET_SUM_BLOCK(sbi, segno)); f2fs_put_page(sum_page, 0); - if (get_valid_blocks(sbi, segno, false) == 0 || - !PageUptodate(sum_page) || - unlikely(f2fs_cp_error(sbi))) + if (get_valid_blocks(sbi, segno, false) == 0) + goto freed; + if (!PageUptodate(sum_page) || unlikely(f2fs_cp_error(sbi))) goto next; sum = page_address(sum_page); @@ -1110,6 +1109,7 @@ stat_inc_seg_count(sbi, type, gc_type); +freed: if (gc_type == FG_GC && get_valid_blocks(sbi, segno, false) == 0) seg_freed++; diff -Nru linux-4.19.87/fs/f2fs/inode.c linux-4.19.98/fs/f2fs/inode.c --- linux-4.19.87/fs/f2fs/inode.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/f2fs/inode.c 2020-01-23 07:21:39.000000000 +0000 @@ -614,7 +614,11 @@ inode->i_ino == F2FS_META_INO(sbi)) return 0; - if (!is_inode_flag_set(inode, FI_DIRTY_INODE)) + /* + * atime could be updated without dirtying f2fs inode in lazytime mode + */ + if (f2fs_is_time_consistent(inode) && + !is_inode_flag_set(inode, FI_DIRTY_INODE)) return 0; /* diff -Nru linux-4.19.87/fs/f2fs/namei.c linux-4.19.98/fs/f2fs/namei.c --- linux-4.19.87/fs/f2fs/namei.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/f2fs/namei.c 2020-01-23 07:21:39.000000000 +0000 @@ -948,7 +948,8 @@ if (!old_dir_entry || whiteout) file_lost_pino(old_inode); else - F2FS_I(old_inode)->i_pino = new_dir->i_ino; + /* adjust dir's i_pino to pass fsck check */ + f2fs_i_pino_write(old_inode, new_dir->i_ino); up_write(&F2FS_I(old_inode)->i_sem); old_inode->i_ctime = current_time(old_inode); @@ -1103,7 +1104,11 @@ f2fs_set_link(old_dir, old_entry, old_page, new_inode); down_write(&F2FS_I(old_inode)->i_sem); - file_lost_pino(old_inode); + if (!old_dir_entry) + file_lost_pino(old_inode); + else + /* adjust dir's i_pino to pass fsck check */ + f2fs_i_pino_write(old_inode, new_dir->i_ino); up_write(&F2FS_I(old_inode)->i_sem); old_dir->i_ctime = current_time(old_dir); @@ -1118,7 +1123,11 @@ f2fs_set_link(new_dir, new_entry, new_page, old_inode); down_write(&F2FS_I(new_inode)->i_sem); - file_lost_pino(new_inode); + if (!new_dir_entry) + file_lost_pino(new_inode); + else + /* adjust dir's i_pino to pass fsck check */ + f2fs_i_pino_write(new_inode, old_dir->i_ino); up_write(&F2FS_I(new_inode)->i_sem); new_dir->i_ctime = current_time(new_dir); diff -Nru linux-4.19.87/fs/f2fs/segment.c linux-4.19.98/fs/f2fs/segment.c --- linux-4.19.87/fs/f2fs/segment.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/f2fs/segment.c 2020-01-23 07:21:39.000000000 +0000 @@ -637,7 +637,9 @@ return 0; if (!test_opt(sbi, FLUSH_MERGE)) { + atomic_inc(&fcc->issing_flush); ret = submit_flush_wait(sbi, ino); + atomic_dec(&fcc->issing_flush); atomic_inc(&fcc->issued_flush); return ret; } @@ -1103,7 +1105,7 @@ list_move_tail(&dc->list, wait_list); /* sanity check on discard range */ - __check_sit_bitmap(sbi, start, start + len); + __check_sit_bitmap(sbi, lstart, lstart + len); bio->bi_private = dc; bio->bi_end_io = f2fs_submit_discard_endio; diff -Nru linux-4.19.87/fs/fuse/dir.c linux-4.19.98/fs/fuse/dir.c --- linux-4.19.87/fs/fuse/dir.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/fuse/dir.c 2020-01-23 07:21:39.000000000 +0000 @@ -234,7 +234,8 @@ kfree(forget); if (ret == -ENOMEM) goto out; - if (ret || (outarg.attr.mode ^ inode->i_mode) & S_IFMT) + if (ret || fuse_invalid_attr(&outarg.attr) || + (outarg.attr.mode ^ inode->i_mode) & S_IFMT) goto invalid; forget_all_cached_acls(inode); @@ -297,6 +298,12 @@ S_ISBLK(m) || S_ISFIFO(m) || S_ISSOCK(m); } +bool fuse_invalid_attr(struct fuse_attr *attr) +{ + return !fuse_valid_type(attr->mode) || + attr->size > LLONG_MAX; +} + int fuse_lookup_name(struct super_block *sb, u64 nodeid, const struct qstr *name, struct fuse_entry_out *outarg, struct inode **inode) { @@ -328,7 +335,7 @@ err = -EIO; if (!outarg->nodeid) goto out_put_forget; - if (!fuse_valid_type(outarg->attr.mode)) + if (fuse_invalid_attr(&outarg->attr)) goto out_put_forget; *inode = fuse_iget(sb, outarg->nodeid, outarg->generation, @@ -451,7 +458,8 @@ goto out_free_ff; err = -EIO; - if (!S_ISREG(outentry.attr.mode) || invalid_nodeid(outentry.nodeid)) + if (!S_ISREG(outentry.attr.mode) || invalid_nodeid(outentry.nodeid) || + fuse_invalid_attr(&outentry.attr)) goto out_free_ff; ff->fh = outopen.fh; @@ -558,7 +566,7 @@ goto out_put_forget_req; err = -EIO; - if (invalid_nodeid(outarg.nodeid)) + if (invalid_nodeid(outarg.nodeid) || fuse_invalid_attr(&outarg.attr)) goto out_put_forget_req; if ((outarg.attr.mode ^ mode) & S_IFMT) @@ -837,7 +845,8 @@ spin_lock(&fc->lock); fi->attr_version = ++fc->attr_version; - inc_nlink(inode); + if (likely(inode->i_nlink < UINT_MAX)) + inc_nlink(inode); spin_unlock(&fc->lock); fuse_invalidate_attr(inode); fuse_update_ctime(inode); @@ -917,7 +926,8 @@ args.out.args[0].value = &outarg; err = fuse_simple_request(fc, &args); if (!err) { - if ((inode->i_mode ^ outarg.attr.mode) & S_IFMT) { + if (fuse_invalid_attr(&outarg.attr) || + (inode->i_mode ^ outarg.attr.mode) & S_IFMT) { make_bad_inode(inode); err = -EIO; } else { @@ -1229,7 +1239,7 @@ if (invalid_nodeid(o->nodeid)) return -EIO; - if (!fuse_valid_type(o->attr.mode)) + if (fuse_invalid_attr(&o->attr)) return -EIO; fc = get_fuse_conn(dir); @@ -1706,7 +1716,8 @@ goto error; } - if ((inode->i_mode ^ outarg.attr.mode) & S_IFMT) { + if (fuse_invalid_attr(&outarg.attr) || + (inode->i_mode ^ outarg.attr.mode) & S_IFMT) { make_bad_inode(inode); err = -EIO; goto error; diff -Nru linux-4.19.87/fs/fuse/fuse_i.h linux-4.19.98/fs/fuse/fuse_i.h --- linux-4.19.87/fs/fuse/fuse_i.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/fuse/fuse_i.h 2020-01-23 07:21:39.000000000 +0000 @@ -909,6 +909,8 @@ */ int fuse_valid_type(int m); +bool fuse_invalid_attr(struct fuse_attr *attr); + /** * Is current process allowed to perform filesystem operation? */ diff -Nru linux-4.19.87/fs/gfs2/bmap.c linux-4.19.98/fs/gfs2/bmap.c --- linux-4.19.87/fs/gfs2/bmap.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/gfs2/bmap.c 2020-01-23 07:21:39.000000000 +0000 @@ -2122,6 +2122,8 @@ } error = gfs2_trans_begin(sdp, RES_DINODE + RES_STATFS + RES_RG_BIT + + (unstuff && + gfs2_is_jdata(ip) ? RES_JDATA : 0) + (sdp->sd_args.ar_quota == GFS2_QUOTA_OFF ? 0 : RES_QUOTA), 0); if (error) diff -Nru linux-4.19.87/fs/gfs2/log.c linux-4.19.98/fs/gfs2/log.c --- linux-4.19.87/fs/gfs2/log.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/gfs2/log.c 2020-01-23 07:21:39.000000000 +0000 @@ -613,6 +613,14 @@ list_add(&bd->bd_list, &sdp->sd_log_le_revoke); } +void gfs2_glock_remove_revoke(struct gfs2_glock *gl) +{ + if (atomic_dec_return(&gl->gl_revokes) == 0) { + clear_bit(GLF_LFLUSH, &gl->gl_flags); + gfs2_glock_queue_put(gl); + } +} + void gfs2_write_revokes(struct gfs2_sbd *sdp) { struct gfs2_trans *tr; diff -Nru linux-4.19.87/fs/gfs2/log.h linux-4.19.98/fs/gfs2/log.h --- linux-4.19.87/fs/gfs2/log.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/gfs2/log.h 2020-01-23 07:21:39.000000000 +0000 @@ -80,6 +80,7 @@ extern void gfs2_log_shutdown(struct gfs2_sbd *sdp); extern int gfs2_logd(void *data); extern void gfs2_add_revoke(struct gfs2_sbd *sdp, struct gfs2_bufdata *bd); +extern void gfs2_glock_remove_revoke(struct gfs2_glock *gl); extern void gfs2_write_revokes(struct gfs2_sbd *sdp); #endif /* __LOG_DOT_H__ */ diff -Nru linux-4.19.87/fs/gfs2/lops.c linux-4.19.98/fs/gfs2/lops.c --- linux-4.19.87/fs/gfs2/lops.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/gfs2/lops.c 2020-01-23 07:21:39.000000000 +0000 @@ -662,10 +662,7 @@ bd = list_entry(head->next, struct gfs2_bufdata, bd_list); list_del_init(&bd->bd_list); gl = bd->bd_gl; - if (atomic_dec_return(&gl->gl_revokes) == 0) { - clear_bit(GLF_LFLUSH, &gl->gl_flags); - gfs2_glock_queue_put(gl); - } + gfs2_glock_remove_revoke(gl); kmem_cache_free(gfs2_bufdata_cachep, bd); } } diff -Nru linux-4.19.87/fs/gfs2/trans.c linux-4.19.98/fs/gfs2/trans.c --- linux-4.19.87/fs/gfs2/trans.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/gfs2/trans.c 2020-01-23 07:21:39.000000000 +0000 @@ -266,6 +266,8 @@ list_del_init(&bd->bd_list); gfs2_assert_withdraw(sdp, sdp->sd_log_num_revoke); sdp->sd_log_num_revoke--; + if (bd->bd_gl) + gfs2_glock_remove_revoke(bd->bd_gl); kmem_cache_free(gfs2_bufdata_cachep, bd); tr->tr_num_revoke_rm++; if (--n == 0) diff -Nru linux-4.19.87/fs/inode.c linux-4.19.98/fs/inode.c --- linux-4.19.87/fs/inode.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/inode.c 2020-01-23 07:21:39.000000000 +0000 @@ -660,6 +660,7 @@ struct inode *inode, *next; LIST_HEAD(dispose); +again: spin_lock(&sb->s_inode_list_lock); list_for_each_entry_safe(inode, next, &sb->s_inodes, i_sb_list) { spin_lock(&inode->i_lock); @@ -682,6 +683,12 @@ inode_lru_list_del(inode); spin_unlock(&inode->i_lock); list_add(&inode->i_lru, &dispose); + if (need_resched()) { + spin_unlock(&sb->s_inode_list_lock); + cond_resched(); + dispose_list(&dispose); + goto again; + } } spin_unlock(&sb->s_inode_list_lock); diff -Nru linux-4.19.87/fs/iomap.c linux-4.19.98/fs/iomap.c --- linux-4.19.87/fs/iomap.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/iomap.c 2020-01-23 07:21:39.000000000 +0000 @@ -150,13 +150,14 @@ iomap_adjust_read_range(struct inode *inode, struct iomap_page *iop, loff_t *pos, loff_t length, unsigned *offp, unsigned *lenp) { + loff_t orig_pos = *pos; + loff_t isize = i_size_read(inode); unsigned block_bits = inode->i_blkbits; unsigned block_size = (1 << block_bits); unsigned poff = offset_in_page(*pos); unsigned plen = min_t(loff_t, PAGE_SIZE - poff, length); unsigned first = poff >> block_bits; unsigned last = (poff + plen - 1) >> block_bits; - unsigned end = offset_in_page(i_size_read(inode)) >> block_bits; /* * If the block size is smaller than the page size we need to check the @@ -191,8 +192,12 @@ * handle both halves separately so that we properly zero data in the * page cache for blocks that are entirely outside of i_size. */ - if (first <= end && last > end) - plen -= (last - end) * block_size; + if (orig_pos <= isize && orig_pos + length > isize) { + unsigned end = offset_in_page(isize - 1) >> block_bits; + + if (first <= end && last > end) + plen -= (last - end) * block_size; + } *offp = poff; *lenp = plen; @@ -1603,7 +1608,7 @@ struct bio *bio; bool need_zeroout = false; bool use_fua = false; - int nr_pages, ret; + int nr_pages, ret = 0; size_t copied = 0; if ((pos | length | align) & ((1 << blkbits) - 1)) @@ -1619,12 +1624,13 @@ if (iomap->flags & IOMAP_F_NEW) { need_zeroout = true; - } else { + } else if (iomap->type == IOMAP_MAPPED) { /* - * Use a FUA write if we need datasync semantics, this - * is a pure data IO that doesn't require any metadata - * updates and the underlying device supports FUA. This - * allows us to avoid cache flushes on IO completion. + * Use a FUA write if we need datasync semantics, this is a pure + * data IO that doesn't require any metadata updates (including + * after IO completion such as unwritten extent conversion) and + * the underlying device supports FUA. This allows us to avoid + * cache flushes on IO completion. */ if (!(iomap->flags & (IOMAP_F_SHARED|IOMAP_F_DIRTY)) && (dio->flags & IOMAP_DIO_WRITE_FUA) && @@ -1667,8 +1673,14 @@ ret = bio_iov_iter_get_pages(bio, &iter); if (unlikely(ret)) { + /* + * We have to stop part way through an IO. We must fall + * through to the sub-block tail zeroing here, otherwise + * this short IO may expose stale data in the tail of + * the block we haven't written data to. + */ bio_put(bio); - return copied ? copied : ret; + goto zero_tail; } n = bio->bi_iter.bi_size; @@ -1699,13 +1711,21 @@ dio->submit.cookie = submit_bio(bio); } while (nr_pages); - if (need_zeroout) { + /* + * We need to zeroout the tail of a sub-block write if the extent type + * requires zeroing or the write extends beyond EOF. If we don't zero + * the block tail in the latter case, we can expose stale data via mmap + * reads of the EOF block. + */ +zero_tail: + if (need_zeroout || + ((dio->flags & IOMAP_DIO_WRITE) && pos >= i_size_read(inode))) { /* zero out from the end of the write to the end of the block */ pad = pos & (fs_block_size - 1); if (pad) iomap_dio_zero(dio, iomap, pos, fs_block_size - pad); } - return copied; + return copied ? copied : ret; } static loff_t @@ -1884,8 +1904,15 @@ } pos += ret; - if (iov_iter_rw(iter) == READ && pos >= dio->i_size) + if (iov_iter_rw(iter) == READ && pos >= dio->i_size) { + /* + * We only report that we've read data up to i_size. + * Revert iter to a state corresponding to that as + * some callers (such as splice code) rely on it. + */ + iov_iter_revert(iter, pos - dio->i_size); break; + } } while ((count = iov_iter_count(iter)) > 0); blk_finish_plug(&plug); diff -Nru linux-4.19.87/fs/jbd2/commit.c linux-4.19.98/fs/jbd2/commit.c --- linux-4.19.87/fs/jbd2/commit.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/jbd2/commit.c 2020-01-23 07:21:39.000000000 +0000 @@ -724,7 +724,6 @@ submit_bh(REQ_OP_WRITE, REQ_SYNC, bh); } cond_resched(); - stats.run.rs_blocks_logged += bufs; /* Force a new descriptor to be generated next time round the loop. */ @@ -811,6 +810,7 @@ if (unlikely(!buffer_uptodate(bh))) err = -EIO; jbd2_unfile_log_bh(bh); + stats.run.rs_blocks_logged++; /* * The list contains temporary buffer heads created by @@ -856,6 +856,7 @@ BUFFER_TRACE(bh, "ph5: control buffer writeout done: unfile"); clear_buffer_jwrite(bh); jbd2_unfile_log_bh(bh); + stats.run.rs_blocks_logged++; __brelse(bh); /* One for getblk */ /* AKPM: bforget here */ } @@ -877,6 +878,7 @@ } if (cbh) err = journal_wait_on_commit_record(journal, cbh); + stats.run.rs_blocks_logged++; if (jbd2_has_feature_async_commit(journal) && journal->j_flags & JBD2_BARRIER) { blkdev_issue_flush(journal->j_dev, GFP_NOFS, NULL); diff -Nru linux-4.19.87/fs/kernfs/dir.c linux-4.19.98/fs/kernfs/dir.c --- linux-4.19.87/fs/kernfs/dir.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/kernfs/dir.c 2020-01-23 07:21:39.000000000 +0000 @@ -624,7 +624,6 @@ { struct kernfs_node *kn; u32 gen; - int cursor; int ret; name = kstrdup_const(name, GFP_KERNEL); @@ -637,11 +636,11 @@ idr_preload(GFP_KERNEL); spin_lock(&kernfs_idr_lock); - cursor = idr_get_cursor(&root->ino_idr); ret = idr_alloc_cyclic(&root->ino_idr, kn, 1, 0, GFP_ATOMIC); - if (ret >= 0 && ret < cursor) + if (ret >= 0 && ret < root->last_ino) root->next_generation++; gen = root->next_generation; + root->last_ino = ret; spin_unlock(&kernfs_idr_lock); idr_preload_end(); if (ret < 0) diff -Nru linux-4.19.87/fs/lockd/clnt4xdr.c linux-4.19.98/fs/lockd/clnt4xdr.c --- linux-4.19.87/fs/lockd/clnt4xdr.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/lockd/clnt4xdr.c 2020-01-23 07:21:39.000000000 +0000 @@ -128,24 +128,14 @@ static int decode_netobj(struct xdr_stream *xdr, struct xdr_netobj *obj) { - u32 length; - __be32 *p; + ssize_t ret; - p = xdr_inline_decode(xdr, 4); - if (unlikely(p == NULL)) - goto out_overflow; - length = be32_to_cpup(p++); - if (unlikely(length > XDR_MAX_NETOBJ)) - goto out_size; - obj->len = length; - obj->data = (u8 *)p; + ret = xdr_stream_decode_opaque_inline(xdr, (void *)&obj->data, + XDR_MAX_NETOBJ); + if (unlikely(ret < 0)) + return -EIO; + obj->len = ret; return 0; -out_size: - dprintk("NFS: returned netobj was too long: %u\n", length); - return -EIO; -out_overflow: - print_overflow_msg(__func__, xdr); - return -EIO; } /* diff -Nru linux-4.19.87/fs/lockd/clntxdr.c linux-4.19.98/fs/lockd/clntxdr.c --- linux-4.19.87/fs/lockd/clntxdr.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/lockd/clntxdr.c 2020-01-23 07:21:39.000000000 +0000 @@ -125,24 +125,14 @@ static int decode_netobj(struct xdr_stream *xdr, struct xdr_netobj *obj) { - u32 length; - __be32 *p; + ssize_t ret; - p = xdr_inline_decode(xdr, 4); - if (unlikely(p == NULL)) - goto out_overflow; - length = be32_to_cpup(p++); - if (unlikely(length > XDR_MAX_NETOBJ)) - goto out_size; - obj->len = length; - obj->data = (u8 *)p; + ret = xdr_stream_decode_opaque_inline(xdr, (void *)&obj->data, + XDR_MAX_NETOBJ); + if (unlikely(ret < 0)) + return -EIO; + obj->len = ret; return 0; -out_size: - dprintk("NFS: returned netobj was too long: %u\n", length); - return -EIO; -out_overflow: - print_overflow_msg(__func__, xdr); - return -EIO; } /* diff -Nru linux-4.19.87/fs/locks.c linux-4.19.98/fs/locks.c --- linux-4.19.87/fs/locks.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/locks.c 2020-01-23 07:21:39.000000000 +0000 @@ -2678,7 +2678,7 @@ } if (inode) { /* userspace relies on this representation of dev_t */ - seq_printf(f, "%d %02x:%02x:%ld ", fl_pid, + seq_printf(f, "%d %02x:%02x:%lu ", fl_pid, MAJOR(inode->i_sb->s_dev), MINOR(inode->i_sb->s_dev), inode->i_ino); } else { diff -Nru linux-4.19.87/fs/nfs/nfs2xdr.c linux-4.19.98/fs/nfs/nfs2xdr.c --- linux-4.19.87/fs/nfs/nfs2xdr.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/nfs/nfs2xdr.c 2020-01-23 07:21:39.000000000 +0000 @@ -385,7 +385,7 @@ } else p = xdr_time_not_set(p); if (attr->ia_valid & ATTR_MTIME_SET) { - ts = timespec64_to_timespec(attr->ia_atime); + ts = timespec64_to_timespec(attr->ia_mtime); xdr_encode_time(p, &ts); } else if (attr->ia_valid & ATTR_MTIME) { ts = timespec64_to_timespec(attr->ia_mtime); diff -Nru linux-4.19.87/fs/nfs/nfs4proc.c linux-4.19.98/fs/nfs/nfs4proc.c --- linux-4.19.87/fs/nfs/nfs4proc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/nfs/nfs4proc.c 2020-01-23 07:21:39.000000000 +0000 @@ -6103,8 +6103,10 @@ d_data = (struct nfs4_delegreturndata *)data; - if (!d_data->lr.roc && nfs4_wait_on_layoutreturn(d_data->inode, task)) + if (!d_data->lr.roc && nfs4_wait_on_layoutreturn(d_data->inode, task)) { + nfs4_sequence_done(task, &d_data->res.seq_res); return; + } lo = d_data->args.lr_args ? d_data->args.lr_args->layout : NULL; if (lo && !pnfs_layout_is_valid(lo)) { diff -Nru linux-4.19.87/fs/nfsd/nfs4recover.c linux-4.19.98/fs/nfsd/nfs4recover.c --- linux-4.19.87/fs/nfsd/nfs4recover.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/nfsd/nfs4recover.c 2020-01-23 07:21:39.000000000 +0000 @@ -662,7 +662,7 @@ struct cld_upcall { struct list_head cu_list; struct cld_net *cu_net; - struct task_struct *cu_task; + struct completion cu_done; struct cld_msg cu_msg; }; @@ -671,23 +671,18 @@ { int ret; struct rpc_pipe_msg msg; + struct cld_upcall *cup = container_of(cmsg, struct cld_upcall, cu_msg); memset(&msg, 0, sizeof(msg)); msg.data = cmsg; msg.len = sizeof(*cmsg); - /* - * Set task state before we queue the upcall. That prevents - * wake_up_process in the downcall from racing with schedule. - */ - set_current_state(TASK_UNINTERRUPTIBLE); ret = rpc_queue_upcall(pipe, &msg); if (ret < 0) { - set_current_state(TASK_RUNNING); goto out; } - schedule(); + wait_for_completion(&cup->cu_done); if (msg.errno < 0) ret = msg.errno; @@ -754,7 +749,7 @@ if (copy_from_user(&cup->cu_msg, src, mlen) != 0) return -EFAULT; - wake_up_process(cup->cu_task); + complete(&cup->cu_done); return mlen; } @@ -769,7 +764,7 @@ if (msg->errno >= 0) return; - wake_up_process(cup->cu_task); + complete(&cup->cu_done); } static const struct rpc_pipe_ops cld_upcall_ops = { @@ -900,7 +895,7 @@ goto restart_search; } } - new->cu_task = current; + init_completion(&new->cu_done); new->cu_msg.cm_vers = CLD_UPCALL_VERSION; put_unaligned(cn->cn_xid++, &new->cu_msg.cm_xid); new->cu_net = cn; diff -Nru linux-4.19.87/fs/nfsd/nfs4state.c linux-4.19.98/fs/nfsd/nfs4state.c --- linux-4.19.87/fs/nfsd/nfs4state.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/nfsd/nfs4state.c 2020-01-23 07:21:39.000000000 +0000 @@ -3072,12 +3072,17 @@ (bool)seq->cachethis) return false; /* - * If there's an error than the reply can have fewer ops than - * the call. But if we cached a reply with *more* ops than the - * call you're sending us now, then this new call is clearly not - * really a replay of the old one: + * If there's an error then the reply can have fewer ops than + * the call. */ - if (slot->sl_opcnt < argp->opcnt) + if (slot->sl_opcnt < argp->opcnt && !slot->sl_status) + return false; + /* + * But if we cached a reply with *more* ops than the call you're + * sending us now, then this new call is clearly not really a + * replay of the old one: + */ + if (slot->sl_opcnt > argp->opcnt) return false; /* This is the only check explicitly called by spec: */ if (!same_creds(&rqstp->rq_cred, &slot->sl_cred)) diff -Nru linux-4.19.87/fs/nfsd/vfs.c linux-4.19.98/fs/nfsd/vfs.c --- linux-4.19.87/fs/nfsd/vfs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/nfsd/vfs.c 2020-01-23 07:21:39.000000000 +0000 @@ -396,10 +396,23 @@ bool get_write_count; bool size_change = (iap->ia_valid & ATTR_SIZE); - if (iap->ia_valid & (ATTR_ATIME | ATTR_MTIME | ATTR_SIZE)) + if (iap->ia_valid & ATTR_SIZE) { accmode |= NFSD_MAY_WRITE|NFSD_MAY_OWNER_OVERRIDE; - if (iap->ia_valid & ATTR_SIZE) ftype = S_IFREG; + } + + /* + * If utimes(2) and friends are called with times not NULL, we should + * not set NFSD_MAY_WRITE bit. Otherwise fh_verify->nfsd_permission + * will return EACCESS, when the caller's effective UID does not match + * the owner of the file, and the caller is not privileged. In this + * situation, we should return EPERM(notify_change will return this). + */ + if (iap->ia_valid & (ATTR_ATIME | ATTR_MTIME)) { + accmode |= NFSD_MAY_OWNER_OVERRIDE; + if (!(iap->ia_valid & (ATTR_ATIME_SET | ATTR_MTIME_SET))) + accmode |= NFSD_MAY_WRITE; + } /* Callers that do fh_verify should do the fh_want_write: */ get_write_count = !fhp->fh_dentry; diff -Nru linux-4.19.87/fs/notify/fsnotify.c linux-4.19.98/fs/notify/fsnotify.c --- linux-4.19.87/fs/notify/fsnotify.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/notify/fsnotify.c 2020-01-23 07:21:39.000000000 +0000 @@ -90,6 +90,7 @@ iput_inode = inode; + cond_resched(); spin_lock(&sb->s_inode_list_lock); } spin_unlock(&sb->s_inode_list_lock); diff -Nru linux-4.19.87/fs/ocfs2/acl.c linux-4.19.98/fs/ocfs2/acl.c --- linux-4.19.87/fs/ocfs2/acl.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/ocfs2/acl.c 2020-01-23 07:21:39.000000000 +0000 @@ -335,8 +335,8 @@ down_read(&OCFS2_I(inode)->ip_xattr_sem); acl = ocfs2_get_acl_nolock(inode, ACL_TYPE_ACCESS, bh); up_read(&OCFS2_I(inode)->ip_xattr_sem); - if (IS_ERR(acl) || !acl) - return PTR_ERR(acl); + if (IS_ERR_OR_NULL(acl)) + return PTR_ERR_OR_ZERO(acl); ret = __posix_acl_chmod(&acl, GFP_KERNEL, inode->i_mode); if (ret) return ret; diff -Nru linux-4.19.87/fs/ocfs2/journal.c linux-4.19.98/fs/ocfs2/journal.c --- linux-4.19.87/fs/ocfs2/journal.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/ocfs2/journal.c 2020-01-23 07:21:39.000000000 +0000 @@ -1018,7 +1018,8 @@ mlog_errno(status); } - if (status == 0) { + /* Shutdown the kernel journal system */ + if (!jbd2_journal_destroy(journal->j_journal) && !status) { /* * Do not toggle if flush was unsuccessful otherwise * will leave dirty metadata in a "clean" journal @@ -1027,9 +1028,6 @@ if (status < 0) mlog_errno(status); } - - /* Shutdown the kernel journal system */ - jbd2_journal_destroy(journal->j_journal); journal->j_journal = NULL; OCFS2_I(inode)->ip_open_count--; @@ -1082,6 +1080,14 @@ ocfs2_clear_journal_error(osb->sb, journal->j_journal, osb->slot_num); + if (replayed) { + jbd2_journal_lock_updates(journal->j_journal); + status = jbd2_journal_flush(journal->j_journal); + jbd2_journal_unlock_updates(journal->j_journal); + if (status < 0) + mlog_errno(status); + } + status = ocfs2_journal_toggle_dirty(osb, 1, replayed); if (status < 0) { mlog_errno(status); diff -Nru linux-4.19.87/fs/ocfs2/quota_global.c linux-4.19.98/fs/ocfs2/quota_global.c --- linux-4.19.87/fs/ocfs2/quota_global.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/ocfs2/quota_global.c 2020-01-23 07:21:39.000000000 +0000 @@ -728,7 +728,7 @@ mutex_lock(&dquot->dq_lock); /* Check whether we are not racing with some other dqget() */ - if (atomic_read(&dquot->dq_count) > 1) + if (dquot_is_busy(dquot)) goto out; /* Running from downconvert thread? Postpone quota processing to wq */ if (current == osb->dc_task) { diff -Nru linux-4.19.87/fs/overlayfs/dir.c linux-4.19.98/fs/overlayfs/dir.c --- linux-4.19.87/fs/overlayfs/dir.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/overlayfs/dir.c 2020-01-23 07:21:39.000000000 +0000 @@ -1174,7 +1174,7 @@ if (newdentry == trap) goto out_dput; - if (WARN_ON(olddentry->d_inode == newdentry->d_inode)) + if (olddentry->d_inode == newdentry->d_inode) goto out_dput; err = 0; diff -Nru linux-4.19.87/fs/overlayfs/inode.c linux-4.19.98/fs/overlayfs/inode.c --- linux-4.19.87/fs/overlayfs/inode.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/overlayfs/inode.c 2020-01-23 07:21:39.000000000 +0000 @@ -203,8 +203,14 @@ if (ovl_test_flag(OVL_INDEX, d_inode(dentry)) || (!ovl_verify_lower(dentry->d_sb) && (is_dir || lowerstat.nlink == 1))) { - stat->ino = lowerstat.ino; lower_layer = ovl_layer_lower(dentry); + /* + * Cannot use origin st_dev;st_ino because + * origin inode content may differ from overlay + * inode content. + */ + if (samefs || lower_layer->fsid) + stat->ino = lowerstat.ino; } /* diff -Nru linux-4.19.87/fs/proc/task_mmu.c linux-4.19.98/fs/proc/task_mmu.c --- linux-4.19.87/fs/proc/task_mmu.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/proc/task_mmu.c 2020-01-23 07:21:39.000000000 +0000 @@ -800,6 +800,8 @@ __show_smap(m, &mss); + seq_printf(m, "THPeligible: %d\n", transparent_hugepage_enabled(vma)); + if (arch_pkeys_enabled()) seq_printf(m, "ProtectionKey: %8u\n", vma_pkey(vma)); show_smap_vma_flags(m, vma); diff -Nru linux-4.19.87/fs/pstore/ram.c linux-4.19.98/fs/pstore/ram.c --- linux-4.19.87/fs/pstore/ram.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/pstore/ram.c 2020-01-23 07:21:39.000000000 +0000 @@ -301,6 +301,7 @@ GFP_KERNEL); if (!tmp_prz) return -ENOMEM; + prz = tmp_prz; free_prz = true; while (cxt->ftrace_read_cnt < cxt->max_ftrace_cnt) { @@ -323,7 +324,6 @@ goto out; } record->id = 0; - prz = tmp_prz; } } @@ -437,6 +437,17 @@ prz = cxt->dprzs[cxt->dump_write_cnt]; + /* + * Since this is a new crash dump, we need to reset the buffer in + * case it still has an old dump present. Without this, the new dump + * will get appended, which would seriously confuse anything trying + * to check dump file contents. Specifically, ramoops_read_kmsg_hdr() + * expects to find a dump header in the beginning of buffer data, so + * we must to reset the buffer values, in order to ensure that the + * header will be written to the beginning of the buffer. + */ + persistent_ram_zap(prz); + /* Build header and append record contents. */ hlen = ramoops_write_kmsg_hdr(prz, record); size = record->size; diff -Nru linux-4.19.87/fs/quota/dquot.c linux-4.19.98/fs/quota/dquot.c --- linux-4.19.87/fs/quota/dquot.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/quota/dquot.c 2020-01-23 07:21:39.000000000 +0000 @@ -491,7 +491,7 @@ mutex_lock(&dquot->dq_lock); /* Check whether we are not racing with some other dqget() */ - if (atomic_read(&dquot->dq_count) > 1) + if (dquot_is_busy(dquot)) goto out_dqlock; if (dqopt->ops[dquot->dq_id.type]->release_dqblk) { ret = dqopt->ops[dquot->dq_id.type]->release_dqblk(dquot); @@ -617,7 +617,7 @@ /* Write all dquot structures to quota files */ int dquot_writeback_dquots(struct super_block *sb, int type) { - struct list_head *dirty; + struct list_head dirty; struct dquot *dquot; struct quota_info *dqopt = sb_dqopt(sb); int cnt; @@ -631,9 +631,10 @@ if (!sb_has_quota_active(sb, cnt)) continue; spin_lock(&dq_list_lock); - dirty = &dqopt->info[cnt].dqi_dirty_list; - while (!list_empty(dirty)) { - dquot = list_first_entry(dirty, struct dquot, + /* Move list away to avoid livelock. */ + list_replace_init(&dqopt->info[cnt].dqi_dirty_list, &dirty); + while (!list_empty(&dirty)) { + dquot = list_first_entry(&dirty, struct dquot, dq_dirty); WARN_ON(!test_bit(DQ_ACTIVE_B, &dquot->dq_flags)); @@ -979,6 +980,7 @@ * later. */ old_inode = inode; + cond_resched(); spin_lock(&sb->s_inode_list_lock); } spin_unlock(&sb->s_inode_list_lock); @@ -2852,68 +2854,73 @@ static int do_proc_dqstats(struct ctl_table *table, int write, void __user *buffer, size_t *lenp, loff_t *ppos) { - unsigned int type = (int *)table->data - dqstats.stat; + unsigned int type = (unsigned long *)table->data - dqstats.stat; + s64 value = percpu_counter_sum(&dqstats.counter[type]); + + /* Filter negative values for non-monotonic counters */ + if (value < 0 && (type == DQST_ALLOC_DQUOTS || + type == DQST_FREE_DQUOTS)) + value = 0; /* Update global table */ - dqstats.stat[type] = - percpu_counter_sum_positive(&dqstats.counter[type]); - return proc_dointvec(table, write, buffer, lenp, ppos); + dqstats.stat[type] = value; + return proc_doulongvec_minmax(table, write, buffer, lenp, ppos); } static struct ctl_table fs_dqstats_table[] = { { .procname = "lookups", .data = &dqstats.stat[DQST_LOOKUPS], - .maxlen = sizeof(int), + .maxlen = sizeof(unsigned long), .mode = 0444, .proc_handler = do_proc_dqstats, }, { .procname = "drops", .data = &dqstats.stat[DQST_DROPS], - .maxlen = sizeof(int), + .maxlen = sizeof(unsigned long), .mode = 0444, .proc_handler = do_proc_dqstats, }, { .procname = "reads", .data = &dqstats.stat[DQST_READS], - .maxlen = sizeof(int), + .maxlen = sizeof(unsigned long), .mode = 0444, .proc_handler = do_proc_dqstats, }, { .procname = "writes", .data = &dqstats.stat[DQST_WRITES], - .maxlen = sizeof(int), + .maxlen = sizeof(unsigned long), .mode = 0444, .proc_handler = do_proc_dqstats, }, { .procname = "cache_hits", .data = &dqstats.stat[DQST_CACHE_HITS], - .maxlen = sizeof(int), + .maxlen = sizeof(unsigned long), .mode = 0444, .proc_handler = do_proc_dqstats, }, { .procname = "allocated_dquots", .data = &dqstats.stat[DQST_ALLOC_DQUOTS], - .maxlen = sizeof(int), + .maxlen = sizeof(unsigned long), .mode = 0444, .proc_handler = do_proc_dqstats, }, { .procname = "free_dquots", .data = &dqstats.stat[DQST_FREE_DQUOTS], - .maxlen = sizeof(int), + .maxlen = sizeof(unsigned long), .mode = 0444, .proc_handler = do_proc_dqstats, }, { .procname = "syncs", .data = &dqstats.stat[DQST_SYNCS], - .maxlen = sizeof(int), + .maxlen = sizeof(unsigned long), .mode = 0444, .proc_handler = do_proc_dqstats, }, diff -Nru linux-4.19.87/fs/readdir.c linux-4.19.98/fs/readdir.c --- linux-4.19.87/fs/readdir.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/readdir.c 2020-01-23 07:21:39.000000000 +0000 @@ -65,6 +65,40 @@ EXPORT_SYMBOL(iterate_dir); /* + * POSIX says that a dirent name cannot contain NULL or a '/'. + * + * It's not 100% clear what we should really do in this case. + * The filesystem is clearly corrupted, but returning a hard + * error means that you now don't see any of the other names + * either, so that isn't a perfect alternative. + * + * And if you return an error, what error do you use? Several + * filesystems seem to have decided on EUCLEAN being the error + * code for EFSCORRUPTED, and that may be the error to use. Or + * just EIO, which is perhaps more obvious to users. + * + * In order to see the other file names in the directory, the + * caller might want to make this a "soft" error: skip the + * entry, and return the error at the end instead. + * + * Note that this should likely do a "memchr(name, 0, len)" + * check too, since that would be filesystem corruption as + * well. However, that case can't actually confuse user space, + * which has to do a strlen() on the name anyway to find the + * filename length, and the above "soft error" worry means + * that it's probably better left alone until we have that + * issue clarified. + */ +static int verify_dirent_name(const char *name, int len) +{ + if (!len) + return -EIO; + if (memchr(name, '/', len)) + return -EIO; + return 0; +} + +/* * Traditional linux readdir() handling.. * * "count=1" is a special case, meaning that the buffer is one @@ -173,6 +207,9 @@ int reclen = ALIGN(offsetof(struct linux_dirent, d_name) + namlen + 2, sizeof(long)); + buf->error = verify_dirent_name(name, namlen); + if (unlikely(buf->error)) + return buf->error; buf->error = -EINVAL; /* only used if we fail.. */ if (reclen > buf->count) return -EINVAL; @@ -259,6 +296,9 @@ int reclen = ALIGN(offsetof(struct linux_dirent64, d_name) + namlen + 1, sizeof(u64)); + buf->error = verify_dirent_name(name, namlen); + if (unlikely(buf->error)) + return buf->error; buf->error = -EINVAL; /* only used if we fail.. */ if (reclen > buf->count) return -EINVAL; diff -Nru linux-4.19.87/fs/reiserfs/inode.c linux-4.19.98/fs/reiserfs/inode.c --- linux-4.19.87/fs/reiserfs/inode.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/reiserfs/inode.c 2020-01-23 07:21:39.000000000 +0000 @@ -2097,6 +2097,15 @@ goto out_inserted_sd; } + /* + * Mark it private if we're creating the privroot + * or something under it. + */ + if (IS_PRIVATE(dir) || dentry == REISERFS_SB(sb)->priv_root) { + inode->i_flags |= S_PRIVATE; + inode->i_opflags &= ~IOP_XATTR; + } + if (reiserfs_posixacl(inode->i_sb)) { reiserfs_write_unlock(inode->i_sb); retval = reiserfs_inherit_default_acl(th, dir, dentry, inode); @@ -2111,8 +2120,7 @@ reiserfs_warning(inode->i_sb, "jdm-13090", "ACLs aren't enabled in the fs, " "but vfs thinks they are!"); - } else if (IS_PRIVATE(dir)) - inode->i_flags |= S_PRIVATE; + } if (security->name) { reiserfs_write_unlock(inode->i_sb); diff -Nru linux-4.19.87/fs/reiserfs/namei.c linux-4.19.98/fs/reiserfs/namei.c --- linux-4.19.87/fs/reiserfs/namei.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/reiserfs/namei.c 2020-01-23 07:21:39.000000000 +0000 @@ -377,10 +377,13 @@ /* * Propagate the private flag so we know we're - * in the priv tree + * in the priv tree. Also clear IOP_XATTR + * since we don't have xattrs on xattr files. */ - if (IS_PRIVATE(dir)) + if (IS_PRIVATE(dir)) { inode->i_flags |= S_PRIVATE; + inode->i_opflags &= ~IOP_XATTR; + } } reiserfs_write_unlock(dir->i_sb); if (retval == IO_ERROR) { diff -Nru linux-4.19.87/fs/reiserfs/reiserfs.h linux-4.19.98/fs/reiserfs/reiserfs.h --- linux-4.19.87/fs/reiserfs/reiserfs.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/reiserfs/reiserfs.h 2020-01-23 07:21:39.000000000 +0000 @@ -1168,6 +1168,8 @@ return bmap_nr > ((1LL << 16) - 1); } +extern const struct xattr_handler *reiserfs_xattr_handlers[]; + /* * this says about version of key of all items (but stat data) the * object consists of diff -Nru linux-4.19.87/fs/reiserfs/super.c linux-4.19.98/fs/reiserfs/super.c --- linux-4.19.87/fs/reiserfs/super.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/reiserfs/super.c 2020-01-23 07:21:39.000000000 +0000 @@ -2052,6 +2052,8 @@ if (replay_only(s)) goto error_unlocked; + s->s_xattr = reiserfs_xattr_handlers; + if (bdev_read_only(s->s_bdev) && !sb_rdonly(s)) { SWARN(silent, s, "clm-7000", "Detected readonly device, marking FS readonly"); diff -Nru linux-4.19.87/fs/reiserfs/xattr.c linux-4.19.98/fs/reiserfs/xattr.c --- linux-4.19.87/fs/reiserfs/xattr.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/reiserfs/xattr.c 2020-01-23 07:21:39.000000000 +0000 @@ -122,13 +122,13 @@ struct dentry *xaroot; if (d_really_is_negative(privroot)) - return ERR_PTR(-ENODATA); + return ERR_PTR(-EOPNOTSUPP); inode_lock_nested(d_inode(privroot), I_MUTEX_XATTR); xaroot = dget(REISERFS_SB(sb)->xattr_root); if (!xaroot) - xaroot = ERR_PTR(-ENODATA); + xaroot = ERR_PTR(-EOPNOTSUPP); else if (d_really_is_negative(xaroot)) { int err = -ENODATA; @@ -319,8 +319,12 @@ out_dir: dput(dir); out: - /* -ENODATA isn't an error */ - if (err == -ENODATA) + /* + * -ENODATA: this object doesn't have any xattrs + * -EOPNOTSUPP: this file system doesn't have xattrs enabled on disk. + * Neither are errors + */ + if (err == -ENODATA || err == -EOPNOTSUPP) err = 0; return err; } @@ -610,6 +614,10 @@ int error, error2; size_t jbegin_count = reiserfs_xattr_nblocks(inode, buffer_size); + /* Check before we start a transaction and then do nothing. */ + if (!d_really_is_positive(REISERFS_SB(inode->i_sb)->priv_root)) + return -EOPNOTSUPP; + if (!(flags & XATTR_REPLACE)) jbegin_count += reiserfs_xattr_jcreate_nblocks(inode); @@ -832,8 +840,7 @@ if (d_really_is_negative(dentry)) return -EINVAL; - if (!dentry->d_sb->s_xattr || - get_inode_sd_version(d_inode(dentry)) == STAT_DATA_V1) + if (get_inode_sd_version(d_inode(dentry)) == STAT_DATA_V1) return -EOPNOTSUPP; dir = open_xa_dir(d_inode(dentry), XATTR_REPLACE); @@ -873,6 +880,7 @@ } d_inode(dentry)->i_flags |= S_PRIVATE; + d_inode(dentry)->i_opflags &= ~IOP_XATTR; reiserfs_info(dentry->d_sb, "Created %s - reserved for xattr " "storage.\n", PRIVROOT_NAME); @@ -886,7 +894,7 @@ #endif /* Actual operations that are exported to VFS-land */ -static const struct xattr_handler *reiserfs_xattr_handlers[] = { +const struct xattr_handler *reiserfs_xattr_handlers[] = { #ifdef CONFIG_REISERFS_FS_XATTR &reiserfs_xattr_user_handler, &reiserfs_xattr_trusted_handler, @@ -957,8 +965,10 @@ if (!IS_ERR(dentry)) { REISERFS_SB(s)->priv_root = dentry; d_set_d_op(dentry, &xattr_lookup_poison_ops); - if (d_really_is_positive(dentry)) + if (d_really_is_positive(dentry)) { d_inode(dentry)->i_flags |= S_PRIVATE; + d_inode(dentry)->i_opflags &= ~IOP_XATTR; + } } else err = PTR_ERR(dentry); inode_unlock(d_inode(s->s_root)); @@ -987,7 +997,6 @@ } if (d_really_is_positive(privroot)) { - s->s_xattr = reiserfs_xattr_handlers; inode_lock(d_inode(privroot)); if (!REISERFS_SB(s)->xattr_root) { struct dentry *dentry; diff -Nru linux-4.19.87/fs/reiserfs/xattr_acl.c linux-4.19.98/fs/reiserfs/xattr_acl.c --- linux-4.19.87/fs/reiserfs/xattr_acl.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/reiserfs/xattr_acl.c 2020-01-23 07:21:39.000000000 +0000 @@ -320,10 +320,8 @@ * would be useless since permissions are ignored, and a pain because * it introduces locking cycles */ - if (IS_PRIVATE(dir)) { - inode->i_flags |= S_PRIVATE; + if (IS_PRIVATE(inode)) goto apply_umask; - } err = posix_acl_create(dir, &inode->i_mode, &default_acl, &acl); if (err) diff -Nru linux-4.19.87/fs/splice.c linux-4.19.98/fs/splice.c --- linux-4.19.87/fs/splice.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/splice.c 2020-01-23 07:21:39.000000000 +0000 @@ -946,11 +946,17 @@ sd->flags &= ~SPLICE_F_NONBLOCK; more = sd->flags & SPLICE_F_MORE; + WARN_ON_ONCE(pipe->nrbufs != 0); + while (len) { + unsigned int pipe_pages; size_t read_len; loff_t pos = sd->pos, prev_pos = pos; - ret = do_splice_to(in, &pos, pipe, len, flags); + /* Don't try to read more the pipe has space for. */ + pipe_pages = pipe->buffers - pipe->nrbufs; + read_len = min(len, (size_t)pipe_pages << PAGE_SHIFT); + ret = do_splice_to(in, &pos, pipe, read_len, flags); if (unlikely(ret <= 0)) goto out_release; @@ -1170,8 +1176,15 @@ pipe_lock(opipe); ret = wait_for_space(opipe, flags); - if (!ret) + if (!ret) { + unsigned int pipe_pages; + + /* Don't try to read more the pipe has space for. */ + pipe_pages = opipe->buffers - opipe->nrbufs; + len = min(len, (size_t)pipe_pages << PAGE_SHIFT); + ret = do_splice_to(in, &offset, opipe, len, flags); + } pipe_unlock(opipe); if (ret > 0) wakeup_pipe_readers(opipe); diff -Nru linux-4.19.87/fs/ubifs/sb.c linux-4.19.98/fs/ubifs/sb.c --- linux-4.19.87/fs/ubifs/sb.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/ubifs/sb.c 2020-01-23 07:21:39.000000000 +0000 @@ -63,6 +63,17 @@ /* Default time granularity in nanoseconds */ #define DEFAULT_TIME_GRAN 1000000000 +static int get_default_compressor(struct ubifs_info *c) +{ + if (ubifs_compr_present(c, UBIFS_COMPR_LZO)) + return UBIFS_COMPR_LZO; + + if (ubifs_compr_present(c, UBIFS_COMPR_ZLIB)) + return UBIFS_COMPR_ZLIB; + + return UBIFS_COMPR_NONE; +} + /** * create_default_filesystem - format empty UBI volume. * @c: UBIFS file-system description object @@ -186,7 +197,7 @@ if (c->mount_opts.override_compr) sup->default_compr = cpu_to_le16(c->mount_opts.compr_type); else - sup->default_compr = cpu_to_le16(UBIFS_COMPR_LZO); + sup->default_compr = cpu_to_le16(get_default_compressor(c)); generate_random_uuid(sup->uuid); diff -Nru linux-4.19.87/fs/ubifs/tnc_commit.c linux-4.19.98/fs/ubifs/tnc_commit.c --- linux-4.19.87/fs/ubifs/tnc_commit.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/ubifs/tnc_commit.c 2020-01-23 07:21:39.000000000 +0000 @@ -219,7 +219,7 @@ /** * layout_leb_in_gaps - layout index nodes using in-the-gaps method. * @c: UBIFS file-system description object - * @p: return LEB number here + * @p: return LEB number in @c->gap_lebs[p] * * This function lays out new index nodes for dirty znodes using in-the-gaps * method of TNC commit. @@ -228,7 +228,7 @@ * This function returns the number of index nodes written into the gaps, or a * negative error code on failure. */ -static int layout_leb_in_gaps(struct ubifs_info *c, int *p) +static int layout_leb_in_gaps(struct ubifs_info *c, int p) { struct ubifs_scan_leb *sleb; struct ubifs_scan_node *snod; @@ -243,7 +243,7 @@ * filled, however we do not check there at present. */ return lnum; /* Error code */ - *p = lnum; + c->gap_lebs[p] = lnum; dbg_gc("LEB %d", lnum); /* * Scan the index LEB. We use the generic scan for this even though @@ -362,7 +362,7 @@ */ static int layout_in_gaps(struct ubifs_info *c, int cnt) { - int err, leb_needed_cnt, written, *p; + int err, leb_needed_cnt, written, p = 0, old_idx_lebs, *gap_lebs; dbg_gc("%d znodes to write", cnt); @@ -371,9 +371,9 @@ if (!c->gap_lebs) return -ENOMEM; - p = c->gap_lebs; + old_idx_lebs = c->lst.idx_lebs; do { - ubifs_assert(c, p < c->gap_lebs + c->lst.idx_lebs); + ubifs_assert(c, p < c->lst.idx_lebs); written = layout_leb_in_gaps(c, p); if (written < 0) { err = written; @@ -399,9 +399,29 @@ leb_needed_cnt = get_leb_cnt(c, cnt); dbg_gc("%d znodes remaining, need %d LEBs, have %d", cnt, leb_needed_cnt, c->ileb_cnt); + /* + * Dynamically change the size of @c->gap_lebs to prevent + * oob, because @c->lst.idx_lebs could be increased by + * function @get_idx_gc_leb (called by layout_leb_in_gaps-> + * ubifs_find_dirty_idx_leb) during loop. Only enlarge + * @c->gap_lebs when needed. + * + */ + if (leb_needed_cnt > c->ileb_cnt && p >= old_idx_lebs && + old_idx_lebs < c->lst.idx_lebs) { + old_idx_lebs = c->lst.idx_lebs; + gap_lebs = krealloc(c->gap_lebs, sizeof(int) * + (old_idx_lebs + 1), GFP_NOFS); + if (!gap_lebs) { + kfree(c->gap_lebs); + c->gap_lebs = NULL; + return -ENOMEM; + } + c->gap_lebs = gap_lebs; + } } while (leb_needed_cnt > c->ileb_cnt); - *p = -1; + c->gap_lebs[p] = -1; return 0; } diff -Nru linux-4.19.87/fs/userfaultfd.c linux-4.19.98/fs/userfaultfd.c --- linux-4.19.87/fs/userfaultfd.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/userfaultfd.c 2020-01-23 07:21:39.000000000 +0000 @@ -1833,13 +1833,12 @@ if (copy_from_user(&uffdio_api, buf, sizeof(uffdio_api))) goto out; features = uffdio_api.features; - if (uffdio_api.api != UFFD_API || (features & ~UFFD_API_FEATURES)) { - memset(&uffdio_api, 0, sizeof(uffdio_api)); - if (copy_to_user(buf, &uffdio_api, sizeof(uffdio_api))) - goto out; - ret = -EINVAL; - goto out; - } + ret = -EINVAL; + if (uffdio_api.api != UFFD_API || (features & ~UFFD_API_FEATURES)) + goto err_out; + ret = -EPERM; + if ((features & UFFD_FEATURE_EVENT_FORK) && !capable(CAP_SYS_PTRACE)) + goto err_out; /* report all available features and ioctls to userland */ uffdio_api.features = UFFD_API_FEATURES; uffdio_api.ioctls = UFFD_API_IOCTLS; @@ -1852,6 +1851,11 @@ ret = 0; out: return ret; +err_out: + memset(&uffdio_api, 0, sizeof(uffdio_api)); + if (copy_to_user(buf, &uffdio_api, sizeof(uffdio_api))) + ret = -EFAULT; + goto out; } static long userfaultfd_ioctl(struct file *file, unsigned cmd, diff -Nru linux-4.19.87/fs/xfs/libxfs/xfs_bmap.c linux-4.19.98/fs/xfs/libxfs/xfs_bmap.c --- linux-4.19.87/fs/xfs/libxfs/xfs_bmap.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/xfs/libxfs/xfs_bmap.c 2020-01-23 07:21:39.000000000 +0000 @@ -5239,7 +5239,7 @@ * Make sure we don't touch multiple AGF headers out of order * in a single transaction, as that could cause AB-BA deadlocks. */ - if (!wasdel) { + if (!wasdel && !isrt) { agno = XFS_FSB_TO_AGNO(mp, del.br_startblock); if (prev_agno != NULLAGNUMBER && prev_agno > agno) break; diff -Nru linux-4.19.87/fs/xfs/libxfs/xfs_symlink_remote.c linux-4.19.98/fs/xfs/libxfs/xfs_symlink_remote.c --- linux-4.19.87/fs/xfs/libxfs/xfs_symlink_remote.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/xfs/libxfs/xfs_symlink_remote.c 2020-01-23 07:21:39.000000000 +0000 @@ -199,7 +199,10 @@ ifp->if_bytes - 1); } -/* Verify the consistency of an inline symlink. */ +/* + * Verify the in-memory consistency of an inline symlink data fork. This + * does not do on-disk format checks. + */ xfs_failaddr_t xfs_symlink_shortform_verify( struct xfs_inode *ip) @@ -215,9 +218,12 @@ size = ifp->if_bytes; endp = sfp + size; - /* Zero length symlinks can exist while we're deleting a remote one. */ - if (size == 0) - return NULL; + /* + * Zero length symlinks should never occur in memory as they are + * never alllowed to exist on disk. + */ + if (!size) + return __this_address; /* No negative sizes or overly long symlink targets. */ if (size < 0 || size > XFS_SYMLINK_MAXLEN) diff -Nru linux-4.19.87/fs/xfs/scrub/common.h linux-4.19.98/fs/xfs/scrub/common.h --- linux-4.19.87/fs/xfs/scrub/common.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/xfs/scrub/common.h 2020-01-23 07:21:39.000000000 +0000 @@ -14,8 +14,15 @@ static inline bool xchk_should_terminate( struct xfs_scrub *sc, - int *error) + int *error) { + /* + * If preemption is disabled, we need to yield to the scheduler every + * few seconds so that we don't run afoul of the soft lockup watchdog + * or RCU stall detector. + */ + cond_resched(); + if (fatal_signal_pending(current)) { if (*error == 0) *error = -EAGAIN; diff -Nru linux-4.19.87/fs/xfs/xfs_bmap_util.c linux-4.19.98/fs/xfs/xfs_bmap_util.c --- linux-4.19.87/fs/xfs/xfs_bmap_util.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/xfs/xfs_bmap_util.c 2020-01-23 07:21:39.000000000 +0000 @@ -1244,11 +1244,7 @@ * Writeback and invalidate cache for the remainder of the file as we're * about to shift down every extent from offset to EOF. */ - error = filemap_write_and_wait_range(VFS_I(ip)->i_mapping, offset, -1); - if (error) - return error; - error = invalidate_inode_pages2_range(VFS_I(ip)->i_mapping, - offset >> PAGE_SHIFT, -1); + error = xfs_flush_unmap_range(ip, offset, XFS_ISIZE(ip)); if (error) return error; diff -Nru linux-4.19.87/fs/xfs/xfs_buf.c linux-4.19.98/fs/xfs/xfs_buf.c --- linux-4.19.87/fs/xfs/xfs_buf.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/xfs/xfs_buf.c 2020-01-23 07:21:39.000000000 +0000 @@ -1506,8 +1506,7 @@ xfs_buf_ioerror(bp, -EIO); bp->b_flags &= ~XBF_DONE; xfs_buf_stale(bp); - if (bp->b_flags & XBF_ASYNC) - xfs_buf_ioend(bp); + xfs_buf_ioend(bp); return -EIO; } diff -Nru linux-4.19.87/fs/xfs/xfs_ioctl32.c linux-4.19.98/fs/xfs/xfs_ioctl32.c --- linux-4.19.87/fs/xfs/xfs_ioctl32.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/xfs/xfs_ioctl32.c 2020-01-23 07:21:39.000000000 +0000 @@ -241,6 +241,32 @@ int done; int error; + /* + * Output structure handling functions. Depending on the command, + * either the xfs_bstat and xfs_inogrp structures are written out + * to userpace memory via bulkreq.ubuffer. Normally the compat + * functions and structure size are the correct ones to use ... + */ + inumbers_fmt_pf inumbers_func = xfs_inumbers_fmt_compat; + bulkstat_one_pf bs_one_func = xfs_bulkstat_one_compat; + size_t bs_one_size = sizeof(struct compat_xfs_bstat); + +#ifdef CONFIG_X86_X32 + if (in_x32_syscall()) { + /* + * ... but on x32 the input xfs_fsop_bulkreq has pointers + * which must be handled in the "compat" (32-bit) way, while + * the xfs_bstat and xfs_inogrp structures follow native 64- + * bit layout convention. So adjust accordingly, otherwise + * the data written out in compat layout will not match what + * x32 userspace expects. + */ + inumbers_func = xfs_inumbers_fmt; + bs_one_func = xfs_bulkstat_one; + bs_one_size = sizeof(struct xfs_bstat); + } +#endif + /* done = 1 if there are more stats to get and if bulkstat */ /* should be called again (unused here, but used in dmapi) */ @@ -272,15 +298,15 @@ if (cmd == XFS_IOC_FSINUMBERS_32) { error = xfs_inumbers(mp, &inlast, &count, - bulkreq.ubuffer, xfs_inumbers_fmt_compat); + bulkreq.ubuffer, inumbers_func); } else if (cmd == XFS_IOC_FSBULKSTAT_SINGLE_32) { int res; - error = xfs_bulkstat_one_compat(mp, inlast, bulkreq.ubuffer, - sizeof(compat_xfs_bstat_t), NULL, &res); + error = bs_one_func(mp, inlast, bulkreq.ubuffer, + bs_one_size, NULL, &res); } else if (cmd == XFS_IOC_FSBULKSTAT_32) { error = xfs_bulkstat(mp, &inlast, &count, - xfs_bulkstat_one_compat, sizeof(compat_xfs_bstat_t), + bs_one_func, bs_one_size, bulkreq.ubuffer, &done); } else error = -EINVAL; @@ -336,6 +362,7 @@ { int error; attrlist_cursor_kern_t *cursor; + compat_xfs_fsop_attrlist_handlereq_t __user *p = arg; compat_xfs_fsop_attrlist_handlereq_t al_hreq; struct dentry *dentry; char *kbuf; @@ -370,6 +397,11 @@ if (error) goto out_kfree; + if (copy_to_user(&p->pos, cursor, sizeof(attrlist_cursor_kern_t))) { + error = -EFAULT; + goto out_kfree; + } + if (copy_to_user(compat_ptr(al_hreq.buffer), kbuf, al_hreq.buflen)) error = -EFAULT; diff -Nru linux-4.19.87/fs/xfs/xfs_log.c linux-4.19.98/fs/xfs/xfs_log.c --- linux-4.19.87/fs/xfs/xfs_log.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/xfs/xfs_log.c 2020-01-23 07:21:39.000000000 +0000 @@ -1578,6 +1578,8 @@ if (iclog->ic_bp) xfs_buf_free(iclog->ic_bp); kmem_free(iclog); + if (prev_iclog == log->l_iclog) + break; } spinlock_destroy(&log->l_icloglock); xfs_buf_free(log->l_xbuf); diff -Nru linux-4.19.87/fs/xfs/xfs_rtalloc.c linux-4.19.98/fs/xfs/xfs_rtalloc.c --- linux-4.19.87/fs/xfs/xfs_rtalloc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/xfs/xfs_rtalloc.c 2020-01-23 07:21:39.000000000 +0000 @@ -1198,13 +1198,11 @@ xfs_sb_t *sbp; sbp = &mp->m_sb; - if (sbp->sb_rbmino == NULLFSINO) - return 0; error = xfs_iget(mp, NULL, sbp->sb_rbmino, 0, 0, &mp->m_rbmip); if (error) return error; ASSERT(mp->m_rbmip != NULL); - ASSERT(sbp->sb_rsumino != NULLFSINO); + error = xfs_iget(mp, NULL, sbp->sb_rsumino, 0, 0, &mp->m_rsumip); if (error) { xfs_irele(mp->m_rbmip); diff -Nru linux-4.19.87/fs/xfs/xfs_symlink.c linux-4.19.98/fs/xfs/xfs_symlink.c --- linux-4.19.87/fs/xfs/xfs_symlink.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/fs/xfs/xfs_symlink.c 2020-01-23 07:21:39.000000000 +0000 @@ -192,6 +192,7 @@ pathlen = strlen(target_path); if (pathlen >= XFS_SYMLINK_MAXLEN) /* total string too long */ return -ENAMETOOLONG; + ASSERT(pathlen > 0); udqp = gdqp = NULL; prid = xfs_get_initial_prid(dp); @@ -378,6 +379,12 @@ /* * Free a symlink that has blocks associated with it. + * + * Note: zero length symlinks are not allowed to exist. When we set the size to + * zero, also change it to a regular file so that it does not get written to + * disk as a zero length symlink. The inode is on the unlinked list already, so + * userspace cannot find this inode anymore, so this change is not user visible + * but allows us to catch corrupt zero-length symlinks in the verifiers. */ STATIC int xfs_inactive_symlink_rmt( @@ -412,13 +419,14 @@ xfs_trans_ijoin(tp, ip, 0); /* - * Lock the inode, fix the size, and join it to the transaction. - * Hold it so in the normal path, we still have it locked for - * the second transaction. In the error paths we need it + * Lock the inode, fix the size, turn it into a regular file and join it + * to the transaction. Hold it so in the normal path, we still have it + * locked for the second transaction. In the error paths we need it * held so the cancel won't rele it, see below. */ size = (int)ip->i_d.di_size; ip->i_d.di_size = 0; + VFS_I(ip)->i_mode = (VFS_I(ip)->i_mode & ~S_IFMT) | S_IFREG; xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); /* * Find the block(s) so we can inval and unmap them. @@ -494,17 +502,10 @@ return -EIO; xfs_ilock(ip, XFS_ILOCK_EXCL); - - /* - * Zero length symlinks _can_ exist. - */ pathlen = (int)ip->i_d.di_size; - if (!pathlen) { - xfs_iunlock(ip, XFS_ILOCK_EXCL); - return 0; - } + ASSERT(pathlen); - if (pathlen < 0 || pathlen > XFS_SYMLINK_MAXLEN) { + if (pathlen <= 0 || pathlen > XFS_SYMLINK_MAXLEN) { xfs_alert(mp, "%s: inode (0x%llx) bad symlink length (%d)", __func__, (unsigned long long)ip->i_ino, pathlen); xfs_iunlock(ip, XFS_ILOCK_EXCL); @@ -512,12 +513,12 @@ return -EFSCORRUPTED; } + /* + * Inline fork state gets removed by xfs_difree() so we have nothing to + * do here in that case. + */ if (ip->i_df.if_flags & XFS_IFINLINE) { - if (ip->i_df.if_bytes > 0) - xfs_idata_realloc(ip, -(ip->i_df.if_bytes), - XFS_DATA_FORK); xfs_iunlock(ip, XFS_ILOCK_EXCL); - ASSERT(ip->i_df.if_bytes == 0); return 0; } diff -Nru linux-4.19.87/include/drm/drm_dp_mst_helper.h linux-4.19.98/include/drm/drm_dp_mst_helper.h --- linux-4.19.87/include/drm/drm_dp_mst_helper.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/drm/drm_dp_mst_helper.h 2020-01-23 07:21:39.000000000 +0000 @@ -313,7 +313,7 @@ struct drm_dp_query_payload_ack_reply { u8 port_number; - u8 allocated_pbn; + u16 allocated_pbn; }; struct drm_dp_sideband_msg_req_body { diff -Nru linux-4.19.87/include/dt-bindings/clock/rk3328-cru.h linux-4.19.98/include/dt-bindings/clock/rk3328-cru.h --- linux-4.19.87/include/dt-bindings/clock/rk3328-cru.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/dt-bindings/clock/rk3328-cru.h 2020-01-23 07:21:39.000000000 +0000 @@ -178,7 +178,7 @@ #define HCLK_TSP 309 #define HCLK_GMAC 310 #define HCLK_I2S0_8CH 311 -#define HCLK_I2S1_8CH 313 +#define HCLK_I2S1_8CH 312 #define HCLK_I2S2_2CH 313 #define HCLK_SPDIF_8CH 314 #define HCLK_VOP 315 diff -Nru linux-4.19.87/include/dt-bindings/power/r8a77970-sysc.h linux-4.19.98/include/dt-bindings/power/r8a77970-sysc.h --- linux-4.19.87/include/dt-bindings/power/r8a77970-sysc.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/dt-bindings/power/r8a77970-sysc.h 2020-01-23 07:21:39.000000000 +0000 @@ -19,10 +19,10 @@ #define R8A77970_PD_CR7 13 #define R8A77970_PD_CA53_SCU 21 #define R8A77970_PD_A2IR0 23 -#define R8A77970_PD_A3IR 24 +#define R8A77970_PD_A3IR 24 #define R8A77970_PD_A2IR1 27 -#define R8A77970_PD_A2IR2 28 -#define R8A77970_PD_A2IR3 29 +#define R8A77970_PD_A2DP 28 +#define R8A77970_PD_A2CN 29 #define R8A77970_PD_A2SC0 30 #define R8A77970_PD_A2SC1 31 diff -Nru linux-4.19.87/include/dt-bindings/power/r8a77980-sysc.h linux-4.19.98/include/dt-bindings/power/r8a77980-sysc.h --- linux-4.19.87/include/dt-bindings/power/r8a77980-sysc.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/dt-bindings/power/r8a77980-sysc.h 2020-01-23 07:21:39.000000000 +0000 @@ -15,14 +15,14 @@ #define R8A77980_PD_A2SC2 0 #define R8A77980_PD_A2SC3 1 #define R8A77980_PD_A2SC4 2 -#define R8A77980_PD_A2PD0 3 -#define R8A77980_PD_A2PD1 4 +#define R8A77980_PD_A2DP0 3 +#define R8A77980_PD_A2DP1 4 #define R8A77980_PD_CA53_CPU0 5 #define R8A77980_PD_CA53_CPU1 6 #define R8A77980_PD_CA53_CPU2 7 #define R8A77980_PD_CA53_CPU3 8 #define R8A77980_PD_A2CN 10 -#define R8A77980_PD_A3VIP 11 +#define R8A77980_PD_A3VIP0 11 #define R8A77980_PD_A2IR5 12 #define R8A77980_PD_CR7 13 #define R8A77980_PD_A2IR4 15 diff -Nru linux-4.19.87/include/dt-bindings/reset/amlogic,meson8b-reset.h linux-4.19.98/include/dt-bindings/reset/amlogic,meson8b-reset.h --- linux-4.19.87/include/dt-bindings/reset/amlogic,meson8b-reset.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/dt-bindings/reset/amlogic,meson8b-reset.h 2020-01-23 07:21:39.000000000 +0000 @@ -95,9 +95,9 @@ #define RESET_VD_RMEM 64 #define RESET_AUDIN 65 #define RESET_DBLK 66 -#define RESET_PIC_DC 66 -#define RESET_PSC 66 -#define RESET_NAND 66 +#define RESET_PIC_DC 67 +#define RESET_PSC 68 +#define RESET_NAND 69 #define RESET_GE2D 70 #define RESET_PARSER_REG 71 #define RESET_PARSER_FETCH 72 diff -Nru linux-4.19.87/include/linux/acpi.h linux-4.19.98/include/linux/acpi.h --- linux-4.19.87/include/linux/acpi.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/acpi.h 2020-01-23 07:21:39.000000000 +0000 @@ -101,7 +101,7 @@ static inline void acpi_preset_companion(struct device *dev, struct acpi_device *parent, u64 addr) { - ACPI_COMPANION_SET(dev, acpi_find_child_device(parent, addr, NULL)); + ACPI_COMPANION_SET(dev, acpi_find_child_device(parent, addr, false)); } static inline const char *acpi_dev_name(struct acpi_device *adev) diff -Nru linux-4.19.87/include/linux/ahci_platform.h linux-4.19.98/include/linux/ahci_platform.h --- linux-4.19.87/include/linux/ahci_platform.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/ahci_platform.h 2020-01-23 07:21:39.000000000 +0000 @@ -23,6 +23,8 @@ struct platform_device; struct scsi_host_template; +int ahci_platform_enable_phys(struct ahci_host_priv *hpriv); +void ahci_platform_disable_phys(struct ahci_host_priv *hpriv); int ahci_platform_enable_clks(struct ahci_host_priv *hpriv); void ahci_platform_disable_clks(struct ahci_host_priv *hpriv); int ahci_platform_enable_regulators(struct ahci_host_priv *hpriv); diff -Nru linux-4.19.87/include/linux/atalk.h linux-4.19.98/include/linux/atalk.h --- linux-4.19.87/include/linux/atalk.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/atalk.h 2020-01-23 07:21:39.000000000 +0000 @@ -108,7 +108,7 @@ #define AARP_RESOLVE_TIME (10 * HZ) extern struct datalink_proto *ddp_dl, *aarp_dl; -extern void aarp_proto_init(void); +extern int aarp_proto_init(void); /* Inter module exports */ diff -Nru linux-4.19.87/include/linux/avf/virtchnl.h linux-4.19.98/include/linux/avf/virtchnl.h --- linux-4.19.87/include/linux/avf/virtchnl.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/avf/virtchnl.h 2020-01-23 07:21:39.000000000 +0000 @@ -798,8 +798,8 @@ if (msglen >= valid_len) { struct virtchnl_tc_info *vti = (struct virtchnl_tc_info *)msg; - valid_len += vti->num_tc * - sizeof(struct virtchnl_channel_info); + valid_len += (vti->num_tc - 1) * + sizeof(struct virtchnl_channel_info); if (vti->num_tc == 0) err_msg_format = true; } diff -Nru linux-4.19.87/include/linux/blkdev.h linux-4.19.98/include/linux/blkdev.h --- linux-4.19.87/include/linux/blkdev.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/blkdev.h 2020-01-23 07:21:39.000000000 +0000 @@ -372,6 +372,7 @@ unsigned int max_sectors; unsigned int max_segment_size; unsigned int physical_block_size; + unsigned int logical_block_size; unsigned int alignment_offset; unsigned int io_min; unsigned int io_opt; @@ -382,7 +383,6 @@ unsigned int discard_granularity; unsigned int discard_alignment; - unsigned short logical_block_size; unsigned short max_segments; unsigned short max_integrity_segments; unsigned short max_discard_segments; @@ -1212,7 +1212,7 @@ unsigned int max_write_same_sectors); extern void blk_queue_max_write_zeroes_sectors(struct request_queue *q, unsigned int max_write_same_sectors); -extern void blk_queue_logical_block_size(struct request_queue *, unsigned short); +extern void blk_queue_logical_block_size(struct request_queue *, unsigned int); extern void blk_queue_physical_block_size(struct request_queue *, unsigned int); extern void blk_queue_alignment_offset(struct request_queue *q, unsigned int alignment); @@ -1473,7 +1473,7 @@ return q->limits.max_segment_size; } -static inline unsigned short queue_logical_block_size(struct request_queue *q) +static inline unsigned queue_logical_block_size(struct request_queue *q) { int retval = 512; @@ -1483,7 +1483,7 @@ return retval; } -static inline unsigned short bdev_logical_block_size(struct block_device *bdev) +static inline unsigned int bdev_logical_block_size(struct block_device *bdev) { return queue_logical_block_size(bdev_get_queue(bdev)); } diff -Nru linux-4.19.87/include/linux/blktrace_api.h linux-4.19.98/include/linux/blktrace_api.h --- linux-4.19.87/include/linux/blktrace_api.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/blktrace_api.h 2020-01-23 07:21:39.000000000 +0000 @@ -116,7 +116,13 @@ static inline sector_t blk_rq_trace_sector(struct request *rq) { - return blk_rq_is_passthrough(rq) ? 0 : blk_rq_pos(rq); + /* + * Tracing should ignore starting sector for passthrough requests and + * requests where starting sector didn't get set. + */ + if (blk_rq_is_passthrough(rq) || blk_rq_pos(rq) == (sector_t)-1) + return 0; + return blk_rq_pos(rq); } static inline unsigned int blk_rq_trace_nr_sectors(struct request *rq) diff -Nru linux-4.19.87/include/linux/can/dev.h linux-4.19.98/include/linux/can/dev.h --- linux-4.19.87/include/linux/can/dev.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/can/dev.h 2020-01-23 07:21:39.000000000 +0000 @@ -18,6 +18,7 @@ #include #include #include +#include #include /* @@ -91,6 +92,36 @@ #define get_can_dlc(i) (min_t(__u8, (i), CAN_MAX_DLC)) #define get_canfd_dlc(i) (min_t(__u8, (i), CANFD_MAX_DLC)) +/* Check for outgoing skbs that have not been created by the CAN subsystem */ +static inline bool can_skb_headroom_valid(struct net_device *dev, + struct sk_buff *skb) +{ + /* af_packet creates a headroom of HH_DATA_MOD bytes which is fine */ + if (WARN_ON_ONCE(skb_headroom(skb) < sizeof(struct can_skb_priv))) + return false; + + /* af_packet does not apply CAN skb specific settings */ + if (skb->ip_summed == CHECKSUM_NONE) { + /* init headroom */ + can_skb_prv(skb)->ifindex = dev->ifindex; + can_skb_prv(skb)->skbcnt = 0; + + skb->ip_summed = CHECKSUM_UNNECESSARY; + + /* preform proper loopback on capable devices */ + if (dev->flags & IFF_ECHO) + skb->pkt_type = PACKET_LOOPBACK; + else + skb->pkt_type = PACKET_HOST; + + skb_reset_mac_header(skb); + skb_reset_network_header(skb); + skb_reset_transport_header(skb); + } + + return true; +} + /* Drop a given socketbuffer if it does not contain a valid CAN frame. */ static inline bool can_dropped_invalid_skb(struct net_device *dev, struct sk_buff *skb) @@ -108,6 +139,9 @@ } else goto inval_skb; + if (!can_skb_headroom_valid(dev, skb)) + goto inval_skb; + return false; inval_skb: diff -Nru linux-4.19.87/include/linux/cpufreq.h linux-4.19.98/include/linux/cpufreq.h --- linux-4.19.87/include/linux/cpufreq.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/cpufreq.h 2020-01-23 07:21:39.000000000 +0000 @@ -563,17 +563,6 @@ size_t count); }; -static inline bool cpufreq_this_cpu_can_update(struct cpufreq_policy *policy) -{ - /* - * Allow remote callbacks if: - * - dvfs_possible_from_any_cpu flag is set - * - the local and remote CPUs share cpufreq policy - */ - return policy->dvfs_possible_from_any_cpu || - cpumask_test_cpu(smp_processor_id(), policy->cpus); -} - /********************************************************************* * FREQUENCY TABLE HELPERS * *********************************************************************/ diff -Nru linux-4.19.87/include/linux/dma-mapping.h linux-4.19.98/include/linux/dma-mapping.h --- linux-4.19.87/include/linux/dma-mapping.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/dma-mapping.h 2020-01-23 07:21:39.000000000 +0000 @@ -674,8 +674,7 @@ return SZ_64K; } -static inline unsigned int dma_set_max_seg_size(struct device *dev, - unsigned int size) +static inline int dma_set_max_seg_size(struct device *dev, unsigned int size) { if (dev->dma_parms) { dev->dma_parms->max_segment_size = size; diff -Nru linux-4.19.87/include/linux/dmaengine.h linux-4.19.98/include/linux/dmaengine.h --- linux-4.19.87/include/linux/dmaengine.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/dmaengine.h 2020-01-23 07:21:39.000000000 +0000 @@ -1373,8 +1373,11 @@ static inline int dmaengine_desc_set_reuse(struct dma_async_tx_descriptor *tx) { struct dma_slave_caps caps; + int ret; - dma_get_slave_caps(tx->chan, &caps); + ret = dma_get_slave_caps(tx->chan, &caps); + if (ret) + return ret; if (caps.descriptor_reuse) { tx->flags |= DMA_CTRL_REUSE; diff -Nru linux-4.19.87/include/linux/genalloc.h linux-4.19.98/include/linux/genalloc.h --- linux-4.19.87/include/linux/genalloc.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/genalloc.h 2020-01-23 07:21:39.000000000 +0000 @@ -51,7 +51,8 @@ unsigned long size, unsigned long start, unsigned int nr, - void *data, struct gen_pool *pool); + void *data, struct gen_pool *pool, + unsigned long start_addr); /* * General purpose special memory pool descriptor. @@ -131,24 +132,24 @@ extern unsigned long gen_pool_first_fit(unsigned long *map, unsigned long size, unsigned long start, unsigned int nr, void *data, - struct gen_pool *pool); + struct gen_pool *pool, unsigned long start_addr); extern unsigned long gen_pool_fixed_alloc(unsigned long *map, unsigned long size, unsigned long start, unsigned int nr, - void *data, struct gen_pool *pool); + void *data, struct gen_pool *pool, unsigned long start_addr); extern unsigned long gen_pool_first_fit_align(unsigned long *map, unsigned long size, unsigned long start, unsigned int nr, - void *data, struct gen_pool *pool); + void *data, struct gen_pool *pool, unsigned long start_addr); extern unsigned long gen_pool_first_fit_order_align(unsigned long *map, unsigned long size, unsigned long start, unsigned int nr, - void *data, struct gen_pool *pool); + void *data, struct gen_pool *pool, unsigned long start_addr); extern unsigned long gen_pool_best_fit(unsigned long *map, unsigned long size, unsigned long start, unsigned int nr, void *data, - struct gen_pool *pool); + struct gen_pool *pool, unsigned long start_addr); extern struct gen_pool *devm_gen_pool_create(struct device *dev, diff -Nru linux-4.19.87/include/linux/gpio/consumer.h linux-4.19.98/include/linux/gpio/consumer.h --- linux-4.19.87/include/linux/gpio/consumer.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/gpio/consumer.h 2020-01-23 07:21:39.000000000 +0000 @@ -475,7 +475,7 @@ static inline struct gpio_desc *gpio_to_desc(unsigned gpio) { - return ERR_PTR(-EINVAL); + return NULL; } static inline int desc_to_gpio(const struct gpio_desc *desc) diff -Nru linux-4.19.87/include/linux/hrtimer.h linux-4.19.98/include/linux/hrtimer.h --- linux-4.19.87/include/linux/hrtimer.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/hrtimer.h 2020-01-23 07:21:39.000000000 +0000 @@ -430,12 +430,18 @@ extern bool hrtimer_active(const struct hrtimer *timer); -/* - * Helper function to check, whether the timer is on one of the queues +/** + * hrtimer_is_queued = check, whether the timer is on one of the queues + * @timer: Timer to check + * + * Returns: True if the timer is queued, false otherwise + * + * The function can be used lockless, but it gives only a current snapshot. */ -static inline int hrtimer_is_queued(struct hrtimer *timer) +static inline bool hrtimer_is_queued(struct hrtimer *timer) { - return timer->state & HRTIMER_STATE_ENQUEUED; + /* The READ_ONCE pairs with the update functions of timer->state */ + return !!(READ_ONCE(timer->state) & HRTIMER_STATE_ENQUEUED); } /* diff -Nru linux-4.19.87/include/linux/huge_mm.h linux-4.19.98/include/linux/huge_mm.h --- linux-4.19.87/include/linux/huge_mm.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/huge_mm.h 2020-01-23 07:21:39.000000000 +0000 @@ -91,7 +91,11 @@ extern unsigned long transparent_hugepage_flags; -static inline bool transparent_hugepage_enabled(struct vm_area_struct *vma) +/* + * to be used on vmas which are known to support THP. + * Use transparent_hugepage_enabled otherwise + */ +static inline bool __transparent_hugepage_enabled(struct vm_area_struct *vma) { if (vma->vm_flags & VM_NOHUGEPAGE) return false; @@ -115,6 +119,8 @@ return false; } +bool transparent_hugepage_enabled(struct vm_area_struct *vma); + #define transparent_hugepage_use_zero_page() \ (transparent_hugepage_flags & \ (1<data; +} + static inline struct ethhdr *inner_eth_hdr(const struct sk_buff *skb) { return (struct ethhdr *)skb_inner_mac_header(skb); diff -Nru linux-4.19.87/include/linux/ipmi_smi.h linux-4.19.98/include/linux/ipmi_smi.h --- linux-4.19.87/include/linux/ipmi_smi.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/ipmi_smi.h 2020-01-23 07:21:39.000000000 +0000 @@ -211,10 +211,14 @@ * is called, and the lower layer must get the interface from that * call. */ -int ipmi_register_smi(const struct ipmi_smi_handlers *handlers, - void *send_info, - struct device *dev, - unsigned char slave_addr); +int ipmi_add_smi(struct module *owner, + const struct ipmi_smi_handlers *handlers, + void *send_info, + struct device *dev, + unsigned char slave_addr); + +#define ipmi_register_smi(handlers, send_info, dev, slave_addr) \ + ipmi_add_smi(THIS_MODULE, handlers, send_info, dev, slave_addr) /* * Remove a low-level interface from the IPMI driver. This will diff -Nru linux-4.19.87/include/linux/jbd2.h linux-4.19.98/include/linux/jbd2.h --- linux-4.19.87/include/linux/jbd2.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/jbd2.h 2020-01-23 07:21:39.000000000 +0000 @@ -1587,7 +1587,7 @@ static inline unsigned long jbd2_log_space_left(journal_t *journal) { /* Allow for rounding errors */ - unsigned long free = journal->j_free - 32; + long free = journal->j_free - 32; if (journal->j_committing_transaction) { unsigned long committing = atomic_read(&journal-> @@ -1596,7 +1596,7 @@ /* Transaction + control blocks */ free -= committing + (committing >> JBD2_CONTROL_BLOCKS_SHIFT); } - return free; + return max_t(long, free, 0); } /* diff -Nru linux-4.19.87/include/linux/kernfs.h linux-4.19.98/include/linux/kernfs.h --- linux-4.19.87/include/linux/kernfs.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/kernfs.h 2020-01-23 07:21:39.000000000 +0000 @@ -186,6 +186,7 @@ /* private fields, do not use outside kernfs proper */ struct idr ino_idr; + u32 last_ino; u32 next_generation; struct kernfs_syscall_ops *syscall_ops; diff -Nru linux-4.19.87/include/linux/kprobes.h linux-4.19.98/include/linux/kprobes.h --- linux-4.19.87/include/linux/kprobes.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/kprobes.h 2020-01-23 07:21:39.000000000 +0000 @@ -243,10 +243,13 @@ extern void show_registers(struct pt_regs *regs); extern void kprobes_inc_nmissed_count(struct kprobe *p); extern bool arch_within_kprobe_blacklist(unsigned long addr); +extern int arch_populate_kprobe_blacklist(void); extern bool arch_kprobe_on_func_entry(unsigned long offset); extern bool kprobe_on_func_entry(kprobe_opcode_t *addr, const char *sym, unsigned long offset); extern bool within_kprobe_blacklist(unsigned long addr); +extern int kprobe_add_ksym_blacklist(unsigned long entry); +extern int kprobe_add_area_blacklist(unsigned long start, unsigned long end); struct kprobe_insn_cache { struct mutex mutex; diff -Nru linux-4.19.87/include/linux/libata.h linux-4.19.98/include/linux/libata.h --- linux-4.19.87/include/linux/libata.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/libata.h 2020-01-23 07:21:39.000000000 +0000 @@ -1190,6 +1190,7 @@ struct ata_taskfile *tf, u16 *id); extern void ata_qc_complete(struct ata_queued_cmd *qc); extern int ata_qc_complete_multiple(struct ata_port *ap, u64 qc_active); +extern u64 ata_qc_get_active(struct ata_port *ap); extern void ata_scsi_simulate(struct ata_device *dev, struct scsi_cmnd *cmd); extern int ata_std_bios_param(struct scsi_device *sdev, struct block_device *bdev, diff -Nru linux-4.19.87/include/linux/libfdt_env.h linux-4.19.98/include/linux/libfdt_env.h --- linux-4.19.87/include/linux/libfdt_env.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/libfdt_env.h 2020-01-23 07:21:39.000000000 +0000 @@ -7,6 +7,9 @@ #include +#define INT32_MAX S32_MAX +#define UINT32_MAX U32_MAX + typedef __be16 fdt16_t; typedef __be32 fdt32_t; typedef __be64 fdt64_t; diff -Nru linux-4.19.87/include/linux/lsm_hooks.h linux-4.19.98/include/linux/lsm_hooks.h --- linux-4.19.87/include/linux/lsm_hooks.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/lsm_hooks.h 2020-01-23 07:21:39.000000000 +0000 @@ -1270,7 +1270,7 @@ * @cred contains the credentials to use. * @ns contains the user namespace we want the capability in * @cap contains the capability . - * @audit contains whether to write an audit message or not + * @opts contains options for the capable check * Return 0 if the capability is granted for @tsk. * @syslog: * Check permission before accessing the kernel message ring or changing @@ -1446,8 +1446,10 @@ const kernel_cap_t *effective, const kernel_cap_t *inheritable, const kernel_cap_t *permitted); - int (*capable)(const struct cred *cred, struct user_namespace *ns, - int cap, int audit); + int (*capable)(const struct cred *cred, + struct user_namespace *ns, + int cap, + unsigned int opts); int (*quotactl)(int cmds, int type, int id, struct super_block *sb); int (*quota_on)(struct dentry *dentry); int (*syslog)(int type); diff -Nru linux-4.19.87/include/linux/memory_hotplug.h linux-4.19.98/include/linux/memory_hotplug.h --- linux-4.19.87/include/linux/memory_hotplug.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/memory_hotplug.h 2020-01-23 07:21:39.000000000 +0000 @@ -21,14 +21,16 @@ * walkers which rely on the fully initialized page->flags and others * should use this rather than pfn_valid && pfn_to_page */ -#define pfn_to_online_page(pfn) \ -({ \ - struct page *___page = NULL; \ - unsigned long ___nr = pfn_to_section_nr(pfn); \ - \ - if (___nr < NR_MEM_SECTIONS && online_section_nr(___nr))\ - ___page = pfn_to_page(pfn); \ - ___page; \ +#define pfn_to_online_page(pfn) \ +({ \ + struct page *___page = NULL; \ + unsigned long ___pfn = pfn; \ + unsigned long ___nr = pfn_to_section_nr(___pfn); \ + \ + if (___nr < NR_MEM_SECTIONS && online_section_nr(___nr) && \ + pfn_valid_within(___pfn)) \ + ___page = pfn_to_page(___pfn); \ + ___page; \ }) /* diff -Nru linux-4.19.87/include/linux/mfd/rk808.h linux-4.19.98/include/linux/mfd/rk808.h --- linux-4.19.87/include/linux/mfd/rk808.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/mfd/rk808.h 2020-01-23 07:21:39.000000000 +0000 @@ -443,7 +443,7 @@ enum { RK805_ID = 0x8050, RK808_ID = 0x0000, - RK818_ID = 0x8181, + RK818_ID = 0x8180, }; struct rk808 { diff -Nru linux-4.19.87/include/linux/miscdevice.h linux-4.19.98/include/linux/miscdevice.h --- linux-4.19.87/include/linux/miscdevice.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/miscdevice.h 2020-01-23 07:21:39.000000000 +0000 @@ -57,6 +57,7 @@ #define UHID_MINOR 239 #define USERIO_MINOR 240 #define VHOST_VSOCK_MINOR 241 +#define RFKILL_MINOR 242 #define MISC_DYNAMIC_MINOR 255 struct device; diff -Nru linux-4.19.87/include/linux/mod_devicetable.h linux-4.19.98/include/linux/mod_devicetable.h --- linux-4.19.87/include/linux/mod_devicetable.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/mod_devicetable.h 2020-01-23 07:21:39.000000000 +0000 @@ -551,9 +551,9 @@ #define MDIO_NAME_SIZE 32 #define MDIO_MODULE_PREFIX "mdio:" -#define MDIO_ID_FMT "%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d" +#define MDIO_ID_FMT "%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u%u" #define MDIO_ID_ARGS(_id) \ - (_id)>>31, ((_id)>>30) & 1, ((_id)>>29) & 1, ((_id)>>28) & 1, \ + ((_id)>>31) & 1, ((_id)>>30) & 1, ((_id)>>29) & 1, ((_id)>>28) & 1, \ ((_id)>>27) & 1, ((_id)>>26) & 1, ((_id)>>25) & 1, ((_id)>>24) & 1, \ ((_id)>>23) & 1, ((_id)>>22) & 1, ((_id)>>21) & 1, ((_id)>>20) & 1, \ ((_id)>>19) & 1, ((_id)>>18) & 1, ((_id)>>17) & 1, ((_id)>>16) & 1, \ diff -Nru linux-4.19.87/include/linux/mtd/mtd.h linux-4.19.98/include/linux/mtd/mtd.h --- linux-4.19.87/include/linux/mtd/mtd.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/mtd/mtd.h 2020-01-23 07:21:39.000000000 +0000 @@ -386,7 +386,7 @@ return dev_of_node(&mtd->dev); } -static inline int mtd_oobavail(struct mtd_info *mtd, struct mtd_oob_ops *ops) +static inline u32 mtd_oobavail(struct mtd_info *mtd, struct mtd_oob_ops *ops) { return ops->mode == MTD_OPS_AUTO_OOB ? mtd->oobavail : mtd->oobsize; } diff -Nru linux-4.19.87/include/linux/netdevice.h linux-4.19.98/include/linux/netdevice.h --- linux-4.19.87/include/linux/netdevice.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/netdevice.h 2020-01-23 07:21:39.000000000 +0000 @@ -1619,6 +1619,8 @@ * @perm_addr: Permanent hw address * @addr_assign_type: Hw address assignment type * @addr_len: Hardware address length + * @upper_level: Maximum depth level of upper devices. + * @lower_level: Maximum depth level of lower devices. * @neigh_priv_len: Used in neigh_alloc() * @dev_id: Used to differentiate devices that share * the same link layer address @@ -1834,6 +1836,11 @@ unsigned char if_port; unsigned char dma; + /* Note : dev->mtu is often read without holding a lock. + * Writers usually hold RTNL. + * It is recommended to use READ_ONCE() to annotate the reads, + * and to use WRITE_ONCE() to annotate the writes. + */ unsigned int mtu; unsigned int min_mtu; unsigned int max_mtu; @@ -1848,6 +1855,8 @@ unsigned char perm_addr[MAX_ADDR_LEN]; unsigned char addr_assign_type; unsigned char addr_len; + unsigned char upper_level; + unsigned char lower_level; unsigned short neigh_priv_len; unsigned short dev_id; unsigned short dev_port; @@ -3790,7 +3799,7 @@ if (debug_value == 0) /* no output */ return 0; /* set low N bits */ - return (1 << debug_value) - 1; + return (1U << debug_value) - 1; } static inline void __netif_tx_lock(struct netdev_queue *txq, int cpu) diff -Nru linux-4.19.87/include/linux/nvme-fc-driver.h linux-4.19.98/include/linux/nvme-fc-driver.h --- linux-4.19.87/include/linux/nvme-fc-driver.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/nvme-fc-driver.h 2020-01-23 07:21:39.000000000 +0000 @@ -282,6 +282,8 @@ * * Host/Initiator Transport Entrypoints/Parameters: * + * @module: The LLDD module using the interface + * * @localport_delete: The LLDD initiates deletion of a localport via * nvme_fc_deregister_localport(). However, the teardown is * asynchronous. This routine is called upon the completion of the @@ -395,6 +397,8 @@ * Value is Mandatory. Allowed to be zero. */ struct nvme_fc_port_template { + struct module *module; + /* initiator-based functions */ void (*localport_delete)(struct nvme_fc_local_port *); void (*remoteport_delete)(struct nvme_fc_remote_port *); diff -Nru linux-4.19.87/include/linux/platform_data/dma-dw.h linux-4.19.98/include/linux/platform_data/dma-dw.h --- linux-4.19.87/include/linux/platform_data/dma-dw.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/platform_data/dma-dw.h 2020-01-23 07:21:39.000000000 +0000 @@ -49,6 +49,7 @@ * @data_width: Maximum data width supported by hardware per AHB master * (in bytes, power of 2) * @multi_block: Multi block transfers supported by hardware per channel. + * @protctl: Protection control signals setting per channel. */ struct dw_dma_platform_data { unsigned int nr_channels; @@ -65,6 +66,11 @@ unsigned char nr_masters; unsigned char data_width[DW_DMA_MAX_NR_MASTERS]; unsigned char multi_block[DW_DMA_MAX_NR_CHANNELS]; +#define CHAN_PROTCTL_PRIVILEGED BIT(0) +#define CHAN_PROTCTL_BUFFERABLE BIT(1) +#define CHAN_PROTCTL_CACHEABLE BIT(2) +#define CHAN_PROTCTL_MASK GENMASK(2, 0) + unsigned char protctl; }; #endif /* _PLATFORM_DATA_DMA_DW_H */ diff -Nru linux-4.19.87/include/linux/poll.h linux-4.19.98/include/linux/poll.h --- linux-4.19.87/include/linux/poll.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/poll.h 2020-01-23 07:21:39.000000000 +0000 @@ -16,7 +16,11 @@ extern struct ctl_table epoll_table[]; /* for sysctl */ /* ~832 bytes of stack space used max in sys_select/sys_poll before allocating additional memory. */ +#ifdef __clang__ +#define MAX_STACK_ALLOC 768 +#else #define MAX_STACK_ALLOC 832 +#endif #define FRONTEND_STACK_ALLOC 256 #define SELECT_STACK_ALLOC FRONTEND_STACK_ALLOC #define POLL_STACK_ALLOC FRONTEND_STACK_ALLOC diff -Nru linux-4.19.87/include/linux/posix-clock.h linux-4.19.98/include/linux/posix-clock.h --- linux-4.19.87/include/linux/posix-clock.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/posix-clock.h 2020-01-23 07:21:39.000000000 +0000 @@ -82,29 +82,32 @@ * * @ops: Functional interface to the clock * @cdev: Character device instance for this clock - * @kref: Reference count. + * @dev: Pointer to the clock's device. * @rwsem: Protects the 'zombie' field from concurrent access. * @zombie: If 'zombie' is true, then the hardware has disappeared. - * @release: A function to free the structure when the reference count reaches - * zero. May be NULL if structure is statically allocated. * * Drivers should embed their struct posix_clock within a private * structure, obtaining a reference to it during callbacks using * container_of(). + * + * Drivers should supply an initialized but not exposed struct device + * to posix_clock_register(). It is used to manage lifetime of the + * driver's private structure. It's 'release' field should be set to + * a release function for this private structure. */ struct posix_clock { struct posix_clock_operations ops; struct cdev cdev; - struct kref kref; + struct device *dev; struct rw_semaphore rwsem; bool zombie; - void (*release)(struct posix_clock *clk); }; /** * posix_clock_register() - register a new clock - * @clk: Pointer to the clock. Caller must provide 'ops' and 'release' - * @devid: Allocated device id + * @clk: Pointer to the clock. Caller must provide 'ops' field + * @dev: Pointer to the initialized device. Caller must provide + * 'release' field * * A clock driver calls this function to register itself with the * clock device subsystem. If 'clk' points to dynamically allocated @@ -113,7 +116,7 @@ * * Returns zero on success, non-zero otherwise. */ -int posix_clock_register(struct posix_clock *clk, dev_t devid); +int posix_clock_register(struct posix_clock *clk, struct device *dev); /** * posix_clock_unregister() - unregister a clock diff -Nru linux-4.19.87/include/linux/qcom_scm.h linux-4.19.98/include/linux/qcom_scm.h --- linux-4.19.87/include/linux/qcom_scm.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/qcom_scm.h 2020-01-23 07:21:39.000000000 +0000 @@ -65,6 +65,9 @@ extern int qcom_scm_io_readl(phys_addr_t addr, unsigned int *val); extern int qcom_scm_io_writel(phys_addr_t addr, unsigned int val); #else + +#include + static inline int qcom_scm_set_cold_boot_addr(void *entry, const cpumask_t *cpus) { diff -Nru linux-4.19.87/include/linux/quota.h linux-4.19.98/include/linux/quota.h --- linux-4.19.87/include/linux/quota.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/quota.h 2020-01-23 07:21:39.000000000 +0000 @@ -263,7 +263,7 @@ }; struct dqstats { - int stat[_DQST_DQSTAT_LAST]; + unsigned long stat[_DQST_DQSTAT_LAST]; struct percpu_counter counter[_DQST_DQSTAT_LAST]; }; diff -Nru linux-4.19.87/include/linux/quotaops.h linux-4.19.98/include/linux/quotaops.h --- linux-4.19.87/include/linux/quotaops.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/quotaops.h 2020-01-23 07:21:39.000000000 +0000 @@ -54,6 +54,16 @@ atomic_inc(&dquot->dq_count); return dquot; } + +static inline bool dquot_is_busy(struct dquot *dquot) +{ + if (test_bit(DQ_MOD_B, &dquot->dq_flags)) + return true; + if (atomic_read(&dquot->dq_count) > 1) + return true; + return false; +} + void dqput(struct dquot *dquot); int dquot_scan_active(struct super_block *sb, int (*fn)(struct dquot *dquot, unsigned long priv), diff -Nru linux-4.19.87/include/linux/rculist_nulls.h linux-4.19.98/include/linux/rculist_nulls.h --- linux-4.19.87/include/linux/rculist_nulls.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/rculist_nulls.h 2020-01-23 07:21:39.000000000 +0000 @@ -101,6 +101,43 @@ } /** + * hlist_nulls_add_tail_rcu + * @n: the element to add to the hash list. + * @h: the list to add to. + * + * Description: + * Adds the specified element to the specified hlist_nulls, + * while permitting racing traversals. + * + * The caller must take whatever precautions are necessary + * (such as holding appropriate locks) to avoid racing + * with another list-mutation primitive, such as hlist_nulls_add_head_rcu() + * or hlist_nulls_del_rcu(), running on this same list. + * However, it is perfectly legal to run concurrently with + * the _rcu list-traversal primitives, such as + * hlist_nulls_for_each_entry_rcu(), used to prevent memory-consistency + * problems on Alpha CPUs. Regardless of the type of CPU, the + * list-traversal primitive must be guarded by rcu_read_lock(). + */ +static inline void hlist_nulls_add_tail_rcu(struct hlist_nulls_node *n, + struct hlist_nulls_head *h) +{ + struct hlist_nulls_node *i, *last = NULL; + + /* Note: write side code, so rcu accessors are not needed. */ + for (i = h->first; !is_a_nulls(i); i = i->next) + last = i; + + if (last) { + n->next = last->next; + n->pprev = &last->next; + rcu_assign_pointer(hlist_next_rcu(last), n); + } else { + hlist_nulls_add_head_rcu(n, h); + } +} + +/** * hlist_nulls_for_each_entry_rcu - iterate over rcu list of given type * @tpos: the type * to use as a loop cursor. * @pos: the &struct hlist_nulls_node to use as a loop cursor. diff -Nru linux-4.19.87/include/linux/regulator/ab8500.h linux-4.19.98/include/linux/regulator/ab8500.h --- linux-4.19.87/include/linux/regulator/ab8500.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/regulator/ab8500.h 2020-01-23 07:21:39.000000000 +0000 @@ -38,14 +38,11 @@ AB8505_LDO_AUX6, AB8505_LDO_INTCORE, AB8505_LDO_ADC, - AB8505_LDO_USB, AB8505_LDO_AUDIO, AB8505_LDO_ANAMIC1, AB8505_LDO_ANAMIC2, AB8505_LDO_AUX8, AB8505_LDO_ANA, - AB8505_SYSCLKREQ_2, - AB8505_SYSCLKREQ_4, AB8505_NUM_REGULATORS, }; diff -Nru linux-4.19.87/include/linux/regulator/consumer.h linux-4.19.98/include/linux/regulator/consumer.h --- linux-4.19.87/include/linux/regulator/consumer.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/regulator/consumer.h 2020-01-23 07:21:39.000000000 +0000 @@ -508,7 +508,7 @@ static inline int regulator_set_load(struct regulator *regulator, int load_uA) { - return REGULATOR_MODE_NORMAL; + return 0; } static inline int regulator_allow_bypass(struct regulator *regulator, diff -Nru linux-4.19.87/include/linux/reset-controller.h linux-4.19.98/include/linux/reset-controller.h --- linux-4.19.87/include/linux/reset-controller.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/reset-controller.h 2020-01-23 07:21:39.000000000 +0000 @@ -7,7 +7,7 @@ struct reset_controller_dev; /** - * struct reset_control_ops + * struct reset_control_ops - reset controller driver callbacks * * @reset: for self-deasserting resets, does all necessary * things to reset the device diff -Nru linux-4.19.87/include/linux/sched/cpufreq.h linux-4.19.98/include/linux/sched/cpufreq.h --- linux-4.19.87/include/linux/sched/cpufreq.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/sched/cpufreq.h 2020-01-23 07:21:39.000000000 +0000 @@ -12,6 +12,8 @@ #define SCHED_CPUFREQ_MIGRATION (1U << 1) #ifdef CONFIG_CPU_FREQ +struct cpufreq_policy; + struct update_util_data { void (*func)(struct update_util_data *data, u64 time, unsigned int flags); }; @@ -20,6 +22,7 @@ void (*func)(struct update_util_data *data, u64 time, unsigned int flags)); void cpufreq_remove_update_util_hook(int cpu); +bool cpufreq_this_cpu_can_update(struct cpufreq_policy *policy); #endif /* CONFIG_CPU_FREQ */ #endif /* _LINUX_SCHED_CPUFREQ_H */ diff -Nru linux-4.19.87/include/linux/sched/task.h linux-4.19.98/include/linux/sched/task.h --- linux-4.19.87/include/linux/sched/task.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/sched/task.h 2020-01-23 07:21:39.000000000 +0000 @@ -39,6 +39,8 @@ extern void proc_caches_init(void); +extern void fork_init(void); + extern void release_task(struct task_struct * p); #ifdef CONFIG_HAVE_COPY_THREAD_TLS diff -Nru linux-4.19.87/include/linux/security.h linux-4.19.98/include/linux/security.h --- linux-4.19.87/include/linux/security.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/security.h 2020-01-23 07:21:39.000000000 +0000 @@ -54,9 +54,12 @@ struct xfrm_sec_ctx; struct mm_struct; +/* Default (no) options for the capable function */ +#define CAP_OPT_NONE 0x0 /* If capable should audit the security request */ -#define SECURITY_CAP_NOAUDIT 0 -#define SECURITY_CAP_AUDIT 1 +#define CAP_OPT_NOAUDIT BIT(1) +/* If capable is being called by a setid function */ +#define CAP_OPT_INSETID BIT(2) /* LSM Agnostic defines for sb_set_mnt_opts */ #define SECURITY_LSM_NATIVE_LABELS 1 @@ -72,7 +75,7 @@ /* These functions are in security/commoncap.c */ extern int cap_capable(const struct cred *cred, struct user_namespace *ns, - int cap, int audit); + int cap, unsigned int opts); extern int cap_settime(const struct timespec64 *ts, const struct timezone *tz); extern int cap_ptrace_access_check(struct task_struct *child, unsigned int mode); extern int cap_ptrace_traceme(struct task_struct *parent); @@ -233,10 +236,10 @@ const kernel_cap_t *effective, const kernel_cap_t *inheritable, const kernel_cap_t *permitted); -int security_capable(const struct cred *cred, struct user_namespace *ns, - int cap); -int security_capable_noaudit(const struct cred *cred, struct user_namespace *ns, - int cap); +int security_capable(const struct cred *cred, + struct user_namespace *ns, + int cap, + unsigned int opts); int security_quotactl(int cmds, int type, int id, struct super_block *sb); int security_quota_on(struct dentry *dentry); int security_syslog(int type); @@ -492,14 +495,11 @@ } static inline int security_capable(const struct cred *cred, - struct user_namespace *ns, int cap) + struct user_namespace *ns, + int cap, + unsigned int opts) { - return cap_capable(cred, ns, cap, SECURITY_CAP_AUDIT); -} - -static inline int security_capable_noaudit(const struct cred *cred, - struct user_namespace *ns, int cap) { - return cap_capable(cred, ns, cap, SECURITY_CAP_NOAUDIT); + return cap_capable(cred, ns, cap, opts); } static inline int security_quotactl(int cmds, int type, int id, diff -Nru linux-4.19.87/include/linux/serial_8250.h linux-4.19.98/include/linux/serial_8250.h --- linux-4.19.87/include/linux/serial_8250.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/serial_8250.h 2020-01-23 07:21:39.000000000 +0000 @@ -134,6 +134,10 @@ void (*dl_write)(struct uart_8250_port *, int); struct uart_8250_em485 *em485; + + /* Serial port overrun backoff */ + struct delayed_work overrun_backoff; + u32 overrun_backoff_time_ms; }; static inline struct uart_8250_port *up_to_u8250p(struct uart_port *up) diff -Nru linux-4.19.87/include/linux/serial_core.h linux-4.19.98/include/linux/serial_core.h --- linux-4.19.87/include/linux/serial_core.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/serial_core.h 2020-01-23 07:21:39.000000000 +0000 @@ -173,6 +173,7 @@ struct console *cons; /* struct console, if any */ #if defined(CONFIG_SERIAL_CORE_CONSOLE) || defined(SUPPORT_SYSRQ) unsigned long sysrq; /* sysrq timeout */ + unsigned int sysrq_ch; /* char for sysrq */ #endif /* flags must be updated while holding port mutex */ @@ -482,8 +483,42 @@ } return 0; } +static inline int +uart_prepare_sysrq_char(struct uart_port *port, unsigned int ch) +{ + if (port->sysrq) { + if (ch && time_before(jiffies, port->sysrq)) { + port->sysrq_ch = ch; + port->sysrq = 0; + return 1; + } + port->sysrq = 0; + } + return 0; +} +static inline void +uart_unlock_and_check_sysrq(struct uart_port *port, unsigned long irqflags) +{ + int sysrq_ch; + + sysrq_ch = port->sysrq_ch; + port->sysrq_ch = 0; + + spin_unlock_irqrestore(&port->lock, irqflags); + + if (sysrq_ch) + handle_sysrq(sysrq_ch); +} #else -#define uart_handle_sysrq_char(port,ch) ({ (void)port; 0; }) +static inline int +uart_handle_sysrq_char(struct uart_port *port, unsigned int ch) { return 0; } +static inline int +uart_prepare_sysrq_char(struct uart_port *port, unsigned int ch) { return 0; } +static inline void +uart_unlock_and_check_sysrq(struct uart_port *port, unsigned long irqflags) +{ + spin_unlock_irqrestore(&port->lock, irqflags); +} #endif /* diff -Nru linux-4.19.87/include/linux/skbuff.h linux-4.19.98/include/linux/skbuff.h --- linux-4.19.87/include/linux/skbuff.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/skbuff.h 2020-01-23 07:21:39.000000000 +0000 @@ -1669,7 +1669,7 @@ */ static inline struct sk_buff *skb_peek_tail(const struct sk_buff_head *list_) { - struct sk_buff *skb = list_->prev; + struct sk_buff *skb = READ_ONCE(list_->prev); if (skb == (struct sk_buff *)list_) skb = NULL; @@ -1737,7 +1737,9 @@ struct sk_buff *prev, struct sk_buff *next, struct sk_buff_head *list) { - /* see skb_queue_empty_lockless() for the opposite READ_ONCE() */ + /* See skb_queue_empty_lockless() and skb_peek_tail() + * for the opposite READ_ONCE() + */ WRITE_ONCE(newsk->next, next); WRITE_ONCE(newsk->prev, prev); WRITE_ONCE(next->prev, newsk); diff -Nru linux-4.19.87/include/linux/swap.h linux-4.19.98/include/linux/swap.h --- linux-4.19.87/include/linux/swap.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/swap.h 2020-01-23 07:21:39.000000000 +0000 @@ -371,14 +371,8 @@ extern int node_reclaim_mode; extern int sysctl_min_unmapped_ratio; extern int sysctl_min_slab_ratio; -extern int node_reclaim(struct pglist_data *, gfp_t, unsigned int); #else #define node_reclaim_mode 0 -static inline int node_reclaim(struct pglist_data *pgdat, gfp_t mask, - unsigned int order) -{ - return 0; -} #endif extern int page_evictable(struct page *page); diff -Nru linux-4.19.87/include/linux/time.h linux-4.19.98/include/linux/time.h --- linux-4.19.87/include/linux/time.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/time.h 2020-01-23 07:21:39.000000000 +0000 @@ -96,4 +96,17 @@ */ #define time_after32(a, b) ((s32)((u32)(b) - (u32)(a)) < 0) #define time_before32(b, a) time_after32(a, b) + +/** + * time_between32 - check if a 32-bit timestamp is within a given time range + * @t: the time which may be within [l,h] + * @l: the lower bound of the range + * @h: the higher bound of the range + * + * time_before32(t, l, h) returns true if @l <= @t <= @h. All operands are + * treated as 32-bit integers. + * + * Equivalent to !(time_before32(@t, @l) || time_after32(@t, @h)). + */ +#define time_between32(t, l, h) ((u32)(h) - (u32)(l) >= (u32)(t) - (u32)(l)) #endif diff -Nru linux-4.19.87/include/linux/tnum.h linux-4.19.98/include/linux/tnum.h --- linux-4.19.87/include/linux/tnum.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/tnum.h 2020-01-23 07:21:39.000000000 +0000 @@ -26,7 +26,7 @@ /* Shift (rsh) a tnum right (by a fixed shift) */ struct tnum tnum_rshift(struct tnum a, u8 shift); /* Shift (arsh) a tnum right (by a fixed min_shift) */ -struct tnum tnum_arshift(struct tnum a, u8 min_shift); +struct tnum tnum_arshift(struct tnum a, u8 min_shift, u8 insn_bitness); /* Add two tnums, return @a + @b */ struct tnum tnum_add(struct tnum a, struct tnum b); /* Subtract two tnums, return @a - @b */ diff -Nru linux-4.19.87/include/linux/trace_events.h linux-4.19.98/include/linux/trace_events.h --- linux-4.19.87/include/linux/trace_events.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/trace_events.h 2020-01-23 07:21:39.000000000 +0000 @@ -529,6 +529,8 @@ extern int trace_define_field(struct trace_event_call *call, const char *type, const char *name, int offset, int size, int is_signed, int filter_type); +extern int trace_add_event_call_nolock(struct trace_event_call *call); +extern int trace_remove_event_call_nolock(struct trace_event_call *call); extern int trace_add_event_call(struct trace_event_call *call); extern int trace_remove_event_call(struct trace_event_call *call); extern int trace_event_get_offsets(struct trace_event_call *call); diff -Nru linux-4.19.87/include/linux/tty.h linux-4.19.98/include/linux/tty.h --- linux-4.19.87/include/linux/tty.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/linux/tty.h 2020-01-23 07:21:39.000000000 +0000 @@ -366,6 +366,7 @@ #define TTY_NO_WRITE_SPLIT 17 /* Preserve write boundaries to driver */ #define TTY_HUPPED 18 /* Post driver->hangup() */ #define TTY_HUPPING 19 /* Hangup in progress */ +#define TTY_LDISC_CHANGING 20 /* Change pending - non-block IO */ #define TTY_LDISC_HALTED 22 /* Line discipline is halted */ /* Values for tty->flow_change */ @@ -383,6 +384,12 @@ smp_mb(); } +static inline bool tty_io_nonblock(struct tty_struct *tty, struct file *file) +{ + return file->f_flags & O_NONBLOCK || + test_bit(TTY_LDISC_CHANGING, &tty->flags); +} + static inline bool tty_io_error(struct tty_struct *tty) { return test_bit(TTY_IO_ERROR, &tty->flags); diff -Nru linux-4.19.87/include/math-emu/soft-fp.h linux-4.19.98/include/math-emu/soft-fp.h --- linux-4.19.87/include/math-emu/soft-fp.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/math-emu/soft-fp.h 2020-01-23 07:21:39.000000000 +0000 @@ -138,7 +138,7 @@ _FP_FRAC_ADDI_##wc(X, _FP_WORK_ROUND); \ } while (0) -#define _FP_ROUND_ZERO(wc, X) 0 +#define _FP_ROUND_ZERO(wc, X) (void)0 #define _FP_ROUND_PINF(wc, X) \ do { \ diff -Nru linux-4.19.87/include/net/cfg80211.h linux-4.19.98/include/net/cfg80211.h --- linux-4.19.87/include/net/cfg80211.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/net/cfg80211.h 2020-01-23 07:21:39.000000000 +0000 @@ -4734,6 +4734,17 @@ const u8 *ies, int len); /** + * cfg80211_send_layer2_update - send layer 2 update frame + * + * @dev: network device + * @addr: STA MAC address + * + * Wireless drivers can use this function to update forwarding tables in bridge + * devices upon STA association. + */ +void cfg80211_send_layer2_update(struct net_device *dev, const u8 *addr); + +/** * DOC: Regulatory enforcement infrastructure * * TODO diff -Nru linux-4.19.87/include/net/dst.h linux-4.19.98/include/net/dst.h --- linux-4.19.87/include/net/dst.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/net/dst.h 2020-01-23 07:21:39.000000000 +0000 @@ -93,7 +93,7 @@ struct dst_metrics { u32 metrics[RTAX_MAX]; refcount_t refcnt; -}; +} __aligned(4); /* Low pointer bits contain DST_METRICS_FLAGS */ extern const struct dst_metrics dst_default_metrics; u32 *dst_cow_metrics_generic(struct dst_entry *dst, unsigned long old); @@ -527,7 +527,16 @@ struct dst_entry *dst = skb_dst(skb); if (dst && dst->ops->update_pmtu) - dst->ops->update_pmtu(dst, NULL, skb, mtu); + dst->ops->update_pmtu(dst, NULL, skb, mtu, true); +} + +/* update dst pmtu but not do neighbor confirm */ +static inline void skb_dst_update_pmtu_no_confirm(struct sk_buff *skb, u32 mtu) +{ + struct dst_entry *dst = skb_dst(skb); + + if (dst && dst->ops->update_pmtu) + dst->ops->update_pmtu(dst, NULL, skb, mtu, false); } static inline void skb_tunnel_check_pmtu(struct sk_buff *skb, @@ -537,7 +546,7 @@ u32 encap_mtu = dst_mtu(encap_dst); if (skb->len > encap_mtu - headroom) - skb_dst_update_pmtu(skb, encap_mtu - headroom); + skb_dst_update_pmtu_no_confirm(skb, encap_mtu - headroom); } #endif /* _NET_DST_H */ diff -Nru linux-4.19.87/include/net/dst_ops.h linux-4.19.98/include/net/dst_ops.h --- linux-4.19.87/include/net/dst_ops.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/net/dst_ops.h 2020-01-23 07:21:39.000000000 +0000 @@ -27,7 +27,8 @@ struct dst_entry * (*negative_advice)(struct dst_entry *); void (*link_failure)(struct sk_buff *); void (*update_pmtu)(struct dst_entry *dst, struct sock *sk, - struct sk_buff *skb, u32 mtu); + struct sk_buff *skb, u32 mtu, + bool confirm_neigh); void (*redirect)(struct dst_entry *dst, struct sock *sk, struct sk_buff *skb); int (*local_out)(struct net *net, struct sock *sk, struct sk_buff *skb); diff -Nru linux-4.19.87/include/net/fq_impl.h linux-4.19.98/include/net/fq_impl.h --- linux-4.19.87/include/net/fq_impl.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/net/fq_impl.h 2020-01-23 07:21:39.000000000 +0000 @@ -312,7 +312,7 @@ fq->limit = 8192; fq->memory_limit = 16 << 20; /* 16 MBytes */ - fq->flows = kcalloc(fq->flows_cnt, sizeof(fq->flows[0]), GFP_KERNEL); + fq->flows = kvcalloc(fq->flows_cnt, sizeof(fq->flows[0]), GFP_KERNEL); if (!fq->flows) return -ENOMEM; @@ -330,7 +330,7 @@ for (i = 0; i < fq->flows_cnt; i++) fq_flow_reset(fq, &fq->flows[i], free_func); - kfree(fq->flows); + kvfree(fq->flows); fq->flows = NULL; } diff -Nru linux-4.19.87/include/net/inet_hashtables.h linux-4.19.98/include/net/inet_hashtables.h --- linux-4.19.87/include/net/inet_hashtables.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/net/inet_hashtables.h 2020-01-23 07:21:39.000000000 +0000 @@ -106,13 +106,19 @@ struct hlist_head chain; }; -/* - * Sockets can be hashed in established or listening table +/* Sockets can be hashed in established or listening table. + * We must use different 'nulls' end-of-chain value for all hash buckets : + * A socket might transition from ESTABLISH to LISTEN state without + * RCU grace period. A lookup in ehash table needs to handle this case. */ +#define LISTENING_NULLS_BASE (1U << 29) struct inet_listen_hashbucket { spinlock_t lock; unsigned int count; - struct hlist_head head; + union { + struct hlist_head head; + struct hlist_nulls_head nulls_head; + }; }; /* This is for listening sockets, thus all sockets which possess wildcards. */ diff -Nru linux-4.19.87/include/net/ip.h linux-4.19.98/include/net/ip.h --- linux-4.19.87/include/net/ip.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/net/ip.h 2020-01-23 07:21:39.000000000 +0000 @@ -692,4 +692,9 @@ int rtm_getroute_parse_ip_proto(struct nlattr *attr, u8 *ip_proto, u8 family, struct netlink_ext_ack *extack); +static inline bool inetdev_valid_mtu(unsigned int mtu) +{ + return likely(mtu >= IPV4_MIN_MTU); +} + #endif /* _IP_H */ diff -Nru linux-4.19.87/include/net/neighbour.h linux-4.19.98/include/net/neighbour.h --- linux-4.19.87/include/net/neighbour.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/net/neighbour.h 2020-01-23 07:21:39.000000000 +0000 @@ -459,7 +459,7 @@ do { seq = read_seqbegin(&hh->hh_lock); - hh_len = hh->hh_len; + hh_len = READ_ONCE(hh->hh_len); if (likely(hh_len <= HH_DATA_MOD)) { hh_alen = HH_DATA_MOD; diff -Nru linux-4.19.87/include/net/sctp/sctp.h linux-4.19.98/include/net/sctp/sctp.h --- linux-4.19.87/include/net/sctp/sctp.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/net/sctp/sctp.h 2020-01-23 07:21:39.000000000 +0000 @@ -620,4 +620,9 @@ return false; } +static inline __u32 sctp_min_frag_point(struct sctp_sock *sp, __u16 datasize) +{ + return sctp_mtu_payload(sp, SCTP_DEFAULT_MINSEGMENT, datasize); +} + #endif /* __net_sctp_h__ */ diff -Nru linux-4.19.87/include/net/sctp/structs.h linux-4.19.98/include/net/sctp/structs.h --- linux-4.19.87/include/net/sctp/structs.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/net/sctp/structs.h 2020-01-23 07:21:39.000000000 +0000 @@ -1247,6 +1247,9 @@ /* What socket does this endpoint belong to? */ struct sock *sk; + /* Cache netns and it won't change once set */ + struct net *net; + /* This is where we receive inbound chunks. */ struct sctp_inq inqueue; diff -Nru linux-4.19.87/include/net/sock.h linux-4.19.98/include/net/sock.h --- linux-4.19.87/include/net/sock.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/net/sock.h 2020-01-23 07:21:39.000000000 +0000 @@ -721,6 +721,11 @@ hlist_nulls_add_head_rcu(&sk->sk_nulls_node, list); } +static inline void __sk_nulls_add_node_tail_rcu(struct sock *sk, struct hlist_nulls_head *list) +{ + hlist_nulls_add_tail_rcu(&sk->sk_nulls_node, list); +} + static inline void sk_nulls_add_node_rcu(struct sock *sk, struct hlist_nulls_head *list) { sock_hold(sk); @@ -1272,7 +1277,7 @@ percpu_counter_inc(sk->sk_prot->sockets_allocated); } -static inline int +static inline u64 sk_sockets_allocated_read_positive(struct sock *sk) { return percpu_counter_read_positive(sk->sk_prot->sockets_allocated); diff -Nru linux-4.19.87/include/net/tcp.h linux-4.19.98/include/net/tcp.h --- linux-4.19.87/include/net/tcp.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/net/tcp.h 2020-01-23 07:21:39.000000000 +0000 @@ -485,15 +485,16 @@ reuse = rcu_dereference(sk->sk_reuseport_cb); if (likely(reuse)) { last_overflow = READ_ONCE(reuse->synq_overflow_ts); - if (time_after32(now, last_overflow + HZ)) + if (!time_between32(now, last_overflow, + last_overflow + HZ)) WRITE_ONCE(reuse->synq_overflow_ts, now); return; } } - last_overflow = tcp_sk(sk)->rx_opt.ts_recent_stamp; - if (time_after32(now, last_overflow + HZ)) - tcp_sk(sk)->rx_opt.ts_recent_stamp = now; + last_overflow = READ_ONCE(tcp_sk(sk)->rx_opt.ts_recent_stamp); + if (!time_between32(now, last_overflow, last_overflow + HZ)) + WRITE_ONCE(tcp_sk(sk)->rx_opt.ts_recent_stamp, now); } /* syncookies: no recent synqueue overflow on this listening socket? */ @@ -508,13 +509,23 @@ reuse = rcu_dereference(sk->sk_reuseport_cb); if (likely(reuse)) { last_overflow = READ_ONCE(reuse->synq_overflow_ts); - return time_after32(now, last_overflow + - TCP_SYNCOOKIE_VALID); + return !time_between32(now, last_overflow - HZ, + last_overflow + + TCP_SYNCOOKIE_VALID); } } - last_overflow = tcp_sk(sk)->rx_opt.ts_recent_stamp; - return time_after32(now, last_overflow + TCP_SYNCOOKIE_VALID); + last_overflow = READ_ONCE(tcp_sk(sk)->rx_opt.ts_recent_stamp); + + /* If last_overflow <= jiffies <= last_overflow + TCP_SYNCOOKIE_VALID, + * then we're under synflood. However, we have to use + * 'last_overflow - HZ' as lower bound. That's because a concurrent + * tcp_synq_overflow() could update .ts_recent_stamp after we read + * jiffies but before we store .ts_recent_stamp into last_overflow, + * which could lead to rejecting a valid syncookie. + */ + return !time_between32(now, last_overflow - HZ, + last_overflow + TCP_SYNCOOKIE_VALID); } static inline u32 tcp_cookie_time(void) @@ -1353,7 +1364,7 @@ /* Note: caller must be prepared to deal with negative returns */ static inline int tcp_space(const struct sock *sk) { - return tcp_win_from_space(sk, sk->sk_rcvbuf - + return tcp_win_from_space(sk, sk->sk_rcvbuf - sk->sk_backlog.len - atomic_read(&sk->sk_rmem_alloc)); } diff -Nru linux-4.19.87/include/net/xfrm.h linux-4.19.98/include/net/xfrm.h --- linux-4.19.87/include/net/xfrm.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/net/xfrm.h 2020-01-23 07:21:39.000000000 +0000 @@ -1062,7 +1062,6 @@ struct xfrm_if { struct xfrm_if __rcu *next; /* next interface in list */ struct net_device *dev; /* virtual device associated with interface */ - struct net_device *phydev; /* physical device */ struct net *net; /* netns for packet i/o */ struct xfrm_if_parms p; /* interface parms */ diff -Nru linux-4.19.87/include/scsi/iscsi_proto.h linux-4.19.98/include/scsi/iscsi_proto.h --- linux-4.19.87/include/scsi/iscsi_proto.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/scsi/iscsi_proto.h 2020-01-23 07:21:39.000000000 +0000 @@ -638,6 +638,7 @@ #define ISCSI_REASON_BOOKMARK_INVALID 9 #define ISCSI_REASON_BOOKMARK_NO_RESOURCES 10 #define ISCSI_REASON_NEGOTIATION_RESET 11 +#define ISCSI_REASON_WAITING_FOR_LOGOUT 12 /* Max. number of Key=Value pairs in a text message */ #define MAX_KEY_VALUE_PAIRS 8192 diff -Nru linux-4.19.87/include/trace/events/preemptirq.h linux-4.19.98/include/trace/events/preemptirq.h --- linux-4.19.87/include/trace/events/preemptirq.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/trace/events/preemptirq.h 2020-01-23 07:21:39.000000000 +0000 @@ -18,13 +18,13 @@ TP_ARGS(ip, parent_ip), TP_STRUCT__entry( - __field(u32, caller_offs) - __field(u32, parent_offs) + __field(s32, caller_offs) + __field(s32, parent_offs) ), TP_fast_assign( - __entry->caller_offs = (u32)(ip - (unsigned long)_stext); - __entry->parent_offs = (u32)(parent_ip - (unsigned long)_stext); + __entry->caller_offs = (s32)(ip - (unsigned long)_stext); + __entry->parent_offs = (s32)(parent_ip - (unsigned long)_stext); ), TP_printk("caller=%pF parent=%pF", diff -Nru linux-4.19.87/include/trace/events/rpcrdma.h linux-4.19.98/include/trace/events/rpcrdma.h --- linux-4.19.87/include/trace/events/rpcrdma.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/trace/events/rpcrdma.h 2020-01-23 07:21:39.000000000 +0000 @@ -917,6 +917,34 @@ DEFINE_CB_EVENT(xprtrdma_cb_call); DEFINE_CB_EVENT(xprtrdma_cb_reply); +TRACE_EVENT(xprtrdma_leaked_rep, + TP_PROTO( + const struct rpc_rqst *rqst, + const struct rpcrdma_rep *rep + ), + + TP_ARGS(rqst, rep), + + TP_STRUCT__entry( + __field(unsigned int, task_id) + __field(unsigned int, client_id) + __field(u32, xid) + __field(const void *, rep) + ), + + TP_fast_assign( + __entry->task_id = rqst->rq_task->tk_pid; + __entry->client_id = rqst->rq_task->tk_client->cl_clid; + __entry->xid = be32_to_cpu(rqst->rq_xid); + __entry->rep = rep; + ), + + TP_printk("task:%u@%u xid=0x%08x rep=%p", + __entry->task_id, __entry->client_id, __entry->xid, + __entry->rep + ) +); + /** ** Server-side RPC/RDMA events **/ diff -Nru linux-4.19.87/include/trace/events/wbt.h linux-4.19.98/include/trace/events/wbt.h --- linux-4.19.87/include/trace/events/wbt.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/trace/events/wbt.h 2020-01-23 07:21:39.000000000 +0000 @@ -33,7 +33,8 @@ ), TP_fast_assign( - strncpy(__entry->name, dev_name(bdi->dev), 32); + strlcpy(__entry->name, dev_name(bdi->dev), + ARRAY_SIZE(__entry->name)); __entry->rmean = stat[0].mean; __entry->rmin = stat[0].min; __entry->rmax = stat[0].max; @@ -67,7 +68,8 @@ ), TP_fast_assign( - strncpy(__entry->name, dev_name(bdi->dev), 32); + strlcpy(__entry->name, dev_name(bdi->dev), + ARRAY_SIZE(__entry->name)); __entry->lat = div_u64(lat, 1000); ), @@ -103,7 +105,8 @@ ), TP_fast_assign( - strncpy(__entry->name, dev_name(bdi->dev), 32); + strlcpy(__entry->name, dev_name(bdi->dev), + ARRAY_SIZE(__entry->name)); __entry->msg = msg; __entry->step = step; __entry->window = div_u64(window, 1000); @@ -138,7 +141,8 @@ ), TP_fast_assign( - strncpy(__entry->name, dev_name(bdi->dev), 32); + strlcpy(__entry->name, dev_name(bdi->dev), + ARRAY_SIZE(__entry->name)); __entry->status = status; __entry->step = step; __entry->inflight = inflight; diff -Nru linux-4.19.87/include/uapi/linux/cec-funcs.h linux-4.19.98/include/uapi/linux/cec-funcs.h --- linux-4.19.87/include/uapi/linux/cec-funcs.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/uapi/linux/cec-funcs.h 2020-01-23 07:21:39.000000000 +0000 @@ -923,7 +923,8 @@ msg->len = 3; msg->msg[1] = CEC_MSG_GIVE_DECK_STATUS; msg->msg[2] = status_req; - msg->reply = reply ? CEC_MSG_DECK_STATUS : 0; + msg->reply = (reply && status_req != CEC_OP_STATUS_REQ_OFF) ? + CEC_MSG_DECK_STATUS : 0; } static inline void cec_ops_give_deck_status(const struct cec_msg *msg, @@ -1027,7 +1028,8 @@ msg->len = 3; msg->msg[1] = CEC_MSG_GIVE_TUNER_DEVICE_STATUS; msg->msg[2] = status_req; - msg->reply = reply ? CEC_MSG_TUNER_DEVICE_STATUS : 0; + msg->reply = (reply && status_req != CEC_OP_STATUS_REQ_OFF) ? + CEC_MSG_TUNER_DEVICE_STATUS : 0; } static inline void cec_ops_give_tuner_device_status(const struct cec_msg *msg, diff -Nru linux-4.19.87/include/uapi/linux/cec.h linux-4.19.98/include/uapi/linux/cec.h --- linux-4.19.87/include/uapi/linux/cec.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/uapi/linux/cec.h 2020-01-23 07:21:39.000000000 +0000 @@ -767,8 +767,8 @@ #define CEC_MSG_SELECT_DIGITAL_SERVICE 0x93 #define CEC_MSG_TUNER_DEVICE_STATUS 0x07 /* Recording Flag Operand (rec_flag) */ -#define CEC_OP_REC_FLAG_USED 0 -#define CEC_OP_REC_FLAG_NOT_USED 1 +#define CEC_OP_REC_FLAG_NOT_USED 0 +#define CEC_OP_REC_FLAG_USED 1 /* Tuner Display Info Operand (tuner_display_info) */ #define CEC_OP_TUNER_DISPLAY_INFO_DIGITAL 0 #define CEC_OP_TUNER_DISPLAY_INFO_NONE 1 diff -Nru linux-4.19.87/include/uapi/linux/input.h linux-4.19.98/include/uapi/linux/input.h --- linux-4.19.87/include/uapi/linux/input.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/uapi/linux/input.h 2020-01-23 07:21:39.000000000 +0000 @@ -34,6 +34,7 @@ __kernel_ulong_t __sec; #if defined(__sparc__) && defined(__arch64__) unsigned int __usec; + unsigned int __pad; #else __kernel_ulong_t __usec; #endif diff -Nru linux-4.19.87/include/uapi/linux/netfilter/xt_sctp.h linux-4.19.98/include/uapi/linux/netfilter/xt_sctp.h --- linux-4.19.87/include/uapi/linux/netfilter/xt_sctp.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/include/uapi/linux/netfilter/xt_sctp.h 2020-01-23 07:21:39.000000000 +0000 @@ -41,19 +41,19 @@ #define SCTP_CHUNKMAP_SET(chunkmap, type) \ do { \ (chunkmap)[type / bytes(__u32)] |= \ - 1 << (type % bytes(__u32)); \ + 1u << (type % bytes(__u32)); \ } while (0) #define SCTP_CHUNKMAP_CLEAR(chunkmap, type) \ do { \ (chunkmap)[type / bytes(__u32)] &= \ - ~(1 << (type % bytes(__u32))); \ + ~(1u << (type % bytes(__u32))); \ } while (0) #define SCTP_CHUNKMAP_IS_SET(chunkmap, type) \ ({ \ ((chunkmap)[type / bytes (__u32)] & \ - (1 << (type % bytes (__u32)))) ? 1: 0; \ + (1u << (type % bytes (__u32)))) ? 1: 0; \ }) #define SCTP_CHUNKMAP_RESET(chunkmap) \ diff -Nru linux-4.19.87/init/main.c linux-4.19.98/init/main.c --- linux-4.19.87/init/main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/init/main.c 2020-01-23 07:21:39.000000000 +0000 @@ -105,7 +105,6 @@ static int kernel_init(void *); extern void init_IRQ(void); -extern void fork_init(void); extern void radix_tree_init(void); /* diff -Nru linux-4.19.87/kernel/audit_tree.c linux-4.19.98/kernel/audit_tree.c --- linux-4.19.87/kernel/audit_tree.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/audit_tree.c 2020-01-23 07:21:39.000000000 +0000 @@ -24,6 +24,7 @@ struct audit_chunk { struct list_head hash; + unsigned long key; struct fsnotify_mark mark; struct list_head trees; /* with root here */ int dead; @@ -172,21 +173,6 @@ return (unsigned long)&inode->i_fsnotify_marks; } -/* - * Function to return search key in our hash from chunk. Key 0 is special and - * should never be present in the hash. - */ -static unsigned long chunk_to_key(struct audit_chunk *chunk) -{ - /* - * We have a reference to the mark so it should be attached to a - * connector. - */ - if (WARN_ON_ONCE(!chunk->mark.connector)) - return 0; - return (unsigned long)chunk->mark.connector->obj; -} - static inline struct list_head *chunk_hash(unsigned long key) { unsigned long n = key / L1_CACHE_BYTES; @@ -196,12 +182,12 @@ /* hash_lock & entry->lock is held by caller */ static void insert_hash(struct audit_chunk *chunk) { - unsigned long key = chunk_to_key(chunk); struct list_head *list; if (!(chunk->mark.flags & FSNOTIFY_MARK_FLAG_ATTACHED)) return; - list = chunk_hash(key); + WARN_ON_ONCE(!chunk->key); + list = chunk_hash(chunk->key); list_add_rcu(&chunk->hash, list); } @@ -213,7 +199,7 @@ struct audit_chunk *p; list_for_each_entry_rcu(p, list, hash) { - if (chunk_to_key(p) == key) { + if (p->key == key) { atomic_long_inc(&p->refs); return p; } @@ -297,6 +283,7 @@ chunk->dead = 1; spin_lock(&hash_lock); + new->key = chunk->key; list_replace_init(&chunk->trees, &new->trees); if (owner->root == chunk) { list_del_init(&owner->same_root); @@ -378,6 +365,7 @@ tree->root = chunk; list_add(&tree->same_root, &chunk->trees); } + chunk->key = inode_to_key(inode); insert_hash(chunk); spin_unlock(&hash_lock); spin_unlock(&entry->lock); @@ -462,6 +450,7 @@ fsnotify_put_mark(old_entry); return 0; } + chunk->key = old->key; list_replace_init(&old->trees, &chunk->trees); for (n = 0, p = chunk->owners; n < old->count; n++, p++) { struct audit_tree *s = old->owners[n].owner; @@ -661,7 +650,7 @@ /* this could be NULL if the watch is dying else where... */ node->index |= 1U<<31; if (iterate_mounts(compare_root, - (void *)chunk_to_key(chunk), + (void *)(chunk->key), root_mnt)) node->index &= ~(1U<<31); } diff -Nru linux-4.19.87/kernel/audit_watch.c linux-4.19.98/kernel/audit_watch.c --- linux-4.19.87/kernel/audit_watch.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/audit_watch.c 2020-01-23 07:21:39.000000000 +0000 @@ -366,12 +366,12 @@ struct dentry *d = kern_path_locked(watch->path, parent); if (IS_ERR(d)) return PTR_ERR(d); - inode_unlock(d_backing_inode(parent->dentry)); if (d_is_positive(d)) { /* update watch filter fields */ watch->dev = d->d_sb->s_dev; watch->ino = d_backing_inode(d)->i_ino; } + inode_unlock(d_backing_inode(parent->dentry)); dput(d); return 0; } diff -Nru linux-4.19.87/kernel/bpf/btf.c linux-4.19.98/kernel/bpf/btf.c --- linux-4.19.87/kernel/bpf/btf.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/bpf/btf.c 2020-01-23 07:21:39.000000000 +0000 @@ -5,6 +5,7 @@ #include #include #include +#include #include #include #include @@ -426,6 +427,30 @@ offset < btf->hdr.str_len; } +/* Only C-style identifier is permitted. This can be relaxed if + * necessary. + */ +static bool btf_name_valid_identifier(const struct btf *btf, u32 offset) +{ + /* offset must be valid */ + const char *src = &btf->strings[offset]; + const char *src_limit; + + if (!isalpha(*src) && *src != '_') + return false; + + /* set a limit on identifier length */ + src_limit = src + KSYM_NAME_LEN; + src++; + while (*src && src < src_limit) { + if (!isalnum(*src) && *src != '_') + return false; + src++; + } + + return !*src; +} + static const char *btf_name_by_offset(const struct btf *btf, u32 offset) { if (!offset) @@ -1143,6 +1168,22 @@ return -EINVAL; } + /* typedef type must have a valid name, and other ref types, + * volatile, const, restrict, should have a null name. + */ + if (BTF_INFO_KIND(t->info) == BTF_KIND_TYPEDEF) { + if (!t->name_off || + !btf_name_valid_identifier(env->btf, t->name_off)) { + btf_verifier_log_type(env, t, "Invalid name"); + return -EINVAL; + } + } else { + if (t->name_off) { + btf_verifier_log_type(env, t, "Invalid name"); + return -EINVAL; + } + } + btf_verifier_log_type(env, t, NULL); return 0; @@ -1300,6 +1341,13 @@ return -EINVAL; } + /* fwd type must have a valid name */ + if (!t->name_off || + !btf_name_valid_identifier(env->btf, t->name_off)) { + btf_verifier_log_type(env, t, "Invalid name"); + return -EINVAL; + } + btf_verifier_log_type(env, t, NULL); return 0; @@ -1356,6 +1404,12 @@ return -EINVAL; } + /* array type should not have a name */ + if (t->name_off) { + btf_verifier_log_type(env, t, "Invalid name"); + return -EINVAL; + } + if (btf_type_vlen(t)) { btf_verifier_log_type(env, t, "vlen != 0"); return -EINVAL; @@ -1532,6 +1586,13 @@ return -EINVAL; } + /* struct type either no name or a valid one */ + if (t->name_off && + !btf_name_valid_identifier(env->btf, t->name_off)) { + btf_verifier_log_type(env, t, "Invalid name"); + return -EINVAL; + } + btf_verifier_log_type(env, t, NULL); last_offset = 0; @@ -1543,6 +1604,12 @@ return -EINVAL; } + /* struct member either no name or a valid one */ + if (member->name_off && + !btf_name_valid_identifier(btf, member->name_off)) { + btf_verifier_log_member(env, t, member, "Invalid name"); + return -EINVAL; + } /* A member cannot be in type void */ if (!member->type || !BTF_TYPE_ID_VALID(member->type)) { btf_verifier_log_member(env, t, member, @@ -1730,6 +1797,13 @@ return -EINVAL; } + /* enum type either no name or a valid one */ + if (t->name_off && + !btf_name_valid_identifier(env->btf, t->name_off)) { + btf_verifier_log_type(env, t, "Invalid name"); + return -EINVAL; + } + btf_verifier_log_type(env, t, NULL); for (i = 0; i < nr_enums; i++) { @@ -1739,6 +1813,14 @@ return -EINVAL; } + /* enum member must have a valid name */ + if (!enums[i].name_off || + !btf_name_valid_identifier(btf, enums[i].name_off)) { + btf_verifier_log_type(env, t, "Invalid name"); + return -EINVAL; + } + + btf_verifier_log(env, "\t%s val=%d\n", btf_name_by_offset(btf, enums[i].name_off), enums[i].val); diff -Nru linux-4.19.87/kernel/bpf/cpumap.c linux-4.19.98/kernel/bpf/cpumap.c --- linux-4.19.87/kernel/bpf/cpumap.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/bpf/cpumap.c 2020-01-23 07:21:39.000000000 +0000 @@ -162,10 +162,14 @@ static struct sk_buff *cpu_map_build_skb(struct bpf_cpu_map_entry *rcpu, struct xdp_frame *xdpf) { + unsigned int hard_start_headroom; unsigned int frame_size; void *pkt_data_start; struct sk_buff *skb; + /* Part of headroom was reserved to xdpf */ + hard_start_headroom = sizeof(struct xdp_frame) + xdpf->headroom; + /* build_skb need to place skb_shared_info after SKB end, and * also want to know the memory "truesize". Thus, need to * know the memory frame size backing xdp_buff. @@ -183,15 +187,15 @@ * is not at a fixed memory location, with mixed length * packets, which is bad for cache-line hotness. */ - frame_size = SKB_DATA_ALIGN(xdpf->len) + xdpf->headroom + + frame_size = SKB_DATA_ALIGN(xdpf->len + hard_start_headroom) + SKB_DATA_ALIGN(sizeof(struct skb_shared_info)); - pkt_data_start = xdpf->data - xdpf->headroom; + pkt_data_start = xdpf->data - hard_start_headroom; skb = build_skb(pkt_data_start, frame_size); if (!skb) return NULL; - skb_reserve(skb, xdpf->headroom); + skb_reserve(skb, hard_start_headroom); __skb_put(skb, xdpf->len); if (xdpf->metasize) skb_metadata_set(skb, xdpf->metasize); @@ -205,6 +209,9 @@ * - RX ring dev queue index (skb_record_rx_queue) */ + /* Allow SKB to reuse area used by xdp_frame */ + xdp_scrub_frame(xdpf); + return skb; } diff -Nru linux-4.19.87/kernel/bpf/stackmap.c linux-4.19.98/kernel/bpf/stackmap.c --- linux-4.19.87/kernel/bpf/stackmap.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/bpf/stackmap.c 2020-01-23 07:21:39.000000000 +0000 @@ -292,7 +292,7 @@ bool irq_work_busy = false; struct stack_map_irq_work *work = NULL; - if (in_nmi()) { + if (irqs_disabled()) { work = this_cpu_ptr(&up_read_work); if (work->irq_work.flags & IRQ_WORK_BUSY) /* cannot queue more up_read, fallback */ @@ -300,8 +300,9 @@ } /* - * We cannot do up_read() in nmi context. To do build_id lookup - * in nmi context, we need to run up_read() in irq_work. We use + * We cannot do up_read() when the irq is disabled, because of + * risk to deadlock with rq_lock. To do build_id lookup when the + * irqs are disabled, we need to run up_read() in irq_work. We use * a percpu variable to do the irq_work. If the irq_work is * already used by another lookup, we fall back to report ips. * diff -Nru linux-4.19.87/kernel/bpf/syscall.c linux-4.19.98/kernel/bpf/syscall.c --- linux-4.19.87/kernel/bpf/syscall.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/bpf/syscall.c 2020-01-23 07:21:39.000000000 +0000 @@ -559,12 +559,12 @@ err = bpf_map_new_fd(map, f_flags); if (err < 0) { /* failed to allocate fd. - * bpf_map_put() is needed because the above + * bpf_map_put_with_uref() is needed because the above * bpf_map_alloc_id() has published the map * to the userspace and the userspace may * have refcnt-ed it through BPF_MAP_GET_FD_BY_ID. */ - bpf_map_put(map); + bpf_map_put_with_uref(map); return err; } @@ -1887,7 +1887,7 @@ fd = bpf_map_new_fd(map, f_flags); if (fd < 0) - bpf_map_put(map); + bpf_map_put_with_uref(map); return fd; } diff -Nru linux-4.19.87/kernel/bpf/tnum.c linux-4.19.98/kernel/bpf/tnum.c --- linux-4.19.87/kernel/bpf/tnum.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/bpf/tnum.c 2020-01-23 07:21:39.000000000 +0000 @@ -43,14 +43,19 @@ return TNUM(a.value >> shift, a.mask >> shift); } -struct tnum tnum_arshift(struct tnum a, u8 min_shift) +struct tnum tnum_arshift(struct tnum a, u8 min_shift, u8 insn_bitness) { /* if a.value is negative, arithmetic shifting by minimum shift * will have larger negative offset compared to more shifting. * If a.value is nonnegative, arithmetic shifting by minimum shift * will have larger positive offset compare to more shifting. */ - return TNUM((s64)a.value >> min_shift, (s64)a.mask >> min_shift); + if (insn_bitness == 32) + return TNUM((u32)(((s32)a.value) >> min_shift), + (u32)(((s32)a.mask) >> min_shift)); + else + return TNUM((s64)a.value >> min_shift, + (s64)a.mask >> min_shift); } struct tnum tnum_add(struct tnum a, struct tnum b) diff -Nru linux-4.19.87/kernel/bpf/verifier.c linux-4.19.98/kernel/bpf/verifier.c --- linux-4.19.87/kernel/bpf/verifier.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/bpf/verifier.c 2020-01-23 07:21:39.000000000 +0000 @@ -3309,9 +3309,16 @@ /* Upon reaching here, src_known is true and * umax_val is equal to umin_val. */ - dst_reg->smin_value >>= umin_val; - dst_reg->smax_value >>= umin_val; - dst_reg->var_off = tnum_arshift(dst_reg->var_off, umin_val); + if (insn_bitness == 32) { + dst_reg->smin_value = (u32)(((s32)dst_reg->smin_value) >> umin_val); + dst_reg->smax_value = (u32)(((s32)dst_reg->smax_value) >> umin_val); + } else { + dst_reg->smin_value >>= umin_val; + dst_reg->smax_value >>= umin_val; + } + + dst_reg->var_off = tnum_arshift(dst_reg->var_off, umin_val, + insn_bitness); /* blow away the dst_reg umin_value/umax_value and rely on * dst_reg var_off to refine the result. @@ -4272,6 +4279,7 @@ static int check_ld_abs(struct bpf_verifier_env *env, struct bpf_insn *insn) { struct bpf_reg_state *regs = cur_regs(env); + static const int ctx_reg = BPF_REG_6; u8 mode = BPF_MODE(insn->code); int i, err; @@ -4305,11 +4313,11 @@ } /* check whether implicit source operand (register R6) is readable */ - err = check_reg_arg(env, BPF_REG_6, SRC_OP); + err = check_reg_arg(env, ctx_reg, SRC_OP); if (err) return err; - if (regs[BPF_REG_6].type != PTR_TO_CTX) { + if (regs[ctx_reg].type != PTR_TO_CTX) { verbose(env, "at the time of BPF_LD_ABS|IND R6 != pointer to skb\n"); return -EINVAL; @@ -4322,6 +4330,10 @@ return err; } + err = check_ctx_reg(env, ®s[ctx_reg], ctx_reg); + if (err < 0) + return err; + /* reset caller saved regs to unreadable */ for (i = 0; i < CALLER_SAVED_REGS; i++) { mark_reg_not_init(env, regs, caller_saved[i]); diff -Nru linux-4.19.87/kernel/capability.c linux-4.19.98/kernel/capability.c --- linux-4.19.87/kernel/capability.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/capability.c 2020-01-23 07:21:39.000000000 +0000 @@ -299,7 +299,7 @@ int ret; rcu_read_lock(); - ret = security_capable(__task_cred(t), ns, cap); + ret = security_capable(__task_cred(t), ns, cap, CAP_OPT_NONE); rcu_read_unlock(); return (ret == 0); @@ -340,7 +340,7 @@ int ret; rcu_read_lock(); - ret = security_capable_noaudit(__task_cred(t), ns, cap); + ret = security_capable(__task_cred(t), ns, cap, CAP_OPT_NOAUDIT); rcu_read_unlock(); return (ret == 0); @@ -363,7 +363,9 @@ return has_ns_capability_noaudit(t, &init_user_ns, cap); } -static bool ns_capable_common(struct user_namespace *ns, int cap, bool audit) +static bool ns_capable_common(struct user_namespace *ns, + int cap, + unsigned int opts) { int capable; @@ -372,8 +374,7 @@ BUG(); } - capable = audit ? security_capable(current_cred(), ns, cap) : - security_capable_noaudit(current_cred(), ns, cap); + capable = security_capable(current_cred(), ns, cap, opts); if (capable == 0) { current->flags |= PF_SUPERPRIV; return true; @@ -394,7 +395,7 @@ */ bool ns_capable(struct user_namespace *ns, int cap) { - return ns_capable_common(ns, cap, true); + return ns_capable_common(ns, cap, CAP_OPT_NONE); } EXPORT_SYMBOL(ns_capable); @@ -412,7 +413,7 @@ */ bool ns_capable_noaudit(struct user_namespace *ns, int cap) { - return ns_capable_common(ns, cap, false); + return ns_capable_common(ns, cap, CAP_OPT_NOAUDIT); } EXPORT_SYMBOL(ns_capable_noaudit); @@ -448,10 +449,11 @@ bool file_ns_capable(const struct file *file, struct user_namespace *ns, int cap) { + if (WARN_ON_ONCE(!cap_valid(cap))) return false; - if (security_capable(file->f_cred, ns, cap) == 0) + if (security_capable(file->f_cred, ns, cap, CAP_OPT_NONE) == 0) return true; return false; @@ -500,10 +502,12 @@ { int ret = 0; /* An absent tracer adds no restrictions */ const struct cred *cred; + rcu_read_lock(); cred = rcu_dereference(tsk->ptracer_cred); if (cred) - ret = security_capable_noaudit(cred, ns, CAP_SYS_PTRACE); + ret = security_capable(cred, ns, CAP_SYS_PTRACE, + CAP_OPT_NOAUDIT); rcu_read_unlock(); return (ret == 0); } diff -Nru linux-4.19.87/kernel/cgroup/pids.c linux-4.19.98/kernel/cgroup/pids.c --- linux-4.19.87/kernel/cgroup/pids.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/cgroup/pids.c 2020-01-23 07:21:39.000000000 +0000 @@ -48,7 +48,7 @@ * %PIDS_MAX = (%PID_MAX_LIMIT + 1). */ atomic64_t counter; - int64_t limit; + atomic64_t limit; /* Handle for "pids.events" */ struct cgroup_file events_file; @@ -76,8 +76,8 @@ if (!pids) return ERR_PTR(-ENOMEM); - pids->limit = PIDS_MAX; atomic64_set(&pids->counter, 0); + atomic64_set(&pids->limit, PIDS_MAX); atomic64_set(&pids->events_limit, 0); return &pids->css; } @@ -149,13 +149,14 @@ for (p = pids; parent_pids(p); p = parent_pids(p)) { int64_t new = atomic64_add_return(num, &p->counter); + int64_t limit = atomic64_read(&p->limit); /* * Since new is capped to the maximum number of pid_t, if * p->limit is %PIDS_MAX then we know that this test will never * fail. */ - if (new > p->limit) + if (new > limit) goto revert; } @@ -280,7 +281,7 @@ * Limit updates don't need to be mutex'd, since it isn't * critical that any racing fork()s follow the new limit. */ - pids->limit = limit; + atomic64_set(&pids->limit, limit); return nbytes; } @@ -288,7 +289,7 @@ { struct cgroup_subsys_state *css = seq_css(sf); struct pids_cgroup *pids = css_pids(css); - int64_t limit = pids->limit; + int64_t limit = atomic64_read(&pids->limit); if (limit >= PIDS_MAX) seq_printf(sf, "%s\n", PIDS_MAX_STR); diff -Nru linux-4.19.87/kernel/cred.c linux-4.19.98/kernel/cred.c --- linux-4.19.87/kernel/cred.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/cred.c 2020-01-23 07:21:39.000000000 +0000 @@ -220,7 +220,7 @@ new->magic = CRED_MAGIC; #endif - if (security_cred_alloc_blank(new, GFP_KERNEL) < 0) + if (security_cred_alloc_blank(new, GFP_KERNEL_ACCOUNT) < 0) goto error; return new; @@ -279,7 +279,7 @@ new->security = NULL; #endif - if (security_prepare_creds(new, old, GFP_KERNEL) < 0) + if (security_prepare_creds(new, old, GFP_KERNEL_ACCOUNT) < 0) goto error; validate_creds(new); return new; @@ -654,7 +654,7 @@ #ifdef CONFIG_SECURITY new->security = NULL; #endif - if (security_prepare_creds(new, old, GFP_KERNEL) < 0) + if (security_prepare_creds(new, old, GFP_KERNEL_ACCOUNT) < 0) goto error; put_cred(old); diff -Nru linux-4.19.87/kernel/dma/debug.c linux-4.19.98/kernel/dma/debug.c --- linux-4.19.87/kernel/dma/debug.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/dma/debug.c 2020-01-23 07:21:39.000000000 +0000 @@ -442,6 +442,7 @@ } spin_unlock_irqrestore(&bucket->lock, flags); + cond_resched(); } } diff -Nru linux-4.19.87/kernel/events/core.c linux-4.19.98/kernel/events/core.c --- linux-4.19.87/kernel/events/core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/events/core.c 2020-01-23 07:21:39.000000000 +0000 @@ -11377,7 +11377,7 @@ GFP_KERNEL); if (!child_ctx->task_ctx_data) { free_event(child_event); - return NULL; + return ERR_PTR(-ENOMEM); } } diff -Nru linux-4.19.87/kernel/exit.c linux-4.19.98/kernel/exit.c --- linux-4.19.87/kernel/exit.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/exit.c 2020-01-23 07:21:39.000000000 +0000 @@ -578,10 +578,6 @@ } write_unlock_irq(&tasklist_lock); - if (unlikely(pid_ns == &init_pid_ns)) { - panic("Attempted to kill init! exitcode=0x%08x\n", - father->signal->group_exit_code ?: father->exit_code); - } list_for_each_entry_safe(p, n, dead, ptrace_entry) { list_del_init(&p->ptrace_entry); @@ -845,6 +841,14 @@ acct_update_integrals(tsk); group_dead = atomic_dec_and_test(&tsk->signal->live); if (group_dead) { + /* + * If the last thread of global init has exited, panic + * immediately to get a useable coredump. + */ + if (unlikely(is_global_init(tsk))) + panic("Attempted to kill init! exitcode=0x%08x\n", + tsk->signal->group_exit_code ?: (int)code); + #ifdef CONFIG_POSIX_TIMERS hrtimer_cancel(&tsk->signal->real_timer); exit_itimers(tsk->signal); diff -Nru linux-4.19.87/kernel/fork.c linux-4.19.98/kernel/fork.c --- linux-4.19.87/kernel/fork.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/fork.c 2020-01-23 07:21:39.000000000 +0000 @@ -163,10 +163,6 @@ } #endif -void __weak arch_release_thread_stack(unsigned long *stack) -{ -} - #ifndef CONFIG_ARCH_THREAD_STACK_ALLOCATOR /* @@ -376,7 +372,6 @@ return; /* Better to leak the stack than to free prematurely */ account_kernel_stack(tsk, -1); - arch_release_thread_stack(tsk->stack); free_thread_stack(tsk); tsk->stack = NULL; #ifdef CONFIG_VMAP_STACK diff -Nru linux-4.19.87/kernel/kprobes.c linux-4.19.98/kernel/kprobes.c --- linux-4.19.87/kernel/kprobes.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/kprobes.c 2020-01-23 07:21:39.000000000 +0000 @@ -2096,6 +2096,47 @@ } NOKPROBE_SYMBOL(dump_kprobe); +int kprobe_add_ksym_blacklist(unsigned long entry) +{ + struct kprobe_blacklist_entry *ent; + unsigned long offset = 0, size = 0; + + if (!kernel_text_address(entry) || + !kallsyms_lookup_size_offset(entry, &size, &offset)) + return -EINVAL; + + ent = kmalloc(sizeof(*ent), GFP_KERNEL); + if (!ent) + return -ENOMEM; + ent->start_addr = entry; + ent->end_addr = entry + size; + INIT_LIST_HEAD(&ent->list); + list_add_tail(&ent->list, &kprobe_blacklist); + + return (int)size; +} + +/* Add all symbols in given area into kprobe blacklist */ +int kprobe_add_area_blacklist(unsigned long start, unsigned long end) +{ + unsigned long entry; + int ret = 0; + + for (entry = start; entry < end; entry += ret) { + ret = kprobe_add_ksym_blacklist(entry); + if (ret < 0) + return ret; + if (ret == 0) /* In case of alias symbol */ + ret = 1; + } + return 0; +} + +int __init __weak arch_populate_kprobe_blacklist(void) +{ + return 0; +} + /* * Lookup and populate the kprobe_blacklist. * @@ -2107,26 +2148,24 @@ static int __init populate_kprobe_blacklist(unsigned long *start, unsigned long *end) { + unsigned long entry; unsigned long *iter; - struct kprobe_blacklist_entry *ent; - unsigned long entry, offset = 0, size = 0; + int ret; for (iter = start; iter < end; iter++) { entry = arch_deref_entry_point((void *)*iter); - - if (!kernel_text_address(entry) || - !kallsyms_lookup_size_offset(entry, &size, &offset)) + ret = kprobe_add_ksym_blacklist(entry); + if (ret == -EINVAL) continue; - - ent = kmalloc(sizeof(*ent), GFP_KERNEL); - if (!ent) - return -ENOMEM; - ent->start_addr = entry; - ent->end_addr = entry + size; - INIT_LIST_HEAD(&ent->list); - list_add_tail(&ent->list, &kprobe_blacklist); + if (ret < 0) + return ret; } - return 0; + + /* Symbols in __kprobes_text are blacklisted */ + ret = kprobe_add_area_blacklist((unsigned long)__kprobes_text_start, + (unsigned long)__kprobes_text_end); + + return ret ? : arch_populate_kprobe_blacklist(); } /* Module notifier call back, checking kprobes on the module */ diff -Nru linux-4.19.87/kernel/locking/spinlock_debug.c linux-4.19.98/kernel/locking/spinlock_debug.c --- linux-4.19.87/kernel/locking/spinlock_debug.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/locking/spinlock_debug.c 2020-01-23 07:21:39.000000000 +0000 @@ -51,19 +51,19 @@ static void spin_dump(raw_spinlock_t *lock, const char *msg) { - struct task_struct *owner = NULL; + struct task_struct *owner = READ_ONCE(lock->owner); - if (lock->owner && lock->owner != SPINLOCK_OWNER_INIT) - owner = lock->owner; + if (owner == SPINLOCK_OWNER_INIT) + owner = NULL; printk(KERN_EMERG "BUG: spinlock %s on CPU#%d, %s/%d\n", msg, raw_smp_processor_id(), current->comm, task_pid_nr(current)); printk(KERN_EMERG " lock: %pS, .magic: %08x, .owner: %s/%d, " ".owner_cpu: %d\n", - lock, lock->magic, + lock, READ_ONCE(lock->magic), owner ? owner->comm : "", owner ? task_pid_nr(owner) : -1, - lock->owner_cpu); + READ_ONCE(lock->owner_cpu)); dump_stack(); } @@ -80,16 +80,16 @@ static inline void debug_spin_lock_before(raw_spinlock_t *lock) { - SPIN_BUG_ON(lock->magic != SPINLOCK_MAGIC, lock, "bad magic"); - SPIN_BUG_ON(lock->owner == current, lock, "recursion"); - SPIN_BUG_ON(lock->owner_cpu == raw_smp_processor_id(), + SPIN_BUG_ON(READ_ONCE(lock->magic) != SPINLOCK_MAGIC, lock, "bad magic"); + SPIN_BUG_ON(READ_ONCE(lock->owner) == current, lock, "recursion"); + SPIN_BUG_ON(READ_ONCE(lock->owner_cpu) == raw_smp_processor_id(), lock, "cpu recursion"); } static inline void debug_spin_lock_after(raw_spinlock_t *lock) { - lock->owner_cpu = raw_smp_processor_id(); - lock->owner = current; + WRITE_ONCE(lock->owner_cpu, raw_smp_processor_id()); + WRITE_ONCE(lock->owner, current); } static inline void debug_spin_unlock(raw_spinlock_t *lock) @@ -99,8 +99,8 @@ SPIN_BUG_ON(lock->owner != current, lock, "wrong owner"); SPIN_BUG_ON(lock->owner_cpu != raw_smp_processor_id(), lock, "wrong CPU"); - lock->owner = SPINLOCK_OWNER_INIT; - lock->owner_cpu = -1; + WRITE_ONCE(lock->owner, SPINLOCK_OWNER_INIT); + WRITE_ONCE(lock->owner_cpu, -1); } /* @@ -183,8 +183,8 @@ static inline void debug_write_lock_after(rwlock_t *lock) { - lock->owner_cpu = raw_smp_processor_id(); - lock->owner = current; + WRITE_ONCE(lock->owner_cpu, raw_smp_processor_id()); + WRITE_ONCE(lock->owner, current); } static inline void debug_write_unlock(rwlock_t *lock) @@ -193,8 +193,8 @@ RWLOCK_BUG_ON(lock->owner != current, lock, "wrong owner"); RWLOCK_BUG_ON(lock->owner_cpu != raw_smp_processor_id(), lock, "wrong CPU"); - lock->owner = SPINLOCK_OWNER_INIT; - lock->owner_cpu = -1; + WRITE_ONCE(lock->owner, SPINLOCK_OWNER_INIT); + WRITE_ONCE(lock->owner_cpu, -1); } void do_raw_write_lock(rwlock_t *lock) diff -Nru linux-4.19.87/kernel/module.c linux-4.19.98/kernel/module.c --- linux-4.19.87/kernel/module.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/module.c 2020-01-23 07:21:39.000000000 +0000 @@ -1021,6 +1021,8 @@ strlcpy(last_unloaded_module, mod->name, sizeof(last_unloaded_module)); free_module(mod); + /* someone could wait for the module in add_unformed_module() */ + wake_up_all(&module_wq); return 0; out: mutex_unlock(&module_mutex); diff -Nru linux-4.19.87/kernel/power/snapshot.c linux-4.19.98/kernel/power/snapshot.c --- linux-4.19.87/kernel/power/snapshot.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/power/snapshot.c 2020-01-23 07:21:39.000000000 +0000 @@ -736,8 +736,15 @@ * We have found the zone. Now walk the radix tree to find the leaf node * for our PFN. */ + + /* + * If the zone we wish to scan is the the current zone and the + * pfn falls into the current node then we do not need to walk + * the tree. + */ node = bm->cur.node; - if (((pfn - zone->start_pfn) & ~BM_BLOCK_MASK) == bm->cur.node_pfn) + if (zone == bm->cur.zone && + ((pfn - zone->start_pfn) & ~BM_BLOCK_MASK) == bm->cur.node_pfn) goto node_found; node = zone->rtree; diff -Nru linux-4.19.87/kernel/ptrace.c linux-4.19.98/kernel/ptrace.c --- linux-4.19.87/kernel/ptrace.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/ptrace.c 2020-01-23 07:21:39.000000000 +0000 @@ -258,12 +258,17 @@ return ret; } -static int ptrace_has_cap(struct user_namespace *ns, unsigned int mode) +static bool ptrace_has_cap(const struct cred *cred, struct user_namespace *ns, + unsigned int mode) { + int ret; + if (mode & PTRACE_MODE_NOAUDIT) - return has_ns_capability_noaudit(current, ns, CAP_SYS_PTRACE); + ret = security_capable(cred, ns, CAP_SYS_PTRACE, CAP_OPT_NOAUDIT); else - return has_ns_capability(current, ns, CAP_SYS_PTRACE); + ret = security_capable(cred, ns, CAP_SYS_PTRACE, CAP_OPT_NONE); + + return ret == 0; } /* Returns 0 on success, -errno on denial. */ @@ -315,7 +320,7 @@ gid_eq(caller_gid, tcred->sgid) && gid_eq(caller_gid, tcred->gid)) goto ok; - if (ptrace_has_cap(tcred->user_ns, mode)) + if (ptrace_has_cap(cred, tcred->user_ns, mode)) goto ok; rcu_read_unlock(); return -EPERM; @@ -334,7 +339,7 @@ mm = task->mm; if (mm && ((get_dumpable(mm) != SUID_DUMP_USER) && - !ptrace_has_cap(mm->user_ns, mode))) + !ptrace_has_cap(cred, mm->user_ns, mode))) return -EPERM; return security_ptrace_access_check(task, mode); diff -Nru linux-4.19.87/kernel/sched/core.c linux-4.19.98/kernel/sched/core.c --- linux-4.19.87/kernel/sched/core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/sched/core.c 2020-01-23 07:21:39.000000000 +0000 @@ -5413,10 +5413,11 @@ struct rq *rq = cpu_rq(cpu); unsigned long flags; + __sched_fork(0, idle); + raw_spin_lock_irqsave(&idle->pi_lock, flags); raw_spin_lock(&rq->lock); - __sched_fork(0, idle); idle->state = TASK_RUNNING; idle->se.exec_start = sched_clock(); idle->flags |= PF_IDLE; diff -Nru linux-4.19.87/kernel/sched/cpufreq.c linux-4.19.98/kernel/sched/cpufreq.c --- linux-4.19.87/kernel/sched/cpufreq.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/sched/cpufreq.c 2020-01-23 07:21:39.000000000 +0000 @@ -8,6 +8,8 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ +#include + #include "sched.h" DEFINE_PER_CPU(struct update_util_data *, cpufreq_update_util_data); @@ -60,3 +62,19 @@ rcu_assign_pointer(per_cpu(cpufreq_update_util_data, cpu), NULL); } EXPORT_SYMBOL_GPL(cpufreq_remove_update_util_hook); + +/** + * cpufreq_this_cpu_can_update - Check if cpufreq policy can be updated. + * @policy: cpufreq policy to check. + * + * Return 'true' if: + * - the local and remote CPUs share @policy, + * - dvfs_possible_from_any_cpu is set in @policy and the local CPU is not going + * offline (in which case it is not expected to run cpufreq updates any more). + */ +bool cpufreq_this_cpu_can_update(struct cpufreq_policy *policy) +{ + return cpumask_test_cpu(smp_processor_id(), policy->cpus) || + (policy->dvfs_possible_from_any_cpu && + rcu_dereference_sched(*this_cpu_ptr(&cpufreq_update_util_data))); +} diff -Nru linux-4.19.87/kernel/sched/cpufreq_schedutil.c linux-4.19.98/kernel/sched/cpufreq_schedutil.c --- linux-4.19.87/kernel/sched/cpufreq_schedutil.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/sched/cpufreq_schedutil.c 2020-01-23 07:21:39.000000000 +0000 @@ -83,12 +83,10 @@ * by the hardware, as calculating the frequency is pointless if * we cannot in fact act on it. * - * For the slow switching platforms, the kthread is always scheduled on - * the right set of CPUs and any CPU can find the next frequency and - * schedule the kthread. + * This is needed on the slow switching platforms too to prevent CPUs + * going offline from leaving stale IRQ work items behind. */ - if (sg_policy->policy->fast_switch_enabled && - !cpufreq_this_cpu_can_update(sg_policy->policy)) + if (!cpufreq_this_cpu_can_update(sg_policy->policy)) return false; if (unlikely(sg_policy->limits_changed)) { diff -Nru linux-4.19.87/kernel/sched/fair.c linux-4.19.98/kernel/sched/fair.c --- linux-4.19.87/kernel/sched/fair.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/sched/fair.c 2020-01-23 07:21:39.000000000 +0000 @@ -4868,20 +4868,28 @@ if (++count > 3) { u64 new, old = ktime_to_ns(cfs_b->period); - new = (old * 147) / 128; /* ~115% */ - new = min(new, max_cfs_quota_period); + /* + * Grow period by a factor of 2 to avoid losing precision. + * Precision loss in the quota/period ratio can cause __cfs_schedulable + * to fail. + */ + new = old * 2; + if (new < max_cfs_quota_period) { + cfs_b->period = ns_to_ktime(new); + cfs_b->quota *= 2; - cfs_b->period = ns_to_ktime(new); - - /* since max is 1s, this is limited to 1e9^2, which fits in u64 */ - cfs_b->quota *= new; - cfs_b->quota = div64_u64(cfs_b->quota, old); - - pr_warn_ratelimited( - "cfs_period_timer[cpu%d]: period too short, scaling up (new cfs_period_us %lld, cfs_quota_us = %lld)\n", - smp_processor_id(), - div_u64(new, NSEC_PER_USEC), - div_u64(cfs_b->quota, NSEC_PER_USEC)); + pr_warn_ratelimited( + "cfs_period_timer[cpu%d]: period too short, scaling up (new cfs_period_us = %lld, cfs_quota_us = %lld)\n", + smp_processor_id(), + div_u64(new, NSEC_PER_USEC), + div_u64(cfs_b->quota, NSEC_PER_USEC)); + } else { + pr_warn_ratelimited( + "cfs_period_timer[cpu%d]: period too short, but cannot scale up without losing precision (cfs_period_us = %lld, cfs_quota_us = %lld)\n", + smp_processor_id(), + div_u64(old, NSEC_PER_USEC), + div_u64(cfs_b->quota, NSEC_PER_USEC)); + } /* reset count so we don't come right back in here */ count = 0; diff -Nru linux-4.19.87/kernel/seccomp.c linux-4.19.98/kernel/seccomp.c --- linux-4.19.87/kernel/seccomp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/seccomp.c 2020-01-23 07:21:39.000000000 +0000 @@ -383,8 +383,8 @@ * behavior of privileged children. */ if (!task_no_new_privs(current) && - security_capable_noaudit(current_cred(), current_user_ns(), - CAP_SYS_ADMIN) != 0) + security_capable(current_cred(), current_user_ns(), + CAP_SYS_ADMIN, CAP_OPT_NOAUDIT) != 0) return ERR_PTR(-EACCES); /* Allocate a new seccomp_filter */ diff -Nru linux-4.19.87/kernel/sysctl.c linux-4.19.98/kernel/sysctl.c --- linux-4.19.87/kernel/sysctl.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/sysctl.c 2020-01-23 07:21:39.000000000 +0000 @@ -1411,7 +1411,7 @@ .procname = "drop_caches", .data = &sysctl_drop_caches, .maxlen = sizeof(int), - .mode = 0644, + .mode = 0200, .proc_handler = drop_caches_sysctl_handler, .extra1 = &one, .extra2 = &four, diff -Nru linux-4.19.87/kernel/taskstats.c linux-4.19.98/kernel/taskstats.c --- linux-4.19.87/kernel/taskstats.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/taskstats.c 2020-01-23 07:21:39.000000000 +0000 @@ -564,25 +564,33 @@ static struct taskstats *taskstats_tgid_alloc(struct task_struct *tsk) { struct signal_struct *sig = tsk->signal; - struct taskstats *stats; + struct taskstats *stats_new, *stats; - if (sig->stats || thread_group_empty(tsk)) - goto ret; + /* Pairs with smp_store_release() below. */ + stats = smp_load_acquire(&sig->stats); + if (stats || thread_group_empty(tsk)) + return stats; /* No problem if kmem_cache_zalloc() fails */ - stats = kmem_cache_zalloc(taskstats_cache, GFP_KERNEL); + stats_new = kmem_cache_zalloc(taskstats_cache, GFP_KERNEL); spin_lock_irq(&tsk->sighand->siglock); - if (!sig->stats) { - sig->stats = stats; - stats = NULL; + stats = sig->stats; + if (!stats) { + /* + * Pairs with smp_store_release() above and order the + * kmem_cache_zalloc(). + */ + smp_store_release(&sig->stats, stats_new); + stats = stats_new; + stats_new = NULL; } spin_unlock_irq(&tsk->sighand->siglock); - if (stats) - kmem_cache_free(taskstats_cache, stats); -ret: - return sig->stats; + if (stats_new) + kmem_cache_free(taskstats_cache, stats_new); + + return stats; } /* Send pid data out on exit */ diff -Nru linux-4.19.87/kernel/time/hrtimer.c linux-4.19.98/kernel/time/hrtimer.c --- linux-4.19.87/kernel/time/hrtimer.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/time/hrtimer.c 2020-01-23 07:21:39.000000000 +0000 @@ -955,7 +955,8 @@ base->cpu_base->active_bases |= 1 << base->index; - timer->state = HRTIMER_STATE_ENQUEUED; + /* Pairs with the lockless read in hrtimer_is_queued() */ + WRITE_ONCE(timer->state, HRTIMER_STATE_ENQUEUED); return timerqueue_add(&base->active, &timer->node); } @@ -977,7 +978,8 @@ struct hrtimer_cpu_base *cpu_base = base->cpu_base; u8 state = timer->state; - timer->state = newstate; + /* Pairs with the lockless read in hrtimer_is_queued() */ + WRITE_ONCE(timer->state, newstate); if (!(state & HRTIMER_STATE_ENQUEUED)) return; @@ -1002,8 +1004,9 @@ static inline int remove_hrtimer(struct hrtimer *timer, struct hrtimer_clock_base *base, bool restart) { - if (hrtimer_is_queued(timer)) { - u8 state = timer->state; + u8 state = timer->state; + + if (state & HRTIMER_STATE_ENQUEUED) { int reprogram; /* diff -Nru linux-4.19.87/kernel/time/posix-clock.c linux-4.19.98/kernel/time/posix-clock.c --- linux-4.19.87/kernel/time/posix-clock.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/time/posix-clock.c 2020-01-23 07:21:39.000000000 +0000 @@ -27,8 +27,6 @@ #include "posix-timers.h" -static void delete_clock(struct kref *kref); - /* * Returns NULL if the posix_clock instance attached to 'fp' is old and stale. */ @@ -138,7 +136,7 @@ err = 0; if (!err) { - kref_get(&clk->kref); + get_device(clk->dev); fp->private_data = clk; } out: @@ -154,7 +152,7 @@ if (clk->ops.release) err = clk->ops.release(clk); - kref_put(&clk->kref, delete_clock); + put_device(clk->dev); fp->private_data = NULL; @@ -174,38 +172,35 @@ #endif }; -int posix_clock_register(struct posix_clock *clk, dev_t devid) +int posix_clock_register(struct posix_clock *clk, struct device *dev) { int err; - kref_init(&clk->kref); init_rwsem(&clk->rwsem); cdev_init(&clk->cdev, &posix_clock_file_operations); + err = cdev_device_add(&clk->cdev, dev); + if (err) { + pr_err("%s unable to add device %d:%d\n", + dev_name(dev), MAJOR(dev->devt), MINOR(dev->devt)); + return err; + } clk->cdev.owner = clk->ops.owner; - err = cdev_add(&clk->cdev, devid, 1); + clk->dev = dev; - return err; + return 0; } EXPORT_SYMBOL_GPL(posix_clock_register); -static void delete_clock(struct kref *kref) -{ - struct posix_clock *clk = container_of(kref, struct posix_clock, kref); - - if (clk->release) - clk->release(clk); -} - void posix_clock_unregister(struct posix_clock *clk) { - cdev_del(&clk->cdev); + cdev_device_del(&clk->cdev, clk->dev); down_write(&clk->rwsem); clk->zombie = true; up_write(&clk->rwsem); - kref_put(&clk->kref, delete_clock); + put_device(clk->dev); } EXPORT_SYMBOL_GPL(posix_clock_unregister); diff -Nru linux-4.19.87/kernel/time/tick-sched.c linux-4.19.98/kernel/time/tick-sched.c --- linux-4.19.87/kernel/time/tick-sched.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/time/tick-sched.c 2020-01-23 07:21:39.000000000 +0000 @@ -61,8 +61,9 @@ /* * Do a quick check without holding jiffies_lock: + * The READ_ONCE() pairs with two updates done later in this function. */ - delta = ktime_sub(now, last_jiffies_update); + delta = ktime_sub(now, READ_ONCE(last_jiffies_update)); if (delta < tick_period) return; @@ -73,8 +74,9 @@ if (delta >= tick_period) { delta = ktime_sub(delta, tick_period); - last_jiffies_update = ktime_add(last_jiffies_update, - tick_period); + /* Pairs with the lockless read in this function. */ + WRITE_ONCE(last_jiffies_update, + ktime_add(last_jiffies_update, tick_period)); /* Slow path for long timeouts */ if (unlikely(delta >= tick_period)) { @@ -82,8 +84,10 @@ ticks = ktime_divns(delta, incr); - last_jiffies_update = ktime_add_ns(last_jiffies_update, - incr * ticks); + /* Pairs with the lockless read in this function. */ + WRITE_ONCE(last_jiffies_update, + ktime_add_ns(last_jiffies_update, + incr * ticks)); } do_timer(++ticks); diff -Nru linux-4.19.87/kernel/trace/ftrace.c linux-4.19.98/kernel/trace/ftrace.c --- linux-4.19.87/kernel/trace/ftrace.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/trace/ftrace.c 2020-01-23 07:21:39.000000000 +0000 @@ -554,8 +554,7 @@ } #ifdef CONFIG_FUNCTION_GRAPH_TRACER - avg = rec->time; - do_div(avg, rec->counter); + avg = div64_ul(rec->time, rec->counter); if (tracing_thresh && (avg < tracing_thresh)) goto out; #endif @@ -581,7 +580,8 @@ * Divide only 1000 for ns^2 -> us^2 conversion. * trace_print_graph_duration will divide 1000 again. */ - do_div(stddev, rec->counter * (rec->counter - 1) * 1000); + stddev = div64_ul(stddev, + rec->counter * (rec->counter - 1) * 1000); } trace_seq_init(&s); diff -Nru linux-4.19.87/kernel/trace/trace.c linux-4.19.98/kernel/trace/trace.c --- linux-4.19.87/kernel/trace/trace.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/trace/trace.c 2020-01-23 07:21:39.000000000 +0000 @@ -4370,6 +4370,10 @@ int set_tracer_flag(struct trace_array *tr, unsigned int mask, int enabled) { + if ((mask == TRACE_ITER_RECORD_TGID) || + (mask == TRACE_ITER_RECORD_CMD)) + lockdep_assert_held(&event_mutex); + /* do nothing if flag is already set */ if (!!(tr->trace_flags & mask) == !!enabled) return 0; @@ -4389,7 +4393,7 @@ if (mask == TRACE_ITER_RECORD_TGID) { if (!tgid_map) - tgid_map = kcalloc(PID_MAX_DEFAULT + 1, + tgid_map = kvcalloc(PID_MAX_DEFAULT + 1, sizeof(*tgid_map), GFP_KERNEL); if (!tgid_map) { @@ -4435,6 +4439,7 @@ cmp += 2; } + mutex_lock(&event_mutex); mutex_lock(&trace_types_lock); ret = match_string(trace_options, -1, cmp); @@ -4445,6 +4450,7 @@ ret = set_tracer_flag(tr, 1 << ret, !neg); mutex_unlock(&trace_types_lock); + mutex_unlock(&event_mutex); /* * If the first trailing whitespace is replaced with '\0' by strstrip, @@ -7457,9 +7463,11 @@ if (val != 0 && val != 1) return -EINVAL; + mutex_lock(&event_mutex); mutex_lock(&trace_types_lock); ret = set_tracer_flag(tr, 1 << index, val); mutex_unlock(&trace_types_lock); + mutex_unlock(&event_mutex); if (ret < 0) return ret; diff -Nru linux-4.19.87/kernel/trace/trace_events.c linux-4.19.98/kernel/trace/trace_events.c --- linux-4.19.87/kernel/trace/trace_events.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/trace/trace_events.c 2020-01-23 07:21:39.000000000 +0000 @@ -327,7 +327,8 @@ struct trace_event_file *file; struct trace_array *tr; - mutex_lock(&event_mutex); + lockdep_assert_held(&event_mutex); + do_for_each_event_file(tr, file) { if (!(file->flags & EVENT_FILE_FL_ENABLED)) @@ -341,7 +342,6 @@ clear_bit(EVENT_FILE_FL_RECORDED_CMD_BIT, &file->flags); } } while_for_each_event_file(); - mutex_unlock(&event_mutex); } void trace_event_enable_tgid_record(bool enable) @@ -349,7 +349,8 @@ struct trace_event_file *file; struct trace_array *tr; - mutex_lock(&event_mutex); + lockdep_assert_held(&event_mutex); + do_for_each_event_file(tr, file) { if (!(file->flags & EVENT_FILE_FL_ENABLED)) continue; @@ -363,7 +364,6 @@ &file->flags); } } while_for_each_event_file(); - mutex_unlock(&event_mutex); } static int __ftrace_event_enable_disable(struct trace_event_file *file, @@ -2302,11 +2302,11 @@ struct ftrace_module_file_ops; static void __add_event_to_tracers(struct trace_event_call *call); -/* Add an additional event_call dynamically */ -int trace_add_event_call(struct trace_event_call *call) +int trace_add_event_call_nolock(struct trace_event_call *call) { int ret; - mutex_lock(&event_mutex); + lockdep_assert_held(&event_mutex); + mutex_lock(&trace_types_lock); ret = __register_event(call, NULL); @@ -2314,6 +2314,16 @@ __add_event_to_tracers(call); mutex_unlock(&trace_types_lock); + return ret; +} + +/* Add an additional event_call dynamically */ +int trace_add_event_call(struct trace_event_call *call) +{ + int ret; + + mutex_lock(&event_mutex); + ret = trace_add_event_call_nolock(call); mutex_unlock(&event_mutex); return ret; } @@ -2363,17 +2373,29 @@ return 0; } -/* Remove an event_call */ -int trace_remove_event_call(struct trace_event_call *call) +/* no event_mutex version */ +int trace_remove_event_call_nolock(struct trace_event_call *call) { int ret; - mutex_lock(&event_mutex); + lockdep_assert_held(&event_mutex); + mutex_lock(&trace_types_lock); down_write(&trace_event_sem); ret = probe_remove_event_call(call); up_write(&trace_event_sem); mutex_unlock(&trace_types_lock); + + return ret; +} + +/* Remove an event_call */ +int trace_remove_event_call(struct trace_event_call *call) +{ + int ret; + + mutex_lock(&event_mutex); + ret = trace_remove_event_call_nolock(call); mutex_unlock(&event_mutex); return ret; diff -Nru linux-4.19.87/kernel/trace/trace_events_filter.c linux-4.19.98/kernel/trace/trace_events_filter.c --- linux-4.19.87/kernel/trace/trace_events_filter.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/trace/trace_events_filter.c 2020-01-23 07:21:39.000000000 +0000 @@ -1642,7 +1642,7 @@ parse_error(pe, FILT_ERR_BAD_SUBSYS_FILTER, 0); return -EINVAL; fail_mem: - kfree(filter); + __free_filter(filter); /* If any call succeeded, we still need to sync */ if (!fail) tracepoint_synchronize_unregister(); diff -Nru linux-4.19.87/kernel/trace/trace_events_hist.c linux-4.19.98/kernel/trace/trace_events_hist.c --- linux-4.19.87/kernel/trace/trace_events_hist.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/trace/trace_events_hist.c 2020-01-23 07:21:39.000000000 +0000 @@ -665,7 +665,26 @@ strscpy(str_field, str_val, STR_VAR_LEN_MAX); n_u64 += STR_VAR_LEN_MAX / sizeof(u64); } else { - entry->fields[n_u64] = var_ref_vals[var_ref_idx + i]; + struct synth_field *field = event->fields[i]; + u64 val = var_ref_vals[var_ref_idx + i]; + + switch (field->size) { + case 1: + *(u8 *)&entry->fields[n_u64] = (u8)val; + break; + + case 2: + *(u16 *)&entry->fields[n_u64] = (u16)val; + break; + + case 4: + *(u32 *)&entry->fields[n_u64] = (u32)val; + break; + + default: + entry->fields[n_u64] = val; + break; + } n_u64++; } } @@ -914,7 +933,7 @@ call->data = event; call->tp = event->tp; - ret = trace_add_event_call(call); + ret = trace_add_event_call_nolock(call); if (ret) { pr_warn("Failed to register synthetic event: %s\n", trace_event_name(call)); @@ -938,7 +957,7 @@ struct trace_event_call *call = &event->call; int ret; - ret = trace_remove_event_call(call); + ret = trace_remove_event_call_nolock(call); return ret; } @@ -1015,12 +1034,10 @@ if (delete) free_synth_event(event); else { - mutex_lock(&synth_event_mutex); if (!find_synth_event(event->name)) list_add(&event->list, &synth_event_list); else free_synth_event(event); - mutex_unlock(&synth_event_mutex); } } @@ -1032,6 +1049,7 @@ int i, consumed = 0, n_fields = 0, ret = 0; char *name; + mutex_lock(&event_mutex); mutex_lock(&synth_event_mutex); /* @@ -1104,8 +1122,6 @@ goto err; } out: - mutex_unlock(&synth_event_mutex); - if (event) { if (delete_event) { ret = unregister_synth_event(event); @@ -1115,10 +1131,13 @@ add_or_delete_synth_event(event, ret); } } + mutex_unlock(&synth_event_mutex); + mutex_unlock(&event_mutex); return ret; err: mutex_unlock(&synth_event_mutex); + mutex_unlock(&event_mutex); for (i = 0; i < n_fields; i++) free_synth_field(fields[i]); @@ -1129,12 +1148,10 @@ static int release_all_synth_events(void) { - struct list_head release_events; struct synth_event *event, *e; int ret = 0; - INIT_LIST_HEAD(&release_events); - + mutex_lock(&event_mutex); mutex_lock(&synth_event_mutex); list_for_each_entry(event, &synth_event_list, list) { @@ -1144,16 +1161,14 @@ } } - list_splice_init(&event->list, &release_events); - - mutex_unlock(&synth_event_mutex); - - list_for_each_entry_safe(event, e, &release_events, list) { + list_for_each_entry_safe(event, e, &synth_event_list, list) { list_del(&event->list); ret = unregister_synth_event(event); add_or_delete_synth_event(event, !ret); } + mutex_unlock(&synth_event_mutex); + mutex_unlock(&event_mutex); return ret; } diff -Nru linux-4.19.87/kernel/trace/trace_kprobe.c linux-4.19.98/kernel/trace/trace_kprobe.c --- linux-4.19.87/kernel/trace/trace_kprobe.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/trace/trace_kprobe.c 2020-01-23 07:21:39.000000000 +0000 @@ -519,11 +519,10 @@ #if defined(CONFIG_KPROBES_ON_FTRACE) && \ !defined(CONFIG_KPROBE_EVENTS_ON_NOTRACE) -static bool within_notrace_func(struct trace_kprobe *tk) +static bool __within_notrace_func(unsigned long addr) { - unsigned long offset, size, addr; + unsigned long offset, size; - addr = trace_kprobe_address(tk); if (!addr || !kallsyms_lookup_size_offset(addr, &size, &offset)) return false; @@ -536,6 +535,28 @@ */ return !ftrace_location_range(addr, addr + size - 1); } + +static bool within_notrace_func(struct trace_kprobe *tk) +{ + unsigned long addr = addr = trace_kprobe_address(tk); + char symname[KSYM_NAME_LEN], *p; + + if (!__within_notrace_func(addr)) + return false; + + /* Check if the address is on a suffixed-symbol */ + if (!lookup_symbol_name(addr, symname)) { + p = strchr(symname, '.'); + if (!p) + return true; + *p = '\0'; + addr = (unsigned long)kprobe_lookup_name(symname, 0); + if (addr) + return __within_notrace_func(addr); + } + + return true; +} #else #define within_notrace_func(tk) (false) #endif diff -Nru linux-4.19.87/kernel/trace/trace_sched_wakeup.c linux-4.19.98/kernel/trace/trace_sched_wakeup.c --- linux-4.19.87/kernel/trace/trace_sched_wakeup.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/trace/trace_sched_wakeup.c 2020-01-23 07:21:39.000000000 +0000 @@ -640,7 +640,7 @@ if (ret) { pr_info("wakeup trace: Couldn't activate tracepoint" " probe to kernel_sched_migrate_task\n"); - return; + goto fail_deprobe_sched_switch; } wakeup_reset(tr); @@ -658,6 +658,8 @@ printk(KERN_ERR "failed to start wakeup tracer\n"); return; +fail_deprobe_sched_switch: + unregister_trace_sched_switch(probe_wakeup_sched_switch, NULL); fail_deprobe_wake_new: unregister_trace_sched_wakeup_new(probe_wakeup, NULL); fail_deprobe: diff -Nru linux-4.19.87/kernel/trace/trace_stack.c linux-4.19.98/kernel/trace/trace_stack.c --- linux-4.19.87/kernel/trace/trace_stack.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/trace/trace_stack.c 2020-01-23 07:21:39.000000000 +0000 @@ -196,6 +196,11 @@ local_irq_restore(flags); } +/* Some archs may not define MCOUNT_INSN_SIZE */ +#ifndef MCOUNT_INSN_SIZE +# define MCOUNT_INSN_SIZE 0 +#endif + static void stack_trace_call(unsigned long ip, unsigned long parent_ip, struct ftrace_ops *op, struct pt_regs *pt_regs) diff -Nru linux-4.19.87/kernel/trace/tracing_map.c linux-4.19.98/kernel/trace/tracing_map.c --- linux-4.19.87/kernel/trace/tracing_map.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/trace/tracing_map.c 2020-01-23 07:21:39.000000000 +0000 @@ -148,8 +148,8 @@ #define DEFINE_TRACING_MAP_CMP_FN(type) \ static int tracing_map_cmp_##type(void *val_a, void *val_b) \ { \ - type a = *(type *)val_a; \ - type b = *(type *)val_b; \ + type a = (type)(*(u64 *)val_a); \ + type b = (type)(*(u64 *)val_b); \ \ return (a > b) ? 1 : ((a < b) ? -1 : 0); \ } diff -Nru linux-4.19.87/kernel/workqueue.c linux-4.19.98/kernel/workqueue.c --- linux-4.19.87/kernel/workqueue.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/kernel/workqueue.c 2020-01-23 07:21:39.000000000 +0000 @@ -2413,8 +2413,14 @@ */ if (need_to_create_worker(pool)) { spin_lock(&wq_mayday_lock); - get_pwq(pwq); - list_move_tail(&pwq->mayday_node, &wq->maydays); + /* + * Queue iff we aren't racing destruction + * and somebody else hasn't queued it already. + */ + if (wq->rescuer && list_empty(&pwq->mayday_node)) { + get_pwq(pwq); + list_add_tail(&pwq->mayday_node, &wq->maydays); + } spin_unlock(&wq_mayday_lock); } } @@ -4154,9 +4160,29 @@ struct pool_workqueue *pwq; int node; + /* + * Remove it from sysfs first so that sanity check failure doesn't + * lead to sysfs name conflicts. + */ + workqueue_sysfs_unregister(wq); + /* drain it before proceeding with destruction */ drain_workqueue(wq); + /* kill rescuer, if sanity checks fail, leave it w/o rescuer */ + if (wq->rescuer) { + struct worker *rescuer = wq->rescuer; + + /* this prevents new queueing */ + spin_lock_irq(&wq_mayday_lock); + wq->rescuer = NULL; + spin_unlock_irq(&wq_mayday_lock); + + /* rescuer will empty maydays list before exiting */ + kthread_stop(rescuer->task); + kfree(rescuer); + } + /* sanity checks */ mutex_lock(&wq->mutex); for_each_pwq(pwq, wq) { @@ -4188,11 +4214,6 @@ list_del_rcu(&wq->list); mutex_unlock(&wq_pool_mutex); - workqueue_sysfs_unregister(wq); - - if (wq->rescuer) - kthread_stop(wq->rescuer->task); - if (!(wq->flags & WQ_UNBOUND)) { /* * The base ref is never dropped on per-cpu pwqs. Directly @@ -4464,7 +4485,8 @@ pr_info(" pwq %d:", pool->id); pr_cont_pool_info(pool); - pr_cont(" active=%d/%d%s\n", pwq->nr_active, pwq->max_active, + pr_cont(" active=%d/%d refcnt=%d%s\n", + pwq->nr_active, pwq->max_active, pwq->refcnt, !list_empty(&pwq->mayday_node) ? " MAYDAY" : ""); hash_for_each(pool->busy_hash, bkt, worker, hentry) { diff -Nru linux-4.19.87/lib/genalloc.c linux-4.19.98/lib/genalloc.c --- linux-4.19.87/lib/genalloc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/lib/genalloc.c 2020-01-23 07:21:39.000000000 +0000 @@ -35,6 +35,7 @@ #include #include #include +#include static inline size_t chunk_size(const struct gen_pool_chunk *chunk) { @@ -187,7 +188,7 @@ int nbytes = sizeof(struct gen_pool_chunk) + BITS_TO_LONGS(nbits) * sizeof(long); - chunk = kzalloc_node(nbytes, GFP_KERNEL, nid); + chunk = vzalloc_node(nbytes, nid); if (unlikely(chunk == NULL)) return -ENOMEM; @@ -251,7 +252,7 @@ bit = find_next_bit(chunk->bits, end_bit, 0); BUG_ON(bit < end_bit); - kfree(chunk); + vfree(chunk); } kfree_const(pool->name); kfree(pool); @@ -311,7 +312,7 @@ end_bit = chunk_size(chunk) >> order; retry: start_bit = algo(chunk->bits, end_bit, start_bit, - nbits, data, pool); + nbits, data, pool, chunk->start_addr); if (start_bit >= end_bit) continue; remain = bitmap_set_ll(chunk->bits, start_bit, nbits); @@ -525,7 +526,7 @@ */ unsigned long gen_pool_first_fit(unsigned long *map, unsigned long size, unsigned long start, unsigned int nr, void *data, - struct gen_pool *pool) + struct gen_pool *pool, unsigned long start_addr) { return bitmap_find_next_zero_area(map, size, start, nr, 0); } @@ -543,16 +544,19 @@ */ unsigned long gen_pool_first_fit_align(unsigned long *map, unsigned long size, unsigned long start, unsigned int nr, void *data, - struct gen_pool *pool) + struct gen_pool *pool, unsigned long start_addr) { struct genpool_data_align *alignment; - unsigned long align_mask; + unsigned long align_mask, align_off; int order; alignment = data; order = pool->min_alloc_order; align_mask = ((alignment->align + (1UL << order) - 1) >> order) - 1; - return bitmap_find_next_zero_area(map, size, start, nr, align_mask); + align_off = (start_addr & (alignment->align - 1)) >> order; + + return bitmap_find_next_zero_area_off(map, size, start, nr, + align_mask, align_off); } EXPORT_SYMBOL(gen_pool_first_fit_align); @@ -567,7 +571,7 @@ */ unsigned long gen_pool_fixed_alloc(unsigned long *map, unsigned long size, unsigned long start, unsigned int nr, void *data, - struct gen_pool *pool) + struct gen_pool *pool, unsigned long start_addr) { struct genpool_data_fixed *fixed_data; int order; @@ -601,7 +605,8 @@ */ unsigned long gen_pool_first_fit_order_align(unsigned long *map, unsigned long size, unsigned long start, - unsigned int nr, void *data, struct gen_pool *pool) + unsigned int nr, void *data, struct gen_pool *pool, + unsigned long start_addr) { unsigned long align_mask = roundup_pow_of_two(nr) - 1; @@ -624,7 +629,7 @@ */ unsigned long gen_pool_best_fit(unsigned long *map, unsigned long size, unsigned long start, unsigned int nr, void *data, - struct gen_pool *pool) + struct gen_pool *pool, unsigned long start_addr) { unsigned long start_bit = size; unsigned long len = size + 1; diff -Nru linux-4.19.87/lib/idr.c linux-4.19.98/lib/idr.c --- linux-4.19.87/lib/idr.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/lib/idr.c 2020-01-23 07:21:39.000000000 +0000 @@ -218,7 +218,7 @@ EXPORT_SYMBOL(idr_for_each); /** - * idr_get_next() - Find next populated entry. + * idr_get_next_ul() - Find next populated entry. * @idr: IDR handle. * @nextid: Pointer to an ID. * @@ -227,7 +227,7 @@ * to the ID of the found value. To use in a loop, the value pointed to by * nextid must be incremented by the user. */ -void *idr_get_next(struct idr *idr, int *nextid) +void *idr_get_next_ul(struct idr *idr, unsigned long *nextid) { struct radix_tree_iter iter; void __rcu **slot; @@ -249,18 +249,14 @@ } if (!slot) return NULL; - id = iter.index + base; - - if (WARN_ON_ONCE(id > INT_MAX)) - return NULL; - *nextid = id; + *nextid = iter.index + base; return entry; } -EXPORT_SYMBOL(idr_get_next); +EXPORT_SYMBOL(idr_get_next_ul); /** - * idr_get_next_ul() - Find next populated entry. + * idr_get_next() - Find next populated entry. * @idr: IDR handle. * @nextid: Pointer to an ID. * @@ -269,22 +265,17 @@ * to the ID of the found value. To use in a loop, the value pointed to by * nextid must be incremented by the user. */ -void *idr_get_next_ul(struct idr *idr, unsigned long *nextid) +void *idr_get_next(struct idr *idr, int *nextid) { - struct radix_tree_iter iter; - void __rcu **slot; - unsigned long base = idr->idr_base; unsigned long id = *nextid; + void *entry = idr_get_next_ul(idr, &id); - id = (id < base) ? 0 : id - base; - slot = radix_tree_iter_find(&idr->idr_rt, &iter, id); - if (!slot) + if (WARN_ON_ONCE(id > INT_MAX)) return NULL; - - *nextid = iter.index + base; - return rcu_dereference_raw(*slot); + *nextid = id; + return entry; } -EXPORT_SYMBOL(idr_get_next_ul); +EXPORT_SYMBOL(idr_get_next); /** * idr_replace() - replace pointer for given ID. diff -Nru linux-4.19.87/lib/radix-tree.c linux-4.19.98/lib/radix-tree.c --- linux-4.19.87/lib/radix-tree.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/lib/radix-tree.c 2020-01-23 07:21:39.000000000 +0000 @@ -2172,7 +2172,7 @@ offset = radix_tree_find_next_bit(node, IDR_FREE, offset + 1); start = next_index(start, node, offset); - if (start > max) + if (start > max || start == 0) return ERR_PTR(-ENOSPC); while (offset == RADIX_TREE_MAP_SIZE) { offset = node->offset + 1; diff -Nru linux-4.19.87/lib/raid6/unroll.awk linux-4.19.98/lib/raid6/unroll.awk --- linux-4.19.87/lib/raid6/unroll.awk 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/lib/raid6/unroll.awk 2020-01-23 07:21:39.000000000 +0000 @@ -13,7 +13,7 @@ for (i = 0; i < rep; ++i) { tmp = $0 gsub(/\$\$/, i, tmp) - gsub(/\$\#/, n, tmp) + gsub(/\$#/, n, tmp) gsub(/\$\*/, "$", tmp) print tmp } diff -Nru linux-4.19.87/mm/huge_memory.c linux-4.19.98/mm/huge_memory.c --- linux-4.19.87/mm/huge_memory.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/mm/huge_memory.c 2020-01-23 07:21:39.000000000 +0000 @@ -63,6 +63,16 @@ static atomic_t huge_zero_refcount; struct page *huge_zero_page __read_mostly; +bool transparent_hugepage_enabled(struct vm_area_struct *vma) +{ + if (vma_is_anonymous(vma)) + return __transparent_hugepage_enabled(vma); + if (vma_is_shmem(vma) && shmem_huge_enabled(vma)) + return __transparent_hugepage_enabled(vma); + + return false; +} + static struct page *get_huge_zero_page(void) { struct page *zero_page; @@ -499,13 +509,13 @@ set_compound_page_dtor(page, TRANSHUGE_PAGE_DTOR); } -unsigned long __thp_get_unmapped_area(struct file *filp, unsigned long len, +static unsigned long __thp_get_unmapped_area(struct file *filp, + unsigned long addr, unsigned long len, loff_t off, unsigned long flags, unsigned long size) { - unsigned long addr; loff_t off_end = off + len; loff_t off_align = round_up(off, size); - unsigned long len_pad; + unsigned long len_pad, ret; if (off_end <= off_align || (off_end - off_align) < size) return 0; @@ -514,30 +524,40 @@ if (len_pad < len || (off + len_pad) < off) return 0; - addr = current->mm->get_unmapped_area(filp, 0, len_pad, + ret = current->mm->get_unmapped_area(filp, addr, len_pad, off >> PAGE_SHIFT, flags); - if (IS_ERR_VALUE(addr)) + + /* + * The failure might be due to length padding. The caller will retry + * without the padding. + */ + if (IS_ERR_VALUE(ret)) return 0; - addr += (off - addr) & (size - 1); - return addr; + /* + * Do not try to align to THP boundary if allocation at the address + * hint succeeds. + */ + if (ret == addr) + return addr; + + ret += (off - ret) & (size - 1); + return ret; } unsigned long thp_get_unmapped_area(struct file *filp, unsigned long addr, unsigned long len, unsigned long pgoff, unsigned long flags) { + unsigned long ret; loff_t off = (loff_t)pgoff << PAGE_SHIFT; - if (addr) - goto out; if (!IS_DAX(filp->f_mapping->host) || !IS_ENABLED(CONFIG_FS_DAX_PMD)) goto out; - addr = __thp_get_unmapped_area(filp, len, off, flags, PMD_SIZE); - if (addr) - return addr; - - out: + ret = __thp_get_unmapped_area(filp, addr, len, off, flags, PMD_SIZE); + if (ret) + return ret; +out: return current->mm->get_unmapped_area(filp, addr, len, pgoff, flags); } EXPORT_SYMBOL_GPL(thp_get_unmapped_area); @@ -1329,7 +1349,7 @@ get_page(page); spin_unlock(vmf->ptl); alloc: - if (transparent_hugepage_enabled(vma) && + if (__transparent_hugepage_enabled(vma) && !transparent_hugepage_debug_cow()) { huge_gfp = alloc_hugepage_direct_gfpmask(vma); new_page = alloc_hugepage_vma(huge_gfp, vma, haddr, HPAGE_PMD_ORDER); diff -Nru linux-4.19.87/mm/internal.h linux-4.19.98/mm/internal.h --- linux-4.19.87/mm/internal.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/mm/internal.h 2020-01-23 07:21:39.000000000 +0000 @@ -444,6 +444,16 @@ #define NODE_RECLAIM_SOME 0 #define NODE_RECLAIM_SUCCESS 1 +#ifdef CONFIG_NUMA +extern int node_reclaim(struct pglist_data *, gfp_t, unsigned int); +#else +static inline int node_reclaim(struct pglist_data *pgdat, gfp_t mask, + unsigned int order) +{ + return NODE_RECLAIM_NOSCAN; +} +#endif + extern int hwpoison_filter(struct page *p); extern u32 hwpoison_filter_dev_major; diff -Nru linux-4.19.87/mm/memblock.c linux-4.19.98/mm/memblock.c --- linux-4.19.87/mm/memblock.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/mm/memblock.c 2020-01-23 07:21:39.000000000 +0000 @@ -1537,12 +1537,7 @@ */ void __init __memblock_free_early(phys_addr_t base, phys_addr_t size) { - phys_addr_t end = base + size - 1; - - memblock_dbg("%s: [%pa-%pa] %pF\n", - __func__, &base, &end, (void *)_RET_IP_); - kmemleak_free_part_phys(base, size); - memblock_remove_range(&memblock.reserved, base, size); + memblock_free(base, size); } /** diff -Nru linux-4.19.87/mm/memory.c linux-4.19.98/mm/memory.c --- linux-4.19.87/mm/memory.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/mm/memory.c 2020-01-23 07:21:39.000000000 +0000 @@ -4106,7 +4106,7 @@ vmf.pud = pud_alloc(mm, p4d, address); if (!vmf.pud) return VM_FAULT_OOM; - if (pud_none(*vmf.pud) && transparent_hugepage_enabled(vma)) { + if (pud_none(*vmf.pud) && __transparent_hugepage_enabled(vma)) { ret = create_huge_pud(&vmf); if (!(ret & VM_FAULT_FALLBACK)) return ret; @@ -4132,7 +4132,7 @@ vmf.pmd = pmd_alloc(mm, vmf.pud, address); if (!vmf.pmd) return VM_FAULT_OOM; - if (pmd_none(*vmf.pmd) && transparent_hugepage_enabled(vma)) { + if (pmd_none(*vmf.pmd) && __transparent_hugepage_enabled(vma)) { ret = create_huge_pmd(&vmf); if (!(ret & VM_FAULT_FALLBACK)) return ret; diff -Nru linux-4.19.87/mm/migrate.c linux-4.19.98/mm/migrate.c --- linux-4.19.87/mm/migrate.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/mm/migrate.c 2020-01-23 07:21:39.000000000 +0000 @@ -1508,9 +1508,11 @@ /* * Resolves the given address to a struct page, isolates it from the LRU and * puts it to the given pagelist. - * Returns -errno if the page cannot be found/isolated or 0 when it has been - * queued or the page doesn't need to be migrated because it is already on - * the target node + * Returns: + * errno - if the page cannot be found/isolated + * 0 - when it doesn't have to be migrated because it is already on the + * target node + * 1 - when it has been queued */ static int add_page_for_migration(struct mm_struct *mm, unsigned long addr, int node, struct list_head *pagelist, bool migrate_all) @@ -1549,7 +1551,7 @@ if (PageHuge(page)) { if (PageHead(page)) { isolate_huge_page(page, pagelist); - err = 0; + err = 1; } } else { struct page *head; @@ -1559,7 +1561,7 @@ if (err) goto out_putpage; - err = 0; + err = 1; list_add_tail(&head->lru, pagelist); mod_node_page_state(page_pgdat(head), NR_ISOLATED_ANON + page_is_file_cache(head), @@ -1636,8 +1638,17 @@ */ err = add_page_for_migration(mm, addr, current_node, &pagelist, flags & MPOL_MF_MOVE_ALL); - if (!err) + + if (!err) { + /* The page is already on the target node */ + err = store_status(status, i, current_node, 1); + if (err) + goto out_flush; continue; + } else if (err > 0) { + /* The page is successfully queued for migration */ + continue; + } err = store_status(status, i, err, 1); if (err) diff -Nru linux-4.19.87/mm/mmap.c linux-4.19.98/mm/mmap.c --- linux-4.19.87/mm/mmap.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/mm/mmap.c 2020-01-23 07:21:39.000000000 +0000 @@ -89,12 +89,6 @@ * MAP_PRIVATE r: (no) no r: (yes) yes r: (no) yes r: (no) yes * w: (no) no w: (no) no w: (copy) copy w: (no) no * x: (no) no x: (no) yes x: (no) yes x: (yes) yes - * - * On arm64, PROT_EXEC has the following behaviour for both MAP_SHARED and - * MAP_PRIVATE: - * r: (no) no - * w: (no) no - * x: (yes) yes */ pgprot_t protection_map[16] __ro_after_init = { __P000, __P001, __P010, __P011, __P100, __P101, __P110, __P111, diff -Nru linux-4.19.87/mm/page-writeback.c linux-4.19.98/mm/page-writeback.c --- linux-4.19.87/mm/page-writeback.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/mm/page-writeback.c 2020-01-23 07:21:39.000000000 +0000 @@ -200,11 +200,11 @@ if (this_bw < tot_bw) { if (min) { min *= this_bw; - do_div(min, tot_bw); + min = div64_ul(min, tot_bw); } if (max < 100) { max *= this_bw; - do_div(max, tot_bw); + max = div64_ul(max, tot_bw); } } diff -Nru linux-4.19.87/mm/page_alloc.c linux-4.19.98/mm/page_alloc.c --- linux-4.19.87/mm/page_alloc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/mm/page_alloc.c 2020-01-23 07:21:39.000000000 +0000 @@ -4451,16 +4451,19 @@ } EXPORT_SYMBOL(get_zeroed_page); -void __free_pages(struct page *page, unsigned int order) +static inline void free_the_page(struct page *page, unsigned int order) { - if (put_page_testzero(page)) { - if (order == 0) - free_unref_page(page); - else - __free_pages_ok(page, order); - } + if (order == 0) /* Via pcp? */ + free_unref_page(page); + else + __free_pages_ok(page, order); } +void __free_pages(struct page *page, unsigned int order) +{ + if (put_page_testzero(page)) + free_the_page(page, order); +} EXPORT_SYMBOL(__free_pages); void free_pages(unsigned long addr, unsigned int order) @@ -4509,14 +4512,8 @@ { VM_BUG_ON_PAGE(page_ref_count(page) == 0, page); - if (page_ref_sub_and_test(page, count)) { - unsigned int order = compound_order(page); - - if (order == 0) - free_unref_page(page); - else - __free_pages_ok(page, order); - } + if (page_ref_sub_and_test(page, count)) + free_the_page(page, compound_order(page)); } EXPORT_SYMBOL(__page_frag_cache_drain); @@ -4582,7 +4579,7 @@ struct page *page = virt_to_head_page(addr); if (unlikely(put_page_testzero(page))) - __free_pages_ok(page, compound_order(page)); + free_the_page(page, compound_order(page)); } EXPORT_SYMBOL(page_frag_free); diff -Nru linux-4.19.87/mm/shmem.c linux-4.19.98/mm/shmem.c --- linux-4.19.87/mm/shmem.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/mm/shmem.c 2020-01-23 07:21:39.000000000 +0000 @@ -2072,9 +2072,10 @@ /* * Our priority is to support MAP_SHARED mapped hugely; * and support MAP_PRIVATE mapped hugely too, until it is COWed. - * But if caller specified an address hint, respect that as before. + * But if caller specified an address hint and we allocated area there + * successfully, respect that as before. */ - if (uaddr) + if (uaddr == addr) return addr; if (shmem_huge != SHMEM_HUGE_FORCE) { @@ -2108,7 +2109,7 @@ if (inflated_len < len) return addr; - inflated_addr = get_area(NULL, 0, inflated_len, 0, flags); + inflated_addr = get_area(NULL, uaddr, inflated_len, 0, flags); if (IS_ERR_VALUE(inflated_addr)) return addr; if (inflated_addr & ~PAGE_MASK) @@ -2692,7 +2693,7 @@ } shmem_falloc.waitq = &shmem_falloc_waitq; - shmem_falloc.start = unmap_start >> PAGE_SHIFT; + shmem_falloc.start = (u64)unmap_start >> PAGE_SHIFT; shmem_falloc.next = (unmap_end + 1) >> PAGE_SHIFT; spin_lock(&inode->i_lock); inode->i_private = &shmem_falloc; diff -Nru linux-4.19.87/mm/slab_common.c linux-4.19.98/mm/slab_common.c --- linux-4.19.87/mm/slab_common.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/mm/slab_common.c 2020-01-23 07:21:39.000000000 +0000 @@ -850,7 +850,8 @@ * deactivates the memcg kmem_caches through workqueue. Make sure all * previous workitems on workqueue are processed. */ - flush_workqueue(memcg_kmem_cache_wq); + if (likely(memcg_kmem_cache_wq)) + flush_workqueue(memcg_kmem_cache_wq); } #else static inline int shutdown_memcg_caches(struct kmem_cache *s) diff -Nru linux-4.19.87/mm/vmstat.c linux-4.19.98/mm/vmstat.c --- linux-4.19.87/mm/vmstat.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/mm/vmstat.c 2020-01-23 07:21:39.000000000 +0000 @@ -1826,12 +1826,13 @@ /* * The fast way of checking if there are any vmstat diffs. - * This works because the diffs are byte sized items. */ - if (memchr_inv(p->vm_stat_diff, 0, NR_VM_ZONE_STAT_ITEMS)) + if (memchr_inv(p->vm_stat_diff, 0, NR_VM_ZONE_STAT_ITEMS * + sizeof(p->vm_stat_diff[0]))) return true; #ifdef CONFIG_NUMA - if (memchr_inv(p->vm_numa_stat_diff, 0, NR_VM_NUMA_STAT_ITEMS)) + if (memchr_inv(p->vm_numa_stat_diff, 0, NR_VM_NUMA_STAT_ITEMS * + sizeof(p->vm_numa_stat_diff[0]))) return true; #endif } diff -Nru linux-4.19.87/mm/zsmalloc.c linux-4.19.98/mm/zsmalloc.c --- linux-4.19.87/mm/zsmalloc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/mm/zsmalloc.c 2020-01-23 07:21:39.000000000 +0000 @@ -2092,6 +2092,11 @@ zs_pool_dec_isolated(pool); } + if (page_zone(newpage) != page_zone(page)) { + dec_zone_page_state(page, NR_ZSPAGES); + inc_zone_page_state(newpage, NR_ZSPAGES); + } + reset_page(page); put_page(page); page = newpage; diff -Nru linux-4.19.87/net/8021q/vlan.h linux-4.19.98/net/8021q/vlan.h --- linux-4.19.87/net/8021q/vlan.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/8021q/vlan.h 2020-01-23 07:21:39.000000000 +0000 @@ -114,6 +114,7 @@ void vlan_setup(struct net_device *dev); int register_vlan_dev(struct net_device *dev, struct netlink_ext_ack *extack); void unregister_vlan_dev(struct net_device *dev, struct list_head *head); +void vlan_dev_uninit(struct net_device *dev); bool vlan_dev_inherit_address(struct net_device *dev, struct net_device *real_dev); diff -Nru linux-4.19.87/net/8021q/vlan_dev.c linux-4.19.98/net/8021q/vlan_dev.c --- linux-4.19.87/net/8021q/vlan_dev.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/8021q/vlan_dev.c 2020-01-23 07:21:39.000000000 +0000 @@ -612,7 +612,8 @@ return 0; } -static void vlan_dev_uninit(struct net_device *dev) +/* Note: this function might be called multiple times for the same device. */ +void vlan_dev_uninit(struct net_device *dev) { struct vlan_priority_tci_mapping *pm; struct vlan_dev_priv *vlan = vlan_dev_priv(dev); diff -Nru linux-4.19.87/net/8021q/vlan_netlink.c linux-4.19.98/net/8021q/vlan_netlink.c --- linux-4.19.87/net/8021q/vlan_netlink.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/8021q/vlan_netlink.c 2020-01-23 07:21:39.000000000 +0000 @@ -110,11 +110,13 @@ struct ifla_vlan_flags *flags; struct ifla_vlan_qos_mapping *m; struct nlattr *attr; - int rem; + int rem, err; if (data[IFLA_VLAN_FLAGS]) { flags = nla_data(data[IFLA_VLAN_FLAGS]); - vlan_dev_change_flags(dev, flags->flags, flags->mask); + err = vlan_dev_change_flags(dev, flags->flags, flags->mask); + if (err) + return err; } if (data[IFLA_VLAN_INGRESS_QOS]) { nla_for_each_nested(attr, data[IFLA_VLAN_INGRESS_QOS], rem) { @@ -125,7 +127,9 @@ if (data[IFLA_VLAN_EGRESS_QOS]) { nla_for_each_nested(attr, data[IFLA_VLAN_EGRESS_QOS], rem) { m = nla_data(attr); - vlan_dev_set_egress_priority(dev, m->from, m->to); + err = vlan_dev_set_egress_priority(dev, m->from, m->to); + if (err) + return err; } } return 0; @@ -181,10 +185,11 @@ return -EINVAL; err = vlan_changelink(dev, tb, data, extack); - if (err < 0) - return err; - - return register_vlan_dev(dev, extack); + if (!err) + err = register_vlan_dev(dev, extack); + if (err) + vlan_dev_uninit(dev); + return err; } static inline size_t vlan_qos_map_size(unsigned int n) diff -Nru linux-4.19.87/net/appletalk/aarp.c linux-4.19.98/net/appletalk/aarp.c --- linux-4.19.87/net/appletalk/aarp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/appletalk/aarp.c 2020-01-23 07:21:39.000000000 +0000 @@ -879,15 +879,24 @@ static unsigned char aarp_snap_id[] = { 0x00, 0x00, 0x00, 0x80, 0xF3 }; -void __init aarp_proto_init(void) +int __init aarp_proto_init(void) { + int rc; + aarp_dl = register_snap_client(aarp_snap_id, aarp_rcv); - if (!aarp_dl) + if (!aarp_dl) { printk(KERN_CRIT "Unable to register AARP with SNAP.\n"); + return -ENOMEM; + } timer_setup(&aarp_timer, aarp_expire_timeout, 0); aarp_timer.expires = jiffies + sysctl_aarp_expiry_time; add_timer(&aarp_timer); - register_netdevice_notifier(&aarp_notifier); + rc = register_netdevice_notifier(&aarp_notifier); + if (rc) { + del_timer_sync(&aarp_timer); + unregister_snap_client(aarp_dl); + } + return rc; } /* Remove the AARP entries associated with a device. */ diff -Nru linux-4.19.87/net/appletalk/ddp.c linux-4.19.98/net/appletalk/ddp.c --- linux-4.19.87/net/appletalk/ddp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/appletalk/ddp.c 2020-01-23 07:21:39.000000000 +0000 @@ -1909,9 +1909,6 @@ EXPORT_SYMBOL(atrtr_get_dev); EXPORT_SYMBOL(atalk_find_dev_addr); -static const char atalk_err_snap[] __initconst = - KERN_CRIT "Unable to register DDP with SNAP.\n"; - /* Called by proto.c on kernel start up */ static int __init atalk_init(void) { @@ -1926,17 +1923,23 @@ goto out_proto; ddp_dl = register_snap_client(ddp_snap_id, atalk_rcv); - if (!ddp_dl) - printk(atalk_err_snap); + if (!ddp_dl) { + pr_crit("Unable to register DDP with SNAP.\n"); + rc = -ENOMEM; + goto out_sock; + } dev_add_pack(<alk_packet_type); dev_add_pack(&ppptalk_packet_type); rc = register_netdevice_notifier(&ddp_notifier); if (rc) - goto out_sock; + goto out_snap; + + rc = aarp_proto_init(); + if (rc) + goto out_dev; - aarp_proto_init(); rc = atalk_proc_init(); if (rc) goto out_aarp; @@ -1950,11 +1953,13 @@ atalk_proc_exit(); out_aarp: aarp_cleanup_module(); +out_dev: unregister_netdevice_notifier(&ddp_notifier); -out_sock: +out_snap: dev_remove_pack(&ppptalk_packet_type); dev_remove_pack(<alk_packet_type); unregister_snap_client(ddp_dl); +out_sock: sock_unregister(PF_APPLETALK); out_proto: proto_unregister(&ddp_proto); diff -Nru linux-4.19.87/net/batman-adv/distributed-arp-table.c linux-4.19.98/net/batman-adv/distributed-arp-table.c --- linux-4.19.87/net/batman-adv/distributed-arp-table.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/batman-adv/distributed-arp-table.c 2020-01-23 07:21:39.000000000 +0000 @@ -251,6 +251,7 @@ u32 hash = 0; const struct batadv_dat_entry *dat = data; const unsigned char *key; + __be16 vid; u32 i; key = (const unsigned char *)&dat->ip; @@ -260,7 +261,8 @@ hash ^= (hash >> 6); } - key = (const unsigned char *)&dat->vid; + vid = htons(dat->vid); + key = (__force const unsigned char *)&vid; for (i = 0; i < sizeof(dat->vid); i++) { hash += key[i]; hash += (hash << 10); diff -Nru linux-4.19.87/net/bluetooth/hci_conn.c linux-4.19.98/net/bluetooth/hci_conn.c --- linux-4.19.87/net/bluetooth/hci_conn.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/bluetooth/hci_conn.c 2020-01-23 07:21:39.000000000 +0000 @@ -931,6 +931,14 @@ return; memset(&cp, 0, sizeof(cp)); + + /* Some controllers might reject command if intervals are not + * within range for undirected advertising. + * BCM20702A0 is known to be affected by this. + */ + cp.min_interval = cpu_to_le16(0x0020); + cp.max_interval = cpu_to_le16(0x0020); + cp.type = LE_ADV_DIRECT_IND; cp.own_address_type = own_addr_type; cp.direct_addr_type = conn->dst_type; @@ -1165,8 +1173,10 @@ if (!conn) return ERR_PTR(-ENOMEM); - if (hci_explicit_conn_params_set(hdev, dst, dst_type) < 0) + if (hci_explicit_conn_params_set(hdev, dst, dst_type) < 0) { + hci_conn_del(conn); return ERR_PTR(-EBUSY); + } conn->state = BT_CONNECT; set_bit(HCI_CONN_SCANNING, &conn->flags); diff -Nru linux-4.19.87/net/bluetooth/hci_core.c linux-4.19.98/net/bluetooth/hci_core.c --- linux-4.19.87/net/bluetooth/hci_core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/bluetooth/hci_core.c 2020-01-23 07:21:39.000000000 +0000 @@ -841,8 +841,8 @@ if (hdev->le_features[0] & HCI_LE_DATA_LEN_EXT) { struct hci_cp_le_write_def_data_len cp; - cp.tx_len = hdev->le_max_tx_len; - cp.tx_time = hdev->le_max_tx_time; + cp.tx_len = cpu_to_le16(hdev->le_max_tx_len); + cp.tx_time = cpu_to_le16(hdev->le_max_tx_time); hci_req_add(req, HCI_OP_LE_WRITE_DEF_DATA_LEN, sizeof(cp), &cp); } @@ -4330,7 +4330,14 @@ hci_send_to_sock(hdev, skb); } - if (hci_dev_test_flag(hdev, HCI_USER_CHANNEL)) { + /* If the device has been opened in HCI_USER_CHANNEL, + * the userspace has exclusive access to device. + * When device is HCI_INIT, we still need to process + * the data packets to the driver in order + * to complete its setup(). + */ + if (hci_dev_test_flag(hdev, HCI_USER_CHANNEL) && + !test_bit(HCI_INIT, &hdev->flags)) { kfree_skb(skb); continue; } diff -Nru linux-4.19.87/net/bluetooth/hci_request.c linux-4.19.98/net/bluetooth/hci_request.c --- linux-4.19.87/net/bluetooth/hci_request.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/bluetooth/hci_request.c 2020-01-23 07:21:39.000000000 +0000 @@ -1258,6 +1258,14 @@ instance_flags = get_adv_instance_flags(hdev, instance); + /* If instance already has the flags set skip adding it once + * again. + */ + if (adv_instance && eir_get_data(adv_instance->adv_data, + adv_instance->adv_data_len, EIR_FLAGS, + NULL)) + goto skip_flags; + /* The Add Advertising command allows userspace to set both the general * and limited discoverable flags. */ @@ -1290,6 +1298,7 @@ } } +skip_flags: if (adv_instance) { memcpy(ptr, adv_instance->adv_data, adv_instance->adv_data_len); diff -Nru linux-4.19.87/net/bluetooth/l2cap_core.c linux-4.19.98/net/bluetooth/l2cap_core.c --- linux-4.19.87/net/bluetooth/l2cap_core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/bluetooth/l2cap_core.c 2020-01-23 07:21:39.000000000 +0000 @@ -4918,10 +4918,8 @@ BT_DBG("chan %p, result %d, local_amp_id %d, remote_amp_id %d", chan, result, local_amp_id, remote_amp_id); - if (chan->state == BT_DISCONN || chan->state == BT_CLOSED) { - l2cap_chan_unlock(chan); + if (chan->state == BT_DISCONN || chan->state == BT_CLOSED) return; - } if (chan->state != BT_CONNECTED) { l2cap_do_create(chan, result, local_amp_id, remote_amp_id); diff -Nru linux-4.19.87/net/bridge/br_device.c linux-4.19.98/net/bridge/br_device.c --- linux-4.19.87/net/bridge/br_device.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/bridge/br_device.c 2020-01-23 07:21:39.000000000 +0000 @@ -246,6 +246,12 @@ if (!is_valid_ether_addr(addr->sa_data)) return -EADDRNOTAVAIL; + /* dev_set_mac_addr() can be called by a master device on bridge's + * NETDEV_UNREGISTER, but since it's being destroyed do nothing + */ + if (dev->reg_state != NETREG_REGISTERED) + return -EBUSY; + spin_lock_bh(&br->lock); if (!ether_addr_equal(dev->dev_addr, addr->sa_data)) { /* Mac address will be changed in br_stp_change_bridge_id(). */ diff -Nru linux-4.19.87/net/bridge/br_netfilter_hooks.c linux-4.19.98/net/bridge/br_netfilter_hooks.c --- linux-4.19.87/net/bridge/br_netfilter_hooks.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/bridge/br_netfilter_hooks.c 2020-01-23 07:21:39.000000000 +0000 @@ -646,6 +646,9 @@ nf_bridge_pull_encap_header(skb); } + if (unlikely(!pskb_may_pull(skb, sizeof(struct arphdr)))) + return NF_DROP; + if (arp_hdr(skb)->ar_pln != 4) { if (IS_VLAN_ARP(skb)) nf_bridge_push_encap_header(skb); diff -Nru linux-4.19.87/net/bridge/br_nf_core.c linux-4.19.98/net/bridge/br_nf_core.c --- linux-4.19.87/net/bridge/br_nf_core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/bridge/br_nf_core.c 2020-01-23 07:21:39.000000000 +0000 @@ -26,7 +26,8 @@ #endif static void fake_update_pmtu(struct dst_entry *dst, struct sock *sk, - struct sk_buff *skb, u32 mtu) + struct sk_buff *skb, u32 mtu, + bool confirm_neigh) { } diff -Nru linux-4.19.87/net/bridge/netfilter/ebt_dnat.c linux-4.19.98/net/bridge/netfilter/ebt_dnat.c --- linux-4.19.87/net/bridge/netfilter/ebt_dnat.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/bridge/netfilter/ebt_dnat.c 2020-01-23 07:21:39.000000000 +0000 @@ -19,7 +19,6 @@ ebt_dnat_tg(struct sk_buff *skb, const struct xt_action_param *par) { const struct ebt_nat_info *info = par->targinfo; - struct net_device *dev; if (!skb_make_writable(skb, 0)) return EBT_DROP; @@ -32,10 +31,22 @@ else skb->pkt_type = PACKET_MULTICAST; } else { - if (xt_hooknum(par) != NF_BR_BROUTING) - dev = br_port_get_rcu(xt_in(par))->br->dev; - else + const struct net_device *dev; + + switch (xt_hooknum(par)) { + case NF_BR_BROUTING: dev = xt_in(par); + break; + case NF_BR_PRE_ROUTING: + dev = br_port_get_rcu(xt_in(par))->br->dev; + break; + default: + dev = NULL; + break; + } + + if (!dev) /* NF_BR_LOCAL_OUT */ + return info->target; if (ether_addr_equal(info->mac, dev->dev_addr)) skb->pkt_type = PACKET_HOST; diff -Nru linux-4.19.87/net/bridge/netfilter/ebtables.c linux-4.19.98/net/bridge/netfilter/ebtables.c --- linux-4.19.87/net/bridge/netfilter/ebtables.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/bridge/netfilter/ebtables.c 2020-01-23 07:21:39.000000000 +0000 @@ -1876,7 +1876,7 @@ } static int ebt_buf_add(struct ebt_entries_buf_state *state, - void *data, unsigned int sz) + const void *data, unsigned int sz) { if (state->buf_kern_start == NULL) goto count_only; @@ -1910,7 +1910,7 @@ EBT_COMPAT_TARGET, }; -static int compat_mtw_from_user(struct compat_ebt_entry_mwt *mwt, +static int compat_mtw_from_user(const struct compat_ebt_entry_mwt *mwt, enum compat_mwt compat_mwt, struct ebt_entries_buf_state *state, const unsigned char *base) @@ -1988,22 +1988,23 @@ /* return size of all matches, watchers or target, including necessary * alignment and padding. */ -static int ebt_size_mwt(struct compat_ebt_entry_mwt *match32, +static int ebt_size_mwt(const struct compat_ebt_entry_mwt *match32, unsigned int size_left, enum compat_mwt type, struct ebt_entries_buf_state *state, const void *base) { + const char *buf = (const char *)match32; int growth = 0; - char *buf; if (size_left == 0) return 0; - buf = (char *) match32; - - while (size_left >= sizeof(*match32)) { + do { struct ebt_entry_match *match_kern; int ret; + if (size_left < sizeof(*match32)) + return -EINVAL; + match_kern = (struct ebt_entry_match *) state->buf_kern_start; if (match_kern) { char *tmp; @@ -2040,22 +2041,18 @@ if (match_kern) match_kern->match_size = ret; - /* rule should have no remaining data after target */ - if (type == EBT_COMPAT_TARGET && size_left) - return -EINVAL; - match32 = (struct compat_ebt_entry_mwt *) buf; - } + } while (size_left); return growth; } /* called for all ebt_entry structures. */ -static int size_entry_mwt(struct ebt_entry *entry, const unsigned char *base, +static int size_entry_mwt(const struct ebt_entry *entry, const unsigned char *base, unsigned int *total, struct ebt_entries_buf_state *state) { - unsigned int i, j, startoff, new_offset = 0; + unsigned int i, j, startoff, next_expected_off, new_offset = 0; /* stores match/watchers/targets & offset of next struct ebt_entry: */ unsigned int offsets[4]; unsigned int *offsets_update = NULL; @@ -2141,11 +2138,13 @@ return ret; } - startoff = state->buf_user_offset - startoff; + next_expected_off = state->buf_user_offset - startoff; + if (next_expected_off != entry->next_offset) + return -EINVAL; - if (WARN_ON(*total < startoff)) + if (*total < entry->next_offset) return -EINVAL; - *total -= startoff; + *total -= entry->next_offset; return 0; } diff -Nru linux-4.19.87/net/core/dev.c linux-4.19.98/net/core/dev.c --- linux-4.19.87/net/core/dev.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/core/dev.c 2020-01-23 07:21:39.000000000 +0000 @@ -149,6 +149,7 @@ #include "net-sysfs.h" #define MAX_GRO_SKBS 8 +#define MAX_NEST_DEV 8 /* This should be increased if a protocol with a bigger head is added. */ #define GRO_MAX_HEAD (MAX_HEADER + 128) @@ -6542,6 +6543,21 @@ } EXPORT_SYMBOL(netdev_upper_get_next_dev_rcu); +static struct net_device *netdev_next_upper_dev(struct net_device *dev, + struct list_head **iter) +{ + struct netdev_adjacent *upper; + + upper = list_entry((*iter)->next, struct netdev_adjacent, list); + + if (&upper->list == &dev->adj_list.upper) + return NULL; + + *iter = &upper->list; + + return upper->dev; +} + static struct net_device *netdev_next_upper_dev_rcu(struct net_device *dev, struct list_head **iter) { @@ -6559,28 +6575,93 @@ return upper->dev; } +static int netdev_walk_all_upper_dev(struct net_device *dev, + int (*fn)(struct net_device *dev, + void *data), + void *data) +{ + struct net_device *udev, *next, *now, *dev_stack[MAX_NEST_DEV + 1]; + struct list_head *niter, *iter, *iter_stack[MAX_NEST_DEV + 1]; + int ret, cur = 0; + + now = dev; + iter = &dev->adj_list.upper; + + while (1) { + if (now != dev) { + ret = fn(now, data); + if (ret) + return ret; + } + + next = NULL; + while (1) { + udev = netdev_next_upper_dev(now, &iter); + if (!udev) + break; + + next = udev; + niter = &udev->adj_list.upper; + dev_stack[cur] = now; + iter_stack[cur++] = iter; + break; + } + + if (!next) { + if (!cur) + return 0; + next = dev_stack[--cur]; + niter = iter_stack[cur]; + } + + now = next; + iter = niter; + } + + return 0; +} + int netdev_walk_all_upper_dev_rcu(struct net_device *dev, int (*fn)(struct net_device *dev, void *data), void *data) { - struct net_device *udev; - struct list_head *iter; - int ret; + struct net_device *udev, *next, *now, *dev_stack[MAX_NEST_DEV + 1]; + struct list_head *niter, *iter, *iter_stack[MAX_NEST_DEV + 1]; + int ret, cur = 0; - for (iter = &dev->adj_list.upper, - udev = netdev_next_upper_dev_rcu(dev, &iter); - udev; - udev = netdev_next_upper_dev_rcu(dev, &iter)) { - /* first is the upper device itself */ - ret = fn(udev, data); - if (ret) - return ret; + now = dev; + iter = &dev->adj_list.upper; - /* then look at all of its upper devices */ - ret = netdev_walk_all_upper_dev_rcu(udev, fn, data); - if (ret) - return ret; + while (1) { + if (now != dev) { + ret = fn(now, data); + if (ret) + return ret; + } + + next = NULL; + while (1) { + udev = netdev_next_upper_dev_rcu(now, &iter); + if (!udev) + break; + + next = udev; + niter = &udev->adj_list.upper; + dev_stack[cur] = now; + iter_stack[cur++] = iter; + break; + } + + if (!next) { + if (!cur) + return 0; + next = dev_stack[--cur]; + niter = iter_stack[cur]; + } + + now = next; + iter = niter; } return 0; @@ -6688,23 +6769,42 @@ void *data), void *data) { - struct net_device *ldev; - struct list_head *iter; - int ret; + struct net_device *ldev, *next, *now, *dev_stack[MAX_NEST_DEV + 1]; + struct list_head *niter, *iter, *iter_stack[MAX_NEST_DEV + 1]; + int ret, cur = 0; - for (iter = &dev->adj_list.lower, - ldev = netdev_next_lower_dev(dev, &iter); - ldev; - ldev = netdev_next_lower_dev(dev, &iter)) { - /* first is the lower device itself */ - ret = fn(ldev, data); - if (ret) - return ret; + now = dev; + iter = &dev->adj_list.lower; - /* then look at all of its lower devices */ - ret = netdev_walk_all_lower_dev(ldev, fn, data); - if (ret) - return ret; + while (1) { + if (now != dev) { + ret = fn(now, data); + if (ret) + return ret; + } + + next = NULL; + while (1) { + ldev = netdev_next_lower_dev(now, &iter); + if (!ldev) + break; + + next = ldev; + niter = &ldev->adj_list.lower; + dev_stack[cur] = now; + iter_stack[cur++] = iter; + break; + } + + if (!next) { + if (!cur) + return 0; + next = dev_stack[--cur]; + niter = iter_stack[cur]; + } + + now = next; + iter = niter; } return 0; @@ -6725,28 +6825,93 @@ return lower->dev; } -int netdev_walk_all_lower_dev_rcu(struct net_device *dev, - int (*fn)(struct net_device *dev, - void *data), - void *data) +static u8 __netdev_upper_depth(struct net_device *dev) +{ + struct net_device *udev; + struct list_head *iter; + u8 max_depth = 0; + + for (iter = &dev->adj_list.upper, + udev = netdev_next_upper_dev(dev, &iter); + udev; + udev = netdev_next_upper_dev(dev, &iter)) { + if (max_depth < udev->upper_level) + max_depth = udev->upper_level; + } + + return max_depth; +} + +static u8 __netdev_lower_depth(struct net_device *dev) { struct net_device *ldev; struct list_head *iter; - int ret; + u8 max_depth = 0; for (iter = &dev->adj_list.lower, - ldev = netdev_next_lower_dev_rcu(dev, &iter); + ldev = netdev_next_lower_dev(dev, &iter); ldev; - ldev = netdev_next_lower_dev_rcu(dev, &iter)) { - /* first is the lower device itself */ - ret = fn(ldev, data); - if (ret) - return ret; + ldev = netdev_next_lower_dev(dev, &iter)) { + if (max_depth < ldev->lower_level) + max_depth = ldev->lower_level; + } - /* then look at all of its lower devices */ - ret = netdev_walk_all_lower_dev_rcu(ldev, fn, data); - if (ret) - return ret; + return max_depth; +} + +static int __netdev_update_upper_level(struct net_device *dev, void *data) +{ + dev->upper_level = __netdev_upper_depth(dev) + 1; + return 0; +} + +static int __netdev_update_lower_level(struct net_device *dev, void *data) +{ + dev->lower_level = __netdev_lower_depth(dev) + 1; + return 0; +} + +int netdev_walk_all_lower_dev_rcu(struct net_device *dev, + int (*fn)(struct net_device *dev, + void *data), + void *data) +{ + struct net_device *ldev, *next, *now, *dev_stack[MAX_NEST_DEV + 1]; + struct list_head *niter, *iter, *iter_stack[MAX_NEST_DEV + 1]; + int ret, cur = 0; + + now = dev; + iter = &dev->adj_list.lower; + + while (1) { + if (now != dev) { + ret = fn(now, data); + if (ret) + return ret; + } + + next = NULL; + while (1) { + ldev = netdev_next_lower_dev_rcu(now, &iter); + if (!ldev) + break; + + next = ldev; + niter = &ldev->adj_list.lower; + dev_stack[cur] = now; + iter_stack[cur++] = iter; + break; + } + + if (!next) { + if (!cur) + return 0; + next = dev_stack[--cur]; + niter = iter_stack[cur]; + } + + now = next; + iter = niter; } return 0; @@ -7003,6 +7168,9 @@ if (netdev_has_upper_dev(upper_dev, dev)) return -EBUSY; + if ((dev->lower_level + upper_dev->upper_level) > MAX_NEST_DEV) + return -EMLINK; + if (!master) { if (netdev_has_upper_dev(dev, upper_dev)) return -EEXIST; @@ -7029,6 +7197,12 @@ if (ret) goto rollback; + __netdev_update_upper_level(dev, NULL); + netdev_walk_all_lower_dev(dev, __netdev_update_upper_level, NULL); + + __netdev_update_lower_level(upper_dev, NULL); + netdev_walk_all_upper_dev(upper_dev, __netdev_update_lower_level, NULL); + return 0; rollback: @@ -7111,6 +7285,12 @@ call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); + + __netdev_update_upper_level(dev, NULL); + netdev_walk_all_lower_dev(dev, __netdev_update_upper_level, NULL); + + __netdev_update_lower_level(upper_dev, NULL); + netdev_walk_all_upper_dev(upper_dev, __netdev_update_lower_level, NULL); } EXPORT_SYMBOL(netdev_upper_dev_unlink); @@ -7595,7 +7775,8 @@ if (ops->ndo_change_mtu) return ops->ndo_change_mtu(dev, new_mtu); - dev->mtu = new_mtu; + /* Pairs with all the lockless reads of dev->mtu in the stack */ + WRITE_ONCE(dev->mtu, new_mtu); return 0; } EXPORT_SYMBOL(__dev_set_mtu); @@ -8977,6 +9158,8 @@ dev->gso_max_size = GSO_MAX_SIZE; dev->gso_max_segs = GSO_MAX_SEGS; + dev->upper_level = 1; + dev->lower_level = 1; INIT_LIST_HEAD(&dev->napi_list); INIT_LIST_HEAD(&dev->unreg_list); diff -Nru linux-4.19.87/net/core/ethtool.c linux-4.19.98/net/core/ethtool.c --- linux-4.19.87/net/core/ethtool.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/core/ethtool.c 2020-01-23 07:21:39.000000000 +0000 @@ -2413,9 +2413,10 @@ return ret; } -static int ethtool_get_per_queue_coalesce(struct net_device *dev, - void __user *useraddr, - struct ethtool_per_queue_op *per_queue_opt) +static noinline_for_stack int +ethtool_get_per_queue_coalesce(struct net_device *dev, + void __user *useraddr, + struct ethtool_per_queue_op *per_queue_opt) { u32 bit; int ret; @@ -2443,9 +2444,10 @@ return 0; } -static int ethtool_set_per_queue_coalesce(struct net_device *dev, - void __user *useraddr, - struct ethtool_per_queue_op *per_queue_opt) +static noinline_for_stack int +ethtool_set_per_queue_coalesce(struct net_device *dev, + void __user *useraddr, + struct ethtool_per_queue_op *per_queue_opt) { u32 bit; int i, ret = 0; @@ -2499,7 +2501,7 @@ return ret; } -static int ethtool_set_per_queue(struct net_device *dev, +static int noinline_for_stack ethtool_set_per_queue(struct net_device *dev, void __user *useraddr, u32 sub_cmd) { struct ethtool_per_queue_op per_queue_opt; diff -Nru linux-4.19.87/net/core/filter.c linux-4.19.98/net/core/filter.c --- linux-4.19.87/net/core/filter.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/core/filter.c 2020-01-23 07:21:39.000000000 +0000 @@ -2007,6 +2007,7 @@ } skb->dev = dev; + skb->tstamp = 0; __this_cpu_inc(xmit_recursion); ret = dev_queue_xmit(skb); diff -Nru linux-4.19.87/net/core/flow_dissector.c linux-4.19.98/net/core/flow_dissector.c --- linux-4.19.87/net/core/flow_dissector.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/core/flow_dissector.c 2020-01-23 07:21:39.000000000 +0000 @@ -630,9 +630,10 @@ nhoff = skb_network_offset(skb); hlen = skb_headlen(skb); #if IS_ENABLED(CONFIG_NET_DSA) - if (unlikely(skb->dev && netdev_uses_dsa(skb->dev))) { + if (unlikely(skb->dev && netdev_uses_dsa(skb->dev) && + proto == htons(ETH_P_XDSA))) { const struct dsa_device_ops *ops; - int offset; + int offset = 0; ops = skb->dev->dsa_ptr->tag_ops; if (ops->flow_dissect && diff -Nru linux-4.19.87/net/core/neighbour.c linux-4.19.98/net/core/neighbour.c --- linux-4.19.87/net/core/neighbour.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/core/neighbour.c 2020-01-23 07:21:39.000000000 +0000 @@ -18,6 +18,7 @@ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #include +#include #include #include #include @@ -363,12 +364,14 @@ ret = kmalloc(sizeof(*ret), GFP_ATOMIC); if (!ret) return NULL; - if (size <= PAGE_SIZE) + if (size <= PAGE_SIZE) { buckets = kzalloc(size, GFP_ATOMIC); - else + } else { buckets = (struct neighbour __rcu **) __get_free_pages(GFP_ATOMIC | __GFP_ZERO, get_order(size)); + kmemleak_alloc(buckets, size, 1, GFP_ATOMIC); + } if (!buckets) { kfree(ret); return NULL; @@ -388,10 +391,12 @@ size_t size = (1 << nht->hash_shift) * sizeof(struct neighbour *); struct neighbour __rcu **buckets = nht->hash_buckets; - if (size <= PAGE_SIZE) + if (size <= PAGE_SIZE) { kfree(buckets); - else + } else { + kmemleak_free(buckets); free_pages((unsigned long)buckets, get_order(size)); + } kfree(nht); } @@ -1092,7 +1097,7 @@ if (update) { hh = &neigh->hh; - if (hh->hh_len) { + if (READ_ONCE(hh->hh_len)) { write_seqlock_bh(&hh->hh_lock); update(hh, neigh->dev, neigh->ha); write_sequnlock_bh(&hh->hh_lock); @@ -1355,7 +1360,7 @@ struct net_device *dev = neigh->dev; unsigned int seq; - if (dev->header_ops->cache && !neigh->hh.hh_len) + if (dev->header_ops->cache && !READ_ONCE(neigh->hh.hh_len)) neigh_hh_init(neigh); do { diff -Nru linux-4.19.87/net/core/net_namespace.c linux-4.19.98/net/core/net_namespace.c --- linux-4.19.87/net/core/net_namespace.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/core/net_namespace.c 2020-01-23 07:21:39.000000000 +0000 @@ -913,7 +913,8 @@ init_net_initialized = true; up_write(&pernet_ops_rwsem); - register_pernet_subsys(&net_ns_ops); + if (register_pernet_subsys(&net_ns_ops)) + panic("Could not register network namespace subsystems"); rtnl_register(PF_UNSPEC, RTM_NEWNSID, rtnl_net_newid, NULL, RTNL_FLAG_DOIT_UNLOCKED); diff -Nru linux-4.19.87/net/core/sock.c linux-4.19.98/net/core/sock.c --- linux-4.19.87/net/core/sock.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/core/sock.c 2020-01-23 07:21:39.000000000 +0000 @@ -2435,7 +2435,7 @@ } if (sk_has_memory_pressure(sk)) { - int alloc; + u64 alloc; if (!sk_under_memory_pressure(sk)) return 1; diff -Nru linux-4.19.87/net/core/sysctl_net_core.c linux-4.19.98/net/core/sysctl_net_core.c --- linux-4.19.87/net/core/sysctl_net_core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/core/sysctl_net_core.c 2020-01-23 07:21:39.000000000 +0000 @@ -281,6 +281,7 @@ return ret; } +# ifdef CONFIG_HAVE_EBPF_JIT static int proc_dointvec_minmax_bpf_restricted(struct ctl_table *table, int write, void __user *buffer, size_t *lenp, @@ -291,6 +292,7 @@ return proc_dointvec_minmax(table, write, buffer, lenp, ppos); } +# endif /* CONFIG_HAVE_EBPF_JIT */ static int proc_dolongvec_minmax_bpf_restricted(struct ctl_table *table, int write, diff -Nru linux-4.19.87/net/dccp/feat.c linux-4.19.98/net/dccp/feat.c --- linux-4.19.87/net/dccp/feat.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/dccp/feat.c 2020-01-23 07:21:39.000000000 +0000 @@ -738,7 +738,12 @@ if (dccp_feat_clone_sp_val(&fval, sp_val, sp_len)) return -ENOMEM; - return dccp_feat_push_change(fn, feat, is_local, mandatory, &fval); + if (dccp_feat_push_change(fn, feat, is_local, mandatory, &fval)) { + kfree(fval.sp.vec); + return -ENOMEM; + } + + return 0; } /** diff -Nru linux-4.19.87/net/decnet/dn_dev.c linux-4.19.98/net/decnet/dn_dev.c --- linux-4.19.87/net/decnet/dn_dev.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/decnet/dn_dev.c 2020-01-23 07:21:39.000000000 +0000 @@ -56,7 +56,7 @@ #include #include -#define DN_IFREQ_SIZE (sizeof(struct ifreq) - sizeof(struct sockaddr) + sizeof(struct sockaddr_dn)) +#define DN_IFREQ_SIZE (offsetof(struct ifreq, ifr_ifru) + sizeof(struct sockaddr_dn)) static char dn_rt_all_end_mcast[ETH_ALEN] = {0xAB,0x00,0x00,0x04,0x00,0x00}; static char dn_rt_all_rt_mcast[ETH_ALEN] = {0xAB,0x00,0x00,0x03,0x00,0x00}; diff -Nru linux-4.19.87/net/decnet/dn_route.c linux-4.19.98/net/decnet/dn_route.c --- linux-4.19.87/net/decnet/dn_route.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/decnet/dn_route.c 2020-01-23 07:21:39.000000000 +0000 @@ -118,7 +118,8 @@ static struct dst_entry *dn_dst_negative_advice(struct dst_entry *); static void dn_dst_link_failure(struct sk_buff *); static void dn_dst_update_pmtu(struct dst_entry *dst, struct sock *sk, - struct sk_buff *skb , u32 mtu); + struct sk_buff *skb , u32 mtu, + bool confirm_neigh); static void dn_dst_redirect(struct dst_entry *dst, struct sock *sk, struct sk_buff *skb); static struct neighbour *dn_dst_neigh_lookup(const struct dst_entry *dst, @@ -259,7 +260,8 @@ * advertise to the other end). */ static void dn_dst_update_pmtu(struct dst_entry *dst, struct sock *sk, - struct sk_buff *skb, u32 mtu) + struct sk_buff *skb, u32 mtu, + bool confirm_neigh) { struct dn_route *rt = (struct dn_route *) dst; struct neighbour *n = rt->n; diff -Nru linux-4.19.87/net/dsa/tag_qca.c linux-4.19.98/net/dsa/tag_qca.c --- linux-4.19.87/net/dsa/tag_qca.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/dsa/tag_qca.c 2020-01-23 07:21:39.000000000 +0000 @@ -41,9 +41,6 @@ struct dsa_port *dp = dsa_slave_to_port(dev); u16 *phdr, hdr; - dev->stats.tx_packets++; - dev->stats.tx_bytes += skb->len; - if (skb_cow_head(skb, 0) < 0) return NULL; diff -Nru linux-4.19.87/net/ethernet/eth.c linux-4.19.98/net/ethernet/eth.c --- linux-4.19.87/net/ethernet/eth.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ethernet/eth.c 2020-01-23 07:21:39.000000000 +0000 @@ -239,7 +239,12 @@ eth->h_proto = type; memcpy(eth->h_source, dev->dev_addr, ETH_ALEN); memcpy(eth->h_dest, neigh->ha, ETH_ALEN); - hh->hh_len = ETH_HLEN; + + /* Pairs with READ_ONCE() in neigh_resolve_output(), + * neigh_hh_output() and neigh_update_hhs(). + */ + smp_store_release(&hh->hh_len, ETH_HLEN); + return 0; } EXPORT_SYMBOL(eth_header_cache); diff -Nru linux-4.19.87/net/hsr/hsr_device.c linux-4.19.98/net/hsr/hsr_device.c --- linux-4.19.87/net/hsr/hsr_device.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/hsr/hsr_device.c 2020-01-23 07:21:39.000000000 +0000 @@ -281,6 +281,8 @@ skb->dev->dev_addr, skb->len) <= 0) goto out; skb_reset_mac_header(skb); + skb_reset_network_header(skb); + skb_reset_transport_header(skb); if (hsrVer > 0) { hsr_tag = skb_put(skb, sizeof(struct hsr_tag)); diff -Nru linux-4.19.87/net/ipv4/devinet.c linux-4.19.98/net/ipv4/devinet.c --- linux-4.19.87/net/ipv4/devinet.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv4/devinet.c 2020-01-23 07:21:39.000000000 +0000 @@ -1441,11 +1441,6 @@ } } -static bool inetdev_valid_mtu(unsigned int mtu) -{ - return mtu >= IPV4_MIN_MTU; -} - static void inetdev_send_gratuitous_arp(struct net_device *dev, struct in_device *in_dev) diff -Nru linux-4.19.87/net/ipv4/gre_demux.c linux-4.19.98/net/ipv4/gre_demux.c --- linux-4.19.87/net/ipv4/gre_demux.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv4/gre_demux.c 2020-01-23 07:21:39.000000000 +0000 @@ -132,7 +132,7 @@ if (!pskb_may_pull(skb, nhs + hdr_len + sizeof(*ershdr))) return -EINVAL; - ershdr = (struct erspan_base_hdr *)options; + ershdr = (struct erspan_base_hdr *)(skb->data + nhs + hdr_len); tpi->key = cpu_to_be32(get_session_id(ershdr)); } diff -Nru linux-4.19.87/net/ipv4/icmp.c linux-4.19.98/net/ipv4/icmp.c --- linux-4.19.87/net/ipv4/icmp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv4/icmp.c 2020-01-23 07:21:39.000000000 +0000 @@ -254,10 +254,11 @@ bool rc = false; /* Check if token bucket is empty and cannot be refilled - * without taking the spinlock. + * without taking the spinlock. The READ_ONCE() are paired + * with the following WRITE_ONCE() in this same function. */ - if (!icmp_global.credit) { - delta = min_t(u32, now - icmp_global.stamp, HZ); + if (!READ_ONCE(icmp_global.credit)) { + delta = min_t(u32, now - READ_ONCE(icmp_global.stamp), HZ); if (delta < HZ / 50) return false; } @@ -267,14 +268,14 @@ if (delta >= HZ / 50) { incr = sysctl_icmp_msgs_per_sec * delta / HZ ; if (incr) - icmp_global.stamp = now; + WRITE_ONCE(icmp_global.stamp, now); } credit = min_t(u32, icmp_global.credit + incr, sysctl_icmp_msgs_burst); if (credit) { credit--; rc = true; } - icmp_global.credit = credit; + WRITE_ONCE(icmp_global.credit, credit); spin_unlock(&icmp_global.lock); return rc; } diff -Nru linux-4.19.87/net/ipv4/inet_connection_sock.c linux-4.19.98/net/ipv4/inet_connection_sock.c --- linux-4.19.87/net/ipv4/inet_connection_sock.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv4/inet_connection_sock.c 2020-01-23 07:21:39.000000000 +0000 @@ -1089,7 +1089,7 @@ if (!dst) goto out; } - dst->ops->update_pmtu(dst, sk, NULL, mtu); + dst->ops->update_pmtu(dst, sk, NULL, mtu, true); dst = __sk_dst_check(sk, 0); if (!dst) diff -Nru linux-4.19.87/net/ipv4/inet_diag.c linux-4.19.98/net/ipv4/inet_diag.c --- linux-4.19.87/net/ipv4/inet_diag.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv4/inet_diag.c 2020-01-23 07:21:39.000000000 +0000 @@ -918,11 +918,12 @@ for (i = s_i; i < INET_LHTABLE_SIZE; i++) { struct inet_listen_hashbucket *ilb; + struct hlist_nulls_node *node; num = 0; ilb = &hashinfo->listening_hash[i]; spin_lock(&ilb->lock); - sk_for_each(sk, &ilb->head) { + sk_nulls_for_each(sk, node, &ilb->nulls_head) { struct inet_sock *inet = inet_sk(sk); if (!net_eq(sock_net(sk), net)) diff -Nru linux-4.19.87/net/ipv4/inet_hashtables.c linux-4.19.98/net/ipv4/inet_hashtables.c --- linux-4.19.87/net/ipv4/inet_hashtables.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv4/inet_hashtables.c 2020-01-23 07:21:39.000000000 +0000 @@ -308,6 +308,7 @@ bool exact_dif = inet_exact_dif_match(net, skb); struct inet_listen_hashbucket *ilb2; struct sock *sk, *result = NULL; + struct hlist_nulls_node *node; int score, hiscore = 0; unsigned int hash2; u32 phash = 0; @@ -343,7 +344,7 @@ goto done; port_lookup: - sk_for_each_rcu(sk, &ilb->head) { + sk_nulls_for_each_rcu(sk, node, &ilb->nulls_head) { score = compute_score(sk, net, hnum, daddr, dif, sdif, exact_dif); if (score > hiscore) { @@ -560,10 +561,11 @@ struct inet_listen_hashbucket *ilb) { struct inet_bind_bucket *tb = inet_csk(sk)->icsk_bind_hash; + const struct hlist_nulls_node *node; struct sock *sk2; kuid_t uid = sock_i_uid(sk); - sk_for_each_rcu(sk2, &ilb->head) { + sk_nulls_for_each_rcu(sk2, node, &ilb->nulls_head) { if (sk2 != sk && sk2->sk_family == sk->sk_family && ipv6_only_sock(sk2) == ipv6_only_sock(sk) && @@ -599,9 +601,9 @@ } if (IS_ENABLED(CONFIG_IPV6) && sk->sk_reuseport && sk->sk_family == AF_INET6) - hlist_add_tail_rcu(&sk->sk_node, &ilb->head); + __sk_nulls_add_node_tail_rcu(sk, &ilb->nulls_head); else - hlist_add_head_rcu(&sk->sk_node, &ilb->head); + __sk_nulls_add_node_rcu(sk, &ilb->nulls_head); inet_hash2(hashinfo, sk); ilb->count++; sock_set_flag(sk, SOCK_RCU_FREE); @@ -650,11 +652,9 @@ reuseport_detach_sock(sk); if (ilb) { inet_unhash2(hashinfo, sk); - __sk_del_node_init(sk); - ilb->count--; - } else { - __sk_nulls_del_node_init_rcu(sk); + ilb->count--; } + __sk_nulls_del_node_init_rcu(sk); sock_prot_inuse_add(sock_net(sk), sk->sk_prot, -1); unlock: spin_unlock_bh(lock); @@ -790,7 +790,8 @@ for (i = 0; i < INET_LHTABLE_SIZE; i++) { spin_lock_init(&h->listening_hash[i].lock); - INIT_HLIST_HEAD(&h->listening_hash[i].head); + INIT_HLIST_NULLS_HEAD(&h->listening_hash[i].nulls_head, + i + LISTENING_NULLS_BASE); h->listening_hash[i].count = 0; } diff -Nru linux-4.19.87/net/ipv4/inetpeer.c linux-4.19.98/net/ipv4/inetpeer.c --- linux-4.19.87/net/ipv4/inetpeer.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv4/inetpeer.c 2020-01-23 07:21:39.000000000 +0000 @@ -160,7 +160,12 @@ base->total / inet_peer_threshold * HZ; for (i = 0; i < gc_cnt; i++) { p = gc_stack[i]; - delta = (__u32)jiffies - p->dtime; + + /* The READ_ONCE() pairs with the WRITE_ONCE() + * in inet_putpeer() + */ + delta = (__u32)jiffies - READ_ONCE(p->dtime); + if (delta < ttl || !refcount_dec_if_one(&p->refcnt)) gc_stack[i] = NULL; } @@ -237,7 +242,10 @@ void inet_putpeer(struct inet_peer *p) { - p->dtime = (__u32)jiffies; + /* The WRITE_ONCE() pairs with itself (we run lockless) + * and the READ_ONCE() in inet_peer_gc() + */ + WRITE_ONCE(p->dtime, (__u32)jiffies); if (refcount_dec_and_test(&p->refcnt)) call_rcu(&p->rcu, inetpeer_free_rcu); diff -Nru linux-4.19.87/net/ipv4/ip_gre.c linux-4.19.98/net/ipv4/ip_gre.c --- linux-4.19.87/net/ipv4/ip_gre.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv4/ip_gre.c 2020-01-23 07:21:39.000000000 +0000 @@ -1466,9 +1466,23 @@ struct ip_tunnel_parm *p = &t->parms; __be16 o_flags = p->o_flags; - if ((t->erspan_ver == 1 || t->erspan_ver == 2) && - !t->collect_md) - o_flags |= TUNNEL_KEY; + if (t->erspan_ver == 1 || t->erspan_ver == 2) { + if (!t->collect_md) + o_flags |= TUNNEL_KEY; + + if (nla_put_u8(skb, IFLA_GRE_ERSPAN_VER, t->erspan_ver)) + goto nla_put_failure; + + if (t->erspan_ver == 1) { + if (nla_put_u32(skb, IFLA_GRE_ERSPAN_INDEX, t->index)) + goto nla_put_failure; + } else { + if (nla_put_u8(skb, IFLA_GRE_ERSPAN_DIR, t->dir)) + goto nla_put_failure; + if (nla_put_u16(skb, IFLA_GRE_ERSPAN_HWID, t->hwid)) + goto nla_put_failure; + } + } if (nla_put_u32(skb, IFLA_GRE_LINK, p->link) || nla_put_be16(skb, IFLA_GRE_IFLAGS, @@ -1504,19 +1518,6 @@ goto nla_put_failure; } - if (nla_put_u8(skb, IFLA_GRE_ERSPAN_VER, t->erspan_ver)) - goto nla_put_failure; - - if (t->erspan_ver == 1) { - if (nla_put_u32(skb, IFLA_GRE_ERSPAN_INDEX, t->index)) - goto nla_put_failure; - } else if (t->erspan_ver == 2) { - if (nla_put_u8(skb, IFLA_GRE_ERSPAN_DIR, t->dir)) - goto nla_put_failure; - if (nla_put_u16(skb, IFLA_GRE_ERSPAN_HWID, t->hwid)) - goto nla_put_failure; - } - return 0; nla_put_failure: diff -Nru linux-4.19.87/net/ipv4/ip_output.c linux-4.19.98/net/ipv4/ip_output.c --- linux-4.19.87/net/ipv4/ip_output.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv4/ip_output.c 2020-01-23 07:21:39.000000000 +0000 @@ -1142,15 +1142,18 @@ cork->addr = ipc->addr; } - /* - * We steal reference to this route, caller should not release it - */ - *rtp = NULL; cork->fragsize = ip_sk_use_pmtu(sk) ? - dst_mtu(&rt->dst) : rt->dst.dev->mtu; + dst_mtu(&rt->dst) : READ_ONCE(rt->dst.dev->mtu); + + if (!inetdev_valid_mtu(cork->fragsize)) + return -ENETUNREACH; cork->gso_size = ipc->gso_size; + cork->dst = &rt->dst; + /* We stole this route, caller should not release it. */ + *rtp = NULL; + cork->length = 0; cork->ttl = ipc->ttl; cork->tos = ipc->tos; diff -Nru linux-4.19.87/net/ipv4/ip_tunnel.c linux-4.19.98/net/ipv4/ip_tunnel.c --- linux-4.19.87/net/ipv4/ip_tunnel.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv4/ip_tunnel.c 2020-01-23 07:21:39.000000000 +0000 @@ -513,7 +513,7 @@ else mtu = skb_dst(skb) ? dst_mtu(skb_dst(skb)) : dev->mtu; - skb_dst_update_pmtu(skb, mtu); + skb_dst_update_pmtu_no_confirm(skb, mtu); if (skb->protocol == htons(ETH_P_IP)) { if (!skb_is_gso(skb) && @@ -644,13 +644,19 @@ dst = tnl_params->daddr; if (dst == 0) { /* NBMA tunnel */ + struct ip_tunnel_info *tun_info; if (!skb_dst(skb)) { dev->stats.tx_fifo_errors++; goto tx_error; } - if (skb->protocol == htons(ETH_P_IP)) { + tun_info = skb_tunnel_info(skb); + if (tun_info && (tun_info->mode & IP_TUNNEL_INFO_TX) && + ip_tunnel_info_af(tun_info) == AF_INET && + tun_info->key.u.ipv4.dst) + dst = tun_info->key.u.ipv4.dst; + else if (skb->protocol == htons(ETH_P_IP)) { rt = skb_rtable(skb); dst = rt_nexthop(rt, inner_iph->daddr); } diff -Nru linux-4.19.87/net/ipv4/ip_vti.c linux-4.19.98/net/ipv4/ip_vti.c --- linux-4.19.87/net/ipv4/ip_vti.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv4/ip_vti.c 2020-01-23 07:21:39.000000000 +0000 @@ -235,7 +235,7 @@ mtu = dst_mtu(dst); if (skb->len > mtu) { - skb_dst_update_pmtu(skb, mtu); + skb_dst_update_pmtu_no_confirm(skb, mtu); if (skb->protocol == htons(ETH_P_IP)) { icmp_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, htonl(mtu)); diff -Nru linux-4.19.87/net/ipv4/netfilter/arp_tables.c linux-4.19.98/net/ipv4/netfilter/arp_tables.c --- linux-4.19.87/net/ipv4/netfilter/arp_tables.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv4/netfilter/arp_tables.c 2020-01-23 07:21:39.000000000 +0000 @@ -383,10 +383,11 @@ return 1; } -static inline int check_target(struct arpt_entry *e, const char *name) +static int check_target(struct arpt_entry *e, struct net *net, const char *name) { struct xt_entry_target *t = arpt_get_target(e); struct xt_tgchk_param par = { + .net = net, .table = name, .entryinfo = e, .target = t->u.kernel.target, @@ -398,8 +399,9 @@ return xt_check_target(&par, t->u.target_size - sizeof(*t), 0, false); } -static inline int -find_check_entry(struct arpt_entry *e, const char *name, unsigned int size, +static int +find_check_entry(struct arpt_entry *e, struct net *net, const char *name, + unsigned int size, struct xt_percpu_counter_alloc_state *alloc_state) { struct xt_entry_target *t; @@ -418,7 +420,7 @@ } t->u.kernel.target = target; - ret = check_target(e, name); + ret = check_target(e, net, name); if (ret) goto err; return 0; @@ -493,12 +495,13 @@ return 0; } -static inline void cleanup_entry(struct arpt_entry *e) +static void cleanup_entry(struct arpt_entry *e, struct net *net) { struct xt_tgdtor_param par; struct xt_entry_target *t; t = arpt_get_target(e); + par.net = net; par.target = t->u.kernel.target; par.targinfo = t->data; par.family = NFPROTO_ARP; @@ -511,7 +514,9 @@ /* Checks and translates the user-supplied table segment (held in * newinfo). */ -static int translate_table(struct xt_table_info *newinfo, void *entry0, +static int translate_table(struct net *net, + struct xt_table_info *newinfo, + void *entry0, const struct arpt_replace *repl) { struct xt_percpu_counter_alloc_state alloc_state = { 0 }; @@ -568,7 +573,7 @@ /* Finally, each sanity check must pass */ i = 0; xt_entry_foreach(iter, entry0, newinfo->size) { - ret = find_check_entry(iter, repl->name, repl->size, + ret = find_check_entry(iter, net, repl->name, repl->size, &alloc_state); if (ret != 0) break; @@ -579,7 +584,7 @@ xt_entry_foreach(iter, entry0, newinfo->size) { if (i-- == 0) break; - cleanup_entry(iter); + cleanup_entry(iter, net); } return ret; } @@ -922,7 +927,7 @@ /* Decrease module usage counts and free resource */ loc_cpu_old_entry = oldinfo->entries; xt_entry_foreach(iter, loc_cpu_old_entry, oldinfo->size) - cleanup_entry(iter); + cleanup_entry(iter, net); xt_free_table_info(oldinfo); if (copy_to_user(counters_ptr, counters, @@ -973,7 +978,7 @@ goto free_newinfo; } - ret = translate_table(newinfo, loc_cpu_entry, &tmp); + ret = translate_table(net, newinfo, loc_cpu_entry, &tmp); if (ret != 0) goto free_newinfo; @@ -985,7 +990,7 @@ free_newinfo_untrans: xt_entry_foreach(iter, loc_cpu_entry, newinfo->size) - cleanup_entry(iter); + cleanup_entry(iter, net); free_newinfo: xt_free_table_info(newinfo); return ret; @@ -1148,7 +1153,8 @@ } } -static int translate_compat_table(struct xt_table_info **pinfo, +static int translate_compat_table(struct net *net, + struct xt_table_info **pinfo, void **pentry0, const struct compat_arpt_replace *compatr) { @@ -1216,7 +1222,7 @@ repl.num_counters = 0; repl.counters = NULL; repl.size = newinfo->size; - ret = translate_table(newinfo, entry1, &repl); + ret = translate_table(net, newinfo, entry1, &repl); if (ret) goto free_newinfo; @@ -1269,7 +1275,7 @@ goto free_newinfo; } - ret = translate_compat_table(&newinfo, &loc_cpu_entry, &tmp); + ret = translate_compat_table(net, &newinfo, &loc_cpu_entry, &tmp); if (ret != 0) goto free_newinfo; @@ -1281,7 +1287,7 @@ free_newinfo_untrans: xt_entry_foreach(iter, loc_cpu_entry, newinfo->size) - cleanup_entry(iter); + cleanup_entry(iter, net); free_newinfo: xt_free_table_info(newinfo); return ret; @@ -1508,7 +1514,7 @@ return ret; } -static void __arpt_unregister_table(struct xt_table *table) +static void __arpt_unregister_table(struct net *net, struct xt_table *table) { struct xt_table_info *private; void *loc_cpu_entry; @@ -1520,7 +1526,7 @@ /* Decrease module usage counts and free resources */ loc_cpu_entry = private->entries; xt_entry_foreach(iter, loc_cpu_entry, private->size) - cleanup_entry(iter); + cleanup_entry(iter, net); if (private->number > private->initial_entries) module_put(table_owner); xt_free_table_info(private); @@ -1545,7 +1551,7 @@ loc_cpu_entry = newinfo->entries; memcpy(loc_cpu_entry, repl->entries, repl->size); - ret = translate_table(newinfo, loc_cpu_entry, repl); + ret = translate_table(net, newinfo, loc_cpu_entry, repl); if (ret != 0) goto out_free; @@ -1560,7 +1566,7 @@ ret = nf_register_net_hooks(net, ops, hweight32(table->valid_hooks)); if (ret != 0) { - __arpt_unregister_table(new_table); + __arpt_unregister_table(net, new_table); *res = NULL; } @@ -1575,7 +1581,7 @@ const struct nf_hook_ops *ops) { nf_unregister_net_hooks(net, ops, hweight32(table->valid_hooks)); - __arpt_unregister_table(table); + __arpt_unregister_table(net, table); } /* The built-in targets: standard (NULL) and error. */ diff -Nru linux-4.19.87/net/ipv4/route.c linux-4.19.98/net/ipv4/route.c --- linux-4.19.87/net/ipv4/route.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv4/route.c 2020-01-23 07:21:39.000000000 +0000 @@ -142,7 +142,8 @@ static struct dst_entry *ipv4_negative_advice(struct dst_entry *dst); static void ipv4_link_failure(struct sk_buff *skb); static void ip_rt_update_pmtu(struct dst_entry *dst, struct sock *sk, - struct sk_buff *skb, u32 mtu); + struct sk_buff *skb, u32 mtu, + bool confirm_neigh); static void ip_do_redirect(struct dst_entry *dst, struct sock *sk, struct sk_buff *skb); static void ipv4_dst_destroy(struct dst_entry *dst); @@ -1035,7 +1036,8 @@ } static void ip_rt_update_pmtu(struct dst_entry *dst, struct sock *sk, - struct sk_buff *skb, u32 mtu) + struct sk_buff *skb, u32 mtu, + bool confirm_neigh) { struct rtable *rt = (struct rtable *) dst; struct flowi4 fl4; @@ -2559,7 +2561,8 @@ } static void ipv4_rt_blackhole_update_pmtu(struct dst_entry *dst, struct sock *sk, - struct sk_buff *skb, u32 mtu) + struct sk_buff *skb, u32 mtu, + bool confirm_neigh) { } diff -Nru linux-4.19.87/net/ipv4/tcp.c linux-4.19.98/net/ipv4/tcp.c --- linux-4.19.87/net/ipv4/tcp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv4/tcp.c 2020-01-23 07:21:39.000000000 +0000 @@ -488,7 +488,7 @@ static inline bool tcp_stream_is_readable(const struct tcp_sock *tp, int target, struct sock *sk) { - return (tp->rcv_nxt - tp->copied_seq >= target) || + return (READ_ONCE(tp->rcv_nxt) - tp->copied_seq >= target) || (sk->sk_prot->stream_memory_read ? sk->sk_prot->stream_memory_read(sk) : false); } @@ -1077,8 +1077,7 @@ goto out; out_err: /* make sure we wake any epoll edge trigger waiter */ - if (unlikely(skb_queue_len(&sk->sk_write_queue) == 0 && - err == -EAGAIN)) { + if (unlikely(tcp_rtx_and_write_queues_empty(sk) && err == -EAGAIN)) { sk->sk_write_space(sk); tcp_chrono_stop(sk, TCP_CHRONO_SNDBUF_LIMITED); } @@ -1437,8 +1436,7 @@ sock_zerocopy_put_abort(uarg); err = sk_stream_error(sk, flags, err); /* make sure we wake any epoll edge trigger waiter */ - if (unlikely(skb_queue_len(&sk->sk_write_queue) == 0 && - err == -EAGAIN)) { + if (unlikely(tcp_rtx_and_write_queues_empty(sk) && err == -EAGAIN)) { sk->sk_write_space(sk); tcp_chrono_stop(sk, TCP_CHRONO_SNDBUF_LIMITED); } @@ -2866,7 +2864,7 @@ else if (tp->repair_queue == TCP_SEND_QUEUE) tp->write_seq = val; else if (tp->repair_queue == TCP_RECV_QUEUE) - tp->rcv_nxt = val; + WRITE_ONCE(tp->rcv_nxt, val); else err = -EINVAL; break; diff -Nru linux-4.19.87/net/ipv4/tcp_diag.c linux-4.19.98/net/ipv4/tcp_diag.c --- linux-4.19.87/net/ipv4/tcp_diag.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv4/tcp_diag.c 2020-01-23 07:21:39.000000000 +0000 @@ -30,7 +30,7 @@ } else if (sk->sk_type == SOCK_STREAM) { const struct tcp_sock *tp = tcp_sk(sk); - r->idiag_rqueue = max_t(int, tp->rcv_nxt - tp->copied_seq, 0); + r->idiag_rqueue = max_t(int, READ_ONCE(tp->rcv_nxt) - tp->copied_seq, 0); r->idiag_wqueue = tp->write_seq - tp->snd_una; } if (info) diff -Nru linux-4.19.87/net/ipv4/tcp_input.c linux-4.19.98/net/ipv4/tcp_input.c --- linux-4.19.87/net/ipv4/tcp_input.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv4/tcp_input.c 2020-01-23 07:21:39.000000000 +0000 @@ -901,9 +901,10 @@ /* This must be called before lost_out is incremented */ static void tcp_verify_retransmit_hint(struct tcp_sock *tp, struct sk_buff *skb) { - if (!tp->retransmit_skb_hint || - before(TCP_SKB_CB(skb)->seq, - TCP_SKB_CB(tp->retransmit_skb_hint)->seq)) + if ((!tp->retransmit_skb_hint && tp->retrans_out >= tp->lost_out) || + (tp->retransmit_skb_hint && + before(TCP_SKB_CB(skb)->seq, + TCP_SKB_CB(tp->retransmit_skb_hint)->seq))) tp->retransmit_skb_hint = skb; } @@ -1716,8 +1717,11 @@ } /* Ignore very old stuff early */ - if (!after(sp[used_sacks].end_seq, prior_snd_una)) + if (!after(sp[used_sacks].end_seq, prior_snd_una)) { + if (i == 0) + first_sack_index = -1; continue; + } used_sacks++; } @@ -3348,7 +3352,7 @@ sock_owned_by_me((struct sock *)tp); tp->bytes_received += delta; - tp->rcv_nxt = seq; + WRITE_ONCE(tp->rcv_nxt, seq); } /* Update our send window. @@ -5829,7 +5833,7 @@ /* Ok.. it's good. Set up sequence numbers and * move to established. */ - tp->rcv_nxt = TCP_SKB_CB(skb)->seq + 1; + WRITE_ONCE(tp->rcv_nxt, TCP_SKB_CB(skb)->seq + 1); tp->rcv_wup = TCP_SKB_CB(skb)->seq + 1; /* RFC1323: The window in SYN & SYN/ACK segments is @@ -5932,7 +5936,7 @@ tp->tcp_header_len = sizeof(struct tcphdr); } - tp->rcv_nxt = TCP_SKB_CB(skb)->seq + 1; + WRITE_ONCE(tp->rcv_nxt, TCP_SKB_CB(skb)->seq + 1); tp->copied_seq = tp->rcv_nxt; tp->rcv_wup = TCP_SKB_CB(skb)->seq + 1; diff -Nru linux-4.19.87/net/ipv4/tcp_ipv4.c linux-4.19.98/net/ipv4/tcp_ipv4.c --- linux-4.19.87/net/ipv4/tcp_ipv4.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv4/tcp_ipv4.c 2020-01-23 07:21:39.000000000 +0000 @@ -2020,13 +2020,14 @@ struct tcp_iter_state *st = seq->private; struct net *net = seq_file_net(seq); struct inet_listen_hashbucket *ilb; + struct hlist_nulls_node *node; struct sock *sk = cur; if (!sk) { get_head: ilb = &tcp_hashinfo.listening_hash[st->bucket]; spin_lock(&ilb->lock); - sk = sk_head(&ilb->head); + sk = sk_nulls_head(&ilb->nulls_head); st->offset = 0; goto get_sk; } @@ -2034,9 +2035,9 @@ ++st->num; ++st->offset; - sk = sk_next(sk); + sk = sk_nulls_next(sk); get_sk: - sk_for_each_from(sk) { + sk_nulls_for_each_from(sk, node) { if (!net_eq(sock_net(sk), net)) continue; if (sk->sk_family == afinfo->family) @@ -2329,7 +2330,8 @@ /* Because we don't lock the socket, * we might find a transient negative value. */ - rx_queue = max_t(int, tp->rcv_nxt - tp->copied_seq, 0); + rx_queue = max_t(int, READ_ONCE(tp->rcv_nxt) - + tp->copied_seq, 0); seq_printf(f, "%4d: %08X:%04X %08X:%04X %02X %08X:%08X %02X:%08lX " "%08X %5u %8d %lu %d %pK %lu %lu %u %u %d", diff -Nru linux-4.19.87/net/ipv4/tcp_minisocks.c linux-4.19.98/net/ipv4/tcp_minisocks.c --- linux-4.19.87/net/ipv4/tcp_minisocks.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv4/tcp_minisocks.c 2020-01-23 07:21:39.000000000 +0000 @@ -454,6 +454,7 @@ struct tcp_request_sock *treq = tcp_rsk(req); struct inet_connection_sock *newicsk; struct tcp_sock *oldtp, *newtp; + u32 seq; if (!newsk) return NULL; @@ -467,8 +468,10 @@ /* Now setup tcp_sock */ newtp->pred_flags = 0; - newtp->rcv_wup = newtp->copied_seq = - newtp->rcv_nxt = treq->rcv_isn + 1; + seq = treq->rcv_isn + 1; + newtp->rcv_wup = seq; + newtp->copied_seq = seq; + WRITE_ONCE(newtp->rcv_nxt, seq); newtp->segs_in = 1; newtp->snd_sml = newtp->snd_una = diff -Nru linux-4.19.87/net/ipv4/tcp_output.c linux-4.19.98/net/ipv4/tcp_output.c --- linux-4.19.87/net/ipv4/tcp_output.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv4/tcp_output.c 2020-01-23 07:21:39.000000000 +0000 @@ -60,6 +60,9 @@ __skb_unlink(skb, &sk->sk_write_queue); tcp_rbtree_insert(&sk->tcp_rtx_queue, skb); + if (tp->highest_sack == NULL) + tp->highest_sack = skb; + tp->packets_out += tcp_skb_pcount(skb); if (!prior_packets || icsk->icsk_pending == ICSK_TIME_LOSS_PROBE) tcp_rearm_rto(sk); @@ -740,8 +743,9 @@ min_t(unsigned int, eff_sacks, (remaining - TCPOLEN_SACK_BASE_ALIGNED) / TCPOLEN_SACK_PERBLOCK); - size += TCPOLEN_SACK_BASE_ALIGNED + - opts->num_sack_blocks * TCPOLEN_SACK_PERBLOCK; + if (likely(opts->num_sack_blocks)) + size += TCPOLEN_SACK_BASE_ALIGNED + + opts->num_sack_blocks * TCPOLEN_SACK_PERBLOCK; } return size; @@ -2372,6 +2376,14 @@ if (tcp_small_queue_check(sk, skb, 0)) break; + /* Argh, we hit an empty skb(), presumably a thread + * is sleeping in sendmsg()/sk_stream_wait_memory(). + * We do not want to send a pure-ack packet and have + * a strange looking rtx queue with empty packet(s). + */ + if (TCP_SKB_CB(skb)->end_seq == TCP_SKB_CB(skb)->seq) + break; + if (unlikely(tcp_transmit_skb(sk, skb, 1, gfp))) break; @@ -2919,7 +2931,7 @@ TCP_SKB_CB(skb)->sacked |= TCPCB_EVER_RETRANS; trace_tcp_retransmit_skb(sk, skb); } else if (err != -EBUSY) { - NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPRETRANSFAIL); + NET_ADD_STATS(sock_net(sk), LINUX_MIB_TCPRETRANSFAIL, segs); } return err; } diff -Nru linux-4.19.87/net/ipv4/tcp_timer.c linux-4.19.98/net/ipv4/tcp_timer.c --- linux-4.19.87/net/ipv4/tcp_timer.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv4/tcp_timer.c 2020-01-23 07:21:39.000000000 +0000 @@ -378,7 +378,7 @@ return; } - if (icsk->icsk_probes_out > max_probes) { + if (icsk->icsk_probes_out >= max_probes) { abort: tcp_write_err(sk); } else { /* Only send another probe if we didn't close things up. */ @@ -443,10 +443,8 @@ */ return; } - if (!tp->packets_out) - goto out; - - WARN_ON(tcp_rtx_queue_empty(sk)); + if (!tp->packets_out || WARN_ON_ONCE(tcp_rtx_queue_empty(sk))) + return; tp->tlp_high_seq = 0; @@ -484,11 +482,12 @@ goto out_reset_timer; } + __NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPTIMEOUTS); if (tcp_write_timeout(sk)) goto out; if (icsk->icsk_retransmits == 0) { - int mib_idx; + int mib_idx = 0; if (icsk->icsk_ca_state == TCP_CA_Recovery) { if (tcp_is_sack(tp)) @@ -503,10 +502,9 @@ mib_idx = LINUX_MIB_TCPSACKFAILURES; else mib_idx = LINUX_MIB_TCPRENOFAILURES; - } else { - mib_idx = LINUX_MIB_TCPTIMEOUTS; } - __NET_INC_STATS(sock_net(sk), mib_idx); + if (mib_idx) + __NET_INC_STATS(sock_net(sk), mib_idx); } tcp_enter_loss(sk); diff -Nru linux-4.19.87/net/ipv4/udp.c linux-4.19.98/net/ipv4/udp.c --- linux-4.19.87/net/ipv4/udp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv4/udp.c 2020-01-23 07:21:39.000000000 +0000 @@ -1412,7 +1412,7 @@ * queue contains some other skb */ rmem = atomic_add_return(size, &sk->sk_rmem_alloc); - if (rmem > (size + sk->sk_rcvbuf)) + if (rmem > (size + (unsigned int)sk->sk_rcvbuf)) goto uncharge_drop; spin_lock(&list->lock); diff -Nru linux-4.19.87/net/ipv4/xfrm4_policy.c linux-4.19.98/net/ipv4/xfrm4_policy.c --- linux-4.19.87/net/ipv4/xfrm4_policy.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv4/xfrm4_policy.c 2020-01-23 07:21:39.000000000 +0000 @@ -222,12 +222,13 @@ } static void xfrm4_update_pmtu(struct dst_entry *dst, struct sock *sk, - struct sk_buff *skb, u32 mtu) + struct sk_buff *skb, u32 mtu, + bool confirm_neigh) { struct xfrm_dst *xdst = (struct xfrm_dst *)dst; struct dst_entry *path = xdst->route; - path->ops->update_pmtu(path, sk, skb, mtu); + path->ops->update_pmtu(path, sk, skb, mtu, confirm_neigh); } static void xfrm4_redirect(struct dst_entry *dst, struct sock *sk, diff -Nru linux-4.19.87/net/ipv6/addrconf.c linux-4.19.98/net/ipv6/addrconf.c --- linux-4.19.87/net/ipv6/addrconf.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv6/addrconf.c 2020-01-23 07:21:39.000000000 +0000 @@ -179,7 +179,7 @@ static void addrconf_dad_work(struct work_struct *w); static void addrconf_dad_completed(struct inet6_ifaddr *ifp, bool bump_id, bool send_na); -static void addrconf_dad_run(struct inet6_dev *idev); +static void addrconf_dad_run(struct inet6_dev *idev, bool restart); static void addrconf_rs_timer(struct timer_list *t); static void __ipv6_ifa_notify(int event, struct inet6_ifaddr *ifa); static void ipv6_ifa_notify(int event, struct inet6_ifaddr *ifa); @@ -3424,6 +3424,7 @@ void *ptr) { struct net_device *dev = netdev_notifier_info_to_dev(ptr); + struct netdev_notifier_change_info *change_info; struct netdev_notifier_changeupper_info *info; struct inet6_dev *idev = __in6_dev_get(dev); struct net *net = dev_net(dev); @@ -3498,7 +3499,7 @@ break; } - if (idev) { + if (!IS_ERR_OR_NULL(idev)) { if (idev->if_flags & IF_READY) { /* device is already configured - * but resend MLD reports, we might @@ -3506,6 +3507,9 @@ * multicast snooping switches */ ipv6_mc_up(idev); + change_info = ptr; + if (change_info->flags_changed & IFF_NOARP) + addrconf_dad_run(idev, true); rt6_sync_up(dev, RTNH_F_LINKDOWN); break; } @@ -3540,7 +3544,7 @@ if (!IS_ERR_OR_NULL(idev)) { if (run_pending) - addrconf_dad_run(idev); + addrconf_dad_run(idev, false); /* Device has an address by now */ rt6_sync_up(dev, RTNH_F_DEAD); @@ -4158,16 +4162,19 @@ addrconf_verify_rtnl(); } -static void addrconf_dad_run(struct inet6_dev *idev) +static void addrconf_dad_run(struct inet6_dev *idev, bool restart) { struct inet6_ifaddr *ifp; read_lock_bh(&idev->lock); list_for_each_entry(ifp, &idev->addr_list, if_list) { spin_lock(&ifp->lock); - if (ifp->flags & IFA_F_TENTATIVE && - ifp->state == INET6_IFADDR_STATE_DAD) + if ((ifp->flags & IFA_F_TENTATIVE && + ifp->state == INET6_IFADDR_STATE_DAD) || restart) { + if (restart) + ifp->state = INET6_IFADDR_STATE_PREDAD; addrconf_dad_kick(ifp); + } spin_unlock(&ifp->lock); } read_unlock_bh(&idev->lock); diff -Nru linux-4.19.87/net/ipv6/inet6_connection_sock.c linux-4.19.98/net/ipv6/inet6_connection_sock.c --- linux-4.19.87/net/ipv6/inet6_connection_sock.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv6/inet6_connection_sock.c 2020-01-23 07:21:39.000000000 +0000 @@ -150,7 +150,7 @@ if (IS_ERR(dst)) return NULL; - dst->ops->update_pmtu(dst, sk, NULL, mtu); + dst->ops->update_pmtu(dst, sk, NULL, mtu, true); dst = inet6_csk_route_socket(sk, &fl6); return IS_ERR(dst) ? NULL : dst; diff -Nru linux-4.19.87/net/ipv6/inet6_hashtables.c linux-4.19.98/net/ipv6/inet6_hashtables.c --- linux-4.19.87/net/ipv6/inet6_hashtables.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv6/inet6_hashtables.c 2020-01-23 07:21:39.000000000 +0000 @@ -171,6 +171,7 @@ bool exact_dif = inet6_exact_dif_match(net, skb); struct inet_listen_hashbucket *ilb2; struct sock *sk, *result = NULL; + struct hlist_nulls_node *node; int score, hiscore = 0; unsigned int hash2; u32 phash = 0; @@ -206,7 +207,7 @@ goto done; port_lookup: - sk_for_each(sk, &ilb->head) { + sk_nulls_for_each(sk, node, &ilb->nulls_head) { score = compute_score(sk, net, hnum, daddr, dif, sdif, exact_dif); if (score > hiscore) { if (sk->sk_reuseport) { diff -Nru linux-4.19.87/net/ipv6/ip6_gre.c linux-4.19.98/net/ipv6/ip6_gre.c --- linux-4.19.87/net/ipv6/ip6_gre.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv6/ip6_gre.c 2020-01-23 07:21:39.000000000 +0000 @@ -1060,7 +1060,7 @@ /* TooBig packet may have updated dst->dev's mtu */ if (!t->parms.collect_md && dst && dst_mtu(dst) > dst->dev->mtu) - dst->ops->update_pmtu(dst, NULL, skb, dst->dev->mtu); + dst->ops->update_pmtu(dst, NULL, skb, dst->dev->mtu, false); err = ip6_tnl_xmit(skb, dev, dsfield, &fl6, encap_limit, &mtu, NEXTHDR_GRE); @@ -2135,9 +2135,23 @@ struct __ip6_tnl_parm *p = &t->parms; __be16 o_flags = p->o_flags; - if ((p->erspan_ver == 1 || p->erspan_ver == 2) && - !p->collect_md) - o_flags |= TUNNEL_KEY; + if (p->erspan_ver == 1 || p->erspan_ver == 2) { + if (!p->collect_md) + o_flags |= TUNNEL_KEY; + + if (nla_put_u8(skb, IFLA_GRE_ERSPAN_VER, p->erspan_ver)) + goto nla_put_failure; + + if (p->erspan_ver == 1) { + if (nla_put_u32(skb, IFLA_GRE_ERSPAN_INDEX, p->index)) + goto nla_put_failure; + } else { + if (nla_put_u8(skb, IFLA_GRE_ERSPAN_DIR, p->dir)) + goto nla_put_failure; + if (nla_put_u16(skb, IFLA_GRE_ERSPAN_HWID, p->hwid)) + goto nla_put_failure; + } + } if (nla_put_u32(skb, IFLA_GRE_LINK, p->link) || nla_put_be16(skb, IFLA_GRE_IFLAGS, @@ -2152,8 +2166,7 @@ nla_put_u8(skb, IFLA_GRE_ENCAP_LIMIT, p->encap_limit) || nla_put_be32(skb, IFLA_GRE_FLOWINFO, p->flowinfo) || nla_put_u32(skb, IFLA_GRE_FLAGS, p->flags) || - nla_put_u32(skb, IFLA_GRE_FWMARK, p->fwmark) || - nla_put_u32(skb, IFLA_GRE_ERSPAN_INDEX, p->index)) + nla_put_u32(skb, IFLA_GRE_FWMARK, p->fwmark)) goto nla_put_failure; if (nla_put_u16(skb, IFLA_GRE_ENCAP_TYPE, @@ -2171,19 +2184,6 @@ goto nla_put_failure; } - if (nla_put_u8(skb, IFLA_GRE_ERSPAN_VER, p->erspan_ver)) - goto nla_put_failure; - - if (p->erspan_ver == 1) { - if (nla_put_u32(skb, IFLA_GRE_ERSPAN_INDEX, p->index)) - goto nla_put_failure; - } else if (p->erspan_ver == 2) { - if (nla_put_u8(skb, IFLA_GRE_ERSPAN_DIR, p->dir)) - goto nla_put_failure; - if (nla_put_u16(skb, IFLA_GRE_ERSPAN_HWID, p->hwid)) - goto nla_put_failure; - } - return 0; nla_put_failure: diff -Nru linux-4.19.87/net/ipv6/ip6_tunnel.c linux-4.19.98/net/ipv6/ip6_tunnel.c --- linux-4.19.87/net/ipv6/ip6_tunnel.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv6/ip6_tunnel.c 2020-01-23 07:21:39.000000000 +0000 @@ -645,7 +645,7 @@ if (rel_info > dst_mtu(skb_dst(skb2))) goto out; - skb_dst_update_pmtu(skb2, rel_info); + skb_dst_update_pmtu_no_confirm(skb2, rel_info); } icmp_send(skb2, rel_type, rel_code, htonl(rel_info)); @@ -1137,7 +1137,7 @@ mtu = max(mtu, skb->protocol == htons(ETH_P_IPV6) ? IPV6_MIN_MTU : IPV4_MIN_MTU); - skb_dst_update_pmtu(skb, mtu); + skb_dst_update_pmtu_no_confirm(skb, mtu); if (skb->len - t->tun_hlen - eth_hlen > mtu && !skb_is_gso(skb)) { *pmtu = mtu; err = -EMSGSIZE; diff -Nru linux-4.19.87/net/ipv6/ip6_vti.c linux-4.19.98/net/ipv6/ip6_vti.c --- linux-4.19.87/net/ipv6/ip6_vti.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv6/ip6_vti.c 2020-01-23 07:21:39.000000000 +0000 @@ -483,7 +483,7 @@ mtu = dst_mtu(dst); if (skb->len > mtu) { - skb_dst_update_pmtu(skb, mtu); + skb_dst_update_pmtu_no_confirm(skb, mtu); if (skb->protocol == htons(ETH_P_IPV6)) { if (mtu < IPV6_MIN_MTU) diff -Nru linux-4.19.87/net/ipv6/route.c linux-4.19.98/net/ipv6/route.c --- linux-4.19.87/net/ipv6/route.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv6/route.c 2020-01-23 07:21:39.000000000 +0000 @@ -99,7 +99,8 @@ static int ip6_pkt_prohibit_out(struct net *net, struct sock *sk, struct sk_buff *skb); static void ip6_link_failure(struct sk_buff *skb); static void ip6_rt_update_pmtu(struct dst_entry *dst, struct sock *sk, - struct sk_buff *skb, u32 mtu); + struct sk_buff *skb, u32 mtu, + bool confirm_neigh); static void rt6_do_redirect(struct dst_entry *dst, struct sock *sk, struct sk_buff *skb); static int rt6_score_route(struct fib6_info *rt, int oif, int strict); @@ -266,7 +267,8 @@ } static void ip6_rt_blackhole_update_pmtu(struct dst_entry *dst, struct sock *sk, - struct sk_buff *skb, u32 mtu) + struct sk_buff *skb, u32 mtu, + bool confirm_neigh) { } @@ -2352,7 +2354,8 @@ } static void __ip6_rt_update_pmtu(struct dst_entry *dst, const struct sock *sk, - const struct ipv6hdr *iph, u32 mtu) + const struct ipv6hdr *iph, u32 mtu, + bool confirm_neigh) { const struct in6_addr *daddr, *saddr; struct rt6_info *rt6 = (struct rt6_info *)dst; @@ -2370,7 +2373,10 @@ daddr = NULL; saddr = NULL; } - dst_confirm_neigh(dst, daddr); + + if (confirm_neigh) + dst_confirm_neigh(dst, daddr); + mtu = max_t(u32, mtu, IPV6_MIN_MTU); if (mtu >= dst_mtu(dst)) return; @@ -2401,9 +2407,11 @@ } static void ip6_rt_update_pmtu(struct dst_entry *dst, struct sock *sk, - struct sk_buff *skb, u32 mtu) + struct sk_buff *skb, u32 mtu, + bool confirm_neigh) { - __ip6_rt_update_pmtu(dst, sk, skb ? ipv6_hdr(skb) : NULL, mtu); + __ip6_rt_update_pmtu(dst, sk, skb ? ipv6_hdr(skb) : NULL, mtu, + confirm_neigh); } void ip6_update_pmtu(struct sk_buff *skb, struct net *net, __be32 mtu, @@ -2423,7 +2431,7 @@ dst = ip6_route_output(net, NULL, &fl6); if (!dst->error) - __ip6_rt_update_pmtu(dst, NULL, iph, ntohl(mtu)); + __ip6_rt_update_pmtu(dst, NULL, iph, ntohl(mtu), true); dst_release(dst); } EXPORT_SYMBOL_GPL(ip6_update_pmtu); diff -Nru linux-4.19.87/net/ipv6/sit.c linux-4.19.98/net/ipv6/sit.c --- linux-4.19.87/net/ipv6/sit.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv6/sit.c 2020-01-23 07:21:39.000000000 +0000 @@ -943,7 +943,7 @@ } if (tunnel->parms.iph.daddr) - skb_dst_update_pmtu(skb, mtu); + skb_dst_update_pmtu_no_confirm(skb, mtu); if (skb->len > mtu && !skb_is_gso(skb)) { icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu); diff -Nru linux-4.19.87/net/ipv6/tcp_ipv6.c linux-4.19.98/net/ipv6/tcp_ipv6.c --- linux-4.19.87/net/ipv6/tcp_ipv6.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv6/tcp_ipv6.c 2020-01-23 07:21:39.000000000 +0000 @@ -1839,7 +1839,8 @@ /* Because we don't lock the socket, * we might find a transient negative value. */ - rx_queue = max_t(int, tp->rcv_nxt - tp->copied_seq, 0); + rx_queue = max_t(int, READ_ONCE(tp->rcv_nxt) - + tp->copied_seq, 0); seq_printf(seq, "%4d: %08X%08X%08X%08X:%04X %08X%08X%08X%08X:%04X " diff -Nru linux-4.19.87/net/ipv6/xfrm6_policy.c linux-4.19.98/net/ipv6/xfrm6_policy.c --- linux-4.19.87/net/ipv6/xfrm6_policy.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/ipv6/xfrm6_policy.c 2020-01-23 07:21:39.000000000 +0000 @@ -221,12 +221,13 @@ } static void xfrm6_update_pmtu(struct dst_entry *dst, struct sock *sk, - struct sk_buff *skb, u32 mtu) + struct sk_buff *skb, u32 mtu, + bool confirm_neigh) { struct xfrm_dst *xdst = (struct xfrm_dst *)dst; struct dst_entry *path = xdst->route; - path->ops->update_pmtu(path, sk, skb, mtu); + path->ops->update_pmtu(path, sk, skb, mtu, confirm_neigh); } static void xfrm6_redirect(struct dst_entry *dst, struct sock *sk, diff -Nru linux-4.19.87/net/llc/llc_station.c linux-4.19.98/net/llc/llc_station.c --- linux-4.19.87/net/llc/llc_station.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/llc/llc_station.c 2020-01-23 07:21:39.000000000 +0000 @@ -32,7 +32,7 @@ return LLC_PDU_IS_CMD(pdu) && /* command PDU */ LLC_PDU_TYPE_IS_U(pdu) && /* U type PDU */ LLC_U_PDU_CMD(pdu) == LLC_1_PDU_CMD_XID && - !pdu->dsap ? 0 : 1; /* NULL DSAP value */ + !pdu->dsap; /* NULL DSAP value */ } static int llc_stat_ev_rx_null_dsap_test_c(struct sk_buff *skb) @@ -42,7 +42,7 @@ return LLC_PDU_IS_CMD(pdu) && /* command PDU */ LLC_PDU_TYPE_IS_U(pdu) && /* U type PDU */ LLC_U_PDU_CMD(pdu) == LLC_1_PDU_CMD_TEST && - !pdu->dsap ? 0 : 1; /* NULL DSAP */ + !pdu->dsap; /* NULL DSAP */ } static int llc_station_ac_send_xid_r(struct sk_buff *skb) diff -Nru linux-4.19.87/net/mac80211/cfg.c linux-4.19.98/net/mac80211/cfg.c --- linux-4.19.87/net/mac80211/cfg.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/mac80211/cfg.c 2020-01-23 07:21:39.000000000 +0000 @@ -1096,50 +1096,6 @@ return 0; } -/* Layer 2 Update frame (802.2 Type 1 LLC XID Update response) */ -struct iapp_layer2_update { - u8 da[ETH_ALEN]; /* broadcast */ - u8 sa[ETH_ALEN]; /* STA addr */ - __be16 len; /* 6 */ - u8 dsap; /* 0 */ - u8 ssap; /* 0 */ - u8 control; - u8 xid_info[3]; -} __packed; - -static void ieee80211_send_layer2_update(struct sta_info *sta) -{ - struct iapp_layer2_update *msg; - struct sk_buff *skb; - - /* Send Level 2 Update Frame to update forwarding tables in layer 2 - * bridge devices */ - - skb = dev_alloc_skb(sizeof(*msg)); - if (!skb) - return; - msg = skb_put(skb, sizeof(*msg)); - - /* 802.2 Type 1 Logical Link Control (LLC) Exchange Identifier (XID) - * Update response frame; IEEE Std 802.2-1998, 5.4.1.2.1 */ - - eth_broadcast_addr(msg->da); - memcpy(msg->sa, sta->sta.addr, ETH_ALEN); - msg->len = htons(6); - msg->dsap = 0; - msg->ssap = 0x01; /* NULL LSAP, CR Bit: Response */ - msg->control = 0xaf; /* XID response lsb.1111F101. - * F=0 (no poll command; unsolicited frame) */ - msg->xid_info[0] = 0x81; /* XID format identifier */ - msg->xid_info[1] = 1; /* LLC types/classes: Type 1 LLC */ - msg->xid_info[2] = 0; /* XID sender's receive window size (RW) */ - - skb->dev = sta->sdata->dev; - skb->protocol = eth_type_trans(skb, sta->sdata->dev); - memset(skb->cb, 0, sizeof(skb->cb)); - netif_rx_ni(skb); -} - static int sta_apply_auth_flags(struct ieee80211_local *local, struct sta_info *sta, u32 mask, u32 set) @@ -1454,7 +1410,6 @@ struct sta_info *sta; struct ieee80211_sub_if_data *sdata; int err; - int layer2_update; if (params->vlan) { sdata = IEEE80211_DEV_TO_SUB_IF(params->vlan); @@ -1498,18 +1453,12 @@ test_sta_flag(sta, WLAN_STA_ASSOC)) rate_control_rate_init(sta); - layer2_update = sdata->vif.type == NL80211_IFTYPE_AP_VLAN || - sdata->vif.type == NL80211_IFTYPE_AP; - err = sta_info_insert_rcu(sta); if (err) { rcu_read_unlock(); return err; } - if (layer2_update) - ieee80211_send_layer2_update(sta); - rcu_read_unlock(); return 0; @@ -1607,10 +1556,11 @@ sta->sdata = vlansdata; ieee80211_check_fast_xmit(sta); - if (test_sta_flag(sta, WLAN_STA_AUTHORIZED)) + if (test_sta_flag(sta, WLAN_STA_AUTHORIZED)) { ieee80211_vif_inc_num_mcast(sta->sdata); - - ieee80211_send_layer2_update(sta); + cfg80211_send_layer2_update(sta->sdata->dev, + sta->sta.addr); + } } err = sta_apply_parameters(local, sta, params); diff -Nru linux-4.19.87/net/mac80211/sta_info.c linux-4.19.98/net/mac80211/sta_info.c --- linux-4.19.87/net/mac80211/sta_info.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/mac80211/sta_info.c 2020-01-23 07:21:39.000000000 +0000 @@ -1906,6 +1906,10 @@ ieee80211_check_fast_xmit(sta); ieee80211_check_fast_rx(sta); } + if (sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN || + sta->sdata->vif.type == NL80211_IFTYPE_AP) + cfg80211_send_layer2_update(sta->sdata->dev, + sta->sta.addr); break; default: break; @@ -2356,7 +2360,8 @@ { struct ieee80211_sta_rx_stats *stats = sta_get_last_rx_stats(sta); - if (time_after(stats->last_rx, sta->status_stats.last_ack)) + if (!sta->status_stats.last_ack || + time_after(stats->last_rx, sta->status_stats.last_ack)) return stats->last_rx; return sta->status_stats.last_ack; } diff -Nru linux-4.19.87/net/mac80211/status.c linux-4.19.98/net/mac80211/status.c --- linux-4.19.87/net/mac80211/status.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/mac80211/status.c 2020-01-23 07:21:39.000000000 +0000 @@ -867,7 +867,8 @@ I802_DEBUG_INC(local->dot11FailedCount); } - if (ieee80211_is_nullfunc(fc) && ieee80211_has_pm(fc) && + if ((ieee80211_is_nullfunc(fc) || ieee80211_is_qos_nullfunc(fc)) && + ieee80211_has_pm(fc) && ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS) && !(info->flags & IEEE80211_TX_CTL_INJECTED) && local->ps_sdata && !(local->scanning)) { diff -Nru linux-4.19.87/net/netfilter/ipset/ip_set_bitmap_gen.h linux-4.19.98/net/netfilter/ipset/ip_set_bitmap_gen.h --- linux-4.19.87/net/netfilter/ipset/ip_set_bitmap_gen.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/netfilter/ipset/ip_set_bitmap_gen.h 2020-01-23 07:21:39.000000000 +0000 @@ -64,9 +64,9 @@ if (SET_WITH_TIMEOUT(set)) del_timer_sync(&map->gc); - ip_set_free(map->members); if (set->dsize && set->extensions & IPSET_EXT_DESTROY) mtype_ext_cleanup(set); + ip_set_free(map->members); ip_set_free(map); set->data = NULL; diff -Nru linux-4.19.87/net/netfilter/ipset/ip_set_core.c linux-4.19.98/net/netfilter/ipset/ip_set_core.c --- linux-4.19.87/net/netfilter/ipset/ip_set_core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/netfilter/ipset/ip_set_core.c 2020-01-23 07:21:39.000000000 +0000 @@ -1666,6 +1666,7 @@ struct ip_set *set; struct nlattr *tb[IPSET_ATTR_ADT_MAX + 1] = {}; int ret = 0; + u32 lineno; if (unlikely(protocol_failed(attr) || !attr[IPSET_ATTR_SETNAME] || @@ -1682,7 +1683,7 @@ return -IPSET_ERR_PROTOCOL; rcu_read_lock_bh(); - ret = set->variant->uadt(set, tb, IPSET_TEST, NULL, 0, 0); + ret = set->variant->uadt(set, tb, IPSET_TEST, &lineno, 0, 0); rcu_read_unlock_bh(); /* Userspace can't trigger element to be re-added */ if (ret == -EAGAIN) diff -Nru linux-4.19.87/net/netfilter/ipvs/ip_vs_xmit.c linux-4.19.98/net/netfilter/ipvs/ip_vs_xmit.c --- linux-4.19.87/net/netfilter/ipvs/ip_vs_xmit.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/netfilter/ipvs/ip_vs_xmit.c 2020-01-23 07:21:39.000000000 +0000 @@ -209,7 +209,7 @@ struct rtable *ort = skb_rtable(skb); if (!skb->dev && sk && sk_fullsock(sk)) - ort->dst.ops->update_pmtu(&ort->dst, sk, NULL, mtu); + ort->dst.ops->update_pmtu(&ort->dst, sk, NULL, mtu, true); } static inline bool ensure_mtu_is_adequate(struct netns_ipvs *ipvs, int skb_af, diff -Nru linux-4.19.87/net/netfilter/nf_conntrack_netlink.c linux-4.19.98/net/netfilter/nf_conntrack_netlink.c --- linux-4.19.87/net/netfilter/nf_conntrack_netlink.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/netfilter/nf_conntrack_netlink.c 2020-01-23 07:21:39.000000000 +0000 @@ -3576,6 +3576,9 @@ list_for_each_entry(net, net_exit_list, exit_list) ctnetlink_net_exit(net); + + /* wait for other cpus until they are done with ctnl_notifiers */ + synchronize_rcu(); } static struct pernet_operations ctnetlink_net_ops = { diff -Nru linux-4.19.87/net/netfilter/nf_conntrack_proto_dccp.c linux-4.19.98/net/netfilter/nf_conntrack_proto_dccp.c --- linux-4.19.87/net/netfilter/nf_conntrack_proto_dccp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/netfilter/nf_conntrack_proto_dccp.c 2020-01-23 07:21:39.000000000 +0000 @@ -687,6 +687,9 @@ unsigned int *timeouts = data; int i; + if (!timeouts) + timeouts = dn->dccp_timeout; + /* set default DCCP timeouts. */ for (i=0; idccp_timeout[i]; diff -Nru linux-4.19.87/net/netfilter/nf_conntrack_proto_sctp.c linux-4.19.98/net/netfilter/nf_conntrack_proto_sctp.c --- linux-4.19.87/net/netfilter/nf_conntrack_proto_sctp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/netfilter/nf_conntrack_proto_sctp.c 2020-01-23 07:21:39.000000000 +0000 @@ -603,6 +603,9 @@ struct nf_sctp_net *sn = sctp_pernet(net); int i; + if (!timeouts) + timeouts = sn->timeouts; + /* set default SCTP timeouts. */ for (i=0; itimeouts[i]; diff -Nru linux-4.19.87/net/netfilter/nf_nat_sip.c linux-4.19.98/net/netfilter/nf_nat_sip.c --- linux-4.19.87/net/netfilter/nf_nat_sip.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/netfilter/nf_nat_sip.c 2020-01-23 07:21:39.000000000 +0000 @@ -18,6 +18,7 @@ #include #include +#include #include #include #include @@ -316,6 +317,9 @@ static void nf_nat_sip_expected(struct nf_conn *ct, struct nf_conntrack_expect *exp) { + struct nf_conn_help *help = nfct_help(ct->master); + struct nf_conntrack_expect *pair_exp; + int range_set_for_snat = 0; struct nf_nat_range2 range; /* This must be a fresh one. */ @@ -327,15 +331,42 @@ range.min_addr = range.max_addr = exp->saved_addr; nf_nat_setup_info(ct, &range, NF_NAT_MANIP_DST); - /* Change src to where master sends to, but only if the connection - * actually came from the same source. */ - if (nf_inet_addr_cmp(&ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.u3, + /* Do media streams SRC manip according with the parameters + * found in the paired expectation. + */ + if (exp->class != SIP_EXPECT_SIGNALLING) { + spin_lock_bh(&nf_conntrack_expect_lock); + hlist_for_each_entry(pair_exp, &help->expectations, lnode) { + if (pair_exp->tuple.src.l3num == nf_ct_l3num(ct) && + pair_exp->tuple.dst.protonum == ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.dst.protonum && + nf_inet_addr_cmp(&ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.u3, &pair_exp->saved_addr) && + ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.u.all == pair_exp->saved_proto.all) { + range.flags = (NF_NAT_RANGE_MAP_IPS | NF_NAT_RANGE_PROTO_SPECIFIED); + range.min_proto.all = range.max_proto.all = pair_exp->tuple.dst.u.all; + range.min_addr = range.max_addr = pair_exp->tuple.dst.u3; + range_set_for_snat = 1; + break; + } + } + spin_unlock_bh(&nf_conntrack_expect_lock); + } + + /* When no paired expectation has been found, change src to + * where master sends to, but only if the connection actually came + * from the same source. + */ + if (!range_set_for_snat && + nf_inet_addr_cmp(&ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.u3, &ct->master->tuplehash[exp->dir].tuple.src.u3)) { range.flags = NF_NAT_RANGE_MAP_IPS; range.min_addr = range.max_addr = ct->master->tuplehash[!exp->dir].tuple.dst.u3; - nf_nat_setup_info(ct, &range, NF_NAT_MANIP_SRC); + range_set_for_snat = 1; } + + /* Perform SRC manip. */ + if (range_set_for_snat) + nf_nat_setup_info(ct, &range, NF_NAT_MANIP_SRC); } static unsigned int nf_nat_sip_expect(struct sk_buff *skb, unsigned int protoff, diff -Nru linux-4.19.87/net/netfilter/nf_queue.c linux-4.19.98/net/netfilter/nf_queue.c --- linux-4.19.87/net/netfilter/nf_queue.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/netfilter/nf_queue.c 2020-01-23 07:21:39.000000000 +0000 @@ -174,7 +174,7 @@ goto err; } - if (!skb_dst_force(skb) && state->hook != NF_INET_PRE_ROUTING) { + if (skb_dst(skb) && !skb_dst_force(skb)) { status = -ENETDOWN; goto err; } diff -Nru linux-4.19.87/net/netfilter/nf_tables_api.c linux-4.19.98/net/netfilter/nf_tables_api.c --- linux-4.19.87/net/netfilter/nf_tables_api.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/netfilter/nf_tables_api.c 2020-01-23 07:21:39.000000000 +0000 @@ -24,6 +24,8 @@ #include #include +#define NFT_MODULE_AUTOLOAD_LIMIT (MODULE_NAME_LEN - sizeof("nft-expr-255-")) + static LIST_HEAD(nf_tables_expressions); static LIST_HEAD(nf_tables_objects); static LIST_HEAD(nf_tables_flowtables); @@ -483,33 +485,34 @@ } /* - * Loading a module requires dropping mutex that guards the - * transaction. - * We first need to abort any pending transactions as once - * mutex is unlocked a different client could start a new - * transaction. It must not see any 'future generation' - * changes * as these changes will never happen. + * Loading a module requires dropping mutex that guards the transaction. + * A different client might race to start a new transaction meanwhile. Zap the + * list of pending transaction and then restore it once the mutex is grabbed + * again. Users of this function return EAGAIN which implicitly triggers the + * transaction abort path to clean up the list of pending transactions. */ #ifdef CONFIG_MODULES -static int __nf_tables_abort(struct net *net); - static void nft_request_module(struct net *net, const char *fmt, ...) { char module_name[MODULE_NAME_LEN]; + LIST_HEAD(commit_list); va_list args; int ret; - __nf_tables_abort(net); + list_splice_init(&net->nft.commit_list, &commit_list); va_start(args, fmt); ret = vsnprintf(module_name, MODULE_NAME_LEN, fmt, args); va_end(args); - if (WARN(ret >= MODULE_NAME_LEN, "truncated: '%s' (len %d)", module_name, ret)) + if (ret >= MODULE_NAME_LEN) return; mutex_unlock(&net->nft.commit_mutex); request_module("%s", module_name); mutex_lock(&net->nft.commit_mutex); + + WARN_ON_ONCE(!list_empty(&net->nft.commit_list)); + list_splice(&commit_list, &net->nft.commit_list); } #endif @@ -933,12 +936,18 @@ } list_for_each_entry_safe(flowtable, nft, &ctx->table->flowtables, list) { + if (!nft_is_active_next(ctx->net, flowtable)) + continue; + err = nft_delflowtable(ctx, flowtable); if (err < 0) goto out; } list_for_each_entry_safe(obj, ne, &ctx->table->objects, list) { + if (!nft_is_active_next(ctx->net, obj)) + continue; + err = nft_delobj(ctx, obj); if (err < 0) goto out; @@ -1129,7 +1138,8 @@ .len = NFT_CHAIN_MAXNAMELEN - 1 }, [NFTA_CHAIN_HOOK] = { .type = NLA_NESTED }, [NFTA_CHAIN_POLICY] = { .type = NLA_U32 }, - [NFTA_CHAIN_TYPE] = { .type = NLA_STRING }, + [NFTA_CHAIN_TYPE] = { .type = NLA_STRING, + .len = NFT_MODULE_AUTOLOAD_LIMIT }, [NFTA_CHAIN_COUNTERS] = { .type = NLA_NESTED }, }; @@ -2012,7 +2022,8 @@ } static const struct nla_policy nft_expr_policy[NFTA_EXPR_MAX + 1] = { - [NFTA_EXPR_NAME] = { .type = NLA_STRING }, + [NFTA_EXPR_NAME] = { .type = NLA_STRING, + .len = NFT_MODULE_AUTOLOAD_LIMIT }, [NFTA_EXPR_DATA] = { .type = NLA_NESTED }, }; @@ -2610,17 +2621,14 @@ if (chain->use == UINT_MAX) return -EOVERFLOW; - } - - if (nla[NFTA_RULE_POSITION]) { - if (!(nlh->nlmsg_flags & NLM_F_CREATE)) - return -EOPNOTSUPP; - pos_handle = be64_to_cpu(nla_get_be64(nla[NFTA_RULE_POSITION])); - old_rule = __nft_rule_lookup(chain, pos_handle); - if (IS_ERR(old_rule)) { - NL_SET_BAD_ATTR(extack, nla[NFTA_RULE_POSITION]); - return PTR_ERR(old_rule); + if (nla[NFTA_RULE_POSITION]) { + pos_handle = be64_to_cpu(nla_get_be64(nla[NFTA_RULE_POSITION])); + old_rule = __nft_rule_lookup(chain, pos_handle); + if (IS_ERR(old_rule)) { + NL_SET_BAD_ATTR(extack, nla[NFTA_RULE_POSITION]); + return PTR_ERR(old_rule); + } } } @@ -3799,7 +3807,8 @@ [NFTA_SET_ELEM_USERDATA] = { .type = NLA_BINARY, .len = NFT_USERDATA_MAXLEN }, [NFTA_SET_ELEM_EXPR] = { .type = NLA_NESTED }, - [NFTA_SET_ELEM_OBJREF] = { .type = NLA_STRING }, + [NFTA_SET_ELEM_OBJREF] = { .type = NLA_STRING, + .len = NFT_OBJ_MAXNAMELEN - 1 }, }; static const struct nla_policy nft_set_elem_list_policy[NFTA_SET_ELEM_LIST_MAX + 1] = { @@ -4120,8 +4129,10 @@ return err; err = -EINVAL; - if (desc.type != NFT_DATA_VALUE || desc.len != set->klen) + if (desc.type != NFT_DATA_VALUE || desc.len != set->klen) { + nft_data_release(&elem.key.val, desc.type); return err; + } priv = set->ops->get(ctx->net, set, &elem, flags); if (IS_ERR(priv)) @@ -4354,14 +4365,20 @@ if (nla[NFTA_SET_ELEM_DATA] == NULL && !(flags & NFT_SET_ELEM_INTERVAL_END)) return -EINVAL; - if (nla[NFTA_SET_ELEM_DATA] != NULL && - flags & NFT_SET_ELEM_INTERVAL_END) - return -EINVAL; } else { if (nla[NFTA_SET_ELEM_DATA] != NULL) return -EINVAL; } + if ((flags & NFT_SET_ELEM_INTERVAL_END) && + (nla[NFTA_SET_ELEM_DATA] || + nla[NFTA_SET_ELEM_OBJREF] || + nla[NFTA_SET_ELEM_TIMEOUT] || + nla[NFTA_SET_ELEM_EXPIRATION] || + nla[NFTA_SET_ELEM_USERDATA] || + nla[NFTA_SET_ELEM_EXPR])) + return -EINVAL; + timeout = 0; if (nla[NFTA_SET_ELEM_TIMEOUT] != NULL) { if (!(set->flags & NFT_SET_TIMEOUT)) @@ -5737,6 +5754,8 @@ goto nla_put_failure; nest = nla_nest_start(skb, NFTA_FLOWTABLE_HOOK); + if (!nest) + goto nla_put_failure; if (nla_put_be32(skb, NFTA_FLOWTABLE_HOOK_NUM, htonl(flowtable->hooknum)) || nla_put_be32(skb, NFTA_FLOWTABLE_HOOK_PRIORITY, htonl(flowtable->priority))) goto nla_put_failure; diff -Nru linux-4.19.87/net/netfilter/nft_bitwise.c linux-4.19.98/net/netfilter/nft_bitwise.c --- linux-4.19.87/net/netfilter/nft_bitwise.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/netfilter/nft_bitwise.c 2020-01-23 07:21:39.000000000 +0000 @@ -83,7 +83,7 @@ tb[NFTA_BITWISE_MASK]); if (err < 0) return err; - if (d1.len != priv->len) { + if (d1.type != NFT_DATA_VALUE || d1.len != priv->len) { err = -EINVAL; goto err1; } @@ -92,7 +92,7 @@ tb[NFTA_BITWISE_XOR]); if (err < 0) goto err1; - if (d2.len != priv->len) { + if (d2.type != NFT_DATA_VALUE || d2.len != priv->len) { err = -EINVAL; goto err2; } diff -Nru linux-4.19.87/net/netfilter/nft_cmp.c linux-4.19.98/net/netfilter/nft_cmp.c --- linux-4.19.87/net/netfilter/nft_cmp.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/netfilter/nft_cmp.c 2020-01-23 07:21:39.000000000 +0000 @@ -82,6 +82,12 @@ if (err < 0) return err; + if (desc.type != NFT_DATA_VALUE) { + err = -EINVAL; + nft_data_release(&priv->data, desc.type); + return err; + } + priv->sreg = nft_parse_register(tb[NFTA_CMP_SREG]); err = nft_validate_register_load(priv->sreg, desc.len); if (err < 0) diff -Nru linux-4.19.87/net/netfilter/nft_range.c linux-4.19.98/net/netfilter/nft_range.c --- linux-4.19.87/net/netfilter/nft_range.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/netfilter/nft_range.c 2020-01-23 07:21:39.000000000 +0000 @@ -70,11 +70,21 @@ if (err < 0) return err; + if (desc_from.type != NFT_DATA_VALUE) { + err = -EINVAL; + goto err1; + } + err = nft_data_init(NULL, &priv->data_to, sizeof(priv->data_to), &desc_to, tb[NFTA_RANGE_TO_DATA]); if (err < 0) goto err1; + if (desc_to.type != NFT_DATA_VALUE) { + err = -EINVAL; + goto err2; + } + if (desc_from.len != desc_to.len) { err = -EINVAL; goto err2; diff -Nru linux-4.19.87/net/netfilter/nft_set_rbtree.c linux-4.19.98/net/netfilter/nft_set_rbtree.c --- linux-4.19.87/net/netfilter/nft_set_rbtree.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/netfilter/nft_set_rbtree.c 2020-01-23 07:21:39.000000000 +0000 @@ -77,8 +77,13 @@ parent = rcu_dereference_raw(parent->rb_left); continue; } - if (nft_rbtree_interval_end(rbe)) - goto out; + if (nft_rbtree_interval_end(rbe)) { + if (nft_set_is_anonymous(set)) + return false; + parent = rcu_dereference_raw(parent->rb_left); + interval = NULL; + continue; + } *ext = &rbe->ext; return true; @@ -91,7 +96,7 @@ *ext = &interval->ext; return true; } -out: + return false; } @@ -139,8 +144,10 @@ } else if (d > 0) { parent = rcu_dereference_raw(parent->rb_right); } else { - if (!nft_set_elem_active(&rbe->ext, genmask)) + if (!nft_set_elem_active(&rbe->ext, genmask)) { parent = rcu_dereference_raw(parent->rb_left); + continue; + } if (!nft_set_ext_exists(&rbe->ext, NFT_SET_EXT_FLAGS) || (*nft_set_ext_flags(&rbe->ext) & NFT_SET_ELEM_INTERVAL_END) == @@ -148,7 +155,11 @@ *elem = rbe; return true; } - return false; + + if (nft_rbtree_interval_end(rbe)) + interval = NULL; + + parent = rcu_dereference_raw(parent->rb_left); } } diff -Nru linux-4.19.87/net/netfilter/nft_tproxy.c linux-4.19.98/net/netfilter/nft_tproxy.c --- linux-4.19.87/net/netfilter/nft_tproxy.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/netfilter/nft_tproxy.c 2020-01-23 07:21:39.000000000 +0000 @@ -50,7 +50,7 @@ taddr = nf_tproxy_laddr4(skb, taddr, iph->daddr); if (priv->sreg_port) - tport = regs->data[priv->sreg_port]; + tport = nft_reg_load16(®s->data[priv->sreg_port]); if (!tport) tport = hp->dest; @@ -117,7 +117,7 @@ taddr = *nf_tproxy_laddr6(skb, &taddr, &iph->daddr); if (priv->sreg_port) - tport = regs->data[priv->sreg_port]; + tport = nft_reg_load16(®s->data[priv->sreg_port]); if (!tport) tport = hp->dest; diff -Nru linux-4.19.87/net/netfilter/nft_tunnel.c linux-4.19.98/net/netfilter/nft_tunnel.c --- linux-4.19.87/net/netfilter/nft_tunnel.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/netfilter/nft_tunnel.c 2020-01-23 07:21:39.000000000 +0000 @@ -56,7 +56,7 @@ struct nft_tunnel *priv = nft_expr_priv(expr); u32 len; - if (!tb[NFTA_TUNNEL_KEY] && + if (!tb[NFTA_TUNNEL_KEY] || !tb[NFTA_TUNNEL_DREG]) return -EINVAL; diff -Nru linux-4.19.87/net/nfc/nci/uart.c linux-4.19.98/net/nfc/nci/uart.c --- linux-4.19.87/net/nfc/nci/uart.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/nfc/nci/uart.c 2020-01-23 07:21:39.000000000 +0000 @@ -348,7 +348,7 @@ nu->rx_packet_len = -1; nu->rx_skb = nci_skb_alloc(nu->ndev, NCI_MAX_PACKET_SIZE, - GFP_KERNEL); + GFP_ATOMIC); if (!nu->rx_skb) return -ENOMEM; } diff -Nru linux-4.19.87/net/openvswitch/conntrack.c linux-4.19.98/net/openvswitch/conntrack.c --- linux-4.19.87/net/openvswitch/conntrack.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/openvswitch/conntrack.c 2020-01-23 07:21:39.000000000 +0000 @@ -897,6 +897,17 @@ } err = ovs_ct_nat_execute(skb, ct, ctinfo, &info->range, maniptype); + if (err == NF_ACCEPT && + ct->status & IPS_SRC_NAT && ct->status & IPS_DST_NAT) { + if (maniptype == NF_NAT_MANIP_SRC) + maniptype = NF_NAT_MANIP_DST; + else + maniptype = NF_NAT_MANIP_SRC; + + err = ovs_ct_nat_execute(skb, ct, ctinfo, &info->range, + maniptype); + } + /* Mark NAT done if successful and update the flow key. */ if (err == NF_ACCEPT) ovs_nat_update_key(key, skb, maniptype); diff -Nru linux-4.19.87/net/openvswitch/datapath.c linux-4.19.98/net/openvswitch/datapath.c --- linux-4.19.87/net/openvswitch/datapath.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/openvswitch/datapath.c 2020-01-23 07:21:39.000000000 +0000 @@ -697,9 +697,13 @@ { size_t len = NLMSG_ALIGN(sizeof(struct ovs_header)); - /* OVS_FLOW_ATTR_UFID */ + /* OVS_FLOW_ATTR_UFID, or unmasked flow key as fallback + * see ovs_nla_put_identifier() + */ if (sfid && ovs_identifier_is_ufid(sfid)) len += nla_total_size(sfid->ufid_len); + else + len += nla_total_size(ovs_key_attr_size()); /* OVS_FLOW_ATTR_KEY */ if (!sfid || should_fill_key(sfid, ufid_flags)) @@ -875,7 +879,10 @@ retval = ovs_flow_cmd_fill_info(flow, dp_ifindex, skb, info->snd_portid, info->snd_seq, 0, cmd, ufid_flags); - BUG_ON(retval < 0); + if (WARN_ON_ONCE(retval < 0)) { + kfree_skb(skb); + skb = ERR_PTR(retval); + } return skb; } @@ -1338,7 +1345,10 @@ OVS_FLOW_CMD_DEL, ufid_flags); rcu_read_unlock(); - BUG_ON(err < 0); + if (WARN_ON_ONCE(err < 0)) { + kfree_skb(reply); + goto out_free; + } ovs_notify(&dp_flow_genl_family, reply, info); } else { @@ -1346,6 +1356,7 @@ } } +out_free: ovs_flow_free(flow, true); return 0; unlock: diff -Nru linux-4.19.87/net/packet/af_packet.c linux-4.19.98/net/packet/af_packet.c --- linux-4.19.87/net/packet/af_packet.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/packet/af_packet.c 2020-01-23 07:21:39.000000000 +0000 @@ -552,7 +552,8 @@ msec = 1; div = ecmd.base.speed / 1000; } - } + } else + return DEFAULT_PRB_RETIRE_TOV; mbits = (blk_size_in_bytes * 8) / (1024 * 1024); diff -Nru linux-4.19.87/net/psample/psample.c linux-4.19.98/net/psample/psample.c --- linux-4.19.87/net/psample/psample.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/psample/psample.c 2020-01-23 07:21:39.000000000 +0000 @@ -223,7 +223,7 @@ data_len = PSAMPLE_MAX_PACKET_SIZE - meta_len - NLA_HDRLEN - NLA_ALIGNTO; - nl_skb = genlmsg_new(meta_len + data_len, GFP_ATOMIC); + nl_skb = genlmsg_new(meta_len + nla_total_size(data_len), GFP_ATOMIC); if (unlikely(!nl_skb)) return; diff -Nru linux-4.19.87/net/qrtr/tun.c linux-4.19.98/net/qrtr/tun.c --- linux-4.19.87/net/qrtr/tun.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/qrtr/tun.c 2020-01-23 07:21:39.000000000 +0000 @@ -84,11 +84,14 @@ if (!kbuf) return -ENOMEM; - if (!copy_from_iter_full(kbuf, len, from)) + if (!copy_from_iter_full(kbuf, len, from)) { + kfree(kbuf); return -EFAULT; + } ret = qrtr_endpoint_post(&tun->ep, kbuf, len); + kfree(kbuf); return ret < 0 ? ret : len; } diff -Nru linux-4.19.87/net/rfkill/core.c linux-4.19.98/net/rfkill/core.c --- linux-4.19.87/net/rfkill/core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/rfkill/core.c 2020-01-23 07:21:39.000000000 +0000 @@ -1014,10 +1014,13 @@ int __must_check rfkill_register(struct rfkill *rfkill) { static unsigned long rfkill_no; - struct device *dev = &rfkill->dev; + struct device *dev; int error; - BUG_ON(!rfkill); + if (!rfkill) + return -EINVAL; + + dev = &rfkill->dev; mutex_lock(&rfkill_global_mutex); @@ -1328,10 +1331,12 @@ .llseek = no_llseek, }; +#define RFKILL_NAME "rfkill" + static struct miscdevice rfkill_miscdev = { - .name = "rfkill", .fops = &rfkill_fops, - .minor = MISC_DYNAMIC_MINOR, + .name = RFKILL_NAME, + .minor = RFKILL_MINOR, }; static int __init rfkill_init(void) @@ -1383,3 +1388,6 @@ class_unregister(&rfkill_class); } module_exit(rfkill_exit); + +MODULE_ALIAS_MISCDEV(RFKILL_MINOR); +MODULE_ALIAS("devname:" RFKILL_NAME); diff -Nru linux-4.19.87/net/rxrpc/peer_event.c linux-4.19.98/net/rxrpc/peer_event.c --- linux-4.19.87/net/rxrpc/peer_event.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/rxrpc/peer_event.c 2020-01-23 07:21:39.000000000 +0000 @@ -153,6 +153,9 @@ struct rxrpc_peer *peer; struct sk_buff *skb; + if (unlikely(!local)) + return; + _enter("%p{%d}", sk, local->debug_id); skb = sock_dequeue_err_skb(sk); diff -Nru linux-4.19.87/net/sched/sch_cake.c linux-4.19.98/net/sched/sch_cake.c --- linux-4.19.87/net/sched/sch_cake.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/sched/sch_cake.c 2020-01-23 07:21:39.000000000 +0000 @@ -1666,7 +1666,7 @@ if (skb_is_gso(skb) && q->rate_flags & CAKE_FLAG_SPLIT_GSO) { struct sk_buff *segs, *nskb; netdev_features_t features = netif_skb_features(skb); - unsigned int slen = 0; + unsigned int slen = 0, numsegs = 0; segs = skb_gso_segment(skb, features & ~NETIF_F_GSO_MASK); if (IS_ERR_OR_NULL(segs)) @@ -1682,6 +1682,7 @@ flow_queue_add(flow, segs); sch->q.qlen++; + numsegs++; slen += segs->len; q->buffer_used += segs->truesize; b->packets++; @@ -1695,7 +1696,7 @@ sch->qstats.backlog += slen; q->avg_window_bytes += slen; - qdisc_tree_reduce_backlog(sch, 1, len); + qdisc_tree_reduce_backlog(sch, 1-numsegs, len-slen); consume_skb(skb); } else { /* not splitting */ @@ -1757,7 +1758,7 @@ q->avg_window_begin)); u64 b = q->avg_window_bytes * (u64)NSEC_PER_SEC; - do_div(b, window_interval); + b = div64_u64(b, window_interval); q->avg_peak_bandwidth = cake_ewma(q->avg_peak_bandwidth, b, b > q->avg_peak_bandwidth ? 2 : 8); diff -Nru linux-4.19.87/net/sched/sch_fq.c linux-4.19.98/net/sched/sch_fq.c --- linux-4.19.87/net/sched/sch_fq.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/sched/sch_fq.c 2020-01-23 07:21:39.000000000 +0000 @@ -735,10 +735,12 @@ if (tb[TCA_FQ_QUANTUM]) { u32 quantum = nla_get_u32(tb[TCA_FQ_QUANTUM]); - if (quantum > 0) + if (quantum > 0 && quantum <= (1 << 20)) { q->quantum = quantum; - else + } else { + NL_SET_ERR_MSG_MOD(extack, "invalid quantum"); err = -EINVAL; + } } if (tb[TCA_FQ_INITIAL_QUANTUM]) diff -Nru linux-4.19.87/net/sched/sch_mq.c linux-4.19.98/net/sched/sch_mq.c --- linux-4.19.87/net/sched/sch_mq.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/sched/sch_mq.c 2020-01-23 07:21:39.000000000 +0000 @@ -158,6 +158,7 @@ __gnet_stats_copy_queue(&sch->qstats, qdisc->cpu_qstats, &qdisc->qstats, qlen); + sch->q.qlen += qlen; } else { sch->q.qlen += qdisc->q.qlen; sch->bstats.bytes += qdisc->bstats.bytes; @@ -242,7 +243,8 @@ struct netdev_queue *dev_queue = mq_queue_get(sch, cl); sch = dev_queue->qdisc_sleeping; - if (gnet_stats_copy_basic(&sch->running, d, NULL, &sch->bstats) < 0 || + if (gnet_stats_copy_basic(&sch->running, d, sch->cpu_bstats, + &sch->bstats) < 0 || gnet_stats_copy_queue(d, NULL, &sch->qstats, sch->q.qlen) < 0) return -1; return 0; diff -Nru linux-4.19.87/net/sched/sch_mqprio.c linux-4.19.98/net/sched/sch_mqprio.c --- linux-4.19.87/net/sched/sch_mqprio.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/sched/sch_mqprio.c 2020-01-23 07:21:39.000000000 +0000 @@ -413,6 +413,7 @@ __gnet_stats_copy_queue(&sch->qstats, qdisc->cpu_qstats, &qdisc->qstats, qlen); + sch->q.qlen += qlen; } else { sch->q.qlen += qdisc->q.qlen; sch->bstats.bytes += qdisc->bstats.bytes; @@ -435,7 +436,7 @@ opt.offset[tc] = dev->tc_to_txq[tc].offset; } - if (nla_put(skb, TCA_OPTIONS, NLA_ALIGN(sizeof(opt)), &opt)) + if (nla_put(skb, TCA_OPTIONS, sizeof(opt), &opt)) goto nla_put_failure; if ((priv->flags & TC_MQPRIO_F_MODE) && @@ -559,8 +560,8 @@ struct netdev_queue *dev_queue = mqprio_queue_get(sch, cl); sch = dev_queue->qdisc_sleeping; - if (gnet_stats_copy_basic(qdisc_root_sleeping_running(sch), - d, NULL, &sch->bstats) < 0 || + if (gnet_stats_copy_basic(qdisc_root_sleeping_running(sch), d, + sch->cpu_bstats, &sch->bstats) < 0 || gnet_stats_copy_queue(d, NULL, &sch->qstats, sch->q.qlen) < 0) return -1; diff -Nru linux-4.19.87/net/sched/sch_multiq.c linux-4.19.98/net/sched/sch_multiq.c --- linux-4.19.87/net/sched/sch_multiq.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/sched/sch_multiq.c 2020-01-23 07:21:39.000000000 +0000 @@ -343,7 +343,7 @@ cl_q = q->queues[cl - 1]; if (gnet_stats_copy_basic(qdisc_root_sleeping_running(sch), - d, NULL, &cl_q->bstats) < 0 || + d, cl_q->cpu_bstats, &cl_q->bstats) < 0 || gnet_stats_copy_queue(d, NULL, &cl_q->qstats, cl_q->q.qlen) < 0) return -1; diff -Nru linux-4.19.87/net/sched/sch_prio.c linux-4.19.98/net/sched/sch_prio.c --- linux-4.19.87/net/sched/sch_prio.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/sched/sch_prio.c 2020-01-23 07:21:39.000000000 +0000 @@ -314,8 +314,14 @@ bool any_qdisc_is_offloaded; int err; - if (new == NULL) - new = &noop_qdisc; + if (!new) { + new = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops, + TC_H_MAKE(sch->handle, arg), extack); + if (!new) + new = &noop_qdisc; + else + qdisc_hash_add(new, true); + } *old = qdisc_replace(sch, new, &q->queues[band]); @@ -396,7 +402,7 @@ cl_q = q->queues[cl - 1]; if (gnet_stats_copy_basic(qdisc_root_sleeping_running(sch), - d, NULL, &cl_q->bstats) < 0 || + d, cl_q->cpu_bstats, &cl_q->bstats) < 0 || gnet_stats_copy_queue(d, NULL, &cl_q->qstats, cl_q->q.qlen) < 0) return -1; diff -Nru linux-4.19.87/net/sctp/associola.c linux-4.19.98/net/sctp/associola.c --- linux-4.19.87/net/sctp/associola.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/sctp/associola.c 2020-01-23 07:21:39.000000000 +0000 @@ -80,6 +80,7 @@ /* Discarding const is appropriate here. */ asoc->ep = (struct sctp_endpoint *)ep; asoc->base.sk = (struct sock *)sk; + asoc->base.net = sock_net(sk); sctp_endpoint_hold(asoc->ep); sock_hold(asoc->base.sk); diff -Nru linux-4.19.87/net/sctp/chunk.c linux-4.19.98/net/sctp/chunk.c --- linux-4.19.87/net/sctp/chunk.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/sctp/chunk.c 2020-01-23 07:21:39.000000000 +0000 @@ -191,6 +191,12 @@ * the packet */ max_data = asoc->frag_point; + if (unlikely(!max_data)) { + max_data = sctp_min_frag_point(sctp_sk(asoc->base.sk), + sctp_datachk_len(&asoc->stream)); + pr_warn_ratelimited("%s: asoc:%p frag_point is zero, forcing max_data to default minimum (%Zu)", + __func__, asoc, max_data); + } /* If the the peer requested that we authenticate DATA chunks * we need to account for bundling of the AUTH chunks along with diff -Nru linux-4.19.87/net/sctp/endpointola.c linux-4.19.98/net/sctp/endpointola.c --- linux-4.19.87/net/sctp/endpointola.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/sctp/endpointola.c 2020-01-23 07:21:39.000000000 +0000 @@ -165,6 +165,7 @@ /* Remember who we are attached to. */ ep->base.sk = sk; + ep->base.net = sock_net(sk); sock_hold(ep->base.sk); return ep; diff -Nru linux-4.19.87/net/sctp/input.c linux-4.19.98/net/sctp/input.c --- linux-4.19.87/net/sctp/input.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/sctp/input.c 2020-01-23 07:21:39.000000000 +0000 @@ -815,7 +815,7 @@ if (!sctp_transport_hold(t)) return err; - if (!net_eq(sock_net(t->asoc->base.sk), x->net)) + if (!net_eq(t->asoc->base.net, x->net)) goto out; if (x->lport != htons(t->asoc->base.bind_addr.port)) goto out; @@ -830,7 +830,7 @@ { const struct sctp_transport *t = data; const union sctp_addr *paddr = &t->ipaddr; - const struct net *net = sock_net(t->asoc->base.sk); + const struct net *net = t->asoc->base.net; __be16 lport = htons(t->asoc->base.bind_addr.port); __u32 addr; diff -Nru linux-4.19.87/net/sctp/output.c linux-4.19.98/net/sctp/output.c --- linux-4.19.87/net/sctp/output.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/sctp/output.c 2020-01-23 07:21:39.000000000 +0000 @@ -399,25 +399,6 @@ return retval; } -static void sctp_packet_release_owner(struct sk_buff *skb) -{ - sk_free(skb->sk); -} - -static void sctp_packet_set_owner_w(struct sk_buff *skb, struct sock *sk) -{ - skb_orphan(skb); - skb->sk = sk; - skb->destructor = sctp_packet_release_owner; - - /* - * The data chunks have already been accounted for in sctp_sendmsg(), - * therefore only reserve a single byte to keep socket around until - * the packet has been transmitted. - */ - refcount_inc(&sk->sk_wmem_alloc); -} - static void sctp_packet_gso_append(struct sk_buff *head, struct sk_buff *skb) { if (SCTP_OUTPUT_CB(head)->last == head) @@ -429,6 +410,7 @@ head->truesize += skb->truesize; head->data_len += skb->len; head->len += skb->len; + refcount_add(skb->truesize, &head->sk->sk_wmem_alloc); __skb_header_release(skb); } @@ -604,7 +586,7 @@ if (!head) goto out; skb_reserve(head, packet->overhead + MAX_HEADER); - sctp_packet_set_owner_w(head, sk); + skb_set_owner_w(head, sk); /* set sctp header */ sh = skb_push(head, sizeof(struct sctphdr)); diff -Nru linux-4.19.87/net/sctp/protocol.c linux-4.19.98/net/sctp/protocol.c --- linux-4.19.87/net/sctp/protocol.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/sctp/protocol.c 2020-01-23 07:21:39.000000000 +0000 @@ -242,6 +242,7 @@ sa->sin_port = sh->dest; sa->sin_addr.s_addr = ip_hdr(skb)->daddr; } + memset(sa->sin_zero, 0, sizeof(sa->sin_zero)); } /* Initialize an sctp_addr from a socket. */ @@ -250,6 +251,7 @@ addr->v4.sin_family = AF_INET; addr->v4.sin_port = 0; addr->v4.sin_addr.s_addr = inet_sk(sk)->inet_rcv_saddr; + memset(addr->v4.sin_zero, 0, sizeof(addr->v4.sin_zero)); } /* Initialize sk->sk_rcv_saddr from sctp_addr. */ @@ -272,6 +274,7 @@ addr->v4.sin_family = AF_INET; addr->v4.sin_port = port; addr->v4.sin_addr.s_addr = param->v4.addr.s_addr; + memset(addr->v4.sin_zero, 0, sizeof(addr->v4.sin_zero)); } /* Initialize an address parameter from a sctp_addr and return the length @@ -296,6 +299,7 @@ saddr->v4.sin_family = AF_INET; saddr->v4.sin_port = port; saddr->v4.sin_addr.s_addr = fl4->saddr; + memset(saddr->v4.sin_zero, 0, sizeof(saddr->v4.sin_zero)); } /* Compare two addresses exactly. */ @@ -318,6 +322,7 @@ addr->v4.sin_family = AF_INET; addr->v4.sin_addr.s_addr = htonl(INADDR_ANY); addr->v4.sin_port = port; + memset(addr->v4.sin_zero, 0, sizeof(addr->v4.sin_zero)); } /* Is this a wildcard address? */ diff -Nru linux-4.19.87/net/sctp/sm_sideeffect.c linux-4.19.98/net/sctp/sm_sideeffect.c --- linux-4.19.87/net/sctp/sm_sideeffect.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/sctp/sm_sideeffect.c 2020-01-23 07:21:39.000000000 +0000 @@ -1373,8 +1373,10 @@ /* Generate an INIT ACK chunk. */ new_obj = sctp_make_init_ack(asoc, chunk, GFP_ATOMIC, 0); - if (!new_obj) - goto nomem; + if (!new_obj) { + error = -ENOMEM; + break; + } sctp_add_cmd_sf(commands, SCTP_CMD_REPLY, SCTP_CHUNK(new_obj)); @@ -1396,7 +1398,8 @@ if (!new_obj) { if (cmd->obj.chunk) sctp_chunk_free(cmd->obj.chunk); - goto nomem; + error = -ENOMEM; + break; } sctp_add_cmd_sf(commands, SCTP_CMD_REPLY, SCTP_CHUNK(new_obj)); @@ -1443,8 +1446,10 @@ /* Generate a SHUTDOWN chunk. */ new_obj = sctp_make_shutdown(asoc, chunk); - if (!new_obj) - goto nomem; + if (!new_obj) { + error = -ENOMEM; + break; + } sctp_add_cmd_sf(commands, SCTP_CMD_REPLY, SCTP_CHUNK(new_obj)); break; @@ -1780,11 +1785,17 @@ break; } - if (error) + if (error) { + cmd = sctp_next_cmd(commands); + while (cmd) { + if (cmd->verb == SCTP_CMD_REPLY) + sctp_chunk_free(cmd->obj.chunk); + cmd = sctp_next_cmd(commands); + } break; + } } -out: /* If this is in response to a received chunk, wait until * we are done with the packet to open the queue so that we don't * send multiple packets in response to a single request. @@ -1799,7 +1810,4 @@ sp->data_ready_signalled = 0; return error; -nomem: - error = -ENOMEM; - goto out; } diff -Nru linux-4.19.87/net/sctp/sm_statefuns.c linux-4.19.98/net/sctp/sm_statefuns.c --- linux-4.19.87/net/sctp/sm_statefuns.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/sctp/sm_statefuns.c 2020-01-23 07:21:39.000000000 +0000 @@ -2175,8 +2175,10 @@ /* Update socket peer label if first association. */ if (security_sctp_assoc_request((struct sctp_endpoint *)ep, - chunk->skb)) + chunk->skb)) { + sctp_association_free(new_asoc); return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands); + } /* Set temp so that it won't be added into hashtable */ new_asoc->temp = 1; diff -Nru linux-4.19.87/net/sctp/socket.c linux-4.19.98/net/sctp/socket.c --- linux-4.19.87/net/sctp/socket.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/sctp/socket.c 2020-01-23 07:21:39.000000000 +0000 @@ -3328,8 +3328,7 @@ __u16 datasize = asoc ? sctp_datachk_len(&asoc->stream) : sizeof(struct sctp_data_chunk); - min_len = sctp_mtu_payload(sp, SCTP_DEFAULT_MINSEGMENT, - datasize); + min_len = sctp_min_frag_point(sp, datasize); max_len = SCTP_MAX_CHUNK_LEN - datasize; if (val < min_len || val > max_len) diff -Nru linux-4.19.87/net/sctp/transport.c linux-4.19.98/net/sctp/transport.c --- linux-4.19.87/net/sctp/transport.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/sctp/transport.c 2020-01-23 07:21:39.000000000 +0000 @@ -207,7 +207,8 @@ /* When a data chunk is sent, reset the heartbeat interval. */ expires = jiffies + sctp_transport_timeout(transport); - if (time_before(transport->hb_timer.expires, expires) && + if ((time_before(transport->hb_timer.expires, expires) || + !timer_pending(&transport->hb_timer)) && !mod_timer(&transport->hb_timer, expires + prandom_u32_max(transport->rto))) sctp_transport_hold(transport); @@ -277,7 +278,7 @@ pf->af->from_sk(&addr, sk); pf->to_sk_daddr(&t->ipaddr, sk); - dst->ops->update_pmtu(dst, sk, NULL, pmtu); + dst->ops->update_pmtu(dst, sk, NULL, pmtu, true); pf->to_sk_daddr(&addr, sk); dst = sctp_transport_dst_check(t); diff -Nru linux-4.19.87/net/smc/smc_cdc.c linux-4.19.98/net/smc/smc_cdc.c --- linux-4.19.87/net/smc/smc_cdc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/smc/smc_cdc.c 2020-01-23 07:21:39.000000000 +0000 @@ -96,6 +96,7 @@ struct smc_wr_buf *wr_buf, struct smc_cdc_tx_pend *pend) { + union smc_host_cursor cfed; struct smc_link *link; int rc; @@ -105,12 +106,10 @@ conn->tx_cdc_seq++; conn->local_tx_ctrl.seqno = conn->tx_cdc_seq; - smc_host_msg_to_cdc((struct smc_cdc_msg *)wr_buf, - &conn->local_tx_ctrl, conn); + smc_host_msg_to_cdc((struct smc_cdc_msg *)wr_buf, conn, &cfed); rc = smc_wr_tx_send(link, (struct smc_wr_tx_pend_priv *)pend); if (!rc) - smc_curs_copy(&conn->rx_curs_confirmed, - &conn->local_tx_ctrl.cons, conn); + smc_curs_copy(&conn->rx_curs_confirmed, &cfed, conn); return rc; } diff -Nru linux-4.19.87/net/smc/smc_cdc.h linux-4.19.98/net/smc/smc_cdc.h --- linux-4.19.87/net/smc/smc_cdc.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/smc/smc_cdc.h 2020-01-23 07:21:39.000000000 +0000 @@ -135,7 +135,9 @@ #endif } -/* calculate cursor difference between old and new, where old <= new */ +/* calculate cursor difference between old and new, where old <= new and + * difference cannot exceed size + */ static inline int smc_curs_diff(unsigned int size, union smc_host_cursor *old, union smc_host_cursor *new) @@ -160,28 +162,51 @@ return smc_curs_diff(size, old, new); } +/* calculate cursor difference between old and new, where old <= new and + * difference may exceed size + */ +static inline int smc_curs_diff_large(unsigned int size, + union smc_host_cursor *old, + union smc_host_cursor *new) +{ + if (old->wrap < new->wrap) + return min_t(int, + (size - old->count) + new->count + + (new->wrap - old->wrap - 1) * size, + size); + + if (old->wrap > new->wrap) /* wrap has switched from 0xffff to 0x0000 */ + return min_t(int, + (size - old->count) + new->count + + (new->wrap + 0xffff - old->wrap) * size, + size); + + return max_t(int, 0, (new->count - old->count)); +} + static inline void smc_host_cursor_to_cdc(union smc_cdc_cursor *peer, union smc_host_cursor *local, + union smc_host_cursor *save, struct smc_connection *conn) { - union smc_host_cursor temp; - - smc_curs_copy(&temp, local, conn); - peer->count = htonl(temp.count); - peer->wrap = htons(temp.wrap); + smc_curs_copy(save, local, conn); + peer->count = htonl(save->count); + peer->wrap = htons(save->wrap); /* peer->reserved = htons(0); must be ensured by caller */ } static inline void smc_host_msg_to_cdc(struct smc_cdc_msg *peer, - struct smc_host_cdc_msg *local, - struct smc_connection *conn) + struct smc_connection *conn, + union smc_host_cursor *save) { + struct smc_host_cdc_msg *local = &conn->local_tx_ctrl; + peer->common.type = local->common.type; peer->len = local->len; peer->seqno = htons(local->seqno); peer->token = htonl(local->token); - smc_host_cursor_to_cdc(&peer->prod, &local->prod, conn); - smc_host_cursor_to_cdc(&peer->cons, &local->cons, conn); + smc_host_cursor_to_cdc(&peer->prod, &local->prod, save, conn); + smc_host_cursor_to_cdc(&peer->cons, &local->cons, save, conn); peer->prod_flags = local->prod_flags; peer->conn_state_flags = local->conn_state_flags; } diff -Nru linux-4.19.87/net/smc/smc_core.c linux-4.19.98/net/smc/smc_core.c --- linux-4.19.87/net/smc/smc_core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/smc/smc_core.c 2020-01-23 07:21:39.000000000 +0000 @@ -128,6 +128,8 @@ { struct smc_link_group *lgr = conn->lgr; + if (!lgr) + return; write_lock_bh(&lgr->conns_lock); if (conn->alert_token_local) { __smc_lgr_unregister_conn(conn); @@ -612,6 +614,8 @@ local_contact = SMC_REUSE_CONTACT; conn->lgr = lgr; smc_lgr_register_conn(conn); /* add smc conn to lgr */ + if (delayed_work_pending(&lgr->free_work)) + cancel_delayed_work(&lgr->free_work); write_unlock_bh(&lgr->conns_lock); break; } diff -Nru linux-4.19.87/net/smc/smc_tx.c linux-4.19.98/net/smc/smc_tx.c --- linux-4.19.87/net/smc/smc_tx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/smc/smc_tx.c 2020-01-23 07:21:39.000000000 +0000 @@ -163,12 +163,11 @@ conn->local_tx_ctrl.prod_flags.urg_data_pending = 1; if (!atomic_read(&conn->sndbuf_space) || conn->urg_tx_pend) { + if (send_done) + return send_done; rc = smc_tx_wait(smc, msg->msg_flags); - if (rc) { - if (send_done) - return send_done; + if (rc) goto out_err; - } continue; } @@ -487,25 +486,23 @@ struct smc_wr_buf *wr_buf; int rc; - spin_lock_bh(&conn->send_lock); rc = smc_cdc_get_free_slot(conn, &wr_buf, &pend); if (rc < 0) { if (rc == -EBUSY) { struct smc_sock *smc = container_of(conn, struct smc_sock, conn); - if (smc->sk.sk_err == ECONNABORTED) { - rc = sock_error(&smc->sk); - goto out_unlock; - } + if (smc->sk.sk_err == ECONNABORTED) + return sock_error(&smc->sk); rc = 0; if (conn->alert_token_local) /* connection healthy */ mod_delayed_work(system_wq, &conn->tx_work, SMC_TX_WORK_DELAY); } - goto out_unlock; + return rc; } + spin_lock_bh(&conn->send_lock); if (!conn->local_tx_ctrl.prod_flags.urg_data_present) { rc = smc_tx_rdma_writes(conn); if (rc) { @@ -596,7 +593,8 @@ if (to_confirm > conn->rmbe_update_limit) { smc_curs_copy(&prod, &conn->local_rx_ctrl.prod, conn); sender_free = conn->rmb_desc->len - - smc_curs_diff(conn->rmb_desc->len, &prod, &cfed); + smc_curs_diff_large(conn->rmb_desc->len, + &cfed, &prod); } if (conn->local_rx_ctrl.prod_flags.cons_curs_upd_req || diff -Nru linux-4.19.87/net/smc/smc_wr.c linux-4.19.98/net/smc/smc_wr.c --- linux-4.19.87/net/smc/smc_wr.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/smc/smc_wr.c 2020-01-23 07:21:39.000000000 +0000 @@ -215,12 +215,14 @@ pend = container_of(wr_pend_priv, struct smc_wr_tx_pend, priv); if (pend->idx < link->wr_tx_cnt) { + u32 idx = pend->idx; + /* clear the full struct smc_wr_tx_pend including .priv */ memset(&link->wr_tx_pends[pend->idx], 0, sizeof(link->wr_tx_pends[pend->idx])); memset(&link->wr_tx_bufs[pend->idx], 0, sizeof(link->wr_tx_bufs[pend->idx])); - test_and_clear_bit(pend->idx, link->wr_tx_mask); + test_and_clear_bit(idx, link->wr_tx_mask); return 1; } diff -Nru linux-4.19.87/net/socket.c linux-4.19.98/net/socket.c --- linux-4.19.87/net/socket.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/socket.c 2020-01-23 07:21:39.000000000 +0000 @@ -867,7 +867,7 @@ .msg_iocb = iocb}; ssize_t res; - if (file->f_flags & O_NONBLOCK) + if (file->f_flags & O_NONBLOCK || (iocb->ki_flags & IOCB_NOWAIT)) msg.msg_flags = MSG_DONTWAIT; if (iocb->ki_pos != 0) @@ -892,7 +892,7 @@ if (iocb->ki_pos != 0) return -ESPIPE; - if (file->f_flags & O_NONBLOCK) + if (file->f_flags & O_NONBLOCK || (iocb->ki_flags & IOCB_NOWAIT)) msg.msg_flags = MSG_DONTWAIT; if (sock->type == SOCK_SEQPACKET) @@ -3240,6 +3240,7 @@ case SIOCSARP: case SIOCGARP: case SIOCDARP: + case SIOCOUTQNSD: case SIOCATMARK: return sock_do_ioctl(net, sock, cmd, arg); } diff -Nru linux-4.19.87/net/sunrpc/cache.c linux-4.19.98/net/sunrpc/cache.c --- linux-4.19.87/net/sunrpc/cache.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/sunrpc/cache.c 2020-01-23 07:21:39.000000000 +0000 @@ -54,9 +54,6 @@ h->last_refresh = now; } -static inline int cache_is_valid(struct cache_head *h); -static void cache_fresh_locked(struct cache_head *head, time_t expiry, - struct cache_detail *detail); static void cache_fresh_unlocked(struct cache_head *head, struct cache_detail *detail); @@ -101,9 +98,6 @@ if (cache_is_expired(detail, tmp)) { hlist_del_init(&tmp->cache_list); detail->entries --; - if (cache_is_valid(tmp) == -EAGAIN) - set_bit(CACHE_NEGATIVE, &tmp->flags); - cache_fresh_locked(tmp, 0, detail); freeme = tmp; break; } diff -Nru linux-4.19.87/net/sunrpc/xprtrdma/rpc_rdma.c linux-4.19.98/net/sunrpc/xprtrdma/rpc_rdma.c --- linux-4.19.87/net/sunrpc/xprtrdma/rpc_rdma.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/sunrpc/xprtrdma/rpc_rdma.c 2020-01-23 07:21:39.000000000 +0000 @@ -1360,6 +1360,10 @@ spin_unlock(&xprt->recv_lock); req = rpcr_to_rdmar(rqst); + if (req->rl_reply) { + trace_xprtrdma_leaked_rep(rqst, req->rl_reply); + rpcrdma_recv_buffer_put(req->rl_reply); + } req->rl_reply = rep; rep->rr_rqst = rqst; clear_bit(RPCRDMA_REQ_F_PENDING, &req->rl_flags); diff -Nru linux-4.19.87/net/sunrpc/xprtrdma/verbs.c linux-4.19.98/net/sunrpc/xprtrdma/verbs.c --- linux-4.19.87/net/sunrpc/xprtrdma/verbs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/sunrpc/xprtrdma/verbs.c 2020-01-23 07:21:39.000000000 +0000 @@ -248,6 +248,7 @@ ia->ri_device->name, rpcrdma_addrstr(xprt), rpcrdma_portstr(xprt)); #endif + init_completion(&ia->ri_remove_done); set_bit(RPCRDMA_IAF_REMOVING, &ia->ri_flags); ep->rep_connected = -ENODEV; xprt_force_disconnect(&xprt->rx_xprt); @@ -306,7 +307,6 @@ trace_xprtrdma_conn_start(xprt); init_completion(&ia->ri_done); - init_completion(&ia->ri_remove_done); id = rdma_create_id(xprt->rx_xprt.xprt_net, rpcrdma_conn_upcall, xprt, RDMA_PS_TCP, IB_QPT_RC); diff -Nru linux-4.19.87/net/tipc/core.c linux-4.19.98/net/tipc/core.c --- linux-4.19.87/net/tipc/core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/tipc/core.c 2020-01-23 07:21:39.000000000 +0000 @@ -120,14 +120,6 @@ sysctl_tipc_rmem[1] = RCVBUF_DEF; sysctl_tipc_rmem[2] = RCVBUF_MAX; - err = tipc_netlink_start(); - if (err) - goto out_netlink; - - err = tipc_netlink_compat_start(); - if (err) - goto out_netlink_compat; - err = tipc_register_sysctl(); if (err) goto out_sysctl; @@ -148,8 +140,21 @@ if (err) goto out_bearer; + err = tipc_netlink_start(); + if (err) + goto out_netlink; + + err = tipc_netlink_compat_start(); + if (err) + goto out_netlink_compat; + pr_info("Started in single node mode\n"); return 0; + +out_netlink_compat: + tipc_netlink_stop(); +out_netlink: + tipc_bearer_cleanup(); out_bearer: unregister_pernet_device(&tipc_topsrv_net_ops); out_pernet_topsrv: @@ -159,22 +164,18 @@ out_pernet: tipc_unregister_sysctl(); out_sysctl: - tipc_netlink_compat_stop(); -out_netlink_compat: - tipc_netlink_stop(); -out_netlink: pr_err("Unable to start in single node mode\n"); return err; } static void __exit tipc_exit(void) { + tipc_netlink_compat_stop(); + tipc_netlink_stop(); tipc_bearer_cleanup(); unregister_pernet_device(&tipc_topsrv_net_ops); tipc_socket_stop(); unregister_pernet_device(&tipc_net_ops); - tipc_netlink_stop(); - tipc_netlink_compat_stop(); tipc_unregister_sysctl(); pr_info("Deactivated\n"); diff -Nru linux-4.19.87/net/tipc/link.c linux-4.19.98/net/tipc/link.c --- linux-4.19.87/net/tipc/link.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/tipc/link.c 2020-01-23 07:21:39.000000000 +0000 @@ -1114,7 +1114,7 @@ default: pr_warn("Dropping received illegal msg type\n"); kfree_skb(skb); - return false; + return true; }; } diff -Nru linux-4.19.87/net/tipc/netlink_compat.c linux-4.19.98/net/tipc/netlink_compat.c --- linux-4.19.87/net/tipc/netlink_compat.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/tipc/netlink_compat.c 2020-01-23 07:21:39.000000000 +0000 @@ -548,7 +548,7 @@ if (len <= 0) return -EINVAL; - len = min_t(int, len, TIPC_MAX_BEARER_NAME); + len = min_t(int, len, TIPC_MAX_LINK_NAME); if (!string_is_valid(name, len)) return -EINVAL; @@ -830,7 +830,7 @@ if (len <= 0) return -EINVAL; - len = min_t(int, len, TIPC_MAX_BEARER_NAME); + len = min_t(int, len, TIPC_MAX_LINK_NAME); if (!string_is_valid(name, len)) return -EINVAL; @@ -983,6 +983,10 @@ hdr = genlmsg_put(args, 0, 0, &tipc_genl_family, NLM_F_MULTI, TIPC_NL_PUBL_GET); + if (!hdr) { + kfree_skb(args); + return -EMSGSIZE; + } nest = nla_nest_start(args, TIPC_NLA_SOCK); if (!nest) { @@ -1030,8 +1034,11 @@ u32 node; struct nlattr *con[TIPC_NLA_CON_MAX + 1]; - nla_parse_nested(con, TIPC_NLA_CON_MAX, - sock[TIPC_NLA_SOCK_CON], NULL, NULL); + err = nla_parse_nested(con, TIPC_NLA_CON_MAX, + sock[TIPC_NLA_SOCK_CON], NULL, NULL); + + if (err) + return err; node = nla_get_u32(con[TIPC_NLA_CON_NODE]); tipc_tlv_sprintf(msg->rep, " connected to <%u.%u.%u:%u>", diff -Nru linux-4.19.87/net/unix/af_unix.c linux-4.19.98/net/unix/af_unix.c --- linux-4.19.87/net/unix/af_unix.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/unix/af_unix.c 2020-01-23 07:21:39.000000000 +0000 @@ -649,6 +649,9 @@ static __poll_t unix_dgram_poll(struct file *, struct socket *, poll_table *); static int unix_ioctl(struct socket *, unsigned int, unsigned long); +#ifdef CONFIG_COMPAT +static int unix_compat_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg); +#endif static int unix_shutdown(struct socket *, int); static int unix_stream_sendmsg(struct socket *, struct msghdr *, size_t); static int unix_stream_recvmsg(struct socket *, struct msghdr *, size_t, int); @@ -690,6 +693,9 @@ .getname = unix_getname, .poll = unix_poll, .ioctl = unix_ioctl, +#ifdef CONFIG_COMPAT + .compat_ioctl = unix_compat_ioctl, +#endif .listen = unix_listen, .shutdown = unix_shutdown, .setsockopt = sock_no_setsockopt, @@ -713,6 +719,9 @@ .getname = unix_getname, .poll = unix_dgram_poll, .ioctl = unix_ioctl, +#ifdef CONFIG_COMPAT + .compat_ioctl = unix_compat_ioctl, +#endif .listen = sock_no_listen, .shutdown = unix_shutdown, .setsockopt = sock_no_setsockopt, @@ -735,6 +744,9 @@ .getname = unix_getname, .poll = unix_dgram_poll, .ioctl = unix_ioctl, +#ifdef CONFIG_COMPAT + .compat_ioctl = unix_compat_ioctl, +#endif .listen = unix_listen, .shutdown = unix_shutdown, .setsockopt = sock_no_setsockopt, @@ -2646,6 +2658,13 @@ return err; } +#ifdef CONFIG_COMPAT +static int unix_compat_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) +{ + return unix_ioctl(sock, cmd, (unsigned long)compat_ptr(arg)); +} +#endif + static __poll_t unix_poll(struct file *file, struct socket *sock, poll_table *wait) { struct sock *sk = sock->sk; diff -Nru linux-4.19.87/net/vmw_vsock/af_vsock.c linux-4.19.98/net/vmw_vsock/af_vsock.c --- linux-4.19.87/net/vmw_vsock/af_vsock.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/vmw_vsock/af_vsock.c 2020-01-23 07:21:39.000000000 +0000 @@ -107,6 +107,7 @@ #include #include #include +#include #include #include #include @@ -480,9 +481,13 @@ static int __vsock_bind_stream(struct vsock_sock *vsk, struct sockaddr_vm *addr) { - static u32 port = LAST_RESERVED_PORT + 1; + static u32 port = 0; struct sockaddr_vm new_addr; + if (!port) + port = LAST_RESERVED_PORT + 1 + + prandom_u32_max(U32_MAX - LAST_RESERVED_PORT); + vsock_addr_init(&new_addr, addr->svm_cid, addr->svm_port); if (addr->svm_port == VMADDR_PORT_ANY) { diff -Nru linux-4.19.87/net/wireless/nl80211.c linux-4.19.98/net/wireless/nl80211.c --- linux-4.19.87/net/wireless/nl80211.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/wireless/nl80211.c 2020-01-23 07:21:39.000000000 +0000 @@ -10305,6 +10305,7 @@ if (err) return err; + cfg80211_sinfo_release_content(&sinfo); if (sinfo.filled & BIT_ULL(NL80211_STA_INFO_BEACON_SIGNAL_AVG)) wdev->cqm_config->last_rssi_event_value = (s8) sinfo.rx_beacon_signal_avg; diff -Nru linux-4.19.87/net/wireless/rdev-ops.h linux-4.19.98/net/wireless/rdev-ops.h --- linux-4.19.87/net/wireless/rdev-ops.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/wireless/rdev-ops.h 2020-01-23 07:21:39.000000000 +0000 @@ -537,6 +537,10 @@ rdev_set_wiphy_params(struct cfg80211_registered_device *rdev, u32 changed) { int ret; + + if (!rdev->ops->set_wiphy_params) + return -EOPNOTSUPP; + trace_rdev_set_wiphy_params(&rdev->wiphy, changed); ret = rdev->ops->set_wiphy_params(&rdev->wiphy, changed); trace_rdev_return_int(&rdev->wiphy, ret); diff -Nru linux-4.19.87/net/wireless/sme.c linux-4.19.98/net/wireless/sme.c --- linux-4.19.87/net/wireless/sme.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/wireless/sme.c 2020-01-23 07:21:39.000000000 +0000 @@ -1281,14 +1281,14 @@ if (wdev->conn_owner_nlportid) { switch (wdev->iftype) { case NL80211_IFTYPE_ADHOC: - cfg80211_leave_ibss(rdev, wdev->netdev, false); + __cfg80211_leave_ibss(rdev, wdev->netdev, false); break; case NL80211_IFTYPE_AP: case NL80211_IFTYPE_P2P_GO: - cfg80211_stop_ap(rdev, wdev->netdev, false); + __cfg80211_stop_ap(rdev, wdev->netdev, false); break; case NL80211_IFTYPE_MESH_POINT: - cfg80211_leave_mesh(rdev, wdev->netdev); + __cfg80211_leave_mesh(rdev, wdev->netdev); break; case NL80211_IFTYPE_STATION: case NL80211_IFTYPE_P2P_CLIENT: diff -Nru linux-4.19.87/net/wireless/util.c linux-4.19.98/net/wireless/util.c --- linux-4.19.87/net/wireless/util.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/wireless/util.c 2020-01-23 07:21:39.000000000 +0000 @@ -537,7 +537,7 @@ struct skb_shared_info *sh = skb_shinfo(skb); int page_offset; - page_ref_inc(page); + get_page(page); page_offset = ptr - page_address(page); skb_add_rx_frag(skb, sh->nr_frags, page, page_offset, len, size); } @@ -1919,3 +1919,48 @@ return false; } EXPORT_SYMBOL(cfg80211_iftype_allowed); + +/* Layer 2 Update frame (802.2 Type 1 LLC XID Update response) */ +struct iapp_layer2_update { + u8 da[ETH_ALEN]; /* broadcast */ + u8 sa[ETH_ALEN]; /* STA addr */ + __be16 len; /* 6 */ + u8 dsap; /* 0 */ + u8 ssap; /* 0 */ + u8 control; + u8 xid_info[3]; +} __packed; + +void cfg80211_send_layer2_update(struct net_device *dev, const u8 *addr) +{ + struct iapp_layer2_update *msg; + struct sk_buff *skb; + + /* Send Level 2 Update Frame to update forwarding tables in layer 2 + * bridge devices */ + + skb = dev_alloc_skb(sizeof(*msg)); + if (!skb) + return; + msg = skb_put(skb, sizeof(*msg)); + + /* 802.2 Type 1 Logical Link Control (LLC) Exchange Identifier (XID) + * Update response frame; IEEE Std 802.2-1998, 5.4.1.2.1 */ + + eth_broadcast_addr(msg->da); + ether_addr_copy(msg->sa, addr); + msg->len = htons(6); + msg->dsap = 0; + msg->ssap = 0x01; /* NULL LSAP, CR Bit: Response */ + msg->control = 0xaf; /* XID response lsb.1111F101. + * F=0 (no poll command; unsolicited frame) */ + msg->xid_info[0] = 0x81; /* XID format identifier */ + msg->xid_info[1] = 1; /* LLC types/classes: Type 1 LLC */ + msg->xid_info[2] = 0; /* XID sender's receive window size (RW) */ + + skb->dev = dev; + skb->protocol = eth_type_trans(skb, dev); + memset(skb->cb, 0, sizeof(skb->cb)); + netif_rx_ni(skb); +} +EXPORT_SYMBOL(cfg80211_send_layer2_update); diff -Nru linux-4.19.87/net/x25/af_x25.c linux-4.19.98/net/x25/af_x25.c --- linux-4.19.87/net/x25/af_x25.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/x25/af_x25.c 2020-01-23 07:21:39.000000000 +0000 @@ -100,7 +100,7 @@ } len = *skb->data; - needed = 1 + (len >> 4) + (len & 0x0f); + needed = 1 + ((len >> 4) + (len & 0x0f) + 1) / 2; if (!pskb_may_pull(skb, needed)) { /* packet is too short to hold the addresses it claims @@ -288,7 +288,7 @@ sk_for_each(s, &x25_list) if ((!strcmp(addr->x25_addr, x25_sk(s)->source_addr.x25_addr) || - !strcmp(addr->x25_addr, + !strcmp(x25_sk(s)->source_addr.x25_addr, null_x25_address.x25_addr)) && s->sk_state == TCP_LISTEN) { /* @@ -685,11 +685,15 @@ goto out; } - len = strlen(addr->sx25_addr.x25_addr); - for (i = 0; i < len; i++) { - if (!isdigit(addr->sx25_addr.x25_addr[i])) { - rc = -EINVAL; - goto out; + /* check for the null_x25_address */ + if (strcmp(addr->sx25_addr.x25_addr, null_x25_address.x25_addr)) { + + len = strlen(addr->sx25_addr.x25_addr); + for (i = 0; i < len; i++) { + if (!isdigit(addr->sx25_addr.x25_addr[i])) { + rc = -EINVAL; + goto out; + } } } diff -Nru linux-4.19.87/net/xfrm/xfrm_input.c linux-4.19.98/net/xfrm/xfrm_input.c --- linux-4.19.87/net/xfrm/xfrm_input.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/xfrm/xfrm_input.c 2020-01-23 07:21:39.000000000 +0000 @@ -246,6 +246,9 @@ else XFRM_INC_STATS(net, LINUX_MIB_XFRMINSTATEINVALID); + + if (encap_type == -1) + dev_put(skb->dev); goto drop; } diff -Nru linux-4.19.87/net/xfrm/xfrm_interface.c linux-4.19.98/net/xfrm/xfrm_interface.c --- linux-4.19.87/net/xfrm/xfrm_interface.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/xfrm/xfrm_interface.c 2020-01-23 07:21:39.000000000 +0000 @@ -133,7 +133,7 @@ free_percpu(dev->tstats); } -static int xfrmi_create2(struct net_device *dev) +static int xfrmi_create(struct net_device *dev) { struct xfrm_if *xi = netdev_priv(dev); struct net *net = dev_net(dev); @@ -156,54 +156,7 @@ return err; } -static struct xfrm_if *xfrmi_create(struct net *net, struct xfrm_if_parms *p) -{ - struct net_device *dev; - struct xfrm_if *xi; - char name[IFNAMSIZ]; - int err; - - if (p->name[0]) { - strlcpy(name, p->name, IFNAMSIZ); - } else { - err = -EINVAL; - goto failed; - } - - dev = alloc_netdev(sizeof(*xi), name, NET_NAME_UNKNOWN, xfrmi_dev_setup); - if (!dev) { - err = -EAGAIN; - goto failed; - } - - dev_net_set(dev, net); - - xi = netdev_priv(dev); - xi->p = *p; - xi->net = net; - xi->dev = dev; - xi->phydev = dev_get_by_index(net, p->link); - if (!xi->phydev) { - err = -ENODEV; - goto failed_free; - } - - err = xfrmi_create2(dev); - if (err < 0) - goto failed_dev_put; - - return xi; - -failed_dev_put: - dev_put(xi->phydev); -failed_free: - free_netdev(dev); -failed: - return ERR_PTR(err); -} - -static struct xfrm_if *xfrmi_locate(struct net *net, struct xfrm_if_parms *p, - int create) +static struct xfrm_if *xfrmi_locate(struct net *net, struct xfrm_if_parms *p) { struct xfrm_if __rcu **xip; struct xfrm_if *xi; @@ -211,17 +164,11 @@ for (xip = &xfrmn->xfrmi[0]; (xi = rtnl_dereference(*xip)) != NULL; - xip = &xi->next) { - if (xi->p.if_id == p->if_id) { - if (create) - return ERR_PTR(-EEXIST); - + xip = &xi->next) + if (xi->p.if_id == p->if_id) return xi; - } - } - if (!create) - return ERR_PTR(-ENODEV); - return xfrmi_create(net, p); + + return NULL; } static void xfrmi_dev_uninit(struct net_device *dev) @@ -230,7 +177,6 @@ struct xfrmi_net *xfrmn = net_generic(xi->net, xfrmi_net_id); xfrmi_unlink(xfrmn, xi); - dev_put(xi->phydev); dev_put(dev); } @@ -417,7 +363,7 @@ goto tx_err; } - fl.flowi_oif = xi->phydev->ifindex; + fl.flowi_oif = xi->p.link; ret = xfrmi_xmit2(skb, dev, &fl); if (ret < 0) @@ -558,7 +504,7 @@ static int xfrmi_update(struct xfrm_if *xi, struct xfrm_if_parms *p) { - struct net *net = dev_net(xi->dev); + struct net *net = xi->net; struct xfrmi_net *xfrmn = net_generic(net, xfrmi_net_id); int err; @@ -606,7 +552,7 @@ { struct xfrm_if *xi = netdev_priv(dev); - return xi->phydev->ifindex; + return xi->p.link; } @@ -632,12 +578,14 @@ dev->needs_free_netdev = true; dev->priv_destructor = xfrmi_dev_free; netif_keep_dst(dev); + + eth_broadcast_addr(dev->broadcast); } static int xfrmi_dev_init(struct net_device *dev) { struct xfrm_if *xi = netdev_priv(dev); - struct net_device *phydev = xi->phydev; + struct net_device *phydev = __dev_get_by_index(xi->net, xi->p.link); int err; dev->tstats = netdev_alloc_pcpu_stats(struct pcpu_sw_netstats); @@ -652,13 +600,19 @@ dev->features |= NETIF_F_LLTX; - dev->needed_headroom = phydev->needed_headroom; - dev->needed_tailroom = phydev->needed_tailroom; - - if (is_zero_ether_addr(dev->dev_addr)) - eth_hw_addr_inherit(dev, phydev); - if (is_zero_ether_addr(dev->broadcast)) - memcpy(dev->broadcast, phydev->broadcast, dev->addr_len); + if (phydev) { + dev->needed_headroom = phydev->needed_headroom; + dev->needed_tailroom = phydev->needed_tailroom; + + if (is_zero_ether_addr(dev->dev_addr)) + eth_hw_addr_inherit(dev, phydev); + if (is_zero_ether_addr(dev->broadcast)) + memcpy(dev->broadcast, phydev->broadcast, + dev->addr_len); + } else { + eth_hw_addr_random(dev); + eth_broadcast_addr(dev->broadcast); + } return 0; } @@ -689,21 +643,28 @@ struct netlink_ext_ack *extack) { struct net *net = dev_net(dev); - struct xfrm_if_parms *p; + struct xfrm_if_parms p; struct xfrm_if *xi; + int err; - xi = netdev_priv(dev); - p = &xi->p; - - xfrmi_netlink_parms(data, p); + xfrmi_netlink_parms(data, &p); if (!tb[IFLA_IFNAME]) return -EINVAL; - nla_strlcpy(p->name, tb[IFLA_IFNAME], IFNAMSIZ); + nla_strlcpy(p.name, tb[IFLA_IFNAME], IFNAMSIZ); - xi = xfrmi_locate(net, p, 1); - return PTR_ERR_OR_ZERO(xi); + xi = xfrmi_locate(net, &p); + if (xi) + return -EEXIST; + + xi = netdev_priv(dev); + xi->p = p; + xi->net = net; + xi->dev = dev; + + err = xfrmi_create(dev); + return err; } static void xfrmi_dellink(struct net_device *dev, struct list_head *head) @@ -716,20 +677,19 @@ struct netlink_ext_ack *extack) { struct xfrm_if *xi = netdev_priv(dev); - struct net *net = dev_net(dev); - - xfrmi_netlink_parms(data, &xi->p); + struct net *net = xi->net; + struct xfrm_if_parms p; - xi = xfrmi_locate(net, &xi->p, 0); - - if (IS_ERR_OR_NULL(xi)) { + xfrmi_netlink_parms(data, &p); + xi = xfrmi_locate(net, &p); + if (!xi) { xi = netdev_priv(dev); } else { if (xi->dev != dev) return -EEXIST; } - return xfrmi_update(xi, &xi->p); + return xfrmi_update(xi, &p); } static size_t xfrmi_get_size(const struct net_device *dev) @@ -760,7 +720,7 @@ { struct xfrm_if *xi = netdev_priv(dev); - return dev_net(xi->phydev); + return xi->net; } static const struct nla_policy xfrmi_policy[IFLA_XFRM_MAX + 1] = { diff -Nru linux-4.19.87/net/xfrm/xfrm_state.c linux-4.19.98/net/xfrm/xfrm_state.c --- linux-4.19.87/net/xfrm/xfrm_state.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/net/xfrm/xfrm_state.c 2020-01-23 07:21:39.000000000 +0000 @@ -456,6 +456,8 @@ x->type->destructor(x); xfrm_put_type(x->type); } + if (x->xfrag.page) + put_page(x->xfrag.page); xfrm_dev_state_free(x); security_xfrm_state_free(x); xfrm_state_free(x); diff -Nru linux-4.19.87/samples/bpf/Makefile linux-4.19.98/samples/bpf/Makefile --- linux-4.19.87/samples/bpf/Makefile 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/samples/bpf/Makefile 2020-01-23 07:21:39.000000000 +0000 @@ -172,6 +172,7 @@ KBUILD_HOSTCFLAGS += -I$(srctree)/tools/testing/selftests/bpf/ KBUILD_HOSTCFLAGS += -I$(srctree)/tools/lib/ -I$(srctree)/tools/include KBUILD_HOSTCFLAGS += -I$(srctree)/tools/perf +KBUILD_HOSTCFLAGS += -DHAVE_ATTR_TEST=0 HOSTCFLAGS_bpf_load.o += -I$(objtree)/usr/include -Wno-unused-variable HOSTCFLAGS_trace_helpers.o += -I$(srctree)/tools/lib/bpf/ diff -Nru linux-4.19.87/samples/bpf/syscall_tp_kern.c linux-4.19.98/samples/bpf/syscall_tp_kern.c --- linux-4.19.87/samples/bpf/syscall_tp_kern.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/samples/bpf/syscall_tp_kern.c 2020-01-23 07:21:39.000000000 +0000 @@ -50,13 +50,27 @@ SEC("tracepoint/syscalls/sys_enter_open") int trace_enter_open(struct syscalls_enter_open_args *ctx) { - count((void *)&enter_open_map); + count(&enter_open_map); + return 0; +} + +SEC("tracepoint/syscalls/sys_enter_openat") +int trace_enter_open_at(struct syscalls_enter_open_args *ctx) +{ + count(&enter_open_map); return 0; } SEC("tracepoint/syscalls/sys_exit_open") int trace_enter_exit(struct syscalls_exit_open_args *ctx) { - count((void *)&exit_open_map); + count(&exit_open_map); + return 0; +} + +SEC("tracepoint/syscalls/sys_exit_openat") +int trace_enter_exit_at(struct syscalls_exit_open_args *ctx) +{ + count(&exit_open_map); return 0; } diff -Nru linux-4.19.87/samples/bpf/trace_event_user.c linux-4.19.98/samples/bpf/trace_event_user.c --- linux-4.19.87/samples/bpf/trace_event_user.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/samples/bpf/trace_event_user.c 2020-01-23 07:21:39.000000000 +0000 @@ -35,9 +35,9 @@ return; sym = ksym_search(addr); printf("%s;", sym->name); - if (!strcmp(sym->name, "sys_read")) + if (!strstr(sym->name, "sys_read")) sys_read_seen = true; - else if (!strcmp(sym->name, "sys_write")) + else if (!strstr(sym->name, "sys_write")) sys_write_seen = true; } diff -Nru linux-4.19.87/samples/pktgen/functions.sh linux-4.19.98/samples/pktgen/functions.sh --- linux-4.19.87/samples/pktgen/functions.sh 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/samples/pktgen/functions.sh 2020-01-23 07:21:39.000000000 +0000 @@ -5,6 +5,8 @@ # Author: Jesper Dangaaard Brouer # License: GPL +set -o errexit + ## -- General shell logging cmds -- function err() { local exitcode=$1 @@ -58,6 +60,7 @@ function proc_cmd() { local result local proc_file=$1 + local status=0 # after shift, the remaining args are contained in $@ shift local proc_ctrl=${PROC_DIR}/$proc_file @@ -73,13 +76,13 @@ echo "cmd: $@ > $proc_ctrl" fi # Quoting of "$@" is important for space expansion - echo "$@" > "$proc_ctrl" - local status=$? + echo "$@" > "$proc_ctrl" || status=$? - result=$(grep "Result: OK:" $proc_ctrl) - # Due to pgctrl, cannot use exit code $? from grep - if [[ "$result" == "" ]]; then - grep "Result:" $proc_ctrl >&2 + if [[ "$proc_file" != "pgctrl" ]]; then + result=$(grep "Result: OK:" $proc_ctrl) || true + if [[ "$result" == "" ]]; then + grep "Result:" $proc_ctrl >&2 + fi fi if (( $status != 0 )); then err 5 "Write error($status) occurred cmd: \"$@ > $proc_ctrl\"" @@ -105,6 +108,8 @@ fi } +[[ $EUID -eq 0 ]] && trap 'pg_ctrl "reset"' EXIT + ## -- General shell tricks -- function root_check_run_with_sudo() { diff -Nru linux-4.19.87/samples/vfio-mdev/mtty.c linux-4.19.98/samples/vfio-mdev/mtty.c --- linux-4.19.87/samples/vfio-mdev/mtty.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/samples/vfio-mdev/mtty.c 2020-01-23 07:21:39.000000000 +0000 @@ -171,7 +171,7 @@ return NULL; } -void dump_buffer(char *buf, uint32_t count) +void dump_buffer(u8 *buf, uint32_t count) { #if defined(DEBUG) int i; @@ -250,7 +250,7 @@ } static void handle_pci_cfg_write(struct mdev_state *mdev_state, u16 offset, - char *buf, u32 count) + u8 *buf, u32 count) { u32 cfg_addr, bar_mask, bar_index = 0; @@ -304,7 +304,7 @@ } static void handle_bar_write(unsigned int index, struct mdev_state *mdev_state, - u16 offset, char *buf, u32 count) + u16 offset, u8 *buf, u32 count) { u8 data = *buf; @@ -475,7 +475,7 @@ } static void handle_bar_read(unsigned int index, struct mdev_state *mdev_state, - u16 offset, char *buf, u32 count) + u16 offset, u8 *buf, u32 count) { /* Handle read requests by guest */ switch (offset) { @@ -650,7 +650,7 @@ } } -static ssize_t mdev_access(struct mdev_device *mdev, char *buf, size_t count, +static ssize_t mdev_access(struct mdev_device *mdev, u8 *buf, size_t count, loff_t pos, bool is_write) { struct mdev_state *mdev_state; @@ -698,7 +698,7 @@ #if defined(DEBUG_REGS) pr_info("%s: BAR%d WR @0x%llx %s val:0x%02x dlab:%d\n", __func__, index, offset, wr_reg[offset], - (u8)*buf, mdev_state->s[index].dlab); + *buf, mdev_state->s[index].dlab); #endif handle_bar_write(index, mdev_state, offset, buf, count); } else { @@ -708,7 +708,7 @@ #if defined(DEBUG_REGS) pr_info("%s: BAR%d RD @0x%llx %s val:0x%02x dlab:%d\n", __func__, index, offset, rd_reg[offset], - (u8)*buf, mdev_state->s[index].dlab); + *buf, mdev_state->s[index].dlab); #endif } break; @@ -827,7 +827,7 @@ if (count >= 4 && !(*ppos % 4)) { u32 val; - ret = mdev_access(mdev, (char *)&val, sizeof(val), + ret = mdev_access(mdev, (u8 *)&val, sizeof(val), *ppos, false); if (ret <= 0) goto read_err; @@ -839,7 +839,7 @@ } else if (count >= 2 && !(*ppos % 2)) { u16 val; - ret = mdev_access(mdev, (char *)&val, sizeof(val), + ret = mdev_access(mdev, (u8 *)&val, sizeof(val), *ppos, false); if (ret <= 0) goto read_err; @@ -851,7 +851,7 @@ } else { u8 val; - ret = mdev_access(mdev, (char *)&val, sizeof(val), + ret = mdev_access(mdev, (u8 *)&val, sizeof(val), *ppos, false); if (ret <= 0) goto read_err; @@ -889,7 +889,7 @@ if (copy_from_user(&val, buf, sizeof(val))) goto write_err; - ret = mdev_access(mdev, (char *)&val, sizeof(val), + ret = mdev_access(mdev, (u8 *)&val, sizeof(val), *ppos, true); if (ret <= 0) goto write_err; @@ -901,7 +901,7 @@ if (copy_from_user(&val, buf, sizeof(val))) goto write_err; - ret = mdev_access(mdev, (char *)&val, sizeof(val), + ret = mdev_access(mdev, (u8 *)&val, sizeof(val), *ppos, true); if (ret <= 0) goto write_err; @@ -913,7 +913,7 @@ if (copy_from_user(&val, buf, sizeof(val))) goto write_err; - ret = mdev_access(mdev, (char *)&val, sizeof(val), + ret = mdev_access(mdev, (u8 *)&val, sizeof(val), *ppos, true); if (ret <= 0) goto write_err; diff -Nru linux-4.19.87/scripts/Makefile.lib linux-4.19.98/scripts/Makefile.lib --- linux-4.19.87/scripts/Makefile.lib 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/Makefile.lib 2020-01-23 07:21:39.000000000 +0000 @@ -252,6 +252,7 @@ -Wno-alias_paths \ -Wno-graph_child_address \ -Wno-graph_port \ + -Wno-simple_bus_reg \ -Wno-unique_unit_address \ -Wno-pci_device_reg endif diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/am335x-pdu001.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/am335x-pdu001.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/am335x-pdu001.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/am335x-pdu001.dts 2020-01-23 07:21:39.000000000 +0000 @@ -577,7 +577,7 @@ bus-width = <4>; pinctrl-names = "default"; pinctrl-0 = <&mmc2_pins>; - cd-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>; + cd-gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>; }; &sham { diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/am437x-gp-evm.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/am437x-gp-evm.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/am437x-gp-evm.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/am437x-gp-evm.dts 2020-01-23 07:21:39.000000000 +0000 @@ -83,7 +83,7 @@ }; lcd0: display { - compatible = "osddisplays,osd057T0559-34ts", "panel-dpi"; + compatible = "osddisplays,osd070t1718-19ts", "panel-dpi"; label = "lcd"; backlight = <&lcd_bl>; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/am43x-epos-evm.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/am43x-epos-evm.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/am43x-epos-evm.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/am43x-epos-evm.dts 2020-01-23 07:21:39.000000000 +0000 @@ -45,7 +45,7 @@ }; lcd0: display { - compatible = "osddisplays,osd057T0559-34ts", "panel-dpi"; + compatible = "osddisplays,osd070t1718-19ts", "panel-dpi"; label = "lcd"; backlight = <&lcd_bl>; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/am571x-idk.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/am571x-idk.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/am571x-idk.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/am571x-idk.dts 2020-01-23 07:21:39.000000000 +0000 @@ -90,7 +90,7 @@ &pcie1_rc { status = "okay"; - gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>; + gpios = <&gpio5 18 GPIO_ACTIVE_HIGH>; }; &pcie1_ep { diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/arm-realview-pb1176.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/arm-realview-pb1176.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/arm-realview-pb1176.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/arm-realview-pb1176.dts 2020-01-23 07:21:39.000000000 +0000 @@ -45,7 +45,7 @@ }; /* The voltage to the MMC card is hardwired at 3.3V */ - vmmc: fixedregulator@0 { + vmmc: regulator-vmmc { compatible = "regulator-fixed"; regulator-name = "vmmc"; regulator-min-microvolt = <3300000>; @@ -53,7 +53,7 @@ regulator-boot-on; }; - veth: fixedregulator@0 { + veth: regulator-veth { compatible = "regulator-fixed"; regulator-name = "veth"; regulator-min-microvolt = <3300000>; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/arm-realview-pb11mp.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/arm-realview-pb11mp.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/arm-realview-pb11mp.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/arm-realview-pb11mp.dts 2020-01-23 07:21:39.000000000 +0000 @@ -145,7 +145,7 @@ }; /* The voltage to the MMC card is hardwired at 3.3V */ - vmmc: fixedregulator@0 { + vmmc: regulator-vmmc { compatible = "regulator-fixed"; regulator-name = "vmmc"; regulator-min-microvolt = <3300000>; @@ -153,7 +153,7 @@ regulator-boot-on; }; - veth: fixedregulator@0 { + veth: regulator-veth { compatible = "regulator-fixed"; regulator-name = "veth"; regulator-min-microvolt = <3300000>; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/arm-realview-pbx.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/arm-realview-pbx.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/arm-realview-pbx.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/arm-realview-pbx.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -44,7 +44,7 @@ }; /* The voltage to the MMC card is hardwired at 3.3V */ - vmmc: fixedregulator@0 { + vmmc: regulator-vmmc { compatible = "regulator-fixed"; regulator-name = "vmmc"; regulator-min-microvolt = <3300000>; @@ -52,7 +52,7 @@ regulator-boot-on; }; - veth: fixedregulator@0 { + veth: regulator-veth { compatible = "regulator-fixed"; regulator-name = "veth"; regulator-min-microvolt = <3300000>; @@ -567,4 +567,3 @@ }; }; }; - diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/bcm-cygnus.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/bcm-cygnus.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/bcm-cygnus.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/bcm-cygnus.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -169,8 +169,8 @@ mdio: mdio@18002000 { compatible = "brcm,iproc-mdio"; reg = <0x18002000 0x8>; - #size-cells = <1>; - #address-cells = <0>; + #size-cells = <0>; + #address-cells = <1>; status = "disabled"; gphy0: ethernet-phy@0 { diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/bcm283x.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/bcm283x.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/bcm283x.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/bcm283x.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -39,7 +39,7 @@ trips { cpu-crit { - temperature = <80000>; + temperature = <90000>; hysteresis = <0>; type = "critical"; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/bcm5301x.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/bcm5301x.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/bcm5301x.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/bcm5301x.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -350,8 +350,8 @@ mdio: mdio@18003000 { compatible = "brcm,iproc-mdio"; reg = <0x18003000 0x8>; - #size-cells = <1>; - #address-cells = <0>; + #size-cells = <0>; + #address-cells = <1>; }; mdio-bus-mux { diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/exynos3250.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/exynos3250.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/exynos3250.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/exynos3250.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -360,7 +360,7 @@ }; hsotg: hsotg@12480000 { - compatible = "snps,dwc2"; + compatible = "samsung,s3c6400-hsotg", "snps,dwc2"; reg = <0x12480000 0x20000>; interrupts = ; clocks = <&cmu CLK_USBOTG>; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/exynos5422-odroid-core.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/exynos5422-odroid-core.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/exynos5422-odroid-core.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/exynos5422-odroid-core.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -224,7 +224,7 @@ ldo13_reg: LDO13 { regulator-name = "vddq_mmc2"; - regulator-min-microvolt = <2800000>; + regulator-min-microvolt = <1800000>; regulator-max-microvolt = <2800000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/gemini-sq201.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/gemini-sq201.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/gemini-sq201.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/gemini-sq201.dts 2020-01-23 07:21:39.000000000 +0000 @@ -20,7 +20,7 @@ }; chosen { - bootargs = "console=ttyS0,115200n8"; + bootargs = "console=ttyS0,115200n8 root=/dev/mtdblock2 rw rootfstype=squashfs,jffs2 rootwait"; stdout-path = &uart0; }; @@ -138,37 +138,10 @@ /* 16MB of flash */ reg = <0x30000000 0x01000000>; - partition@0 { - label = "RedBoot"; - reg = <0x00000000 0x00120000>; - read-only; - }; - partition@120000 { - label = "Kernel"; - reg = <0x00120000 0x00200000>; - }; - partition@320000 { - label = "Ramdisk"; - reg = <0x00320000 0x00600000>; - }; - partition@920000 { - label = "Application"; - reg = <0x00920000 0x00600000>; - }; - partition@f20000 { - label = "VCTL"; - reg = <0x00f20000 0x00020000>; - read-only; - }; - partition@f40000 { - label = "CurConf"; - reg = <0x00f40000 0x000a0000>; - read-only; - }; - partition@fe0000 { - label = "FIS directory"; - reg = <0x00fe0000 0x00020000>; - read-only; + partitions { + compatible = "redboot-fis"; + /* Eraseblock at 0xfe0000 */ + fis-index-block = <0x1fc>; }; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx1-ads.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx1-ads.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx1-ads.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx1-ads.dts 2020-01-23 07:21:39.000000000 +0000 @@ -21,6 +21,7 @@ }; memory@8000000 { + device_type = "memory"; reg = <0x08000000 0x04000000>; }; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx1-apf9328.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx1-apf9328.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx1-apf9328.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx1-apf9328.dts 2020-01-23 07:21:39.000000000 +0000 @@ -21,6 +21,7 @@ }; memory@8000000 { + device_type = "memory"; reg = <0x08000000 0x00800000>; }; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx1.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx1.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx1.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx1.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -15,10 +15,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { gpio0 = &gpio1; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx23-evk.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx23-evk.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx23-evk.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx23-evk.dts 2020-01-23 07:21:39.000000000 +0000 @@ -10,6 +10,7 @@ compatible = "fsl,imx23-evk", "fsl,imx23"; memory@40000000 { + device_type = "memory"; reg = <0x40000000 0x08000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx23-olinuxino.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx23-olinuxino.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx23-olinuxino.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx23-olinuxino.dts 2020-01-23 07:21:39.000000000 +0000 @@ -20,6 +20,7 @@ compatible = "olimex,imx23-olinuxino", "fsl,imx23"; memory@40000000 { + device_type = "memory"; reg = <0x40000000 0x04000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx23-sansa.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx23-sansa.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx23-sansa.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx23-sansa.dts 2020-01-23 07:21:39.000000000 +0000 @@ -50,6 +50,7 @@ compatible = "sandisk,sansa_fuze_plus", "fsl,imx23"; memory@40000000 { + device_type = "memory"; reg = <0x40000000 0x04000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx23-stmp378x_devb.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx23-stmp378x_devb.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx23-stmp378x_devb.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx23-stmp378x_devb.dts 2020-01-23 07:21:39.000000000 +0000 @@ -17,6 +17,7 @@ compatible = "fsl,stmp378x-devb", "fsl,imx23"; memory@40000000 { + device_type = "memory"; reg = <0x40000000 0x04000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx23-xfi3.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx23-xfi3.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx23-xfi3.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx23-xfi3.dts 2020-01-23 07:21:39.000000000 +0000 @@ -49,6 +49,7 @@ compatible = "creative,x-fi3", "fsl,imx23"; memory@40000000 { + device_type = "memory"; reg = <0x40000000 0x04000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx23.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx23.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx23.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx23.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -13,10 +13,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { gpio0 = &gpio0; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx25-eukrea-cpuimx25.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx25-eukrea-cpuimx25.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx25-eukrea-cpuimx25.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx25-eukrea-cpuimx25.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -18,6 +18,7 @@ compatible = "eukrea,cpuimx25", "fsl,imx25"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x4000000>; /* 64M */ }; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx25-karo-tx25.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx25-karo-tx25.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx25-karo-tx25.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx25-karo-tx25.dts 2020-01-23 07:21:39.000000000 +0000 @@ -37,6 +37,7 @@ }; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x02000000 0x90000000 0x02000000>; }; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx25-pdk.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx25-pdk.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx25-pdk.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx25-pdk.dts 2020-01-23 07:21:39.000000000 +0000 @@ -12,6 +12,7 @@ compatible = "fsl,imx25-pdk", "fsl,imx25"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x4000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx25.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx25.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx25.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx25.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -12,10 +12,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { ethernet0 = &fec; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx27-apf27.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx27-apf27.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx27-apf27.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx27-apf27.dts 2020-01-23 07:21:39.000000000 +0000 @@ -20,6 +20,7 @@ compatible = "armadeus,imx27-apf27", "fsl,imx27"; memory@a0000000 { + device_type = "memory"; reg = <0xa0000000 0x04000000>; }; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx27-eukrea-cpuimx27.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx27-eukrea-cpuimx27.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx27-eukrea-cpuimx27.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx27-eukrea-cpuimx27.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -17,6 +17,7 @@ compatible = "eukrea,cpuimx27", "fsl,imx27"; memory@a0000000 { + device_type = "memory"; reg = <0xa0000000 0x04000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx27-pdk.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx27-pdk.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx27-pdk.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx27-pdk.dts 2020-01-23 07:21:39.000000000 +0000 @@ -10,6 +10,7 @@ compatible = "fsl,imx27-pdk", "fsl,imx27"; memory@a0000000 { + device_type = "memory"; reg = <0xa0000000 0x08000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx27-phytec-phycard-s-som.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx27-phytec-phycard-s-som.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx27-phytec-phycard-s-som.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx27-phytec-phycard-s-som.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -18,6 +18,7 @@ compatible = "phytec,imx27-pca100", "fsl,imx27"; memory@a0000000 { + device_type = "memory"; reg = <0xa0000000 0x08000000>; /* 128MB */ }; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx27-phytec-phycore-som.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx27-phytec-phycore-som.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx27-phytec-phycore-som.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx27-phytec-phycore-som.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -17,6 +17,7 @@ compatible = "phytec,imx27-pcm038", "fsl,imx27"; memory@a0000000 { + device_type = "memory"; reg = <0xa0000000 0x08000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx27.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx27.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx27.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx27.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -16,10 +16,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { ethernet0 = &fec; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx31-bug.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx31-bug.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx31-bug.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx31-bug.dts 2020-01-23 07:21:39.000000000 +0000 @@ -17,6 +17,7 @@ compatible = "buglabs,imx31-bug", "fsl,imx31"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x8000000>; /* 128M */ }; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx31-lite.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx31-lite.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx31-lite.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx31-lite.dts 2020-01-23 07:21:39.000000000 +0000 @@ -18,6 +18,7 @@ }; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x8000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx31.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx31.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx31.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx31.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -10,10 +10,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { gpio0 = &gpio1; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx35-eukrea-cpuimx35.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx35-eukrea-cpuimx35.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx35-eukrea-cpuimx35.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx35-eukrea-cpuimx35.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -18,6 +18,7 @@ compatible = "eukrea,cpuimx35", "fsl,imx35"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x8000000>; /* 128M */ }; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx35-pdk.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx35-pdk.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx35-pdk.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx35-pdk.dts 2020-01-23 07:21:39.000000000 +0000 @@ -11,6 +11,7 @@ compatible = "fsl,imx35-pdk", "fsl,imx35"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x8000000>, <0x90000000 0x8000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx35.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx35.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx35.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx35.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -13,10 +13,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { ethernet0 = &fec; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx50-evk.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx50-evk.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx50-evk.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx50-evk.dts 2020-01-23 07:21:39.000000000 +0000 @@ -12,6 +12,7 @@ compatible = "fsl,imx50-evk", "fsl,imx50"; memory@70000000 { + device_type = "memory"; reg = <0x70000000 0x80000000>; }; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx50.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx50.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx50.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx50.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -22,10 +22,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { ethernet0 = &fec; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx51-apf51.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx51-apf51.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx51-apf51.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx51-apf51.dts 2020-01-23 07:21:39.000000000 +0000 @@ -22,6 +22,7 @@ compatible = "armadeus,imx51-apf51", "fsl,imx51"; memory@90000000 { + device_type = "memory"; reg = <0x90000000 0x20000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx51-babbage.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx51-babbage.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx51-babbage.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx51-babbage.dts 2020-01-23 07:21:39.000000000 +0000 @@ -15,6 +15,7 @@ }; memory@90000000 { + device_type = "memory"; reg = <0x90000000 0x20000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx51-digi-connectcore-som.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx51-digi-connectcore-som.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx51-digi-connectcore-som.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx51-digi-connectcore-som.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -17,6 +17,7 @@ compatible = "digi,connectcore-ccxmx51-som", "fsl,imx51"; memory@90000000 { + device_type = "memory"; reg = <0x90000000 0x08000000>; }; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx51-eukrea-cpuimx51.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx51-eukrea-cpuimx51.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx51-eukrea-cpuimx51.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx51-eukrea-cpuimx51.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -23,6 +23,7 @@ compatible = "eukrea,cpuimx51", "fsl,imx51"; memory@90000000 { + device_type = "memory"; reg = <0x90000000 0x10000000>; /* 256M */ }; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx51-ts4800.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx51-ts4800.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx51-ts4800.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx51-ts4800.dts 2020-01-23 07:21:39.000000000 +0000 @@ -18,6 +18,7 @@ }; memory@90000000 { + device_type = "memory"; reg = <0x90000000 0x10000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx51-zii-rdu1.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx51-zii-rdu1.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx51-zii-rdu1.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx51-zii-rdu1.dts 2020-01-23 07:21:39.000000000 +0000 @@ -53,6 +53,7 @@ /* Will be filled by the bootloader */ memory@90000000 { + device_type = "memory"; reg = <0x90000000 0>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx51-zii-scu2-mezz.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx51-zii-scu2-mezz.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx51-zii-scu2-mezz.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx51-zii-scu2-mezz.dts 2020-01-23 07:21:39.000000000 +0000 @@ -18,6 +18,7 @@ /* Will be filled by the bootloader */ memory@90000000 { + device_type = "memory"; reg = <0x90000000 0>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx51-zii-scu3-esb.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx51-zii-scu3-esb.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx51-zii-scu3-esb.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx51-zii-scu3-esb.dts 2020-01-23 07:21:39.000000000 +0000 @@ -18,6 +18,7 @@ /* Will be filled by the bootloader */ memory@90000000 { + device_type = "memory"; reg = <0x90000000 0>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx51.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx51.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx51.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx51.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -16,10 +16,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { ethernet0 = &fec; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx53-ard.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx53-ard.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx53-ard.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx53-ard.dts 2020-01-23 07:21:39.000000000 +0000 @@ -19,6 +19,7 @@ compatible = "fsl,imx53-ard", "fsl,imx53"; memory@70000000 { + device_type = "memory"; reg = <0x70000000 0x40000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx53-cx9020.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx53-cx9020.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx53-cx9020.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx53-cx9020.dts 2020-01-23 07:21:39.000000000 +0000 @@ -22,6 +22,7 @@ }; memory@70000000 { + device_type = "memory"; reg = <0x70000000 0x20000000>, <0xb0000000 0x20000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx53-m53.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx53-m53.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx53-m53.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx53-m53.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -16,6 +16,7 @@ compatible = "aries,imx53-m53", "denx,imx53-m53", "fsl,imx53"; memory@70000000 { + device_type = "memory"; reg = <0x70000000 0x20000000>, <0xb0000000 0x20000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx53-qsb-common.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx53-qsb-common.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx53-qsb-common.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx53-qsb-common.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -11,6 +11,7 @@ }; memory@70000000 { + device_type = "memory"; reg = <0x70000000 0x20000000>, <0xb0000000 0x20000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx53-smd.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx53-smd.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx53-smd.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx53-smd.dts 2020-01-23 07:21:39.000000000 +0000 @@ -12,6 +12,7 @@ compatible = "fsl,imx53-smd", "fsl,imx53"; memory@70000000 { + device_type = "memory"; reg = <0x70000000 0x40000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx53-tqma53.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx53-tqma53.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx53-tqma53.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx53-tqma53.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -17,6 +17,7 @@ compatible = "tq,tqma53", "fsl,imx53"; memory@70000000 { + device_type = "memory"; reg = <0x70000000 0x40000000>; /* Up to 1GiB */ }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx53-tx53.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx53-tx53.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx53-tx53.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx53-tx53.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -51,6 +51,7 @@ /* Will be filled by the bootloader */ memory@70000000 { + device_type = "memory"; reg = <0x70000000 0>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx53-usbarmory.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx53-usbarmory.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx53-usbarmory.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx53-usbarmory.dts 2020-01-23 07:21:39.000000000 +0000 @@ -58,6 +58,7 @@ }; memory@70000000 { + device_type = "memory"; reg = <0x70000000 0x20000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx53-voipac-dmm-668.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx53-voipac-dmm-668.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx53-voipac-dmm-668.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx53-voipac-dmm-668.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -17,12 +17,8 @@ memory@70000000 { device_type = "memory"; - reg = <0x70000000 0x20000000>; - }; - - memory@b0000000 { - device_type = "memory"; - reg = <0xb0000000 0x20000000>; + reg = <0x70000000 0x20000000>, + <0xb0000000 0x20000000>; }; regulators { diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx53.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx53.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx53.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx53.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -23,10 +23,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { ethernet0 = &fec; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6dl-icore-mipi.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6dl-icore-mipi.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6dl-icore-mipi.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6dl-icore-mipi.dts 2020-01-23 07:21:39.000000000 +0000 @@ -8,7 +8,7 @@ /dts-v1/; #include "imx6dl.dtsi" -#include "imx6qdl-icore.dtsi" +#include "imx6qdl-icore-1.5.dtsi" / { model = "Engicam i.CoreM6 DualLite/Solo MIPI Starter Kit"; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6q-dhcom-pdk2.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6q-dhcom-pdk2.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6q-dhcom-pdk2.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6q-dhcom-pdk2.dts 2020-01-23 07:21:39.000000000 +0000 @@ -55,7 +55,7 @@ #sound-dai-cells = <0>; clocks = <&clk_ext_audio_codec>; VDDA-supply = <®_3p3v>; - VDDIO-supply = <®_3p3v>; + VDDIO-supply = <&sw2_reg>; }; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6q-dhcom-som.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6q-dhcom-som.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6q-dhcom-som.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6q-dhcom-som.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -205,7 +205,7 @@ }; rtc@56 { - compatible = "rv3029c2"; + compatible = "microcrystal,rv3029"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_rtc_hw300>; reg = <0x56>; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6qdl-icore-1.5.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6qdl-icore-1.5.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6qdl-icore-1.5.dtsi 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6qdl-icore-1.5.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -0,0 +1,34 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2018 Jacopo Mondi + */ + +#include "imx6qdl-icore.dtsi" + +&iomuxc { + pinctrl_enet: enetgrp { + fsl,pins = < + MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN 0x1b0b0 + MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0b0 + MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN 0x1b0b0 + MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1 0x1b0b0 + MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0 0x1b0b0 + MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1 0x1b0b0 + MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0 0x1b0b0 + MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0 + MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 + MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x1b0b0 + >; + }; +}; + +&fec { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_enet>; + phy-reset-gpios = <&gpio7 12 GPIO_ACTIVE_LOW>; + clocks = <&clks IMX6QDL_CLK_ENET>, + <&clks IMX6QDL_CLK_ENET>, + <&clks IMX6QDL_CLK_ENET_REF>; + phy-mode = "rmii"; + status = "okay"; +}; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6qdl-sabreauto.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6qdl-sabreauto.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6qdl-sabreauto.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6qdl-sabreauto.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -177,6 +177,8 @@ accelerometer@1c { compatible = "fsl,mma8451"; reg = <0x1c>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_mma8451_int>; interrupt-parent = <&gpio6>; interrupts = <31 IRQ_TYPE_LEVEL_LOW>; }; @@ -522,6 +524,12 @@ >; }; + pinctrl_mma8451_int: mma8451intgrp { + fsl,pins = < + MX6QDL_PAD_EIM_BCLK__GPIO6_IO31 0xb0b1 + >; + }; + pinctrl_pwm3: pwm1grp { fsl,pins = < MX6QDL_PAD_SD4_DAT1__PWM3_OUT 0x1b0b1 diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6qdl-zii-rdu2.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6qdl-zii-rdu2.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6qdl-zii-rdu2.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6qdl-zii-rdu2.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -609,13 +609,14 @@ }; touchscreen@2a { - compatible = "eeti,egalax_ts"; + compatible = "eeti,exc3000"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_ts>; reg = <0x2a>; interrupt-parent = <&gpio1>; interrupts = <8 IRQ_TYPE_LEVEL_LOW>; - wakeup-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>; + touchscreen-inverted-x; + touchscreen-swapped-x-y; status = "disabled"; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sl-evk.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sl-evk.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sl-evk.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sl-evk.dts 2020-01-23 07:21:39.000000000 +0000 @@ -17,6 +17,7 @@ }; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x40000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sl-warp.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sl-warp.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sl-warp.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sl-warp.dts 2020-01-23 07:21:39.000000000 +0000 @@ -55,6 +55,7 @@ compatible = "warp,imx6sl-warp", "fsl,imx6sl"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x20000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sl.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sl.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sl.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sl.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -13,10 +13,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { ethernet0 = &fec; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sll-evk.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sll-evk.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sll-evk.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sll-evk.dts 2020-01-23 07:21:39.000000000 +0000 @@ -20,6 +20,7 @@ }; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x80000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sx-nitrogen6sx.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sx-nitrogen6sx.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sx-nitrogen6sx.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sx-nitrogen6sx.dts 2020-01-23 07:21:39.000000000 +0000 @@ -12,6 +12,7 @@ compatible = "boundary,imx6sx-nitrogen6sx", "fsl,imx6sx"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x40000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sx-sabreauto.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sx-sabreauto.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sx-sabreauto.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sx-sabreauto.dts 2020-01-23 07:21:39.000000000 +0000 @@ -11,6 +11,7 @@ compatible = "fsl,imx6sx-sabreauto", "fsl,imx6sx"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x80000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sx-sdb.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sx-sdb.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sx-sdb.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sx-sdb.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -21,6 +21,7 @@ }; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x40000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sx-softing-vining-2000.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sx-softing-vining-2000.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sx-softing-vining-2000.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sx-softing-vining-2000.dts 2020-01-23 07:21:39.000000000 +0000 @@ -21,6 +21,7 @@ }; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x40000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sx-udoo-neo-basic.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sx-udoo-neo-basic.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sx-udoo-neo-basic.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sx-udoo-neo-basic.dts 2020-01-23 07:21:39.000000000 +0000 @@ -49,6 +49,7 @@ compatible = "udoo,neobasic", "fsl,imx6sx"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x20000000>; }; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sx-udoo-neo-extended.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sx-udoo-neo-extended.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sx-udoo-neo-extended.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sx-udoo-neo-extended.dts 2020-01-23 07:21:39.000000000 +0000 @@ -49,6 +49,7 @@ compatible = "udoo,neoextended", "fsl,imx6sx"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x40000000>; }; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sx-udoo-neo-full.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sx-udoo-neo-full.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sx-udoo-neo-full.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sx-udoo-neo-full.dts 2020-01-23 07:21:39.000000000 +0000 @@ -49,6 +49,7 @@ compatible = "udoo,neofull", "fsl,imx6sx"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x40000000>; }; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sx.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sx.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6sx.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6sx.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -15,10 +15,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { can0 = &flexcan1; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6ul-14x14-evk.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6ul-14x14-evk.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6ul-14x14-evk.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6ul-14x14-evk.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -12,6 +12,7 @@ }; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x20000000>; }; @@ -174,7 +175,7 @@ flash0: n25q256a@0 { #address-cells = <1>; #size-cells = <1>; - compatible = "micron,n25q256a"; + compatible = "micron,n25q256a", "jedec,spi-nor"; spi-max-frequency = <29000000>; reg = <0>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6ul-geam.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6ul-geam.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6ul-geam.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6ul-geam.dts 2020-01-23 07:21:39.000000000 +0000 @@ -51,6 +51,7 @@ compatible = "engicam,imx6ul-geam", "fsl,imx6ul"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x08000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6ul-isiot.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6ul-isiot.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6ul-isiot.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6ul-isiot.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -46,6 +46,7 @@ / { memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x20000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6ul-litesom.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6ul-litesom.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6ul-litesom.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6ul-litesom.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -48,6 +48,7 @@ compatible = "grinn,imx6ul-litesom", "fsl,imx6ul"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x20000000>; }; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6ul-opos6ul.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6ul-opos6ul.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6ul-opos6ul.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6ul-opos6ul.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -49,6 +49,7 @@ / { memory@80000000 { + device_type = "memory"; reg = <0x80000000 0>; /* will be filled by U-Boot */ }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6ul-pico-hobbit.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6ul-pico-hobbit.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6ul-pico-hobbit.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6ul-pico-hobbit.dts 2020-01-23 07:21:39.000000000 +0000 @@ -53,6 +53,7 @@ /* Will be filled by the bootloader */ memory@80000000 { + device_type = "memory"; reg = <0x80000000 0>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6ul-tx6ul.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6ul-tx6ul.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6ul-tx6ul.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6ul-tx6ul.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -71,6 +71,7 @@ }; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0>; /* will be filled by U-Boot */ }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6ul.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6ul.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6ul.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6ul.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -15,10 +15,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { ethernet0 = &fec1; @@ -89,6 +87,8 @@ "pll1_sys"; arm-supply = <®_arm>; soc-supply = <®_soc>; + nvmem-cells = <&cpu_speed_grade>; + nvmem-cell-names = "speed_grade"; }; }; @@ -932,6 +932,10 @@ tempmon_temp_grade: temp-grade@20 { reg = <0x20 4>; }; + + cpu_speed_grade: speed-grade@10 { + reg = <0x10 4>; + }; }; lcdif: lcdif@21c8000 { diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6ull-colibri-nonwifi.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6ull-colibri-nonwifi.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6ull-colibri-nonwifi.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6ull-colibri-nonwifi.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -7,6 +7,7 @@ / { memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x10000000>; }; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6ull-colibri-wifi.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6ull-colibri-wifi.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx6ull-colibri-wifi.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx6ull-colibri-wifi.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -7,6 +7,7 @@ / { memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x20000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx7d-cl-som-imx7.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx7d-cl-som-imx7.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx7d-cl-som-imx7.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx7d-cl-som-imx7.dts 2020-01-23 07:21:39.000000000 +0000 @@ -19,6 +19,7 @@ compatible = "compulab,cl-som-imx7", "fsl,imx7d"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x10000000>; /* 256 MB - minimal configuration */ }; @@ -284,4 +285,4 @@ MX7D_PAD_LPSR_GPIO1_IO05__GPIO1_IO5 0x14 /* OTG PWREN */ >; }; -}; \ No newline at end of file +}; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx7d-colibri-emmc.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx7d-colibri-emmc.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx7d-colibri-emmc.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx7d-colibri-emmc.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -8,6 +8,7 @@ / { memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x40000000>; }; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx7d-colibri.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx7d-colibri.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx7d-colibri.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx7d-colibri.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -45,6 +45,7 @@ / { memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x20000000>; }; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx7d-nitrogen7.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx7d-nitrogen7.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx7d-nitrogen7.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx7d-nitrogen7.dts 2020-01-23 07:21:39.000000000 +0000 @@ -12,6 +12,7 @@ compatible = "boundary,imx7d-nitrogen7", "fsl,imx7d"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x40000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx7d-pico.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx7d-pico.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx7d-pico.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx7d-pico.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -49,6 +49,7 @@ compatible = "technexion,imx7d-pico", "fsl,imx7d"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x80000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx7d-sdb.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx7d-sdb.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx7d-sdb.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx7d-sdb.dts 2020-01-23 07:21:39.000000000 +0000 @@ -15,6 +15,7 @@ }; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x80000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx7s-colibri.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx7s-colibri.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx7s-colibri.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx7s-colibri.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -45,6 +45,11 @@ / { memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x10000000>; }; }; + +&gpmi { + status = "okay"; +}; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx7s-warp.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/imx7s-warp.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx7s-warp.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx7s-warp.dts 2020-01-23 07:21:39.000000000 +0000 @@ -51,6 +51,7 @@ compatible = "warp,imx7s-warp", "fsl,imx7s"; memory@80000000 { + device_type = "memory"; reg = <0x80000000 0x20000000>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/imx7s.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/imx7s.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/imx7s.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/imx7s.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -17,10 +17,8 @@ * The decompressor and also some bootloaders rely on a * pre-existing /chosen node to be available to insert the * command line and merge other ATAGS info. - * Also for U-Boot there must be a pre-existing /memory node. */ chosen {}; - memory { device_type = "memory"; }; aliases { gpio0 = &gpio1; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/meson8.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/meson8.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/meson8.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/meson8.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -139,7 +139,7 @@ &aobus { pmu: pmu@e0 { compatible = "amlogic,meson8-pmu", "syscon"; - reg = <0xe0 0x8>; + reg = <0xe0 0x18>; }; pinctrl_aobus: pinctrl@84 { diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/mmp2.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/mmp2.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/mmp2.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/mmp2.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -180,7 +180,7 @@ clocks = <&soc_clocks MMP2_CLK_GPIO>; resets = <&soc_clocks MMP2_CLK_GPIO>; interrupt-controller; - #interrupt-cells = <1>; + #interrupt-cells = <2>; ranges; gcb0: gpio@d4019000 { diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/omap3-pandora-common.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/omap3-pandora-common.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/omap3-pandora-common.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/omap3-pandora-common.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -229,6 +229,17 @@ gpio = <&gpio6 4 GPIO_ACTIVE_HIGH>; /* GPIO_164 */ }; + /* wl1251 wifi+bt module */ + wlan_en: fixed-regulator-wg7210_en { + compatible = "regulator-fixed"; + regulator-name = "vwlan"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + startup-delay-us = <50000>; + enable-active-high; + gpio = <&gpio1 23 GPIO_ACTIVE_HIGH>; + }; + /* wg7210 (wifi+bt module) 32k clock buffer */ wg7210_32k: fixed-regulator-wg7210_32k { compatible = "regulator-fixed"; @@ -525,9 +536,30 @@ /*wp-gpios = <&gpio4 31 GPIO_ACTIVE_HIGH>;*/ /* GPIO_127 */ }; -/* mmc3 is probed using pdata-quirks to pass wl1251 card data */ &mmc3 { - status = "disabled"; + vmmc-supply = <&wlan_en>; + + bus-width = <4>; + non-removable; + ti,non-removable; + cap-power-off-card; + + pinctrl-names = "default"; + pinctrl-0 = <&mmc3_pins>; + + #address-cells = <1>; + #size-cells = <0>; + + wlan: wifi@1 { + compatible = "ti,wl1251"; + + reg = <1>; + + interrupt-parent = <&gpio1>; + interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; /* GPIO_21 */ + + ti,wl1251-has-eeprom; + }; }; /* bluetooth*/ diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/omap3-tao3530.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/omap3-tao3530.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/omap3-tao3530.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/omap3-tao3530.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -225,7 +225,7 @@ pinctrl-0 = <&mmc1_pins>; vmmc-supply = <&vmmc1>; vqmmc-supply = <&vsim>; - cd-gpios = <&twl_gpio 0 GPIO_ACTIVE_HIGH>; + cd-gpios = <&twl_gpio 0 GPIO_ACTIVE_LOW>; bus-width = <8>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/omap4-l4.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/omap4-l4.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/omap4-l4.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/omap4-l4.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -196,12 +196,12 @@ clock-names = "fck"; #address-cells = <1>; #size-cells = <1>; - ranges = <0x0 0x58000 0x4000>; + ranges = <0x0 0x58000 0x5000>; hsi: hsi@0 { compatible = "ti,omap4-hsi"; reg = <0x0 0x4000>, - <0x4a05c000 0x1000>; + <0x5000 0x1000>; reg-names = "sys", "gdd"; clocks = <&l3_init_clkctrl OMAP4_HSI_CLKCTRL 0>; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/pxa27x.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/pxa27x.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/pxa27x.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/pxa27x.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -35,7 +35,7 @@ clocks = <&clks CLK_NONE>; }; - pxa27x_ohci: usb@4c000000 { + usb0: usb@4c000000 { compatible = "marvell,pxa-ohci"; reg = <0x4c000000 0x10000>; interrupts = <3>; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/pxa2xx.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/pxa2xx.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/pxa2xx.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/pxa2xx.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -117,13 +117,6 @@ status = "disabled"; }; - usb0: ohci@4c000000 { - compatible = "marvell,pxa-ohci"; - reg = <0x4c000000 0x10000>; - interrupts = <3>; - status = "disabled"; - }; - mmc0: mmc@41100000 { compatible = "marvell,pxa-mmc"; reg = <0x41100000 0x1000>; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/pxa3xx.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/pxa3xx.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/pxa3xx.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/pxa3xx.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -204,7 +204,7 @@ status = "disabled"; }; - pxa3xx_ohci: usb@4c000000 { + usb0: usb@4c000000 { compatible = "marvell,pxa-ohci"; reg = <0x4c000000 0x10000>; interrupts = <3>; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/r8a7790-lager.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/r8a7790-lager.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/r8a7790-lager.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/r8a7790-lager.dts 2020-01-23 07:21:39.000000000 +0000 @@ -489,8 +489,6 @@ }; &lvds1 { - status = "okay"; - ports { port@1 { lvds_connector: endpoint { diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/r8a7791-koelsch.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/r8a7791-koelsch.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/r8a7791-koelsch.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/r8a7791-koelsch.dts 2020-01-23 07:21:39.000000000 +0000 @@ -479,8 +479,6 @@ }; &lvds0 { - status = "okay"; - ports { port@1 { lvds_connector: endpoint { diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/r8a7791-porter.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/r8a7791-porter.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/r8a7791-porter.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/r8a7791-porter.dts 2020-01-23 07:21:39.000000000 +0000 @@ -482,8 +482,6 @@ }; &lvds0 { - status = "okay"; - ports { port@1 { lvds_connector: endpoint { diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/rk3288-rock2-som.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/rk3288-rock2-som.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/rk3288-rock2-som.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/rk3288-rock2-som.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -25,7 +25,7 @@ vcc_flash: flash-regulator { compatible = "regulator-fixed"; - regulator-name = "vcc_sys"; + regulator-name = "vcc_flash"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; startup-delay-us = <150>; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/rv1108.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/rv1108.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/rv1108.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/rv1108.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -66,7 +66,7 @@ arm-pmu { compatible = "arm,cortex-a7-pmu"; - interrupts = ; + interrupts = ; }; timer { @@ -541,7 +541,7 @@ compatible = "rockchip,gpio-bank"; reg = <0x20030000 0x100>; interrupts = ; - clocks = <&xin24m>; + clocks = <&cru PCLK_GPIO0_PMU>; gpio-controller; #gpio-cells = <2>; @@ -554,7 +554,7 @@ compatible = "rockchip,gpio-bank"; reg = <0x10310000 0x100>; interrupts = ; - clocks = <&xin24m>; + clocks = <&cru PCLK_GPIO1>; gpio-controller; #gpio-cells = <2>; @@ -567,7 +567,7 @@ compatible = "rockchip,gpio-bank"; reg = <0x10320000 0x100>; interrupts = ; - clocks = <&xin24m>; + clocks = <&cru PCLK_GPIO2>; gpio-controller; #gpio-cells = <2>; @@ -580,7 +580,7 @@ compatible = "rockchip,gpio-bank"; reg = <0x10330000 0x100>; interrupts = ; - clocks = <&xin24m>; + clocks = <&cru PCLK_GPIO3>; gpio-controller; #gpio-cells = <2>; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/s3c6410-mini6410.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/s3c6410-mini6410.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/s3c6410-mini6410.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/s3c6410-mini6410.dts 2020-01-23 07:21:39.000000000 +0000 @@ -165,6 +165,10 @@ }; }; +&clocks { + clocks = <&fin_pll>; +}; + &sdhci0 { pinctrl-names = "default"; pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/s3c6410-smdk6410.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/s3c6410-smdk6410.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/s3c6410-smdk6410.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/s3c6410-smdk6410.dts 2020-01-23 07:21:39.000000000 +0000 @@ -69,6 +69,10 @@ }; }; +&clocks { + clocks = <&fin_pll>; +}; + &sdhci0 { pinctrl-names = "default"; pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/sun4i-a10-inet9f-rev03.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/sun4i-a10-inet9f-rev03.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/sun4i-a10-inet9f-rev03.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/sun4i-a10-inet9f-rev03.dts 2020-01-23 07:21:39.000000000 +0000 @@ -63,8 +63,6 @@ compatible = "gpio-keys-polled"; pinctrl-names = "default"; pinctrl-0 = <&key_pins_inet9f>; - #address-cells = <1>; - #size-cells = <0>; poll-interval = <20>; left-joystick-left { diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/sun4i-a10-pcduino.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/sun4i-a10-pcduino.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/sun4i-a10-pcduino.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/sun4i-a10-pcduino.dts 2020-01-23 07:21:39.000000000 +0000 @@ -76,8 +76,6 @@ gpio-keys { compatible = "gpio-keys"; - #address-cells = <1>; - #size-cells = <0>; back { label = "Key Back"; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/sun4i-a10.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/sun4i-a10.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/sun4i-a10.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/sun4i-a10.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -530,8 +530,6 @@ }; hdmi_out: port@1 { - #address-cells = <1>; - #size-cells = <0>; reg = <1>; }; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/sun5i-a10s.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/sun5i-a10s.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/sun5i-a10s.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/sun5i-a10s.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -104,8 +104,6 @@ }; hdmi_out: port@1 { - #address-cells = <1>; - #size-cells = <0>; reg = <1>; }; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/sun6i-a31.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/sun6i-a31.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/sun6i-a31.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/sun6i-a31.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -201,7 +201,7 @@ }; pmu { - compatible = "arm,cortex-a7-pmu", "arm,cortex-a15-pmu"; + compatible = "arm,cortex-a7-pmu"; interrupts = , , , diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/sun7i-a20.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/sun7i-a20.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/sun7i-a20.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/sun7i-a20.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -183,7 +183,7 @@ }; pmu { - compatible = "arm,cortex-a7-pmu", "arm,cortex-a15-pmu"; + compatible = "arm,cortex-a7-pmu"; interrupts = , ; }; @@ -639,8 +639,6 @@ }; hdmi_out: port@1 { - #address-cells = <1>; - #size-cells = <0>; reg = <1>; }; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/sun8i-a83t-tbs-a711.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/sun8i-a83t-tbs-a711.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/sun8i-a83t-tbs-a711.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/sun8i-a83t-tbs-a711.dts 2020-01-23 07:21:39.000000000 +0000 @@ -171,6 +171,7 @@ vqmmc-supply = <®_dldo1>; non-removable; wakeup-source; + keep-power-in-suspend; status = "okay"; brcmf: wifi@1 { diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/sun8i-h3.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/sun8i-h3.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/sun8i-h3.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/sun8i-h3.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -47,19 +47,19 @@ compatible = "operating-points-v2"; opp-shared; - opp@648000000 { + opp-648000000 { opp-hz = /bits/ 64 <648000000>; opp-microvolt = <1040000 1040000 1300000>; clock-latency-ns = <244144>; /* 8 32k periods */ }; - opp@816000000 { + opp-816000000 { opp-hz = /bits/ 64 <816000000>; opp-microvolt = <1100000 1100000 1300000>; clock-latency-ns = <244144>; /* 8 32k periods */ }; - opp@1008000000 { + opp-1008000000 { opp-hz = /bits/ 64 <1008000000>; opp-microvolt = <1200000 1200000 1300000>; clock-latency-ns = <244144>; /* 8 32k periods */ @@ -122,7 +122,7 @@ soc { system-control@1c00000 { compatible = "allwinner,sun8i-h3-system-control"; - reg = <0x01c00000 0x30>; + reg = <0x01c00000 0x1000>; #address-cells = <1>; #size-cells = <1>; ranges; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/sun8i-r16-bananapi-m2m.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/sun8i-r16-bananapi-m2m.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/sun8i-r16-bananapi-m2m.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/sun8i-r16-bananapi-m2m.dts 2020-01-23 07:21:39.000000000 +0000 @@ -103,13 +103,13 @@ }; &cpu0_opp_table { - opp@1104000000 { + opp-1104000000 { opp-hz = /bits/ 64 <1104000000>; opp-microvolt = <1320000>; clock-latency-ns = <244144>; /* 8 32k periods */ }; - opp@1200000000 { + opp-1200000000 { opp-hz = /bits/ 64 <1200000000>; opp-microvolt = <1320000>; clock-latency-ns = <244144>; /* 8 32k periods */ diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/sun8i-v3s-licheepi-zero.dts linux-4.19.98/scripts/dtc/include-prefixes/arm/sun8i-v3s-licheepi-zero.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm/sun8i-v3s-licheepi-zero.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/sun8i-v3s-licheepi-zero.dts 2020-01-23 07:21:39.000000000 +0000 @@ -78,7 +78,7 @@ }; &mmc0 { - pinctrl-0 = <&mmc0_pins_a>; + pinctrl-0 = <&mmc0_pins>; pinctrl-names = "default"; broken-cd; bus-width = <4>; @@ -87,7 +87,7 @@ }; &uart0 { - pinctrl-0 = <&uart0_pins_a>; + pinctrl-0 = <&uart0_pb_pins>; pinctrl-names = "default"; status = "okay"; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm/sun8i-v3s.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm/sun8i-v3s.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm/sun8i-v3s.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm/sun8i-v3s.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -292,17 +292,17 @@ interrupt-controller; #interrupt-cells = <3>; - i2c0_pins: i2c0 { + i2c0_pins: i2c0-pins { pins = "PB6", "PB7"; function = "i2c0"; }; - uart0_pins_a: uart0@0 { + uart0_pb_pins: uart0-pb-pins { pins = "PB8", "PB9"; function = "uart0"; }; - mmc0_pins_a: mmc0@0 { + mmc0_pins: mmc0-pins { pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; function = "mmc0"; @@ -310,7 +310,7 @@ bias-pull-up; }; - mmc1_pins: mmc1 { + mmc1_pins: mmc1-pins { pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5"; function = "mmc1"; @@ -318,7 +318,7 @@ bias-pull-up; }; - spi0_pins: spi0 { + spi0_pins: spi0-pins { pins = "PC0", "PC1", "PC2", "PC3"; function = "spi0"; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm64/allwinner/sun50i-a64-olinuxino.dts linux-4.19.98/scripts/dtc/include-prefixes/arm64/allwinner/sun50i-a64-olinuxino.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm64/allwinner/sun50i-a64-olinuxino.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm64/allwinner/sun50i-a64-olinuxino.dts 2020-01-23 07:21:39.000000000 +0000 @@ -77,7 +77,7 @@ &mmc1 { pinctrl-names = "default"; pinctrl-0 = <&mmc1_pins>; - vmmc-supply = <®_aldo2>; + vmmc-supply = <®_dcdc1>; vqmmc-supply = <®_dldo4>; mmc-pwrseq = <&wifi_pwrseq>; bus-width = <4>; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm64/altera/socfpga_stratix10.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm64/altera/socfpga_stratix10.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm64/altera/socfpga_stratix10.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm64/altera/socfpga_stratix10.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -59,10 +59,10 @@ pmu { compatible = "arm,armv8-pmuv3"; - interrupts = <0 120 8>, - <0 121 8>, - <0 122 8>, - <0 123 8>; + interrupts = <0 170 4>, + <0 171 4>, + <0 172 4>, + <0 173 4>; interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm64/amlogic/meson-gxbb-nanopi-k2.dts linux-4.19.98/scripts/dtc/include-prefixes/arm64/amlogic/meson-gxbb-nanopi-k2.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm64/amlogic/meson-gxbb-nanopi-k2.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm64/amlogic/meson-gxbb-nanopi-k2.dts 2020-01-23 07:21:39.000000000 +0000 @@ -191,7 +191,7 @@ pinctrl-names = "default"; }; -&pinctrl_aobus { +&gpio_ao { gpio-line-names = "UART TX", "UART RX", "Power Control", "Power Key In", "VCCK En", "CON1 Header Pin31", "I2S Header Pin6", "IR In", "I2S Header Pin7", @@ -201,7 +201,7 @@ ""; }; -&pinctrl_periphs { +&gpio { gpio-line-names = /* Bank GPIOZ */ "Eth MDIO", "Eth MDC", "Eth RGMII RX Clk", "Eth RX DV", "Eth RX D0", "Eth RX D1", "Eth RX D2", diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm64/amlogic/meson-gxbb-odroidc2.dts linux-4.19.98/scripts/dtc/include-prefixes/arm64/amlogic/meson-gxbb-odroidc2.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm64/amlogic/meson-gxbb-odroidc2.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm64/amlogic/meson-gxbb-odroidc2.dts 2020-01-23 07:21:39.000000000 +0000 @@ -187,7 +187,7 @@ pinctrl-names = "default"; }; -&pinctrl_aobus { +&gpio_ao { gpio-line-names = "UART TX", "UART RX", "VCCK En", "TF 3V3/1V8 En", "USB HUB nRESET", "USB OTG Power En", "J7 Header Pin2", "IR In", "J7 Header Pin4", @@ -197,7 +197,7 @@ ""; }; -&pinctrl_periphs { +&gpio { gpio-line-names = /* Bank GPIOZ */ "Eth MDIO", "Eth MDC", "Eth RGMII RX Clk", "Eth RX DV", "Eth RX D0", "Eth RX D1", "Eth RX D2", @@ -293,7 +293,7 @@ }; &usb0_phy { - status = "okay"; + status = "disabled"; phy-supply = <&usb_otg_pwr>; }; @@ -303,7 +303,7 @@ }; &usb0 { - status = "okay"; + status = "disabled"; }; &usb1 { diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm64/amlogic/meson-gxl-s905x-khadas-vim.dts linux-4.19.98/scripts/dtc/include-prefixes/arm64/amlogic/meson-gxl-s905x-khadas-vim.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm64/amlogic/meson-gxl-s905x-khadas-vim.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm64/amlogic/meson-gxl-s905x-khadas-vim.dts 2020-01-23 07:21:39.000000000 +0000 @@ -33,11 +33,9 @@ gpio-keys-polled { compatible = "gpio-keys-polled"; - #address-cells = <1>; - #size-cells = <0>; poll-interval = <100>; - button@0 { + power-button { label = "power"; linux,code = ; gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; @@ -112,7 +110,7 @@ linux,rc-map-name = "rc-geekbox"; }; -&pinctrl_aobus { +&gpio_ao { gpio-line-names = "UART TX", "UART RX", "Power Key In", @@ -127,7 +125,7 @@ ""; }; -&pinctrl_periphs { +&gpio { gpio-line-names = /* Bank GPIOZ */ "", "", "", "", "", "", "", "", "", "", "", "", "", "", diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm64/amlogic/meson-gxl-s905x-libretech-cc.dts linux-4.19.98/scripts/dtc/include-prefixes/arm64/amlogic/meson-gxl-s905x-libretech-cc.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm64/amlogic/meson-gxl-s905x-libretech-cc.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm64/amlogic/meson-gxl-s905x-libretech-cc.dts 2020-01-23 07:21:39.000000000 +0000 @@ -163,7 +163,7 @@ }; }; -&pinctrl_aobus { +&gpio_ao { gpio-line-names = "UART TX", "UART RX", "Blue LED", @@ -178,7 +178,7 @@ "7J1 Header Pin15"; }; -&pinctrl_periphs { +&gpio { gpio-line-names = /* Bank GPIOZ */ "", "", "", "", "", "", "", "", "", "", "", "", "", "", diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm64/arm/juno-base.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm64/arm/juno-base.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm64/arm/juno-base.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm64/arm/juno-base.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -6,7 +6,6 @@ /* * Devices shared by all Juno boards */ - dma-ranges = <0 0 0 0 0x100 0>; memtimer: timer@2a810000 { compatible = "arm,armv7-timer-mem"; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm64/exynos/exynos5433.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm64/exynos/exynos5433.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm64/exynos/exynos5433.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm64/exynos/exynos5433.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -18,8 +18,8 @@ / { compatible = "samsung,exynos5433"; - #address-cells = <1>; - #size-cells = <1>; + #address-cells = <2>; + #size-cells = <2>; interrupt-parent = <&gic>; @@ -235,7 +235,7 @@ compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; - ranges; + ranges = <0x0 0x0 0x0 0x18000000>; arm_a53_pmu { compatible = "arm,cortex-a53-pmu", "arm,armv8-pmuv3"; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm64/exynos/exynos7.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm64/exynos/exynos7.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm64/exynos/exynos7.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm64/exynos/exynos7.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -12,8 +12,8 @@ / { compatible = "samsung,exynos7"; interrupt-parent = <&gic>; - #address-cells = <1>; - #size-cells = <1>; + #address-cells = <2>; + #size-cells = <2>; aliases { pinctrl0 = &pinctrl_alive; @@ -70,7 +70,7 @@ compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; - ranges; + ranges = <0 0 0 0x18000000>; chipid@10000000 { compatible = "samsung,exynos4210-chipid"; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm64/marvell/armada-cp110.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm64/marvell/armada-cp110.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm64/marvell/armada-cp110.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm64/marvell/armada-cp110.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -359,10 +359,10 @@ CP110_LABEL(nand_controller): nand@720000 { /* - * Due to the limitation of the pins available - * this controller is only usable on the CPM - * for A7K and on the CPS for A8K. - */ + * Due to the limitation of the pins available + * this controller is only usable on the CPM + * for A7K and on the CPS for A8K. + */ compatible = "marvell,armada-8k-nand-controller", "marvell,armada370-nand-controller"; reg = <0x720000 0x54>; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm64/nvidia/tegra210-p2597.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm64/nvidia/tegra210-p2597.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm64/nvidia/tegra210-p2597.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm64/nvidia/tegra210-p2597.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -1589,7 +1589,7 @@ regulator-name = "VDD_HDMI_5V0"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; - gpio = <&exp1 12 GPIO_ACTIVE_LOW>; + gpio = <&exp1 12 GPIO_ACTIVE_HIGH>; enable-active-high; vin-supply = <&vdd_5v0_sys>; }; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm64/qcom/apq8096-db820c.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm64/qcom/apq8096-db820c.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm64/qcom/apq8096-db820c.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm64/qcom/apq8096-db820c.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -580,6 +580,8 @@ l21 { regulator-min-microvolt = <2950000>; regulator-max-microvolt = <2950000>; + regulator-allow-set-load; + regulator-system-load = <200000>; }; l22 { regulator-min-microvolt = <3300000>; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm64/renesas/r8a77995-draak.dts linux-4.19.98/scripts/dtc/include-prefixes/arm64/renesas/r8a77995-draak.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm64/renesas/r8a77995-draak.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm64/renesas/r8a77995-draak.dts 2020-01-23 07:21:39.000000000 +0000 @@ -188,7 +188,7 @@ compatible = "adi,adv7180cp"; reg = <0x20>; - port { + ports { #address-cells = <1>; #size-cells = <0>; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-clk.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-clk.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-clk.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-clk.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -58,13 +58,13 @@ clock-accuracy = <100>; }; - dpdma_clk: dpdma_clk { + dpdma_clk: dpdma-clk { compatible = "fixed-clock"; #clock-cells = <0x0>; clock-frequency = <533000000>; }; - drm_clock: drm_clock { + drm_clock: drm-clock { compatible = "fixed-clock"; #clock-cells = <0x0>; clock-frequency = <262750000>; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-zcu100-revC.dts linux-4.19.98/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-zcu100-revC.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-zcu100-revC.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-zcu100-revC.dts 2020-01-23 07:21:39.000000000 +0000 @@ -82,7 +82,7 @@ linux,default-trigger = "bluetooth-power"; }; - vbus_det { /* U5 USB5744 VBUS detection via MIO25 */ + vbus-det { /* U5 USB5744 VBUS detection via MIO25 */ label = "vbus_det"; gpios = <&gpio 25 GPIO_ACTIVE_HIGH>; default-state = "on"; @@ -98,7 +98,7 @@ regulator-boot-on; }; - sdio_pwrseq: sdio_pwrseq { + sdio_pwrseq: sdio-pwrseq { compatible = "mmc-pwrseq-simple"; reset-gpios = <&gpio 7 GPIO_ACTIVE_LOW>; /* WIFI_EN */ post-power-on-delay-ms = <10>; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-zcu102-revA.dts linux-4.19.98/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-zcu102-revA.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-zcu102-revA.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-zcu102-revA.dts 2020-01-23 07:21:39.000000000 +0000 @@ -53,7 +53,7 @@ leds { compatible = "gpio-leds"; - heartbeat_led { + heartbeat-led { label = "heartbeat"; gpios = <&gpio 23 GPIO_ACTIVE_HIGH>; linux,default-trigger = "heartbeat"; @@ -139,25 +139,25 @@ * 7, 10 - 17 - not connected */ - gtr_sel0 { + gtr-sel0 { gpio-hog; gpios = <0 0>; output-low; /* PCIE = 0, DP = 1 */ line-name = "sel0"; }; - gtr_sel1 { + gtr-sel1 { gpio-hog; gpios = <1 0>; output-high; /* PCIE = 0, DP = 1 */ line-name = "sel1"; }; - gtr_sel2 { + gtr-sel2 { gpio-hog; gpios = <2 0>; output-high; /* PCIE = 0, USB0 = 1 */ line-name = "sel2"; }; - gtr_sel3 { + gtr-sel3 { gpio-hog; gpios = <3 0>; output-high; /* PCIE = 0, SATA = 1 */ diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-zcu106-revA.dts linux-4.19.98/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-zcu106-revA.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-zcu106-revA.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-zcu106-revA.dts 2020-01-23 07:21:39.000000000 +0000 @@ -53,7 +53,7 @@ leds { compatible = "gpio-leds"; - heartbeat_led { + heartbeat-led { label = "heartbeat"; gpios = <&gpio 23 GPIO_ACTIVE_HIGH>; linux,default-trigger = "heartbeat"; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-zcu111-revA.dts linux-4.19.98/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-zcu111-revA.dts --- linux-4.19.87/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-zcu111-revA.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp-zcu111-revA.dts 2020-01-23 07:21:39.000000000 +0000 @@ -53,7 +53,7 @@ leds { compatible = "gpio-leds"; - heartbeat_led { + heartbeat-led { label = "heartbeat"; gpios = <&gpio 23 GPIO_ACTIVE_HIGH>; linux,default-trigger = "heartbeat"; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp.dtsi linux-4.19.98/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp.dtsi --- linux-4.19.87/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp.dtsi 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/arm64/xilinx/zynqmp.dtsi 2020-01-23 07:21:39.000000000 +0000 @@ -71,7 +71,7 @@ }; }; - cpu_opp_table: cpu_opp_table { + cpu_opp_table: cpu-opp-table { compatible = "operating-points-v2"; opp-shared; opp00 { @@ -124,7 +124,7 @@ <1 10 0xf08>; }; - amba_apu: amba_apu@0 { + amba_apu: amba-apu@0 { compatible = "simple-bus"; #address-cells = <2>; #size-cells = <1>; diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/dt-bindings/clock/rk3328-cru.h linux-4.19.98/scripts/dtc/include-prefixes/dt-bindings/clock/rk3328-cru.h --- linux-4.19.87/scripts/dtc/include-prefixes/dt-bindings/clock/rk3328-cru.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/dt-bindings/clock/rk3328-cru.h 2020-01-23 07:21:39.000000000 +0000 @@ -178,7 +178,7 @@ #define HCLK_TSP 309 #define HCLK_GMAC 310 #define HCLK_I2S0_8CH 311 -#define HCLK_I2S1_8CH 313 +#define HCLK_I2S1_8CH 312 #define HCLK_I2S2_2CH 313 #define HCLK_SPDIF_8CH 314 #define HCLK_VOP 315 diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/dt-bindings/power/r8a77970-sysc.h linux-4.19.98/scripts/dtc/include-prefixes/dt-bindings/power/r8a77970-sysc.h --- linux-4.19.87/scripts/dtc/include-prefixes/dt-bindings/power/r8a77970-sysc.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/dt-bindings/power/r8a77970-sysc.h 2020-01-23 07:21:39.000000000 +0000 @@ -19,10 +19,10 @@ #define R8A77970_PD_CR7 13 #define R8A77970_PD_CA53_SCU 21 #define R8A77970_PD_A2IR0 23 -#define R8A77970_PD_A3IR 24 +#define R8A77970_PD_A3IR 24 #define R8A77970_PD_A2IR1 27 -#define R8A77970_PD_A2IR2 28 -#define R8A77970_PD_A2IR3 29 +#define R8A77970_PD_A2DP 28 +#define R8A77970_PD_A2CN 29 #define R8A77970_PD_A2SC0 30 #define R8A77970_PD_A2SC1 31 diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/dt-bindings/power/r8a77980-sysc.h linux-4.19.98/scripts/dtc/include-prefixes/dt-bindings/power/r8a77980-sysc.h --- linux-4.19.87/scripts/dtc/include-prefixes/dt-bindings/power/r8a77980-sysc.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/dt-bindings/power/r8a77980-sysc.h 2020-01-23 07:21:39.000000000 +0000 @@ -15,14 +15,14 @@ #define R8A77980_PD_A2SC2 0 #define R8A77980_PD_A2SC3 1 #define R8A77980_PD_A2SC4 2 -#define R8A77980_PD_A2PD0 3 -#define R8A77980_PD_A2PD1 4 +#define R8A77980_PD_A2DP0 3 +#define R8A77980_PD_A2DP1 4 #define R8A77980_PD_CA53_CPU0 5 #define R8A77980_PD_CA53_CPU1 6 #define R8A77980_PD_CA53_CPU2 7 #define R8A77980_PD_CA53_CPU3 8 #define R8A77980_PD_A2CN 10 -#define R8A77980_PD_A3VIP 11 +#define R8A77980_PD_A3VIP0 11 #define R8A77980_PD_A2IR5 12 #define R8A77980_PD_CR7 13 #define R8A77980_PD_A2IR4 15 diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/dt-bindings/reset/amlogic,meson8b-reset.h linux-4.19.98/scripts/dtc/include-prefixes/dt-bindings/reset/amlogic,meson8b-reset.h --- linux-4.19.87/scripts/dtc/include-prefixes/dt-bindings/reset/amlogic,meson8b-reset.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/dt-bindings/reset/amlogic,meson8b-reset.h 2020-01-23 07:21:39.000000000 +0000 @@ -95,9 +95,9 @@ #define RESET_VD_RMEM 64 #define RESET_AUDIN 65 #define RESET_DBLK 66 -#define RESET_PIC_DC 66 -#define RESET_PSC 66 -#define RESET_NAND 66 +#define RESET_PIC_DC 67 +#define RESET_PSC 68 +#define RESET_NAND 69 #define RESET_GE2D 70 #define RESET_PARSER_REG 71 #define RESET_PARSER_FETCH 72 diff -Nru linux-4.19.87/scripts/dtc/include-prefixes/powerpc/bamboo.dts linux-4.19.98/scripts/dtc/include-prefixes/powerpc/bamboo.dts --- linux-4.19.87/scripts/dtc/include-prefixes/powerpc/bamboo.dts 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/dtc/include-prefixes/powerpc/bamboo.dts 2020-01-23 07:21:39.000000000 +0000 @@ -268,8 +268,10 @@ /* Outbound ranges, one memory and one IO, * later cannot be changed. Chip supports a second * IO range but we don't use it for now + * The chip also supports a larger memory range but + * it's not naturally aligned, so our code will break */ - ranges = <0x02000000 0x00000000 0xa0000000 0x00000000 0xa0000000 0x00000000 0x40000000 + ranges = <0x02000000 0x00000000 0xa0000000 0x00000000 0xa0000000 0x00000000 0x20000000 0x02000000 0x00000000 0x00000000 0x00000000 0xe0000000 0x00000000 0x00100000 0x01000000 0x00000000 0x00000000 0x00000000 0xe8000000 0x00000000 0x00010000>; diff -Nru linux-4.19.87/scripts/gdb/linux/symbols.py linux-4.19.98/scripts/gdb/linux/symbols.py --- linux-4.19.87/scripts/gdb/linux/symbols.py 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/gdb/linux/symbols.py 2020-01-23 07:21:39.000000000 +0000 @@ -99,7 +99,8 @@ attrs[n]['name'].string(): attrs[n]['address'] for n in range(int(sect_attrs['nsections']))} args = [] - for section_name in [".data", ".data..read_mostly", ".rodata", ".bss"]: + for section_name in [".data", ".data..read_mostly", ".rodata", ".bss", + ".text", ".text.hot", ".text.unlikely"]: address = section_name_to_address.get(section_name) if address: args.append(" -s {name} {addr}".format( diff -Nru linux-4.19.87/scripts/kallsyms.c linux-4.19.98/scripts/kallsyms.c --- linux-4.19.87/scripts/kallsyms.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/kallsyms.c 2020-01-23 07:21:39.000000000 +0000 @@ -491,6 +491,8 @@ table[pos] = table[i]; learn_symbol(table[pos].sym, table[pos].len); pos++; + } else { + free(table[i].sym); } } table_cnt = pos; diff -Nru linux-4.19.87/scripts/kconfig/expr.c linux-4.19.98/scripts/kconfig/expr.c --- linux-4.19.87/scripts/kconfig/expr.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/kconfig/expr.c 2020-01-23 07:21:39.000000000 +0000 @@ -252,6 +252,13 @@ { int res, old_count; + /* + * A NULL expr is taken to be yes, but there's also a different way to + * represent yes. expr_is_yes() checks for either representation. + */ + if (!e1 || !e2) + return expr_is_yes(e1) && expr_is_yes(e2); + if (e1->type != e2->type) return 0; switch (e1->type) { diff -Nru linux-4.19.87/scripts/mod/modpost.c linux-4.19.98/scripts/mod/modpost.c --- linux-4.19.87/scripts/mod/modpost.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/scripts/mod/modpost.c 2020-01-23 07:21:39.000000000 +0000 @@ -1163,6 +1163,14 @@ * fromsec = text section * refsymname = *.constprop.* * + * Pattern 6: + * Hide section mismatch warnings for ELF local symbols. The goal + * is to eliminate false positive modpost warnings caused by + * compiler-generated ELF local symbol names such as ".LANCHOR1". + * Autogenerated symbol names bypass modpost's "Pattern 2" + * whitelisting, which relies on pattern-matching against symbol + * names to work. (One situation where gcc can autogenerate ELF + * local symbols is when "-fsection-anchors" is used.) **/ static int secref_whitelist(const struct sectioncheck *mismatch, const char *fromsec, const char *fromsym, @@ -1201,6 +1209,10 @@ match(fromsym, optim_symbols)) return 0; + /* Check for pattern 6 */ + if (strstarts(fromsym, ".L")) + return 0; + return 1; } diff -Nru linux-4.19.87/security/apparmor/apparmorfs.c linux-4.19.98/security/apparmor/apparmorfs.c --- linux-4.19.87/security/apparmor/apparmorfs.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/security/apparmor/apparmorfs.c 2020-01-23 07:21:39.000000000 +0000 @@ -361,6 +361,7 @@ simple_rmdir(dir, dentry); else simple_unlink(dir, dentry); + d_delete(dentry); dput(dentry); } inode_unlock(dir); @@ -592,7 +593,7 @@ void __aa_bump_ns_revision(struct aa_ns *ns) { - ns->revision++; + WRITE_ONCE(ns->revision, ns->revision + 1); wake_up_interruptible(&ns->wait); } diff -Nru linux-4.19.87/security/apparmor/capability.c linux-4.19.98/security/apparmor/capability.c --- linux-4.19.87/security/apparmor/capability.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/security/apparmor/capability.c 2020-01-23 07:21:39.000000000 +0000 @@ -110,13 +110,13 @@ * profile_capable - test if profile allows use of capability @cap * @profile: profile being enforced (NOT NULL, NOT unconfined) * @cap: capability to test if allowed - * @audit: whether an audit record should be generated + * @opts: CAP_OPT_NOAUDIT bit determines whether audit record is generated * @sa: audit data (MAY BE NULL indicating no auditing) * * Returns: 0 if allowed else -EPERM */ -static int profile_capable(struct aa_profile *profile, int cap, int audit, - struct common_audit_data *sa) +static int profile_capable(struct aa_profile *profile, int cap, + unsigned int opts, struct common_audit_data *sa) { int error; @@ -126,7 +126,7 @@ else error = -EPERM; - if (audit == SECURITY_CAP_NOAUDIT) { + if (opts & CAP_OPT_NOAUDIT) { if (!COMPLAIN_MODE(profile)) return error; /* audit the cap request in complain mode but note that it @@ -142,13 +142,13 @@ * aa_capable - test permission to use capability * @label: label being tested for capability (NOT NULL) * @cap: capability to be tested - * @audit: whether an audit record should be generated + * @opts: CAP_OPT_NOAUDIT bit determines whether audit record is generated * * Look up capability in profile capability set. * * Returns: 0 on success, or else an error code. */ -int aa_capable(struct aa_label *label, int cap, int audit) +int aa_capable(struct aa_label *label, int cap, unsigned int opts) { struct aa_profile *profile; int error = 0; @@ -156,7 +156,7 @@ sa.u.cap = cap; error = fn_for_each_confined(label, profile, - profile_capable(profile, cap, audit, &sa)); + profile_capable(profile, cap, opts, &sa)); return error; } diff -Nru linux-4.19.87/security/apparmor/domain.c linux-4.19.98/security/apparmor/domain.c --- linux-4.19.87/security/apparmor/domain.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/security/apparmor/domain.c 2020-01-23 07:21:39.000000000 +0000 @@ -321,6 +321,7 @@ if (!bprm || !profile->xattr_count) return 0; + might_sleep(); /* transition from exec match to xattr set */ state = aa_dfa_null_transition(profile->xmatch, state); @@ -365,10 +366,11 @@ } /** - * __attach_match_ - find an attachment match + * find_attach - do attachment search for unconfined processes * @bprm - binprm structure of transitioning task - * @name - to match against (NOT NULL) + * @ns: the current namespace (NOT NULL) * @head - profile list to walk (NOT NULL) + * @name - to match against (NOT NULL) * @info - info message if there was an error (NOT NULL) * * Do a linear search on the profiles in the list. There is a matching @@ -378,12 +380,11 @@ * * Requires: @head not be shared or have appropriate locks held * - * Returns: profile or NULL if no match found + * Returns: label or NULL if no match found */ -static struct aa_profile *__attach_match(const struct linux_binprm *bprm, - const char *name, - struct list_head *head, - const char **info) +static struct aa_label *find_attach(const struct linux_binprm *bprm, + struct aa_ns *ns, struct list_head *head, + const char *name, const char **info) { int candidate_len = 0, candidate_xattrs = 0; bool conflict = false; @@ -392,6 +393,8 @@ AA_BUG(!name); AA_BUG(!head); + rcu_read_lock(); +restart: list_for_each_entry_rcu(profile, head, base.list) { if (profile->label.flags & FLAG_NULL && &profile->label == ns_unconfined(profile->ns)) @@ -417,16 +420,32 @@ perm = dfa_user_allow(profile->xmatch, state); /* any accepting state means a valid match. */ if (perm & MAY_EXEC) { - int ret; + int ret = 0; if (count < candidate_len) continue; - ret = aa_xattrs_match(bprm, profile, state); - /* Fail matching if the xattrs don't match */ - if (ret < 0) - continue; + if (bprm && profile->xattr_count) { + long rev = READ_ONCE(ns->revision); + if (!aa_get_profile_not0(profile)) + goto restart; + rcu_read_unlock(); + ret = aa_xattrs_match(bprm, profile, + state); + rcu_read_lock(); + aa_put_profile(profile); + if (rev != + READ_ONCE(ns->revision)) + /* policy changed */ + goto restart; + /* + * Fail matching if the xattrs don't + * match + */ + if (ret < 0) + continue; + } /* * TODO: allow for more flexible best match * @@ -449,43 +468,28 @@ candidate_xattrs = ret; conflict = false; } - } else if (!strcmp(profile->base.name, name)) + } else if (!strcmp(profile->base.name, name)) { /* * old exact non-re match, without conditionals such * as xattrs. no more searching required */ - return profile; + candidate = profile; + goto out; + } } - if (conflict) { - *info = "conflicting profile attachments"; + if (!candidate || conflict) { + if (conflict) + *info = "conflicting profile attachments"; + rcu_read_unlock(); return NULL; } - return candidate; -} - -/** - * find_attach - do attachment search for unconfined processes - * @bprm - binprm structure of transitioning task - * @ns: the current namespace (NOT NULL) - * @list: list to search (NOT NULL) - * @name: the executable name to match against (NOT NULL) - * @info: info message if there was an error - * - * Returns: label or NULL if no match found - */ -static struct aa_label *find_attach(const struct linux_binprm *bprm, - struct aa_ns *ns, struct list_head *list, - const char *name, const char **info) -{ - struct aa_profile *profile; - - rcu_read_lock(); - profile = aa_get_profile(__attach_match(bprm, name, list, info)); +out: + candidate = aa_get_newest_profile(candidate); rcu_read_unlock(); - return profile ? &profile->label : NULL; + return &candidate->label; } static const char *next_name(int xtype, const char *name) diff -Nru linux-4.19.87/security/apparmor/include/capability.h linux-4.19.98/security/apparmor/include/capability.h --- linux-4.19.87/security/apparmor/include/capability.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/security/apparmor/include/capability.h 2020-01-23 07:21:39.000000000 +0000 @@ -40,7 +40,7 @@ extern struct aa_sfs_entry aa_sfs_entry_caps[]; -int aa_capable(struct aa_label *label, int cap, int audit); +int aa_capable(struct aa_label *label, int cap, unsigned int opts); static inline void aa_free_cap_rules(struct aa_caps *caps) { diff -Nru linux-4.19.87/security/apparmor/ipc.c linux-4.19.98/security/apparmor/ipc.c --- linux-4.19.87/security/apparmor/ipc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/security/apparmor/ipc.c 2020-01-23 07:21:39.000000000 +0000 @@ -107,7 +107,8 @@ aad(sa)->label = &tracer->label; aad(sa)->peer = tracee; aad(sa)->request = 0; - aad(sa)->error = aa_capable(&tracer->label, CAP_SYS_PTRACE, 1); + aad(sa)->error = aa_capable(&tracer->label, CAP_SYS_PTRACE, + CAP_OPT_NONE); return aa_audit(AUDIT_APPARMOR_AUTO, tracer, sa, audit_ptrace_cb); } diff -Nru linux-4.19.87/security/apparmor/label.c linux-4.19.98/security/apparmor/label.c --- linux-4.19.87/security/apparmor/label.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/security/apparmor/label.c 2020-01-23 07:21:39.000000000 +0000 @@ -1462,11 +1462,13 @@ /* helper macro for snprint routines */ #define update_for_len(total, len, size, str) \ do { \ + size_t ulen = len; \ + \ AA_BUG(len < 0); \ - total += len; \ - len = min(len, size); \ - size -= len; \ - str += len; \ + total += ulen; \ + ulen = min(ulen, size); \ + size -= ulen; \ + str += ulen; \ } while (0) /** @@ -1601,7 +1603,7 @@ struct aa_ns *prev_ns = NULL; struct label_it i; int count = 0, total = 0; - size_t len; + ssize_t len; AA_BUG(!str && size != 0); AA_BUG(!label); diff -Nru linux-4.19.87/security/apparmor/lsm.c linux-4.19.98/security/apparmor/lsm.c --- linux-4.19.87/security/apparmor/lsm.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/security/apparmor/lsm.c 2020-01-23 07:21:39.000000000 +0000 @@ -174,14 +174,14 @@ } static int apparmor_capable(const struct cred *cred, struct user_namespace *ns, - int cap, int audit) + int cap, unsigned int opts) { struct aa_label *label; int error = 0; label = aa_get_newest_cred_label(cred); if (!unconfined(label)) - error = aa_capable(label, cap, audit); + error = aa_capable(label, cap, opts); aa_put_label(label); return error; diff -Nru linux-4.19.87/security/apparmor/policy.c linux-4.19.98/security/apparmor/policy.c --- linux-4.19.87/security/apparmor/policy.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/security/apparmor/policy.c 2020-01-23 07:21:39.000000000 +0000 @@ -1126,8 +1126,8 @@ if (!name) { /* remove namespace - can only happen if fqname[0] == ':' */ mutex_lock_nested(&ns->parent->lock, ns->level); - __aa_remove_ns(ns); __aa_bump_ns_revision(ns); + __aa_remove_ns(ns); mutex_unlock(&ns->parent->lock); } else { /* remove profile */ @@ -1139,9 +1139,9 @@ goto fail_ns_lock; } name = profile->base.hname; + __aa_bump_ns_revision(ns); __remove_profile(profile); __aa_labelset_update_subtree(ns); - __aa_bump_ns_revision(ns); mutex_unlock(&ns->lock); } diff -Nru linux-4.19.87/security/apparmor/resource.c linux-4.19.98/security/apparmor/resource.c --- linux-4.19.87/security/apparmor/resource.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/security/apparmor/resource.c 2020-01-23 07:21:39.000000000 +0000 @@ -124,7 +124,7 @@ */ if (label != peer && - aa_capable(label, CAP_SYS_RESOURCE, SECURITY_CAP_NOAUDIT) != 0) + aa_capable(label, CAP_SYS_RESOURCE, CAP_OPT_NOAUDIT) != 0) error = fn_for_each(label, profile, audit_resource(profile, resource, new_rlim->rlim_max, peer, diff -Nru linux-4.19.87/security/commoncap.c linux-4.19.98/security/commoncap.c --- linux-4.19.87/security/commoncap.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/security/commoncap.c 2020-01-23 07:21:39.000000000 +0000 @@ -69,7 +69,7 @@ * kernel's capable() and has_capability() returns 1 for this case. */ int cap_capable(const struct cred *cred, struct user_namespace *targ_ns, - int cap, int audit) + int cap, unsigned int opts) { struct user_namespace *ns = targ_ns; @@ -223,12 +223,11 @@ */ static inline int cap_inh_is_capped(void) { - /* they are so limited unless the current task has the CAP_SETPCAP * capability */ if (cap_capable(current_cred(), current_cred()->user_ns, - CAP_SETPCAP, SECURITY_CAP_AUDIT) == 0) + CAP_SETPCAP, CAP_OPT_NONE) == 0) return 0; return 1; } @@ -1212,8 +1211,9 @@ || ((old->securebits & SECURE_ALL_LOCKS & ~arg2)) /*[2]*/ || (arg2 & ~(SECURE_ALL_LOCKS | SECURE_ALL_BITS)) /*[3]*/ || (cap_capable(current_cred(), - current_cred()->user_ns, CAP_SETPCAP, - SECURITY_CAP_AUDIT) != 0) /*[4]*/ + current_cred()->user_ns, + CAP_SETPCAP, + CAP_OPT_NONE) != 0) /*[4]*/ /* * [1] no changing of bits that are locked * [2] no unlocking of locks @@ -1308,9 +1308,10 @@ { int cap_sys_admin = 0; - if (cap_capable(current_cred(), &init_user_ns, CAP_SYS_ADMIN, - SECURITY_CAP_NOAUDIT) == 0) + if (cap_capable(current_cred(), &init_user_ns, + CAP_SYS_ADMIN, CAP_OPT_NOAUDIT) == 0) cap_sys_admin = 1; + return cap_sys_admin; } @@ -1329,7 +1330,7 @@ if (addr < dac_mmap_min_addr) { ret = cap_capable(current_cred(), &init_user_ns, CAP_SYS_RAWIO, - SECURITY_CAP_AUDIT); + CAP_OPT_NONE); /* set PF_SUPERPRIV if it turns out we allow the low mmap */ if (ret == 0) current->flags |= PF_SUPERPRIV; diff -Nru linux-4.19.87/security/security.c linux-4.19.98/security/security.c --- linux-4.19.87/security/security.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/security/security.c 2020-01-23 07:21:39.000000000 +0000 @@ -283,16 +283,12 @@ effective, inheritable, permitted); } -int security_capable(const struct cred *cred, struct user_namespace *ns, - int cap) +int security_capable(const struct cred *cred, + struct user_namespace *ns, + int cap, + unsigned int opts) { - return call_int_hook(capable, 0, cred, ns, cap, SECURITY_CAP_AUDIT); -} - -int security_capable_noaudit(const struct cred *cred, struct user_namespace *ns, - int cap) -{ - return call_int_hook(capable, 0, cred, ns, cap, SECURITY_CAP_NOAUDIT); + return call_int_hook(capable, 0, cred, ns, cap, opts); } int security_quotactl(int cmds, int type, int id, struct super_block *sb) diff -Nru linux-4.19.87/security/selinux/hooks.c linux-4.19.98/security/selinux/hooks.c --- linux-4.19.87/security/selinux/hooks.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/security/selinux/hooks.c 2020-01-23 07:21:39.000000000 +0000 @@ -1794,7 +1794,7 @@ /* Check whether a task is allowed to use a capability. */ static int cred_has_capability(const struct cred *cred, - int cap, int audit, bool initns) + int cap, unsigned int opts, bool initns) { struct common_audit_data ad; struct av_decision avd; @@ -1821,7 +1821,7 @@ rc = avc_has_perm_noaudit(&selinux_state, sid, sid, sclass, av, 0, &avd); - if (audit == SECURITY_CAP_AUDIT) { + if (!(opts & CAP_OPT_NOAUDIT)) { int rc2 = avc_audit(&selinux_state, sid, sid, sclass, av, &avd, rc, &ad, 0); if (rc2) @@ -2341,9 +2341,9 @@ */ static int selinux_capable(const struct cred *cred, struct user_namespace *ns, - int cap, int audit) + int cap, unsigned int opts) { - return cred_has_capability(cred, cap, audit, ns == &init_user_ns); + return cred_has_capability(cred, cap, opts, ns == &init_user_ns); } static int selinux_quotactl(int cmds, int type, int id, struct super_block *sb) @@ -2417,7 +2417,7 @@ int rc, cap_sys_admin = 0; rc = cred_has_capability(current_cred(), CAP_SYS_ADMIN, - SECURITY_CAP_NOAUDIT, true); + CAP_OPT_NOAUDIT, true); if (rc == 0) cap_sys_admin = 1; @@ -3272,11 +3272,11 @@ static bool has_cap_mac_admin(bool audit) { const struct cred *cred = current_cred(); - int cap_audit = audit ? SECURITY_CAP_AUDIT : SECURITY_CAP_NOAUDIT; + unsigned int opts = audit ? CAP_OPT_NONE : CAP_OPT_NOAUDIT; - if (cap_capable(cred, &init_user_ns, CAP_MAC_ADMIN, cap_audit)) + if (cap_capable(cred, &init_user_ns, CAP_MAC_ADMIN, opts)) return false; - if (cred_has_capability(cred, CAP_MAC_ADMIN, cap_audit, true)) + if (cred_has_capability(cred, CAP_MAC_ADMIN, opts, true)) return false; return true; } @@ -3680,7 +3680,7 @@ case KDSKBENT: case KDSKBSENT: error = cred_has_capability(cred, CAP_SYS_TTY_CONFIG, - SECURITY_CAP_AUDIT, true); + CAP_OPT_NONE, true); break; /* default case assumes that the command will go diff -Nru linux-4.19.87/security/smack/smack_access.c linux-4.19.98/security/smack/smack_access.c --- linux-4.19.87/security/smack/smack_access.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/security/smack/smack_access.c 2020-01-23 07:21:39.000000000 +0000 @@ -640,7 +640,7 @@ struct smack_known_list_elem *sklep; int rc; - rc = cap_capable(cred, &init_user_ns, cap, SECURITY_CAP_AUDIT); + rc = cap_capable(cred, &init_user_ns, cap, CAP_OPT_NONE); if (rc) return false; diff -Nru linux-4.19.87/sound/core/compress_offload.c linux-4.19.98/sound/core/compress_offload.c --- linux-4.19.87/sound/core/compress_offload.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/core/compress_offload.c 2020-01-23 07:21:39.000000000 +0000 @@ -529,7 +529,7 @@ { /* first let's check the buffer parameter's */ if (params->buffer.fragment_size == 0 || - params->buffer.fragments > INT_MAX / params->buffer.fragment_size || + params->buffer.fragments > U32_MAX / params->buffer.fragment_size || params->buffer.fragments == 0) return -EINVAL; diff -Nru linux-4.19.87/sound/core/oss/linear.c linux-4.19.98/sound/core/oss/linear.c --- linux-4.19.87/sound/core/oss/linear.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/core/oss/linear.c 2020-01-23 07:21:39.000000000 +0000 @@ -107,6 +107,8 @@ } } #endif + if (frames > dst_channels[0].frames) + frames = dst_channels[0].frames; convert(plugin, src_channels, dst_channels, frames); return frames; } diff -Nru linux-4.19.87/sound/core/oss/mulaw.c linux-4.19.98/sound/core/oss/mulaw.c --- linux-4.19.87/sound/core/oss/mulaw.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/core/oss/mulaw.c 2020-01-23 07:21:39.000000000 +0000 @@ -269,6 +269,8 @@ } } #endif + if (frames > dst_channels[0].frames) + frames = dst_channels[0].frames; data = (struct mulaw_priv *)plugin->extra_data; data->func(plugin, src_channels, dst_channels, frames); return frames; diff -Nru linux-4.19.87/sound/core/oss/route.c linux-4.19.98/sound/core/oss/route.c --- linux-4.19.87/sound/core/oss/route.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/core/oss/route.c 2020-01-23 07:21:39.000000000 +0000 @@ -57,6 +57,8 @@ return -ENXIO; if (frames == 0) return 0; + if (frames > dst_channels[0].frames) + frames = dst_channels[0].frames; nsrcs = plugin->src_format.channels; ndsts = plugin->dst_format.channels; diff -Nru linux-4.19.87/sound/core/pcm_lib.c linux-4.19.98/sound/core/pcm_lib.c --- linux-4.19.87/sound/core/pcm_lib.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/core/pcm_lib.c 2020-01-23 07:21:39.000000000 +0000 @@ -1797,11 +1797,14 @@ struct snd_pcm_runtime *runtime; unsigned long flags; - if (PCM_RUNTIME_CHECK(substream)) + if (snd_BUG_ON(!substream)) return; - runtime = substream->runtime; snd_pcm_stream_lock_irqsave(substream, flags); + if (PCM_RUNTIME_CHECK(substream)) + goto _unlock; + runtime = substream->runtime; + if (!snd_pcm_running(substream) || snd_pcm_update_hw_ptr0(substream, 1) < 0) goto _end; @@ -1812,6 +1815,7 @@ #endif _end: kill_fasync(&runtime->fasync, SIGIO, POLL_IN); + _unlock: snd_pcm_stream_unlock_irqrestore(substream, flags); } EXPORT_SYMBOL(snd_pcm_period_elapsed); diff -Nru linux-4.19.87/sound/core/pcm_native.c linux-4.19.98/sound/core/pcm_native.c --- linux-4.19.87/sound/core/pcm_native.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/core/pcm_native.c 2020-01-23 07:21:39.000000000 +0000 @@ -752,6 +752,10 @@ while (runtime->boundary * 2 <= LONG_MAX - runtime->buffer_size) runtime->boundary *= 2; + /* clear the buffer for avoiding possible kernel info leaks */ + if (runtime->dma_area && !substream->ops->copy_user) + memset(runtime->dma_area, 0, runtime->dma_bytes); + snd_pcm_timer_resolution_change(substream); snd_pcm_set_state(substream, SNDRV_PCM_STATE_SETUP); diff -Nru linux-4.19.87/sound/core/seq/seq_timer.c linux-4.19.98/sound/core/seq/seq_timer.c --- linux-4.19.87/sound/core/seq/seq_timer.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/core/seq/seq_timer.c 2020-01-23 07:21:39.000000000 +0000 @@ -480,15 +480,19 @@ q = queueptr(idx); if (q == NULL) continue; - if ((tmr = q->timer) == NULL || - (ti = tmr->timeri) == NULL) { - queuefree(q); - continue; - } + mutex_lock(&q->timer_mutex); + tmr = q->timer; + if (!tmr) + goto unlock; + ti = tmr->timeri; + if (!ti) + goto unlock; snd_iprintf(buffer, "Timer for queue %i : %s\n", q->queue, ti->timer->name); resolution = snd_timer_resolution(ti) * tmr->ticks; snd_iprintf(buffer, " Period time : %lu.%09lu\n", resolution / 1000000000, resolution % 1000000000); snd_iprintf(buffer, " Skew : %u / %u\n", tmr->skew, tmr->skew_base); +unlock: + mutex_unlock(&q->timer_mutex); queuefree(q); } } diff -Nru linux-4.19.87/sound/core/timer.c linux-4.19.98/sound/core/timer.c --- linux-4.19.87/sound/core/timer.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/core/timer.c 2020-01-23 07:21:39.000000000 +0000 @@ -88,6 +88,9 @@ /* lock for slave active lists */ static DEFINE_SPINLOCK(slave_active_lock); +#define MAX_SLAVE_INSTANCES 1000 +static int num_slaves; + static DEFINE_MUTEX(register_mutex); static int snd_timer_free(struct snd_timer *timer); @@ -266,6 +269,10 @@ err = -EINVAL; goto unlock; } + if (num_slaves >= MAX_SLAVE_INSTANCES) { + err = -EBUSY; + goto unlock; + } timeri = snd_timer_instance_new(owner, NULL); if (!timeri) { err = -ENOMEM; @@ -275,6 +282,7 @@ timeri->slave_id = tid->device; timeri->flags |= SNDRV_TIMER_IFLG_SLAVE; list_add_tail(&timeri->open_list, &snd_timer_slave_list); + num_slaves++; err = snd_timer_check_slave(timeri); if (err < 0) { snd_timer_close_locked(timeri, &card_dev_to_put); @@ -364,6 +372,8 @@ struct snd_timer_instance *slave, *tmp; list_del(&timeri->open_list); + if (timeri->flags & SNDRV_TIMER_IFLG_SLAVE) + num_slaves--; /* force to stop the timer */ snd_timer_stop(timeri); diff -Nru linux-4.19.87/sound/firewire/dice/dice-extension.c linux-4.19.98/sound/firewire/dice/dice-extension.c --- linux-4.19.87/sound/firewire/dice/dice-extension.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/firewire/dice/dice-extension.c 2020-01-23 07:21:39.000000000 +0000 @@ -159,8 +159,11 @@ int j; for (j = i + 1; j < 9; ++j) { - if (pointers[i * 2] == pointers[j * 2]) + if (pointers[i * 2] == pointers[j * 2]) { + // Fallback to limited functionality. + err = -ENXIO; goto end; + } } } diff -Nru linux-4.19.87/sound/firewire/motu/motu-proc.c linux-4.19.98/sound/firewire/motu/motu-proc.c --- linux-4.19.87/sound/firewire/motu/motu-proc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/firewire/motu/motu-proc.c 2020-01-23 07:21:39.000000000 +0000 @@ -17,7 +17,7 @@ [SND_MOTU_CLOCK_SOURCE_SPDIF_ON_OPT] = "S/PDIF on optical interface", [SND_MOTU_CLOCK_SOURCE_SPDIF_ON_OPT_A] = "S/PDIF on optical interface A", [SND_MOTU_CLOCK_SOURCE_SPDIF_ON_OPT_B] = "S/PDIF on optical interface B", - [SND_MOTU_CLOCK_SOURCE_SPDIF_ON_COAX] = "S/PCIF on coaxial interface", + [SND_MOTU_CLOCK_SOURCE_SPDIF_ON_COAX] = "S/PDIF on coaxial interface", [SND_MOTU_CLOCK_SOURCE_AESEBU_ON_XLR] = "AESEBU on XLR interface", [SND_MOTU_CLOCK_SOURCE_WORD_ON_BNC] = "Word clock on BNC interface", }; diff -Nru linux-4.19.87/sound/isa/cs423x/cs4236.c linux-4.19.98/sound/isa/cs423x/cs4236.c --- linux-4.19.87/sound/isa/cs423x/cs4236.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/isa/cs423x/cs4236.c 2020-01-23 07:21:39.000000000 +0000 @@ -293,7 +293,8 @@ } else { mpu_port[dev] = pnp_port_start(pdev, 0); if (mpu_irq[dev] >= 0 && - pnp_irq_valid(pdev, 0) && pnp_irq(pdev, 0) >= 0) { + pnp_irq_valid(pdev, 0) && + pnp_irq(pdev, 0) != (resource_size_t)-1) { mpu_irq[dev] = pnp_irq(pdev, 0); } else { mpu_irq[dev] = -1; /* disable interrupt */ diff -Nru linux-4.19.87/sound/pci/hda/hda_bind.c linux-4.19.98/sound/pci/hda/hda_bind.c --- linux-4.19.87/sound/pci/hda/hda_bind.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/pci/hda/hda_bind.c 2020-01-23 07:21:39.000000000 +0000 @@ -42,6 +42,10 @@ { struct hda_codec *codec = container_of(dev, struct hda_codec, core); + /* ignore unsol events during shutdown */ + if (codec->bus->shutdown) + return; + if (codec->patch_ops.unsol_event) codec->patch_ops.unsol_event(codec, ev); } diff -Nru linux-4.19.87/sound/pci/hda/hda_controller.c linux-4.19.98/sound/pci/hda/hda_controller.c --- linux-4.19.87/sound/pci/hda/hda_controller.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/pci/hda/hda_controller.c 2020-01-23 07:21:39.000000000 +0000 @@ -883,7 +883,7 @@ return -EAGAIN; /* give a chance to retry */ } - dev_WARN(chip->card->dev, + dev_err(chip->card->dev, "azx_get_response timeout, switching to single_cmd mode: last cmd=0x%08x\n", bus->last_cmd[addr]); chip->single_cmd = 1; diff -Nru linux-4.19.87/sound/pci/hda/hda_intel.c linux-4.19.98/sound/pci/hda/hda_intel.c --- linux-4.19.87/sound/pci/hda/hda_intel.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/pci/hda/hda_intel.c 2020-01-23 07:21:39.000000000 +0000 @@ -1492,8 +1492,11 @@ static int azx_dev_disconnect(struct snd_device *device) { struct azx *chip = device->device_data; + struct hdac_bus *bus = azx_bus(chip); chip->bus.shutdown = 1; + cancel_work_sync(&bus->unsol_work); + return 0; } diff -Nru linux-4.19.87/sound/pci/hda/patch_ca0132.c linux-4.19.98/sound/pci/hda/patch_ca0132.c --- linux-4.19.87/sound/pci/hda/patch_ca0132.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/pci/hda/patch_ca0132.c 2020-01-23 07:21:39.000000000 +0000 @@ -1683,13 +1683,14 @@ static void dspio_clear_response_queue(struct hda_codec *codec) { + unsigned long timeout = jiffies + msecs_to_jiffies(1000); unsigned int dummy = 0; - int status = -1; + int status; /* clear all from the response queue */ do { status = dspio_read(codec, &dummy); - } while (status == 0); + } while (status == 0 && time_before(jiffies, timeout)); } static int dspio_get_response_data(struct hda_codec *codec) @@ -6754,12 +6755,14 @@ struct ca0132_spec *spec = codec->spec; codec_dbg(codec, "ca0132_process_dsp_response\n"); + snd_hda_power_up_pm(codec); if (spec->wait_scp) { if (dspio_get_response_data(codec) >= 0) spec->wait_scp = 0; } dspio_clear_response_queue(codec); + snd_hda_power_down_pm(codec); } static void hp_callback(struct hda_codec *codec, struct hda_jack_callback *cb) @@ -6770,11 +6773,10 @@ /* Delay enabling the HP amp, to let the mic-detection * state machine run. */ - cancel_delayed_work(&spec->unsol_hp_work); - schedule_delayed_work(&spec->unsol_hp_work, msecs_to_jiffies(500)); tbl = snd_hda_jack_tbl_get(codec, cb->nid); if (tbl) tbl->block_report = 1; + schedule_delayed_work(&spec->unsol_hp_work, msecs_to_jiffies(500)); } static void amic_callback(struct hda_codec *codec, struct hda_jack_callback *cb) @@ -7408,12 +7410,25 @@ codec->patch_ops.free(codec); } +#ifdef CONFIG_PM +static int ca0132_suspend(struct hda_codec *codec) +{ + struct ca0132_spec *spec = codec->spec; + + cancel_delayed_work_sync(&spec->unsol_hp_work); + return 0; +} +#endif + static const struct hda_codec_ops ca0132_patch_ops = { .build_controls = ca0132_build_controls, .build_pcms = ca0132_build_pcms, .init = ca0132_init, .free = ca0132_free, .unsol_event = snd_hda_jack_unsol_event, +#ifdef CONFIG_PM + .suspend = ca0132_suspend, +#endif .reboot_notify = ca0132_reboot_notify, }; diff -Nru linux-4.19.87/sound/pci/hda/patch_conexant.c linux-4.19.98/sound/pci/hda/patch_conexant.c --- linux-4.19.87/sound/pci/hda/patch_conexant.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/pci/hda/patch_conexant.c 2020-01-23 07:21:39.000000000 +0000 @@ -923,6 +923,7 @@ SND_PCI_QUIRK(0x103c, 0x837f, "HP ProBook 470 G5", CXT_FIXUP_MUTE_LED_GPIO), SND_PCI_QUIRK(0x103c, 0x8299, "HP 800 G3 SFF", CXT_FIXUP_HP_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x103c, 0x829a, "HP 800 G3 DM", CXT_FIXUP_HP_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x103c, 0x8402, "HP ProBook 645 G4", CXT_FIXUP_MUTE_LED_GPIO), SND_PCI_QUIRK(0x103c, 0x8455, "HP Z2 G4", CXT_FIXUP_HP_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x103c, 0x8456, "HP Z2 G4 SFF", CXT_FIXUP_HP_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x103c, 0x8457, "HP Z2 G4 mini", CXT_FIXUP_HP_MIC_NO_PRESENCE), diff -Nru linux-4.19.87/sound/pci/hda/patch_realtek.c linux-4.19.98/sound/pci/hda/patch_realtek.c --- linux-4.19.87/sound/pci/hda/patch_realtek.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/pci/hda/patch_realtek.c 2020-01-23 07:21:39.000000000 +0000 @@ -379,9 +379,7 @@ case 0x10ec0215: case 0x10ec0233: case 0x10ec0235: - case 0x10ec0236: case 0x10ec0255: - case 0x10ec0256: case 0x10ec0257: case 0x10ec0282: case 0x10ec0283: @@ -393,6 +391,11 @@ case 0x10ec0300: alc_update_coef_idx(codec, 0x10, 1<<9, 0); break; + case 0x10ec0236: + case 0x10ec0256: + alc_write_coef_idx(codec, 0x36, 0x5757); + alc_update_coef_idx(codec, 0x10, 1<<9, 0); + break; case 0x10ec0275: alc_update_coef_idx(codec, 0xe, 0, 1<<0); break; @@ -421,6 +424,7 @@ case 0x10ec0672: alc_update_coef_idx(codec, 0xd, 0, 1<<14); /* EAPD Ctrl */ break; + case 0x10ec0222: case 0x10ec0623: alc_update_coef_idx(codec, 0x19, 1<<13, 0); break; @@ -439,6 +443,7 @@ break; case 0x10ec0899: case 0x10ec0900: + case 0x10ec0b00: case 0x10ec1168: case 0x10ec1220: alc_update_coef_idx(codec, 0x7, 1<<1, 0); @@ -510,6 +515,7 @@ struct alc_spec *spec = codec->spec; switch (codec->core.vendor_id) { + case 0x10ec0283: case 0x10ec0286: case 0x10ec0288: case 0x10ec0298: @@ -2517,6 +2523,7 @@ case 0x10ec0882: case 0x10ec0885: case 0x10ec0900: + case 0x10ec0b00: case 0x10ec1220: break; default: @@ -5438,6 +5445,16 @@ } } +/* force NID 0x17 (Bass Speaker) to DAC1 to share it with the main speaker */ +static void alc285_fixup_speaker2_to_dac1(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + if (action == HDA_FIXUP_ACT_PRE_PROBE) { + hda_nid_t conn[1] = { 0x02 }; + snd_hda_override_conn_list(codec, 0x17, 1, conn); + } +} + /* Hook to update amp GPIO4 for automute */ static void alc280_hp_gpio4_automute_hook(struct hda_codec *codec, struct hda_jack_callback *jack) @@ -5658,6 +5675,7 @@ ALC225_FIXUP_DISABLE_MIC_VREF, ALC225_FIXUP_DELL1_MIC_NO_PRESENCE, ALC295_FIXUP_DISABLE_DAC3, + ALC285_FIXUP_SPEAKER2_TO_DAC1, ALC280_FIXUP_HP_HEADSET_MIC, ALC221_FIXUP_HP_FRONT_MIC, ALC292_FIXUP_TPT460, @@ -5699,8 +5717,12 @@ ALC256_FIXUP_ASUS_HEADSET_MIC, ALC256_FIXUP_ASUS_MIC_NO_PRESENCE, ALC299_FIXUP_PREDATOR_SPK, - ALC294_FIXUP_ASUS_INTSPK_HEADSET_MIC, ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE, + ALC289_FIXUP_DELL_SPK2, + ALC289_FIXUP_DUAL_SPK, + ALC294_FIXUP_SPK2_TO_DAC1, + ALC294_FIXUP_ASUS_DUAL_SPK, + }; static const struct hda_fixup alc269_fixups[] = { @@ -6437,6 +6459,10 @@ .type = HDA_FIXUP_FUNC, .v.func = alc295_fixup_disable_dac3, }, + [ALC285_FIXUP_SPEAKER2_TO_DAC1] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc285_fixup_speaker2_to_dac1, + }, [ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER] = { .type = HDA_FIXUP_PINS, .v.pins = (const struct hda_pintbl[]) { @@ -6744,26 +6770,45 @@ { } } }, - [ALC294_FIXUP_ASUS_INTSPK_HEADSET_MIC] = { + [ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE] = { .type = HDA_FIXUP_PINS, .v.pins = (const struct hda_pintbl[]) { - { 0x14, 0x411111f0 }, /* disable confusing internal speaker */ - { 0x19, 0x04a11150 }, /* use as headset mic, without its own jack detect */ + { 0x19, 0x04a11040 }, + { 0x21, 0x04211020 }, { } }, .chained = true, - .chain_id = ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC + .chain_id = ALC256_FIXUP_ASUS_HEADSET_MODE }, - [ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE] = { + [ALC289_FIXUP_DELL_SPK2] = { .type = HDA_FIXUP_PINS, .v.pins = (const struct hda_pintbl[]) { - { 0x19, 0x04a11040 }, - { 0x21, 0x04211020 }, + { 0x17, 0x90170130 }, /* bass spk */ { } }, .chained = true, - .chain_id = ALC256_FIXUP_ASUS_HEADSET_MODE + .chain_id = ALC269_FIXUP_DELL4_MIC_NO_PRESENCE + }, + [ALC289_FIXUP_DUAL_SPK] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc285_fixup_speaker2_to_dac1, + .chained = true, + .chain_id = ALC289_FIXUP_DELL_SPK2 }, + [ALC294_FIXUP_SPK2_TO_DAC1] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc285_fixup_speaker2_to_dac1, + .chained = true, + .chain_id = ALC294_FIXUP_ASUS_HEADSET_MIC + }, + [ALC294_FIXUP_ASUS_DUAL_SPK] = { + .type = HDA_FIXUP_FUNC, + /* The GPIO must be pulled to initialize the AMP */ + .v.func = alc_fixup_gpio4, + .chained = true, + .chain_id = ALC294_FIXUP_SPK2_TO_DAC1 + }, + }; static const struct snd_pci_quirk alc269_fixup_tbl[] = { @@ -6836,6 +6881,8 @@ SND_PCI_QUIRK(0x1028, 0x08ad, "Dell WYSE AIO", ALC225_FIXUP_DELL_WYSE_AIO_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1028, 0x08ae, "Dell WYSE NB", ALC225_FIXUP_DELL1_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1028, 0x0935, "Dell", ALC274_FIXUP_DELL_AIO_LINEOUT_VERB), + SND_PCI_QUIRK(0x1028, 0x097e, "Dell Precision", ALC289_FIXUP_DUAL_SPK), + SND_PCI_QUIRK(0x1028, 0x097d, "Dell Precision", ALC289_FIXUP_DUAL_SPK), SND_PCI_QUIRK(0x1028, 0x164a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1028, 0x164b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC2), @@ -6923,7 +6970,7 @@ SND_PCI_QUIRK(0x1043, 0x1427, "Asus Zenbook UX31E", ALC269VB_FIXUP_ASUS_ZENBOOK), SND_PCI_QUIRK(0x1043, 0x1517, "Asus Zenbook UX31A", ALC269VB_FIXUP_ASUS_ZENBOOK_UX31A), SND_PCI_QUIRK(0x1043, 0x16e3, "ASUS UX50", ALC269_FIXUP_STEREO_DMIC), - SND_PCI_QUIRK(0x1043, 0x17d1, "ASUS UX431FL", ALC294_FIXUP_ASUS_INTSPK_HEADSET_MIC), + SND_PCI_QUIRK(0x1043, 0x17d1, "ASUS UX431FL", ALC294_FIXUP_ASUS_DUAL_SPK), SND_PCI_QUIRK(0x1043, 0x18b1, "Asus MJ401TA", ALC256_FIXUP_ASUS_HEADSET_MIC), SND_PCI_QUIRK(0x1043, 0x1a13, "Asus G73Jw", ALC269_FIXUP_ASUS_G73JW), SND_PCI_QUIRK(0x1043, 0x1a30, "ASUS X705UD", ALC256_FIXUP_ASUS_MIC), @@ -6995,6 +7042,8 @@ SND_PCI_QUIRK(0x17aa, 0x224c, "Thinkpad", ALC298_FIXUP_TPT470_DOCK), SND_PCI_QUIRK(0x17aa, 0x224d, "Thinkpad", ALC298_FIXUP_TPT470_DOCK), SND_PCI_QUIRK(0x17aa, 0x225d, "Thinkpad T480", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), + SND_PCI_QUIRK(0x17aa, 0x2292, "Thinkpad X1 Yoga 7th", ALC285_FIXUP_SPEAKER2_TO_DAC1), + SND_PCI_QUIRK(0x17aa, 0x2293, "Thinkpad X1 Carbon 7th", ALC285_FIXUP_SPEAKER2_TO_DAC1), SND_PCI_QUIRK(0x17aa, 0x30bb, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY), SND_PCI_QUIRK(0x17aa, 0x30e2, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY), SND_PCI_QUIRK(0x17aa, 0x310c, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION), @@ -7030,6 +7079,7 @@ SND_PCI_QUIRK(0x17aa, 0x9e54, "LENOVO NB", ALC269_FIXUP_LENOVO_EAPD), SND_PCI_QUIRK(0x19e5, 0x3204, "Huawei MBXP", ALC256_FIXUP_HUAWEI_MBXP_PINS), SND_PCI_QUIRK(0x1b7d, 0xa831, "Ordissimo EVE2 ", ALC269VB_FIXUP_ORDISSIMO_EVE2), /* Also known as Malata PC-B1303 */ + SND_PCI_QUIRK(0x1d72, 0x1901, "RedmiBook 14", ALC256_FIXUP_ASUS_HEADSET_MIC), SND_PCI_QUIRK(0x10ec, 0x118c, "Medion EE4254 MD62100", ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE), #if 0 @@ -7177,6 +7227,7 @@ {.id = ALC255_FIXUP_DELL_SPK_NOISE, .name = "dell-spk-noise"}, {.id = ALC225_FIXUP_DELL1_MIC_NO_PRESENCE, .name = "alc225-dell1"}, {.id = ALC295_FIXUP_DISABLE_DAC3, .name = "alc295-disable-dac3"}, + {.id = ALC285_FIXUP_SPEAKER2_TO_DAC1, .name = "alc285-speaker2-to-dac1"}, {.id = ALC280_FIXUP_HP_HEADSET_MIC, .name = "alc280-hp-headset"}, {.id = ALC221_FIXUP_HP_FRONT_MIC, .name = "alc221-hp-mic"}, {.id = ALC298_FIXUP_SPK_VOLUME, .name = "alc298-spk-volume"}, @@ -8942,6 +8993,7 @@ HDA_CODEC_ENTRY(0x10ec0892, "ALC892", patch_alc662), HDA_CODEC_ENTRY(0x10ec0899, "ALC898", patch_alc882), HDA_CODEC_ENTRY(0x10ec0900, "ALC1150", patch_alc882), + HDA_CODEC_ENTRY(0x10ec0b00, "ALCS1200A", patch_alc882), HDA_CODEC_ENTRY(0x10ec1168, "ALC1220", patch_alc882), HDA_CODEC_ENTRY(0x10ec1220, "ALC1220", patch_alc882), {} /* terminator */ diff -Nru linux-4.19.87/sound/pci/ice1712/ice1724.c linux-4.19.98/sound/pci/ice1712/ice1724.c --- linux-4.19.87/sound/pci/ice1712/ice1724.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/pci/ice1712/ice1724.c 2020-01-23 07:21:39.000000000 +0000 @@ -661,6 +661,7 @@ unsigned long flags; unsigned char mclk_change; unsigned int i, old_rate; + bool call_set_rate = false; if (rate > ice->hw_rates->list[ice->hw_rates->count - 1]) return -EINVAL; @@ -684,7 +685,7 @@ * setting clock rate for internal clock mode */ old_rate = ice->get_rate(ice); if (force || (old_rate != rate)) - ice->set_rate(ice, rate); + call_set_rate = true; else if (rate == ice->cur_rate) { spin_unlock_irqrestore(&ice->reg_lock, flags); return 0; @@ -692,12 +693,14 @@ } ice->cur_rate = rate; + spin_unlock_irqrestore(&ice->reg_lock, flags); + + if (call_set_rate) + ice->set_rate(ice, rate); /* setting master clock */ mclk_change = ice->set_mclk(ice, rate); - spin_unlock_irqrestore(&ice->reg_lock, flags); - if (mclk_change && ice->gpio.i2s_mclk_changed) ice->gpio.i2s_mclk_changed(ice); if (ice->gpio.set_pro_rate) diff -Nru linux-4.19.87/sound/soc/codecs/max98090.c linux-4.19.98/sound/soc/codecs/max98090.c --- linux-4.19.87/sound/soc/codecs/max98090.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/codecs/max98090.c 2020-01-23 07:21:39.000000000 +0000 @@ -2121,10 +2121,8 @@ M98090_IULK_MASK, 0); } -static void max98090_pll_work(struct work_struct *work) +static void max98090_pll_work(struct max98090_priv *max98090) { - struct max98090_priv *max98090 = - container_of(work, struct max98090_priv, pll_work); struct snd_soc_component *component = max98090->component; if (!snd_soc_component_is_active(component)) @@ -2277,7 +2275,7 @@ if (active & M98090_ULK_MASK) { dev_dbg(component->dev, "M98090_ULK_MASK\n"); - schedule_work(&max98090->pll_work); + max98090_pll_work(max98090); } if (active & M98090_JDET_MASK) { @@ -2440,7 +2438,6 @@ max98090_pll_det_enable_work); INIT_WORK(&max98090->pll_det_disable_work, max98090_pll_det_disable_work); - INIT_WORK(&max98090->pll_work, max98090_pll_work); /* Enable jack detection */ snd_soc_component_write(component, M98090_REG_JACK_DETECT, @@ -2493,7 +2490,6 @@ cancel_delayed_work_sync(&max98090->jack_work); cancel_delayed_work_sync(&max98090->pll_det_enable_work); cancel_work_sync(&max98090->pll_det_disable_work); - cancel_work_sync(&max98090->pll_work); max98090->component = NULL; } diff -Nru linux-4.19.87/sound/soc/codecs/max98090.h linux-4.19.98/sound/soc/codecs/max98090.h --- linux-4.19.87/sound/soc/codecs/max98090.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/codecs/max98090.h 2020-01-23 07:21:39.000000000 +0000 @@ -1533,7 +1533,6 @@ struct delayed_work jack_work; struct delayed_work pll_det_enable_work; struct work_struct pll_det_disable_work; - struct work_struct pll_work; struct snd_soc_jack *jack; unsigned int dai_fmt; int tdm_slots; diff -Nru linux-4.19.87/sound/soc/codecs/max9867.c linux-4.19.98/sound/soc/codecs/max9867.c --- linux-4.19.87/sound/soc/codecs/max9867.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/codecs/max9867.c 2020-01-23 07:21:39.000000000 +0000 @@ -248,17 +248,6 @@ return 0; } -static int max9867_prepare(struct snd_pcm_substream *substream, - struct snd_soc_dai *dai) -{ - struct snd_soc_component *component = dai->component; - struct max9867_priv *max9867 = snd_soc_component_get_drvdata(component); - - regmap_update_bits(max9867->regmap, MAX9867_PWRMAN, - MAX9867_SHTDOWN_MASK, MAX9867_SHTDOWN_MASK); - return 0; -} - static int max9867_mute(struct snd_soc_dai *dai, int mute) { struct snd_soc_component *component = dai->component; @@ -361,7 +350,6 @@ static const struct snd_soc_dai_ops max9867_dai_ops = { .set_fmt = max9867_dai_set_fmt, .set_sysclk = max9867_set_dai_sysclk, - .prepare = max9867_prepare, .digital_mute = max9867_mute, .hw_params = max9867_dai_hw_params, }; @@ -392,27 +380,59 @@ } }; -#ifdef CONFIG_PM_SLEEP -static int max9867_suspend(struct device *dev) +#ifdef CONFIG_PM +static int max9867_suspend(struct snd_soc_component *component) { - struct max9867_priv *max9867 = dev_get_drvdata(dev); + snd_soc_component_force_bias_level(component, SND_SOC_BIAS_OFF); - /* Drop down to power saving mode when system is suspended */ - regmap_update_bits(max9867->regmap, MAX9867_PWRMAN, - MAX9867_SHTDOWN_MASK, ~MAX9867_SHTDOWN_MASK); return 0; } -static int max9867_resume(struct device *dev) +static int max9867_resume(struct snd_soc_component *component) { - struct max9867_priv *max9867 = dev_get_drvdata(dev); + snd_soc_component_force_bias_level(component, SND_SOC_BIAS_STANDBY); - regmap_update_bits(max9867->regmap, MAX9867_PWRMAN, - MAX9867_SHTDOWN_MASK, MAX9867_SHTDOWN_MASK); return 0; } +#else +#define max9867_suspend NULL +#define max9867_resume NULL #endif +static int max9867_set_bias_level(struct snd_soc_component *component, + enum snd_soc_bias_level level) +{ + int err; + struct max9867_priv *max9867 = snd_soc_component_get_drvdata(component); + + switch (level) { + case SND_SOC_BIAS_STANDBY: + if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_OFF) { + err = regcache_sync(max9867->regmap); + if (err) + return err; + + err = regmap_update_bits(max9867->regmap, MAX9867_PWRMAN, + MAX9867_SHTDOWN, MAX9867_SHTDOWN); + if (err) + return err; + } + break; + case SND_SOC_BIAS_OFF: + err = regmap_update_bits(max9867->regmap, MAX9867_PWRMAN, + MAX9867_SHTDOWN, 0); + if (err) + return err; + + regcache_mark_dirty(max9867->regmap); + break; + default: + break; + } + + return 0; +} + static const struct snd_soc_component_driver max9867_component = { .controls = max9867_snd_controls, .num_controls = ARRAY_SIZE(max9867_snd_controls), @@ -420,6 +440,9 @@ .num_dapm_routes = ARRAY_SIZE(max9867_audio_map), .dapm_widgets = max9867_dapm_widgets, .num_dapm_widgets = ARRAY_SIZE(max9867_dapm_widgets), + .suspend = max9867_suspend, + .resume = max9867_resume, + .set_bias_level = max9867_set_bias_level, .idle_bias_on = 1, .use_pmdown_time = 1, .endianness = 1, @@ -518,15 +541,10 @@ }; MODULE_DEVICE_TABLE(of, max9867_of_match); -static const struct dev_pm_ops max9867_pm_ops = { - SET_SYSTEM_SLEEP_PM_OPS(max9867_suspend, max9867_resume) -}; - static struct i2c_driver max9867_i2c_driver = { .driver = { .name = "max9867", .of_match_table = of_match_ptr(max9867_of_match), - .pm = &max9867_pm_ops, }, .probe = max9867_i2c_probe, .id_table = max9867_i2c_id, diff -Nru linux-4.19.87/sound/soc/codecs/max9867.h linux-4.19.98/sound/soc/codecs/max9867.h --- linux-4.19.87/sound/soc/codecs/max9867.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/codecs/max9867.h 2020-01-23 07:21:39.000000000 +0000 @@ -67,7 +67,7 @@ #define MAX9867_MICCONFIG 0x15 #define MAX9867_MODECONFIG 0x16 #define MAX9867_PWRMAN 0x17 -#define MAX9867_SHTDOWN_MASK (1<<7) +#define MAX9867_SHTDOWN 0x80 #define MAX9867_REVISION 0xff #define MAX9867_CACHEREGNUM 10 diff -Nru linux-4.19.87/sound/soc/codecs/msm8916-wcd-analog.c linux-4.19.98/sound/soc/codecs/msm8916-wcd-analog.c --- linux-4.19.87/sound/soc/codecs/msm8916-wcd-analog.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/codecs/msm8916-wcd-analog.c 2020-01-23 07:21:39.000000000 +0000 @@ -303,7 +303,7 @@ }; static const char *const adc2_mux_text[] = { "ZERO", "INP2", "INP3" }; -static const char *const rdac2_mux_text[] = { "ZERO", "RX2", "RX1" }; +static const char *const rdac2_mux_text[] = { "RX1", "RX2" }; static const char *const hph_text[] = { "ZERO", "Switch", }; static const struct soc_enum hph_enum = SOC_ENUM_SINGLE_VIRT( @@ -318,7 +318,7 @@ /* RDAC2 MUX */ static const struct soc_enum rdac2_mux_enum = SOC_ENUM_SINGLE( - CDC_D_CDC_CONN_HPHR_DAC_CTL, 0, 3, rdac2_mux_text); + CDC_D_CDC_CONN_HPHR_DAC_CTL, 0, 2, rdac2_mux_text); static const struct snd_kcontrol_new spkr_switch[] = { SOC_DAPM_SINGLE("Switch", CDC_A_SPKR_DAC_CTL, 7, 1, 0) @@ -388,9 +388,6 @@ switch (event) { case SND_SOC_DAPM_PRE_PMU: - snd_soc_component_update_bits(component, CDC_A_MICB_1_INT_RBIAS, - MICB_1_INT_TX2_INT_RBIAS_EN_MASK, - MICB_1_INT_TX2_INT_RBIAS_EN_ENABLE); snd_soc_component_update_bits(component, reg, MICB_1_EN_PULL_DOWN_EN_MASK, 0); snd_soc_component_update_bits(component, CDC_A_MICB_1_EN, MICB_1_EN_OPA_STG2_TAIL_CURR_MASK, @@ -440,6 +437,14 @@ struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); struct pm8916_wcd_analog_priv *wcd = snd_soc_component_get_drvdata(component); + switch (event) { + case SND_SOC_DAPM_PRE_PMU: + snd_soc_component_update_bits(component, CDC_A_MICB_1_INT_RBIAS, + MICB_1_INT_TX1_INT_RBIAS_EN_MASK, + MICB_1_INT_TX1_INT_RBIAS_EN_ENABLE); + break; + } + return pm8916_wcd_analog_enable_micbias_int(component, event, w->reg, wcd->micbias1_cap_mode); } @@ -550,6 +555,11 @@ struct pm8916_wcd_analog_priv *wcd = snd_soc_component_get_drvdata(component); switch (event) { + case SND_SOC_DAPM_PRE_PMU: + snd_soc_component_update_bits(component, CDC_A_MICB_1_INT_RBIAS, + MICB_1_INT_TX2_INT_RBIAS_EN_MASK, + MICB_1_INT_TX2_INT_RBIAS_EN_ENABLE); + break; case SND_SOC_DAPM_POST_PMU: pm8916_mbhc_configure_bias(wcd, true); break; @@ -885,10 +895,10 @@ SND_SOC_DAPM_SUPPLY("MIC BIAS External1", CDC_A_MICB_1_EN, 7, 0, pm8916_wcd_analog_enable_micbias_ext1, - SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMD), + SND_SOC_DAPM_POST_PMU), SND_SOC_DAPM_SUPPLY("MIC BIAS External2", CDC_A_MICB_2_EN, 7, 0, pm8916_wcd_analog_enable_micbias_ext2, - SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD), + SND_SOC_DAPM_POST_PMU), SND_SOC_DAPM_ADC_E("ADC1", NULL, CDC_A_TX_1_EN, 7, 0, pm8916_wcd_analog_enable_adc, diff -Nru linux-4.19.87/sound/soc/codecs/msm8916-wcd-digital.c linux-4.19.98/sound/soc/codecs/msm8916-wcd-digital.c --- linux-4.19.87/sound/soc/codecs/msm8916-wcd-digital.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/codecs/msm8916-wcd-digital.c 2020-01-23 07:21:39.000000000 +0000 @@ -357,6 +357,12 @@ snd_soc_component_write(component, rx_gain_reg[w->shift], snd_soc_component_read32(component, rx_gain_reg[w->shift])); break; + case SND_SOC_DAPM_POST_PMD: + snd_soc_component_update_bits(component, LPASS_CDC_CLK_RX_RESET_CTL, + 1 << w->shift, 1 << w->shift); + snd_soc_component_update_bits(component, LPASS_CDC_CLK_RX_RESET_CTL, + 1 << w->shift, 0x0); + break; } return 0; } diff -Nru linux-4.19.87/sound/soc/codecs/nau8540.c linux-4.19.98/sound/soc/codecs/nau8540.c --- linux-4.19.87/sound/soc/codecs/nau8540.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/codecs/nau8540.c 2020-01-23 07:21:39.000000000 +0000 @@ -585,7 +585,7 @@ fvco_max = 0; fvco_sel = ARRAY_SIZE(mclk_src_scaling); for (i = 0; i < ARRAY_SIZE(mclk_src_scaling); i++) { - fvco = 256 * fs * 2 * mclk_src_scaling[i].param; + fvco = 256ULL * fs * 2 * mclk_src_scaling[i].param; if (fvco > NAU_FVCO_MIN && fvco < NAU_FVCO_MAX && fvco_max < fvco) { fvco_max = fvco; diff -Nru linux-4.19.87/sound/soc/codecs/rt5645.c linux-4.19.98/sound/soc/codecs/rt5645.c --- linux-4.19.87/sound/soc/codecs/rt5645.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/codecs/rt5645.c 2020-01-23 07:21:39.000000000 +0000 @@ -3307,6 +3307,9 @@ snd_soc_jack_report(rt5645->mic_jack, report, SND_JACK_MICROPHONE); return; + case 4: + val = snd_soc_component_read32(rt5645->component, RT5645_A_JD_CTRL1) & 0x0020; + break; default: /* read rt5645 jd1_1 status */ val = snd_soc_component_read32(rt5645->component, RT5645_INT_IRQ_ST) & 0x1000; break; @@ -3634,7 +3637,7 @@ static const struct rt5645_platform_data buddy_platform_data = { .dmic1_data_pin = RT5645_DMIC_DATA_GPIO5, .dmic2_data_pin = RT5645_DMIC_DATA_IN2P, - .jd_mode = 3, + .jd_mode = 4, .level_trigger_irq = true, }; @@ -3662,6 +3665,11 @@ .jd_mode = 3, }; +static const struct rt5645_platform_data lattepanda_board_platform_data = { + .jd_mode = 2, + .inv_jd1_1 = true +}; + static const struct dmi_system_id dmi_platform_data[] = { { .ident = "Chrome Buddy", @@ -3759,6 +3767,15 @@ }, .driver_data = (void *)&intel_braswell_platform_data, }, + { + .ident = "LattePanda board", + .matches = { + DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"), + DMI_EXACT_MATCH(DMI_BOARD_NAME, "Cherry Trail CR"), + DMI_EXACT_MATCH(DMI_BOARD_VERSION, "Default string"), + }, + .driver_data = (void *)&lattepanda_board_platform_data, + }, { } }; @@ -4016,6 +4033,7 @@ RT5645_JD1_MODE_1); break; case 3: + case 4: regmap_update_bits(rt5645->regmap, RT5645_A_JD_CTRL1, RT5645_JD1_MODE_MASK, RT5645_JD1_MODE_2); diff -Nru linux-4.19.87/sound/soc/codecs/rt5677.c linux-4.19.98/sound/soc/codecs/rt5677.c --- linux-4.19.87/sound/soc/codecs/rt5677.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/codecs/rt5677.c 2020-01-23 07:21:39.000000000 +0000 @@ -297,6 +297,7 @@ case RT5677_I2C_MASTER_CTRL7: case RT5677_I2C_MASTER_CTRL8: case RT5677_HAP_GENE_CTRL2: + case RT5677_PWR_ANLG2: /* Modified by DSP firmware */ case RT5677_PWR_DSP_ST: case RT5677_PRIV_DATA: case RT5677_ASRC_22: diff -Nru linux-4.19.87/sound/soc/codecs/wm2200.c linux-4.19.98/sound/soc/codecs/wm2200.c --- linux-4.19.87/sound/soc/codecs/wm2200.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/codecs/wm2200.c 2020-01-23 07:21:39.000000000 +0000 @@ -2413,6 +2413,8 @@ err_pm_runtime: pm_runtime_disable(&i2c->dev); + if (i2c->irq) + free_irq(i2c->irq, wm2200); err_reset: if (wm2200->pdata.reset) gpio_set_value_cansleep(wm2200->pdata.reset, 0); @@ -2429,12 +2431,15 @@ { struct wm2200_priv *wm2200 = i2c_get_clientdata(i2c); + pm_runtime_disable(&i2c->dev); if (i2c->irq) free_irq(i2c->irq, wm2200); if (wm2200->pdata.reset) gpio_set_value_cansleep(wm2200->pdata.reset, 0); if (wm2200->pdata.ldo_ena) gpio_set_value_cansleep(wm2200->pdata.ldo_ena, 0); + regulator_bulk_disable(ARRAY_SIZE(wm2200->core_supplies), + wm2200->core_supplies); return 0; } diff -Nru linux-4.19.87/sound/soc/codecs/wm5100.c linux-4.19.98/sound/soc/codecs/wm5100.c --- linux-4.19.87/sound/soc/codecs/wm5100.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/codecs/wm5100.c 2020-01-23 07:21:39.000000000 +0000 @@ -2620,6 +2620,7 @@ return ret; err_reset: + pm_runtime_disable(&i2c->dev); if (i2c->irq) free_irq(i2c->irq, wm5100); wm5100_free_gpio(i2c); @@ -2643,6 +2644,7 @@ { struct wm5100_priv *wm5100 = i2c_get_clientdata(i2c); + pm_runtime_disable(&i2c->dev); if (i2c->irq) free_irq(i2c->irq, wm5100); wm5100_free_gpio(i2c); diff -Nru linux-4.19.87/sound/soc/codecs/wm8904.c linux-4.19.98/sound/soc/codecs/wm8904.c --- linux-4.19.87/sound/soc/codecs/wm8904.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/codecs/wm8904.c 2020-01-23 07:21:39.000000000 +0000 @@ -1902,6 +1902,7 @@ snd_soc_component_update_bits(component, WM8904_BIAS_CONTROL_0, WM8904_BIAS_ENA, 0); + snd_soc_component_write(component, WM8904_SW_RESET_AND_ID, 0); regcache_cache_only(wm8904->regmap, true); regcache_mark_dirty(wm8904->regmap); diff -Nru linux-4.19.87/sound/soc/codecs/wm8962.c linux-4.19.98/sound/soc/codecs/wm8962.c --- linux-4.19.87/sound/soc/codecs/wm8962.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/codecs/wm8962.c 2020-01-23 07:21:39.000000000 +0000 @@ -2792,7 +2792,7 @@ if (target % Fref == 0) { fll_div->theta = 0; - fll_div->lambda = 0; + fll_div->lambda = 1; } else { gcd_fll = gcd(target, fratio * Fref); @@ -2862,7 +2862,7 @@ return -EINVAL; } - if (fll_div.theta || fll_div.lambda) + if (fll_div.theta) fll1 |= WM8962_FLL_FRAC; /* Stop the FLL while we reconfigure */ diff -Nru linux-4.19.87/sound/soc/intel/boards/bytcr_rt5640.c linux-4.19.98/sound/soc/intel/boards/bytcr_rt5640.c --- linux-4.19.87/sound/soc/intel/boards/bytcr_rt5640.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/intel/boards/bytcr_rt5640.c 2020-01-23 07:21:39.000000000 +0000 @@ -414,10 +414,12 @@ DMI_MATCH(DMI_SYS_VENDOR, "Acer"), DMI_MATCH(DMI_PRODUCT_NAME, "Aspire SW5-012"), }, - .driver_data = (void *)(BYT_RT5640_IN1_MAP | - BYT_RT5640_MCLK_EN | - BYT_RT5640_SSP0_AIF1), - + .driver_data = (void *)(BYT_RT5640_DMIC1_MAP | + BYT_RT5640_JD_SRC_JD2_IN4N | + BYT_RT5640_OVCD_TH_2000UA | + BYT_RT5640_OVCD_SF_0P75 | + BYT_RT5640_SSP0_AIF1 | + BYT_RT5640_MCLK_EN), }, { .matches = { @@ -675,13 +677,17 @@ BYT_RT5640_MCLK_EN), }, { + /* Teclast X89 */ .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "TECLAST"), DMI_MATCH(DMI_BOARD_NAME, "tPAD"), }, .driver_data = (void *)(BYT_RT5640_IN3_MAP | - BYT_RT5640_MCLK_EN | - BYT_RT5640_SSP0_AIF1), + BYT_RT5640_JD_SRC_JD1_IN4P | + BYT_RT5640_OVCD_TH_2000UA | + BYT_RT5640_OVCD_SF_1P0 | + BYT_RT5640_SSP0_AIF1 | + BYT_RT5640_MCLK_EN), }, { /* Toshiba Satellite Click Mini L9W-B */ .matches = { diff -Nru linux-4.19.87/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c linux-4.19.98/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c --- linux-4.19.87/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c 2020-01-23 07:21:39.000000000 +0000 @@ -423,6 +423,9 @@ snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS, dmic_constraints); + runtime->hw.formats = SNDRV_PCM_FMTBIT_S16_LE; + snd_pcm_hw_constraint_msbits(runtime, 0, 16, 16); + return snd_pcm_hw_constraint_list(substream->runtime, 0, SNDRV_PCM_HW_PARAM_RATE, &constraints_rates); } diff -Nru linux-4.19.87/sound/soc/kirkwood/kirkwood-i2s.c linux-4.19.98/sound/soc/kirkwood/kirkwood-i2s.c --- linux-4.19.87/sound/soc/kirkwood/kirkwood-i2s.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/kirkwood/kirkwood-i2s.c 2020-01-23 07:21:39.000000000 +0000 @@ -563,10 +563,6 @@ return PTR_ERR(priv->clk); } - err = clk_prepare_enable(priv->clk); - if (err < 0) - return err; - priv->extclk = devm_clk_get(&pdev->dev, "extclk"); if (IS_ERR(priv->extclk)) { if (PTR_ERR(priv->extclk) == -EPROBE_DEFER) @@ -582,6 +578,10 @@ } } + err = clk_prepare_enable(priv->clk); + if (err < 0) + return err; + /* Some sensible defaults - this reflects the powerup values */ priv->ctl_play = KIRKWOOD_PLAYCTL_SIZE_24; priv->ctl_rec = KIRKWOOD_RECCTL_SIZE_24; @@ -595,7 +595,7 @@ priv->ctl_rec |= KIRKWOOD_RECCTL_BURST_128; } - err = devm_snd_soc_register_component(&pdev->dev, &kirkwood_soc_component, + err = snd_soc_register_component(&pdev->dev, &kirkwood_soc_component, soc_dai, 2); if (err) { dev_err(&pdev->dev, "snd_soc_register_component failed\n"); @@ -618,6 +618,7 @@ { struct kirkwood_dma_data *priv = dev_get_drvdata(&pdev->dev); + snd_soc_unregister_component(&pdev->dev); if (!IS_ERR(priv->extclk)) clk_disable_unprepare(priv->extclk); clk_disable_unprepare(priv->clk); diff -Nru linux-4.19.87/sound/soc/samsung/i2s.c linux-4.19.98/sound/soc/samsung/i2s.c --- linux-4.19.87/sound/soc/samsung/i2s.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/samsung/i2s.c 2020-01-23 07:21:39.000000000 +0000 @@ -604,6 +604,7 @@ unsigned int fmt) { struct i2s_dai *i2s = to_info(dai); + struct i2s_dai *other = get_other_dai(i2s); int lrp_shift, sdf_shift, sdf_mask, lrp_rlow, mod_slave; u32 mod, tmp = 0; unsigned long flags; @@ -661,7 +662,8 @@ * CLK_I2S_RCLK_SRC clock is not exposed so we ensure any * clock configuration assigned in DT is not overwritten. */ - if (i2s->rclk_srcrate == 0 && i2s->clk_data.clks == NULL) + if (i2s->rclk_srcrate == 0 && i2s->clk_data.clks == NULL && + other->clk_data.clks == NULL) i2s_set_sysclk(dai, SAMSUNG_I2S_RCLKSRC_0, 0, SND_SOC_CLOCK_IN); break; @@ -699,6 +701,7 @@ struct snd_pcm_hw_params *params, struct snd_soc_dai *dai) { struct i2s_dai *i2s = to_info(dai); + struct i2s_dai *other = get_other_dai(i2s); u32 mod, mask = 0, val = 0; struct clk *rclksrc; unsigned long flags; @@ -784,6 +787,9 @@ i2s->frmclk = params_rate(params); rclksrc = i2s->clk_table[CLK_I2S_RCLK_SRC]; + if (!rclksrc || IS_ERR(rclksrc)) + rclksrc = other->clk_table[CLK_I2S_RCLK_SRC]; + if (rclksrc && !IS_ERR(rclksrc)) i2s->rclk_srcrate = clk_get_rate(rclksrc); diff -Nru linux-4.19.87/sound/soc/sh/rcar/core.c linux-4.19.98/sound/soc/sh/rcar/core.c --- linux-4.19.87/sound/soc/sh/rcar/core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/sh/rcar/core.c 2020-01-23 07:21:39.000000000 +0000 @@ -1344,6 +1344,18 @@ }; int ret; + /* + * 1) Avoid duplicate register for DVC with MIX case + * 2) Allow duplicate register for MIX + * 3) re-register if card was rebinded + */ + list_for_each_entry(kctrl, &card->controls, list) { + struct rsnd_kctrl_cfg *c = kctrl->private_data; + + if (c == cfg) + return 0; + } + if (size > RSND_MAX_CHANNELS) return -EINVAL; diff -Nru linux-4.19.87/sound/soc/sh/rcar/dvc.c linux-4.19.98/sound/soc/sh/rcar/dvc.c --- linux-4.19.87/sound/soc/sh/rcar/dvc.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/sh/rcar/dvc.c 2020-01-23 07:21:39.000000000 +0000 @@ -40,11 +40,8 @@ struct rsnd_kctrl_cfg_s ren; /* Ramp Enable */ struct rsnd_kctrl_cfg_s rup; /* Ramp Rate Up */ struct rsnd_kctrl_cfg_s rdown; /* Ramp Rate Down */ - u32 flags; }; -#define KCTRL_INITIALIZED (1 << 0) - #define rsnd_dvc_get(priv, id) ((struct rsnd_dvc *)(priv->dvc) + id) #define rsnd_dvc_nr(priv) ((priv)->dvc_nr) @@ -227,9 +224,6 @@ int channels = rsnd_rdai_channels_get(rdai); int ret; - if (rsnd_flags_has(dvc, KCTRL_INITIALIZED)) - return 0; - /* Volume */ ret = rsnd_kctrl_new_m(mod, io, rtd, is_play ? @@ -285,8 +279,6 @@ if (ret < 0) return ret; - rsnd_flags_set(dvc, KCTRL_INITIALIZED); - return 0; } diff -Nru linux-4.19.87/sound/soc/soc-core.c linux-4.19.98/sound/soc/soc-core.c --- linux-4.19.87/sound/soc/soc-core.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/soc-core.c 2020-01-23 07:21:39.000000000 +0000 @@ -1921,6 +1921,8 @@ /* convert non BE into BE */ dai_link->no_pcm = 1; + dai_link->dpcm_playback = 1; + dai_link->dpcm_capture = 1; /* override any BE fixups */ dai_link->be_hw_params_fixup = diff -Nru linux-4.19.87/sound/soc/soc-jack.c linux-4.19.98/sound/soc/soc-jack.c --- linux-4.19.87/sound/soc/soc-jack.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/soc-jack.c 2020-01-23 07:21:39.000000000 +0000 @@ -100,10 +100,9 @@ unsigned int sync = 0; int enable; - trace_snd_soc_jack_report(jack, mask, status); - if (!jack) return; + trace_snd_soc_jack_report(jack, mask, status); dapm = &jack->card->dapm; diff -Nru linux-4.19.87/sound/soc/soc-topology.c linux-4.19.98/sound/soc/soc-topology.c --- linux-4.19.87/sound/soc/soc-topology.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/soc-topology.c 2020-01-23 07:21:39.000000000 +0000 @@ -1890,6 +1890,7 @@ int count = hdr->count; int i; bool abi_match; + int ret; if (tplg->pass != SOC_TPLG_PASS_PCM_DAI) return 0; @@ -1926,7 +1927,12 @@ } /* create the FE DAIs and DAI links */ - soc_tplg_pcm_create(tplg, _pcm); + ret = soc_tplg_pcm_create(tplg, _pcm); + if (ret < 0) { + if (!abi_match) + kfree(_pcm); + return ret; + } /* offset by version-specific struct size and * real priv data size diff -Nru linux-4.19.87/sound/soc/stm/stm32_i2s.c linux-4.19.98/sound/soc/stm/stm32_i2s.c --- linux-4.19.87/sound/soc/stm/stm32_i2s.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/stm/stm32_i2s.c 2020-01-23 07:21:39.000000000 +0000 @@ -246,8 +246,8 @@ return IRQ_NONE; } - regmap_update_bits(i2s->regmap, STM32_I2S_IFCR_REG, - I2S_IFCR_MASK, flags); + regmap_write_bits(i2s->regmap, STM32_I2S_IFCR_REG, + I2S_IFCR_MASK, flags); if (flags & I2S_SR_OVR) { dev_dbg(&pdev->dev, "Overrun\n"); @@ -276,7 +276,6 @@ case STM32_I2S_CFG2_REG: case STM32_I2S_IER_REG: case STM32_I2S_SR_REG: - case STM32_I2S_IFCR_REG: case STM32_I2S_TXDR_REG: case STM32_I2S_RXDR_REG: case STM32_I2S_CGFR_REG: @@ -488,7 +487,7 @@ { struct stm32_i2s_data *i2s = snd_soc_dai_get_drvdata(cpu_dai); int format = params_width(params); - u32 cfgr, cfgr_mask, cfg1, cfg1_mask; + u32 cfgr, cfgr_mask, cfg1; unsigned int fthlv; int ret; @@ -501,7 +500,7 @@ switch (format) { case 16: cfgr = I2S_CGFR_DATLEN_SET(I2S_I2SMOD_DATLEN_16); - cfgr_mask = I2S_CGFR_DATLEN_MASK; + cfgr_mask = I2S_CGFR_DATLEN_MASK | I2S_CGFR_CHLEN; break; case 32: cfgr = I2S_CGFR_DATLEN_SET(I2S_I2SMOD_DATLEN_32) | @@ -529,15 +528,11 @@ if (ret < 0) return ret; - cfg1 = I2S_CFG1_RXDMAEN | I2S_CFG1_TXDMAEN; - cfg1_mask = cfg1; - fthlv = STM32_I2S_FIFO_SIZE * I2S_FIFO_TH_ONE_QUARTER / 4; - cfg1 |= I2S_CFG1_FTHVL_SET(fthlv - 1); - cfg1_mask |= I2S_CFG1_FTHVL_MASK; + cfg1 = I2S_CFG1_FTHVL_SET(fthlv - 1); return regmap_update_bits(i2s->regmap, STM32_I2S_CFG1_REG, - cfg1_mask, cfg1); + I2S_CFG1_FTHVL_MASK, cfg1); } static int stm32_i2s_startup(struct snd_pcm_substream *substream, @@ -551,8 +546,8 @@ i2s->refcount++; spin_unlock(&i2s->lock_fd); - return regmap_update_bits(i2s->regmap, STM32_I2S_IFCR_REG, - I2S_IFCR_MASK, I2S_IFCR_MASK); + return regmap_write_bits(i2s->regmap, STM32_I2S_IFCR_REG, + I2S_IFCR_MASK, I2S_IFCR_MASK); } static int stm32_i2s_hw_params(struct snd_pcm_substream *substream, @@ -589,6 +584,10 @@ /* Enable i2s */ dev_dbg(cpu_dai->dev, "start I2S\n"); + cfg1_mask = I2S_CFG1_RXDMAEN | I2S_CFG1_TXDMAEN; + regmap_update_bits(i2s->regmap, STM32_I2S_CFG1_REG, + cfg1_mask, cfg1_mask); + ret = regmap_update_bits(i2s->regmap, STM32_I2S_CR1_REG, I2S_CR1_SPE, I2S_CR1_SPE); if (ret < 0) { @@ -603,8 +602,8 @@ return ret; } - regmap_update_bits(i2s->regmap, STM32_I2S_IFCR_REG, - I2S_IFCR_MASK, I2S_IFCR_MASK); + regmap_write_bits(i2s->regmap, STM32_I2S_IFCR_REG, + I2S_IFCR_MASK, I2S_IFCR_MASK); if (playback_flg) { ier = I2S_IER_UDRIE; diff -Nru linux-4.19.87/sound/soc/stm/stm32_sai.c linux-4.19.98/sound/soc/stm/stm32_sai.c --- linux-4.19.87/sound/soc/stm/stm32_sai.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/stm/stm32_sai.c 2020-01-23 07:21:39.000000000 +0000 @@ -112,16 +112,21 @@ if (!sai_provider) { dev_err(&sai_client->pdev->dev, "SAI sync provider data not found\n"); - return -EINVAL; + ret = -EINVAL; + goto out_put_dev; } /* Configure sync client */ ret = stm32_sai_sync_conf_client(sai_client, synci); if (ret < 0) - return ret; + goto out_put_dev; /* Configure sync provider */ - return stm32_sai_sync_conf_provider(sai_provider, synco); + ret = stm32_sai_sync_conf_provider(sai_provider, synco); + +out_put_dev: + put_device(&pdev->dev); + return ret; } static int stm32_sai_probe(struct platform_device *pdev) diff -Nru linux-4.19.87/sound/soc/stm/stm32_sai_sub.c linux-4.19.98/sound/soc/stm/stm32_sai_sub.c --- linux-4.19.87/sound/soc/stm/stm32_sai_sub.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/stm/stm32_sai_sub.c 2020-01-23 07:21:39.000000000 +0000 @@ -994,6 +994,16 @@ return 0; } +/* No support of mmap in S/PDIF mode */ +static const struct snd_pcm_hardware stm32_sai_pcm_hw_spdif = { + .info = SNDRV_PCM_INFO_INTERLEAVED, + .buffer_bytes_max = 8 * PAGE_SIZE, + .period_bytes_min = 1024, + .period_bytes_max = PAGE_SIZE, + .periods_min = 2, + .periods_max = 8, +}; + static const struct snd_pcm_hardware stm32_sai_pcm_hw = { .info = SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_MMAP, .buffer_bytes_max = 8 * PAGE_SIZE, @@ -1050,7 +1060,7 @@ }; static const struct snd_dmaengine_pcm_config stm32_sai_pcm_config_spdif = { - .pcm_hardware = &stm32_sai_pcm_hw, + .pcm_hardware = &stm32_sai_pcm_hw_spdif, .prepare_slave_config = snd_dmaengine_pcm_prepare_slave_config, .process = stm32_sai_pcm_process_spdif, }; diff -Nru linux-4.19.87/sound/soc/stm/stm32_spdifrx.c linux-4.19.98/sound/soc/stm/stm32_spdifrx.c --- linux-4.19.87/sound/soc/stm/stm32_spdifrx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/soc/stm/stm32_spdifrx.c 2020-01-23 07:21:39.000000000 +0000 @@ -213,6 +213,7 @@ * @slave_config: dma slave channel runtime config pointer * @phys_addr: SPDIFRX registers physical base address * @lock: synchronization enabling lock + * @irq_lock: prevent race condition with IRQ on stream state * @cs: channel status buffer * @ub: user data buffer * @irq: SPDIFRX interrupt line @@ -233,6 +234,7 @@ struct dma_slave_config slave_config; dma_addr_t phys_addr; spinlock_t lock; /* Sync enabling lock */ + spinlock_t irq_lock; /* Prevent race condition on stream state */ unsigned char cs[SPDIFRX_CS_BYTES_NB]; unsigned char ub[SPDIFRX_UB_BYTES_NB]; int irq; @@ -313,6 +315,7 @@ static int stm32_spdifrx_start_sync(struct stm32_spdifrx_data *spdifrx) { int cr, cr_mask, imr, ret; + unsigned long flags; /* Enable IRQs */ imr = SPDIFRX_IMR_IFEIE | SPDIFRX_IMR_SYNCDIE | SPDIFRX_IMR_PERRIE; @@ -320,7 +323,7 @@ if (ret) return ret; - spin_lock(&spdifrx->lock); + spin_lock_irqsave(&spdifrx->lock, flags); spdifrx->refcount++; @@ -353,7 +356,7 @@ "Failed to start synchronization\n"); } - spin_unlock(&spdifrx->lock); + spin_unlock_irqrestore(&spdifrx->lock, flags); return ret; } @@ -361,11 +364,12 @@ static void stm32_spdifrx_stop(struct stm32_spdifrx_data *spdifrx) { int cr, cr_mask, reg; + unsigned long flags; - spin_lock(&spdifrx->lock); + spin_lock_irqsave(&spdifrx->lock, flags); if (--spdifrx->refcount) { - spin_unlock(&spdifrx->lock); + spin_unlock_irqrestore(&spdifrx->lock, flags); return; } @@ -384,7 +388,7 @@ regmap_read(spdifrx->regmap, STM32_SPDIFRX_DR, ®); regmap_read(spdifrx->regmap, STM32_SPDIFRX_CSR, ®); - spin_unlock(&spdifrx->lock); + spin_unlock_irqrestore(&spdifrx->lock, flags); } static int stm32_spdifrx_dma_ctrl_register(struct device *dev, @@ -643,7 +647,6 @@ static irqreturn_t stm32_spdifrx_isr(int irq, void *devid) { struct stm32_spdifrx_data *spdifrx = (struct stm32_spdifrx_data *)devid; - struct snd_pcm_substream *substream = spdifrx->substream; struct platform_device *pdev = spdifrx->pdev; unsigned int cr, mask, sr, imr; unsigned int flags; @@ -711,14 +714,19 @@ regmap_update_bits(spdifrx->regmap, STM32_SPDIFRX_CR, SPDIFRX_CR_SPDIFEN_MASK, cr); - if (substream) - snd_pcm_stop(substream, SNDRV_PCM_STATE_DISCONNECTED); + spin_lock(&spdifrx->irq_lock); + if (spdifrx->substream) + snd_pcm_stop(spdifrx->substream, + SNDRV_PCM_STATE_DISCONNECTED); + spin_unlock(&spdifrx->irq_lock); return IRQ_HANDLED; } - if (err_xrun && substream) - snd_pcm_stop_xrun(substream); + spin_lock(&spdifrx->irq_lock); + if (err_xrun && spdifrx->substream) + snd_pcm_stop_xrun(spdifrx->substream); + spin_unlock(&spdifrx->irq_lock); return IRQ_HANDLED; } @@ -727,9 +735,12 @@ struct snd_soc_dai *cpu_dai) { struct stm32_spdifrx_data *spdifrx = snd_soc_dai_get_drvdata(cpu_dai); + unsigned long flags; int ret; + spin_lock_irqsave(&spdifrx->irq_lock, flags); spdifrx->substream = substream; + spin_unlock_irqrestore(&spdifrx->irq_lock, flags); ret = clk_prepare_enable(spdifrx->kclk); if (ret) @@ -805,8 +816,12 @@ struct snd_soc_dai *cpu_dai) { struct stm32_spdifrx_data *spdifrx = snd_soc_dai_get_drvdata(cpu_dai); + unsigned long flags; + spin_lock_irqsave(&spdifrx->irq_lock, flags); spdifrx->substream = NULL; + spin_unlock_irqrestore(&spdifrx->irq_lock, flags); + clk_disable_unprepare(spdifrx->kclk); } @@ -910,6 +925,7 @@ spdifrx->pdev = pdev; init_completion(&spdifrx->cs_completion); spin_lock_init(&spdifrx->lock); + spin_lock_init(&spdifrx->irq_lock); platform_set_drvdata(pdev, spdifrx); diff -Nru linux-4.19.87/sound/usb/card.h linux-4.19.98/sound/usb/card.h --- linux-4.19.87/sound/usb/card.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/usb/card.h 2020-01-23 07:21:39.000000000 +0000 @@ -142,6 +142,7 @@ struct snd_usb_endpoint *sync_endpoint; unsigned long flags; bool need_setup_ep; /* (re)configure EP at prepare? */ + bool need_setup_fmt; /* (re)configure fmt after resume? */ unsigned int speed; /* USB_SPEED_XXX */ u64 formats; /* format bitmasks (all or'ed) */ diff -Nru linux-4.19.87/sound/usb/pcm.c linux-4.19.98/sound/usb/pcm.c --- linux-4.19.87/sound/usb/pcm.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/usb/pcm.c 2020-01-23 07:21:39.000000000 +0000 @@ -377,7 +377,7 @@ add_sync_ep_from_ifnum: iface = usb_ifnum_to_if(dev, ifnum); - if (!iface || iface->num_altsetting == 0) + if (!iface || iface->num_altsetting < 2) return -EINVAL; alts = &iface->altsetting[1]; @@ -513,15 +513,15 @@ if (WARN_ON(!iface)) return -EINVAL; alts = usb_altnum_to_altsetting(iface, fmt->altsetting); - altsd = get_iface_desc(alts); - if (WARN_ON(altsd->bAlternateSetting != fmt->altsetting)) + if (WARN_ON(!alts)) return -EINVAL; + altsd = get_iface_desc(alts); - if (fmt == subs->cur_audiofmt) + if (fmt == subs->cur_audiofmt && !subs->need_setup_fmt) return 0; /* close the old interface */ - if (subs->interface >= 0 && subs->interface != fmt->iface) { + if (subs->interface >= 0 && (subs->interface != fmt->iface || subs->need_setup_fmt)) { if (!subs->stream->chip->keep_iface) { err = usb_set_interface(subs->dev, subs->interface, 0); if (err < 0) { @@ -535,6 +535,9 @@ subs->altset_idx = 0; } + if (subs->need_setup_fmt) + subs->need_setup_fmt = false; + /* set interface */ if (iface->cur_altsetting != alts) { err = snd_usb_select_mode_quirk(subs, fmt); @@ -1722,6 +1725,13 @@ subs->data_endpoint->retire_data_urb = retire_playback_urb; subs->running = 0; return 0; + case SNDRV_PCM_TRIGGER_SUSPEND: + if (subs->stream->chip->setup_fmt_after_resume_quirk) { + stop_endpoints(subs, true); + subs->need_setup_fmt = true; + return 0; + } + break; } return -EINVAL; @@ -1754,6 +1764,13 @@ subs->data_endpoint->retire_data_urb = retire_capture_urb; subs->running = 1; return 0; + case SNDRV_PCM_TRIGGER_SUSPEND: + if (subs->stream->chip->setup_fmt_after_resume_quirk) { + stop_endpoints(subs, true); + subs->need_setup_fmt = true; + return 0; + } + break; } return -EINVAL; diff -Nru linux-4.19.87/sound/usb/quirks-table.h linux-4.19.98/sound/usb/quirks-table.h --- linux-4.19.87/sound/usb/quirks-table.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/usb/quirks-table.h 2020-01-23 07:21:39.000000000 +0000 @@ -3400,7 +3400,8 @@ .vendor_name = "Dell", .product_name = "WD19 Dock", .profile_name = "Dell-WD15-Dock", - .ifnum = QUIRK_NO_INTERFACE + .ifnum = QUIRK_ANY_INTERFACE, + .type = QUIRK_SETUP_FMT_AFTER_RESUME } }, diff -Nru linux-4.19.87/sound/usb/quirks.c linux-4.19.98/sound/usb/quirks.c --- linux-4.19.87/sound/usb/quirks.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/usb/quirks.c 2020-01-23 07:21:39.000000000 +0000 @@ -519,6 +519,16 @@ return snd_usb_create_mixer(chip, quirk->ifnum, 0); } + +static int setup_fmt_after_resume_quirk(struct snd_usb_audio *chip, + struct usb_interface *iface, + struct usb_driver *driver, + const struct snd_usb_audio_quirk *quirk) +{ + chip->setup_fmt_after_resume_quirk = 1; + return 1; /* Continue with creating streams and mixer */ +} + /* * audio-interface quirks * @@ -557,6 +567,7 @@ [QUIRK_AUDIO_EDIROL_UAXX] = create_uaxx_quirk, [QUIRK_AUDIO_ALIGN_TRANSFER] = create_align_transfer_quirk, [QUIRK_AUDIO_STANDARD_MIXER] = create_standard_mixer_quirk, + [QUIRK_SETUP_FMT_AFTER_RESUME] = setup_fmt_after_resume_quirk, }; if (quirk->type < QUIRK_TYPE_COUNT) { @@ -1166,6 +1177,7 @@ case USB_ID(0x04D8, 0xFEEA): /* Benchmark DAC1 Pre */ case USB_ID(0x0556, 0x0014): /* Phoenix Audio TMX320VC */ case USB_ID(0x05A3, 0x9420): /* ELP HD USB Camera */ + case USB_ID(0x05a7, 0x1020): /* Bose Companion 5 */ case USB_ID(0x074D, 0x3553): /* Outlaw RR2150 (Micronas UAC3553B) */ case USB_ID(0x1395, 0x740a): /* Sennheiser DECT */ case USB_ID(0x1901, 0x0191): /* GE B850V3 CP2114 audio interface */ diff -Nru linux-4.19.87/sound/usb/usbaudio.h linux-4.19.98/sound/usb/usbaudio.h --- linux-4.19.87/sound/usb/usbaudio.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/sound/usb/usbaudio.h 2020-01-23 07:21:39.000000000 +0000 @@ -44,7 +44,7 @@ wait_queue_head_t shutdown_wait; unsigned int txfr_quirk:1; /* Subframe boundaries on transfers */ unsigned int tx_length_quirk:1; /* Put length specifier in transfers */ - + unsigned int setup_fmt_after_resume_quirk:1; /* setup the format to interface after resume */ int num_interfaces; int num_suspended_intf; int sample_rate_read_error; @@ -107,6 +107,7 @@ QUIRK_AUDIO_EDIROL_UAXX, QUIRK_AUDIO_ALIGN_TRANSFER, QUIRK_AUDIO_STANDARD_MIXER, + QUIRK_SETUP_FMT_AFTER_RESUME, QUIRK_TYPE_COUNT }; diff -Nru linux-4.19.87/tools/bpf/bpftool/btf_dumper.c linux-4.19.98/tools/bpf/bpftool/btf_dumper.c --- linux-4.19.87/tools/bpf/bpftool/btf_dumper.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/bpf/bpftool/btf_dumper.c 2020-01-23 07:21:39.000000000 +0000 @@ -32,7 +32,7 @@ } static int btf_dumper_modifier(const struct btf_dumper *d, __u32 type_id, - const void *data) + __u8 bit_offset, const void *data) { int actual_type_id; @@ -40,7 +40,7 @@ if (actual_type_id < 0) return actual_type_id; - return btf_dumper_do_type(d, actual_type_id, 0, data); + return btf_dumper_do_type(d, actual_type_id, bit_offset, data); } static void btf_dumper_enum(const void *data, json_writer_t *jw) @@ -237,7 +237,7 @@ case BTF_KIND_VOLATILE: case BTF_KIND_CONST: case BTF_KIND_RESTRICT: - return btf_dumper_modifier(d, type_id, data); + return btf_dumper_modifier(d, type_id, bit_offset, data); default: jsonw_printf(d->jw, "(unsupported-kind"); return -EINVAL; diff -Nru linux-4.19.87/tools/lib/bpf/libbpf.c linux-4.19.98/tools/lib/bpf/libbpf.c --- linux-4.19.87/tools/lib/bpf/libbpf.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/lib/bpf/libbpf.c 2020-01-23 07:21:39.000000000 +0000 @@ -22,7 +22,9 @@ * License along with this program; if not, see */ +#ifndef _GNU_SOURCE #define _GNU_SOURCE +#endif #include #include #include @@ -1071,16 +1073,22 @@ return -errno; new_fd = open("/", O_RDONLY | O_CLOEXEC); - if (new_fd < 0) + if (new_fd < 0) { + err = -errno; goto err_free_new_name; + } new_fd = dup3(fd, new_fd, O_CLOEXEC); - if (new_fd < 0) + if (new_fd < 0) { + err = -errno; goto err_close_new_fd; + } err = zclose(map->fd); - if (err) + if (err) { + err = -errno; goto err_close_new_fd; + } free(map->name); map->fd = new_fd; @@ -1099,7 +1107,7 @@ close(new_fd); err_free_new_name: free(new_name); - return -errno; + return err; } static int diff -Nru linux-4.19.87/tools/lib/bpf/libbpf_errno.c linux-4.19.98/tools/lib/bpf/libbpf_errno.c --- linux-4.19.87/tools/lib/bpf/libbpf_errno.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/lib/bpf/libbpf_errno.c 2020-01-23 07:21:39.000000000 +0000 @@ -20,6 +20,7 @@ * License along with this program; if not, see */ +#undef _GNU_SOURCE #include #include diff -Nru linux-4.19.87/tools/lib/subcmd/Makefile linux-4.19.98/tools/lib/subcmd/Makefile --- linux-4.19.87/tools/lib/subcmd/Makefile 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/lib/subcmd/Makefile 2020-01-23 07:21:39.000000000 +0000 @@ -28,7 +28,9 @@ endif endif -ifeq ($(CC_NO_CLANG), 0) +ifeq ($(DEBUG),1) + CFLAGS += -O0 +else ifeq ($(CC_NO_CLANG), 0) CFLAGS += -O3 else CFLAGS += -O6 diff -Nru linux-4.19.87/tools/lib/traceevent/Makefile linux-4.19.98/tools/lib/traceevent/Makefile --- linux-4.19.87/tools/lib/traceevent/Makefile 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/lib/traceevent/Makefile 2020-01-23 07:21:39.000000000 +0000 @@ -115,6 +115,7 @@ LIB_TARGET = libtraceevent.a libtraceevent.so.$(EVENT_PARSE_VERSION) LIB_INSTALL = libtraceevent.a libtraceevent.so* +LIB_INSTALL := $(addprefix $(OUTPUT),$(LIB_INSTALL)) INCLUDES = -I. -I $(srctree)/tools/include $(CONFIG_INCLUDES) diff -Nru linux-4.19.87/tools/lib/traceevent/parse-filter.c linux-4.19.98/tools/lib/traceevent/parse-filter.c --- linux-4.19.87/tools/lib/traceevent/parse-filter.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/lib/traceevent/parse-filter.c 2020-01-23 07:21:39.000000000 +0000 @@ -1475,8 +1475,10 @@ if (strcmp(str, "TRUE") == 0 || strcmp(str, "FALSE") == 0) { /* Add trivial event */ arg = allocate_arg(); - if (arg == NULL) + if (arg == NULL) { + free(str); return -1; + } arg->type = FILTER_ARG_BOOLEAN; if (strcmp(str, "TRUE") == 0) @@ -1485,8 +1487,11 @@ arg->boolean.value = 0; filter_type = add_filter_type(filter, event->id); - if (filter_type == NULL) + if (filter_type == NULL) { + free(str); + free_arg(arg); return -1; + } filter_type->filter = arg; diff -Nru linux-4.19.87/tools/objtool/arch/x86/lib/x86-opcode-map.txt linux-4.19.98/tools/objtool/arch/x86/lib/x86-opcode-map.txt --- linux-4.19.87/tools/objtool/arch/x86/lib/x86-opcode-map.txt 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/objtool/arch/x86/lib/x86-opcode-map.txt 2020-01-23 07:21:39.000000000 +0000 @@ -333,7 +333,7 @@ 06: CLTS 07: SYSRET (o64) 08: INVD -09: WBINVD +09: WBINVD | WBNOINVD (F3) 0a: 0b: UD2 (1B) 0c: @@ -364,7 +364,7 @@ # a ModR/M byte. 1a: BNDCL Gv,Ev (F3) | BNDCU Gv,Ev (F2) | BNDMOV Gv,Ev (66) | BNDLDX Gv,Ev 1b: BNDCN Gv,Ev (F2) | BNDMOV Ev,Gv (66) | BNDMK Gv,Ev (F3) | BNDSTX Ev,Gv -1c: +1c: Grp20 (1A),(1C) 1d: 1e: 1f: NOP Ev @@ -792,6 +792,8 @@ f5: BZHI Gy,Ey,By (v) | PEXT Gy,By,Ey (F3),(v) | PDEP Gy,By,Ey (F2),(v) f6: ADCX Gy,Ey (66) | ADOX Gy,Ey (F3) | MULX By,Gy,rDX,Ey (F2),(v) f7: BEXTR Gy,Ey,By (v) | SHLX Gy,Ey,By (66),(v) | SARX Gy,Ey,By (F3),(v) | SHRX Gy,Ey,By (F2),(v) +f8: MOVDIR64B Gv,Mdqq (66) | ENQCMD Gv,Mdqq (F2) | ENQCMDS Gv,Mdqq (F3) +f9: MOVDIRI My,Gy EndTable Table: 3-byte opcode 2 (0x0f 0x3a) @@ -943,9 +945,9 @@ EndTable GrpTable: Grp7 -0: SGDT Ms | VMCALL (001),(11B) | VMLAUNCH (010),(11B) | VMRESUME (011),(11B) | VMXOFF (100),(11B) -1: SIDT Ms | MONITOR (000),(11B) | MWAIT (001),(11B) | CLAC (010),(11B) | STAC (011),(11B) -2: LGDT Ms | XGETBV (000),(11B) | XSETBV (001),(11B) | VMFUNC (100),(11B) | XEND (101)(11B) | XTEST (110)(11B) +0: SGDT Ms | VMCALL (001),(11B) | VMLAUNCH (010),(11B) | VMRESUME (011),(11B) | VMXOFF (100),(11B) | PCONFIG (101),(11B) | ENCLV (000),(11B) +1: SIDT Ms | MONITOR (000),(11B) | MWAIT (001),(11B) | CLAC (010),(11B) | STAC (011),(11B) | ENCLS (111),(11B) +2: LGDT Ms | XGETBV (000),(11B) | XSETBV (001),(11B) | VMFUNC (100),(11B) | XEND (101)(11B) | XTEST (110)(11B) | ENCLU (111),(11B) 3: LIDT Ms 4: SMSW Mw/Rv 5: rdpkru (110),(11B) | wrpkru (111),(11B) @@ -1020,7 +1022,7 @@ 3: vstmxcsr Md (v1) | WRGSBASE Ry (F3),(11B) 4: XSAVE | ptwrite Ey (F3),(11B) 5: XRSTOR | lfence (11B) -6: XSAVEOPT | clwb (66) | mfence (11B) +6: XSAVEOPT | clwb (66) | mfence (11B) | TPAUSE Rd (66),(11B) | UMONITOR Rv (F3),(11B) | UMWAIT Rd (F2),(11B) 7: clflush | clflushopt (66) | sfence (11B) EndTable @@ -1051,6 +1053,10 @@ 6: vscatterpf1qps/d Wx (66),(ev) EndTable +GrpTable: Grp20 +0: cldemote Mb +EndTable + # AMD's Prefetch Group GrpTable: GrpP 0: PREFETCH diff -Nru linux-4.19.87/tools/perf/builtin-report.c linux-4.19.98/tools/perf/builtin-report.c --- linux-4.19.87/tools/perf/builtin-report.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/perf/builtin-report.c 2020-01-23 07:21:39.000000000 +0000 @@ -383,6 +383,13 @@ PERF_SAMPLE_BRANCH_ANY)) rep->nonany_branch_mode = true; +#ifndef HAVE_LIBUNWIND_SUPPORT + if (dwarf_callchain_users) { + ui__warning("Please install libunwind development packages " + "during the perf build.\n"); + } +#endif + return 0; } @@ -954,6 +961,7 @@ struct stat st; bool has_br_stack = false; int branch_mode = -1; + int last_key = 0; bool branch_call_mode = false; #define CALLCHAIN_DEFAULT_OPT "graph,0.5,caller,function,percent" const char report_callchain_help[] = "Display call graph (stack chain/backtrace):\n\n" @@ -1285,7 +1293,8 @@ else use_browser = 0; - if (setup_sorting(session->evlist) < 0) { + if ((last_key != K_SWITCH_INPUT_DATA) && + (setup_sorting(session->evlist) < 0)) { if (sort_order) parse_options_usage(report_usage, options, "s", 1); if (field_order) @@ -1383,6 +1392,7 @@ ret = __cmd_report(&report); if (ret == K_SWITCH_INPUT_DATA) { perf_session__delete(session); + last_key = K_SWITCH_INPUT_DATA; goto repeat; } else ret = 0; diff -Nru linux-4.19.87/tools/perf/builtin-script.c linux-4.19.98/tools/perf/builtin-script.c --- linux-4.19.87/tools/perf/builtin-script.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/perf/builtin-script.c 2020-01-23 07:21:39.000000000 +0000 @@ -428,7 +428,7 @@ "selected. Hence, no address to lookup the source line number.\n"); return -EINVAL; } - if (PRINT_FIELD(BRSTACKINSN) && + if (PRINT_FIELD(BRSTACKINSN) && !allow_user_set && !(perf_evlist__combined_branch_type(session->evlist) & PERF_SAMPLE_BRANCH_ANY)) { pr_err("Display of branch stack assembler requested, but non all-branch filter set\n" @@ -1037,7 +1037,7 @@ insn++; } } - if (off != (unsigned)len) + if (off != end - start) printed += fprintf(fp, "\tmismatch of LBR data and executable\n"); } diff -Nru linux-4.19.87/tools/perf/pmu-events/jevents.c linux-4.19.98/tools/perf/pmu-events/jevents.c --- linux-4.19.87/tools/perf/pmu-events/jevents.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/perf/pmu-events/jevents.c 2020-01-23 07:21:39.000000000 +0000 @@ -754,6 +754,7 @@ char *line, *p; int line_num; char *tblname; + int ret = 0; pr_info("%s: Processing mapfile %s\n", prog, fpath); @@ -765,6 +766,7 @@ if (!mapfp) { pr_info("%s: Error %s opening %s\n", prog, strerror(errno), fpath); + free(line); return -1; } @@ -791,7 +793,8 @@ /* TODO Deal with lines longer than 16K */ pr_info("%s: Mapfile %s: line %d too long, aborting\n", prog, fpath, line_num); - return -1; + ret = -1; + goto out; } line[strlen(line)-1] = '\0'; @@ -821,7 +824,9 @@ out: print_mapping_table_suffix(outfp); - return 0; + fclose(mapfp); + free(line); + return ret; } /* @@ -1118,6 +1123,7 @@ goto empty_map; } else if (rc < 0) { /* Make build fail */ + fclose(eventsfp); free_arch_std_events(); return 1; } else if (rc) { @@ -1130,6 +1136,7 @@ goto empty_map; } else if (rc < 0) { /* Make build fail */ + fclose(eventsfp); free_arch_std_events(); return 1; } else if (rc) { @@ -1147,6 +1154,8 @@ if (process_mapfile(eventsfp, mapfile)) { pr_info("%s: Error processing mapfile %s\n", prog, mapfile); /* Make build fail */ + fclose(eventsfp); + free_arch_std_events(); return 1; } diff -Nru linux-4.19.87/tools/perf/tests/bp_signal.c linux-4.19.98/tools/perf/tests/bp_signal.c --- linux-4.19.87/tools/perf/tests/bp_signal.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/perf/tests/bp_signal.c 2020-01-23 07:21:39.000000000 +0000 @@ -48,14 +48,6 @@ "__test_function:\n" "incq (%rdi)\n" "ret\n"); -#elif defined (__aarch64__) -extern void __test_function(volatile long *ptr); -asm ( - ".globl __test_function\n" - "__test_function:\n" - "str x30, [x0]\n" - "ret\n"); - #else static void __test_function(volatile long *ptr) { @@ -301,10 +293,15 @@ * stepping into the SIGIO handler and getting stuck on the * breakpointed instruction. * + * Since arm64 has the same issue with arm for the single-step + * handling, this case also gets suck on the breakpointed + * instruction. + * * Just disable the test for these architectures until these * issues are resolved. */ -#if defined(__powerpc__) || defined(__s390x__) || defined(__arm__) +#if defined(__powerpc__) || defined(__s390x__) || defined(__arm__) || \ + defined(__aarch64__) return false; #else return true; diff -Nru linux-4.19.87/tools/perf/tests/task-exit.c linux-4.19.98/tools/perf/tests/task-exit.c --- linux-4.19.87/tools/perf/tests/task-exit.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/perf/tests/task-exit.c 2020-01-23 07:21:39.000000000 +0000 @@ -105,6 +105,7 @@ if (perf_evlist__mmap(evlist, 128) < 0) { pr_debug("failed to mmap events: %d (%s)\n", errno, str_error_r(errno, sbuf, sizeof(sbuf))); + err = -1; goto out_delete_evlist; } diff -Nru linux-4.19.87/tools/perf/util/dwarf-aux.c linux-4.19.98/tools/perf/util/dwarf-aux.c --- linux-4.19.87/tools/perf/util/dwarf-aux.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/perf/util/dwarf-aux.c 2020-01-23 07:21:39.000000000 +0000 @@ -321,20 +321,50 @@ } /** + * die_entrypc - Returns entry PC (the lowest address) of a DIE + * @dw_die: a DIE + * @addr: where to store entry PC + * + * Since dwarf_entrypc() does not return entry PC if the DIE has only address + * range, we have to use this to retrieve the lowest address from the address + * range attribute. + */ +int die_entrypc(Dwarf_Die *dw_die, Dwarf_Addr *addr) +{ + Dwarf_Addr base, end; + + if (!addr) + return -EINVAL; + + if (dwarf_entrypc(dw_die, addr) == 0) + return 0; + + return dwarf_ranges(dw_die, 0, &base, addr, &end) < 0 ? -ENOENT : 0; +} + +/** * die_is_func_instance - Ensure that this DIE is an instance of a subprogram * @dw_die: a DIE * * Ensure that this DIE is an instance (which has an entry address). - * This returns true if @dw_die is a function instance. If not, you need to - * call die_walk_instances() to find actual instances. + * This returns true if @dw_die is a function instance. If not, the @dw_die + * must be a prototype. You can use die_walk_instances() to find actual + * instances. **/ bool die_is_func_instance(Dwarf_Die *dw_die) { Dwarf_Addr tmp; + Dwarf_Attribute attr_mem; + int tag = dwarf_tag(dw_die); - /* Actually gcc optimizes non-inline as like as inlined */ - return !dwarf_func_inline(dw_die) && dwarf_entrypc(dw_die, &tmp) == 0; + if (tag != DW_TAG_subprogram && + tag != DW_TAG_inlined_subroutine) + return false; + + return dwarf_entrypc(dw_die, &tmp) == 0 || + dwarf_attr(dw_die, DW_AT_ranges, &attr_mem) != NULL; } + /** * die_get_data_member_location - Get the data-member offset * @mb_die: a DIE of a member of a data structure @@ -611,6 +641,9 @@ Dwarf_Die *origin; int tmp; + if (!die_is_func_instance(inst)) + return DIE_FIND_CB_CONTINUE; + attr = dwarf_attr(inst, DW_AT_abstract_origin, &attr_mem); if (attr == NULL) return DIE_FIND_CB_CONTINUE; @@ -682,15 +715,14 @@ if (dwarf_tag(in_die) == DW_TAG_inlined_subroutine) { fname = die_get_call_file(in_die); lineno = die_get_call_lineno(in_die); - if (fname && lineno > 0 && dwarf_entrypc(in_die, &addr) == 0) { + if (fname && lineno > 0 && die_entrypc(in_die, &addr) == 0) { lw->retval = lw->callback(fname, lineno, addr, lw->data); if (lw->retval != 0) return DIE_FIND_CB_END; } + if (!lw->recursive) + return DIE_FIND_CB_SIBLING; } - if (!lw->recursive) - /* Don't need to search recursively */ - return DIE_FIND_CB_SIBLING; if (addr) { fname = dwarf_decl_file(in_die); @@ -723,7 +755,7 @@ /* Handle function declaration line */ fname = dwarf_decl_file(sp_die); if (fname && dwarf_decl_line(sp_die, &lineno) == 0 && - dwarf_entrypc(sp_die, &addr) == 0) { + die_entrypc(sp_die, &addr) == 0) { lw.retval = callback(fname, lineno, addr, data); if (lw.retval != 0) goto done; @@ -737,6 +769,10 @@ { struct __line_walk_param *lw = data; + /* + * Since inlined function can include another inlined function in + * the same file, we need to walk in it recursively. + */ lw->retval = __die_walk_funclines(sp_die, true, lw->callback, lw->data); if (lw->retval != 0) return DWARF_CB_ABORT; @@ -761,11 +797,12 @@ Dwarf_Lines *lines; Dwarf_Line *line; Dwarf_Addr addr; - const char *fname, *decf = NULL; + const char *fname, *decf = NULL, *inf = NULL; int lineno, ret = 0; int decl = 0, inl; Dwarf_Die die_mem, *cu_die; size_t nlines, i; + bool flag; /* Get the CU die */ if (dwarf_tag(rt_die) != DW_TAG_compile_unit) { @@ -796,6 +833,12 @@ "Possible error in debuginfo.\n"); continue; } + /* Skip end-of-sequence */ + if (dwarf_lineendsequence(line, &flag) != 0 || flag) + continue; + /* Skip Non statement line-info */ + if (dwarf_linebeginstatement(line, &flag) != 0 || !flag) + continue; /* Filter lines based on address */ if (rt_die != cu_die) { /* @@ -805,13 +848,21 @@ */ if (!dwarf_haspc(rt_die, addr)) continue; + if (die_find_inlinefunc(rt_die, addr, &die_mem)) { + /* Call-site check */ + inf = die_get_call_file(&die_mem); + if ((inf && !strcmp(inf, decf)) && + die_get_call_lineno(&die_mem) == lineno) + goto found; + dwarf_decl_line(&die_mem, &inl); if (inl != decl || decf != dwarf_decl_file(&die_mem)) continue; } } +found: /* Get source line */ fname = dwarf_linesrc(line, NULL, NULL); @@ -826,8 +877,9 @@ */ if (rt_die != cu_die) /* - * Don't need walk functions recursively, because nested - * inlined functions don't have lines of the specified DIE. + * Don't need walk inlined functions recursively, because + * inner inlined functions don't have the lines of the + * specified function. */ ret = __die_walk_funclines(rt_die, false, callback, data); else { @@ -1002,7 +1054,7 @@ bool first = true; const char *name; - ret = dwarf_entrypc(sp_die, &entry); + ret = die_entrypc(sp_die, &entry); if (ret) return ret; @@ -1065,7 +1117,7 @@ bool first = true; const char *name; - ret = dwarf_entrypc(sp_die, &entry); + ret = die_entrypc(sp_die, &entry); if (ret) return ret; diff -Nru linux-4.19.87/tools/perf/util/dwarf-aux.h linux-4.19.98/tools/perf/util/dwarf-aux.h --- linux-4.19.87/tools/perf/util/dwarf-aux.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/perf/util/dwarf-aux.h 2020-01-23 07:21:39.000000000 +0000 @@ -41,6 +41,9 @@ /* Get DW_AT_linkage_name (should be NULL for C binary) */ const char *die_get_linkage_name(Dwarf_Die *dw_die); +/* Get the lowest PC in DIE (including range list) */ +int die_entrypc(Dwarf_Die *dw_die, Dwarf_Addr *addr); + /* Ensure that this DIE is a subprogram and definition (not declaration) */ bool die_is_func_def(Dwarf_Die *dw_die); diff -Nru linux-4.19.87/tools/perf/util/hist.h linux-4.19.98/tools/perf/util/hist.h --- linux-4.19.87/tools/perf/util/hist.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/perf/util/hist.h 2020-01-23 07:21:39.000000000 +0000 @@ -324,10 +324,10 @@ list_for_each_entry_safe(format, tmp, &(_list)->sorts, sort_list) #define hists__for_each_format(hists, format) \ - perf_hpp_list__for_each_format((hists)->hpp_list, fmt) + perf_hpp_list__for_each_format((hists)->hpp_list, format) #define hists__for_each_sort_list(hists, format) \ - perf_hpp_list__for_each_sort_list((hists)->hpp_list, fmt) + perf_hpp_list__for_each_sort_list((hists)->hpp_list, format) extern struct perf_hpp_fmt perf_hpp__format[]; diff -Nru linux-4.19.87/tools/perf/util/machine.c linux-4.19.98/tools/perf/util/machine.c --- linux-4.19.87/tools/perf/util/machine.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/perf/util/machine.c 2020-01-23 07:21:39.000000000 +0000 @@ -2276,7 +2276,7 @@ } check_calls: - if (callchain_param.order != ORDER_CALLEE) { + if (chain && callchain_param.order != ORDER_CALLEE) { err = find_prev_cpumode(chain, thread, cursor, parent, root_al, &cpumode, chain->nr - first_call); if (err) diff -Nru linux-4.19.87/tools/perf/util/parse-events.c linux-4.19.98/tools/perf/util/parse-events.c --- linux-4.19.87/tools/perf/util/parse-events.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/perf/util/parse-events.c 2020-01-23 07:21:39.000000000 +0000 @@ -1282,8 +1282,15 @@ if (get_config_terms(head_config, &config_terms)) return -ENOMEM; - if (perf_pmu__config(pmu, &attr, head_config, parse_state->error)) + if (perf_pmu__config(pmu, &attr, head_config, parse_state->error)) { + struct perf_evsel_config_term *pos, *tmp; + + list_for_each_entry_safe(pos, tmp, &config_terms, list) { + list_del_init(&pos->list); + free(pos); + } return -EINVAL; + } evsel = __add_event(list, &parse_state->idx, &attr, get_config_name(head_config), pmu, @@ -1843,15 +1850,20 @@ ret = parse_events__scanner(str, &parse_state, PE_START_EVENTS); perf_pmu__parse_cleanup(); + + if (!ret && list_empty(&parse_state.list)) { + WARN_ONCE(true, "WARNING: event parser found nothing\n"); + return -1; + } + + /* + * Add list to the evlist even with errors to allow callers to clean up. + */ + perf_evlist__splice_list_tail(evlist, &parse_state.list); + if (!ret) { struct perf_evsel *last; - if (list_empty(&parse_state.list)) { - WARN_ONCE(true, "WARNING: event parser found nothing\n"); - return -1; - } - - perf_evlist__splice_list_tail(evlist, &parse_state.list); evlist->nr_groups += parse_state.nr_groups; last = perf_evlist__last(evlist); last->cmdline_group_boundary = true; diff -Nru linux-4.19.87/tools/perf/util/perf_regs.h linux-4.19.98/tools/perf/util/perf_regs.h --- linux-4.19.87/tools/perf/util/perf_regs.h 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/perf/util/perf_regs.h 2020-01-23 07:21:39.000000000 +0000 @@ -34,7 +34,7 @@ static inline const char *perf_reg_name(int id __maybe_unused) { - return NULL; + return "unknown"; } static inline int perf_reg_value(u64 *valp __maybe_unused, diff -Nru linux-4.19.87/tools/perf/util/probe-finder.c linux-4.19.98/tools/perf/util/probe-finder.c --- linux-4.19.87/tools/perf/util/probe-finder.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/perf/util/probe-finder.c 2020-01-23 07:21:39.000000000 +0000 @@ -612,38 +612,26 @@ const char *function, struct probe_trace_point *tp) { - Dwarf_Addr eaddr, highaddr; + Dwarf_Addr eaddr; GElf_Sym sym; const char *symbol; /* Verify the address is correct */ - if (dwarf_entrypc(sp_die, &eaddr) != 0) { - pr_warning("Failed to get entry address of %s\n", - dwarf_diename(sp_die)); - return -ENOENT; - } - if (dwarf_highpc(sp_die, &highaddr) != 0) { - pr_warning("Failed to get end address of %s\n", - dwarf_diename(sp_die)); - return -ENOENT; - } - if (paddr > highaddr) { - pr_warning("Offset specified is greater than size of %s\n", + if (!dwarf_haspc(sp_die, paddr)) { + pr_warning("Specified offset is out of %s\n", dwarf_diename(sp_die)); return -EINVAL; } - symbol = dwarf_diename(sp_die); + /* Try to get actual symbol name from symtab */ + symbol = dwfl_module_addrsym(mod, paddr, &sym, NULL); if (!symbol) { - /* Try to get the symbol name from symtab */ - symbol = dwfl_module_addrsym(mod, paddr, &sym, NULL); - if (!symbol) { - pr_warning("Failed to find symbol at 0x%lx\n", - (unsigned long)paddr); - return -ENOENT; - } - eaddr = sym.st_value; + pr_warning("Failed to find symbol at 0x%lx\n", + (unsigned long)paddr); + return -ENOENT; } + eaddr = sym.st_value; + tp->offset = (unsigned long)(paddr - eaddr); tp->address = (unsigned long)paddr; tp->symbol = strdup(symbol); @@ -764,6 +752,16 @@ return 0; } +/* Return innermost DIE */ +static int find_inner_scope_cb(Dwarf_Die *fn_die, void *data) +{ + struct find_scope_param *fsp = data; + + memcpy(fsp->die_mem, fn_die, sizeof(Dwarf_Die)); + fsp->found = true; + return 1; +} + /* Find an appropriate scope fits to given conditions */ static Dwarf_Die *find_best_scope(struct probe_finder *pf, Dwarf_Die *die_mem) { @@ -775,8 +773,13 @@ .die_mem = die_mem, .found = false, }; + int ret; - cu_walk_functions_at(&pf->cu_die, pf->addr, find_best_scope_cb, &fsp); + ret = cu_walk_functions_at(&pf->cu_die, pf->addr, find_best_scope_cb, + &fsp); + if (!ret && !fsp.found) + cu_walk_functions_at(&pf->cu_die, pf->addr, + find_inner_scope_cb, &fsp); return fsp.found ? die_mem : NULL; } @@ -950,7 +953,7 @@ ret = find_probe_point_lazy(in_die, pf); else { /* Get probe address */ - if (dwarf_entrypc(in_die, &addr) != 0) { + if (die_entrypc(in_die, &addr) != 0) { pr_warning("Failed to get entry address of %s.\n", dwarf_diename(in_die)); return -ENOENT; @@ -1002,7 +1005,7 @@ param->retval = find_probe_point_by_line(pf); } else if (die_is_func_instance(sp_die)) { /* Instances always have the entry address */ - dwarf_entrypc(sp_die, &pf->addr); + die_entrypc(sp_die, &pf->addr); /* But in some case the entry address is 0 */ if (pf->addr == 0) { pr_debug("%s has no entry PC. Skipped\n", @@ -1414,6 +1417,18 @@ return DIE_FIND_CB_END; } +static bool available_var_finder_overlap(struct available_var_finder *af) +{ + int i; + + for (i = 0; i < af->nvls; i++) { + if (af->pf.addr == af->vls[i].point.address) + return true; + } + return false; + +} + /* Add a found vars into available variables list */ static int add_available_vars(Dwarf_Die *sc_die, struct probe_finder *pf) { @@ -1424,6 +1439,14 @@ Dwarf_Die die_mem; int ret; + /* + * For some reason (e.g. different column assigned to same address), + * this callback can be called with the address which already passed. + * Ignore it first. + */ + if (available_var_finder_overlap(af)) + return 0; + /* Check number of tevs */ if (af->nvls == af->max_vls) { pr_warning("Too many( > %d) probe point found.\n", af->max_vls); @@ -1567,7 +1590,7 @@ /* Get function entry information */ func = basefunc = dwarf_diename(&spdie); if (!func || - dwarf_entrypc(&spdie, &baseaddr) != 0 || + die_entrypc(&spdie, &baseaddr) != 0 || dwarf_decl_line(&spdie, &baseline) != 0) { lineno = 0; goto post; @@ -1584,7 +1607,7 @@ while (die_find_top_inlinefunc(&spdie, (Dwarf_Addr)addr, &indie)) { /* There is an inline function */ - if (dwarf_entrypc(&indie, &_addr) == 0 && + if (die_entrypc(&indie, &_addr) == 0 && _addr == addr) { /* * addr is at an inline function entry. diff -Nru linux-4.19.87/tools/perf/util/strbuf.c linux-4.19.98/tools/perf/util/strbuf.c --- linux-4.19.87/tools/perf/util/strbuf.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/perf/util/strbuf.c 2020-01-23 07:21:39.000000000 +0000 @@ -109,7 +109,6 @@ return ret; } len = vsnprintf(sb->buf + sb->len, sb->alloc - sb->len, fmt, ap_saved); - va_end(ap_saved); if (len > strbuf_avail(sb)) { pr_debug("this should not happen, your vsnprintf is broken"); va_end(ap_saved); diff -Nru linux-4.19.87/tools/power/cpupower/utils/idle_monitor/hsw_ext_idle.c linux-4.19.98/tools/power/cpupower/utils/idle_monitor/hsw_ext_idle.c --- linux-4.19.87/tools/power/cpupower/utils/idle_monitor/hsw_ext_idle.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/power/cpupower/utils/idle_monitor/hsw_ext_idle.c 2020-01-23 07:21:39.000000000 +0000 @@ -40,7 +40,6 @@ { .name = "PC9", .desc = N_("Processor Package C9"), - .desc = N_("Processor Package C2"), .id = PC9, .range = RANGE_PACKAGE, .get_count_percent = hsw_ext_get_count_percent, diff -Nru linux-4.19.87/tools/testing/selftests/bpf/cgroup_helpers.c linux-4.19.98/tools/testing/selftests/bpf/cgroup_helpers.c --- linux-4.19.87/tools/testing/selftests/bpf/cgroup_helpers.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/testing/selftests/bpf/cgroup_helpers.c 2020-01-23 07:21:39.000000000 +0000 @@ -44,7 +44,7 @@ */ int setup_cgroup_environment(void) { - char cgroup_workdir[PATH_MAX + 1]; + char cgroup_workdir[PATH_MAX - 24]; format_cgroup_path(cgroup_workdir, ""); diff -Nru linux-4.19.87/tools/testing/selftests/bpf/test_sockmap.c linux-4.19.98/tools/testing/selftests/bpf/test_sockmap.c --- linux-4.19.87/tools/testing/selftests/bpf/test_sockmap.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/testing/selftests/bpf/test_sockmap.c 2020-01-23 07:21:39.000000000 +0000 @@ -248,6 +248,10 @@ int i, fp; file = fopen(".sendpage_tst.tmp", "w+"); + if (!file) { + perror("create file for sendpage"); + return 1; + } for (i = 0; i < iov_length * cnt; i++, k++) fwrite(&k, sizeof(char), 1, file); fflush(file); @@ -255,6 +259,11 @@ fclose(file); fp = open(".sendpage_tst.tmp", O_RDONLY); + if (fp < 0) { + perror("reopen file for sendpage"); + return 1; + } + clock_gettime(CLOCK_MONOTONIC, &s->start); for (i = 0; i < cnt; i++) { int sent = sendfile(fd, fp, NULL, iov_length); diff -Nru linux-4.19.87/tools/testing/selftests/firmware/fw_lib.sh linux-4.19.98/tools/testing/selftests/firmware/fw_lib.sh --- linux-4.19.87/tools/testing/selftests/firmware/fw_lib.sh 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/testing/selftests/firmware/fw_lib.sh 2020-01-23 07:21:39.000000000 +0000 @@ -28,6 +28,12 @@ check_mods() { + local uid=$(id -u) + if [ $uid -ne 0 ]; then + echo "skip all tests: must be run as root" >&2 + exit $ksft_skip + fi + trap "test_modprobe" EXIT if [ ! -d $DIR ]; then modprobe test_firmware diff -Nru linux-4.19.87/tools/testing/selftests/ftrace/test.d/kprobe/multiple_kprobes.tc linux-4.19.98/tools/testing/selftests/ftrace/test.d/kprobe/multiple_kprobes.tc --- linux-4.19.87/tools/testing/selftests/ftrace/test.d/kprobe/multiple_kprobes.tc 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/testing/selftests/ftrace/test.d/kprobe/multiple_kprobes.tc 2020-01-23 07:21:39.000000000 +0000 @@ -25,9 +25,9 @@ test $N -eq 256 && break done -L=`wc -l kprobe_events` -if [ $L -ne $N ]; then - echo "The number of kprobes events ($L) is not $N" +L=`cat kprobe_events | wc -l` +if [ $L -ne 256 ]; then + echo "The number of kprobes events ($L) is not 256" exit_fail fi diff -Nru linux-4.19.87/tools/testing/selftests/kvm/lib/assert.c linux-4.19.98/tools/testing/selftests/kvm/lib/assert.c --- linux-4.19.87/tools/testing/selftests/kvm/lib/assert.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/testing/selftests/kvm/lib/assert.c 2020-01-23 07:21:39.000000000 +0000 @@ -56,7 +56,7 @@ #pragma GCC diagnostic pop } -static pid_t gettid(void) +static pid_t _gettid(void) { return syscall(SYS_gettid); } @@ -73,7 +73,7 @@ fprintf(stderr, "==== Test Assertion Failure ====\n" " %s:%u: %s\n" " pid=%d tid=%d - %s\n", - file, line, exp_str, getpid(), gettid(), + file, line, exp_str, getpid(), _gettid(), strerror(errno)); test_dump_stack(); if (fmt) { diff -Nru linux-4.19.87/tools/testing/selftests/net/forwarding/router_bridge_vlan.sh linux-4.19.98/tools/testing/selftests/net/forwarding/router_bridge_vlan.sh --- linux-4.19.87/tools/testing/selftests/net/forwarding/router_bridge_vlan.sh 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/testing/selftests/net/forwarding/router_bridge_vlan.sh 2020-01-23 07:21:39.000000000 +0000 @@ -36,7 +36,7 @@ { ip -6 route del 2001:db8:1::/64 vrf v$h2 ip -4 route del 192.0.2.0/28 vrf v$h2 - simple_if_fini $h2 192.0.2.130/28 + simple_if_fini $h2 192.0.2.130/28 2001:db8:2::2/64 } router_create() diff -Nru linux-4.19.87/tools/testing/selftests/net/rtnetlink.sh linux-4.19.98/tools/testing/selftests/net/rtnetlink.sh --- linux-4.19.87/tools/testing/selftests/net/rtnetlink.sh 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/testing/selftests/net/rtnetlink.sh 2020-01-23 07:21:39.000000000 +0000 @@ -234,6 +234,26 @@ echo "PASS: route get" } +kci_test_addrlft() +{ + for i in $(seq 10 100) ;do + lft=$(((RANDOM%3) + 1)) + ip addr add 10.23.11.$i/32 dev "$devdummy" preferred_lft $lft valid_lft $((lft+1)) + check_err $? + done + + sleep 5 + + ip addr show dev "$devdummy" | grep "10.23.11." + if [ $? -eq 0 ]; then + echo "FAIL: preferred_lft addresses remaining" + check_err 1 + return + fi + + echo "PASS: preferred_lft addresses have expired" +} + kci_test_addrlabel() { ret=0 @@ -965,6 +985,7 @@ kci_test_polrouting kci_test_route_get + kci_test_addrlft kci_test_tc kci_test_gre kci_test_gretap diff -Nru linux-4.19.87/tools/testing/selftests/powerpc/ptrace/core-pkey.c linux-4.19.98/tools/testing/selftests/powerpc/ptrace/core-pkey.c --- linux-4.19.87/tools/testing/selftests/powerpc/ptrace/core-pkey.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/testing/selftests/powerpc/ptrace/core-pkey.c 2020-01-23 07:21:39.000000000 +0000 @@ -352,10 +352,7 @@ FILE *f; f = fopen(core_pattern_file, "w"); - if (!f) { - perror("Error writing to core_pattern file"); - return TEST_FAIL; - } + SKIP_IF_MSG(!f, "Try with root privileges"); ret = fwrite(core_pattern, 1, len, f); fclose(f); diff -Nru linux-4.19.87/tools/testing/selftests/powerpc/ptrace/ptrace-gpr.c linux-4.19.98/tools/testing/selftests/powerpc/ptrace/ptrace-gpr.c --- linux-4.19.87/tools/testing/selftests/powerpc/ptrace/ptrace-gpr.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/testing/selftests/powerpc/ptrace/ptrace-gpr.c 2020-01-23 07:21:39.000000000 +0000 @@ -31,7 +31,7 @@ ASM_LOAD_GPR_IMMED(gpr_1) ASM_LOAD_FPR_SINGLE_PRECISION(flt_1) : - : [gpr_1]"i"(GPR_1), [flt_1] "r" (&a) + : [gpr_1]"i"(GPR_1), [flt_1] "b" (&a) : "memory", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23", "r24", diff -Nru linux-4.19.87/tools/testing/selftests/powerpc/ptrace/ptrace-tm-gpr.c linux-4.19.98/tools/testing/selftests/powerpc/ptrace/ptrace-tm-gpr.c --- linux-4.19.87/tools/testing/selftests/powerpc/ptrace/ptrace-tm-gpr.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/testing/selftests/powerpc/ptrace/ptrace-tm-gpr.c 2020-01-23 07:21:39.000000000 +0000 @@ -59,8 +59,8 @@ "3: ;" : [res] "=r" (result), [texasr] "=r" (texasr) : [gpr_1]"i"(GPR_1), [gpr_2]"i"(GPR_2), - [sprn_texasr] "i" (SPRN_TEXASR), [flt_1] "r" (&a), - [flt_2] "r" (&b), [cptr1] "r" (&cptr[1]) + [sprn_texasr] "i" (SPRN_TEXASR), [flt_1] "b" (&a), + [flt_2] "b" (&b), [cptr1] "b" (&cptr[1]) : "memory", "r7", "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", "r16", "r17", "r18", "r19", "r20", "r21", "r22", diff -Nru linux-4.19.87/tools/testing/selftests/powerpc/ptrace/ptrace-tm-spd-tar.c linux-4.19.98/tools/testing/selftests/powerpc/ptrace/ptrace-tm-spd-tar.c --- linux-4.19.87/tools/testing/selftests/powerpc/ptrace/ptrace-tm-spd-tar.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/testing/selftests/powerpc/ptrace/ptrace-tm-spd-tar.c 2020-01-23 07:21:39.000000000 +0000 @@ -72,7 +72,7 @@ "3: ;" : [res] "=r" (result), [texasr] "=r" (texasr) - : [val] "r" (cptr[1]), [sprn_dscr]"i"(SPRN_DSCR), + : [sprn_dscr]"i"(SPRN_DSCR), [sprn_tar]"i"(SPRN_TAR), [sprn_ppr]"i"(SPRN_PPR), [sprn_texasr]"i"(SPRN_TEXASR), [tar_1]"i"(TAR_1), [dscr_1]"i"(DSCR_1), [tar_2]"i"(TAR_2), [dscr_2]"i"(DSCR_2), diff -Nru linux-4.19.87/tools/testing/selftests/powerpc/ptrace/ptrace-tm-spd-vsx.c linux-4.19.98/tools/testing/selftests/powerpc/ptrace/ptrace-tm-spd-vsx.c --- linux-4.19.87/tools/testing/selftests/powerpc/ptrace/ptrace-tm-spd-vsx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/testing/selftests/powerpc/ptrace/ptrace-tm-spd-vsx.c 2020-01-23 07:21:39.000000000 +0000 @@ -77,8 +77,7 @@ "3: ;" : [res] "=r" (result), [texasr] "=r" (texasr) - : [fp_load] "r" (fp_load), [fp_load_ckpt] "r" (fp_load_ckpt), - [sprn_texasr] "i" (SPRN_TEXASR) + : [sprn_texasr] "i" (SPRN_TEXASR) : "memory", "r0", "r1", "r3", "r4", "r7", "r8", "r9", "r10", "r11" ); diff -Nru linux-4.19.87/tools/testing/selftests/powerpc/ptrace/ptrace-tm-spr.c linux-4.19.98/tools/testing/selftests/powerpc/ptrace/ptrace-tm-spr.c --- linux-4.19.87/tools/testing/selftests/powerpc/ptrace/ptrace-tm-spr.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/testing/selftests/powerpc/ptrace/ptrace-tm-spr.c 2020-01-23 07:21:39.000000000 +0000 @@ -74,7 +74,7 @@ "3: ;" : [tfhar] "=r" (tfhar), [res] "=r" (result), - [texasr] "=r" (texasr), [cptr1] "=r" (cptr1) + [texasr] "=r" (texasr), [cptr1] "=b" (cptr1) : [sprn_texasr] "i" (SPRN_TEXASR) : "memory", "r0", "r8", "r31" ); diff -Nru linux-4.19.87/tools/testing/selftests/powerpc/ptrace/ptrace-tm-tar.c linux-4.19.98/tools/testing/selftests/powerpc/ptrace/ptrace-tm-tar.c --- linux-4.19.87/tools/testing/selftests/powerpc/ptrace/ptrace-tm-tar.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/testing/selftests/powerpc/ptrace/ptrace-tm-tar.c 2020-01-23 07:21:39.000000000 +0000 @@ -65,7 +65,7 @@ : [sprn_dscr]"i"(SPRN_DSCR), [sprn_tar]"i"(SPRN_TAR), [sprn_ppr]"i"(SPRN_PPR), [sprn_texasr]"i"(SPRN_TEXASR), [tar_1]"i"(TAR_1), [dscr_1]"i"(DSCR_1), [tar_2]"i"(TAR_2), - [dscr_2]"i"(DSCR_2), [cptr1] "r" (&cptr[1]) + [dscr_2]"i"(DSCR_2), [cptr1] "b" (&cptr[1]) : "memory", "r0", "r1", "r3", "r4", "r5", "r6" ); diff -Nru linux-4.19.87/tools/testing/selftests/powerpc/ptrace/ptrace-tm-vsx.c linux-4.19.98/tools/testing/selftests/powerpc/ptrace/ptrace-tm-vsx.c --- linux-4.19.87/tools/testing/selftests/powerpc/ptrace/ptrace-tm-vsx.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/testing/selftests/powerpc/ptrace/ptrace-tm-vsx.c 2020-01-23 07:21:39.000000000 +0000 @@ -65,8 +65,7 @@ "3: ;" : [res] "=r" (result), [texasr] "=r" (texasr) - : [fp_load] "r" (fp_load), [fp_load_ckpt] "r" (fp_load_ckpt), - [sprn_texasr] "i" (SPRN_TEXASR), [cptr1] "r" (&cptr[1]) + : [sprn_texasr] "i" (SPRN_TEXASR), [cptr1] "b" (&cptr[1]) : "memory", "r0", "r1", "r3", "r4", "r7", "r8", "r9", "r10", "r11" ); diff -Nru linux-4.19.87/tools/testing/selftests/rseq/param_test.c linux-4.19.98/tools/testing/selftests/rseq/param_test.c --- linux-4.19.87/tools/testing/selftests/rseq/param_test.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/testing/selftests/rseq/param_test.c 2020-01-23 07:21:39.000000000 +0000 @@ -15,7 +15,7 @@ #include #include -static inline pid_t gettid(void) +static inline pid_t rseq_gettid(void) { return syscall(__NR_gettid); } @@ -373,11 +373,12 @@ rseq_percpu_unlock(&data->lock, cpu); #ifndef BENCHMARK if (i != 0 && !(i % (reps / 10))) - printf_verbose("tid %d: count %lld\n", (int) gettid(), i); + printf_verbose("tid %d: count %lld\n", + (int) rseq_gettid(), i); #endif } printf_verbose("tid %d: number of rseq abort: %d, signals delivered: %u\n", - (int) gettid(), nr_abort, signals_delivered); + (int) rseq_gettid(), nr_abort, signals_delivered); if (!opt_disable_rseq && thread_data->reg && rseq_unregister_current_thread()) abort(); @@ -454,11 +455,12 @@ } while (rseq_unlikely(ret)); #ifndef BENCHMARK if (i != 0 && !(i % (reps / 10))) - printf_verbose("tid %d: count %lld\n", (int) gettid(), i); + printf_verbose("tid %d: count %lld\n", + (int) rseq_gettid(), i); #endif } printf_verbose("tid %d: number of rseq abort: %d, signals delivered: %u\n", - (int) gettid(), nr_abort, signals_delivered); + (int) rseq_gettid(), nr_abort, signals_delivered); if (!opt_disable_rseq && thread_data->reg && rseq_unregister_current_thread()) abort(); @@ -605,7 +607,7 @@ } printf_verbose("tid %d: number of rseq abort: %d, signals delivered: %u\n", - (int) gettid(), nr_abort, signals_delivered); + (int) rseq_gettid(), nr_abort, signals_delivered); if (!opt_disable_rseq && rseq_unregister_current_thread()) abort(); @@ -796,7 +798,7 @@ } printf_verbose("tid %d: number of rseq abort: %d, signals delivered: %u\n", - (int) gettid(), nr_abort, signals_delivered); + (int) rseq_gettid(), nr_abort, signals_delivered); if (!opt_disable_rseq && rseq_unregister_current_thread()) abort(); @@ -1011,7 +1013,7 @@ } printf_verbose("tid %d: number of rseq abort: %d, signals delivered: %u\n", - (int) gettid(), nr_abort, signals_delivered); + (int) rseq_gettid(), nr_abort, signals_delivered); if (!opt_disable_rseq && rseq_unregister_current_thread()) abort(); diff -Nru linux-4.19.87/tools/testing/selftests/rseq/settings linux-4.19.98/tools/testing/selftests/rseq/settings --- linux-4.19.87/tools/testing/selftests/rseq/settings 1970-01-01 00:00:00.000000000 +0000 +++ linux-4.19.98/tools/testing/selftests/rseq/settings 2020-01-23 07:21:39.000000000 +0000 @@ -0,0 +1 @@ +timeout=0 diff -Nru linux-4.19.87/tools/vm/page-types.c linux-4.19.98/tools/vm/page-types.c --- linux-4.19.87/tools/vm/page-types.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/tools/vm/page-types.c 2020-01-23 07:21:39.000000000 +0000 @@ -701,7 +701,7 @@ if (kpagecgroup_read(cgi, index, pages) != pages) fatal("kpagecgroup returned fewer pages than expected"); - if (kpagecount_read(cnt, index, batch) != pages) + if (kpagecount_read(cnt, index, pages) != pages) fatal("kpagecount returned fewer pages than expected"); for (i = 0; i < pages; i++) diff -Nru linux-4.19.87/virt/kvm/arm/vgic/vgic-v3.c linux-4.19.98/virt/kvm/arm/vgic/vgic-v3.c --- linux-4.19.87/virt/kvm/arm/vgic/vgic-v3.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/virt/kvm/arm/vgic/vgic-v3.c 2020-01-23 07:21:39.000000000 +0000 @@ -375,8 +375,8 @@ int vgic_v3_save_pending_tables(struct kvm *kvm) { struct vgic_dist *dist = &kvm->arch.vgic; - int last_byte_offset = -1; struct vgic_irq *irq; + gpa_t last_ptr = ~(gpa_t)0; int ret; u8 val; @@ -396,11 +396,11 @@ bit_nr = irq->intid % BITS_PER_BYTE; ptr = pendbase + byte_offset; - if (byte_offset != last_byte_offset) { + if (ptr != last_ptr) { ret = kvm_read_guest_lock(kvm, ptr, &val, 1); if (ret) return ret; - last_byte_offset = byte_offset; + last_ptr = ptr; } stored = val & (1U << bit_nr); diff -Nru linux-4.19.87/virt/kvm/kvm_main.c linux-4.19.98/virt/kvm/kvm_main.c --- linux-4.19.87/virt/kvm/kvm_main.c 2019-12-01 08:17:47.000000000 +0000 +++ linux-4.19.98/virt/kvm/kvm_main.c 2020-01-23 07:21:39.000000000 +0000 @@ -3990,7 +3990,7 @@ } add_uevent_var(env, "PID=%d", kvm->userspace_pid); - if (kvm->debugfs_dentry) { + if (!IS_ERR_OR_NULL(kvm->debugfs_dentry)) { char *tmp, *p = kmalloc(PATH_MAX, GFP_KERNEL); if (p) {