diff --git a/debian/bin/gencontrol.py b/debian/bin/gencontrol.py index 79866c8..39175f2 100755 --- a/debian/bin/gencontrol.py +++ b/debian/bin/gencontrol.py @@ -350,14 +350,7 @@ class Gencontrol(Base): def process_changelog(self) -> None: version = self.version = self.changelog[0].version - if self.changelog[0].distribution == 'UNRELEASED': - self.abiname = f'{version.linux_upstream}+unreleased' - elif self.changelog[0].distribution == 'experimental': - self.abiname = f'{version.linux_upstream}' - elif version.linux_revision_backports: - self.abiname = f'{version.linux_upstream_full}+bpo' - else: - self.abiname = f'{version.linux_upstream_full}' + self.abiname = f'{version.linux_upstream_full}' self.vars = { 'upstreamversion': self.version.linux_upstream, diff --git a/debian/bin/genpatch-pfkernel b/debian/bin/genpatch-pfkernel index dfe1fcf..b948e6c 100755 --- a/debian/bin/genpatch-pfkernel +++ b/debian/bin/genpatch-pfkernel @@ -7,7 +7,7 @@ w=$(git rev-parse --path-format=absolute --show-toplevel) ; : "${w:?}" ; cd "$w" dst='debian/patches/pf-tmp' src='../linux-extras' -branches='amd-pstate cpuidle crypto fixes invlpgb kbuild nfs smb zstd' +branches='amd-pstate cpuidle crypto exfat fixes fuse invlpgb kbuild nfs smb zstd' if [ -d "${dst}" ] ; then rm -rf "${dst}" ; fi mkdir -p "${dst}" diff --git a/debian/bin/refine-configs b/debian/bin/refine-configs index ec27854..8b91225 100755 --- a/debian/bin/refine-configs +++ b/debian/bin/refine-configs @@ -11,12 +11,15 @@ dpkg-parsechangelog --show-field Source | grep -Eq '^linux' ch_ver=$(dpkg-parsechangelog --show-field Version) -v=$1 +ktarget=$1 +[ -n "${ktarget}" ] || ktarget=oldconfig + +v=$2 [ -n "$v" ] || v=$(echo "${ch_ver}" | sed -E 's/^\d+://;s/-[^-]+$//') [ -n "$v" ] ## should be source tree with patches applied -src_dir=$2 +src_dir=$3 [ -n "${src_dir}" ] || src_dir="/tmp/linux-$v" [ -n "${src_dir}" ] [ -d "${src_dir}" ] @@ -25,8 +28,8 @@ src_dir=$(readlink -f "${src_dir}") nproc=$(nproc || printf 2) case "${nproc}" in [0-1] ) nproc=2 ;; -[2-9] | 1[0-9] ) ;; -* ) nproc=20 ;; +[2-8] ) ;; +* ) nproc=8 ;; esac rm -rf debian/build/ @@ -44,7 +47,7 @@ for c in ${configs} ; do f="debian/build/$c" cp -f "$f" "${src_dir}/.config" - env -C "${src_dir}" make "-j${nproc}" oldconfig + env -C "${src_dir}" make "-j${nproc}" "${ktarget}" cp -f "${src_dir}/.config" "$f" done diff --git a/debian/changelog b/debian/changelog index 2b2121d..0bb1ff2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +linux (6.14.9-1) sid; urgency=medium + + * New upstream stable update: + https://www.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.14.9 + + -- Konstantin Demin Thu, 29 May 2025 15:08:18 +0300 + linux (6.14.8-1) sid; urgency=medium * New upstream stable update: diff --git a/debian/config/amd64/config.cloud b/debian/config/amd64/config.cloud index 98360b0..299cc7e 100644 --- a/debian/config/amd64/config.cloud +++ b/debian/config/amd64/config.cloud @@ -12,17 +12,6 @@ # CONFIG_X86_INTEL_LPSS is not set # CONFIG_X86_AMD_PLATFORM_DEVICE is not set CONFIG_IOSF_MBI=m -CONFIG_HYPERVISOR_GUEST=y -CONFIG_PARAVIRT=y -# CONFIG_PARAVIRT_DEBUG is not set -CONFIG_PARAVIRT_SPINLOCKS=y -CONFIG_KVM_GUEST=y -CONFIG_ARCH_CPUIDLE_HALTPOLL=y -CONFIG_PVH=y -# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set -CONFIG_JAILHOUSE_GUEST=y -CONFIG_ACRN_GUEST=y -CONFIG_INTEL_TDX_GUEST=y # CONFIG_GART_IOMMU is not set CONFIG_NR_CPUS=64 # CONFIG_X86_MCE_INJECT is not set @@ -63,14 +52,7 @@ CONFIG_IO_DELAY_NONE=y ## ## file: arch/x86/xen/Kconfig ## -CONFIG_XEN=y -CONFIG_XEN_PV=y -CONFIG_XEN_512GB=y -CONFIG_XEN_PVHVM_GUEST=y -# CONFIG_XEN_DEBUG_FS is not set -CONFIG_XEN_PVH=y # CONFIG_XEN_DOM0 is not set -CONFIG_XEN_PV_MSR_SAFE=y ## ## file: block/Kconfig @@ -220,8 +202,6 @@ CONFIG_ATA=m ## file: drivers/block/Kconfig ## # CONFIG_ATA_OVER_ETH is not set -CONFIG_XEN_BLKDEV_FRONTEND=m -CONFIG_XEN_BLKDEV_BACKEND=m ## ## file: drivers/block/mtip32xx/Kconfig @@ -267,7 +247,6 @@ CONFIG_TCG_TIS=m # 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 ## @@ -293,12 +272,6 @@ CONFIG_TCG_CRB=m CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y ## end choice -## -## file: drivers/cpuidle/Kconfig -## -CONFIG_CPU_IDLE_GOV_HALTPOLL=y -CONFIG_HALTPOLL_CPUIDLE=y - ## ## file: drivers/crypto/Kconfig ## @@ -464,14 +437,6 @@ CONFIG_GOOGLE_VPD=m ## # CONFIG_HTE is not set -## -## file: drivers/hv/Kconfig -## -CONFIG_HYPERV=m -# CONFIG_HYPERV_VTL_MODE is not set -CONFIG_HYPERV_UTILS=m -CONFIG_HYPERV_BALLOON=m - ## ## file: drivers/hwmon/Kconfig ## @@ -683,7 +648,6 @@ CONFIG_INFINIBAND_SRPT=m # CONFIG_SERIO_ALTERA_PS2 is not set # CONFIG_SERIO_PS2MULT is not set # CONFIG_SERIO_ARC_PS2 is not set -CONFIG_HYPERV_KEYBOARD=m # CONFIG_USERIO is not set ## @@ -701,12 +665,6 @@ CONFIG_HYPERV_KEYBOARD=m ## # CONFIG_INTERCONNECT is not set -## -## file: drivers/iommu/Kconfig -## -CONFIG_HYPERV_IOMMU=y -CONFIG_VIRTIO_IOMMU=y - ## ## file: drivers/iommu/iommufd/Kconfig ## @@ -804,7 +762,6 @@ CONFIG_FUSION_FC=m # CONFIG_TIFM_CORE is not set # CONFIG_ENCLOSURE_SERVICES is not set # CONFIG_HP_ILO is not set -CONFIG_VMWARE_BALLOON=m # CONFIG_SRAM is not set # CONFIG_DW_XDATA_PCIE is not set # CONFIG_XILINX_SDFEC is not set @@ -859,8 +816,6 @@ CONFIG_VMWARE_BALLOON=m ## ## file: drivers/net/Kconfig ## -CONFIG_XEN_NETDEV_FRONTEND=m -CONFIG_XEN_NETDEV_BACKEND=m # CONFIG_FUJITSU_ES is not set ## @@ -1078,11 +1033,6 @@ CONFIG_FBNIC=m ## # CONFIG_NET_VENDOR_MICROCHIP is not set -## -## file: drivers/net/ethernet/microsoft/Kconfig -## -CONFIG_MICROSOFT_MANA=m - ## ## file: drivers/net/ethernet/mscc/Kconfig ## @@ -1248,11 +1198,6 @@ CONFIG_MICROSOFT_MANA=m ## # CONFIG_NET_VENDOR_XILINX is not set -## -## file: drivers/net/hyperv/Kconfig -## -CONFIG_HYPERV_NET=m - ## ## file: drivers/net/mdio/Kconfig ## @@ -1401,15 +1346,12 @@ CONFIG_NVME_TARGET_FC=m ## ## file: drivers/pci/Kconfig ## -CONFIG_XEN_PCIDEV_FRONTEND=m # CONFIG_PCIE_TPH is not set -CONFIG_PCI_HYPERV=m ## ## file: drivers/pci/controller/Kconfig ## # CONFIG_VMD is not set -CONFIG_PCI_HYPERV_INTERFACE=m ## ## file: drivers/pci/controller/dwc/Kconfig @@ -1528,8 +1470,6 @@ CONFIG_PPS=m ## # CONFIG_DP83640_PHY is not set # CONFIG_PTP_1588_CLOCK_INES is not set -CONFIG_PTP_1588_CLOCK_KVM=m -CONFIG_PTP_1588_CLOCK_VMW=m ## ## file: drivers/pwm/Kconfig @@ -1589,8 +1529,6 @@ CONFIG_SCSI_FC_ATTRS=m CONFIG_SCSI_SRP_ATTRS=m CONFIG_SCSI_BUSLOGIC=m # CONFIG_SCSI_FLASHPOINT is not set -CONFIG_XEN_SCSI_FRONTEND=m -CONFIG_HYPERV_STORAGE=m # CONFIG_LIBFC is not set CONFIG_SCSI_IPR=m # CONFIG_SCSI_IPR_TRACE is not set @@ -1694,12 +1632,6 @@ CONFIG_SCSI_MPI3MR=m # CONFIG_N_GSM is not set # CONFIG_NOZOMI is not set -## -## file: drivers/tty/hvc/Kconfig -## -CONFIG_HVC_XEN=y -CONFIG_HVC_XEN_FRONTEND=y - ## ## file: drivers/tty/serial/Kconfig ## @@ -1737,7 +1669,6 @@ CONFIG_HVC_XEN_FRONTEND=y # CONFIG_UIO_SERCOS3 is not set # CONFIG_UIO_NETX is not set # CONFIG_UIO_MF624 is not set -CONFIG_UIO_HV_GENERIC=m ## ## file: drivers/usb/Kconfig @@ -1766,34 +1697,17 @@ CONFIG_UIO_HV_GENERIC=m ## CONFIG_FB_CIRRUS=m CONFIG_FB_UVESA=m -CONFIG_XEN_FBDEV_FRONTEND=y -CONFIG_FB_HYPERV=m ## ## file: drivers/video/fbdev/core/Kconfig ## # CONFIG_FB_DEVICE is not set -## -## file: drivers/virt/acrn/Kconfig -## -CONFIG_ACRN_HSM=m - -## -## file: drivers/virt/coco/tdx-guest/Kconfig -## -CONFIG_TDX_GUEST_DRIVER=m - ## ## file: drivers/virt/vboxguest/Kconfig ## # CONFIG_VBOXGUEST is not set -## -## file: drivers/virtio/Kconfig -## -CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y - ## ## file: drivers/w1/Kconfig ## @@ -1844,35 +1758,8 @@ CONFIG_SOFT_WATCHDOG_PRETIMEOUT=y # CONFIG_SBC_EPX_C3_WATCHDOG is not set # CONFIG_NI903X_WDT is not set # CONFIG_NIC7018_WDT is not set -CONFIG_XEN_WDT=m # CONFIG_PCIPCWATCHDOG is not set -## -## file: drivers/xen/Kconfig -## -CONFIG_XEN_BALLOON=y -CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y -CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512 -CONFIG_XEN_SCRUB_PAGES_DEFAULT=y -CONFIG_XEN_DEV_EVTCHN=m -CONFIG_XEN_BACKEND=y -CONFIG_XENFS=m -CONFIG_XEN_COMPAT_XENFS=y -CONFIG_XEN_SYS_HYPERVISOR=y -CONFIG_XEN_GNTDEV=m -CONFIG_XEN_GNTDEV_DMABUF=y -CONFIG_XEN_GRANT_DEV_ALLOC=m -CONFIG_XEN_GRANT_DMA_ALLOC=y -CONFIG_XEN_PCIDEV_BACKEND=m -# CONFIG_XEN_PVCALLS_FRONTEND is not set -# CONFIG_XEN_PVCALLS_BACKEND is not set -CONFIG_XEN_SCSI_BACKEND=m -CONFIG_XEN_PRIVCMD=m -CONFIG_XEN_PRIVCMD_EVENTFD=y -CONFIG_XEN_UNPOPULATED_ALLOC=y -CONFIG_XEN_VIRTIO=y -# CONFIG_XEN_VIRTIO_FORCE_GRANT is not set - ## ## file: fs/Kconfig ## @@ -1933,12 +1820,6 @@ CONFIG_XEN_VIRTIO=y ## # CONFIG_VXFS_FS is not set -## -## file: fs/fuse/Kconfig -## -CONFIG_FUSE_FS=m -CONFIG_VIRTIO_FS=m - ## ## file: fs/gfs2/Kconfig ## @@ -2119,7 +2000,6 @@ CONFIG_PREEMPT_NONE=y ## file: kernel/power/Kconfig ## # CONFIG_PM_DEBUG is not set -# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set ## ## file: kernel/rcu/Kconfig @@ -2159,7 +2039,6 @@ CONFIG_PANIC_TIMEOUT=5 # CONFIG_FUNCTION_ERROR_INJECTION is not set # CONFIG_RUNTIME_TESTING_MENU is not set # CONFIG_MEMTEST is not set -# CONFIG_HYPERV_TESTING is not set ## ## file: lib/Kconfig.kfence @@ -2406,11 +2285,6 @@ CONFIG_SUNRPC_XPRT_RDMA=m ## CONFIG_TIPC_MEDIA_IB=y -## -## file: net/vmw_vsock/Kconfig -## -CONFIG_HYPERV_VSOCKETS=m - ## ## file: net/x25/Kconfig ## @@ -2455,9 +2329,6 @@ CONFIG_BLK_DEV_RNBD=y CONFIG_CRASH_RESERVE=y CONFIG_CRYPTO_LIB_AESCFB=m CONFIG_CXL_PORT=y -CONFIG_FB_IOMEM_HELPERS_DEFERRED=y -CONFIG_HVC_IRQ=y -CONFIG_HYPERV_TIMER=y CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y CONFIG_INFINIBAND_RTRS=m CONFIG_INFINIBAND_USER_MEM=y @@ -2476,28 +2347,10 @@ CONFIG_ND_BTT=m CONFIG_ND_PFN=m CONFIG_NETFS_SUPPORT=m # CONFIG_NVMEM_LAYOUTS is not set -CONFIG_PARAVIRT_CLOCK=y -CONFIG_PARAVIRT_XXL=y -CONFIG_PCI_XEN=y CONFIG_PREEMPT_NONE_BUILD=y CONFIG_RATIONAL=m CONFIG_SCSI_COMMON=m CONFIG_SCSI_MOD=m CONFIG_SCSI_NETLINK=y -CONFIG_SWIOTLB_XEN=y -CONFIG_SYS_HYPERVISOR=y CONFIG_TCG_TIS_CORE=m -CONFIG_X86_HV_CALLBACK_VECTOR=y -CONFIG_XEN_ACPI=y -CONFIG_XEN_AUTO_XLATE=y -CONFIG_XEN_EFI=y -CONFIG_XEN_GRANT_DMA_OPS=y -CONFIG_XEN_HAVE_PVMMU=y -CONFIG_XEN_HAVE_VPMU=y -CONFIG_XEN_PCI_STUB=y -CONFIG_XEN_PVHVM=y -CONFIG_XEN_PVHVM_SMP=y -CONFIG_XEN_PV_SMP=y -CONFIG_XEN_SAVE_RESTORE=y -CONFIG_XEN_XENBUS_FRONTEND=y CONFIG_ZSTD_COMPRESS=m diff --git a/debian/config/amd64/config.mobile b/debian/config/amd64/config.mobile index e97d79b..9bc7df4 100644 --- a/debian/config/amd64/config.mobile +++ b/debian/config/amd64/config.mobile @@ -12,7 +12,6 @@ CONFIG_X86_MPPARSE=y CONFIG_X86_INTEL_LPSS=y CONFIG_X86_AMD_PLATFORM_DEVICE=y CONFIG_IOSF_MBI=y -# CONFIG_HYPERVISOR_GUEST is not set CONFIG_GART_IOMMU=y CONFIG_NR_CPUS=64 CONFIG_X86_MCE_INJECT=m @@ -55,6 +54,11 @@ CONFIG_KVM_XEN=y CONFIG_RAS_CEC=y # CONFIG_RAS_CEC_DEBUG is not set +## +## file: arch/x86/xen/Kconfig +## +CONFIG_XEN_DOM0=y + ## ## file: block/Kconfig ## @@ -848,6 +852,7 @@ CONFIG_DRM=y # CONFIG_DRM_DEBUG_MODESET_LOCK is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y CONFIG_DRM_VGEM=m +CONFIG_DRM_HYPERV=m # CONFIG_DRM_WERROR is not set ## @@ -1222,6 +1227,12 @@ CONFIG_DRM_VIRTIO_GPU_KMS=y ## CONFIG_DRM_VKMS=m +## +## file: drivers/gpu/drm/vmwgfx/Kconfig +## +CONFIG_DRM_VMWGFX=m +# CONFIG_DRM_VMWGFX_MKSSTATS is not set + ## ## file: drivers/gpu/drm/xe/Kconfig ## @@ -1253,6 +1264,11 @@ CONFIG_DRM_XE_PREEMPT_TIMEOUT_MAX=10000000 CONFIG_DRM_XE_PREEMPT_TIMEOUT_MIN=1 CONFIG_DRM_XE_ENABLE_SCHEDTIMEOUT_LIMIT=y +## +## file: drivers/gpu/drm/xen/Kconfig +## +CONFIG_DRM_XEN_FRONTEND=m + ## ## file: drivers/gpu/vga/Kconfig ## @@ -1384,6 +1400,7 @@ CONFIG_HID_SUNPLUS=m CONFIG_HID_RMI=m CONFIG_HID_GREENASIA=m CONFIG_GREENASIA_FF=y +CONFIG_HID_HYPERV_MOUSE=m CONFIG_HID_SMARTJOYPLUS=m CONFIG_SMARTJOYPLUS_FF=y CONFIG_HID_TIVO=m @@ -2048,6 +2065,7 @@ CONFIG_INPUT_IQS626A=m CONFIG_INPUT_IQS7222=m CONFIG_INPUT_CMA3000=m CONFIG_INPUT_CMA3000_I2C=m +CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y CONFIG_INPUT_IDEAPAD_SLIDEBAR=m CONFIG_INPUT_SOC_BUTTON_ARRAY=m CONFIG_INPUT_DRV260X_HAPTICS=m @@ -2076,6 +2094,7 @@ CONFIG_MOUSE_PS2_ELANTECH_SMBUS=y CONFIG_MOUSE_PS2_SENTELIC=y CONFIG_MOUSE_PS2_TOUCHKIT=y CONFIG_MOUSE_PS2_FOCALTECH=y +CONFIG_MOUSE_PS2_VMMOUSE=y CONFIG_MOUSE_SERIAL=m CONFIG_MOUSE_APPLETOUCH=m CONFIG_MOUSE_BCM5974=m @@ -2238,11 +2257,6 @@ CONFIG_TOUCHSCREEN_USB_COMPOSITE=m ## CONFIG_INTERCONNECT=y -## -## file: drivers/iommu/Kconfig -## -CONFIG_VIRTIO_IOMMU=m - ## ## file: drivers/iommu/iommufd/Kconfig ## @@ -6489,6 +6503,7 @@ CONFIG_USB_R8A66597_HCD=m CONFIG_USB_HCD_BCMA=m CONFIG_USB_HCD_SSB=m # CONFIG_USB_HCD_TEST_MODE is not set +CONFIG_USB_XEN_HCD=m ## ## file: drivers/usb/image/Kconfig @@ -6831,11 +6846,6 @@ CONFIG_BACKLIGHT_LED=m ## CONFIG_VBOXGUEST=m -## -## file: drivers/virtio/Kconfig -## -# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set - ## ## file: drivers/w1/Kconfig ## @@ -6947,6 +6957,13 @@ CONFIG_MEN_A21_WDT=m CONFIG_PCIPCWATCHDOG=m CONFIG_USBPCWATCHDOG=m +## +## file: drivers/xen/Kconfig +## +CONFIG_XEN_ACPI_PROCESSOR=m +# CONFIG_XEN_MCE_LOG is not set +CONFIG_XEN_SYMS=y + ## ## file: fs/Kconfig ## @@ -7040,12 +7057,6 @@ CONFIG_F2FS_UNFAIR_RWSEM=y ## CONFIG_VXFS_FS=m -## -## file: fs/fuse/Kconfig -## -CONFIG_FUSE_FS=y -CONFIG_VIRTIO_FS=y - ## ## file: fs/gfs2/Kconfig ## @@ -7294,7 +7305,6 @@ CONFIG_PM_ADVANCED_DEBUG=y # CONFIG_PM_TEST_SUSPEND is not set # CONFIG_DPM_WATCHDOG is not set # CONFIG_PM_TRACE_RTC is not set -CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y ## ## file: kernel/rcu/Kconfig @@ -7483,6 +7493,7 @@ CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE=m CONFIG_NET_9P=m CONFIG_NET_9P_FD=m CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_9P_XEN=m CONFIG_NET_9P_USBG=m # CONFIG_NET_9P_DEBUG is not set @@ -7800,7 +7811,7 @@ CONFIG_CFG80211_CERTIFICATION_ONUS=y # CONFIG_CFG80211_REQUIRE_SIGNED_REGDB is not set # CONFIG_CFG80211_REG_CELLULAR_HINTS is not set # CONFIG_CFG80211_REG_RELAX_NO_IR is not set -CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEFAULT_PS is not set # CONFIG_CFG80211_DEBUGFS is not set CONFIG_CFG80211_CRDA_SUPPORT=y CONFIG_CFG80211_WEXT=y @@ -8537,6 +8548,11 @@ CONFIG_SND_VIRTIO=m CONFIG_SND_X86=y CONFIG_HDMI_LPE_AUDIO=m +## +## file: sound/xen/Kconfig +## +CONFIG_SND_XEN_FRONTEND=m + ## ## file: unknown ## @@ -8653,6 +8669,7 @@ CONFIG_DRM_SUBALLOC_HELPER=m CONFIG_DRM_TTM=m CONFIG_DRM_TTM_HELPER=m CONFIG_DRM_VRAM_HELPER=m +CONFIG_DRM_XEN=y CONFIG_DTC=y CONFIG_FB_BACKLIGHT=y CONFIG_FB_DMAMEM_HELPERS=y @@ -8729,6 +8746,7 @@ CONFIG_LZ4_COMPRESS=y CONFIG_MAC80211_HAS_RC=y CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" CONFIG_MADERA_IRQ=m +CONFIG_MAPPING_DIRTY_HELPERS=y CONFIG_MCTP_FLOWS=y CONFIG_MDIO=m CONFIG_MDIO_BUS_MUX=m @@ -9206,6 +9224,9 @@ CONFIG_WILC1000=m CONFIG_WIRELESS_EXT=y CONFIG_X86_ESPFIX64=y CONFIG_X86_PMEM_LEGACY_DEVICE=y +CONFIG_XEN_FRONT_PGDIR_SHBUF=m +CONFIG_XEN_GRANT_DMA_IOMMU=y +CONFIG_XEN_PV_DOM0=y CONFIG_XILLYBUS_CLASS=m CONFIG_Z3FOLD=m CONFIG_ZPOOL=y diff --git a/debian/config/amd64/config.vm b/debian/config/amd64/config.vm index 7030c5d..0f90eac 100644 --- a/debian/config/amd64/config.vm +++ b/debian/config/amd64/config.vm @@ -16,17 +16,6 @@ CONFIG_X86_GOLDFISH=y # CONFIG_X86_INTEL_LPSS is not set # CONFIG_X86_AMD_PLATFORM_DEVICE is not set CONFIG_IOSF_MBI=m -CONFIG_HYPERVISOR_GUEST=y -CONFIG_PARAVIRT=y -# CONFIG_PARAVIRT_DEBUG is not set -CONFIG_PARAVIRT_SPINLOCKS=y -CONFIG_KVM_GUEST=y -CONFIG_ARCH_CPUIDLE_HALTPOLL=y -CONFIG_PVH=y -# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set -CONFIG_JAILHOUSE_GUEST=y -CONFIG_ACRN_GUEST=y -CONFIG_INTEL_TDX_GUEST=y # CONFIG_GART_IOMMU is not set CONFIG_NR_CPUS=256 # CONFIG_X86_MCE_INJECT is not set @@ -68,14 +57,7 @@ CONFIG_IO_DELAY_NONE=y ## ## file: arch/x86/xen/Kconfig ## -CONFIG_XEN=y -CONFIG_XEN_PV=y -CONFIG_XEN_512GB=y -CONFIG_XEN_PVHVM_GUEST=y -# CONFIG_XEN_DEBUG_FS is not set -CONFIG_XEN_PVH=y # CONFIG_XEN_DOM0 is not set -CONFIG_XEN_PV_MSR_SAFE=y ## ## file: block/Kconfig @@ -235,8 +217,6 @@ CONFIG_ATA=m ## file: drivers/block/Kconfig ## # CONFIG_ATA_OVER_ETH is not set -CONFIG_XEN_BLKDEV_FRONTEND=m -CONFIG_XEN_BLKDEV_BACKEND=m ## ## file: drivers/block/mtip32xx/Kconfig @@ -293,7 +273,6 @@ CONFIG_TCG_TIS_I2C=m # 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 ## @@ -338,12 +317,6 @@ CONFIG_INTERRUPT_CNT=m CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y ## end choice -## -## file: drivers/cpuidle/Kconfig -## -CONFIG_CPU_IDLE_GOV_HALTPOLL=y -CONFIG_HALTPOLL_CPUIDLE=y - ## ## file: drivers/crypto/Kconfig ## @@ -870,14 +843,6 @@ CONFIG_HSI_CHAR=m ## # CONFIG_HTE is not set -## -## file: drivers/hv/Kconfig -## -CONFIG_HYPERV=m -# CONFIG_HYPERV_VTL_MODE is not set -CONFIG_HYPERV_UTILS=m -CONFIG_HYPERV_BALLOON=m - ## ## file: drivers/hwmon/Kconfig ## @@ -1456,7 +1421,6 @@ CONFIG_SERIO_PCIPS2=m # CONFIG_SERIO_ALTERA_PS2 is not set # CONFIG_SERIO_PS2MULT is not set # CONFIG_SERIO_ARC_PS2 is not set -CONFIG_HYPERV_KEYBOARD=m CONFIG_SERIO_GPIO_PS2=m CONFIG_USERIO=m @@ -1561,12 +1525,6 @@ CONFIG_TOUCHSCREEN_USB_COMPOSITE=m ## # CONFIG_INTERCONNECT is not set -## -## file: drivers/iommu/Kconfig -## -CONFIG_HYPERV_IOMMU=y -CONFIG_VIRTIO_IOMMU=y - ## ## file: drivers/iommu/iommufd/Kconfig ## @@ -1745,7 +1703,6 @@ CONFIG_MFD_INTEL_PMC_BXT=m # CONFIG_SENSORS_APDS990X is not set # CONFIG_HMC6352 is not set # CONFIG_DS1682 is not set -CONFIG_VMWARE_BALLOON=m # CONFIG_SRAM is not set # CONFIG_DW_XDATA_PCIE is not set # CONFIG_XILINX_SDFEC is not set @@ -1825,8 +1782,6 @@ CONFIG_EEPROM_AT24=m ## ## file: drivers/net/Kconfig ## -CONFIG_XEN_NETDEV_FRONTEND=m -CONFIG_XEN_NETDEV_BACKEND=m # CONFIG_FUJITSU_ES is not set ## @@ -2044,11 +1999,6 @@ CONFIG_FBNIC=m ## # CONFIG_NET_VENDOR_MICROCHIP is not set -## -## file: drivers/net/ethernet/microsoft/Kconfig -## -CONFIG_MICROSOFT_MANA=m - ## ## file: drivers/net/ethernet/mscc/Kconfig ## @@ -2214,11 +2164,6 @@ CONFIG_MICROSOFT_MANA=m ## # CONFIG_NET_VENDOR_XILINX is not set -## -## file: drivers/net/hyperv/Kconfig -## -CONFIG_HYPERV_NET=m - ## ## file: drivers/net/mctp/Kconfig ## @@ -2401,15 +2346,12 @@ CONFIG_NVME_TARGET_FC=m ## ## file: drivers/pci/Kconfig ## -CONFIG_XEN_PCIDEV_FRONTEND=m CONFIG_PCIE_TPH=y -CONFIG_PCI_HYPERV=m ## ## file: drivers/pci/controller/Kconfig ## # CONFIG_VMD is not set -CONFIG_PCI_HYPERV_INTERFACE=m ## ## file: drivers/pci/controller/dwc/Kconfig @@ -2672,11 +2614,9 @@ CONFIG_PPS=m ## # CONFIG_DP83640_PHY is not set # CONFIG_PTP_1588_CLOCK_INES is not set -CONFIG_PTP_1588_CLOCK_KVM=m # CONFIG_PTP_1588_CLOCK_IDT82P33 is not set # CONFIG_PTP_1588_CLOCK_IDTCM is not set # CONFIG_PTP_1588_CLOCK_FC3W is not set -CONFIG_PTP_1588_CLOCK_VMW=m ## ## file: drivers/pwm/Kconfig @@ -2771,8 +2711,6 @@ CONFIG_SCSI_FC_ATTRS=m CONFIG_SCSI_SRP_ATTRS=m CONFIG_SCSI_BUSLOGIC=m # CONFIG_SCSI_FLASHPOINT is not set -CONFIG_XEN_SCSI_FRONTEND=m -CONFIG_HYPERV_STORAGE=m # CONFIG_LIBFC is not set CONFIG_SCSI_IPR=m # CONFIG_SCSI_IPR_TRACE is not set @@ -2901,12 +2839,6 @@ CONFIG_GOLDFISH_TTY=m # CONFIG_N_GSM is not set # CONFIG_NOZOMI is not set -## -## file: drivers/tty/hvc/Kconfig -## -CONFIG_HVC_XEN=y -CONFIG_HVC_XEN_FRONTEND=y - ## ## file: drivers/tty/serial/Kconfig ## @@ -2946,7 +2878,6 @@ CONFIG_HVC_XEN_FRONTEND=y # CONFIG_UIO_SERCOS3 is not set # CONFIG_UIO_NETX is not set # CONFIG_UIO_MF624 is not set -CONFIG_UIO_HV_GENERIC=m ## ## file: drivers/usb/Kconfig @@ -3203,34 +3134,17 @@ CONFIG_FB_UVESA=m # CONFIG_FB_SMSCUFX is not set # CONFIG_FB_UDL is not set CONFIG_FB_GOLDFISH=m -CONFIG_XEN_FBDEV_FRONTEND=y -CONFIG_FB_HYPERV=m ## ## file: drivers/video/fbdev/core/Kconfig ## CONFIG_FB_DEVICE=y -## -## file: drivers/virt/acrn/Kconfig -## -CONFIG_ACRN_HSM=m - -## -## file: drivers/virt/coco/tdx-guest/Kconfig -## -CONFIG_TDX_GUEST_DRIVER=m - ## ## file: drivers/virt/vboxguest/Kconfig ## CONFIG_VBOXGUEST=m -## -## file: drivers/virtio/Kconfig -## -CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y - ## ## file: drivers/w1/Kconfig ## @@ -3283,36 +3197,9 @@ CONFIG_SOFT_WATCHDOG_PRETIMEOUT=y # CONFIG_NI903X_WDT is not set # CONFIG_NIC7018_WDT is not set # CONFIG_MEN_A21_WDT is not set -CONFIG_XEN_WDT=m # CONFIG_PCIPCWATCHDOG is not set # CONFIG_USBPCWATCHDOG is not set -## -## file: drivers/xen/Kconfig -## -CONFIG_XEN_BALLOON=y -CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y -CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512 -CONFIG_XEN_SCRUB_PAGES_DEFAULT=y -CONFIG_XEN_DEV_EVTCHN=m -CONFIG_XEN_BACKEND=y -CONFIG_XENFS=m -CONFIG_XEN_COMPAT_XENFS=y -CONFIG_XEN_SYS_HYPERVISOR=y -CONFIG_XEN_GNTDEV=m -CONFIG_XEN_GNTDEV_DMABUF=y -CONFIG_XEN_GRANT_DEV_ALLOC=m -CONFIG_XEN_GRANT_DMA_ALLOC=y -CONFIG_XEN_PCIDEV_BACKEND=m -# CONFIG_XEN_PVCALLS_FRONTEND is not set -# CONFIG_XEN_PVCALLS_BACKEND is not set -CONFIG_XEN_SCSI_BACKEND=m -CONFIG_XEN_PRIVCMD=m -CONFIG_XEN_PRIVCMD_EVENTFD=y -CONFIG_XEN_UNPOPULATED_ALLOC=y -CONFIG_XEN_VIRTIO=y -# CONFIG_XEN_VIRTIO_FORCE_GRANT is not set - ## ## file: fs/Kconfig ## @@ -3397,12 +3284,6 @@ CONFIG_F2FS_UNFAIR_RWSEM=y ## # CONFIG_VXFS_FS is not set -## -## file: fs/fuse/Kconfig -## -CONFIG_FUSE_FS=m -CONFIG_VIRTIO_FS=m - ## ## file: fs/gfs2/Kconfig ## @@ -3600,7 +3481,6 @@ CONFIG_PM_ADVANCED_DEBUG=y # CONFIG_PM_TEST_SUSPEND is not set # CONFIG_DPM_WATCHDOG is not set # CONFIG_PM_TRACE_RTC is not set -# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set ## ## file: kernel/rcu/Kconfig @@ -3654,7 +3534,6 @@ CONFIG_NETDEV_NOTIFIER_ERROR_INJECT=m CONFIG_FUNCTION_ERROR_INJECTION=y # CONFIG_RUNTIME_TESTING_MENU is not set # CONFIG_MEMTEST is not set -# CONFIG_HYPERV_TESTING is not set ## ## file: lib/Kconfig.kfence @@ -3976,11 +3855,6 @@ CONFIG_SUNRPC_XPRT_RDMA=m ## CONFIG_TIPC_MEDIA_IB=y -## -## file: net/vmw_vsock/Kconfig -## -CONFIG_HYPERV_VSOCKETS=m - ## ## file: net/x25/Kconfig ## @@ -4042,7 +3916,6 @@ CONFIG_DRM_TTM=m CONFIG_DRM_TTM_HELPER=m CONFIG_DRM_VRAM_HELPER=m CONFIG_DRM_XEN=y -CONFIG_FB_IOMEM_HELPERS_DEFERRED=y CONFIG_GPIOLIB_IRQCHIP=y CONFIG_GPIO_ACPI=y CONFIG_GPIO_GENERIC=m @@ -4050,8 +3923,6 @@ CONFIG_HAVE_CLK=y CONFIG_HAVE_CLK_PREPARE=y CONFIG_HDMI=y CONFIG_HSI_BOARDINFO=y -CONFIG_HVC_IRQ=y -CONFIG_HYPERV_TIMER=y CONFIG_I2C_BOARDINFO=y CONFIG_I2C_HID_CORE=m CONFIG_I2C_I801_MUX=y @@ -4075,9 +3946,6 @@ CONFIG_NETFS_SUPPORT=y CONFIG_NET_CLS=y CONFIG_NLS_UCS2_UTILS=m # CONFIG_NVMEM_LAYOUTS is not set -CONFIG_PARAVIRT_CLOCK=y -CONFIG_PARAVIRT_XXL=y -CONFIG_PCI_XEN=y CONFIG_PM_CLK=y CONFIG_PM_OPP=y CONFIG_PM_SLEEP_DEBUG=y @@ -4099,8 +3967,6 @@ CONFIG_SCSI_NETLINK=y CONFIG_SERIAL_MCTRL_GPIO=y CONFIG_SLHC=m CONFIG_SMBFS=m -CONFIG_SWIOTLB_XEN=y -CONFIG_SYS_HYPERVISOR=y CONFIG_TASKS_RCU=y CONFIG_TCG_TIS_CORE=m CONFIG_TRACER_MAX_TRACE=y @@ -4113,20 +3979,7 @@ CONFIG_USB_PHY=y CONFIG_USB_XHCI_PCI=m CONFIG_VIDEOMODE_HELPERS=y CONFIG_VIRTIO_DMA_SHARED_BUFFER=m -CONFIG_X86_HV_CALLBACK_VECTOR=y -CONFIG_XEN_ACPI=y -CONFIG_XEN_AUTO_XLATE=y -CONFIG_XEN_EFI=y CONFIG_XEN_FRONT_PGDIR_SHBUF=m -CONFIG_XEN_GRANT_DMA_OPS=y -CONFIG_XEN_HAVE_PVMMU=y -CONFIG_XEN_HAVE_VPMU=y -CONFIG_XEN_PCI_STUB=y -CONFIG_XEN_PVHVM=y -CONFIG_XEN_PVHVM_SMP=y -CONFIG_XEN_PV_SMP=y -CONFIG_XEN_SAVE_RESTORE=y -CONFIG_XEN_XENBUS_FRONTEND=y CONFIG_Z3FOLD=m CONFIG_ZPOOL=y CONFIG_ZSTD_COMPRESS=y diff --git a/debian/config/config b/debian/config/config index bd9ec7a..bd4a467 100644 --- a/debian/config/config +++ b/debian/config/config @@ -34,6 +34,17 @@ CONFIG_X86_CPU_RESCTRL=y CONFIG_X86_FRED=y # CONFIG_IOSF_MBI_DEBUG is not set CONFIG_SCHED_OMIT_FRAME_POINTER=y +CONFIG_HYPERVISOR_GUEST=y +CONFIG_PARAVIRT=y +# CONFIG_PARAVIRT_DEBUG is not set +CONFIG_PARAVIRT_SPINLOCKS=y +CONFIG_KVM_GUEST=y +CONFIG_ARCH_CPUIDLE_HALTPOLL=y +CONFIG_PVH=y +# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set +CONFIG_JAILHOUSE_GUEST=y +CONFIG_ACRN_GUEST=y +CONFIG_INTEL_TDX_GUEST=y CONFIG_HPET_TIMER=y CONFIG_DMI=y # CONFIG_MAXSMP is not set @@ -254,6 +265,17 @@ CONFIG_KVM_HYPERV=y # CONFIG_KVM_PROVE_MMU is not set CONFIG_KVM_MAX_NR_VCPUS=1024 +## +## file: arch/x86/xen/Kconfig +## +CONFIG_XEN=y +CONFIG_XEN_PV=y +CONFIG_XEN_512GB=y +CONFIG_XEN_PVHVM_GUEST=y +# CONFIG_XEN_DEBUG_FS is not set +CONFIG_XEN_PVH=y +CONFIG_XEN_PV_MSR_SAFE=y + ## ## file: block/Kconfig ## @@ -516,6 +538,8 @@ CONFIG_BLK_DEV_RAM=m CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=16384 # CONFIG_CDROM_PKTCDVD is not set +CONFIG_XEN_BLKDEV_FRONTEND=m +CONFIG_XEN_BLKDEV_BACKEND=m CONFIG_VIRTIO_BLK=m CONFIG_BLK_DEV_RBD=m CONFIG_BLK_DEV_UBLK=m @@ -595,6 +619,7 @@ CONFIG_HW_RANDOM_VIRTIO=m ## CONFIG_TCG_TPM2_HMAC=y CONFIG_HW_RANDOM_TPM=y +CONFIG_TCG_XEN=m CONFIG_TCG_VTPM_PROXY=m ## @@ -646,6 +671,8 @@ CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_IDLE_GOV_MENU=y CONFIG_CPU_IDLE_GOV_TEO=y +CONFIG_CPU_IDLE_GOV_HALTPOLL=y +CONFIG_HALTPOLL_CPUIDLE=y ## ## file: drivers/crypto/Kconfig @@ -746,6 +773,14 @@ CONFIG_GOOGLE_MEMCONSOLE_COREBOOT=m ## # CONFIG_FPGA is not set +## +## file: drivers/hv/Kconfig +## +CONFIG_HYPERV=m +# CONFIG_HYPERV_VTL_MODE is not set +CONFIG_HYPERV_UTILS=m +CONFIG_HYPERV_BALLOON=m + ## ## file: drivers/hwmon/Kconfig ## @@ -800,6 +835,7 @@ CONFIG_SERIO=y CONFIG_SERIO_I8042=y CONFIG_SERIO_LIBPS2=y CONFIG_SERIO_RAW=m +CONFIG_HYPERV_KEYBOARD=m ## ## file: drivers/iommu/Kconfig @@ -812,6 +848,8 @@ CONFIG_IOMMU_DEFAULT_DMA_LAZY=y # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set ## end choice CONFIG_IRQ_REMAP=y +CONFIG_HYPERV_IOMMU=y +CONFIG_VIRTIO_IOMMU=m ## ## file: drivers/iommu/amd/Kconfig @@ -913,6 +951,7 @@ CONFIG_LPC_SCH=m ## file: drivers/misc/Kconfig ## CONFIG_DUMMY_IRQ=m +CONFIG_VMWARE_BALLOON=m # CONFIG_PCI_ENDPOINT_TEST is not set CONFIG_NSM=m @@ -979,6 +1018,8 @@ CONFIG_NETKIT=y CONFIG_NET_VRF=m CONFIG_VSOCKMON=m CONFIG_MHI_NET=m +CONFIG_XEN_NETDEV_FRONTEND=m +CONFIG_XEN_NETDEV_BACKEND=m CONFIG_VMXNET3=m CONFIG_NETDEVSIM=m CONFIG_NET_FAILOVER=m @@ -1043,6 +1084,7 @@ CONFIG_MLX4_CORE_GEN2=y ## file: drivers/net/ethernet/microsoft/Kconfig ## CONFIG_NET_VENDOR_MICROSOFT=y +CONFIG_MICROSOFT_MANA=m ## ## file: drivers/net/fddi/Kconfig @@ -1054,6 +1096,11 @@ CONFIG_NET_VENDOR_MICROSOFT=y ## # CONFIG_HIPPI is not set +## +## file: drivers/net/hyperv/Kconfig +## +CONFIG_HYPERV_NET=m + ## ## file: drivers/net/mdio/Kconfig ## @@ -1121,10 +1168,12 @@ CONFIG_PCI_QUIRKS=y CONFIG_PCI_REALLOC_ENABLE_AUTO=y CONFIG_PCI_STUB=m CONFIG_PCI_PF_STUB=m +CONFIG_XEN_PCIDEV_FRONTEND=m CONFIG_PCI_IOV=y CONFIG_PCI_PRI=y CONFIG_PCI_PASID=y CONFIG_PCI_P2PDMA=y +CONFIG_PCI_HYPERV=m ## choice: PCI Express hierarchy optimization setting # CONFIG_PCIE_BUS_TUNE_OFF is not set CONFIG_PCIE_BUS_DEFAULT=y @@ -1135,6 +1184,11 @@ CONFIG_PCIE_BUS_DEFAULT=y CONFIG_VGA_ARB=y CONFIG_VGA_ARB_MAX_GPUS=16 +## +## file: drivers/pci/controller/Kconfig +## +CONFIG_PCI_HYPERV_INTERFACE=m + ## ## file: drivers/pci/endpoint/Kconfig ## @@ -1222,8 +1276,10 @@ CONFIG_PPS_GENERATOR_DUMMY=m ## file: drivers/ptp/Kconfig ## CONFIG_PTP_1588_CLOCK=m +CONFIG_PTP_1588_CLOCK_KVM=m CONFIG_PTP_1588_CLOCK_VMCLOCK=m CONFIG_PTP_1588_CLOCK_MOCK=m +CONFIG_PTP_1588_CLOCK_VMW=m ## ## file: drivers/ras/Kconfig @@ -1292,6 +1348,8 @@ CONFIG_ISCSI_BOOT_SYSFS=m # CONFIG_SCSI_MYRB is not set # CONFIG_SCSI_MYRS is not set CONFIG_VMWARE_PVSCSI=m +CONFIG_XEN_SCSI_FRONTEND=m +CONFIG_HYPERV_STORAGE=m # CONFIG_SCSI_SNIC is not set # CONFIG_SCSI_DMX3191D is not set # CONFIG_SCSI_FDOMAIN_PCI is not set @@ -1467,6 +1525,12 @@ CONFIG_LDISC_AUTOLOAD=y CONFIG_NULL_TTY=y CONFIG_RPMSG_TTY=m +## +## file: drivers/tty/hvc/Kconfig +## +CONFIG_HVC_XEN=y +CONFIG_HVC_XEN_FRONTEND=y + ## ## file: drivers/tty/serdev/Kconfig ## @@ -1500,6 +1564,7 @@ CONFIG_UIO=m CONFIG_UIO_PDRV_GENIRQ=m CONFIG_UIO_DMEM_GENIRQ=m CONFIG_UIO_PCI_GENERIC=m +CONFIG_UIO_HV_GENERIC=m ## ## file: drivers/vdpa/Kconfig @@ -1589,8 +1654,10 @@ CONFIG_FB_EFI=y # CONFIG_FB_CARMINE is not set # CONFIG_FB_IBM_GXT4500 is not set # CONFIG_FB_VIRTUAL is not set +CONFIG_XEN_FBDEV_FRONTEND=y # CONFIG_FB_METRONOME is not set # CONFIG_FB_MB862XX is not set +CONFIG_FB_HYPERV=m CONFIG_FB_SIMPLE=y # CONFIG_FB_SM712 is not set @@ -1618,6 +1685,11 @@ CONFIG_FB_TILEBLITTING=y CONFIG_VIRT_DRIVERS=y CONFIG_VMGENID=y +## +## file: drivers/virt/acrn/Kconfig +## +CONFIG_ACRN_HSM=m + ## ## file: drivers/virt/coco/efi_secret/Kconfig ## @@ -1628,6 +1700,11 @@ CONFIG_EFI_SECRET=m ## CONFIG_SEV_GUEST=m +## +## file: drivers/virt/coco/tdx-guest/Kconfig +## +CONFIG_TDX_GUEST_DRIVER=m + ## ## file: drivers/virt/nitro_enclaves/Kconfig ## @@ -1645,6 +1722,7 @@ CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_MEM=m CONFIG_VIRTIO_INPUT=m CONFIG_VIRTIO_MMIO=m +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y # CONFIG_VIRTIO_DEBUG is not set ## @@ -1666,8 +1744,35 @@ CONFIG_WDAT_WDT=m CONFIG_I6300ESB_WDT=m CONFIG_ITCO_WDT=m CONFIG_ITCO_VENDOR_SUPPORT=y +CONFIG_XEN_WDT=m CONFIG_WDTPCI=m +## +## file: drivers/xen/Kconfig +## +CONFIG_XEN_BALLOON=y +CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y +CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512 +CONFIG_XEN_SCRUB_PAGES_DEFAULT=y +CONFIG_XEN_DEV_EVTCHN=m +CONFIG_XEN_BACKEND=y +CONFIG_XENFS=m +CONFIG_XEN_COMPAT_XENFS=y +CONFIG_XEN_SYS_HYPERVISOR=y +CONFIG_XEN_GNTDEV=m +CONFIG_XEN_GNTDEV_DMABUF=y +CONFIG_XEN_GRANT_DEV_ALLOC=m +CONFIG_XEN_GRANT_DMA_ALLOC=y +CONFIG_XEN_PCIDEV_BACKEND=m +# CONFIG_XEN_PVCALLS_FRONTEND is not set +# CONFIG_XEN_PVCALLS_BACKEND is not set +CONFIG_XEN_SCSI_BACKEND=m +CONFIG_XEN_PRIVCMD=m +CONFIG_XEN_PRIVCMD_EVENTFD=y +CONFIG_XEN_UNPOPULATED_ALLOC=y +CONFIG_XEN_VIRTIO=y +# CONFIG_XEN_VIRTIO_FORCE_GRANT is not set + ## ## file: fs/Kconfig ## @@ -1795,7 +1900,9 @@ CONFIG_FAT_DEFAULT_UTF8=y ## ## file: fs/fuse/Kconfig ## +CONFIG_FUSE_FS=y CONFIG_CUSE=m +CONFIG_VIRTIO_FS=y CONFIG_FUSE_DAX=y CONFIG_FUSE_PASSTHROUGH=y CONFIG_FUSE_IO_URING=y @@ -2232,6 +2339,7 @@ CONFIG_PM_STD_PARTITION="" # CONFIG_PM_USERSPACE_AUTOSLEEP is not set # CONFIG_PM_WAKELOCKS is not set CONFIG_PM=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set CONFIG_ENERGY_MODEL=y ## @@ -2435,6 +2543,7 @@ CONFIG_STRICT_DEVMEM=y CONFIG_IO_STRICT_DEVMEM=y # CONFIG_FAULT_INJECTION is not set # CONFIG_KCOV is not set +# CONFIG_HYPERV_TESTING is not set ## ## file: lib/Kconfig.kasan @@ -3163,6 +3272,7 @@ CONFIG_VSOCKETS_DIAG=m CONFIG_VSOCKETS_LOOPBACK=m CONFIG_VMWARE_VMCI_VSOCKETS=m CONFIG_VIRTIO_VSOCKETS=m +CONFIG_HYPERV_VSOCKETS=m ## ## file: net/xdp/Kconfig @@ -3655,6 +3765,7 @@ CONFIG_FB_CORE=y CONFIG_FB_DEFERRED_IO=y CONFIG_FB_IOMEM_FOPS=y CONFIG_FB_IOMEM_HELPERS=y +CONFIG_FB_IOMEM_HELPERS_DEFERRED=y CONFIG_FB_NOTIFY=y CONFIG_FB_SYSMEM_FOPS=y CONFIG_FB_SYSMEM_HELPERS=y @@ -3892,6 +4003,8 @@ CONFIG_HUGETLB_PAGE=y CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y CONFIG_HUGETLB_PMD_PAGE_TABLE_SHARING=y CONFIG_HVC_DRIVER=y +CONFIG_HVC_IRQ=y +CONFIG_HYPERV_TIMER=y CONFIG_HZ=100 CONFIG_IA32_FEAT_CTL=y CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 @@ -4079,6 +4192,8 @@ CONFIG_PAGE_SHIFT=12 CONFIG_PAGE_SIZE_LESS_THAN_256KB=y CONFIG_PAGE_SIZE_LESS_THAN_64KB=y CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PARAVIRT_CLOCK=y +CONFIG_PARAVIRT_XXL=y CONFIG_PCIE_PME=y CONFIG_PCI_ATS=y CONFIG_PCI_DIRECT=y @@ -4086,6 +4201,7 @@ CONFIG_PCI_DOE=y CONFIG_PCI_DOMAINS=y CONFIG_PCI_LABEL=y CONFIG_PCI_LOCKLESS_CONFIG=y +CONFIG_PCI_XEN=y CONFIG_PER_VMA_LOCK=y CONFIG_PGTABLE_HAS_HUGE_LEAVES=y CONFIG_PGTABLE_LEVELS=4 @@ -4165,6 +4281,7 @@ CONFIG_SUNRPC_BACKCHANNEL=y CONFIG_SUNRPC_GSS=m CONFIG_SUNRPC_SWAP=y CONFIG_SWIOTLB=y +CONFIG_SWIOTLB_XEN=y CONFIG_SWPHY=y CONFIG_SYSCTL=y CONFIG_SYSCTL_EXCEPTION_TRACE=y @@ -4172,6 +4289,7 @@ CONFIG_SYSFB=y CONFIG_SYSTEM_DATA_VERIFICATION=y CONFIG_SYSVIPC_COMPAT=y CONFIG_SYSVIPC_SYSCTL=y +CONFIG_SYS_HYPERVISOR=y CONFIG_TAP=m CONFIG_TASKS_RCU_GENERIC=y CONFIG_TASKS_RUDE_RCU=y @@ -4235,6 +4353,7 @@ CONFIG_X86_CMPXCHG64=y CONFIG_X86_DEBUGCTLMSR=y CONFIG_X86_DIRECT_GBPAGES=y CONFIG_X86_HAVE_PAE=y +CONFIG_X86_HV_CALLBACK_VECTOR=y CONFIG_X86_INTERNODE_CACHE_SHIFT=6 CONFIG_X86_IO_APIC=y CONFIG_X86_L1_CACHE_SHIFT=6 @@ -4249,6 +4368,18 @@ CONFIG_X86_THERMAL_VECTOR=y CONFIG_X86_TSC=y CONFIG_X86_VMX_FEATURE_NAMES=y CONFIG_XARRAY_MULTI=y +CONFIG_XEN_ACPI=y +CONFIG_XEN_AUTO_XLATE=y +CONFIG_XEN_EFI=y +CONFIG_XEN_GRANT_DMA_OPS=y +CONFIG_XEN_HAVE_PVMMU=y +CONFIG_XEN_HAVE_VPMU=y +CONFIG_XEN_PCI_STUB=y +CONFIG_XEN_PVHVM=y +CONFIG_XEN_PVHVM_SMP=y +CONFIG_XEN_PV_SMP=y +CONFIG_XEN_SAVE_RESTORE=y +CONFIG_XEN_XENBUS_FRONTEND=y CONFIG_XFRM=y CONFIG_XFRM_AH=m CONFIG_XFRM_ALGO=m diff --git a/debian/hyperv-daemons.postinst b/debian/hyperv-daemons.postinst index 1528ce7..5b7c54a 100644 --- a/debian/hyperv-daemons.postinst +++ b/debian/hyperv-daemons.postinst @@ -9,7 +9,7 @@ configure ) if [ ${have_systemd} = 1 ] ; then if [ -z "$2" ] ; then # On initial install make sure udev notifies systemd - udevadm trigger || true + udevadm trigger || : else # On upgrade make sure running daemons are restarted systemctl try-restart hv-kvp-daemon.service hv-vss-daemon.service diff --git a/debian/hyperv-daemons.preinst b/debian/hyperv-daemons.preinst index 36b7dac..714e662 100644 --- a/debian/hyperv-daemons.preinst +++ b/debian/hyperv-daemons.preinst @@ -14,11 +14,11 @@ upgrade ) init_service="hyperv-daemons.hv-$i-daemon" systemd_unit="${init_service}.service" if [ ${have_systemd} = 1 ] ; then - systemctl stop "${systemd_unit}" 2>/dev/null || true + systemctl stop "${systemd_unit}" 2>/dev/null || : fi - deb-systemd-helper purge "${systemd_unit}" || true - invoke-rc.d --skip-systemd-native "${init_service}" stop || true - update-rc.d "${init_service}" remove || true + deb-systemd-helper purge "${systemd_unit}" || : + invoke-rc.d --skip-systemd-native "${init_service}" stop || : + update-rc.d "${init_service}" remove || : done ; unset services i init_service systemd_unit ;; esac diff --git a/debian/lib/python/debian_linux/debian.py b/debian/lib/python/debian_linux/debian.py index 9ba06f1..0c0385c 100644 --- a/debian/lib/python/debian_linux/debian.py +++ b/debian/lib/python/debian_linux/debian.py @@ -181,28 +181,6 @@ class VersionLinux(Version): \d+ ) )? -$ - """, re.X) - _revision_re = re.compile(r""" -\d+ -(\.\d+)? -(?: - (?P - ~exp\d+ - ) - | - (?P - (?:[~+]deb\d+u\d+)+ - )? - (?P - ~bpo\d+\+\d+ - )? - | - (?P - .+? - ) -) -(?:\+b\d+)? $ """, re.X) @@ -223,11 +201,6 @@ $ self.linux_upstream = d['version'] self.linux_upstream_full = self.linux_upstream + d['update'] self.linux_dfsg = d['dfsg'] - d = rev_match.groupdict() - self.linux_revision_experimental = d['revision_experimental'] and True - self.linux_revision_security = d['revision_security'] and True - self.linux_revision_backports = d['revision_backports'] and True - self.linux_revision_other = d['revision_other'] and True class PackageArchitecture(set[str]): diff --git a/debian/patches/debian/add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by-default.patch b/debian/patches/debian/add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by-default.patch index 1769b68..a9f3fb3 100644 --- a/debian/patches/debian/add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by-default.patch +++ b/debian/patches/debian/add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by-default.patch @@ -34,7 +34,7 @@ Signed-off-by: Serge Hallyn /* * Minimum number of threads to boot the kernel */ -@@ -2171,6 +2177,10 @@ __latent_entropy struct task_struct *cop +@@ -2172,6 +2178,10 @@ __latent_entropy struct task_struct *cop if ((clone_flags & (CLONE_NEWUSER|CLONE_FS)) == (CLONE_NEWUSER|CLONE_FS)) return ERR_PTR(-EINVAL); @@ -45,7 +45,7 @@ Signed-off-by: Serge Hallyn /* * Thread groups must share signals as well, and detached threads * can only be started up within the thread group. -@@ -3324,6 +3334,12 @@ int ksys_unshare(unsigned long unshare_f +@@ -3325,6 +3335,12 @@ int ksys_unshare(unsigned long unshare_f if (unshare_flags & CLONE_NEWNS) unshare_flags |= CLONE_FS; diff --git a/debian/patches/debian/makefile-make-compiler-version-comparison-optional.patch b/debian/patches/debian/makefile-make-compiler-version-comparison-optional.patch index 0e6ece7..6863d58 100644 --- a/debian/patches/debian/makefile-make-compiler-version-comparison-optional.patch +++ b/debian/patches/debian/makefile-make-compiler-version-comparison-optional.patch @@ -20,7 +20,7 @@ is non-empty. --- --- a/Makefile +++ b/Makefile -@@ -1875,7 +1875,7 @@ PHONY += prepare +@@ -1871,7 +1871,7 @@ PHONY += prepare # now expand this into a simple variable to reduce the cost of shell evaluations prepare: CC_VERSION_TEXT := $(CC_VERSION_TEXT) prepare: diff --git a/debian/patches/features/all/security-perf-allow-further-restriction-of-perf_event_open.patch b/debian/patches/features/all/security-perf-allow-further-restriction-of-perf_event_open.patch index cf10a2e..2227d5d 100644 --- a/debian/patches/features/all/security-perf-allow-further-restriction-of-perf_event_open.patch +++ b/debian/patches/features/all/security-perf-allow-further-restriction-of-perf_event_open.patch @@ -22,7 +22,7 @@ Signed-off-by: Ben Hutchings --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h -@@ -1695,6 +1695,11 @@ int perf_cpu_time_max_percent_handler(co +@@ -1701,6 +1701,11 @@ int perf_cpu_time_max_percent_handler(co int perf_event_max_stack_handler(const struct ctl_table *table, int write, void *buffer, size_t *lenp, loff_t *ppos); @@ -50,7 +50,7 @@ Signed-off-by: Ben Hutchings /* Minimum for 512 kiB + 1 user control page */ int sysctl_perf_event_mlock __read_mostly = 512 + (PAGE_SIZE / 1024); /* 'free' kiB per user */ -@@ -12803,6 +12808,9 @@ SYSCALL_DEFINE5(perf_event_open, +@@ -12813,6 +12818,9 @@ SYSCALL_DEFINE5(perf_event_open, if (err) return err; diff --git a/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch b/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch index 07cf5b6..edc964d 100644 --- a/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch +++ b/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch @@ -29,7 +29,7 @@ Signed-off-by: Ben Hutchings --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt -@@ -7002,6 +7002,10 @@ +@@ -7004,6 +7004,10 @@ later by a loaded module cannot be set this way. Example: sysctl.vm.swappiness=40 @@ -42,7 +42,7 @@ Signed-off-by: Ben Hutchings Ignore sysrq setting - this boot parameter will --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -3201,6 +3201,14 @@ config COMPAT_32 +@@ -3202,6 +3202,14 @@ config COMPAT_32 select HAVE_UID16 select OLD_SIGSUSPEND3 diff --git a/debian/patches/krd/0001-Revert-objtool-dont-fail-the-kernel-build-on-fatal-errors.patch b/debian/patches/krd/0001-Revert-objtool-dont-fail-the-kernel-build-on-fatal-errors.patch index 95f0162..70294ce 100644 --- a/debian/patches/krd/0001-Revert-objtool-dont-fail-the-kernel-build-on-fatal-errors.patch +++ b/debian/patches/krd/0001-Revert-objtool-dont-fail-the-kernel-build-on-fatal-errors.patch @@ -30,7 +30,7 @@ this reverts following commit: --- a/tools/objtool/check.c +++ b/tools/objtool/check.c -@@ -4774,10 +4774,14 @@ int check(struct objtool_file *file) +@@ -4783,10 +4783,14 @@ int check(struct objtool_file *file) } out: diff --git a/debian/patches/patchset-pf/amd-pstate/0002-cpufreq-amd-pstate-Modularize-perf-freq-conversion.patch b/debian/patches/patchset-pf/amd-pstate/0002-cpufreq-amd-pstate-Modularize-perf-freq-conversion.patch index 8844d42..acc95f1 100644 --- a/debian/patches/patchset-pf/amd-pstate/0002-cpufreq-amd-pstate-Modularize-perf-freq-conversion.patch +++ b/debian/patches/patchset-pf/amd-pstate/0002-cpufreq-amd-pstate-Modularize-perf-freq-conversion.patch @@ -95,7 +95,7 @@ Reviewed-by: Mario Limonciello WARN_ON(fast_switch && !policy->fast_switch_enabled); /* -@@ -908,7 +911,6 @@ static int amd_pstate_init_freq(struct a +@@ -907,7 +910,6 @@ static int amd_pstate_init_freq(struct a { int ret; u32 min_freq, max_freq; @@ -103,7 +103,7 @@ Reviewed-by: Mario Limonciello u32 nominal_freq, lowest_nonlinear_freq; struct cppc_perf_caps cppc_perf; -@@ -926,16 +928,17 @@ static int amd_pstate_init_freq(struct a +@@ -925,16 +927,17 @@ static int amd_pstate_init_freq(struct a else nominal_freq = cppc_perf.nominal_freq; diff --git a/debian/patches/patchset-pf/amd-pstate/0003-cpufreq-amd-pstate-Remove-the-unnecessary-cpufreq_up.patch b/debian/patches/patchset-pf/amd-pstate/0003-cpufreq-amd-pstate-Remove-the-unnecessary-cpufreq_up.patch index 33ce9d2..9cfe9bb 100644 --- a/debian/patches/patchset-pf/amd-pstate/0003-cpufreq-amd-pstate-Remove-the-unnecessary-cpufreq_up.patch +++ b/debian/patches/patchset-pf/amd-pstate/0003-cpufreq-amd-pstate-Remove-the-unnecessary-cpufreq_up.patch @@ -24,7 +24,7 @@ Reviewed-by: Mario Limonciello --- a/drivers/cpufreq/amd-pstate.c +++ b/drivers/cpufreq/amd-pstate.c -@@ -856,10 +856,6 @@ static void amd_pstate_update_limits(uns +@@ -855,10 +855,6 @@ static void amd_pstate_update_limits(uns sched_set_itmt_core_prio((int)cur_high, cpu); } cpufreq_cpu_put(policy); diff --git a/debian/patches/patchset-pf/amd-pstate/0004-cpufreq-amd-pstate-Use-scope-based-cleanup-for-cpufr.patch b/debian/patches/patchset-pf/amd-pstate/0004-cpufreq-amd-pstate-Use-scope-based-cleanup-for-cpufr.patch index 1741737..1600c44 100644 --- a/debian/patches/patchset-pf/amd-pstate/0004-cpufreq-amd-pstate-Use-scope-based-cleanup-for-cpufr.patch +++ b/debian/patches/patchset-pf/amd-pstate/0004-cpufreq-amd-pstate-Use-scope-based-cleanup-for-cpufr.patch @@ -69,7 +69,7 @@ Reviewed-by: Mario Limonciello } static int amd_pstate_cpu_boost_update(struct cpufreq_policy *policy, bool on) -@@ -824,28 +821,23 @@ static void amd_pstate_init_prefcore(str +@@ -823,28 +820,23 @@ static void amd_pstate_init_prefcore(str static void amd_pstate_update_limits(unsigned int cpu) { @@ -102,7 +102,7 @@ Reviewed-by: Mario Limonciello prev_high = READ_ONCE(cpudata->prefcore_ranking); highest_perf_changed = (prev_high != cur_high); -@@ -855,7 +847,6 @@ static void amd_pstate_update_limits(uns +@@ -854,7 +846,6 @@ static void amd_pstate_update_limits(uns if (cur_high < CPPC_MAX_PERF) sched_set_itmt_core_prio((int)cur_high, cpu); } diff --git a/debian/patches/patchset-pf/amd-pstate/0005-cpufreq-amd-pstate-Remove-the-unncecessary-driver_lo.patch b/debian/patches/patchset-pf/amd-pstate/0005-cpufreq-amd-pstate-Remove-the-unncecessary-driver_lo.patch index 8e578d0..d3b9a9f 100644 --- a/debian/patches/patchset-pf/amd-pstate/0005-cpufreq-amd-pstate-Remove-the-unncecessary-driver_lo.patch +++ b/debian/patches/patchset-pf/amd-pstate/0005-cpufreq-amd-pstate-Remove-the-unncecessary-driver_lo.patch @@ -15,7 +15,7 @@ Reviewed-by: Mario Limonciello --- a/drivers/cpufreq/amd-pstate.c +++ b/drivers/cpufreq/amd-pstate.c -@@ -832,8 +832,6 @@ static void amd_pstate_update_limits(uns +@@ -831,8 +831,6 @@ static void amd_pstate_update_limits(uns if (!policy) return; diff --git a/debian/patches/patchset-pf/amd-pstate/0007-cpufreq-amd-pstate-Show-a-warning-when-a-CPU-fails-t.patch b/debian/patches/patchset-pf/amd-pstate/0007-cpufreq-amd-pstate-Show-a-warning-when-a-CPU-fails-t.patch index 52dd90d..0b7b0ec 100644 --- a/debian/patches/patchset-pf/amd-pstate/0007-cpufreq-amd-pstate-Show-a-warning-when-a-CPU-fails-t.patch +++ b/debian/patches/patchset-pf/amd-pstate/0007-cpufreq-amd-pstate-Show-a-warning-when-a-CPU-fails-t.patch @@ -17,7 +17,7 @@ Signed-off-by: Mario Limonciello --- a/drivers/cpufreq/amd-pstate.c +++ b/drivers/cpufreq/amd-pstate.c -@@ -1028,6 +1028,7 @@ static int amd_pstate_cpu_init(struct cp +@@ -1027,6 +1027,7 @@ static int amd_pstate_cpu_init(struct cp free_cpudata2: freq_qos_remove_request(&cpudata->req[0]); free_cpudata1: @@ -25,7 +25,7 @@ Signed-off-by: Mario Limonciello kfree(cpudata); return ret; } -@@ -1521,6 +1522,7 @@ static int amd_pstate_epp_cpu_init(struc +@@ -1520,6 +1521,7 @@ static int amd_pstate_epp_cpu_init(struc return 0; free_cpudata1: diff --git a/debian/patches/patchset-pf/amd-pstate/0008-cpufreq-amd-pstate-Drop-min-and-max-cached-frequenci.patch b/debian/patches/patchset-pf/amd-pstate/0008-cpufreq-amd-pstate-Drop-min-and-max-cached-frequenci.patch index 9bb0689..bb36fe7 100644 --- a/debian/patches/patchset-pf/amd-pstate/0008-cpufreq-amd-pstate-Drop-min-and-max-cached-frequenci.patch +++ b/debian/patches/patchset-pf/amd-pstate/0008-cpufreq-amd-pstate-Drop-min-and-max-cached-frequenci.patch @@ -66,7 +66,7 @@ Signed-off-by: Mario Limonciello if (on) policy->cpuinfo.max_freq = max_freq; -@@ -917,13 +917,10 @@ static int amd_pstate_init_freq(struct a +@@ -916,13 +916,10 @@ static int amd_pstate_init_freq(struct a nominal_freq *= 1000; WRITE_ONCE(cpudata->nominal_freq, nominal_freq); @@ -80,7 +80,7 @@ Signed-off-by: Mario Limonciello /** * Below values need to be initialized correctly, otherwise driver will fail to load -@@ -948,9 +945,9 @@ static int amd_pstate_init_freq(struct a +@@ -947,9 +944,9 @@ static int amd_pstate_init_freq(struct a static int amd_pstate_cpu_init(struct cpufreq_policy *policy) { @@ -92,7 +92,7 @@ Signed-off-by: Mario Limonciello /* * Resetting PERF_CTL_MSR will put the CPU in P0 frequency, -@@ -981,17 +978,11 @@ static int amd_pstate_cpu_init(struct cp +@@ -980,17 +977,11 @@ static int amd_pstate_cpu_init(struct cp if (ret) goto free_cpudata1; @@ -112,7 +112,7 @@ Signed-off-by: Mario Limonciello policy->boost_enabled = READ_ONCE(cpudata->boost_supported); -@@ -1015,9 +1006,6 @@ static int amd_pstate_cpu_init(struct cp +@@ -1014,9 +1005,6 @@ static int amd_pstate_cpu_init(struct cp goto free_cpudata2; } @@ -122,7 +122,7 @@ Signed-off-by: Mario Limonciello policy->driver_data = cpudata; if (!current_pstate_driver->adjust_perf) -@@ -1075,14 +1063,10 @@ static int amd_pstate_cpu_suspend(struct +@@ -1074,14 +1062,10 @@ static int amd_pstate_cpu_suspend(struct static ssize_t show_amd_pstate_max_freq(struct cpufreq_policy *policy, char *buf) { @@ -138,7 +138,7 @@ Signed-off-by: Mario Limonciello } static ssize_t show_amd_pstate_lowest_nonlinear_freq(struct cpufreq_policy *policy, -@@ -1440,10 +1424,10 @@ static bool amd_pstate_acpi_pm_profile_u +@@ -1439,10 +1423,10 @@ static bool amd_pstate_acpi_pm_profile_u static int amd_pstate_epp_cpu_init(struct cpufreq_policy *policy) { @@ -150,7 +150,7 @@ Signed-off-by: Mario Limonciello /* * Resetting PERF_CTL_MSR will put the CPU in P0 frequency, -@@ -1474,19 +1458,13 @@ static int amd_pstate_epp_cpu_init(struc +@@ -1473,19 +1457,13 @@ static int amd_pstate_epp_cpu_init(struc if (ret) goto free_cpudata1; @@ -172,7 +172,7 @@ Signed-off-by: Mario Limonciello policy->boost_enabled = READ_ONCE(cpudata->boost_supported); /* -@@ -1544,7 +1522,8 @@ static int amd_pstate_epp_update_limit(s +@@ -1543,7 +1521,8 @@ static int amd_pstate_epp_update_limit(s struct amd_cpudata *cpudata = policy->driver_data; u8 epp; diff --git a/debian/patches/patchset-pf/amd-pstate/0009-cpufreq-amd-pstate-Move-perf-values-into-a-union.patch b/debian/patches/patchset-pf/amd-pstate/0009-cpufreq-amd-pstate-Move-perf-values-into-a-union.patch index 6b1e180..386e106 100644 --- a/debian/patches/patchset-pf/amd-pstate/0009-cpufreq-amd-pstate-Move-perf-values-into-a-union.patch +++ b/debian/patches/patchset-pf/amd-pstate/0009-cpufreq-amd-pstate-Move-perf-values-into-a-union.patch @@ -293,7 +293,7 @@ Signed-off-by: Mario Limonciello if (on) policy->cpuinfo.max_freq = max_freq; -@@ -882,30 +890,30 @@ static u32 amd_pstate_get_transition_lat +@@ -881,30 +889,30 @@ static u32 amd_pstate_get_transition_lat } /* @@ -336,7 +336,7 @@ Signed-off-by: Mario Limonciello min_freq = cppc_perf.lowest_freq; if (quirks && quirks->nominal_freq) -@@ -918,8 +926,8 @@ static int amd_pstate_init_freq(struct a +@@ -917,8 +925,8 @@ static int amd_pstate_init_freq(struct a WRITE_ONCE(cpudata->nominal_freq, nominal_freq); @@ -347,7 +347,7 @@ Signed-off-by: Mario Limonciello WRITE_ONCE(cpudata->lowest_nonlinear_freq, lowest_nonlinear_freq); /** -@@ -946,6 +954,7 @@ static int amd_pstate_init_freq(struct a +@@ -945,6 +953,7 @@ static int amd_pstate_init_freq(struct a static int amd_pstate_cpu_init(struct cpufreq_policy *policy) { struct amd_cpudata *cpudata; @@ -355,7 +355,7 @@ Signed-off-by: Mario Limonciello struct device *dev; int ret; -@@ -981,8 +990,14 @@ static int amd_pstate_cpu_init(struct cp +@@ -980,8 +989,14 @@ static int amd_pstate_cpu_init(struct cp policy->cpuinfo.transition_latency = amd_pstate_get_transition_latency(policy->cpu); policy->transition_delay_us = amd_pstate_get_transition_delay_us(policy->cpu); @@ -372,7 +372,7 @@ Signed-off-by: Mario Limonciello policy->boost_enabled = READ_ONCE(cpudata->boost_supported); -@@ -1063,23 +1078,27 @@ static int amd_pstate_cpu_suspend(struct +@@ -1062,23 +1077,27 @@ static int amd_pstate_cpu_suspend(struct static ssize_t show_amd_pstate_max_freq(struct cpufreq_policy *policy, char *buf) { @@ -408,7 +408,7 @@ Signed-off-by: Mario Limonciello } /* -@@ -1089,12 +1108,11 @@ static ssize_t show_amd_pstate_lowest_no +@@ -1088,12 +1107,11 @@ static ssize_t show_amd_pstate_lowest_no static ssize_t show_amd_pstate_highest_perf(struct cpufreq_policy *policy, char *buf) { @@ -424,7 +424,7 @@ Signed-off-by: Mario Limonciello } static ssize_t show_amd_pstate_prefcore_ranking(struct cpufreq_policy *policy, -@@ -1425,6 +1443,7 @@ static bool amd_pstate_acpi_pm_profile_u +@@ -1424,6 +1442,7 @@ static bool amd_pstate_acpi_pm_profile_u static int amd_pstate_epp_cpu_init(struct cpufreq_policy *policy) { struct amd_cpudata *cpudata; @@ -432,7 +432,7 @@ Signed-off-by: Mario Limonciello struct device *dev; u64 value; int ret; -@@ -1458,8 +1477,15 @@ static int amd_pstate_epp_cpu_init(struc +@@ -1457,8 +1476,15 @@ static int amd_pstate_epp_cpu_init(struc if (ret) goto free_cpudata1; @@ -450,7 +450,7 @@ Signed-off-by: Mario Limonciello /* It will be updated by governor */ policy->cur = policy->cpuinfo.min_freq; -@@ -1520,6 +1546,7 @@ static void amd_pstate_epp_cpu_exit(stru +@@ -1519,6 +1545,7 @@ static void amd_pstate_epp_cpu_exit(stru static int amd_pstate_epp_update_limit(struct cpufreq_policy *policy) { struct amd_cpudata *cpudata = policy->driver_data; @@ -458,7 +458,7 @@ Signed-off-by: Mario Limonciello u8 epp; if (policy->min != cpudata->min_limit_freq || policy->max != cpudata->max_limit_freq) -@@ -1530,15 +1557,16 @@ static int amd_pstate_epp_update_limit(s +@@ -1529,15 +1556,16 @@ static int amd_pstate_epp_update_limit(s else epp = READ_ONCE(cpudata->epp_cached); @@ -480,7 +480,7 @@ Signed-off-by: Mario Limonciello } static int amd_pstate_epp_set_policy(struct cpufreq_policy *policy) -@@ -1570,20 +1598,18 @@ static int amd_pstate_epp_set_policy(str +@@ -1569,20 +1597,18 @@ static int amd_pstate_epp_set_policy(str static int amd_pstate_epp_reenable(struct cpufreq_policy *policy) { struct amd_cpudata *cpudata = policy->driver_data; @@ -504,7 +504,7 @@ Signed-off-by: Mario Limonciello } return amd_pstate_epp_update_limit(policy); -@@ -1607,22 +1633,21 @@ static int amd_pstate_epp_cpu_online(str +@@ -1606,22 +1632,21 @@ static int amd_pstate_epp_cpu_online(str static int amd_pstate_epp_cpu_offline(struct cpufreq_policy *policy) { struct amd_cpudata *cpudata = policy->driver_data; diff --git a/debian/patches/patchset-pf/amd-pstate/0010-cpufreq-amd-pstate-Overhaul-locking.patch b/debian/patches/patchset-pf/amd-pstate/0010-cpufreq-amd-pstate-Overhaul-locking.patch index bc2446a..33c5ab3 100644 --- a/debian/patches/patchset-pf/amd-pstate/0010-cpufreq-amd-pstate-Overhaul-locking.patch +++ b/debian/patches/patchset-pf/amd-pstate/0010-cpufreq-amd-pstate-Overhaul-locking.patch @@ -32,15 +32,7 @@ Signed-off-by: Mario Limonciello static DEFINE_MUTEX(amd_pstate_driver_lock); static u8 msr_get_epp(struct amd_cpudata *cpudata) -@@ -752,7 +751,6 @@ static int amd_pstate_set_boost(struct c - pr_err("Boost mode is not supported by this processor or SBIOS\n"); - return -EOPNOTSUPP; - } -- guard(mutex)(&amd_pstate_driver_lock); - - ret = amd_pstate_cpu_boost_update(policy, state); - refresh_frequency_limits(policy); -@@ -1170,8 +1168,6 @@ static ssize_t store_energy_performance_ +@@ -1169,8 +1168,6 @@ static ssize_t store_energy_performance_ if (ret < 0) return -EINVAL; @@ -49,7 +41,7 @@ Signed-off-by: Mario Limonciello ret = amd_pstate_set_energy_pref_index(policy, ret); return ret ? ret : count; -@@ -1344,8 +1340,10 @@ int amd_pstate_update_status(const char +@@ -1343,8 +1340,10 @@ int amd_pstate_update_status(const char if (mode_idx < 0 || mode_idx >= AMD_PSTATE_MAX) return -EINVAL; @@ -61,7 +53,7 @@ Signed-off-by: Mario Limonciello return 0; } -@@ -1366,7 +1364,6 @@ static ssize_t status_store(struct devic +@@ -1365,7 +1364,6 @@ static ssize_t status_store(struct devic char *p = memchr(buf, '\n', count); int ret; @@ -69,7 +61,7 @@ Signed-off-by: Mario Limonciello ret = amd_pstate_update_status(buf, p ? p - buf : count); return ret < 0 ? ret : count; -@@ -1638,8 +1635,6 @@ static int amd_pstate_epp_cpu_offline(st +@@ -1637,8 +1635,6 @@ static int amd_pstate_epp_cpu_offline(st if (cpudata->suspended) return 0; @@ -78,7 +70,7 @@ Signed-off-by: Mario Limonciello if (trace_amd_pstate_epp_perf_enabled()) { trace_amd_pstate_epp_perf(cpudata->cpu, perf.highest_perf, AMD_CPPC_EPP_BALANCE_POWERSAVE, -@@ -1679,8 +1674,6 @@ static int amd_pstate_epp_resume(struct +@@ -1678,8 +1674,6 @@ static int amd_pstate_epp_resume(struct struct amd_cpudata *cpudata = policy->driver_data; if (cpudata->suspended) { diff --git a/debian/patches/patchset-pf/cpuidle/0001-cpuidle-Prefer-teo-over-menu-governor.patch b/debian/patches/patchset-pf/cpuidle/0001-cpuidle-Prefer-teo-over-menu-governor.patch index 99b21f6..f863bb1 100644 --- a/debian/patches/patchset-pf/cpuidle/0001-cpuidle-Prefer-teo-over-menu-governor.patch +++ b/debian/patches/patchset-pf/cpuidle/0001-cpuidle-Prefer-teo-over-menu-governor.patch @@ -36,7 +36,7 @@ Signed-off-by: Christian Loehle depends on KVM_GUEST --- a/drivers/cpuidle/governors/menu.c +++ b/drivers/cpuidle/governors/menu.c -@@ -508,7 +508,7 @@ static int menu_enable_device(struct cpu +@@ -519,7 +519,7 @@ static int menu_enable_device(struct cpu static struct cpuidle_governor menu_governor = { .name = "menu", diff --git a/debian/patches/patchset-pf/fixes/0004-wifi-ath12k-Abort-scan-before-removing-link-interfac.patch b/debian/patches/patchset-pf/fixes/0004-wifi-ath12k-Abort-scan-before-removing-link-interfac.patch index f736181..7aae981 100644 --- a/debian/patches/patchset-pf/fixes/0004-wifi-ath12k-Abort-scan-before-removing-link-interfac.patch +++ b/debian/patches/patchset-pf/fixes/0004-wifi-ath12k-Abort-scan-before-removing-link-interfac.patch @@ -26,7 +26,7 @@ Signed-off-by: Lingbo Kong --- a/drivers/net/wireless/ath/ath12k/mac.c +++ b/drivers/net/wireless/ath/ath12k/mac.c -@@ -9330,6 +9330,11 @@ ath12k_mac_op_unassign_vif_chanctx(struc +@@ -9395,6 +9395,11 @@ ath12k_mac_op_unassign_vif_chanctx(struc ar->num_started_vdevs == 1 && ar->monitor_vdev_created) ath12k_mac_monitor_stop(ar); diff --git a/debian/patches/patchset-pf/fixes/0006-gcc-15-make-unterminated-string-initialization-just-.patch b/debian/patches/patchset-pf/fixes/0006-gcc-15-make-unterminated-string-initialization-just-.patch deleted file mode 100644 index bf147ad..0000000 --- a/debian/patches/patchset-pf/fixes/0006-gcc-15-make-unterminated-string-initialization-just-.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 45a91b33b7de48d4ee8875d2fcc6be04d7e3919c Mon Sep 17 00:00:00 2001 -From: Linus Torvalds -Date: Sun, 20 Apr 2025 10:33:23 -0700 -Subject: gcc-15: make 'unterminated string initialization' just a warning -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -gcc-15 enabling -Wunterminated-string-initialization in -Wextra by -default was done with the best intentions, but the warning is still -quite broken. - -What annoys me about the warning is that this is a very traditional AND -CORRECT way to initialize fixed byte arrays in C: - - unsigned char hex[16] = "0123456789abcdef"; - -and we use this all over the kernel. And the warning is fine, but gcc -developers apparently never made a reasonable way to disable it. As is -(sadly) tradition with these things. - -Yes, there's "__attribute__((nonstring))", and we have a macro to make -that absolutely disgusting syntax more palatable (ie the kernel syntax -for that monstrosity is just "__nonstring"). - -But that attribute is misdesigned. What you'd typically want to do is -tell the compiler that you are using a type that isn't a string but a -byte array, but that doesn't work at all: - - warning: ‘nonstring’ attribute does not apply to types [-Wattributes] - -and because of this fundamental mis-design, you then have to mark each -instance of that pattern. - -This is particularly noticeable in our ACPI code, because ACPI has this -notion of a 4-byte "type name" that gets used all over, and is exactly -this kind of byte array. - -This is a sad oversight, because the warning is useful, but really would -be so much better if gcc had also given a sane way to indicate that we -really just want a byte array type at a type level, not the broken "each -and every array definition" level. - -So now instead of creating a nice "ACPI name" type using something like - - typedef char acpi_name_t[4] __nonstring; - -we have to do things like - - char name[ACPI_NAMESEG_SIZE] __nonstring; - -in every place that uses this concept and then happens to have the -typical initializers. - -This is annoying me mainly because I think the warning _is_ a good -warning, which is why I'm not just turning it off in disgust. But it is -hampered by this bad implementation detail. - -[ And obviously I'm doing this now because system upgrades for me are - something that happen in the middle of the release cycle: don't do it - before or during travel, or just before or during the busy merge - window period. ] - -Signed-off-by: Linus Torvalds ---- - Makefile | 3 +++ - 1 file changed, 3 insertions(+) - ---- a/Makefile -+++ b/Makefile -@@ -1071,6 +1071,9 @@ KBUILD_CFLAGS += $(call cc-option, -fstr - KBUILD_CFLAGS-$(CONFIG_CC_NO_STRINGOP_OVERFLOW) += $(call cc-option, -Wno-stringop-overflow) - KBUILD_CFLAGS-$(CONFIG_CC_STRINGOP_OVERFLOW) += $(call cc-option, -Wstringop-overflow) - -+#Currently, disable -Wunterminated-string-initialization as an error -+KBUILD_CFLAGS += $(call cc-option, -Wno-error=unterminated-string-initialization) -+ - # disable invalid "can't wrap" optimizations for signed / pointers - KBUILD_CFLAGS += -fno-strict-overflow - diff --git a/debian/patches/patchset-pf/fixes/0008-wifi-mac80211-mark-copy_mesh_setup-as-noinline.patch b/debian/patches/patchset-pf/fixes/0006-wifi-mac80211-mark-copy_mesh_setup-as-noinline.patch similarity index 95% rename from debian/patches/patchset-pf/fixes/0008-wifi-mac80211-mark-copy_mesh_setup-as-noinline.patch rename to debian/patches/patchset-pf/fixes/0006-wifi-mac80211-mark-copy_mesh_setup-as-noinline.patch index 32fbd25..7877332 100644 --- a/debian/patches/patchset-pf/fixes/0008-wifi-mac80211-mark-copy_mesh_setup-as-noinline.patch +++ b/debian/patches/patchset-pf/fixes/0006-wifi-mac80211-mark-copy_mesh_setup-as-noinline.patch @@ -24,7 +24,7 @@ Signed-off-by: Oleksandr Natalenko --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c -@@ -2502,7 +2502,7 @@ static inline bool _chg_mesh_attr(enum n +@@ -2501,7 +2501,7 @@ static inline bool _chg_mesh_attr(enum n return (mask >> (parm-1)) & 0x1; } diff --git a/debian/patches/patchset-pf/fixes/0007-gcc-15-disable-Wunterminated-string-initialization-e.patch b/debian/patches/patchset-pf/fixes/0007-gcc-15-disable-Wunterminated-string-initialization-e.patch deleted file mode 100644 index f938b55..0000000 --- a/debian/patches/patchset-pf/fixes/0007-gcc-15-disable-Wunterminated-string-initialization-e.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 4018bbbaed061f15e0b84ea36b4aa95784934a33 Mon Sep 17 00:00:00 2001 -From: Linus Torvalds -Date: Sun, 20 Apr 2025 15:30:53 -0700 -Subject: gcc-15: disable '-Wunterminated-string-initialization' entirely for - now - -I had left the warning around but as a non-fatal error to get my gcc-15 -builds going, but fixed up some of the most annoying warning cases so -that it wouldn't be *too* verbose. - -Because I like the _concept_ of the warning, even if I detested the -implementation to shut it up. - -It turns out the implementation to shut it up is even more broken than I -thought, and my "shut up most of the warnings" patch just caused fatal -errors on gcc-14 instead. - -I had tested with clang, but when I upgrade my development environment, -I try to do it on all machines because I hate having different systems -to maintain, and hadn't realized that gcc-14 now had issues. - -The ACPI case is literally why I wanted to have a *type* that doesn't -trigger the warning (see commit d5d45a7f2619: "gcc-15: make -'unterminated string initialization' just a warning"), instead of -marking individual places as "__nonstring". - -But gcc-14 doesn't like that __nonstring location that shut gcc-15 up, -because it's on an array of char arrays, not on one single array: - - drivers/acpi/tables.c:399:1: error: 'nonstring' attribute ignored on objects of type 'const char[][4]' [-Werror=attributes] - 399 | static const char table_sigs[][ACPI_NAMESEG_SIZE] __initconst __nonstring = { - | ^~~~~~ - -and my attempts to nest it properly with a type had failed, because of -how gcc doesn't like marking the types as having attributes, only -symbols. - -There may be some trick to it, but I was already annoyed by the bad -attribute design, now I'm just entirely fed up with it. - -I wish gcc had a proper way to say "this type is a *byte* array, not a -string". - -The obvious thing would be to distinguish between "char []" and an -explicitly signed "unsigned char []" (as opposed to an implicitly -unsigned char, which is typically an architecture-specific default, but -for the kernel is universal thanks to '-funsigned-char'). - -But any "we can typedef a 8-bit type to not become a string just because -it's an array" model would be fine. - -But "__attribute__((nonstring))" is sadly not that sane model. - -Reported-by: Chris Clayton -Fixes: 4b4bd8c50f48 ("gcc-15: acpi: sprinkle random '__nonstring' crumbles around") -Fixes: d5d45a7f2619 ("gcc-15: make 'unterminated string initialization' just a warning") -Signed-off-by: Linus Torvalds ---- - Makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/Makefile -+++ b/Makefile -@@ -1071,8 +1071,8 @@ KBUILD_CFLAGS += $(call cc-option, -fstr - KBUILD_CFLAGS-$(CONFIG_CC_NO_STRINGOP_OVERFLOW) += $(call cc-option, -Wno-stringop-overflow) - KBUILD_CFLAGS-$(CONFIG_CC_STRINGOP_OVERFLOW) += $(call cc-option, -Wstringop-overflow) - --#Currently, disable -Wunterminated-string-initialization as an error --KBUILD_CFLAGS += $(call cc-option, -Wno-error=unterminated-string-initialization) -+#Currently, disable -Wunterminated-string-initialization as broken -+KBUILD_CFLAGS += $(call cc-option, -Wno-unterminated-string-initialization) - - # disable invalid "can't wrap" optimizations for signed / pointers - KBUILD_CFLAGS += -fno-strict-overflow diff --git a/debian/patches/patchset-pf/fixes/0009-mei-vsc-Use-struct-vsc_tp_packet-as-vsc-tp-tx_buf-an.patch b/debian/patches/patchset-pf/fixes/0009-mei-vsc-Use-struct-vsc_tp_packet-as-vsc-tp-tx_buf-an.patch deleted file mode 100644 index d3f0eb4..0000000 --- a/debian/patches/patchset-pf/fixes/0009-mei-vsc-Use-struct-vsc_tp_packet-as-vsc-tp-tx_buf-an.patch +++ /dev/null @@ -1,72 +0,0 @@ -From b41541948188c8834cda272defdcaceb6b5192d5 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Tue, 18 Mar 2025 15:12:03 +0100 -Subject: mei: vsc: Use struct vsc_tp_packet as vsc-tp tx_buf and rx_buf type - -vsc_tp.tx_buf and vsc_tp.rx_buf point to a struct vsc_tp_packet, use -the correct type instead of "void *" and use sizeof(*ptr) when allocating -memory for these buffers. - -Signed-off-by: Hans de Goede -Reviewed-by: Alexander Usyskin -Reviewed-by: Sakari Ailus -Link: https://lore.kernel.org/r/20250318141203.94342-3-hdegoede@redhat.com -Signed-off-by: Greg Kroah-Hartman ---- - drivers/misc/mei/vsc-tp.c | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - ---- a/drivers/misc/mei/vsc-tp.c -+++ b/drivers/misc/mei/vsc-tp.c -@@ -71,8 +71,8 @@ struct vsc_tp { - u32 seq; - - /* command buffer */ -- void *tx_buf; -- void *rx_buf; -+ struct vsc_tp_packet *tx_buf; -+ struct vsc_tp_packet *rx_buf; - - atomic_t assert_cnt; - wait_queue_head_t xfer_wait; -@@ -164,7 +164,7 @@ static int vsc_tp_xfer_helper(struct vsc - { - int ret, offset = 0, cpy_len, src_len, dst_len = sizeof(struct vsc_tp_packet_hdr); - int next_xfer_len = VSC_TP_PACKET_SIZE(pkt) + VSC_TP_XFER_TIMEOUT_BYTES; -- u8 *src, *crc_src, *rx_buf = tp->rx_buf; -+ u8 *src, *crc_src, *rx_buf = (u8 *)tp->rx_buf; - int count_down = VSC_TP_MAX_XFER_COUNT; - u32 recv_crc = 0, crc = ~0; - struct vsc_tp_packet_hdr ack; -@@ -324,7 +324,7 @@ int vsc_tp_rom_xfer(struct vsc_tp *tp, c - guard(mutex)(&tp->mutex); - - /* rom xfer is big endian */ -- cpu_to_be32_array(tp->tx_buf, obuf, words); -+ cpu_to_be32_array((u32 *)tp->tx_buf, obuf, words); - - ret = read_poll_timeout(gpiod_get_value_cansleep, ret, - !ret, VSC_TP_ROM_XFER_POLL_DELAY_US, -@@ -340,7 +340,7 @@ int vsc_tp_rom_xfer(struct vsc_tp *tp, c - return ret; - - if (ibuf) -- be32_to_cpu_array(ibuf, tp->rx_buf, words); -+ be32_to_cpu_array(ibuf, (u32 *)tp->rx_buf, words); - - return ret; - } -@@ -494,11 +494,11 @@ static int vsc_tp_probe(struct spi_devic - if (!tp) - return -ENOMEM; - -- tp->tx_buf = devm_kzalloc(dev, VSC_TP_MAX_XFER_SIZE, GFP_KERNEL); -+ tp->tx_buf = devm_kzalloc(dev, sizeof(*tp->tx_buf), GFP_KERNEL); - if (!tp->tx_buf) - return -ENOMEM; - -- tp->rx_buf = devm_kzalloc(dev, VSC_TP_MAX_XFER_SIZE, GFP_KERNEL); -+ tp->rx_buf = devm_kzalloc(dev, sizeof(*tp->rx_buf), GFP_KERNEL); - if (!tp->rx_buf) - return -ENOMEM; - diff --git a/debian/patches/patchset-pf/fixes/0010-loop-don-t-require-write_iter-for-writable-files-in-.patch b/debian/patches/patchset-pf/fixes/0010-loop-don-t-require-write_iter-for-writable-files-in-.patch deleted file mode 100644 index 741b557..0000000 --- a/debian/patches/patchset-pf/fixes/0010-loop-don-t-require-write_iter-for-writable-files-in-.patch +++ /dev/null @@ -1,34 +0,0 @@ -From c3781ee15fb846bc6ad09a09baa2ced404e74e47 Mon Sep 17 00:00:00 2001 -From: Christoph Hellwig -Date: Tue, 20 May 2025 15:54:20 +0200 -Subject: loop: don't require ->write_iter for writable files in loop_configure - -Block devices can be opened read-write even if they can't be written to -for historic reasons. Remove the check requiring file->f_op->write_iter -when the block devices was opened in loop_configure. The call to -loop_check_backing_file just below ensures the ->write_iter is present -for backing files opened for writing, which is the only check that is -actually needed. - -Fixes: f5c84eff634b ("loop: Add sanity check for read/write_iter") -Reported-by: Christian Hesse -Signed-off-by: Christoph Hellwig -Link: https://lore.kernel.org/r/20250520135420.1177312-1-hch@lst.de -Signed-off-by: Jens Axboe -Cherry-picked-for: https://lore.kernel.org/r/20250519175640.2fcac001@leda.eworm.net ---- - drivers/block/loop.c | 3 --- - 1 file changed, 3 deletions(-) - ---- a/drivers/block/loop.c -+++ b/drivers/block/loop.c -@@ -972,9 +972,6 @@ static int loop_configure(struct loop_de - if (!file) - return -EBADF; - -- if ((mode & BLK_OPEN_WRITE) && !file->f_op->write_iter) -- return -EINVAL; -- - error = loop_check_backing_file(file); - if (error) - return error; diff --git a/debian/patches/patchset-pf/invlpgb/0001-x86-mm-Make-MMU_GATHER_RCU_TABLE_FREE-unconditional.patch b/debian/patches/patchset-pf/invlpgb/0001-x86-mm-Make-MMU_GATHER_RCU_TABLE_FREE-unconditional.patch deleted file mode 100644 index 55205fa..0000000 --- a/debian/patches/patchset-pf/invlpgb/0001-x86-mm-Make-MMU_GATHER_RCU_TABLE_FREE-unconditional.patch +++ /dev/null @@ -1,149 +0,0 @@ -From 2ffeb0d8d193c35403cea13d3b7273b523631007 Mon Sep 17 00:00:00 2001 -From: Rik van Riel -Date: Thu, 13 Feb 2025 11:13:52 -0500 -Subject: x86/mm: Make MMU_GATHER_RCU_TABLE_FREE unconditional - -Currently x86 uses CONFIG_MMU_GATHER_TABLE_FREE when using -paravirt, and not when running on bare metal. - -There is no real good reason to do things differently for -each setup. Make them all the same. - -Currently get_user_pages_fast synchronizes against page table -freeing in two different ways: - - - on bare metal, by blocking IRQs, which block TLB flush IPIs - - on paravirt, with MMU_GATHER_RCU_TABLE_FREE - -This is done because some paravirt TLB flush implementations -handle the TLB flush in the hypervisor, and will do the flush -even when the target CPU has interrupts disabled. - -Always handle page table freeing with MMU_GATHER_RCU_TABLE_FREE. -Using RCU synchronization between page table freeing and get_user_pages_fast() -allows bare metal to also do TLB flushing while interrupts are disabled. - -Various places in the mm do still block IRQs or disable preemption -as an implicit way to block RCU frees. - -That makes it safe to use INVLPGB on AMD CPUs. - -Suggested-by: Peter Zijlstra -Signed-off-by: Rik van Riel -Signed-off-by: Ingo Molnar -Tested-by: Manali Shukla -Tested-by: Brendan Jackman -Tested-by: Michael Kelley -Link: https://lore.kernel.org/r/20250213161423.449435-2-riel@surriel.com ---- - arch/x86/Kconfig | 2 +- - arch/x86/kernel/paravirt.c | 17 +---------------- - arch/x86/mm/pgtable.c | 27 ++++----------------------- - 3 files changed, 6 insertions(+), 40 deletions(-) - ---- a/arch/x86/Kconfig -+++ b/arch/x86/Kconfig -@@ -277,7 +277,7 @@ config X86 - select HAVE_PCI - select HAVE_PERF_REGS - select HAVE_PERF_USER_STACK_DUMP -- select MMU_GATHER_RCU_TABLE_FREE if PARAVIRT -+ select MMU_GATHER_RCU_TABLE_FREE - select MMU_GATHER_MERGE_VMAS - select HAVE_POSIX_CPU_TIMERS_TASK_WORK - select HAVE_REGS_AND_STACK_ACCESS_API ---- a/arch/x86/kernel/paravirt.c -+++ b/arch/x86/kernel/paravirt.c -@@ -59,21 +59,6 @@ void __init native_pv_lock_init(void) - static_branch_enable(&virt_spin_lock_key); - } - --#ifndef CONFIG_PT_RECLAIM --static void native_tlb_remove_table(struct mmu_gather *tlb, void *table) --{ -- struct ptdesc *ptdesc = (struct ptdesc *)table; -- -- pagetable_dtor(ptdesc); -- tlb_remove_page(tlb, ptdesc_page(ptdesc)); --} --#else --static void native_tlb_remove_table(struct mmu_gather *tlb, void *table) --{ -- tlb_remove_table(tlb, table); --} --#endif -- - struct static_key paravirt_steal_enabled; - struct static_key paravirt_steal_rq_enabled; - -@@ -197,7 +182,7 @@ struct paravirt_patch_template pv_ops = - .mmu.flush_tlb_kernel = native_flush_tlb_global, - .mmu.flush_tlb_one_user = native_flush_tlb_one_user, - .mmu.flush_tlb_multi = native_flush_tlb_multi, -- .mmu.tlb_remove_table = native_tlb_remove_table, -+ .mmu.tlb_remove_table = tlb_remove_table, - - .mmu.exit_mmap = paravirt_nop, - .mmu.notify_page_enc_status_changed = paravirt_nop, ---- a/arch/x86/mm/pgtable.c -+++ b/arch/x86/mm/pgtable.c -@@ -18,25 +18,6 @@ EXPORT_SYMBOL(physical_mask); - #define PGTABLE_HIGHMEM 0 - #endif - --#ifndef CONFIG_PARAVIRT --#ifndef CONFIG_PT_RECLAIM --static inline --void paravirt_tlb_remove_table(struct mmu_gather *tlb, void *table) --{ -- struct ptdesc *ptdesc = (struct ptdesc *)table; -- -- pagetable_dtor(ptdesc); -- tlb_remove_page(tlb, ptdesc_page(ptdesc)); --} --#else --static inline --void paravirt_tlb_remove_table(struct mmu_gather *tlb, void *table) --{ -- tlb_remove_table(tlb, table); --} --#endif /* !CONFIG_PT_RECLAIM */ --#endif /* !CONFIG_PARAVIRT */ -- - gfp_t __userpte_alloc_gfp = GFP_PGTABLE_USER | PGTABLE_HIGHMEM; - - pgtable_t pte_alloc_one(struct mm_struct *mm) -@@ -64,7 +45,7 @@ early_param("userpte", setup_userpte); - void ___pte_free_tlb(struct mmu_gather *tlb, struct page *pte) - { - paravirt_release_pte(page_to_pfn(pte)); -- paravirt_tlb_remove_table(tlb, page_ptdesc(pte)); -+ tlb_remove_table(tlb, page_ptdesc(pte)); - } - - #if CONFIG_PGTABLE_LEVELS > 2 -@@ -78,21 +59,21 @@ void ___pmd_free_tlb(struct mmu_gather * - #ifdef CONFIG_X86_PAE - tlb->need_flush_all = 1; - #endif -- paravirt_tlb_remove_table(tlb, virt_to_ptdesc(pmd)); -+ tlb_remove_table(tlb, virt_to_ptdesc(pmd)); - } - - #if CONFIG_PGTABLE_LEVELS > 3 - void ___pud_free_tlb(struct mmu_gather *tlb, pud_t *pud) - { - paravirt_release_pud(__pa(pud) >> PAGE_SHIFT); -- paravirt_tlb_remove_table(tlb, virt_to_ptdesc(pud)); -+ tlb_remove_table(tlb, virt_to_ptdesc(pud)); - } - - #if CONFIG_PGTABLE_LEVELS > 4 - void ___p4d_free_tlb(struct mmu_gather *tlb, p4d_t *p4d) - { - paravirt_release_p4d(__pa(p4d) >> PAGE_SHIFT); -- paravirt_tlb_remove_table(tlb, virt_to_ptdesc(p4d)); -+ tlb_remove_table(tlb, virt_to_ptdesc(p4d)); - } - #endif /* CONFIG_PGTABLE_LEVELS > 4 */ - #endif /* CONFIG_PGTABLE_LEVELS > 3 */ diff --git a/debian/patches/patchset-pf/invlpgb/0002-x86-mm-Remove-pv_ops.mmu.tlb_remove_table-call.patch b/debian/patches/patchset-pf/invlpgb/0001-x86-mm-Remove-pv_ops.mmu.tlb_remove_table-call.patch similarity index 100% rename from debian/patches/patchset-pf/invlpgb/0002-x86-mm-Remove-pv_ops.mmu.tlb_remove_table-call.patch rename to debian/patches/patchset-pf/invlpgb/0001-x86-mm-Remove-pv_ops.mmu.tlb_remove_table-call.patch diff --git a/debian/patches/patchset-pf/invlpgb/0003-x86-mm-Consolidate-full-flush-threshold-decision.patch b/debian/patches/patchset-pf/invlpgb/0002-x86-mm-Consolidate-full-flush-threshold-decision.patch similarity index 100% rename from debian/patches/patchset-pf/invlpgb/0003-x86-mm-Consolidate-full-flush-threshold-decision.patch rename to debian/patches/patchset-pf/invlpgb/0002-x86-mm-Consolidate-full-flush-threshold-decision.patch diff --git a/debian/patches/patchset-pf/invlpgb/0004-x86-mm-Add-INVLPGB-feature-and-Kconfig-entry.patch b/debian/patches/patchset-pf/invlpgb/0003-x86-mm-Add-INVLPGB-feature-and-Kconfig-entry.patch similarity index 100% rename from debian/patches/patchset-pf/invlpgb/0004-x86-mm-Add-INVLPGB-feature-and-Kconfig-entry.patch rename to debian/patches/patchset-pf/invlpgb/0003-x86-mm-Add-INVLPGB-feature-and-Kconfig-entry.patch diff --git a/debian/patches/patchset-pf/invlpgb/0005-x86-mm-Add-INVLPGB-support-code.patch b/debian/patches/patchset-pf/invlpgb/0004-x86-mm-Add-INVLPGB-support-code.patch similarity index 100% rename from debian/patches/patchset-pf/invlpgb/0005-x86-mm-Add-INVLPGB-support-code.patch rename to debian/patches/patchset-pf/invlpgb/0004-x86-mm-Add-INVLPGB-support-code.patch diff --git a/debian/patches/patchset-pf/invlpgb/0006-x86-mm-Use-INVLPGB-for-kernel-TLB-flushes.patch b/debian/patches/patchset-pf/invlpgb/0005-x86-mm-Use-INVLPGB-for-kernel-TLB-flushes.patch similarity index 100% rename from debian/patches/patchset-pf/invlpgb/0006-x86-mm-Use-INVLPGB-for-kernel-TLB-flushes.patch rename to debian/patches/patchset-pf/invlpgb/0005-x86-mm-Use-INVLPGB-for-kernel-TLB-flushes.patch diff --git a/debian/patches/patchset-pf/invlpgb/0007-x86-mm-Use-broadcast-TLB-flushing-in-page-reclaim.patch b/debian/patches/patchset-pf/invlpgb/0006-x86-mm-Use-broadcast-TLB-flushing-in-page-reclaim.patch similarity index 100% rename from debian/patches/patchset-pf/invlpgb/0007-x86-mm-Use-broadcast-TLB-flushing-in-page-reclaim.patch rename to debian/patches/patchset-pf/invlpgb/0006-x86-mm-Use-broadcast-TLB-flushing-in-page-reclaim.patch diff --git a/debian/patches/patchset-pf/invlpgb/0008-x86-mm-Add-global-ASID-allocation-helper-functions.patch b/debian/patches/patchset-pf/invlpgb/0007-x86-mm-Add-global-ASID-allocation-helper-functions.patch similarity index 100% rename from debian/patches/patchset-pf/invlpgb/0008-x86-mm-Add-global-ASID-allocation-helper-functions.patch rename to debian/patches/patchset-pf/invlpgb/0007-x86-mm-Add-global-ASID-allocation-helper-functions.patch diff --git a/debian/patches/patchset-pf/invlpgb/0009-x86-mm-Handle-global-ASID-context-switch-and-TLB-flu.patch b/debian/patches/patchset-pf/invlpgb/0008-x86-mm-Handle-global-ASID-context-switch-and-TLB-flu.patch similarity index 100% rename from debian/patches/patchset-pf/invlpgb/0009-x86-mm-Handle-global-ASID-context-switch-and-TLB-flu.patch rename to debian/patches/patchset-pf/invlpgb/0008-x86-mm-Handle-global-ASID-context-switch-and-TLB-flu.patch diff --git a/debian/patches/patchset-pf/invlpgb/0010-x86-mm-Add-global-ASID-process-exit-helpers.patch b/debian/patches/patchset-pf/invlpgb/0009-x86-mm-Add-global-ASID-process-exit-helpers.patch similarity index 100% rename from debian/patches/patchset-pf/invlpgb/0010-x86-mm-Add-global-ASID-process-exit-helpers.patch rename to debian/patches/patchset-pf/invlpgb/0009-x86-mm-Add-global-ASID-process-exit-helpers.patch diff --git a/debian/patches/patchset-pf/invlpgb/0011-x86-mm-Enable-broadcast-TLB-invalidation-for-multi-t.patch b/debian/patches/patchset-pf/invlpgb/0010-x86-mm-Enable-broadcast-TLB-invalidation-for-multi-t.patch similarity index 100% rename from debian/patches/patchset-pf/invlpgb/0011-x86-mm-Enable-broadcast-TLB-invalidation-for-multi-t.patch rename to debian/patches/patchset-pf/invlpgb/0010-x86-mm-Enable-broadcast-TLB-invalidation-for-multi-t.patch diff --git a/debian/patches/patchset-pf/invlpgb/0012-x86-mm-Enable-AMD-translation-cache-extensions.patch b/debian/patches/patchset-pf/invlpgb/0011-x86-mm-Enable-AMD-translation-cache-extensions.patch similarity index 100% rename from debian/patches/patchset-pf/invlpgb/0012-x86-mm-Enable-AMD-translation-cache-extensions.patch rename to debian/patches/patchset-pf/invlpgb/0011-x86-mm-Enable-AMD-translation-cache-extensions.patch diff --git a/debian/patches/patchset-pf/invlpgb/0013-x86-mm-Always-set-the-ASID-valid-bit-for-the-INVLPGB.patch b/debian/patches/patchset-pf/invlpgb/0012-x86-mm-Always-set-the-ASID-valid-bit-for-the-INVLPGB.patch similarity index 100% rename from debian/patches/patchset-pf/invlpgb/0013-x86-mm-Always-set-the-ASID-valid-bit-for-the-INVLPGB.patch rename to debian/patches/patchset-pf/invlpgb/0012-x86-mm-Always-set-the-ASID-valid-bit-for-the-INVLPGB.patch diff --git a/debian/patches/patchset-pf/invlpgb/0014-x86-mm-Only-do-broadcast-flush-from-reclaim-if-pages.patch b/debian/patches/patchset-pf/invlpgb/0013-x86-mm-Only-do-broadcast-flush-from-reclaim-if-pages.patch similarity index 100% rename from debian/patches/patchset-pf/invlpgb/0014-x86-mm-Only-do-broadcast-flush-from-reclaim-if-pages.patch rename to debian/patches/patchset-pf/invlpgb/0013-x86-mm-Only-do-broadcast-flush-from-reclaim-if-pages.patch diff --git a/debian/patches/patchset-pf/invlpgb/0015-x86-mm-Eliminate-window-where-TLB-flushes-may-be-ina.patch b/debian/patches/patchset-pf/invlpgb/0014-x86-mm-Eliminate-window-where-TLB-flushes-may-be-ina.patch similarity index 100% rename from debian/patches/patchset-pf/invlpgb/0015-x86-mm-Eliminate-window-where-TLB-flushes-may-be-ina.patch rename to debian/patches/patchset-pf/invlpgb/0014-x86-mm-Eliminate-window-where-TLB-flushes-may-be-ina.patch diff --git a/debian/patches/patchset-xanmod/net/tcp/bbr3/0001-net-tcp_bbr-broaden-app-limited-rate-sample-detectio.patch b/debian/patches/patchset-xanmod/net/tcp/bbr3/0001-net-tcp_bbr-broaden-app-limited-rate-sample-detectio.patch index 88950f9..4329bb4 100644 --- a/debian/patches/patchset-xanmod/net/tcp/bbr3/0001-net-tcp_bbr-broaden-app-limited-rate-sample-detectio.patch +++ b/debian/patches/patchset-xanmod/net/tcp/bbr3/0001-net-tcp_bbr-broaden-app-limited-rate-sample-detectio.patch @@ -32,7 +32,7 @@ Signed-off-by: Alexandre Frade --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c -@@ -3967,6 +3967,7 @@ static int tcp_ack(struct sock *sk, cons +@@ -3983,6 +3983,7 @@ static int tcp_ack(struct sock *sk, cons prior_fack = tcp_is_sack(tp) ? tcp_highest_sack_seq(tp) : tp->snd_una; rs.prior_in_flight = tcp_packets_in_flight(tp); diff --git a/debian/patches/patchset-xanmod/net/tcp/bbr3/0003-net-tcp_bbr-v2-snapshot-packets-in-flight-at-transmi.patch b/debian/patches/patchset-xanmod/net/tcp/bbr3/0003-net-tcp_bbr-v2-snapshot-packets-in-flight-at-transmi.patch index e0d7062..69bae5a 100644 --- a/debian/patches/patchset-xanmod/net/tcp/bbr3/0003-net-tcp_bbr-v2-snapshot-packets-in-flight-at-transmi.patch +++ b/debian/patches/patchset-xanmod/net/tcp/bbr3/0003-net-tcp_bbr-v2-snapshot-packets-in-flight-at-transmi.patch @@ -56,7 +56,7 @@ Signed-off-by: Alexandre Frade struct rate_sample *rs); --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c -@@ -2770,6 +2770,7 @@ static bool tcp_write_xmit(struct sock * +@@ -2776,6 +2776,7 @@ static bool tcp_write_xmit(struct sock * skb_set_delivery_time(skb, tp->tcp_wstamp_ns, SKB_CLOCK_MONOTONIC); list_move_tail(&skb->tcp_tsorted_anchor, &tp->tsorted_sent_queue); tcp_init_tso_segs(skb, mss_now); diff --git a/debian/patches/patchset-xanmod/net/tcp/bbr3/0005-net-tcp_bbr-v2-export-FLAG_ECE-in-rate_sample.is_ece.patch b/debian/patches/patchset-xanmod/net/tcp/bbr3/0005-net-tcp_bbr-v2-export-FLAG_ECE-in-rate_sample.is_ece.patch index 1faa17a..7a2a99d 100644 --- a/debian/patches/patchset-xanmod/net/tcp/bbr3/0005-net-tcp_bbr-v2-export-FLAG_ECE-in-rate_sample.is_ece.patch +++ b/debian/patches/patchset-xanmod/net/tcp/bbr3/0005-net-tcp_bbr-v2-export-FLAG_ECE-in-rate_sample.is_ece.patch @@ -28,7 +28,7 @@ Signed-off-by: Alexandre Frade struct tcp_congestion_ops { --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c -@@ -4066,6 +4066,7 @@ static int tcp_ack(struct sock *sk, cons +@@ -4073,6 +4073,7 @@ static int tcp_ack(struct sock *sk, cons delivered = tcp_newly_delivered(sk, delivered, flag); lost = tp->lost - lost; /* freshly marked lost */ rs.is_ack_delayed = !!(flag & FLAG_ACK_MAYBE_DELAYED); diff --git a/debian/patches/patchset-xanmod/net/tcp/bbr3/0006-net-tcp_bbr-v2-introduce-ca_ops-skb_marked_lost-CC-m.patch b/debian/patches/patchset-xanmod/net/tcp/bbr3/0006-net-tcp_bbr-v2-introduce-ca_ops-skb_marked_lost-CC-m.patch index 4686a87..8b0c730 100644 --- a/debian/patches/patchset-xanmod/net/tcp/bbr3/0006-net-tcp_bbr-v2-introduce-ca_ops-skb_marked_lost-CC-m.patch +++ b/debian/patches/patchset-xanmod/net/tcp/bbr3/0006-net-tcp_bbr-v2-introduce-ca_ops-skb_marked_lost-CC-m.patch @@ -42,7 +42,7 @@ Signed-off-by: Alexandre Frade */ --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c -@@ -1126,7 +1126,12 @@ static void tcp_verify_retransmit_hint(s +@@ -1140,7 +1140,12 @@ static void tcp_verify_retransmit_hint(s */ static void tcp_notify_skb_loss_event(struct tcp_sock *tp, const struct sk_buff *skb) { diff --git a/debian/patches/patchset-xanmod/net/tcp/bbr3/0007-net-tcp_bbr-v2-adjust-skb-tx.in_flight-upon-merge-in.patch b/debian/patches/patchset-xanmod/net/tcp/bbr3/0007-net-tcp_bbr-v2-adjust-skb-tx.in_flight-upon-merge-in.patch index 2008c9a..c1adf52 100644 --- a/debian/patches/patchset-xanmod/net/tcp/bbr3/0007-net-tcp_bbr-v2-adjust-skb-tx.in_flight-upon-merge-in.patch +++ b/debian/patches/patchset-xanmod/net/tcp/bbr3/0007-net-tcp_bbr-v2-adjust-skb-tx.in_flight-upon-merge-in.patch @@ -39,7 +39,7 @@ Signed-off-by: Alexandre Frade --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c -@@ -1512,6 +1512,17 @@ static bool tcp_shifted_skb(struct sock +@@ -1517,6 +1517,17 @@ static bool tcp_shifted_skb(struct sock WARN_ON_ONCE(tcp_skb_pcount(skb) < pcount); tcp_skb_pcount_add(skb, -pcount); diff --git a/debian/patches/patchset-xanmod/net/tcp/bbr3/0008-net-tcp_bbr-v2-adjust-skb-tx.in_flight-upon-split-in.patch b/debian/patches/patchset-xanmod/net/tcp/bbr3/0008-net-tcp_bbr-v2-adjust-skb-tx.in_flight-upon-split-in.patch index 8dd5442..5f17854 100644 --- a/debian/patches/patchset-xanmod/net/tcp/bbr3/0008-net-tcp_bbr-v2-adjust-skb-tx.in_flight-upon-split-in.patch +++ b/debian/patches/patchset-xanmod/net/tcp/bbr3/0008-net-tcp_bbr-v2-adjust-skb-tx.in_flight-upon-split-in.patch @@ -55,7 +55,7 @@ Signed-off-by: Alexandre Frade * between different flows. --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c -@@ -1606,7 +1606,7 @@ int tcp_fragment(struct sock *sk, enum t +@@ -1612,7 +1612,7 @@ int tcp_fragment(struct sock *sk, enum t { struct tcp_sock *tp = tcp_sk(sk); struct sk_buff *buff; @@ -64,7 +64,7 @@ Signed-off-by: Alexandre Frade long limit; int nlen; u8 flags; -@@ -1681,6 +1681,30 @@ int tcp_fragment(struct sock *sk, enum t +@@ -1687,6 +1687,30 @@ int tcp_fragment(struct sock *sk, enum t if (diff) tcp_adjust_pcount(sk, skb, diff); diff --git a/debian/patches/patchset-xanmod/net/tcp/bbr3/0010-net-tcp-re-generalize-TSO-sizing-in-TCP-CC-module-AP.patch b/debian/patches/patchset-xanmod/net/tcp/bbr3/0010-net-tcp-re-generalize-TSO-sizing-in-TCP-CC-module-AP.patch index a305b07..139f0f6 100644 --- a/debian/patches/patchset-xanmod/net/tcp/bbr3/0010-net-tcp-re-generalize-TSO-sizing-in-TCP-CC-module-AP.patch +++ b/debian/patches/patchset-xanmod/net/tcp/bbr3/0010-net-tcp-re-generalize-TSO-sizing-in-TCP-CC-module-AP.patch @@ -118,7 +118,7 @@ Signed-off-by: Alexandre Frade }; --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c -@@ -2062,13 +2062,12 @@ static u32 tcp_tso_autosize(const struct +@@ -2068,13 +2068,12 @@ static u32 tcp_tso_autosize(const struct static u32 tcp_tso_segs(struct sock *sk, unsigned int mss_now) { const struct tcp_congestion_ops *ca_ops = inet_csk(sk)->icsk_ca_ops; diff --git a/debian/patches/patchset-xanmod/net/tcp/bbr3/0011-net-tcp-add-fast_ack_mode-1-skip-rwin-check-in-tcp_f.patch b/debian/patches/patchset-xanmod/net/tcp/bbr3/0011-net-tcp-add-fast_ack_mode-1-skip-rwin-check-in-tcp_f.patch index ce7a926..e846bf5 100644 --- a/debian/patches/patchset-xanmod/net/tcp/bbr3/0011-net-tcp-add-fast_ack_mode-1-skip-rwin-check-in-tcp_f.patch +++ b/debian/patches/patchset-xanmod/net/tcp/bbr3/0011-net-tcp-add-fast_ack_mode-1-skip-rwin-check-in-tcp_f.patch @@ -22,7 +22,7 @@ Signed-off-by: Alexandre Frade --- a/include/linux/tcp.h +++ b/include/linux/tcp.h -@@ -243,7 +243,8 @@ struct tcp_sock { +@@ -245,7 +245,8 @@ struct tcp_sock { /* OOO segments go in this rbtree. Socket lock must be held. */ struct rb_root out_of_order_queue; u32 snd_ssthresh; /* Slow start size threshold */ @@ -54,7 +54,7 @@ Signed-off-by: Alexandre Frade if (tcp_ca_needs_ecn(sk)) --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c -@@ -5782,13 +5782,14 @@ static void __tcp_ack_snd_check(struct s +@@ -5790,13 +5790,14 @@ static void __tcp_ack_snd_check(struct s /* More than one full frame received... */ if (((tp->rcv_nxt - tp->rcv_wup) > inet_csk(sk)->icsk_ack.rcv_mss && diff --git a/debian/patches/patchset-xanmod/net/tcp/bbr3/0012-net-tcp_bbr-v2-record-app-limited-status-of-TLP-repa.patch b/debian/patches/patchset-xanmod/net/tcp/bbr3/0012-net-tcp_bbr-v2-record-app-limited-status-of-TLP-repa.patch index fee7d70..13ef8dd 100644 --- a/debian/patches/patchset-xanmod/net/tcp/bbr3/0012-net-tcp_bbr-v2-record-app-limited-status-of-TLP-repa.patch +++ b/debian/patches/patchset-xanmod/net/tcp/bbr3/0012-net-tcp_bbr-v2-record-app-limited-status-of-TLP-repa.patch @@ -23,7 +23,7 @@ Signed-off-by: Alexandre Frade --- a/include/linux/tcp.h +++ b/include/linux/tcp.h -@@ -301,7 +301,8 @@ struct tcp_sock { +@@ -303,7 +303,8 @@ struct tcp_sock { */ struct tcp_options_received rx_opt; u8 nonagle : 4,/* Disable Nagle algorithm? */ @@ -35,7 +35,7 @@ Signed-off-by: Alexandre Frade /* RX read-write hotpath cache lines */ --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c -@@ -3006,6 +3006,7 @@ void tcp_send_loss_probe(struct sock *sk +@@ -3012,6 +3012,7 @@ void tcp_send_loss_probe(struct sock *sk if (WARN_ON(!skb || !tcp_skb_pcount(skb))) goto rearm_timer; diff --git a/debian/patches/patchset-xanmod/net/tcp/bbr3/0013-net-tcp_bbr-v2-inform-CC-module-of-losses-repaired-b.patch b/debian/patches/patchset-xanmod/net/tcp/bbr3/0013-net-tcp_bbr-v2-inform-CC-module-of-losses-repaired-b.patch index 368e661..53faf4f 100644 --- a/debian/patches/patchset-xanmod/net/tcp/bbr3/0013-net-tcp_bbr-v2-inform-CC-module-of-losses-repaired-b.patch +++ b/debian/patches/patchset-xanmod/net/tcp/bbr3/0013-net-tcp_bbr-v2-inform-CC-module-of-losses-repaired-b.patch @@ -35,7 +35,7 @@ Signed-off-by: Alexandre Frade /* Information about inbound ACK, passed to cong_ops->in_ack_event() */ --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c -@@ -3865,6 +3865,7 @@ static void tcp_process_tlp_ack(struct s +@@ -3870,6 +3870,7 @@ static void tcp_process_tlp_ack(struct s /* ACK advances: there was a loss, so reduce cwnd. Reset * tlp_high_seq in tcp_init_cwnd_reduction() */ diff --git a/debian/patches/patchset-xanmod/net/tcp/bbr3/0014-net-tcp_bbr-v2-introduce-is_acking_tlp_retrans_seq-i.patch b/debian/patches/patchset-xanmod/net/tcp/bbr3/0014-net-tcp_bbr-v2-introduce-is_acking_tlp_retrans_seq-i.patch index bd3c8c7..afed86b 100644 --- a/debian/patches/patchset-xanmod/net/tcp/bbr3/0014-net-tcp_bbr-v2-introduce-is_acking_tlp_retrans_seq-i.patch +++ b/debian/patches/patchset-xanmod/net/tcp/bbr3/0014-net-tcp_bbr-v2-introduce-is_acking_tlp_retrans_seq-i.patch @@ -31,7 +31,7 @@ Signed-off-by: Alexandre Frade }; --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c -@@ -3848,7 +3848,8 @@ static void tcp_replace_ts_recent(struct +@@ -3853,7 +3853,8 @@ static void tcp_replace_ts_recent(struct /* This routine deals with acks during a TLP episode and ends an episode by * resetting tlp_high_seq. Ref: TLP algorithm in draft-ietf-tcpm-rack */ @@ -41,7 +41,7 @@ Signed-off-by: Alexandre Frade { struct tcp_sock *tp = tcp_sk(sk); -@@ -3876,6 +3877,11 @@ static void tcp_process_tlp_ack(struct s +@@ -3881,6 +3882,11 @@ static void tcp_process_tlp_ack(struct s FLAG_NOT_DUP | FLAG_DATA_SACKED))) { /* Pure dupack: original and TLP probe arrived; no loss */ tp->tlp_high_seq = 0; @@ -53,8 +53,8 @@ Signed-off-by: Alexandre Frade } } -@@ -4059,7 +4065,7 @@ static int tcp_ack(struct sock *sk, cons - tcp_rack_update_reo_wnd(sk, &rs); +@@ -4066,7 +4072,7 @@ static int tcp_ack(struct sock *sk, cons + tcp_in_ack_event(sk, flag); if (tp->tlp_high_seq) - tcp_process_tlp_ack(sk, ack, flag); @@ -62,7 +62,7 @@ Signed-off-by: Alexandre Frade if (tcp_ack_is_dubious(sk, flag)) { if (!(flag & (FLAG_SND_UNA_ADVANCED | -@@ -4103,7 +4109,7 @@ no_queue: +@@ -4111,7 +4117,7 @@ no_queue: tcp_ack_probe(sk); if (tp->tlp_high_seq) diff --git a/debian/patches/patchset-xanmod/net/tcp/cloudflare/0001-tcp-Add-a-sysctl-to-skip-tcp-collapse-processing-whe.patch b/debian/patches/patchset-xanmod/net/tcp/cloudflare/0001-tcp-Add-a-sysctl-to-skip-tcp-collapse-processing-whe.patch index 9241875..cf194d4 100644 --- a/debian/patches/patchset-xanmod/net/tcp/cloudflare/0001-tcp-Add-a-sysctl-to-skip-tcp-collapse-processing-whe.patch +++ b/debian/patches/patchset-xanmod/net/tcp/cloudflare/0001-tcp-Add-a-sysctl-to-skip-tcp-collapse-processing-whe.patch @@ -83,7 +83,7 @@ Signed-off-by: Alexandre Frade .maxlen = sizeof(u8), --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c -@@ -5664,6 +5664,7 @@ static bool tcp_prune_ofo_queue(struct s +@@ -5672,6 +5672,7 @@ static bool tcp_prune_ofo_queue(struct s static int tcp_prune_queue(struct sock *sk, const struct sk_buff *in_skb) { struct tcp_sock *tp = tcp_sk(sk); @@ -91,7 +91,7 @@ Signed-off-by: Alexandre Frade NET_INC_STATS(sock_net(sk), LINUX_MIB_PRUNECALLED); -@@ -5675,6 +5676,39 @@ static int tcp_prune_queue(struct sock * +@@ -5683,6 +5684,39 @@ static int tcp_prune_queue(struct sock * if (atomic_read(&sk->sk_rmem_alloc) <= sk->sk_rcvbuf) return 0; @@ -131,7 +131,7 @@ Signed-off-by: Alexandre Frade tcp_collapse_ofo_queue(sk); if (!skb_queue_empty(&sk->sk_receive_queue)) tcp_collapse(sk, &sk->sk_receive_queue, NULL, -@@ -5693,6 +5727,8 @@ static int tcp_prune_queue(struct sock * +@@ -5701,6 +5735,8 @@ static int tcp_prune_queue(struct sock * if (atomic_read(&sk->sk_rmem_alloc) <= sk->sk_rcvbuf) return 0; diff --git a/debian/patches/patchset-xanmod/valve/0004-leds-steamdeck-Add-support-for-Steam-Deck-LED.patch b/debian/patches/patchset-xanmod/valve/0004-leds-steamdeck-Add-support-for-Steam-Deck-LED.patch index d909d83..e852b8c 100644 --- a/debian/patches/patchset-xanmod/valve/0004-leds-steamdeck-Add-support-for-Steam-Deck-LED.patch +++ b/debian/patches/patchset-xanmod/valve/0004-leds-steamdeck-Add-support-for-Steam-Deck-LED.patch @@ -15,7 +15,7 @@ Signed-off-by: Alexandre Frade --- a/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig -@@ -1003,6 +1003,13 @@ config LEDS_ACER_A500 +@@ -1004,6 +1004,13 @@ config LEDS_ACER_A500 This option enables support for the Power Button LED of Acer Iconia Tab A500. diff --git a/debian/patches/patchset-zen/fixes/0002-Bluetooth-hci_event-Fix-not-using-key-encryption-siz.patch b/debian/patches/patchset-zen/fixes/0002-Bluetooth-hci_event-Fix-not-using-key-encryption-siz.patch index 987ebf0..7cafc11 100644 --- a/debian/patches/patchset-zen/fixes/0002-Bluetooth-hci_event-Fix-not-using-key-encryption-siz.patch +++ b/debian/patches/patchset-zen/fixes/0002-Bluetooth-hci_event-Fix-not-using-key-encryption-siz.patch @@ -103,7 +103,7 @@ Cherry-picked-for: https://gitlab.archlinux.org/archlinux/packaging/packages/lin } hci_encrypt_cfm(conn, status); -@@ -3062,6 +3073,34 @@ static void hci_inquiry_result_evt(struc +@@ -3065,6 +3076,34 @@ static void hci_inquiry_result_evt(struc hci_dev_unlock(hdev); } @@ -138,7 +138,7 @@ Cherry-picked-for: https://gitlab.archlinux.org/archlinux/packaging/packages/lin static void hci_conn_complete_evt(struct hci_dev *hdev, void *data, struct sk_buff *skb) { -@@ -3154,23 +3193,11 @@ static void hci_conn_complete_evt(struct +@@ -3157,23 +3196,11 @@ static void hci_conn_complete_evt(struct if (ev->encr_mode == 1 && !test_bit(HCI_CONN_ENCRYPT, &conn->flags) && ev->link_type == ACL_LINK) { struct link_key *key; @@ -163,7 +163,7 @@ Cherry-picked-for: https://gitlab.archlinux.org/archlinux/packaging/packages/lin hci_encrypt_cfm(conn, ev->status); } } -@@ -3609,24 +3636,8 @@ static void hci_encrypt_change_evt(struc +@@ -3612,24 +3639,8 @@ static void hci_encrypt_change_evt(struc /* Try reading the encryption key size for encrypted ACL links */ if (!ev->status && ev->encrypt && conn->type == ACL_LINK) { diff --git a/debian/patches/patchset-zen/sauce/0004-ZEN-Disable-stack-conservation-for-GCC.patch b/debian/patches/patchset-zen/sauce/0004-ZEN-Disable-stack-conservation-for-GCC.patch index 27cb2a6..a483655 100644 --- a/debian/patches/patchset-zen/sauce/0004-ZEN-Disable-stack-conservation-for-GCC.patch +++ b/debian/patches/patchset-zen/sauce/0004-ZEN-Disable-stack-conservation-for-GCC.patch @@ -15,7 +15,7 @@ Signed-off-by: Sultan Alsawaf --- a/Makefile +++ b/Makefile -@@ -1077,11 +1077,6 @@ KBUILD_CFLAGS += -fno-strict-overflow +@@ -1073,11 +1073,6 @@ KBUILD_CFLAGS += -fno-strict-overflow # Make sure -fstack-check isn't enabled (like gentoo apparently did) KBUILD_CFLAGS += -fno-stack-check diff --git a/debian/patches/patchset-zen/sauce/0008-ZEN-drm-amdgpu-pm-Allow-override-of-min_power_limit-.patch b/debian/patches/patchset-zen/sauce/0008-ZEN-drm-amdgpu-pm-Allow-override-of-min_power_limit-.patch index 1d1b6dd..9a76bcd 100644 --- a/debian/patches/patchset-zen/sauce/0008-ZEN-drm-amdgpu-pm-Allow-override-of-min_power_limit-.patch +++ b/debian/patches/patchset-zen/sauce/0008-ZEN-drm-amdgpu-pm-Allow-override-of-min_power_limit-.patch @@ -31,7 +31,7 @@ Subject: ZEN: drm/amdgpu/pm: Allow override of min_power_limit with int amdgpu_vis_vram_limit; int amdgpu_gart_size = -1; /* auto */ int amdgpu_gtt_size = -1; /* auto */ -@@ -258,6 +259,15 @@ struct amdgpu_watchdog_timer amdgpu_watc +@@ -259,6 +260,15 @@ struct amdgpu_watchdog_timer amdgpu_watc }; /** @@ -61,7 +61,7 @@ Subject: ZEN: drm/amdgpu/pm: Allow override of min_power_limit with --- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c +++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c -@@ -2823,7 +2823,10 @@ int smu_get_power_limit(void *handle, +@@ -2824,7 +2824,10 @@ int smu_get_power_limit(void *handle, *limit = smu->max_power_limit; break; case SMU_PPT_LIMIT_MIN: @@ -73,7 +73,7 @@ Subject: ZEN: drm/amdgpu/pm: Allow override of min_power_limit with break; default: return -EINVAL; -@@ -2847,7 +2850,14 @@ static int smu_set_power_limit(void *han +@@ -2848,7 +2851,14 @@ static int smu_set_power_limit(void *han if (smu->ppt_funcs->set_power_limit) return smu->ppt_funcs->set_power_limit(smu, limit_type, limit); diff --git a/debian/patches/patchset-zen/sauce/0009-ZEN-mm-Stop-kswapd-early-when-nothing-s-waiting-for-.patch b/debian/patches/patchset-zen/sauce/0009-ZEN-mm-Stop-kswapd-early-when-nothing-s-waiting-for-.patch index b5203a5..5535177 100644 --- a/debian/patches/patchset-zen/sauce/0009-ZEN-mm-Stop-kswapd-early-when-nothing-s-waiting-for-.patch +++ b/debian/patches/patchset-zen/sauce/0009-ZEN-mm-Stop-kswapd-early-when-nothing-s-waiting-for-.patch @@ -85,7 +85,7 @@ Contains: /* * The adjusted alloc_flags might result in immediate success, so try -@@ -4517,9 +4525,12 @@ nopage: +@@ -4525,9 +4533,12 @@ nopage: goto retry; } fail: diff --git a/debian/patches/patchset-zen/sauce/0016-ZEN-INTERACTIVE-Tune-EEVDF-for-interactivity.patch b/debian/patches/patchset-zen/sauce/0016-ZEN-INTERACTIVE-Tune-EEVDF-for-interactivity.patch index d3ce0cb..8ba2d48 100644 --- a/debian/patches/patchset-zen/sauce/0016-ZEN-INTERACTIVE-Tune-EEVDF-for-interactivity.patch +++ b/debian/patches/patchset-zen/sauce/0016-ZEN-INTERACTIVE-Tune-EEVDF-for-interactivity.patch @@ -60,14 +60,14 @@ caused by rebalancing too many tasks at once. +++ b/kernel/sched/fair.c @@ -76,10 +76,19 @@ unsigned int sysctl_sched_tunable_scalin * - * (default: 0.75 msec * (1 + ilog(ncpus)), units: nanoseconds) + * (default: 0.70 msec * (1 + ilog(ncpus)), units: nanoseconds) */ +#ifdef CONFIG_ZEN_INTERACTIVE +unsigned int sysctl_sched_base_slice = 400000ULL; +static unsigned int normalized_sysctl_sched_base_slice = 400000ULL; +#else - unsigned int sysctl_sched_base_slice = 750000ULL; - static unsigned int normalized_sysctl_sched_base_slice = 750000ULL; + unsigned int sysctl_sched_base_slice = 700000ULL; + static unsigned int normalized_sysctl_sched_base_slice = 700000ULL; +#endif +#ifdef CONFIG_ZEN_INTERACTIVE diff --git a/debian/patches/series b/debian/patches/series index 58f2fbd..dbabcc3 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -156,21 +156,20 @@ patchset-pf/cpuidle/0001-cpuidle-Prefer-teo-over-menu-governor.patch patchset-pf/crypto/0001-crypto-x86-aes-xts-make-the-fast-path-64-bit-specifi.patch patchset-pf/crypto/0002-crypto-x86-aes-ctr-rewrite-AESNI-AVX-optimized-CTR-a.patch -patchset-pf/invlpgb/0001-x86-mm-Make-MMU_GATHER_RCU_TABLE_FREE-unconditional.patch -patchset-pf/invlpgb/0002-x86-mm-Remove-pv_ops.mmu.tlb_remove_table-call.patch -patchset-pf/invlpgb/0003-x86-mm-Consolidate-full-flush-threshold-decision.patch -patchset-pf/invlpgb/0004-x86-mm-Add-INVLPGB-feature-and-Kconfig-entry.patch -patchset-pf/invlpgb/0005-x86-mm-Add-INVLPGB-support-code.patch -patchset-pf/invlpgb/0006-x86-mm-Use-INVLPGB-for-kernel-TLB-flushes.patch -patchset-pf/invlpgb/0007-x86-mm-Use-broadcast-TLB-flushing-in-page-reclaim.patch -patchset-pf/invlpgb/0008-x86-mm-Add-global-ASID-allocation-helper-functions.patch -patchset-pf/invlpgb/0009-x86-mm-Handle-global-ASID-context-switch-and-TLB-flu.patch -patchset-pf/invlpgb/0010-x86-mm-Add-global-ASID-process-exit-helpers.patch -patchset-pf/invlpgb/0011-x86-mm-Enable-broadcast-TLB-invalidation-for-multi-t.patch -patchset-pf/invlpgb/0012-x86-mm-Enable-AMD-translation-cache-extensions.patch -patchset-pf/invlpgb/0013-x86-mm-Always-set-the-ASID-valid-bit-for-the-INVLPGB.patch -patchset-pf/invlpgb/0014-x86-mm-Only-do-broadcast-flush-from-reclaim-if-pages.patch -patchset-pf/invlpgb/0015-x86-mm-Eliminate-window-where-TLB-flushes-may-be-ina.patch +patchset-pf/invlpgb/0001-x86-mm-Remove-pv_ops.mmu.tlb_remove_table-call.patch +patchset-pf/invlpgb/0002-x86-mm-Consolidate-full-flush-threshold-decision.patch +patchset-pf/invlpgb/0003-x86-mm-Add-INVLPGB-feature-and-Kconfig-entry.patch +patchset-pf/invlpgb/0004-x86-mm-Add-INVLPGB-support-code.patch +patchset-pf/invlpgb/0005-x86-mm-Use-INVLPGB-for-kernel-TLB-flushes.patch +patchset-pf/invlpgb/0006-x86-mm-Use-broadcast-TLB-flushing-in-page-reclaim.patch +patchset-pf/invlpgb/0007-x86-mm-Add-global-ASID-allocation-helper-functions.patch +patchset-pf/invlpgb/0008-x86-mm-Handle-global-ASID-context-switch-and-TLB-flu.patch +patchset-pf/invlpgb/0009-x86-mm-Add-global-ASID-process-exit-helpers.patch +patchset-pf/invlpgb/0010-x86-mm-Enable-broadcast-TLB-invalidation-for-multi-t.patch +patchset-pf/invlpgb/0011-x86-mm-Enable-AMD-translation-cache-extensions.patch +patchset-pf/invlpgb/0012-x86-mm-Always-set-the-ASID-valid-bit-for-the-INVLPGB.patch +patchset-pf/invlpgb/0013-x86-mm-Only-do-broadcast-flush-from-reclaim-if-pages.patch +patchset-pf/invlpgb/0014-x86-mm-Eliminate-window-where-TLB-flushes-may-be-ina.patch patchset-pf/zstd/0001-zstd-import-upstream-v1.5.7.patch patchset-pf/zstd/0002-lib-zstd-Refactor-intentional-wrap-around-test.patch @@ -264,12 +263,7 @@ patchset-pf/fixes/0002-x86-tools-Drop-duplicate-unlikely-definition-in-insn.patc patchset-pf/fixes/0003-ice-mark-ice_write_prof_mask_reg-as-noinline.patch patchset-pf/fixes/0004-wifi-ath12k-Abort-scan-before-removing-link-interfac.patch patchset-pf/fixes/0005-Kconfig-switch-CONFIG_SYSFS_SYCALL-default-to-n.patch -patchset-pf/fixes/0006-gcc-15-make-unterminated-string-initialization-just-.patch -patchset-pf/fixes/0007-gcc-15-disable-Wunterminated-string-initialization-e.patch -patchset-pf/fixes/0008-wifi-mac80211-mark-copy_mesh_setup-as-noinline.patch -patchset-pf/fixes/0009-mei-vsc-Use-struct-vsc_tp_packet-as-vsc-tp-tx_buf-an.patch -patchset-pf/fixes/0010-loop-don-t-require-write_iter-for-writable-files-in-.patch +patchset-pf/fixes/0006-wifi-mac80211-mark-copy_mesh_setup-as-noinline.patch patchset-zen/fixes/0001-drivers-firmware-skip-simpledrm-if-nvidia-drm.modese.patch patchset-zen/fixes/0002-Bluetooth-hci_event-Fix-not-using-key-encryption-siz.patch - diff --git a/debian/templates/config.control.in b/debian/templates/config.control.in index 5c57d1f..eed2171 100644 --- a/debian/templates/config.control.in +++ b/debian/templates/config.control.in @@ -4,7 +4,7 @@ Architecture: linux-any Build-Profiles: Multi-Arch: same Depends: ${misc:Depends} -Recommends: krd-linux-source-@version@ +Suggests: krd-linux-source-@version@ Description: Kernel configurations for KrD's Linux kernel @version@ This package contains the configuration files used to build kernel files. diff --git a/debian/templates/headers.control.in b/debian/templates/headers.control.in index 57226e6..b60aba6 100644 --- a/debian/templates/headers.control.in +++ b/debian/templates/headers.control.in @@ -2,6 +2,7 @@ Package: krd-linux-headers-@abiname@@localversion@ Meta-Rules-Target: headers Build-Profiles: Depends: + linux-base (>= 4.3~), krd-linux-headers-@abiname@-common@localversion_headers@ (= ${source:Version}), krd-linux-image-@abiname@@localversion@ (= ${binary:Version}), krd-linux-kbuild-@abiname@, diff --git a/debian/templates/headers.postinst.in b/debian/templates/headers.postinst.in index 33971f9..966614b 100644 --- a/debian/templates/headers.postinst.in +++ b/debian/templates/headers.postinst.in @@ -1,17 +1,22 @@ -#!/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. +#!/bin/sh +set -e -$|=1; -my $version = "@abiname@@localversion@"; +[ "$1" = configure ] || exit 0 -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"; -} +version='@abiname@@localversion@' -exit 0; +have_cmd() { command -v "$1" >/dev/null || return 1 ; } -__END__ +if have_cmd linux-run-hooks ; then + ## linux-base (>= 4.12~) + linux-run-hooks headers postinst "${version}" -- "$@" +else + if [ -d /etc/kernel/header_postinst.d ] ; then + DEB_MAINT_PARAMS="$*" \ + run-parts --report --exit-on-error \ + "--arg=${version}" \ + /etc/kernel/header_postinst.d + fi +fi + +exit 0 diff --git a/debian/templates/image.control.in b/debian/templates/image.control.in index 4d786d8..b42e617 100644 --- a/debian/templates/image.control.in +++ b/debian/templates/image.control.in @@ -3,7 +3,8 @@ Meta-Rules-Target: image Build-Profiles: Build-Depends: kmod, -Depends: kmod, linux-base (>= 4.3~), ${misc:Depends} +Pre-Depends: linux-base (>= 4.3~) +Depends: kmod, ${misc:Depends} Suggests: firmware-linux-free, debian-kernel-handbook Description: KrD's Linux kernel image @upstreamversion@ for @class@ The Linux kernel @upstreamversion@ and modules for use on @longclass@. diff --git a/debian/templates/image.postinst.in b/debian/templates/image.postinst.in index bbb107e..330faaa 100644 --- a/debian/templates/image.postinst.in +++ b/debian/templates/image.postinst.in @@ -6,22 +6,29 @@ set -e version='@abiname@@localversion@' image_path="/boot/@image-stem@-${version}" +have_cmd() { command -v "$1" >/dev/null || return 1 ; } + depmod "${version}" -if command -v linux-update-symlinks >/dev/null ; then +if have_cmd linux-update-symlinks ; then change=install [ -f "/lib/modules/${version}/.fresh-install" ] || change=upgrade - linux-update-symlinks "${change}" "${version}" "${image_path}" + linux-update-symlinks ${change} "${version}" "${image_path}" fi 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 +if have_cmd linux-run-hooks ; then + ## linux-base (>= 4.12~) + linux-run-hooks image postinst "${version}" "${image_path}" -- "$@" +else + 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 fi exit 0 diff --git a/debian/templates/image.postrm.in b/debian/templates/image.postrm.in index ab5a4e1..3875fc6 100644 --- a/debian/templates/image.postrm.in +++ b/debian/templates/image.postrm.in @@ -4,18 +4,25 @@ set -e version='@abiname@@localversion@' image_path="/boot/@image-stem@-${version}" +have_cmd() { command -v "$1" >/dev/null || return 1 ; } + rm -f "/lib/modules/${version}/.fresh-install" -if [ "$1" != upgrade ] && command -v linux-update-symlinks >/dev/null ; then +if [ "$1" != upgrade ] && have_cmd linux-update-symlinks ; 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 +if have_cmd linux-run-hooks ; then + ## linux-base (>= 4.12~) + linux-run-hooks image postrm "${version}" "${image_path}" -- "$@" +else + 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 fi if [ "$1" = purge ]; then @@ -49,7 +56,7 @@ if [ "$1" = purge ]; then ;; esac done - rmdir "/lib/modules/${version}" || true + rmdir "/lib/modules/${version}" || : fi exit 0 diff --git a/debian/templates/image.preinst.in b/debian/templates/image.preinst.in index b800fe7..e7f6303 100644 --- a/debian/templates/image.preinst.in +++ b/debian/templates/image.preinst.in @@ -6,18 +6,25 @@ if [ "$1" = abort-upgrade ] ; then exit 0 ; fi version='@abiname@@localversion@' image_path="/boot/@image-stem@-${version}" +have_cmd() { command -v "$1" >/dev/null || return 1 ; } + 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 +if have_cmd linux-run-hooks ; then + ## linux-base (>= 4.12~) + linux-run-hooks image preinst "${version}" "${image_path}" -- "$@" +else + 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 fi f='/etc/apt/apt.conf.d/krd-linux' @@ -42,5 +49,4 @@ APT }; EOF chmod 0644 "$f" - exit 0 diff --git a/debian/templates/image.prerm.in b/debian/templates/image.prerm.in index 1b9145a..89d60ae 100644 --- a/debian/templates/image.prerm.in +++ b/debian/templates/image.prerm.in @@ -6,16 +6,23 @@ set -e version='@abiname@@localversion@' image_path="/boot/@image-stem@-${version}" -if command -v linux-check-removal >/dev/null ; then +have_cmd() { command -v "$1" >/dev/null || return 1 ; } + +if have_cmd linux-check-removal ; then linux-check-removal "${version}" fi -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 +if have_cmd linux-run-hooks ; then + ## linux-base (>= 4.12~) + linux-run-hooks image prerm "${version}" "${image_path}" -- "$@" +else + 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 fi exit 0